diff --git a/libraries/ckeditor/ckeditor.js b/libraries/ckeditor/ckeditor.js index 8290e95aa..071c6a80f 100644 --- a/libraries/ckeditor/ckeditor.js +++ b/libraries/ckeditor/ckeditor.js @@ -3,5 +3,25 @@ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md. */ -function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.CKEditor=e():t.CKEditor=e()}(self,(()=>(()=>{var t={9246:(t,e,n)=>{const i=n(6931),o={};for(const t of Object.keys(i))o[i[t]]=t;const r={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};t.exports=r;for(const t of Object.keys(r)){if(!("channels"in r[t]))throw new Error("missing channels property: "+t);if(!("labels"in r[t]))throw new Error("missing channel labels property: "+t);if(r[t].labels.length!==r[t].channels)throw new Error("channel and label counts mismatch: "+t);const{channels:e,labels:n}=r[t];delete r[t].channels,delete r[t].labels,Object.defineProperty(r[t],"channels",{value:e}),Object.defineProperty(r[t],"labels",{value:n})}r.rgb.hsl=function(t){const e=t[0]/255,n=t[1]/255,i=t[2]/255,o=Math.min(e,n,i),r=Math.max(e,n,i),s=r-o;let a,l;r===o?a=0:e===r?a=(n-i)/s:n===r?a=2+(i-e)/s:i===r&&(a=4+(e-n)/s),a=Math.min(60*a,360),a<0&&(a+=360);const c=(o+r)/2;return l=r===o?0:c<=.5?s/(r+o):s/(2-r-o),[a,100*l,100*c]},r.rgb.hsv=function(t){let e,n,i,o,r;const s=t[0]/255,a=t[1]/255,l=t[2]/255,c=Math.max(s,a,l),d=c-Math.min(s,a,l),h=function(t){return(c-t)/6/d+.5};return 0===d?(o=0,r=0):(r=d/c,e=h(s),n=h(a),i=h(l),s===c?o=i-n:a===c?o=1/3+e-i:l===c&&(o=2/3+n-e),o<0?o+=1:o>1&&(o-=1)),[360*o,100*r,100*c]},r.rgb.hwb=function(t){const e=t[0],n=t[1];let i=t[2];const o=r.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(n,i));return i=1-1/255*Math.max(e,Math.max(n,i)),[o,100*s,100*i]},r.rgb.cmyk=function(t){const e=t[0]/255,n=t[1]/255,i=t[2]/255,o=Math.min(1-e,1-n,1-i);return[100*((1-e-o)/(1-o)||0),100*((1-n-o)/(1-o)||0),100*((1-i-o)/(1-o)||0),100*o]},r.rgb.keyword=function(t){const e=o[t];if(e)return e;let n,r=1/0;for(const e of Object.keys(i)){const o=i[e],l=(a=o,((s=t)[0]-a[0])**2+(s[1]-a[1])**2+(s[2]-a[2])**2);l.04045?((e+.055)/1.055)**2.4:e/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;return[100*(.4124*e+.3576*n+.1805*i),100*(.2126*e+.7152*n+.0722*i),100*(.0193*e+.1192*n+.9505*i)]},r.rgb.lab=function(t){const e=r.rgb.xyz(t);let n=e[0],i=e[1],o=e[2];n/=95.047,i/=100,o/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;return[116*i-16,500*(n-i),200*(i-o)]},r.hsl.rgb=function(t){const e=t[0]/360,n=t[1]/100,i=t[2]/100;let o,r,s;if(0===n)return s=255*i,[s,s,s];o=i<.5?i*(1+n):i+n-i*n;const a=2*i-o,l=[0,0,0];for(let t=0;t<3;t++)r=e+1/3*-(t-1),r<0&&r++,r>1&&r--,s=6*r<1?a+6*(o-a)*r:2*r<1?o:3*r<2?a+(o-a)*(2/3-r)*6:a,l[t]=255*s;return l},r.hsl.hsv=function(t){const e=t[0];let n=t[1]/100,i=t[2]/100,o=n;const r=Math.max(i,.01);i*=2,n*=i<=1?i:2-i,o*=r<=1?r:2-r;return[e,100*(0===i?2*o/(r+o):2*n/(i+n)),100*((i+n)/2)]},r.hsv.rgb=function(t){const e=t[0]/60,n=t[1]/100;let i=t[2]/100;const o=Math.floor(e)%6,r=e-Math.floor(e),s=255*i*(1-n),a=255*i*(1-n*r),l=255*i*(1-n*(1-r));switch(i*=255,o){case 0:return[i,l,s];case 1:return[a,i,s];case 2:return[s,i,l];case 3:return[s,a,i];case 4:return[l,s,i];case 5:return[i,s,a]}},r.hsv.hsl=function(t){const e=t[0],n=t[1]/100,i=t[2]/100,o=Math.max(i,.01);let r,s;s=(2-n)*i;const a=(2-n)*o;return r=n*o,r/=a<=1?a:2-a,r=r||0,s/=2,[e,100*r,100*s]},r.hwb.rgb=function(t){const e=t[0]/360;let n=t[1]/100,i=t[2]/100;const o=n+i;let r;o>1&&(n/=o,i/=o);const s=Math.floor(6*e),a=1-i;r=6*e-s,1&s&&(r=1-r);const l=n+r*(a-n);let c,d,h;switch(s){default:case 6:case 0:c=a,d=l,h=n;break;case 1:c=l,d=a,h=n;break;case 2:c=n,d=a,h=l;break;case 3:c=n,d=l,h=a;break;case 4:c=l,d=n,h=a;break;case 5:c=a,d=n,h=l}return[255*c,255*d,255*h]},r.cmyk.rgb=function(t){const e=t[0]/100,n=t[1]/100,i=t[2]/100,o=t[3]/100;return[255*(1-Math.min(1,e*(1-o)+o)),255*(1-Math.min(1,n*(1-o)+o)),255*(1-Math.min(1,i*(1-o)+o))]},r.xyz.rgb=function(t){const e=t[0]/100,n=t[1]/100,i=t[2]/100;let o,r,s;return o=3.2406*e+-1.5372*n+-.4986*i,r=-.9689*e+1.8758*n+.0415*i,s=.0557*e+-.204*n+1.057*i,o=o>.0031308?1.055*o**(1/2.4)-.055:12.92*o,r=r>.0031308?1.055*r**(1/2.4)-.055:12.92*r,s=s>.0031308?1.055*s**(1/2.4)-.055:12.92*s,o=Math.min(Math.max(0,o),1),r=Math.min(Math.max(0,r),1),s=Math.min(Math.max(0,s),1),[255*o,255*r,255*s]},r.xyz.lab=function(t){let e=t[0],n=t[1],i=t[2];e/=95.047,n/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;return[116*n-16,500*(e-n),200*(n-i)]},r.lab.xyz=function(t){let e,n,i;n=(t[0]+16)/116,e=t[1]/500+n,i=n-t[2]/200;const o=n**3,r=e**3,s=i**3;return n=o>.008856?o:(n-16/116)/7.787,e=r>.008856?r:(e-16/116)/7.787,i=s>.008856?s:(i-16/116)/7.787,e*=95.047,n*=100,i*=108.883,[e,n,i]},r.lab.lch=function(t){const e=t[0],n=t[1],i=t[2];let o;o=360*Math.atan2(i,n)/2/Math.PI,o<0&&(o+=360);return[e,Math.sqrt(n*n+i*i),o]},r.lch.lab=function(t){const e=t[0],n=t[1],i=t[2]/360*2*Math.PI;return[e,n*Math.cos(i),n*Math.sin(i)]},r.rgb.ansi16=function(t,e=null){const[n,i,o]=t;let s=null===e?r.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),0===s)return 30;let a=30+(Math.round(o/255)<<2|Math.round(i/255)<<1|Math.round(n/255));return 2===s&&(a+=60),a},r.hsv.ansi16=function(t){return r.rgb.ansi16(r.hsv.rgb(t),t[2])},r.rgb.ansi256=function(t){const e=t[0],n=t[1],i=t[2];if(e===n&&n===i)return e<8?16:e>248?231:Math.round((e-8)/247*24)+232;return 16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5)},r.ansi16.rgb=function(t){let e=t%10;if(0===e||7===e)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];const n=.5*(1+~~(t>50));return[(1&e)*n*255,(e>>1&1)*n*255,(e>>2&1)*n*255]},r.ansi256.rgb=function(t){if(t>=232){const e=10*(t-232)+8;return[e,e,e]}let e;t-=16;return[Math.floor(t/36)/5*255,Math.floor((e=t%36)/6)/5*255,e%6/5*255]},r.rgb.hex=function(t){const e=(((255&Math.round(t[0]))<<16)+((255&Math.round(t[1]))<<8)+(255&Math.round(t[2]))).toString(16).toUpperCase();return"000000".substring(e.length)+e},r.hex.rgb=function(t){const e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let n=e[0];3===e[0].length&&(n=n.split("").map((t=>t+t)).join(""));const i=parseInt(n,16);return[i>>16&255,i>>8&255,255&i]},r.rgb.hcg=function(t){const e=t[0]/255,n=t[1]/255,i=t[2]/255,o=Math.max(Math.max(e,n),i),r=Math.min(Math.min(e,n),i),s=o-r;let a,l;return a=s<1?r/(1-s):0,l=s<=0?0:o===e?(n-i)/s%6:o===n?2+(i-e)/s:4+(e-n)/s,l/=6,l%=1,[360*l,100*s,100*a]},r.hsl.hcg=function(t){const e=t[1]/100,n=t[2]/100,i=n<.5?2*e*n:2*e*(1-n);let o=0;return i<1&&(o=(n-.5*i)/(1-i)),[t[0],100*i,100*o]},r.hsv.hcg=function(t){const e=t[1]/100,n=t[2]/100,i=e*n;let o=0;return i<1&&(o=(n-i)/(1-i)),[t[0],100*i,100*o]},r.hcg.rgb=function(t){const e=t[0]/360,n=t[1]/100,i=t[2]/100;if(0===n)return[255*i,255*i,255*i];const o=[0,0,0],r=e%1*6,s=r%1,a=1-s;let l=0;switch(Math.floor(r)){case 0:o[0]=1,o[1]=s,o[2]=0;break;case 1:o[0]=a,o[1]=1,o[2]=0;break;case 2:o[0]=0,o[1]=1,o[2]=s;break;case 3:o[0]=0,o[1]=a,o[2]=1;break;case 4:o[0]=s,o[1]=0,o[2]=1;break;default:o[0]=1,o[1]=0,o[2]=a}return l=(1-n)*i,[255*(n*o[0]+l),255*(n*o[1]+l),255*(n*o[2]+l)]},r.hcg.hsv=function(t){const e=t[1]/100,n=e+t[2]/100*(1-e);let i=0;return n>0&&(i=e/n),[t[0],100*i,100*n]},r.hcg.hsl=function(t){const e=t[1]/100,n=t[2]/100*(1-e)+.5*e;let i=0;return n>0&&n<.5?i=e/(2*n):n>=.5&&n<1&&(i=e/(2*(1-n))),[t[0],100*i,100*n]},r.hcg.hwb=function(t){const e=t[1]/100,n=e+t[2]/100*(1-e);return[t[0],100*(n-e),100*(1-n)]},r.hwb.hcg=function(t){const e=t[1]/100,n=1-t[2]/100,i=n-e;let o=0;return i<1&&(o=(n-i)/(1-i)),[t[0],100*i,100*o]},r.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]},r.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]},r.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]},r.gray.hsl=function(t){return[0,0,t[0]]},r.gray.hsv=r.gray.hsl,r.gray.hwb=function(t){return[0,100,t[0]]},r.gray.cmyk=function(t){return[0,0,0,t[0]]},r.gray.lab=function(t){return[t[0],0,0]},r.gray.hex=function(t){const e=255&Math.round(t[0]/100*255),n=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(n.length)+n},r.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}},9047:(t,e,n)=>{const i=n(9246),o=n(802),r={};Object.keys(i).forEach((t=>{r[t]={},Object.defineProperty(r[t],"channels",{value:i[t].channels}),Object.defineProperty(r[t],"labels",{value:i[t].labels});const e=o(t);Object.keys(e).forEach((n=>{const i=e[n];r[t][n]=function(t){const e=function(...e){const n=e[0];if(null==n)return n;n.length>1&&(e=n);const i=t(e);if("object"==typeof i)for(let t=i.length,e=0;e1&&(e=n),t(e))};return"conversion"in t&&(e.conversion=t.conversion),e}(i)}))})),t.exports=r},802:(t,e,n)=>{const i=n(9246);function o(t){const e=function(){const t={},e=Object.keys(i);for(let n=e.length,i=0;i{"use strict";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},7241:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,'.ck .footnote-section{border:1px solid #c4c4c4;border-radius:2px;counter-reset:footnote-counter;margin:1em 0;padding:10px}.ck .footnote-item{counter-increment:footnote-counter;display:flex;list-style:none;margin-left:.5em}.ck .footnote-item>*{vertical-align:text-top}.ck .footnote-back-link{margin-right:.1em;position:relative;top:-.2em}.ck .footnotes .footnote-back-link>sup{margin-right:0}.ck .footnote-item:before{content:counter(footnote-counter) ". ";display:inline-block;min-width:fit-content;position:relative;right:.2em;text-align:right}.ck .footnote-content{border-radius:2px;display:inline-block;flex-grow:1;padding:0 .3em;width:95%}.ck .ck-widget.footnote-section .ck-widget__type-around__button_after{display:none}.placeholder{line-height:1em;margin:0 1px;outline-offset:-2px;padding:2px}.placeholder::selection{display:none}',"",{version:3,sources:["webpack://./../../node_modules/@triliumnext/ckeditor5-footnotes/src/footnote.css"],names:[],mappings:"AAAA,sBAGC,wBAAiC,CACjC,iBAAkB,CAClB,8BAA+B,CAH/B,YAAa,CADb,YAKD,CAEA,mBAEC,kCAAmC,CAEnC,YAAa,CAHb,eAAgB,CAEhB,gBAED,CAEA,qBACC,uBACD,CAEA,wBAEC,iBAAmB,CADnB,iBAAkB,CAElB,SACD,CAEA,uCACC,cACD,CAEA,0BACC,sCAAuC,CACvC,oBAAqB,CAGrB,qBAAsB,CAFtB,iBAAkB,CAClB,UAAY,CAEZ,gBACD,CAEA,sBAIC,iBAAkB,CAHlB,oBAAqB,CAIrB,WAAY,CAHZ,cAAgB,CAChB,SAGD,CAEA,sEACC,YACD,CAEA,aAGC,eAAgB,CAChB,YAAa,CAFb,mBAAoB,CADpB,WAID,CAEA,wBACC,YACD",sourcesContent:[".ck .footnote-section {\n\tpadding: 10px;\n\tmargin: 1em 0;\n\tborder: solid 1px hsl(0, 0%, 77%);\n\tborder-radius: 2px;\n\tcounter-reset: footnote-counter;\n}\n\n.ck .footnote-item {\n\tlist-style: none;\n\tcounter-increment: footnote-counter;\n\tmargin-left: 0.5em;\n\tdisplay: flex;\n}\n\n.ck .footnote-item > * {\n\tvertical-align: text-top;\n}\n\n.ck .footnote-back-link {\n\tposition: relative;\n\tmargin-right: 0.1em;\n\ttop: -0.2em;\n}\n\n.ck .footnotes .footnote-back-link > sup {\n\tmargin-right: 0;\n}\n\n.ck .footnote-item::before {\n\tcontent: counter(footnote-counter) \". \";\n\tdisplay: inline-block;\n\tposition: relative;\n\tright: 0.2em;\n\tmin-width: fit-content;\n\ttext-align: right;\n}\n\n.ck .footnote-content {\n\tdisplay: inline-block;\n\tpadding: 0 0.3em;\n\twidth: 95%;\n\tborder-radius: 2px;\n\tflex-grow: 1;\n}\n\n.ck .ck-widget.footnote-section .ck-widget__type-around__button_after {\n\tdisplay:none; /* hides the 'insert after' button from the ckeditor widget */\n}\n\n.placeholder {\n\tpadding: 2px 2px;\n\toutline-offset: -2px;\n\tline-height: 1em;\n\tmargin: 0 1px;\n}\n\n.placeholder::selection {\n\tdisplay: none;\n}"],sourceRoot:""}]);const a=s},7111:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-math-form{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:nowrap}@media screen and (max-width:600px){.ck.ck-math-form{flex-wrap:wrap}.ck.ck-math-form .ck-math-view,.ck.ck-math-form .ck-math-view .ck-label,.ck.ck-math-form .ck-math-view .ck-labeled-view{flex-basis:100%}.ck.ck-math-form .ck-button{flex-basis:50%}}.ck-math-tex.ck-placeholder:before{display:none!important}.ck.ck-toolbar-container{z-index:calc(var(--ck-z-panel) + 2)}.ck.ck-math-form{padding:var(--ck-spacing-standard)}.ck.ck-math-form:focus{outline:none}[dir=ltr] .ck.ck-math-form>:not(:first-child),[dir=rtl] .ck.ck-math-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-math-form{padding:0}.ck.ck-math-form .ck-labeled-input{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-math-form .ck-labeled-input .ck-input-text{min-width:0;width:100%}.ck.ck-math-form .ck-label,.ck.ck-math-form .ck-math-view .ck-button,.ck.ck-math-form .ck-math-view .ck.ck-math-preview{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-math-form>.ck-button{border:0;border-radius:0;border-top:1px solid var(--ck-color-base-border);margin-top:var(--ck-spacing-standard);padding:var(--ck-spacing-standard)}[dir=ltr] .ck.ck-math-form>.ck-button{margin-left:0}[dir=ltr] .ck.ck-math-form>.ck-button:first-of-type{border-right:1px solid var(--ck-color-base-border)}[dir=rtl] .ck.ck-math-form>.ck-button{margin-left:0}[dir=rtl] .ck.ck-math-form>.ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}}","",{version:3,sources:["webpack://./../../node_modules/@triliumnext/ckeditor5-math/theme/mathform.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-math/mathform.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAAA,iBAEC,sBAAuB,CADvB,YAAa,CAEb,kBAAmB,CACnB,gBAsBD,CAnBC,oCAPD,iBAQE,cAkBF,CATG,wHACC,eACD,CAGD,4BACC,cACD,CACD,CAGD,mCACC,sBACD,CAEA,yBACC,mCACD,CC/BA,iBACI,kCAsEJ,CApEI,uBAEF,YACD,CASC,2FACC,sCACD,CCdD,oCDHD,iBAqBE,SAkDF,CAhDE,mCACC,8DAMD,CAJC,kDACC,WAAY,CACZ,UACD,CAYA,wHACC,8DACD,CAGD,4BAKC,QAAS,CADT,eAAgB,CAEhB,gDAAiD,CAJjD,qCAAsC,CADtC,kCAsBD,CAvBA,sCASE,aAcF,CAZE,oDACC,kDACD,CAbF,sCAiBE,aAMF,CAJE,mDACC,kDACD,CC9DH",sourcesContent:[".ck.ck-math-form {\n\tdisplay: flex;\n\talign-items: flex-start;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tpadding: var(--ck-spacing-standard);\n\n\t@media screen and (max-width: 600px) {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-math-view {\n\t\t\tflex-basis: 100%;\n\n\t\t\t& .ck-labeled-view {\n\t\t\t\tflex-basis: 100%;\n\t\t\t}\n\n\t\t\t& .ck-label {\n\t\t\t\tflex-basis: 100%;\n\t\t\t}\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n\n.ck-math-tex.ck-placeholder::before {\n\tdisplay: none !important;\n}\n\n.ck.ck-toolbar-container {\n\tz-index: calc(var(--ck-z-panel) + 2);\n}\n",'@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-math-form {\n padding: var(--ck-spacing-standard);\n\n &:focus {\n\t\t/* https://github.com/ckeditor/ckeditor5-link/issues/90 */\n\t\toutline: none;\n\t}\n\n @mixin ck-dir ltr {\n\t\t& > :not(:first-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& > :not(:last-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\tpadding: 0;\n\n\t\t& .ck-labeled-input {\n\t\t\tmargin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0;\n\n\t\t\t& .ck-input-text {\n\t\t\t\tmin-width: 0;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\n & .ck-label {\n margin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0;\n }\n\n\t\t& .ck-math-view {\n\t\t\t& .ck-button {\n\t\t\t\tmargin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0;\n\t\t\t}\n\n\t\t\t& .ck.ck-math-preview {\n\t\t\t\tmargin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0;\n\t\t\t}\n\t\t}\n\n\t\t& > .ck-button {\n\t\t\tpadding: var(--ck-spacing-standard);\n\t\t\tmargin-top: var(--ck-spacing-standard);\n\n\t\t\tborder-radius: 0;\n\t\t\tborder: 0;\n\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: 0;\n\n\t\t\t\t&:first-of-type {\n\t\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-left: 0;\n\n\t\t\t\t&:last-of-type {\n\t\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},4199:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck-content code{background-color:hsla(0,0%,78%,.3);border-radius:2px;padding:.15em}.ck.ck-editor__editable .ck-code_selected{background-color:hsla(0,0%,78%,.5)}","",{version:3,sources:["webpack://./../ckeditor5-basic-styles/theme/code.css"],names:[],mappings:"AAKA,iBACC,kCAAuC,CAEvC,iBAAkB,CADlB,aAED,CAEA,0CACC,kCACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content code {\n\tbackground-color: hsla(0, 0%, 78%, 0.3);\n\tpadding: .15em;\n\tborder-radius: 2px;\n}\n\n.ck.ck-editor__editable .ck-code_selected {\n\tbackground-color: hsla(0, 0%, 78%, 0.5);\n}\n"],sourceRoot:""}]);const a=s},8708:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck-content blockquote{border-left:5px solid #ccc;font-style:italic;margin-left:0;margin-right:0;overflow:hidden;padding-left:1.5em;padding-right:1.5em}.ck-content[dir=rtl] blockquote{border-left:0;border-right:5px solid #ccc}","",{version:3,sources:["webpack://./../ckeditor5-block-quote/theme/blockquote.css"],names:[],mappings:"AAKA,uBAWC,0BAAsC,CADtC,iBAAkB,CAFlB,aAAc,CACd,cAAe,CAPf,eAAgB,CAIhB,kBAAmB,CADnB,mBAOD,CAEA,gCACC,aAAc,CACd,2BACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content blockquote {\n\t/* See #12 */\n\toverflow: hidden;\n\n\t/* https://github.com/ckeditor/ckeditor5-block-quote/issues/15 */\n\tpadding-right: 1.5em;\n\tpadding-left: 1.5em;\n\n\tmargin-left: 0;\n\tmargin-right: 0;\n\tfont-style: italic;\n\tborder-left: solid 5px hsl(0, 0%, 80%);\n}\n\n.ck-content[dir="rtl"] blockquote {\n\tborder-left: 0;\n\tborder-right: solid 5px hsl(0, 0%, 80%);\n}\n'],sourceRoot:""}]);const a=s},9826:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-block-toolbar-button{transform:translateX(calc(var(--ck-spacing-large)*-1))}","",{version:3,sources:["webpack://./theme/theme.css"],names:[],mappings:"AAMA,4BACC,sDACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Give the block toolbar button some space, moving it a few pixels away from the editable area. */\n.ck.ck-block-toolbar-button {\n\ttransform: translateX( calc(-1 * var(--ck-spacing-large)) );\n}\n"],sourceRoot:""}]);const a=s},7793:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,'.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position{display:inline;pointer-events:none;position:relative}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{position:absolute;width:0}.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__selection-handle,.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__type-around{display:none}.ck.ck-clipboard-drop-target-line{pointer-events:none;position:absolute}:root{--ck-clipboard-drop-target-dot-width:12px;--ck-clipboard-drop-target-dot-height:8px;--ck-clipboard-drop-target-color:var(--ck-color-focus-border)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);bottom:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);margin-left:-1px;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span:after{border-color:var(--ck-clipboard-drop-target-color) transparent transparent transparent;border-style:solid;border-width:calc(var(--ck-clipboard-drop-target-dot-height)) calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0 calc(var(--ck-clipboard-drop-target-dot-width)*.5);content:"";display:block;height:0;left:50%;position:absolute;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);transform:translateX(-50%);width:0}.ck.ck-editor__editable .ck-widget.ck-clipboard-drop-target-range{outline:var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color)!important}.ck.ck-editor__editable .ck-widget:-webkit-drag{zoom:.6;outline:none!important}.ck.ck-clipboard-drop-target-line{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);height:0;margin-top:-1px}.ck.ck-clipboard-drop-target-line:before{border-style:solid;content:"";height:0;position:absolute;top:calc(var(--ck-clipboard-drop-target-dot-width)*-.5);width:0}[dir=ltr] .ck.ck-clipboard-drop-target-line:before{border-color:transparent transparent transparent var(--ck-clipboard-drop-target-color);border-width:calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0 calc(var(--ck-clipboard-drop-target-dot-width)*.5) var(--ck-clipboard-drop-target-dot-height);left:-1px}[dir=rtl] .ck.ck-clipboard-drop-target-line:before{border-color:transparent var(--ck-clipboard-drop-target-color) transparent transparent;border-width:calc(var(--ck-clipboard-drop-target-dot-width)*.5) var(--ck-clipboard-drop-target-dot-height) calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0;right:-1px}',"",{version:3,sources:["webpack://./../ckeditor5-clipboard/theme/clipboard.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-clipboard/clipboard.css"],names:[],mappings:"AASC,8DACC,cAAe,CAEf,mBAAoB,CADpB,iBAOD,CAJC,mEACC,iBAAkB,CAClB,OACD,CAWA,qJACC,YACD,CAIF,kCAEC,mBAAoB,CADpB,iBAED,CC9BA,MACC,yCAA0C,CAC1C,yCAA0C,CAC1C,6DACD,CAOE,mEAIC,gDAAiD,CADjD,sDAAuD,CAFvD,2DAA8D,CAI9D,gBAAiB,CAHjB,wDAqBD,CAfC,yEAWC,sFAAuF,CAEvF,kBAAmB,CADnB,qKAA0K,CAX1K,UAAW,CAIX,aAAc,CAFd,QAAS,CAIT,QAAS,CADT,iBAAkB,CAElB,wDAA2D,CAE3D,0BAA2B,CAR3B,OAYD,CAOF,kEACC,gGACD,CAKA,gDACC,OAAS,CACT,sBACD,CAGD,kCAGC,gDAAiD,CADjD,sDAAuD,CADvD,QAAS,CAGT,eAwBD,CAtBC,yCAMC,kBAAmB,CALnB,UAAW,CAIX,QAAS,CAHT,iBAAkB,CAClB,uDAA0D,CAC1D,OAiBD,CArBA,mDAYE,sFAAuF,CADvF,+JAAoK,CAFpK,SAYF,CArBA,mDAmBE,sFAAuF,CADvF,+JAAmK,CAFnK,UAKF",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable {\n\t/*\n\t * Vertical drop target (in text).\n\t */\n\t& .ck.ck-clipboard-drop-target-position {\n\t\tdisplay: inline;\n\t\tposition: relative;\n\t\tpointer-events: none;\n\n\t\t& span {\n\t\t\tposition: absolute;\n\t\t\twidth: 0;\n\t\t}\n\t}\n\n\t/*\n\t * Styles of the widget being dragged (its preview).\n\t */\n\t& .ck-widget:-webkit-drag {\n\t\t& > .ck-widget__selection-handle {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t& > .ck-widget__type-around {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n.ck.ck-clipboard-drop-target-line {\n\tposition: absolute;\n\tpointer-events: none;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\n\n:root {\n\t--ck-clipboard-drop-target-dot-width: 12px;\n\t--ck-clipboard-drop-target-dot-height: 8px;\n\t--ck-clipboard-drop-target-color: var(--ck-color-focus-border);\n}\n\n.ck.ck-editor__editable {\n\t/*\n\t * Vertical drop target (in text).\n\t */\n\t& .ck.ck-clipboard-drop-target-position {\n\t\t& span {\n\t\t\tbottom: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\n\t\t\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\n\t\t\tborder: 1px solid var(--ck-clipboard-drop-target-color);\n\t\t\tbackground: var(--ck-clipboard-drop-target-color);\n\t\t\tmargin-left: -1px;\n\n\t\t\t/* The triangle above the marker */\n\t\t\t&::after {\n\t\t\t\tcontent: '';\n\t\t\t\twidth: 0;\n\t\t\t\theight: 0;\n\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\tleft: 50%;\n\t\t\t\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\n\n\t\t\t\ttransform: translateX(-50%);\n\t\t\t\tborder-color: var(--ck-clipboard-drop-target-color) transparent transparent transparent;\n\t\t\t\tborder-width: calc(var(--ck-clipboard-drop-target-dot-height)) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width));\n\t\t\t\tborder-style: solid;\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t * Styles of the widget that it a drop target.\n\t */\n\t& .ck-widget.ck-clipboard-drop-target-range {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color) !important;\n\t}\n\n\t/*\n\t * Styles of the widget being dragged (its preview).\n\t */\n\t& .ck-widget:-webkit-drag {\n\t\tzoom: 0.6;\n\t\toutline: none !important;\n\t}\n}\n\n.ck.ck-clipboard-drop-target-line {\n\theight: 0;\n\tborder: 1px solid var(--ck-clipboard-drop-target-color);\n\tbackground: var(--ck-clipboard-drop-target-color);\n\tmargin-top: -1px;\n\n\t&::before {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-width));\n\t\twidth: 0;\n\t\theight: 0;\n\t\tborder-style: solid;\n\n\t\t@mixin ck-dir ltr {\n\t\t\tleft: -1px;\n\n\t\t\tborder-width: calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height);\n\t\t\tborder-color: transparent transparent transparent var(--ck-clipboard-drop-target-color);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tright: -1px;\n\n\t\t\tborder-width:calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0;\n\t\t\tborder-color: transparent var(--ck-clipboard-drop-target-color) transparent transparent;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},6610:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck-content pre{border:1px solid #c4c4c4;border-radius:2px;direction:ltr;font-style:normal;min-width:200px;padding:1em;tab-size:4;text-align:left;white-space:pre-wrap}.ck-content pre code{background:unset;border-radius:0;padding:0}.ck-content pre:not(.hljs){background:hsla(0,0%,78%,.3);color:#353535}.ck.ck-editor__editable pre{position:relative}.ck.ck-editor__editable pre[data-language]:after{content:attr(data-language);position:absolute}:root{--ck-color-code-block-label-background:#757575}.ck.ck-editor__editable pre[data-language]:after{background:var(--ck-color-code-block-label-background);color:#fff;font-family:var(--ck-font-face);font-size:10px;line-height:16px;padding:var(--ck-spacing-tiny) var(--ck-spacing-medium);right:10px;top:-1px;white-space:nowrap}.ck.ck-code-block-dropdown .ck-dropdown__panel{max-height:250px;overflow-x:hidden;overflow-y:auto}","",{version:3,sources:["webpack://./../ckeditor5-code-block/theme/codeblock.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-code-block/codeblock.css"],names:[],mappings:"AAKA,gBAEC,wBAAiC,CACjC,iBAAkB,CAIlB,aAAc,CAMd,iBAAkB,CAGlB,eAAgB,CAfhB,WAAY,CAQZ,UAAW,CAHX,eAAgB,CAIhB,oBAaD,CALC,qBACC,gBAAiB,CAEjB,eAAgB,CADhB,SAED,CAGD,2BAEC,4BAAiC,CADjC,aAED,CAEA,4BACC,iBAMD,CAJC,iDACC,2BAA4B,CAC5B,iBACD,CCpCD,MACC,8CACD,CAEA,iDAGC,sDAAuD,CAMvD,UAAuB,CAHvB,+BAAgC,CADhC,cAAe,CAEf,gBAAiB,CACjB,uDAAwD,CANxD,UAAW,CADX,QAAS,CAST,kBACD,CAEA,+CAEC,gBAAiB,CAEjB,iBAAkB,CADlB,eAED",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content pre {\n\tpadding: 1em;\n\tborder: 1px solid hsl(0, 0%, 77%);\n\tborder-radius: 2px;\n\n\t/* Code block are language direction–agnostic. */\n\ttext-align: left;\n\tdirection: ltr;\n\n\ttab-size: 4;\n\twhite-space: pre-wrap;\n\n\t/* Don't inherit the style, e.g. when in a block quote. */\n\tfont-style: normal;\n\n\t/* Don't let the code be squashed e.g. when in a table cell. */\n\tmin-width: 200px;\n\n\t& code {\n\t\tbackground: unset;\n\t\tpadding: 0;\n\t\tborder-radius: 0;\n\t}\n}\n\n.ck-content pre:not(.hljs) {\n\tcolor: hsl(0, 0%, 20.8%);\n\tbackground: hsla(0, 0%, 78%, 0.3);\n}\n\n.ck.ck-editor__editable pre {\n\tposition: relative;\n\n\t&[data-language]::after {\n\t\tcontent: attr(data-language);\n\t\tposition: absolute;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-code-block-label-background: hsl(0, 0%, 46%);\n}\n\n.ck.ck-editor__editable pre[data-language]::after {\n\ttop: -1px;\n\tright: 10px;\n\tbackground: var(--ck-color-code-block-label-background);\n\n\tfont-size: 10px;\n\tfont-family: var(--ck-font-face);\n\tline-height: 16px;\n\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-medium);\n\tcolor: hsl(0, 0%, 100%);\n\twhite-space: nowrap;\n}\n\n.ck.ck-code-block-dropdown .ck-dropdown__panel {\n\t/* There could be dozens of languages available. Use scroll to prevent a 10e6px dropdown. */\n\tmax-height: 250px;\n\toverflow-y: auto;\n\toverflow-x: hidden;\n}\n"],sourceRoot:""}]);const a=s},4098:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck .ck-placeholder,.ck.ck-placeholder{position:relative}.ck .ck-placeholder:before,.ck.ck-placeholder:before{content:attr(data-placeholder);left:0;pointer-events:none;position:absolute;right:0}.ck.ck-read-only .ck-placeholder:before{display:none}.ck.ck-reset_all .ck-placeholder{position:relative}@media (forced-colors:active){.ck .ck-placeholder,.ck.ck-placeholder{forced-color-adjust:preserve-parent-color}}.ck .ck-placeholder:before,.ck.ck-placeholder:before{cursor:text}@media (forced-colors:none){.ck .ck-placeholder:before,.ck.ck-placeholder:before{color:var(--ck-color-engine-placeholder-text)}}@media (forced-colors:active){.ck .ck-placeholder:before,.ck.ck-placeholder:before{font-style:italic;margin-left:1px}}","",{version:3,sources:["webpack://./../ckeditor5-engine/theme/placeholder.css","webpack://./../ckeditor5-ui/theme/mixins/_mediacolors.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-engine/placeholder.css"],names:[],mappings:"AAMA,uCAEC,iBAWD,CATC,qDAIC,8BAA+B,CAF/B,MAAO,CAKP,mBAAoB,CANpB,iBAAkB,CAElB,OAKD,CAKA,wCACC,YACD,CAQD,iCACC,iBACD,CC7BC,8BACC,uCCOA,yCDLA,CACD,CCOA,qDACC,WAmBD,CDvBA,4BACC,qDCMC,6CDJD,CACD,CAZA,8BACC,qDCsBC,iBAAkB,CAMlB,eD1BD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* See ckeditor/ckeditor5#936. */\n.ck.ck-placeholder,\n.ck .ck-placeholder {\n\tposition: relative;\n\n\t&::before {\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tcontent: attr(data-placeholder);\n\n\t\t/* See ckeditor/ckeditor5#469. */\n\t\tpointer-events: none;\n\t}\n}\n\n/* See ckeditor/ckeditor5#1987. */\n.ck.ck-read-only .ck-placeholder {\n\t&::before {\n\t\tdisplay: none;\n\t}\n}\n\n/*\n * Rules for the `ck-placeholder` are loaded before the rules for `ck-reset_all` in the base CKEditor 5 DLL build.\n * This fix overwrites the incorrectly set `position: static` from `ck-reset_all`.\n * See https://github.com/ckeditor/ckeditor5/issues/11418.\n */\n.ck.ck-reset_all .ck-placeholder {\n\tposition: relative;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-forced-colors {\n\t@media (forced-colors: active) {\n\t\t& {\n\t\t\t@mixin-content;\n\t\t}\n\t}\n}\n\n@define-mixin ck-media-default-colors {\n\t@media (forced-colors: none) {\n\t\t& {\n\t\t\t@mixin-content;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css";\n\n/* See ckeditor/ckeditor5#936. */\n.ck.ck-placeholder, .ck .ck-placeholder {\n\t@mixin ck-media-forced-colors {\n\t\t/*\n\t\t * This is needed for Edge on Windows to use the right color for the placeholder content (::before).\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/14907.\n\t\t */\n\t\tforced-color-adjust: preserve-parent-color;\n\t}\n\n\t&::before {\n\t\tcursor: text;\n\n\t\t@mixin ck-media-default-colors {\n\t\t\tcolor: var(--ck-color-engine-placeholder-text);\n\t\t}\n\n\t\t@mixin ck-media-forced-colors {\n\t\t\t/*\n\t\t\t * In the high contrast mode there is no telling between regular and placeholder text. Using\n\t\t\t * italic text to address that issue. See https://github.com/ckeditor/ckeditor5/issues/14907.\n\t\t\t */\n\t\t\tfont-style: italic;\n\n\t\t\t/*\n\t\t\t * Without this margin, the caret will not show up and blink when the user puts the selection\n\t\t\t * in the placeholder (Edge on Windows). See https://github.com/ckeditor/ckeditor5/issues/14907.\n\t\t\t */\n\t\t\tmargin-left: 1px;\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},8264:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-editor__editable span[data-ck-unsafe-element]{display:none}","",{version:3,sources:["webpack://./../ckeditor5-engine/theme/renderer.css"],names:[],mappings:"AAMA,qDACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Elements marked by the Renderer as hidden should be invisible in the editor. */\n.ck.ck-editor__editable span[data-ck-unsafe-element] {\n\tdisplay: none;\n}\n"],sourceRoot:""}]);const a=s},4341:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck-find-result{background:var(--ck-color-highlight-background);color:var(--ck-color-text)}.ck-find-result_selected{background:#ff9633}","",{version:3,sources:["webpack://./../ckeditor5-find-and-replace/theme/findandreplace.css"],names:[],mappings:"AAKA,gBACC,+CAAgD,CAChD,0BACD,CAEA,yBACC,kBACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-find-result {\n\tbackground: var(--ck-color-highlight-background);\n\tcolor: var(--ck-color-text);\n}\n\n.ck-find-result_selected {\n\tbackground: hsl(29, 100%, 60%);\n}\n"],sourceRoot:""}]);const a=s},9627:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-find-and-replace-form{max-width:100%}.ck.ck-find-and-replace-form .ck-find-and-replace-form__actions,.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs{display:flex}.ck.ck-find-and-replace-form .ck-find-and-replace-form__actions.ck-find-and-replace-form__inputs .ck-results-counter,.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs.ck-find-and-replace-form__inputs .ck-results-counter{position:absolute}.ck.ck-find-and-replace-form{width:400px}.ck.ck-find-and-replace-form:focus{outline:none}.ck.ck-find-and-replace-form .ck-find-and-replace-form__actions,.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs{align-content:stretch;align-items:center;flex:1 1 auto;flex-direction:row;flex-wrap:wrap;margin:0;padding:var(--ck-spacing-large)}.ck.ck-find-and-replace-form .ck-find-and-replace-form__actions>.ck-button,.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs>.ck-button{flex:0 0 auto}[dir=ltr] .ck.ck-find-and-replace-form .ck-find-and-replace-form__actions>*+*,[dir=ltr] .ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs>*+*{margin-left:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-find-and-replace-form .ck-find-and-replace-form__actions>*+*,[dir=rtl] .ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs>*+*{margin-right:var(--ck-spacing-standard)}.ck.ck-find-and-replace-form .ck-find-and-replace-form__actions .ck-labeled-field-view,.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs .ck-labeled-field-view{flex:1 1 auto}.ck.ck-find-and-replace-form .ck-find-and-replace-form__actions .ck-labeled-field-view .ck-input,.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs .ck-labeled-field-view .ck-input{min-width:50px;width:100%}.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs{align-items:flex-start}.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs>.ck-button-prev>.ck-icon{transform:rotate(90deg)}.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs>.ck-button-next>.ck-icon{transform:rotate(-90deg)}.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs .ck-results-counter{top:50%;transform:translateY(-50%)}[dir=ltr] .ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs .ck-results-counter{right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs .ck-results-counter{left:var(--ck-spacing-standard)}.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs .ck-results-counter{color:var(--ck-color-base-border)}.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs>.ck-labeled-field-replace{flex:0 0 100%;padding-top:var(--ck-spacing-standard)}[dir=ltr] .ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs>.ck-labeled-field-replace{margin-left:0}[dir=rtl] .ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs>.ck-labeled-field-replace{margin-right:0}.ck.ck-find-and-replace-form .ck-find-and-replace-form__actions{flex-wrap:wrap;justify-content:flex-end;margin-top:calc(var(--ck-spacing-large)*-1)}.ck.ck-find-and-replace-form .ck-find-and-replace-form__actions>.ck-button-find{font-weight:700}.ck.ck-find-and-replace-form .ck-find-and-replace-form__actions>.ck-button-find .ck-button__label{padding-left:var(--ck-spacing-large);padding-right:var(--ck-spacing-large)}.ck.ck-find-and-replace-form .ck-switchbutton{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;width:100%}@media screen and (max-width:600px){.ck.ck-find-and-replace-form{max-width:100%;width:300px}.ck.ck-find-and-replace-form.ck-find-and-replace-form__input{flex-wrap:wrap}.ck.ck-find-and-replace-form.ck-find-and-replace-form__input .ck-labeled-field-view{flex:1 0 auto;margin-bottom:var(--ck-spacing-standard);width:100%}.ck.ck-find-and-replace-form.ck-find-and-replace-form__input>.ck-button{text-align:center}.ck.ck-find-and-replace-form.ck-find-and-replace-form__input>.ck-button:first-of-type{flex:1 1 auto}[dir=ltr] .ck.ck-find-and-replace-form.ck-find-and-replace-form__input>.ck-button:first-of-type{margin-left:0}[dir=rtl] .ck.ck-find-and-replace-form.ck-find-and-replace-form__input>.ck-button:first-of-type{margin-right:0}.ck.ck-find-and-replace-form.ck-find-and-replace-form__input>.ck-button:first-of-type .ck-button__label{text-align:center;width:100%}.ck.ck-find-and-replace-form.ck-find-and-replace-form__actions>:not(.ck-labeled-field-view){flex:1 1 auto;flex-wrap:wrap}.ck.ck-find-and-replace-form.ck-find-and-replace-form__actions>:not(.ck-labeled-field-view)>.ck-button{text-align:center}.ck.ck-find-and-replace-form.ck-find-and-replace-form__actions>:not(.ck-labeled-field-view)>.ck-button:first-of-type{flex:1 1 auto}[dir=ltr] .ck.ck-find-and-replace-form.ck-find-and-replace-form__actions>:not(.ck-labeled-field-view)>.ck-button:first-of-type{margin-left:0}[dir=rtl] .ck.ck-find-and-replace-form.ck-find-and-replace-form__actions>:not(.ck-labeled-field-view)>.ck-button:first-of-type{margin-right:0}.ck.ck-find-and-replace-form.ck-find-and-replace-form__actions>:not(.ck-labeled-field-view)>.ck-button .ck-button__label{text-align:center;width:100%}}","",{version:3,sources:["webpack://./../ckeditor5-find-and-replace/theme/findandreplaceform.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-find-and-replace/findandreplaceform.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAKA,6BACC,cAUD,CARC,+HACC,YAMD,CAHC,yOACC,iBACD,CCNF,6BACC,WAoHD,CA9GC,mCACC,YACD,CAGA,+HAMC,qBAAsB,CADtB,kBAAmB,CAHnB,aAAc,CACd,kBAAmB,CACnB,cAAe,CAKf,QAAS,CADT,+BA4BD,CAzBC,qJACC,aACD,CAGC,2JACC,sCACD,CAIA,2JACC,uCACD,CAGD,6KACC,aAMD,CAJC,iMAEC,cAAe,CADf,UAED,CAMF,+DAEC,sBAqCD,CAnCC,wFACC,uBACD,CAEA,wFACC,wBACD,CAEA,mFACC,OAAQ,CACR,0BAWD,CAbA,6FAKE,gCAQF,CAbA,6FASE,+BAIF,CAbA,mFAYC,iCACD,CAEA,yFACC,aAAc,CACd,sCASD,CAXA,mGAKE,aAMF,CAXA,mGASE,cAEF,CAID,gEACC,cAAe,CACf,wBAAyB,CACzB,2CAWD,CATC,gFACC,eAOD,CAJC,kGACC,oCAAqC,CACrC,qCACD,CAIF,8CAMC,kBAAmB,CAJnB,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAA8B,CAJ9B,UAMD,CCtHA,oCD0HA,6BAIC,cAAe,CAHf,WA+DD,CAzDC,6DACC,cA4BD,CA1BC,oFACC,aAAc,CAEd,wCAAyC,CADzC,UAED,CAEA,wEACC,iBAkBD,CAhBC,sFACC,aAcD,CAfA,gGAIE,aAWF,CAfA,gGAQE,cAOF,CAJC,wGAEC,iBAAkB,CADlB,UAED,CAMH,4FAEC,aAAc,CADd,cAuBD,CApBC,uGACC,iBAkBD,CAhBC,qHACC,aASD,CAVA,+HAIE,aAMF,CAVA,+HAQE,cAEF,CAEA,yHAEC,iBAAkB,CADlB,UAED,CCrLH",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-find-and-replace-form {\n\tmax-width: 100%;\n\n\t& .ck-find-and-replace-form__inputs, .ck-find-and-replace-form__actions {\n\t\tdisplay: flex;\n\n\t\t/* The inputs area styles */\n\t\t&.ck-find-and-replace-form__inputs .ck-results-counter {\n\t\t\tposition: absolute;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-find-and-replace-form {\n\twidth: 400px;\n\n\t/*\n\t * The
needs tabindex="-1" for proper Esc handling after being clicked\n\t * but the side effect is that this creates a nasty focus outline in some browsers.\n\t */\n\t&:focus {\n\t\toutline: none;\n\t}\n\n\t/* Generic styles for the form inputs and actions. */\n\t& .ck-find-and-replace-form__inputs,\n\t& .ck-find-and-replace-form__actions {\n\t\tflex: 1 1 auto;\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t\talign-items: center;\n\t\talign-content: stretch;\n\n\t\tpadding: var(--ck-spacing-large);\n\t\tmargin: 0;\n\n\t\t& > .ck-button {\n\t\t\tflex: 0 0 auto;\n\t\t}\n\n\t\t@mixin ck-dir ltr {\n\t\t\t& > * + * {\n\t\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t\t}\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t& > * + * {\n\t\t\t\tmargin-right: var(--ck-spacing-standard);\n\t\t\t}\n\t\t}\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex: 1 1 auto;\n\n\t\t\t& .ck-input {\n\t\t\t\twidth: 100%;\n\t\t\t\tmin-width: 50px;\n\t\t\t}\n\t\t}\n\n\t}\n\n\t/* Styles specific for inputs area. */\n\t& .ck-find-and-replace-form__inputs {\n\t\t/* To display all controls in line when there\'s an error under the input */\n\t\talign-items: flex-start;\n\n\t\t& > .ck-button-prev > .ck-icon {\n\t\t\ttransform: rotate(90deg);\n\t\t}\n\n\t\t& > .ck-button-next > .ck-icon {\n\t\t\ttransform: rotate(-90deg);\n\t\t}\n\n\t\t& .ck-results-counter {\n\t\t\ttop: 50%;\n\t\t\ttransform: translateY(-50%);\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tright: var(--ck-spacing-standard);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tleft: var(--ck-spacing-standard);\n\t\t\t}\n\n\t\t\tcolor: var(--ck-color-base-border);\n\t\t}\n\n\t\t& > .ck-labeled-field-replace {\n\t\t\tflex: 0 0 100%;\n\t\t\tpadding-top: var(--ck-spacing-standard);\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-right: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Styles specific for actions area. */\n\t& .ck-find-and-replace-form__actions {\n\t\tflex-wrap: wrap;\n\t\tjustify-content: flex-end;\n\t\tmargin-top: calc( -1 * var(--ck-spacing-large) );\n\n\t\t& > .ck-button-find {\n\t\t\tfont-weight: bold;\n\n\t\t\t/* Beef the find button up a little. It\'s the main action button in the form */\n\t\t\t& .ck-button__label {\n\t\t\t\tpadding-left: var(--ck-spacing-large);\n\t\t\t\tpadding-right: var(--ck-spacing-large);\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck-switchbutton {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tflex-wrap: nowrap;\n\t\tjustify-content: space-between;\n\t\talign-items: center;\n\t}\n}\n\n@mixin ck-media-phone {\n\t.ck.ck-find-and-replace-form {\n\t\twidth: 300px;\n\n\t\t/* Don\'t let the form overflow from the dialog (https://github.com/cksource/ckeditor5-commercial/issues/5913) */\n\t\tmax-width: 100%;\n\n\t\t/* Styles specific for inputs area. */\n\t\t&.ck-find-and-replace-form__input {\n\t\t\tflex-wrap: wrap;\n\n\t\t\t& .ck-labeled-field-view {\n\t\t\t\tflex: 1 0 auto;\n\t\t\t\twidth: 100%;\n\t\t\t\tmargin-bottom: var(--ck-spacing-standard);\n\t\t\t}\n\n\t\t\t& > .ck-button {\n\t\t\t\ttext-align: center;\n\n\t\t\t\t&:first-of-type {\n\t\t\t\t\tflex: 1 1 auto;\n\n\t\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\t\tmargin-left: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\t\tmargin-right: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t& .ck-button__label {\n\t\t\t\t\t\twidth: 100%;\n\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/* Styles specific for actions area. */\n\t\t&.ck-find-and-replace-form__actions > :not(.ck-labeled-field-view) {\n\t\t\tflex-wrap: wrap;\n\t\t\tflex: 1 1 auto;\n\n\t\t\t& > .ck-button {\n\t\t\t\ttext-align: center;\n\n\t\t\t\t&:first-of-type {\n\t\t\t\t\tflex: 1 1 auto;\n\n\t\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\t\tmargin-left: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\t\tmargin-right: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t& .ck-button__label {\n\t\t\t\t\twidth: 100%;\n\t\t\t\t\ttext-align: center;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},1058:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck-content .text-tiny{font-size:.7em}.ck-content .text-small{font-size:.85em}.ck-content .text-big{font-size:1.4em}.ck-content .text-huge{font-size:1.8em}","",{version:3,sources:["webpack://./../ckeditor5-font/theme/fontsize.css"],names:[],mappings:"AAUC,uBACC,cACD,CAEA,wBACC,eACD,CAEA,sBACC,eACD,CAEA,uBACC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* The values should be synchronized with the "FONT_SIZE_PRESET_UNITS" object in the "/src/fontsize/utils.js" file. */\n\n/* Styles should be prefixed with the `.ck-content` class.\nSee https://github.com/ckeditor/ckeditor5/issues/6636 */\n.ck-content {\n\t& .text-tiny {\n\t\tfont-size: .7em;\n\t}\n\n\t& .text-small {\n\t\tfont-size: .85em;\n\t}\n\n\t& .text-big {\n\t\tfont-size: 1.4em;\n\t}\n\n\t& .text-huge {\n\t\tfont-size: 1.8em;\n\t}\n}\n'],sourceRoot:""}]);const a=s},6269:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-heading_heading1 .ck-button__label{font-size:20px}.ck.ck-heading_heading2 .ck-button__label{font-size:17px}.ck.ck-heading_heading3 .ck-button__label{font-size:14px}.ck[class*=ck-heading_heading]{font-weight:700}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label{width:8em}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item{min-width:18em}","",{version:3,sources:["webpack://./../ckeditor5-heading/theme/heading.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-heading/heading.css"],names:[],mappings:"AAKA,0CACC,cACD,CAEA,0CACC,cACD,CAEA,0CACC,cACD,CAEA,+BACC,eACD,CCZC,2EACC,SACD,CAEA,uEACC,cACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-heading_heading1 .ck-button__label {\n\tfont-size: 20px;\n}\n\n.ck.ck-heading_heading2 .ck-button__label {\n\tfont-size: 17px;\n}\n\n.ck.ck-heading_heading3 .ck-button__label {\n\tfont-size: 14px;\n}\n\n.ck[class*="ck-heading_heading"] {\n\tfont-weight: bold;\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Resize dropdown's button label. */\n.ck.ck-dropdown.ck-heading-dropdown {\n\t& .ck-dropdown__button .ck-button__label {\n\t\twidth: 8em;\n\t}\n\n\t& .ck-dropdown__panel .ck-list__item {\n\t\tmin-width: 18em;\n\t}\n}\n"],sourceRoot:""}]);const a=s},2626:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck-editor__editable .ck-horizontal-line{display:flow-root}.ck-content hr{background:#dedede;border:0;height:4px;margin:15px 0}","",{version:3,sources:["webpack://./../ckeditor5-horizontal-line/theme/horizontalline.css"],names:[],mappings:"AAMA,yCAEC,iBACD,CAEA,eAGC,kBAA2B,CAC3B,QAAS,CAFT,UAAW,CADX,aAID",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n\n.ck-editor__editable .ck-horizontal-line {\n\t/* Necessary to render properly next to floated objects, e.g. side image case. */\n\tdisplay: flow-root;\n}\n\n.ck-content hr {\n\tmargin: 15px 0;\n\theight: 4px;\n\tbackground: hsl(0, 0%, 87%);\n\tborder: 0;\n}\n"],sourceRoot:""}]);const a=s},8914:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,":root{--ck-html-object-embed-unfocused-outline-width:1px}.ck-widget.html-object-embed{background-color:var(--ck-color-base-foreground);font-size:var(--ck-font-size-base);min-width:calc(76px + var(--ck-spacing-standard));padding:var(--ck-spacing-small);padding-top:calc(var(--ck-font-size-tiny) + var(--ck-spacing-large))}.ck-widget.html-object-embed:not(.ck-widget_selected):not(:hover){outline:var(--ck-html-object-embed-unfocused-outline-width) dashed var(--ck-color-widget-blurred-border)}.ck-widget.html-object-embed:before{background:#999;border-radius:0 0 var(--ck-border-radius) var(--ck-border-radius);color:var(--ck-color-base-background);content:attr(data-html-object-embed-label);font-family:var(--ck-font-face);font-size:var(--ck-font-size-tiny);font-style:normal;font-weight:400;left:var(--ck-spacing-standard);padding:calc(var(--ck-spacing-tiny) + var(--ck-html-object-embed-unfocused-outline-width)) var(--ck-spacing-small) var(--ck-spacing-tiny);position:absolute;top:0;transition:background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck-widget.html-object-embed .ck-widget__type-around .ck-widget__type-around__button.ck-widget__type-around__button_before{margin-left:50px}.ck-widget.html-object-embed .html-object-embed__content{pointer-events:none}div.ck-widget.html-object-embed{margin:1em auto}span.ck-widget.html-object-embed{display:inline-block}","",{version:3,sources:["webpack://./../ckeditor5-html-support/theme/datafilter.css"],names:[],mappings:"AAKA,MACC,kDACD,CAEA,6BAEC,gDAAiD,CADjD,kCAAmC,CAKnC,iDAAkD,CAHlD,+BAAgC,CAEhC,oEAgCD,CA7BC,kEACC,wGACD,CAEA,oCAOC,eAA4B,CAG5B,iEAAkE,CAClE,qCAAsC,CAPtC,0CAA2C,CAS3C,+BAAgC,CADhC,kCAAmC,CAVnC,iBAAkB,CADlB,eAAmB,CAKnB,+BAAgC,CAGhC,yIAA0I,CAN1I,iBAAkB,CAElB,KAAM,CAGN,0GAMD,CAGA,2HACC,gBACD,CAEA,yDAEC,mBACD,CAGD,gCACC,eACD,CAEA,iCACC,oBACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-html-object-embed-unfocused-outline-width: 1px;\n}\n\n.ck-widget.html-object-embed {\n\tfont-size: var(--ck-font-size-base);\n\tbackground-color: var(--ck-color-base-foreground);\n\tpadding: var(--ck-spacing-small);\n\t/* Leave space for label */\n\tpadding-top: calc(var(--ck-font-size-tiny) + var(--ck-spacing-large));\n\tmin-width: calc(76px + var(--ck-spacing-standard));\n\n\t&:not(.ck-widget_selected):not(:hover) {\n\t\toutline: var(--ck-html-object-embed-unfocused-outline-width) dashed var(--ck-color-widget-blurred-border);\n\t}\n\n\t&::before {\n\t\tfont-weight: normal;\n\t\tfont-style: normal;\n\t\tposition: absolute;\n\t\tcontent: attr(data-html-object-embed-label);\n\t\ttop: 0;\n\t\tleft: var(--ck-spacing-standard);\n\t\tbackground: hsl(0deg 0% 60%);\n\t\ttransition: background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\t\tpadding: calc(var(--ck-spacing-tiny) + var(--ck-html-object-embed-unfocused-outline-width)) var(--ck-spacing-small) var(--ck-spacing-tiny);\n\t\tborder-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius);\n\t\tcolor: var(--ck-color-base-background);\n\t\tfont-size: var(--ck-font-size-tiny);\n\t\tfont-family: var(--ck-font-face);\n\t}\n\n\t/* Make space for label. */\n\t& .ck-widget__type-around .ck-widget__type-around__button.ck-widget__type-around__button_before {\n\t\tmargin-left: 50px;\n\t}\n\n\t& .html-object-embed__content {\n\t\t/* Disable user interaction with embed content */\n\t\tpointer-events: none;\n\t}\n}\n\ndiv.ck-widget.html-object-embed {\n\tmargin: 1em auto;\n}\n\nspan.ck-widget.html-object-embed {\n\tdisplay: inline-block;\n}\n\n"],sourceRoot:""}]);const a=s},265:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck-content .image{clear:both;display:table;margin:.9em auto;min-width:50px;text-align:center}.ck-content .image img{display:block;height:auto;margin:0 auto;max-width:100%;min-width:100%}.ck-content .image-inline{align-items:flex-start;display:inline-flex;max-width:100%}.ck-content .image-inline picture{display:flex}.ck-content .image-inline img,.ck-content .image-inline picture{flex-grow:1;flex-shrink:1;max-width:100%}.ck.ck-editor__editable .image>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}.ck.ck-editor__editable .image{z-index:1}.ck.ck-editor__editable .image.ck-widget_selected{z-index:2}.ck.ck-editor__editable .image-inline{z-index:1}.ck.ck-editor__editable .image-inline.ck-widget_selected{z-index:2}.ck.ck-editor__editable .image-inline.ck-widget_selected ::selection{display:none}.ck.ck-editor__editable .image-inline img{height:auto}.ck.ck-editor__editable td .image-inline img,.ck.ck-editor__editable th .image-inline img{max-width:none}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/image.css"],names:[],mappings:"AAMC,mBAEC,UAAW,CADX,aAAc,CAOd,gBAAkB,CAGlB,cAAe,CARf,iBA2BD,CAjBC,uBAEC,aAAc,CAad,WAAY,CAVZ,aAAc,CAGd,cAAe,CAGf,cAKD,CAGD,0BAYC,sBAAuB,CANvB,mBAAoB,CAGpB,cAoBD,CAdC,kCACC,YACD,CAGA,gEAGC,WAAY,CACZ,aAAc,CAGd,cACD,CAUD,gEASC,eAAgB,CARhB,oBAAqB,CACrB,qBAAsB,CAQtB,sBAAuB,CAFvB,kBAGD,CAKA,+BACC,SASD,CAHC,kDACC,SACD,CAMD,sCACC,SAkBD,CAZC,yDACC,SAUD,CAHC,qEACC,YACD,CAMF,0CACC,WACD,CAMC,0FACC,cACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content {\n\t& .image {\n\t\tdisplay: table;\n\t\tclear: both;\n\t\ttext-align: center;\n\n\t\t/* Make sure there is some space between the content and the image. Center image by default. */\n\t\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\n\t \tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\n\t\tmargin: 0.9em auto;\n\n\t\t/* Make sure the caption will be displayed properly (See: https://github.com/ckeditor/ckeditor5/issues/1870). */\n\t\tmin-width: 50px;\n\n\t\t& img {\n\t\t\t/* Prevent unnecessary margins caused by line-height (see #44). */\n\t\t\tdisplay: block;\n\n\t\t\t/* Center the image if its width is smaller than the content\'s width. */\n\t\t\tmargin: 0 auto;\n\n\t\t\t/* Make sure the image never exceeds the size of the parent container (ckeditor/ckeditor5-ui#67). */\n\t\t\tmax-width: 100%;\n\n\t\t\t/* Make sure the image is never smaller than the parent container (See: https://github.com/ckeditor/ckeditor5/issues/9300). */\n\t\t\tmin-width: 100%;\n\n\t\t\t/* Keep proportions of the block image if the height is set and the image is wider than the editor width.\n\t\t\tSee https://github.com/ckeditor/ckeditor5/issues/14542. */\n\t\t\theight: auto;\n\t\t}\n\t}\n\n\t& .image-inline {\n\t\t/*\n\t\t * Normally, the .image-inline would have "display: inline-block" and "img { width: 100% }" (to follow the wrapper while resizing).\n\t\t * Unfortunately, together with "srcset", it gets automatically stretched up to the width of the editing root.\n\t\t * This strange behavior does not happen with inline-flex.\n\t\t */\n\t\tdisplay: inline-flex;\n\n\t\t/* While being resized, don\'t allow the image to exceed the width of the editing root. */\n\t\tmax-width: 100%;\n\n\t\t/* This is required by Safari to resize images in a sensible way. Without this, the browser breaks the ratio. */\n\t\talign-items: flex-start;\n\n\t\t/* When the picture is present it must act as a flex container to let the img resize properly */\n\t\t& picture {\n\t\t\tdisplay: flex;\n\t\t}\n\n\t\t/* When the picture is present, it must act like a resizable img. */\n\t\t& picture,\n\t\t& img {\n\t\t\t/* This is necessary for the img to span the entire .image-inline wrapper and to resize properly. */\n\t\t\tflex-grow: 1;\n\t\t\tflex-shrink: 1;\n\n\t\t\t/* Prevents overflowing the editing root boundaries when an inline image is very wide. */\n\t\t\tmax-width: 100%;\n\t\t}\n\t}\n}\n\n.ck.ck-editor__editable {\n\t/*\n\t * Inhertit the content styles padding of the
in case the integration overrides `text-align: center`\n\t * of `.image` (e.g. to the left/right). This ensures the placeholder stays at the padding just like the native\n\t * caret does, and not at the edge of
.\n\t */\n\t& .image > figcaption.ck-placeholder::before {\n\t\tpadding-left: inherit;\n\t\tpadding-right: inherit;\n\n\t\t/*\n\t\t * Make sure the image caption placeholder doesn\'t overflow the placeholder area.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9162.\n\t\t */\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t/*\n\t * See https://github.com/ckeditor/ckeditor5/issues/15115.\n\t */\n\t& .image {\n\t\tz-index: 1;\n\n\t\t/*\n\t\t * Make sure the selected image always stays on top of its siblings.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9108.\n\t\t */\n\t\t&.ck-widget_selected {\n\t\t\tz-index: 2;\n\t\t}\n\t}\n\n\t/*\n\t * See https://github.com/ckeditor/ckeditor5/issues/15115.\n\t */\n\t& .image-inline {\n\t\tz-index: 1;\n\n\t\t/*\n\t\t * Make sure the selected inline image always stays on top of its siblings.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9108.\n\t\t */\n\t\t&.ck-widget_selected {\n\t\t\tz-index: 2;\n\n\t\t\t/*\n\t\t\t * Make sure the native browser selection style is not displayed.\n\t\t\t * Inline image widgets have their own styles for the selected state and\n\t\t\t * leaving this up to the browser is asking for a visual collision.\n\t\t\t */\n\t\t\t& ::selection {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Keep proportions of the inline image if the height is set and the image is wider than the editor width.\n\tSee https://github.com/ckeditor/ckeditor5/issues/14542. */\n\t& .image-inline img {\n\t\theight: auto;\n\t}\n\n\t/* The inline image nested in the table should have its original size if not resized.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9117. */\n\t& td,\n\t& th {\n\t\t& .image-inline img {\n\t\t\tmax-width: none;\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},5247:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,":root{--ck-color-image-caption-background:#f7f7f7;--ck-color-image-caption-text:#333;--ck-color-image-caption-highlighted-background:#fd0}.ck-content .image>figcaption{background-color:var(--ck-color-image-caption-background);caption-side:bottom;color:var(--ck-color-image-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;word-break:break-word}@media (forced-colors:active){.ck-content .image>figcaption{background-color:unset;color:unset}}@media (forced-colors:none){.ck.ck-editor__editable .image>figcaption.image__caption_highlighted{animation:ck-image-caption-highlight .6s ease-out}}@media (prefers-reduced-motion:reduce){.ck.ck-editor__editable .image>figcaption.image__caption_highlighted{animation:none}}@keyframes ck-image-caption-highlight{0%{background-color:var(--ck-color-image-caption-highlighted-background)}to{background-color:var(--ck-color-image-caption-background)}}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/imagecaption.css","webpack://./../ckeditor5-ui/theme/mixins/_mediacolors.css"],names:[],mappings:"AAOA,MACC,2CAAoD,CACpD,kCAA8C,CAC9C,oDACD,CAGA,8BAKC,yDAA0D,CAH1D,mBAAoB,CAEpB,wCAAyC,CAHzC,qBAAsB,CAMtB,eAAgB,CAChB,mBAAoB,CAFpB,YAAa,CAHb,qBAYD,CAJC,8BAXD,8BAYE,sBAAuB,CACvB,WAEF,CADC,CCdA,4BACC,qEDmBA,iDCjBA,CACD,CDmBA,uCALD,qEAME,cAEF,CADC,CAGD,sCACC,GACC,qEACD,CAEA,GACC,yDACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css";\n\n:root {\n\t--ck-color-image-caption-background: hsl(0, 0%, 97%);\n\t--ck-color-image-caption-text: hsl(0, 0%, 20%);\n\t--ck-color-image-caption-highlighted-background: hsl(52deg 100% 50%);\n}\n\n/* Content styles */\n.ck-content .image > figcaption {\n\tdisplay: table-caption;\n\tcaption-side: bottom;\n\tword-break: break-word;\n\tcolor: var(--ck-color-image-caption-text);\n\tbackground-color: var(--ck-color-image-caption-background);\n\tpadding: .6em;\n\tfont-size: .75em;\n\toutline-offset: -1px;\n\n\t/* Improve placeholder rendering in high-constrast mode (https://github.com/ckeditor/ckeditor5/issues/14907). */\n\t@media (forced-colors: active) {\n\t\tbackground-color: unset;\n\t\tcolor: unset;\n\t}\n}\n\n/* Editing styles */\n.ck.ck-editor__editable .image > figcaption.image__caption_highlighted {\n\t@mixin ck-media-default-colors {\n\t\tanimation: ck-image-caption-highlight .6s ease-out;\n\t}\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\tanimation: none;\n\t}\n}\n\n@keyframes ck-image-caption-highlight {\n\t0% {\n\t\tbackground-color: var(--ck-color-image-caption-highlighted-background);\n\t}\n\n\t100% {\n\t\tbackground-color: var(--ck-color-image-caption-background);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-forced-colors {\n\t@media (forced-colors: active) {\n\t\t& {\n\t\t\t@mixin-content;\n\t\t}\n\t}\n}\n\n@define-mixin ck-media-default-colors {\n\t@media (forced-colors: none) {\n\t\t& {\n\t\t\t@mixin-content;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},4642:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-image-custom-resize-form{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-image-custom-resize-form .ck-labeled-field-view{display:inline-block}.ck.ck-image-custom-resize-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-image-custom-resize-form{flex-wrap:wrap}.ck.ck-image-custom-resize-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-image-custom-resize-form .ck-button{flex-basis:50%}}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/imagecustomresizeform.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAOA,gCAIC,sBAAuB,CAHvB,YAAa,CACb,kBAAmB,CACnB,gBAsBD,CAnBC,uDACC,oBACD,CAEA,0CACC,YACD,CCbA,oCDCD,gCAeE,cAUF,CARE,uDACC,eACD,CAEA,2CACC,cACD,CCtBD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-image-custom-resize-form {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\talign-items: flex-start;\n\n\t& .ck-labeled-field-view {\n\t\tdisplay: inline-block;\n\t}\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},3350:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-image-insert-url{padding:var(--ck-spacing-large) var(--ck-spacing-large) 0;width:400px}.ck.ck-image-insert-url .ck-image-insert-url__action-row{display:grid;grid-template-columns:repeat(2,1fr)}:root{--ck-image-insert-insert-by-url-width:250px}.ck.ck-image-insert-url{--ck-input-width:100%}.ck.ck-image-insert-url .ck-image-insert-url__action-row{grid-column-gap:var(--ck-spacing-large);margin-top:var(--ck-spacing-large)}.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-cancel,.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-save{justify-content:center;min-width:auto}.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}.ck.ck-image-insert-form>.ck.ck-button{display:block;width:100%}[dir=ltr] .ck.ck-image-insert-form>.ck.ck-button{text-align:left}[dir=rtl] .ck.ck-image-insert-form>.ck.ck-button{text-align:right}.ck.ck-image-insert-form>.ck.ck-collapsible{min-width:var(--ck-image-insert-insert-by-url-width)}.ck.ck-image-insert-form>.ck.ck-collapsible:not(:first-child){border-top:1px solid var(--ck-color-base-border)}.ck.ck-image-insert-form>.ck.ck-collapsible:not(:last-child){border-bottom:1px solid var(--ck-color-base-border)}.ck.ck-image-insert-form>.ck.ck-image-insert-url{min-width:var(--ck-image-insert-insert-by-url-width);padding:var(--ck-spacing-large)}.ck.ck-image-insert-form:focus{outline:none}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/imageinsert.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-image/imageinsert.css"],names:[],mappings:"AAKA,wBAEC,yDAA0D,CAD1D,WAOD,CAJC,yDACC,YAAa,CACb,mCACD,CCLD,MACC,2CACD,CAEA,wBACC,qBAgBD,CAdC,yDACC,uCAAwC,CACxC,kCAWD,CATC,oJAEC,sBAAuB,CACvB,cACD,CAEA,sFACC,0BACD,CAKD,uCACC,aAAc,CACd,UASD,CAXA,iDAKE,eAMF,CAXA,iDASE,gBAEF,CAEA,4CASC,oDACD,CATC,8DACC,gDACD,CAEA,6DACC,mDACD,CAMD,iDACC,oDAAqD,CACrD,+BACD,CAEA,+BACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-image-insert-url {\n\twidth: 400px;\n\tpadding: var(--ck-spacing-large) var(--ck-spacing-large) 0;\n\n\t& .ck-image-insert-url__action-row {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: repeat(2, 1fr);\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n:root {\n\t--ck-image-insert-insert-by-url-width: 250px;\n}\n\n.ck.ck-image-insert-url {\n\t--ck-input-width: 100%;\n\n\t& .ck-image-insert-url__action-row {\n\t\tgrid-column-gap: var(--ck-spacing-large);\n\t\tmargin-top: var(--ck-spacing-large);\n\n\t\t& .ck-button-save,\n\t\t& .ck-button-cancel {\n\t\t\tjustify-content: center;\n\t\t\tmin-width: auto;\n\t\t}\n\n\t\t& .ck-button .ck-button__label {\n\t\t\tcolor: var(--ck-color-text);\n\t\t}\n\t}\n}\n\n.ck.ck-image-insert-form {\n\t& > .ck.ck-button {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\n\t\t@mixin ck-dir ltr {\n\t\t\ttext-align: left;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttext-align: right;\n\t\t}\n\t}\n\n\t& > .ck.ck-collapsible {\n\t\t&:not(:first-child) {\n\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t}\n\n\t\t&:not(:last-child) {\n\t\t\tborder-bottom: 1px solid var(--ck-color-base-border);\n\t\t}\n\n\t\tmin-width: var(--ck-image-insert-insert-by-url-width);\n\t}\n\n\t/* This is the case when there are no other integrations configured than insert by URL */\n\t& > .ck.ck-image-insert-url {\n\t\tmin-width: var(--ck-image-insert-insert-by-url-width);\n\t\tpadding: var(--ck-spacing-large);\n\t}\n\n\t&:focus {\n\t\toutline: none;\n\t}\n}\n'],sourceRoot:""}]);const a=s},7378:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-editor__editable img.image_placeholder{background-size:100% 100%}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/imageplaceholder.css"],names:[],mappings:"AAMC,8CACC,yBACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable {\n\t& img.image_placeholder {\n\t\tbackground-size: 100% 100%;\n\t}\n}\n"],sourceRoot:""}]);const a=s},3469:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck-content img.image_resized{height:auto}.ck-content .image.image_resized{box-sizing:border-box;display:block;max-width:100%}.ck-content .image.image_resized img{width:100%}.ck-content .image.image_resized>figcaption{display:block}.ck.ck-editor__editable td .image-inline.image_resized img,.ck.ck-editor__editable th .image-inline.image_resized img{max-width:100%}[dir=ltr] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-left:var(--ck-spacing-standard)}.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label{width:4em}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/imageresize.css"],names:[],mappings:"AAMA,8BACC,WACD,CAEA,iCAQC,qBAAsB,CADtB,aAAc,CANd,cAkBD,CATC,qCAEC,UACD,CAEA,4CAEC,aACD,CAQC,sHACC,cACD,CAIF,oFACC,uCACD,CAEA,oFACC,sCACD,CAEA,oEACC,SACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Preserve aspect ratio of the resized image after introducing image height attribute. */\n.ck-content img.image_resized {\n\theight: auto;\n}\n\n.ck-content .image.image_resized {\n\tmax-width: 100%;\n\t/*\n\tThe `
` element for resized images must not use `display:table` as browsers do not support `max-width` for it well.\n\tSee https://stackoverflow.com/questions/4019604/chrome-safari-ignoring-max-width-in-table/14420691#14420691 for more.\n\tFortunately, since we control the width, there is no risk that the image will look bad.\n\t*/\n\tdisplay: block;\n\tbox-sizing: border-box;\n\n\t& img {\n\t\t/* For resized images it is the `
` element that determines the image width. */\n\t\twidth: 100%;\n\t}\n\n\t& > figcaption {\n\t\t/* The `
` element uses `display:block`, so `
` also has to. */\n\t\tdisplay: block;\n\t}\n}\n\n.ck.ck-editor__editable {\n\t/* The resized inline image nested in the table should respect its parent size.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9117. */\n\t& td,\n\t& th {\n\t\t& .image-inline.image_resized img {\n\t\t\tmax-width: 100%;\n\t\t}\n\t}\n}\n\n[dir="ltr"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {\n\tmargin-right: var(--ck-spacing-standard);\n}\n\n[dir="rtl"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {\n\tmargin-left: var(--ck-spacing-standard);\n}\n\n.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label {\n\twidth: 4em;\n}\n'],sourceRoot:""}]);const a=s},6386:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,":root{--ck-image-style-spacing:1.5em;--ck-inline-image-style-spacing:calc(var(--ck-image-style-spacing)/2)}.ck-content .image.image-style-block-align-left,.ck-content .image.image-style-block-align-right{max-width:calc(100% - var(--ck-image-style-spacing))}.ck-content .image.image-style-align-left,.ck-content .image.image-style-align-right{clear:none}.ck-content .image.image-style-side{float:right;margin-left:var(--ck-image-style-spacing);max-width:50%}.ck-content .image.image-style-align-left{float:left;margin-right:var(--ck-image-style-spacing)}.ck-content .image.image-style-align-right{float:right;margin-left:var(--ck-image-style-spacing)}.ck-content .image.image-style-block-align-right{margin-left:auto;margin-right:0}.ck-content .image.image-style-block-align-left{margin-left:0;margin-right:auto}.ck-content .image-style-align-center{margin-left:auto;margin-right:auto}.ck-content .image-style-align-left{float:left;margin-right:var(--ck-image-style-spacing)}.ck-content .image-style-align-right{float:right;margin-left:var(--ck-image-style-spacing)}.ck-content p+.image.image-style-align-left,.ck-content p+.image.image-style-align-right,.ck-content p+.image.image-style-side{margin-top:0}.ck-content .image-inline.image-style-align-left,.ck-content .image-inline.image-style-align-right{margin-bottom:var(--ck-inline-image-style-spacing);margin-top:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-left{margin-right:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-right{margin-left:var(--ck-inline-image-style-spacing)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-background)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after{display:none}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-hover-background)}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/imagestyle.css"],names:[],mappings:"AAKA,MACC,8BAA+B,CAC/B,qEACD,CAQE,iGAEC,oDACD,CAIA,qFAEC,UACD,CAEA,oCACC,WAAY,CACZ,yCAA0C,CAC1C,aACD,CAEA,0CACC,UAAW,CACX,0CACD,CAEA,2CACC,WAAY,CACZ,yCACD,CAEA,iDAEC,gBAAiB,CADjB,cAED,CAEA,gDACC,aAAc,CACd,iBACD,CAGD,sCACC,gBAAiB,CACjB,iBACD,CAEA,oCACC,UAAW,CACX,0CACD,CAEA,qCACC,WAAY,CACZ,yCACD,CAGA,+HAGC,YACD,CAGC,mGAGC,kDAAmD,CADnD,+CAED,CAEA,iDACC,iDACD,CAEA,kDACC,gDACD,CAUC,0lBAGC,qDAKD,CAHC,8nBACC,YACD,CAKD,oVAGC,2DACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-image-style-spacing: 1.5em;\n\t--ck-inline-image-style-spacing: calc(var(--ck-image-style-spacing) / 2);\n}\n\n.ck-content {\n\t/* See: https://github.com/ckeditor/ckeditor5/issues/16317 */\n\t& .image {\n\t\t/* Provides a minimal side margin for the left and right aligned images, so that the user has a visual feedback\n\t\tconfirming successful application of the style if image width exceeds the editor's size.\n\t\tSee https://github.com/ckeditor/ckeditor5/issues/9342 */\n\t\t&.image-style-block-align-left,\n\t\t&.image-style-block-align-right {\n\t\t\tmax-width: calc(100% - var(--ck-image-style-spacing));\n\t\t}\n\n\t\t/* Allows displaying multiple floating images in the same line.\n\t\tSee https://github.com/ckeditor/ckeditor5/issues/9183#issuecomment-804988132 */\n\t\t&.image-style-align-left,\n\t\t&.image-style-align-right {\n\t\t\tclear: none;\n\t\t}\n\n\t\t&.image-style-side {\n\t\t\tfloat: right;\n\t\t\tmargin-left: var(--ck-image-style-spacing);\n\t\t\tmax-width: 50%;\n\t\t}\n\n\t\t&.image-style-align-left {\n\t\t\tfloat: left;\n\t\t\tmargin-right: var(--ck-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-align-right {\n\t\t\tfloat: right;\n\t\t\tmargin-left: var(--ck-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-block-align-right {\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: auto;\n\t\t}\n\n\t\t&.image-style-block-align-left {\n\t\t\tmargin-left: 0;\n\t\t\tmargin-right: auto;\n\t\t}\n\t}\n\n\t& .image-style-align-center {\n\t\tmargin-left: auto;\n\t\tmargin-right: auto;\n\t}\n\n\t& .image-style-align-left {\n\t\tfloat: left;\n\t\tmargin-right: var(--ck-image-style-spacing);\n\t}\n\n\t& .image-style-align-right {\n\t\tfloat: right;\n\t\tmargin-left: var(--ck-image-style-spacing);\n\t}\n\n\t/* Simulates margin collapsing with the preceding paragraph, which does not work for the floating elements. */\n\t& p + .image.image-style-align-left,\n\t& p + .image.image-style-align-right,\n\t& p + .image.image-style-side {\n\t\tmargin-top: 0;\n\t}\n\n\t& .image-inline {\n\t\t&.image-style-align-left,\n\t\t&.image-style-align-right {\n\t\t\tmargin-top: var(--ck-inline-image-style-spacing);\n\t\t\tmargin-bottom: var(--ck-inline-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-align-left {\n\t\t\tmargin-right: var(--ck-inline-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-align-right {\n\t\t\tmargin-left: var(--ck-inline-image-style-spacing);\n\t\t}\n\t}\n}\n\n.ck.ck-splitbutton {\n\t/* The button should display as a regular drop-down if the action button\n\tis forced to fire the same action as the arrow button. */\n\t&.ck-splitbutton_flatten {\n\t\t&:hover,\n\t\t&.ck-splitbutton_open {\n\t\t\t& > .ck-splitbutton__action:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {\n\t\t\t\tbackground-color: var(--ck-color-button-on-background);\n\n\t\t\t\t&::after {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.ck-splitbutton_open:hover {\n\t\t\t& > .ck-splitbutton__action:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {\n\t\t\t\tbackground-color: var(--ck-color-button-on-hover-background);\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},7693:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,'.ck-image-upload-complete-icon{border-radius:50%;display:block;position:absolute;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);z-index:1}.ck-image-upload-complete-icon:after{content:"";position:absolute}:root{--ck-color-image-upload-icon:#fff;--ck-color-image-upload-icon-background:#008a00;--ck-image-upload-icon-size:20;--ck-image-upload-icon-width:2px;--ck-image-upload-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck-image-upload-complete-icon{animation-delay:0ms,3s;animation-duration:.5s,.5s;animation-fill-mode:forwards,forwards;animation-name:ck-upload-complete-icon-show,ck-upload-complete-icon-hide;background:var(--ck-color-image-upload-icon-background);font-size:calc(1px*var(--ck-image-upload-icon-size));height:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size));opacity:0;overflow:hidden;width:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size))}.ck-image-upload-complete-icon:after{animation-delay:.5s;animation-duration:.5s;animation-fill-mode:forwards;animation-name:ck-upload-complete-icon-check;border-right:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);border-top:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);box-sizing:border-box;height:0;left:25%;opacity:0;top:50%;transform:scaleX(-1) rotate(135deg);transform-origin:left top;width:0}@media (prefers-reduced-motion:reduce){.ck-image-upload-complete-icon{animation-duration:0ms}.ck-image-upload-complete-icon:after{animation:none;height:.45em;opacity:1;width:.3em}}@keyframes ck-upload-complete-icon-show{0%{opacity:0}to{opacity:1}}@keyframes ck-upload-complete-icon-hide{0%{opacity:1}to{opacity:0}}@keyframes ck-upload-complete-icon-check{0%{height:0;opacity:1;width:0}33%{height:0;width:.3em}to{height:.45em;opacity:1;width:.3em}}',"",{version:3,sources:["webpack://./../ckeditor5-image/theme/imageuploadicon.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadicon.css"],names:[],mappings:"AAKA,+BAUC,iBAAkB,CATlB,aAAc,CACd,iBAAkB,CAOlB,sCAAwC,CADxC,oCAAsC,CAGtC,SAMD,CAJC,qCACC,UAAW,CACX,iBACD,CChBD,MACC,iCAA8C,CAC9C,+CAA4D,CAG5D,8BAA+B,CAC/B,gCAAiC,CACjC,4DACD,CAEA,+BAWC,sBAA4B,CAN5B,0BAAgC,CADhC,qCAAuC,CADvC,wEAA0E,CAD1E,uDAAwD,CAMxD,oDAAuD,CAWvD,oFAAuF,CAlBvF,SAAU,CAgBV,eAAgB,CAChB,mFAqCD,CAjCC,qCAgBC,mBAAsB,CADtB,sBAAyB,CAEzB,4BAA6B,CAH7B,4CAA6C,CAF7C,sFAAuF,CADvF,oFAAqF,CASrF,qBAAsB,CAdtB,QAAS,CAJT,QAAS,CAGT,SAAU,CADV,OAAQ,CAKR,mCAAoC,CACpC,yBAA0B,CAH1B,OAcD,CAEA,uCA7CD,+BA8CE,sBASF,CAPE,qCACC,cAAe,CAGf,YAAc,CAFd,SAAU,CACV,UAED,CACD,CAGD,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,yCACC,GAGC,QAAS,CAFT,SAAU,CACV,OAED,CACA,IAEC,QAAS,CADT,UAED,CACA,GAGC,YAAc,CAFd,SAAU,CACV,UAED,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-image-upload-complete-icon {\n\tdisplay: block;\n\tposition: absolute;\n\n\t/*\n\t * Smaller images should have the icon closer to the border.\n\t * Match the icon position with the linked image indicator brought by the link image feature.\n\t */\n\ttop: min(var(--ck-spacing-medium), 6%);\n\tright: min(var(--ck-spacing-medium), 6%);\n\tborder-radius: 50%;\n\tz-index: 1;\n\n\t&::after {\n\t\tcontent: "";\n\t\tposition: absolute;\n\t}\n}\n','/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-image-upload-icon: hsl(0, 0%, 100%);\n\t--ck-color-image-upload-icon-background: hsl(120, 100%, 27%);\n\n\t/* Match the icon size with the linked image indicator brought by the link image feature. */\n\t--ck-image-upload-icon-size: 20;\n\t--ck-image-upload-icon-width: 2px;\n\t--ck-image-upload-icon-is-visible: clamp(0px, 100% - 50px, 1px);\n}\n\n.ck-image-upload-complete-icon {\n\topacity: 0;\n\tbackground: var(--ck-color-image-upload-icon-background);\n\tanimation-name: ck-upload-complete-icon-show, ck-upload-complete-icon-hide;\n\tanimation-fill-mode: forwards, forwards;\n\tanimation-duration: 500ms, 500ms;\n\n\t/* To make animation scalable. */\n\tfont-size: calc(1px * var(--ck-image-upload-icon-size));\n\n\t/* Hide completed upload icon after 3 seconds. */\n\tanimation-delay: 0ms, 3000ms;\n\n\t/*\n\t * Use CSS math to simulate container queries.\n\t * https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things\n\t */\n\toverflow: hidden;\n\twidth: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));\n\theight: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));\n\n\t/* This is check icon element made from border-width mixed with animations. */\n\t&::after {\n\t\t/* Because of border transformation we need to "hard code" left position. */\n\t\tleft: 25%;\n\n\t\ttop: 50%;\n\t\topacity: 0;\n\t\theight: 0;\n\t\twidth: 0;\n\n\t\ttransform: scaleX(-1) rotate(135deg);\n\t\ttransform-origin: left top;\n\t\tborder-top: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\n\t\tborder-right: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\n\n\t\tanimation-name: ck-upload-complete-icon-check;\n\t\tanimation-duration: 500ms;\n\t\tanimation-delay: 500ms;\n\t\tanimation-fill-mode: forwards;\n\n\t\t/* #1095. While reset is not providing proper box-sizing for pseudoelements, we need to handle it. */\n\t\tbox-sizing: border-box;\n\t}\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\tanimation-duration: 0ms;\n\n\t\t&::after {\n\t\t\tanimation: none;\n\t\t\topacity: 1;\n\t\t\twidth: 0.3em;\n\t\t\theight: 0.45em;\n\t\t}\n\t}\n}\n\n@keyframes ck-upload-complete-icon-show {\n\tfrom {\n\t\topacity: 0;\n\t}\n\n\tto {\n\t\topacity: 1;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-hide {\n\tfrom {\n\t\topacity: 1;\n\t}\n\n\tto {\n\t\topacity: 0;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-check {\n\t0% {\n\t\topacity: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t}\n\t33% {\n\t\twidth: 0.3em;\n\t\theight: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t\twidth: 0.3em;\n\t\theight: 0.45em;\n\t}\n}\n'],sourceRoot:""}]);const a=s},1559:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,'.ck .ck-upload-placeholder-loader{align-items:center;display:flex;justify-content:center;left:0;position:absolute;top:0}.ck .ck-upload-placeholder-loader:before{content:"";position:relative}:root{--ck-color-upload-placeholder-loader:#b3b3b3;--ck-upload-placeholder-loader-size:32px;--ck-upload-placeholder-image-aspect-ratio:2.8}.ck .ck-image-upload-placeholder{margin:0;width:100%}.ck .ck-image-upload-placeholder.image-inline{width:calc(var(--ck-upload-placeholder-loader-size)*2*var(--ck-upload-placeholder-image-aspect-ratio))}.ck .ck-image-upload-placeholder img{aspect-ratio:var(--ck-upload-placeholder-image-aspect-ratio)}.ck .ck-upload-placeholder-loader{height:100%;width:100%}.ck .ck-upload-placeholder-loader:before{animation:ck-upload-placeholder-loader 1s linear infinite;border-radius:50%;border-right:2px solid transparent;border-top:3px solid var(--ck-color-upload-placeholder-loader);height:var(--ck-upload-placeholder-loader-size);width:var(--ck-upload-placeholder-loader-size)}@keyframes ck-upload-placeholder-loader{to{transform:rotate(1turn)}}',"",{version:3,sources:["webpack://./../ckeditor5-image/theme/imageuploadloader.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadloader.css"],names:[],mappings:"AAKA,kCAGC,kBAAmB,CADnB,YAAa,CAEb,sBAAuB,CAEvB,MAAO,CALP,iBAAkB,CAIlB,KAOD,CAJC,yCACC,UAAW,CACX,iBACD,CCXD,MACC,4CAAqD,CACrD,wCAAyC,CACzC,8CACD,CAEA,iCAGC,QAAS,CADT,UAgBD,CAbC,8CACC,sGACD,CAEA,qCAOC,4DACD,CAGD,kCAEC,WAAY,CADZ,UAWD,CARC,yCAMC,yDAA0D,CAH1D,iBAAkB,CAElB,kCAAmC,CADnC,8DAA+D,CAF/D,+CAAgD,CADhD,8CAMD,CAGD,wCACC,GACC,uBACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-upload-placeholder-loader {\n\tposition: absolute;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\ttop: 0;\n\tleft: 0;\n\n\t&::before {\n\t\tcontent: '';\n\t\tposition: relative;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-upload-placeholder-loader: hsl(0, 0%, 70%);\n\t--ck-upload-placeholder-loader-size: 32px;\n\t--ck-upload-placeholder-image-aspect-ratio: 2.8;\n}\n\n.ck .ck-image-upload-placeholder {\n\t/* We need to control the full width of the SVG gray background. */\n\twidth: 100%;\n\tmargin: 0;\n\n\t&.image-inline {\n\t\twidth: calc( 2 * var(--ck-upload-placeholder-loader-size) * var(--ck-upload-placeholder-image-aspect-ratio) );\n\t}\n\n\t& img {\n\t\t/*\n\t\t * This is an arbitrary aspect for a 1x1 px GIF to display to the user. Not too tall, not too short.\n\t\t * There's nothing special about this number except that it should make the image placeholder look like\n\t\t * a real image during this short period after the upload started and before the image was read from the\n\t\t * file system (and a rich preview was loaded).\n\t\t */\n\t\taspect-ratio: var(--ck-upload-placeholder-image-aspect-ratio);\n\t}\n}\n\n.ck .ck-upload-placeholder-loader {\n\twidth: 100%;\n\theight: 100%;\n\n\t&::before {\n\t\twidth: var(--ck-upload-placeholder-loader-size);\n\t\theight: var(--ck-upload-placeholder-loader-size);\n\t\tborder-radius: 50%;\n\t\tborder-top: 3px solid var(--ck-color-upload-placeholder-loader);\n\t\tborder-right: 2px solid transparent;\n\t\tanimation: ck-upload-placeholder-loader 1s linear infinite;\n\t}\n}\n\n@keyframes ck-upload-placeholder-loader {\n\tto {\n\t\ttransform: rotate( 360deg );\n\t}\n}\n"],sourceRoot:""}]);const a=s},2267:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-editor__editable .image,.ck.ck-editor__editable .image-inline{position:relative}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{left:0;position:absolute;top:0}.ck.ck-editor__editable .image-inline.ck-appear,.ck.ck-editor__editable .image.ck-appear{animation:fadeIn .7s}@media (prefers-reduced-motion:reduce){.ck.ck-editor__editable .image-inline.ck-appear,.ck.ck-editor__editable .image.ck-appear{animation:none;opacity:1}}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{background:var(--ck-color-upload-bar-background);height:2px;transition:width .1s;width:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/imageuploadprogress.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadprogress.css"],names:[],mappings:"AAMC,qEAEC,iBACD,CAGA,uGAIC,MAAO,CAFP,iBAAkB,CAClB,KAED,CCRC,yFACC,oBAMD,CAJC,uCAHD,yFAKE,cAAe,CADf,SAGF,CADC,CAKF,uGAIC,gDAAiD,CAFjD,UAAW,CAGX,oBAAuB,CAFvB,OAGD,CAGD,kBACC,GAAO,SAAY,CACnB,GAAO,SAAY,CACpB",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable {\n\t& .image,\n\t& .image-inline {\n\t\tposition: relative;\n\t}\n\n\t/* Upload progress bar. */\n\t& .image .ck-progress-bar,\n\t& .image-inline .ck-progress-bar {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable {\n\t& .image,\n\t& .image-inline {\n\t\t/* Showing animation. */\n\t\t&.ck-appear {\n\t\t\tanimation: fadeIn 700ms;\n\n\t\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t\topacity: 1;\n\t\t\t\tanimation: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Upload progress bar. */\n\t& .image .ck-progress-bar,\n\t& .image-inline .ck-progress-bar {\n\t\theight: 2px;\n\t\twidth: 0;\n\t\tbackground: var(--ck-color-upload-bar-background);\n\t\ttransition: width 100ms;\n\t}\n}\n\n@keyframes fadeIn {\n\tfrom { opacity: 0; }\n\tto { opacity: 1; }\n}\n"],sourceRoot:""}]);const a=s},4062:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-text-alternative-form{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-text-alternative-form .ck-labeled-field-view{display:inline-block}.ck.ck-text-alternative-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-text-alternative-form{flex-wrap:wrap}.ck.ck-text-alternative-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-text-alternative-form .ck-button{flex-basis:50%}}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/textalternativeform.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAOA,6BACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,oDACC,oBACD,CAEA,uCACC,YACD,CCZA,oCDCD,6BAcE,cAUF,CARE,oDACC,eACD,CAEA,wCACC,cACD,CCrBD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-text-alternative-form {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-labeled-field-view {\n\t\tdisplay: inline-block;\n\t}\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},7719:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck .ck-link_selected{background:var(--ck-color-link-selected-background)}.ck .ck-link_selected span.image-inline{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background)}.ck .ck-fake-link-selection{background:var(--ck-color-link-fake-selection)}.ck .ck-fake-link-selection_collapsed{border-right:1px solid var(--ck-color-base-text);height:100%;margin-right:-1px;outline:1px solid hsla(0,0%,100%,.5)}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-link/link.css"],names:[],mappings:"AAMA,sBACC,mDAMD,CAHC,wCACC,yFACD,CAOD,4BACC,8CACD,CAGA,sCAEC,gDAAiD,CADjD,WAAY,CAEZ,iBAAkB,CAClB,oCACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Class added to span element surrounding currently selected link. */\n.ck .ck-link_selected {\n\tbackground: var(--ck-color-link-selected-background);\n\n\t/* Give linked inline images some outline to let the user know they are also part of the link. */\n\t& span.image-inline {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background);\n\t}\n}\n\n/*\n * Classes used by the "fake visual selection" displayed in the content when an input\n * in the link UI has focus (the browser does not render the native selection in this state).\n */\n.ck .ck-fake-link-selection {\n\tbackground: var(--ck-color-link-fake-selection);\n}\n\n/* A collapsed fake visual selection. */\n.ck .ck-fake-link-selection_collapsed {\n\theight: 100%;\n\tborder-right: 1px solid var(--ck-color-base-text);\n\tmargin-right: -1px;\n\toutline: solid 1px hsla(0, 0%, 100%, .5);\n}\n'],sourceRoot:""}]);const a=s},8762:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-link-actions{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-link-actions .ck-link-actions__preview{display:inline-block}.ck.ck-link-actions .ck-link-actions__preview .ck-button__label{overflow:hidden}@media screen and (max-width:600px){.ck.ck-link-actions{flex-wrap:wrap}.ck.ck-link-actions .ck-link-actions__preview{flex-basis:100%}.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){flex-basis:50%}}.ck.ck-link-actions .ck-button.ck-link-actions__preview{padding-left:0;padding-right:0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{color:var(--ck-color-link-default);cursor:pointer;max-width:var(--ck-input-width);min-width:3em;padding:0 var(--ck-spacing-medium);text-align:center;text-overflow:ellipsis}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label:hover{text-decoration:underline}.ck.ck-link-actions .ck-button.ck-link-actions__preview,.ck.ck-link-actions .ck-button.ck-link-actions__preview:active,.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus,.ck.ck-link-actions .ck-button.ck-link-actions__preview:hover{background:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:active{box-shadow:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus .ck-button__label{text-decoration:underline}[dir=ltr] .ck.ck-link-actions .ck-button:not(:first-child),[dir=rtl] .ck.ck-link-actions .ck-button:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-link-actions .ck-button.ck-link-actions__preview{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{max-width:100%;min-width:0}[dir=ltr] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview),[dir=rtl] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){margin-left:0}}","",{version:3,sources:["webpack://./../ckeditor5-link/theme/linkactions.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-link/linkactions.css"],names:[],mappings:"AAOA,oBACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,8CACC,oBAKD,CAHC,gEACC,eACD,CCXD,oCDCD,oBAcE,cAUF,CARE,8CACC,eACD,CAEA,8DACC,cACD,CCrBD,CCIA,wDACC,cAAe,CACf,eAmCD,CAjCC,0EAEC,kCAAmC,CAEnC,cAAe,CAIf,+BAAgC,CAChC,aAAc,CARd,kCAAmC,CASnC,iBAAkB,CAPlB,sBAYD,CAHC,gFACC,yBACD,CAGD,mPAIC,eACD,CAEA,+DACC,eACD,CAGC,gFACC,yBACD,CAWD,qHACC,sCACD,CDtDD,oCC0DC,wDACC,8DAMD,CAJC,0EAEC,cAAe,CADf,WAED,CAGD,gJAME,aAEF,CDzED",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-actions {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-link-actions__preview {\n\t\tdisplay: inline-block;\n\n\t\t& .ck-button__label {\n\t\t\toverflow: hidden;\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-link-actions__preview {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button:not(.ck-link-actions__preview) {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n@import "../mixins/_focus.css";\n@import "../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-actions {\n\t& .ck-button.ck-link-actions__preview {\n\t\tpadding-left: 0;\n\t\tpadding-right: 0;\n\n\t\t& .ck-button__label {\n\t\t\tpadding: 0 var(--ck-spacing-medium);\n\t\t\tcolor: var(--ck-color-link-default);\n\t\t\ttext-overflow: ellipsis;\n\t\t\tcursor: pointer;\n\n\t\t\t/* Match the box model of the link editor form\'s input so the balloon\n\t\t\tdoes not change width when moving between actions and the form. */\n\t\t\tmax-width: var(--ck-input-width);\n\t\t\tmin-width: 3em;\n\t\t\ttext-align: center;\n\n\t\t\t&:hover {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\n\t\t&,\n\t\t&:hover,\n\t\t&:focus,\n\t\t&:active {\n\t\t\tbackground: none;\n\t\t}\n\n\t\t&:active {\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t&:focus {\n\t\t\t& .ck-button__label {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& .ck-button:not(:first-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& .ck-button:not(:last-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\t& .ck-button.ck-link-actions__preview {\n\t\t\tmargin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0;\n\n\t\t\t& .ck-button__label {\n\t\t\t\tmin-width: 0;\n\t\t\t\tmax-width: 100%;\n\t\t\t}\n\t\t}\n\n\t\t& .ck-button:not(.ck-link-actions__preview) {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},3817:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-link-form{align-items:flex-start;display:flex}.ck.ck-link-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-link-form{flex-wrap:wrap}.ck.ck-link-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-link-form .ck-button{flex-basis:50%}}.ck.ck-link-form_layout-vertical{display:block}.ck.ck-link-form_layout-vertical .ck-button.ck-button-cancel,.ck.ck-link-form_layout-vertical .ck-button.ck-button-save{margin-top:var(--ck-spacing-medium)}.ck.ck-link-form_layout-vertical{min-width:var(--ck-input-width);padding:0}.ck.ck-link-form_layout-vertical .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-link-form_layout-vertical>.ck-button{border-radius:0;margin:0;padding:var(--ck-spacing-standard);width:50%}.ck.ck-link-form_layout-vertical>.ck-button:not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-link-form_layout-vertical>.ck-button,[dir=rtl] .ck.ck-link-form_layout-vertical>.ck-button{margin-left:0}[dir=rtl] .ck.ck-link-form_layout-vertical>.ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}.ck.ck-link-form_layout-vertical .ck.ck-list{margin:0 var(--ck-spacing-large)}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton{padding:0;width:100%}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover{background:none}","",{version:3,sources:["webpack://./../ckeditor5-link/theme/linkform.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-link/linkform.css"],names:[],mappings:"AAOA,iBAEC,sBAAuB,CADvB,YAkBD,CAfC,2BACC,YACD,CCPA,oCDCD,iBASE,cAUF,CARE,wCACC,eACD,CAEA,4BACC,cACD,CChBD,CDwBD,iCACC,aAYD,CALE,wHAEC,mCACD,CEhCF,iCAEC,+BAAgC,CADhC,SAgDD,CA7CC,wDACC,8EAMD,CAJC,uEACC,WAAY,CACZ,UACD,CAGD,4CAIC,eAAgB,CAFhB,QAAS,CADT,kCAAmC,CAEnC,SAkBD,CAfC,wDACC,gDACD,CARD,4GAeE,aAMF,CAJE,mEACC,kDACD,CAKF,6CACC,gCAUD,CARC,wEACC,SAAU,CACV,UAKD,CAHC,8EACC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-form {\n\tdisplay: flex;\n\talign-items: flex-start;\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n\n/*\n * Style link form differently when manual decorators are available.\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\n */\n.ck.ck-link-form_layout-vertical {\n\tdisplay: block;\n\n\t/*\n\t * Whether the form is in the responsive mode or not, if there are decorator buttons\n\t * keep the top margin of action buttons medium.\n\t */\n\t& .ck-button {\n\t\t&.ck-button-save,\n\t\t&.ck-button-cancel {\n\t\t\tmargin-top: var(--ck-spacing-medium);\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n/*\n * Style link form differently when manual decorators are available.\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\n */\n.ck.ck-link-form_layout-vertical {\n\tpadding: 0;\n\tmin-width: var(--ck-input-width);\n\n\t& .ck-labeled-field-view {\n\t\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small);\n\n\t\t& .ck-input-text {\n\t\t\tmin-width: 0;\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n\t& > .ck-button {\n\t\tpadding: var(--ck-spacing-standard);\n\t\tmargin: 0;\n\t\twidth: 50%;\n\t\tborder-radius: 0;\n\n\t\t&:not(:focus) {\n\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t}\n\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-left: 0;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-left: 0;\n\n\t\t\t&:last-of-type {\n\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Using additional `.ck` class for stronger CSS specificity than `.ck.ck-link-form > :not(:first-child)`. */\n\t& .ck.ck-list {\n\t\tmargin: 0 var(--ck-spacing-large);\n\n\t\t& .ck-button.ck-switchbutton {\n\t\t\tpadding: 0;\n\t\t\twidth: 100%;\n\n\t\t\t&:hover {\n\t\t\t\tbackground: none;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},4808:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,'.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{display:block;position:absolute}:root{--ck-link-image-indicator-icon-size:20;--ck-link-image-indicator-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{background-color:rgba(0,0,0,.4);background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzUuNzUgMCAwIDEtLjIxNy4yMDYgNS4yNTEgNS4yNTEgMCAwIDEtOC41MDMtNS45NTUuNy43IDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NHptNS40OTQtNS4zMzVhLjc1Ljc1IDAgMCAxLS4xMi4yNzRsLTEuMTQ3IDEuNjM5YS43NS43NSAwIDEgMS0xLjIyOC0uODZsLjg2LTEuMjNhMy43NSAzLjc1IDAgMCAwLTYuMTQ0LTQuMzAxbC0uODYgMS4yMjlhLjc1Ljc1IDAgMCAxLTEuMjI5LS44NmwxLjE0OC0xLjY0YS43NS43NSAwIDAgMSAuMjE3LS4yMDYgNS4yNTEgNS4yNTEgMCAwIDEgOC41MDMgNS45NTVtLTQuNTYzLTIuNTMyYS43NS43NSAwIDAgMSAuMTg0IDEuMDQ1bC0zLjE1NSA0LjUwNWEuNzUuNzUgMCAxIDEtMS4yMjktLjg2bDMuMTU1LTQuNTA2YS43NS43NSAwIDAgMSAxLjA0NS0uMTg0Ii8+PC9zdmc+");background-position:50%;background-repeat:no-repeat;background-size:14px;border-radius:100%;content:"";height:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size));overflow:hidden;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);width:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size))}',"",{version:3,sources:["webpack://./../ckeditor5-link/theme/linkimage.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-link/linkimage.css"],names:[],mappings:"AASE,+FACC,aAAc,CACd,iBACD,CCPF,MAEC,sCAAuC,CACvC,oEACD,CAME,+FAUC,+BAAqC,CACrC,k2BAA+3B,CAG/3B,uBAA2B,CAD3B,2BAA4B,CAD5B,oBAAqB,CAGrB,kBAAmB,CAdnB,UAAW,CAsBX,oGAAuG,CAFvG,eAAgB,CAbhB,sCAAwC,CADxC,oCAAsC,CAetC,mGAED",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable {\n\t/* Linked image indicator */\n\t& figure.image > a,\n\t& a span.image-inline {\n\t\t&::after {\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t}\n\t}\n}\n\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/* Match the icon size with the upload indicator brought by the image upload feature. */\n\t--ck-link-image-indicator-icon-size: 20;\n\t--ck-link-image-indicator-icon-is-visible: clamp(0px, 100% - 50px, 1px);\n}\n\n.ck.ck-editor__editable {\n\t/* Linked image indicator */\n\t& figure.image > a,\n\t& a span.image-inline {\n\t\t&::after {\n\t\t\tcontent: "";\n\n\t\t\t/*\n\t\t\t * Smaller images should have the icon closer to the border.\n\t\t\t * Match the icon position with the upload indicator brought by the image upload feature.\n\t\t\t */\n\t\t\ttop: min(var(--ck-spacing-medium), 6%);\n\t\t\tright: min(var(--ck-spacing-medium), 6%);\n\n\t\t\tbackground-color: hsla(0, 0%, 0%, .4);\n\t\t\tbackground-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzQ4Ljc0OCAwIDAgMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAgMS04LjUwMy01Ljk1NS43NDEuNzQxIDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NGwuMDA2LjAwNHptNS40OTQtNS4zMzVhLjc0OC43NDggMCAwIDEtLjEyLjI3NGwtMS4xNDcgMS42MzlhLjc1Ljc1IDAgMSAxLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwIDAtNi4xNDQtNC4zMDFsLS44NiAxLjIyOWEuNzUuNzUgMCAwIDEtMS4yMjktLjg2bDEuMTQ4LTEuNjRhLjc0OC43NDggMCAwIDEgLjIxNy0uMjA2IDUuMjUxIDUuMjUxIDAgMCAxIDguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMCAxIC4xODQgMS4wNDVsLTMuMTU1IDQuNTA1YS43NS43NSAwIDEgMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMCAxIDEuMDQ1LS4xODR6Ii8+PC9zdmc+");\n\t\t\tbackground-size: 14px;\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-position: center;\n\t\t\tborder-radius: 100%;\n\n\t\t\t/*\n\t\t\t* Use CSS math to simulate container queries.\n\t\t\t* https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things\n\t\t\t*/\n\t\t\toverflow: hidden;\n\t\t\twidth: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size));\n\t\t\theight: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size));\n\t\t}\n\t}\n}\n\n'],sourceRoot:""}]);const a=s},1232:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck-editor__editable .ck-list-bogus-paragraph{display:block}","",{version:3,sources:["webpack://./../ckeditor5-list/theme/documentlist.css"],names:[],mappings:"AAKA,8CACC,aACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-editor__editable .ck-list-bogus-paragraph {\n\tdisplay: block;\n}\n"],sourceRoot:""}]);const a=s},6903:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck-content ol{list-style-type:decimal}.ck-content ol ol{list-style-type:lower-latin}.ck-content ol ol ol{list-style-type:lower-roman}.ck-content ol ol ol ol{list-style-type:upper-latin}.ck-content ol ol ol ol ol{list-style-type:upper-roman}.ck-content ul{list-style-type:disc}.ck-content ul ul{list-style-type:circle}.ck-content ul ul ul,.ck-content ul ul ul ul{list-style-type:square}","",{version:3,sources:["webpack://./../ckeditor5-list/theme/list.css"],names:[],mappings:"AAKA,eACC,uBAiBD,CAfC,kBACC,2BAaD,CAXC,qBACC,2BASD,CAPC,wBACC,2BAKD,CAHC,2BACC,2BACD,CAMJ,eACC,oBAaD,CAXC,kBACC,sBASD,CAJE,6CACC,sBACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content ol {\n\tlist-style-type: decimal;\n\n\t& ol {\n\t\tlist-style-type: lower-latin;\n\n\t\t& ol {\n\t\t\tlist-style-type: lower-roman;\n\n\t\t\t& ol {\n\t\t\t\tlist-style-type: upper-latin;\n\n\t\t\t\t& ol {\n\t\t\t\t\tlist-style-type: upper-roman;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck-content ul {\n\tlist-style-type: disc;\n\n\t& ul {\n\t\tlist-style-type: circle;\n\n\t\t& ul {\n\t\t\tlist-style-type: square;\n\n\t\t\t& ul {\n\t\t\t\tlist-style-type: square;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},9968:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-list-properties.ck-list-properties_without-styles{padding:var(--ck-spacing-large)}.ck.ck-list-properties.ck-list-properties_without-styles>*{min-width:14em}.ck.ck-list-properties.ck-list-properties_without-styles>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-list-styles-list{grid-template-columns:repeat(4,auto)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible{border-top:1px solid var(--ck-color-base-border)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*{width:100%}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties .ck.ck-numbered-list-properties__start-index .ck-input{min-width:auto;width:100%}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order{background:transparent;margin-bottom:calc(var(--ck-spacing-tiny)*-1);padding-left:0;padding-right:0}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:active,.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:hover{background:none;border-color:transparent;box-shadow:none}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-list/listproperties.css"],names:[],mappings:"AAOC,yDACC,+BASD,CAPC,2DACC,cAKD,CAHC,6DACC,qCACD,CASD,wFACC,oCACD,CAGA,mFACC,gDAWD,CARE,+GACC,UAKD,CAHC,iHACC,qCACD,CAMJ,8EACC,cAAe,CACf,UACD,CAEA,uEACC,sBAAuB,CAGvB,6CAAgD,CAFhD,cAAe,CACf,eAQD,CALC,2JAGC,eAAgB,CADhB,wBAAyB,CADzB,eAGD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-list-properties {\n\t/* When there are no list styles and there is no collapsible. */\n\t&.ck-list-properties_without-styles {\n\t\tpadding: var(--ck-spacing-large);\n\n\t\t& > * {\n\t\t\tmin-width: 14em;\n\n\t\t\t& + * {\n\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t * When the numbered list property fields (start at, reversed) should be displayed,\n\t * more horizontal space is needed. Reconfigure the style grid to create that space.\n\t */\n\t&.ck-list-properties_with-numbered-properties {\n\t\t& > .ck-list-styles-list {\n\t\t\tgrid-template-columns: repeat( 4, auto );\n\t\t}\n\n\t\t/* When list styles are rendered and property fields are in a collapsible. */\n\t\t& > .ck-collapsible {\n\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\n\t\t\t& > .ck-collapsible__children {\n\t\t\t\t& > * {\n\t\t\t\t\twidth: 100%;\n\n\t\t\t\t\t& + * {\n\t\t\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-numbered-list-properties__start-index .ck-input {\n\t\tmin-width: auto;\n\t\twidth: 100%;\n\t}\n\n\t& .ck.ck-numbered-list-properties__reversed-order {\n\t\tbackground: transparent;\n\t\tpadding-left: 0;\n\t\tpadding-right: 0;\n\t\tmargin-bottom: calc(-1 * var(--ck-spacing-tiny));\n\n\t\t&:active, &:hover {\n\t\t\tbox-shadow: none;\n\t\t\tborder-color: transparent;\n\t\t\tbackground: none;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},7141:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-list-styles-list{display:grid}:root{--ck-list-style-button-size:44px}.ck.ck-list-styles-list{column-gap:var(--ck-spacing-medium);grid-template-columns:repeat(3,auto);padding:var(--ck-spacing-large);row-gap:var(--ck-spacing-medium)}.ck.ck-list-styles-list .ck-button{box-sizing:content-box;margin:0;padding:0}.ck.ck-list-styles-list .ck-button,.ck.ck-list-styles-list .ck-button .ck-icon{height:var(--ck-list-style-button-size);width:var(--ck-list-style-button-size)}","",{version:3,sources:["webpack://./../ckeditor5-list/theme/liststyles.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-list/liststyles.css"],names:[],mappings:"AAKA,wBACC,YACD,CCFA,MACC,gCACD,CAEA,wBAGC,mCAAoC,CAFpC,oCAAwC,CAGxC,+BAAgC,CAFhC,gCA4BD,CAxBC,mCAiBC,sBAAuB,CAPvB,QAAS,CANT,SAmBD,CAJC,+EAhBA,uCAAwC,CADxC,sCAoBA",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-list-styles-list {\n\tdisplay: grid;\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-list-style-button-size: 44px;\n}\n\n.ck.ck-list-styles-list {\n\tgrid-template-columns: repeat( 3, auto );\n\trow-gap: var(--ck-spacing-medium);\n\tcolumn-gap: var(--ck-spacing-medium);\n\tpadding: var(--ck-spacing-large);\n\n\t& .ck-button {\n\t\t/* Make the button look like a thumbnail (the icon "takes it all"). */\n\t\twidth: var(--ck-list-style-button-size);\n\t\theight: var(--ck-list-style-button-size);\n\t\tpadding: 0;\n\n\t\t/*\n\t\t * Buttons are aligned by the grid so disable default button margins to not collide with the\n\t\t * gaps in the grid.\n\t\t */\n\t\tmargin: 0;\n\n\t\t/*\n\t\t * Make sure the button border (which is displayed on focus, BTW) does not steal pixels\n\t\t * from the button dimensions and, as a result, decrease the size of the icon\n\t\t * (which becomes blurry as it scales down).\n\t\t */\n\t\tbox-sizing: content-box;\n\n\t\t& .ck-icon {\n\t\t\twidth: var(--ck-list-style-button-size);\n\t\t\theight: var(--ck-list-style-button-size);\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},8991:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,':root{--ck-todo-list-checkmark-size:16px}.ck-content .todo-list{list-style:none}.ck-content .todo-list li{margin-bottom:5px;position:relative}.ck-content .todo-list li .todo-list{margin-top:5px}.ck-content .todo-list .todo-list__label>input{-webkit-appearance:none;border:0;display:inline-block;height:var(--ck-todo-list-checkmark-size);left:-25px;margin-left:0;margin-right:-15px;position:relative;right:0;vertical-align:middle;width:var(--ck-todo-list-checkmark-size)}.ck-content[dir=rtl] .todo-list .todo-list__label>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.ck-content .todo-list .todo-list__label>input:before{border:1px solid #333;border-radius:2px;box-sizing:border-box;content:"";display:block;height:100%;position:absolute;transition:box-shadow .25s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.ck-content .todo-list .todo-list__label>input:before{transition:none}}.ck-content .todo-list .todo-list__label>input:after{border-color:transparent;border-style:solid;border-width:0 calc(var(--ck-todo-list-checkmark-size)/8) calc(var(--ck-todo-list-checkmark-size)/8) 0;box-sizing:content-box;content:"";display:block;height:calc(var(--ck-todo-list-checkmark-size)/2.6);left:calc(var(--ck-todo-list-checkmark-size)/3);pointer-events:none;position:absolute;top:calc(var(--ck-todo-list-checkmark-size)/5.3);transform:rotate(45deg);width:calc(var(--ck-todo-list-checkmark-size)/5.3)}.ck-content .todo-list .todo-list__label>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-content .todo-list .todo-list__label>input[checked]:after{border-color:#fff}.ck-content .todo-list .todo-list__label .todo-list__label__description{vertical-align:middle}.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox]{position:absolute}.ck-editor__editable.ck-content .todo-list .todo-list__label>input,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input{cursor:pointer}.ck-editor__editable.ck-content .todo-list .todo-list__label>input:hover:before,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:hover:before{box-shadow:0 0 0 5px rgba(0,0,0,.1)}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input{-webkit-appearance:none;border:0;display:inline-block;height:var(--ck-todo-list-checkmark-size);left:-25px;margin-left:0;margin-right:-15px;position:relative;right:0;vertical-align:middle;width:var(--ck-todo-list-checkmark-size)}.ck-editor__editable.ck-content[dir=rtl] .todo-list .todo-list__label>span[contenteditable=false]>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:before{border:1px solid #333;border-radius:2px;box-sizing:border-box;content:"";display:block;height:100%;position:absolute;transition:box-shadow .25s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:before{transition:none}}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:after{border-color:transparent;border-style:solid;border-width:0 calc(var(--ck-todo-list-checkmark-size)/8) calc(var(--ck-todo-list-checkmark-size)/8) 0;box-sizing:content-box;content:"";display:block;height:calc(var(--ck-todo-list-checkmark-size)/2.6);left:calc(var(--ck-todo-list-checkmark-size)/3);pointer-events:none;position:absolute;top:calc(var(--ck-todo-list-checkmark-size)/5.3);transform:rotate(45deg);width:calc(var(--ck-todo-list-checkmark-size)/5.3)}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input[checked]:after{border-color:#fff}.ck-editor__editable.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox]{position:absolute}',"",{version:3,sources:["webpack://./../ckeditor5-list/theme/todolist.css"],names:[],mappings:"AAKA,MACC,kCACD,CA4EA,uBACC,eAwBD,CAtBC,0BAEC,iBAAkB,CADlB,iBAMD,CAHC,qCACC,cACD,CAIA,+CAtFD,uBAAwB,CAQxB,QAAS,CAPT,oBAAqB,CAGrB,yCAA0C,CAO1C,UAAW,CAGX,aAAc,CAFd,kBAAmB,CAVnB,iBAAkB,CAWlB,OAAQ,CARR,qBAAsB,CAFtB,wCAqFC,CAFA,wDApEA,MAAO,CAGP,iBAAkB,CAFlB,cAAe,CACf,WAoEA,CAhED,sDAOC,qBAAiC,CACjC,iBAAkB,CALlB,qBAAsB,CACtB,UAAW,CAHX,aAAc,CAKd,WAAY,CAJZ,iBAAkB,CAOlB,sCAAwC,CAJxC,UASD,CAHC,uCAXD,sDAYE,eAEF,CADC,CAGD,qDAaC,wBAAyB,CADzB,kBAAmB,CAEnB,sGAA+G,CAX/G,sBAAuB,CAEvB,UAAW,CAJX,aAAc,CAUd,mDAAwD,CAHxD,+CAAoD,CAJpD,mBAAoB,CAFpB,iBAAkB,CAOlB,gDAAqD,CAMrD,uBAAwB,CALxB,kDAMD,CAGC,+DACC,kBAA8B,CAC9B,oBACD,CAEA,8DACC,iBACD,CAwBA,wEACC,qBACD,CAEA,mGACC,iBACD,CAYD,kKAEC,cAKD,CAHC,4LACC,mCACD,CAMD,+FAxHA,uBAAwB,CAQxB,QAAS,CAPT,oBAAqB,CAGrB,yCAA0C,CAO1C,UAAW,CAGX,aAAc,CAFd,kBAAmB,CAVnB,iBAAkB,CAWlB,OAAQ,CARR,qBAAsB,CAFtB,wCAuHA,CAFA,wGAtGC,MAAO,CAGP,iBAAkB,CAFlB,cAAe,CACf,WAsGD,CAlGA,sGAOC,qBAAiC,CACjC,iBAAkB,CALlB,qBAAsB,CACtB,UAAW,CAHX,aAAc,CAKd,WAAY,CAJZ,iBAAkB,CAOlB,sCAAwC,CAJxC,UASD,CAHC,uCAXD,sGAYE,eAEF,CADC,CAGD,qGAaC,wBAAyB,CADzB,kBAAmB,CAEnB,sGAA+G,CAX/G,sBAAuB,CAEvB,UAAW,CAJX,aAAc,CAUd,mDAAwD,CAHxD,+CAAoD,CAJpD,mBAAoB,CAFpB,iBAAkB,CAOlB,gDAAqD,CAMrD,uBAAwB,CALxB,kDAMD,CAGC,+GACC,kBAA8B,CAC9B,oBACD,CAEA,8GACC,iBACD,CA2DA,uHACC,iBACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-todo-list-checkmark-size: 16px;\n}\n\n@define-mixin todo-list-checkbox {\n\t-webkit-appearance: none;\n\tdisplay: inline-block;\n\tposition: relative;\n\twidth: var(--ck-todo-list-checkmark-size);\n\theight: var(--ck-todo-list-checkmark-size);\n\tvertical-align: middle;\n\n\t/* Needed on iOS */\n\tborder: 0;\n\n\t/* LTR styles */\n\tleft: -25px;\n\tmargin-right: -15px;\n\tright: 0;\n\tmargin-left: 0;\n\n\t/* RTL styles */\n\t@nest [dir=rtl]& {\n\t\tleft: 0;\n\t\tmargin-right: 0;\n\t\tright: -25px;\n\t\tmargin-left: -15px;\n\t}\n\n\t&::before {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\tbox-sizing: border-box;\n\t\tcontent: '';\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tborder: 1px solid hsl(0, 0%, 20%);\n\t\tborder-radius: 2px;\n\t\ttransition: 250ms ease-in-out box-shadow;\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\ttransition: none;\n\t\t}\n\t}\n\n\t&::after {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\tbox-sizing: content-box;\n\t\tpointer-events: none;\n\t\tcontent: '';\n\n\t\t/* Calculate tick position, size and border-width proportional to the checkmark size. */\n\t\tleft: calc( var(--ck-todo-list-checkmark-size) / 3 );\n\t\ttop: calc( var(--ck-todo-list-checkmark-size) / 5.3 );\n\t\twidth: calc( var(--ck-todo-list-checkmark-size) / 5.3 );\n\t\theight: calc( var(--ck-todo-list-checkmark-size) / 2.6 );\n\t\tborder-style: solid;\n\t\tborder-color: transparent;\n\t\tborder-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;\n\t\ttransform: rotate(45deg);\n\t}\n\n\t&[checked] {\n\t\t&::before {\n\t\t\tbackground: hsl(126, 64%, 41%);\n\t\t\tborder-color: hsl(126, 64%, 41%);\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: hsl(0, 0%, 100%);\n\t\t}\n\t}\n}\n\n/*\n * To-do list content styles.\n */\n.ck-content .todo-list {\n\tlist-style: none;\n\n\t& li {\n\t\tposition: relative;\n\t\tmargin-bottom: 5px;\n\n\t\t& .todo-list {\n\t\t\tmargin-top: 5px;\n\t\t}\n\t}\n\n\t& .todo-list__label {\n\t\t& > input {\n\t\t\t@mixin todo-list-checkbox;\n\t\t}\n\n\t\t& .todo-list__label__description {\n\t\t\tvertical-align: middle;\n\t\t}\n\n\t\t&.todo-list__label_without-description input[type=checkbox] {\n\t\t\tposition: absolute;\n\t\t}\n\t}\n}\n\n/*\n * To-do list editing view styles.\n */\n.ck-editor__editable.ck-content .todo-list .todo-list__label {\n\t/*\n\t * To-do list should be interactive only during the editing\n\t * (https://github.com/ckeditor/ckeditor5/issues/2090).\n\t */\n\t& > input,\n\t& > span[contenteditable=false] > input {\n\t\tcursor: pointer;\n\n\t\t&:hover::before {\n\t\t\tbox-shadow: 0 0 0 5px hsla(0, 0%, 0%, 0.1);\n\t\t}\n\t}\n\n\t/*\n\t * Document Lists - editing view has an additional span around checkbox.\n\t */\n\t& > span[contenteditable=false] > input {\n\t\t@mixin todo-list-checkbox;\n\t}\n\n\t&.todo-list__label_without-description {\n\t\t& input[type=checkbox] {\n\t\t\tposition: absolute;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},9409:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,":root{--ck-color-mention-background:rgba(153,0,48,.1);--ck-color-mention-text:#990030}.ck-content .mention{background:var(--ck-color-mention-background);color:var(--ck-color-mention-text)}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-mention/mention.css"],names:[],mappings:"AAKA,MACC,+CAAwD,CACxD,+BACD,CAEA,qBACC,6CAA8C,CAC9C,kCACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-mention-background: hsla(341, 100%, 30%, 0.1);\n\t--ck-color-mention-text: hsl(341, 100%, 30%);\n}\n\n.ck-content .mention {\n\tbackground: var(--ck-color-mention-background);\n\tcolor: var(--ck-color-mention-text);\n}\n"],sourceRoot:""}]);const a=s},9055:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,":root{--ck-mention-list-max-height:300px}.ck.ck-mentions{max-height:var(--ck-mention-list-max-height);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.ck.ck-mentions>.ck-list__item{flex-shrink:0;overflow:hidden}","",{version:3,sources:["webpack://./../ckeditor5-mention/theme/mentionui.css"],names:[],mappings:"AAKA,MACC,kCACD,CAEA,gBACC,4CAA6C,CAM7C,iBAAkB,CAJlB,eAAgB,CAMhB,2BAQD,CAJC,+BAEC,aAAc,CADd,eAED",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-mention-list-max-height: 300px;\n}\n\n.ck.ck-mentions {\n\tmax-height: var(--ck-mention-list-max-height);\n\n\toverflow-y: auto;\n\n\t/* Prevent unnecessary horizontal scrollbar in Safari\n\thttps://github.com/ckeditor/ckeditor5-mention/issues/41 */\n\toverflow-x: hidden;\n\n\toverscroll-behavior: contain;\n\n\t/* Prevent unnecessary vertical scrollbar in Safari\n\thttps://github.com/ckeditor/ckeditor5-mention/issues/41 */\n\t& > .ck-list__item {\n\t\toverflow: hidden;\n\t\tflex-shrink: 0;\n\t}\n}\n"],sourceRoot:""}]);const a=s},6426:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,'.ck-content .page-break{align-items:center;clear:both;display:flex;justify-content:center;padding:5px 0;position:relative}.ck-content .page-break:after{border-bottom:2px dashed #c4c4c4;content:"";position:absolute;width:100%}.ck-content .page-break__label{background:#fff;border:1px solid #c4c4c4;border-radius:2px;box-shadow:2px 2px 1px rgba(0,0,0,.15);color:#333;display:block;font-family:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;font-size:.75em;font-weight:700;padding:.3em .6em;position:relative;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}@media print{.ck-content .page-break{padding:0}.ck-content .page-break:after{display:none}.ck-content :has(+.page-break){margin-bottom:0}}',"",{version:3,sources:["webpack://./../ckeditor5-page-break/theme/pagebreak.css"],names:[],mappings:"AAKA,wBAKC,kBAAmB,CAHnB,UAAW,CAEX,YAAa,CAEb,sBAAuB,CAHvB,aAAc,CAFd,iBAaD,CANC,8BAGC,gCAAyC,CAFzC,UAAW,CACX,iBAAkB,CAElB,UACD,CAGD,+BAYC,eAA4B,CAN5B,wBAAiC,CACjC,iBAAkB,CAMlB,sCAA6C,CAF7C,UAAsB,CAPtB,aAAc,CAId,qDAA0D,CAC1D,eAAiB,CACjB,eAAiB,CAPjB,iBAAkB,CAFlB,iBAAkB,CAIlB,wBAAyB,CAWzB,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CAjBjB,SAkBD,CAGA,aACC,wBACC,SAKD,CAHC,8BACC,YACD,CASD,+BACC,eACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content .page-break {\n\tposition: relative;\n\tclear: both;\n\tpadding: 5px 0;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\n\t&::after {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tborder-bottom: 2px dashed hsl(0, 0%, 77%);\n\t\twidth: 100%;\n\t}\n}\n\n.ck-content .page-break__label {\n\tposition: relative;\n\tz-index: 1;\n\tpadding: .3em .6em;\n\tdisplay: block;\n\ttext-transform: uppercase;\n\tborder: 1px solid hsl(0, 0%, 77%);\n\tborder-radius: 2px;\n\tfont-family: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;\n\tfont-size: 0.75em;\n\tfont-weight: bold;\n\tcolor: hsl(0, 0%, 20%);\n\tbackground: hsl(0, 0%, 100%);\n\tbox-shadow: 2px 2px 1px hsla(0, 0%, 0%, 0.15);\n\n\t/* Disable the possibility to select the label text by the user. */\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n}\n\n/* Do not show the page break element inside the print preview window. */\n@media print {\n\t.ck-content .page-break {\n\t\tpadding: 0;\n\n\t\t&::after {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t/*\n\t * From time to time placing page-break directly after a block element with margin causes appending a new blank page in pagination mode.\n\t * Removing margin-bottom from the block element fixes that issue and the margin is not being moved to the next blank page.\n\t *\n\t * Keep this in sync with the pagination plugins.\n\t */\n\t.ck-content *:has(+ .page-break) {\n\t\tmargin-bottom: 0;\n\t}\n}\n"],sourceRoot:""}]);const a=s},8868:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-character-grid{max-width:100%}.ck.ck-character-grid .ck-character-grid__tiles{display:grid}:root{--ck-character-grid-tile-size:24px}.ck.ck-character-grid{overflow-x:hidden;overflow-y:auto}.ck.ck-character-grid .ck-character-grid__tiles{grid-template-columns:repeat(auto-fill,minmax(var(--ck-character-grid-tile-size),1fr));margin:var(--ck-spacing-standard) var(--ck-spacing-large);grid-gap:var(--ck-spacing-standard)}.ck.ck-character-grid .ck-character-grid__tile{border:0;font-size:1.5em;height:var(--ck-character-grid-tile-size);min-height:var(--ck-character-grid-tile-size);min-width:var(--ck-character-grid-tile-size);padding:0;transition:box-shadow .2s ease;width:var(--ck-character-grid-tile-size)}@media (prefers-reduced-motion:reduce){.ck.ck-character-grid .ck-character-grid__tile{transition:none}}.ck.ck-character-grid .ck-character-grid__tile:focus:not(.ck-disabled),.ck.ck-character-grid .ck-character-grid__tile:hover:not(.ck-disabled){border:0;box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-focus-border)}.ck.ck-character-grid .ck-character-grid__tile .ck-button__label{line-height:var(--ck-character-grid-tile-size);text-align:center;width:100%}","",{version:3,sources:["webpack://./../ckeditor5-special-characters/theme/charactergrid.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-special-characters/charactergrid.css"],names:[],mappings:"AAKA,sBACC,cAKD,CAHC,gDACC,YACD,CCFD,MACC,kCACD,CAEA,sBAEC,iBAAkB,CADlB,eAqCD,CAlCC,gDACC,sFAAyF,CACzF,yDAA0D,CAC1D,mCACD,CAEA,+CAQC,QAAS,CAHT,eAAgB,CAHhB,yCAA0C,CAE1C,6CAA8C,CAD9C,4CAA6C,CAG7C,SAAU,CACV,8BAA+B,CAN/B,wCA0BD,CAjBC,uCAVD,+CAWE,eAgBF,CAfC,CAEA,8IAGC,QAAS,CACT,iGACD,CAGA,iEACC,8CAA+C,CAE/C,iBAAkB,CADlB,UAED",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-character-grid {\n\tmax-width: 100%;\n\n\t& .ck-character-grid__tiles {\n\t\tdisplay: grid;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n@import "../mixins/_rounded.css";\n\n:root {\n\t--ck-character-grid-tile-size: 24px;\n}\n\n.ck.ck-character-grid {\n\toverflow-y: auto;\n\toverflow-x: hidden;\n\n\t& .ck-character-grid__tiles {\n\t\tgrid-template-columns: repeat(auto-fill, minmax(var(--ck-character-grid-tile-size), 1fr));\n\t\tmargin: var(--ck-spacing-standard) var(--ck-spacing-large);\n\t\tgrid-gap: var(--ck-spacing-standard);\n\t}\n\n\t& .ck-character-grid__tile {\n\t\twidth: var(--ck-character-grid-tile-size);\n\t\theight: var(--ck-character-grid-tile-size);\n\t\tmin-width: var(--ck-character-grid-tile-size);\n\t\tmin-height: var(--ck-character-grid-tile-size);\n\t\tfont-size: 1.5em;\n\t\tpadding: 0;\n\t\ttransition: .2s ease box-shadow;\n\t\tborder: 0;\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\ttransition: none;\n\t\t}\n\n\t\t&:focus:not( .ck-disabled ),\n\t\t&:hover:not( .ck-disabled ) {\n\t\t\t/* Disable the default .ck-button\'s border ring. */\n\t\t\tborder: 0;\n\t\t\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border);\n\t\t}\n\n\t\t/* Make sure the glyph is rendered in the center of the button */\n\t\t& .ck-button__label {\n\t\t\tline-height: var(--ck-character-grid-tile-size);\n\t\t\twidth: 100%;\n\t\t\ttext-align: center;\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},128:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-character-info{border-top:1px solid var(--ck-color-base-border);display:flex;justify-content:space-between;padding:var(--ck-spacing-small) var(--ck-spacing-large)}.ck.ck-character-info>*{font-size:var(--ck-font-size-small);text-transform:uppercase}.ck.ck-character-info .ck-character-info__name{max-width:280px;overflow:hidden;text-overflow:ellipsis}.ck.ck-character-info .ck-character-info__code{opacity:.6}","",{version:3,sources:["webpack://./../ckeditor5-special-characters/theme/characterinfo.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-special-characters/characterinfo.css"],names:[],mappings:"AAKA,sBCIC,gDAAiD,CDHjD,YAAa,CACb,6BAA8B,CCC9B,uDDAD,CCGC,wBAEC,mCAAoC,CADpC,wBAED,CAEA,+CACC,eAAgB,CAEhB,eAAgB,CADhB,sBAED,CAEA,+CACC,UACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-character-info {\n\tdisplay: flex;\n\tjustify-content: space-between;\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-character-info {\n\tpadding: var(--ck-spacing-small) var(--ck-spacing-large);\n\tborder-top: 1px solid var(--ck-color-base-border);\n\n\t& > * {\n\t\ttext-transform: uppercase;\n\t\tfont-size: var(--ck-font-size-small);\n\t}\n\n\t& .ck-character-info__name {\n\t\tmax-width: 280px;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t}\n\n\t& .ck-character-info__code {\n\t\topacity: .6;\n\t}\n}\n'],sourceRoot:""}]);const a=s},4272:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-special-characters>.ck-dialog__content>div{display:grid;height:100%;max-width:100%;width:350px;grid-column-gap:0;grid-row-gap:0;grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.ck.ck-special-characters>.ck-dialog__content>div>.ck-character-categories{grid-area:1/1/2/2;padding:var(--ck-spacing-medium) var(--ck-spacing-large)}.ck.ck-special-characters>.ck-dialog__content>div>.ck-character-categories>.ck-labeled-field-view{padding-top:var(--ck-spacing-standard);width:100%}.ck.ck-special-characters>.ck-dialog__content>div>.ck-character-categories>.ck-labeled-field-view .ck.ck-labeled-field-view__status{animation:ck-table-form-labeled-view-status-appear .15s ease both;background:var(--ck-color-base-error);color:var(--ck-color-base-background);min-width:var(--ck-table-properties-min-error-width);padding:var(--ck-spacing-small) var(--ck-spacing-medium);text-align:center}.ck.ck-special-characters>.ck-dialog__content>div>.ck-character-categories>.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{border-color:transparent transparent var(--ck-color-base-error) transparent;border-style:solid;border-width:0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size)}@media (prefers-reduced-motion:reduce){.ck.ck-special-characters>.ck-dialog__content>div>.ck-character-categories>.ck-labeled-field-view .ck.ck-labeled-field-view__status{animation:none}}.ck.ck-special-characters>.ck-dialog__content>div>.ck-character-categories>.ck-labeled-field-view .ck-input.ck-error:not(:focus)+.ck.ck-labeled-field-view__status{display:none}.ck.ck-special-characters>.ck-dialog__content>div>.ck-character-categories>.ck-labeled-field-view>.ck-label{font-size:var(--ck-font-size-tiny);text-align:center}.ck.ck-special-characters>.ck-dialog__content>div>.ck-character-categories .ck-dropdown{display:block;width:100%}.ck.ck-special-characters>.ck-dialog__content>div>.ck-character-categories .ck-dropdown>button:not(:focus){border:1px solid var(--ck-color-base-border)}.ck.ck-special-characters>.ck-dialog__content>div>.ck-character-categories .ck-dropdown>button>span{width:100%}.ck.ck-special-characters>.ck-dialog__content>div>.ck-character-grid{grid-area:2/1/3/2;max-height:200px}.ck.ck-special-characters>.ck-dialog__content>div>.ck-character-info{grid-area:3/1/4/2}.ck.ck-special-characters-navigation>.ck-label{max-width:160px;overflow:hidden;text-overflow:ellipsis}.ck.ck-special-characters-navigation>.ck-dropdown .ck-dropdown__panel{max-height:250px;overflow-x:hidden;overflow-y:auto}@media screen and (max-width:600px){.ck.ck-special-characters-navigation{max-width:190px}.ck.ck-special-characters-navigation>.ck-form__header__label{overflow:hidden;text-overflow:ellipsis}}","",{version:3,sources:["webpack://./../ckeditor5-special-characters/theme/specialcharacters.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-special-characters/specialcharacters.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAcC,kDAKC,YAAa,CAFb,WAAY,CADZ,cAAe,CADf,WAAY,CAKZ,iBAAoB,CACpB,cAAiB,CACjB,yBAA0B,CAC1B,gCAkED,CAhEC,2EACC,iBAAwB,CACxB,wDAoDD,CAlDC,kGACC,sCAAuC,CACvC,UAgCD,CA9BC,oIAcC,iEAAkE,CAblE,qCAAsC,CACtC,qCAAsC,CAEtC,oDAAqD,CADrD,wDAAyD,CAEzD,iBAcD,CAXC,0IACC,2EAA4E,CAE5E,kBAAmB,CADnB,kJAED,CAIA,uCAhBD,oIAiBE,cAEF,CADC,CAID,mKACC,YACD,CAEA,4GACC,kCAAmC,CACnC,iBACD,CAGD,wFACC,aAAc,CACd,UAWD,CARE,2GACC,4CACD,CAEA,oGACC,UACD,CAKH,qEACC,iBAAwB,CACxB,gBACD,CAEA,qEACC,iBACD,CC9ED,+CACC,eAAgB,CAEhB,eAAgB,CADhB,sBAED,CAEA,sEAEC,gBAAiB,CAEjB,iBAAkB,CADlB,eAED,CCfA,oCDED,qCAgBE,eAOF,CALE,6DAEC,eAAgB,CADhB,sBAED,CCrBD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/*\n * Note: This file should contain the wireframe styles only. But since there are no such styles,\n * it acts as a message to the builder telling that it should look for the corresponding styles\n * **in the theme** when compiling the editor.\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-special-characters {\n\t& > .ck-dialog__content > div {\n\t\twidth: 350px;\n\t\tmax-width: 100%;\n\t\theight: 100%;\n\n\t\tdisplay: grid;\n\t\tgrid-column-gap: 0px;\n\t\tgrid-row-gap: 0px;\n\t\tgrid-template-columns: 1fr;\n\t\tgrid-template-rows: auto 1fr auto;\n\n\t\t& > .ck-character-categories {\n\t\t\tgrid-area: 1 / 1 / 2 / 2;\n\t\t\tpadding: var(--ck-spacing-medium) var(--ck-spacing-large);\n\n\t\t\t& > .ck-labeled-field-view {\n\t\t\t\tpadding-top: var(--ck-spacing-standard);\n\t\t\t\twidth: 100%;\n\n\t\t\t\t& .ck.ck-labeled-field-view__status {\n\t\t\t\t\tbackground: var(--ck-color-base-error);\n\t\t\t\t\tcolor: var(--ck-color-base-background);\n\t\t\t\t\tpadding: var(--ck-spacing-small) var(--ck-spacing-medium);\n\t\t\t\t\tmin-width: var(--ck-table-properties-min-error-width);\n\t\t\t\t\ttext-align: center;\n\n\t\t\t\t\t/* The arrow pointing towards the field. */\n\t\t\t\t\t&::after {\n\t\t\t\t\t\tborder-color: transparent transparent var(--ck-color-base-error) transparent;\n\t\t\t\t\t\tborder-width: 0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size);\n\t\t\t\t\t\tborder-style: solid;\n\t\t\t\t\t}\n\n\t\t\t\t\tanimation: ck-table-form-labeled-view-status-appear .15s ease both;\n\n\t\t\t\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t\t\t\tanimation: none;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* Hide the error balloon when the field is blurred. Makes the experience much more clear. */\n\t\t\t\t& .ck-input.ck-error:not(:focus) + .ck.ck-labeled-field-view__status {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\n\t\t\t\t& > .ck-label {\n\t\t\t\t\tfont-size: var(--ck-font-size-tiny);\n\t\t\t\t\ttext-align: center;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.ck-dropdown {\n\t\t\t\tdisplay: block;\n\t\t\t\twidth: 100%;\n\n\t\t\t\t& > button {\n\t\t\t\t\t&:not(:focus) {\n\t\t\t\t\t\tborder: 1px solid var(--ck-color-base-border);\n\t\t\t\t\t}\n\n\t\t\t\t\t& > span {\n\t\t\t\t\t\twidth: 100%;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t& > .ck-character-grid {\n\t\t\tgrid-area: 2 / 1 / 3 / 2;\n\t\t\tmax-height: 200px;\n\t\t}\n\n\t\t& > .ck-character-info {\n\t\t\tgrid-area: 3 / 1 / 4 / 2;\n\t\t}\n\t}\n}\n','/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-special-characters-navigation {\n\n\t& > .ck-label {\n\t\tmax-width: 160px;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t}\n\n\t& > .ck-dropdown .ck-dropdown__panel {\n\t\t/* There could be dozens of categories available. Use scroll to prevent a 10e6px dropdown. */\n\t\tmax-height: 250px;\n\t\toverflow-y: auto;\n\t\toverflow-x: hidden;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tmax-width: 190px;\n\n\t\t& > .ck-form__header__label {\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},5506:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-input-color{display:flex;flex-direction:row-reverse;width:100%}.ck.ck-input-color>input.ck.ck-input-text{flex-grow:1;min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown{min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown>.ck-input-color__button .ck-dropdown__arrow{display:none}.ck.ck-input-color .ck.ck-input-color__button{display:flex}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview{overflow:hidden;position:relative}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{display:block;position:absolute}[dir=ltr] .ck.ck-input-color>.ck.ck-input-text{border-bottom-right-radius:0;border-top-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-input-text{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-input-color>.ck.ck-input-text:focus{z-index:0}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{padding:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-left-radius:0;border-top-left-radius:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button:not(:focus){border-left:1px solid transparent}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-right-radius:0;border-top-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button:not(:focus){border-right:1px solid transparent}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button.ck-disabled{background:var(--ck-color-input-disabled-background)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border-radius:0}.ck-rounded-corners .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview,.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border:1px solid var(--ck-color-input-border);height:20px;width:20px}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{background:red;border-radius:2px;height:150%;left:50%;top:-30%;transform:rotate(45deg);transform-origin:50%;width:8%}.ck.ck-input-color .ck.ck-input-color__remove-color{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard);width:100%}.ck.ck-input-color .ck.ck-input-color__remove-color:not(:focus){border-bottom:1px solid var(--ck-color-input-border)}[dir=ltr] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-right-radius:0}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-left-radius:0}.ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-left:var(--ck-spacing-standard);margin-right:0}","",{version:3,sources:["webpack://./../ckeditor5-table/theme/colorinput.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/colorinput.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,mBAEC,YAAa,CACb,0BAA2B,CAF3B,UAgCD,CA5BC,0CAEC,WAAY,CADZ,cAED,CAEA,sCACC,cAMD,CAHC,kFACC,YACD,CAGD,8CAEC,YAWD,CATC,kFAEC,eAAgB,CADhB,iBAOD,CAJC,0IAEC,aAAc,CADd,iBAED,CC1BF,+CAGE,4BAA6B,CAD7B,yBAcF,CAhBA,+CAQE,2BAA4B,CAD5B,wBASF,CAHC,2CACC,SACD,CAIA,wEACC,SA0CD,CA3CA,kFAKE,2BAA4B,CAD5B,wBAuCF,CApCE,8FACC,iCACD,CATF,kFAcE,4BAA6B,CAD7B,yBA8BF,CA3BE,8FACC,kCACD,CAGD,oFACC,oDACD,CAEA,4GC1CF,eD2DE,CAjBA,+PCtCD,qCDuDC,CAjBA,4GAKC,6CAA8C,CAD9C,WAAY,CADZ,UAcD,CAVC,oKAKC,cAA6B,CAC7B,iBAAkB,CAHlB,WAAY,CADZ,QAAS,CADT,QAAS,CAMT,uBAAwB,CACxB,oBAAqB,CAJrB,QAKD,CAKH,oDAIC,2BAA4B,CAC5B,4BAA6B,CAH7B,qEAAwE,CADxE,UA0BD,CApBC,gEACC,oDACD,CATD,8DAYE,yBAeF,CA3BA,8DAgBE,wBAWF,CARC,gEACC,uCAMD,CAPA,0EAKE,sCAAuC,CADvC,cAGF",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-input-color {\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: row-reverse;\n\n\t& > input.ck.ck-input-text {\n\t\tmin-width: auto;\n\t\tflex-grow: 1;\n\t}\n\n\t& > div.ck.ck-dropdown {\n\t\tmin-width: auto;\n\n\t\t/* This dropdown has no arrow but a color preview instead. */\n\t\t& > .ck-input-color__button .ck-dropdown__arrow {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& .ck.ck-input-color__button {\n\t\t/* Resolving issue with misaligned buttons on Safari (see #10589) */\n\t\tdisplay: flex;\n\n\t\t& .ck.ck-input-color__button__preview {\n\t\t\tposition: relative;\n\t\t\toverflow: hidden;\n\n\t\t\t& > .ck.ck-input-color__button__preview__no-color-indicator {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n@import "../mixins/_rounded.css";\n\n.ck.ck-input-color {\n\t& > .ck.ck-input-text {\n\t\t@mixin ck-dir ltr {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\n\t\t/* Make sure the focused input is always on top of the dropdown button so its\n\t\t outline and border are never cropped (also when the input is read-only). */\n\t\t&:focus {\n\t\t\tz-index: 0;\n\t\t}\n\t}\n\n\t& > .ck.ck-dropdown {\n\t\t& > .ck.ck-button.ck-input-color__button {\n\t\t\tpadding: 0;\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-bottom-left-radius: 0;\n\n\t\t\t\t&:not(:focus) {\n\t\t\t\t\tborder-left: 1px solid transparent;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tborder-top-right-radius: 0;\n\t\t\t\tborder-bottom-right-radius: 0;\n\n\t\t\t\t&:not(:focus) {\n\t\t\t\t\tborder-right: 1px solid transparent;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.ck-disabled {\n\t\t\t\tbackground: var(--ck-color-input-disabled-background);\n\t\t\t}\n\n\t\t\t& > .ck.ck-input-color__button__preview {\n\t\t\t\t@mixin ck-rounded-corners;\n\n\t\t\t\twidth: 20px;\n\t\t\t\theight: 20px;\n\t\t\t\tborder: 1px solid var(--ck-color-input-border);\n\n\t\t\t\t& > .ck.ck-input-color__button__preview__no-color-indicator {\n\t\t\t\t\ttop: -30%;\n\t\t\t\t\tleft: 50%;\n\t\t\t\t\theight: 150%;\n\t\t\t\t\twidth: 8%;\n\t\t\t\t\tbackground: hsl(0, 100%, 50%);\n\t\t\t\t\tborder-radius: 2px;\n\t\t\t\t\ttransform: rotate(45deg);\n\t\t\t\t\ttransform-origin: 50%;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-input-color__remove-color {\n\t\twidth: 100%;\n\t\tpadding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);\n\n\t\tborder-bottom-left-radius: 0;\n\t\tborder-bottom-right-radius: 0;\n\n\t\t&:not(:focus) {\n\t\t\tborder-bottom: 1px solid var(--ck-color-input-border);\n\t\t}\n\n\t\t@mixin ck-dir ltr {\n\t\t\tborder-top-right-radius: 0;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tborder-top-left-radius: 0;\n\t\t}\n\n\t\t& .ck.ck-icon {\n\t\t\tmargin-right: var(--ck-spacing-standard);\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-right: 0;\n\t\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},4043:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-form{padding:0 0 var(--ck-spacing-large)}.ck.ck-form:focus{outline:none}.ck.ck-form .ck.ck-input-text{min-width:100%;width:0}.ck.ck-form .ck.ck-dropdown{min-width:100%}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button:not(:focus){border:1px solid var(--ck-color-base-border)}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button .ck-button__label{width:100%}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/form.css"],names:[],mappings:"AAKA,YACC,mCAyBD,CAvBC,kBAEC,YACD,CAEA,8BACC,cAAe,CACf,OACD,CAEA,4BACC,cAWD,CARE,6DACC,4CACD,CAEA,mEACC,UACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-form {\n\tpadding: 0 0 var(--ck-spacing-large);\n\n\t&:focus {\n\t\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\n\t\toutline: none;\n\t}\n\n\t& .ck.ck-input-text {\n\t\tmin-width: 100%;\n\t\twidth: 0;\n\t}\n\n\t& .ck.ck-dropdown {\n\t\tmin-width: 100%;\n\n\t\t& .ck-dropdown__button {\n\t\t\t&:not(:focus) {\n\t\t\t\tborder: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\n\t\t\t& .ck-button__label {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},2655:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-form__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__row>:not(.ck-label){flex-grow:1}.ck.ck-form__row.ck-table-form__action-row .ck-button-cancel,.ck.ck-form__row.ck-table-form__action-row .ck-button-save{justify-content:center}.ck.ck-form__row{padding:var(--ck-spacing-standard) var(--ck-spacing-large) 0}[dir=ltr] .ck.ck-form__row>:not(.ck-label)+*{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-form__row>:not(.ck-label)+*{margin-right:var(--ck-spacing-large)}.ck.ck-form__row>.ck-label{min-width:100%;width:100%}.ck.ck-form__row.ck-table-form__action-row{margin-top:var(--ck-spacing-large)}.ck.ck-form__row.ck-table-form__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}","",{version:3,sources:["webpack://./../ckeditor5-table/theme/formrow.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/formrow.css"],names:[],mappings:"AAKA,iBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAaD,CAVC,iCACC,WACD,CAGC,wHAEC,sBACD,CCbF,iBACC,4DA2BD,CAvBE,6CAEE,mCAMF,CARA,6CAME,oCAEF,CAGD,2BAEC,cAAe,CADf,UAED,CAEA,2CACC,kCAKD,CAHC,wEACC,0BACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-form__row {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tjustify-content: space-between;\n\n\t/* Ignore labels that work as fieldset legends */\n\t& > *:not(.ck-label) {\n\t\tflex-grow: 1;\n\t}\n\n\t&.ck-table-form__action-row {\n\t\t& .ck-button-save,\n\t\t& .ck-button-cancel {\n\t\t\tjustify-content: center;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-form__row {\n\tpadding: var(--ck-spacing-standard) var(--ck-spacing-large) 0;\n\n\t/* Ignore labels that work as fieldset legends */\n\t& > *:not(.ck-label) {\n\t\t& + * {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: var(--ck-spacing-large);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-right: var(--ck-spacing-large);\n\t\t\t}\n\t\t}\n\t}\n\n\t& > .ck-label {\n\t\twidth: 100%;\n\t\tmin-width: 100%;\n\t}\n\n\t&.ck-table-form__action-row {\n\t\tmargin-top: var(--ck-spacing-large);\n\n\t\t& .ck-button .ck-button__label {\n\t\t\tcolor: var(--ck-color-text);\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},5032:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck .ck-insert-table-dropdown__grid{display:flex;flex-direction:row;flex-wrap:wrap}:root{--ck-insert-table-dropdown-padding:10px;--ck-insert-table-dropdown-box-height:11px;--ck-insert-table-dropdown-box-width:12px;--ck-insert-table-dropdown-box-margin:1px}.ck .ck-insert-table-dropdown__grid{padding:var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;width:calc(var(--ck-insert-table-dropdown-box-width)*10 + var(--ck-insert-table-dropdown-box-margin)*20 + var(--ck-insert-table-dropdown-padding)*2)}.ck .ck-insert-table-dropdown__label,.ck[dir=rtl] .ck-insert-table-dropdown__label{text-align:center}.ck .ck-insert-table-dropdown-grid-box{border:1px solid var(--ck-color-base-border);border-radius:1px;margin:var(--ck-insert-table-dropdown-box-margin);min-height:var(--ck-insert-table-dropdown-box-height);min-width:var(--ck-insert-table-dropdown-box-width);outline:none;transition:none}@media (prefers-reduced-motion:reduce){.ck .ck-insert-table-dropdown-grid-box{transition:none}}.ck .ck-insert-table-dropdown-grid-box:focus{box-shadow:none}.ck .ck-insert-table-dropdown-grid-box.ck-on{background:var(--ck-color-focus-outer-shadow);border-color:var(--ck-color-focus-border)}","",{version:3,sources:["webpack://./../ckeditor5-table/theme/inserttable.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/inserttable.css"],names:[],mappings:"AAKA,oCACC,YAAa,CACb,kBAAmB,CACnB,cACD,CCJA,MACC,uCAAwC,CACxC,0CAA2C,CAC3C,yCAA0C,CAC1C,yCACD,CAEA,oCAGC,yFAA0F,CAD1F,oJAED,CAEA,mFAEC,iBACD,CAEA,uCAIC,4CAA6C,CAC7C,iBAAkB,CAFlB,iDAAkD,CADlD,qDAAsD,CADtD,mDAAoD,CAKpD,YAAa,CACb,eAcD,CAZC,uCATD,uCAUE,eAWF,CAVC,CAEA,6CACC,eACD,CAEA,6CAEC,6CAA8C,CAD9C,yCAED",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-insert-table-dropdown__grid {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-insert-table-dropdown-padding: 10px;\n\t--ck-insert-table-dropdown-box-height: 11px;\n\t--ck-insert-table-dropdown-box-width: 12px;\n\t--ck-insert-table-dropdown-box-margin: 1px;\n}\n\n.ck .ck-insert-table-dropdown__grid {\n\t/* The width of a container should match 10 items in a row so there will be a 10x10 grid. */\n\twidth: calc(var(--ck-insert-table-dropdown-box-width) * 10 + var(--ck-insert-table-dropdown-box-margin) * 20 + var(--ck-insert-table-dropdown-padding) * 2);\n\tpadding: var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;\n}\n\n.ck .ck-insert-table-dropdown__label,\n.ck[dir=rtl] .ck-insert-table-dropdown__label {\n\ttext-align: center;\n}\n\n.ck .ck-insert-table-dropdown-grid-box {\n\tmin-width: var(--ck-insert-table-dropdown-box-width);\n\tmin-height: var(--ck-insert-table-dropdown-box-height);\n\tmargin: var(--ck-insert-table-dropdown-box-margin);\n\tborder: 1px solid var(--ck-color-base-border);\n\tborder-radius: 1px;\n\toutline: none;\n\ttransition: none;\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\ttransition: none;\n\t}\n\n\t&:focus {\n\t\tbox-shadow: none;\n\t}\n\n\t&.ck-on {\n\t\tborder-color: var(--ck-color-focus-border);\n\t\tbackground: var(--ck-color-focus-outer-shadow);\n\t}\n}\n\n"],sourceRoot:""}]);const a=s},2329:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck-content .table{display:table;margin:.9em auto}.ck-content .table table{border:1px double #b3b3b3;border-collapse:collapse;border-spacing:0;height:100%;width:100%}.ck-content .table table td,.ck-content .table table th{border:1px solid #bfbfbf;min-width:2em;padding:.4em}.ck-content .table table th{background:rgba(0,0,0,.05);font-weight:700}@media print{.ck-content .table table{height:auto}}.ck-content[dir=rtl] .table th{text-align:right}.ck-content[dir=ltr] .table th{text-align:left}.ck-editor__editable .ck-table-bogus-paragraph{display:inline-block;width:100%}","",{version:3,sources:["webpack://./../ckeditor5-table/theme/table.css"],names:[],mappings:"AAKA,mBAKC,aAAc,CADd,gBAiCD,CA9BC,yBAYC,yBAAkC,CAVlC,wBAAyB,CACzB,gBAAiB,CAKjB,WAAY,CADZ,UAsBD,CAfC,wDAQC,wBAAiC,CANjC,aAAc,CACd,YAMD,CAEA,4BAEC,0BAA+B,CAD/B,eAED,CAeF,aACC,yBACC,WACD,CACD,CAIA,+BACC,gBACD,CAEA,+BACC,eACD,CAEA,+CAKC,oBAAqB,CAMrB,UACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content .table {\n\t/* Give the table widget some air and center it horizontally */\n\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\n\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\n\tmargin: 0.9em auto;\n\tdisplay: table;\n\n\t& table {\n\t\t/* The table cells should have slight borders */\n\t\tborder-collapse: collapse;\n\t\tborder-spacing: 0;\n\n\t\t/* Table width and height are set on the parent
. Make sure the table inside stretches\n\t\tto the full dimensions of the container (https://github.com/ckeditor/ckeditor5/issues/6186). */\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t\t/* The outer border of the table should be slightly darker than the inner lines.\n\t\tAlso see https://github.com/ckeditor/ckeditor5-table/issues/50. */\n\t\tborder: 1px double hsl(0, 0%, 70%);\n\n\t\t& td,\n\t\t& th {\n\t\t\tmin-width: 2em;\n\t\t\tpadding: .4em;\n\n\t\t\t/* The border is inherited from .ck-editor__nested-editable styles, so theoretically it\'s not necessary here.\n\t\t\tHowever, the border is a content style, so it should use .ck-content (so it works outside the editor).\n\t\t\tHence, the duplication. See https://github.com/ckeditor/ckeditor5/issues/6314 */\n\t\t\tborder: 1px solid hsl(0, 0%, 75%);\n\t\t}\n\n\t\t& th {\n\t\t\tfont-weight: bold;\n\t\t\tbackground: hsla(0, 0%, 0%, 5%);\n\t\t}\n\t}\n}\n\n/**\n * Expanding the table to the full height of the parent container is necessary because tables\n * are rendered inside
elements, which is kinda buggy in table height calculation.\n * While setting `height: 100%` fixes the issue in the editing mode described here:\n * https://github.com/ckeditor/ckeditor5/issues/6186\n *\n * it\'s causing another issue with the table height in the print preview mode here:\n * https://github.com/ckeditor/ckeditor5/issues/16856\n *\n * For now, resetting the height to `initial` in the print mode works as a workaround.\n */\n@media print {\n\t.ck-content .table table {\n\t\theight: initial;\n\t}\n}\n\n/* Text alignment of the table header should match the editor settings and override the native browser styling,\nwhen content is available outside the editor. See https://github.com/ckeditor/ckeditor5/issues/6638 */\n.ck-content[dir="rtl"] .table th {\n\ttext-align: right;\n}\n\n.ck-content[dir="ltr"] .table th {\n\ttext-align: left;\n}\n\n.ck-editor__editable .ck-table-bogus-paragraph {\n\t/*\n\t * Use display:inline-block to force Chrome/Safari to limit text mutations to this element.\n\t * See https://github.com/ckeditor/ckeditor5/issues/6062.\n\t */\n\tdisplay: inline-block;\n\n\t/*\n\t * Inline HTML elements nested in the span should always be dimensioned in relation to the whole cell width.\n\t * See https://github.com/ckeditor/ckeditor5/issues/9117.\n\t */\n\twidth: 100%;\n}\n'],sourceRoot:""}]);const a=s},4143:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,":root{--ck-color-selector-caption-background:#f7f7f7;--ck-color-selector-caption-text:#333;--ck-color-selector-caption-highlighted-background:#fd0}.ck-content .table>figcaption{background-color:var(--ck-color-selector-caption-background);caption-side:top;color:var(--ck-color-selector-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;text-align:center;word-break:break-word}@media (forced-colors:active){.ck-content .table>figcaption{background-color:unset;color:unset}}@media (forced-colors:none){.ck.ck-editor__editable .table>figcaption.table__caption_highlighted{animation:ck-table-caption-highlight .6s ease-out}}.ck.ck-editor__editable .table>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}@keyframes ck-table-caption-highlight{0%{background-color:var(--ck-color-selector-caption-highlighted-background)}to{background-color:var(--ck-color-selector-caption-background)}}","",{version:3,sources:["webpack://./../ckeditor5-table/theme/tablecaption.css","webpack://./../ckeditor5-ui/theme/mixins/_mediacolors.css"],names:[],mappings:"AAOA,MACC,8CAAuD,CACvD,qCAAiD,CACjD,uDACD,CAGA,8BAMC,4DAA6D,CAJ7D,gBAAiB,CAGjB,2CAA4C,CAJ5C,qBAAsB,CAOtB,eAAgB,CAChB,mBAAoB,CAFpB,YAAa,CAHb,iBAAkB,CADlB,qBAaD,CCxBC,8BACC,8BDoBA,sBAAuB,CACvB,WCnBA,CACD,CAIA,4BDqBC,qEACC,iDACD,CCnBD,CDsBA,gEASC,eAAgB,CARhB,oBAAqB,CACrB,qBAAsB,CAQtB,sBAAuB,CAFvB,kBAGD,CAGD,sCACC,GACC,wEACD,CAEA,GACC,4DACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css";\n\n:root {\n\t--ck-color-selector-caption-background: hsl(0, 0%, 97%);\n\t--ck-color-selector-caption-text: hsl(0, 0%, 20%);\n\t--ck-color-selector-caption-highlighted-background: hsl(52deg 100% 50%);\n}\n\n/* Content styles */\n.ck-content .table > figcaption {\n\tdisplay: table-caption;\n\tcaption-side: top;\n\tword-break: break-word;\n\ttext-align: center;\n\tcolor: var(--ck-color-selector-caption-text);\n\tbackground-color: var(--ck-color-selector-caption-background);\n\tpadding: .6em;\n\tfont-size: .75em;\n\toutline-offset: -1px;\n\n\t/* Improve placeholder rendering in high-constrast mode (https://github.com/ckeditor/ckeditor5/issues/14907). */\n\t@mixin ck-media-forced-colors {\n\t\tbackground-color: unset;\n\t\tcolor: unset;\n\t}\n}\n\n/* Editing styles */\n.ck.ck-editor__editable .table > figcaption {\n\t@mixin ck-media-default-colors {\n\t\t&.table__caption_highlighted {\n\t\t\tanimation: ck-table-caption-highlight .6s ease-out;\n\t\t}\n\t}\n\n\t&.ck-placeholder::before {\n\t\tpadding-left: inherit;\n\t\tpadding-right: inherit;\n\n\t\t/*\n\t\t * Make sure the table caption placeholder doesn\'t overflow the placeholder area.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9162.\n\t\t */\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n}\n\n@keyframes ck-table-caption-highlight {\n\t0% {\n\t\tbackground-color: var(--ck-color-selector-caption-highlighted-background);\n\t}\n\n\t100% {\n\t\tbackground-color: var(--ck-color-selector-caption-background);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-forced-colors {\n\t@media (forced-colors: active) {\n\t\t& {\n\t\t\t@mixin-content;\n\t\t}\n\t}\n}\n\n@define-mixin ck-media-default-colors {\n\t@media (forced-colors: none) {\n\t\t& {\n\t\t\t@mixin-content;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},8986:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row{flex-wrap:wrap}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:first-of-type{flex-grow:0.57}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:last-of-type{flex-grow:0.43}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar .ck-button{flex-grow:1}.ck.ck-table-cell-properties-form{width:320px}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__padding-row{align-self:flex-end;padding:0;width:25%}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}","",{version:3,sources:["webpack://./../ckeditor5-table/theme/tablecellproperties.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/tablecellproperties.css"],names:[],mappings:"AAOE,6FACC,cAiBD,CAdE,0HAEC,cACD,CAEA,yHAEC,cACD,CAEA,uHACC,WACD,CClBJ,kCACC,WAkBD,CAfE,2FACC,mBAAoB,CACpB,SAAU,CACV,SACD,CAGC,4GACC,eAAgB,CAGhB,qCACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-table-cell-properties-form {\n\t& .ck-form__row {\n\t\t&.ck-table-cell-properties-form__alignment-row {\n\t\t\tflex-wrap: wrap;\n\n\t\t\t& .ck.ck-toolbar {\n\t\t\t\t&:first-of-type {\n\t\t\t\t\t/* 4 buttons out of 7 (h-alignment + v-alignment) = 0.57 */\n\t\t\t\t\tflex-grow: 0.57;\n\t\t\t\t}\n\n\t\t\t\t&:last-of-type {\n\t\t\t\t\t/* 3 buttons out of 7 (h-alignment + v-alignment) = 0.43 */\n\t\t\t\t\tflex-grow: 0.43;\n\t\t\t\t}\n\n\t\t\t\t& .ck-button {\n\t\t\t\t\tflex-grow: 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-table-cell-properties-form {\n\twidth: 320px;\n\n\t& .ck-form__row {\n\t\t&.ck-table-cell-properties-form__padding-row {\n\t\t\talign-self: flex-end;\n\t\t\tpadding: 0;\n\t\t\twidth: 25%;\n\t\t}\n\n\t\t&.ck-table-cell-properties-form__alignment-row {\n\t\t\t& .ck.ck-toolbar {\n\t\t\t\tbackground: none;\n\n\t\t\t\t/* Compensate for missing input label that would push the margin (toolbar has no inputs). */\n\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},8795:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,":root{--ck-color-selector-column-resizer-hover:var(--ck-color-base-active);--ck-table-column-resizer-width:7px;--ck-table-column-resizer-position-offset:calc(var(--ck-table-column-resizer-width)*-0.5 - 0.5px)}.ck-content .table .ck-table-resized{table-layout:fixed}.ck-content .table table{overflow:hidden}.ck-content .table td,.ck-content .table th{overflow-wrap:break-word;position:relative}.ck.ck-editor__editable .table .ck-table-column-resizer{bottom:0;cursor:col-resize;position:absolute;right:var(--ck-table-column-resizer-position-offset);top:0;user-select:none;width:var(--ck-table-column-resizer-width);z-index:var(--ck-z-default)}.ck.ck-editor__editable .table[draggable] .ck-table-column-resizer,.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer{display:none}.ck.ck-editor__editable .table .ck-table-column-resizer:hover,.ck.ck-editor__editable .table .ck-table-column-resizer__active{background-color:var(--ck-color-selector-column-resizer-hover);bottom:-999999px;opacity:.25;top:-999999px}.ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer{left:var(--ck-table-column-resizer-position-offset);right:unset}","",{version:3,sources:["webpack://./../ckeditor5-table/theme/tablecolumnresize.css"],names:[],mappings:"AAKA,MACC,oEAAqE,CACrE,mCAAoC,CAIpC,iGACD,CAEA,qCACC,kBACD,CAEA,yBACC,eACD,CAEA,4CAIC,wBAAyB,CACzB,iBACD,CAEA,wDAGC,QAAS,CAGT,iBAAkB,CALlB,iBAAkB,CAGlB,oDAAqD,CAFrD,KAAM,CAKN,gBAAiB,CAFjB,0CAA2C,CAG3C,2BACD,CAQA,qJACC,YACD,CAEA,8HAEC,8DAA+D,CAO/D,gBAAiB,CANjB,WAAa,CAKb,aAED,CAEA,iEACC,mDAAoD,CACpD,WACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-selector-column-resizer-hover: var(--ck-color-base-active);\n\t--ck-table-column-resizer-width: 7px;\n\n\t/* The offset used for absolute positioning of the resizer element, so that it is placed exactly above the cell border.\n\t The value is: minus half the width of the resizer decreased additionaly by the half the width of the border (0.5px). */\n\t--ck-table-column-resizer-position-offset: calc(var(--ck-table-column-resizer-width) * -0.5 - 0.5px);\n}\n\n.ck-content .table .ck-table-resized {\n\ttable-layout: fixed;\n}\n\n.ck-content .table table {\n\toverflow: hidden;\n}\n\n.ck-content .table td,\n.ck-content .table th {\n\t/* To prevent text overflowing beyond its cell when columns are resized by resize handler\n\t(https://github.com/ckeditor/ckeditor5/pull/14379#issuecomment-1589460978). */\n\toverflow-wrap: break-word;\n\tposition: relative;\n}\n\n.ck.ck-editor__editable .table .ck-table-column-resizer {\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tright: var(--ck-table-column-resizer-position-offset);\n\twidth: var(--ck-table-column-resizer-width);\n\tcursor: col-resize;\n\tuser-select: none;\n\tz-index: var(--ck-z-default);\n}\n\n.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer {\n\tdisplay: none;\n}\n\n/* The resizer elements, which are extended to an extremely high height, break the drag & drop feature in Chrome. To make it work again,\n all resizers must be hidden while the table is dragged. */\n.ck.ck-editor__editable .table[draggable] .ck-table-column-resizer {\n\tdisplay: none;\n}\n\n.ck.ck-editor__editable .table .ck-table-column-resizer:hover,\n.ck.ck-editor__editable .table .ck-table-column-resizer__active {\n\tbackground-color: var(--ck-color-selector-column-resizer-hover);\n\topacity: 0.25;\n\t/* The resizer element resides in each cell so to occupy the entire height of the table, which is unknown from a CSS point of view,\n\t it is extended to an extremely high height. Even for screens with a very high pixel density, the resizer will fulfill its role as\n\t it should, i.e. for a screen of 476 ppi the total height of the resizer will take over 350 sheets of A4 format, which is totally\n\t unrealistic height for a single table. */\n\ttop: -999999px;\n\tbottom: -999999px;\n}\n\n.ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer {\n\tleft: var(--ck-table-column-resizer-position-offset);\n\tright: unset;\n}\n"],sourceRoot:""}]);const a=s},8137:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,":root{--ck-color-selector-focused-cell-background:rgba(158,201,250,.3)}.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table td.ck-editor__nested-editable:focus,.ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table th.ck-editor__nested-editable:focus{background:var(--ck-color-selector-focused-cell-background);outline:1px solid var(--ck-color-focus-border);outline-offset:-1px}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/tableediting.css"],names:[],mappings:"AAKA,MACC,gEACD,CAWE,8QAGC,2DAA4D,CAC5D,8CAA+C,CAC/C,mBACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-selector-focused-cell-background: hsla(212, 90%, 80%, .3);\n}\n\n.ck-widget.table {\n\t& td,\n\t& th {\n\t\t/**\n\t\t * While setting outline is fine, the border should not be modified here\n\t\t * because it overrides the default table cell border color which is not expected.\n\t\t * So do not use `@mixin ck-focus-ring;` here, or any other border styles.\n\t\t * See more: https://github.com/ckeditor/ckeditor5/issues/16979\n\t\t */\n\t\t&.ck-editor__nested-editable.ck-editor__nested-editable_focused,\n\t\t&.ck-editor__nested-editable:focus {\n\t\t\t/* A very slight background to highlight the focused cell */\n\t\t\tbackground: var(--ck-color-selector-focused-cell-background);\n\t\t\toutline: 1px solid var(--ck-color-focus-border);\n\t\t\toutline-offset: -1px; /* progressive enhancement - no IE support */\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},1623:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,'.ck.ck-table-form .ck-form__row.ck-table-form__background-row,.ck.ck-table-form .ck-form__row.ck-table-form__border-row{flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{align-items:center;flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view{align-items:center;display:flex;flex-direction:column-reverse}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view .ck.ck-dropdown,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{flex-grow:0}.ck.ck-table-form .ck.ck-labeled-field-view{position:relative}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{bottom:calc(var(--ck-table-properties-error-arrow-size)*-1);left:50%;position:absolute;transform:translate(-50%,100%);z-index:1}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{content:"";left:50%;position:absolute;top:calc(var(--ck-table-properties-error-arrow-size)*-1);transform:translateX(-50%)}:root{--ck-table-properties-error-arrow-size:6px;--ck-table-properties-min-error-width:150px}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view>.ck-label{font-size:var(--ck-font-size-tiny);text-align:center}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-style,.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-width{max-width:80px;min-width:80px;width:80px}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{padding:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__height,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__width{margin:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{align-self:flex-end;display:inline-block;height:var(--ck-ui-component-min-height);line-height:var(--ck-ui-component-min-height);margin:0 var(--ck-spacing-small)}.ck.ck-table-form .ck.ck-labeled-field-view{padding-top:var(--ck-spacing-standard)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{border-radius:0}.ck-rounded-corners .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status,.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{animation:ck-table-form-labeled-view-status-appear .15s ease both;background:var(--ck-color-base-error);color:var(--ck-color-base-background);min-width:var(--ck-table-properties-min-error-width);padding:var(--ck-spacing-small) var(--ck-spacing-medium);text-align:center}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{border-color:transparent transparent var(--ck-color-base-error) transparent;border-style:solid;border-width:0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size)}@media (prefers-reduced-motion:reduce){.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{animation:none}}.ck.ck-table-form .ck.ck-labeled-field-view .ck-input.ck-error:not(:focus)+.ck.ck-labeled-field-view__status{display:none}@keyframes ck-table-form-labeled-view-status-appear{0%{opacity:0}to{opacity:1}}',"",{version:3,sources:["webpack://./../ckeditor5-table/theme/tableform.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/tableform.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAWE,wHACC,cACD,CAEA,8DAEC,kBAAmB,CADnB,cAgBD,CAbC,qFAGC,kBAAmB,CAFnB,YAAa,CACb,6BAMD,CAEA,sMACC,WACD,CAIF,4CAEC,iBAoBD,CAlBC,8EAGC,2DAAgE,CADhE,QAAS,CADT,iBAAkB,CAGlB,8BAA+B,CAG/B,SAUD,CAPC,oFACC,UAAW,CAGX,QAAS,CAFT,iBAAkB,CAClB,wDAA6D,CAE7D,0BACD,CChDH,MACC,0CAA2C,CAC3C,2CACD,CAMI,2FACC,kCAAmC,CACnC,iBACD,CAGD,8KAIC,cAAe,CADf,cAAe,CADf,UAGD,CAGD,8DACC,SAcD,CAZC,yMAEC,QACD,CAEA,iGACC,mBAAoB,CACpB,oBAAqB,CACrB,wCAAyC,CACzC,6CAA8C,CAC9C,gCACD,CAIF,4CACC,sCA6BD,CA3BC,8ECxCD,eD6DC,CArBA,mMCpCA,qCDyDA,CArBA,8EAgBC,iEAAkE,CAblE,qCAAsC,CACtC,qCAAsC,CAEtC,oDAAqD,CADrD,wDAAyD,CAEzD,iBAcD,CAXC,oFACC,2EAA4E,CAE5E,kBAAmB,CADnB,kJAED,CAIA,uCAlBD,8EAmBE,cAEF,CADC,CAID,6GACC,YACD,CAIF,oDACC,GACC,SACD,CAEA,GACC,SACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-table-form {\n\t& .ck-form__row {\n\t\t&.ck-table-form__border-row {\n\t\t\tflex-wrap: wrap;\n\t\t}\n\n\t\t&.ck-table-form__background-row {\n\t\t\tflex-wrap: wrap;\n\t\t}\n\n\t\t&.ck-table-form__dimensions-row {\n\t\t\tflex-wrap: wrap;\n\t\t\talign-items: center;\n\n\t\t\t& .ck-labeled-field-view {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column-reverse;\n\t\t\t\talign-items: center;\n\n\t\t\t\t& .ck.ck-dropdown {\n\t\t\t\t\tflex-grow: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t& .ck-table-form__dimension-operator {\n\t\t\t\tflex-grow: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-labeled-field-view {\n\t\t/* Allow absolute positioning of the status (error) balloons. */\n\t\tposition: relative;\n\n\t\t& .ck.ck-labeled-field-view__status {\n\t\t\tposition: absolute;\n\t\t\tleft: 50%;\n\t\t\tbottom: calc( -1 * var(--ck-table-properties-error-arrow-size) );\n\t\t\ttransform: translate(-50%,100%);\n\n\t\t\t/* Make sure the balloon status stays on top of other form elements. */\n\t\t\tz-index: 1;\n\n\t\t\t/* The arrow pointing towards the field. */\n\t\t\t&::after {\n\t\t\t\tcontent: "";\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: calc( -1 * var(--ck-table-properties-error-arrow-size) );\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translateX( -50% );\n\t\t\t}\n\t\t}\n\t}\n}\n','/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../mixins/_rounded.css";\n\n:root {\n\t--ck-table-properties-error-arrow-size: 6px;\n\t--ck-table-properties-min-error-width: 150px;\n}\n\n.ck.ck-table-form {\n\t& .ck-form__row {\n\t\t&.ck-table-form__border-row {\n\t\t\t& .ck-labeled-field-view {\n\t\t\t\t& > .ck-label {\n\t\t\t\t\tfont-size: var(--ck-font-size-tiny);\n\t\t\t\t\ttext-align: center;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t& .ck-table-form__border-style,\n\t\t\t& .ck-table-form__border-width {\n\t\t\t\twidth: 80px;\n\t\t\t\tmin-width: 80px;\n\t\t\t\tmax-width: 80px;\n\t\t\t}\n\t\t}\n\n\t\t&.ck-table-form__dimensions-row {\n\t\t\tpadding: 0;\n\n\t\t\t& .ck-table-form__dimensions-row__width,\n\t\t\t& .ck-table-form__dimensions-row__height {\n\t\t\t\tmargin: 0\n\t\t\t}\n\n\t\t\t& .ck-table-form__dimension-operator {\n\t\t\t\talign-self: flex-end;\n\t\t\t\tdisplay: inline-block;\n\t\t\t\theight: var(--ck-ui-component-min-height);\n\t\t\t\tline-height: var(--ck-ui-component-min-height);\n\t\t\t\tmargin: 0 var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-labeled-field-view {\n\t\tpadding-top: var(--ck-spacing-standard);\n\n\t\t& .ck.ck-labeled-field-view__status {\n\t\t\t@mixin ck-rounded-corners;\n\n\t\t\tbackground: var(--ck-color-base-error);\n\t\t\tcolor: var(--ck-color-base-background);\n\t\t\tpadding: var(--ck-spacing-small) var(--ck-spacing-medium);\n\t\t\tmin-width: var(--ck-table-properties-min-error-width);\n\t\t\ttext-align: center;\n\n\t\t\t/* The arrow pointing towards the field. */\n\t\t\t&::after {\n\t\t\t\tborder-color: transparent transparent var(--ck-color-base-error) transparent;\n\t\t\t\tborder-width: 0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size);\n\t\t\t\tborder-style: solid;\n\t\t\t}\n\n\t\t\tanimation: ck-table-form-labeled-view-status-appear .15s ease both;\n\n\t\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t\tanimation: none;\n\t\t\t}\n\t\t}\n\n\t\t/* Hide the error balloon when the field is blurred. Makes the experience much more clear. */\n\t\t& .ck-input.ck-error:not(:focus) + .ck.ck-labeled-field-view__status {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n@keyframes ck-table-form-labeled-view-status-appear {\n\t0% {\n\t\topacity: 0;\n\t}\n\n\t100% {\n\t\topacity: 1;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},5562:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-content:baseline;flex-basis:0;flex-wrap:wrap}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items{flex-wrap:nowrap}.ck.ck-table-properties-form{width:320px}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-self:flex-end;padding:0}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items>*{width:40px}","",{version:3,sources:["webpack://./../ckeditor5-table/theme/tableproperties.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/tableproperties.css"],names:[],mappings:"AAOE,mFAGC,sBAAuB,CADvB,YAAa,CADb,cAOD,CAHC,qHACC,gBACD,CCTH,6BACC,WAmBD,CAhBE,mFACC,mBAAoB,CACpB,SAYD,CAVC,kGACC,eAAgB,CAGhB,qCAKD,CAHC,uHACC,UACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-table-properties-form {\n\t& .ck-form__row {\n\t\t&.ck-table-properties-form__alignment-row {\n\t\t\tflex-wrap: wrap;\n\t\t\tflex-basis: 0;\n\t\t\talign-content: baseline;\n\n\t\t\t& .ck.ck-toolbar .ck-toolbar__items {\n\t\t\t\tflex-wrap: nowrap;\n\t\t\t}\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-table-properties-form {\n\twidth: 320px;\n\n\t& .ck-form__row {\n\t\t&.ck-table-properties-form__alignment-row {\n\t\t\talign-self: flex-end;\n\t\t\tpadding: 0;\n\n\t\t\t& .ck.ck-toolbar {\n\t\t\t\tbackground: none;\n\n\t\t\t\t/* Compensate for missing input label that would push the margin (toolbar has no inputs). */\n\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\n\t\t\t\t& .ck-toolbar__items > * {\n\t\t\t\t\twidth: 40px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},8423:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,':root{--ck-table-selected-cell-background:rgba(158,207,250,.3)}.ck.ck-editor__editable .table table td.ck-editor__editable_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected{box-shadow:unset;caret-color:transparent;outline:unset;position:relative}.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:after{background-color:var(--ck-table-selected-cell-background);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.ck.ck-editor__editable .table table td.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table td.ck-editor__editable_selected:focus,.ck.ck-editor__editable .table table th.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:focus{background-color:transparent}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget{outline:unset}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle{display:none}',"",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/tableselection.css"],names:[],mappings:"AAKA,MACC,wDACD,CAGC,0IAKC,gBAAiB,CAFjB,uBAAwB,CACxB,aAAc,CAFd,iBAiCD,CA3BC,sJAGC,yDAA0D,CAK1D,QAAS,CAPT,UAAW,CAKX,MAAO,CAJP,mBAAoB,CAEpB,iBAAkB,CAGlB,OAAQ,CAFR,KAID,CAEA,wTAEC,4BACD,CAMA,gKACC,aAKD,CAHC,0NACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-table-selected-cell-background: hsla(208, 90%, 80%, .3);\n}\n\n.ck.ck-editor__editable .table table {\n\t& td.ck-editor__editable_selected,\n\t& th.ck-editor__editable_selected {\n\t\tposition: relative;\n\t\tcaret-color: transparent;\n\t\toutline: unset;\n\t\tbox-shadow: unset;\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/6446 */\n\t\t&:after {\n\t\t\tcontent: '';\n\t\t\tpointer-events: none;\n\t\t\tbackground-color: var(--ck-table-selected-cell-background);\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t}\n\n\t\t& ::selection,\n\t\t&:focus {\n\t\t\tbackground-color: transparent;\n\t\t}\n\n\t\t/*\n\t\t * To reduce the amount of noise, all widgets in the table selection have no outline and no selection handle.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9491.\n\t\t */\n\t\t& .ck-widget {\n\t\t\toutline: unset;\n\n\t\t\t& > .ck-widget__selection-handle {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},1801:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-aria-live-announcer{left:-10000px;position:absolute;top:-10000px}.ck.ck-aria-live-region-list{list-style-type:none}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/arialiveannouncer/arialiveannouncer.css"],names:[],mappings:"AAKA,2BAEC,aAAc,CADd,iBAAkB,CAElB,YACD,CAEA,6BACC,oBACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-aria-live-announcer {\n\tposition: absolute;\n\tleft: -10000px;\n\ttop: -10000px;\n}\n\n.ck.ck-aria-live-region-list {\n\tlist-style-type: none;\n}\n"],sourceRoot:""}]);const a=s},5727:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-autocomplete{position:relative}.ck.ck-autocomplete>.ck-search__results{position:absolute;z-index:var(--ck-z-panel)}.ck.ck-autocomplete>.ck-search__results.ck-search__results_n{bottom:100%}.ck.ck-autocomplete>.ck-search__results.ck-search__results_s{bottom:auto;top:100%}.ck.ck-autocomplete>.ck-search__results{border-radius:0}.ck-rounded-corners .ck.ck-autocomplete>.ck-search__results,.ck.ck-autocomplete>.ck-search__results.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-autocomplete>.ck-search__results{background:var(--ck-color-base-background);border:1px solid var(--ck-color-dropdown-panel-border);box-shadow:var(--ck-drop-shadow),0 0;max-height:200px;min-width:auto;overflow-y:auto}.ck.ck-autocomplete>.ck-search__results.ck-search__results_n{border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:-1px}.ck.ck-autocomplete>.ck-search__results.ck-search__results_s{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/autocomplete/autocomplete.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/autocomplete/autocomplete.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,oBACC,iBAeD,CAbC,wCACC,iBAAkB,CAClB,yBAUD,CARC,6DACC,WACD,CAEA,6DAEC,WAAY,CADZ,QAED,CCVD,wCCEA,eDuBA,CAzBA,uHCMC,qCDmBD,CAzBA,wCAMC,0CAA2C,CAC3C,sDAAuD,CEPxD,oCAA8B,CFI7B,gBAAiB,CAIjB,cAAe,CAHf,eAoBD,CAfC,6DACC,2BAA4B,CAC5B,4BAA6B,CAG7B,kBACD,CAEA,6DACC,wBAAyB,CACzB,yBAA0B,CAG1B,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-autocomplete {\n\tposition: relative;\n\n\t& > .ck-search__results {\n\t\tposition: absolute;\n\t\tz-index: var(--ck-z-panel);\n\n\t\t&.ck-search__results_n {\n\t\t\tbottom: 100%;\n\t\t}\n\n\t\t&.ck-search__results_s {\n\t\t\ttop: 100%;\n\t\t\tbottom: auto;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css";\n@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css";\n\n.ck.ck-autocomplete {\n\t& > .ck-search__results {\n\t\t@mixin ck-rounded-corners;\n\t\t@mixin ck-drop-shadow;\n\n\t\tmax-height: 200px;\n\t\toverflow-y: auto;\n\t\tbackground: var(--ck-color-base-background);\n\t\tborder: 1px solid var(--ck-color-dropdown-panel-border);\n\t\tmin-width: auto;\n\n\t\t&.ck-search__results_n {\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\n\t\t\t/* Prevent duplicated borders between the input and the results pane. */\n\t\t\tmargin-bottom: -1px;\n\t\t}\n\n\t\t&.ck-search__results_s {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-top-right-radius: 0;\n\n\t\t\t/* Prevent duplicated borders between the input and the results pane. */\n\t\t\tmargin-top: -1px;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},9715:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-button,a.ck.ck-button{align-items:center;display:inline-flex;position:relative;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}[dir=ltr] .ck.ck-button,[dir=ltr] a.ck.ck-button{justify-content:left}[dir=rtl] .ck.ck-button,[dir=rtl] a.ck.ck-button{justify-content:right}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{display:none}.ck.ck-button.ck-button_with-text .ck-button__label,a.ck.ck-button.ck-button_with-text .ck-button__label{display:inline-block}.ck.ck-button:not(.ck-button_with-text),a.ck.ck-button:not(.ck-button_with-text){justify-content:center}.ck.ck-button,a.ck.ck-button{-webkit-appearance:none;background:var(--ck-color-button-default-background);border:1px solid transparent;border-radius:0;cursor:default;font-size:inherit;line-height:1;min-height:var(--ck-ui-component-min-height);min-width:var(--ck-ui-component-min-height);padding:var(--ck-spacing-tiny);text-align:center;transition:box-shadow .2s ease-in-out,border .2s ease-in-out;vertical-align:middle;white-space:nowrap}.ck.ck-button:not(.ck-disabled):hover,a.ck.ck-button:not(.ck-disabled):hover{background:var(--ck-color-button-default-hover-background)}.ck.ck-button:not(.ck-disabled):active,a.ck.ck-button:not(.ck-disabled):active{background:var(--ck-color-button-default-active-background)}.ck.ck-button.ck-disabled,a.ck.ck-button.ck-disabled{background:var(--ck-color-button-default-disabled-background)}.ck-rounded-corners .ck.ck-button,.ck-rounded-corners a.ck.ck-button,.ck.ck-button.ck-rounded-corners,a.ck.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius)}@media (prefers-reduced-motion:reduce){.ck.ck-button,a.ck.ck-button{transition:none}}.ck.ck-button:active,.ck.ck-button:focus,a.ck.ck-button:active,a.ck.ck-button:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-button .ck-button__icon use,.ck.ck-button .ck-button__icon use *,a.ck.ck-button .ck-button__icon use,a.ck.ck-button .ck-button__icon use *{color:inherit}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{color:inherit;cursor:inherit;font-size:inherit;font-weight:inherit;vertical-align:middle}[dir=ltr] .ck.ck-button .ck-button__label,[dir=ltr] a.ck.ck-button .ck-button__label{text-align:left}[dir=rtl] .ck.ck-button .ck-button__label,[dir=rtl] a.ck.ck-button .ck-button__label{text-align:right}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{color:inherit}[dir=ltr] .ck.ck-button .ck-button__keystroke,[dir=ltr] a.ck.ck-button .ck-button__keystroke{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-button .ck-button__keystroke,[dir=rtl] a.ck.ck-button .ck-button__keystroke{margin-right:var(--ck-spacing-large)}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{opacity:.5}.ck.ck-button.ck-disabled:active,.ck.ck-button.ck-disabled:focus,a.ck.ck-button.ck-disabled:active,a.ck.ck-button.ck-disabled:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-button.ck-disabled .ck-button__icon,.ck.ck-button.ck-disabled .ck-button__label,a.ck.ck-button.ck-disabled .ck-button__icon,a.ck.ck-button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__keystroke,a.ck.ck-button.ck-disabled .ck-button__keystroke{opacity:.3}.ck.ck-button.ck-button_with-text,a.ck.ck-button.ck-button_with-text{padding:var(--ck-spacing-tiny) var(--ck-spacing-standard)}[dir=ltr] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=ltr] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=rtl] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:var(--ck-spacing-medium)}.ck.ck-button.ck-button_with-keystroke .ck-button__label,a.ck.ck-button.ck-button_with-keystroke .ck-button__label{flex-grow:1}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{background:var(--ck-color-button-on-background);color:var(--ck-color-button-on-color)}.ck.ck-button.ck-on:not(.ck-disabled):hover,a.ck.ck-button.ck-on:not(.ck-disabled):hover{background:var(--ck-color-button-on-hover-background)}.ck.ck-button.ck-on:not(.ck-disabled):active,a.ck.ck-button.ck-on:not(.ck-disabled):active{background:var(--ck-color-button-on-active-background)}.ck.ck-button.ck-on.ck-disabled,a.ck.ck-button.ck-on.ck-disabled{background:var(--ck-color-button-on-disabled-background)}.ck.ck-button.ck-button-save,a.ck.ck-button.ck-button-save{color:var(--ck-color-button-save)}.ck.ck-button.ck-button-cancel,a.ck.ck-button.ck-button-cancel{color:var(--ck-color-button-cancel)}.ck.ck-button-action,a.ck.ck-button-action{background:var(--ck-color-button-action-background);color:var(--ck-color-button-action-text)}.ck.ck-button-action:not(.ck-disabled):hover,a.ck.ck-button-action:not(.ck-disabled):hover{background:var(--ck-color-button-action-hover-background)}.ck.ck-button-action:not(.ck-disabled):active,a.ck.ck-button-action:not(.ck-disabled):active{background:var(--ck-color-button-action-active-background)}.ck.ck-button-action.ck-disabled,a.ck.ck-button-action.ck-disabled{background:var(--ck-color-button-action-disabled-background)}.ck.ck-button-bold,a.ck.ck-button-bold{font-weight:700}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/button/button.css","webpack://./../ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/button.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/mixins/_button.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AAQA,6BAMC,kBAAmB,CADnB,mBAAoB,CADpB,iBAAkB,CCHlB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD0BD,CA9BA,iDASE,oBAqBF,CA9BA,iDAaE,qBAiBF,CAdC,iEACC,YACD,CAGC,yGACC,oBACD,CAID,iFACC,sBACD,CEzBD,6BA6BC,uBAAwB,CC7BxB,oDAAqC,CDuBrC,4BAA6B,CExB7B,eAAgB,CFOhB,cAAe,CAcf,iBAAkB,CAHlB,aAAc,CAJd,4CAA6C,CAD7C,2CAA4C,CAJ5C,8BAA+B,CAC/B,iBAAkB,CAiBlB,4DAA8D,CAnB9D,qBAAsB,CAFtB,kBAwID,CC1IE,6EACC,0DACD,CAEA,+EACC,2DACD,CAID,qDACC,6DACD,CDfD,wIEGE,qCF0IF,CA9GC,uCA/BD,6BAgCE,eA6GF,CA5GC,CAEA,oFGpCA,2BAA2B,CCF3B,2CAA8B,CDC9B,YHyCA,CAIC,kJAEC,aACD,CAGD,iEAIC,aAAc,CACd,cAAe,CAHf,iBAAkB,CAClB,mBAAoB,CAMpB,qBASD,CAlBA,qFAYE,eAMF,CAlBA,qFAgBE,gBAEF,CAEA,yEACC,aAWD,CAZA,6FAIE,mCAQF,CAZA,6FAQE,oCAIF,CAZA,yEAWC,UACD,CAIC,oIIxFD,oDJ4FC,CAOA,gLKnGD,kCLqGC,CAEA,iGACC,UACD,CAGD,qEACC,yDAYD,CATC,2HAEE,qCAMF,CARA,2HAME,oCAEF,CAKA,mHACC,WACD,CAID,yCChIA,+CAAqC,CDmIpC,qCACD,CCjIC,yFACC,qDACD,CAEA,2FACC,sDACD,CAID,iEACC,wDACD,CDuHA,2DACC,iCACD,CAEA,+DACC,mCACD,CAID,2CChJC,mDAAqC,CDoJrC,wCACD,CClJE,2FACC,yDACD,CAEA,6FACC,0DACD,CAID,mEACC,4DACD,CDwID,uCAEC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../mixins/_unselectable.css";\n@import "../../mixins/_dir.css";\n\n.ck.ck-button,\na.ck.ck-button {\n\t@mixin ck-unselectable;\n\n\tposition: relative;\n\tdisplay: inline-flex;\n\talign-items: center;\n\n\t@mixin ck-dir ltr {\n\t\tjustify-content: left;\n\t}\n\n\t@mixin ck-dir rtl {\n\t\tjustify-content: right;\n\t}\n\n\t& .ck-button__label {\n\t\tdisplay: none;\n\t}\n\n\t&.ck-button_with-text {\n\t\t& .ck-button__label {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\n\t/* Center the icon horizontally in a button without text. */\n\t&:not(.ck-button_with-text) {\n\t\tjustify-content: center;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_focus.css";\n@import "../../../mixins/_shadow.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_rounded.css";\n@import "../../mixins/_button.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-button,\na.ck.ck-button {\n\t@mixin ck-button-colors --ck-color-button-default;\n\t@mixin ck-rounded-corners;\n\n\twhite-space: nowrap;\n\tcursor: default;\n\tvertical-align: middle;\n\tpadding: var(--ck-spacing-tiny);\n\ttext-align: center;\n\n\t/* A very important piece of styling. Go to variable declaration to learn more. */\n\tmin-width: var(--ck-ui-component-min-height);\n\tmin-height: var(--ck-ui-component-min-height);\n\n\t/* Normalize the height of the line. Removing this will break consistent height\n\tamong text and text-less buttons (with icons). */\n\tline-height: 1;\n\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t/* Avoid flickering when the foucs border shows up. */\n\tborder: 1px solid transparent;\n\n\t/* Apply some smooth transition to the box-shadow and border. */\n\ttransition: box-shadow .2s ease-in-out, border .2s ease-in-out;\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/189 */\n\t-webkit-appearance: none;\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\ttransition: none;\n\t}\n\n\t&:active,\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t}\n\n\t/* Allow icon coloring using the text "color" property. */\n\t& .ck-button__icon {\n\t\t& use,\n\t\t& use * {\n\t\t\tcolor: inherit;\n\t\t}\n\t}\n\n\t& .ck-button__label {\n\t\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\t\tfont-size: inherit;\n\t\tfont-weight: inherit;\n\t\tcolor: inherit;\n\t\tcursor: inherit;\n\n\t\t/* Must be consistent with .ck-icon\'s vertical align. Otherwise, buttons with and\n\t\twithout labels (but with icons) have different sizes in Chrome */\n\t\tvertical-align: middle;\n\n\t\t@mixin ck-dir ltr {\n\t\t\ttext-align: left;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttext-align: right;\n\t\t}\n\t}\n\n\t& .ck-button__keystroke {\n\t\tcolor: inherit;\n\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-left: var(--ck-spacing-large);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-right: var(--ck-spacing-large);\n\t\t}\n\n\t\topacity: .5;\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\n\t&.ck-disabled {\n\t\t&:active,\n\t\t&:focus {\n\t\t\t/* The disabled button should have a slightly less visible shadow when focused. */\n\t\t\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\n\t\t}\n\n\t\t& .ck-button__icon {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\n\t\t& .ck-button__label {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t& .ck-button__keystroke {\n\t\t\topacity: .3;\n\t\t}\n\t}\n\n\t&.ck-button_with-text {\n\t\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-standard);\n\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-button__icon {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-right: var(--ck-spacing-medium);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-left: var(--ck-spacing-medium);\n\t\t\t}\n\t\t}\n\t}\n\n\t&.ck-button_with-keystroke {\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-button__label {\n\t\t\tflex-grow: 1;\n\t\t}\n\t}\n\n\t/* A style of the button which is currently on, e.g. its feature is active. */\n\t&.ck-on {\n\t\t@mixin ck-button-colors --ck-color-button-on;\n\n\t\tcolor: var(--ck-color-button-on-color);\n\t}\n\n\t&.ck-button-save {\n\t\tcolor: var(--ck-color-button-save);\n\t}\n\n\t&.ck-button-cancel {\n\t\tcolor: var(--ck-color-button-cancel);\n\t}\n}\n\n/* A style of the button which handles the primary action. */\n.ck.ck-button-action,\na.ck.ck-button-action {\n\t@mixin ck-button-colors --ck-color-button-action;\n\n\tcolor: var(--ck-color-button-action-text);\n}\n\n.ck.ck-button-bold,\na.ck.ck-button-bold {\n\tfont-weight: bold;\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements a button of given background color.\n *\n * @param {String} $background - Background color of the button.\n * @param {String} $border - Border color of the button.\n */\n@define-mixin ck-button-colors $prefix {\n\tbackground: var($(prefix)-background);\n\n\t&:not(.ck-disabled) {\n\t\t&:hover {\n\t\t\tbackground: var($(prefix)-hover-background);\n\t\t}\n\n\t\t&:active {\n\t\t\tbackground: var($(prefix)-active-background);\n\t\t}\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\n\t&.ck-disabled {\n\t\tbackground: var($(prefix)-disabled-background);\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n"],sourceRoot:""}]);const a=s},278:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-list-item-button{border-radius:0;min-height:unset;width:100%}[dir=ltr] .ck.ck-list-item-button{text-align:left}[dir=rtl] .ck.ck-list-item-button{text-align:right}[dir=ltr] .ck.ck-list-item-button.ck-list-item-button_toggleable{padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-list-item-button.ck-list-item-button_toggleable{padding-right:var(--ck-spacing-small)}.ck.ck-list-item-button .ck-list-item-button__check-holder{display:inline-flex;height:.9em;width:.9em}[dir=ltr] .ck.ck-list-item-button .ck-list-item-button__check-holder{margin-right:var(--ck-spacing-small)}[dir=rtl] .ck.ck-list-item-button .ck-list-item-button__check-holder{margin-left:var(--ck-spacing-small)}.ck.ck-list-item-button .ck-list-item-button__check-icon{height:100%}.ck.ck-button.ck-list-item-button{padding:var(--ck-spacing-tiny) calc(var(--ck-spacing-standard)*2)}.ck.ck-button.ck-list-item-button,.ck.ck-button.ck-list-item-button.ck-on{background:var(--ck-color-list-background);color:var(--ck-color-text)}[dir=ltr] .ck.ck-button.ck-list-item-button:has(.ck-list-item-button__check-holder){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-button.ck-list-item-button:has(.ck-list-item-button__check-holder){padding-right:var(--ck-spacing-small)}.ck.ck-button.ck-list-item-button.ck-button.ck-on:hover,.ck.ck-button.ck-list-item-button.ck-on:hover,.ck.ck-button.ck-list-item-button.ck-on:not(.ck-list-item-button_toggleable),.ck.ck-button.ck-list-item-button:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background)}.ck.ck-button.ck-list-item-button.ck-button.ck-on:hover:not(.ck-disabled),.ck.ck-button.ck-list-item-button.ck-on:hover:not(.ck-disabled),.ck.ck-button.ck-list-item-button.ck-on:not(.ck-list-item-button_toggleable):not(.ck-disabled),.ck.ck-button.ck-list-item-button:hover:not(.ck-disabled):not(.ck-disabled){color:var(--ck-color-text)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/button/listitembutton.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/listitembutton.css"],names:[],mappings:"AAOA,wBAGC,eAAgB,CAFhB,gBAAiB,CACjB,UAsCD,CAxCA,kCAME,eAkCF,CAxCA,kCAUE,gBA8BF,CA3BC,iEAEE,oCAMF,CARA,iEAME,qCAEF,CAEA,2DACC,mBAAoB,CAEpB,WAAY,CADZ,UAUD,CAZA,qEAME,oCAMF,CAZA,qEAUE,mCAEF,CAEA,yDACC,WACD,CCvCD,kCACC,iEAiCD,CA/BC,0EAEC,0CAA2C,CAC3C,0BACD,CAEA,oFAEE,oCAMF,CARA,oFAME,qCAEF,CAOA,6OAIC,uDAKD,CAHC,qTACC,0BACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../mixins/_dir.css";\n\n.ck.ck-list-item-button {\n\tmin-height: unset;\n\twidth: 100%;\n\tborder-radius: 0;\n\n\t@mixin ck-dir ltr {\n\t\ttext-align: left;\n\t}\n\n\t@mixin ck-dir rtl {\n\t\ttext-align: right;\n\t}\n\n\t&.ck-list-item-button_toggleable {\n\t\t@mixin ck-dir ltr {\n\t\t\tpadding-left: var(--ck-spacing-small);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tpadding-right: var(--ck-spacing-small);\n\t\t}\n\t}\n\n\t& .ck-list-item-button__check-holder {\n\t\tdisplay: inline-flex;\n\t\twidth: .9em;\n\t\theight: .9em;\n\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-left: var(--ck-spacing-small);\n\t\t}\n\t}\n\n\t& .ck-list-item-button__check-icon {\n\t\theight: 100%;\n\t}\n}\n','/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-button.ck-list-item-button {\n\tpadding: var(--ck-spacing-tiny) calc(2 * var(--ck-spacing-standard));\n\n\t&,\n\t&.ck-on {\n\t\tbackground: var(--ck-color-list-background);\n\t\tcolor: var(--ck-color-text);\n\t}\n\n\t&:has(.ck-list-item-button__check-holder) {\n\t\t@mixin ck-dir ltr {\n\t\t\tpadding-left: var(--ck-spacing-small);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tpadding-right: var(--ck-spacing-small);\n\t\t}\n\t}\n\n\t/*\n\t * `.ck-on` class and background styling is overridden for `ck-button` in many places.\n\t * This is a workaround to make sure that the background is not overridden and uses similar\n\t * selector specificity as the other overrides.\n\t */\n\t&:hover:not(.ck-disabled),\n\t&.ck-button.ck-on:hover,\n\t&.ck-on:not(.ck-list-item-button_toggleable),\n\t&.ck-on:hover {\n\t\tbackground: var(--ck-color-list-button-hover-background);\n\n\t\t&:not(.ck-disabled) {\n\t\t\tcolor: var(--ck-color-text);\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},4391:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{display:block}:root{--ck-switch-button-toggle-width:2.6153846154em;--ck-switch-button-toggle-inner-size:calc(1.07692em + 1px);--ck-switch-button-translation:calc(var(--ck-switch-button-toggle-width) - var(--ck-switch-button-toggle-inner-size) - 2px);--ck-switch-button-inner-hover-shadow:0 0 0 5px var(--ck-color-switch-button-inner-shadow)}.ck.ck-button.ck-switchbutton,.ck.ck-button.ck-switchbutton.ck-on:active,.ck.ck-button.ck-switchbutton.ck-on:focus,.ck.ck-button.ck-switchbutton.ck-on:hover,.ck.ck-button.ck-switchbutton:active,.ck.ck-button.ck-switchbutton:focus,.ck.ck-button.ck-switchbutton:hover{background:transparent;color:inherit}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__label{margin-right:calc(var(--ck-spacing-large)*2)}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__label{margin-left:calc(var(--ck-spacing-large)*2)}.ck.ck-button.ck-switchbutton .ck-button__toggle{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners{border-radius:var(--ck-border-radius)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-left:auto}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-right:auto}.ck.ck-button.ck-switchbutton .ck-button__toggle{background:var(--ck-color-switch-button-off-background);border:1px solid transparent;transition:background .4s ease,box-shadow .2s ease-in-out,outline .2s ease-in-out;width:var(--ck-switch-button-toggle-width)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:calc(var(--ck-border-radius)*.5)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{background:var(--ck-color-switch-button-inner-background);height:var(--ck-switch-button-toggle-inner-size);transition:all .3s ease;width:var(--ck-switch-button-toggle-inner-size)}@media (prefers-reduced-motion:reduce){.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{transition:none}}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover{background:var(--ck-color-switch-button-off-hover-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner{box-shadow:var(--ck-switch-button-inner-hover-shadow)}.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-switchbutton:focus{border-color:transparent;box-shadow:none;outline:none}.ck.ck-button.ck-switchbutton:focus .ck-button__toggle{box-shadow:0 0 0 1px var(--ck-color-base-background),0 0 0 5px var(--ck-color-focus-outer-shadow);outline:var(--ck-focus-ring);outline-offset:1px}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle{background:var(--ck-color-switch-button-on-background)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover{background:var(--ck-color-switch-button-on-hover-background)}[dir=ltr] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(var( --ck-switch-button-translation ))}[dir=rtl] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(calc(var( --ck-switch-button-translation )*-1))}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/button/switchbutton.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/switchbutton.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AASE,4HACC,aACD,CCCF,MAEC,8CAA+C,CAE/C,0DAAgE,CAChE,2HAIC,CACD,0FACD,CAOC,0QAEC,sBAAuB,CADvB,aAED,CAEA,0DAGE,4CAOF,CAVA,0DAQE,2CAEF,CAEA,iDCpCA,eDgFA,CA5CA,yIChCC,qCD4ED,CA5CA,2DAKE,gBAuCF,CA5CA,2DAUE,iBAkCF,CA5CA,iDAkBC,uDAAwD,CAFxD,4BAA6B,CAD7B,iFAAsF,CAEtF,0CA2BD,CAxBC,2ECxDD,eDuEC,CAfA,6LCpDA,qCAAsC,CDsDpC,8CAaF,CAfA,2EAOC,yDAA0D,CAD1D,gDAAiD,CAIjD,uBAA0B,CAL1B,+CAUD,CAHC,uCAZD,2EAaE,eAEF,CADC,CAGD,uDACC,6DAKD,CAHC,iFACC,qDACD,CAIF,6DEpFA,kCFsFA,CAGA,oCACC,wBAAyB,CAEzB,eAAgB,CADhB,YAQD,CALC,uDACC,iGAAmG,CAEnG,4BAA6B,CAD7B,kBAED,CAKA,uDACC,sDAkBD,CAhBC,6DACC,4DACD,CAEA,2FAKE,2DAMF,CAXA,2FASE,oEAEF",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-button.ck-switchbutton {\n\t& .ck-button__toggle {\n\t\tdisplay: block;\n\n\t\t& .ck-button__toggle__inner {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_disabled.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n/* Note: To avoid rendering issues (aliasing) but to preserve the responsive nature\nof the component, floating–point numbers have been used which, for the default font size\n(see: --ck-font-size-base), will generate simple integers. */\n:root {\n\t/* 34px at 13px font-size */\n\t--ck-switch-button-toggle-width: 2.6153846154em;\n\t/* 14px at 13px font-size */\n\t--ck-switch-button-toggle-inner-size: calc(1.0769230769em + 1px);\n\t--ck-switch-button-translation: calc(\n\t\tvar(--ck-switch-button-toggle-width) -\n\t\tvar(--ck-switch-button-toggle-inner-size) -\n\t\t2px /* Border */\n\t);\n\t--ck-switch-button-inner-hover-shadow: 0 0 0 5px var(--ck-color-switch-button-inner-shadow);\n}\n\n.ck.ck-button.ck-switchbutton {\n\t/* Unlike a regular button, the switch button text color and background should never change.\n\t * Changing toggle switch (background, outline) is enough to carry the information about the\n\t * state of the entire component (https://github.com/ckeditor/ckeditor5/issues/12519)\n\t */\n\t&, &:hover, &:focus, &:active, &.ck-on:hover, &.ck-on:focus, &.ck-on:active {\n\t\tcolor: inherit;\n\t\tbackground: transparent;\n\t}\n\n\t& .ck-button__label {\n\t\t@mixin ck-dir ltr {\n\t\t\t/* Separate the label from the switch */\n\t\t\tmargin-right: calc(2 * var(--ck-spacing-large));\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t/* Separate the label from the switch */\n\t\t\tmargin-left: calc(2 * var(--ck-spacing-large));\n\t\t}\n\t}\n\n\t& .ck-button__toggle {\n\t\t@mixin ck-rounded-corners;\n\n\t\t@mixin ck-dir ltr {\n\t\t\t/* Make sure the toggle is always to the right as far as possible. */\n\t\t\tmargin-left: auto;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t/* Make sure the toggle is always to the left as far as possible. */\n\t\t\tmargin-right: auto;\n\t\t}\n\n\t\t/* Apply some smooth transition to the box-shadow and border. */\n\t\t/* Gently animate the background color of the toggle switch */\n\t\ttransition: background 400ms ease, box-shadow .2s ease-in-out, outline .2s ease-in-out;\n\t\tborder: 1px solid transparent;\n\t\twidth: var(--ck-switch-button-toggle-width);\n\t\tbackground: var(--ck-color-switch-button-off-background);\n\n\t\t& .ck-button__toggle__inner {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-radius: calc(.5 * var(--ck-border-radius));\n\t\t\t}\n\n\t\t\twidth: var(--ck-switch-button-toggle-inner-size);\n\t\t\theight: var(--ck-switch-button-toggle-inner-size);\n\t\t\tbackground: var(--ck-color-switch-button-inner-background);\n\n\t\t\t/* Gently animate the inner part of the toggle switch */\n\t\t\ttransition: all 300ms ease;\n\n\t\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t\ttransition: none;\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\tbackground: var(--ck-color-switch-button-off-hover-background);\n\n\t\t\t& .ck-button__toggle__inner {\n\t\t\t\tbox-shadow: var(--ck-switch-button-inner-hover-shadow);\n\t\t\t}\n\t\t}\n\t}\n\n\t&.ck-disabled .ck-button__toggle {\n\t\t@mixin ck-disabled;\n\t}\n\n\t/* Overriding default .ck-button:focus styles + an outline around the toogle */\n\t&:focus {\n\t\tborder-color: transparent;\n\t\toutline: none;\n\t\tbox-shadow: none;\n\n\t\t& .ck-button__toggle {\n\t\t\tbox-shadow: 0 0 0 1px var(--ck-color-base-background), 0 0 0 5px var(--ck-color-focus-outer-shadow);\n\t\t\toutline-offset: 1px;\n\t\t\toutline: var(--ck-focus-ring);\n\t\t}\n\t}\n\n\t/* stylelint-disable-next-line no-descending-specificity */\n\t&.ck-on {\n\t\t& .ck-button__toggle {\n\t\t\tbackground: var(--ck-color-switch-button-on-background);\n\n\t\t\t&:hover {\n\t\t\t\tbackground: var(--ck-color-switch-button-on-hover-background);\n\t\t\t}\n\n\t\t\t& .ck-button__toggle__inner {\n\t\t\t\t/*\n\t\t\t\t* Move the toggle switch to the right. It will be animated.\n\t\t\t\t*/\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\ttransform: translateX( var( --ck-switch-button-translation ) );\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\ttransform: translateX( calc( -1 * var( --ck-switch-button-translation ) ) );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n"],sourceRoot:""}]);const a=s},25:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-collapsible.ck-collapsible_collapsed>.ck-collapsible__children{display:none}:root{--ck-collapsible-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-collapsible>.ck.ck-button{border-radius:0;color:inherit;font-weight:700;width:100%}.ck.ck-collapsible>.ck.ck-button:focus{background:transparent}.ck.ck-collapsible>.ck.ck-button:active,.ck.ck-collapsible>.ck.ck-button:hover:not(:focus),.ck.ck-collapsible>.ck.ck-button:not(:focus){background:transparent;border-color:transparent;box-shadow:none}.ck.ck-collapsible>.ck.ck-button>.ck-icon{margin-right:var(--ck-spacing-medium);width:var(--ck-collapsible-arrow-size)}.ck.ck-collapsible>.ck-collapsible__children{padding:var(--ck-spacing-medium) var(--ck-spacing-large) var(--ck-spacing-large)}.ck.ck-collapsible.ck-collapsible_collapsed>.ck.ck-button .ck-icon{transform:rotate(-90deg)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/collapsible/collapsible.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/collapsible/collapsible.css"],names:[],mappings:"AAMC,sEACC,YACD,CCHD,MACC,yDACD,CAGC,iCAGC,eAAgB,CAChB,aAAc,CAFd,eAAiB,CADjB,UAmBD,CAdC,uCACC,sBACD,CAEA,wIACC,sBAAuB,CACvB,wBAAyB,CACzB,eACD,CAEA,0CACC,qCAAsC,CACtC,sCACD,CAGD,6CACC,gFACD,CAGC,mEACC,wBACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-collapsible.ck-collapsible_collapsed {\n\t& > .ck-collapsible__children {\n\t\tdisplay: none;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-collapsible-arrow-size: calc(0.5 * var(--ck-icon-size));\n}\n\n.ck.ck-collapsible {\n\t& > .ck.ck-button {\n\t\twidth: 100%;\n\t\tfont-weight: bold;\n\t\tborder-radius: 0;\n\t\tcolor: inherit;\n\n\t\t&:focus {\n\t\t\tbackground: transparent;\n\t\t}\n\n\t\t&:active, &:not(:focus), &:hover:not(:focus) {\n\t\t\tbackground: transparent;\n\t\t\tborder-color: transparent;\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t& > .ck-icon {\n\t\t\tmargin-right: var(--ck-spacing-medium);\n\t\t\twidth: var(--ck-collapsible-arrow-size);\n\t\t}\n\t}\n\n\t& > .ck-collapsible__children {\n\t\tpadding: var(--ck-spacing-medium) var(--ck-spacing-large) var(--ck-spacing-large);\n\t}\n\n\t&.ck-collapsible_collapsed {\n\t\t& > .ck.ck-button .ck-icon {\n\t\t\ttransform: rotate(-90deg);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},7317:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-color-grid{display:grid}:root{--ck-color-grid-tile-size:24px;--ck-color-color-grid-check-icon:#166fd4}.ck.ck-color-grid{grid-gap:5px;padding:8px}.ck.ck-color-grid__tile{transition:box-shadow .2s ease}@media (forced-colors:none){.ck.ck-color-grid__tile{border:0;height:var(--ck-color-grid-tile-size);min-height:var(--ck-color-grid-tile-size);min-width:var(--ck-color-grid-tile-size);padding:0;width:var(--ck-color-grid-tile-size)}.ck.ck-color-grid__tile.ck-on,.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){border:0}.ck.ck-color-grid__tile.ck-color-selector__color-tile_bordered{box-shadow:0 0 0 1px var(--ck-color-base-border)}.ck.ck-color-grid__tile.ck-on{box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-base-text)}.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-focus-border)}}@media (forced-colors:active){.ck.ck-color-grid__tile{height:unset;min-height:unset;min-width:unset;padding:0 var(--ck-spacing-small);width:unset}.ck.ck-color-grid__tile .ck-button__label{display:inline-block}}@media (prefers-reduced-motion:reduce){.ck.ck-color-grid__tile{transition:none}}.ck.ck-color-grid__tile.ck-disabled{cursor:unset;transition:unset}.ck.ck-color-grid__tile .ck.ck-icon{color:var(--ck-color-color-grid-check-icon);display:none}.ck.ck-color-grid__tile.ck-on .ck.ck-icon{display:block}.ck.ck-color-grid__label{padding:0 var(--ck-spacing-standard)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/colorgrid/colorgrid.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorgrid/colorgrid.css","webpack://./../ckeditor5-ui/theme/mixins/_mediacolors.css"],names:[],mappings:"AAKA,kBACC,YACD,CCCA,MACC,8BAA+B,CAK/B,wCACD,CAEA,kBACC,YAAa,CACb,WACD,CAEA,wBACC,8BAkED,CC3EC,4BACC,wBDgBA,QAAS,CAJT,qCAAsC,CAEtC,yCAA0C,CAD1C,wCAAyC,CAEzC,SAAU,CAJV,oCCTA,CDgBA,8HAIC,QACD,CAEA,+DACC,gDACD,CAEA,8BACC,8FACD,CAEA,gGAEC,iGACD,CCjCD,CAZA,8BACC,wBDqDA,YAAa,CAEb,gBAAiB,CADjB,eAAgB,CAEhB,iCAAkC,CAJlC,WClDA,CDwDA,0CACC,oBACD,CCzDD,CD4DA,uCAhDD,wBAiDE,eAkBF,CAjBC,CAEA,oCACC,YAAa,CACb,gBACD,CAEA,oCAEC,2CAA4C,CAD5C,YAED,CAGC,0CACC,aACD,CAIF,yBACC,oCACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-color-grid {\n\tdisplay: grid;\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css";\n\n:root {\n\t--ck-color-grid-tile-size: 24px;\n\n\t/* Not using global colors here because these may change but some colors in a pallette\n\t * require special treatment. For instance, this ensures no matter what the UI text color is,\n\t * the check icon will look good on the black color tile. */\n\t--ck-color-color-grid-check-icon: hsl(212, 81%, 46%);\n}\n\n.ck.ck-color-grid {\n\tgrid-gap: 5px;\n\tpadding: 8px;\n}\n\n.ck.ck-color-grid__tile {\n\ttransition: .2s ease box-shadow;\n\n\t@mixin ck-media-default-colors {\n\t\twidth: var(--ck-color-grid-tile-size);\n\t\theight: var(--ck-color-grid-tile-size);\n\t\tmin-width: var(--ck-color-grid-tile-size);\n\t\tmin-height: var(--ck-color-grid-tile-size);\n\t\tpadding: 0;\n\t\tborder: 0;\n\n\t\t&.ck-on,\n\t\t&:focus:not( .ck-disabled ),\n\t\t&:hover:not( .ck-disabled ) {\n\t\t\t/* Disable the default .ck-button\'s border ring. */\n\t\t\tborder: 0;\n\t\t}\n\n\t\t&.ck-color-selector__color-tile_bordered {\n\t\t\tbox-shadow: 0 0 0 1px var(--ck-color-base-border);\n\t\t}\n\n\t\t&.ck-on {\n\t\t\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-base-text);\n\t\t}\n\n\t\t&:focus:not( .ck-disabled ),\n\t\t&:hover:not( .ck-disabled ) {\n\t\t\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border);\n\t\t}\n\t}\n\n\t/*\n\t * In high contrast mode, the colors are replaced with text labels.\n\t * See https://github.com/ckeditor/ckeditor5/issues/14907.\n\t */\n\t@mixin ck-media-forced-colors {\n\t\twidth: unset;\n\t\theight: unset;\n\t\tmin-width: unset;\n\t\tmin-height: unset;\n\t\tpadding: 0 var(--ck-spacing-small);\n\n\t\t& .ck-button__label {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\ttransition: none;\n\t}\n\n\t&.ck-disabled {\n\t\tcursor: unset;\n\t\ttransition: unset;\n\t}\n\n\t& .ck.ck-icon {\n\t\tdisplay: none;\n\t\tcolor: var(--ck-color-color-grid-check-icon);\n\t}\n\n\t&.ck-on {\n\t\t& .ck.ck-icon {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n\n.ck.ck-color-grid__label {\n\tpadding: 0 var(--ck-spacing-standard);\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-forced-colors {\n\t@media (forced-colors: active) {\n\t\t& {\n\t\t\t@mixin-content;\n\t\t}\n\t}\n}\n\n@define-mixin ck-media-default-colors {\n\t@media (forced-colors: none) {\n\t\t& {\n\t\t\t@mixin-content;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},1905:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".color-picker-hex-input{width:max-content}.color-picker-hex-input .ck.ck-input{min-width:unset}.ck.ck-color-picker__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin:var(--ck-spacing-large) 0 0;width:unset}.ck.ck-color-picker__row .ck.ck-labeled-field-view{padding-top:unset}.ck.ck-color-picker__row .ck.ck-input-text{width:unset}.ck.ck-color-picker__row .ck-color-picker__hash-view{padding-right:var(--ck-spacing-medium);padding-top:var(--ck-spacing-tiny)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/colorpicker/colorpicker.css"],names:[],mappings:"AAKA,wBACC,iBAKD,CAHC,qCACC,eACD,CAGD,yBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAA8B,CAC9B,kCAAmC,CACnC,WAcD,CAZC,mDACC,iBACD,CAEA,2CACC,WACD,CAEA,qDAEC,sCAAuC,CADvC,kCAED",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.color-picker-hex-input {\n\twidth: max-content;\n\n\t& .ck.ck-input {\n\t\tmin-width: unset;\n\t}\n}\n\n.ck.ck-color-picker__row {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tjustify-content: space-between;\n\tmargin: var(--ck-spacing-large) 0 0;\n\twidth: unset;\n\n\t& .ck.ck-labeled-field-view {\n\t\tpadding-top: unset;\n\t}\n\n\t& .ck.ck-input-text {\n\t\twidth: unset;\n\t}\n\n\t& .ck-color-picker__hash-view {\n\t\tpadding-top: var(--ck-spacing-tiny);\n\t\tpadding-right: var(--ck-spacing-medium);\n\t}\n}\n"],sourceRoot:""}]);const a=s},6309:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{align-items:center;display:flex}[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{justify-content:flex-start}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar{display:flex;flex-direction:row;justify-content:space-around}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-cancel,.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-save{flex:1}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{width:100%}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard)}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker:not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon{margin-left:var(--ck-spacing-standard)}.ck.ck-color-selector .ck-color-grids-fragment label.ck.ck-color-grid__label{font-weight:unset}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker{padding:8px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker{height:100px;min-width:180px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation){border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue){border-radius:0 0 var(--ck-border-radius) var(--ck-border-radius)}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue-pointer),.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation-pointer){height:15px;width:15px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar{padding:0 8px 8px}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/colorselector/colorselector.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorselector/colorselector.css"],names:[],mappings:"AAUE,oLAGC,kBAAmB,CADnB,YAMD,CARA,wMAME,0BAEF,CAKA,iFACC,YAAa,CACb,kBAAmB,CACnB,4BAMD,CAJC,oMAEC,MACD,CCrBD,oLAEC,UACD,CAEA,0FAEC,2BAA4B,CAC5B,4BAA6B,CAF7B,qEAiBD,CAbC,sGACC,gDACD,CAEA,gHAEE,uCAMF,CARA,gHAME,sCAEF,CAGD,6EACC,iBACD,CAKA,oEACC,WAoBD,CAlBC,sFACC,YAAa,CACb,eAeD,CAbC,wGACC,iEACD,CAEA,iGACC,iEACD,CAEA,yNAGC,WAAY,CADZ,UAED,CAIF,iFACC,iBACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-color-selector {\n\t/* View fragment with color grids. */\n\t& .ck-color-grids-fragment {\n\t\t& .ck-button.ck-color-selector__remove-color,\n\t\t& .ck-button.ck-color-selector__color-picker {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tjustify-content: flex-start;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* View fragment with a color picker. */\n\t& .ck-color-picker-fragment {\n\t\t& .ck.ck-color-selector_action-bar {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\tjustify-content: space-around;\n\n\t\t\t& .ck-button-save,\n\t\t\t& .ck-button-cancel {\n\t\t\t\tflex: 1\n\t\t\t}\n\t\t}\n\t}\n}\n','/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-color-selector {\n\t/* View fragment with color grids. */\n\t& .ck-color-grids-fragment {\n\t\t& .ck-button.ck-color-selector__remove-color,\n\t\t& .ck-button.ck-color-selector__color-picker {\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t& .ck-button.ck-color-selector__color-picker {\n\t\t\tpadding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\n\t\t\t&:not(:focus) {\n\t\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\n\t\t\t& .ck.ck-icon {\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\tmargin-right: var(--ck-spacing-standard);\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t& label.ck.ck-color-grid__label {\n\t\t\tfont-weight: unset;\n\t\t}\n\t}\n\n\t/* View fragment with a color picker. */\n\t& .ck-color-picker-fragment {\n\t\t& .ck.ck-color-picker {\n\t\t\tpadding: 8px;\n\n\t\t\t& .hex-color-picker {\n\t\t\t\theight: 100px;\n\t\t\t\tmin-width: 180px;\n\n\t\t\t\t&::part(saturation) {\n\t\t\t\t\tborder-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;\n\t\t\t\t}\n\n\t\t\t\t&::part(hue) {\n\t\t\t\t\tborder-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius);\n\t\t\t\t}\n\n\t\t\t\t&::part(saturation-pointer),\n\t\t\t\t&::part(hue-pointer) {\n\t\t\t\t\twidth: 15px;\n\t\t\t\t\theight: 15px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t& .ck.ck-color-selector_action-bar {\n\t\t\tpadding: 0 8px 8px;\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},9819:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-dialog-overlay{bottom:0;left:0;overscroll-behavior:none;position:fixed;right:0;top:0;user-select:none}.ck.ck-dialog-overlay.ck-dialog-overlay__transparent{animation:none;background:none;pointer-events:none}.ck.ck-dialog{overscroll-behavior:none;position:absolute;width:fit-content}.ck.ck-dialog .ck.ck-form__header{flex-shrink:0}.ck.ck-dialog .ck.ck-form__header .ck-form__header__label{cursor:grab}.ck.ck-dialog-overlay.ck-dialog-overlay__transparent .ck.ck-dialog{pointer-events:all}:root{--ck-dialog-overlay-background-color:rgba(0,0,0,.5);--ck-dialog-drop-shadow:0px 0px 6px 2px rgba(0,0,0,.15);--ck-dialog-max-width:100vw;--ck-dialog-max-height:90vh;--ck-color-dialog-background:var(--ck-color-base-background);--ck-color-dialog-form-header-border:var(--ck-color-base-border)}.ck.ck-dialog-overlay{animation:ck-dialog-fade-in .3s;background:var(--ck-dialog-overlay-background-color);z-index:var(--ck-z-dialog)}.ck.ck-dialog{border-radius:0}.ck-rounded-corners .ck.ck-dialog,.ck.ck-dialog.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dialog{box-shadow:var(--ck-drop-shadow),0 0;--ck-drop-shadow:var(--ck-dialog-drop-shadow);background:var(--ck-color-dialog-background);border:1px solid var(--ck-color-base-border);max-height:var(--ck-dialog-max-height);max-width:var(--ck-dialog-max-width)}.ck.ck-dialog .ck.ck-form__header{border-bottom:1px solid var(--ck-color-dialog-form-header-border)}@keyframes ck-dialog-fade-in{0%{background:transparent}to{background:var(--ck-dialog-overlay-background-color)}}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/dialog/dialog.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dialog/dialog.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,sBAKC,QAAS,CACT,MAAO,CAJP,wBAAyB,CAEzB,cAAe,CAGf,OAAQ,CACR,KAAM,CAPN,gBAcD,CALC,qDAEC,cAAe,CACf,eAAgB,CAFhB,mBAGD,CAGD,cACC,wBAAyB,CAEzB,iBAAkB,CADlB,iBAcD,CAXC,kCACC,aAKD,CAHC,0DACC,WACD,CAVF,mEAcE,kBAEF,CC7BA,MACC,mDAA2D,CAC3D,uDAA8D,CAC9D,2BAA4B,CAC5B,2BAA4B,CAC5B,4DAA6D,CAC7D,gEACD,CAEA,sBACC,+BAAgC,CAChC,oDAAqD,CACrD,0BACD,CAEA,cCbC,eD2BD,CAdA,mECTE,qCDuBF,CAdA,cEfC,oCAA8B,CFmB9B,6CAA8C,CAE9C,4CAA6C,CAG7C,4CAA6C,CAF7C,sCAAuC,CACvC,oCAMD,CAHC,kCACC,iEACD,CAGD,6BACC,GACC,sBACD,CAEA,GACC,oDACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-dialog-overlay {\n\tuser-select: none;\n\toverscroll-behavior: none;\n\n\tposition: fixed;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\ttop: 0;\n\n\t&.ck-dialog-overlay__transparent {\n\t\tpointer-events: none;\n\t\tanimation: none;\n\t\tbackground: none;\n\t}\n}\n\n.ck.ck-dialog {\n\toverscroll-behavior: none;\n\twidth: fit-content;\n\tposition: absolute;\n\n\t& .ck.ck-form__header {\n\t\tflex-shrink: 0;\n\n\t\t& .ck-form__header__label {\n\t\t\tcursor: grab;\n\t\t}\n\t}\n\n\t@nest .ck.ck-dialog-overlay.ck-dialog-overlay__transparent & {\n\t\tpointer-events: all;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n:root {\n\t--ck-dialog-overlay-background-color: hsla( 0, 0%, 0%, .5 );\n\t--ck-dialog-drop-shadow: 0px 0px 6px 2px hsl(0deg 0% 0% / 15%);\n\t--ck-dialog-max-width: 100vw;\n\t--ck-dialog-max-height: 90vh;\n\t--ck-color-dialog-background: var(--ck-color-base-background);\n\t--ck-color-dialog-form-header-border: var(--ck-color-base-border);\n}\n\n.ck.ck-dialog-overlay {\n\tanimation: ck-dialog-fade-in .3s;\n\tbackground: var(--ck-dialog-overlay-background-color);\n\tz-index: var(--ck-z-dialog);\n}\n\n.ck.ck-dialog {\n\t@mixin ck-rounded-corners;\n\t@mixin ck-drop-shadow;\n\n\t--ck-drop-shadow: var(--ck-dialog-drop-shadow);\n\n\tbackground: var(--ck-color-dialog-background);\n\tmax-height: var(--ck-dialog-max-height);\n\tmax-width: var(--ck-dialog-max-width);\n\tborder: 1px solid var(--ck-color-base-border);\n\n\t& .ck.ck-form__header {\n\t\tborder-bottom: 1px solid var(--ck-color-dialog-form-header-border);\n\t}\n}\n\n@keyframes ck-dialog-fade-in {\n\t0% {\n\t\tbackground: hsla( 0, 0%, 0%, 0 );\n\t}\n\n\t100% {\n\t\tbackground: var(--ck-dialog-overlay-background-color);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},9822:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-dialog .ck.ck-dialog__actions{display:flex;justify-content:flex-end;padding:var(--ck-spacing-large)}.ck.ck-dialog .ck.ck-dialog__actions>*+*{margin-left:var(--ck-spacing-large)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/dialog/dialogactions.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dialog/dialogactions.css"],names:[],mappings:"AAMC,qCACC,YAAa,CACb,wBAAyB,CCDzB,+BDED,CCAC,yCACC,mCACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-dialog {\n\t& .ck.ck-dialog__actions {\n\t\tdisplay: flex;\n\t\tjustify-content: flex-end;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-dialog {\n\t& .ck.ck-dialog__actions {\n\t\tpadding: var(--ck-spacing-large);\n\n\t\t& > * + * {\n\t\t\tmargin-left: var(--ck-spacing-large);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},8149:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,":root{--ck-dropdown-max-width:75vw}.ck.ck-dropdown{display:inline-block;position:relative}.ck.ck-dropdown .ck-dropdown__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-dropdown .ck-button.ck-dropdown__button{width:100%}.ck.ck-dropdown .ck-dropdown__panel{display:none;max-width:var(--ck-dropdown-max-width);position:absolute;z-index:var(--ck-z-panel)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible{display:inline-block}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw{bottom:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{bottom:auto;top:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se{left:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{right:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s{left:50%;transform:translateX(-50%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw{left:75%;transform:translateX(-75%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme{left:25%;transform:translateX(-25%)}.ck.ck-toolbar .ck-dropdown__panel{z-index:calc(var(--ck-z-panel) + 1)}:root{--ck-dropdown-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-dropdown{font-size:inherit}.ck.ck-dropdown .ck-dropdown__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-dropdown .ck-dropdown__arrow{margin-left:var(--ck-spacing-standard);right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-dropdown .ck-dropdown__arrow{left:var(--ck-spacing-standard);margin-right:var(--ck-spacing-small)}.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label{overflow:hidden;text-overflow:ellipsis;width:7em}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on{border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-dropdown__button_label-width_auto .ck-button__label{width:auto}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active{box-shadow:none}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active:focus,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active:focus{box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-dropdown__panel{border-radius:0}.ck-rounded-corners .ck.ck-dropdown__panel,.ck.ck-dropdown__panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dropdown__panel{background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;box-shadow:var(--ck-drop-shadow),0 0;min-width:100%}.ck.ck-dropdown__panel.ck-dropdown__panel_se{border-top-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_sw{border-top-right-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_ne{border-bottom-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_nw{border-bottom-right-radius:0}.ck.ck-dropdown__panel:focus{outline:none}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/dropdown/dropdown.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/dropdown.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_disabled.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,MACC,4BACD,CAEA,gBACC,oBAAqB,CACrB,iBA2ED,CAzEC,oCACC,mBAAoB,CACpB,2BACD,CAGA,+CACC,UACD,CAEA,oCACC,YAAa,CAEb,sCAAuC,CAEvC,iBAAkB,CAHlB,yBA4DD,CAvDC,+DACC,oBACD,CAEA,mSAKC,WACD,CAEA,mSAUC,WAAY,CADZ,QAED,CAEA,oHAEC,MACD,CAEA,oHAEC,OACD,CAEA,kHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAQF,mCACC,mCACD,CCpFA,MACC,sDACD,CAEA,gBAEC,iBA2ED,CAzEC,oCACC,mCACD,CAGC,8CAIC,sCAAuC,CAHvC,gCAID,CAIA,8CACC,+BAAgC,CAGhC,oCACD,CAGD,gDC/BA,kCDiCA,CAIE,mFAEC,oCACD,CAIA,mFAEC,qCACD,CAID,iEAEC,eAAgB,CAChB,sBAAuB,CAFvB,SAGD,CAGA,6EC1DD,kCD4DC,CAGA,qDACC,2BAA4B,CAC5B,4BACD,CAEA,sGACC,UACD,CAGA,yHAEC,eAKD,CAHC,qIE7EF,2CF+EE,CAKH,uBGlFC,eHkHD,CAhCA,qFG9EE,qCH8GF,CAhCA,uBAIC,oDAAqD,CACrD,sDAAuD,CACvD,QAAS,CE1FT,oCAA8B,CF6F9B,cAuBD,CAnBC,6CACC,wBACD,CAEA,6CACC,yBACD,CAEA,6CACC,2BACD,CAEA,6CACC,4BACD,CAEA,6BACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-dropdown-max-width: 75vw;\n}\n\n.ck.ck-dropdown {\n\tdisplay: inline-block;\n\tposition: relative;\n\n\t& .ck-dropdown__arrow {\n\t\tpointer-events: none;\n\t\tz-index: var(--ck-z-default);\n\t}\n\n\t/* Dropdown button should span horizontally, e.g. in vertical toolbars */\n\t& .ck-button.ck-dropdown__button {\n\t\twidth: 100%;\n\t}\n\n\t& .ck-dropdown__panel {\n\t\tdisplay: none;\n\t\tz-index: var(--ck-z-panel);\n\t\tmax-width: var(--ck-dropdown-max-width);\n\n\t\tposition: absolute;\n\n\t\t&.ck-dropdown__panel-visible {\n\t\t\tdisplay: inline-block;\n\t\t}\n\n\t\t&.ck-dropdown__panel_ne,\n\t\t&.ck-dropdown__panel_nw,\n\t\t&.ck-dropdown__panel_n,\n\t\t&.ck-dropdown__panel_nmw,\n\t\t&.ck-dropdown__panel_nme {\n\t\t\tbottom: 100%;\n\t\t}\n\n\t\t&.ck-dropdown__panel_se,\n\t\t&.ck-dropdown__panel_sw,\n\t\t&.ck-dropdown__panel_smw,\n\t\t&.ck-dropdown__panel_sme,\n\t\t&.ck-dropdown__panel_s {\n\t\t\t/*\n\t\t\t * Using transform: translate3d( 0, 100%, 0 ) causes blurry dropdown on Chrome 67-78+ on non-retina displays.\n\t\t\t * See https://github.com/ckeditor/ckeditor5/issues/1053.\n\t\t\t */\n\t\t\ttop: 100%;\n\t\t\tbottom: auto;\n\t\t}\n\n\t\t&.ck-dropdown__panel_ne,\n\t\t&.ck-dropdown__panel_se {\n\t\t\tleft: 0px;\n\t\t}\n\n\t\t&.ck-dropdown__panel_nw,\n\t\t&.ck-dropdown__panel_sw {\n\t\t\tright: 0px;\n\t\t}\n\n\t\t&.ck-dropdown__panel_s,\n\t\t&.ck-dropdown__panel_n {\n\t\t\t/* Positioning panels relative to the center of the button */\n\t\t\tleft: 50%;\n\t\t\ttransform: translateX(-50%);\n\t\t}\n\n\t\t&.ck-dropdown__panel_nmw,\n\t\t&.ck-dropdown__panel_smw {\n\t\t\t/* Positioning panels relative to the middle-west of the button */\n\t\t\tleft: 75%;\n\t\t\ttransform: translateX(-75%);\n\t\t}\n\n\t\t&.ck-dropdown__panel_nme,\n\t\t&.ck-dropdown__panel_sme {\n\t\t\t/* Positioning panels relative to the middle-east of the button */\n\t\t\tleft: 25%;\n\t\t\ttransform: translateX(-25%);\n\t\t}\n\t}\n}\n\n/*\n * Toolbar dropdown panels should be always above the UI (eg. other dropdown panels) from the editor's content.\n * See https://github.com/ckeditor/ckeditor5/issues/7874\n */\n.ck.ck-toolbar .ck-dropdown__panel {\n\tz-index: calc( var(--ck-z-panel) + 1 );\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n:root {\n\t--ck-dropdown-arrow-size: calc(0.5 * var(--ck-icon-size));\n}\n\n.ck.ck-dropdown {\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t& .ck-dropdown__arrow {\n\t\twidth: var(--ck-dropdown-arrow-size);\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& .ck-dropdown__arrow {\n\t\t\tright: var(--ck-spacing-standard);\n\n\t\t\t/* A space to accommodate the triangle. */\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& .ck-dropdown__arrow {\n\t\t\tleft: var(--ck-spacing-standard);\n\n\t\t\t/* A space to accommodate the triangle. */\n\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t}\n\t}\n\n\t&.ck-disabled .ck-dropdown__arrow {\n\t\t@mixin ck-disabled;\n\t}\n\n\t& .ck-button.ck-dropdown__button {\n\t\t@mixin ck-dir ltr {\n\t\t\t&:not(.ck-button_with-text) {\n\t\t\t\t/* Make sure dropdowns with just an icon have the right inner spacing */\n\t\t\t\tpadding-left: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t&:not(.ck-button_with-text) {\n\t\t\t\t/* Make sure dropdowns with just an icon have the right inner spacing */\n\t\t\t\tpadding-right: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\n\t\t/* #23 */\n\t\t& .ck-button__label {\n\t\t\twidth: 7em;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\n\t\t&.ck-disabled .ck-button__label {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/816 */\n\t\t&.ck-on {\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t&.ck-dropdown__button_label-width_auto .ck-button__label {\n\t\t\twidth: auto;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/8699 */\n\t\t&.ck-off:active,\n\t\t&.ck-on:active {\n\t\t\tbox-shadow: none;\n\n\t\t\t&:focus {\n\t\t\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck.ck-dropdown__panel {\n\t@mixin ck-rounded-corners;\n\t@mixin ck-drop-shadow;\n\n\tbackground: var(--ck-color-dropdown-panel-background);\n\tborder: 1px solid var(--ck-color-dropdown-panel-border);\n\tbottom: 0;\n\n\t/* Make sure the panel is at least as wide as the drop-down\'s button. */\n\tmin-width: 100%;\n\n\t/* Disabled corner border radius to be consistent with the .dropdown__button\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t&.ck-dropdown__panel_se {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_sw {\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_ne {\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_nw {\n\t\tborder-bottom-right-radius: 0;\n\t}\n\n\t&:focus {\n\t\toutline: none;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},3629:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-dropdown>.ck-dropdown__panel>.ck-list{border-radius:0}.ck-rounded-corners .ck.ck-dropdown>.ck-dropdown__panel>.ck-list,.ck.ck-dropdown>.ck-dropdown__panel>.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0}.ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:first-child>.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:first-child>.ck-button,.ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:first-child>.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:0}.ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:last-child>.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:last-child>.ck-button,.ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:last-child>.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/listdropdown.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,6CCIC,eDqBD,CAzBA,iICQE,qCAAsC,CDJtC,wBAqBF,CAfE,mFCND,eDYC,CANA,6MCFA,qCAAsC,CDKpC,2BAA4B,CAC5B,4BAA6B,CAF7B,wBAIF,CAEA,kFCdD,eDmBC,CALA,2MCVA,qCAAsC,CDYpC,wBAAyB,CACzB,yBAEF",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n.ck.ck-dropdown > .ck-dropdown__panel > .ck-list {\n\t/* Disabled radius of top-left border to be consistent with .dropdown__button\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t@mixin ck-rounded-corners {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t/* Make sure the button belonging to the first/last child of the list goes well with the\n\tborder radius of the entire panel. */\n\t& .ck-list__item {\n\t\t&:first-child > .ck-button {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t}\n\t\t}\n\n\t\t&:last-child > .ck-button {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-top-right-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},7218:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-dropdown-menu-list__nested-menu{display:block}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/dropdown/menu/dropdownmenu.css"],names:[],mappings:"AAKA,uCACC,aACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-dropdown-menu-list__nested-menu {\n\tdisplay: block;\n}\n"],sourceRoot:""}]);const a=s},9554:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-dropdown-menu-list__nested-menu__button>.ck-dropdown-menu-list__nested-menu__button__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button{border-radius:0;padding:var(--ck-spacing-tiny) calc(var(--ck-spacing-standard)*2);width:100%}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button:focus{border-color:transparent;box-shadow:none}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button:focus:not(.ck-on){background:var(--ck-color-button-default-hover-background)}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button>.ck-button__label{flex-grow:1;overflow:hidden;text-overflow:ellipsis}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button.ck-disabled>.ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button.ck-icon-spacing:not(:has(.ck-button__icon))>.ck-button__label{margin-left:calc(var(--ck-icon-size) - var(--ck-spacing-small))}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button>.ck-dropdown-menu-list__nested-menu__button__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button>.ck-dropdown-menu-list__nested-menu__button__arrow{margin-right:calc(var(--ck-spacing-small)*-1);transform:rotate(-90deg)}[dir=rtl] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button>.ck-dropdown-menu-list__nested-menu__button__arrow{margin-left:calc(var(--ck-spacing-small)*-1);transform:rotate(90deg)}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button.ck-disabled>.ck-dropdown-menu-list__nested-menu__button__arrow{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=ltr] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button>.ck-dropdown-menu-list__nested-menu__button__arrow{margin-left:var(--ck-spacing-standard);right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}[dir=rtl] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button>.ck-dropdown-menu-list__nested-menu__button__arrow{left:var(--ck-spacing-standard);margin-right:var(--ck-spacing-small)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/dropdown/menu/dropdownmenubutton.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/menu/dropdownmenubutton.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AAKA,kGACC,mBAAoB,CACpB,2BACD,CCIA,yDAGC,eAAgB,CADhB,iEAAoE,CADpE,UA2ED,CAvEC,+DACC,wBAAyB,CACzB,eAKD,CAHC,2EACC,0DACD,CAGD,2EACC,WAAY,CACZ,eAAgB,CAChB,sBACD,CAEA,uFCvBA,kCDyBA,CAGA,uHACC,+DACD,CAEA,4GACC,mCAeD,CAhBA,sHAOE,6CAAgD,CAHhD,wBAYF,CAhBA,sHAcE,4CAA+C,CAH/C,uBAKF,CAEA,wHClDA,kCDoDA,CAGC,6FACC,oCACD,CAEA,sHAIC,sCAAuC,CAHvC,gCAID,CAIA,6FACC,qCACD,CAEA,sHACC,+BAAgC,CAGhC,oCACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-dropdown-menu-list__nested-menu__button > .ck-dropdown-menu-list__nested-menu__button__arrow {\n\tpointer-events: none;\n\tz-index: var(--ck-z-default);\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../../mixins/_disabled.css";\n@import "../../../mixins/_button.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n/*\n * All menu buttons.\n */\n.ck.ck-button.ck-dropdown-menu-list__nested-menu__button {\n\twidth: 100%;\n\tpadding: var(--ck-spacing-tiny) calc(2 * var(--ck-spacing-standard));\n\tborder-radius: 0;\n\n\t&:focus {\n\t\tborder-color: transparent;\n\t\tbox-shadow: none;\n\n\t\t&:not(.ck-on) {\n\t\t\tbackground: var(--ck-color-button-default-hover-background);\n\t\t}\n\t}\n\n\t& > .ck-button__label {\n\t\tflex-grow: 1;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t&.ck-disabled > .ck-button__label {\n\t\t@mixin ck-disabled;\n\t}\n\n\t/* Spacing in buttons that miss the icon. */\n\t&.ck-icon-spacing:not(:has(.ck-button__icon)) > .ck-button__label {\n\t\tmargin-left: calc(var(--ck-icon-size) - var(--ck-spacing-small));\n\t}\n\n\t& > .ck-dropdown-menu-list__nested-menu__button__arrow {\n\t\twidth: var(--ck-dropdown-arrow-size);\n\n\t\t@mixin ck-dir ltr {\n\t\t\ttransform: rotate(-90deg);\n\n\t\t\t/* Nudge the arrow gently to the right because its center of gravity is to the left */\n\t\t\tmargin-right: calc(-1 * var(--ck-spacing-small));\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttransform: rotate(90deg);\n\n\t\t\t/* Nudge the arrow gently to the left because its center of gravity is to the right (after rotation). */\n\t\t\tmargin-left: calc(-1 * var(--ck-spacing-small));\n\t\t}\n\t}\n\n\t&.ck-disabled > .ck-dropdown-menu-list__nested-menu__button__arrow {\n\t\t@mixin ck-disabled;\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t&:not(.ck-button_with-text) {\n\t\t\tpadding-left: var(--ck-spacing-small);\n\t\t}\n\n\t\t& > .ck-dropdown-menu-list__nested-menu__button__arrow {\n\t\t\tright: var(--ck-spacing-standard);\n\n\t\t\t/* A space to accommodate the triangle. */\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t&:not(.ck-button_with-text) {\n\t\t\tpadding-right: var(--ck-spacing-small);\n\t\t}\n\n\t\t& > .ck-dropdown-menu-list__nested-menu__button__arrow {\n\t\t\tleft: var(--ck-spacing-standard);\n\n\t\t\t/* A space to accommodate the triangle. */\n\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n"],sourceRoot:""}]);const a=s},2171:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,":root{--ck-dropdown-menu-menu-item-min-width:18em}.ck.ck-dropdown-menu-list__nested-menu__item{min-width:var(--ck-dropdown-menu-menu-item-min-width)}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/menu/dropdownmenulistitem.css"],names:[],mappings:"AAKA,MACC,2CACD,CAEA,6CACC,qDACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-dropdown-menu-menu-item-min-width: 18em;\n}\n\n.ck.ck-dropdown-menu-list__nested-menu__item {\n\tmin-width: var(--ck-dropdown-menu-menu-item-min-width);\n}\n"],sourceRoot:""}]);const a=s},4767:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck-button.ck-dropdown-menu-list__nested-menu__item__button{border-radius:0}.ck-button.ck-dropdown-menu-list__nested-menu__item__button>.ck-spinner-container,.ck-button.ck-dropdown-menu-list__nested-menu__item__button>.ck-spinner-container .ck-spinner{--ck-toolbar-spinner-size:20px}.ck-button.ck-dropdown-menu-list__nested-menu__item__button>.ck-spinner-container{margin-left:calc(var(--ck-spacing-small)*-1);margin-right:var(--ck-spacing-small)}.ck-button.ck-dropdown-menu-list__nested-menu__item__button:focus{border-color:transparent;box-shadow:none}.ck-button.ck-dropdown-menu-list__nested-menu__item__button:focus:not(.ck-on){background:var(--ck-color-button-default-hover-background)}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/menu/dropdownmenulistitembutton.css"],names:[],mappings:"AAQA,4DACC,eA0BD,CAxBC,gLAGC,8BACD,CAEA,kFAEC,4CAA+C,CAC/C,oCACD,CAMA,kEACC,wBAAyB,CACzB,eAKD,CAHC,8EACC,0DACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/*\n * List item buttons.\n */\n.ck-button.ck-dropdown-menu-list__nested-menu__item__button {\n\tborder-radius: 0;\n\n\t& > .ck-spinner-container,\n\t& > .ck-spinner-container .ck-spinner {\n\t\t/* These styles correspond to .ck-icon so that the spinner seamlessly replaces the icon. */\n\t\t--ck-toolbar-spinner-size: 20px;\n\t}\n\n\t& > .ck-spinner-container {\n\t\t/* These margins are the same as for .ck-icon. */\n\t\tmargin-left: calc(-1 * var(--ck-spacing-small));\n\t\tmargin-right: var(--ck-spacing-small);\n\t}\n\n\t/*\n\t * Hovered items automatically get focused. Default focus styles look odd\n\t * while moving across a huge list of items so let's get rid of them\n\t */\n\t&:focus {\n\t\tborder-color: transparent;\n\t\tbox-shadow: none;\n\n\t\t&:not(.ck-on) {\n\t\t\tbackground: var(--ck-color-button-default-hover-background);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},3610:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel{max-height:314px;overflow-y:auto;position:absolute;z-index:calc(var(--ck-z-panel) + 1)}:root{--ck-dropdown-menu-menu-panel-max-width:75vw}.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel{background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;box-shadow:var(--ck-drop-shadow),0 0;height:fit-content;max-width:var(--ck-dropdown-menu-menu-panel-max-width)}.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel:after,.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel:before{display:none}.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_es,.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_se{border-top-left-radius:0}.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_sw,.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_ws{border-top-right-radius:0}.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_en,.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_ne{border-bottom-left-radius:0}.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_nw,.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_wn{border-bottom-right-radius:0}.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel:focus{outline:none}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/dropdown/menu/dropdownmenupanel.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/menu/dropdownmenupanel.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,0DAEC,gBAAiB,CACjB,eAAgB,CAFhB,iBAAkB,CAGlB,mCACD,CCFA,MACC,4CACD,CAEA,0DAGC,oDAAqD,CACrD,sDAAuD,CACvD,QAAS,CCRT,oCAA8B,CDS9B,kBAAmB,CACnB,sDAgCD,CA7BC,iIAEC,YACD,CAGA,4JAEC,wBACD,CAEA,4JAEC,yBACD,CAEA,4JAEC,2BACD,CAEA,4JAEC,4BACD,CAEA,gEACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel {\n\tposition: absolute;\n\tmax-height: 314px; /* With the default settings, this is equal to 10 menu items. */\n\toverflow-y: auto;\n\tz-index: calc(var(--ck-z-panel) + 1);\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../../mixins/_rounded.css";\n@import "../../../../mixins/_shadow.css";\n\n:root {\n\t--ck-dropdown-menu-menu-panel-max-width: 75vw;\n}\n\n.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel {\n\t@mixin ck-drop-shadow;\n\n\tbackground: var(--ck-color-dropdown-panel-background);\n\tborder: 1px solid var(--ck-color-dropdown-panel-border);\n\tbottom: 0;\n\theight: fit-content;\n\tmax-width: var(--ck-dropdown-menu-menu-panel-max-width);\n\n\t/* Reset balloon styling */\n\t&::after,\n\t&::before {\n\t\tdisplay: none;\n\t}\n\n\t/* Corner border radius consistent with the button. */\n\t&.ck-balloon-panel_es,\n\t&.ck-balloon-panel_se {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t&.ck-balloon-panel_ws,\n\t&.ck-balloon-panel_sw {\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t&.ck-balloon-panel_en,\n\t&.ck-balloon-panel_ne {\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t&.ck-balloon-panel_wn,\n\t&.ck-balloon-panel_nw {\n\t\tborder-bottom-right-radius: 0;\n\t}\n\n\t&:focus {\n\t\toutline: none;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},1792:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,'.ck.ck-splitbutton{font-size:inherit}.ck.ck-splitbutton .ck-splitbutton__action:focus{z-index:calc(var(--ck-z-default) + 1)}:root{--ck-color-split-button-hover-background:#ebebeb;--ck-color-split-button-hover-border:#b3b3b3}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-right-radius:unset;border-top-right-radius:unset}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-left-radius:unset;border-top-left-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow{min-width:unset}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-left-radius:unset;border-top-left-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-right-radius:unset;border-top-right-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow svg{width:var(--ck-dropdown-arrow-size)}.ck.ck-splitbutton>.ck-splitbutton__arrow:not(:focus){border-bottom-width:0;border-top-width:0}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover),.ck.ck-splitbutton:hover>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover){background:var(--ck-color-split-button-hover-background)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{background-color:var(--ck-color-split-button-hover-border);content:"";height:100%;position:absolute;width:1px}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:focus:after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:focus:after{--ck-color-split-button-hover-border:var(--ck-color-focus-border)}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{left:-1px}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{right:-1px}.ck.ck-splitbutton.ck-splitbutton_open{border-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__action{border-bottom-left-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__arrow{border-bottom-right-radius:0}',"",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/dropdown/splitbutton.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/splitbutton.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,mBAEC,iBAKD,CAHC,iDACC,qCACD,CCJD,MACC,gDAAyD,CACzD,4CACD,CAMC,oIAKE,gCAAiC,CADjC,6BASF,CAbA,oIAWE,+BAAgC,CADhC,4BAGF,CAEA,0CAGC,eAiBD,CApBA,oDAQE,+BAAgC,CADhC,4BAaF,CApBA,oDAcE,gCAAiC,CADjC,6BAOF,CAHC,8CACC,mCACD,CAKD,sDAEC,qBAAwB,CADxB,kBAED,CAQC,0KACC,wDACD,CAIA,8JAKC,0DAA2D,CAJ3D,UAAW,CAGX,WAAY,CAFZ,iBAAkB,CAClB,SAGD,CAGA,sIACC,iEACD,CAGC,kLACC,SACD,CAIA,kLACC,UACD,CAMF,uCCzFA,eDmGA,CAVA,qHCrFC,qCD+FD,CARE,qKACC,2BACD,CAEA,mKACC,4BACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-splitbutton {\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t& .ck-splitbutton__action:focus {\n\t\tz-index: calc(var(--ck-z-default) + 1);\n\t}\n}\n\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n:root {\n\t--ck-color-split-button-hover-background: hsl(0, 0%, 92%);\n\t--ck-color-split-button-hover-border: hsl(0, 0%, 70%);\n}\n\n.ck.ck-splitbutton {\n\t/*\n\t * Note: ck-rounded and ck-dir mixins don\'t go together (because they both use @nest).\n\t */\n\t&:hover > .ck-splitbutton__action,\n\t&.ck-splitbutton_open > .ck-splitbutton__action {\n\t\t@nest [dir="ltr"] & {\n\t\t\t/* Don\'t round the action button on the right side */\n\t\t\tborder-top-right-radius: unset;\n\t\t\tborder-bottom-right-radius: unset;\n\t\t}\n\n\t\t@nest [dir="rtl"] & {\n\t\t\t/* Don\'t round the action button on the left side */\n\t\t\tborder-top-left-radius: unset;\n\t\t\tborder-bottom-left-radius: unset;\n\t\t}\n\t}\n\n\t& > .ck-splitbutton__arrow {\n\t\t/* It\'s a text-less button and since the icon is positioned absolutely in such situation,\n\t\tit must get some arbitrary min-width. */\n\t\tmin-width: unset;\n\n\t\t@nest [dir="ltr"] & {\n\t\t\t/* Don\'t round the arrow button on the left side */\n\t\t\tborder-top-left-radius: unset;\n\t\t\tborder-bottom-left-radius: unset;\n\t\t}\n\n\t\t@nest [dir="rtl"] & {\n\t\t\t/* Don\'t round the arrow button on the right side */\n\t\t\tborder-top-right-radius: unset;\n\t\t\tborder-bottom-right-radius: unset;\n\t\t}\n\n\t\t& svg {\n\t\t\twidth: var(--ck-dropdown-arrow-size);\n\t\t}\n\t}\n\n\t/* Make sure the divider stretches 100% height of the button\n\thttps://github.com/ckeditor/ckeditor5/issues/10936 */\n\t& > .ck-splitbutton__arrow:not(:focus) {\n\t\tborder-top-width: 0px;\n\t\tborder-bottom-width: 0px;\n\t}\n\n\t/* When the split button is "open" (the arrow is on) or being hovered, it should get some styling\n\tas a whole. The background of both buttons should stand out and there should be a visual\n\tseparation between both buttons. */\n\t&.ck-splitbutton_open,\n\t&:hover {\n\t\t/* When the split button hovered as a whole, not as individual buttons. */\n\t\t& > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover) {\n\t\t\tbackground: var(--ck-color-split-button-hover-background);\n\t\t}\n\n\t\t/* Splitbutton separator needs to be set with the ::after pseudoselector\n\t\tto display properly the borders on focus */\n\t\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\n\t\t\tcontent: \'\';\n\t\t\tposition: absolute;\n\t\t\twidth: 1px;\n\t\t\theight: 100%;\n\t\t\tbackground-color: var(--ck-color-split-button-hover-border);\n\t\t}\n\n\t\t/* Make sure the divider between the buttons looks fine when the button is focused */\n\t\t& > .ck-splitbutton__arrow:focus::after {\n\t\t\t--ck-color-split-button-hover-border: var(--ck-color-focus-border);\n\t\t}\n\n\t\t@nest [dir="ltr"] & {\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\n\t\t\t\tleft: -1px;\n\t\t\t}\n\t\t}\n\n\t\t@nest [dir="rtl"] & {\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\n\t\t\t\tright: -1px;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Don\'t round the bottom left and right corners of the buttons when "open"\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t&.ck-splitbutton_open {\n\t\t@mixin ck-rounded-corners {\n\t\t\t& > .ck-splitbutton__action {\n\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t}\n\n\t\t\t& > .ck-splitbutton__arrow {\n\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},1666:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,":root{--ck-toolbar-dropdown-max-width:60vw}.ck.ck-toolbar-dropdown>.ck-dropdown__panel{max-width:var(--ck-toolbar-dropdown-max-width);width:max-content}.ck.ck-toolbar-dropdown>.ck-dropdown__panel .ck-button:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-toolbar-dropdown .ck-toolbar{border:0}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/dropdown/toolbardropdown.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/toolbardropdown.css"],names:[],mappings:"AAKA,MACC,oCACD,CAEA,4CAGC,8CAA+C,CAD/C,iBAQD,CAJE,6DACC,qCACD,CCZF,oCACC,QACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-toolbar-dropdown-max-width: 60vw;\n}\n\n.ck.ck-toolbar-dropdown > .ck-dropdown__panel {\n\t/* https://github.com/ckeditor/ckeditor5/issues/5586 */\n\twidth: max-content;\n\tmax-width: var(--ck-toolbar-dropdown-max-width);\n\n\t& .ck-button {\n\t\t&:focus {\n\t\t\tz-index: calc(var(--ck-z-default) + 1);\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-toolbar-dropdown .ck-toolbar {\n\tborder: 0;\n}\n"],sourceRoot:""}]);const a=s},8527:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,":root{--ck-accessibility-help-dialog-max-width:600px;--ck-accessibility-help-dialog-max-height:400px;--ck-accessibility-help-dialog-border-color:#ccced1;--ck-accessibility-help-dialog-code-background-color:#ededed;--ck-accessibility-help-dialog-kbd-shadow-color:#9c9c9c}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content{border:1px solid transparent;max-height:var(--ck-accessibility-help-dialog-max-height);max-width:var(--ck-accessibility-help-dialog-max-width);overflow:auto;padding:var(--ck-spacing-large);user-select:text}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content *{white-space:normal}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content .ck-label{display:none}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h3{font-size:1.2em;font-weight:700}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h4{font-size:1em;font-weight:700}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h3,.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h4,.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content p,.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content table{margin:1em 0}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl{border-bottom:none;border-top:1px solid var(--ck-accessibility-help-dialog-border-color);display:grid;grid-template-columns:2fr 1fr}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dd,.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dt{border-bottom:1px solid var(--ck-accessibility-help-dialog-border-color);padding:.4em 0}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dt{grid-column-start:1}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dd{grid-column-start:2;text-align:right}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content code,.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content kbd{background:var(--ck-accessibility-help-dialog-code-background-color);border-radius:2px;display:inline-block;font-size:.9em;line-height:1;padding:.4em;text-align:center;vertical-align:middle}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content code{font-family:monospace}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content kbd{box-shadow:0 1px 1px var(--ck-accessibility-help-dialog-kbd-shadow-color);margin:0 1px;min-width:1.8em}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content kbd+kbd{margin-left:2px}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/editorui/accessibilityhelp.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAQA,MACC,8CAA+C,CAC/C,+CAAgD,CAChD,mDAA8D,CAC9D,4DAAyE,CACzE,uDACD,CAEA,wEAOC,4BAA6B,CAJ7B,yDAA0D,CAD1D,uDAAwD,CAExD,aAAc,CAHd,+BAAgC,CAIhC,gBAgFD,CA5EC,8ECdA,2BAA2B,CCF3B,2CAA8B,CDC9B,YDkBA,CAEA,0EACC,kBACD,CAGA,kFACC,YACD,CAEA,2EAEC,eAAgB,CADhB,eAED,CAEA,2EAEC,aAAc,CADd,eAED,CAEA,8SAIC,YACD,CAEA,2EAIC,kBAAmB,CADnB,qEAAsE,CAFtE,YAAa,CACb,6BAiBD,CAbC,4JACC,wEAAyE,CACzE,cACD,CAEA,8EACC,mBACD,CAEA,8EACC,mBAAoB,CACpB,gBACD,CAGD,yJAEC,oEAAqE,CAIrE,iBAAkB,CALlB,oBAAqB,CAOrB,cAAe,CAHf,aAAc,CAFd,YAAa,CAIb,iBAAkB,CAHlB,qBAKD,CAEA,6EACC,qBACD,CAEA,4EAEC,yEAA4E,CAC5E,YAAa,CAFb,eAOD,CAHC,gFACC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_focus.css";\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-accessibility-help-dialog-max-width: 600px;\n\t--ck-accessibility-help-dialog-max-height: 400px;\n\t--ck-accessibility-help-dialog-border-color: hsl(220, 6%, 81%);\n\t--ck-accessibility-help-dialog-code-background-color: hsl(0deg 0% 92.94%);\n\t--ck-accessibility-help-dialog-kbd-shadow-color: hsl(0deg 0% 61%);\n}\n\n.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content {\n\tpadding: var(--ck-spacing-large);\n\tmax-width: var(--ck-accessibility-help-dialog-max-width);\n\tmax-height: var(--ck-accessibility-help-dialog-max-height);\n\toverflow: auto;\n\tuser-select: text;\n\n\tborder: 1px solid transparent;\n\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t}\n\n\t* {\n\t\twhite-space: normal;\n\t}\n\n\t/* Hide the main label of the content container. */\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t& h3 {\n\t\tfont-weight: bold;\n\t\tfont-size: 1.2em;\n\t}\n\n\t& h4 {\n\t\tfont-weight: bold;\n\t\tfont-size: 1em;\n\t}\n\n\t& p,\n\t& h3,\n\t& h4,\n\t& table {\n\t\tmargin: 1em 0;\n\t}\n\n\t& dl {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: 2fr 1fr;\n\t\tborder-top: 1px solid var(--ck-accessibility-help-dialog-border-color);\n\t\tborder-bottom: none;\n\n\t\t& dt, & dd {\n\t\t\tborder-bottom: 1px solid var(--ck-accessibility-help-dialog-border-color);\n\t\t\tpadding: .4em 0;\n\t\t}\n\n\t\t& dt {\n\t\t\tgrid-column-start: 1;\n\t\t}\n\n\t\t& dd {\n\t\t\tgrid-column-start: 2;\n\t\t\ttext-align: right;\n\t\t}\n\t}\n\n\t& kbd, & code {\n\t\tdisplay: inline-block;\n\t\tbackground: var(--ck-accessibility-help-dialog-code-background-color);\n\t\tpadding: .4em;\n\t\tvertical-align: middle;\n\t\tline-height: 1;\n\t\tborder-radius: 2px;\n\t\ttext-align: center;\n\t\tfont-size: .9em;\n\t}\n\n\t& code {\n\t\tfont-family: monospace;\n\t}\n\n\t& kbd {\n\t\tmin-width: 1.8em;\n\t\tbox-shadow: 0px 1px 1px var(--ck-accessibility-help-dialog-kbd-shadow-color);\n\t\tmargin: 0 1px;\n\n\t\t& + kbd {\n\t\t\tmargin-left: 2px;\n\t\t}\n\t}\n}\n\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},1185:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,":root{--ck-color-editable-blur-selection:#d9d9d9}.ck.ck-editor__editable:not(.ck-editor__nested-editable){border-radius:0}.ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable),.ck.ck-editor__editable.ck-rounded-corners:not(.ck-editor__nested-editable){border-radius:var(--ck-border-radius)}.ck.ck-editor__editable.ck-focused:not(.ck-editor__nested-editable){border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck.ck-editor__editable_inline{border:1px solid transparent;overflow:auto;padding:0 var(--ck-spacing-standard)}.ck.ck-editor__editable_inline[dir=ltr]{text-align:left}.ck.ck-editor__editable_inline[dir=rtl]{text-align:right}.ck.ck-editor__editable_inline>:first-child{margin-top:var(--ck-spacing-large)}.ck.ck-editor__editable_inline>:last-child{margin-bottom:var(--ck-spacing-large)}.ck.ck-editor__editable_inline.ck-blurred ::selection{background:var(--ck-color-editable-blur-selection)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_n]:after{border-bottom-color:var(--ck-color-panel-background)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_s]:after{border-top-color:var(--ck-color-panel-background)}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/editorui/editorui.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAWA,MACC,0CACD,CAEA,yDCJC,eDWD,CAPA,yJCAE,qCDOF,CAJC,oEEPA,2BAA2B,CCF3B,qCAA8B,CDC9B,YFWA,CAGD,+BAGC,4BAA6B,CAF7B,aAAc,CACd,oCA6BD,CA1BC,wCACC,eACD,CAEA,wCACC,gBACD,CAGA,4CACC,kCACD,CAGA,2CAKC,qCACD,CAGA,sDACC,kDACD,CAKA,gEACC,oDACD,CAIA,gEACC,iDACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_shadow.css";\n@import "../../../mixins/_focus.css";\n@import "../../mixins/_button.css";\n\n:root {\n\t--ck-color-editable-blur-selection: hsl(0, 0%, 85%);\n}\n\n.ck.ck-editor__editable:not(.ck-editor__nested-editable) {\n\t@mixin ck-rounded-corners;\n\n\t&.ck-focused {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-inner-shadow);\n\t}\n}\n\n.ck.ck-editor__editable_inline {\n\toverflow: auto;\n\tpadding: 0 var(--ck-spacing-standard);\n\tborder: 1px solid transparent;\n\n\t&[dir="ltr"] {\n\t\ttext-align: left;\n\t}\n\n\t&[dir="rtl"] {\n\t\ttext-align: right;\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/116 */\n\t& > *:first-child {\n\t\tmargin-top: var(--ck-spacing-large);\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5/issues/847 */\n\t& > *:last-child {\n\t\t/*\n\t\t * This value should match with the default margins of the block elements (like .media or .image)\n\t\t * to avoid a content jumping when the fake selection container shows up (See https://github.com/ckeditor/ckeditor5/issues/9825).\n\t\t */\n\t\tmargin-bottom: var(--ck-spacing-large);\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5/issues/6517 */\n\t&.ck-blurred ::selection {\n\t\tbackground: var(--ck-color-editable-blur-selection);\n\t}\n}\n\n/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/111 */\n.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_n"] {\n\t&::after {\n\t\tborder-bottom-color: var(--ck-color-panel-background);\n\t}\n}\n\n.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_s"] {\n\t&::after {\n\t\tborder-top-color: var(--ck-color-panel-background);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},7913:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-form__header{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__header h2.ck-form__header__label{flex-grow:1}:root{--ck-form-header-height:44px}.ck.ck-form__header{border-bottom:1px solid var(--ck-color-base-border);height:var(--ck-form-header-height);line-height:var(--ck-form-header-height);padding:var(--ck-spacing-small) var(--ck-spacing-large)}[dir=ltr] .ck.ck-form__header>.ck-icon{margin-right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-form__header>.ck-icon{margin-left:var(--ck-spacing-medium)}.ck.ck-form__header .ck-form__header__label{--ck-font-size-base:15px;font-weight:700}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/formheader/formheader.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/formheader/formheader.css"],names:[],mappings:"AAKA,oBAIC,kBAAmB,CAHnB,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CAEjB,6BAKD,CAHC,8CACC,WACD,CCPD,MACC,4BACD,CAEA,oBAIC,mDAAoD,CAFpD,mCAAoC,CACpC,wCAAyC,CAFzC,uDAmBD,CAdC,uCAEE,qCAMF,CARA,uCAME,oCAEF,CAEA,4CACC,wBAAyB,CACzB,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-form__header {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\talign-items: center;\n\tjustify-content: space-between;\n\n\t& h2.ck-form__header__label {\n\t\tflex-grow: 1;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n:root {\n\t--ck-form-header-height: 44px;\n}\n\n.ck.ck-form__header {\n\tpadding: var(--ck-spacing-small) var(--ck-spacing-large);\n\theight: var(--ck-form-header-height);\n\tline-height: var(--ck-form-header-height);\n\tborder-bottom: 1px solid var(--ck-color-base-border);\n\n\t& > .ck-icon {\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-right: var(--ck-spacing-medium);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-left: var(--ck-spacing-medium);\n\t\t}\n\t}\n\n\t& .ck-form__header__label {\n\t\t--ck-font-size-base: 15px;\n\t\tfont-weight: bold;\n\t}\n}\n'],sourceRoot:""}]);const a=s},9529:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-highlighted-text mark{background:var(--ck-color-highlight-background);font-size:inherit;font-weight:inherit;line-height:inherit;vertical-align:initial}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/highlightedtext/highlightedtext.css"],names:[],mappings:"AAKA,6BACC,+CAAgD,CAIhD,iBAAkB,CAFlB,mBAAoB,CACpB,mBAAoB,CAFpB,sBAID",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-highlighted-text mark {\n\tbackground: var(--ck-color-highlight-background);\n\tvertical-align: initial;\n\tfont-weight: inherit;\n\tline-height: inherit;\n\tfont-size: inherit;\n}\n"],sourceRoot:""}]);const a=s},7621:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-icon{vertical-align:middle}:root{--ck-icon-size:calc(var(--ck-line-height-base)*var(--ck-font-size-normal));--ck-icon-font-size:.8333350694em}.ck.ck-icon{font-size:var(--ck-icon-font-size);height:var(--ck-icon-size);width:var(--ck-icon-size);will-change:transform}.ck.ck-icon,.ck.ck-icon *{cursor:inherit}.ck.ck-icon.ck-icon_inherit-color,.ck.ck-icon.ck-icon_inherit-color *{color:inherit}.ck.ck-icon.ck-icon_inherit-color :not([fill]){fill:currentColor}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/icon/icon.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/icon/icon.css"],names:[],mappings:"AAKA,YACC,qBACD,CCFA,MACC,0EAA6E,CAC7E,iCACD,CAEA,YAKC,kCAAmC,CAHnC,0BAA2B,CAD3B,yBAA0B,CAU1B,qBAoBD,CAlBC,0BALA,cAQA,CAMC,sEACC,aAMD,CAJC,+CAEC,iBACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-icon {\n\tvertical-align: middle;\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-icon-size: calc(var(--ck-line-height-base) * var(--ck-font-size-normal));\n\t--ck-icon-font-size: .8333350694em;\n}\n\n.ck.ck-icon {\n\twidth: var(--ck-icon-size);\n\theight: var(--ck-icon-size);\n\n\t/* Multiplied by the height of the line in "px" should give SVG "viewport" dimensions */\n\tfont-size: var(--ck-icon-font-size);\n\n\t/* Inherit cursor style (#5). */\n\tcursor: inherit;\n\n\t/* This will prevent blurry icons on Firefox. See #340. */\n\twill-change: transform;\n\n\t& * {\n\t\t/* Inherit cursor style (#5). */\n\t\tcursor: inherit;\n\t}\n\n\t/* Allows dynamic coloring of an icon by inheriting its color from the parent. */\n\t&.ck-icon_inherit-color {\n\t\tcolor: inherit;\n\n\t\t& * {\n\t\t\tcolor: inherit;\n\n\t\t\t&:not([fill]) {\n\t\t\t\t/* Needed by FF. */\n\t\t\t\tfill: currentColor;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},253:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,":root{--ck-input-width:18em;--ck-input-text-width:var(--ck-input-width)}.ck.ck-input{border-radius:0}.ck-rounded-corners .ck.ck-input,.ck.ck-input.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input{background:var(--ck-color-input-background);border:1px solid var(--ck-color-input-border);min-height:var(--ck-ui-component-min-height);min-width:var(--ck-input-width);padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);transition:box-shadow .1s ease-in-out,border .1s ease-in-out}@media (prefers-reduced-motion:reduce){.ck.ck-input{transition:none}}.ck.ck-input:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-input[readonly]{background:var(--ck-color-input-disabled-background);border:1px solid var(--ck-color-input-disabled-border);color:var(--ck-color-input-disabled-text)}.ck.ck-input[readonly]:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-input.ck-error{animation:ck-input-shake .3s ease both;border-color:var(--ck-color-input-error-border)}@media (prefers-reduced-motion:reduce){.ck.ck-input.ck-error{animation:none}}.ck.ck-input.ck-error:focus{box-shadow:var(--ck-focus-error-outer-shadow),0 0}@keyframes ck-input-shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/input/input.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AASA,MACC,qBAAsB,CAGtB,2CACD,CAEA,aCLC,eDmDD,CA9CA,iECDE,qCD+CF,CA9CA,aAGC,2CAA4C,CAC5C,6CAA8C,CAK9C,4CAA6C,CAH7C,+BAAgC,CADhC,6DAA8D,CAO9D,4DAkCD,CAhCC,uCAdD,aAeE,eA+BF,CA9BC,CAEA,mBEvBA,2BAA2B,CCF3B,2CAA8B,CDC9B,YF2BA,CAEA,uBAEC,oDAAqD,CADrD,sDAAuD,CAEvD,yCAMD,CAJC,6BGnCD,oDHsCC,CAGD,sBAEC,sCAAuC,CADvC,+CAUD,CAPC,uCAJD,sBAKE,cAMF,CALC,CAEA,4BGjDD,iDHmDC,CAIF,0BACC,IACC,0BACD,CAEA,IACC,yBACD,CAEA,IACC,0BACD,CAEA,IACC,yBACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_focus.css";\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-input-width: 18em;\n\n\t/* Backward compatibility. */\n\t--ck-input-text-width: var(--ck-input-width);\n}\n\n.ck.ck-input {\n\t@mixin ck-rounded-corners;\n\n\tbackground: var(--ck-color-input-background);\n\tborder: 1px solid var(--ck-color-input-border);\n\tpadding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);\n\tmin-width: var(--ck-input-width);\n\n\t/* This is important to stay of the same height as surrounding buttons */\n\tmin-height: var(--ck-ui-component-min-height);\n\n\t/* Apply some smooth transition to the box-shadow and border. */\n\ttransition: box-shadow .1s ease-in-out, border .1s ease-in-out;\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\ttransition: none;\n\t}\n\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t}\n\n\t&[readonly] {\n\t\tborder: 1px solid var(--ck-color-input-disabled-border);\n\t\tbackground: var(--ck-color-input-disabled-background);\n\t\tcolor: var(--ck-color-input-disabled-text);\n\n\t\t&:focus {\n\t\t\t/* The read-only input should have a slightly less visible shadow when focused. */\n\t\t\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\n\t\t}\n\t}\n\n\t&.ck-error {\n\t\tborder-color: var(--ck-color-input-error-border);\n\t\tanimation: ck-input-shake .3s ease both;\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\tanimation: none;\n\t\t}\n\n\t\t&:focus {\n\t\t\t@mixin ck-box-shadow var(--ck-focus-error-outer-shadow);\n\t\t}\n\t}\n}\n\n@keyframes ck-input-shake {\n\t20% {\n\t\ttransform: translateX(-2px);\n\t}\n\n\t40% {\n\t\ttransform: translateX(2px);\n\t}\n\n\t60% {\n\t\ttransform: translateX(-1px);\n\t}\n\n\t80% {\n\t\ttransform: translateX(1px);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},7801:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/label/label.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/label/label.css"],names:[],mappings:"AAKA,aACC,aACD,CAEA,mBACC,YACD,CCNA,aACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-label {\n\tdisplay: block;\n}\n\n.ck.ck-voice-label {\n\tdisplay: none;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-label {\n\tfont-weight: bold;\n}\n"],sourceRoot:""}]);const a=s},4962:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{display:flex;position:relative}.ck.ck-labeled-field-view .ck.ck-label{display:block;position:absolute}:root{--ck-labeled-field-view-transition:.1s cubic-bezier(0,0,0.24,0.95);--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-spacing-medium);--ck-labeled-field-label-default-position-x:var(--ck-spacing-medium);--ck-labeled-field-label-default-position-y:calc(var(--ck-font-size-base)*0.6);--ck-color-labeled-field-label-background:var(--ck-color-base-background)}.ck.ck-labeled-field-view{border-radius:0}.ck-rounded-corners .ck.ck-labeled-field-view,.ck.ck-labeled-field-view.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{width:100%}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{top:0}[dir=ltr] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{left:0;transform:translate(var(--ck-spacing-medium),-6px) scale(.75);transform-origin:0 0}[dir=rtl] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{right:0;transform:translate(calc(var(--ck-spacing-medium)*-1),-6px) scale(.75);transform-origin:100% 0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:var(--ck-color-labeled-field-label-background);font-weight:400;line-height:normal;max-width:100%;overflow:hidden;padding:0 calc(var(--ck-font-size-tiny)*.5);pointer-events:none;text-overflow:ellipsis;transition:transform var(--ck-labeled-field-view-transition),padding var(--ck-labeled-field-view-transition),background var(--ck-labeled-field-view-transition)}@media (prefers-reduced-motion:reduce){.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transition:none}}.ck.ck-labeled-field-view.ck-error .ck-input:not([readonly])+.ck.ck-label,.ck.ck-labeled-field-view.ck-error>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view .ck-labeled-field-view__status{font-size:var(--ck-font-size-small);margin-top:var(--ck-spacing-small);white-space:normal}.ck.ck-labeled-field-view .ck-labeled-field-view__status.ck-labeled-field-view__status_error{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view.ck-disabled>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-input-disabled-text)}[dir=ltr] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=ltr] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(var(--ck-labeled-field-label-default-position-x),var(--ck-labeled-field-label-default-position-y)) scale(1)}[dir=rtl] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=rtl] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(calc(var(--ck-labeled-field-label-default-position-x)*-1),var(--ck-labeled-field-label-default-position-y)) scale(1)}.ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:transparent;max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width));padding:0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck.ck-button{background:transparent}.ck.ck-labeled-field-view.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck-button>.ck-button__label{opacity:0}.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown+.ck-label{max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard))}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/labeledfield/labeledfieldview.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAMC,mEACC,YAAa,CACb,iBACD,CAEA,uCACC,aAAc,CACd,iBACD,CCND,MACC,kEAAsE,CACtE,gFAAiF,CACjF,oEAAqE,CACrE,8EAAiF,CACjF,yEACD,CAEA,0BCLC,eDmHD,CA9GA,2FCDE,qCD+GF,CA3GC,mEACC,UAwCD,CAtCC,gFACC,KAoCD,CArCA,0FAIE,MAAS,CAGT,6DAA+D,CAF/D,oBAgCF,CArCA,0FAWE,OAAU,CAEV,sEAA0E,CAD1E,uBAyBF,CArCA,gFAkBC,yDAA0D,CAG1D,eAAmB,CADnB,kBAAoB,CAOpB,cAAe,CAFf,eAAgB,CANhB,2CAA8C,CAH9C,mBAAoB,CAQpB,sBAAuB,CAKvB,+JAQD,CAHC,uCAlCD,gFAmCE,eAEF,CADC,CASD,mKACC,gCACD,CAGD,yDACC,mCAAoC,CACpC,kCAAmC,CAInC,kBAKD,CAHC,6FACC,gCACD,CAID,4OAEC,yCACD,CAIA,2XAGE,+HAYF,CAfA,2XAOE,wIAQF,CAfA,uWAaC,sBAAuB,CAFvB,iEAAkE,CAGlE,SACD,CAKA,8FACC,sBACD,CAGA,yIACC,SACD,CAGA,kMACC,8HACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-labeled-field-view {\n\t& > .ck.ck-labeled-field-view__input-wrapper {\n\t\tdisplay: flex;\n\t\tposition: relative;\n\t}\n\n\t& .ck.ck-label {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n@import "../../../mixins/_rounded.css";\n\n:root {\n\t--ck-labeled-field-view-transition: .1s cubic-bezier(0, 0, 0.24, 0.95);\n\t--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-spacing-medium);\n\t--ck-labeled-field-label-default-position-x: var(--ck-spacing-medium);\n\t--ck-labeled-field-label-default-position-y: calc(0.6 * var(--ck-font-size-base));\n\t--ck-color-labeled-field-label-background: var(--ck-color-base-background);\n}\n\n.ck.ck-labeled-field-view {\n\t@mixin ck-rounded-corners;\n\n\t& > .ck.ck-labeled-field-view__input-wrapper {\n\t\twidth: 100%;\n\n\t\t& > .ck.ck-label {\n\t\t\ttop: 0px;\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tleft: 0px;\n\t\t\t\ttransform-origin: 0 0;\n\t\t\t\t/* By default, display the label scaled down above the field. */\n\t\t\t\ttransform: translate(var(--ck-spacing-medium), -6px) scale(.75);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tright: 0px;\n\t\t\t\ttransform-origin: 100% 0;\n\t\t\t\ttransform: translate(calc(-1 * var(--ck-spacing-medium)), -6px) scale(.75);\n\t\t\t}\n\n\t\t\tpointer-events: none;\n\n\t\t\tbackground: var(--ck-color-labeled-field-label-background);\n\t\t\tpadding: 0 calc(.5 * var(--ck-font-size-tiny));\n\t\t\tline-height: initial;\n\t\t\tfont-weight: normal;\n\n\t\t\t/* Prevent overflow when the label is longer than the input */\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\n\t\t\tmax-width: 100%;\n\n\t\t\ttransition:\n\t\t\t\ttransform var(--ck-labeled-field-view-transition),\n\t\t\t\tpadding var(--ck-labeled-field-view-transition),\n\t\t\t\tbackground var(--ck-labeled-field-view-transition);\n\n\t\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t\ttransition: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t&.ck-error {\n\t\t& > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\n\t\t& .ck-input:not([readonly]) + .ck.ck-label {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\t}\n\n\t& .ck-labeled-field-view__status {\n\t\tfont-size: var(--ck-font-size-small);\n\t\tmargin-top: var(--ck-spacing-small);\n\n\t\t/* Let the info wrap to the next line to avoid stretching the layout horizontally.\n\t\tThe status could be very long. */\n\t\twhite-space: normal;\n\n\t\t&.ck-labeled-field-view__status_error {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\t}\n\n\t/* Disabled fields and fields that have no focus should fade out. */\n\t&.ck-disabled > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\tcolor: var(--ck-color-input-disabled-text);\n\t}\n\n\t/* Fields that are disabled or not focused and without a placeholder should have full-sized labels. */\n\t/* stylelint-disable-next-line no-descending-specificity */\n\t&.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\t@mixin ck-dir ltr {\n\t\t\ttransform: translate(var(--ck-labeled-field-label-default-position-x), var(--ck-labeled-field-label-default-position-y)) scale(1);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttransform: translate(calc(-1 * var(--ck-labeled-field-label-default-position-x)), var(--ck-labeled-field-label-default-position-y)) scale(1);\n\t\t}\n\n\t\t/* Compensate for the default translate position. */\n\t\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width));\n\n\t\tbackground: transparent;\n\t\tpadding: 0;\n\t}\n\n\t/*------ DropdownView integration ----------------------------------------------------------------------------------- */\n\n\t/* Make sure dropdown\' background color in any of dropdown\'s state does not collide with labeled field. */\n\t& > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck.ck-button {\n\t\tbackground: transparent;\n\t}\n\n\t/* When the dropdown is "empty", the labeled field label replaces its label. */\n\t&.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck-button > .ck-button__label {\n\t\topacity: 0;\n\t}\n\n\t/* Make sure the label of the empty, unfocused input does not cover the dropdown arrow. */\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown + .ck-label {\n\t\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard));\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},5199:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-list{display:flex;flex-direction:column;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-list .ck-list__item,.ck.ck-list .ck-list__separator{display:block}.ck.ck-list .ck-list__item>:focus{position:relative;z-index:var(--ck-z-default)}.ck.ck-list{border-radius:0}.ck-rounded-corners .ck.ck-list,.ck.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-list{background:var(--ck-color-list-background);list-style-type:none;padding:var(--ck-spacing-small) 0}.ck.ck-list__item{cursor:default;min-width:15em}.ck.ck-list__item>.ck-button:not(.ck-list-item-button){border-radius:0;min-height:unset;padding:var(--ck-spacing-tiny) calc(var(--ck-spacing-standard)*2);width:100%}[dir=ltr] .ck.ck-list__item>.ck-button:not(.ck-list-item-button){text-align:left}[dir=rtl] .ck.ck-list__item>.ck-button:not(.ck-list-item-button){text-align:right}.ck.ck-list__item>.ck-button:not(.ck-list-item-button) .ck-button__label{line-height:calc(var(--ck-line-height-base)*var(--ck-font-size-base))}.ck.ck-list__item>.ck-button:not(.ck-list-item-button):active{box-shadow:none}.ck.ck-list__item>.ck-button.ck-on:not(.ck-list-item-button){background:var(--ck-color-list-button-on-background);color:var(--ck-color-list-button-on-text)}.ck.ck-list__item>.ck-button.ck-on:not(.ck-list-item-button):active{box-shadow:none}.ck.ck-list__item>.ck-button.ck-on:not(.ck-list-item-button):hover:not(.ck-disabled){background:var(--ck-color-list-button-on-background-focus)}.ck.ck-list__item>.ck-button.ck-on:not(.ck-list-item-button):focus:not(.ck-disabled){border-color:var(--ck-color-base-background)}.ck.ck-list__item>.ck-button:not(.ck-list-item-button):hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background)}.ck.ck-list__item>.ck-button.ck-switchbutton.ck-on{background:var(--ck-color-list-background);color:inherit}.ck.ck-list__item>.ck-button.ck-switchbutton.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background);color:inherit}.ck-list .ck-list__group{padding-top:var(--ck-spacing-medium)}.ck-list .ck-list__group:first-child{padding-top:0}:not(.ck-hidden)~.ck-list .ck-list__group{border-top:1px solid var(--ck-color-base-border)}.ck-list .ck-list__group>.ck-label{font-size:11px;font-weight:700;padding:var(--ck-spacing-medium) var(--ck-spacing-large) 0}.ck.ck-list__separator{background:var(--ck-color-base-border);height:1px;margin:var(--ck-spacing-small) 0;width:100%}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/list/list.css","webpack://./../ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/list/list.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,YAGC,YAAa,CACb,qBAAsB,CCFtB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBDaD,CAZC,2DAEC,aACD,CAKA,kCACC,iBAAkB,CAClB,2BACD,CEdD,YCCC,eDOD,CARA,+DCKE,qCDGF,CARA,YAIC,0CAA2C,CAD3C,oBAAqB,CAIrB,iCACD,CAEA,kBACC,cAAe,CAGf,cA4DD,CA1DC,uDAIC,eAAgB,CAFhB,gBAAiB,CADjB,iEAAoE,CAEpE,UAwCD,CA3CA,iEAOE,eAoCF,CA3CA,iEAWE,gBAgCF,CA7BC,yEAEC,qEACD,CAEA,8DACC,eACD,CAEA,6DACC,oDAAqD,CACrD,yCAaD,CAXC,oEACC,eACD,CAEA,qFACC,0DACD,CAEA,qFACC,4CACD,CAGD,+EACC,uDACD,CAMA,mDACC,0CAA2C,CAC3C,aAMD,CAJC,2EACC,uDAAwD,CACxD,aACD,CAKH,yBACC,oCAiBD,CAdC,qCACC,aACD,CAGA,0CACC,gDACD,CAEA,mCACC,cAAe,CACf,eAAiB,CACjB,0DACD,CAGD,uBAGC,sCAAuC,CAFvC,UAAW,CAKX,gCAAiC,CAJjC,UAKD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../mixins/_unselectable.css";\n\n.ck.ck-list {\n\t@mixin ck-unselectable;\n\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t& .ck-list__item,\n\t& .ck-list__separator {\n\t\tdisplay: block;\n\t}\n\n\t/* Make sure that whatever child of the list item gets focus, it remains on the\n\ttop. Thanks to that, styles like box-shadow, outline, etc. are not masked by\n\tadjacent list items. */\n\t& .ck-list__item > *:focus {\n\t\tposition: relative;\n\t\tz-index: var(--ck-z-default);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-list {\n\t@mixin ck-rounded-corners;\n\n\tlist-style-type: none;\n\tbackground: var(--ck-color-list-background);\n\n\t/* A spacing at the beginning and end of the list */\n\tpadding: var(--ck-spacing-small) 0;\n}\n\n.ck.ck-list__item {\n\tcursor: default;\n\n\t/* Almost as wide as menu bar items. */\n\tmin-width: 15em;\n\n\t& > .ck-button:not(.ck-list-item-button) {\n\t\tpadding: var(--ck-spacing-tiny) calc(2 * var(--ck-spacing-standard));\n\t\tmin-height: unset;\n\t\twidth: 100%;\n\t\tborder-radius: 0;\n\n\t\t@mixin ck-dir ltr {\n\t\t\ttext-align: left;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttext-align: right;\n\t\t}\n\n\t\t& .ck-button__label {\n\t\t\t/* https://github.com/ckeditor/ckeditor5-heading/issues/63 */\n\t\t\tline-height: calc(var(--ck-line-height-base) * var(--ck-font-size-base));\n\t\t}\n\n\t\t&:active {\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t&.ck-on {\n\t\t\tbackground: var(--ck-color-list-button-on-background);\n\t\t\tcolor: var(--ck-color-list-button-on-text);\n\n\t\t\t&:active {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\n\t\t\t&:hover:not(.ck-disabled) {\n\t\t\t\tbackground: var(--ck-color-list-button-on-background-focus);\n\t\t\t}\n\n\t\t\t&:focus:not(.ck-disabled) {\n\t\t\t\tborder-color: var(--ck-color-base-background);\n\t\t\t}\n\t\t}\n\n\t\t&:hover:not(.ck-disabled) {\n\t\t\tbackground: var(--ck-color-list-button-hover-background);\n\t\t}\n\t}\n\n\t/* It\'s unnecessary to change the background/text of a switch toggle; it has different ways\n\tof conveying its state (like the switcher) */\n\t& > .ck-button.ck-switchbutton {\n\t\t&.ck-on {\n\t\t\tbackground: var(--ck-color-list-background);\n\t\t\tcolor: inherit;\n\n\t\t\t&:hover:not(.ck-disabled) {\n\t\t\t\tbackground: var(--ck-color-list-button-hover-background);\n\t\t\t\tcolor: inherit;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck-list .ck-list__group {\n\tpadding-top: var(--ck-spacing-medium);\n\n\t/* Lists come with an inner vertical padding. Don\'t duplicate it. */\n\t&:first-child {\n\t\tpadding-top: 0;\n\t}\n\n\t/* The group should have a border when it\'s not the first item. */\n\t*:not(.ck-hidden) ~ & {\n\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t}\n\n\t& > .ck-label {\n\t\tfont-size: 11px;\n\t\tfont-weight: bold;\n\t\tpadding: var(--ck-spacing-medium) var(--ck-spacing-large) 0;\n\t}\n}\n\n.ck.ck-list__separator {\n\theight: 1px;\n\twidth: 100%;\n\tbackground: var(--ck-color-base-border);\n\n\t/* Give the separator some air */\n\tmargin: var(--ck-spacing-small) 0;\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},497:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-menu-bar{background:var(--ck-color-base-background);border:1px solid var(--ck-color-toolbar-border);display:flex;flex-wrap:wrap;gap:var(--ck-spacing-small);justify-content:flex-start;padding:var(--ck-spacing-small);width:100%}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubar.css"],names:[],mappings:"AAKA,gBAIC,0CAA2C,CAG3C,+CAAgD,CANhD,YAAa,CACb,cAAe,CAIf,2BAA4B,CAH5B,0BAA2B,CAE3B,+BAAgC,CAGhC,UACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-menu-bar {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tjustify-content: flex-start;\n\tbackground: var(--ck-color-base-background);\n\tpadding: var(--ck-spacing-small);\n\tgap: var(--ck-spacing-small);\n\tborder: 1px solid var(--ck-color-toolbar-border);\n\twidth: 100%;\n}\n"],sourceRoot:""}]);const a=s},4:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-menu-bar__menu{display:block;font-size:inherit;position:relative}.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level{max-width:100%}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/menubar/menubarmenu.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubarmenu.css"],names:[],mappings:"AAKA,sBACC,aAAc,CCCd,iBAAkB,CDAlB,iBACD,CCCC,kDACC,cACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-menu-bar__menu {\n\tdisplay: block;\n\tposition: relative;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-menu-bar__menu {\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t&.ck-menu-bar__menu_top-level {\n\t\tmax-width: 100%;\n\t}\n}\n"],sourceRoot:""}]);const a=s},3344:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-menu-bar__menu>.ck-menu-bar__menu__button>.ck-menu-bar__menu__button__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-menu-bar__menu>.ck-menu-bar__menu__button{width:100%}.ck.ck-menu-bar__menu>.ck-menu-bar__menu__button>.ck-button__label{flex-grow:1;overflow:hidden;text-overflow:ellipsis}.ck.ck-menu-bar__menu>.ck-menu-bar__menu__button.ck-disabled>.ck-button__label{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-menu-bar__menu>.ck-menu-bar__menu__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-menu-bar__menu>.ck-menu-bar__menu__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level>.ck-menu-bar__menu__button{min-height:unset;padding:var(--ck-spacing-small) var(--ck-spacing-medium)}.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level>.ck-menu-bar__menu__button .ck-button__label{line-height:unset;width:unset}.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level>.ck-menu-bar__menu__button.ck-on{border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level>.ck-menu-bar__menu__button .ck-icon{display:none}.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button{border-radius:0}.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button>.ck-menu-bar__menu__button__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button>.ck-menu-bar__menu__button__arrow{margin-left:var(--ck-spacing-standard);margin-right:calc(var(--ck-spacing-small)*-1);transform:rotate(-90deg)}[dir=rtl] .ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button>.ck-menu-bar__menu__button__arrow{left:var(--ck-spacing-standard);margin-left:calc(var(--ck-spacing-small)*-1);margin-right:var(--ck-spacing-small);transform:rotate(90deg)}.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button.ck-disabled>.ck-menu-bar__menu__button__arrow{opacity:var(--ck-disabled-opacity)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/menubar/menubarmenubutton.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubarmenubutton.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AAMC,mFACC,mBAAoB,CACpB,2BACD,CCIA,iDACC,UAuBD,CArBC,mEACC,WAAY,CACZ,eAAgB,CAChB,sBACD,CAEA,+ECbD,kCDeC,CAGC,qFACC,oCACD,CAIA,qFACC,qCACD,CAOF,6EAEC,gBAAiB,CADjB,wDAgBD,CAbC,+FAEC,iBAAkB,CADlB,WAED,CAEA,mFACC,2BAA4B,CAC5B,4BACD,CAEA,sFACC,YACD,CAMD,mFACC,eA+BD,CA7BC,qHACC,mCAuBD,CAxBA,+HAOE,sCAAuC,CAGvC,6CAAgD,CANhD,wBAoBF,CAxBA,+HAgBE,+BAAgC,CAMhC,4CAA+C,CAH/C,oCAAqC,CALrC,uBAUF,CAEA,iICpFD,kCDsFC",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-menu-bar__menu {\n\t& > .ck-menu-bar__menu__button > .ck-menu-bar__menu__button__arrow {\n\t\tpointer-events: none;\n\t\tz-index: var(--ck-z-default);\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_disabled.css";\n@import "../../mixins/_button.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-menu-bar__menu {\n\t/*\n\t * All menu buttons.\n\t */\n\t& > .ck-menu-bar__menu__button {\n\t\twidth: 100%;\n\n\t\t& > .ck-button__label {\n\t\t\tflex-grow: 1;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t&.ck-disabled > .ck-button__label {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t@mixin ck-dir ltr {\n\t\t\t&:not(.ck-button_with-text) {\n\t\t\t\tpadding-left: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t&:not(.ck-button_with-text) {\n\t\t\t\tpadding-right: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t * Top-level menu buttons only.\n\t */\n\t&.ck-menu-bar__menu_top-level > .ck-menu-bar__menu__button {\n\t\tpadding: var(--ck-spacing-small) var(--ck-spacing-medium);\n\t\tmin-height: unset;\n\n\t\t& .ck-button__label {\n\t\t\twidth: unset;\n\t\t\tline-height: unset;\n\t\t}\n\n\t\t&.ck-on {\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t& .ck-icon {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t/*\n\t * Sub-menu buttons.\n\t */\n\t&:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button {\n\t\tborder-radius: 0;\n\n\t\t& > .ck-menu-bar__menu__button__arrow {\n\t\t\twidth: var(--ck-dropdown-arrow-size);\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\ttransform: rotate(-90deg);\n\n\t\t\t\t/* A space to accommodate the triangle. */\n\t\t\t\tmargin-left: var(--ck-spacing-standard);\n\n\t\t\t\t/* Nudge the arrow gently to the right because its center of gravity is to the left */\n\t\t\t\tmargin-right: calc(-1 * var(--ck-spacing-small));\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\ttransform: rotate(90deg);\n\n\t\t\t\tleft: var(--ck-spacing-standard);\n\n\t\t\t\t/* A space to accommodate the triangle. */\n\t\t\t\tmargin-right: var(--ck-spacing-small);\n\n\t\t\t\t/* Nudge the arrow gently to the left because its center of gravity is to the right (after rotation). */\n\t\t\t\tmargin-left: calc(-1 * var(--ck-spacing-small));\n\t\t\t}\n\t\t}\n\n\t\t&.ck-disabled > .ck-menu-bar__menu__button__arrow {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n"],sourceRoot:""}]);const a=s},9481:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,":root{--ck-menu-bar-menu-item-min-width:18em}.ck.ck-menu-bar__menu .ck.ck-menu-bar__menu__item{min-width:var(--ck-menu-bar-menu-item-min-width)}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubarmenulistitem.css"],names:[],mappings:"AAKA,MACC,sCACD,CAEA,kDACC,gDACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-menu-bar-menu-item-min-width: 18em;\n}\n\n.ck.ck-menu-bar__menu .ck.ck-menu-bar__menu__item {\n\tmin-width: var(--ck-menu-bar-menu-item-min-width);\n}\n"],sourceRoot:""}]);const a=s},977:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button{border-radius:0}.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button>.ck-spinner-container,.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button>.ck-spinner-container .ck-spinner{--ck-toolbar-spinner-size:20px}.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button>.ck-spinner-container{font-size:var(--ck-icon-font-size)}[dir=ltr] .ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button>.ck-spinner-container{margin-right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button>.ck-spinner-container{margin-left:var(--ck-spacing-medium)}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubarmenulistitembutton.css"],names:[],mappings:"AAWC,iEACC,eAoBD,CAlBC,0LAGC,8BACD,CAEA,uFAEC,kCASD,CAXA,iGAKE,qCAMF,CAXA,iGASE,oCAEF",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-menu-bar__menu {\n\t/*\n\t * List item buttons.\n\t */\n\t& .ck-button.ck-menu-bar__menu__item__button {\n\t\tborder-radius: 0;\n\n\t\t& > .ck-spinner-container,\n\t\t& > .ck-spinner-container .ck-spinner {\n\t\t\t/* These styles correspond to .ck-icon so that the spinner seamlessly replaces the icon. */\n\t\t\t--ck-toolbar-spinner-size: 20px;\n\t\t}\n\n\t\t& > .ck-spinner-container {\n\t\t\t/* This ensures margins corresponding to the .ck-icon. */\n\t\t\tfont-size: var(--ck-icon-font-size);\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-right: var(--ck-spacing-medium);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-left: var(--ck-spacing-medium);\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n'],sourceRoot:""}]);const a=s},9108:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,":root{--ck-menu-bar-menu-max-width:75vw;--ck-menu-bar-nested-menu-horizontal-offset:5px}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel{max-width:var(--ck-menu-bar-menu-max-width);position:absolute;z-index:var(--ck-z-panel)}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ne,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_nw{bottom:100%}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_se,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_sw{bottom:auto;top:100%}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ne,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_se{left:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_nw,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_sw{right:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_en,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_es{left:calc(100% - var(--ck-menu-bar-nested-menu-horizontal-offset))}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_es{top:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_en{bottom:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_wn,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ws{right:calc(100% - var(--ck-menu-bar-nested-menu-horizontal-offset))}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ws{top:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_wn{bottom:0}:root{--ck-menu-bar-menu-panel-max-width:75vw}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel{border-radius:0}.ck-rounded-corners .ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel{background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;box-shadow:var(--ck-drop-shadow),0 0;height:fit-content;max-width:var(--ck-menu-bar-menu-panel-max-width)}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_es,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_se{border-top-left-radius:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_sw,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ws{border-top-right-radius:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_en,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ne{border-bottom-left-radius:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_nw,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_wn{border-bottom-right-radius:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel:focus{outline:none}.ck.ck-menu-bar .ck-list-item-button:active,.ck.ck-menu-bar .ck-list-item-button:focus{border-color:transparent;box-shadow:none}.ck.ck-menu-bar.ck-menu-bar_focus-border-enabled .ck-list-item-button:active,.ck.ck-menu-bar.ck-menu-bar_focus-border-enabled .ck-list-item-button:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none;position:relative;z-index:2}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/menubar/menubarmenupanel.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubarmenupanel.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_focus.css"],names:[],mappings:"AAKA,MACC,iCAAkC,CAClC,+CACD,CAEA,mDAEC,2CAA4C,CAC5C,iBAAkB,CAFlB,yBAkDD,CA9CC,gLAEC,WACD,CAEA,gLAGC,WAAY,CADZ,QAED,CAEA,gLAEC,MACD,CAEA,gLAEC,OACD,CAEA,gLAEC,kEACD,CAEA,wFACC,KACD,CAEA,wFACC,QACD,CAEA,gLAEC,mEACD,CAEA,wFACC,KACD,CAEA,wFACC,QACD,CCnDD,MACC,uCACD,CAEA,mDCFC,eDoCD,CAlCA,6ICEE,qCDgCF,CAlCA,mDAIC,oDAAqD,CACrD,sDAAuD,CACvD,QAAS,CEVT,oCAA8B,CFW9B,kBAAmB,CACnB,iDA0BD,CAvBC,gLAEC,wBACD,CAEA,gLAEC,yBACD,CAEA,gLAEC,2BACD,CAEA,gLAEC,4BACD,CAEA,yDACC,YACD,CAKC,uFAEC,wBAAyB,CACzB,eACD,CAIA,yJGhDD,2BAA2B,CDF3B,2CAA8B,CCC9B,YAAa,CHoDX,iBAAkB,CAClB,SAID",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-menu-bar-menu-max-width: 75vw;\n\t--ck-menu-bar-nested-menu-horizontal-offset: 5px;\n}\n\n.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel {\n\tz-index: var(--ck-z-panel);\n\tmax-width: var(--ck-menu-bar-menu-max-width);\n\tposition: absolute;\n\n\t&.ck-menu-bar__menu__panel_position_ne,\n\t&.ck-menu-bar__menu__panel_position_nw {\n\t\tbottom: 100%;\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_se,\n\t&.ck-menu-bar__menu__panel_position_sw {\n\t\ttop: 100%;\n\t\tbottom: auto;\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_ne,\n\t&.ck-menu-bar__menu__panel_position_se {\n\t\tleft: 0px;\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_nw,\n\t&.ck-menu-bar__menu__panel_position_sw {\n\t\tright: 0px;\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_es,\n\t&.ck-menu-bar__menu__panel_position_en {\n\t\tleft: calc( 100% - var(--ck-menu-bar-nested-menu-horizontal-offset) );\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_es {\n\t\ttop: 0px;\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_en {\n\t\tbottom: 0px;\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_ws,\n\t&.ck-menu-bar__menu__panel_position_wn {\n\t\tright: calc( 100% - var(--ck-menu-bar-nested-menu-horizontal-offset) );\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_ws {\n\t\ttop: 0px;\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_wn {\n\t\tbottom: 0px;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_shadow.css";\n@import "../../../mixins/_focus.css";\n\n:root {\n\t--ck-menu-bar-menu-panel-max-width: 75vw;\n}\n\n.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel {\n\t@mixin ck-rounded-corners;\n\t@mixin ck-drop-shadow;\n\n\tbackground: var(--ck-color-dropdown-panel-background);\n\tborder: 1px solid var(--ck-color-dropdown-panel-border);\n\tbottom: 0;\n\theight: fit-content;\n\tmax-width: var(--ck-menu-bar-menu-panel-max-width);\n\n\t/* Corner border radius consistent with the button. */\n\t&.ck-menu-bar__menu__panel_position_es,\n\t&.ck-menu-bar__menu__panel_position_se {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_ws,\n\t&.ck-menu-bar__menu__panel_position_sw {\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_en,\n\t&.ck-menu-bar__menu__panel_position_ne {\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_wn,\n\t&.ck-menu-bar__menu__panel_position_nw {\n\t\tborder-bottom-right-radius: 0;\n\t}\n\n\t&:focus {\n\t\toutline: none;\n\t}\n}\n\n.ck.ck-menu-bar {\n\t& .ck-list-item-button {\n\t\t&:focus,\n\t\t&:active {\n\t\t\tborder-color: transparent;\n\t\t\tbox-shadow: none;\n\t\t}\n\t}\n\n\t&.ck-menu-bar_focus-border-enabled .ck-list-item-button {\n\t\t&:focus,\n\t\t&:active {\n\t\t\t/* Fix truncated shadows due to rendering order. */\n\t\t\tposition: relative;\n\t\t\tz-index: 2;\n\n\t\t\t@mixin ck-focus-ring;\n\t\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n"],sourceRoot:""}]);const a=s},3710:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,':root{--ck-balloon-panel-arrow-z-index:calc(var(--ck-z-default) - 3)}.ck.ck-balloon-panel{display:none;position:absolute;z-index:var(--ck-z-panel)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{content:"";position:absolute}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_n]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_n]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_s]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_s]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel.ck-balloon-panel_visible{display:block}:root{--ck-balloon-border-width:1px;--ck-balloon-arrow-offset:2px;--ck-balloon-arrow-height:10px;--ck-balloon-arrow-half-width:8px;--ck-balloon-arrow-drop-shadow:0 2px 2px var(--ck-color-shadow-drop)}.ck.ck-balloon-panel{border-radius:0}.ck-rounded-corners .ck.ck-balloon-panel,.ck.ck-balloon-panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-balloon-panel{background:var(--ck-color-panel-background);border:var(--ck-balloon-border-width) solid var(--ck-color-panel-border);box-shadow:var(--ck-drop-shadow),0 0;min-height:15px}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{border-style:solid;height:0;width:0}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-width:0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_n]:before{border-color:transparent transparent var(--ck-color-panel-border) transparent;margin-top:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_n]:after{border-color:transparent transparent var(--ck-color-panel-background) transparent;margin-top:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-width:var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_s]:before{border-color:var(--ck-color-panel-border) transparent transparent;filter:drop-shadow(var(--ck-balloon-arrow-drop-shadow));margin-bottom:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_s]:after{border-color:var(--ck-color-panel-background) transparent transparent transparent;margin-bottom:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_e]:after,.ck.ck-balloon-panel[class*=arrow_e]:before{border-width:var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height)}.ck.ck-balloon-panel[class*=arrow_e]:before{border-color:transparent transparent transparent var(--ck-color-panel-border);margin-right:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_e]:after{border-color:transparent transparent transparent var(--ck-color-panel-background);margin-right:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_w]:after,.ck.ck-balloon-panel[class*=arrow_w]:before{border-width:var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0}.ck.ck-balloon-panel[class*=arrow_w]:before{border-color:transparent var(--ck-color-panel-border) transparent transparent;margin-left:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_w]:after{border-color:transparent var(--ck-color-panel-background) transparent transparent;margin-left:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:before{left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:before{left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:before{right:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);right:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:before{margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%;top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:before{left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:before{margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);right:calc(var(--ck-balloon-arrow-height)*-1);top:50%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:before{left:calc(var(--ck-balloon-arrow-height)*-1);margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);top:50%}',"",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/panel/balloonpanel.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonpanel.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,MAEC,8DACD,CAEA,qBACC,YAAa,CACb,iBAAkB,CAElB,yBAyCD,CAtCE,+GAEC,UAAW,CACX,iBACD,CAEA,wDACC,6CACD,CAEA,uDACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAGD,8CACC,aACD,CC9CD,MACC,6BAA8B,CAC9B,6BAA8B,CAC9B,8BAA+B,CAC/B,iCAAkC,CAClC,oEACD,CAEA,qBCLC,eDmMD,CA9LA,iFCDE,qCD+LF,CA9LA,qBAMC,2CAA4C,CAC5C,wEAAyE,CEdzE,oCAA8B,CFW9B,eA0LD,CApLE,+GAIC,kBAAmB,CADnB,QAAS,CADT,OAGD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,kDACD,CAEA,2CACC,iFAAkF,CAClF,gFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,iEAAkE,CAClE,uDAAwD,CACxD,qDACD,CAEA,2CACC,iFAAkF,CAClF,mFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,oDACD,CAEA,2CACC,iFAAkF,CAClF,kFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,mDACD,CAEA,2CACC,iFAAkF,CAClF,iFACD,CAIA,yGAEC,QAAS,CACT,uDAA0D,CAC1D,2CACD,CAIA,2GAEC,+CAAkD,CAClD,2CACD,CAIA,2GAEC,gDAAmD,CACnD,2CACD,CAIA,yGAIC,8CAAiD,CAFjD,QAAS,CACT,uDAED,CAIA,2GAGC,8CAAiD,CADjD,+CAED,CAIA,2GAGC,8CAAiD,CADjD,gDAED,CAIA,6GAIC,8CAAiD,CADjD,uDAA0D,CAD1D,SAGD,CAIA,6GAIC,8CAAiD,CAFjD,QAAS,CACT,sDAED,CAIA,6GAGC,uDAA0D,CAD1D,SAAU,CAEV,2CACD,CAIA,6GAEC,QAAS,CACT,sDAAyD,CACzD,2CACD,CAIA,yGAGC,sDAAyD,CADzD,6CAAgD,CAEhD,OACD,CAIA,yGAEC,4CAA+C,CAC/C,sDAAyD,CACzD,OACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/* Make sure the balloon arrow does not float over its children. */\n\t--ck-balloon-panel-arrow-z-index: calc(var(--ck-z-default) - 3);\n}\n\n.ck.ck-balloon-panel {\n\tdisplay: none;\n\tposition: absolute;\n\n\tz-index: var(--ck-z-panel);\n\n\t&.ck-balloon-panel_with-arrow {\n\t\t&::before,\n\t\t&::after {\n\t\t\tcontent: "";\n\t\t\tposition: absolute;\n\t\t}\n\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&[class*="arrow_n"] {\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&[class*="arrow_s"] {\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_visible {\n\t\tdisplay: block;\n\t}\n}\n','/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-balloon-border-width: 1px;\n\t--ck-balloon-arrow-offset: 2px;\n\t--ck-balloon-arrow-height: 10px;\n\t--ck-balloon-arrow-half-width: 8px;\n\t--ck-balloon-arrow-drop-shadow: 0 2px 2px var(--ck-color-shadow-drop);\n}\n\n.ck.ck-balloon-panel {\n\t@mixin ck-rounded-corners;\n\t@mixin ck-drop-shadow;\n\n\tmin-height: 15px;\n\n\tbackground: var(--ck-color-panel-background);\n\tborder: var(--ck-balloon-border-width) solid var(--ck-color-panel-border);\n\n\t&.ck-balloon-panel_with-arrow {\n\t\t&::before,\n\t\t&::after {\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder-style: solid;\n\t\t}\n\t}\n\n\t&[class*="arrow_n"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent transparent var(--ck-color-panel-border) transparent;\n\t\t\tmargin-top: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent transparent var(--ck-color-panel-background) transparent;\n\t\t\tmargin-top: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&[class*="arrow_s"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: var(--ck-color-panel-border) transparent transparent;\n\t\t\tfilter: drop-shadow(var(--ck-balloon-arrow-drop-shadow));\n\t\t\tmargin-bottom: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: var(--ck-color-panel-background) transparent transparent transparent;\n\t\t\tmargin-bottom: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&[class*="arrow_e"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent transparent transparent var(--ck-color-panel-border);\n\t\t\tmargin-right: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent transparent transparent var(--ck-color-panel-background);\n\t\t\tmargin-right: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&[class*="arrow_w"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0;\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent var(--ck-color-panel-border) transparent transparent;\n\t\t\tmargin-left: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent var(--ck-color-panel-background) transparent transparent;\n\t\t\tmargin-left: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_n {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 50%;\n\t\t\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_ne {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_s {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 50%;\n\t\t\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_sw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_se {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_sme {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: 25%;\n\t\t\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_smw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 25%;\n\t\t\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nme {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: 25%;\n\t\t\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nmw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 25%;\n\t\t\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_e {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t\tmargin-top: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: 50%;\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_w {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t\tmargin-top: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},991:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck .ck-balloon-rotator__navigation{align-items:center;display:flex;justify-content:center}.ck .ck-balloon-rotator__content .ck-toolbar{justify-content:center}.ck .ck-balloon-rotator__navigation{background:var(--ck-color-toolbar-background);border-bottom:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation>*{margin-bottom:var(--ck-spacing-small);margin-right:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter{margin-left:var(--ck-spacing-small);margin-right:var(--ck-spacing-standard)}.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper{box-shadow:none}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/panel/balloonrotator.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonrotator.css"],names:[],mappings:"AAKA,oCAEC,kBAAmB,CADnB,YAAa,CAEb,sBACD,CAKA,6CACC,sBACD,CCXA,oCACC,6CAA8C,CAC9C,sDAAuD,CACvD,iCAgBD,CAbC,sCAGC,qCAAsC,CAFtC,oCAAqC,CACrC,kCAED,CAGA,iEAIC,mCAAoC,CAHpC,uCAID,CAMA,2DACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-balloon-rotator__navigation {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Buttons inside a toolbar should be centered when rotator bar is wider.\n * See: https://github.com/ckeditor/ckeditor5-ui/issues/495\n */\n.ck .ck-balloon-rotator__content .ck-toolbar {\n\tjustify-content: center;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-balloon-rotator__navigation {\n\tbackground: var(--ck-color-toolbar-background);\n\tborder-bottom: 1px solid var(--ck-color-toolbar-border);\n\tpadding: 0 var(--ck-spacing-small);\n\n\t/* Let's keep similar appearance to `ck-toolbar`. */\n\t& > * {\n\t\tmargin-right: var(--ck-spacing-small);\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t/* Gives counter more breath than buttons. */\n\t& .ck-balloon-rotator__counter {\n\t\tmargin-right: var(--ck-spacing-standard);\n\n\t\t/* We need to use smaller margin because of previous button's right margin. */\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n}\n\n.ck .ck-balloon-rotator__content {\n\n\t/* Disable default annotation shadow inside rotator with fake panels. */\n\t& .ck.ck-annotation-wrapper {\n\t\tbox-shadow: none;\n\t}\n}\n"],sourceRoot:""}]);const a=s},5380:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck .ck-fake-panel{position:absolute;z-index:calc(var(--ck-z-panel) - 1)}.ck .ck-fake-panel div{position:absolute}.ck .ck-fake-panel div:first-child{z-index:2}.ck .ck-fake-panel div:nth-child(2){z-index:1}:root{--ck-balloon-fake-panel-offset-horizontal:6px;--ck-balloon-fake-panel-offset-vertical:6px}.ck .ck-fake-panel div{background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);border-radius:var(--ck-border-radius);box-shadow:var(--ck-drop-shadow),0 0;height:100%;min-height:15px;width:100%}.ck .ck-fake-panel div:first-child{margin-left:var(--ck-balloon-fake-panel-offset-horizontal);margin-top:var(--ck-balloon-fake-panel-offset-vertical)}.ck .ck-fake-panel div:nth-child(2){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*2);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*2)}.ck .ck-fake-panel div:nth-child(3){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*3);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*3)}.ck .ck-balloon-panel_arrow_s+.ck-fake-panel,.ck .ck-balloon-panel_arrow_se+.ck-fake-panel,.ck .ck-balloon-panel_arrow_sw+.ck-fake-panel{--ck-balloon-fake-panel-offset-vertical:-6px}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/panel/fakepanel.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/fakepanel.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,mBACC,iBAAkB,CAGlB,mCACD,CAEA,uBACC,iBACD,CAEA,mCACC,SACD,CAEA,oCACC,SACD,CCfA,MACC,6CAA8C,CAC9C,2CACD,CAGA,uBAKC,2CAA4C,CAC5C,6CAA8C,CAC9C,qCAAsC,CCXtC,oCAA8B,CDc9B,WAAY,CAPZ,eAAgB,CAMhB,UAED,CAEA,mCACC,0DAA2D,CAC3D,uDACD,CAEA,oCACC,kEAAqE,CACrE,+DACD,CACA,oCACC,kEAAqE,CACrE,+DACD,CAGA,yIAGC,4CACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-fake-panel {\n\tposition: absolute;\n\n\t/* Fake panels should be placed under main balloon content. */\n\tz-index: calc(var(--ck-z-panel) - 1);\n}\n\n.ck .ck-fake-panel div {\n\tposition: absolute;\n}\n\n.ck .ck-fake-panel div:nth-child( 1 ) {\n\tz-index: 2;\n}\n\n.ck .ck-fake-panel div:nth-child( 2 ) {\n\tz-index: 1;\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-balloon-fake-panel-offset-horizontal: 6px;\n\t--ck-balloon-fake-panel-offset-vertical: 6px;\n}\n\n/* Let\'s use `.ck-balloon-panel` appearance. See: balloonpanel.css. */\n.ck .ck-fake-panel div {\n\t@mixin ck-drop-shadow;\n\n\tmin-height: 15px;\n\n\tbackground: var(--ck-color-panel-background);\n\tborder: 1px solid var(--ck-color-panel-border);\n\tborder-radius: var(--ck-border-radius);\n\n\twidth: 100%;\n\theight: 100%;\n}\n\n.ck .ck-fake-panel div:nth-child( 1 ) {\n\tmargin-left: var(--ck-balloon-fake-panel-offset-horizontal);\n\tmargin-top: var(--ck-balloon-fake-panel-offset-vertical);\n}\n\n.ck .ck-fake-panel div:nth-child( 2 ) {\n\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 2);\n\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 2);\n}\n.ck .ck-fake-panel div:nth-child( 3 ) {\n\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 3);\n\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 3);\n}\n\n/* If balloon is positioned above element, we need to move fake panel to the top. */\n.ck .ck-balloon-panel_arrow_s + .ck-fake-panel,\n.ck .ck-balloon-panel_arrow_se + .ck-fake-panel,\n.ck .ck-balloon-panel_arrow_sw + .ck-fake-panel {\n\t--ck-balloon-fake-panel-offset-vertical: -6px;\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},8298:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-sticky-panel .ck-sticky-panel__content_sticky{position:fixed;top:0;z-index:var(--ck-z-panel)}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit{position:absolute;top:auto}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky{border-top-left-radius:0;border-top-right-radius:0;border-width:0 1px 1px;box-shadow:var(--ck-drop-shadow),0 0}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/panel/stickypanel.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/stickypanel.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAMC,qDAEC,cAAe,CACf,KAAM,CAFN,yBAGD,CAEA,kEAEC,iBAAkB,CADlB,QAED,CCPA,qDAIC,wBAAyB,CACzB,yBAA0B,CAF1B,sBAAuB,CCFxB,oCDKA",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-sticky-panel {\n\t& .ck-sticky-panel__content_sticky {\n\t\tz-index: var(--ck-z-panel); /* #315 */\n\t\tposition: fixed;\n\t\ttop: 0;\n\t}\n\n\t& .ck-sticky-panel__content_sticky_bottom-limit {\n\t\ttop: auto;\n\t\tposition: absolute;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_shadow.css";\n\n.ck.ck-sticky-panel {\n\t& .ck-sticky-panel__content_sticky {\n\t\t@mixin ck-drop-shadow;\n\n\t\tborder-width: 0 1px 1px;\n\t\tborder-top-left-radius: 0;\n\t\tborder-top-right-radius: 0;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},2722:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,'.ck-vertical-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck-vertical-form .ck-button:focus:after{display:none}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck.ck-responsive-form .ck-button:focus:after{display:none}}.ck-vertical-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form{padding:var(--ck-spacing-large)}.ck.ck-responsive-form:focus{outline:none}[dir=ltr] .ck.ck-responsive-form>:not(:first-child),[dir=rtl] .ck.ck-responsive-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-responsive-form{padding:0;width:calc(var(--ck-input-width)*.8)}.ck.ck-responsive-form .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) 0}.ck.ck-responsive-form .ck-labeled-field-view .ck-input-number,.ck.ck-responsive-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-responsive-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form>.ck-button:last-child,.ck.ck-responsive-form>.ck-button:nth-last-child(2){border-radius:0;margin-top:var(--ck-spacing-large);padding:var(--ck-spacing-standard)}.ck.ck-responsive-form>.ck-button:last-child:not(:focus),.ck.ck-responsive-form>.ck-button:nth-last-child(2):not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-responsive-form>.ck-button:last-child,[dir=ltr] .ck.ck-responsive-form>.ck-button:nth-last-child(2),[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2){margin-left:0}[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child:last-of-type,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2):last-of-type{border-right:1px solid var(--ck-color-base-border)}}',"",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/responsive-form/responsiveform.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/responsive-form/responsiveform.css"],names:[],mappings:"AAQC,mCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,yCACC,YACD,CCdA,oCDoBE,wCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,8CACC,YACD,CC9BF,CCAD,qDACC,kDACD,CAEA,uBACC,+BAoED,CAlEC,6BAEC,YACD,CASC,uGACC,sCACD,CDvBD,oCCMD,uBAqBE,SAAU,CACV,oCA+CF,CA7CE,8CACC,wDAYD,CAVC,4HAEC,WAAY,CACZ,UACD,CAGA,4EACC,kBACD,CAKA,0DACC,kDACD,CAGD,iGAIC,eAAgB,CADhB,kCAAmC,CADnC,kCAmBD,CAfC,yHACC,gDACD,CARD,0OAeE,aAMF,CAJE,+IACC,kDACD,CDrEH",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck-vertical-form .ck-button {\n\t&::after {\n\t\tcontent: "";\n\t\twidth: 0;\n\t\tposition: absolute;\n\t\tright: -1px;\n\t\ttop: -1px;\n\t\tbottom: -1px;\n\t\tz-index: 1;\n\t}\n\n\t&:focus::after {\n\t\tdisplay: none;\n\t}\n}\n\n.ck.ck-responsive-form {\n\t@mixin ck-media-phone {\n\t\t& .ck-button {\n\t\t\t&::after {\n\t\t\t\tcontent: "";\n\t\t\t\twidth: 0;\n\t\t\t\tposition: absolute;\n\t\t\t\tright: -1px;\n\t\t\t\ttop: -1px;\n\t\t\t\tbottom: -1px;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t&:focus::after {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck-vertical-form > .ck-button:nth-last-child(2)::after {\n\tborder-right: 1px solid var(--ck-color-base-border);\n}\n\n.ck.ck-responsive-form {\n\tpadding: var(--ck-spacing-large);\n\n\t&:focus {\n\t\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\n\t\toutline: none;\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& > :not(:first-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& > :not(:last-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\tpadding: 0;\n\t\twidth: calc(.8 * var(--ck-input-width));\n\n\t\t& .ck-labeled-field-view {\n\t\t\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) 0;\n\n\t\t\t& .ck-input-text,\n\t\t\t& .ck-input-number {\n\t\t\t\tmin-width: 0;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\t/* Let the long error messages wrap in the narrow form. */\n\t\t\t& .ck-labeled-field-view__error {\n\t\t\t\twhite-space: normal;\n\t\t\t}\n\t\t}\n\n\t\t/* Styles for two last buttons in the form (save&cancel, edit&unlink, etc.). */\n\t\t& > .ck-button:nth-last-child(2) {\n\t\t\t&::after {\n\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\t\t}\n\n\t\t& > .ck-button:nth-last-child(1),\n\t\t& > .ck-button:nth-last-child(2) {\n\t\t\tpadding: var(--ck-spacing-standard);\n\t\t\tmargin-top: var(--ck-spacing-large);\n\t\t\tborder-radius: 0;\n\n\t\t\t&:not(:focus) {\n\t\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-left: 0;\n\n\t\t\t\t&:last-of-type {\n\t\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},8107:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{position:absolute;top:50%;transform:translateY(-50%)}[dir=ltr] .ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{left:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{right:var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view .ck-search__reset{position:absolute;top:50%;transform:translateY(-50%)}.ck.ck-search>.ck-search__results>.ck-search__info>span:first-child{display:block}.ck.ck-search>.ck-search__results>.ck-search__info:not(.ck-hidden)~*{display:none}:root{--ck-search-field-view-horizontal-spacing:calc(var(--ck-icon-size) + var(--ck-spacing-medium))}.ck.ck-search>.ck-labeled-field-view .ck-input{width:100%}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon{--ck-labeled-field-label-default-position-x:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon>.ck-labeled-field-view__input-wrapper>.ck-icon{opacity:.5;pointer-events:none}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input{width:100%}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input,[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input:not(.ck-input-text_empty){padding-left:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset{--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset.ck-labeled-field-view_empty{--ck-labeled-field-empty-unfocused-max-width:100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{background:none;min-height:auto;min-width:auto;opacity:.5;padding:0}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{left:var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset:hover{opacity:1}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input{width:100%}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input:not(.ck-input-text_empty),[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input{padding-right:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-search__results{min-width:100%}.ck.ck-search>.ck-search__results>.ck-search__info{padding:var(--ck-spacing-medium) var(--ck-spacing-large);width:100%}.ck.ck-search>.ck-search__results>.ck-search__info *{white-space:normal}.ck.ck-search>.ck-search__results>.ck-search__info>span:first-child{font-weight:700}.ck.ck-search>.ck-search__results>.ck-search__info>span:last-child{margin-top:var(--ck-spacing-medium)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/search/search.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/search/search.css"],names:[],mappings:"AASE,oFACC,iBAAkB,CAClB,OAAQ,CACR,0BASD,CAZA,8FAME,6BAMF,CAZA,8FAUE,8BAEF,CAEA,uDACC,iBAAkB,CAClB,OAAQ,CACR,0BACD,CAKC,oEACC,aACD,CAGA,qEACC,YACD,CChCH,MACC,8FACD,CAIE,+CACC,UACD,CAEA,gEACC,0FAoBD,CAlBC,+GACC,UAAW,CACX,mBACD,CAEA,0EACC,UAWD,CAJE,kMACC,2DACD,CAKH,iEACC,sGAwCD,CAtCC,6FACC,6HACD,CAEA,mFAIC,eAAgB,CAFhB,eAAgB,CADhB,cAAe,CAIf,UAAW,CACX,SAaD,CAnBA,6FASE,8BAUF,CAnBA,6FAaE,6BAMF,CAHC,yFACC,SACD,CAGD,2EACC,UAWD,CAZA,oMAUE,4DAEF,CAIF,kCACC,cAkBD,CAhBC,mDAEC,wDAAyD,CADzD,UAcD,CAXC,qDACC,kBACD,CAEA,oEACC,eACD,CAEA,mEACC,mCACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-search {\n\t& > .ck-labeled-field-view {\n\t\t& > .ck-labeled-field-view__input-wrapper > .ck-icon {\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\ttransform: translateY(-50%);\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tleft: var(--ck-spacing-medium);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tright: var(--ck-spacing-medium);\n\t\t\t}\n\t\t}\n\n\t\t& .ck-search__reset {\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\ttransform: translateY(-50%);\n\t\t}\n\t}\n\n\t& > .ck-search__results {\n\t\t& > .ck-search__info {\n\t\t\t& > span:first-child {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\n\t\t\t/* Hide the filtered view when nothing was found */\n\t\t\t&:not(.ck-hidden) ~ * {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n','/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n:root {\n\t--ck-search-field-view-horizontal-spacing: calc(var(--ck-icon-size) + var(--ck-spacing-medium));\n}\n\n.ck.ck-search {\n\t& > .ck-labeled-field-view {\n\t\t& .ck-input {\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&.ck-search__query_with-icon {\n\t\t\t--ck-labeled-field-label-default-position-x: var(--ck-search-field-view-horizontal-spacing);\n\n\t\t\t& > .ck-labeled-field-view__input-wrapper > .ck-icon {\n\t\t\t\topacity: .5;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\n\t\t\t& .ck-input {\n\t\t\t\twidth: 100%;\n\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\tpadding-left: var(--ck-search-field-view-horizontal-spacing);\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\t&:not(.ck-input-text_empty) {\n\t\t\t\t\t\tpadding-left: var(--ck-search-field-view-horizontal-spacing);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.ck-search__query_with-reset {\n\t\t\t--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-search-field-view-horizontal-spacing);\n\n\t\t\t&.ck-labeled-field-view_empty {\n\t\t\t\t--ck-labeled-field-empty-unfocused-max-width: 100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium);\n\t\t\t}\n\n\t\t\t& .ck-search__reset {\n\t\t\t\tmin-width: auto;\n\t\t\t\tmin-height: auto;\n\n\t\t\t\tbackground: none;\n\t\t\t\topacity: .5;\n\t\t\t\tpadding: 0;\n\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\tright: var(--ck-spacing-medium);\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\tleft: var(--ck-spacing-medium);\n\t\t\t\t}\n\n\t\t\t\t&:hover {\n\t\t\t\t\topacity: 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t& .ck-input {\n\t\t\t\twidth: 100%;\n\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\t&:not(.ck-input-text_empty) {\n\t\t\t\t\t\tpadding-right: var(--ck-search-field-view-horizontal-spacing);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\tpadding-right: var(--ck-search-field-view-horizontal-spacing);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t& > .ck-search__results {\n\t\tmin-width: 100%;\n\n\t\t& > .ck-search__info {\n\t\t\twidth: 100%;\n\t\t\tpadding: var(--ck-spacing-medium) var(--ck-spacing-large);\n\n\t\t\t& * {\n\t\t\t\twhite-space: normal;\n\t\t\t}\n\n\t\t\t& > span:first-child {\n\t\t\t\tfont-weight: bold;\n\t\t\t}\n\n\t\t\t& > span:last-child {\n\t\t\t\tmargin-top: var(--ck-spacing-medium);\n\t\t\t}\n\t\t}\n\t}\n}\n\n'],sourceRoot:""}]);const a=s},109:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-spinner-container{display:block;position:relative}.ck.ck-spinner{left:0;margin:0 auto;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:1}:root{--ck-toolbar-spinner-size:18px}.ck.ck-spinner-container{animation:ck-spinner-rotate 1.5s linear infinite;height:var(--ck-toolbar-spinner-size);width:var(--ck-toolbar-spinner-size)}@media (prefers-reduced-motion:reduce){.ck.ck-spinner-container{animation-duration:3s}}.ck.ck-spinner{border:2px solid var(--ck-color-text);border-radius:50%;border-top:2px solid transparent;height:var(--ck-toolbar-spinner-size);width:var(--ck-toolbar-spinner-size)}@keyframes ck-spinner-rotate{to{transform:rotate(1turn)}}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/spinner/spinner.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/spinner/spinner.css"],names:[],mappings:"AASA,yBACC,aAAc,CACd,iBACD,CAEA,eAGC,MAAO,CAEP,aAAc,CAJd,iBAAkB,CAGlB,OAAQ,CAFR,OAAQ,CAIR,0BAA2B,CAC3B,SACD,CCjBA,MACC,8BACD,CAEA,yBAGC,gDAAiD,CADjD,qCAAsC,CADtC,oCAOD,CAHC,uCALD,yBAME,qBAEF,CADC,CAGD,eAKC,qCAA6B,CAF7B,iBAAkB,CAElB,gCAA6B,CAH7B,qCAAsC,CADtC,oCAKD,CAEA,6BACC,GACC,uBACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-toolbar-spinner-size: 18px;\n}\n\n.ck.ck-spinner-container {\n\tdisplay: block;\n\tposition: relative;\n}\n\n.ck.ck-spinner {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 0;\n\tright: 0;\n\tmargin: 0 auto;\n\ttransform: translateY(-50%);\n\tz-index: 1;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-toolbar-spinner-size: 18px;\n}\n\n.ck.ck-spinner-container {\n\twidth: var(--ck-toolbar-spinner-size);\n\theight: var(--ck-toolbar-spinner-size);\n\tanimation: 1.5s infinite ck-spinner-rotate linear;\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\tanimation-duration: 3s;\n\t}\n}\n\n.ck.ck-spinner {\n\twidth: var(--ck-toolbar-spinner-size);\n\theight: var(--ck-toolbar-spinner-size);\n\tborder-radius: 50%;\n\tborder: 2px solid var(--ck-color-text);\n\tborder-top-color: transparent;\n}\n\n@keyframes ck-spinner-rotate {\n\tto {\n\t\ttransform: rotate(360deg)\n\t}\n}\n"],sourceRoot:""}]);const a=s},1671:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck-textarea{overflow-x:hidden}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/textarea/textarea.css"],names:[],mappings:"AASA,aACC,iBACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/*\n * This fixes a problem in Firefox when the initial height of the complement does not match the number of rows.\n * This bug is especially visible when rows=1.\n */\n.ck-textarea {\n\toverflow-x: hidden\n}\n"],sourceRoot:""}]);const a=s},2710:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-block-toolbar-button{position:absolute;z-index:var(--ck-z-default)}:root{--ck-color-block-toolbar-button:var(--ck-color-text);--ck-block-toolbar-button-size:var(--ck-font-size-normal)}.ck.ck-block-toolbar-button{color:var(--ck-color-block-toolbar-button);font-size:var(--ck-block-toolbar-size)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/toolbar/blocktoolbar.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/blocktoolbar.css"],names:[],mappings:"AAKA,4BACC,iBAAkB,CAClB,2BACD,CCHA,MACC,oDAAqD,CACrD,yDACD,CAEA,4BACC,0CAA2C,CAC3C,sCACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-block-toolbar-button {\n\tposition: absolute;\n\tz-index: var(--ck-z-default);\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-block-toolbar-button: var(--ck-color-text);\n\t--ck-block-toolbar-button-size: var(--ck-font-size-normal);\n}\n\n.ck.ck-block-toolbar-button {\n\tcolor: var(--ck-color-block-toolbar-button);\n\tfont-size: var(--ck-block-toolbar-size);\n}\n"],sourceRoot:""}]);const a=s},9677:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-toolbar{align-items:center;display:flex;flex-flow:row nowrap;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-toolbar>.ck-toolbar__items{align-items:center;display:flex;flex-flow:row wrap;flex-grow:1}.ck.ck-toolbar .ck.ck-toolbar__separator{display:inline-block}.ck.ck-toolbar .ck.ck-toolbar__separator:first-child,.ck.ck-toolbar .ck.ck-toolbar__separator:last-child{display:none}.ck.ck-toolbar .ck-toolbar__line-break{flex-basis:100%}.ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items{flex-direction:column}.ck.ck-toolbar.ck-toolbar_floating>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck-dropdown__button .ck-dropdown__arrow{display:none}.ck.ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-toolbar,.ck.ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-toolbar{background:var(--ck-color-toolbar-background);border:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck.ck-toolbar .ck.ck-toolbar__separator{background:var(--ck-color-toolbar-border);height:var(--ck-icon-size);margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small);min-width:1px;width:1px}.ck.ck-toolbar .ck-toolbar__line-break{height:0}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break){margin-right:var(--ck-spacing-small)}.ck.ck-toolbar>.ck-toolbar__items:empty+.ck.ck-toolbar__separator{display:none}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break),.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown{margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck.ck-toolbar.ck-toolbar_vertical{padding:0}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items>.ck{border-radius:0;margin:0;width:100%}.ck.ck-toolbar.ck-toolbar_compact{padding:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>*{margin:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>:not(:first-child):not(:last-child){border-radius:0}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck.ck-button.ck-dropdown__button{padding-left:var(--ck-spacing-tiny)}.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-dropdown__panel{min-width:auto}.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-button>.ck-button__label{max-width:7em;width:auto}.ck.ck-toolbar:focus{outline:none}.ck-toolbar-container .ck.ck-toolbar{border:0}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck{margin-right:0}.ck.ck-toolbar[dir=rtl]:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-left:0}.ck.ck-toolbar.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:first-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=rtl]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=rtl]>.ck.ck-toolbar__separator,[dir=rtl] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=rtl] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-right:0}.ck.ck-toolbar.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:first-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=ltr]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=ltr]>.ck.ck-toolbar__separator,[dir=ltr] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=ltr] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-right:var(--ck-spacing-small)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/toolbar/toolbar.css","webpack://./../ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/toolbar.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,eAKC,kBAAmB,CAFnB,YAAa,CACb,oBAAqB,CCFrB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD6CD,CA3CC,kCAGC,kBAAmB,CAFnB,YAAa,CACb,kBAAmB,CAEnB,WAED,CAEA,yCACC,oBAWD,CAJC,yGAEC,YACD,CAGD,uCACC,eACD,CAEA,sDACC,gBACD,CAEA,sDACC,qBACD,CAEA,sDACC,gBACD,CAGC,yFACC,YACD,CE/CF,eCGC,eDwGD,CA3GA,qECOE,qCDoGF,CA3GA,eAGC,6CAA8C,CAE9C,+CAAgD,CADhD,iCAuGD,CApGC,yCAIC,yCAA0C,CAH1C,0BAA2B,CAU3B,qCAAsC,CADtC,kCAAmC,CAPnC,aAAc,CADd,SAUD,CAEA,uCACC,QACD,CAGC,gEAEC,oCACD,CAIA,kEACC,YACD,CAGD,gHAIC,qCAAsC,CADtC,kCAED,CAEA,mCAEC,SAaD,CAVC,0DAQC,eAAgB,CAHhB,QAAS,CAHT,UAOD,CAGD,kCAEC,SAWD,CATC,uDAEC,QAMD,CAHC,yFACC,eACD,CASD,kFACC,mCACD,CAMA,wEACC,cACD,CAEA,iFACC,aAAc,CACd,UACD,CAGD,qBACC,YACD,CAtGD,qCAyGE,QAEF,CAYC,+FACC,cACD,CAEA,iJAEC,mCACD,CAEA,qHACC,aACD,CAIC,6JAEC,2BAA4B,CAD5B,wBAED,CAGA,2JAEC,4BAA6B,CAD7B,yBAED,CASD,8RACC,mCACD,CAWA,qHACC,cACD,CAIC,6JAEC,4BAA6B,CAD7B,yBAED,CAGA,2JAEC,2BAA4B,CAD5B,wBAED,CASD,8RACC,oCACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../mixins/_unselectable.css";\n\n.ck.ck-toolbar {\n\t@mixin ck-unselectable;\n\n\tdisplay: flex;\n\tflex-flow: row nowrap;\n\talign-items: center;\n\n\t& > .ck-toolbar__items {\n\t\tdisplay: flex;\n\t\tflex-flow: row wrap;\n\t\talign-items: center;\n\t\tflex-grow: 1;\n\n\t}\n\n\t& .ck.ck-toolbar__separator {\n\t\tdisplay: inline-block;\n\n\t\t/*\n\t\t * A leading or trailing separator makes no sense (separates from nothing on one side).\n\t\t * For instance, it can happen when toolbar items (also separators) are getting grouped one by one and\n\t\t * moved to another toolbar in the dropdown.\n\t\t */\n\t\t&:first-child,\n\t\t&:last-child {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& .ck-toolbar__line-break {\n\t\tflex-basis: 100%;\n\t}\n\n\t&.ck-toolbar_grouping > .ck-toolbar__items {\n\t\tflex-wrap: nowrap;\n\t}\n\n\t&.ck-toolbar_vertical > .ck-toolbar__items {\n\t\tflex-direction: column;\n\t}\n\n\t&.ck-toolbar_floating > .ck-toolbar__items {\n\t\tflex-wrap: nowrap;\n\t}\n\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t& > .ck-dropdown__button .ck-dropdown__arrow {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-toolbar {\n\t@mixin ck-rounded-corners;\n\n\tbackground: var(--ck-color-toolbar-background);\n\tpadding: 0 var(--ck-spacing-small);\n\tborder: 1px solid var(--ck-color-toolbar-border);\n\n\t& .ck.ck-toolbar__separator {\n\t\theight: var(--ck-icon-size);\n\t\twidth: 1px;\n\t\tmin-width: 1px;\n\t\tbackground: var(--ck-color-toolbar-border);\n\n\t\t/*\n\t\t * These margins make the separators look better in balloon toolbars (when aligned with the "tip").\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/7493.\n\t\t */\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t& .ck-toolbar__line-break {\n\t\theight: 0;\n\t}\n\n\t& > .ck-toolbar__items {\n\t\t& > *:not(.ck-toolbar__line-break) {\n\t\t\t/* (#11) Separate toolbar items. */\n\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t}\n\n\t\t/* Don\'t display a separator after an empty items container, for instance,\n\t\twhen all items were grouped */\n\t\t&:empty + .ck.ck-toolbar__separator {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& > .ck-toolbar__items > *:not(.ck-toolbar__line-break),\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t/* Make sure items wrapped to the next line have v-spacing */\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t&.ck-toolbar_vertical {\n\t\t/* Items in a vertical toolbar span the entire width. */\n\t\tpadding: 0;\n\n\t\t/* Specificity matters here. See https://github.com/ckeditor/ckeditor5-theme-lark/issues/168. */\n\t\t& > .ck-toolbar__items > .ck {\n\t\t\t/* Items in a vertical toolbar should span the horizontal space. */\n\t\t\twidth: 100%;\n\n\t\t\t/* Items in a vertical toolbar should have no margin. */\n\t\t\tmargin: 0;\n\n\t\t\t/* Items in a vertical toolbar span the entire width so rounded corners are pointless. */\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n\n\t&.ck-toolbar_compact {\n\t\t/* No spacing around items. */\n\t\tpadding: 0;\n\n\t\t& > .ck-toolbar__items > * {\n\t\t\t/* Compact toolbar items have no spacing between them. */\n\t\t\tmargin: 0;\n\n\t\t\t/* "Middle" children should have no rounded corners. */\n\t\t\t&:not(:first-child):not(:last-child) {\n\t\t\t\tborder-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t/*\n\t\t * Dropdown button has asymmetric padding to fit the arrow.\n\t\t * This button has no arrow so let\'s revert that padding back to normal.\n\t\t */\n\t\t& > .ck.ck-button.ck-dropdown__button {\n\t\t\tpadding-left: var(--ck-spacing-tiny);\n\t\t}\n\t}\n\n\t/* A drop-down containing the nested toolbar with configured items. */\n\t& .ck-toolbar__nested-toolbar-dropdown {\n\t\t/* Prevent empty space in the panel when the dropdown label is visible and long but the toolbar has few items. */\n\t\t& > .ck-dropdown__panel {\n\t\t\tmin-width: auto;\n\t\t}\n\n\t\t& > .ck-button > .ck-button__label {\n\t\t\tmax-width: 7em;\n\t\t\twidth: auto;\n\t\t}\n\t}\n\n\t&:focus {\n\t\toutline: none;\n\t}\n\n\t@nest .ck-toolbar-container & {\n\t\tborder: 0;\n\t}\n}\n\n/* stylelint-disable */\n\n/*\n * Styles for RTL toolbars.\n *\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"\n * because its parent is not controlled by the editor framework.\n */\n[dir="rtl"] .ck.ck-toolbar,\n.ck.ck-toolbar[dir="rtl"] {\n\t& > .ck-toolbar__items > .ck {\n\t\tmargin-right: 0;\n\t}\n\n\t&:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck {\n\t\t/* (#11) Separate toolbar items. */\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n\n\t& > .ck-toolbar__items > .ck:last-child {\n\t\tmargin-left: 0;\n\t}\n\n\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\n\t\t/* No rounded corners on the right side of the first child. */\n\t\t&:first-child {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\n\t\t/* No rounded corners on the left side of the last child. */\n\t\t&:last-child {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\t}\n\n\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\n\t& > .ck.ck-toolbar__separator {\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n\n\t/* Some spacing between the items and the separator before the grouped items dropdown. */\n\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n}\n\n/*\n * Styles for LTR toolbars.\n *\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"\n * because its parent is not controlled by the editor framework.\n */\n[dir="ltr"] .ck.ck-toolbar,\n.ck.ck-toolbar[dir="ltr"] {\n\t& > .ck-toolbar__items > .ck:last-child {\n\t\tmargin-right: 0;\n\t}\n\n\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\n\t\t/* No rounded corners on the right side of the first child. */\n\t\t&:first-child {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t/* No rounded corners on the left side of the last child. */\n\t\t&:last-child {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\t}\n\n\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\n\t& > .ck.ck-toolbar__separator {\n\t\tmargin-right: var(--ck-spacing-small);\n\t}\n\n\t/* Some spacing between the items and the separator before the grouped items dropdown. */\n\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\n\t\tmargin-right: var(--ck-spacing-small);\n\t}\n}\n\n/* stylelint-enable */\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},9205:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck.ck-balloon-panel.ck-tooltip{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;z-index:calc(var(--ck-z-dialog) + 100);--ck-balloon-border-width:0px;--ck-balloon-arrow-offset:0px;--ck-balloon-arrow-half-width:4px;--ck-balloon-arrow-height:4px;--ck-tooltip-text-padding:4px;--ck-color-panel-background:var(--ck-color-tooltip-background);box-shadow:none;padding:0 var(--ck-spacing-medium)}.ck.ck-balloon-panel.ck-tooltip .ck-tooltip__text{color:var(--ck-color-tooltip-text);font-size:.9em;line-height:1.5}.ck.ck-balloon-panel.ck-tooltip.ck-tooltip_multi-line .ck-tooltip__text{display:inline-block;max-width:200px;padding:var(--ck-tooltip-text-padding) 0;white-space:break-spaces}.ck.ck-balloon-panel.ck-tooltip:before{display:none}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/tooltip/tooltip.css","webpack://./../ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/tooltip/tooltip.css"],names:[],mappings:"AAOA,gCCEC,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBAAgB,CDFhB,sCAAyC,CEFzC,6BAA8B,CAC9B,6BAA8B,CAC9B,iCAAkC,CAClC,6BAA8B,CAC9B,6BAA8B,CAC9B,8DAA+D,CAkB/D,eAAgB,CAhBhB,kCFJD,CEMC,kDAGC,kCAAmC,CAFnC,cAAe,CACf,eAED,CAEA,wEAEC,oBAAqB,CAErB,eAAgB,CADhB,wCAAyC,CAFzC,wBAID,CAMA,uCACC,YACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../mixins/_unselectable.css";\n\n.ck.ck-balloon-panel.ck-tooltip {\n\t@mixin ck-unselectable;\n\n\tz-index: calc( var(--ck-z-dialog) + 100 );\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n.ck.ck-balloon-panel.ck-tooltip {\n\t--ck-balloon-border-width: 0px;\n\t--ck-balloon-arrow-offset: 0px;\n\t--ck-balloon-arrow-half-width: 4px;\n\t--ck-balloon-arrow-height: 4px;\n\t--ck-tooltip-text-padding: 4px;\n\t--ck-color-panel-background: var(--ck-color-tooltip-background);\n\n\tpadding: 0 var(--ck-spacing-medium);\n\n\t& .ck-tooltip__text {\n\t\tfont-size: .9em;\n\t\tline-height: 1.5;\n\t\tcolor: var(--ck-color-tooltip-text);\n\t}\n\n\t&.ck-tooltip_multi-line .ck-tooltip__text {\n\t\twhite-space: break-spaces;\n\t\tdisplay: inline-block;\n\t\tpadding: var(--ck-tooltip-text-padding) 0;\n\t\tmax-width: 200px;\n\t}\n\n\t/* Reset balloon panel styles */\n\tbox-shadow: none;\n\n\t/* Hide the default shadow of the .ck-balloon-panel tip */\n\t&::before {\n\t\tdisplay: none;\n\t}\n}\n'],sourceRoot:""}]);const a=s},7676:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck-hidden{display:none!important}:root{--ck-z-default:1;--ck-z-panel:calc(var(--ck-z-default) + 999);--ck-z-dialog:9999}.ck-transitions-disabled,.ck-transitions-disabled *{transition:none!important}:root{--ck-powered-by-line-height:10px;--ck-powered-by-padding-vertical:2px;--ck-powered-by-padding-horizontal:4px;--ck-powered-by-text-color:#4f4f4f;--ck-powered-by-border-radius:var(--ck-border-radius);--ck-powered-by-background:#fff;--ck-powered-by-border-color:var(--ck-color-focus-border)}.ck.ck-balloon-panel.ck-powered-by-balloon{--ck-border-radius:var(--ck-powered-by-border-radius);background:var(--ck-powered-by-background);box-shadow:none;min-height:unset;z-index:calc(var(--ck-z-panel) - 1)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by{line-height:var(--ck-powered-by-line-height)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by a{align-items:center;cursor:pointer;display:flex;filter:grayscale(80%);line-height:var(--ck-powered-by-line-height);opacity:.66;padding:var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-powered-by__label{color:var(--ck-powered-by-text-color);cursor:pointer;font-size:7.5px;font-weight:700;letter-spacing:-.2px;line-height:normal;margin-right:4px;padding-left:2px;text-transform:uppercase}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-icon{cursor:pointer;display:block}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by:hover a{filter:grayscale(0);opacity:1}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_inside]{border-color:transparent}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_border]{border:var(--ck-focus-ring);border-color:var(--ck-powered-by-border-color)}:root{--ck-color-base-foreground:#fafafa;--ck-color-base-background:#fff;--ck-color-base-border:#ccced1;--ck-color-base-action:#53a336;--ck-color-base-focus:#6cb5f9;--ck-color-base-text:#333;--ck-color-base-active:#2977ff;--ck-color-base-active-focus:#0d65ff;--ck-color-base-error:#db3700;--ck-color-focus-border-coordinates:218,81.8%,56.9%;--ck-color-focus-border:hsl(var(--ck-color-focus-border-coordinates));--ck-color-focus-outer-shadow:#cae1fc;--ck-color-focus-disabled-shadow:rgba(119,186,248,.3);--ck-color-focus-error-shadow:rgba(255,64,31,.3);--ck-color-text:var(--ck-color-base-text);--ck-color-shadow-drop:rgba(0,0,0,.15);--ck-color-shadow-drop-active:rgba(0,0,0,.2);--ck-color-shadow-inner:rgba(0,0,0,.1);--ck-color-button-default-background:transparent;--ck-color-button-default-hover-background:#f0f0f0;--ck-color-button-default-active-background:#f0f0f0;--ck-color-button-default-disabled-background:transparent;--ck-color-button-on-background:#f0f7ff;--ck-color-button-on-hover-background:#dbecff;--ck-color-button-on-active-background:#dbecff;--ck-color-button-on-disabled-background:#f0f2f4;--ck-color-button-on-color:#2977ff;--ck-color-button-action-background:var(--ck-color-base-action);--ck-color-button-action-hover-background:#4d9d30;--ck-color-button-action-active-background:#4d9d30;--ck-color-button-action-disabled-background:#7ec365;--ck-color-button-action-text:var(--ck-color-base-background);--ck-color-button-save:#008a00;--ck-color-button-cancel:#db3700;--ck-color-switch-button-off-background:#939393;--ck-color-switch-button-off-hover-background:#7d7d7d;--ck-color-switch-button-on-background:var(--ck-color-button-action-background);--ck-color-switch-button-on-hover-background:#4d9d30;--ck-color-switch-button-inner-background:var(--ck-color-base-background);--ck-color-switch-button-inner-shadow:rgba(0,0,0,.1);--ck-color-dropdown-panel-background:var(--ck-color-base-background);--ck-color-dropdown-panel-border:var(--ck-color-base-border);--ck-color-dialog-background:var(--ck-custom-background);--ck-color-dialog-form-header-border:var(--ck-custom-border);--ck-color-input-background:var(--ck-color-base-background);--ck-color-input-border:var(--ck-color-base-border);--ck-color-input-error-border:var(--ck-color-base-error);--ck-color-input-text:var(--ck-color-base-text);--ck-color-input-disabled-background:#f2f2f2;--ck-color-input-disabled-border:var(--ck-color-base-border);--ck-color-input-disabled-text:#757575;--ck-color-list-background:var(--ck-color-base-background);--ck-color-list-button-hover-background:var(--ck-color-button-default-hover-background);--ck-color-list-button-on-background:var(--ck-color-button-on-color);--ck-color-list-button-on-background-focus:var(--ck-color-button-on-color);--ck-color-list-button-on-text:var(--ck-color-base-background);--ck-color-panel-background:var(--ck-color-base-background);--ck-color-panel-border:var(--ck-color-base-border);--ck-color-toolbar-background:var(--ck-color-base-background);--ck-color-toolbar-border:var(--ck-color-base-border);--ck-color-tooltip-background:var(--ck-color-base-text);--ck-color-tooltip-text:var(--ck-color-base-background);--ck-color-engine-placeholder-text:#707070;--ck-color-upload-bar-background:#6cb5f9;--ck-color-link-default:#0000f0;--ck-color-link-selected-background:rgba(31,176,255,.1);--ck-color-link-fake-selection:rgba(31,176,255,.3);--ck-color-highlight-background:#ff0;--ck-color-light-red:#fcc;--ck-disabled-opacity:.5;--ck-focus-outer-shadow-geometry:0 0 0 3px;--ck-focus-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);--ck-focus-disabled-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);--ck-focus-error-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);--ck-focus-ring:1px solid var(--ck-color-focus-border);--ck-font-size-base:13px;--ck-line-height-base:1.84615;--ck-font-face:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;--ck-font-size-tiny:0.7em;--ck-font-size-small:0.75em;--ck-font-size-normal:1em;--ck-font-size-big:1.4em;--ck-font-size-large:1.8em;--ck-ui-component-min-height:2.3em}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{background:transparent;border:0;box-sizing:border-box;height:auto;margin:0;padding:0;position:static;text-decoration:none;transition:none;vertical-align:middle;width:auto;word-wrap:break-word}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset_all{border-collapse:collapse;color:var(--ck-color-text);cursor:auto;float:none;font:normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);text-align:left;white-space:nowrap}.ck-reset_all .ck-rtl :not(.ck-reset_all-excluded *){text-align:right}.ck-reset_all iframe:not(.ck-reset_all-excluded *){vertical-align:inherit}.ck-reset_all textarea:not(.ck-reset_all-excluded *){white-space:pre-wrap}.ck-reset_all input[type=password]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text]:not(.ck-reset_all-excluded *),.ck-reset_all textarea:not(.ck-reset_all-excluded *){cursor:text}.ck-reset_all input[type=password][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all textarea[disabled]:not(.ck-reset_all-excluded *){cursor:default}.ck-reset_all fieldset:not(.ck-reset_all-excluded *){border:2px groove #dfdee3;padding:10px}.ck-reset_all button:not(.ck-reset_all-excluded *)::-moz-focus-inner{border:0;padding:0}.ck[dir=rtl],.ck[dir=rtl] .ck{text-align:right}:root{--ck-border-radius:2px;--ck-inner-shadow:2px 2px 3px var(--ck-color-shadow-inner) inset;--ck-drop-shadow:0 1px 2px 1px var(--ck-color-shadow-drop);--ck-drop-shadow-active:0 3px 6px 1px var(--ck-color-shadow-drop-active);--ck-spacing-unit:0.6em;--ck-spacing-large:calc(var(--ck-spacing-unit)*1.5);--ck-spacing-standard:var(--ck-spacing-unit);--ck-spacing-medium:calc(var(--ck-spacing-unit)*0.8);--ck-spacing-small:calc(var(--ck-spacing-unit)*0.5);--ck-spacing-tiny:calc(var(--ck-spacing-unit)*0.3);--ck-spacing-extra-tiny:calc(var(--ck-spacing-unit)*0.16)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/globals/_hidden.css","webpack://./../ckeditor5-ui/theme/globals/_zindex.css","webpack://./../ckeditor5-ui/theme/globals/_transition.css","webpack://./../ckeditor5-ui/theme/globals/_poweredby.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_colors.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_disabled.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_focus.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_fonts.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_reset.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_shadow.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_spacing.css"],names:[],mappings:"AAQA,WAGC,sBACD,CCPA,MACC,gBAAiB,CACjB,4CAA+C,CAC/C,kBACD,CCDA,oDAEC,yBACD,CCNA,MACC,gCAAiC,CACjC,oCAAqC,CACrC,sCAAuC,CACvC,kCAA2C,CAC3C,qDAAsD,CACtD,+BAA4C,CAC5C,yDACD,CAEA,2CACC,qDAAsD,CAGtD,0CAA2C,CAD3C,eAAgB,CAEhB,gBAAiB,CACjB,mCAiDD,CA/CC,6DACC,4CAoCD,CAlCC,+DAGC,kBAAmB,CAFnB,cAAe,CACf,YAAa,CAGb,qBAAsB,CACtB,4CAA6C,CAF7C,WAAY,CAGZ,qFACD,CAEA,mFASC,qCAAsC,CAFtC,cAAe,CANf,eAAgB,CAIhB,eAAiB,CAHjB,oBAAqB,CAMrB,kBAAmB,CAFnB,gBAAiB,CAHjB,gBAAiB,CACjB,wBAOD,CAEA,sEAEC,cAAe,CADf,aAED,CAGC,qEACC,mBAAqB,CACrB,SACD,CAIF,mEACC,wBACD,CAEA,mEACC,2BAA4B,CAC5B,8CACD,CChED,MACC,kCAAmD,CACnD,+BAAoD,CACpD,8BAAkD,CAClD,8BAAuD,CACvD,6BAAmD,CACnD,yBAA+C,CAC/C,8BAAsD,CACtD,oCAA4D,CAC5D,6BAAkD,CAIlD,mDAA4D,CAC5D,qEAA+E,CAC/E,qCAA4D,CAC5D,qDAA8D,CAC9D,gDAAyD,CACzD,yCAAqD,CACrD,sCAAsD,CACtD,4CAA0D,CAC1D,sCAAsD,CAItD,gDAAuD,CACvD,kDAAiE,CACjE,mDAAkE,CAClE,yDAA8D,CAE9D,uCAA6D,CAC7D,6CAAoE,CACpE,8CAAoE,CACpE,gDAAiE,CACjE,kCAAyD,CAGzD,+DAAsE,CACtE,iDAAsE,CACtE,kDAAsE,CACtE,oDAAoE,CACpE,6DAAsE,CAEtE,8BAAoD,CACpD,gCAAqD,CAErD,+CAA8D,CAC9D,qDAAiE,CACjE,+EAAqF,CACrF,oDAAuE,CACvE,yEAA8E,CAC9E,oDAAgE,CAIhE,oEAA2E,CAC3E,4DAAoE,CAIpE,wDAAiE,CACjE,4DAAmE,CAInE,2DAAoE,CACpE,mDAA6D,CAC7D,wDAAgE,CAChE,+CAA0D,CAC1D,4CAA2D,CAC3D,4DAAoE,CACpE,sCAAsD,CAItD,0DAAmE,CACnE,uFAA6F,CAC7F,oEAA2E,CAC3E,0EAA+E,CAC/E,8DAAsE,CAItE,2DAAoE,CACpE,mDAA6D,CAI7D,6DAAsE,CACtE,qDAA+D,CAI/D,uDAAgE,CAChE,uDAAiE,CAIjE,0CAAyD,CAIzD,wCAA2D,CAI3D,+BAAoD,CACpD,uDAAmE,CACnE,kDAAgE,CAIhE,oCAAyD,CAIzD,yBAAgD,CChHhD,wBAAyB,CCAzB,0CAA2C,CAK3C,gGAAiG,CAKjG,4GAA6G,CAK7G,sGAAuG,CAKvG,sDAAuD,CCvBvD,wBAAyB,CACzB,6BAA8B,CAC9B,wDAA6D,CAE7D,yBAA0B,CAC1B,2BAA4B,CAC5B,yBAA0B,CAC1B,wBAAyB,CACzB,0BAA2B,CCJ3B,kCJgHD,CI1GA,2EAYC,sBAAuB,CADvB,QAAS,CART,qBAAsB,CAEtB,WAAY,CAIZ,QAAS,CACT,SAAU,CAJV,eAAgB,CAOhB,oBAAqB,CAErB,eAAgB,CADhB,qBAAsB,CAVtB,UAAW,CAcX,oBACD,CAKA,8DAGC,wBAAyB,CAEzB,0BAA2B,CAG3B,WAAY,CACZ,UAAW,CALX,iGAAkG,CAElG,eAAgB,CAChB,kBAGD,CAGC,qDACC,gBACD,CAEA,mDAEC,sBACD,CAEA,qDACC,oBACD,CAEA,mLAGC,WACD,CAEA,iNAGC,cACD,CAEA,qDAEC,yBAAoC,CADpC,YAED,CAEA,qEAGC,QAAQ,CADR,SAED,CAMD,8BAEC,gBACD,CCxFA,MACC,sBAAuB,CCAvB,gEAAiE,CAKjE,0DAA2D,CAK3D,wEAAyE,CCbzE,uBAA8B,CAC9B,mDAA2D,CAC3D,4CAAkD,CAClD,oDAA4D,CAC5D,mDAA2D,CAC3D,kDAA2D,CAC3D,yDFFD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which hides an element in DOM.\n */\n.ck-hidden {\n\t/* Override selector specificity. Otherwise, all elements with some display\n\tstyle defined will override this one, which is not a desired result. */\n\tdisplay: none !important;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-z-default: 1;\n\t--ck-z-panel: calc( var(--ck-z-default) + 999 );\n\t--ck-z-dialog: 9999;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class that disables all transitions of the element and its children.\n */\n.ck-transitions-disabled,\n.ck-transitions-disabled * {\n\ttransition: none !important;\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-powered-by-line-height: 10px;\n\t--ck-powered-by-padding-vertical: 2px;\n\t--ck-powered-by-padding-horizontal: 4px;\n\t--ck-powered-by-text-color: hsl(0, 0%, 31%);\n\t--ck-powered-by-border-radius: var(--ck-border-radius);\n\t--ck-powered-by-background: hsl(0, 0%, 100%);\n\t--ck-powered-by-border-color: var(--ck-color-focus-border);\n}\n\n.ck.ck-balloon-panel.ck-powered-by-balloon {\n\t--ck-border-radius: var(--ck-powered-by-border-radius);\n\n\tbox-shadow: none;\n\tbackground: var(--ck-powered-by-background);\n\tmin-height: unset;\n\tz-index: calc( var(--ck-z-panel) - 1 );\n\n\t& .ck.ck-powered-by {\n\t\tline-height: var(--ck-powered-by-line-height);\n\n\t\t& a {\n\t\t\tcursor: pointer;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\topacity: .66;\n\t\t\tfilter: grayscale(80%);\n\t\t\tline-height: var(--ck-powered-by-line-height);\n\t\t\tpadding: var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal);\n\t\t}\n\n\t\t& .ck-powered-by__label {\n\t\t\tfont-size: 7.5px;\n\t\t\tletter-spacing: -.2px;\n\t\t\tpadding-left: 2px;\n\t\t\ttext-transform: uppercase;\n\t\t\tfont-weight: bold;\n\t\t\tmargin-right: 4px;\n\t\t\tcursor: pointer;\n\t\t\tline-height: normal;\n\t\t\tcolor: var(--ck-powered-by-text-color);\n\n\t\t}\n\n\t\t& .ck-icon {\n\t\t\tdisplay: block;\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t&:hover {\n\t\t\t& a {\n\t\t\t\tfilter: grayscale(0%);\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\t}\n\n\t&[class*="position_inside"] {\n\t\tborder-color: transparent;\n\t}\n\n\t&[class*="position_border"] {\n\t\tborder: var(--ck-focus-ring);\n\t\tborder-color: var(--ck-powered-by-border-color);\n\t}\n}\n\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-base-foreground: \t\t\t\t\t\t\t\thsl(0, 0%, 98%);\n\t--ck-color-base-background: \t\t\t\t\t\t\t\thsl(0, 0%, 100%);\n\t--ck-color-base-border: \t\t\t\t\t\t\t\t\thsl(220, 6%, 81%);\n\t--ck-color-base-action: \t\t\t\t\t\t\t\t\thsl(104, 50.2%, 42.5%);\n\t--ck-color-base-focus: \t\t\t\t\t\t\t\t\t\thsl(209, 92%, 70%);\n\t--ck-color-base-text: \t\t\t\t\t\t\t\t\t\thsl(0, 0%, 20%);\n\t--ck-color-base-active: \t\t\t\t\t\t\t\t\thsl(218.1, 100%, 58%);\n\t--ck-color-base-active-focus:\t\t\t\t\t\t\t\thsl(218.2, 100%, 52.5%);\n\t--ck-color-base-error:\t\t\t\t\t\t\t\t\t\thsl(15, 100%, 43%);\n\n\t/* -- Generic colors ------------------------------------------------------------------------ */\n\n\t--ck-color-focus-border-coordinates: \t\t\t\t\t\t218, 81.8%, 56.9%;\n\t--ck-color-focus-border: \t\t\t\t\t\t\t\t\thsl(var(--ck-color-focus-border-coordinates));\n\t--ck-color-focus-outer-shadow:\t\t\t\t\t\t\t\thsl(212.4, 89.3%, 89%);\n\t--ck-color-focus-disabled-shadow:\t\t\t\t\t\t\thsla(209, 90%, 72%,.3);\n\t--ck-color-focus-error-shadow:\t\t\t\t\t\t\t\thsla(9,100%,56%,.3);\n\t--ck-color-text: \t\t\t\t\t\t\t\t\t\t\tvar(--ck-color-base-text);\n\t--ck-color-shadow-drop: \t\t\t\t\t\t\t\t\thsla(0, 0%, 0%, 0.15);\n\t--ck-color-shadow-drop-active:\t\t\t\t\t\t\t\thsla(0, 0%, 0%, 0.2);\n\t--ck-color-shadow-inner: \t\t\t\t\t\t\t\t\thsla(0, 0%, 0%, 0.1);\n\n\t/* -- Buttons ------------------------------------------------------------------------------- */\n\n\t--ck-color-button-default-background: \t\t\t\t\t\ttransparent;\n\t--ck-color-button-default-hover-background: \t\t\t\thsl(0, 0%, 94.1%);\n\t--ck-color-button-default-active-background: \t\t\t\thsl(0, 0%, 94.1%);\n\t--ck-color-button-default-disabled-background: \t\t\t\ttransparent;\n\n\t--ck-color-button-on-background: \t\t\t\t\t\t\thsl(212, 100%, 97.1%);\n\t--ck-color-button-on-hover-background: \t\t\t\t\t\thsl(211.7, 100%, 92.9%);\n\t--ck-color-button-on-active-background: \t\t\t\t\thsl(211.7, 100%, 92.9%);\n\t--ck-color-button-on-disabled-background: \t\t\t\t\thsl(211, 15%, 95%);\n\t--ck-color-button-on-color:\t\t\t\t\t\t\t\t\thsl(218.1, 100%, 58%);\n\n\n\t--ck-color-button-action-background: \t\t\t\t\t\tvar(--ck-color-base-action);\n\t--ck-color-button-action-hover-background: \t\t\t\t\thsl(104, 53.2%, 40.2%);\n\t--ck-color-button-action-active-background: \t\t\t\thsl(104, 53.2%, 40.2%);\n\t--ck-color-button-action-disabled-background: \t\t\t\thsl(104, 44%, 58%);\n\t--ck-color-button-action-text: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\n\t--ck-color-button-save: \t\t\t\t\t\t\t\t\thsl(120, 100%, 27%);\n\t--ck-color-button-cancel: \t\t\t\t\t\t\t\t\thsl(15, 100%, 43%);\n\n\t--ck-color-switch-button-off-background:\t\t\t\t\thsl(0, 0%, 57.6%);\n\t--ck-color-switch-button-off-hover-background:\t\t\t\thsl(0, 0%, 49%);\n\t--ck-color-switch-button-on-background:\t\t\t\t\t\tvar(--ck-color-button-action-background);\n\t--ck-color-switch-button-on-hover-background:\t\t\t\thsl(104, 53.2%, 40.2%);\n\t--ck-color-switch-button-inner-background:\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-switch-button-inner-shadow:\t\t\t\t\t\thsla(0, 0%, 0%, 0.1);\n\n\t/* -- Dropdown ------------------------------------------------------------------------------ */\n\n\t--ck-color-dropdown-panel-background: \t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-dropdown-panel-border: \t\t\t\t\t\t\tvar(--ck-color-base-border);\n\n\t/* -- Dialog -------------------------------------------------------------------------------- */\n\n\t--ck-color-dialog-background: \t\t\t\t\t\t\t\tvar(--ck-custom-background);\n\t--ck-color-dialog-form-header-border: \t\t\t\t\t\tvar(--ck-custom-border);\n\n\t/* -- Input --------------------------------------------------------------------------------- */\n\n\t--ck-color-input-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-input-border: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-border);\n\t--ck-color-input-error-border:\t\t\t\t\t\t\t\tvar(--ck-color-base-error);\n\t--ck-color-input-text: \t\t\t\t\t\t\t\t\t\tvar(--ck-color-base-text);\n\t--ck-color-input-disabled-background: \t\t\t\t\t\thsl(0, 0%, 95%);\n\t--ck-color-input-disabled-border: \t\t\t\t\t\t\tvar(--ck-color-base-border);\n\t--ck-color-input-disabled-text: \t\t\t\t\t\t\thsl(0, 0%, 46%);\n\n\t/* -- List ---------------------------------------------------------------------------------- */\n\n\t--ck-color-list-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-list-button-hover-background: \t\t\t\t\tvar(--ck-color-button-default-hover-background);\n\t--ck-color-list-button-on-background: \t\t\t\t\t\tvar(--ck-color-button-on-color);\n\t--ck-color-list-button-on-background-focus: \t\t\t\tvar(--ck-color-button-on-color);\n\t--ck-color-list-button-on-text:\t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\n\t/* -- Panel --------------------------------------------------------------------------------- */\n\n\t--ck-color-panel-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-panel-border: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-border);\n\n\t/* -- Toolbar ------------------------------------------------------------------------------- */\n\n\t--ck-color-toolbar-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-toolbar-border: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-border);\n\n\t/* -- Tooltip ------------------------------------------------------------------------------- */\n\n\t--ck-color-tooltip-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-text);\n\t--ck-color-tooltip-text: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\n\t/* -- Engine -------------------------------------------------------------------------------- */\n\n\t--ck-color-engine-placeholder-text: \t\t\t\t\t\thsl(0, 0%, 44%);\n\n\t/* -- Upload -------------------------------------------------------------------------------- */\n\n\t--ck-color-upload-bar-background:\t\t \t\t\t\t\thsl(209, 92%, 70%);\n\n\t/* -- Link -------------------------------------------------------------------------------- */\n\n\t--ck-color-link-default:\t\t\t\t\t\t\t\t\thsl(240, 100%, 47%);\n\t--ck-color-link-selected-background:\t\t\t\t\t\thsla(201, 100%, 56%, 0.1);\n\t--ck-color-link-fake-selection:\t\t\t\t\t\t\t\thsla(201, 100%, 56%, 0.3);\n\n\t/* -- Search result highlight ---------------------------------------------------------------- */\n\n\t--ck-color-highlight-background:\t\t\t\t\t\t\thsl(60, 100%, 50%);\n\n\t/* -- Generic colors ------------------------------------------------------------------------- */\n\n\t--ck-color-light-red:\t\t\t\t\t\t\t\t\t\thsl(0, 100%, 90%);\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/**\n\t * An opacity value of disabled UI item.\n\t */\n\t--ck-disabled-opacity: .5;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/**\n\t * The geometry of the of focused element's outer shadow.\n\t */\n\t--ck-focus-outer-shadow-geometry: 0 0 0 3px;\n\n\t/**\n\t * A visual style of focused element's outer shadow.\n\t */\n\t--ck-focus-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);\n\n\t/**\n\t * A visual style of focused element's outer shadow (when disabled).\n\t */\n\t--ck-focus-disabled-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);\n\n\t/**\n\t * A visual style of focused element's outer shadow (when has errors).\n\t */\n\t--ck-focus-error-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);\n\n\t/**\n\t * A visual style of focused element's border or outline.\n\t */\n\t--ck-focus-ring: 1px solid var(--ck-color-focus-border);\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-font-size-base: 13px;\n\t--ck-line-height-base: 1.84615;\n\t--ck-font-face: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;\n\n\t--ck-font-size-tiny: 0.7em;\n\t--ck-font-size-small: 0.75em;\n\t--ck-font-size-normal: 1em;\n\t--ck-font-size-big: 1.4em;\n\t--ck-font-size-large: 1.8em;\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/* This is super-important. This is **manually** adjusted so a button without an icon\n\tis never smaller than a button with icon, additionally making sure that text-less buttons\n\tare perfect squares. The value is also shared by other components which should stay "in-line"\n\twith buttons. */\n\t--ck-ui-component-min-height: 2.3em;\n}\n\n/**\n * Resets an element, ignoring its children.\n */\n.ck.ck-reset,\n.ck.ck-reset_all,\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\n\tbox-sizing: border-box;\n\twidth: auto;\n\theight: auto;\n\tposition: static;\n\n\t/* Do not include inheritable rules here. */\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\tbackground: transparent;\n\ttext-decoration: none;\n\tvertical-align: middle;\n\ttransition: none;\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/105 */\n\tword-wrap: break-word;\n}\n\n/**\n * Resets an element AND its children.\n */\n.ck.ck-reset_all,\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\n\t/* These are rule inherited by all children elements. */\n\tborder-collapse: collapse;\n\tfont: normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);\n\tcolor: var(--ck-color-text);\n\ttext-align: left;\n\twhite-space: nowrap;\n\tcursor: auto;\n\tfloat: none;\n}\n\n.ck-reset_all {\n\t& .ck-rtl *:not(.ck-reset_all-excluded *) {\n\t\ttext-align: right;\n\t}\n\n\t& iframe:not(.ck-reset_all-excluded *) {\n\t\t/* For IE */\n\t\tvertical-align: inherit;\n\t}\n\n\t& textarea:not(.ck-reset_all-excluded *) {\n\t\twhite-space: pre-wrap;\n\t}\n\n\t& textarea:not(.ck-reset_all-excluded *),\n\t& input[type="text"]:not(.ck-reset_all-excluded *),\n\t& input[type="password"]:not(.ck-reset_all-excluded *) {\n\t\tcursor: text;\n\t}\n\n\t& textarea[disabled]:not(.ck-reset_all-excluded *),\n\t& input[type="text"][disabled]:not(.ck-reset_all-excluded *),\n\t& input[type="password"][disabled]:not(.ck-reset_all-excluded *) {\n\t\tcursor: default;\n\t}\n\n\t& fieldset:not(.ck-reset_all-excluded *) {\n\t\tpadding: 10px;\n\t\tborder: 2px groove hsl(255, 7%, 88%);\n\t}\n\n\t& button:not(.ck-reset_all-excluded *)::-moz-focus-inner {\n\t\t/* See http://stackoverflow.com/questions/5517744/remove-extra-button-spacing-padding-in-firefox */\n\t\tpadding: 0;\n\t\tborder: 0\n\t}\n}\n\n/**\n * Default UI rules for RTL languages.\n */\n.ck[dir="rtl"],\n.ck[dir="rtl"] .ck {\n\ttext-align: right;\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Default border-radius value.\n */\n:root{\n\t--ck-border-radius: 2px;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/**\n\t * A visual style of element's inner shadow (i.e. input).\n\t */\n\t--ck-inner-shadow: 2px 2px 3px var(--ck-color-shadow-inner) inset;\n\n\t/**\n\t * A visual style of element's drop shadow (i.e. panel).\n\t */\n\t--ck-drop-shadow: 0 1px 2px 1px var(--ck-color-shadow-drop);\n\n\t/**\n\t * A visual style of element's active shadow (i.e. comment or suggestion).\n\t */\n\t--ck-drop-shadow-active: 0 3px 6px 1px var(--ck-color-shadow-drop-active);\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-spacing-unit: \t\t\t\t\t\t0.6em;\n\t--ck-spacing-large: \t\t\t\t\tcalc(var(--ck-spacing-unit) * 1.5);\n\t--ck-spacing-standard: \t\t\t\t\tvar(--ck-spacing-unit);\n\t--ck-spacing-medium: \t\t\t\t\tcalc(var(--ck-spacing-unit) * 0.8);\n\t--ck-spacing-small: \t\t\t\t\tcalc(var(--ck-spacing-unit) * 0.5);\n\t--ck-spacing-tiny: \t\t\t\t\t\tcalc(var(--ck-spacing-unit) * 0.3);\n\t--ck-spacing-extra-tiny: \t\t\t\tcalc(var(--ck-spacing-unit) * 0.16);\n}\n"],sourceRoot:""}]);const a=s},695:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,":root{--ck-color-resizer:var(--ck-color-focus-border);--ck-color-resizer-tooltip-background:#262626;--ck-color-resizer-tooltip-text:#f2f2f2;--ck-resizer-border-radius:var(--ck-border-radius);--ck-resizer-tooltip-offset:10px;--ck-resizer-tooltip-height:calc(var(--ck-spacing-small)*2 + 10px)}.ck .ck-widget,.ck .ck-widget.ck-widget_with-selection-handle{position:relative}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{position:absolute}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{display:block}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{visibility:visible}.ck .ck-size-view{background:var(--ck-color-resizer-tooltip-background);border:1px solid var(--ck-color-resizer-tooltip-text);border-radius:var(--ck-resizer-border-radius);color:var(--ck-color-resizer-tooltip-text);display:block;font-size:var(--ck-font-size-tiny);height:var(--ck-resizer-tooltip-height);line-height:var(--ck-resizer-tooltip-height);padding:0 var(--ck-spacing-small)}.ck .ck-size-view.ck-orientation-above-center,.ck .ck-size-view.ck-orientation-bottom-left,.ck .ck-size-view.ck-orientation-bottom-right,.ck .ck-size-view.ck-orientation-top-left,.ck .ck-size-view.ck-orientation-top-right{position:absolute}.ck .ck-size-view.ck-orientation-top-left{left:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-top-right{right:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-right{bottom:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-left{bottom:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-above-center{left:50%;top:calc(var(--ck-resizer-tooltip-height)*-1);transform:translate(-50%)}:root{--ck-widget-outline-thickness:3px;--ck-widget-handler-icon-size:16px;--ck-widget-handler-animation-duration:200ms;--ck-widget-handler-animation-curve:ease;--ck-color-widget-blurred-border:#dedede;--ck-color-widget-hover-border:#ffc83d;--ck-color-widget-editable-focus-background:var(--ck-color-base-background);--ck-color-widget-drag-handler-icon-color:var(--ck-color-base-background)}.ck .ck-widget{outline-color:transparent;outline-style:solid;outline-width:var(--ck-widget-outline-thickness);transition:outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}@media (prefers-reduced-motion:reduce){.ck .ck-widget{transition:none}}.ck .ck-widget.ck-widget_selected,.ck .ck-widget.ck-widget_selected:hover{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border)}.ck .ck-widget:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-editor__nested-editable{border:1px solid transparent}.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck .ck-editor__nested-editable:focus{box-shadow:var(--ck-inner-shadow),0 0}@media (forced-colors:none){.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck .ck-editor__nested-editable:focus{background-color:var(--ck-color-widget-editable-focus-background)}}.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused:not(td,th),.ck .ck-editor__nested-editable:focus:not(td,th){border:var(--ck-focus-ring);outline:none}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{background-color:transparent;border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0;box-sizing:border-box;left:calc(0px - var(--ck-widget-outline-thickness));opacity:0;padding:4px;top:0;transform:translateY(-100%);transition:background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}@media (prefers-reduced-motion:reduce){.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{transition:none}}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{color:var(--ck-color-widget-drag-handler-icon-color);height:var(--ck-widget-handler-icon-size);width:var(--ck-widget-handler-icon-size)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:0;transition:opacity .3s var(--ck-widget-handler-animation-curve)}@media (prefers-reduced-motion:reduce){.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{transition:none}}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover .ck-icon .ck-icon__selected-indicator{opacity:1}.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{background-color:var(--ck-color-widget-hover-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{background-color:var(--ck-color-focus-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:1}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{left:auto;right:calc(0px - var(--ck-widget-outline-thickness))}.ck.ck-editor__editable.ck-read-only .ck-widget{transition:none}.ck.ck-editor__editable.ck-read-only .ck-widget:not(.ck-widget_selected){--ck-widget-outline-thickness:0px}.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover{outline-color:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle:hover,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable blockquote>.ck-widget.ck-widget_with-selection-handle:first-child,.ck.ck-editor__editable>.ck-widget.ck-widget_with-selection-handle:first-child{margin-top:calc(1em + var(--ck-widget-handler-icon-size))}","",{version:3,sources:["webpack://./../ckeditor5-widget/theme/widget.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-widget/widget.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./../ckeditor5-ui/theme/mixins/_mediacolors.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_focus.css"],names:[],mappings:"AAKA,MACC,+CAAgD,CAChD,6CAAsD,CACtD,uCAAgD,CAEhD,kDAAmD,CACnD,gCAAiC,CACjC,kEACD,CAOA,8DAEC,iBAqBD,CAnBC,4EACC,iBAOD,CALC,qFAGC,aACD,CASD,iLACC,kBACD,CAGD,kBACC,qDAAsD,CAEtD,qDAAsD,CACtD,6CAA8C,CAF9C,0CAA2C,CAI3C,aAAc,CADd,kCAAmC,CAGnC,uCAAwC,CACxC,4CAA6C,CAF7C,iCAsCD,CAlCC,8NAKC,iBACD,CAEA,0CAEC,qCAAsC,CADtC,oCAED,CAEA,2CAEC,sCAAuC,CADvC,oCAED,CAEA,8CACC,uCAAwC,CACxC,sCACD,CAEA,6CACC,uCAAwC,CACxC,qCACD,CAGA,8CAEC,QAAS,CADT,6CAAgD,CAEhD,yBACD,CChFD,MACC,iCAAkC,CAClC,kCAAmC,CACnC,4CAA6C,CAC7C,wCAAyC,CAEzC,wCAAiD,CACjD,sCAAkD,CAClD,2EAA4E,CAC5E,yEACD,CAEA,eAGC,yBAA0B,CAD1B,mBAAoB,CADpB,gDAAiD,CAGjD,6GAcD,CAZC,uCAND,eAOE,eAWF,CAVC,CAEA,0EAEC,6EACD,CAEA,qBACC,iDACD,CAGD,gCACC,4BAoBD,CAhBC,yGCrCA,qCDoDA,CE/CA,4BACC,yGFmCC,iEEjCD,CACD,CFwCC,+HG/CD,2BAA2B,CAD3B,YHkDC,CAKD,4EAKC,4BAA6B,CAa7B,iEAAkE,CAhBlE,qBAAsB,CAoBtB,mDAAoD,CAhBpD,SAAU,CALV,WAAY,CAsBZ,KAAM,CAFN,2BAA4B,CAT5B,6SAwCD,CA3BC,uCAzBD,4EA0BE,eA0BF,CAzBC,CAEA,qFAIC,oDAAqD,CADrD,yCAA0C,CAD1C,wCAeD,CAVC,kHACC,SAAU,CAGV,+DAKD,CAHC,uCAND,kHAOE,eAEF,CADC,CAKF,wHACC,SACD,CAID,kFAEC,oDAAqD,CADrD,SAED,CAKC,oMAEC,6CAA8C,CAD9C,SAOD,CAHC,gRACC,SACD,CAOH,qFACC,SAAU,CACV,oDACD,CAGA,gDAEC,eAkBD,CAhBC,yEAOC,iCACD,CAGC,gOAEC,gDACD,CAOD,wIAEC,mDAQD,CALE,ghBAEC,gDACD,CAKH,yKAOC,yDACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-resizer: var(--ck-color-focus-border);\n\t--ck-color-resizer-tooltip-background: hsl(0, 0%, 15%);\n\t--ck-color-resizer-tooltip-text: hsl(0, 0%, 95%);\n\n\t--ck-resizer-border-radius: var(--ck-border-radius);\n\t--ck-resizer-tooltip-offset: 10px;\n\t--ck-resizer-tooltip-height: calc(var(--ck-spacing-small) * 2 + 10px);\n}\n\n.ck .ck-widget {\n\t/* This is neccessary for type around UI to be positioned properly. */\n\tposition: relative;\n}\n\n.ck .ck-widget.ck-widget_with-selection-handle {\n\t/* Make the widget wrapper a relative positioning container for the drag handle. */\n\tposition: relative;\n\n\t& .ck-widget__selection-handle {\n\t\tposition: absolute;\n\n\t\t& .ck-icon {\n\t\t\t/* Make sure the icon in not a subject to font-size or line-height to avoid\n\t\t\tunnecessary spacing around it. */\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\n\t/* Show the selection handle on mouse hover over the widget, but not for nested widgets. */\n\t&:hover > .ck-widget__selection-handle {\n\t\tvisibility: visible;\n\t}\n\n\t/* Show the selection handle when the widget is selected, but not for nested widgets. */\n\t&.ck-widget_selected > .ck-widget__selection-handle {\n\t\tvisibility: visible;\n\t}\n}\n\n.ck .ck-size-view {\n\tbackground: var(--ck-color-resizer-tooltip-background);\n\tcolor: var(--ck-color-resizer-tooltip-text);\n\tborder: 1px solid var(--ck-color-resizer-tooltip-text);\n\tborder-radius: var(--ck-resizer-border-radius);\n\tfont-size: var(--ck-font-size-tiny);\n\tdisplay: block;\n\tpadding: 0 var(--ck-spacing-small);\n\theight: var(--ck-resizer-tooltip-height);\n\tline-height: var(--ck-resizer-tooltip-height);\n\n\t&.ck-orientation-top-left,\n\t&.ck-orientation-top-right,\n\t&.ck-orientation-bottom-right,\n\t&.ck-orientation-bottom-left,\n\t&.ck-orientation-above-center {\n\t\tposition: absolute;\n\t}\n\n\t&.ck-orientation-top-left {\n\t\ttop: var(--ck-resizer-tooltip-offset);\n\t\tleft: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-top-right {\n\t\ttop: var(--ck-resizer-tooltip-offset);\n\t\tright: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-bottom-right {\n\t\tbottom: var(--ck-resizer-tooltip-offset);\n\t\tright: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-bottom-left {\n\t\tbottom: var(--ck-resizer-tooltip-offset);\n\t\tleft: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t/* Class applied if the widget is too small to contain the size label */\n\t&.ck-orientation-above-center {\n\t\ttop: calc(var(--ck-resizer-tooltip-height) * -1);\n\t\tleft: 50%;\n\t\ttransform: translate(-50%);\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../mixins/_focus.css";\n@import "../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css";\n\n:root {\n\t--ck-widget-outline-thickness: 3px;\n\t--ck-widget-handler-icon-size: 16px;\n\t--ck-widget-handler-animation-duration: 200ms;\n\t--ck-widget-handler-animation-curve: ease;\n\n\t--ck-color-widget-blurred-border: hsl(0, 0%, 87%);\n\t--ck-color-widget-hover-border: hsl(43, 100%, 62%);\n\t--ck-color-widget-editable-focus-background: var(--ck-color-base-background);\n\t--ck-color-widget-drag-handler-icon-color: var(--ck-color-base-background);\n}\n\n.ck .ck-widget {\n\toutline-width: var(--ck-widget-outline-thickness);\n\toutline-style: solid;\n\toutline-color: transparent;\n\ttransition: outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\ttransition: none;\n\t}\n\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border);\n\t}\n\n\t&:hover {\n\t\toutline-color: var(--ck-color-widget-hover-border);\n\t}\n}\n\n.ck .ck-editor__nested-editable {\n\tborder: 1px solid transparent;\n\n\t/* The :focus style is applied before .ck-editor__nested-editable_focused class is rendered in the view.\n\tThese styles show a different border for a blink of an eye, so `:focus` need to have same styles applied. */\n\t&.ck-editor__nested-editable_focused,\n\t&:focus {\n\t\t@mixin ck-box-shadow var(--ck-inner-shadow);\n\t\t@mixin ck-media-default-colors {\n\t\t\tbackground-color: var(--ck-color-widget-editable-focus-background);\n\t\t}\n\n\t\t/**\n\t\t * Focus border should not be applied to table cells because it overrides the default table cell border color.\n\t\t * In other words - in some scenarios, the part of the table cell border has focus color style, which is not expected behavior\n\t\t * because it should be the same as the table cell border color.\n\t\t */\n\t\t&:not(td, th) {\n\t\t\t@mixin ck-focus-ring;\n\t\t}\n\t}\n}\n\n.ck .ck-widget.ck-widget_with-selection-handle {\n\t& .ck-widget__selection-handle {\n\t\tpadding: 4px;\n\t\tbox-sizing: border-box;\n\n\t\t/* Background and opacity will be animated as the handler shows up or the widget gets selected. */\n\t\tbackground-color: transparent;\n\t\topacity: 0;\n\n\t\t/* Transition:\n\t\t * background-color for the .ck-widget_selected state change,\n\t\t * visibility for hiding the handler,\n\t\t * opacity for the proper look of the icon when the handler disappears. */\n\t\ttransition:\n\t\t\tbackground-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\n\t\t\tvisibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\n\t\t\topacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t\t/* Make only top corners round. */\n\t\tborder-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;\n\n\t\t/* Place the drag handler outside the widget wrapper. */\n\t\ttransform: translateY(-100%);\n\t\tleft: calc(0px - var(--ck-widget-outline-thickness));\n\t\ttop: 0;\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\ttransition: none;\n\t\t}\n\n\t\t& .ck-icon {\n\t\t\t/* Make sure the dimensions of the icon are independent of the fon-size of the content. */\n\t\t\twidth: var(--ck-widget-handler-icon-size);\n\t\t\theight: var(--ck-widget-handler-icon-size);\n\t\t\tcolor: var(--ck-color-widget-drag-handler-icon-color);\n\n\t\t\t/* The "selected" part of the icon is invisible by default */\n\t\t\t& .ck-icon__selected-indicator {\n\t\t\t\topacity: 0;\n\n\t\t\t\t/* Note: The animation is longer on purpose. Simply feels better. */\n\t\t\t\ttransition: opacity 300ms var(--ck-widget-handler-animation-curve);\n\n\t\t\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t\t\ttransition: none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/* Advertise using the look of the icon that once clicked the handler, the widget will be selected. */\n\t\t&:hover .ck-icon .ck-icon__selected-indicator {\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t/* Show the selection handler on mouse hover over the widget, but not for nested widgets. */\n\t&:hover > .ck-widget__selection-handle {\n\t\topacity: 1;\n\t\tbackground-color: var(--ck-color-widget-hover-border);\n\t}\n\n\t/* Show the selection handler when the widget is selected, but not for nested widgets. */\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\t& > .ck-widget__selection-handle {\n\t\t\topacity: 1;\n\t\t\tbackground-color: var(--ck-color-focus-border);\n\n\t\t\t/* When the widget is selected, notify the user using the proper look of the icon. */\n\t\t\t& .ck-icon .ck-icon__selected-indicator {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* In a RTL environment, align the selection handler to the right side of the widget */\n/* stylelint-disable-next-line no-descending-specificity */\n.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle {\n\tleft: auto;\n\tright: calc(0px - var(--ck-widget-outline-thickness));\n}\n\n/* https://github.com/ckeditor/ckeditor5/issues/6415 */\n.ck.ck-editor__editable.ck-read-only .ck-widget {\n\t/* Prevent the :hover outline from showing up because of the used outline-color transition. */\n\ttransition: none;\n\n\t&:not(.ck-widget_selected) {\n\t\t/* Disable visual effects of hover/active widget when CKEditor is in readOnly mode.\n\t\t * See: https://github.com/ckeditor/ckeditor5/issues/1261\n\t\t *\n\t\t * Leave the unit because this custom property is used in calc() by other features.\n\t\t * See: https://github.com/ckeditor/ckeditor5/issues/6775\n\t\t */\n\t\t--ck-widget-outline-thickness: 0px;\n\t}\n\n\t&.ck-widget_with-selection-handle {\n\t\t& .ck-widget__selection-handle,\n\t\t& .ck-widget__selection-handle:hover {\n\t\t\tbackground: var(--ck-color-widget-blurred-border);\n\t\t}\n\t}\n}\n\n/* Style the widget when it\'s selected but the editable it belongs to lost focus. */\n/* stylelint-disable-next-line no-descending-specificity */\n.ck.ck-editor__editable.ck-blurred .ck-widget {\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\toutline-color: var(--ck-color-widget-blurred-border);\n\n\t\t&.ck-widget_with-selection-handle {\n\t\t\t& > .ck-widget__selection-handle,\n\t\t\t& > .ck-widget__selection-handle:hover {\n\t\t\t\tbackground: var(--ck-color-widget-blurred-border);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck.ck-editor__editable > .ck-widget.ck-widget_with-selection-handle:first-child,\n.ck.ck-editor__editable blockquote > .ck-widget.ck-widget_with-selection-handle:first-child {\n\t/* Do not crop selection handler if a widget is a first-child in the blockquote or in the root editable.\n\tIn fact, anything with overflow: hidden.\n\thttps://github.com/ckeditor/ckeditor5-block-quote/issues/28\n\thttps://github.com/ckeditor/ckeditor5-widget/issues/44\n\thttps://github.com/ckeditor/ckeditor5-widget/issues/66 */\n\tmargin-top: calc(1em + var(--ck-widget-handler-icon-size));\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-forced-colors {\n\t@media (forced-colors: active) {\n\t\t& {\n\t\t\t@mixin-content;\n\t\t}\n\t}\n}\n\n@define-mixin ck-media-default-colors {\n\t@media (forced-colors: none) {\n\t\t& {\n\t\t\t@mixin-content;\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n"],sourceRoot:""}]);const a=s},4095:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,".ck .ck-widget_with-resizer{position:relative}.ck .ck-widget__resizer{display:none;left:0;pointer-events:none;position:absolute;top:0}.ck-focused .ck-widget_with-resizer.ck-widget_selected>.ck-widget__resizer{display:block}.ck .ck-widget__resizer__handle{pointer-events:all;position:absolute}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{cursor:nwse-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{cursor:nesw-resize}:root{--ck-resizer-size:10px;--ck-resizer-offset:calc(var(--ck-resizer-size)/-2 - 2px);--ck-resizer-border-width:1px}.ck .ck-widget__resizer{outline:1px solid var(--ck-color-resizer)}.ck .ck-widget__resizer__handle{background:var(--ck-color-focus-border);border:var(--ck-resizer-border-width) solid #fff;border-radius:var(--ck-resizer-border-radius);height:var(--ck-resizer-size);width:var(--ck-resizer-size)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{left:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{right:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right{bottom:var(--ck-resizer-offset);right:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left{bottom:var(--ck-resizer-offset);left:var(--ck-resizer-offset)}","",{version:3,sources:["webpack://./../ckeditor5-widget/theme/widgetresize.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-widget/widgetresize.css"],names:[],mappings:"AAKA,4BAEC,iBACD,CAEA,wBACC,YAAa,CAMb,MAAO,CAFP,mBAAoB,CAHpB,iBAAkB,CAMlB,KACD,CAGC,2EACC,aACD,CAGD,gCAIC,kBAAmB,CAHnB,iBAcD,CATC,4IAEC,kBACD,CAEA,4IAEC,kBACD,CCpCD,MACC,sBAAuB,CAGvB,yDAAiE,CACjE,6BACD,CAEA,wBACC,yCACD,CAEA,gCAGC,uCAAwC,CACxC,gDAA6D,CAC7D,6CAA8C,CAH9C,6BAA8B,CAD9B,4BAyBD,CAnBC,oEAEC,6BAA8B,CAD9B,4BAED,CAEA,qEAEC,8BAA+B,CAD/B,4BAED,CAEA,wEACC,+BAAgC,CAChC,8BACD,CAEA,uEACC,+BAAgC,CAChC,6BACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-widget_with-resizer {\n\t/* Make the widget wrapper a relative positioning container for the drag handle. */\n\tposition: relative;\n}\n\n.ck .ck-widget__resizer {\n\tdisplay: none;\n\tposition: absolute;\n\n\t/* The wrapper itself should not interfere with the pointer device, only the handles should. */\n\tpointer-events: none;\n\n\tleft: 0;\n\ttop: 0;\n}\n\n.ck-focused .ck-widget_with-resizer.ck-widget_selected {\n\t& > .ck-widget__resizer {\n\t\tdisplay: block;\n\t}\n}\n\n.ck .ck-widget__resizer__handle {\n\tposition: absolute;\n\n\t/* Resizers are the only UI elements that should interfere with a pointer device. */\n\tpointer-events: all;\n\n\t&.ck-widget__resizer__handle-top-left,\n\t&.ck-widget__resizer__handle-bottom-right {\n\t\tcursor: nwse-resize;\n\t}\n\n\t&.ck-widget__resizer__handle-top-right,\n\t&.ck-widget__resizer__handle-bottom-left {\n\t\tcursor: nesw-resize;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-resizer-size: 10px;\n\n\t/* Set the resizer with a 50% offset. */\n\t--ck-resizer-offset: calc( ( var(--ck-resizer-size) / -2 ) - 2px);\n\t--ck-resizer-border-width: 1px;\n}\n\n.ck .ck-widget__resizer {\n\toutline: 1px solid var(--ck-color-resizer);\n}\n\n.ck .ck-widget__resizer__handle {\n\twidth: var(--ck-resizer-size);\n\theight: var(--ck-resizer-size);\n\tbackground: var(--ck-color-focus-border);\n\tborder: var(--ck-resizer-border-width) solid hsl(0, 0%, 100%);\n\tborder-radius: var(--ck-resizer-border-radius);\n\n\t&.ck-widget__resizer__handle-top-left {\n\t\ttop: var(--ck-resizer-offset);\n\t\tleft: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-top-right {\n\t\ttop: var(--ck-resizer-offset);\n\t\tright: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-bottom-right {\n\t\tbottom: var(--ck-resizer-offset);\n\t\tright: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-bottom-left {\n\t\tbottom: var(--ck-resizer-offset);\n\t\tleft: var(--ck-resizer-offset);\n\t}\n}\n"],sourceRoot:""}]);const a=s},8508:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var i=n(9372),o=n.n(i),r=n(935),s=n.n(r)()(o());s.push([t.id,'.ck .ck-widget .ck-widget__type-around__button{display:block;overflow:hidden;position:absolute;z-index:var(--ck-z-default)}.ck .ck-widget .ck-widget__type-around__button svg{left:50%;position:absolute;top:50%;z-index:calc(var(--ck-z-default) + 2)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before{left:min(10%,30px);top:calc(var(--ck-widget-outline-thickness)*-.5);transform:translateY(-50%)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after{bottom:calc(var(--ck-widget-outline-thickness)*-.5);right:min(10%,30px);transform:translateY(50%)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{content:"";display:block;left:1px;position:absolute;top:1px;z-index:calc(var(--ck-z-default) + 1)}.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:none;left:0;position:absolute;right:0}.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__fake-caret{left:calc(var(--ck-widget-outline-thickness)*-1);right:calc(var(--ck-widget-outline-thickness)*-1)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:block;top:calc(var(--ck-widget-outline-thickness)*-1 - 1px)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__fake-caret{bottom:calc(var(--ck-widget-outline-thickness)*-1 - 1px);display:block}.ck.ck-editor__editable.ck-read-only .ck-widget__type-around,.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around,.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around{display:none}:root{--ck-widget-type-around-button-size:20px;--ck-color-widget-type-around-button-active:var(--ck-color-focus-border);--ck-color-widget-type-around-button-hover:var(--ck-color-widget-hover-border);--ck-color-widget-type-around-button-blurred-editable:var(--ck-color-widget-blurred-border);--ck-color-widget-type-around-button-radar-start-alpha:0;--ck-color-widget-type-around-button-radar-end-alpha:.3;--ck-color-widget-type-around-button-icon:var(--ck-color-base-background)}.ck .ck-widget .ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button);border-radius:100px;height:var(--ck-widget-type-around-button-size);opacity:0;pointer-events:none;transition:opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);width:var(--ck-widget-type-around-button-size)}@media (prefers-reduced-motion:reduce){.ck .ck-widget .ck-widget__type-around__button{transition:none}}.ck .ck-widget .ck-widget__type-around__button svg{height:8px;margin-top:1px;transform:translate(-50%,-50%);transition:transform .5s ease;width:10px}@media (prefers-reduced-motion:reduce){.ck .ck-widget .ck-widget__type-around__button svg{transition:none}}.ck .ck-widget .ck-widget__type-around__button svg *{stroke-dasharray:10;stroke-dashoffset:0;fill:none;stroke:var(--ck-color-widget-type-around-button-icon);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.ck .ck-widget .ck-widget__type-around__button svg line{stroke-dasharray:7}.ck .ck-widget .ck-widget__type-around__button:hover{animation:ck-widget-type-around-button-sonar 1s ease infinite}.ck .ck-widget .ck-widget__type-around__button:hover svg polyline{animation:ck-widget-type-around-arrow-dash 2s linear}.ck .ck-widget .ck-widget__type-around__button:hover svg line{animation:ck-widget-type-around-arrow-tip-dash 2s linear}@media (prefers-reduced-motion:reduce){.ck .ck-widget .ck-widget__type-around__button:hover,.ck .ck-widget .ck-widget__type-around__button:hover svg line,.ck .ck-widget .ck-widget__type-around__button:hover svg polyline{animation:none}}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:1;pointer-events:auto}.ck .ck-widget:not(.ck-widget_selected)>.ck-widget__type-around>.ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button-hover)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover{background:var(--ck-color-widget-type-around-button-active)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{background:linear-gradient(135deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3));border-radius:100px;height:calc(var(--ck-widget-type-around-button-size) - 2px);width:calc(var(--ck-widget-type-around-button-size) - 2px)}.ck .ck-widget.ck-widget_with-selection-handle>.ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:20px}.ck .ck-widget .ck-widget__type-around__fake-caret{animation:ck-widget-type-around-fake-caret-pulse 1s linear infinite normal forwards;background:var(--ck-color-base-text);height:1px;outline:1px solid hsla(0,0%,100%,.5);pointer-events:none}.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_after,.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_before{outline-color:transparent}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected:hover,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{opacity:0}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:0;margin-right:20px}.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover){background:var(--ck-color-widget-type-around-button-blurred-editable)}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover) svg *{stroke:#999}@keyframes ck-widget-type-around-arrow-dash{0%{stroke-dashoffset:10}20%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-arrow-tip-dash{0%,20%{stroke-dashoffset:7}40%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-button-sonar{0%{box-shadow:0 0 0 0 hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}50%{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-end-alpha))}to{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}}@keyframes ck-widget-type-around-fake-caret-pulse{0%{opacity:1}49%{opacity:1}50%{opacity:0}99%{opacity:0}to{opacity:1}}',"",{version:3,sources:["webpack://./../ckeditor5-widget/theme/widgettypearound.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-widget/widgettypearound.css"],names:[],mappings:"AASC,+CACC,aAAc,CAEd,eAAgB,CADhB,iBAAkB,CAElB,2BAwBD,CAtBC,mDAGC,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAEA,qFAGC,kBAAoB,CADpB,gDAAoD,CAGpD,0BACD,CAEA,oFAEC,mDAAuD,CACvD,mBAAqB,CAErB,yBACD,CAUA,mLACC,UAAW,CACX,aAAc,CAGd,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAMD,2EACC,YAAa,CAEb,MAAO,CADP,iBAAkB,CAElB,OACD,CAOA,iFACC,gDAAqD,CACrD,iDACD,CAKA,wHAEC,aAAc,CADd,qDAED,CAKA,uHACC,wDAA6D,CAC7D,aACD,CAoBD,mOACC,YACD,CC3GA,MACC,wCAAyC,CACzC,wEAAyE,CACzE,8EAA+E,CAC/E,2FAA4F,CAC5F,wDAAyD,CACzD,uDAAwD,CACxD,yEACD,CAgBC,+CAGC,oDAAqD,CACrD,mBAAoB,CAFpB,+CAAgD,CAVjD,SAAU,CACV,mBAAoB,CAYnB,uMAAyM,CAJzM,8CAwED,CAhEC,uCATD,+CAUE,eA+DF,CA9DC,CAEA,mDAEC,UAAW,CAGX,cAAe,CAFf,8BAA+B,CAC/B,6BAA8B,CAH9B,UAwBD,CAlBC,uCAPD,mDAQE,eAiBF,CAhBC,CAEA,qDACC,mBAAoB,CACpB,mBAAoB,CAEpB,SAAU,CACV,qDAAsD,CACtD,kBAAmB,CACnB,oBAAqB,CACrB,qBACD,CAEA,wDACC,kBACD,CAGD,qDAIC,6DA4BD,CAtBE,kEACC,oDACD,CAEA,8DACC,wDACD,CAGD,uCAQE,qLACC,cACD,CAEF,CASD,uKA7FD,SAAU,CACV,mBA8FC,CAOD,gGACC,0DACD,CAOA,uKAEC,2DAQD,CANC,mLAIC,uEAAkF,CADlF,mBAAoB,CADpB,2DAA4D,CAD5D,0DAID,CAOD,8GACC,gBACD,CAKA,mDAGC,mFAAoF,CAOpF,oCAAqC,CARrC,UAAW,CAOX,oCAAwC,CARxC,mBAUD,CAOC,6JAEC,yBACD,CAUA,yKACC,iDACD,CAMA,uOAxKD,SAAU,CACV,mBAyKC,CAoBA,6yBACC,SACD,CASF,uHACC,aAAc,CACd,iBACD,CAYG,iRAxNF,SAAU,CACV,mBAyNE,CAQH,kIACC,qEAKD,CAHC,wIACC,WACD,CAGD,4CACC,GACC,oBACD,CACA,OACC,mBACD,CACD,CAEA,gDACC,OACC,mBACD,CACA,OACC,mBACD,CACD,CAEA,8CACC,GACC,6HACD,CACA,IACC,6HACD,CACA,GACC,+HACD,CACD,CAEA,kDACC,GACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,GACC,SACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-widget {\n\t/*\n\t * Styles of the type around buttons\n\t */\n\t& .ck-widget__type-around__button {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\toverflow: hidden;\n\t\tz-index: var(--ck-z-default);\n\n\t\t& svg {\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\tleft: 50%;\n\t\t\tz-index: calc(var(--ck-z-default) + 2);\n\t\t}\n\n\t\t&.ck-widget__type-around__button_before {\n\t\t\t/* Place it in the middle of the outline */\n\t\t\ttop: calc(-0.5 * var(--ck-widget-outline-thickness));\n\t\t\tleft: min(10%, 30px);\n\n\t\t\ttransform: translateY(-50%);\n\t\t}\n\n\t\t&.ck-widget__type-around__button_after {\n\t\t\t/* Place it in the middle of the outline */\n\t\t\tbottom: calc(-0.5 * var(--ck-widget-outline-thickness));\n\t\t\tright: min(10%, 30px);\n\n\t\t\ttransform: translateY(50%);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the buttons when:\n\t * - the widget is selected,\n\t * - or the button is being hovered (regardless of the widget state).\n\t */\n\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\n\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\n\t\t&::after {\n\t\t\tcontent: "";\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\ttop: 1px;\n\t\t\tleft: 1px;\n\t\t\tz-index: calc(var(--ck-z-default) + 1);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard.\n\t */\n\t& > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tdisplay: none;\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\tright: 0;\n\t}\n\n\t/*\n\t * When the widget is hovered the "fake caret" would normally be narrower than the\n\t * extra outline displayed around the widget. Let\'s extend the "fake caret" to match\n\t * the full width of the widget.\n\t */\n\t&:hover > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tleft: calc( -1 * var(--ck-widget-outline-thickness) );\n\t\tright: calc( -1 * var(--ck-widget-outline-thickness) );\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" when it should be displayed before the widget (backward keyboard navigation).\n\t */\n\t&.ck-widget_type-around_show-fake-caret_before > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\ttop: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\n\t\tdisplay: block;\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" when it should be displayed after the widget (forward keyboard navigation).\n\t */\n\t&.ck-widget_type-around_show-fake-caret_after > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tbottom: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\n\t\tdisplay: block;\n\t}\n}\n\n/*\n * Integration with the read-only mode of the editor.\n */\n.ck.ck-editor__editable.ck-read-only .ck-widget__type-around {\n\tdisplay: none;\n}\n\n/*\n * Integration with the restricted editing mode (feature) of the editor.\n */\n.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around {\n\tdisplay: none;\n}\n\n/*\n * Integration with the #isEnabled property of the WidgetTypeAround plugin.\n */\n.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around {\n\tdisplay: none;\n}\n','/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-widget-type-around-button-size: 20px;\n\t--ck-color-widget-type-around-button-active: var(--ck-color-focus-border);\n\t--ck-color-widget-type-around-button-hover: var(--ck-color-widget-hover-border);\n\t--ck-color-widget-type-around-button-blurred-editable: var(--ck-color-widget-blurred-border);\n\t--ck-color-widget-type-around-button-radar-start-alpha: 0;\n\t--ck-color-widget-type-around-button-radar-end-alpha: .3;\n\t--ck-color-widget-type-around-button-icon: var(--ck-color-base-background);\n}\n\n@define-mixin ck-widget-type-around-button-visible {\n\topacity: 1;\n\tpointer-events: auto;\n}\n\n@define-mixin ck-widget-type-around-button-hidden {\n\topacity: 0;\n\tpointer-events: none;\n}\n\n.ck .ck-widget {\n\t/*\n\t * Styles of the type around buttons\n\t */\n\t& .ck-widget__type-around__button {\n\t\twidth: var(--ck-widget-type-around-button-size);\n\t\theight: var(--ck-widget-type-around-button-size);\n\t\tbackground: var(--ck-color-widget-type-around-button);\n\t\tborder-radius: 100px;\n\t\ttransition: opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve), background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t\t@mixin ck-widget-type-around-button-hidden;\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\ttransition: none;\n\t\t}\n\n\t\t& svg {\n\t\t\twidth: 10px;\n\t\t\theight: 8px;\n\t\t\ttransform: translate(-50%,-50%);\n\t\t\ttransition: transform .5s ease;\n\t\t\tmargin-top: 1px;\n\n\t\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t\ttransition: none;\n\t\t\t}\n\n\t\t\t& * {\n\t\t\t\tstroke-dasharray: 10;\n\t\t\t\tstroke-dashoffset: 0;\n\n\t\t\t\tfill: none;\n\t\t\t\tstroke: var(--ck-color-widget-type-around-button-icon);\n\t\t\t\tstroke-width: 1.5px;\n\t\t\t\tstroke-linecap: round;\n\t\t\t\tstroke-linejoin: round;\n\t\t\t}\n\n\t\t\t& line {\n\t\t\t\tstroke-dasharray: 7;\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\t/*\n\t\t\t * Display the "sonar" around the button when hovered.\n\t\t\t */\n\t\t\tanimation: ck-widget-type-around-button-sonar 1s ease infinite;\n\n\t\t\t/*\n\t\t\t * Animate active button\'s icon.\n\t\t\t */\n\t\t\t& svg {\n\t\t\t\t& polyline {\n\t\t\t\t\tanimation: ck-widget-type-around-arrow-dash 2s linear;\n\t\t\t\t}\n\n\t\t\t\t& line {\n\t\t\t\t\tanimation: ck-widget-type-around-arrow-tip-dash 2s linear;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t\tanimation: none;\n\n\t\t\t\t& svg {\n\t\t\t\t\t& polyline {\n\t\t\t\t\t\tanimation: none;\n\t\t\t\t\t}\n\n\t\t\t\t\t& line {\n\t\t\t\t\t\tanimation: none;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t * Show type around buttons when the widget gets selected or being hovered.\n\t */\n\t&.ck-widget_selected,\n\t&:hover {\n\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t@mixin ck-widget-type-around-button-visible;\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the buttons when the widget is NOT selected (but the buttons are visible\n\t * and still can be hovered).\n\t */\n\t&:not(.ck-widget_selected) > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\tbackground: var(--ck-color-widget-type-around-button-hover);\n\t}\n\n\t/*\n\t * Styles for the buttons when:\n\t * - the widget is selected,\n\t * - or the button is being hovered (regardless of the widget state).\n\t */\n\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\n\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\n\t\tbackground: var(--ck-color-widget-type-around-button-active);\n\n\t\t&::after {\n\t\t\twidth: calc(var(--ck-widget-type-around-button-size) - 2px);\n\t\t\theight: calc(var(--ck-widget-type-around-button-size) - 2px);\n\t\t\tborder-radius: 100px;\n\t\t\tbackground: linear-gradient(135deg, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,.3) 100%);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the "before" button when the widget has a selection handle. Because some space\n\t * is consumed by the handle, the button must be moved slightly to the right to let it breathe.\n\t */\n\t&.ck-widget_with-selection-handle > .ck-widget__type-around > .ck-widget__type-around__button_before {\n\t\tmargin-left: 20px;\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard.\n\t */\n\t& .ck-widget__type-around__fake-caret {\n\t\tpointer-events: none;\n\t\theight: 1px;\n\t\tanimation: ck-widget-type-around-fake-caret-pulse linear 1s infinite normal forwards;\n\n\t\t/*\n\t\t * The semi-transparent-outline+background combo improves the contrast\n\t\t * when the background underneath the fake caret is dark.\n\t\t */\n\t\toutline: solid 1px hsla(0, 0%, 100%, .5);\n\t\tbackground: var(--ck-color-base-text);\n\t}\n\n\t/*\n\t * Styles of the widget when the "fake caret" is blinking (e.g. upon keyboard navigation).\n\t * Despite the widget being physically selected in the model, its outline should disappear.\n\t */\n\t&.ck-widget_selected {\n\t\t&.ck-widget_type-around_show-fake-caret_before,\n\t\t&.ck-widget_type-around_show-fake-caret_after {\n\t\t\toutline-color: transparent;\n\t\t}\n\t}\n\n\t&.ck-widget_type-around_show-fake-caret_before,\n\t&.ck-widget_type-around_show-fake-caret_after {\n\t\t/*\n\t\t * When the "fake caret" is visible we simulate that the widget is not selected\n\t\t * (despite being physically selected), so the outline color should be for the\n\t\t * unselected widget.\n\t\t */\n\t\t&.ck-widget_selected:hover {\n\t\t\toutline-color: var(--ck-color-widget-hover-border);\n\t\t}\n\n\t\t/*\n\t\t * Styles of the type around buttons when the "fake caret" is blinking (e.g. upon keyboard navigation).\n\t\t * In this state, the type around buttons would collide with the fake carets so they should disappear.\n\t\t */\n\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t@mixin ck-widget-type-around-button-hidden;\n\t\t}\n\n\t\t/*\n\t\t * Fake horizontal caret integration with the selection handle. When the caret is visible, simply\n\t\t * hide the handle because it intersects with the caret (and does not make much sense anyway).\n\t\t */\n\t\t&.ck-widget_with-selection-handle {\n\t\t\t&.ck-widget_selected,\n\t\t\t&.ck-widget_selected:hover {\n\t\t\t\t& > .ck-widget__selection-handle {\n\t\t\t\t\topacity: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/*\n\t\t * Fake horizontal caret integration with the resize UI. When the caret is visible, simply\n\t\t * hide the resize UI because it creates too much noise. It can be visible when the user\n\t\t * hovers the widget, though.\n\t\t */\n\t\t&.ck-widget_selected.ck-widget_with-resizer > .ck-widget__resizer {\n\t\t\topacity: 0\n\t\t}\n\t}\n}\n\n/*\n * Styles for the "before" button when the widget has a selection handle in an RTL environment.\n * The selection handler is aligned to the right side of the widget so there is no need to create\n * additional space for it next to the "before" button.\n */\n.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around > .ck-widget__type-around__button_before {\n\tmargin-left: 0;\n\tmargin-right: 20px;\n}\n\n/*\n * Hide type around buttons when the widget is selected as a child of a selected\n * nested editable (e.g. mulit-cell table selection).\n *\n * See https://github.com/ckeditor/ckeditor5/issues/7263.\n */\n.ck-editor__nested-editable.ck-editor__editable_selected {\n\t& .ck-widget {\n\t\t&.ck-widget_selected,\n\t\t&:hover {\n\t\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t\t@mixin ck-widget-type-around-button-hidden;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*\n * Styles for the buttons when the widget is selected but the user clicked outside of the editor (blurred the editor).\n */\n.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button:not(:hover) {\n\tbackground: var(--ck-color-widget-type-around-button-blurred-editable);\n\n\t& svg * {\n\t\tstroke: hsl(0,0%,60%);\n\t}\n}\n\n@keyframes ck-widget-type-around-arrow-dash {\n\t0% {\n\t\tstroke-dashoffset: 10;\n\t}\n\t20%, 100% {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes ck-widget-type-around-arrow-tip-dash {\n\t0%, 20% {\n\t\tstroke-dashoffset: 7;\n\t}\n\t40%, 100% {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes ck-widget-type-around-button-sonar {\n\t0% {\n\t\tbox-shadow: 0 0 0 0 hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\n\t}\n\t50% {\n\t\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-end-alpha));\n\t}\n\t100% {\n\t\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\n\t}\n}\n\n@keyframes ck-widget-type-around-fake-caret-pulse {\n\t0% {\n\t\topacity: 1;\n\t}\n\t49% {\n\t\topacity: 1;\n\t}\n\t50% {\n\t\topacity: 0;\n\t}\n\t99% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n'],sourceRoot:""}]);const a=s},935:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?"@media ".concat(e[2]," {").concat(n,"}"):n})).join("")},e.i=function(t,n,i){"string"==typeof t&&(t=[[null,t,""]]);var o={};if(i)for(var r=0;r{"use strict";function e(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null==n)return;var i,o,r=[],s=!0,a=!1;try{for(n=n.call(t);!(s=(i=n.next()).done)&&(r.push(i.value),!e||r.length!==e);s=!0);}catch(t){a=!0,o=t}finally{try{s||null==n.return||n.return()}finally{if(a)throw o}}return r}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return n(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(t);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return n(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n{"use strict";var i,o=function(){return void 0===i&&(i=Boolean(window&&document&&document.all&&!window.atob)),i},r=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),s=[];function a(t){for(var e=-1,n=0;n{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.nc=void 0;var i={};return(()=>{"use strict";n.d(i,{default:()=>wV});class t{crashes=[];state="initializing";_crashNumberLimit;_now=Date.now;_minimumNonErrorTimePeriod;_boundErrorHandler;_listeners;constructor(t){if(this.crashes=[],this._crashNumberLimit="number"==typeof t.crashNumberLimit?t.crashNumberLimit:3,this._minimumNonErrorTimePeriod="number"==typeof t.minimumNonErrorTimePeriod?t.minimumNonErrorTimePeriod:5e3,this._boundErrorHandler=t=>{const e="error"in t?t.error:t.reason;e instanceof Error&&this._handleError(e,t)},this._listeners={},!this._restart)throw new Error("The Watchdog class was split into the abstract `Watchdog` class and the `EditorWatchdog` class. Please, use `EditorWatchdog` if you have used the `Watchdog` class previously.")}destroy(){this._stopErrorHandling(),this._listeners={}}on(t,e){this._listeners[t]||(this._listeners[t]=[]),this._listeners[t].push(e)}off(t,e){this._listeners[t]=this._listeners[t].filter((t=>t!==e))}_fire(t,...e){const n=this._listeners[t]||[];for(const t of n)t.apply(this,[null,...e])}_startErrorHandling(){window.addEventListener("error",this._boundErrorHandler),window.addEventListener("unhandledrejection",this._boundErrorHandler)}_stopErrorHandling(){window.removeEventListener("error",this._boundErrorHandler),window.removeEventListener("unhandledrejection",this._boundErrorHandler)}_handleError(t,e){if(this._shouldReactToError(t)){this.crashes.push({message:t.message,stack:t.stack,filename:e instanceof ErrorEvent?e.filename:void 0,lineno:e instanceof ErrorEvent?e.lineno:void 0,colno:e instanceof ErrorEvent?e.colno:void 0,date:this._now()});const n=this._shouldRestart();this.state="crashed",this._fire("stateChange"),this._fire("error",{error:t,causesRestart:n}),n?this._restart():(this.state="crashedPermanently",this._fire("stateChange"))}}_shouldReactToError(t){return t.is&&t.is("CKEditorError")&&void 0!==t.context&&null!==t.context&&"ready"===this.state&&this._isErrorComingFromThisItem(t)}_shouldRestart(){if(this.crashes.length<=this._crashNumberLimit)return!0;return(this.crashes[this.crashes.length-1].date-this.crashes[this.crashes.length-1-this._crashNumberLimit].date)/this._crashNumberLimit>this._minimumNonErrorTimePeriod}}function e(t,e=new Set){const n=[t],i=new Set;let r=0;for(;n.length>r;){const t=n[r++];if(!i.has(t)&&o(t)&&!e.has(t))if(i.add(t),Symbol.iterator in t)try{for(const e of t)n.push(e)}catch(t){}else for(const e in t)"defaultValue"!==e&&n.push(t[e])}return i}function o(t){const e=Object.prototype.toString.call(t),n=typeof t;return!("number"===n||"boolean"===n||"string"===n||"symbol"===n||"function"===n||"[object Date]"===e||"[object RegExp]"===e||"[object Module]"===e||null==t||t._watchdogExcluded||t instanceof EventTarget||t instanceof Event)}function r(t,n,i=new Set){if(t===n&&("object"==typeof(o=t)&&null!==o))return!0;var o;const r=e(t,i),s=e(n,i);for(const t of r)if(s.has(t))return!0;return!1}const s=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)};const a="object"==typeof global&&global&&global.Object===Object&&global;var l="object"==typeof self&&self&&self.Object===Object&&self;const c=a||l||Function("return this")();const d=function(){return c.Date.now()};var h=/\s/;const u=function(t){for(var e=t.length;e--&&h.test(t.charAt(e)););return e};var m=/^\s+/;const g=function(t){return t?t.slice(0,u(t)+1).replace(m,""):t};const p=c.Symbol;var f=Object.prototype,k=f.hasOwnProperty,b=f.toString,w=p?p.toStringTag:void 0;const A=function(t){var e=k.call(t,w),n=t[w];try{t[w]=void 0;var i=!0}catch(t){}var o=b.call(t);return i&&(e?t[w]=n:delete t[w]),o};var _=Object.prototype.toString;const C=function(t){return _.call(t)};var v=p?p.toStringTag:void 0;const y=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":v&&v in Object(t)?A(t):C(t)};const x=function(t){return null!=t&&"object"==typeof t};const E=function(t){return"symbol"==typeof t||x(t)&&"[object Symbol]"==y(t)};var B=/^[-+]0x[0-9a-f]+$/i,D=/^0b[01]+$/i,S=/^0o[0-7]+$/i,T=parseInt;const I=function(t){if("number"==typeof t)return t;if(E(t))return NaN;if(s(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=s(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=g(t);var n=D.test(t);return n||S.test(t)?T(t.slice(2),n?2:8):B.test(t)?NaN:+t};var P=Math.max,F=Math.min;const R=function(t,e,n){var i,o,r,a,l,c,h=0,u=!1,m=!1,g=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function p(e){var n=i,r=o;return i=o=void 0,h=e,a=t.apply(r,n)}function f(t){var n=t-c;return void 0===c||n>=e||n<0||m&&t-h>=r}function k(){var t=d();if(f(t))return b(t);l=setTimeout(k,function(t){var n=e-(t-c);return m?F(n,r-(t-h)):n}(t))}function b(t){return l=void 0,g&&i?p(t):(i=o=void 0,a)}function w(){var t=d(),n=f(t);if(i=arguments,o=this,c=t,n){if(void 0===l)return function(t){return h=t,l=setTimeout(k,e),u?p(t):a}(c);if(m)return clearTimeout(l),l=setTimeout(k,e),p(c)}return void 0===l&&(l=setTimeout(k,e)),a}return e=I(e)||0,s(n)&&(u=!!n.leading,r=(m="maxWait"in n)?P(I(n.maxWait)||0,e):r,g="trailing"in n?!!n.trailing:g),w.cancel=function(){void 0!==l&&clearTimeout(l),h=0,i=c=o=l=void 0},w.flush=function(){return void 0===l?a:b(d())},w};const V=function(t,e,n){var i=!0,o=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return s(n)&&(i="leading"in n?!!n.leading:i,o="trailing"in n?!!n.trailing:o),R(t,e,{leading:i,maxWait:e,trailing:o})};const L=function(t,e){return function(n){return t(e(n))}};const z=L(Object.getPrototypeOf,Object);var M=Function.prototype,O=Object.prototype,N=M.toString,H=O.hasOwnProperty,j=N.call(Object);const q=function(t){if(!x(t)||"[object Object]"!=y(t))return!1;var e=z(t);if(null===e)return!0;var n=H.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&N.call(n)==j};const W=function(t){return x(t)&&1===t.nodeType&&!q(t)};const U=function(){this.__data__=[],this.size=0};const G=function(t,e){return t===e||t!=t&&e!=e};const K=function(t,e){for(var n=t.length;n--;)if(G(t[n][0],e))return n;return-1};var Y=Array.prototype.splice;const Z=function(t){var e=this.__data__,n=K(e,t);return!(n<0)&&(n==e.length-1?e.pop():Y.call(e,n,1),--this.size,!0)};const J=function(t){var e=this.__data__,n=K(e,t);return n<0?void 0:e[n][1]};const Q=function(t){return K(this.__data__,t)>-1};const X=function(t,e){var n=this.__data__,i=K(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this};function tt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991};var he={};he["[object Float32Array]"]=he["[object Float64Array]"]=he["[object Int8Array]"]=he["[object Int16Array]"]=he["[object Int32Array]"]=he["[object Uint8Array]"]=he["[object Uint8ClampedArray]"]=he["[object Uint16Array]"]=he["[object Uint32Array]"]=!0,he["[object Arguments]"]=he["[object Array]"]=he["[object ArrayBuffer]"]=he["[object Boolean]"]=he["[object DataView]"]=he["[object Date]"]=he["[object Error]"]=he["[object Function]"]=he["[object Map]"]=he["[object Number]"]=he["[object Object]"]=he["[object RegExp]"]=he["[object Set]"]=he["[object String]"]=he["[object WeakMap]"]=!1;const ue=function(t){return x(t)&&de(t.length)&&!!he[y(t)]};const me=function(t){return function(e){return t(e)}};var ge="object"==typeof exports&&exports&&!exports.nodeType&&exports,pe=ge&&"object"==typeof module&&module&&!module.nodeType&&module,fe=pe&&pe.exports===ge&&a.process;const ke=function(){try{var t=pe&&pe.require&&pe.require("util").types;return t||fe&&fe.binding&&fe.binding("util")}catch(t){}}();var be=ke&&ke.isTypedArray;const we=be?me(be):ue;var Ae=Object.prototype.hasOwnProperty;const _e=function(t,e){var n=ne(t),i=!n&&ee(t),o=!n&&!i&&ae(t),r=!n&&!i&&!o&&we(t),s=n||i||o||r,a=s?Zt(t.length,String):[],l=a.length;for(var c in t)!e&&!Ae.call(t,c)||s&&("length"==c||o&&("offset"==c||"parent"==c)||r&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||ce(c,l))||a.push(c);return a};var Ce=Object.prototype;const ve=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Ce)};const ye=L(Object.keys,Object);var xe=Object.prototype.hasOwnProperty;const Ee=function(t){if(!ve(t))return ye(t);var e=[];for(var n in Object(t))xe.call(t,n)&&"constructor"!=n&&e.push(n);return e};const Be=function(t){return null!=t&&de(t.length)&&!st(t)};const De=function(t){return Be(t)?_e(t):Ee(t)};const Se=function(t,e){return t&&Yt(e,De(e),t)};const Te=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e};var Ie=Object.prototype.hasOwnProperty;const Pe=function(t){if(!s(t))return Te(t);var e=ve(t),n=[];for(var i in t)("constructor"!=i||!e&&Ie.call(t,i))&&n.push(i);return n};const Fe=function(t){return Be(t)?_e(t,!0):Pe(t)};const Re=function(t,e){return t&&Yt(e,Fe(e),t)};var Ve="object"==typeof exports&&exports&&!exports.nodeType&&exports,Le=Ve&&"object"==typeof module&&module&&!module.nodeType&&module,ze=Le&&Le.exports===Ve?c.Buffer:void 0,Me=ze?ze.allocUnsafe:void 0;const Oe=function(t,e){if(e)return t.slice();var n=t.length,i=Me?Me(n):new t.constructor(n);return t.copy(i),i};const Ne=function(t,e){var n=-1,i=t.length;for(e||(e=Array(i));++nt.create(e,n)),this._destructor=t=>t.destroy()}get editor(){return this._editor}get _item(){return this._editor}setCreator(t){this._creator=t}setDestructor(t){this._destructor=t}_restart(){return Promise.resolve().then((()=>(this.state="initializing",this._fire("stateChange"),this._destroy()))).catch((t=>{console.error("An error happened during the editor destroying.",t)})).then((()=>{const t={},e=[],n=this._config.rootsAttributes||{},i={};for(const[o,r]of Object.entries(this._data.roots))r.isLoaded?(t[o]="",i[o]=n[o]||{}):e.push(o);const o={...this._config,extraPlugins:this._config.extraPlugins||[],lazyRoots:e,rootsAttributes:i,_watchdogInitialData:this._data};return delete o.initialData,o.extraPlugins.push(Wn),this._initUsingData?this.create(t,o,o.context):W(this._elementOrData)?this.create(this._elementOrData,o,o.context):this.create(this._editables,o,o.context)})).then((()=>{this._fire("restart")}))}create(t=this._elementOrData,e=this._config,n){return this._lifecyclePromise=Promise.resolve(this._lifecyclePromise).then((()=>(super._startErrorHandling(),this._elementOrData=t,this._initUsingData="string"==typeof t||Object.keys(t).length>0&&"string"==typeof Object.values(t)[0],this._config=this._cloneEditorConfiguration(e)||{},this._config.context=n,this._creator(t,this._config)))).then((t=>{this._editor=t,t.model.document.on("change:data",this._throttledSave),this._lastDocumentVersion=t.model.document.version,this._data=this._getData(),this._initUsingData||(this._editables=this._getEditables()),this.state="ready",this._fire("stateChange")})).finally((()=>{this._lifecyclePromise=null})),this._lifecyclePromise}destroy(){return this._lifecyclePromise=Promise.resolve(this._lifecyclePromise).then((()=>(this.state="destroyed",this._fire("stateChange"),super.destroy(),this._destroy()))).finally((()=>{this._lifecyclePromise=null})),this._lifecyclePromise}_destroy(){return Promise.resolve().then((()=>{this._stopErrorHandling(),this._throttledSave.cancel();const t=this._editor;return this._editor=null,t.model.document.off("change:data",this._throttledSave),this._destructor(t)}))}_save(){const t=this._editor.model.document.version;try{this._data=this._getData(),this._initUsingData||(this._editables=this._getEditables()),this._lastDocumentVersion=t}catch(t){console.error(t,"An error happened during restoring editor data. Editor will be restored from the previously saved data.")}}_setExcludedProperties(t){this._excludedProps=t}_getData(){const t=this._editor,e=t.model.document.roots.filter((t=>t.isAttached()&&"$graveyard"!=t.rootName)),{plugins:n}=t,i=n.has("CommentsRepository")&&n.get("CommentsRepository"),o=n.has("TrackChanges")&&n.get("TrackChanges"),r={roots:{},markers:{},commentThreads:JSON.stringify([]),suggestions:JSON.stringify([])};e.forEach((t=>{r.roots[t.rootName]={content:JSON.stringify(Array.from(t.getChildren())),attributes:JSON.stringify(Array.from(t.getAttributes())),isLoaded:t._isLoaded}}));for(const e of t.model.markers)e._affectsData&&(r.markers[e.name]={rangeJSON:e.getRange().toJSON(),usingOperation:e._managedUsingOperations,affectsData:e._affectsData});return i&&(r.commentThreads=JSON.stringify(i.getCommentThreads({toJSON:!0,skipNotAttached:!0}))),o&&(r.suggestions=JSON.stringify(o.getSuggestions({toJSON:!0,skipNotAttached:!0}))),r}_getEditables(){const t={};for(const e of this.editor.model.document.getRootNames()){const n=this.editor.ui.getEditableElement(e);n&&(t[e]=n)}return t}_isErrorComingFromThisItem(t){return r(this._editor,t.context,this._excludedProps)}_cloneEditorConfiguration(t){return jn(t,((t,e)=>W(t)||"context"===e?t:void 0))}}class Wn{editor;_data;constructor(t){this.editor=t,this._data=t.config.get("_watchdogInitialData")}init(){this.editor.data.on("init",(t=>{t.stop(),this.editor.model.enqueueChange({isUndoable:!1},(t=>{this._restoreCollaborationData(),this._restoreEditorData(t)})),this.editor.data.fire("ready")}),{priority:999})}_createNode(t,e){if("name"in e){const n=t.createElement(e.name,e.attributes);if(e.children)for(const i of e.children)n._appendChild(this._createNode(t,i));return n}return t.createText(e.data,e.attributes)}_restoreEditorData(t){const e=this.editor;Object.entries(this._data.roots).forEach((([n,{content:i,attributes:o}])=>{const r=JSON.parse(i),s=JSON.parse(o),a=e.model.document.getRoot(n);for(const[e,n]of s)t.setAttribute(e,n,a);for(const e of r){const n=this._createNode(t,e);t.insert(n,a,"end")}})),Object.entries(this._data.markers).forEach((([n,i])=>{const{document:o}=e.model,{rangeJSON:{start:r,end:s},...a}=i,l=o.getRoot(r.root),c=t.createPositionFromPath(l,r.path,r.stickiness),d=t.createPositionFromPath(l,s.path,s.stickiness),h=t.createRange(c,d);t.addMarker(n,{range:h,...a})}))}_restoreCollaborationData(){const t=JSON.parse(this._data.commentThreads),e=JSON.parse(this._data.suggestions);t.forEach((t=>{const e=this.editor.config.get("collaboration.channelId"),n=this.editor.plugins.get("CommentsRepository");if(n.hasCommentThread(t.threadId)){n.getCommentThread(t.threadId).remove()}n.addCommentThread({channelId:e,...t})})),e.forEach((t=>{const e=this.editor.plugins.get("TrackChangesEditing");if(e.hasSuggestion(t.id)){e.getSuggestion(t.id).attributes=t.attributes}else e.addSuggestionData(t)}))}}const Un=Symbol("MainQueueId");class $n extends t{_watchdogs=new Map;_watchdogConfig;_context=null;_contextProps=new Set;_actionQueues=new Gn;_contextConfig;_item;constructor(t,e={}){super(e),this._watchdogConfig=e,this._creator=e=>t.create(e),this._destructor=t=>t.destroy(),this._actionQueues.onEmpty((()=>{"initializing"===this.state&&(this.state="ready",this._fire("stateChange"))}))}setCreator(t){this._creator=t}setDestructor(t){this._destructor=t}get context(){return this._context}create(t={}){return this._actionQueues.enqueue(Un,(()=>(this._contextConfig=t,this._create())))}getItem(t){return this._getWatchdog(t)._item}getItemState(t){return this._getWatchdog(t).state}add(t){const e=Kn(t);return Promise.all(e.map((t=>this._actionQueues.enqueue(t.id,(()=>{if("destroyed"===this.state)throw new Error("Cannot add items to destroyed watchdog.");if(!this._context)throw new Error("Context was not created yet. You should call the `ContextWatchdog#create()` method first.");let e;if(this._watchdogs.has(t.id))throw new Error(`Item with the given id is already added: '${t.id}'.`);if("editor"===t.type)return e=new qn(null,this._watchdogConfig),e.setCreator(t.creator),e._setExcludedProperties(this._contextProps),t.destructor&&e.setDestructor(t.destructor),this._watchdogs.set(t.id,e),e.on("error",((n,{error:i,causesRestart:o})=>{this._fire("itemError",{itemId:t.id,error:i}),o&&this._actionQueues.enqueue(t.id,(()=>new Promise((n=>{const i=()=>{e.off("restart",i),this._fire("itemRestart",{itemId:t.id}),n()};e.on("restart",i)}))))})),e.create(t.sourceElementOrData,t.config,this._context);throw new Error(`Not supported item type: '${t.type}'.`)})))))}remove(t){const e=Kn(t);return Promise.all(e.map((t=>this._actionQueues.enqueue(t,(()=>{const e=this._getWatchdog(t);return this._watchdogs.delete(t),e.destroy()})))))}destroy(){return this._actionQueues.enqueue(Un,(()=>(this.state="destroyed",this._fire("stateChange"),super.destroy(),this._destroy())))}_restart(){return this._actionQueues.enqueue(Un,(()=>(this.state="initializing",this._fire("stateChange"),this._destroy().catch((t=>{console.error("An error happened during destroying the context or items.",t)})).then((()=>this._create())).then((()=>this._fire("restart"))))))}_create(){return Promise.resolve().then((()=>(this._startErrorHandling(),this._creator(this._contextConfig)))).then((t=>(this._context=t,this._contextProps=e(this._context),Promise.all(Array.from(this._watchdogs.values()).map((t=>(t._setExcludedProperties(this._contextProps),t.create(void 0,void 0,this._context))))))))}_destroy(){return Promise.resolve().then((()=>{this._stopErrorHandling();const t=this._context;return this._context=null,this._contextProps=new Set,Promise.all(Array.from(this._watchdogs.values()).map((t=>t.destroy()))).then((()=>this._destructor(t)))}))}_getWatchdog(t){const e=this._watchdogs.get(t);if(!e)throw new Error(`Item with the given id was not registered: ${t}.`);return e}_isErrorComingFromThisItem(t){for(const e of this._watchdogs.values())if(e._isErrorComingFromThisItem(t))return!1;return r(this._context,t.context)}}class Gn{_onEmptyCallbacks=[];_queues=new Map;_activeActions=0;onEmpty(t){this._onEmptyCallbacks.push(t)}enqueue(t,e){const n=t===Un;this._activeActions++,this._queues.get(t)||this._queues.set(t,Promise.resolve());const i=(n?Promise.all(this._queues.values()):Promise.all([this._queues.get(Un),this._queues.get(t)])).then(e),o=i.catch((()=>{}));return this._queues.set(t,o),i.finally((()=>{this._activeActions--,this._queues.get(t)===o&&0===this._activeActions&&this._onEmptyCallbacks.forEach((t=>t()))}))}}function Kn(t){return Array.isArray(t)?t:[t]}let Yn;try{Yn={window,document}}catch(t){Yn={window:{},document:{}}}const Zn=Yn;function Jn(){try{return navigator.userAgent.toLowerCase()}catch(t){return""}}const Qn=Jn(),Xn={isMac:ti(Qn),isWindows:ei(Qn),isGecko:ni(Qn),isSafari:ii(Qn),isiOS:oi(Qn),isAndroid:ri(Qn),isBlink:si(Qn),get isMediaForcedColors(){return!!Zn.window.matchMedia&&Zn.window.matchMedia("(forced-colors: active)").matches},get isMotionReduced(){return!!Zn.window.matchMedia&&Zn.window.matchMedia("(prefers-reduced-motion)").matches},features:{isRegExpUnicodePropertySupported:ai()}};function ti(t){return t.indexOf("macintosh")>-1}function ei(t){return t.indexOf("windows")>-1}function ni(t){return!!t.match(/gecko\/\d+/)}function ii(t){return t.indexOf(" applewebkit/")>-1&&-1===t.indexOf("chrome")}function oi(t){return!!t.match(/iphone|ipad/i)||ti(t)&&navigator.maxTouchPoints>0}function ri(t){return t.indexOf("android")>-1}function si(t){return t.indexOf("chrome/")>-1&&t.indexOf("edge/")<0}function ai(){let t=!1;try{t=0==="ć".search(new RegExp("[\\p{L}]","u"))}catch(t){}return t}function li(t,e,n,i){n=n||function(t,e){return t===e};const o=Array.isArray(t)?t:Array.prototype.slice.call(t),r=Array.isArray(e)?e:Array.prototype.slice.call(e),s=function(t,e,n){const i=ci(t,e,n);if(-1===i)return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1};const o=di(t,i),r=di(e,i),s=ci(o,r,n),a=t.length-s,l=e.length-s;return{firstIndex:i,lastIndexOld:a,lastIndexNew:l}}(o,r,n),a=i?function(t,e){const{firstIndex:n,lastIndexOld:i,lastIndexNew:o}=t;if(-1===n)return Array(e).fill("equal");let r=[];n>0&&(r=r.concat(Array(n).fill("equal")));o-n>0&&(r=r.concat(Array(o-n).fill("insert")));i-n>0&&(r=r.concat(Array(i-n).fill("delete")));o0&&n.push({index:i,type:"insert",values:t.slice(i,r)});o-i>0&&n.push({index:i+(r-i),type:"delete",howMany:o-i});return n}(r,s);return a}function ci(t,e,n){for(let i=0;i200||o>200||i+o>300)return hi.fastDiff(t,e,n,!0);let r,s;if(oc?-1:1;d[i+u]&&(d[i]=d[i+u].slice(0)),d[i]||(d[i]=[]),d[i].push(o>c?r:s);let m=Math.max(o,c),g=m-i;for(;gc;m--)h[m]=u(m);h[c]=u(c),g++}while(h[c]!==l);return d[c].slice(1)}hi.fastDiff=li;const ui=function(){return function t(){t.called=!0}};class mi{source;name;path;stop;off;return;constructor(t,e){this.source=t,this.name=e,this.path=[],this.stop=ui(),this.off=ui()}}const gi=new Array(256).fill("").map(((t,e)=>("0"+e.toString(16)).slice(-2)));function pi(){const[t,e,n,i]=crypto.getRandomValues(new Uint32Array(4));return"e"+gi[255&t]+gi[t>>8&255]+gi[t>>16&255]+gi[t>>24&255]+gi[255&e]+gi[e>>8&255]+gi[e>>16&255]+gi[e>>24&255]+gi[255&n]+gi[n>>8&255]+gi[n>>16&255]+gi[n>>24&255]+gi[255&i]+gi[i>>8&255]+gi[i>>16&255]+gi[i>>24&255]}const fi={get(t="normal"){return"number"!=typeof t?this[t]||this.normal:t},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};function ki(t,e){const n=fi.get(e.priority);for(let i=0;i{if("object"==typeof e&&null!==e){if(n.has(e))return`[object ${e.constructor.name}]`;n.add(e)}return e},o=e?` ${JSON.stringify(e,i)}`:"",r=Ai(t);return t+o+r}(t,n)),this.name="CKEditorError",this.context=e,this.data=n}is(t){return"CKEditorError"===t}static rethrowUnexpectedError(t,e){if(t.is&&t.is("CKEditorError"))throw t;const n=new bi(t.message,e);throw n.stack=t.stack,n}}function wi(t,e){console.warn(..._i(t,e))}function Ai(t){return`\nRead more: https://ckeditor.com/docs/ckeditor5/latest/support/error-codes.html#error-${t}`}function _i(t,e){const n=Ai(t);return e?[t,e,n]:[t,n]}const Ci="43.2.0",vi=new Date(2024,9,2);if(globalThis.CKEDITOR_VERSION)throw new bi("ckeditor-duplicated-modules",null);globalThis.CKEDITOR_VERSION=Ci;const yi=Symbol("listeningTo"),xi=Symbol("emitterId"),Ei=Symbol("delegations"),Bi=Di(Object);function Di(t){if(!t)return Bi;return class extends t{on(t,e,n){this.listenTo(this,t,e,n)}once(t,e,n){let i=!1;this.listenTo(this,t,((t,...n)=>{i||(i=!0,t.off(),e.call(this,t,...n))}),n)}off(t,e){this.stopListening(this,t,e)}listenTo(t,e,n,i={}){let o,r;this[yi]||(this[yi]={});const s=this[yi];Ti(t)||Si(t);const a=Ti(t);(o=s[a])||(o=s[a]={emitter:t,callbacks:{}}),(r=o.callbacks[e])||(r=o.callbacks[e]=[]),r.push(n),function(t,e,n,i,o){e._addEventListener?e._addEventListener(n,i,o):t._addEventListener.call(e,n,i,o)}(this,t,e,n,i)}stopListening(t,e,n){const i=this[yi];let o=t&&Ti(t);const r=i&&o?i[o]:void 0,s=r&&e?r.callbacks[e]:void 0;if(!(!i||t&&!r||e&&!s))if(n){Vi(this,t,e,n);-1!==s.indexOf(n)&&(1===s.length?delete r.callbacks[e]:Vi(this,t,e,n))}else if(s){for(;n=s.pop();)Vi(this,t,e,n);delete r.callbacks[e]}else if(r){for(e in r.callbacks)this.stopListening(t,e);delete i[o]}else{for(o in i)this.stopListening(i[o].emitter);delete this[yi]}}fire(t,...e){try{const n=t instanceof mi?t:new mi(this,t),i=n.name;let o=Fi(this,i);if(n.path.push(this),o){const t=[n,...e];o=Array.from(o);for(let e=0;e{this[Ei]||(this[Ei]=new Map),t.forEach((t=>{const i=this[Ei].get(t);i?i.set(e,n):this[Ei].set(t,new Map([[e,n]]))}))}}}stopDelegating(t,e){if(this[Ei])if(t)if(e){const n=this[Ei].get(t);n&&n.delete(e)}else this[Ei].delete(t);else this[Ei].clear()}_addEventListener(t,e,n){!function(t,e){const n=Ii(t);if(n[e])return;let i=e,o=null;const r=[];for(;""!==i&&!n[i];)n[i]={callbacks:[],childEvents:[]},r.push(n[i]),o&&n[i].childEvents.push(o),o=i,i=i.substr(0,i.lastIndexOf(":"));if(""!==i){for(const t of r)t.callbacks=n[i].callbacks.slice();n[i].childEvents.push(o)}}(this,t);const i=Pi(this,t),o={callback:e,priority:fi.get(n.priority)};for(const t of i)ki(t,o)}_removeEventListener(t,e){const n=Pi(this,t);for(const t of n)for(let n=0;n-1?Fi(t,e.substr(0,e.lastIndexOf(":"))):null}function Ri(t,e,n){for(let[i,o]of t){o?"function"==typeof o&&(o=o(e.name)):o=e.name;const t=new mi(e.source,o);t.path=[...e.path],i.fire(t,...n)}}function Vi(t,e,n,i){e._removeEventListener?e._removeEventListener(n,i):t._removeEventListener.call(e,n,i)}["on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach((t=>{Di[t]=Bi.prototype[t]}));const Li=Symbol("observableProperties"),zi=Symbol("boundObservables"),Mi=Symbol("boundProperties"),Oi=Symbol("decoratedMethods"),Ni=Symbol("decoratedOriginal"),Hi=ji(Di());function ji(t){if(!t)return Hi;return class extends t{set(t,e){if(s(t))return void Object.keys(t).forEach((e=>{this.set(e,t[e])}),this);qi(this);const n=this[Li];if(t in this&&!n.has(t))throw new bi("observable-set-cannot-override",this);Object.defineProperty(this,t,{enumerable:!0,configurable:!0,get:()=>n.get(t),set(e){const i=n.get(t);let o=this.fire(`set:${t}`,t,e,i);void 0===o&&(o=e),i===o&&n.has(t)||(n.set(t,o),this.fire(`change:${t}`,t,o,i))}}),this[t]=e}bind(...t){if(!t.length||!$i(t))throw new bi("observable-bind-wrong-properties",this);if(new Set(t).size!==t.length)throw new bi("observable-bind-duplicate-properties",this);qi(this);const e=this[Mi];t.forEach((t=>{if(e.has(t))throw new bi("observable-bind-rebind",this)}));const n=new Map;return t.forEach((t=>{const i={property:t,to:[]};e.set(t,i),n.set(t,i)})),{to:Wi,toMany:Ui,_observable:this,_bindProperties:t,_to:[],_bindings:n}}unbind(...t){if(!this[Li])return;const e=this[Mi],n=this[zi];if(t.length){if(!$i(t))throw new bi("observable-unbind-wrong-properties",this);t.forEach((t=>{const i=e.get(t);i&&(i.to.forEach((([t,e])=>{const o=n.get(t),r=o[e];r.delete(i),r.size||delete o[e],Object.keys(o).length||(n.delete(t),this.stopListening(t,"change"))})),e.delete(t))}))}else n.forEach(((t,e)=>{this.stopListening(e,"change")})),n.clear(),e.clear()}decorate(t){qi(this);const e=this[t];if(!e)throw new bi("observablemixin-cannot-decorate-undefined",this,{object:this,methodName:t});this.on(t,((t,n)=>{t.return=e.apply(this,n)})),this[t]=function(...e){return this.fire(t,e)},this[t][Ni]=e,this[Oi]||(this[Oi]=[]),this[Oi].push(t)}stopListening(t,e,n){if(!t&&this[Oi]){for(const t of this[Oi])this[t]=this[t][Ni];delete this[Oi]}super.stopListening(t,e,n)}[Li];[Oi];[Mi];[zi]}}function qi(t){t[Li]||(Object.defineProperty(t,Li,{value:new Map}),Object.defineProperty(t,zi,{value:new Map}),Object.defineProperty(t,Mi,{value:new Map}))}function Wi(...t){const e=function(...t){if(!t.length)throw new bi("observable-bind-to-parse-error",null);const e={to:[]};let n;"function"==typeof t[t.length-1]&&(e.callback=t.pop());return t.forEach((t=>{if("string"==typeof t)n.properties.push(t);else{if("object"!=typeof t)throw new bi("observable-bind-to-parse-error",null);n={observable:t,properties:[]},e.to.push(n)}})),e}(...t),n=Array.from(this._bindings.keys()),i=n.length;if(!e.callback&&e.to.length>1)throw new bi("observable-bind-to-no-callback",this);if(i>1&&e.callback)throw new bi("observable-bind-to-extra-callback",this);var o;e.to.forEach((t=>{if(t.properties.length&&t.properties.length!==i)throw new bi("observable-bind-to-properties-length",this);t.properties.length||(t.properties=this._bindProperties)})),this._to=e.to,e.callback&&(this._bindings.get(n[0]).callback=e.callback),o=this._observable,this._to.forEach((t=>{const e=o[zi];let n;e.get(t.observable)||o.listenTo(t.observable,"change",((i,r)=>{n=e.get(t.observable)[r],n&&n.forEach((t=>{Gi(o,t.property)}))}))})),function(t){let e;t._bindings.forEach(((n,i)=>{t._to.forEach((o=>{e=o.properties[n.callback?0:t._bindProperties.indexOf(i)],n.to.push([o.observable,e]),function(t,e,n,i){const o=t[zi],r=o.get(n),s=r||{};s[i]||(s[i]=new Set);s[i].add(e),r||o.set(n,s)}(t._observable,n,o.observable,e)}))}))}(this),this._bindProperties.forEach((t=>{Gi(this._observable,t)}))}function Ui(t,e,n){if(this._bindings.size>1)throw new bi("observable-bind-to-many-not-one-binding",this);this.to(...function(t,e){const n=t.map((t=>[t,e]));return Array.prototype.concat.apply([],n)}(t,e),n)}function $i(t){return t.every((t=>"string"==typeof t))}function Gi(t,e){const n=t[Mi].get(e);let i;n.callback?i=n.callback.apply(t,n.to.map((t=>t[0][t[1]]))):(i=n.to[0],i=i[0][i[1]]),Object.prototype.hasOwnProperty.call(t,e)?t[e]=i:t.set(e,i)}function Ki(t){let e=0;for(const n of t)e++;return e}function Yi(t,e){const n=Math.min(t.length,e.length);for(let i=0;i{ji[t]=Hi.prototype[t]}));const Ji=function(t){return"string"==typeof t||!ne(t)&&x(t)&&"[object String]"==y(t)};function Qi(t,e,n={},i=[]){const o=n&&n.xmlns,r=o?t.createElementNS(o,e):t.createElement(e);for(const t in n)r.setAttribute(t,n[t]);!Ji(i)&&Zi(i)||(i=[i]);for(let e of i)Ji(e)&&(e=t.createTextNode(e)),r.appendChild(e);return r}class Xi{_config;constructor(t,e){this._config=Object.create(null),e&&this.define(to(e)),t&&this._setObjectToTarget(this._config,t)}set(t,e){this._setToTarget(this._config,t,e)}define(t,e){this._setToTarget(this._config,t,e,!0)}get(t){return this._getFromSource(this._config,t)}*names(){for(const t of Object.keys(this._config))yield t}_setToTarget(t,e,n,i=!1){if(q(e))return void this._setObjectToTarget(t,e,i);const o=e.split(".");e=o.pop();for(const e of o)q(t[e])||(t[e]=Object.create(null)),t=t[e];if(q(n))return q(t[e])||(t[e]=Object.create(null)),t=t[e],void this._setObjectToTarget(t,n,i);i&&void 0!==t[e]||(t[e]=n)}_getFromSource(t,e){const n=e.split(".");e=n.pop();for(const e of n){if(!q(t[e])){t=null;break}t=t[e]}return t?to(t[e]):void 0}_setObjectToTarget(t,e,n){Object.keys(e).forEach((i=>{this._setToTarget(t,i,e[i],n)}))}}function to(t){return jn(t,eo)}function eo(t){return W(t)||"function"==typeof t?t:void 0}function no(t){if(t){if(t.defaultView)return t instanceof t.defaultView.Document;if(t.ownerDocument&&t.ownerDocument.defaultView)return t instanceof t.ownerDocument.defaultView.Node}return!1}function io(t){const e=Object.prototype.toString.apply(t);return"[object Window]"==e||"[object global]"==e}const oo=ro(Di());function ro(t){if(!t)return oo;return class extends t{listenTo(t,e,n,i={}){if(no(t)||io(t)){const o={capture:!!i.useCapture,passive:!!i.usePassive},r=this._getProxyEmitter(t,o)||new so(t,o);this.listenTo(r,e,n,i)}else super.listenTo(t,e,n,i)}stopListening(t,e,n){if(no(t)||io(t)){const i=this._getAllProxyEmitters(t);for(const t of i)this.stopListening(t,e,n)}else super.stopListening(t,e,n)}_getProxyEmitter(t,e){return function(t,e){const n=t[yi];return n&&n[e]?n[e].emitter:null}(this,ao(t,e))}_getAllProxyEmitters(t){return[{capture:!1,passive:!1},{capture:!1,passive:!0},{capture:!0,passive:!1},{capture:!0,passive:!0}].map((e=>this._getProxyEmitter(t,e))).filter((t=>!!t))}}}["_getProxyEmitter","_getAllProxyEmitters","on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach((t=>{ro[t]=oo.prototype[t]}));class so extends(Di()){_domNode;_options;constructor(t,e){super(),Si(this,ao(t,e)),this._domNode=t,this._options=e}_domListeners;attach(t){if(this._domListeners&&this._domListeners[t])return;const e=this._createDomListener(t);this._domNode.addEventListener(t,e,this._options),this._domListeners||(this._domListeners={}),this._domListeners[t]=e}detach(t){let e;!this._domListeners[t]||(e=this._events[t])&&e.callbacks.length||this._domListeners[t].removeListener()}_addEventListener(t,e,n){this.attach(t),Di().prototype._addEventListener.call(this,t,e,n)}_removeEventListener(t,e){Di().prototype._removeEventListener.call(this,t,e),this.detach(t)}_createDomListener(t){const e=e=>{this.fire(t,e)};return e.removeListener=()=>{this._domNode.removeEventListener(t,e,this._options),delete this._domListeners[t]},e}}function ao(t,e){let n=function(t){return t["data-ck-expando"]||(t["data-ck-expando"]=pi())}(t);for(const t of Object.keys(e).sort())e[t]&&(n+="-"+t);return n}function lo(t){const e=[];let n=t;for(;n&&n.nodeType!=Node.DOCUMENT_NODE;)e.unshift(n),n=n.parentNode;return e}function co(t){return t instanceof HTMLTextAreaElement?t.value:t.innerHTML}function ho(t){const e=t.ownerDocument.defaultView.getComputedStyle(t);return{top:parseInt(e.borderTopWidth,10),right:parseInt(e.borderRightWidth,10),bottom:parseInt(e.borderBottomWidth,10),left:parseInt(e.borderLeftWidth,10)}}function uo(t){if(!t.target)return null;const e=t.target.ownerDocument,n=t.clientX,i=t.clientY;let o=null;return e.caretRangeFromPoint&&e.caretRangeFromPoint(n,i)?o=e.caretRangeFromPoint(n,i):t.rangeParent&&(o=e.createRange(),o.setStart(t.rangeParent,t.rangeOffset),o.collapse(!0)),o}function mo(t){return"[object Text]"==Object.prototype.toString.call(t)}function go(t){return"[object Range]"==Object.prototype.toString.apply(t)}function po(t){return t&&t.parentNode?t.offsetParent===Zn.document.body?null:t.offsetParent:null}const fo=["top","right","bottom","left","width","height"];class ko{top;right;bottom;left;width;height;_source;constructor(t){const e=go(t);if(Object.defineProperty(this,"_source",{value:t._source||t,writable:!0,enumerable:!1}),Ao(t)||e)if(e){const e=ko.getDomRangeRects(t);bo(this,ko.getBoundingRect(e))}else bo(this,t.getBoundingClientRect());else if(io(t)){const{innerWidth:e,innerHeight:n}=t;bo(this,{top:0,right:e,bottom:n,left:0,width:e,height:n})}else bo(this,t)}clone(){return new ko(this)}moveTo(t,e){return this.top=e,this.right=t+this.width,this.bottom=e+this.height,this.left=t,this}moveBy(t,e){return this.top+=e,this.right+=t,this.left+=t,this.bottom+=e,this}getIntersection(t){const e={top:Math.max(this.top,t.top),right:Math.min(this.right,t.right),bottom:Math.min(this.bottom,t.bottom),left:Math.max(this.left,t.left),width:0,height:0};if(e.width=e.right-e.left,e.height=e.bottom-e.top,e.width<0||e.height<0)return null;{const t=new ko(e);return t._source=this._source,t}}getIntersectionArea(t){const e=this.getIntersection(t);return e?e.getArea():0}getArea(){return this.width*this.height}getVisible(){const t=this._source;let e=this.clone();if(wo(t))return e;let n,i=t,o=t.parentNode||t.commonAncestorContainer;for(;o&&!wo(o);){const t="visible"===((r=o)instanceof HTMLElement?r.ownerDocument.defaultView.getComputedStyle(r).overflow:"visible");i instanceof HTMLElement&&"absolute"===_o(i)&&(n=i);const s=_o(o);if(t||n&&("relative"===s&&t||"relative"!==s)){i=o,o=o.parentNode;continue}const a=new ko(o),l=e.getIntersection(a);if(!l)return null;l.getArea(){for(const e of t){const t=Co._getElementCallbacks(e.target);if(t)for(const n of t)n(e)}}))}}function vo(t,e){t instanceof HTMLTextAreaElement&&(t.value=e),t.innerHTML=e}function yo(t){return e=>e+t}function xo(t){let e=0;for(;t.previousSibling;)t=t.previousSibling,e++;return e}function Eo(t,e,n){t.insertBefore(n,t.childNodes[e]||null)}function Bo(t){return t&&t.nodeType===Node.COMMENT_NODE}function Do(t){try{Zn.document.createAttribute(t)}catch(t){return!1}return!0}function So(t){return!!t&&(mo(t)?So(t.parentElement):!!t.getClientRects&&!!t.getClientRects().length)}function To({element:t,target:e,positions:n,limiter:i,fitInViewport:o,viewportOffsetConfig:r}){st(e)&&(e=e()),st(i)&&(i=i());const s=po(t),a=function(t){t=Object.assign({top:0,bottom:0,left:0,right:0},t);const e=new ko(Zn.window);return e.top+=t.top,e.height-=t.top,e.bottom-=t.bottom,e.height-=t.bottom,e}(r),l=new ko(t),c=Io(e,a);let d;if(!c||!a.getIntersection(c))return null;const h={targetRect:c,elementRect:l,positionedElementAncestor:s,viewportRect:a};if(i||o){if(i){const t=Io(i,a);t&&(h.limiterRect=t)}d=function(t,e){const{elementRect:n}=e,i=n.getArea(),o=t.map((t=>new Po(t,e))).filter((t=>!!t.name));let r=0,s=null;for(const t of o){const{limiterIntersectionArea:e,viewportIntersectionArea:n}=t;if(e===i)return t;const o=n**2+e**2;o>r&&(r=o,s=t)}return s}(n,h)}else d=new Po(n[0],h);return d}function Io(t,e){const n=new ko(t).getVisible();return n?n.getIntersection(e):null}class Po{name;config;_positioningFunctionCoordinates;_options;_cachedRect;_cachedAbsoluteRect;constructor(t,e){const n=t(e.targetRect,e.elementRect,e.viewportRect,e.limiterRect);if(!n)return;const{left:i,top:o,name:r,config:s}=n;this.name=r,this.config=s,this._positioningFunctionCoordinates={left:i,top:o},this._options=e}get left(){return this._absoluteRect.left}get top(){return this._absoluteRect.top}get limiterIntersectionArea(){const t=this._options.limiterRect;return t?t.getIntersectionArea(this._rect):0}get viewportIntersectionArea(){return this._options.viewportRect.getIntersectionArea(this._rect)}get _rect(){return this._cachedRect||(this._cachedRect=this._options.elementRect.clone().moveTo(this._positioningFunctionCoordinates.left,this._positioningFunctionCoordinates.top)),this._cachedRect}get _absoluteRect(){return this._cachedAbsoluteRect||(this._cachedAbsoluteRect=this._rect.toAbsoluteRect()),this._cachedAbsoluteRect}}function Fo(t){const e=t.parentNode;e&&e.removeChild(t)}function Ro({target:t,viewportOffset:e=0,ancestorOffset:n=0,alignToTop:i,forceScroll:o}){const r=Ho(t);let s=r,a=null;for(e=function(t){if("number"==typeof t)return{top:t,bottom:t,left:t,right:t};return t}(e);s;){let l;l=jo(s==r?t:a),Lo({parent:l,getRect:()=>qo(t,s),alignToTop:i,ancestorOffset:n,forceScroll:o});const c=qo(t,s);if(Vo({window:s,rect:c,viewportOffset:e,alignToTop:i,forceScroll:o}),s.parent!=s){if(a=s.frameElement,s=s.parent,!a)return}else s=null}}function Vo({window:t,rect:e,alignToTop:n,forceScroll:i,viewportOffset:o}){const r=e.clone().moveBy(0,o.bottom),s=e.clone().moveBy(0,-o.top),a=new ko(t).excludeScrollbarsAndBorders(),l=n&&i,c=[s,r].every((t=>a.contains(t)));let{scrollX:d,scrollY:h}=t;const u=d,m=h;l?h-=a.top-e.top+o.top:c||(Mo(s,a)?h-=a.top-e.top+o.top:zo(r,a)&&(h+=n?e.top-a.top-o.top:e.bottom-a.bottom+o.bottom)),c||(Oo(e,a)?d-=a.left-e.left+o.left:No(e,a)&&(d+=e.right-a.right+o.right)),d==u&&h===m||t.scrollTo(d,h)}function Lo({parent:t,getRect:e,alignToTop:n,forceScroll:i,ancestorOffset:o=0,limiterElement:r}){const s=Ho(t),a=n&&i;let l,c,d;const h=r||s.document.body;for(;t!=h;)c=e(),l=new ko(t).excludeScrollbarsAndBorders(),d=l.contains(c),a?t.scrollTop-=l.top-c.top+o:d||(Mo(c,l)?t.scrollTop-=l.top-c.top+o:zo(c,l)&&(t.scrollTop+=n?c.top-l.top-o:c.bottom-l.bottom+o)),d||(Oo(c,l)?t.scrollLeft-=l.left-c.left+o:No(c,l)&&(t.scrollLeft+=c.right-l.right+o)),t=t.parentNode}function zo(t,e){return t.bottom>e.bottom}function Mo(t,e){return t.tope.right}function Ho(t){return go(t)?t.startContainer.ownerDocument.defaultView:t.ownerDocument.defaultView}function jo(t){if(go(t)){let e=t.commonAncestorContainer;return mo(e)&&(e=e.parentNode),e}return t.parentNode}function qo(t,e){const n=Ho(t),i=new ko(t);if(n===e)return i;{let t=n;for(;t!=e;){const e=t.frameElement,n=new ko(e).excludeScrollbarsAndBorders();i.moveBy(n.left,n.top),t=t.parent}}return i}const Wo={ctrl:"⌃",cmd:"⌘",alt:"⌥",shift:"⇧"},Uo={ctrl:"Ctrl+",alt:"Alt+",shift:"Shift+"},$o={37:"←",38:"↑",39:"→",40:"↓",9:"⇥",33:"Page Up",34:"Page Down"},Go=Xo(),Ko=Object.fromEntries(Object.entries(Go).map((([t,e])=>{let n;return n=e in $o?$o[e]:t.charAt(0).toUpperCase()+t.slice(1),[e,n]})));function Yo(t){let e;if("string"==typeof t){if(e=Go[t.toLowerCase()],!e)throw new bi("keyboard-unknown-key",null,{key:t})}else e=t.keyCode+(t.altKey?Go.alt:0)+(t.ctrlKey?Go.ctrl:0)+(t.shiftKey?Go.shift:0)+(t.metaKey?Go.cmd:0);return e}function Zo(t){return"string"==typeof t&&(t=function(t){return t.split("+").map((t=>t.trim()))}(t)),t.map((t=>"string"==typeof t?function(t){if(t.endsWith("!"))return Yo(t.slice(0,-1));const e=Yo(t);return(Xn.isMac||Xn.isiOS)&&e==Go.ctrl?Go.cmd:e}(t):t)).reduce(((t,e)=>e+t),0)}function Jo(t){let e=Zo(t);return Object.entries(Xn.isMac||Xn.isiOS?Wo:Uo).reduce(((t,[n,i])=>(e&Go[n]&&(e&=~Go[n],t+=i),t)),"")+(e?Ko[e]:"")}function Qo(t,e){const n="ltr"===e;switch(t){case Go.arrowleft:return n?"left":"right";case Go.arrowright:return n?"right":"left";case Go.arrowup:return"up";case Go.arrowdown:return"down"}}function Xo(){const t={pageup:33,pagedown:34,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,backspace:8,delete:46,enter:13,space:32,esc:27,tab:9,ctrl:1114112,shift:2228224,alt:4456448,cmd:8912896};for(let e=65;e<=90;e++){t[String.fromCharCode(e).toLowerCase()]=e}for(let e=48;e<=57;e++)t[e-48]=e;for(let e=112;e<=123;e++)t["f"+(e-111)]=e;return Object.assign(t,{"'":222,",":108,"-":109,".":110,"/":111,";":186,"=":187,"[":219,"\\":220,"]":221,"`":223}),t}function tr(t){return Array.isArray(t)?t:[t]}const er=function(t,e,n){(void 0!==n&&!G(t[e],n)||void 0===n&&!(e in t))&&$t(t,e,n)};const nr=function(t){return function(e,n,i){for(var o=-1,r=Object(e),s=i(e),a=s.length;a--;){var l=s[t?a:++o];if(!1===n(r[l],l,r))break}return e}}();const ir=function(t){return x(t)&&Be(t)};const or=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]};const rr=function(t){return Yt(t,Fe(t))};const sr=function(t,e,n,i,o,r,a){var l=or(t,n),c=or(e,n),d=a.get(c);if(d)er(t,n,d);else{var h=r?r(l,c,n+"",t,e,a):void 0,u=void 0===h;if(u){var m=ne(c),g=!m&&ae(c),p=!m&&!g&&we(c);h=c,m||g||p?ne(l)?h=l:ir(l)?h=Ne(l):g?(u=!1,h=Oe(c,!0)):p?(u=!1,h=En(c,!0)):h=[]:q(c)||ee(c)?(h=l,ee(l)?h=rr(l):s(l)&&!st(l)||(h=Tn(c))):u=!1}u&&(a.set(c,h),o(h,c,i,r,a),a.delete(c)),er(t,n,h)}};const ar=function t(e,n,i,o,r){e!==n&&nr(n,(function(a,l){if(r||(r=new qt),s(a))sr(e,n,l,i,t,o,r);else{var c=o?o(or(e,l),a,l+"",e,n,r):void 0;void 0===c&&(c=a),er(e,l,c)}}),Fe)};const lr=function(t){return t};const cr=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)};var dr=Math.max;const hr=function(t,e,n){return e=dr(void 0===e?t.length-1:e,0),function(){for(var i=arguments,o=-1,r=dr(i.length-e,0),s=Array(r);++o0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}};const fr=pr(mr);const kr=function(t,e){return fr(hr(t,e,lr),t+"")};const br=function(t,e,n){if(!s(n))return!1;var i=typeof e;return!!("number"==i?Be(n)&&ce(e,n.length):"string"==i&&e in n)&&G(n[e],t)};const wr=function(t){return kr((function(e,n){var i=-1,o=n.length,r=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(r=t.length>3&&"function"==typeof r?(o--,r):void 0,s&&br(n[0],n[1],s)&&(r=o<3?void 0:r,o=1),e=Object(e);++i1===t?0:1),c=a[s];if("string"==typeof c)return c;return c[Number(l(n))]}Zn.window.CKEDITOR_TRANSLATIONS||(Zn.window.CKEDITOR_TRANSLATIONS={});const Cr=["ar","ara","dv","div","fa","per","fas","he","heb","ku","kur","ug","uig"];function vr(t){return Cr.includes(t)?"rtl":"ltr"}class yr{uiLanguage;uiLanguageDirection;contentLanguage;contentLanguageDirection;t;translations;constructor({uiLanguage:t="en",contentLanguage:e,translations:n}={}){this.uiLanguage=t,this.contentLanguage=e||this.uiLanguage,this.uiLanguageDirection=vr(this.uiLanguage),this.contentLanguageDirection=vr(this.contentLanguage),this.translations=function(t){return Array.isArray(t)?t.reduce(((t,e)=>Ar(t,e))):t}(n),this.t=(t,e)=>this._t(t,e)}get language(){return console.warn("locale-deprecated-language-property: The Locale#language property has been deprecated and will be removed in the near future. Please use #uiLanguage and #contentLanguage properties instead."),this.uiLanguage}_t(t,e=[]){e=tr(e),"string"==typeof t&&(t={string:t});const n=!!t.plural?e[0]:1;return function(t,e){return t.replace(/%(\d+)/g,((t,n)=>nthis._items.length||e<0)throw new bi("collection-add-item-invalid-index",this);let n=0;for(const i of t){const t=this._getItemIdBeforeAdding(i),o=e+n;this._items.splice(o,0,i),this._itemMap.set(t,i),this.fire("add",i,o),n++}return this.fire("change",{added:t,removed:[],index:e}),this}get(t){let e;if("string"==typeof t)e=this._itemMap.get(t);else{if("number"!=typeof t)throw new bi("collection-get-invalid-arg",this);e=this._items[t]}return e||null}has(t){if("string"==typeof t)return this._itemMap.has(t);{const e=t[this._idProperty];return e&&this._itemMap.has(e)}}getIndex(t){let e;return e="string"==typeof t?this._itemMap.get(t):t,e?this._items.indexOf(e):-1}remove(t){const[e,n]=this._remove(t);return this.fire("change",{added:[],removed:[e],index:n}),e}map(t,e){return this._items.map(t,e)}forEach(t,e){this._items.forEach(t,e)}find(t,e){return this._items.find(t,e)}filter(t,e){return this._items.filter(t,e)}clear(){this._bindToCollection&&(this.stopListening(this._bindToCollection),this._bindToCollection=null);const t=Array.from(this._items);for(;this.length;)this._remove(0);this.fire("change",{added:[],removed:t,index:0})}bindTo(t){if(this._bindToCollection)throw new bi("collection-bind-to-rebind",this);return this._bindToCollection=t,{as:t=>{this._setUpBindToBinding((e=>new t(e)))},using:t=>{"function"==typeof t?this._setUpBindToBinding(t):this._setUpBindToBinding((e=>e[t]))}}}_setUpBindToBinding(t){const e=this._bindToCollection,n=(n,i,o)=>{const r=e._bindToCollection==this,s=e._bindToInternalToExternalMap.get(i);if(r&&s)this._bindToExternalToInternalMap.set(i,s),this._bindToInternalToExternalMap.set(s,i);else{const n=t(i);if(!n)return void this._skippedIndexesFromExternal.push(o);let r=o;for(const t of this._skippedIndexesFromExternal)o>t&&r--;for(const t of e._skippedIndexesFromExternal)r>=t&&r++;this._bindToExternalToInternalMap.set(i,n),this._bindToInternalToExternalMap.set(n,i),this.add(n,r);for(let t=0;t{const i=this._bindToExternalToInternalMap.get(e);i&&this.remove(i),this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce(((t,e)=>(ne&&t.push(e),t)),[])}))}_getItemIdBeforeAdding(t){const e=this._idProperty;let n;if(e in t){if(n=t[e],"string"!=typeof n)throw new bi("collection-add-invalid-id",this);if(this.get(n))throw new bi("collection-add-item-already-exists",this)}else t[e]=n=pi();return n}_remove(t){let e,n,i,o=!1;const r=this._idProperty;if("string"==typeof t?(n=t,i=this._itemMap.get(n),o=!i,i&&(e=this._items.indexOf(i))):"number"==typeof t?(e=t,i=this._items[e],o=!i,i&&(n=i[r])):(i=t,n=i[r],e=this._items.indexOf(i),o=-1==e||!this._itemMap.get(n)),o)throw new bi("collection-remove-404",this);this._items.splice(e,1),this._itemMap.delete(n);const s=this._bindToInternalToExternalMap.get(i);return this._bindToInternalToExternalMap.delete(i),this._bindToExternalToInternalMap.delete(s),this.fire("remove",i,e),[i,e]}[Symbol.iterator](){return this._items[Symbol.iterator]()}}function Er(t){const e=t.next();return e.done?null:e.value}class Br extends(ro(ji())){_elements=new Set;_nextEventLoopTimeout=null;constructor(){super(),this.set("isFocused",!1),this.set("focusedElement",null)}get elements(){return Array.from(this._elements.values())}add(t){if(this._elements.has(t))throw new bi("focustracker-add-element-already-exist",this);this.listenTo(t,"focus",(()=>this._focus(t)),{useCapture:!0}),this.listenTo(t,"blur",(()=>this._blur()),{useCapture:!0}),this._elements.add(t)}remove(t){t===this.focusedElement&&this._blur(),this._elements.has(t)&&(this.stopListening(t),this._elements.delete(t))}destroy(){this.stopListening()}_focus(t){clearTimeout(this._nextEventLoopTimeout),this.focusedElement=t,this.isFocused=!0}_blur(){clearTimeout(this._nextEventLoopTimeout),this._nextEventLoopTimeout=setTimeout((()=>{this.focusedElement=null,this.isFocused=!1}),0)}}class Dr{_listener;constructor(){this._listener=new(ro())}listenTo(t){this._listener.listenTo(t,"keydown",((t,e)=>{this._listener.fire("_keydown:"+Yo(e),e)}))}set(t,e,n={}){const i=Zo(t),o=n.priority;this._listener.listenTo(this._listener,"_keydown:"+i,((t,i)=>{n.filter&&!n.filter(i)||(e(i,(()=>{i.preventDefault(),i.stopPropagation(),t.stop()})),t.return=!0)}),{priority:o})}press(t){return!!this._listener.fire("_keydown:"+Yo(t),t)}stopListening(t){this._listener.stopListening(t)}destroy(){this.stopListening()}}function Sr(t){return Zi(t)?new Map(t):function(t){const e=new Map;for(const n in t)e.set(n,t[n]);return e}(t)}function Tr(t,e){let n;function i(...o){i.cancel(),n=setTimeout((()=>t(...o)),e)}return i.cancel=()=>{clearTimeout(n)},i}function Ir(t,e){return!!(n=t.charAt(e-1))&&1==n.length&&/[\ud800-\udbff]/.test(n)&&function(t){return!!t&&1==t.length&&/[\udc00-\udfff]/.test(t)}(t.charAt(e));var n}function Pr(t,e){return!!(n=t.charAt(e))&&1==n.length&&/[\u0300-\u036f\u1ab0-\u1aff\u1dc0-\u1dff\u20d0-\u20ff\ufe20-\ufe2f]/.test(n);var n}const Fr=Vr();function Rr(t,e){const n=String(t).matchAll(Fr);return Array.from(n).some((t=>t.indext.source)).join("|")+")";return new RegExp(`${t}|${e}(?:‍${e})*`,"ug")}class Lr extends(ji()){editor;_disableStack=new Set;constructor(t){super(),this.editor=t,this.set("isEnabled",!0)}forceDisabled(t){this._disableStack.add(t),1==this._disableStack.size&&(this.on("set:isEnabled",zr,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(t){this._disableStack.delete(t),0==this._disableStack.size&&(this.off("set:isEnabled",zr),this.isEnabled=!0)}destroy(){this.stopListening()}static get isContextPlugin(){return!1}}function zr(t){t.return=!1,t.stop()}class Mr extends(ji()){editor;_isEnabledBasedOnSelection;_affectsData;_disableStack;constructor(t){super(),this.editor=t,this.set("value",void 0),this.set("isEnabled",!1),this._affectsData=!0,this._isEnabledBasedOnSelection=!0,this._disableStack=new Set,this.decorate("execute"),this.listenTo(this.editor.model.document,"change",(()=>{this.refresh()})),this.listenTo(t,"change:isReadOnly",(()=>{this.refresh()})),this.on("set:isEnabled",(e=>{if(!this.affectsData)return;const n=t.model.document.selection,i=!("$graveyard"==n.getFirstPosition().root.rootName)&&t.model.canEditAt(n);(t.isReadOnly||this._isEnabledBasedOnSelection&&!i)&&(e.return=!1,e.stop())}),{priority:"highest"}),this.on("execute",(t=>{this.isEnabled||t.stop()}),{priority:"high"})}get affectsData(){return this._affectsData}set affectsData(t){this._affectsData=t}refresh(){this.isEnabled=!0}forceDisabled(t){this._disableStack.add(t),1==this._disableStack.size&&(this.on("set:isEnabled",Or,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(t){this._disableStack.delete(t),0==this._disableStack.size&&(this.off("set:isEnabled",Or),this.refresh())}execute(...t){}destroy(){this.stopListening()}}function Or(t){t.return=!1,t.stop()}class Nr extends Mr{_childCommandsDefinitions=[];refresh(){}execute(...t){const e=this._getFirstEnabledCommand();return!!e&&e.execute(t)}registerChildCommand(t,e={}){ki(this._childCommandsDefinitions,{command:t,priority:e.priority||"normal"}),t.on("change:isEnabled",(()=>this._checkEnabled())),this._checkEnabled()}_checkEnabled(){this.isEnabled=!!this._getFirstEnabledCommand()}_getFirstEnabledCommand(){const t=this._childCommandsDefinitions.find((({command:t})=>t.isEnabled));return t&&t.command}}class Hr extends(Di()){_context;_plugins=new Map;_availablePlugins;_contextPlugins;constructor(t,e=[],n=[]){super(),this._context=t,this._availablePlugins=new Map;for(const t of e)t.pluginName&&this._availablePlugins.set(t.pluginName,t);this._contextPlugins=new Map;for(const[t,e]of n)this._contextPlugins.set(t,e),this._contextPlugins.set(e,t),t.pluginName&&this._availablePlugins.set(t.pluginName,t)}*[Symbol.iterator](){for(const t of this._plugins)"function"==typeof t[0]&&(yield t)}get(t){const e=this._plugins.get(t);if(!e){let e=t;throw"function"==typeof t&&(e=t.pluginName||t.name),new bi("plugincollection-plugin-not-loaded",this._context,{plugin:e})}return e}has(t){return this._plugins.has(t)}init(t,e=[],n=[]){const i=this,o=this._context;!function t(e,n=new Set){e.forEach((e=>{a(e)&&(n.has(e)||(n.add(e),e.pluginName&&!i._availablePlugins.has(e.pluginName)&&i._availablePlugins.set(e.pluginName,e),e.requires&&t(e.requires,n)))}))}(t),h(t);const r=[...function t(e,n=new Set){return e.map((t=>a(t)?t:i._availablePlugins.get(t))).reduce(((e,i)=>n.has(i)?e:(n.add(i),i.requires&&(h(i.requires,i),t(i.requires,n).forEach((t=>e.add(t)))),e.add(i))),new Set)}(t.filter((t=>!c(t,e))))];!function(t,e){for(const n of e){if("function"!=typeof n)throw new bi("plugincollection-replace-plugin-invalid-type",null,{pluginItem:n});const e=n.pluginName;if(!e)throw new bi("plugincollection-replace-plugin-missing-name",null,{pluginItem:n});if(n.requires&&n.requires.length)throw new bi("plugincollection-plugin-for-replacing-cannot-have-dependencies",null,{pluginName:e});const o=i._availablePlugins.get(e);if(!o)throw new bi("plugincollection-plugin-for-replacing-not-exist",null,{pluginName:e});const r=t.indexOf(o);if(-1===r){if(i._contextPlugins.has(o))return;throw new bi("plugincollection-plugin-for-replacing-not-loaded",null,{pluginName:e})}if(o.requires&&o.requires.length)throw new bi("plugincollection-replaced-plugin-cannot-have-dependencies",null,{pluginName:e});t.splice(r,1,n),i._availablePlugins.set(e,n)}}(r,n);const s=r.map((t=>{let e=i._contextPlugins.get(t);return e=e||new t(o),i._add(t,e),e}));return u(s,"init").then((()=>u(s,"afterInit"))).then((()=>s));function a(t){return"function"==typeof t}function l(t){return a(t)&&!!t.isContextPlugin}function c(t,e){return e.some((e=>e===t||(d(t)===e||d(e)===t)))}function d(t){return a(t)?t.pluginName||t.name:t}function h(t,n=null){t.map((t=>a(t)?t:i._availablePlugins.get(t)||t)).forEach((t=>{!function(t,e){if(a(t))return;if(e)throw new bi("plugincollection-soft-required",o,{missingPlugin:t,requiredBy:d(e)});throw new bi("plugincollection-plugin-not-found",o,{plugin:t})}(t,n),function(t,e){if(!l(e))return;if(l(t))return;throw new bi("plugincollection-context-required",o,{plugin:d(t),requiredBy:d(e)})}(t,n),function(t,n){if(!n)return;if(!c(t,e))return;throw new bi("plugincollection-required",o,{plugin:d(t),requiredBy:d(n)})}(t,n)}))}function u(t,e){return t.reduce(((t,n)=>n[e]?i._contextPlugins.has(n)?t:t.then(n[e].bind(n)):t),Promise.resolve())}}destroy(){const t=[];for(const[,e]of this)"function"!=typeof e.destroy||this._contextPlugins.has(e)||t.push(e.destroy());return Promise.all(t)}_add(t,e){this._plugins.set(t,e);const n=t.pluginName;if(n){if(this._plugins.has(n))throw new bi("plugincollection-plugin-name-conflict",null,{pluginName:n,plugin1:this._plugins.get(n).constructor,plugin2:t});this._plugins.set(n,e)}}}class jr{config;plugins;locale;t;editors;static defaultConfig;static builtinPlugins;_contextOwner=null;constructor(t){const{translations:e,...n}=t||{};this.config=new Xi(n,this.constructor.defaultConfig);const i=this.constructor.builtinPlugins;this.config.define("plugins",i),this.plugins=new Hr(this,i);const o=this.config.get("language")||{};this.locale=new yr({uiLanguage:"string"==typeof o?o:o.ui,contentLanguage:this.config.get("language.content"),translations:e}),this.t=this.locale.t,this.editors=new xr}initPlugins(){const t=this.config.get("plugins")||[],e=this.config.get("substitutePlugins")||[];for(const n of t.concat(e)){if("function"!=typeof n)throw new bi("context-initplugins-constructor-only",null,{Plugin:n});if(!0!==n.isContextPlugin)throw new bi("context-initplugins-invalid-plugin",null,{Plugin:n})}return this.plugins.init(t,[],e)}destroy(){return Promise.all(Array.from(this.editors,(t=>t.destroy()))).then((()=>this.plugins.destroy()))}_addEditor(t,e){if(this._contextOwner)throw new bi("context-addeditor-private-context");this.editors.add(t),e&&(this._contextOwner=t)}_removeEditor(t){return this.editors.has(t)&&this.editors.remove(t),this._contextOwner===t?this.destroy():Promise.resolve()}_getEditorConfig(){const t={};for(const e of this.config.names())["plugins","removePlugins","extraPlugins"].includes(e)||(t[e]=this.config.get(e));return t}static create(t){return new Promise((e=>{const n=new this(t);e(n.initPlugins().then((()=>n)))}))}}class qr extends(ji()){context;constructor(t){super(),this.context=t}destroy(){this.stopListening()}static get isContextPlugin(){return!0}}class Wr extends Dr{editor;constructor(t){super(),this.editor=t}set(t,e,n={}){if("string"==typeof e){const t=e;e=(e,n)=>{this.editor.execute(t),n()}}super.set(t,e,n)}}var Ur=n(2591),$r=n.n(Ur),Gr=n(4098),Kr={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Gr.A,Kr);Gr.A.locals;const Yr=new WeakMap;let Zr=!1;function Jr({view:t,element:e,text:n,isDirectHost:i=!0,keepOnFocus:o=!1}){const r=t.document;function s(n){Yr.get(r).set(e,{text:n,isDirectHost:i,keepOnFocus:o,hostElement:i?e:null}),t.change((t=>Xr(r,t)))}Yr.has(r)||(Yr.set(r,new Map),r.registerPostFixer((t=>Xr(r,t))),r.on("change:isComposing",(()=>{t.change((t=>Xr(r,t)))}),{priority:"high"})),e.is("editableElement")&&e.on("change:placeholder",((t,e,n)=>{s(n)})),e.placeholder?s(e.placeholder):n&&s(n),n&&function(){Zr||wi("enableplaceholder-deprecated-text-option");Zr=!0}()}function Qr(t,e){return!!e.hasClass("ck-placeholder")&&(t.removeClass("ck-placeholder",e),!0)}function Xr(t,e){const n=Yr.get(t),i=[];let o=!1;for(const[t,r]of n)r.isDirectHost&&(i.push(t),ts(e,t,r)&&(o=!0));for(const[t,r]of n){if(r.isDirectHost)continue;const n=es(t);n&&(i.includes(n)||(r.hostElement=n,ts(e,t,r)&&(o=!0)))}return o}function ts(t,e,n){const{text:i,isDirectHost:o,hostElement:r}=n;let s=!1;r.getAttribute("data-placeholder")!==i&&(t.setAttribute("data-placeholder",i,r),s=!0);return(o||1==e.childCount)&&function(t,e){if(!t.isAttached())return!1;if(Array.from(t.getChildren()).some((t=>!t.is("uiElement"))))return!1;const n=t.document,i=n.selection.anchor;return!(n.isComposing&&i&&i.parent===t||!e&&n.isFocused&&(!i||i.parent===t))}(r,n.keepOnFocus)?function(t,e){return!e.hasClass("ck-placeholder")&&(t.addClass("ck-placeholder",e),!0)}(t,r)&&(s=!0):Qr(t,r)&&(s=!0),s}function es(t){if(t.childCount){const e=t.getChild(0);if(e.is("element")&&!e.is("uiElement")&&!e.is("attributeElement"))return e}return null}class ns{is(){throw new Error("is() method is abstract")}}const is=function(t){return Hn(t,4)};class os extends(Di(ns)){document;parent;constructor(t){super(),this.document=t,this.parent=null}get index(){let t;if(!this.parent)return null;if(-1==(t=this.parent.getChildIndex(this)))throw new bi("view-node-not-found-in-parent",this);return t}get nextSibling(){const t=this.index;return null!==t&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return null!==t&&this.parent.getChild(t-1)||null}get root(){let t=this;for(;t.parent;)t=t.parent;return t}isAttached(){return this.root.is("rootElement")}getPath(){const t=[];let e=this;for(;e.parent;)t.unshift(e.index),e=e.parent;return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e),i=t.getAncestors(e);let o=0;for(;n[o]==i[o]&&n[o];)o++;return 0===o?null:n[o-1]}isBefore(t){if(this==t)return!1;if(this.root!==t.root)return!1;const e=this.getPath(),n=t.getPath(),i=Yi(e,n);switch(i){case"prefix":return!0;case"extension":return!1;default:return e[i]t.data.length)throw new bi("view-textproxy-wrong-offsetintext",this);if(n<0||e+n>t.data.length)throw new bi("view-textproxy-wrong-length",this);this.data=t.data.substring(e,e+n),this.offsetInText=e}get offsetSize(){return this.data.length}get isPartial(){return this.data.length!==this.textNode.data.length}get parent(){return this.textNode.parent}get root(){return this.textNode.root}get document(){return this.textNode.document}getAncestors(t={}){const e=[];let n=t.includeSelf?this.textNode:this.parent;for(;null!==n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}}ss.prototype.is=function(t){return"$textProxy"===t||"view:$textProxy"===t||"textProxy"===t||"view:textProxy"===t};class as{_patterns=[];constructor(...t){this.add(...t)}add(...t){for(let e of t)("string"==typeof e||e instanceof RegExp)&&(e={name:e}),this._patterns.push(e)}match(...t){for(const e of t)for(const t of this._patterns){const n=ls(e,t);if(n)return{element:e,pattern:t,match:n}}return null}matchAll(...t){const e=[];for(const n of t)for(const t of this._patterns){const i=ls(n,t);i&&e.push({element:n,pattern:t,match:i})}return e.length>0?e:null}getElementName(){if(1!==this._patterns.length)return null;const t=this._patterns[0],e=t.name;return"function"==typeof t||!e||e instanceof RegExp?null:e}}function ls(t,e){if("function"==typeof e)return e(t);const n={};return e.name&&(n.name=function(t,e){if(t instanceof RegExp)return!!e.match(t);return t===e}(e.name,t.name),!n.name)||e.attributes&&(n.attributes=function(t,e){const n=new Set(e.getAttributeKeys());q(t)?(void 0!==t.style&&wi("matcher-pattern-deprecated-attributes-style-key",t),void 0!==t.class&&wi("matcher-pattern-deprecated-attributes-class-key",t)):(n.delete("style"),n.delete("class"));return cs(t,n,(t=>e.getAttribute(t)))}(e.attributes,t),!n.attributes)||e.classes&&(n.classes=function(t,e){return cs(t,e.getClassNames(),(()=>{}))}(e.classes,t),!n.classes)||e.styles&&(n.styles=function(t,e){return cs(t,e.getStyleNames(!0),(t=>e.getStyle(t)))}(e.styles,t),!n.styles)?null:n}function cs(t,e,n){const i=function(t){if(Array.isArray(t))return t.map((t=>q(t)?(void 0!==t.key&&void 0!==t.value||wi("matcher-pattern-missing-key-or-value",t),[t.key,t.value]):[t,!0]));if(q(t))return Object.entries(t);return[[t,!0]]}(t),o=Array.from(e),r=[];if(i.forEach((([t,e])=>{o.forEach((i=>{(function(t,e){return!0===t||t===e||t instanceof RegExp&&e.match(t)})(t,i)&&function(t,e,n){if(!0===t)return!0;const i=n(e);return t===i||t instanceof RegExp&&!!String(i).match(t)}(e,i,n)&&r.push(i)}))})),i.length&&!(r.lengtho?0:o+e),(n=n>o?o:n)<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var r=Array(o);++ie===t));return Array.isArray(e)}set(t,e){if(s(t))for(const[e,n]of Object.entries(t))this._styleProcessor.toNormalizedForm(e,n,this._styles);else this._styleProcessor.toNormalizedForm(t,e,this._styles)}remove(t){const e=Ms(t);Ps(this._styles,e),delete this._styles[t],this._cleanEmptyObjectsOnPath(e)}getNormalized(t){return this._styleProcessor.getNormalized(t,this._styles)}toString(){return this.isEmpty?"":this.getStylesEntries().map((t=>t.join(":"))).sort().join(";")+";"}getAsString(t){if(this.isEmpty)return;if(this._styles[t]&&!s(this._styles[t]))return this._styles[t];const e=this._styleProcessor.getReducedForm(t,this._styles).find((([e])=>e===t));return Array.isArray(e)?e[1]:void 0}getStyleNames(t=!1){if(this.isEmpty)return[];if(t)return this._styleProcessor.getStyleNames(this._styles);return this.getStylesEntries().map((([t])=>t))}clear(){this._styles={}}getStylesEntries(){const t=[],e=Object.keys(this._styles);for(const n of e)t.push(...this._styleProcessor.getReducedForm(n,this._styles));return t}_cleanEmptyObjectsOnPath(t){const e=t.split(".");if(!(e.length>1))return;const n=e.splice(0,e.length-1).join("."),i=Fs(this._styles,n);if(!i)return;!Object.keys(i).length&&this.remove(n)}}class zs{_normalizers;_extractors;_reducers;_consumables;constructor(){this._normalizers=new Map,this._extractors=new Map,this._reducers=new Map,this._consumables=new Map}toNormalizedForm(t,e,n){if(s(e))Os(n,Ms(t),e);else if(this._normalizers.has(t)){const i=this._normalizers.get(t),{path:o,value:r}=i(e);Os(n,o,r)}else Os(n,t,e)}getNormalized(t,e){if(!t)return Ar({},e);if(void 0!==e[t])return e[t];if(this._extractors.has(t)){const n=this._extractors.get(t);if("string"==typeof n)return Fs(e,n);const i=n(t,e);if(i)return i}return Fs(e,Ms(t))}getReducedForm(t,e){const n=this.getNormalized(t,e);if(void 0===n)return[];if(this._reducers.has(t)){return this._reducers.get(t)(n)}return[[t,n]]}getStyleNames(t){const e=new Set;for(const n of this._consumables.keys()){const i=this.getNormalized(n,t);i&&("object"!=typeof i||Object.keys(i).length)&&e.add(n)}for(const n of Object.keys(t))e.add(n);return Array.from(e)}getRelatedStyles(t){return this._consumables.get(t)||[]}setNormalizer(t,e){this._normalizers.set(t,e)}setExtractor(t,e){this._extractors.set(t,e)}setReducer(t,e){this._reducers.set(t,e)}setStyleRelation(t,e){this._mapStyleNames(t,e);for(const n of e)this._mapStyleNames(n,[t])}_mapStyleNames(t,e){this._consumables.has(t)||this._consumables.set(t,[]),this._consumables.get(t).push(...e)}}function Ms(t){return t.replace("-",".")}function Os(t,e,n){let i=n;s(n)&&(i=Ar({},Fs(t,e),n)),Vs(t,e,i)}class Ns extends os{name;_unsafeAttributesToRender=[];_attrs;_children;_classes;_styles;_customProperties=new Map;constructor(t,e,n,i){if(super(t),this.name=e,this._attrs=function(t){const e=Sr(t);for(const[t,n]of e)null===n?e.delete(t):"string"!=typeof n&&e.set(t,String(n));return e}(n),this._children=[],i&&this._insertChild(0,i),this._classes=new Set,this._attrs.has("class")){const t=this._attrs.get("class");Hs(this._classes,t),this._attrs.delete("class")}this._styles=new Ls(this.document.stylesProcessor),this._attrs.has("style")&&(this._styles.setTo(this._attrs.get("style")),this._attrs.delete("style"))}get childCount(){return this._children.length}get isEmpty(){return 0===this._children.length}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}*getAttributeKeys(){this._classes.size>0&&(yield"class"),this._styles.isEmpty||(yield"style"),yield*this._attrs.keys()}*getAttributes(){yield*this._attrs.entries(),this._classes.size>0&&(yield["class",this.getAttribute("class")]),this._styles.isEmpty||(yield["style",this.getAttribute("style")])}getAttribute(t){if("class"==t)return this._classes.size>0?[...this._classes].join(" "):void 0;if("style"==t){const t=this._styles.toString();return""==t?void 0:t}return this._attrs.get(t)}hasAttribute(t){return"class"==t?this._classes.size>0:"style"==t?!this._styles.isEmpty:this._attrs.has(t)}isSimilar(t){if(!(t instanceof Ns))return!1;if(this===t)return!0;if(this.name!=t.name)return!1;if(this._attrs.size!==t._attrs.size||this._classes.size!==t._classes.size||this._styles.size!==t._styles.size)return!1;for(const[e,n]of this._attrs)if(!t._attrs.has(e)||t._attrs.get(e)!==n)return!1;for(const e of this._classes)if(!t._classes.has(e))return!1;for(const e of this._styles.getStyleNames())if(!t._styles.has(e)||t._styles.getAsString(e)!==this._styles.getAsString(e))return!1;return!0}hasClass(...t){for(const e of t)if(!this._classes.has(e))return!1;return!0}getClassNames(){return this._classes.keys()}getStyle(t){return this._styles.getAsString(t)}getNormalizedStyle(t){return this._styles.getNormalized(t)}getStyleNames(t){return this._styles.getStyleNames(t)}hasStyle(...t){for(const e of t)if(!this._styles.has(e))return!1;return!0}findAncestor(...t){const e=new as(...t);let n=this.parent;for(;n&&!n.is("documentFragment");){if(e.match(n))return n;n=n.parent}return null}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const t=Array.from(this._classes).sort().join(","),e=this._styles.toString(),n=Array.from(this._attrs).map((t=>`${t[0]}="${t[1]}"`)).sort().join(" ");return this.name+(""==t?"":` class="${t}"`)+(e?` style="${e}"`:"")+(""==n?"":` ${n}`)}shouldRenderUnsafeAttribute(t){return this._unsafeAttributesToRender.includes(t)}_clone(t=!1){const e=[];if(t)for(const n of this.getChildren())e.push(n._clone(t));const n=new this.constructor(this.document,this.name,this._attrs,e);return n._classes=new Set(this._classes),n._styles.set(this._styles.getNormalized()),n._customProperties=new Map(this._customProperties),n.getFillerOffset=this.getFillerOffset,n._unsafeAttributesToRender=this._unsafeAttributesToRender,n}_appendChild(t){return this._insertChild(this.childCount,t)}_insertChild(t,e){this._fireChange("children",this);let n=0;const i=function(t,e){if("string"==typeof e)return[new rs(t,e)];Zi(e)||(e=[e]);return Array.from(e).map((e=>"string"==typeof e?new rs(t,e):e instanceof ss?new rs(t,e.data):e))}(this.document,e);for(const e of i)null!==e.parent&&e._remove(),e.parent=this,e.document=this.document,this._children.splice(t,0,e),t++,n++;return n}_removeChildren(t,e=1){this._fireChange("children",this);for(let n=t;n0&&(this._classes.clear(),!0):"style"==t?!this._styles.isEmpty&&(this._styles.clear(),!0):this._attrs.delete(t)}_addClass(t){this._fireChange("attributes",this);for(const e of tr(t))this._classes.add(e)}_removeClass(t){this._fireChange("attributes",this);for(const e of tr(t))this._classes.delete(e)}_setStyle(t,e){this._fireChange("attributes",this),"string"!=typeof t?this._styles.set(t):this._styles.set(t,e)}_removeStyle(t){this._fireChange("attributes",this);for(const e of tr(t))this._styles.remove(e)}_setCustomProperty(t,e){this._customProperties.set(t,e)}_removeCustomProperty(t){return this._customProperties.delete(t)}}function Hs(t,e){const n=e.split(/\s+/);t.clear(),n.forEach((e=>t.add(e)))}Ns.prototype.is=function(t,e){return e?e===this.name&&("element"===t||"view:element"===t):"element"===t||"view:element"===t||"node"===t||"view:node"===t};class js extends Ns{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=qs}}function qs(){const t=[...this.getChildren()],e=t[this.childCount-1];if(e&&e.is("element","br"))return this.childCount;for(const e of t)if(!e.is("uiElement"))return null;return this.childCount}js.prototype.is=function(t,e){return e?e===this.name&&("containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t):"containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class Ws extends(ji(js)){constructor(t,e,n,i){super(t,e,n,i),this.set("isReadOnly",!1),this.set("isFocused",!1),this.set("placeholder",void 0),this.bind("isReadOnly").to(t),this.bind("isFocused").to(t,"isFocused",(e=>e&&t.selection.editableElement==this)),this.listenTo(t.selection,"change",(()=>{this.isFocused=t.isFocused&&t.selection.editableElement==this}))}destroy(){this.stopListening()}}Ws.prototype.is=function(t,e){return e?e===this.name&&("editableElement"===t||"view:editableElement"===t||"containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t):"editableElement"===t||"view:editableElement"===t||"containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};const Us=Symbol("rootName");class $s extends Ws{constructor(t,e){super(t,e),this.rootName="main"}get rootName(){return this.getCustomProperty(Us)}set rootName(t){this._setCustomProperty(Us,t)}set _name(t){this.name=t}}$s.prototype.is=function(t,e){return e?e===this.name&&("rootElement"===t||"view:rootElement"===t||"editableElement"===t||"view:editableElement"===t||"containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t):"rootElement"===t||"view:rootElement"===t||"editableElement"===t||"view:editableElement"===t||"containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class Gs{direction;boundaries;singleCharacters;shallow;ignoreElementEnd;_position;_boundaryStartParent;_boundaryEndParent;constructor(t={}){if(!t.boundaries&&!t.startPosition)throw new bi("view-tree-walker-no-start-position",null);if(t.direction&&"forward"!=t.direction&&"backward"!=t.direction)throw new bi("view-tree-walker-unknown-direction",t.startPosition,{direction:t.direction});this.boundaries=t.boundaries||null,t.startPosition?this._position=Ks._createAt(t.startPosition):this._position=Ks._createAt(t.boundaries["backward"==t.direction?"end":"start"]),this.direction=t.direction||"forward",this.singleCharacters=!!t.singleCharacters,this.shallow=!!t.shallow,this.ignoreElementEnd=!!t.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}get position(){return this._position}skip(t){let e,n;do{n=this.position,e=this.next()}while(!e.done&&t(e.value));e.done||(this._position=n)}next(){return"forward"==this.direction?this._next():this._previous()}_next(){let t=this.position.clone();const e=this.position,n=t.parent;if(null===n.parent&&t.offset===n.childCount)return{done:!0,value:void 0};if(n===this._boundaryEndParent&&t.offset==this.boundaries.end.offset)return{done:!0,value:void 0};let i;if(n instanceof rs){if(t.isAtEnd)return this._position=Ks._createAfter(n),this._next();i=n.data[t.offset]}else i=n.getChild(t.offset);if(i instanceof Ns){if(this.shallow){if(this.boundaries&&this.boundaries.end.isBefore(t))return{done:!0,value:void 0};t.offset++}else t=new Ks(i,0);return this._position=t,this._formatReturnValue("elementStart",i,e,t,1)}if(i instanceof rs){if(this.singleCharacters)return t=new Ks(i,0),this._position=t,this._next();let n,o=i.data.length;return i==this._boundaryEndParent?(o=this.boundaries.end.offset,n=new ss(i,0,o),t=Ks._createAfter(n)):(n=new ss(i,0,i.data.length),t.offset++),this._position=t,this._formatReturnValue("text",n,e,t,o)}if("string"==typeof i){let i;if(this.singleCharacters)i=1;else{i=(n===this._boundaryEndParent?this.boundaries.end.offset:n.data.length)-t.offset}const o=new ss(n,t.offset,i);return t.offset+=i,this._position=t,this._formatReturnValue("text",o,e,t,i)}return t=Ks._createAfter(n),this._position=t,this.ignoreElementEnd?this._next():this._formatReturnValue("elementEnd",n,e,t)}_previous(){let t=this.position.clone();const e=this.position,n=t.parent;if(null===n.parent&&0===t.offset)return{done:!0,value:void 0};if(n==this._boundaryStartParent&&t.offset==this.boundaries.start.offset)return{done:!0,value:void 0};let i;if(n instanceof rs){if(t.isAtStart)return this._position=Ks._createBefore(n),this._previous();i=n.data[t.offset-1]}else i=n.getChild(t.offset-1);if(i instanceof Ns)return this.shallow?(t.offset--,this._position=t,this._formatReturnValue("elementStart",i,e,t,1)):(t=new Ks(i,i.childCount),this._position=t,this.ignoreElementEnd?this._previous():this._formatReturnValue("elementEnd",i,e,t));if(i instanceof rs){if(this.singleCharacters)return t=new Ks(i,i.data.length),this._position=t,this._previous();let n,o=i.data.length;if(i==this._boundaryStartParent){const e=this.boundaries.start.offset;n=new ss(i,e,i.data.length-e),o=n.data.length,t=Ks._createBefore(n)}else n=new ss(i,0,i.data.length),t.offset--;return this._position=t,this._formatReturnValue("text",n,e,t,o)}if("string"==typeof i){let i;if(this.singleCharacters)i=1;else{const e=n===this._boundaryStartParent?this.boundaries.start.offset:0;i=t.offset-e}t.offset-=i;const o=new ss(n,t.offset,i);return this._position=t,this._formatReturnValue("text",o,e,t,i)}return t=Ks._createBefore(n),this._position=t,this._formatReturnValue("elementStart",n,e,t,1)}_formatReturnValue(t,e,n,i,o){return e instanceof ss&&(e.offsetInText+e.data.length==e.textNode.data.length&&("forward"!=this.direction||this.boundaries&&this.boundaries.end.isEqual(this.position)?n=Ks._createAfter(e.textNode):(i=Ks._createAfter(e.textNode),this._position=i)),0===e.offsetInText&&("backward"!=this.direction||this.boundaries&&this.boundaries.start.isEqual(this.position)?n=Ks._createBefore(e.textNode):(i=Ks._createBefore(e.textNode),this._position=i))),{done:!1,value:{type:t,item:e,previousPosition:n,nextPosition:i,length:o}}}}class Ks extends ns{parent;offset;constructor(t,e){super(),this.parent=t,this.offset=e}get nodeAfter(){return this.parent.is("$text")?null:this.parent.getChild(this.offset)||null}get nodeBefore(){return this.parent.is("$text")?null:this.parent.getChild(this.offset-1)||null}get isAtStart(){return 0===this.offset}get isAtEnd(){const t=this.parent.is("$text")?this.parent.data.length:this.parent.childCount;return this.offset===t}get root(){return this.parent.root}get editableElement(){let t=this.parent;for(;!(t instanceof Ws);){if(!t.parent)return null;t=t.parent}return t}getShiftedBy(t){const e=Ks._createAt(this),n=e.offset+t;return e.offset=n<0?0:n,e}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new Gs(e);return n.skip(t),n.position}getAncestors(){return this.parent.is("documentFragment")?[this.parent]:this.parent.getAncestors({includeSelf:!0})}getCommonAncestor(t){const e=this.getAncestors(),n=t.getAncestors();let i=0;for(;e[i]==n[i]&&e[i];)i++;return 0===i?null:e[i-1]}isEqual(t){return this.parent==t.parent&&this.offset==t.offset}isBefore(t){return"before"==this.compareWith(t)}isAfter(t){return"after"==this.compareWith(t)}compareWith(t){if(this.root!==t.root)return"different";if(this.isEqual(t))return"same";const e=this.parent.is("node")?this.parent.getPath():[],n=t.parent.is("node")?t.parent.getPath():[];e.push(this.offset),n.push(t.offset);const i=Yi(e,n);switch(i){case"prefix":return"before";case"extension":return"after";default:return e[i]0?new this(n,i):new this(i,n)}static _createIn(t){return this._createFromParentsAndOffsets(t,0,t,t.childCount)}static _createOn(t){const e=t.is("$textProxy")?t.offsetSize:1;return this._createFromPositionAndShift(Ks._createBefore(t),e)}}function Zs(t){return!(!t.item.is("attributeElement")&&!t.item.is("uiElement"))}Ys.prototype.is=function(t){return"range"===t||"view:range"===t};class Js extends(Di(ns)){_ranges;_lastRangeBackward;_isFake;_fakeSelectionLabel;constructor(...t){super(),this._ranges=[],this._lastRangeBackward=!1,this._isFake=!1,this._fakeSelectionLabel="",t.length&&this.setTo(...t)}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length)return null;const t=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?t.end:t.start).clone()}get focus(){if(!this._ranges.length)return null;const t=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?t.start:t.end).clone()}get isCollapsed(){return 1===this.rangeCount&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){return this.anchor?this.anchor.editableElement:null}*getRanges(){for(const t of this._ranges)yield t.clone()}getFirstRange(){let t=null;for(const e of this._ranges)t&&!e.start.isBefore(t.start)||(t=e);return t?t.clone():null}getLastRange(){let t=null;for(const e of this._ranges)t&&!e.end.isAfter(t.end)||(t=e);return t?t.clone():null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}isEqual(t){if(this.isFake!=t.isFake)return!1;if(this.isFake&&this.fakeSelectionLabel!=t.fakeSelectionLabel)return!1;if(this.rangeCount!=t.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus))return!1;for(const e of this._ranges){let n=!1;for(const i of t._ranges)if(e.isEqual(i)){n=!0;break}if(!n)return!1}return!0}isSimilar(t){if(this.isBackward!=t.isBackward)return!1;const e=Ki(this.getRanges());if(e!=Ki(t.getRanges()))return!1;if(0==e)return!0;for(let e of this.getRanges()){e=e.getTrimmed();let n=!1;for(let i of t.getRanges())if(i=i.getTrimmed(),e.start.isEqual(i.start)&&e.end.isEqual(i.end)){n=!0;break}if(!n)return!1}return!0}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}setTo(...t){let[e,n,i]=t;if("object"==typeof n&&(i=n,n=void 0),null===e)this._setRanges([]),this._setFakeOptions(i);else if(e instanceof Js||e instanceof Qs)this._setRanges(e.getRanges(),e.isBackward),this._setFakeOptions({fake:e.isFake,label:e.fakeSelectionLabel});else if(e instanceof Ys)this._setRanges([e],i&&i.backward),this._setFakeOptions(i);else if(e instanceof Ks)this._setRanges([new Ys(e)]),this._setFakeOptions(i);else if(e instanceof os){const t=!!i&&!!i.backward;let o;if(void 0===n)throw new bi("view-selection-setto-required-second-parameter",this);o="in"==n?Ys._createIn(e):"on"==n?Ys._createOn(e):new Ys(Ks._createAt(e,n)),this._setRanges([o],t),this._setFakeOptions(i)}else{if(!Zi(e))throw new bi("view-selection-setto-not-selectable",this);this._setRanges(e,i&&i.backward),this._setFakeOptions(i)}this.fire("change")}setFocus(t,e){if(null===this.anchor)throw new bi("view-selection-setfocus-no-ranges",this);const n=Ks._createAt(t,e);if("same"==n.compareWith(this.focus))return;const i=this.anchor;this._ranges.pop(),"before"==n.compareWith(i)?this._addRange(new Ys(n,i),!0):this._addRange(new Ys(i,n)),this.fire("change")}_setRanges(t,e=!1){t=Array.from(t),this._ranges=[];for(const e of t)this._addRange(e);this._lastRangeBackward=!!e}_setFakeOptions(t={}){this._isFake=!!t.fake,this._fakeSelectionLabel=t.fake&&t.label||""}_addRange(t,e=!1){if(!(t instanceof Ys))throw new bi("view-selection-add-range-not-range",this);this._pushRange(t),this._lastRangeBackward=!!e}_pushRange(t){for(const e of this._ranges)if(t.isIntersecting(e))throw new bi("view-selection-range-intersects",this,{addedRange:t,intersectingRange:e});this._ranges.push(new Ys(t.start,t.end))}}Js.prototype.is=function(t){return"selection"===t||"view:selection"===t};class Qs extends(Di(ns)){_selection;constructor(...t){super(),this._selection=new Js,this._selection.delegate("change").to(this),t.length&&this._selection.setTo(...t)}get isFake(){return this._selection.isFake}get fakeSelectionLabel(){return this._selection.fakeSelectionLabel}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get isCollapsed(){return this._selection.isCollapsed}get rangeCount(){return this._selection.rangeCount}get isBackward(){return this._selection.isBackward}get editableElement(){return this._selection.editableElement}get _ranges(){return this._selection._ranges}*getRanges(){yield*this._selection.getRanges()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getSelectedElement(){return this._selection.getSelectedElement()}isEqual(t){return this._selection.isEqual(t)}isSimilar(t){return this._selection.isSimilar(t)}_setTo(...t){this._selection.setTo(...t)}_setFocus(t,e){this._selection.setFocus(t,e)}}Qs.prototype.is=function(t){return"selection"===t||"documentSelection"==t||"view:selection"==t||"view:documentSelection"==t};class Xs extends mi{startRange;_eventPhase;_currentTarget;constructor(t,e,n){super(t,e),this.startRange=n,this._eventPhase="none",this._currentTarget=null}get eventPhase(){return this._eventPhase}get currentTarget(){return this._currentTarget}}const ta=Symbol("bubbling contexts");function ea(t){return class extends t{fire(t,...e){try{const n=t instanceof mi?t:new mi(this,t),i=ra(this);if(!i.size)return;if(na(n,"capturing",this),ia(i,"$capture",n,...e))return n.return;const o=n.startRange||this.selection.getFirstRange(),r=o?o.getContainedElement():null,s=!!r&&Boolean(oa(i,r));let a=r||function(t){if(!t)return null;const e=t.start.parent,n=t.end.parent,i=e.getPath(),o=n.getPath();return i.length>o.length?e:n}(o);if(na(n,"atTarget",a),!s){if(ia(i,"$text",n,...e))return n.return;na(n,"bubbling",a)}for(;a;){if(a.is("rootElement")){if(ia(i,"$root",n,...e))return n.return}else if(a.is("element")&&ia(i,a.name,n,...e))return n.return;if(ia(i,a,n,...e))return n.return;a=a.parent,na(n,"bubbling",a)}return na(n,"bubbling",this),ia(i,"$document",n,...e),n.return}catch(t){bi.rethrowUnexpectedError(t,this)}}_addEventListener(t,e,n){const i=tr(n.context||"$document"),o=ra(this);for(const r of i){let i=o.get(r);i||(i=new(Di()),o.set(r,i)),this.listenTo(i,t,e,n)}}_removeEventListener(t,e){const n=ra(this);for(const i of n.values())this.stopListening(i,t,e)}}}{const t=ea(Object);["fire","_addEventListener","_removeEventListener"].forEach((e=>{ea[e]=t.prototype[e]}))}function na(t,e,n){t instanceof Xs&&(t._eventPhase=e,t._currentTarget=n)}function ia(t,e,n,...i){const o="string"==typeof e?t.get(e):oa(t,e);return!!o&&(o.fire(n,...i),n.stop.called)}function oa(t,e){for(const[n,i]of t)if("function"==typeof n&&n(e))return i;return null}function ra(t){return t[ta]||(t[ta]=new Map),t[ta]}class sa extends(ea(ji())){selection;roots;stylesProcessor;_postFixers=new Set;constructor(t){super(),this.selection=new Qs,this.roots=new xr({idProperty:"rootName"}),this.stylesProcessor=t,this.set("isReadOnly",!1),this.set("isFocused",!1),this.set("isSelecting",!1),this.set("isComposing",!1)}getRoot(t="main"){return this.roots.get(t)}registerPostFixer(t){this._postFixers.add(t)}destroy(){this.roots.forEach((t=>t.destroy())),this.stopListening()}_callPostFixers(t){let e=!1;do{for(const n of this._postFixers)if(e=n(t),e)break}while(e)}}class aa extends Ns{static DEFAULT_PRIORITY=10;_priority=10;_id=null;_clonesGroup=null;constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=la}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(null===this.id)throw new bi("attribute-element-get-elements-with-same-id-no-id",this);return new Set(this._clonesGroup)}isSimilar(t){return null!==this.id||null!==t.id?this.id===t.id:super.isSimilar(t)&&this.priority==t.priority}_clone(t=!1){const e=super._clone(t);return e._priority=this._priority,e._id=this._id,e}}function la(){if(ca(this))return null;let t=this.parent;for(;t&&t.is("attributeElement");){if(ca(t)>1)return null;t=t.parent}return!t||ca(t)>1?null:this.childCount}function ca(t){return Array.from(t.getChildren()).filter((t=>!t.is("uiElement"))).length}aa.prototype.is=function(t,e){return e?e===this.name&&("attributeElement"===t||"view:attributeElement"===t||"element"===t||"view:element"===t):"attributeElement"===t||"view:attributeElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class da extends Ns{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=ha}_insertChild(t,e){if(e&&(e instanceof os||Array.from(e).length>0))throw new bi("view-emptyelement-cannot-add",[this,e]);return 0}}function ha(){return null}da.prototype.is=function(t,e){return e?e===this.name&&("emptyElement"===t||"view:emptyElement"===t||"element"===t||"view:element"===t):"emptyElement"===t||"view:emptyElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class ua extends Ns{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=ga}_insertChild(t,e){if(e&&(e instanceof os||Array.from(e).length>0))throw new bi("view-uielement-cannot-add",[this,e]);return 0}render(t,e){return this.toDomElement(t)}toDomElement(t){const e=t.createElement(this.name);for(const t of this.getAttributeKeys())e.setAttribute(t,this.getAttribute(t));return e}}function ma(t){t.document.on("arrowKey",((e,n)=>function(t,e,n){if(e.keyCode==Go.arrowright){const t=e.domTarget.ownerDocument.defaultView.getSelection(),i=1==t.rangeCount&&t.getRangeAt(0).collapsed;if(i||e.shiftKey){const e=t.focusNode,o=t.focusOffset,r=n.domPositionToView(e,o);if(null===r)return;let s=!1;const a=r.getLastMatchingPosition((t=>(t.item.is("uiElement")&&(s=!0),!(!t.item.is("uiElement")&&!t.item.is("attributeElement")))));if(s){const e=n.viewPositionToDom(a);i?t.collapse(e.parent,e.offset):t.extend(e.parent,e.offset)}}}}(0,n,t.domConverter)),{priority:"low"})}function ga(){return null}ua.prototype.is=function(t,e){return e?e===this.name&&("uiElement"===t||"view:uiElement"===t||"element"===t||"view:element"===t):"uiElement"===t||"view:uiElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class pa extends Ns{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=fa}_insertChild(t,e){if(e&&(e instanceof os||Array.from(e).length>0))throw new bi("view-rawelement-cannot-add",[this,e]);return 0}render(t,e){}}function fa(){return null}pa.prototype.is=function(t,e){return e?e===this.name&&("rawElement"===t||"view:rawElement"===t||"element"===t||"view:element"===t):"rawElement"===t||"view:rawElement"===t||t===this.name||t==="view:"+this.name||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class ka extends(Di(ns)){document;_children=[];_customProperties=new Map;constructor(t,e){super(),this.document=t,e&&this._insertChild(0,e)}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return 0===this.childCount}get root(){return this}get parent(){return null}get name(){}get getFillerOffset(){}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}_appendChild(t){return this._insertChild(this.childCount,t)}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(t,e){this._fireChange("children",this);let n=0;const i=function(t,e){if("string"==typeof e)return[new rs(t,e)];Zi(e)||(e=[e]);return Array.from(e).map((e=>"string"==typeof e?new rs(t,e):e instanceof ss?new rs(t,e.data):e))}(this.document,e);for(const e of i)null!==e.parent&&e._remove(),e.parent=this,this._children.splice(t,0,e),t++,n++;return n}_removeChildren(t,e=1){this._fireChange("children",this);for(let n=t;n{const n=t[t.length-1],i=!e.is("uiElement");return n&&n.breakAttributes==i?n.nodes.push(e):t.push({breakAttributes:i,nodes:[e]}),t}),[]);let i=null,o=t;for(const{nodes:t,breakAttributes:e}of n){const n=this._insertNodes(o,t,e);i||(i=n.start),o=n.end}return i?new Ys(i,o):new Ys(t)}remove(t){const e=t instanceof Ys?t:Ys._createOn(t);if(Ba(e,this.document),e.isCollapsed)return new ka(this.document);const{start:n,end:i}=this._breakAttributesRange(e,!0),o=n.parent,r=i.offset-n.offset,s=o._removeChildren(n.offset,r);for(const t of s)this._removeFromClonedElementsGroup(t);const a=this.mergeAttributes(n);return e.start=a,e.end=a.clone(),new ka(this.document,s)}clear(t,e){Ba(t,this.document);const n=t.getWalker({direction:"backward",ignoreElementEnd:!0});for(const i of n){const n=i.item;let o;if(n.is("element")&&e.isSimilar(n))o=Ys._createOn(n);else if(!i.nextPosition.isAfter(t.start)&&n.is("$textProxy")){const t=n.getAncestors().find((t=>t.is("element")&&e.isSimilar(t)));t&&(o=Ys._createIn(t))}o&&(o.end.isAfter(t.end)&&(o.end=t.end),o.start.isBefore(t.start)&&(o.start=t.start),this.remove(o))}}move(t,e){let n;if(e.isAfter(t.end)){const i=(e=this._breakAttributes(e,!0)).parent,o=i.childCount;t=this._breakAttributesRange(t,!0),n=this.remove(t),e.offset+=i.childCount-o}else n=this.remove(t);return this.insert(e,n)}wrap(t,e){if(!(e instanceof aa))throw new bi("view-writer-wrap-invalid-attribute",this.document);if(Ba(t,this.document),t.isCollapsed){let i=t.start;i.parent.is("element")&&(n=i.parent,!Array.from(n.getChildren()).some((t=>!t.is("uiElement"))))&&(i=i.getLastMatchingPosition((t=>t.item.is("uiElement")))),i=this._wrapPosition(i,e);const o=this.document.selection;return o.isCollapsed&&o.getFirstPosition().isEqual(t.start)&&this.setSelection(i),new Ys(i)}return this._wrapRange(t,e);var n}unwrap(t,e){if(!(e instanceof aa))throw new bi("view-writer-unwrap-invalid-attribute",this.document);if(Ba(t,this.document),t.isCollapsed)return t;const{start:n,end:i}=this._breakAttributesRange(t,!0),o=n.parent,r=this._unwrapChildren(o,n.offset,i.offset,e),s=this.mergeAttributes(r.start);s.isEqual(r.start)||r.end.offset--;const a=this.mergeAttributes(r.end);return new Ys(s,a)}rename(t,e){const n=new js(this.document,t,e.getAttributes());return this.insert(Ks._createAfter(e),n),this.move(Ys._createIn(e),Ks._createAt(n,0)),this.remove(Ys._createOn(e)),n}clearClonedElementsGroup(t){this._cloneGroups.delete(t)}createPositionAt(t,e){return Ks._createAt(t,e)}createPositionAfter(t){return Ks._createAfter(t)}createPositionBefore(t){return Ks._createBefore(t)}createRange(t,e){return new Ys(t,e)}createRangeOn(t){return Ys._createOn(t)}createRangeIn(t){return Ys._createIn(t)}createSelection(...t){return new Js(...t)}createSlot(t="children"){if(!this._slotFactory)throw new bi("view-writer-invalid-create-slot-context",this.document);return this._slotFactory(this,t)}_registerSlotFactory(t){this._slotFactory=t}_clearSlotFactory(){this._slotFactory=null}_insertNodes(t,e,n){let i,o;if(i=n?wa(t):t.parent.is("$text")?t.parent.parent:t.parent,!i)throw new bi("view-writer-invalid-position-container",this.document);o=n?this._breakAttributes(t,!0):t.parent.is("$text")?Ca(t):t;const r=i._insertChild(o.offset,e);for(const t of e)this._addToClonedElementsGroup(t);const s=o.getShiftedBy(r),a=this.mergeAttributes(o);a.isEqual(o)||s.offset--;const l=this.mergeAttributes(s);return new Ys(a,l)}_wrapChildren(t,e,n,i){let o=e;const r=[];for(;o!1,t.parent._insertChild(t.offset,n);const i=new Ys(t,t.getShiftedBy(1));this.wrap(i,e);const o=new Ks(n.parent,n.index);n._remove();const r=o.nodeBefore,s=o.nodeAfter;return r instanceof rs&&s instanceof rs?va(r,s):_a(o)}_wrapAttributeElement(t,e){if(!Da(t,e))return!1;if(t.name!==e.name||t.priority!==e.priority)return!1;for(const n of t.getAttributeKeys())if("class"!==n&&"style"!==n&&e.hasAttribute(n)&&e.getAttribute(n)!==t.getAttribute(n))return!1;for(const n of t.getStyleNames())if(e.hasStyle(n)&&e.getStyle(n)!==t.getStyle(n))return!1;for(const n of t.getAttributeKeys())"class"!==n&&"style"!==n&&(e.hasAttribute(n)||this.setAttribute(n,t.getAttribute(n),e));for(const n of t.getStyleNames())e.hasStyle(n)||this.setStyle(n,t.getStyle(n),e);for(const n of t.getClassNames())e.hasClass(n)||this.addClass(n,e);return!0}_unwrapAttributeElement(t,e){if(!Da(t,e))return!1;if(t.name!==e.name||t.priority!==e.priority)return!1;for(const n of t.getAttributeKeys())if("class"!==n&&"style"!==n&&(!e.hasAttribute(n)||e.getAttribute(n)!==t.getAttribute(n)))return!1;if(!e.hasClass(...t.getClassNames()))return!1;for(const n of t.getStyleNames())if(!e.hasStyle(n)||e.getStyle(n)!==t.getStyle(n))return!1;for(const n of t.getAttributeKeys())"class"!==n&&"style"!==n&&this.removeAttribute(n,e);return this.removeClass(Array.from(t.getClassNames()),e),this.removeStyle(Array.from(t.getStyleNames()),e),!0}_breakAttributesRange(t,e=!1){const n=t.start,i=t.end;if(Ba(t,this.document),t.isCollapsed){const n=this._breakAttributes(t.start,e);return new Ys(n,n)}const o=this._breakAttributes(i,e),r=o.parent.childCount,s=this._breakAttributes(n,e);return o.offset+=o.parent.childCount-r,new Ys(s,o)}_breakAttributes(t,e=!1){const n=t.offset,i=t.parent;if(t.parent.is("emptyElement"))throw new bi("view-writer-cannot-break-empty-element",this.document);if(t.parent.is("uiElement"))throw new bi("view-writer-cannot-break-ui-element",this.document);if(t.parent.is("rawElement"))throw new bi("view-writer-cannot-break-raw-element",this.document);if(!e&&i.is("$text")&&Ea(i.parent))return t.clone();if(Ea(i))return t.clone();if(i.is("$text"))return this._breakAttributes(Ca(t),e);if(n==i.childCount){const t=new Ks(i.parent,i.index+1);return this._breakAttributes(t,e)}if(0===n){const t=new Ks(i.parent,i.index);return this._breakAttributes(t,e)}{const t=i.index+1,o=i._clone();i.parent._insertChild(t,o),this._addToClonedElementsGroup(o);const r=i.childCount-n,s=i._removeChildren(n,r);o._appendChild(s);const a=new Ks(i.parent,t);return this._breakAttributes(a,e)}}_addToClonedElementsGroup(t){if(!t.root.is("rootElement"))return;if(t.is("element"))for(const e of t.getChildren())this._addToClonedElementsGroup(e);const e=t.id;if(!e)return;let n=this._cloneGroups.get(e);n||(n=new Set,this._cloneGroups.set(e,n)),n.add(t),t._clonesGroup=n}_removeFromClonedElementsGroup(t){if(t.is("element"))for(const e of t.getChildren())this._removeFromClonedElementsGroup(e);const e=t.id;if(!e)return;const n=this._cloneGroups.get(e);n&&n.delete(t)}}function wa(t){let e=t.parent;for(;!Ea(e);){if(!e)return;e=e.parent}return e}function Aa(t,e){return t.prioritye.priority)&&t.getIdentity()n instanceof t)))throw new bi("view-writer-insert-invalid-node-type",e);n.is("$text")||xa(n.getChildren(),e)}}function Ea(t){return t&&(t.is("containerElement")||t.is("documentFragment"))}function Ba(t,e){const n=wa(t.start),i=wa(t.end);if(!n||!i||n!==i)throw new bi("view-writer-invalid-range-container",e)}function Da(t,e){return null===t.id&&null===e.id}const Sa=t=>t.createTextNode(" "),Ta=t=>{const e=t.createElement("span");return e.dataset.ckeFiller="true",e.innerText=" ",e},Ia=t=>{const e=t.createElement("br");return e.dataset.ckeFiller="true",e},Pa="⁠".repeat(7);function Fa(t){return"string"==typeof t?t.substr(0,7)===Pa:mo(t)&&t.data.substr(0,7)===Pa}function Ra(t){return 7==t.data.length&&Fa(t)}function Va(t){const e="string"==typeof t?t:t.data;return Fa(t)?e.slice(7):e}function La(t,e){if(e.keyCode==Go.arrowleft){const t=e.domTarget.ownerDocument.defaultView.getSelection();if(1==t.rangeCount&&t.getRangeAt(0).collapsed){const e=t.getRangeAt(0).startContainer,n=t.getRangeAt(0).startOffset;Fa(e)&&n<=7&&t.collapse(e,0)}}}var za=n(8264),Ma={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(za.A,Ma);za.A.locals;class Oa extends(ji()){domDocuments=new Set;domConverter;markedAttributes=new Set;markedChildren=new Set;markedTexts=new Set;selection;_inlineFiller=null;_fakeSelectionContainer=null;constructor(t,e){super(),this.domConverter=t,this.selection=e,this.set("isFocused",!1),this.set("isSelecting",!1),this.set("isComposing",!1),Xn.isBlink&&!Xn.isAndroid&&this.on("change:isSelecting",(()=>{this.isSelecting||this.render()}))}markToSync(t,e){if("text"===t)this.domConverter.mapViewToDom(e.parent)&&this.markedTexts.add(e);else{if(!this.domConverter.mapViewToDom(e))return;if("attributes"===t)this.markedAttributes.add(e);else{if("children"!==t){throw new bi("view-renderer-unknown-type",this)}this.markedChildren.add(e)}}}render(){if(this.isComposing&&!Xn.isAndroid)return;let t=null;const e=!(Xn.isBlink&&!Xn.isAndroid)||!this.isSelecting;for(const t of this.markedChildren)this._updateChildrenMappings(t);e?(this._inlineFiller&&!this._isSelectionInInlineFiller()&&this._removeInlineFiller(),this._inlineFiller?t=this._getInlineFillerPosition():this._needsInlineFillerAtSelection()&&(t=this.selection.getFirstPosition(),this.markedChildren.add(t.parent))):this._inlineFiller&&this._inlineFiller.parentNode&&(t=this.domConverter.domPositionToView(this._inlineFiller),t&&t.parent.is("$text")&&(t=Ks._createBefore(t.parent)));for(const t of this.markedAttributes)this._updateAttrs(t);for(const e of this.markedChildren)this._updateChildren(e,{inlineFillerPosition:t});for(const e of this.markedTexts)!this.markedChildren.has(e.parent)&&this.domConverter.mapViewToDom(e.parent)&&this._updateText(e,{inlineFillerPosition:t});if(e)if(t){const e=this.domConverter.viewPositionToDom(t),n=e.parent.ownerDocument;Fa(e.parent)?this._inlineFiller=e.parent:this._inlineFiller=Na(n,e.parent,e.offset)}else this._inlineFiller=null;this._updateFocus(),this._updateSelection(),this.domConverter._clearTemporaryCustomProperties(),this.markedTexts.clear(),this.markedAttributes.clear(),this.markedChildren.clear()}_updateChildrenMappings(t){const e=this.domConverter.mapViewToDom(t);if(!e)return;const n=Array.from(e.childNodes),i=Array.from(this.domConverter.viewChildrenToDom(t,{withChildren:!1})),o=this._diffNodeLists(n,i),r=this._findUpdateActions(o,n,i,Ha);if(-1!==r.indexOf("update")){const e={equal:0,insert:0,delete:0};for(const o of r)if("update"===o){const o=e.equal+e.insert,r=e.equal+e.delete,s=t.getChild(o);!s||s.is("uiElement")||s.is("rawElement")||this._updateElementMappings(s,n[r]),Fo(i[o]),e.equal++}else e[o]++}}_updateElementMappings(t,e){this.domConverter.unbindDomElement(e),this.domConverter.bindElements(e,t),this.markedChildren.add(t),this.markedAttributes.add(t)}_getInlineFillerPosition(){const t=this.selection.getFirstPosition();return t.parent.is("$text")?Ks._createBefore(t.parent):t}_isSelectionInInlineFiller(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const t=this.selection.getFirstPosition(),e=this.domConverter.viewPositionToDom(t);return!!(e&&mo(e.parent)&&Fa(e.parent))}_removeInlineFiller(){const t=this._inlineFiller;if(!Fa(t))throw new bi("view-renderer-filler-was-lost",this);Ra(t)?t.remove():t.data=t.data.substr(7),this._inlineFiller=null}_needsInlineFillerAtSelection(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const t=this.selection.getFirstPosition(),e=t.parent,n=t.offset;if(!this.domConverter.mapViewToDom(e.root))return!1;if(!e.is("element"))return!1;if(!function(t){if("false"==t.getAttribute("contenteditable"))return!1;const e=t.findAncestor((t=>t.hasAttribute("contenteditable")));return!e||"true"==e.getAttribute("contenteditable")}(e))return!1;const i=t.nodeBefore,o=t.nodeAfter;return!(i instanceof rs||o instanceof rs)&&(!!(n!==e.getFillerOffset()||i&&i.is("element","br"))&&(!Xn.isAndroid||!i&&!o))}_updateText(t,e){const n=this.domConverter.findCorrespondingDomText(t);let i=this.domConverter.viewToDom(t).data;const o=e.inlineFillerPosition;o&&o.parent==t.parent&&o.offset==t.index&&(i=Pa+i),this._updateTextNode(n,i)}_updateAttrs(t){const e=this.domConverter.mapViewToDom(t);if(e){for(const n of e.attributes){const i=n.name;t.hasAttribute(i)||this.domConverter.removeDomElementAttribute(e,i)}for(const n of t.getAttributeKeys())this.domConverter.setDomElementAttribute(e,n,t.getAttribute(n),t)}}_updateChildren(t,e){const n=this.domConverter.mapViewToDom(t);if(!n)return;if(Xn.isAndroid){let t=null;for(const e of Array.from(n.childNodes)){if(t&&mo(t)&&mo(e)){n.normalize();break}t=e}}const i=e.inlineFillerPosition,o=n.childNodes,r=Array.from(this.domConverter.viewChildrenToDom(t,{bind:!0}));i&&i.parent===t&&Na(n.ownerDocument,r,i.offset);const s=this._diffNodeLists(o,r),a=this._findUpdateActions(s,o,r,ja);let l=0;const c=new Set;for(const t of a)"delete"===t?(c.add(o[l]),Fo(o[l])):"equal"!==t&&"update"!==t||l++;l=0;for(const t of a)"insert"===t?(Eo(n,l,r[l]),l++):"update"===t?(this._updateTextNode(o[l],r[l].data),l++):"equal"===t&&(this._markDescendantTextToSync(this.domConverter.domToView(r[l])),l++);for(const t of c)t.parentNode||this.domConverter.unbindDomElement(t)}_diffNodeLists(t,e){return t=function(t,e){const n=Array.from(t);if(0==n.length||!e)return n;const i=n[n.length-1];i==e&&n.pop();return n}(t,this._fakeSelectionContainer),hi(t,e,qa.bind(null,this.domConverter))}_findUpdateActions(t,e,n,i){if(-1===t.indexOf("insert")||-1===t.indexOf("delete"))return t;let o=[],r=[],s=[];const a={equal:0,insert:0,delete:0};for(const l of t)"insert"===l?s.push(n[a.equal+a.insert]):"delete"===l?r.push(e[a.equal+a.delete]):(o=o.concat(hi(r,s,i).map((t=>"equal"===t?"update":t))),o.push("equal"),r=[],s=[]),a[l]++;return o.concat(hi(r,s,i).map((t=>"equal"===t?"update":t)))}_updateTextNode(t,e){const n=t.data;n!=e&&(Xn.isAndroid&&this.isComposing&&n.replace(/\u00A0/g," ")==e.replace(/\u00A0/g," ")||this._updateTextNodeInternal(t,e))}_updateTextNodeInternal(t,e){const n=li(t.data,e);for(const e of n)"insert"===e.type?t.insertData(e.index,e.values.join("")):t.deleteData(e.index,e.howMany)}_markDescendantTextToSync(t){if(t)if(t.is("$text"))this.markedTexts.add(t);else if(t.is("element"))for(const e of t.getChildren())this._markDescendantTextToSync(e)}_updateSelection(){if(Xn.isBlink&&!Xn.isAndroid&&this.isSelecting&&!this.markedChildren.size)return;if(0===this.selection.rangeCount)return this._removeDomSelection(),void this._removeFakeSelection();const t=this.domConverter.mapViewToDom(this.selection.editableElement);this.isFocused&&t&&(this.selection.isFake?this._updateFakeSelection(t):this._fakeSelectionContainer&&this._fakeSelectionContainer.isConnected?(this._removeFakeSelection(),this._updateDomSelection(t)):this.isComposing&&Xn.isAndroid||this._updateDomSelection(t))}_updateFakeSelection(t){const e=t.ownerDocument;this._fakeSelectionContainer||(this._fakeSelectionContainer=function(t){const e=t.createElement("div");return e.className="ck-fake-selection-container",Object.assign(e.style,{position:"fixed",top:0,left:"-9999px",width:"42px"}),e.textContent=" ",e}(e));const n=this._fakeSelectionContainer;if(this.domConverter.bindFakeSelection(n,this.selection),!this._fakeSelectionNeedsUpdate(t))return;n.parentElement&&n.parentElement==t||t.appendChild(n),n.textContent=this.selection.fakeSelectionLabel||" ";const i=e.getSelection(),o=e.createRange();i.removeAllRanges(),o.selectNodeContents(n),i.addRange(o)}_updateDomSelection(t){const e=t.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(e))return;const n=this.domConverter.viewPositionToDom(this.selection.anchor),i=this.domConverter.viewPositionToDom(this.selection.focus);e.setBaseAndExtent(n.parent,n.offset,i.parent,i.offset),Xn.isGecko&&function(t,e){let n=t.parent,i=t.offset;mo(n)&&Ra(n)&&(i=xo(n)+1,n=n.parentNode);if(n.nodeType!=Node.ELEMENT_NODE||i!=n.childNodes.length-1)return;const o=n.childNodes[i];o&&"BR"==o.tagName&&e.addRange(e.getRangeAt(0))}(i,e)}_domSelectionNeedsUpdate(t){if(!this.domConverter.isDomSelectionCorrect(t))return!0;const e=t&&this.domConverter.domSelectionToView(t);return(!e||!this.selection.isEqual(e))&&!(!this.selection.isCollapsed&&this.selection.isSimilar(e))}_fakeSelectionNeedsUpdate(t){const e=this._fakeSelectionContainer,n=t.ownerDocument.getSelection();return!e||e.parentElement!==t||(n.anchorNode!==e&&!e.contains(n.anchorNode)||e.textContent!==this.selection.fakeSelectionLabel)}_removeDomSelection(){for(const t of this.domDocuments){const e=t.getSelection();if(e.rangeCount){const n=t.activeElement,i=this.domConverter.mapDomToView(n);n&&i&&e.removeAllRanges()}}}_removeFakeSelection(){const t=this._fakeSelectionContainer;t&&t.remove()}_updateFocus(){if(this.isFocused){const t=this.selection.editableElement;t&&this.domConverter.focus(t)}}}function Na(t,e,n){const i=e instanceof Array?e:e.childNodes,o=i[n];if(mo(o))return o.data=Pa+o.data,o;{const o=t.createTextNode(Pa);return Array.isArray(e)?i.splice(n,0,o):Eo(e,n,o),o}}function Ha(t,e){return no(t)&&no(e)&&!mo(t)&&!mo(e)&&!Bo(t)&&!Bo(e)&&t.tagName.toLowerCase()===e.tagName.toLowerCase()}function ja(t,e){return no(t)&&no(e)&&mo(t)&&mo(e)}function qa(t,e,n){return e===n||(mo(e)&&mo(n)?e.data===n.data:!(!t.isBlockFiller(e)||!t.isBlockFiller(n)))}const Wa=Ia(Zn.document),Ua=Sa(Zn.document),$a=Ta(Zn.document),Ga="data-ck-unsafe-attribute-",Ka="data-ck-unsafe-element";class Ya{document;renderingMode;blockFillerMode;preElements;blockElements;inlineObjectElements;unsafeElements;_domDocument;_domToViewMapping=new WeakMap;_viewToDomMapping=new WeakMap;_fakeSelectionMapping=new WeakMap;_rawContentElementMatcher=new as;_inlineObjectElementMatcher=new as;_elementsWithTemporaryCustomProperties=new Set;constructor(t,{blockFillerMode:e,renderingMode:n="editing"}={}){this.document=t,this.renderingMode=n,this.blockFillerMode=e||("editing"===n?"br":"nbsp"),this.preElements=["pre"],this.blockElements=["address","article","aside","blockquote","caption","center","dd","details","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","legend","li","main","menu","nav","ol","p","pre","section","summary","table","tbody","td","tfoot","th","thead","tr","ul"],this.inlineObjectElements=["object","iframe","input","button","textarea","select","option","video","embed","audio","img","canvas"],this.unsafeElements=["script","style"],this._domDocument="editing"===this.renderingMode?Zn.document:Zn.document.implementation.createHTMLDocument("")}bindFakeSelection(t,e){this._fakeSelectionMapping.set(t,new Js(e))}fakeSelectionToView(t){return this._fakeSelectionMapping.get(t)}bindElements(t,e){this._domToViewMapping.set(t,e),this._viewToDomMapping.set(e,t)}unbindDomElement(t){const e=this._domToViewMapping.get(t);if(e){this._domToViewMapping.delete(t),this._viewToDomMapping.delete(e);for(const e of t.children)this.unbindDomElement(e)}}bindDocumentFragments(t,e){this._domToViewMapping.set(t,e),this._viewToDomMapping.set(e,t)}shouldRenderAttribute(t,e,n){return"data"===this.renderingMode||!(t=t.toLowerCase()).startsWith("on")&&(("srcdoc"!==t||!e.match(/\bon\S+\s*=|javascript:|<\s*\/*script/i))&&("img"===n&&("src"===t||"srcset"===t)||("source"===n&&"srcset"===t||!e.match(/^\s*(javascript:|data:(image\/svg|text\/x?html))/i))))}setContentOf(t,e){if("data"===this.renderingMode)return void(t.innerHTML=e);const n=(new DOMParser).parseFromString(e,"text/html"),i=n.createDocumentFragment(),o=n.body.childNodes;for(;o.length>0;)i.appendChild(o[0]);const r=n.createTreeWalker(i,NodeFilter.SHOW_ELEMENT),s=[];let a;for(;a=r.nextNode();)s.push(a);for(const t of s){for(const e of t.getAttributeNames())this.setDomElementAttribute(t,e,t.getAttribute(e));const e=t.tagName.toLowerCase();this._shouldRenameElement(e)&&(Qa(e),t.replaceWith(this._createReplacementDomElement(e,t)))}for(;t.firstChild;)t.firstChild.remove();t.append(i)}viewToDom(t,e={}){if(t.is("$text")){const e=this._processDataFromViewText(t);return this._domDocument.createTextNode(e)}{const n=t;if(this.mapViewToDom(n)){if(!n.getCustomProperty("editingPipeline:doNotReuseOnce"))return this.mapViewToDom(n);this._elementsWithTemporaryCustomProperties.add(n)}let i;if(n.is("documentFragment"))i=this._domDocument.createDocumentFragment(),e.bind&&this.bindDocumentFragments(i,n);else{if(n.is("uiElement"))return i="$comment"===n.name?this._domDocument.createComment(n.getCustomProperty("$rawContent")):n.render(this._domDocument,this),e.bind&&this.bindElements(i,n),i;this._shouldRenameElement(n.name)?(Qa(n.name),i=this._createReplacementDomElement(n.name)):i=n.hasAttribute("xmlns")?this._domDocument.createElementNS(n.getAttribute("xmlns"),n.name):this._domDocument.createElement(n.name),n.is("rawElement")&&n.render(i,this),e.bind&&this.bindElements(i,n);for(const t of n.getAttributeKeys())this.setDomElementAttribute(i,t,n.getAttribute(t),n)}if(!1!==e.withChildren)for(const t of this.viewChildrenToDom(n,e))i instanceof HTMLTemplateElement?i.content.appendChild(t):i.appendChild(t);return i}}setDomElementAttribute(t,e,n,i){const o=this.shouldRenderAttribute(e,n,t.tagName.toLowerCase())||i&&i.shouldRenderUnsafeAttribute(e);o||wi("domconverter-unsafe-attribute-detected",{domElement:t,key:e,value:n}),Do(e)?(t.hasAttribute(e)&&!o?t.removeAttribute(e):t.hasAttribute(Ga+e)&&o&&t.removeAttribute(Ga+e),t.setAttribute(o?e:Ga+e,n)):wi("domconverter-invalid-attribute-detected",{domElement:t,key:e,value:n})}removeDomElementAttribute(t,e){e!=Ka&&(t.removeAttribute(e),t.removeAttribute(Ga+e))}*viewChildrenToDom(t,e={}){const n=t.getFillerOffset&&t.getFillerOffset();let i=0;for(const o of t.getChildren()){n===i&&(yield this._getBlockFiller());const t=o.is("element")&&!!o.getCustomProperty("dataPipeline:transparentRendering")&&!Er(o.getAttributes());if(t&&"data"==this.renderingMode)if(o.is("rawElement")){const t=this._domDocument.createElement(o.name);o.render(t,this),yield*[...t.childNodes]}else yield*this.viewChildrenToDom(o,e);else t&&wi("domconverter-transparent-rendering-unsupported-in-editing-pipeline",{viewElement:o}),yield this.viewToDom(o,e);i++}n===i&&(yield this._getBlockFiller())}viewRangeToDom(t){const e=this.viewPositionToDom(t.start),n=this.viewPositionToDom(t.end),i=this._domDocument.createRange();return i.setStart(e.parent,e.offset),i.setEnd(n.parent,n.offset),i}viewPositionToDom(t){const e=t.parent;if(e.is("$text")){const n=this.findCorrespondingDomText(e);if(!n)return null;let i=t.offset;return Fa(n)&&(i+=7),{parent:n,offset:i}}{let n,i,o;if(0===t.offset){if(n=this.mapViewToDom(e),!n)return null;o=n.childNodes[0]}else{const e=t.nodeBefore;if(i=e.is("$text")?this.findCorrespondingDomText(e):this.mapViewToDom(e),!i)return null;n=i.parentNode,o=i.nextSibling}if(mo(o)&&Fa(o))return{parent:o,offset:7};return{parent:n,offset:i?xo(i)+1:0}}}domToView(t,e={}){const n=[],i=this._domToView(t,e,n),o=i.next().value;return o?(i.next(),this._processDomInlineNodes(null,n,e),o.is("$text")&&0==o.data.length?null:o):null}*domChildrenToView(t,e={},n=[]){let i=[];i=t instanceof HTMLTemplateElement?[...t.content.childNodes]:[...t.childNodes];for(let o=0;o{const{scrollLeft:e,scrollTop:n}=t;i.push([e,n])})),e.focus(),Za(e,(t=>{const[e,n]=i.shift();t.scrollLeft=e,t.scrollTop=n})),Zn.window.scrollTo(t,n)}}_clearDomSelection(){const t=this.mapViewToDom(this.document.selection.editableElement);if(!t)return;const e=t.ownerDocument.defaultView.getSelection(),n=this.domSelectionToView(e);n&&n.rangeCount>0&&e.removeAllRanges()}isElement(t){return t&&t.nodeType==Node.ELEMENT_NODE}isDocumentFragment(t){return t&&t.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isBlockFiller(t){return"br"==this.blockFillerMode?t.isEqualNode(Wa):!("BR"!==t.tagName||!Ja(t,this.blockElements)||1!==t.parentNode.childNodes.length)||(t.isEqualNode($a)||function(t,e){const n=t.isEqualNode(Ua);return n&&Ja(t,e)&&1===t.parentNode.childNodes.length}(t,this.blockElements))}isDomSelectionBackward(t){if(t.isCollapsed)return!1;const e=this._domDocument.createRange();try{e.setStart(t.anchorNode,t.anchorOffset),e.setEnd(t.focusNode,t.focusOffset)}catch(t){return!1}const n=e.collapsed;return e.detach(),n}getHostViewElement(t){const e=lo(t);for(e.pop();e.length;){const t=e.pop(),n=this._domToViewMapping.get(t);if(n&&(n.is("uiElement")||n.is("rawElement")))return n}return null}isDomSelectionCorrect(t){return this._isDomSelectionPositionCorrect(t.anchorNode,t.anchorOffset)&&this._isDomSelectionPositionCorrect(t.focusNode,t.focusOffset)}registerRawContentMatcher(t){this._rawContentElementMatcher.add(t)}registerInlineObjectMatcher(t){this._inlineObjectElementMatcher.add(t)}_clearTemporaryCustomProperties(){for(const t of this._elementsWithTemporaryCustomProperties)t._removeCustomProperty("editingPipeline:doNotReuseOnce");this._elementsWithTemporaryCustomProperties.clear()}_getBlockFiller(){switch(this.blockFillerMode){case"nbsp":return Sa(this._domDocument);case"markedNbsp":return Ta(this._domDocument);case"br":return Ia(this._domDocument)}}_isDomSelectionPositionCorrect(t,e){if(mo(t)&&Fa(t)&&e<7)return!1;if(this.isElement(t)&&Fa(t.childNodes[e]))return!1;const n=this.mapDomToView(t);return!n||!n.is("uiElement")&&!n.is("rawElement")}*_domToView(t,e,n){if(this.isBlockFiller(t))return null;const i=this.getHostViewElement(t);if(i)return i;if(Bo(t)&&e.skipComments)return null;if(mo(t)){if(Ra(t))return null;{const e=t.data;if(""===e)return null;const i=new rs(this.document,e);return n.push(i),i}}{let i=this.mapDomToView(t);if(i)return this._isInlineObjectElement(i)&&n.push(i),i;if(this.isDocumentFragment(t))i=new ka(this.document),e.bind&&this.bindDocumentFragments(t,i);else{i=this._createViewElement(t,e),e.bind&&this.bindElements(t,i);const o=t.attributes;if(o)for(let t=o.length,e=0;e0?e[t-1]:null,l=t+1t.is("element")&&e.includes(t.name)))}(t,this.preElements))return!0;for(const e of t.getAncestors({parentFirst:!0}))if(e.is("element")&&e.hasStyle("white-space")&&"inherit"!==e.getStyle("white-space"))return["pre","pre-wrap","break-spaces"].includes(e.getStyle("white-space"));return!1}_getTouchingInlineViewNode(t,e){const n=new Gs({startPosition:e?Ks._createAfter(t):Ks._createBefore(t),direction:e?"forward":"backward"});for(const{item:t}of n){if(t.is("$textProxy"))return t;if(!t.is("element")||!t.getCustomProperty("dataPipeline:transparentRendering")){if(t.is("element","br"))return null;if(this._isInlineObjectElement(t))return t;if(t.is("containerElement"))return null}}return null}_isBlockDomElement(t){return this.isElement(t)&&this.blockElements.includes(t.tagName.toLowerCase())}_isBlockViewElement(t){return t.is("element")&&this.blockElements.includes(t.name)}_isInlineObjectElement(t){return!!t.is("element")&&("br"==t.name||this.inlineObjectElements.includes(t.name)||!!this._inlineObjectElementMatcher.match(t))}_createViewElement(t,e){if(Bo(t))return new ua(this.document,"$comment");const n=e.keepOriginalCase?t.tagName:t.tagName.toLowerCase();return new Ns(this.document,n)}_isViewElementWithRawContent(t,e){return!1!==e.withChildren&&t.is("element")&&!!this._rawContentElementMatcher.match(t)}_shouldRenameElement(t){const e=t.toLowerCase();return"editing"===this.renderingMode&&this.unsafeElements.includes(e)}_createReplacementDomElement(t,e){const n=this._domDocument.createElement("span");if(n.setAttribute(Ka,t),e){for(;e.firstChild;)n.appendChild(e.firstChild);for(const t of e.getAttributeNames())n.setAttribute(t,e.getAttribute(t))}return n}}function Za(t,e){let n=t;for(;n;)e(n),n=n.parentElement}function Ja(t,e){const n=t.parentNode;return!!n&&!!n.tagName&&e.includes(n.tagName.toLowerCase())}function Qa(t){"script"===t&&wi("domconverter-unsafe-script-element-detected"),"style"===t&&wi("domconverter-unsafe-style-element-detected")}class Xa extends(ro()){view;document;_isEnabled=!1;constructor(t){super(),this.view=t,this.document=t.document}get isEnabled(){return this._isEnabled}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}destroy(){this.disable(),this.stopListening()}checkShouldIgnoreEventFromTarget(t){return t&&3===t.nodeType&&(t=t.parentNode),!(!t||1!==t.nodeType)&&t.matches("[data-cke-ignore-events], [data-cke-ignore-events] *")}}const tl=wr((function(t,e){Yt(e,Fe(e),t)}));class el{view;document;domEvent;domTarget;constructor(t,e,n){this.view=t,this.document=t.document,this.domEvent=e,this.domTarget=e.target,tl(this,n)}get target(){return this.view.domConverter.mapDomToView(this.domTarget)}preventDefault(){this.domEvent.preventDefault()}stopPropagation(){this.domEvent.stopPropagation()}}class nl extends Xa{useCapture=!1;usePassive=!1;observe(t){("string"==typeof this.domEventType?[this.domEventType]:this.domEventType).forEach((e=>{this.listenTo(t,e,((t,e)=>{this.isEnabled&&!this.checkShouldIgnoreEventFromTarget(e.target)&&this.onDomEvent(e)}),{useCapture:this.useCapture,usePassive:this.usePassive})}))}stopObserving(t){this.stopListening(t)}fire(t,e,n){this.isEnabled&&this.document.fire(t,new el(this.view,e,n))}}class il extends nl{domEventType=["keydown","keyup"];onDomEvent(t){const e={keyCode:t.keyCode,altKey:t.altKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,metaKey:t.metaKey,get keystroke(){return Yo(this)}};this.fire(t.type,t,e)}}class ol extends Xa{_fireSelectionChangeDoneDebounced;constructor(t){super(t),this._fireSelectionChangeDoneDebounced=R((t=>{this.document.fire("selectionChangeDone",t)}),200)}observe(){const t=this.document;t.on("arrowKey",((e,n)=>{t.selection.isFake&&this.isEnabled&&n.preventDefault()}),{context:"$capture"}),t.on("arrowKey",((e,n)=>{t.selection.isFake&&this.isEnabled&&this._handleSelectionMove(n.keyCode)}),{priority:"lowest"})}stopObserving(){}destroy(){super.destroy(),this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(t){const e=this.document.selection,n=new Js(e.getRanges(),{backward:e.isBackward,fake:!1});t!=Go.arrowleft&&t!=Go.arrowup||n.setTo(n.getFirstPosition()),t!=Go.arrowright&&t!=Go.arrowdown||n.setTo(n.getLastPosition());const i={oldSelection:e,newSelection:n,domSelection:null};this.document.fire("selectionChange",i),this._fireSelectionChangeDoneDebounced(i)}}const rl=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this};const sl=function(t){return this.__data__.has(t)};function al(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new Nt;++ea))return!1;var c=r.get(t),d=r.get(e);if(c&&d)return c==e&&d==t;var h=-1,u=!0,m=2&n?new ll:void 0;for(r.set(t,e),r.set(e,t);++hthis._handleFocus())),e.on("blur",((t,e)=>this._handleBlur(e))),e.on("beforeinput",(()=>{e.isFocused||this._handleFocus()}),{priority:"highest"})}flush(){this._isFocusChanging&&(this._isFocusChanging=!1,this.document.isFocused=!0)}onDomEvent(t){this.fire(t.type,t)}destroy(){this._clearTimeout(),super.destroy()}_handleFocus(){this._clearTimeout(),this._isFocusChanging=!0,this._renderTimeoutId=setTimeout((()=>{this._renderTimeoutId=null,this.flush(),this.view.change((()=>{}))}),50)}_handleBlur(t){const e=this.document.selection.editableElement;null!==e&&e!==t.target||(this.document.isFocused=!1,this._isFocusChanging=!1,this.view.change((()=>{})))}_clearTimeout(){this._renderTimeoutId&&(clearTimeout(this._renderTimeoutId),this._renderTimeoutId=null)}}class Sl extends Xa{mutationObserver;focusObserver;selection;domConverter;_documents;_fireSelectionChangeDoneDebounced;_clearInfiniteLoopInterval;_documentIsSelectingInactivityTimeoutDebounced;_loopbackCounter;constructor(t){super(t),this.mutationObserver=t.getObserver(El),this.focusObserver=t.getObserver(Dl),this.selection=this.document.selection,this.domConverter=t.domConverter,this._documents=new WeakSet,this._fireSelectionChangeDoneDebounced=R((t=>{this.document.fire("selectionChangeDone",t)}),200),this._clearInfiniteLoopInterval=setInterval((()=>this._clearInfiniteLoop()),1e3),this._documentIsSelectingInactivityTimeoutDebounced=R((()=>this.document.isSelecting=!1),5e3),this._loopbackCounter=0}observe(t){const e=t.ownerDocument,n=()=>{this.document.isSelecting&&(this._handleSelectionChange(e),this.document.isSelecting=!1,this._documentIsSelectingInactivityTimeoutDebounced.cancel())};this.listenTo(t,"selectstart",(()=>{this.document.isSelecting=!0,this._documentIsSelectingInactivityTimeoutDebounced()}),{priority:"highest"}),this.listenTo(t,"keydown",n,{priority:"highest",useCapture:!0}),this.listenTo(t,"keyup",n,{priority:"highest",useCapture:!0}),this._documents.has(e)||(this.listenTo(e,"mouseup",n,{priority:"highest",useCapture:!0}),this.listenTo(e,"selectionchange",(()=>{this.document.isComposing&&!Xn.isAndroid||(this._handleSelectionChange(e),this._documentIsSelectingInactivityTimeoutDebounced())})),this.listenTo(this.view.document,"compositionstart",(()=>{this._handleSelectionChange(e)}),{priority:"lowest"}),this._documents.add(e))}stopObserving(t){this.stopListening(t)}destroy(){super.destroy(),clearInterval(this._clearInfiniteLoopInterval),this._fireSelectionChangeDoneDebounced.cancel(),this._documentIsSelectingInactivityTimeoutDebounced.cancel()}_reportInfiniteLoop(){}_handleSelectionChange(t){if(!this.isEnabled)return;const e=t.defaultView.getSelection();if(this.checkShouldIgnoreEventFromTarget(e.anchorNode))return;this.mutationObserver.flush();const n=this.domConverter.domSelectionToView(e);if(0!=n.rangeCount){if(this.view.hasDomSelection=!0,this.focusObserver.flush(),!this.selection.isEqual(n)||!this.domConverter.isDomSelectionCorrect(e))if(++this._loopbackCounter>60)this._reportInfiniteLoop();else if(this.selection.isSimilar(n))this.view.forceRender();else{const t={oldSelection:this.selection,newSelection:n,domSelection:e};this.document.fire("selectionChange",t),this._fireSelectionChangeDoneDebounced(t)}}else this.view.hasDomSelection=!1}_clearInfiniteLoop(){this._loopbackCounter=0}}class Tl extends nl{domEventType=["compositionstart","compositionupdate","compositionend"];constructor(t){super(t);const e=this.document;e.on("compositionstart",(()=>{e.isComposing=!0}),{priority:"low"}),e.on("compositionend",(()=>{e.isComposing=!1}),{priority:"low"})}onDomEvent(t){this.fire(t.type,t,{data:t.data})}}class Il{_files;_native;constructor(t,e={}){this._files=e.cacheFiles?Pl(t):null,this._native=t}get files(){return this._files||(this._files=Pl(this._native)),this._files}get types(){return this._native.types}getData(t){return this._native.getData(t)}setData(t,e){this._native.setData(t,e)}set effectAllowed(t){this._native.effectAllowed=t}get effectAllowed(){return this._native.effectAllowed}set dropEffect(t){this._native.dropEffect=t}get dropEffect(){return this._native.dropEffect}setDragImage(t,e,n){this._native.setDragImage(t,e,n)}get isCanceled(){return"none"==this._native.dropEffect||!!this._native.mozUserCancelled}}function Pl(t){const e=Array.from(t.files||[]),n=Array.from(t.items||[]);return e.length?e:n.filter((t=>"file"===t.kind)).map((t=>t.getAsFile()))}class Fl extends nl{domEventType="beforeinput";onDomEvent(t){const e=t.getTargetRanges(),n=this.view,i=n.document;let o=null,r=null,s=[];if(t.dataTransfer&&(o=new Il(t.dataTransfer)),null!==t.data?r=t.data:o&&(r=o.getData("text/plain")),i.selection.isFake)s=Array.from(i.selection.getRanges());else if(e.length)s=e.map((t=>{const e=n.domConverter.domPositionToView(t.startContainer,t.startOffset),i=n.domConverter.domPositionToView(t.endContainer,t.endOffset);return e?n.createRange(e,i):i?n.createRange(i):void 0})).filter((t=>!!t));else if(Xn.isAndroid){const e=t.target.ownerDocument.defaultView.getSelection();s=Array.from(n.domConverter.domSelectionToView(e).getRanges())}if(Xn.isAndroid&&"insertCompositionText"==t.inputType&&r&&r.endsWith("\n"))this.fire(t.type,t,{inputType:"insertParagraph",targetRanges:[n.createRange(s[0].end)]});else if("insertText"==t.inputType&&r&&r.includes("\n")){const e=r.split(/\n{1,2}/g);let n=s;for(let r=0;r{if(this.isEnabled&&((n=e.keyCode)==Go.arrowright||n==Go.arrowleft||n==Go.arrowup||n==Go.arrowdown)){const n=new Xs(this.document,"arrowKey",this.document.selection.getFirstRange());this.document.fire(n,e),n.stop.called&&t.stop()}var n}))}observe(){}stopObserving(){}}class Vl extends Xa{constructor(t){super(t);const e=this.document;e.on("keydown",((t,n)=>{if(!this.isEnabled||n.keyCode!=Go.tab||n.ctrlKey)return;const i=new Xs(e,"tab",e.selection.getFirstRange());e.fire(i,n),i.stop.called&&t.stop()}))}observe(){}stopObserving(){}}const Ll=function(t){return Hn(t,5)};class zl extends(ji()){document;domConverter;domRoots=new Map;_renderer;_initialDomRootAttributes=new WeakMap;_observers=new Map;_writer;_ongoingChange=!1;_postFixersInProgress=!1;_renderingDisabled=!1;_hasChangedSinceTheLastRendering=!1;constructor(t){super(),this.document=new sa(t),this.domConverter=new Ya(this.document),this.set("isRenderingInProgress",!1),this.set("hasDomSelection",!1),this._renderer=new Oa(this.domConverter,this.document.selection),this._renderer.bind("isFocused","isSelecting","isComposing").to(this.document,"isFocused","isSelecting","isComposing"),this._writer=new ba(this.document),this.addObserver(El),this.addObserver(Dl),this.addObserver(Sl),this.addObserver(il),this.addObserver(ol),this.addObserver(Tl),this.addObserver(Rl),this.addObserver(Fl),this.addObserver(Vl),this.document.on("arrowKey",La,{priority:"low"}),ma(this),this.on("render",(()=>{this._render(),this.document.fire("layoutChanged"),this._hasChangedSinceTheLastRendering=!1})),this.listenTo(this.document.selection,"change",(()=>{this._hasChangedSinceTheLastRendering=!0})),this.listenTo(this.document,"change:isFocused",(()=>{this._hasChangedSinceTheLastRendering=!0})),Xn.isiOS&&this.listenTo(this.document,"blur",((t,e)=>{this.domConverter.mapDomToView(e.domEvent.relatedTarget)||this.domConverter._clearDomSelection()})),this.listenTo(this.document,"mutations",((t,{mutations:e})=>{e.forEach((t=>this._renderer.markToSync(t.type,t.node)))}),{priority:"low"}),this.listenTo(this.document,"mutations",(()=>{this.forceRender()}),{priority:"lowest"})}attachDomRoot(t,e="main"){const n=this.document.getRoot(e);n._name=t.tagName.toLowerCase();const i={};for(const{name:e,value:o}of Array.from(t.attributes))i[e]=o,"class"===e?this._writer.addClass(o.split(" "),n):n.hasAttribute(e)||this._writer.setAttribute(e,o,n);this._initialDomRootAttributes.set(t,i);const o=()=>{this._writer.setAttribute("contenteditable",(!n.isReadOnly).toString(),n),n.isReadOnly?this._writer.addClass("ck-read-only",n):this._writer.removeClass("ck-read-only",n)};o(),this.domRoots.set(e,t),this.domConverter.bindElements(t,n),this._renderer.markToSync("children",n),this._renderer.markToSync("attributes",n),this._renderer.domDocuments.add(t.ownerDocument),n.on("change:children",((t,e)=>this._renderer.markToSync("children",e))),n.on("change:attributes",((t,e)=>this._renderer.markToSync("attributes",e))),n.on("change:text",((t,e)=>this._renderer.markToSync("text",e))),n.on("change:isReadOnly",(()=>this.change(o))),n.on("change",(()=>{this._hasChangedSinceTheLastRendering=!0}));for(const n of this._observers.values())n.observe(t,e)}detachDomRoot(t){const e=this.domRoots.get(t);Array.from(e.attributes).forEach((({name:t})=>e.removeAttribute(t)));const n=this._initialDomRootAttributes.get(e);for(const t in n)e.setAttribute(t,n[t]);this.domRoots.delete(t),this.domConverter.unbindDomElement(e);for(const t of this._observers.values())t.stopObserving(e)}getDomRoot(t="main"){return this.domRoots.get(t)}addObserver(t){let e=this._observers.get(t);if(e)return e;e=new t(this),this._observers.set(t,e);for(const[t,n]of this.domRoots)e.observe(n,t);return e.enable(),e}getObserver(t){return this._observers.get(t)}disableObservers(){for(const t of this._observers.values())t.disable()}enableObservers(){for(const t of this._observers.values())t.enable()}scrollToTheSelection({alignToTop:t,forceScroll:e,viewportOffset:n=20,ancestorOffset:i=20}={}){const o=this.document.selection.getFirstRange();if(!o)return;const r=Ll({alignToTop:t,forceScroll:e,viewportOffset:n,ancestorOffset:i});"number"==typeof n&&(n={top:n,bottom:n,left:n,right:n});const s={target:this.domConverter.viewRangeToDom(o),viewportOffset:n,ancestorOffset:i,alignToTop:t,forceScroll:e};this.fire("scrollToTheSelection",s,r),Ro(s)}focus(){if(!this.document.isFocused){const t=this.document.selection.editableElement;t&&(this.domConverter.focus(t),this.forceRender())}}change(t){if(this.isRenderingInProgress||this._postFixersInProgress)throw new bi("cannot-change-view-tree",this);try{if(this._ongoingChange)return t(this._writer);this._ongoingChange=!0;const e=t(this._writer);return this._ongoingChange=!1,!this._renderingDisabled&&this._hasChangedSinceTheLastRendering&&(this._postFixersInProgress=!0,this.document._callPostFixers(this._writer),this._postFixersInProgress=!1,this.fire("render")),e}catch(t){bi.rethrowUnexpectedError(t,this)}}forceRender(){this._hasChangedSinceTheLastRendering=!0,this.getObserver(Dl).flush(),this.change((()=>{}))}destroy(){for(const t of this._observers.values())t.destroy();this.document.destroy(),this.stopListening()}createPositionAt(t,e){return Ks._createAt(t,e)}createPositionAfter(t){return Ks._createAfter(t)}createPositionBefore(t){return Ks._createBefore(t)}createRange(t,e){return new Ys(t,e)}createRangeOn(t){return Ys._createOn(t)}createRangeIn(t){return Ys._createIn(t)}createSelection(...t){return new Js(...t)}_disableRendering(t){this._renderingDisabled=t,0==t&&this.change((()=>{}))}_render(){this.isRenderingInProgress=!0,this.disableObservers(),this._renderer.render(),this.enableObservers(),this.isRenderingInProgress=!1}}class Ml{is(){throw new Error("is() method is abstract")}}class Ol extends Ml{parent=null;_attrs;constructor(t){super(),this._attrs=Sr(t)}get document(){return null}get index(){let t;if(!this.parent)return null;if(null===(t=this.parent.getChildIndex(this)))throw new bi("model-node-not-found-in-parent",this);return t}get startOffset(){let t;if(!this.parent)return null;if(null===(t=this.parent.getChildStartOffset(this)))throw new bi("model-node-not-found-in-parent",this);return t}get offsetSize(){return 1}get endOffset(){return this.parent?this.startOffset+this.offsetSize:null}get nextSibling(){const t=this.index;return null!==t&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return null!==t&&this.parent.getChild(t-1)||null}get root(){let t=this;for(;t.parent;)t=t.parent;return t}isAttached(){return null!==this.parent&&this.root.isAttached()}getPath(){const t=[];let e=this;for(;e.parent;)t.unshift(e.startOffset),e=e.parent;return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e),i=t.getAncestors(e);let o=0;for(;n[o]==i[o]&&n[o];)o++;return 0===o?null:n[o-1]}isBefore(t){if(this==t)return!1;if(this.root!==t.root)return!1;const e=this.getPath(),n=t.getPath(),i=Yi(e,n);switch(i){case"prefix":return!0;case"extension":return!1;default:return e[i](t[e[0]]=e[1],t)),{})),t}_clone(t){return new this.constructor(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(t,e){this._attrs.set(t,e)}_setAttributesTo(t){this._attrs=Sr(t)}_removeAttribute(t){return this._attrs.delete(t)}_clearAttributes(){this._attrs.clear()}}Ol.prototype.is=function(t){return"node"===t||"model:node"===t};class Nl{_nodes=[];constructor(t){t&&this._insertNodes(0,t)}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._nodes.reduce(((t,e)=>t+e.offsetSize),0)}getNode(t){return this._nodes[t]||null}getNodeIndex(t){const e=this._nodes.indexOf(t);return-1==e?null:e}getNodeStartOffset(t){const e=this.getNodeIndex(t);if(null===e)return null;let n=0;for(let t=0;t=e&&t1e4)return t.slice(0,n).concat(e).concat(t.slice(n+i,t.length));{const o=Array.from(t);return o.splice(n,i,...e),o}}(this._nodes,Array.from(e),t,0)}_removeNodes(t,e=1){return this._nodes.splice(t,e)}toJSON(){return this._nodes.map((t=>t.toJSON()))}}class Hl extends Ol{_data;constructor(t,e){super(e),this._data=t||""}get offsetSize(){return this.data.length}get data(){return this._data}toJSON(){const t=super.toJSON();return t.data=this.data,t}_clone(){return new Hl(this.data,this.getAttributes())}static fromJSON(t){return new Hl(t.data,t.attributes)}}Hl.prototype.is=function(t){return"$text"===t||"model:$text"===t||"text"===t||"model:text"===t||"node"===t||"model:node"===t};class jl extends Ml{textNode;data;offsetInText;constructor(t,e,n){if(super(),this.textNode=t,e<0||e>t.offsetSize)throw new bi("model-textproxy-wrong-offsetintext",this);if(n<0||e+n>t.offsetSize)throw new bi("model-textproxy-wrong-length",this);this.data=t.data.substring(e,e+n),this.offsetInText=e}get startOffset(){return null!==this.textNode.startOffset?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return null!==this.startOffset?this.startOffset+this.offsetSize:null}get isPartial(){return this.offsetSize!==this.textNode.offsetSize}get parent(){return this.textNode.parent}get root(){return this.textNode.root}getPath(){const t=this.textNode.getPath();return t.length>0&&(t[t.length-1]+=this.offsetInText),t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}hasAttribute(t){return this.textNode.hasAttribute(t)}getAttribute(t){return this.textNode.getAttribute(t)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}jl.prototype.is=function(t){return"$textProxy"===t||"model:$textProxy"===t||"textProxy"===t||"model:textProxy"===t};class ql extends Ol{name;_children=new Nl;constructor(t,e,n){super(e),this.name=t,n&&this._insertChild(0,n)}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}offsetToIndex(t){return this._children.offsetToIndex(t)}getNodeByPath(t){let e=this;for(const n of t)e=e.getChild(e.offsetToIndex(n));return e}findAncestor(t,e={}){let n=e.includeSelf?this:this.parent;for(;n;){if(n.name===t)return n;n=n.parent}return null}toJSON(){const t=super.toJSON();if(t.name=this.name,this._children.length>0){t.children=[];for(const e of this._children)t.children.push(e.toJSON())}return t}_clone(t=!1){const e=t?Array.from(this._children).map((t=>t._clone(!0))):void 0;return new ql(this.name,this.getAttributes(),e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=function(t){if("string"==typeof t)return[new Hl(t)];Zi(t)||(t=[t]);return Array.from(t).map((t=>"string"==typeof t?new Hl(t):t instanceof jl?new Hl(t.data,t.getAttributes()):t))}(e);for(const t of n)null!==t.parent&&t._remove(),t.parent=this;this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n)t.parent=null;return n}static fromJSON(t){let e;if(t.children){e=[];for(const n of t.children)n.name?e.push(ql.fromJSON(n)):e.push(Hl.fromJSON(n))}return new ql(t.name,t.attributes,e)}}ql.prototype.is=function(t,e){return e?e===this.name&&("element"===t||"model:element"===t):"element"===t||"model:element"===t||"node"===t||"model:node"===t};class Wl{direction;boundaries;singleCharacters;shallow;ignoreElementEnd;_position;_boundaryStartParent;_boundaryEndParent;_visitedParent;constructor(t){if(!t||!t.boundaries&&!t.startPosition)throw new bi("model-tree-walker-no-start-position",null);const e=t.direction||"forward";if("forward"!=e&&"backward"!=e)throw new bi("model-tree-walker-unknown-direction",t,{direction:e});this.direction=e,this.boundaries=t.boundaries||null,t.startPosition?this._position=t.startPosition.clone():this._position=$l._createAt(this.boundaries["backward"==this.direction?"end":"start"]),this.position.stickiness="toNone",this.singleCharacters=!!t.singleCharacters,this.shallow=!!t.shallow,this.ignoreElementEnd=!!t.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null,this._visitedParent=this.position.parent}[Symbol.iterator](){return this}get position(){return this._position}skip(t){let e,n,i,o;do{i=this.position,o=this._visitedParent,({done:e,value:n}=this.next())}while(!e&&t(n));e||(this._position=i,this._visitedParent=o)}next(){return"forward"==this.direction?this._next():this._previous()}_next(){const t=this.position,e=this.position.clone(),n=this._visitedParent;if(null===n.parent&&e.offset===n.maxOffset)return{done:!0,value:void 0};if(n===this._boundaryEndParent&&e.offset==this.boundaries.end.offset)return{done:!0,value:void 0};const i=Gl(e,n),o=i||Kl(e,n,i);if(o instanceof ql){if(this.shallow){if(this.boundaries&&this.boundaries.end.isBefore(e))return{done:!0,value:void 0};e.offset++}else e.path.push(0),this._visitedParent=o;return this._position=e,Ul("elementStart",o,t,e,1)}if(o instanceof Hl){let i;if(this.singleCharacters)i=1;else{let t=o.endOffset;this._boundaryEndParent==n&&this.boundaries.end.offsett&&(t=this.boundaries.start.offset),i=e.offset-t}const o=e.offset-r.startOffset,s=new jl(r,o-i,i);return e.offset-=i,this._position=e,Ul("text",s,t,e,i)}return e.path.pop(),this._position=e,this._visitedParent=n.parent,Ul("elementStart",n,t,e,1)}}function Ul(t,e,n,i,o){return{done:!1,value:{type:t,item:e,previousPosition:n,nextPosition:i,length:o}}}class $l extends Ml{root;path;stickiness;constructor(t,e,n="toNone"){if(super(),!t.is("element")&&!t.is("documentFragment"))throw new bi("model-position-root-invalid",t);if(!(e instanceof Array)||0===e.length)throw new bi("model-position-path-incorrect-format",t,{path:e});t.is("rootElement")?e=e.slice():(e=[...t.getPath(),...e],t=t.root),this.root=t,this.path=e,this.stickiness=n}get offset(){return this.path[this.path.length-1]}set offset(t){this.path[this.path.length-1]=t}get parent(){let t=this.root;for(let e=0;e1)return!1;if(1===e)return Zl(t,this,n);if(-1===e)return Zl(this,t,n)}return this.path.length===t.path.length||(this.path.length>t.path.length?Jl(this.path,e):Jl(t.path,e))}hasSameParentAs(t){if(this.root!==t.root)return!1;return"same"==Yi(this.getParentPath(),t.getParentPath())}getTransformedByOperation(t){let e;switch(t.type){case"insert":e=this._getTransformedByInsertOperation(t);break;case"move":case"remove":case"reinsert":e=this._getTransformedByMoveOperation(t);break;case"split":e=this._getTransformedBySplitOperation(t);break;case"merge":e=this._getTransformedByMergeOperation(t);break;default:e=$l._createAt(this)}return e}_getTransformedByInsertOperation(t){return this._getTransformedByInsertion(t.position,t.howMany)}_getTransformedByMoveOperation(t){return this._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany)}_getTransformedBySplitOperation(t){const e=t.movedRange;return e.containsPosition(this)||e.start.isEqual(this)&&"toNext"==this.stickiness?this._getCombined(t.splitPosition,t.moveTargetPosition):t.graveyardPosition?this._getTransformedByMove(t.graveyardPosition,t.insertionPosition,1):this._getTransformedByInsertion(t.insertionPosition,1)}_getTransformedByMergeOperation(t){const e=t.movedRange;let n;return e.containsPosition(this)||e.start.isEqual(this)?(n=this._getCombined(t.sourcePosition,t.targetPosition),t.sourcePosition.isBefore(t.targetPosition)&&(n=n._getTransformedByDeletion(t.deletionPosition,1))):n=this.isEqual(t.deletionPosition)?$l._createAt(t.deletionPosition):this._getTransformedByMove(t.deletionPosition,t.graveyardPosition,1),n}_getTransformedByDeletion(t,e){const n=$l._createAt(this);if(this.root!=t.root)return n;if("same"==Yi(t.getParentPath(),this.getParentPath())){if(t.offsetthis.offset)return null;n.offset-=e}}else if("prefix"==Yi(t.getParentPath(),this.getParentPath())){const i=t.path.length-1;if(t.offset<=this.path[i]){if(t.offset+e>this.path[i])return null;n.path[i]-=e}}return n}_getTransformedByInsertion(t,e){const n=$l._createAt(this);if(this.root!=t.root)return n;if("same"==Yi(t.getParentPath(),this.getParentPath()))(t.offset=e;){if(t.path[i]+o!==n.maxOffset)return!1;o=1,i--,n=n.parent}return!0}(t,n+1))}function Jl(t,e){for(;ee+1;){const e=i.maxOffset-n.offset;0!==e&&t.push(new Ql(n,n.getShiftedBy(e))),n.path=n.path.slice(0,-1),n.offset++,i=i.parent}for(;n.path.length<=this.end.path.length;){const e=this.end.path[n.path.length-1],i=e-n.offset;0!==i&&t.push(new Ql(n,n.getShiftedBy(i))),n.offset=e,n.path.push(0)}return t}getWalker(t={}){return t.boundaries=this,new Wl(t)}*getItems(t={}){t.boundaries=this,t.ignoreElementEnd=!0;const e=new Wl(t);for(const t of e)yield t.item}*getPositions(t={}){t.boundaries=this;const e=new Wl(t);yield e.position;for(const t of e)yield t.nextPosition}getTransformedByOperation(t){switch(t.type){case"insert":return this._getTransformedByInsertOperation(t);case"move":case"remove":case"reinsert":return this._getTransformedByMoveOperation(t);case"split":return[this._getTransformedBySplitOperation(t)];case"merge":return[this._getTransformedByMergeOperation(t)]}return[new Ql(this.start,this.end)]}getTransformedByOperations(t){const e=[new Ql(this.start,this.end)];for(const n of t)for(let t=0;t0?new this(n,i):new this(i,n)}static _createIn(t){return new this($l._createAt(t,0),$l._createAt(t,t.maxOffset))}static _createOn(t){return this._createFromPositionAndShift($l._createBefore(t),t.offsetSize)}static _createFromRanges(t){if(0===t.length)throw new bi("range-create-from-ranges-empty-array",null);if(1==t.length)return t[0].clone();const e=t[0];t.sort(((t,e)=>t.start.isAfter(e.start)?1:-1));const n=t.indexOf(e),i=new this(e.start,e.end);for(let e=n-1;e>=0&&t[e].end.isEqual(i.start);e--)i.start=$l._createAt(t[e].start);for(let e=n+1;e{if(e.viewPosition)return;const n=this._modelToViewMapping.get(e.modelPosition.parent);if(!n)throw new bi("mapping-model-position-view-parent-not-found",this,{modelPosition:e.modelPosition});e.viewPosition=this.findPositionIn(n,e.modelPosition.offset)}),{priority:"low"}),this.on("viewToModelPosition",((t,e)=>{if(e.modelPosition)return;const n=this.findMappedViewAncestor(e.viewPosition),i=this._viewToModelMapping.get(n),o=this._toModelOffset(e.viewPosition.parent,e.viewPosition.offset,n);e.modelPosition=$l._createAt(i,o)}),{priority:"low"})}bindElements(t,e){this._modelToViewMapping.set(t,e),this._viewToModelMapping.set(e,t)}unbindViewElement(t,e={}){const n=this.toModelElement(t);if(this._elementToMarkerNames.has(t))for(const e of this._elementToMarkerNames.get(t))this._unboundMarkerNames.add(e);e.defer?this._deferredBindingRemovals.set(t,t.root):(this._viewToModelMapping.delete(t),this._modelToViewMapping.get(n)==t&&this._modelToViewMapping.delete(n))}unbindModelElement(t){const e=this.toViewElement(t);this._modelToViewMapping.delete(t),this._viewToModelMapping.get(e)==t&&this._viewToModelMapping.delete(e)}bindElementToMarker(t,e){const n=this._markerNameToElements.get(e)||new Set;n.add(t);const i=this._elementToMarkerNames.get(t)||new Set;i.add(e),this._markerNameToElements.set(e,n),this._elementToMarkerNames.set(t,i)}unbindElementFromMarkerName(t,e){const n=this._markerNameToElements.get(e);n&&(n.delete(t),0==n.size&&this._markerNameToElements.delete(e));const i=this._elementToMarkerNames.get(t);i&&(i.delete(e),0==i.size&&this._elementToMarkerNames.delete(t))}flushUnboundMarkerNames(){const t=Array.from(this._unboundMarkerNames);return this._unboundMarkerNames.clear(),t}flushDeferredBindings(){for(const[t,e]of this._deferredBindingRemovals)t.root==e&&this.unbindViewElement(t);this._deferredBindingRemovals=new Map}clearBindings(){this._modelToViewMapping=new WeakMap,this._viewToModelMapping=new WeakMap,this._markerNameToElements=new Map,this._elementToMarkerNames=new Map,this._unboundMarkerNames=new Set,this._deferredBindingRemovals=new Map}toModelElement(t){return this._viewToModelMapping.get(t)}toViewElement(t){return this._modelToViewMapping.get(t)}toModelRange(t){return new Ql(this.toModelPosition(t.start),this.toModelPosition(t.end))}toViewRange(t){return new Ys(this.toViewPosition(t.start),this.toViewPosition(t.end))}toModelPosition(t){const e={viewPosition:t,mapper:this};return this.fire("viewToModelPosition",e),e.modelPosition}toViewPosition(t,e={}){const n={modelPosition:t,mapper:this,isPhantom:e.isPhantom};return this.fire("modelToViewPosition",n),n.viewPosition}markerNameToElements(t){const e=this._markerNameToElements.get(t);if(!e)return null;const n=new Set;for(const t of e)if(t.is("attributeElement"))for(const e of t.getElementsWithSameId())n.add(e);else n.add(t);return n}registerViewToModelLength(t,e){this._viewToModelLengthCallbacks.set(t,e)}findMappedViewAncestor(t){let e=t.parent;for(;!this._viewToModelMapping.has(e);)e=e.parent;return e}_toModelOffset(t,e,n){if(n!=t){return this._toModelOffset(t.parent,t.index,n)+this._toModelOffset(t,e,t)}if(t.is("$text"))return e;let i=0;for(let n=0;n1?e[0]+":"+e[1]:e[0]}class nc extends(Di()){_conversionApi;_firedEventsMap;constructor(t){super(),this._conversionApi={dispatcher:this,...t},this._firedEventsMap=new WeakMap}convertChanges(t,e,n){const i=this._createConversionApi(n,t.getRefreshedItems());for(const e of t.getMarkersToRemove())this._convertMarkerRemove(e.name,e.range,i);const o=this._reduceChanges(t.getChanges());for(const t of o)"insert"===t.type?this._convertInsert(Ql._createFromPositionAndShift(t.position,t.length),i):"reinsert"===t.type?this._convertReinsert(Ql._createFromPositionAndShift(t.position,t.length),i):"remove"===t.type?this._convertRemove(t.position,t.length,t.name,i):this._convertAttribute(t.range,t.attributeKey,t.attributeOldValue,t.attributeNewValue,i);i.mapper.flushDeferredBindings();for(const t of i.mapper.flushUnboundMarkerNames()){const n=e.get(t).getRange();this._convertMarkerRemove(t,n,i),this._convertMarkerAdd(t,n,i)}for(const e of t.getMarkersToAdd())this._convertMarkerAdd(e.name,e.range,i);i.consumable.verifyAllConsumed("insert")}convert(t,e,n,i={}){const o=this._createConversionApi(n,void 0,i);this._convertInsert(t,o);for(const[t,n]of e)this._convertMarkerAdd(t,n,o);o.consumable.verifyAllConsumed("insert")}convertSelection(t,e,n){const i=this._createConversionApi(n);this.fire("cleanSelection",{selection:t},i);const o=t.getFirstPosition().root;if(!i.mapper.toViewElement(o))return;const r=Array.from(e.getMarkersAtPosition(t.getFirstPosition()));if(this._addConsumablesForSelection(i.consumable,t,r),this.fire("selection",{selection:t},i),t.isCollapsed){for(const e of r)if(i.consumable.test(t,"addMarker:"+e.name)){const n=e.getRange();if(!ic(t.getFirstPosition(),e,i.mapper))continue;const o={item:t,markerName:e.name,markerRange:n};this.fire(`addMarker:${e.name}`,o,i)}for(const e of t.getAttributeKeys())if(i.consumable.test(t,"attribute:"+e)){const n={item:t,range:t.getFirstRange(),attributeKey:e,attributeOldValue:null,attributeNewValue:t.getAttribute(e)};this.fire(`attribute:${e}:$text`,n,i)}}}_convertInsert(t,e,n={}){n.doNotAddConsumables||this._addConsumablesForInsert(e.consumable,t);for(const n of Array.from(t.getWalker({shallow:!0})).map(oc))this._testAndFire("insert",n,e)}_convertRemove(t,e,n,i){this.fire(`remove:${n}`,{position:t,length:e},i)}_convertAttribute(t,e,n,i,o){this._addConsumablesForRange(o.consumable,t,`attribute:${e}`);for(const r of t){const t={item:r.item,range:Ql._createFromPositionAndShift(r.previousPosition,r.length),attributeKey:e,attributeOldValue:n,attributeNewValue:i};this._testAndFire(`attribute:${e}`,t,o)}}_convertReinsert(t,e){const n=Array.from(t.getWalker({shallow:!0}));this._addConsumablesForInsert(e.consumable,n);for(const t of n.map(oc))this._testAndFire("insert",{...t,reconversion:!0},e)}_convertMarkerAdd(t,e,n){if("$graveyard"==e.root.rootName)return;const i=`addMarker:${t}`;if(n.consumable.add(e,i),this.fire(i,{markerName:t,markerRange:e},n),n.consumable.consume(e,i)){this._addConsumablesForRange(n.consumable,e,i);for(const o of e.getItems()){if(!n.consumable.test(o,i))continue;const r={item:o,range:Ql._createOn(o),markerName:t,markerRange:e};this.fire(i,r,n)}}}_convertMarkerRemove(t,e,n){"$graveyard"!=e.root.rootName&&this.fire(`removeMarker:${t}`,{markerName:t,markerRange:e},n)}_reduceChanges(t){const e={changes:t};return this.fire("reduceChanges",e),e.changes}_addConsumablesForInsert(t,e){for(const n of e){const e=n.item;if(null===t.test(e,"insert")){t.add(e,"insert");for(const n of e.getAttributeKeys())t.add(e,"attribute:"+n)}}return t}_addConsumablesForRange(t,e,n){for(const i of e.getItems())t.add(i,n);return t}_addConsumablesForSelection(t,e,n){t.add(e,"selection");for(const i of n)t.add(e,"addMarker:"+i.name);for(const n of e.getAttributeKeys())t.add(e,"attribute:"+n);return t}_testAndFire(t,e,n){const i=function(t,e){const n=e.item.is("element")?e.item.name:"$text";return`${t}:${n}`}(t,e),o=e.item.is("$textProxy")?n.consumable._getSymbolForTextProxy(e.item):e.item,r=this._firedEventsMap.get(n),s=r.get(o);if(s){if(s.has(i))return;s.add(i)}else r.set(o,new Set([i]));this.fire(i,e,n)}_testAndFireAddAttributes(t,e){const n={item:t,range:Ql._createOn(t)};for(const t of n.item.getAttributeKeys())n.attributeKey=t,n.attributeOldValue=null,n.attributeNewValue=n.item.getAttribute(t),this._testAndFire(`attribute:${t}`,n,e)}_createConversionApi(t,e=new Set,n={}){const i={...this._conversionApi,consumable:new tc,writer:t,options:n,convertItem:t=>this._convertInsert(Ql._createOn(t),i),convertChildren:t=>this._convertInsert(Ql._createIn(t),i,{doNotAddConsumables:!0}),convertAttributes:t=>this._testAndFireAddAttributes(t,i),canReuseView:t=>!e.has(i.mapper.toModelElement(t))};return this._firedEventsMap.set(i,new Map),i}}function ic(t,e,n){const i=e.getRange(),o=Array.from(t.getAncestors());o.shift(),o.reverse();return!o.some((t=>{if(i.containsItem(t)){return!!n.toViewElement(t).getCustomProperty("addHighlight")}}))}function oc(t){return{item:t.item,range:Ql._createFromPositionAndShift(t.previousPosition,t.length)}}class rc extends(Di(Ml)){_lastRangeBackward=!1;_attrs=new Map;_ranges=[];constructor(...t){super(),t.length&&this.setTo(...t)}get anchor(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.end:t.start}return null}get focus(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.start:t.end}return null}get isCollapsed(){return 1===this._ranges.length&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(t){if(this.rangeCount!=t.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus))return!1;for(const e of this._ranges){let n=!1;for(const i of t._ranges)if(e.isEqual(i)){n=!0;break}if(!n)return!1}return!0}*getRanges(){for(const t of this._ranges)yield new Ql(t.start,t.end)}getFirstRange(){let t=null;for(const e of this._ranges)t&&!e.start.isBefore(t.start)||(t=e);return t?new Ql(t.start,t.end):null}getLastRange(){let t=null;for(const e of this._ranges)t&&!e.end.isAfter(t.end)||(t=e);return t?new Ql(t.start,t.end):null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}setTo(...t){let[e,n,i]=t;if("object"==typeof n&&(i=n,n=void 0),null===e)this._setRanges([]);else if(e instanceof rc)this._setRanges(e.getRanges(),e.isBackward);else if(e&&"function"==typeof e.getRanges)this._setRanges(e.getRanges(),e.isBackward);else if(e instanceof Ql)this._setRanges([e],!!i&&!!i.backward);else if(e instanceof $l)this._setRanges([new Ql(e)]);else if(e instanceof Ol){const t=!!i&&!!i.backward;let o;if("in"==n)o=Ql._createIn(e);else if("on"==n)o=Ql._createOn(e);else{if(void 0===n)throw new bi("model-selection-setto-required-second-parameter",[this,e]);o=new Ql($l._createAt(e,n))}this._setRanges([o],t)}else{if(!Zi(e))throw new bi("model-selection-setto-not-selectable",[this,e]);this._setRanges(e,i&&!!i.backward)}}_setRanges(t,e=!1){const n=Array.from(t),i=n.some((e=>{if(!(e instanceof Ql))throw new bi("model-selection-set-ranges-not-range",[this,t]);return this._ranges.every((t=>!t.isEqual(e)))}));(n.length!==this._ranges.length||i)&&(this._replaceAllRanges(n),this._lastRangeBackward=!!e,this.fire("change:range",{directChange:!0}))}setFocus(t,e){if(null===this.anchor)throw new bi("model-selection-setfocus-no-ranges",[this,t]);const n=$l._createAt(t,e);if("same"==n.compareWith(this.focus))return;const i=this.anchor;this._ranges.length&&this._popRange(),"before"==n.compareWith(i)?(this._pushRange(new Ql(n,i)),this._lastRangeBackward=!0):(this._pushRange(new Ql(i,n)),this._lastRangeBackward=!1),this.fire("change:range",{directChange:!0})}getAttribute(t){return this._attrs.get(t)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(t){return this._attrs.has(t)}removeAttribute(t){this.hasAttribute(t)&&(this._attrs.delete(t),this.fire("change:attribute",{attributeKeys:[t],directChange:!0}))}setAttribute(t,e){this.getAttribute(t)!==e&&(this._attrs.set(t,e),this.fire("change:attribute",{attributeKeys:[t],directChange:!0}))}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}*getSelectedBlocks(){const t=new WeakSet;for(const e of this.getRanges()){const n=lc(e.start,t);dc(n,e)&&(yield n);for(const n of e.getWalker()){const i=n.item;"elementEnd"==n.type&&ac(i,t,e)&&(yield i)}const i=lc(e.end,t);hc(i,e)&&(yield i)}}containsEntireContent(t=this.anchor.root){const e=$l._createAt(t,0),n=$l._createAt(t,"end");return e.isTouching(this.getFirstPosition())&&n.isTouching(this.getLastPosition())}_pushRange(t){this._checkRange(t),this._ranges.push(new Ql(t.start,t.end))}_checkRange(t){for(let e=0;e0;)this._popRange()}_popRange(){this._ranges.pop()}}function sc(t,e){return!e.has(t)&&(e.add(t),t.root.document.model.schema.isBlock(t)&&!!t.parent)}function ac(t,e,n){return sc(t,e)&&cc(t,n)}function lc(t,e){const n=t.parent.root.document.model.schema,i=t.parent.getAncestors({parentFirst:!0,includeSelf:!0});let o=!1;const r=i.find((t=>!o&&(o=n.isLimit(t),!o&&sc(t,e))));return i.forEach((t=>e.add(t))),r}function cc(t,e){const n=function(t){const e=t.root.document.model.schema;let n=t.parent;for(;n;){if(e.isBlock(n))return n;n=n.parent}}(t);if(!n)return!0;return!e.containsRange(Ql._createOn(n),!0)}function dc(t,e){return!!t&&(!(!e.isCollapsed&&!t.isEmpty)||!e.start.isTouching($l._createAt(t,t.maxOffset))&&cc(t,e))}function hc(t,e){return!!t&&(!(!e.isCollapsed&&!t.isEmpty)||!e.end.isTouching($l._createAt(t,0))&&cc(t,e))}rc.prototype.is=function(t){return"selection"===t||"model:selection"===t};class uc extends(Di(Ql)){constructor(t,e){super(t,e),mc.call(this)}detach(){this.stopListening()}toRange(){return new Ql(this.start,this.end)}static fromRange(t){return new uc(t.start,t.end)}}function mc(){this.listenTo(this.root.document.model,"applyOperation",((t,e)=>{const n=e[0];n.isDocumentOperation&&gc.call(this,n)}),{priority:"low"})}function gc(t){const e=this.getTransformedByOperation(t),n=Ql._createFromRanges(e),i=!n.isEqual(this),o=function(t,e){switch(e.type){case"insert":return t.containsPosition(e.position);case"move":case"remove":case"reinsert":case"merge":return t.containsPosition(e.sourcePosition)||t.start.isEqual(e.sourcePosition)||t.containsPosition(e.targetPosition);case"split":return t.containsPosition(e.splitPosition)||t.containsPosition(e.insertionPosition)}return!1}(this,t);let r=null;if(i){"$graveyard"==n.root.rootName&&(r="remove"==t.type?t.sourcePosition:t.deletionPosition);const e=this.toRange();this.start=n.start,this.end=n.end,this.fire("change:range",e,{deletionPosition:r})}else o&&this.fire("change:content",this.toRange(),{deletionPosition:r})}uc.prototype.is=function(t){return"liveRange"===t||"model:liveRange"===t||"range"==t||"model:range"===t};const pc="selection:";class fc extends(Di(Ml)){_selection;constructor(t){super(),this._selection=new kc(t),this._selection.delegate("change:range").to(this),this._selection.delegate("change:attribute").to(this),this._selection.delegate("change:marker").to(this)}get isCollapsed(){return this._selection.isCollapsed}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get rangeCount(){return this._selection.rangeCount}get hasOwnRange(){return this._selection.hasOwnRange}get isBackward(){return this._selection.isBackward}get isGravityOverridden(){return this._selection.isGravityOverridden}get markers(){return this._selection.markers}get _ranges(){return this._selection._ranges}getRanges(){return this._selection.getRanges()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getSelectedBlocks(){return this._selection.getSelectedBlocks()}getSelectedElement(){return this._selection.getSelectedElement()}containsEntireContent(t){return this._selection.containsEntireContent(t)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(t){return this._selection.getAttribute(t)}hasAttribute(t){return this._selection.hasAttribute(t)}refresh(){this._selection.updateMarkers(),this._selection._updateAttributes(!1)}observeMarkers(t){this._selection.observeMarkers(t)}_setFocus(t,e){this._selection.setFocus(t,e)}_setTo(...t){this._selection.setTo(...t)}_setAttribute(t,e){this._selection.setAttribute(t,e)}_removeAttribute(t){this._selection.removeAttribute(t)}_getStoredAttributes(){return this._selection.getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(t){this._selection.restoreGravity(t)}static _getStoreAttributeKey(t){return pc+t}static _isStoreAttributeKey(t){return t.startsWith(pc)}}fc.prototype.is=function(t){return"selection"===t||"model:selection"==t||"documentSelection"==t||"model:documentSelection"==t};class kc extends rc{markers=new xr({idProperty:"name"});_model;_document;_attributePriority=new Map;_selectionRestorePosition=null;_hasChangedRange=!1;_overriddenGravityRegister=new Set;_observedMarkers=new Set;constructor(t){super(),this._model=t.model,this._document=t,this.listenTo(this._model,"applyOperation",((t,e)=>{const n=e[0];n.isDocumentOperation&&"marker"!=n.type&&"rename"!=n.type&&"noop"!=n.type&&(0==this._ranges.length&&this._selectionRestorePosition&&this._fixGraveyardSelection(this._selectionRestorePosition),this._selectionRestorePosition=null,this._hasChangedRange&&(this._hasChangedRange=!1,this.fire("change:range",{directChange:!1})))}),{priority:"lowest"}),this.on("change:range",(()=>{this._validateSelectionRanges(this.getRanges())})),this.listenTo(this._model.markers,"update",((t,e,n,i)=>{this._updateMarker(e,i)})),this.listenTo(this._document,"change",((t,e)=>{!function(t,e){const n=t.document.differ;for(const i of n.getChanges()){if("insert"!=i.type)continue;const n=i.position.parent;i.length===n.maxOffset&&t.enqueueChange(e,(t=>{const e=Array.from(n.getAttributeKeys()).filter((t=>t.startsWith(pc)));for(const i of e)t.removeAttribute(i,n)}))}}(this._model,e)}))}get isCollapsed(){return 0===this._ranges.length?this._document._getDefaultRange().isCollapsed:super.isCollapsed}get anchor(){return super.anchor||this._document._getDefaultRange().start}get focus(){return super.focus||this._document._getDefaultRange().end}get rangeCount(){return this._ranges.length?this._ranges.length:1}get hasOwnRange(){return this._ranges.length>0}get isGravityOverridden(){return!!this._overriddenGravityRegister.size}destroy(){for(let t=0;t{if(this._hasChangedRange=!0,e.root==this._document.graveyard){this._selectionRestorePosition=i.deletionPosition;const t=this._ranges.indexOf(e);this._ranges.splice(t,1),e.detach()}})),e}updateMarkers(){if(!this._observedMarkers.size)return;const t=[];let e=!1;for(const e of this._model.markers){const n=e.name.split(":",1)[0];if(!this._observedMarkers.has(n))continue;const i=e.getRange();for(const n of this.getRanges())i.containsRange(n,!n.isCollapsed)&&t.push(e)}const n=Array.from(this.markers);for(const n of t)this.markers.has(n)||(this.markers.add(n),e=!0);for(const n of Array.from(this.markers))t.includes(n)||(this.markers.remove(n),e=!0);e&&this.fire("change:marker",{oldMarkers:n,directChange:!1})}_updateMarker(t,e){const n=t.name.split(":",1)[0];if(!this._observedMarkers.has(n))return;let i=!1;const o=Array.from(this.markers),r=this.markers.has(t);if(e){let n=!1;for(const t of this.getRanges())if(e.containsRange(t,!t.isCollapsed)){n=!0;break}n&&!r?(this.markers.add(t),i=!0):!n&&r&&(this.markers.remove(t),i=!0)}else r&&(this.markers.remove(t),i=!0);i&&this.fire("change:marker",{oldMarkers:o,directChange:!1})}_updateAttributes(t){const e=Sr(this._getSurroundingAttributes()),n=Sr(this.getAttributes());if(t)this._attributePriority=new Map,this._attrs=new Map;else for(const[t,e]of this._attributePriority)"low"==e&&(this._attrs.delete(t),this._attributePriority.delete(t));this._setAttributesTo(e);const i=[];for(const[t,e]of this.getAttributes())n.has(t)&&n.get(t)===e||i.push(t);for(const[t]of n)this.hasAttribute(t)||i.push(t);i.length>0&&this.fire("change:attribute",{attributeKeys:i,directChange:!1})}_setAttribute(t,e,n=!0){const i=n?"normal":"low";if("low"==i&&"normal"==this._attributePriority.get(t))return!1;return super.getAttribute(t)!==e&&(this._attrs.set(t,e),this._attributePriority.set(t,i),!0)}_removeAttribute(t,e=!0){const n=e?"normal":"low";return("low"!=n||"normal"!=this._attributePriority.get(t))&&(this._attributePriority.set(t,n),!!super.hasAttribute(t)&&(this._attrs.delete(t),!0))}_setAttributesTo(t){const e=new Set;for(const[e,n]of this.getAttributes())t.get(e)!==n&&this._removeAttribute(e,!1);for(const[n,i]of t){this._setAttribute(n,i,!1)&&e.add(n)}return e}*getStoredAttributes(){const t=this.getFirstPosition().parent;if(this.isCollapsed&&t.isEmpty)for(const e of t.getAttributeKeys())if(e.startsWith(pc)){const n=e.substr(10);yield[n,t.getAttribute(e)]}}_getSurroundingAttributes(){const t=this.getFirstPosition(),e=this._model.schema;if("$graveyard"==t.root.rootName)return null;let n=null;if(this.isCollapsed){const i=t.textNode?t.textNode:t.nodeBefore,o=t.textNode?t.textNode:t.nodeAfter;if(this.isGravityOverridden||(n=bc(i,e)),n||(n=bc(o,e)),!this.isGravityOverridden&&!n){let t=i;for(;t&&!n;)t=t.previousSibling,n=bc(t,e)}if(!n){let t=o;for(;t&&!n;)t=t.nextSibling,n=bc(t,e)}n||(n=this.getStoredAttributes())}else{const t=this.getFirstRange();for(const i of t){if(i.item.is("element")&&e.isObject(i.item)){n=bc(i.item,e);break}if("text"==i.type){n=i.item.getAttributes();break}}}return n}_fixGraveyardSelection(t){const e=this._model.schema.getNearestSelectionRange(t);e&&this._pushRange(e)}}function bc(t,e){if(!t)return null;if(t instanceof jl||t instanceof Hl)return t.getAttributes();if(!e.isInline(t))return null;if(!e.isObject(t))return[];const n=[];for(const[i,o]of t.getAttributes())e.checkAttribute("$text",i)&&!1!==e.getAttributeProperties(i).copyFromObject&&n.push([i,o]);return n}class wc{_dispatchers;constructor(t){this._dispatchers=t}add(t){for(const e of this._dispatchers)t(e);return this}}class Ac extends wc{elementToElement(t){return this.add(function(t){const e=Ec(t.model),n=Bc(t.view,"container");e.attributes.length&&(e.children=!0);return i=>{i.on(`insert:${e.name}`,vc(n,Pc(e)),{priority:t.converterPriority||"normal"}),(e.children||e.attributes.length)&&i.on("reduceChanges",Ic(e),{priority:"low"})}}(t))}elementToStructure(t){return this.add(function(t){const e=Ec(t.model),n=Bc(t.view,"container");return e.children=!0,i=>{if(i._conversionApi.schema.checkChild(e.name,"$text"))throw new bi("conversion-element-to-structure-disallowed-text",i,{elementName:e.name});var o,r;i.on(`insert:${e.name}`,(o=n,r=Pc(e),(t,e,n)=>{if(!r(e.item,n.consumable,{preflight:!0}))return;const i=new Map;n.writer._registerSlotFactory(function(t,e,n){return(i,o)=>{const r=i.createContainerElement("$slot");let s=null;if("children"===o)s=Array.from(t.getChildren());else{if("function"!=typeof o)throw new bi("conversion-slot-mode-unknown",n.dispatcher,{modeOrFilter:o});s=Array.from(t.getChildren()).filter((t=>o(t)))}return e.set(r,s),r}}(e.item,i,n));const s=o(e.item,n,e);if(n.writer._clearSlotFactory(),!s)return;!function(t,e,n){const i=Array.from(e.values()).flat(),o=new Set(i);if(o.size!=i.length)throw new bi("conversion-slot-filter-overlap",n.dispatcher,{element:t});if(o.size!=t.childCount)throw new bi("conversion-slot-filter-incomplete",n.dispatcher,{element:t})}(e.item,i,n),r(e.item,n.consumable);const a=n.mapper.toViewPosition(e.range.start);n.mapper.bindElements(e.item,s),n.writer.insert(a,s),n.convertAttributes(e.item),function(t,e,n,i){n.mapper.on("modelToViewPosition",s,{priority:"highest"});let o=null,r=null;for([o,r]of e)Fc(t,r,n,i),n.writer.move(n.writer.createRangeIn(o),n.writer.createPositionBefore(o)),n.writer.remove(o);function s(t,e){const n=e.modelPosition.nodeAfter,i=r.indexOf(n);i<0||(e.viewPosition=e.mapper.findPositionIn(o,i))}n.mapper.off("modelToViewPosition",s)}(s,i,n,{reconversion:e.reconversion})}),{priority:t.converterPriority||"normal"}),i.on("reduceChanges",Ic(e),{priority:"low"})}}(t))}attributeToElement(t){return this.add(function(t){t=Ll(t);let e=t.model;"string"==typeof e&&(e={key:e});let n=`attribute:${e.key}`;e.name&&(n+=":"+e.name);if(e.values)for(const n of e.values)t.view[n]=Bc(t.view[n],"attribute");else t.view=Bc(t.view,"attribute");const i=Dc(t);return e=>{e.on(n,Cc(i),{priority:t.converterPriority||"normal"})}}(t))}attributeToAttribute(t){return this.add(function(t){t=Ll(t);let e=t.model;"string"==typeof e&&(e={key:e});let n=`attribute:${e.key}`;e.name&&(n+=":"+e.name);if(e.values)for(const n of e.values)t.view[n]=Sc(t.view[n]);else t.view=Sc(t.view);const i=Dc(t);return e=>{var o;e.on(n,(o=i,(t,e,n)=>{if(!n.consumable.test(e.item,t.name))return;const i=o(e.attributeOldValue,n,e),r=o(e.attributeNewValue,n,e);if(!i&&!r)return;n.consumable.consume(e.item,t.name);const s=n.mapper.toViewElement(e.item),a=n.writer;if(!s)throw new bi("conversion-attribute-to-attribute-on-text",n.dispatcher,e);if(null!==e.attributeOldValue&&i)if("class"==i.key){const t="string"==typeof i.value?i.value.split(/\s+/):i.value;for(const e of t)a.removeClass(e,s)}else if("style"==i.key)if("string"==typeof i.value){const t=new Ls(a.document.stylesProcessor);t.setTo(i.value);for(const[e]of t.getStylesEntries())a.removeStyle(e,s)}else{const t=Object.keys(i.value);for(const e of t)a.removeStyle(e,s)}else a.removeAttribute(i.key,s);if(null!==e.attributeNewValue&&r)if("class"==r.key){const t="string"==typeof r.value?r.value.split(/\s+/):r.value;for(const e of t)a.addClass(e,s)}else if("style"==r.key)if("string"==typeof r.value){const t=new Ls(a.document.stylesProcessor);t.setTo(r.value);for(const[e,n]of t.getStylesEntries())a.setStyle(e,n,s)}else{const t=Object.keys(r.value);for(const e of t)a.setStyle(e,r.value[e],s)}else a.setAttribute(r.key,r.value,s)}),{priority:t.converterPriority||"normal"})}}(t))}markerToElement(t){return this.add(function(t){const e=Bc(t.view,"ui");return n=>{n.on(`addMarker:${t.model}`,yc(e),{priority:t.converterPriority||"normal"}),n.on(`removeMarker:${t.model}`,((t,e,n)=>{const i=n.mapper.markerNameToElements(e.markerName);if(i){for(const t of i)n.mapper.unbindElementFromMarkerName(t,e.markerName),n.writer.clear(n.writer.createRangeOn(t),t);n.writer.clearClonedElementsGroup(e.markerName),t.stop()}}),{priority:t.converterPriority||"normal"})}}(t))}markerToHighlight(t){return this.add(function(t){return e=>{var n;e.on(`addMarker:${t.model}`,(n=t.view,(t,e,i)=>{if(!e.item)return;if(!(e.item instanceof rc||e.item instanceof fc||e.item.is("$textProxy")))return;const o=Tc(n,e,i);if(!o)return;if(!i.consumable.consume(e.item,t.name))return;const r=i.writer,s=_c(r,o),a=r.document.selection;if(e.item instanceof rc||e.item instanceof fc)r.wrap(a.getFirstRange(),s);else{const t=i.mapper.toViewRange(e.range),n=r.wrap(t,s);for(const t of n.getItems())if(t.is("attributeElement")&&t.isSimilar(s)){i.mapper.bindElementToMarker(t,e.markerName);break}}}),{priority:t.converterPriority||"normal"}),e.on(`addMarker:${t.model}`,function(t){return(e,n,i)=>{if(!n.item)return;if(!(n.item instanceof ql))return;const o=Tc(t,n,i);if(!o)return;if(!i.consumable.test(n.item,e.name))return;const r=i.mapper.toViewElement(n.item);if(r&&r.getCustomProperty("addHighlight")){i.consumable.consume(n.item,e.name);for(const t of Ql._createIn(n.item))i.consumable.consume(t.item,e.name);r.getCustomProperty("addHighlight")(r,o,i.writer),i.mapper.bindElementToMarker(r,n.markerName)}}}(t.view),{priority:t.converterPriority||"normal"}),e.on(`removeMarker:${t.model}`,function(t){return(e,n,i)=>{if(n.markerRange.isCollapsed)return;const o=Tc(t,n,i);if(!o)return;const r=_c(i.writer,o),s=i.mapper.markerNameToElements(n.markerName);if(s){for(const t of s)if(i.mapper.unbindElementFromMarkerName(t,n.markerName),t.is("attributeElement"))i.writer.unwrap(i.writer.createRangeOn(t),r);else{t.getCustomProperty("removeHighlight")(t,o.id,i.writer)}i.writer.clearClonedElementsGroup(n.markerName),e.stop()}}}(t.view),{priority:t.converterPriority||"normal"})}}(t))}markerToData(t){return this.add(function(t){t=Ll(t);const e=t.model;let n=t.view;n||(n=n=>({group:e,name:n.substr(t.model.length+1)}));return i=>{var o;i.on(`addMarker:${e}`,(o=n,(t,e,n)=>{const i=o(e.markerName,n);if(!i)return;const r=e.markerRange;n.consumable.consume(r,t.name)&&(xc(r,!1,n,e,i),xc(r,!0,n,e,i),t.stop())}),{priority:t.converterPriority||"normal"}),i.on(`removeMarker:${e}`,function(t){return(e,n,i)=>{const o=t(n.markerName,i);if(!o)return;const r=i.mapper.markerNameToElements(n.markerName);if(r){for(const t of r)i.mapper.unbindElementFromMarkerName(t,n.markerName),t.is("containerElement")?(s(`data-${o.group}-start-before`,t),s(`data-${o.group}-start-after`,t),s(`data-${o.group}-end-before`,t),s(`data-${o.group}-end-after`,t)):i.writer.clear(i.writer.createRangeOn(t),t);i.writer.clearClonedElementsGroup(n.markerName),e.stop()}function s(t,e){if(e.hasAttribute(t)){const n=new Set(e.getAttribute(t).split(","));n.delete(o.name),0==n.size?i.writer.removeAttribute(t,e):i.writer.setAttribute(t,Array.from(n).join(","),e)}}}}(n),{priority:t.converterPriority||"normal"})}}(t))}}function _c(t,e){const n=t.createAttributeElement("span",e.attributes);return e.classes&&n._addClass(e.classes),"number"==typeof e.priority&&(n._priority=e.priority),n._id=e.id,n}function Cc(t){return(e,n,i)=>{if(!i.consumable.test(n.item,e.name))return;const o=t(n.attributeOldValue,i,n),r=t(n.attributeNewValue,i,n);if(!o&&!r)return;i.consumable.consume(n.item,e.name);const s=i.writer,a=s.document.selection;if(n.item instanceof rc||n.item instanceof fc)s.wrap(a.getFirstRange(),r);else{let t=i.mapper.toViewRange(n.range);null!==n.attributeOldValue&&o&&(t=s.unwrap(t,o)),null!==n.attributeNewValue&&r&&s.wrap(t,r)}}}function vc(t,e=Vc){return(n,i,o)=>{if(!e(i.item,o.consumable,{preflight:!0}))return;const r=t(i.item,o,i);if(!r)return;e(i.item,o.consumable);const s=o.mapper.toViewPosition(i.range.start);o.mapper.bindElements(i.item,r),o.writer.insert(s,r),o.convertAttributes(i.item),Fc(r,i.item.getChildren(),o,{reconversion:i.reconversion})}}function yc(t){return(e,n,i)=>{n.isOpening=!0;const o=t(n,i);n.isOpening=!1;const r=t(n,i);if(!o||!r)return;const s=n.markerRange;if(s.isCollapsed&&!i.consumable.consume(s,e.name))return;for(const t of s)if(!i.consumable.consume(t.item,e.name))return;const a=i.mapper,l=i.writer;l.insert(a.toViewPosition(s.start),o),i.mapper.bindElementToMarker(o,n.markerName),s.isCollapsed||(l.insert(a.toViewPosition(s.end),r),i.mapper.bindElementToMarker(r,n.markerName)),e.stop()}}function xc(t,e,n,i,o){const r=e?t.start:t.end,s=r.nodeAfter&&r.nodeAfter.is("element")?r.nodeAfter:null,a=r.nodeBefore&&r.nodeBefore.is("element")?r.nodeBefore:null;if(s||a){let t,r;e&&s||!e&&!a?(t=s,r=!0):(t=a,r=!1);const l=n.mapper.toViewElement(t);if(l)return void function(t,e,n,i,o,r){const s=`data-${r.group}-${e?"start":"end"}-${n?"before":"after"}`,a=t.hasAttribute(s)?t.getAttribute(s).split(","):[];a.unshift(r.name),i.writer.setAttribute(s,a.join(","),t),i.mapper.bindElementToMarker(t,o.markerName)}(l,e,r,n,i,o)}!function(t,e,n,i,o){const r=`${o.group}-${e?"start":"end"}`,s=o.name?{name:o.name}:null,a=n.writer.createUIElement(r,s);n.writer.insert(t,a),n.mapper.bindElementToMarker(a,i.markerName)}(n.mapper.toViewPosition(r),e,n,i,o)}function Ec(t){return"string"==typeof t&&(t={name:t}),{name:t.name,attributes:t.attributes?tr(t.attributes):[],children:!!t.children}}function Bc(t,e){return"function"==typeof t?t:(n,i)=>function(t,e,n){"string"==typeof t&&(t={name:t});let i;const o=e.writer,r=Object.assign({},t.attributes);if("container"==n)i=o.createContainerElement(t.name,r);else if("attribute"==n){const e={priority:t.priority||aa.DEFAULT_PRIORITY};i=o.createAttributeElement(t.name,r,e)}else i=o.createUIElement(t.name,r);if(t.styles){const e=Object.keys(t.styles);for(const n of e)o.setStyle(n,t.styles[n],i)}if(t.classes){const e=t.classes;if("string"==typeof e)o.addClass(e,i);else for(const t of e)o.addClass(t,i)}return i}(t,i,e)}function Dc(t){return t.model.values?(e,n,i)=>{const o=t.view[e];return o?o(e,n,i):null}:t.view}function Sc(t){return"string"==typeof t?e=>({key:t,value:e}):"object"==typeof t?t.value?()=>t:e=>({key:t.key,value:e}):t}function Tc(t,e,n){const i="function"==typeof t?t(e,n):t;return i?(i.priority||(i.priority=10),i.id||(i.id=e.markerName),i):null}function Ic(t){const e=function(t){return(e,n)=>{if(!e.is("element",t.name))return!1;if("attribute"==n.type){if(t.attributes.includes(n.attributeKey))return!0}else if(t.children)return!0;return!1}}(t);return(t,n)=>{const i=[];n.reconvertedElements||(n.reconvertedElements=new Set);for(const t of n.changes){const o="attribute"==t.type?t.range.start.nodeAfter:t.position.parent;if(o&&e(o,t)){if(!n.reconvertedElements.has(o)){n.reconvertedElements.add(o);const t=$l._createBefore(o);let e=i.length;for(let n=i.length-1;n>=0;n--){const o=i[n],r=("attribute"==o.type?o.range.start:o.position).compareWith(t);if("before"==r||"remove"==o.type&&"same"==r)break;e=n}i.splice(e,0,{type:"remove",name:o.name,position:t,length:1},{type:"reinsert",name:o.name,position:t,length:1})}}else i.push(t)}n.changes=i}}function Pc(t){return(e,n,i={})=>{const o=["insert"];for(const n of t.attributes)e.hasAttribute(n)&&o.push(`attribute:${n}`);return!!o.every((t=>n.test(e,t)))&&(i.preflight||o.forEach((t=>n.consume(e,t))),!0)}}function Fc(t,e,n,i){for(const o of e)Rc(t.root,o,n,i)||n.convertItem(o)}function Rc(t,e,n,i){const{writer:o,mapper:r}=n;if(!i.reconversion)return!1;const s=r.toViewElement(e);return!(!s||s.root==t)&&(!!n.canReuseView(s)&&(o.move(o.createRangeOn(s),r.toViewPosition($l._createBefore(e))),!0))}function Vc(t,e,{preflight:n}={}){return n?e.test(t,"insert"):e.consume(t,"insert")}function Lc(t){const{schema:e,document:n}=t.model;for(const i of n.getRoots())if(i.isEmpty&&!e.checkChild(i,"$text")&&e.checkChild(i,"paragraph"))return t.insertElement("paragraph",i),!0;return!1}function zc(t,e,n){const i=n.createContext(t);return!!n.checkChild(i,"paragraph")&&!!n.checkChild(i.push("paragraph"),e)}function Mc(t,e){const n=e.createElement("paragraph");return e.insert(n,t),e.createPositionAt(n,0)}class Oc extends wc{elementToElement(t){return this.add(Nc(t))}elementToAttribute(t){return this.add(function(t){t=Ll(t),qc(t);const e=Wc(t,!1),n=Hc(t.view),i=n?`element:${n}`:"element";return n=>{n.on(i,e,{priority:t.converterPriority||"low"})}}(t))}attributeToAttribute(t){return this.add(function(t){t=Ll(t);let e=null;("string"==typeof t.view||t.view.key)&&(e=function(t){"string"==typeof t.view&&(t.view={key:t.view});const e=t.view.key,n=void 0===t.view.value?/[\s\S]*/:t.view.value;let i;if("class"==e||"style"==e){const t="class"==e?"classes":"styles";i={[t]:n}}else i={attributes:{[e]:n}};t.view.name&&(i.name=t.view.name);return t.view=i,e}(t));qc(t,e);const n=Wc(t,!0);return e=>{e.on("element",n,{priority:t.converterPriority||"low"})}}(t))}elementToMarker(t){return this.add(function(t){const e=function(t){return(e,n)=>{const i="string"==typeof t?t:t(e,n);return n.writer.createElement("$marker",{"data-name":i})}}(t.model);return Nc({...t,model:e})}(t))}dataToMarker(t){return this.add(function(t){t=Ll(t),t.model||(t.model=e=>e?t.view+":"+e:t.view);const e={view:t.view,model:t.model},n=jc(Uc(e,"start")),i=jc(Uc(e,"end"));return o=>{o.on(`element:${t.view}-start`,n,{priority:t.converterPriority||"normal"}),o.on(`element:${t.view}-end`,i,{priority:t.converterPriority||"normal"});const r=fi.low,s=fi.highest,a=fi.get(t.converterPriority)/s;o.on("element",function(t){return(e,n,i)=>{const o=`data-${t.view}`;function r(e,o){for(const r of o){const o=t.model(r,i),s=i.writer.createElement("$marker",{"data-name":o});i.writer.insert(s,e),n.modelCursor.isEqual(e)?n.modelCursor=n.modelCursor.getShiftedBy(1):n.modelCursor=n.modelCursor._getTransformedByInsertion(e,1),n.modelRange=n.modelRange._getTransformedByInsertion(e,1)[0]}}(i.consumable.test(n.viewItem,{attributes:o+"-end-after"})||i.consumable.test(n.viewItem,{attributes:o+"-start-after"})||i.consumable.test(n.viewItem,{attributes:o+"-end-before"})||i.consumable.test(n.viewItem,{attributes:o+"-start-before"}))&&(n.modelRange||Object.assign(n,i.convertChildren(n.viewItem,n.modelCursor)),i.consumable.consume(n.viewItem,{attributes:o+"-end-after"})&&r(n.modelRange.end,n.viewItem.getAttribute(o+"-end-after").split(",")),i.consumable.consume(n.viewItem,{attributes:o+"-start-after"})&&r(n.modelRange.end,n.viewItem.getAttribute(o+"-start-after").split(",")),i.consumable.consume(n.viewItem,{attributes:o+"-end-before"})&&r(n.modelRange.start,n.viewItem.getAttribute(o+"-end-before").split(",")),i.consumable.consume(n.viewItem,{attributes:o+"-start-before"})&&r(n.modelRange.start,n.viewItem.getAttribute(o+"-start-before").split(",")))}}(e),{priority:r+a})}}(t))}}function Nc(t){const e=jc(t=Ll(t)),n=Hc(t.view),i=n?`element:${n}`:"element";return n=>{n.on(i,e,{priority:t.converterPriority||"normal"})}}function Hc(t){return"string"==typeof t?t:"object"==typeof t&&"string"==typeof t.name?t.name:null}function jc(t){const e=new as(t.view);return(n,i,o)=>{const r=e.match(i.viewItem);if(!r)return;const s=r.match;if(s.name=!0,!o.consumable.test(i.viewItem,s))return;const a=function(t,e,n){return t instanceof Function?t(e,n):n.writer.createElement(t)}(t.model,i.viewItem,o);a&&o.safeInsert(a,i.modelCursor)&&(o.consumable.consume(i.viewItem,s),o.convertChildren(i.viewItem,a),o.updateConversionResult(a,i))}}function qc(t,e=null){const n=null===e||(t=>t.getAttribute(e)),i="object"!=typeof t.model?t.model:t.model.key,o="object"!=typeof t.model||void 0===t.model.value?n:t.model.value;t.model={key:i,value:o}}function Wc(t,e){const n=new as(t.view);return(i,o,r)=>{if(!o.modelRange&&e)return;const s=n.match(o.viewItem);if(!s)return;if(!function(t,e){const n="function"==typeof t?t(e):t;if("object"==typeof n&&!Hc(n))return!1;return!n.classes&&!n.attributes&&!n.styles}(t.view,o.viewItem)?delete s.match.name:s.match.name=!0,!r.consumable.test(o.viewItem,s.match))return;const a=t.model.key,l="function"==typeof t.model.value?t.model.value(o.viewItem,r):t.model.value;if(null===l)return;o.modelRange||Object.assign(o,r.convertChildren(o.viewItem,o.modelCursor));const c=function(t,e,n,i){let o=!1;for(const r of Array.from(t.getItems({shallow:n})))i.schema.checkAttribute(r,e.key)&&(o=!0,r.hasAttribute(e.key)||i.writer.setAttribute(e.key,e.value,r));return o}(o.modelRange,{key:a,value:l},e,r);c&&(r.consumable.test(o.viewItem,{name:!0})&&(s.match.name=!0),r.consumable.consume(o.viewItem,s.match))}}function Uc(t,e){return{view:`${t.view}-${e}`,model:(e,n)=>{const i=e.getAttribute("name"),o=t.model(i,n);return n.writer.createElement("$marker",{"data-name":o})}}}function $c(t){t.document.registerPostFixer((e=>function(t,e){const n=e.document.selection,i=e.schema,o=[];let r=!1;for(const t of n.getRanges()){const e=Gc(t,i);e&&!e.isEqual(t)?(o.push(e),r=!0):o.push(t)}r&&t.setSelection(function(t){const e=[...t],n=new Set;let i=1;for(;i!n.has(e)))}(o),{backward:n.isBackward});return!1}(e,t)))}function Gc(t,e){return t.isCollapsed?function(t,e){const n=t.start,i=e.getNearestSelectionRange(n);if(!i){const t=n.getAncestors().reverse().find((t=>e.isObject(t)));return t?Ql._createOn(t):null}if(!i.isCollapsed)return i;const o=i.start;if(n.isEqual(o))return null;return new Ql(o)}(t,e):function(t,e){const{start:n,end:i}=t,o=e.checkChild(n,"$text"),r=e.checkChild(i,"$text"),s=e.getLimitElement(n),a=e.getLimitElement(i);if(s===a){if(o&&r)return null;if(function(t,e,n){const i=t.nodeAfter&&!n.isLimit(t.nodeAfter)||n.checkChild(t,"$text"),o=e.nodeBefore&&!n.isLimit(e.nodeBefore)||n.checkChild(e,"$text");return i||o}(n,i,e)){const t=n.nodeAfter&&e.isSelectable(n.nodeAfter)?null:e.getNearestSelectionRange(n,"forward"),o=i.nodeBefore&&e.isSelectable(i.nodeBefore)?null:e.getNearestSelectionRange(i,"backward"),r=t?t.start:n,s=o?o.end:i;return new Ql(r,s)}}const l=s&&!s.is("rootElement"),c=a&&!a.is("rootElement");if(l||c){const t=n.nodeAfter&&i.nodeBefore&&n.nodeAfter.parent===i.nodeBefore.parent,o=l&&(!t||!Yc(n.nodeAfter,e)),r=c&&(!t||!Yc(i.nodeBefore,e));let d=n,h=i;return o&&(d=$l._createBefore(Kc(s,e))),r&&(h=$l._createAfter(Kc(a,e))),new Ql(d,h)}return null}(t,e)}function Kc(t,e){let n=t,i=n;for(;e.isLimit(i)&&i.parent;)n=i,i=i.parent;return n}function Yc(t,e){return t&&e.isSelectable(t)}class Zc extends(ji()){model;view;mapper;downcastDispatcher;constructor(t,e){super(),this.model=t,this.view=new zl(e),this.mapper=new Xl,this.downcastDispatcher=new nc({mapper:this.mapper,schema:t.schema});const n=this.model.document,i=n.selection,o=this.model.markers;var r,s,a;this.listenTo(this.model,"_beforeChanges",(()=>{this.view._disableRendering(!0)}),{priority:"highest"}),this.listenTo(this.model,"_afterChanges",(()=>{this.view._disableRendering(!1)}),{priority:"lowest"}),this.listenTo(n,"change",(()=>{this.view.change((t=>{this.downcastDispatcher.convertChanges(n.differ,o,t),this.downcastDispatcher.convertSelection(i,o,t)}))}),{priority:"low"}),this.listenTo(this.view.document,"selectionChange",function(t,e){return(n,i)=>{const o=i.newSelection,r=[];for(const t of o.getRanges())r.push(e.toModelRange(t));const s=t.createSelection(r,{backward:o.isBackward});s.isEqual(t.document.selection)||t.change((t=>{t.setSelection(s)}))}}(this.model,this.mapper)),this.listenTo(this.view.document,"beforeinput",(r=this.mapper,s=this.model.schema,a=this.view,(t,e)=>{if(!a.document.isComposing||Xn.isAndroid)for(let t=0;t{if(!n.consumable.consume(e.item,t.name))return;const i=n.writer,o=n.mapper.toViewPosition(e.range.start),r=i.createText(e.item.data);i.insert(o,r)}),{priority:"lowest"}),this.downcastDispatcher.on("insert",((t,e,n)=>{n.convertAttributes(e.item),e.reconversion||!e.item.is("element")||e.item.isEmpty||n.convertChildren(e.item)}),{priority:"lowest"}),this.downcastDispatcher.on("remove",((t,e,n)=>{const i=n.mapper.toViewPosition(e.position),o=e.position.getShiftedBy(e.length),r=n.mapper.toViewPosition(o,{isPhantom:!0}),s=n.writer.createRange(i,r),a=n.writer.remove(s.getTrimmed());for(const t of n.writer.createRangeIn(a).getItems())n.mapper.unbindViewElement(t,{defer:!0})}),{priority:"low"}),this.downcastDispatcher.on("cleanSelection",((t,e,n)=>{const i=n.writer,o=i.document.selection;for(const t of o.getRanges())t.isCollapsed&&t.end.parent.isAttached()&&n.writer.mergeAttributes(t.start);i.setSelection(null)})),this.downcastDispatcher.on("selection",((t,e,n)=>{const i=e.selection;if(i.isCollapsed)return;if(!n.consumable.consume(i,"selection"))return;const o=[];for(const t of i.getRanges())o.push(n.mapper.toViewRange(t));n.writer.setSelection(o,{backward:i.isBackward})}),{priority:"low"}),this.downcastDispatcher.on("selection",((t,e,n)=>{const i=e.selection;if(!i.isCollapsed)return;if(!n.consumable.consume(i,"selection"))return;const o=n.writer,r=i.getFirstPosition(),s=n.mapper.toViewPosition(r),a=o.breakAttributes(s);o.setSelection(a)}),{priority:"low"}),this.view.document.roots.bindTo(this.model.document.roots).using((t=>{if("$graveyard"==t.rootName)return null;const e=new $s(this.view.document,t.name);return e.rootName=t.rootName,this.mapper.bindElements(t,e),e}))}destroy(){this.view.destroy(),this.stopListening()}reconvertMarker(t){const e="string"==typeof t?t:t.name,n=this.model.markers.get(e);if(!n)throw new bi("editingcontroller-reconvertmarker-marker-not-exist",this,{markerName:e});this.model.change((()=>{this.model.markers._refresh(n)}))}reconvertItem(t){this.model.change((()=>{this.model.document.differ._refreshItem(t)}))}}class Jc{_consumables=new Map;add(t,e){let n;t.is("$text")||t.is("documentFragment")?this._consumables.set(t,!0):(this._consumables.has(t)?n=this._consumables.get(t):(n=new Xc(t),this._consumables.set(t,n)),n.add(e))}test(t,e){const n=this._consumables.get(t);return void 0===n?null:t.is("$text")||t.is("documentFragment")?n:n.test(e)}consume(t,e){return!!this.test(t,e)&&(t.is("$text")||t.is("documentFragment")?this._consumables.set(t,!1):this._consumables.get(t).consume(e),!0)}revert(t,e){const n=this._consumables.get(t);void 0!==n&&(t.is("$text")||t.is("documentFragment")?this._consumables.set(t,!0):n.revert(e))}static consumablesFromElement(t){const e={element:t,name:!0,attributes:[],classes:[],styles:[]},n=t.getAttributeKeys();for(const t of n)"style"!=t&&"class"!=t&&e.attributes.push(t);const i=t.getClassNames();for(const t of i)e.classes.push(t);const o=t.getStyleNames();for(const t of o)e.styles.push(t);return e}static createFrom(t,e){if(e||(e=new Jc),t.is("$text"))return e.add(t),e;t.is("element")&&e.add(t,Jc.consumablesFromElement(t)),t.is("documentFragment")&&e.add(t);for(const n of t.getChildren())e=Jc.createFrom(n,e);return e}}const Qc=["attributes","classes","styles"];class Xc{element;_canConsumeName;_consumables;constructor(t){this.element=t,this._canConsumeName=null,this._consumables={attributes:new Map,styles:new Map,classes:new Map}}add(t){t.name&&(this._canConsumeName=!0);for(const e of Qc)e in t&&this._add(e,t[e])}test(t){if(t.name&&!this._canConsumeName)return this._canConsumeName;for(const e of Qc)if(e in t){const n=this._test(e,t[e]);if(!0!==n)return n}return!0}consume(t){t.name&&(this._canConsumeName=!1);for(const e of Qc)e in t&&this._consume(e,t[e])}revert(t){t.name&&(this._canConsumeName=!0);for(const e of Qc)e in t&&this._revert(e,t[e])}_add(t,e){const n=tr(e),i=this._consumables[t];for(const e of n){if("attributes"===t&&("class"===e||"style"===e))throw new bi("viewconsumable-invalid-attribute",this);if(i.set(e,!0),"styles"===t)for(const t of this.element.document.stylesProcessor.getRelatedStyles(e))i.set(t,!0)}}_test(t,e){const n=tr(e),i=this._consumables[t];for(const e of n)if("attributes"!==t||"class"!==e&&"style"!==e){const t=i.get(e);if(void 0===t)return null;if(!t)return!1}else{const t="class"==e?"classes":"styles",n=this._test(t,[...this._consumables[t].keys()]);if(!0!==n)return n}return!0}_consume(t,e){const n=tr(e),i=this._consumables[t];for(const e of n)if("attributes"!==t||"class"!==e&&"style"!==e){if(i.set(e,!1),"styles"==t)for(const t of this.element.document.stylesProcessor.getRelatedStyles(e))i.set(t,!1)}else{const t="class"==e?"classes":"styles";this._consume(t,[...this._consumables[t].keys()])}}_revert(t,e){const n=tr(e),i=this._consumables[t];for(const e of n)if("attributes"!==t||"class"!==e&&"style"!==e){!1===i.get(e)&&i.set(e,!0)}else{const t="class"==e?"classes":"styles";this._revert(t,[...this._consumables[t].keys()])}}}class td extends(ji()){_sourceDefinitions={};_attributeProperties=Object.create(null);_customChildChecks=new Map;_customAttributeChecks=new Map;_genericCheckSymbol=Symbol("$generic");_compiledDefinitions;constructor(){super(),this.decorate("checkChild"),this.decorate("checkAttribute"),this.on("checkAttribute",((t,e)=>{e[0]=new ed(e[0])}),{priority:"highest"}),this.on("checkChild",((t,e)=>{e[0]=new ed(e[0]),e[1]=this.getDefinition(e[1])}),{priority:"highest"})}register(t,e){if(this._sourceDefinitions[t])throw new bi("schema-cannot-register-item-twice",this,{itemName:t});this._sourceDefinitions[t]=[Object.assign({},e)],this._clearCache()}extend(t,e){if(!this._sourceDefinitions[t])throw new bi("schema-cannot-extend-missing-item",this,{itemName:t});this._sourceDefinitions[t].push(Object.assign({},e)),this._clearCache()}getDefinitions(){return this._compiledDefinitions||this._compile(),this._compiledDefinitions}getDefinition(t){let e;return e="string"==typeof t?t:"is"in t&&(t.is("$text")||t.is("$textProxy"))?"$text":t.name,this.getDefinitions()[e]}isRegistered(t){return!!this.getDefinition(t)}isBlock(t){const e=this.getDefinition(t);return!(!e||!e.isBlock)}isLimit(t){const e=this.getDefinition(t);return!!e&&!(!e.isLimit&&!e.isObject)}isObject(t){const e=this.getDefinition(t);return!!e&&!!(e.isObject||e.isLimit&&e.isSelectable&&e.isContent)}isInline(t){const e=this.getDefinition(t);return!(!e||!e.isInline)}isSelectable(t){const e=this.getDefinition(t);return!!e&&!(!e.isSelectable&&!e.isObject)}isContent(t){const e=this.getDefinition(t);return!!e&&!(!e.isContent&&!e.isObject)}checkChild(t,e){return!!e&&this._checkContextMatch(t,e)}checkAttribute(t,e){const n=this.getDefinition(t.last);if(!n)return!1;const i=this._evaluateAttributeChecks(t,e);return void 0!==i?i:n.allowAttributes.includes(e)}checkMerge(t,e){if(t instanceof $l){const e=t.nodeBefore,n=t.nodeAfter;if(!(e instanceof ql))throw new bi("schema-check-merge-no-element-before",this);if(!(n instanceof ql))throw new bi("schema-check-merge-no-element-after",this);return this.checkMerge(e,n)}if(this.isLimit(t)||this.isLimit(e))return!1;for(const n of e.getChildren())if(!this.checkChild(t,n))return!1;return!0}addChildCheck(t,e){const n=void 0!==e?e:this._genericCheckSymbol,i=this._customChildChecks.get(n)||[];i.push(t),this._customChildChecks.set(n,i)}addAttributeCheck(t,e){const n=void 0!==e?e:this._genericCheckSymbol,i=this._customAttributeChecks.get(n)||[];i.push(t),this._customAttributeChecks.set(n,i)}setAttributeProperties(t,e){this._attributeProperties[t]=Object.assign(this.getAttributeProperties(t),e)}getAttributeProperties(t){return this._attributeProperties[t]||Object.create(null)}getLimitElement(t){let e;if(t instanceof $l)e=t.parent;else{e=(t instanceof Ql?[t]:Array.from(t.getRanges())).reduce(((t,e)=>{const n=e.getCommonAncestor();return t?t.getCommonAncestor(n,{includeSelf:!0}):n}),null)}for(;!this.isLimit(e)&&e.parent;)e=e.parent;return e}checkAttributeInSelection(t,e){if(t.isCollapsed){const n=[...t.getFirstPosition().getAncestors(),new Hl("",t.getAttributes())];return this.checkAttribute(n,e)}{const n=t.getRanges();for(const t of n)for(const n of t)if(this.checkAttribute(n.item,e))return!0}return!1}*getValidRanges(t,e){t=function*(t){for(const e of t)yield*e.getMinimalFlatRanges()}(t);for(const n of t)yield*this._getValidRangesForRange(n,e)}getNearestSelectionRange(t,e="both"){if("$graveyard"==t.root.rootName)return null;if(this.checkChild(t,"$text"))return new Ql(t);let n,i;const o=t.getAncestors().reverse().find((t=>this.isLimit(t)))||t.root;"both"!=e&&"backward"!=e||(n=new Wl({boundaries:Ql._createIn(o),startPosition:t,direction:"backward"})),"both"!=e&&"forward"!=e||(i=new Wl({boundaries:Ql._createIn(o),startPosition:t}));for(const t of function*(t,e){let n=!1;for(;!n;){if(n=!0,t){const e=t.next();e.done||(n=!1,yield{walker:t,value:e.value})}if(e){const t=e.next();t.done||(n=!1,yield{walker:e,value:t.value})}}}(n,i)){const e=t.walker==n?"elementEnd":"elementStart",i=t.value;if(i.type==e&&this.isObject(i.item))return Ql._createOn(i.item);if(this.checkChild(i.nextPosition,"$text"))return new Ql(i.nextPosition)}return null}findAllowedParent(t,e){let n=t.parent;for(;n;){if(this.checkChild(n,e))return n;if(this.isLimit(n))return null;n=n.parent}return null}setAllowedAttributes(t,e,n){const i=n.model;for(const[o,r]of Object.entries(e))i.schema.checkAttribute(t,o)&&n.setAttribute(o,r,t)}removeDisallowedAttributes(t,e){for(const n of t)if(n.is("$text"))gd(this,n,e);else{const t=Ql._createIn(n).getPositions();for(const n of t){gd(this,n.nodeBefore||n.parent,e)}}}getAttributesWithProperty(t,e,n){const i={};for(const[o,r]of t.getAttributes()){const t=this.getAttributeProperties(o);void 0!==t[e]&&(void 0!==n&&n!==t[e]||(i[o]=r))}return i}createContext(t){return new ed(t)}_clearCache(){this._compiledDefinitions=null}_compile(){const t={},e=this._sourceDefinitions,n=Object.keys(e);for(const i of n)t[i]=nd(e[i],i);const i=Object.values(t);for(const e of i)id(t,e),od(t,e),rd(t,e),sd(t,e);for(const e of i)ad(t,e);for(const e of i)ld(t,e);for(const e of i)cd(t,e);for(const e of i)dd(t,e);for(const e of i)hd(t,e);this._compiledDefinitions=function(t){const e={};for(const n of Object.values(t))e[n.name]={name:n.name,isBlock:!!n.isBlock,isContent:!!n.isContent,isInline:!!n.isInline,isLimit:!!n.isLimit,isObject:!!n.isObject,isSelectable:!!n.isSelectable,allowIn:Array.from(n.allowIn).filter((e=>!!t[e])),allowChildren:Array.from(n.allowChildren).filter((e=>!!t[e])),allowAttributes:Array.from(n.allowAttributes)};return e}(t)}_checkContextMatch(t,e){const n=t.last;let i=this._evaluateChildChecks(t,e);if(i=void 0!==i?i:e.allowIn.includes(n.name),!i)return!1;const o=this.getDefinition(n),r=t.trimLast();return!!o&&(0==r.length||this._checkContextMatch(r,o))}_evaluateChildChecks(t,e){const n=this._customChildChecks.get(this._genericCheckSymbol)||[],i=this._customChildChecks.get(e.name)||[];for(const o of[...n,...i]){const n=o(t,e);if(void 0!==n)return n}}_evaluateAttributeChecks(t,e){const n=this._customAttributeChecks.get(this._genericCheckSymbol)||[],i=this._customAttributeChecks.get(e)||[];for(const o of[...n,...i]){const n=o(t,e);if(void 0!==n)return n}}*_getValidRangesForRange(t,e){let n=t.start,i=t.start;for(const o of t.getItems({shallow:!0}))o.is("element")&&(yield*this._getValidRangesForRange(Ql._createIn(o),e)),this.checkAttribute(o,e)||(n.isEqual(i)||(yield new Ql(n,i)),n=$l._createAfter(o)),i=$l._createAfter(o);n.isEqual(i)||(yield new Ql(n,i))}findOptimalInsertionRange(t,e){const n=t.getSelectedElement();if(n&&this.isObject(n)&&!this.isInline(n))return"before"==e||"after"==e?new Ql($l._createAt(n,e)):Ql._createOn(n);const i=Er(t.getSelectedBlocks());if(!i)return new Ql(t.focus);if(i.isEmpty)return new Ql($l._createAt(i,0));const o=$l._createAfter(i);return t.focus.isTouching(o)?new Ql(o):new Ql($l._createBefore(i))}}class ed{_items;constructor(t){if(t instanceof ed)return t;let e;e="string"==typeof t?[t]:Array.isArray(t)?t:t.getAncestors({includeSelf:!0}),this._items=e.map(md)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(t){const e=new ed([t]);return e._items=[...this._items,...e._items],e}trimLast(){const t=new ed([]);return t._items=this._items.slice(0,-1),t}getItem(t){return this._items[t]}*getNames(){yield*this._items.map((t=>t.name))}endsWith(t){return Array.from(this.getNames()).join(" ").endsWith(t)}startsWith(t){return Array.from(this.getNames()).join(" ").startsWith(t)}}function nd(t,e){const n={name:e,allowIn:new Set,allowChildren:new Set,disallowIn:new Set,disallowChildren:new Set,allowContentOf:new Set,allowWhere:new Set,allowAttributes:new Set,disallowAttributes:new Set,allowAttributesOf:new Set,inheritTypesFrom:new Set};return function(t,e){for(const n of t){const t=Object.keys(n).filter((t=>t.startsWith("is")));for(const i of t)e[i]=!!n[i]}}(t,n),ud(t,n,"allowIn"),ud(t,n,"allowChildren"),ud(t,n,"disallowIn"),ud(t,n,"disallowChildren"),ud(t,n,"allowContentOf"),ud(t,n,"allowWhere"),ud(t,n,"allowAttributes"),ud(t,n,"disallowAttributes"),ud(t,n,"allowAttributesOf"),ud(t,n,"inheritTypesFrom"),function(t,e){for(const n of t){const t=n.inheritAllFrom;t&&(e.allowContentOf.add(t),e.allowWhere.add(t),e.allowAttributesOf.add(t),e.inheritTypesFrom.add(t))}}(t,n),n}function id(t,e){for(const n of e.allowIn){const i=t[n];i?i.allowChildren.add(e.name):e.allowIn.delete(n)}}function od(t,e){for(const n of e.allowChildren){const i=t[n];i?i.allowIn.add(e.name):e.allowChildren.delete(n)}}function rd(t,e){for(const n of e.disallowIn){const i=t[n];i?i.disallowChildren.add(e.name):e.disallowIn.delete(n)}}function sd(t,e){for(const n of e.disallowChildren){const i=t[n];i?i.disallowIn.add(e.name):e.disallowChildren.delete(n)}}function ad(t,e){for(const t of e.disallowChildren)e.allowChildren.delete(t);for(const t of e.disallowIn)e.allowIn.delete(t);for(const t of e.disallowAttributes)e.allowAttributes.delete(t)}function ld(t,e){for(const n of e.allowContentOf){const i=t[n];i&&(i.disallowChildren.forEach((n=>{e.allowChildren.has(n)||(e.disallowChildren.add(n),t[n].disallowIn.add(e.name))})),i.allowChildren.forEach((n=>{e.disallowChildren.has(n)||(e.allowChildren.add(n),t[n].allowIn.add(e.name))})))}}function cd(t,e){for(const n of e.allowWhere){const i=t[n];i&&(i.disallowIn.forEach((n=>{e.allowIn.has(n)||(e.disallowIn.add(n),t[n].disallowChildren.add(e.name))})),i.allowIn.forEach((n=>{e.disallowIn.has(n)||(e.allowIn.add(n),t[n].allowChildren.add(e.name))})))}}function dd(t,e){for(const n of e.allowAttributesOf){const i=t[n];if(!i)return;i.allowAttributes.forEach((t=>{e.disallowAttributes.has(t)||e.allowAttributes.add(t)}))}}function hd(t,e){for(const n of e.inheritTypesFrom){const i=t[n];if(i){const t=Object.keys(i).filter((t=>t.startsWith("is")));for(const n of t)n in e||(e[n]=i[n])}}}function ud(t,e,n){for(const i of t){let t=i[n];"string"==typeof t&&(t=[t]),Array.isArray(t)&&t.forEach((t=>e[n].add(t)))}}function md(t){return"string"==typeof t||t.is("documentFragment")?{name:"string"==typeof t?t:"$documentFragment",*getAttributeKeys(){},getAttribute(){}}:{name:t.is("element")?t.name:"$text",*getAttributeKeys(){yield*t.getAttributeKeys()},getAttribute:e=>t.getAttribute(e)}}function gd(t,e,n){for(const i of e.getAttributeKeys())t.checkAttribute(e,i)||n.removeAttribute(i,e)}class pd extends(Di()){conversionApi;_splitParts=new Map;_cursorParents=new Map;_modelCursor=null;_emptyElementsToKeep=new Set;constructor(t){super(),this.conversionApi={...t,consumable:null,writer:null,store:null,convertItem:(t,e)=>this._convertItem(t,e),convertChildren:(t,e)=>this._convertChildren(t,e),safeInsert:(t,e)=>this._safeInsert(t,e),updateConversionResult:(t,e)=>this._updateConversionResult(t,e),splitToAllowedParent:(t,e)=>this._splitToAllowedParent(t,e),getSplitParts:t=>this._getSplitParts(t),keepEmptyElement:t=>this._keepEmptyElement(t)}}convert(t,e,n=["$root"]){this.fire("viewCleanup",t),this._modelCursor=function(t,e){let n;for(const i of new ed(t)){const t={};for(const e of i.getAttributeKeys())t[e]=i.getAttribute(e);const o=e.createElement(i.name,t);n&&e.insert(o,n),n=$l._createAt(o,0)}return n}(n,e),this.conversionApi.writer=e,this.conversionApi.consumable=Jc.createFrom(t),this.conversionApi.store={};const{modelRange:i}=this._convertItem(t,this._modelCursor),o=e.createDocumentFragment();if(i){this._removeEmptyElements();for(const t of Array.from(this._modelCursor.parent.getChildren()))e.append(t,o);o.markers=function(t,e){const n=new Set,i=new Map,o=Ql._createIn(t).getItems();for(const t of o)t.is("element","$marker")&&n.add(t);for(const t of n){const n=t.getAttribute("data-name"),o=e.createPositionBefore(t);i.has(n)?i.get(n).end=o.clone():i.set(n,new Ql(o.clone())),e.remove(t)}return i}(o,e)}return this._modelCursor=null,this._splitParts.clear(),this._cursorParents.clear(),this._emptyElementsToKeep.clear(),this.conversionApi.writer=null,this.conversionApi.store=null,o}_convertItem(t,e){const n={viewItem:t,modelCursor:e,modelRange:null};if(t.is("element")?this.fire(`element:${t.name}`,n,this.conversionApi):t.is("$text")?this.fire("text",n,this.conversionApi):this.fire("documentFragment",n,this.conversionApi),n.modelRange&&!(n.modelRange instanceof Ql))throw new bi("view-conversion-dispatcher-incorrect-result",this);return{modelRange:n.modelRange,modelCursor:n.modelCursor}}_convertChildren(t,e){let n=e.is("position")?e:$l._createAt(e,0);const i=new Ql(n);for(const e of Array.from(t.getChildren())){const t=this._convertItem(e,n);t.modelRange instanceof Ql&&(i.end=t.modelRange.end,n=t.modelCursor)}return{modelRange:i,modelCursor:n}}_safeInsert(t,e){const n=this._splitToAllowedParent(t,e);return!!n&&(this.conversionApi.writer.insert(t,n.position),!0)}_updateConversionResult(t,e){const n=this._getSplitParts(t),i=this.conversionApi.writer;e.modelRange||(e.modelRange=i.createRange(i.createPositionBefore(t),i.createPositionAfter(n[n.length-1])));const o=this._cursorParents.get(t);e.modelCursor=o?i.createPositionAt(o,0):e.modelRange.end}_splitToAllowedParent(t,e){const{schema:n,writer:i}=this.conversionApi;let o=n.findAllowedParent(e,t);if(o){if(o===e.parent)return{position:e};this._modelCursor.parent.getAncestors().includes(o)&&(o=null)}if(!o)return zc(e,t,n)?{position:Mc(e,i)}:null;const r=this.conversionApi.writer.split(e,o),s=[];for(const t of r.range.getWalker())if("elementEnd"==t.type)s.push(t.item);else{const e=s.pop(),n=t.item;this._registerSplitPair(e,n)}const a=r.range.end.parent;return this._cursorParents.set(t,a),{position:r.position,cursorParent:a}}_registerSplitPair(t,e){this._splitParts.has(t)||this._splitParts.set(t,[t]);const n=this._splitParts.get(t);this._splitParts.set(e,n),n.push(e)}_getSplitParts(t){let e;return e=this._splitParts.has(t)?this._splitParts.get(t):[t],e}_keepEmptyElement(t){this._emptyElementsToKeep.add(t)}_removeEmptyElements(){let t=!1;for(const e of this._splitParts.keys())e.isEmpty&&!this._emptyElementsToKeep.has(e)&&(this.conversionApi.writer.remove(e),this._splitParts.delete(e),t=!0);t&&this._removeEmptyElements()}}class fd{getHtml(t){const e=Zn.document.implementation.createHTMLDocument("").createElement("div");return e.appendChild(t),e.innerHTML}}class kd{domParser;domConverter;htmlWriter;skipComments=!0;constructor(t){this.domParser=new DOMParser,this.domConverter=new Ya(t,{renderingMode:"data"}),this.htmlWriter=new fd}toData(t){const e=this.domConverter.viewToDom(t);return this.htmlWriter.getHtml(e)}toView(t){const e=this._toDom(t);return this.domConverter.domToView(e,{skipComments:this.skipComments})}registerRawContentMatcher(t){this.domConverter.registerRawContentMatcher(t)}useFillerType(t){this.domConverter.blockFillerMode="marked"==t?"markedNbsp":"nbsp"}_toDom(t){/<(?:html|body|head|meta)(?:\s[^>]*)?>/i.test(t.trim().slice(0,1e4))||(t=`${t}`);const e=this.domParser.parseFromString(t,"text/html"),n=e.createDocumentFragment(),i=e.body.childNodes;for(;i.length>0;)n.appendChild(i[0]);return n}}class bd extends(Di()){model;mapper;downcastDispatcher;upcastDispatcher;viewDocument;stylesProcessor;htmlProcessor;processor;_viewWriter;constructor(t,e){super(),this.model=t,this.mapper=new Xl,this.downcastDispatcher=new nc({mapper:this.mapper,schema:t.schema}),this.downcastDispatcher.on("insert:$text",((t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const i=n.writer,o=n.mapper.toViewPosition(e.range.start),r=i.createText(e.item.data);i.insert(o,r)}),{priority:"lowest"}),this.downcastDispatcher.on("insert",((t,e,n)=>{n.convertAttributes(e.item),e.reconversion||!e.item.is("element")||e.item.isEmpty||n.convertChildren(e.item)}),{priority:"lowest"}),this.upcastDispatcher=new pd({schema:t.schema}),this.viewDocument=new sa(e),this.stylesProcessor=e,this.htmlProcessor=new kd(this.viewDocument),this.processor=this.htmlProcessor,this._viewWriter=new ba(this.viewDocument),this.upcastDispatcher.on("text",((t,e,{schema:n,consumable:i,writer:o})=>{let r=e.modelCursor;if(!i.test(e.viewItem))return;if(!n.checkChild(r,"$text")){if(!zc(r,"$text",n))return;if(0==e.viewItem.data.trim().length)return;r=Mc(r,o)}i.consume(e.viewItem);const s=o.createText(e.viewItem.data);o.insert(s,r),e.modelRange=o.createRange(r,r.getShiftedBy(s.offsetSize)),e.modelCursor=e.modelRange.end}),{priority:"lowest"}),this.upcastDispatcher.on("element",((t,e,n)=>{if(!e.modelRange&&n.consumable.consume(e.viewItem,{name:!0})){const{modelRange:t,modelCursor:i}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=t,e.modelCursor=i}}),{priority:"lowest"}),this.upcastDispatcher.on("documentFragment",((t,e,n)=>{if(!e.modelRange&&n.consumable.consume(e.viewItem,{name:!0})){const{modelRange:t,modelCursor:i}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=t,e.modelCursor=i}}),{priority:"lowest"}),ji().prototype.decorate.call(this,"init"),ji().prototype.decorate.call(this,"set"),ji().prototype.decorate.call(this,"get"),ji().prototype.decorate.call(this,"toView"),ji().prototype.decorate.call(this,"toModel"),this.on("init",(()=>{this.fire("ready")}),{priority:"lowest"}),this.on("ready",(()=>{this.model.enqueueChange({isUndoable:!1},Lc)}),{priority:"lowest"})}get(t={}){const{rootName:e="main",trim:n="empty"}=t;if(!this._checkIfRootsExists([e]))throw new bi("datacontroller-get-non-existent-root",this);const i=this.model.document.getRoot(e);return i.isAttached()||wi("datacontroller-get-detached-root",this),"empty"!==n||this.model.hasContent(i,{ignoreWhitespaces:!0})?this.stringify(i,t):""}stringify(t,e={}){const n=this.toView(t,e);return this.processor.toData(n)}toView(t,e={}){const n=this.viewDocument,i=this._viewWriter;this.mapper.clearBindings();const o=Ql._createIn(t),r=new ka(n);this.mapper.bindElements(t,r);const s=t.is("documentFragment")?t.markers:function(t){const e=[],n=t.root.document;if(!n)return new Map;const i=Ql._createIn(t);for(const t of n.model.markers){const n=t.getRange(),o=n.isCollapsed,r=n.start.isEqual(i.start)||n.end.isEqual(i.end);if(o&&r)e.push([t.name,n]);else{const o=i.getIntersection(n);o&&e.push([t.name,o])}}return e.sort((([t,e],[n,i])=>{if("after"!==e.end.compareWith(i.start))return 1;if("before"!==e.start.compareWith(i.end))return-1;switch(e.start.compareWith(i.start)){case"before":return 1;case"after":return-1;default:switch(e.end.compareWith(i.end)){case"before":return 1;case"after":return-1;default:return n.localeCompare(t)}}})),new Map(e)}(t);return this.downcastDispatcher.convert(o,s,i,e),r}init(t){if(this.model.document.version)throw new bi("datacontroller-init-document-not-empty",this);let e={};if("string"==typeof t?e.main=t:e=t,!this._checkIfRootsExists(Object.keys(e)))throw new bi("datacontroller-init-non-existent-root",this);return this.model.enqueueChange({isUndoable:!1},(t=>{for(const n of Object.keys(e)){const i=this.model.document.getRoot(n);t.insert(this.parse(e[n],i),i,0)}})),Promise.resolve()}set(t,e={}){let n={};if("string"==typeof t?n.main=t:n=t,!this._checkIfRootsExists(Object.keys(n)))throw new bi("datacontroller-set-non-existent-root",this);this.model.enqueueChange(e.batchType||{},(t=>{t.setSelection(null),t.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const e of Object.keys(n)){const i=this.model.document.getRoot(e);t.remove(t.createRangeIn(i)),t.insert(this.parse(n[e],i),i,0)}}))}parse(t,e="$root"){const n=this.processor.toView(t);return this.toModel(n,e)}toModel(t,e="$root"){return this.model.change((n=>this.upcastDispatcher.convert(t,n,e)))}addStyleProcessorRules(t){t(this.stylesProcessor)}registerRawContentMatcher(t){this.processor&&this.processor!==this.htmlProcessor&&this.processor.registerRawContentMatcher(t),this.htmlProcessor.registerRawContentMatcher(t)}destroy(){this.stopListening()}_checkIfRootsExists(t){for(const e of t)if(!this.model.document.getRoot(e))return!1;return!0}}class wd{_helpers=new Map;_downcast;_upcast;constructor(t,e){this._downcast=tr(t),this._createConversionHelpers({name:"downcast",dispatchers:this._downcast,isDowncast:!0}),this._upcast=tr(e),this._createConversionHelpers({name:"upcast",dispatchers:this._upcast,isDowncast:!1})}addAlias(t,e){const n=this._downcast.includes(e);if(!this._upcast.includes(e)&&!n)throw new bi("conversion-add-alias-dispatcher-not-registered",this);this._createConversionHelpers({name:t,dispatchers:[e],isDowncast:n})}for(t){if(!this._helpers.has(t))throw new bi("conversion-for-unknown-group",this);return this._helpers.get(t)}elementToElement(t){this.for("downcast").elementToElement(t);for(const{model:e,view:n}of Ad(t))this.for("upcast").elementToElement({model:e,view:n,converterPriority:t.converterPriority})}attributeToElement(t){this.for("downcast").attributeToElement(t);for(const{model:e,view:n}of Ad(t))this.for("upcast").elementToAttribute({view:n,model:e,converterPriority:t.converterPriority})}attributeToAttribute(t){this.for("downcast").attributeToAttribute(t);for(const{model:e,view:n}of Ad(t))this.for("upcast").attributeToAttribute({view:n,model:e})}_createConversionHelpers({name:t,dispatchers:e,isDowncast:n}){if(this._helpers.has(t))throw new bi("conversion-group-exists",this);const i=n?new Ac(e):new Oc(e);this._helpers.set(t,i)}}function*Ad(t){if(t.model.values)for(const e of t.model.values){const n={key:t.model.key,value:e},i=t.view[e],o=t.upcastAlso?t.upcastAlso[e]:void 0;yield*_d(n,i,o)}else yield*_d(t.model,t.view,t.upcastAlso)}function*_d(t,e,n){if(yield{model:t,view:e},n)for(const e of tr(n))yield{model:t,view:e}}class Cd{baseVersion;isDocumentOperation;batch;constructor(t){this.baseVersion=t,this.isDocumentOperation=null!==this.baseVersion,this.batch=null}_validate(){}toJSON(){const t=Object.assign({},this);return t.__className=this.constructor.className,delete t.batch,delete t.isDocumentOperation,t}static get className(){return"Operation"}static fromJSON(t,e){return new this(t.baseVersion)}}function vd(t,e){const n=Ed(e),i=n.reduce(((t,e)=>t+e.offsetSize),0),o=t.parent;Dd(t);const r=t.index;return o._insertChild(r,n),Bd(o,r+n.length),Bd(o,r),new Ql(t,t.getShiftedBy(i))}function yd(t){if(!t.isFlat)throw new bi("operation-utils-remove-range-not-flat",this);const e=t.start.parent;Dd(t.start),Dd(t.end);const n=e._removeChildren(t.start.index,t.end.index-t.start.index);return Bd(e,t.start.index),n}function xd(t,e){if(!t.isFlat)throw new bi("operation-utils-move-range-not-flat",this);const n=yd(t);return vd(e=e._getTransformedByDeletion(t.start,t.end.offset-t.start.offset),n)}function Ed(t){const e=[];!function t(n){if("string"==typeof n)e.push(new Hl(n));else if(n instanceof jl)e.push(new Hl(n.data,n.getAttributes()));else if(n instanceof Ol)e.push(n);else if(Zi(n))for(const e of n)t(e);else{}}(t);for(let t=1;tt.maxOffset)throw new bi("move-operation-nodes-do-not-exist",this);if(t===e&&n=n&&this.targetPosition.path[t]t._clone(!0)))),e=new Id(this.position,t,this.baseVersion);return e.shouldReceiveAttributes=this.shouldReceiveAttributes,e}getReversed(){const t=this.position.root.document.graveyard,e=new $l(t,[0]);return new Td(this.position,this.nodes.maxOffset,e,this.baseVersion+1)}_validate(){const t=this.position.parent;if(!t||t.maxOffsett._clone(!0)))),vd(this.position,t)}toJSON(){const t=super.toJSON();return t.position=this.position.toJSON(),t.nodes=this.nodes.toJSON(),t}static get className(){return"InsertOperation"}static fromJSON(t,e){const n=[];for(const e of t.nodes)e.name?n.push(ql.fromJSON(e)):n.push(Hl.fromJSON(e));const i=new Id($l.fromJSON(t.position,e),n,t.baseVersion);return i.shouldReceiveAttributes=t.shouldReceiveAttributes,i}}class Pd extends Cd{splitPosition;howMany;insertionPosition;graveyardPosition;constructor(t,e,n,i,o){super(o),this.splitPosition=t.clone(),this.splitPosition.stickiness="toNext",this.howMany=e,this.insertionPosition=n,this.graveyardPosition=i?i.clone():null,this.graveyardPosition&&(this.graveyardPosition.stickiness="toNext")}get type(){return"split"}get moveTargetPosition(){const t=this.insertionPosition.path.slice();return t.push(0),new $l(this.insertionPosition.root,t)}get movedRange(){const t=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new Ql(this.splitPosition,t)}get affectedSelectable(){const t=[Ql._createFromPositionAndShift(this.splitPosition,0),Ql._createFromPositionAndShift(this.insertionPosition,0)];return this.graveyardPosition&&t.push(Ql._createFromPositionAndShift(this.graveyardPosition,0)),t}clone(){return new Pd(this.splitPosition,this.howMany,this.insertionPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const t=this.splitPosition.root.document.graveyard,e=new $l(t,[0]);return new Fd(this.moveTargetPosition,this.howMany,this.splitPosition,e,this.baseVersion+1)}_validate(){const t=this.splitPosition.parent,e=this.splitPosition.offset;if(!t||t.maxOffset0&&(t.sourcePosition.isEqual(e.sourcePosition.getShiftedBy(e.howMany))&&this._setRelation(t,e,"mergeSourceAffected"),t.targetPosition.isEqual(e.sourcePosition)&&this._setRelation(t,e,"mergeTargetWasBefore"));else if(t instanceof Rd){const n=t.newRange;if(!n)return;if(e instanceof Fd){const i=n.start.isEqual(e.targetPosition),o=n.start.isEqual(e.deletionPosition),r=n.end.isEqual(e.deletionPosition),s=n.end.isEqual(e.sourcePosition);(i||o||r||s)&&this._setRelation(t,e,{wasInLeftElement:i,wasStartBeforeMergedElement:o,wasEndBeforeMergedElement:r,wasInRightElement:s})}}}getContext(t,e,n){return{aIsStrong:n,aWasUndone:this._wasUndone(t),bWasUndone:this._wasUndone(e),abRelation:this._useRelations?this._getRelation(t,e):null,baRelation:this._useRelations?this._getRelation(e,t):null,forceWeakRemove:this._forceWeakRemove}}_wasUndone(t){const e=this.originalOperations.get(t);return e.wasUndone||this._history.isUndoneOperation(e)}_getRelation(t,e){const n=this.originalOperations.get(e),i=this._history.getUndoneOperation(n);if(!i)return null;const o=this.originalOperations.get(t),r=this._relations.get(o);return r&&r.get(i)||null}_setRelation(t,e,n){const i=this.originalOperations.get(t),o=this.originalOperations.get(e);let r=this._relations.get(i);r||(r=new Map,this._relations.set(i,r)),r.set(o,n)}}function Yd(t,e){for(const n of t)n.baseVersion=e++}function Zd(t,e){for(let n=0;n{if(t.key===e.key&&t.range.start.hasSameParentAs(e.range.start)){const i=t.range.getDifference(e.range).map((e=>new Ld(e,t.key,t.oldValue,t.newValue,0))),o=t.range.getIntersection(e.range);return o&&n.aIsStrong&&i.push(new Ld(o,e.key,e.newValue,t.newValue,0)),0==i.length?[new zd(0)]:i}return[t]})),Wd(Ld,Id,((t,e)=>{if(t.range.start.hasSameParentAs(e.position)&&t.range.containsPosition(e.position)){const n=t.range._getTransformedByInsertion(e.position,e.howMany,!e.shouldReceiveAttributes).map((e=>new Ld(e,t.key,t.oldValue,t.newValue,t.baseVersion)));if(e.shouldReceiveAttributes){const i=Qd(e,t.key,t.oldValue);i&&n.unshift(i)}return n}return t.range=t.range._getTransformedByInsertion(e.position,e.howMany,!1)[0],[t]})),Wd(Ld,Fd,((t,e)=>{const n=[];t.range.start.hasSameParentAs(e.deletionPosition)&&(t.range.containsPosition(e.deletionPosition)||t.range.start.isEqual(e.deletionPosition))&&n.push(Ql._createFromPositionAndShift(e.graveyardPosition,1));const i=t.range._getTransformedByMergeOperation(e);return i.isCollapsed||n.push(i),n.map((e=>new Ld(e,t.key,t.oldValue,t.newValue,t.baseVersion)))})),Wd(Ld,Td,((t,e)=>{const n=function(t,e){const n=Ql._createFromPositionAndShift(e.sourcePosition,e.howMany);let i=null,o=[];n.containsRange(t,!0)?i=t:t.start.hasSameParentAs(n.start)?(o=t.getDifference(n),i=t.getIntersection(n)):o=[t];const r=[];for(let t of o){t=t._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=e.getMovedRangeStart(),i=t.start.hasSameParentAs(n),o=t._getTransformedByInsertion(n,e.howMany,i);r.push(...o)}i&&r.push(i._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany,!1)[0]);return r}(t.range,e);return n.map((e=>new Ld(e,t.key,t.oldValue,t.newValue,t.baseVersion)))})),Wd(Ld,Pd,((t,e)=>{if(t.range.end.isEqual(e.insertionPosition))return e.graveyardPosition||t.range.end.offset++,[t];if(t.range.start.hasSameParentAs(e.splitPosition)&&t.range.containsPosition(e.splitPosition)){const n=t.clone();return n.range=new Ql(e.moveTargetPosition.clone(),t.range.end._getCombined(e.splitPosition,e.moveTargetPosition)),t.range.end=e.splitPosition.clone(),t.range.end.stickiness="toPrevious",[t,n]}return t.range=t.range._getTransformedBySplitOperation(e),[t]})),Wd(Id,Ld,((t,e)=>{const n=[t];if(t.shouldReceiveAttributes&&t.position.hasSameParentAs(e.range.start)&&e.range.containsPosition(t.position)){const i=Qd(t,e.key,e.newValue);i&&n.push(i)}return n})),Wd(Id,Id,((t,e,n)=>(t.position.isEqual(e.position)&&n.aIsStrong||(t.position=t.position._getTransformedByInsertOperation(e)),[t]))),Wd(Id,Td,((t,e)=>(t.position=t.position._getTransformedByMoveOperation(e),[t]))),Wd(Id,Pd,((t,e)=>(t.position=t.position._getTransformedBySplitOperation(e),[t]))),Wd(Id,Fd,((t,e)=>(t.position=t.position._getTransformedByMergeOperation(e),[t]))),Wd(Rd,Id,((t,e)=>(t.oldRange&&(t.oldRange=t.oldRange._getTransformedByInsertOperation(e)[0]),t.newRange&&(t.newRange=t.newRange._getTransformedByInsertOperation(e)[0]),[t]))),Wd(Rd,Rd,((t,e,n)=>{if(t.name==e.name){if(!n.aIsStrong)return[new zd(0)];t.oldRange=e.newRange?e.newRange.clone():null}return[t]})),Wd(Rd,Fd,((t,e)=>(t.oldRange&&(t.oldRange=t.oldRange._getTransformedByMergeOperation(e)),t.newRange&&(t.newRange=t.newRange._getTransformedByMergeOperation(e)),[t]))),Wd(Rd,Td,((t,e)=>{const n=[t];if(t.oldRange&&(t.oldRange=Ql._createFromRanges(t.oldRange._getTransformedByMoveOperation(e))),t.newRange){const i=t.newRange._getTransformedByMoveOperation(e);t.newRange=i[0];for(let e=1;e{if(t.oldRange&&(t.oldRange=t.oldRange._getTransformedBySplitOperation(e)),t.newRange){if(n.abRelation){const i=t.newRange._getTransformedBySplitOperation(e);return t.newRange.start.isEqual(e.splitPosition)&&n.abRelation.wasStartBeforeMergedElement?t.newRange.start=$l._createAt(e.insertionPosition):t.newRange.start.isEqual(e.splitPosition)&&!n.abRelation.wasInLeftElement?t.newRange.start=$l._createAt(e.moveTargetPosition):t.newRange.start=i.start,t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasInRightElement?t.newRange.end=$l._createAt(e.moveTargetPosition):t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasEndBeforeMergedElement?t.newRange.end=$l._createAt(e.insertionPosition):t.newRange.end=i.end,[t]}t.newRange=t.newRange._getTransformedBySplitOperation(e)}return[t]})),Wd(Fd,Id,((t,e)=>(t.sourcePosition.hasSameParentAs(e.position)&&(t.howMany+=e.howMany),t.sourcePosition=t.sourcePosition._getTransformedByInsertOperation(e),t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e),[t]))),Wd(Fd,Fd,((t,e,n)=>{if(t.sourcePosition.isEqual(e.sourcePosition)&&t.targetPosition.isEqual(e.targetPosition)){if(n.bWasUndone){const n=e.graveyardPosition.path.slice();return n.push(0),t.sourcePosition=new $l(e.graveyardPosition.root,n),t.howMany=0,[t]}return[new zd(0)]}if(t.sourcePosition.isEqual(e.sourcePosition)&&!t.targetPosition.isEqual(e.targetPosition)&&!n.bWasUndone&&"splitAtSource"!=n.abRelation){const i="$graveyard"==t.targetPosition.root.rootName,o="$graveyard"==e.targetPosition.root.rootName;if(o&&!i||!(i&&!o)&&n.aIsStrong){const n=e.targetPosition._getTransformedByMergeOperation(e),i=t.targetPosition._getTransformedByMergeOperation(e);return[new Td(n,t.howMany,i,0)]}return[new zd(0)]}return t.sourcePosition.hasSameParentAs(e.targetPosition)&&(t.howMany+=e.howMany),t.sourcePosition=t.sourcePosition._getTransformedByMergeOperation(e),t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e),t.graveyardPosition.isEqual(e.graveyardPosition)&&n.aIsStrong||(t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)),[t]})),Wd(Fd,Td,((t,e,n)=>{const i=Ql._createFromPositionAndShift(e.sourcePosition,e.howMany);return"remove"==e.type&&!n.bWasUndone&&t.deletionPosition.hasSameParentAs(e.sourcePosition)&&i.containsPosition(t.sourcePosition)?[new zd(0)]:(e.sourcePosition.getShiftedBy(e.howMany).isEqual(t.sourcePosition)?t.sourcePosition.stickiness="toNone":e.targetPosition.isEqual(t.sourcePosition)&&"mergeSourceAffected"==n.abRelation?t.sourcePosition.stickiness="toNext":e.sourcePosition.isEqual(t.targetPosition)?(t.targetPosition.stickiness="toNone",t.howMany-=e.howMany):e.targetPosition.isEqual(t.targetPosition)&&"mergeTargetWasBefore"==n.abRelation?(t.targetPosition.stickiness="toPrevious",t.howMany+=e.howMany):(t.sourcePosition.hasSameParentAs(e.targetPosition)&&(t.howMany+=e.howMany),t.sourcePosition.hasSameParentAs(e.sourcePosition)&&(t.howMany-=e.howMany)),t.sourcePosition=t.sourcePosition._getTransformedByMoveOperation(e),t.targetPosition=t.targetPosition._getTransformedByMoveOperation(e),t.sourcePosition.stickiness="toPrevious",t.targetPosition.stickiness="toNext",t.graveyardPosition.isEqual(e.targetPosition)||(t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)),[t])})),Wd(Fd,Pd,((t,e,n)=>{if(e.graveyardPosition&&(t.graveyardPosition=t.graveyardPosition._getTransformedByDeletion(e.graveyardPosition,1),t.deletionPosition.isEqual(e.graveyardPosition)&&(t.howMany=e.howMany)),t.targetPosition.isEqual(e.splitPosition)){if(e.graveyardPosition&&t.deletionPosition.isEqual(e.graveyardPosition)||"mergeTargetNotMoved"==n.abRelation)return t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e),[t]}if(t.sourcePosition.isEqual(e.splitPosition)){if("mergeSourceNotMoved"==n.abRelation)return t.howMany=0,t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e),[t];if("mergeSameElement"==n.abRelation||t.sourcePosition.offset>0)return t.sourcePosition=e.moveTargetPosition.clone(),t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e),[t]}return t.sourcePosition.hasSameParentAs(e.splitPosition)&&(t.howMany=e.splitPosition.offset),t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e),t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e),[t]})),Wd(Td,Id,((t,e)=>{const n=Ql._createFromPositionAndShift(t.sourcePosition,t.howMany)._getTransformedByInsertOperation(e,!1)[0];return t.sourcePosition=n.start,t.howMany=n.end.offset-n.start.offset,t.targetPosition.isEqual(e.position)||(t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e)),[t]})),Wd(Td,Td,((t,e,n)=>{const i=Ql._createFromPositionAndShift(t.sourcePosition,t.howMany),o=Ql._createFromPositionAndShift(e.sourcePosition,e.howMany);let r,s=n.aIsStrong,a=!n.aIsStrong;if("insertBefore"==n.abRelation||"insertAfter"==n.baRelation?a=!0:"insertAfter"!=n.abRelation&&"insertBefore"!=n.baRelation||(a=!1),r=t.targetPosition.isEqual(e.targetPosition)&&a?t.targetPosition._getTransformedByDeletion(e.sourcePosition,e.howMany):t.targetPosition._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),Xd(t,e)&&Xd(e,t))return[e.getReversed()];if(i.containsPosition(e.targetPosition)&&i.containsRange(o,!0))return i.start=i.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),i.end=i.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),th([i],r);if(o.containsPosition(t.targetPosition)&&o.containsRange(i,!0))return i.start=i.start._getCombined(e.sourcePosition,e.getMovedRangeStart()),i.end=i.end._getCombined(e.sourcePosition,e.getMovedRangeStart()),th([i],r);const l=Yi(t.sourcePosition.getParentPath(),e.sourcePosition.getParentPath());if("prefix"==l||"extension"==l)return i.start=i.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),i.end=i.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),th([i],r);"remove"!=t.type||"remove"==e.type||n.aWasUndone||n.forceWeakRemove?"remove"==t.type||"remove"!=e.type||n.bWasUndone||n.forceWeakRemove||(s=!1):s=!0;const c=[],d=i.getDifference(o);for(const t of d){t.start=t.start._getTransformedByDeletion(e.sourcePosition,e.howMany),t.end=t.end._getTransformedByDeletion(e.sourcePosition,e.howMany);const n="same"==Yi(t.start.getParentPath(),e.getMovedRangeStart().getParentPath()),i=t._getTransformedByInsertion(e.getMovedRangeStart(),e.howMany,n);c.push(...i)}const h=i.getIntersection(o);return null!==h&&s&&(h.start=h.start._getCombined(e.sourcePosition,e.getMovedRangeStart()),h.end=h.end._getCombined(e.sourcePosition,e.getMovedRangeStart()),0===c.length?c.push(h):1==c.length?o.start.isBefore(i.start)||o.start.isEqual(i.start)?c.unshift(h):c.push(h):c.splice(1,0,h)),0===c.length?[new zd(t.baseVersion)]:th(c,r)})),Wd(Td,Pd,((t,e,n)=>{let i=t.targetPosition.clone();t.targetPosition.isEqual(e.insertionPosition)&&e.graveyardPosition&&"moveTargetAfter"!=n.abRelation||(i=t.targetPosition._getTransformedBySplitOperation(e));const o=Ql._createFromPositionAndShift(t.sourcePosition,t.howMany);if(o.end.isEqual(e.insertionPosition))return e.graveyardPosition||t.howMany++,t.targetPosition=i,[t];if(o.start.hasSameParentAs(e.splitPosition)&&o.containsPosition(e.splitPosition)){let t=new Ql(e.splitPosition,o.end);t=t._getTransformedBySplitOperation(e);return th([new Ql(o.start,e.splitPosition),t],i)}t.targetPosition.isEqual(e.splitPosition)&&"insertAtSource"==n.abRelation&&(i=e.moveTargetPosition),t.targetPosition.isEqual(e.insertionPosition)&&"insertBetween"==n.abRelation&&(i=t.targetPosition);const r=[o._getTransformedBySplitOperation(e)];if(e.graveyardPosition){const i=o.start.isEqual(e.graveyardPosition)||o.containsPosition(e.graveyardPosition);t.howMany>1&&i&&!n.aWasUndone&&r.push(Ql._createFromPositionAndShift(e.insertionPosition,1))}return th(r,i)})),Wd(Td,Fd,((t,e,n)=>{const i=Ql._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.deletionPosition.hasSameParentAs(t.sourcePosition)&&i.containsPosition(e.sourcePosition))if("remove"!=t.type||n.forceWeakRemove){if(1==t.howMany)return n.bWasUndone?(t.sourcePosition=e.graveyardPosition.clone(),t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e),[t]):[new zd(0)]}else if(!n.aWasUndone){const n=[];let i=e.graveyardPosition.clone(),o=e.targetPosition._getTransformedByMergeOperation(e);const r=t.targetPosition.getTransformedByOperation(e);t.howMany>1&&(n.push(new Td(t.sourcePosition,t.howMany-1,r,0)),i=i._getTransformedByMove(t.sourcePosition,r,t.howMany-1),o=o._getTransformedByMove(t.sourcePosition,r,t.howMany-1));const s=e.deletionPosition._getCombined(t.sourcePosition,r),a=new Td(i,1,s,0),l=a.getMovedRangeStart().path.slice();l.push(0);const c=new $l(a.targetPosition.root,l);o=o._getTransformedByMove(i,s,1);const d=new Td(o,e.howMany,c,0);return n.push(a),n.push(d),n}const o=Ql._createFromPositionAndShift(t.sourcePosition,t.howMany)._getTransformedByMergeOperation(e);return t.sourcePosition=o.start,t.howMany=o.end.offset-o.start.offset,t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e),[t]})),Wd(Md,Id,((t,e)=>(t.position=t.position._getTransformedByInsertOperation(e),[t]))),Wd(Md,Fd,((t,e)=>t.position.isEqual(e.deletionPosition)?(t.position=e.graveyardPosition.clone(),t.position.stickiness="toNext",[t]):(t.position=t.position._getTransformedByMergeOperation(e),[t]))),Wd(Md,Td,((t,e)=>(t.position=t.position._getTransformedByMoveOperation(e),[t]))),Wd(Md,Md,((t,e,n)=>{if(t.position.isEqual(e.position)){if(!n.aIsStrong)return[new zd(0)];t.oldName=e.newName}return[t]})),Wd(Md,Pd,((t,e)=>{if("same"==Yi(t.position.path,e.splitPosition.getParentPath())&&!e.graveyardPosition){const e=new Md(t.position.getShiftedBy(1),t.oldName,t.newName,0);return[t,e]}return t.position=t.position._getTransformedBySplitOperation(e),[t]})),Wd(Od,Od,((t,e,n)=>{if(t.root===e.root&&t.key===e.key){if(!n.aIsStrong||t.newValue===e.newValue)return[new zd(0)];t.oldValue=e.newValue}return[t]})),Wd(Nd,Nd,((t,e)=>t.rootName===e.rootName&&t.isAdd===e.isAdd?[new zd(0)]:[t])),Wd(Pd,Id,((t,e)=>(t.splitPosition.hasSameParentAs(e.position)&&t.splitPosition.offset{if(!t.graveyardPosition&&!n.bWasUndone&&t.splitPosition.hasSameParentAs(e.sourcePosition)){const n=e.graveyardPosition.path.slice();n.push(0);const i=new $l(e.graveyardPosition.root,n),o=Pd.getInsertionPosition(new $l(e.graveyardPosition.root,n)),r=new Pd(i,0,o,null,0);return t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e),t.insertionPosition=Pd.getInsertionPosition(t.splitPosition),t.graveyardPosition=r.insertionPosition.clone(),t.graveyardPosition.stickiness="toNext",[r,t]}return t.splitPosition.hasSameParentAs(e.deletionPosition)&&!t.splitPosition.isAfter(e.deletionPosition)&&t.howMany--,t.splitPosition.hasSameParentAs(e.targetPosition)&&(t.howMany+=e.howMany),t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e),t.insertionPosition=Pd.getInsertionPosition(t.splitPosition),t.graveyardPosition&&(t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)),[t]})),Wd(Pd,Td,((t,e,n)=>{const i=Ql._createFromPositionAndShift(e.sourcePosition,e.howMany);if(t.graveyardPosition){const o=i.start.isEqual(t.graveyardPosition)||i.containsPosition(t.graveyardPosition);if(!n.bWasUndone&&o){const n=t.splitPosition._getTransformedByMoveOperation(e),i=t.graveyardPosition._getTransformedByMoveOperation(e),o=i.path.slice();o.push(0);const r=new $l(i.root,o);return[new Td(n,t.howMany,r,0)]}t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}const o=t.splitPosition.isEqual(e.targetPosition);if(o&&("insertAtSource"==n.baRelation||"splitBefore"==n.abRelation))return t.howMany+=e.howMany,t.splitPosition=t.splitPosition._getTransformedByDeletion(e.sourcePosition,e.howMany),t.insertionPosition=Pd.getInsertionPosition(t.splitPosition),[t];if(o&&n.abRelation&&n.abRelation.howMany){const{howMany:e,offset:i}=n.abRelation;return t.howMany+=e,t.splitPosition=t.splitPosition.getShiftedBy(i),[t]}if(t.splitPosition.hasSameParentAs(e.sourcePosition)&&i.containsPosition(t.splitPosition)){const n=e.howMany-(t.splitPosition.offset-e.sourcePosition.offset);return t.howMany-=n,t.splitPosition.hasSameParentAs(e.targetPosition)&&t.splitPosition.offset{if(t.splitPosition.isEqual(e.splitPosition)){if(!t.graveyardPosition&&!e.graveyardPosition)return[new zd(0)];if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition))return[new zd(0)];if("splitBefore"==n.abRelation)return t.howMany=0,t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e),[t]}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){const i="$graveyard"==t.splitPosition.root.rootName,o="$graveyard"==e.splitPosition.root.rootName;if(o&&!i||!(i&&!o)&&n.aIsStrong){const n=[];return e.howMany&&n.push(new Td(e.moveTargetPosition,e.howMany,e.splitPosition,0)),t.howMany&&n.push(new Td(t.splitPosition,t.howMany,t.moveTargetPosition,0)),n}return[new zd(0)]}if(t.graveyardPosition&&(t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e)),t.splitPosition.isEqual(e.insertionPosition)&&"splitBefore"==n.abRelation)return t.howMany++,[t];if(e.splitPosition.isEqual(t.insertionPosition)&&"splitBefore"==n.baRelation){const n=e.insertionPosition.path.slice();n.push(0);const i=new $l(e.insertionPosition.root,n);return[t,new Td(t.insertionPosition,1,i,0)]}return t.splitPosition.hasSameParentAs(e.splitPosition)&&t.splitPosition.offset{const n=e[0];n.isDocumentOperation&&ih.call(this,n)}),{priority:"low"})}function ih(t){const e=this.getTransformedByOperation(t);if(!this.isEqual(e)){const t=this.toPosition();this.path=e.path,this.root=e.root,this.fire("change",t)}}eh.prototype.is=function(t){return"livePosition"===t||"model:livePosition"===t||"position"==t||"model:position"===t};class oh{operations;isUndoable;isLocal;isUndo;isTyping;constructor(t={}){"string"==typeof t&&(t="transparent"===t?{isUndoable:!1}:{},wi("batch-constructor-deprecated-string-type"));const{isUndoable:e=!0,isLocal:n=!0,isUndo:i=!1,isTyping:o=!1}=t;this.operations=[],this.isUndoable=e,this.isLocal=n,this.isUndo=i,this.isTyping=o}get type(){return wi("batch-type-deprecated"),"default"}get baseVersion(){for(const t of this.operations)if(null!==t.baseVersion)return t.baseVersion;return null}addOperation(t){return t.batch=this,this.operations.push(t),t}}class rh{static _statesPriority=[void 0,"refresh","rename","move"];_markerCollection;_changesInElement=new Map;_elementsSnapshots=new Map;_elementChildrenSnapshots=new Map;_elementState=new Map;_changedMarkers=new Map;_changedRoots=new Map;_changeCount=0;_cachedChanges=null;_cachedChangesWithGraveyard=null;_refreshedItems=new Set;constructor(t){this._markerCollection=t}get isEmpty(){return 0==this._changesInElement.size&&0==this._changedMarkers.size&&0==this._changedRoots.size}bufferOperation(t){const e=t;switch(e.type){case"insert":if(this._isInInsertedElement(e.position.parent))return;this._markInsert(e.position.parent,e.position.offset,e.nodes.maxOffset);break;case"addAttribute":case"removeAttribute":case"changeAttribute":for(const t of e.range.getItems({shallow:!0}))this._isInInsertedElement(t.parent)||this._markAttribute(t);break;case"remove":case"move":case"reinsert":{if(e.sourcePosition.isEqual(e.targetPosition)||e.sourcePosition.getShiftedBy(e.howMany).isEqual(e.targetPosition))return;const t=this._isInInsertedElement(e.sourcePosition.parent),n=this._isInInsertedElement(e.targetPosition.parent);t||this._markRemove(e.sourcePosition.parent,e.sourcePosition.offset,e.howMany),n||this._markInsert(e.targetPosition.parent,e.getMovedRangeStart().offset,e.howMany);const i=Ql._createFromPositionAndShift(e.sourcePosition,e.howMany);for(const t of i.getItems({shallow:!0}))this._setElementState(t,"move");break}case"rename":{if(this._isInInsertedElement(e.position.parent))return;this._markRemove(e.position.parent,e.position.offset,1),this._markInsert(e.position.parent,e.position.offset,1);const t=Ql._createFromPositionAndShift(e.position,1);for(const e of this._markerCollection.getMarkersIntersectingRange(t)){const t=e.getData();this.bufferMarkerChange(e.name,t,t)}this._setElementState(e.position.nodeAfter,"rename");break}case"split":{const t=e.splitPosition.parent;if(!this._isInInsertedElement(t)){this._markRemove(t,e.splitPosition.offset,e.howMany);const n=Ql._createFromPositionAndShift(e.splitPosition,e.howMany);for(const t of n.getItems({shallow:!0}))this._setElementState(t,"move")}this._isInInsertedElement(e.insertionPosition.parent)||this._markInsert(e.insertionPosition.parent,e.insertionPosition.offset,1),e.graveyardPosition&&(this._markRemove(e.graveyardPosition.parent,e.graveyardPosition.offset,1),this._setElementState(e.graveyardPosition.nodeAfter,"move"));break}case"merge":{const t=e.sourcePosition.parent;this._isInInsertedElement(t.parent)||this._markRemove(t.parent,t.startOffset,1);const n=e.graveyardPosition.parent;this._markInsert(n,e.graveyardPosition.offset,1),this._setElementState(t,"move");const i=e.targetPosition.parent;if(!this._isInInsertedElement(i)){this._markInsert(i,e.targetPosition.offset,t.maxOffset);const n=Ql._createFromPositionAndShift(e.sourcePosition,e.howMany);for(const t of n.getItems({shallow:!0}))this._setElementState(t,"move")}break}case"detachRoot":case"addRoot":{const t=e.affectedSelectable;if(!t._isLoaded)return;if(t.isAttached()==e.isAdd)return;this._bufferRootStateChange(e.rootName,e.isAdd);break}case"addRootAttribute":case"removeRootAttribute":case"changeRootAttribute":{if(!e.root._isLoaded)return;const t=e.root.rootName;this._bufferRootAttributeChange(t,e.key,e.oldValue,e.newValue);break}}this._cachedChanges=null}bufferMarkerChange(t,e,n){e.range&&e.range.root.is("rootElement")&&!e.range.root._isLoaded&&(e.range=null),n.range&&n.range.root.is("rootElement")&&!n.range.root._isLoaded&&(n.range=null);let i=this._changedMarkers.get(t);i?i.newMarkerData=n:(i={newMarkerData:n,oldMarkerData:e},this._changedMarkers.set(t,i)),null==i.oldMarkerData.range&&null==n.range&&this._changedMarkers.delete(t)}getMarkersToRemove(){const t=[];for(const[e,n]of this._changedMarkers)null!=n.oldMarkerData.range&&t.push({name:e,range:n.oldMarkerData.range});return t}getMarkersToAdd(){const t=[];for(const[e,n]of this._changedMarkers)null!=n.newMarkerData.range&&t.push({name:e,range:n.newMarkerData.range});return t}getChangedMarkers(){return Array.from(this._changedMarkers).map((([t,e])=>({name:t,data:{oldRange:e.oldMarkerData.range,newRange:e.newMarkerData.range}})))}hasDataChanges(){if(this.getChanges().length)return!0;if(this._changedRoots.size>0)return!0;for(const{newMarkerData:t,oldMarkerData:e}of this._changedMarkers.values()){if(t.affectsData!==e.affectsData)return!0;if(t.affectsData){const n=t.range&&!e.range,i=!t.range&&e.range,o=t.range&&e.range&&!t.range.isEqual(e.range);if(n||i||o)return!0}}return!1}getChanges(t={}){if(this._cachedChanges)return t.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice();let e=[];for(const t of this._changesInElement.keys()){const n=this._changesInElement.get(t).sort(((t,e)=>t.offset===e.offset?t.type!=e.type?"remove"==t.type?-1:1:0:t.offsett.position.root!=e.position.root?t.position.root.rootNamet));for(const t of e)delete t.changeCount,"attribute"==t.type&&(delete t.position,delete t.length);return this._changeCount=0,this._cachedChangesWithGraveyard=e,this._cachedChanges=e.filter(ch),t.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice()}getChangedRoots(){return Array.from(this._changedRoots.values()).map((t=>{const e={...t};return void 0!==e.state&&delete e.attributes,e}))}getRefreshedItems(){return new Set(this._refreshedItems)}reset(){this._changesInElement.clear(),this._elementChildrenSnapshots.clear(),this._elementsSnapshots.clear(),this._elementState.clear(),this._changedMarkers.clear(),this._changedRoots.clear(),this._refreshedItems.clear(),this._cachedChanges=null}_refreshItem(t){if(this._isInInsertedElement(t.parent))return;this._markRemove(t.parent,t.startOffset,t.offsetSize),this._markInsert(t.parent,t.startOffset,t.offsetSize),this._refreshedItems.add(t),this._setElementState(t,"refresh");const e=Ql._createOn(t);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getData();this.bufferMarkerChange(t.name,e,e)}this._cachedChanges=null}_bufferRootLoad(t){if(t.isAttached()){this._bufferRootStateChange(t.rootName,!0),this._markInsert(t,0,t.maxOffset);for(const e of t.getAttributeKeys())this._bufferRootAttributeChange(t.rootName,e,null,t.getAttribute(e));for(const e of this._markerCollection)if(e.getRange().root==t){const t=e.getData();this.bufferMarkerChange(e.name,{...t,range:null},t)}}}_bufferRootStateChange(t,e){if(!this._changedRoots.has(t))return void this._changedRoots.set(t,{name:t,state:e?"attached":"detached"});const n=this._changedRoots.get(t);void 0!==n.state?(delete n.state,void 0===n.attributes&&this._changedRoots.delete(t)):n.state=e?"attached":"detached"}_bufferRootAttributeChange(t,e,n,i){const o=this._changedRoots.get(t)||{name:t},r=o.attributes||{};if(r[e]){const t=r[e];i===t.oldValue?delete r[e]:t.newValue=i}else r[e]={oldValue:n,newValue:i};0===Object.entries(r).length?(delete o.attributes,void 0===o.state&&this._changedRoots.delete(t)):(o.attributes=r,this._changedRoots.set(t,o))}_markInsert(t,e,n){if(t.root.is("rootElement")&&!t.root._isLoaded)return;const i={type:"insert",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i)}_markRemove(t,e,n){if(t.root.is("rootElement")&&!t.root._isLoaded)return;const i={type:"remove",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i),this._removeAllNestedChanges(t,e,n)}_markAttribute(t){if(t.root.is("rootElement")&&!t.root._isLoaded)return;const e={type:"attribute",offset:t.startOffset,howMany:t.offsetSize,count:this._changeCount++};this._markChange(t.parent,e)}_markChange(t,e){this._makeSnapshots(t);const n=this._getChangesForElement(t);this._handleChange(e,n),n.push(e);for(let t=0;tn&&this._elementState.set(t,e)}_getDiffActionForNode(t,e){if(!t.is("element"))return e;if(!this._elementsSnapshots.has(t))return e;const n=this._elementState.get(t);return n&&"move"!=n?n:e}_getChangesForElement(t){let e;return this._changesInElement.has(t)?e=this._changesInElement.get(t):(e=[],this._changesInElement.set(t,e)),e}_makeSnapshots(t){if(this._elementChildrenSnapshots.has(t))return;const e=ah(t.getChildren());this._elementChildrenSnapshots.set(t,e);for(const t of e)this._elementsSnapshots.set(t.node,t)}_handleChange(t,e){t.nodesToHandle=t.howMany;for(const n of e){const i=t.offset+t.howMany,o=n.offset+n.howMany;if("insert"==t.type&&("insert"==n.type&&(t.offset<=n.offset?n.offset+=t.howMany:t.offsetn.offset){if(i>o){const t={type:"attribute",offset:o,howMany:i-o,count:this._changeCount++};this._handleChange(t,e),e.push(t)}t.nodesToHandle=n.offset-t.offset,t.howMany=t.nodesToHandle}else t.offset>=n.offset&&t.offseto?(t.nodesToHandle=i-o,t.offset=o):t.nodesToHandle=0);if("remove"==n.type&&t.offsetn.offset){const o={type:"attribute",offset:n.offset,howMany:i-n.offset,count:this._changeCount++};this._handleChange(o,e),e.push(o),t.nodesToHandle=n.offset-t.offset,t.howMany=t.nodesToHandle}"attribute"==n.type&&(t.offset>=n.offset&&i<=o?(t.nodesToHandle=0,t.howMany=0,t.offset=0):t.offset<=n.offset&&i>=o&&(n.howMany=0))}}t.howMany=t.nodesToHandle,delete t.nodesToHandle}_getInsertDiff(t,e,n,i,o){const r={type:"insert",position:$l._createAt(t,e),name:i.name,attributes:new Map(i.attributes),length:1,changeCount:this._changeCount++,action:n};return"insert"!=n&&o&&(r.before={name:o.name,attributes:new Map(o.attributes)}),r}_getRemoveDiff(t,e,n,i){return{type:"remove",action:n,position:$l._createAt(t,e),name:i.name,attributes:new Map(i.attributes),length:1,changeCount:this._changeCount++}}_getAttributesDiff(t,e,n){const i=[];n=new Map(n);for(const[o,r]of e){const e=n.has(o)?n.get(o):null;e!==r&&i.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:o,attributeOldValue:r,attributeNewValue:e,changeCount:this._changeCount++}),n.delete(o)}for(const[e,o]of n)i.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:e,attributeOldValue:null,attributeNewValue:o,changeCount:this._changeCount++});return i}_isInInsertedElement(t){const e=t.parent;if(!e)return!1;const n=this._changesInElement.get(e),i=t.startOffset;if(n)for(const t of n)if("insert"==t.type&&i>=t.offset&&ii){for(let e=0;e1500)for(let e=0;ethis._version+1&&this._gaps.set(this._version,t),this._version=t}get lastOperation(){return this._operations[this._operations.length-1]}addOperation(t){if(t.baseVersion!==this.version)throw new bi("model-document-history-addoperation-incorrect-version",this,{operation:t,historyVersion:this.version});this._operations.push(t),this._version++,this._baseVersionToOperationIndex.set(t.baseVersion,this._operations.length-1)}getOperations(t,e=this.version){if(!this._operations.length)return[];const n=this._operations[0];void 0===t&&(t=n.baseVersion);let i=e-1;for(const[e,n]of this._gaps)t>e&&te&&ithis.lastOperation.baseVersion)return[];let o=this._baseVersionToOperationIndex.get(t);void 0===o&&(o=0);let r=this._baseVersionToOperationIndex.get(i);return void 0===r&&(r=this._operations.length-1),this._operations.slice(o,r+1)}getOperation(t){const e=this._baseVersionToOperationIndex.get(t);if(void 0!==e)return this._operations[e]}setOperationAsUndone(t,e){this._undoPairs.set(e,t),this._undoneOperations.add(t)}isUndoingOperation(t){return this._undoPairs.has(t)}isUndoneOperation(t){return this._undoneOperations.has(t)}getUndoneOperation(t){return this._undoPairs.get(t)}reset(){this._version=0,this._undoPairs=new Map,this._operations=[],this._undoneOperations=new Set,this._gaps=new Map,this._baseVersionToOperationIndex=new Map}}class hh extends ql{rootName;_document;_isAttached=!0;_isLoaded=!0;constructor(t,e,n="main"){super(e),this._document=t,this.rootName=n}get document(){return this._document}isAttached(){return this._isAttached}toJSON(){return this.rootName}}hh.prototype.is=function(t,e){return e?e===this.name&&("rootElement"===t||"model:rootElement"===t||"element"===t||"model:element"===t):"rootElement"===t||"model:rootElement"===t||"element"===t||"model:element"===t||"node"===t||"model:node"===t};const uh="$graveyard";class mh extends(Di()){model;history;selection;roots;differ;isReadOnly;_postFixers;_hasSelectionChangedFromTheLastChangeBlock;constructor(t){super(),this.model=t,this.history=new dh,this.selection=new fc(this),this.roots=new xr({idProperty:"rootName"}),this.differ=new rh(t.markers),this.isReadOnly=!1,this._postFixers=new Set,this._hasSelectionChangedFromTheLastChangeBlock=!1,this.createRoot("$root",uh),this.listenTo(t,"applyOperation",((t,e)=>{const n=e[0];n.isDocumentOperation&&this.differ.bufferOperation(n)}),{priority:"high"}),this.listenTo(t,"applyOperation",((t,e)=>{const n=e[0];n.isDocumentOperation&&this.history.addOperation(n)}),{priority:"low"}),this.listenTo(this.selection,"change",(()=>{this._hasSelectionChangedFromTheLastChangeBlock=!0})),this.listenTo(t.markers,"update",((t,e,n,i,o)=>{const r={...e.getData(),range:i};this.differ.bufferMarkerChange(e.name,o,r),null===n&&e.on("change",((t,n)=>{const i=e.getData();this.differ.bufferMarkerChange(e.name,{...i,range:n},i)}))})),this.registerPostFixer((t=>{let e=!1;for(const n of this.roots)n.isAttached()||n.isEmpty||(t.remove(t.createRangeIn(n)),e=!0);for(const n of this.model.markers)n.getRange().root.isAttached()||(t.removeMarker(n),e=!0);return e}))}get version(){return this.history.version}set version(t){this.history.version=t}get graveyard(){return this.getRoot(uh)}createRoot(t="$root",e="main"){if(this.roots.get(e))throw new bi("model-document-createroot-name-exists",this,{name:e});const n=new hh(this,t,e);return this.roots.add(n),n}destroy(){this.selection.destroy(),this.stopListening()}getRoot(t="main"){return this.roots.get(t)}getRootNames(t=!1){return this.getRoots(t).map((t=>t.rootName))}getRoots(t=!1){return this.roots.filter((e=>e!=this.graveyard&&(t||e.isAttached())&&e._isLoaded))}registerPostFixer(t){this._postFixers.add(t)}toJSON(){const t=is(this);return t.selection="[engine.model.DocumentSelection]",t.model="[engine.model.Model]",t}_handleChangeBlock(t){this._hasDocumentChangedFromTheLastChangeBlock()&&(this._callPostFixers(t),this.selection.refresh(),this.differ.hasDataChanges()?this.fire("change:data",t.batch):this.fire("change",t.batch),this.selection.refresh(),this.differ.reset()),this._hasSelectionChangedFromTheLastChangeBlock=!1}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){const t=this.getRoots();return t.length?t[0]:this.graveyard}_getDefaultRange(){const t=this._getDefaultRoot(),e=this.model,n=e.schema,i=e.createPositionFromPath(t,[0]);return n.getNearestSelectionRange(i)||e.createRange(i)}_validateSelectionRange(t){return gh(t.start)&&gh(t.end)}_callPostFixers(t){let e=!1;do{for(const n of this._postFixers)if(this.selection.refresh(),e=n(t),e)break}while(e)}}function gh(t){const e=t.textNode;if(e){const n=e.data,i=t.offset-e.startOffset;return!Ir(n,i)&&!Pr(n,i)}return!0}class ph extends(Di()){_markers=new Map;[Symbol.iterator](){return this._markers.values()}has(t){const e=t instanceof fh?t.name:t;return this._markers.has(e)}get(t){return this._markers.get(t)||null}_set(t,e,n=!1,i=!1){const o=t instanceof fh?t.name:t;if(o.includes(","))throw new bi("markercollection-incorrect-marker-name",this);const r=this._markers.get(o);if(r){const t=r.getData(),s=r.getRange();let a=!1;return s.isEqual(e)||(r._attachLiveRange(uc.fromRange(e)),a=!0),n!=r.managedUsingOperations&&(r._managedUsingOperations=n,a=!0),"boolean"==typeof i&&i!=r.affectsData&&(r._affectsData=i,a=!0),a&&this.fire(`update:${o}`,r,s,e,t),r}const s=uc.fromRange(e),a=new fh(o,s,n,i);return this._markers.set(o,a),this.fire(`update:${o}`,a,null,e,{...a.getData(),range:null}),a}_remove(t){const e=t instanceof fh?t.name:t,n=this._markers.get(e);return!!n&&(this._markers.delete(e),this.fire(`update:${e}`,n,n.getRange(),null,n.getData()),this._destroyMarker(n),!0)}_refresh(t){const e=t instanceof fh?t.name:t,n=this._markers.get(e);if(!n)throw new bi("markercollection-refresh-marker-not-exists",this);const i=n.getRange();this.fire(`update:${e}`,n,i,i,n.getData())}*getMarkersAtPosition(t){for(const e of this)e.getRange().containsPosition(t)&&(yield e)}*getMarkersIntersectingRange(t){for(const e of this)null!==e.getRange().getIntersection(t)&&(yield e)}destroy(){for(const t of this._markers.values())this._destroyMarker(t);this._markers=null,this.stopListening()}*getMarkersGroup(t){for(const e of this._markers.values())e.name.startsWith(t+":")&&(yield e)}_destroyMarker(t){t.stopListening(),t._detachLiveRange()}}class fh extends(Di(Ml)){name;_managedUsingOperations;_affectsData;_liveRange;constructor(t,e,n,i){super(),this.name=t,this._liveRange=this._attachLiveRange(e),this._managedUsingOperations=n,this._affectsData=i}get managedUsingOperations(){if(!this._liveRange)throw new bi("marker-destroyed",this);return this._managedUsingOperations}get affectsData(){if(!this._liveRange)throw new bi("marker-destroyed",this);return this._affectsData}getData(){return{range:this.getRange(),affectsData:this.affectsData,managedUsingOperations:this.managedUsingOperations}}getStart(){if(!this._liveRange)throw new bi("marker-destroyed",this);return this._liveRange.start.clone()}getEnd(){if(!this._liveRange)throw new bi("marker-destroyed",this);return this._liveRange.end.clone()}getRange(){if(!this._liveRange)throw new bi("marker-destroyed",this);return this._liveRange.toRange()}_attachLiveRange(t){return this._liveRange&&this._detachLiveRange(),t.delegate("change:range").to(this),t.delegate("change:content").to(this),this._liveRange=t,t}_detachLiveRange(){this._liveRange.stopDelegating("change:range",this),this._liveRange.stopDelegating("change:content",this),this._liveRange.detach(),this._liveRange=null}}fh.prototype.is=function(t){return"marker"===t||"model:marker"===t};class kh extends Cd{sourcePosition;howMany;constructor(t,e){super(null),this.sourcePosition=t.clone(),this.howMany=e}get type(){return"detach"}get affectedSelectable(){return null}toJSON(){const t=super.toJSON();return t.sourcePosition=this.sourcePosition.toJSON(),t}_validate(){if(this.sourcePosition.root.document)throw new bi("detach-operation-on-document-node",this)}_execute(){yd(Ql._createFromPositionAndShift(this.sourcePosition,this.howMany))}static get className(){return"DetachOperation"}}class bh extends Ml{markers=new Map;_children=new Nl;constructor(t){super(),t&&this._insertChild(0,t)}[Symbol.iterator](){return this.getChildren()}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}get nextSibling(){return null}get previousSibling(){return null}get root(){return this}get parent(){return null}get document(){return null}isAttached(){return!1}getAncestors(){return[]}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}getPath(){return[]}getNodeByPath(t){let e=this;for(const n of t)e=e.getChild(e.offsetToIndex(n));return e}offsetToIndex(t){return this._children.offsetToIndex(t)}toJSON(){const t=[];for(const e of this._children)t.push(e.toJSON());return t}static fromJSON(t){const e=[];for(const n of t)n.name?e.push(ql.fromJSON(n)):e.push(Hl.fromJSON(n));return new bh(e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=function(t){if("string"==typeof t)return[new Hl(t)];Zi(t)||(t=[t]);return Array.from(t).map((t=>"string"==typeof t?new Hl(t):t instanceof jl?new Hl(t.data,t.getAttributes()):t))}(e);for(const t of n)null!==t.parent&&t._remove(),t.parent=this;this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n)t.parent=null;return n}}bh.prototype.is=function(t){return"documentFragment"===t||"model:documentFragment"===t};class wh{model;batch;constructor(t,e){this.model=t,this.batch=e}createText(t,e){return new Hl(t,e)}createElement(t,e){return new ql(t,e)}createDocumentFragment(){return new bh}cloneElement(t,e=!0){return t._clone(e)}insert(t,e,n=0){if(this._assertWriterUsedCorrectly(),t instanceof Hl&&""==t.data)return;const i=$l._createAt(e,n);if(t.parent){if(yh(t.root,i.root))return void this.move(Ql._createOn(t),i);if(t.root.document)throw new bi("model-writer-insert-forbidden-move",this);this.remove(t)}const o=i.root.document?i.root.document.version:null,r=new Id(i,t,o);if(t instanceof Hl&&(r.shouldReceiveAttributes=!0),this.batch.addOperation(r),this.model.applyOperation(r),t instanceof bh)for(const[e,n]of t.markers){const t=$l._createAt(n.root,0),o={range:new Ql(n.start._getCombined(t,i),n.end._getCombined(t,i)),usingOperation:!0,affectsData:!0};this.model.markers.has(e)?this.updateMarker(e,o):this.addMarker(e,o)}}insertText(t,e,n,i){e instanceof bh||e instanceof ql||e instanceof $l?this.insert(this.createText(t),e,n):this.insert(this.createText(t,e),n,i)}insertElement(t,e,n,i){e instanceof bh||e instanceof ql||e instanceof $l?this.insert(this.createElement(t),e,n):this.insert(this.createElement(t,e),n,i)}append(t,e){this.insert(t,e,"end")}appendText(t,e,n){e instanceof bh||e instanceof ql?this.insert(this.createText(t),e,"end"):this.insert(this.createText(t,e),n,"end")}appendElement(t,e,n){e instanceof bh||e instanceof ql?this.insert(this.createElement(t),e,"end"):this.insert(this.createElement(t,e),n,"end")}setAttribute(t,e,n){if(this._assertWriterUsedCorrectly(),n instanceof Ql){const i=n.getMinimalFlatRanges();for(const n of i)Ah(this,t,e,n)}else _h(this,t,e,n)}setAttributes(t,e){for(const[n,i]of Sr(t))this.setAttribute(n,i,e)}removeAttribute(t,e){if(this._assertWriterUsedCorrectly(),e instanceof Ql){const n=e.getMinimalFlatRanges();for(const e of n)Ah(this,t,null,e)}else _h(this,t,null,e)}clearAttributes(t){this._assertWriterUsedCorrectly();const e=t=>{for(const e of t.getAttributeKeys())this.removeAttribute(e,t)};if(t instanceof Ql)for(const n of t.getItems())e(n);else e(t)}move(t,e,n){if(this._assertWriterUsedCorrectly(),!(t instanceof Ql))throw new bi("writer-move-invalid-range",this);if(!t.isFlat)throw new bi("writer-move-range-not-flat",this);const i=$l._createAt(e,n);if(i.isEqual(t.start))return;if(this._addOperationForAffectedMarkers("move",t),!yh(t.root,i.root))throw new bi("writer-move-different-document",this);const o=t.root.document?t.root.document.version:null,r=new Td(t.start,t.end.offset-t.start.offset,i,o);this.batch.addOperation(r),this.model.applyOperation(r)}remove(t){this._assertWriterUsedCorrectly();const e=(t instanceof Ql?t:Ql._createOn(t)).getMinimalFlatRanges().reverse();for(const t of e)this._addOperationForAffectedMarkers("move",t),vh(t.start,t.end.offset-t.start.offset,this.batch,this.model)}merge(t){this._assertWriterUsedCorrectly();const e=t.nodeBefore,n=t.nodeAfter;if(this._addOperationForAffectedMarkers("merge",t),!(e instanceof ql))throw new bi("writer-merge-no-element-before",this);if(!(n instanceof ql))throw new bi("writer-merge-no-element-after",this);t.root.document?this._merge(t):this._mergeDetached(t)}createPositionFromPath(t,e,n){return this.model.createPositionFromPath(t,e,n)}createPositionAt(t,e){return this.model.createPositionAt(t,e)}createPositionAfter(t){return this.model.createPositionAfter(t)}createPositionBefore(t){return this.model.createPositionBefore(t)}createRange(t,e){return this.model.createRange(t,e)}createRangeIn(t){return this.model.createRangeIn(t)}createRangeOn(t){return this.model.createRangeOn(t)}createSelection(...t){return this.model.createSelection(...t)}_mergeDetached(t){const e=t.nodeBefore,n=t.nodeAfter;this.move(Ql._createIn(n),$l._createAt(e,"end")),this.remove(n)}_merge(t){const e=$l._createAt(t.nodeBefore,"end"),n=$l._createAt(t.nodeAfter,0),i=t.root.document.graveyard,o=new $l(i,[0]),r=t.root.document.version,s=new Fd(n,t.nodeAfter.maxOffset,e,o,r);this.batch.addOperation(s),this.model.applyOperation(s)}rename(t,e){if(this._assertWriterUsedCorrectly(),!(t instanceof ql))throw new bi("writer-rename-not-element-instance",this);const n=t.root.document?t.root.document.version:null,i=new Md($l._createBefore(t),t.name,e,n);this.batch.addOperation(i),this.model.applyOperation(i)}split(t,e){this._assertWriterUsedCorrectly();let n,i,o=t.parent;if(!o.parent)throw new bi("writer-split-element-no-parent",this);if(e||(e=o.parent),!t.parent.getAncestors({includeSelf:!0}).includes(e))throw new bi("writer-split-invalid-limit-element",this);do{const e=o.root.document?o.root.document.version:null,r=o.maxOffset-t.offset,s=Pd.getInsertionPosition(t),a=new Pd(t,r,s,null,e);this.batch.addOperation(a),this.model.applyOperation(a),n||i||(n=o,i=t.parent.nextSibling),o=(t=this.createPositionAfter(t.parent)).parent}while(o!==e);return{position:t,range:new Ql($l._createAt(n,"end"),$l._createAt(i,0))}}wrap(t,e){if(this._assertWriterUsedCorrectly(),!t.isFlat)throw new bi("writer-wrap-range-not-flat",this);const n=e instanceof ql?e:new ql(e);if(n.childCount>0)throw new bi("writer-wrap-element-not-empty",this);if(null!==n.parent)throw new bi("writer-wrap-element-attached",this);this.insert(n,t.start);const i=new Ql(t.start.getShiftedBy(1),t.end.getShiftedBy(1));this.move(i,$l._createAt(n,0))}unwrap(t){if(this._assertWriterUsedCorrectly(),null===t.parent)throw new bi("writer-unwrap-element-no-parent",this);this.move(Ql._createIn(t),this.createPositionAfter(t)),this.remove(t)}addMarker(t,e){if(this._assertWriterUsedCorrectly(),!e||"boolean"!=typeof e.usingOperation)throw new bi("writer-addmarker-no-usingoperation",this);const n=e.usingOperation,i=e.range,o=void 0!==e.affectsData&&e.affectsData;if(this.model.markers.has(t))throw new bi("writer-addmarker-marker-exists",this);if(!i)throw new bi("writer-addmarker-no-range",this);return n?(Ch(this,t,null,i,o),this.model.markers.get(t)):this.model.markers._set(t,i,n,o)}updateMarker(t,e){this._assertWriterUsedCorrectly();const n="string"==typeof t?t:t.name,i=this.model.markers.get(n);if(!i)throw new bi("writer-updatemarker-marker-not-exists",this);if(!e)return wi("writer-updatemarker-reconvert-using-editingcontroller",{markerName:n}),void this.model.markers._refresh(i);const o="boolean"==typeof e.usingOperation,r="boolean"==typeof e.affectsData,s=r?e.affectsData:i.affectsData;if(!o&&!e.range&&!r)throw new bi("writer-updatemarker-wrong-options",this);const a=i.getRange(),l=e.range?e.range:a;o&&e.usingOperation!==i.managedUsingOperations?e.usingOperation?Ch(this,n,null,l,s):(Ch(this,n,a,null,s),this.model.markers._set(n,l,void 0,s)):i.managedUsingOperations?Ch(this,n,a,l,s):this.model.markers._set(n,l,void 0,s)}removeMarker(t){this._assertWriterUsedCorrectly();const e="string"==typeof t?t:t.name;if(!this.model.markers.has(e))throw new bi("writer-removemarker-no-marker",this);const n=this.model.markers.get(e);if(!n.managedUsingOperations)return void this.model.markers._remove(e);Ch(this,e,n.getRange(),null,n.affectsData)}addRoot(t,e="$root"){this._assertWriterUsedCorrectly();const n=this.model.document.getRoot(t);if(n&&n.isAttached())throw new bi("writer-addroot-root-exists",this);const i=this.model.document,o=new Nd(t,e,!0,i,i.version);return this.batch.addOperation(o),this.model.applyOperation(o),this.model.document.getRoot(t)}detachRoot(t){this._assertWriterUsedCorrectly();const e="string"==typeof t?this.model.document.getRoot(t):t;if(!e||!e.isAttached())throw new bi("writer-detachroot-no-root",this);for(const t of this.model.markers)t.getRange().root===e&&this.removeMarker(t);for(const t of e.getAttributeKeys())this.removeAttribute(t,e);this.remove(this.createRangeIn(e));const n=this.model.document,i=new Nd(e.rootName,e.name,!1,n,n.version);this.batch.addOperation(i),this.model.applyOperation(i)}setSelection(...t){this._assertWriterUsedCorrectly(),this.model.document.selection._setTo(...t)}setSelectionFocus(t,e){this._assertWriterUsedCorrectly(),this.model.document.selection._setFocus(t,e)}setSelectionAttribute(t,e){if(this._assertWriterUsedCorrectly(),"string"==typeof t)this._setSelectionAttribute(t,e);else for(const[e,n]of Sr(t))this._setSelectionAttribute(e,n)}removeSelectionAttribute(t){if(this._assertWriterUsedCorrectly(),"string"==typeof t)this._removeSelectionAttribute(t);else for(const e of t)this._removeSelectionAttribute(e)}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(t){this.model.document.selection._restoreGravity(t)}_setSelectionAttribute(t,e){const n=this.model.document.selection;if(n.isCollapsed&&n.anchor.parent.isEmpty){const i=fc._getStoreAttributeKey(t);this.setAttribute(i,e,n.anchor.parent)}n._setAttribute(t,e)}_removeSelectionAttribute(t){const e=this.model.document.selection;if(e.isCollapsed&&e.anchor.parent.isEmpty){const n=fc._getStoreAttributeKey(t);this.removeAttribute(n,e.anchor.parent)}e._removeAttribute(t)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this)throw new bi("writer-incorrect-use",this)}_addOperationForAffectedMarkers(t,e){for(const n of this.model.markers){if(!n.managedUsingOperations)continue;const i=n.getRange();let o=!1;if("move"===t){const t=e;o=t.containsPosition(i.start)||t.start.isEqual(i.start)||t.containsPosition(i.end)||t.end.isEqual(i.end)}else{const t=e,n=t.nodeBefore,r=t.nodeAfter,s=i.start.parent==n&&i.start.isAtEnd,a=i.end.parent==r&&0==i.end.offset,l=i.end.nodeAfter==r,c=i.start.nodeAfter==r;o=s||a||l||c}o&&this.updateMarker(n.name,{range:i})}}}function Ah(t,e,n,i){const o=t.model,r=o.document;let s,a,l,c=i.start;for(const t of i.getWalker({shallow:!0}))l=t.item.getAttribute(e),s&&a!=l&&(a!=n&&d(),c=s),s=t.nextPosition,a=l;function d(){const i=new Ql(c,s),l=i.root.document?r.version:null,d=new Ld(i,e,a,n,l);t.batch.addOperation(d),o.applyOperation(d)}s instanceof $l&&s!=c&&a!=n&&d()}function _h(t,e,n,i){const o=t.model,r=o.document,s=i.getAttribute(e);let a,l;if(s!=n){if(i.root===i){const t=i.document?r.version:null;l=new Od(i,e,s,n,t)}else{a=new Ql($l._createBefore(i),t.createPositionAfter(i));const o=a.root.document?r.version:null;l=new Ld(a,e,s,n,o)}t.batch.addOperation(l),o.applyOperation(l)}}function Ch(t,e,n,i,o){const r=t.model,s=r.document,a=new Rd(e,n,i,r.markers,!!o,s.version);t.batch.addOperation(a),r.applyOperation(a)}function vh(t,e,n,i){let o;if(t.root.document){const n=i.document,r=new $l(n.graveyard,[0]);o=new Td(t,e,r,n.version)}else o=new kh(t,e);n.addOperation(o),i.applyOperation(o)}function yh(t,e){return t===e||t instanceof hh&&e instanceof hh}function xh(t,e,n={}){if(e.isCollapsed)return;const i=e.getFirstRange();if("$graveyard"==i.root.rootName)return;const o=t.schema;t.change((t=>{if(!n.doNotResetEntireContent&&function(t,e){const n=t.getLimitElement(e);if(!e.containsEntireContent(n))return!1;const i=e.getFirstRange();if(i.start.parent==i.end.parent)return!1;return t.checkChild(n,"paragraph")}(o,e))return void function(t,e){const n=t.model.schema.getLimitElement(e);t.remove(t.createRangeIn(n)),Sh(t,t.createPositionAt(n,0),e)}(t,e);const r={};if(!n.doNotAutoparagraph){const t=e.getSelectedElement();t&&Object.assign(r,o.getAttributesWithProperty(t,"copyOnReplace",!0))}const[s,a]=function(t){const e=t.root.document.model,n=t.start;let i=t.end;if(e.hasContent(t,{ignoreMarkers:!0})){const n=function(t){const e=t.parent,n=e.root.document.model.schema,i=e.getAncestors({parentFirst:!0,includeSelf:!0});for(const t of i){if(n.isLimit(t))return null;if(n.isBlock(t))return t}}(i);if(n&&i.isTouching(e.createPositionAt(n,0))){const n=e.createSelection(t);e.modifySelection(n,{direction:"backward"});const o=n.getLastPosition(),r=e.createRange(o,i);e.hasContent(r,{ignoreMarkers:!0})||(i=o)}}return[eh.fromPosition(n,"toPrevious"),eh.fromPosition(i,"toNext")]}(i);s.isTouching(a)||t.remove(t.createRange(s,a)),n.leaveUnmerged||(!function(t,e,n){const i=t.model;if(!Dh(t.model.schema,e,n))return;const[o,r]=function(t,e){const n=t.getAncestors(),i=e.getAncestors();let o=0;for(;n[o]&&n[o]==i[o];)o++;return[n[o],i[o]]}(e,n);if(!o||!r)return;!i.hasContent(o,{ignoreMarkers:!0})&&i.hasContent(r,{ignoreMarkers:!0})?Bh(t,e,n,o.parent):Eh(t,e,n,o.parent)}(t,s,a),o.removeDisallowedAttributes(s.parent.getChildren(),t)),Th(t,e,s),!n.doNotAutoparagraph&&function(t,e){const n=t.checkChild(e,"$text"),i=t.checkChild(e,"paragraph");return!n&&i}(o,s)&&Sh(t,s,e,r),s.detach(),a.detach()}))}function Eh(t,e,n,i){const o=e.parent,r=n.parent;if(o!=i&&r!=i){for(e=t.createPositionAfter(o),(n=t.createPositionBefore(r)).isEqual(e)||t.insert(r,e),t.merge(e);n.parent.isEmpty;){const e=n.parent;n=t.createPositionBefore(e),t.remove(e)}Dh(t.model.schema,e,n)&&Eh(t,e,n,i)}}function Bh(t,e,n,i){const o=e.parent,r=n.parent;if(o!=i&&r!=i){for(e=t.createPositionAfter(o),(n=t.createPositionBefore(r)).isEqual(e)||t.insert(o,n);e.parent.isEmpty;){const n=e.parent;e=t.createPositionBefore(n),t.remove(n)}n=t.createPositionBefore(r),function(t,e){const n=e.nodeBefore,i=e.nodeAfter;n.name!=i.name&&t.rename(n,i.name);t.clearAttributes(n),t.setAttributes(Object.fromEntries(i.getAttributes()),n),t.merge(e)}(t,n),Dh(t.model.schema,e,n)&&Bh(t,e,n,i)}}function Dh(t,e,n){const i=e.parent,o=n.parent;return i!=o&&(!t.isLimit(i)&&!t.isLimit(o)&&function(t,e,n){const i=new Ql(t,e);for(const t of i.getWalker())if(n.isLimit(t.item))return!1;return!0}(e,n,t))}function Sh(t,e,n,i={}){const o=t.createElement("paragraph");t.model.schema.setAllowedAttributes(o,i,t),t.insert(o,e),Th(t,n,t.createPositionAt(o,0))}function Th(t,e,n){e instanceof fc?t.setSelection(n):e.setTo(n)}function Ih(t,e){const n=[];Array.from(t.getItems({direction:"backward"})).map((t=>e.createRangeOn(t))).filter((e=>(e.start.isAfter(t.start)||e.start.isEqual(t.start))&&(e.end.isBefore(t.end)||e.end.isEqual(t.end)))).forEach((t=>{n.push(t.start.parent),e.remove(t)})),n.forEach((t=>{let n=t;for(;n.parent&&n.isEmpty;){const t=e.createRangeOn(n);n=n.parent,e.remove(t)}}))}class Ph{model;writer;position;canMergeWith;schema;_documentFragment;_documentFragmentPosition;_firstNode=null;_lastNode=null;_lastAutoParagraph=null;_filterAttributesOf=[];_affectedStart=null;_affectedEnd=null;_nodeToSelect=null;constructor(t,e,n){this.model=t,this.writer=e,this.position=n,this.canMergeWith=new Set([this.position.parent]),this.schema=t.schema,this._documentFragment=e.createDocumentFragment(),this._documentFragmentPosition=e.createPositionAt(this._documentFragment,0)}handleNodes(t){for(const e of Array.from(t))this._handleNode(e);this._insertPartialFragment(),this._lastAutoParagraph&&this._updateLastNodeFromAutoParagraph(this._lastAutoParagraph),this._mergeOnRight(),this.schema.removeDisallowedAttributes(this._filterAttributesOf,this.writer),this._filterAttributesOf=[]}_updateLastNodeFromAutoParagraph(t){const e=this.writer.createPositionAfter(this._lastNode),n=this.writer.createPositionAfter(t);if(n.isAfter(e)){if(this._lastNode=t,this.position.parent!=t||!this.position.isAtEnd)throw new bi("insertcontent-invalid-insertion-position",this);this.position=n,this._setAffectedBoundaries(this.position)}}getSelectionRange(){return this._nodeToSelect?Ql._createOn(this._nodeToSelect):this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){return this._affectedStart?new Ql(this._affectedStart,this._affectedEnd):null}destroy(){this._affectedStart&&this._affectedStart.detach(),this._affectedEnd&&this._affectedEnd.detach()}_handleNode(t){this._checkAndSplitToAllowedPosition(t)?(this._appendToFragment(t),this._firstNode||(this._firstNode=t),this._lastNode=t):this.schema.isObject(t)||this._handleDisallowedNode(t)}_insertPartialFragment(){if(this._documentFragment.isEmpty)return;const t=eh.fromPosition(this.position,"toNext");this._setAffectedBoundaries(this.position),this._documentFragment.getChild(0)==this._firstNode&&(this.writer.insert(this._firstNode,this.position),this._mergeOnLeft(),this.position=t.toPosition()),this._documentFragment.isEmpty||this.writer.insert(this._documentFragment,this.position),this._documentFragmentPosition=this.writer.createPositionAt(this._documentFragment,0),this.position=t.toPosition(),t.detach()}_handleDisallowedNode(t){t.is("element")&&this.handleNodes(t.getChildren())}_appendToFragment(t){if(!this.schema.checkChild(this.position,t))throw new bi("insertcontent-wrong-position",this,{node:t,position:this.position});this.writer.insert(t,this._documentFragmentPosition),this._documentFragmentPosition=this._documentFragmentPosition.getShiftedBy(t.offsetSize),this.schema.isObject(t)&&!this.schema.checkChild(this.position,"$text")?this._nodeToSelect=t:this._nodeToSelect=null,this._filterAttributesOf.push(t)}_setAffectedBoundaries(t){this._affectedStart||(this._affectedStart=eh.fromPosition(t,"toPrevious")),this._affectedEnd&&!this._affectedEnd.isBefore(t)||(this._affectedEnd&&this._affectedEnd.detach(),this._affectedEnd=eh.fromPosition(t,"toNext"))}_mergeOnLeft(){const t=this._firstNode;if(!(t instanceof ql))return;if(!this._canMergeLeft(t))return;const e=eh._createBefore(t);e.stickiness="toNext";const n=eh.fromPosition(this.position,"toNext");this._affectedStart.isEqual(e)&&(this._affectedStart.detach(),this._affectedStart=eh._createAt(e.nodeBefore,"end","toPrevious")),this._firstNode===this._lastNode&&(this._firstNode=e.nodeBefore,this._lastNode=e.nodeBefore),this.writer.merge(e),e.isEqual(this._affectedEnd)&&this._firstNode===this._lastNode&&(this._affectedEnd.detach(),this._affectedEnd=eh._createAt(e.nodeBefore,"end","toNext")),this.position=n.toPosition(),n.detach(),this._filterAttributesOf.push(this.position.parent),e.detach()}_mergeOnRight(){const t=this._lastNode;if(!(t instanceof ql))return;if(!this._canMergeRight(t))return;const e=eh._createAfter(t);if(e.stickiness="toNext",!this.position.isEqual(e))throw new bi("insertcontent-invalid-insertion-position",this);this.position=$l._createAt(e.nodeBefore,"end");const n=eh.fromPosition(this.position,"toPrevious");this._affectedEnd.isEqual(e)&&(this._affectedEnd.detach(),this._affectedEnd=eh._createAt(e.nodeBefore,"end","toNext")),this._firstNode===this._lastNode&&(this._firstNode=e.nodeBefore,this._lastNode=e.nodeBefore),this.writer.merge(e),e.getShiftedBy(-1).isEqual(this._affectedStart)&&this._firstNode===this._lastNode&&(this._affectedStart.detach(),this._affectedStart=eh._createAt(e.nodeBefore,0,"toPrevious")),this.position=n.toPosition(),n.detach(),this._filterAttributesOf.push(this.position.parent),e.detach()}_canMergeLeft(t){const e=t.previousSibling;return e instanceof ql&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(e,t)}_canMergeRight(t){const e=t.nextSibling;return e instanceof ql&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(t,e)}_insertAutoParagraph(){this._insertPartialFragment();const t=this.writer.createElement("paragraph");this.writer.insert(t,this.position),this._setAffectedBoundaries(this.position),this._lastAutoParagraph=t,this.position=this.writer.createPositionAt(t,0)}_checkAndSplitToAllowedPosition(t){const e=this._getAllowedIn(this.position.parent,t);if(!e)return!1;for(e!=this.position.parent&&this._insertPartialFragment();e!=this.position.parent;)if(this.position.isAtStart){const t=this.position.parent;this.position=this.writer.createPositionBefore(t),t.isEmpty&&t.parent===e&&this.writer.remove(t)}else if(this.position.isAtEnd)this.position=this.writer.createPositionAfter(this.position.parent);else{const t=this.writer.createPositionAfter(this.position.parent);this._setAffectedBoundaries(this.position),this.writer.split(this.position),this.position=t,this.canMergeWith.add(this.position.nodeAfter)}return this.schema.checkChild(this.position.parent,t)||this._insertAutoParagraph(),!0}_getAllowedIn(t,e){return this.schema.checkChild(t,e)||this.schema.checkChild(t,"paragraph")&&this.schema.checkChild("paragraph",e)?t:this.schema.isLimit(t)?null:this._getAllowedIn(t.parent,e)}}function Fh(t,e,n,i={}){if(!t.schema.isObject(e))throw new bi("insertobject-element-not-an-object",t,{object:e});const o=n||t.document.selection;let r=o;i.findOptimalPosition&&t.schema.isBlock(e)&&(r=t.createSelection(t.schema.findOptimalInsertionRange(o,i.findOptimalPosition)));const s=Er(o.getSelectedBlocks()),a={};return s&&Object.assign(a,t.schema.getAttributesWithProperty(s,"copyOnReplace",!0)),t.change((n=>{r.isCollapsed||t.deleteContent(r,{doNotAutoparagraph:!0});let o=e;const s=r.anchor.parent;!t.schema.checkChild(s,e)&&t.schema.checkChild(s,"paragraph")&&t.schema.checkChild("paragraph",e)&&(o=n.createElement("paragraph"),n.insert(e,o)),t.schema.setAllowedAttributes(o,a,n);const l=t.insertContent(o,r);return l.isCollapsed||i.setSelection&&function(t,e,n,i){const o=t.model;if("on"==n)return void t.setSelection(e,"on");if("after"!=n)throw new bi("insertobject-invalid-place-parameter-value",o);let r=e.nextSibling;if(o.schema.isInline(e))return void t.setSelection(e,"after");const s=r&&o.schema.checkChild(r,"$text");!s&&o.schema.checkChild(e.parent,"paragraph")&&(r=t.createElement("paragraph"),o.schema.setAllowedAttributes(r,i,t),o.insertContent(r,t.createPositionAfter(e)));r&&t.setSelection(r,0)}(n,e,i.setSelection,a),l}))}function Rh(t,e){const{isForward:n,walker:i,unit:o,schema:r,treatEmojiAsSingleUnit:s}=t,{type:a,item:l,nextPosition:c}=e;if("text"==a)return"word"===t.unit?function(t,e){let n=t.position.textNode;n||(n=e?t.position.nodeAfter:t.position.nodeBefore);for(;n&&n.is("$text");){const i=t.position.offset-n.startOffset;if(zh(n,i,e))n=e?t.position.nodeAfter:t.position.nodeBefore;else{if(Lh(n.data,i,e))break;t.next()}}return t.position}(i,n):function(t,e,n){const i=t.position.textNode;if(i){const o=i.data;let r=t.position.offset-i.startOffset;for(;Ir(o,r)||"character"==e&&Pr(o,r)||n&&Rr(o,r);)t.next(),r=t.position.offset-i.startOffset}return t.position}(i,o,s);if(a==(n?"elementStart":"elementEnd")){if(r.isSelectable(l))return $l._createAt(l,n?"after":"before");if(r.checkChild(c,"$text"))return c}else{if(r.isLimit(l))return void i.skip((()=>!0));if(r.checkChild(c,"$text"))return c}}function Vh(t,e){const n=t.root,i=$l._createAt(n,e?"end":0);return e?new Ql(t,i):new Ql(i,t)}function Lh(t,e,n){const i=e+(n?0:-1);return' ,.?!:;"-()'.includes(t.charAt(i))}function zh(t,e,n){return e===(n?t.offsetSize:0)}class Mh extends(ji()){markers;document;schema;_pendingChanges;_currentWriter;constructor(){super(),this.markers=new ph,this.document=new mh(this),this.schema=new td,this._pendingChanges=[],this._currentWriter=null,["deleteContent","modifySelection","getSelectedContent","applyOperation"].forEach((t=>this.decorate(t))),this.on("applyOperation",((t,e)=>{e[0]._validate()}),{priority:"highest"}),this.schema.register("$root",{isLimit:!0}),this.schema.register("$container",{allowIn:["$root","$container"]}),this.schema.register("$block",{allowIn:["$root","$container"],isBlock:!0}),this.schema.register("$blockObject",{allowWhere:"$block",isBlock:!0,isObject:!0}),this.schema.register("$inlineObject",{allowWhere:"$text",allowAttributesOf:"$text",isInline:!0,isObject:!0}),this.schema.register("$text",{allowIn:"$block",isInline:!0,isContent:!0}),this.schema.register("$clipboardHolder",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$documentFragment",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$marker"),this.schema.addChildCheck((()=>!0),"$marker"),$c(this),this.document.registerPostFixer(Lc),this.on("insertContent",((t,[e,n])=>{t.return=function(t,e,n){return t.change((i=>{const o=n||t.document.selection;o.isCollapsed||t.deleteContent(o,{doNotAutoparagraph:!0});const r=new Ph(t,i,o.anchor),s=[];let a;if(e.is("documentFragment")){if(e.markers.size){const t=[];for(const[n,i]of e.markers){const{start:e,end:o}=i,r=e.isEqual(o);t.push({position:e,name:n,isCollapsed:r},{position:o,name:n,isCollapsed:r})}t.sort((({position:t},{position:e})=>t.isBefore(e)?1:-1));for(const{position:n,name:o,isCollapsed:r}of t){let t=null,a=null;const l=n.parent===e&&n.isAtStart,c=n.parent===e&&n.isAtEnd;l||c?r&&(a=l?"start":"end"):(t=i.createElement("$marker"),i.insert(t,n)),s.push({name:o,element:t,collapsed:a})}}a=e.getChildren()}else a=[e];r.handleNodes(a);let l=r.getSelectionRange();if(e.is("documentFragment")&&s.length){const t=l?uc.fromRange(l):null,e={};for(let t=s.length-1;t>=0;t--){const{name:n,element:o,collapsed:a}=s[t],l=!e[n];if(l&&(e[n]=[]),o){const t=i.createPositionAt(o,"before");e[n].push(t),i.remove(o)}else{const t=r.getAffectedRange();if(!t){a&&e[n].push(r.position);continue}a?e[n].push(t[a]):e[n].push(l?t.start:t.end)}}for(const[t,[n,o]]of Object.entries(e))n&&o&&n.root===o.root&&n.root.document&&!i.model.markers.has(t)&&i.addMarker(t,{usingOperation:!0,affectsData:!0,range:new Ql(n,o)});t&&(l=t.toRange(),t.detach())}l&&(o instanceof fc?i.setSelection(l):o.setTo(l));const c=r.getAffectedRange()||t.createRange(o.anchor);return r.destroy(),c}))}(this,e,n)})),this.on("insertObject",((t,[e,n,i])=>{t.return=Fh(this,e,n,i)})),this.on("canEditAt",(t=>{const e=!this.document.isReadOnly;t.return=e,e||t.stop()}))}change(t){try{return 0===this._pendingChanges.length?(this._pendingChanges.push({batch:new oh,callback:t}),this._runPendingChanges()[0]):t(this._currentWriter)}catch(t){bi.rethrowUnexpectedError(t,this)}}enqueueChange(t,e){try{t?"function"==typeof t?(e=t,t=new oh):t instanceof oh||(t=new oh(t)):t=new oh,this._pendingChanges.push({batch:t,callback:e}),1==this._pendingChanges.length&&this._runPendingChanges()}catch(t){bi.rethrowUnexpectedError(t,this)}}applyOperation(t){t._execute()}insertContent(t,e,n,...i){const o=Oh(e,n);return this.fire("insertContent",[t,o,n,...i])}insertObject(t,e,n,i,...o){const r=Oh(e,n);return this.fire("insertObject",[t,r,i,i,...o])}deleteContent(t,e){xh(this,t,e)}modifySelection(t,e){!function(t,e,n={}){const i=t.schema,o="backward"!=n.direction,r=n.unit?n.unit:"character",s=!!n.treatEmojiAsSingleUnit,a=e.focus,l=new Wl({boundaries:Vh(a,o),singleCharacters:!0,direction:o?"forward":"backward"}),c={walker:l,schema:i,isForward:o,unit:r,treatEmojiAsSingleUnit:s};let d;for(;d=l.next();){if(d.done)return;const n=Rh(c,d.value);if(n)return void(e instanceof fc?t.change((t=>{t.setSelectionFocus(n)})):e.setFocus(n))}}(this,t,e)}getSelectedContent(t){return function(t,e){return t.change((t=>{const n=t.createDocumentFragment(),i=e.getFirstRange();if(!i||i.isCollapsed)return n;const o=i.start.root,r=i.start.getCommonPath(i.end),s=o.getNodeByPath(r);let a;a=i.start.parent==i.end.parent?i:t.createRange(t.createPositionAt(s,i.start.path[r.length]),t.createPositionAt(s,i.end.path[r.length]+1));const l=a.end.offset-a.start.offset;for(const e of a.getItems({shallow:!0}))e.is("$textProxy")?t.appendText(e.data,e.getAttributes(),n):t.append(t.cloneElement(e,!0),n);if(a!=i){const e=i._getTransformedByMove(a.start,t.createPositionAt(n,0),l)[0],o=t.createRange(t.createPositionAt(n,0),e.start);Ih(t.createRange(e.end,t.createPositionAt(n,"end")),t),Ih(o,t)}return n}))}(this,t)}hasContent(t,e={}){const n=t instanceof Ql?t:Ql._createIn(t);if(n.isCollapsed)return!1;const{ignoreWhitespaces:i=!1,ignoreMarkers:o=!1}=e;if(!o)for(const t of this.markers.getMarkersIntersectingRange(n))if(t.affectsData)return!0;for(const t of n.getItems())if(this.schema.isContent(t)){if(!t.is("$textProxy"))return!0;if(!i)return!0;if(-1!==t.data.search(/\S/))return!0}return!1}canEditAt(t){const e=Oh(t);return this.fire("canEditAt",[e])}createPositionFromPath(t,e,n){return new $l(t,e,n)}createPositionAt(t,e){return $l._createAt(t,e)}createPositionAfter(t){return $l._createAfter(t)}createPositionBefore(t){return $l._createBefore(t)}createRange(t,e){return new Ql(t,e)}createRangeIn(t){return Ql._createIn(t)}createRangeOn(t){return Ql._createOn(t)}createSelection(...t){return new rc(...t)}createBatch(t){return new oh(t)}createOperationFromJSON(t){return jd.fromJSON(t,this.document)}destroy(){this.document.destroy(),this.stopListening()}_runPendingChanges(){const t=[];this.fire("_beforeChanges");try{for(;this._pendingChanges.length;){const e=this._pendingChanges[0].batch;this._currentWriter=new wh(this,e);const n=this._pendingChanges[0].callback(this._currentWriter);t.push(n),this.document._handleChangeBlock(this._currentWriter),this._pendingChanges.shift(),this._currentWriter=null}}finally{this._pendingChanges.length=0,this._currentWriter=null,this.fire("_afterChanges")}return t}}function Oh(t,e){if(t)return t instanceof rc||t instanceof fc?t:t instanceof Ol?e||0===e?new rc(t,e):t.is("rootElement")?new rc(t,"in"):new rc(t,"on"):new rc(t)}class Nh extends nl{domEventType="click";onDomEvent(t){this.fire(t.type,t)}}class Hh extends nl{domEventType=["mousedown","mouseup","mouseover","mouseout"];onDomEvent(t){this.fire(t.type,t)}}class jh{document;constructor(t){this.document=t}createDocumentFragment(t){return new ka(this.document,t)}createElement(t,e,n){return new Ns(this.document,t,e,n)}createText(t){return new rs(this.document,t)}clone(t,e=!1){return t._clone(e)}appendChild(t,e){return e._appendChild(t)}insertChild(t,e,n){return n._insertChild(t,e)}removeChildren(t,e,n){return n._removeChildren(t,e)}remove(t){const e=t.parent;return e?this.removeChildren(e.getChildIndex(t),1,e):[]}replace(t,e){const n=t.parent;if(n){const i=n.getChildIndex(t);return this.removeChildren(i,1,n),this.insertChild(i,e,n),!0}return!1}unwrapElement(t){const e=t.parent;if(e){const n=e.getChildIndex(t);this.remove(t),this.insertChild(n,t.getChildren(),e)}}rename(t,e){const n=new Ns(this.document,t,e.getAttributes(),e.getChildren());return this.replace(e,n)?n:null}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){q(t)&&void 0===n?e._setStyle(t):n._setStyle(t,e)}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}createPositionAt(t,e){return Ks._createAt(t,e)}createPositionAfter(t){return Ks._createAfter(t)}createPositionBefore(t){return Ks._createBefore(t)}createRange(t,e){return new Ys(t,e)}createRangeOn(t){return Ys._createOn(t)}createRangeIn(t){return Ys._createIn(t)}createSelection(...t){return new Js(...t)}}const qh=/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,Wh=/^rgb\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}[0-9]{1,3}[ %]?\)$/i,Uh=/^rgba\([ ]?([0-9]{1,3}[ %]?,[ ]?){3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i,$h=/^hsl\([ ]?([0-9]{1,3}[ %]?[,]?[ ]*){3}(1|[0-9]+%|[0]?\.?[0-9]+)?\)$/i,Gh=/^hsla\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i,Kh=/\w+\((?:[^()]|\([^()]*\))*\)|\S+/gi,Yh=new Set(["black","silver","gray","white","maroon","red","purple","fuchsia","green","lime","olive","yellow","navy","blue","teal","aqua","orange","aliceblue","antiquewhite","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","gainsboro","ghostwhite","gold","goldenrod","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","limegreen","linen","magenta","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","oldlace","olivedrab","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellowgreen","activeborder","activecaption","appworkspace","background","buttonface","buttonhighlight","buttonshadow","buttontext","captiontext","graytext","highlight","highlighttext","inactiveborder","inactivecaption","inactivecaptiontext","infobackground","infotext","menu","menutext","scrollbar","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","window","windowframe","windowtext","rebeccapurple","currentcolor","transparent"]);function Zh(t){return t.startsWith("#")?qh.test(t):t.startsWith("rgb")?Wh.test(t)||Uh.test(t):t.startsWith("hsl")?$h.test(t)||Gh.test(t):Yh.has(t.toLowerCase())}const Jh=["none","hidden","dotted","dashed","solid","double","groove","ridge","inset","outset"];function Qh(t){return Jh.includes(t)}const Xh=/^([+-]?[0-9]*([.][0-9]+)?(px|cm|mm|in|pc|pt|ch|em|ex|rem|vh|vw|vmin|vmax)|0)$/;function tu(t){return Xh.test(t)}const eu=/^[+-]?[0-9]*([.][0-9]+)?%$/;function nu(t){return eu.test(t)}const iu=["repeat-x","repeat-y","repeat","space","round","no-repeat"];function ou(t){return iu.includes(t)}const ru=["center","top","bottom","left","right"];function su(t){return ru.includes(t)}const au=["fixed","scroll","local"];function lu(t){return au.includes(t)}const cu=/^url\(/;function du(t){return cu.test(t)}function hu(t=""){if(""===t)return{top:void 0,right:void 0,bottom:void 0,left:void 0};const e=pu(t),n=e[0],i=e[2]||n,o=e[1]||n;return{top:n,bottom:i,right:o,left:e[3]||o}}function uu(t){return e=>{const{top:n,right:i,bottom:o,left:r}=e,s=[];return[n,i,r,o].every((t=>!!t))?s.push([t,mu(e)]):(n&&s.push([t+"-top",n]),i&&s.push([t+"-right",i]),o&&s.push([t+"-bottom",o]),r&&s.push([t+"-left",r])),s}}function mu({top:t,right:e,bottom:n,left:i}){const o=[];return i!==e?o.push(t,e,n,i):n!==t?o.push(t,e,n):e!==t?o.push(t,e):o.push(t),o.join(" ")}function gu(t){return e=>({path:t,value:hu(e)})}function pu(t){const e=t.trim().slice(0,1500).matchAll(Kh);return Array.from(e).map((t=>t[0]))}function fu(t){t.setNormalizer("background",(t=>{const e={},n=pu(t);for(const t of n)ou(t)?(e.repeat=e.repeat||[],e.repeat.push(t)):su(t)?(e.position=e.position||[],e.position.push(t)):lu(t)?e.attachment=t:Zh(t)?e.color=t:du(t)&&(e.image=t);return{path:"background",value:e}})),t.setNormalizer("background-color",(t=>({path:"background.color",value:t}))),t.setReducer("background",(t=>{const e=[];return e.push(["background-color",t.color]),e})),t.setStyleRelation("background",["background-color"])}function ku(t){t.setNormalizer("border",(t=>{const{color:e,style:n,width:i}=yu(t);return{path:"border",value:{color:hu(e),style:hu(n),width:hu(i)}}})),t.setNormalizer("border-top",bu("top")),t.setNormalizer("border-right",bu("right")),t.setNormalizer("border-bottom",bu("bottom")),t.setNormalizer("border-left",bu("left")),t.setNormalizer("border-color",wu("color")),t.setNormalizer("border-width",wu("width")),t.setNormalizer("border-style",wu("style")),t.setNormalizer("border-top-color",_u("color","top")),t.setNormalizer("border-top-style",_u("style","top")),t.setNormalizer("border-top-width",_u("width","top")),t.setNormalizer("border-right-color",_u("color","right")),t.setNormalizer("border-right-style",_u("style","right")),t.setNormalizer("border-right-width",_u("width","right")),t.setNormalizer("border-bottom-color",_u("color","bottom")),t.setNormalizer("border-bottom-style",_u("style","bottom")),t.setNormalizer("border-bottom-width",_u("width","bottom")),t.setNormalizer("border-left-color",_u("color","left")),t.setNormalizer("border-left-style",_u("style","left")),t.setNormalizer("border-left-width",_u("width","left")),t.setExtractor("border-top",Cu("top")),t.setExtractor("border-right",Cu("right")),t.setExtractor("border-bottom",Cu("bottom")),t.setExtractor("border-left",Cu("left")),t.setExtractor("border-top-color","border.color.top"),t.setExtractor("border-right-color","border.color.right"),t.setExtractor("border-bottom-color","border.color.bottom"),t.setExtractor("border-left-color","border.color.left"),t.setExtractor("border-top-width","border.width.top"),t.setExtractor("border-right-width","border.width.right"),t.setExtractor("border-bottom-width","border.width.bottom"),t.setExtractor("border-left-width","border.width.left"),t.setExtractor("border-top-style","border.style.top"),t.setExtractor("border-right-style","border.style.right"),t.setExtractor("border-bottom-style","border.style.bottom"),t.setExtractor("border-left-style","border.style.left"),t.setReducer("border-color",uu("border-color")),t.setReducer("border-style",uu("border-style")),t.setReducer("border-width",uu("border-width")),t.setReducer("border-top",xu("top")),t.setReducer("border-right",xu("right")),t.setReducer("border-bottom",xu("bottom")),t.setReducer("border-left",xu("left")),t.setReducer("border",function(){return e=>{const n=vu(e,"top"),i=vu(e,"right"),o=vu(e,"bottom"),r=vu(e,"left"),s=[n,i,o,r],a={width:t(s,"width"),style:t(s,"style"),color:t(s,"color")},l=Eu(a,"all");if(l.length)return l;return[...Object.entries(a).reduce(((t,[e,n])=>(n&&(t.push([`border-${e}`,n]),s.forEach((t=>delete t[e]))),t)),[]),...Eu(n,"top"),...Eu(i,"right"),...Eu(o,"bottom"),...Eu(r,"left")]};function t(t,e){return t.map((t=>t[e])).reduce(((t,e)=>t==e?t:null))}}()),t.setStyleRelation("border",["border-color","border-style","border-width","border-top","border-right","border-bottom","border-left","border-top-color","border-right-color","border-bottom-color","border-left-color","border-top-style","border-right-style","border-bottom-style","border-left-style","border-top-width","border-right-width","border-bottom-width","border-left-width"]),t.setStyleRelation("border-color",["border-top-color","border-right-color","border-bottom-color","border-left-color"]),t.setStyleRelation("border-style",["border-top-style","border-right-style","border-bottom-style","border-left-style"]),t.setStyleRelation("border-width",["border-top-width","border-right-width","border-bottom-width","border-left-width"]),t.setStyleRelation("border-top",["border-top-color","border-top-style","border-top-width"]),t.setStyleRelation("border-right",["border-right-color","border-right-style","border-right-width"]),t.setStyleRelation("border-bottom",["border-bottom-color","border-bottom-style","border-bottom-width"]),t.setStyleRelation("border-left",["border-left-color","border-left-style","border-left-width"])}function bu(t){return e=>{const{color:n,style:i,width:o}=yu(e),r={};return void 0!==n&&(r.color={[t]:n}),void 0!==i&&(r.style={[t]:i}),void 0!==o&&(r.width={[t]:o}),{path:"border",value:r}}}function wu(t){return e=>({path:"border",value:Au(e,t)})}function Au(t,e){return{[e]:hu(t)}}function _u(t,e){return n=>({path:"border",value:{[t]:{[e]:n}}})}function Cu(t){return(e,n)=>{if(n.border)return vu(n.border,t)}}function vu(t,e){const n={};return t.width&&t.width[e]&&(n.width=t.width[e]),t.style&&t.style[e]&&(n.style=t.style[e]),t.color&&t.color[e]&&(n.color=t.color[e]),n}function yu(t){const e={},n=pu(t);for(const t of n)tu(t)||/thin|medium|thick/.test(t)?e.width=t:Qh(t)?e.style=t:e.color=t;return e}function xu(t){return e=>Eu(e,t)}function Eu(t,e){const n=[];if(t&&t.width&&n.push("width"),t&&t.style&&n.push("style"),t&&t.color&&n.push("color"),3==n.length){const i=n.map((e=>t[e])).join(" ");return["all"==e?["border",i]:[`border-${e}`,i]]}return"all"==e?[]:n.map((n=>[`border-${e}-${n}`,t[n]]))}function Bu(t){t.setNormalizer("margin",gu("margin")),t.setNormalizer("margin-top",(t=>({path:"margin.top",value:t}))),t.setNormalizer("margin-right",(t=>({path:"margin.right",value:t}))),t.setNormalizer("margin-bottom",(t=>({path:"margin.bottom",value:t}))),t.setNormalizer("margin-left",(t=>({path:"margin.left",value:t}))),t.setReducer("margin",uu("margin")),t.setStyleRelation("margin",["margin-top","margin-right","margin-bottom","margin-left"])}function Du(t){t.setNormalizer("padding",gu("padding")),t.setNormalizer("padding-top",(t=>({path:"padding.top",value:t}))),t.setNormalizer("padding-right",(t=>({path:"padding.right",value:t}))),t.setNormalizer("padding-bottom",(t=>({path:"padding.bottom",value:t}))),t.setNormalizer("padding-left",(t=>({path:"padding.left",value:t}))),t.setReducer("padding",uu("padding")),t.setStyleRelation("padding",["padding-top","padding-right","padding-bottom","padding-left"])}class Su{_commands;constructor(){this._commands=new Map}add(t,e){this._commands.set(t,e)}get(t){return this._commands.get(t)}execute(t,...e){const n=this.get(t);if(!n)throw new bi("commandcollection-command-not-found",this,{commandName:t});return n.execute(...e)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const t of this.commands())t.destroy()}}const Tu="contentEditing",Iu="common";class Pu{keystrokeInfos=new Map;_editor;constructor(t){this._editor=t;const e=t.config.get("menuBar.isVisible"),n=t.locale.t;this.addKeystrokeInfoCategory({id:Tu,label:n("Content editing keystrokes"),description:n("These keyboard shortcuts allow for quick access to content editing features.")});const i=[{label:n("Close contextual balloons, dropdowns, and dialogs"),keystroke:"Esc"},{label:n("Open the accessibility help dialog"),keystroke:"Alt+0"},{label:n("Move focus between form fields (inputs, buttons, etc.)"),keystroke:[["Tab"],["Shift+Tab"]]},{label:n("Move focus to the toolbar, navigate between toolbars"),keystroke:"Alt+F10",mayRequireFn:!0},{label:n("Navigate through the toolbar or menu bar"),keystroke:[["arrowup"],["arrowright"],["arrowdown"],["arrowleft"]]},{label:n("Execute the currently focused button. Executing buttons that interact with the editor content moves the focus back to the content."),keystroke:[["Enter"],["Space"]]}];e&&i.push({label:n("Move focus to the menu bar, navigate between menu bars"),keystroke:"Alt+F9",mayRequireFn:!0}),this.addKeystrokeInfoCategory({id:"navigation",label:n("User interface and content navigation keystrokes"),description:n("Use the following keystrokes for more efficient navigation in the CKEditor 5 user interface."),groups:[{id:"common",keystrokes:i}]})}addKeystrokeInfoCategory({id:t,label:e,description:n,groups:i}){this.keystrokeInfos.set(t,{id:t,label:e,description:n,groups:new Map}),this.addKeystrokeInfoGroup({categoryId:t,id:Iu}),i&&i.forEach((e=>{this.addKeystrokeInfoGroup({categoryId:t,...e})}))}addKeystrokeInfoGroup({categoryId:t=Tu,id:e,label:n,keystrokes:i}){const o=this.keystrokeInfos.get(t);if(!o)throw new bi("accessibility-unknown-keystroke-info-category",this._editor,{groupId:e,categoryId:t});o.groups.set(e,{id:e,label:n,keystrokes:i||[]})}addKeystrokeInfos({categoryId:t=Tu,groupId:e=Iu,keystrokes:n}){if(!this.keystrokeInfos.has(t))throw new bi("accessibility-unknown-keystroke-info-category",this._editor,{categoryId:t,keystrokes:n});const i=this.keystrokeInfos.get(t);if(!i.groups.has(e))throw new bi("accessibility-unknown-keystroke-info-group",this._editor,{groupId:e,categoryId:t,keystrokes:n});i.groups.get(e).keystrokes.push(...n)}}class Fu extends(ji()){accessibility;commands;config;conversion;data;editing;locale;model;plugins;keystrokes;t;static defaultConfig;static builtinPlugins;_context;_readOnlyLocks;constructor(t={}){if(super(),"sanitizeHtml"in t)throw new bi("editor-config-sanitizehtml-not-supported");const e=this.constructor,{translations:n,...i}=e.defaultConfig||{},{translations:o=n,...r}=t,s=t.language||i.language;this._context=t.context||new jr({language:s,translations:o}),this._context._addEditor(this,!t.context);const a=Array.from(e.builtinPlugins||[]);this.config=new Xi(r,i),this.config.define("plugins",a),this.config.define(this._context._getEditorConfig()),this.plugins=new Hr(this,a,this._context.plugins),this.locale=this._context.locale,this.t=this.locale.t,this._readOnlyLocks=new Set,this.commands=new Su,this.set("state","initializing"),this.once("ready",(()=>this.state="ready"),{priority:"high"}),this.once("destroy",(()=>this.state="destroyed"),{priority:"high"}),this.model=new Mh,this.on("change:isReadOnly",(()=>{this.model.document.isReadOnly=this.isReadOnly}));const l=new zs;this.data=new bd(this.model,l),this.editing=new Zc(this.model,l),this.editing.view.document.bind("isReadOnly").to(this),this.conversion=new wd([this.editing.downcastDispatcher,this.data.downcastDispatcher],this.data.upcastDispatcher),this.conversion.addAlias("dataDowncast",this.data.downcastDispatcher),this.conversion.addAlias("editingDowncast",this.editing.downcastDispatcher),this.keystrokes=new Wr(this),this.keystrokes.listenTo(this.editing.view.document),this.accessibility=new Pu(this)}get isReadOnly(){return this._readOnlyLocks.size>0}set isReadOnly(t){throw new bi("editor-isreadonly-has-no-setter")}enableReadOnlyMode(t){if("string"!=typeof t&&"symbol"!=typeof t)throw new bi("editor-read-only-lock-id-invalid",null,{lockId:t});this._readOnlyLocks.has(t)||(this._readOnlyLocks.add(t),1===this._readOnlyLocks.size&&this.fire("change:isReadOnly","isReadOnly",!0,!1))}disableReadOnlyMode(t){if("string"!=typeof t&&"symbol"!=typeof t)throw new bi("editor-read-only-lock-id-invalid",null,{lockId:t});this._readOnlyLocks.has(t)&&(this._readOnlyLocks.delete(t),0===this._readOnlyLocks.size&&this.fire("change:isReadOnly","isReadOnly",!1,!0))}setData(t){this.data.set(t)}getData(t){return this.data.get(t)}initPlugins(){const t=this.config,e=t.get("plugins"),n=t.get("removePlugins")||[],i=t.get("extraPlugins")||[],o=t.get("substitutePlugins")||[];return this.plugins.init(e.concat(i),n,o)}destroy(){let t=Promise.resolve();return"initializing"==this.state&&(t=new Promise((t=>this.once("ready",t)))),t.then((()=>{this.fire("destroy"),this.stopListening(),this.commands.destroy()})).then((()=>this.plugins.destroy())).then((()=>{this.model.destroy(),this.data.destroy(),this.editing.destroy(),this.keystrokes.destroy()})).then((()=>this._context._removeEditor(this)))}execute(t,...e){try{return this.commands.execute(t,...e)}catch(t){bi.rethrowUnexpectedError(t,this)}}focus(){this.editing.view.focus()}static create(...t){throw new Error("This is an abstract method.")}static Context=jr;static EditorWatchdog=qn;static ContextWatchdog=$n}function Ru(t){return class extends t{sourceElement;updateSourceElement(t){if(!this.sourceElement)throw new bi("editor-missing-sourceelement",this);const e=this.config.get("updateSourceElementOnDestroy"),n=this.sourceElement instanceof HTMLTextAreaElement;if(!e&&!n)return void vo(this.sourceElement,"");const i="string"==typeof t?t:this.data.get();vo(this.sourceElement,i)}}}function Vu(t,e){if(e.ckeditorInstance)throw new bi("editor-source-element-already-used",t);e.ckeditorInstance=t,t.once("destroy",(()=>{delete e.ckeditorInstance}))}Ru.updateSourceElement=Ru(Object).prototype.updateSourceElement;class Lu extends qr{_actions;static get pluginName(){return"PendingActions"}init(){this.set("hasAny",!1),this._actions=new xr({idProperty:"_id"}),this._actions.delegate("add","remove").to(this)}add(t){if("string"!=typeof t)throw new bi("pendingactions-add-invalid-message",this);const e=new(ji());return e.set("message",t),this._actions.add(e),this.hasAny=!0,e}remove(t){this._actions.remove(t),this.hasAny=!!this._actions.length}get first(){return this._actions.get(0)}[Symbol.iterator](){return this._actions[Symbol.iterator]()}}const zu={bold:'',cancel:'',caption:'',check:'',cog:'',colorPalette:'',eraser:'',history:'',image:'',imageUpload:'',imageAssetManager:'',imageUrl:'',lowVision:'',textAlternative:'',loupe:'',previousArrow:'',nextArrow:'',importExport:'',paragraph:'',plus:'',text:'',alignBottom:'',alignMiddle:'',alignTop:'',alignLeft:'',alignCenter:'',alignRight:'',alignJustify:'',objectLeft:'',objectCenter:'',objectRight:'',objectFullWidth:'',objectInline:'',objectBlockLeft:'',objectBlockRight:'',objectSizeCustom:'',objectSizeFull:'',objectSizeLarge:'',objectSizeSmall:'',objectSizeMedium:'',pencil:'',pilcrow:'',quote:'',threeVerticalDots:'',dragIndicator:'',redo:'',undo:'',bulletedList:'',numberedList:'',todoList:'',codeBlock:'',browseFiles:'',heading1:'',heading2:'',heading3:'',heading4:'',heading5:'',heading6:'',horizontalLine:'',html:'',indent:'',outdent:'',table:''};class Mu extends xr{_parentElement;constructor(t=[]){super(t,{idProperty:"viewUid"}),this.on("add",((t,e,n)=>{this._renderViewIntoCollectionParent(e,n)})),this.on("remove",((t,e)=>{e.element&&this._parentElement&&e.element.remove()})),this._parentElement=null}destroy(){this.map((t=>t.destroy()))}setParent(t){this._parentElement=t;for(const t of this)this._renderViewIntoCollectionParent(t)}delegate(...t){if(!t.length||!t.every((t=>"string"==typeof t)))throw new bi("ui-viewcollection-delegate-wrong-events",this);return{to:e=>{for(const n of this)for(const i of t)n.delegate(i).to(e);this.on("add",((n,i)=>{for(const n of t)i.delegate(n).to(e)})),this.on("remove",((n,i)=>{for(const n of t)i.stopDelegating(n,e)}))}}}_renderViewIntoCollectionParent(t,e){t.isRendered||t.render(),t.element&&this._parentElement&&this._parentElement.insertBefore(t.element,this._parentElement.children[e])}remove(t){return super.remove(t)}}class Ou extends(Di()){ns;tag;text;attributes;children;eventListeners;_isRendered;_revertData;constructor(t){super(),Object.assign(this,Yu(Ku(t))),this._isRendered=!1,this._revertData=null}render(){const t=this._renderNode({intoFragment:!0});return this._isRendered=!0,t}apply(t){return this._revertData={children:[],bindings:[],attributes:{}},this._renderNode({node:t,intoFragment:!1,isApplying:!0,revertData:this._revertData}),t}revert(t){if(!this._revertData)throw new bi("ui-template-revert-not-applied",[this,t]);this._revertTemplateFromNode(t,this._revertData)}*getViews(){yield*function*t(e){if(e.children)for(const n of e.children)em(n)?yield n:nm(n)&&(yield*t(n))}(this)}static bind(t,e){return{to:(n,i)=>new Hu({eventNameOrFunction:n,attribute:n,observable:t,emitter:e,callback:i}),if:(n,i,o)=>new ju({observable:t,emitter:e,attribute:n,valueIfTrue:i,callback:o})}}static extend(t,e){if(t._isRendered)throw new bi("template-extend-render",[this,t]);Xu(t,Yu(Ku(e)))}_renderNode(t){let e;if(e=t.node?this.tag&&this.text:this.tag?this.text:!this.text,e)throw new bi("ui-template-wrong-syntax",this);return this.text?this._renderText(t):this._renderElement(t)}_renderElement(t){let e=t.node;return e||(e=t.node=document.createElementNS(this.ns||"http://www.w3.org/1999/xhtml",this.tag)),this._renderAttributes(t),this._renderElementChildren(t),this._setUpListeners(t),e}_renderText(t){let e=t.node;return e?t.revertData.text=e.textContent:e=t.node=document.createTextNode(""),qu(this.text)?this._bindToObservable({schema:this.text,updater:Uu(e),data:t}):e.textContent=this.text.join(""),e}_renderAttributes(t){if(!this.attributes)return;const e=t.node,n=t.revertData;for(const i in this.attributes){const o=e.getAttribute(i),r=this.attributes[i];n&&(n.attributes[i]=o);const s=om(r)?r[0].ns:null;if(qu(r)){const a=om(r)?r[0].value:r;n&&rm(i)&&a.unshift(o),this._bindToObservable({schema:a,updater:$u(e,i,s),data:t})}else if("style"==i&&"string"!=typeof r[0])this._renderStyleAttribute(r[0],t);else{n&&o&&rm(i)&&r.unshift(o);const t=r.map((t=>t&&t.value||t)).reduce(((t,e)=>t.concat(e)),[]).reduce(Ju,"");tm(t)||e.setAttributeNS(s,i,t)}}}_renderStyleAttribute(t,e){const n=e.node;for(const i in t){const o=t[i];qu(o)?this._bindToObservable({schema:[o],updater:Gu(n,i),data:e}):n.style[i]=o}}_renderElementChildren(t){const e=t.node,n=t.intoFragment?document.createDocumentFragment():e,i=t.isApplying;let o=0;for(const r of this.children)if(im(r)){if(!i){r.setParent(e);for(const t of r)n.appendChild(t.element)}}else if(em(r))i||(r.isRendered||r.render(),n.appendChild(r.element));else if(no(r))n.appendChild(r);else if(i){const e={children:[],bindings:[],attributes:{}};t.revertData.children.push(e),r._renderNode({intoFragment:!1,node:n.childNodes[o++],isApplying:!0,revertData:e})}else n.appendChild(r.render());t.intoFragment&&e.appendChild(n)}_setUpListeners(t){if(this.eventListeners)for(const e in this.eventListeners){const n=this.eventListeners[e].map((n=>{const[i,o]=e.split("@");return n.activateDomEventListener(i,o,t)}));t.revertData&&t.revertData.bindings.push(n)}}_bindToObservable({schema:t,updater:e,data:n}){const i=n.revertData;Wu(t,e,n);const o=t.filter((t=>!tm(t))).filter((t=>t.observable)).map((i=>i.activateAttributeListener(t,e,n)));i&&i.bindings.push(o)}_revertTemplateFromNode(t,e){for(const t of e.bindings)for(const e of t)e();if(e.text)return void(t.textContent=e.text);const n=t;for(const t in e.attributes){const i=e.attributes[t];null===i?n.removeAttribute(t):n.setAttribute(t,i)}for(let t=0;tWu(t,e,n);return this.emitter.listenTo(this.observable,`change:${this.attribute}`,i),()=>{this.emitter.stopListening(this.observable,`change:${this.attribute}`,i)}}}class Hu extends Nu{eventNameOrFunction;constructor(t){super(t),this.eventNameOrFunction=t.eventNameOrFunction}activateDomEventListener(t,e,n){const i=(t,n)=>{e&&!n.target.matches(e)||("function"==typeof this.eventNameOrFunction?this.eventNameOrFunction(n):this.observable.fire(this.eventNameOrFunction,n))};return this.emitter.listenTo(n.node,t,i),()=>{this.emitter.stopListening(n.node,t,i)}}}class ju extends Nu{valueIfTrue;constructor(t){super(t),this.valueIfTrue=t.valueIfTrue}getValue(t){return!tm(super.getValue(t))&&(this.valueIfTrue||!0)}}function qu(t){return!!t&&(t.value&&(t=t.value),Array.isArray(t)?t.some(qu):t instanceof Nu)}function Wu(t,e,{node:n}){const i=function(t,e){return t.map((t=>t instanceof Nu?t.getValue(e):t))}(t,n);let o;o=1==t.length&&t[0]instanceof ju?i[0]:i.reduce(Ju,""),tm(o)?e.remove():e.set(o)}function Uu(t){return{set(e){t.textContent=e},remove(){t.textContent=""}}}function $u(t,e,n){return{set(i){t.setAttributeNS(n,e,i)},remove(){t.removeAttributeNS(n,e)}}}function Gu(t,e){return{set(n){t.style[e]=n},remove(){t.style[e]=null}}}function Ku(t){return jn(t,(t=>{if(t&&(t instanceof Nu||nm(t)||em(t)||im(t)))return t}))}function Yu(t){if("string"==typeof t?t=function(t){return{text:[t]}}(t):t.text&&function(t){t.text=tr(t.text)}(t),t.on&&(t.eventListeners=function(t){for(const e in t)Zu(t,e);return t}(t.on),delete t.on),!t.text){t.attributes&&function(t){for(const e in t)t[e].value&&(t[e].value=tr(t[e].value)),Zu(t,e)}(t.attributes);const e=[];if(t.children)if(im(t.children))e.push(t.children);else for(const n of t.children)nm(n)||em(n)||no(n)?e.push(n):e.push(new Ou(n));t.children=e}return t}function Zu(t,e){t[e]=tr(t[e])}function Ju(t,e){return tm(e)?t:tm(t)?e:`${t} ${e}`}function Qu(t,e){for(const n in e)t[n]?t[n].push(...e[n]):t[n]=e[n]}function Xu(t,e){if(e.attributes&&(t.attributes||(t.attributes={}),Qu(t.attributes,e.attributes)),e.eventListeners&&(t.eventListeners||(t.eventListeners={}),Qu(t.eventListeners,e.eventListeners)),e.text&&t.text.push(...e.text),e.children&&e.children.length){if(t.children.length!=e.children.length)throw new bi("ui-template-extend-children-mismatch",t);let n=0;for(const i of e.children)Xu(t.children[n++],i)}}function tm(t){return!t&&0!==t}function em(t){return t instanceof lm}function nm(t){return t instanceof Ou}function im(t){return t instanceof Mu}function om(t){return s(t[0])&&t[0].ns}function rm(t){return"class"==t||"style"==t}var sm=n(7676),am={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(sm.A,am);sm.A.locals;class lm extends(ro(ji())){element;isRendered;locale;t;template;_viewCollections;_unboundChildren;_bindTemplate;constructor(t){super(),this.element=null,this.isRendered=!1,this.locale=t,this.t=t&&t.t,this._viewCollections=new xr,this._unboundChildren=this.createCollection(),this._viewCollections.on("add",((e,n)=>{n.locale=t,n.t=t&&t.t})),this.decorate("render")}get bindTemplate(){return this._bindTemplate?this._bindTemplate:this._bindTemplate=Ou.bind(this,this)}createCollection(t){const e=new Mu(t);return this._viewCollections.add(e),e}registerChild(t){Zi(t)||(t=[t]);for(const e of t)this._unboundChildren.add(e)}deregisterChild(t){Zi(t)||(t=[t]);for(const e of t)this._unboundChildren.remove(e)}setTemplate(t){this.template=new Ou(t)}extendTemplate(t){Ou.extend(this.template,t)}render(){if(this.isRendered)throw new bi("ui-view-render-already-rendered",this);this.template&&(this.element=this.template.render(),this.registerChild(this.template.getViews())),this.isRendered=!0}destroy(){this.stopListening(),this._viewCollections.map((t=>t.destroy())),this.template&&this.template._revertData&&this.template.revert(this.element)}}function cm({emitter:t,activator:e,callback:n,contextElements:i,listenerOptions:o}){t.listenTo(document,"mousedown",((t,o)=>{if(!e())return;const r="function"==typeof o.composedPath?o.composedPath():[],s="function"==typeof i?i():i;for(const t of s)if(t.contains(o.target)||r.includes(t))return;n()}),o)}function dm(t){return class extends t{disableCssTransitions(){this._isCssTransitionsDisabled=!0}enableCssTransitions(){this._isCssTransitionsDisabled=!1}constructor(...t){super(...t),this.set("_isCssTransitionsDisabled",!1),this.initializeCssTransitionDisablerMixin()}initializeCssTransitionDisablerMixin(){this.extendTemplate({attributes:{class:[this.bindTemplate.if("_isCssTransitionsDisabled","ck-transitions-disabled")]}})}}}function hm({view:t}){t.listenTo(t.element,"submit",((e,n)=>{n.preventDefault(),t.fire("submit")}),{useCapture:!0})}function um({keystrokeHandler:t,focusTracker:e,gridItems:n,numberOfColumns:i,uiLanguageDirection:o}){const r="number"==typeof i?()=>i:i;function s(t){return i=>{const o=n.find((t=>t.element===e.focusedElement)),r=n.getIndex(o),s=t(r,n);n.get(s).focus(),i.stopPropagation(),i.preventDefault()}}function a(t,e){return t===e-1?0:t+1}function l(t,e){return 0===t?e-1:t-1}t.set("arrowright",s(((t,e)=>"rtl"===o?l(t,e.length):a(t,e.length)))),t.set("arrowleft",s(((t,e)=>"rtl"===o?a(t,e.length):l(t,e.length)))),t.set("arrowup",s(((t,e)=>{let n=t-r();return n<0&&(n=t+r()*Math.floor(e.length/r()),n>e.length-1&&(n-=r())),n}))),t.set("arrowdown",s(((t,e)=>{let n=t+r();return n>e.length-1&&(n=t%r()),n})))}var mm=n(7621),gm={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(mm.A,gm);mm.A.locals;class pm extends lm{static presentationalAttributeNames=["alignment-baseline","baseline-shift","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-rendering","cursor","direction","display","dominant-baseline","fill","fill-opacity","fill-rule","filter","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","image-rendering","letter-spacing","lighting-color","marker-end","marker-mid","marker-start","mask","opacity","overflow","paint-order","pointer-events","shape-rendering","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-anchor","text-decoration","text-overflow","text-rendering","transform","unicode-bidi","vector-effect","visibility","white-space","word-spacing","writing-mode"];constructor(){super();const t=this.bindTemplate;this.set("content",""),this.set("viewBox","0 0 20 20"),this.set("fillColor",""),this.set("isColorInherited",!0),this.set("isVisible",!0),this.setTemplate({tag:"svg",ns:"http://www.w3.org/2000/svg",attributes:{class:["ck","ck-icon",t.if("isVisible","ck-hidden",(t=>!t)),"ck-reset_all-excluded",t.if("isColorInherited","ck-icon_inherit-color")],viewBox:t.to("viewBox")}})}render(){super.render(),this._updateXMLContent(),this._colorFillPaths(),this.on("change:content",(()=>{this._updateXMLContent(),this._colorFillPaths()})),this.on("change:fillColor",(()=>{this._colorFillPaths()}))}_updateXMLContent(){if(this.content){const t=(new DOMParser).parseFromString(this.content.trim(),"image/svg+xml").querySelector("svg"),e=t.getAttribute("viewBox");e&&(this.viewBox=e);for(const{name:e,value:n}of Array.from(t.attributes))pm.presentationalAttributeNames.includes(e)&&this.element.setAttribute(e,n);for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);for(;t.childNodes.length>0;)this.element.appendChild(t.childNodes[0])}}_colorFillPaths(){this.fillColor&&this.element.querySelectorAll(".ck-icon__fill").forEach((t=>{t.style.fill=this.fillColor}))}}class fm extends lm{constructor(){super(),this.set({style:void 0,text:void 0,id:void 0});const t=this.bindTemplate;this.setTemplate({tag:"span",attributes:{class:["ck","ck-button__label"],style:t.to("style"),id:t.to("id")},children:[{text:t.to("text")}]})}}var km=n(9715),bm={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(km.A,bm);km.A.locals;class wm extends lm{children;labelView;iconView;keystrokeView;_focusDelayed=null;constructor(t,e=new fm){super(t);const n=this.bindTemplate,i=pi();this.set("_ariaPressed",!1),this.set("_ariaChecked",!1),this.set("ariaLabel",void 0),this.set("ariaLabelledBy",`ck-editor__aria-label_${i}`),this.set("class",void 0),this.set("labelStyle",void 0),this.set("icon",void 0),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isVisible",!0),this.set("isToggleable",!1),this.set("keystroke",void 0),this.set("label",void 0),this.set("role",void 0),this.set("tabindex",-1),this.set("tooltip",!1),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.set("withKeystroke",!1),this.children=this.createCollection(),this.labelView=this._setupLabelView(e),this.iconView=new pm,this.iconView.extendTemplate({attributes:{class:"ck-button__icon"}}),this.keystrokeView=this._createKeystrokeView(),this.bind("_tooltipString").to(this,"tooltip",this,"label",this,"keystroke",this._getTooltipString.bind(this));const o={tag:"button",attributes:{class:["ck","ck-button",n.to("class"),n.if("isEnabled","ck-disabled",(t=>!t)),n.if("isVisible","ck-hidden",(t=>!t)),n.to("isOn",(t=>t?"ck-on":"ck-off")),n.if("withText","ck-button_with-text"),n.if("withKeystroke","ck-button_with-keystroke")],role:n.to("role"),type:n.to("type",(t=>t||"button")),tabindex:n.to("tabindex"),"aria-checked":n.to("_ariaChecked"),"aria-pressed":n.to("_ariaPressed"),"aria-label":n.to("ariaLabel"),"aria-labelledby":n.to("ariaLabelledBy"),"aria-disabled":n.if("isEnabled",!0,(t=>!t)),"data-cke-tooltip-text":n.to("_tooltipString"),"data-cke-tooltip-position":n.to("tooltipPosition")},children:this.children,on:{click:n.to((t=>{this.isEnabled?this.fire("execute"):t.preventDefault()}))}};this.bind("_ariaPressed").to(this,"isOn",this,"isToggleable",this,"role",((t,e,n)=>!(!e||Am(n))&&String(!!t))),this.bind("_ariaChecked").to(this,"isOn",this,"isToggleable",this,"role",((t,e,n)=>!(!e||!Am(n))&&String(!!t))),Xn.isSafari&&(this._focusDelayed||(this._focusDelayed=Tr((()=>this.focus()),0)),o.on.mousedown=n.to((()=>{this._focusDelayed()})),o.on.mouseup=n.to((()=>{this._focusDelayed.cancel()}))),this.setTemplate(o)}render(){super.render(),this.icon&&(this.iconView.bind("content").to(this,"icon"),this.children.add(this.iconView)),this.children.add(this.labelView),this.withKeystroke&&this.keystroke&&this.children.add(this.keystrokeView)}focus(){this.element.focus()}destroy(){this._focusDelayed&&this._focusDelayed.cancel(),super.destroy()}_setupLabelView(t){return t.bind("text","style","id").to(this,"label","labelStyle","ariaLabelledBy"),t}_createKeystrokeView(){const t=new lm;return t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__keystroke"]},children:[{text:this.bindTemplate.to("keystroke",(t=>Jo(t)))}]}),t}_getTooltipString(t,e,n){return t?"string"==typeof t?t:(n&&(n=Jo(n)),t instanceof Function?t(e,n):`${e}${n?` (${n})`:""}`):""}}function Am(t){switch(t){case"radio":case"checkbox":case"option":case"switch":case"menuitemcheckbox":case"menuitemradio":return!0;default:return!1}}var _m=n(7913),Cm={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(_m.A,Cm);_m.A.locals;class vm extends lm{children;iconView;constructor(t,e={}){super(t);const n=this.bindTemplate;this.set("label",e.label||""),this.set("class",e.class||null),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__header",n.to("class")]},children:this.children}),e.icon&&(this.iconView=new pm,this.iconView.content=e.icon,this.children.add(this.iconView));const i=new lm(t);i.setTemplate({tag:"h2",attributes:{class:["ck","ck-form__header__label"],role:"presentation"},children:[{text:n.to("label")}]}),this.children.add(i)}}class ym extends(Di()){focusables;focusTracker;keystrokeHandler;actions;constructor(t){if(super(),this.focusables=t.focusables,this.focusTracker=t.focusTracker,this.keystrokeHandler=t.keystrokeHandler,this.actions=t.actions,t.actions&&t.keystrokeHandler)for(const e in t.actions){let n=t.actions[e];"string"==typeof n&&(n=[n]);for(const i of n)t.keystrokeHandler.set(i,((t,n)=>{this[e](),n()}),t.keystrokeHandlerOptions)}this.on("forwardCycle",(()=>this.focusFirst()),{priority:"low"}),this.on("backwardCycle",(()=>this.focusLast()),{priority:"low"})}get first(){return this.focusables.find(xm)||null}get last(){return this.focusables.filter(xm).slice(-1)[0]||null}get next(){return this._getDomFocusableItem(1)}get previous(){return this._getDomFocusableItem(-1)}get current(){let t=null;return null===this.focusTracker.focusedElement?null:(this.focusables.find(((e,n)=>{const i=e.element===this.focusTracker.focusedElement;return i&&(t=n),i})),t)}focusFirst(){this._focus(this.first,1)}focusLast(){this._focus(this.last,-1)}focusNext(){const t=this.next;t&&this.focusables.getIndex(t)===this.current||t===this.first?this.fire("forwardCycle"):this._focus(t,1)}focusPrevious(){const t=this.previous;t&&this.focusables.getIndex(t)===this.current||t===this.last?this.fire("backwardCycle"):this._focus(t,-1)}chain(t){const e=()=>null===this.current?null:this.focusables.get(this.current);this.listenTo(t,"forwardCycle",(t=>{const n=e();this.focusNext(),n!==e()&&t.stop()}),{priority:"low"}),this.listenTo(t,"backwardCycle",(t=>{const n=e();this.focusPrevious(),n!==e()&&t.stop()}),{priority:"low"})}unchain(t){this.stopListening(t)}_focus(t,e){t&&this.focusTracker.focusedElement!==t.element&&t.focus(e)}_getDomFocusableItem(t){const e=this.focusables.length;if(!e)return null;const n=this.current;if(null===n)return this[1===t?"first":"last"];let i=this.focusables.get(n),o=(n+e+t)%e;do{const n=this.focusables.get(o);if(xm(n)){i=n;break}o=(o+e+t)%e}while(o!==n);return i}}function xm(t){return Em(t)&&So(t.element)}function Em(t){return!(!("focus"in t)||"function"!=typeof t.focus)}function Bm(t){return class extends t{_onDragBound=this._onDrag.bind(this);_onDragEndBound=this._onDragEnd.bind(this);_lastDraggingCoordinates={x:0,y:0};constructor(...t){super(...t),this.on("render",(()=>{this._attachListeners()})),this.set("isDragging",!1)}_attachListeners(){this.listenTo(this.element,"mousedown",this._onDragStart.bind(this)),this.listenTo(this.element,"touchstart",this._onDragStart.bind(this))}_attachDragListeners(){this.listenTo(Zn.document,"mouseup",this._onDragEndBound),this.listenTo(Zn.document,"touchend",this._onDragEndBound),this.listenTo(Zn.document,"mousemove",this._onDragBound),this.listenTo(Zn.document,"touchmove",this._onDragBound)}_detachDragListeners(){this.stopListening(Zn.document,"mouseup",this._onDragEndBound),this.stopListening(Zn.document,"touchend",this._onDragEndBound),this.stopListening(Zn.document,"mousemove",this._onDragBound),this.stopListening(Zn.document,"touchmove",this._onDragBound)}_onDragStart(t,e){if(!this._isHandleElementPressed(e))return;this._attachDragListeners();let n=0,i=0;e instanceof MouseEvent?(n=e.clientX,i=e.clientY):(n=e.touches[0].clientX,i=e.touches[0].clientY),this._lastDraggingCoordinates={x:n,y:i},this.isDragging=!0}_onDrag(t,e){if(!this.isDragging)return void this._detachDragListeners();let n=0,i=0;e instanceof MouseEvent?(n=e.clientX,i=e.clientY):(n=e.touches[0].clientX,i=e.touches[0].clientY),e.preventDefault(),this.fire("drag",{deltaX:Math.round(n-this._lastDraggingCoordinates.x),deltaY:Math.round(i-this._lastDraggingCoordinates.y)}),this._lastDraggingCoordinates={x:n,y:i}}_onDragEnd(){this._detachDragListeners(),this.isDragging=!1}_isHandleElementPressed(t){return!!this.dragHandleElement&&(this.dragHandleElement===t.target||t.target instanceof HTMLElement&&this.dragHandleElement.contains(t.target))}}}var Dm=n(9822),Sm={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Dm.A,Sm);Dm.A.locals;class Tm extends lm{children;keystrokes;focusCycler;_focusTracker;_focusables;constructor(t){super(t),this.children=this.createCollection(),this.keystrokes=new Dr,this._focusTracker=new Br,this._focusables=new Mu,this.focusCycler=new ym({focusables:this._focusables,focusTracker:this._focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-dialog__actions"]},children:this.children})}render(){super.render(),this.keystrokes.listenTo(this.element)}setButtons(t){for(const e of t){const t=new wm(this.locale);let n;for(n in t.on("execute",(()=>e.onExecute())),e.onCreate&&e.onCreate(t),e)"onExecute"!=n&&"onCreate"!=n&&t.set(n,e[n]);this.children.add(t)}this._updateFocusCyclableItems()}focus(t){-1===t?this.focusCycler.focusLast():this.focusCycler.focusFirst()}_updateFocusCyclableItems(){Array.from(this.children).forEach((t=>{this._focusables.add(t),this._focusTracker.add(t.element)}))}}class Im extends lm{children;constructor(t){super(t),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-dialog__content"]},children:this.children})}reset(){for(;this.children.length;)this.children.remove(0)}}var Pm=n(9819),Fm={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Pm.A,Fm);Pm.A.locals;const Rm="screen-center",Vm="editor-center",Lm="editor-top-side",zm="editor-top-center",Mm="editor-bottom-center",Om="editor-above-center",Nm="editor-below-center",Hm=yo("px");class jm extends(Bm(lm)){parts;headerView;closeButtonView;actionsView;static defaultOffset=15;contentView;keystrokes;focusTracker;wasMoved=!1;_getCurrentDomRoot;_getViewportOffset;_focusables;_focusCycler;constructor(t,{getCurrentDomRoot:e,getViewportOffset:n}){super(t);const i=this.bindTemplate,o=t.t;this.set("className",""),this.set("ariaLabel",o("Editor dialog")),this.set("isModal",!1),this.set("position",Rm),this.set("_isVisible",!1),this.set("_isTransparent",!1),this.set("_top",0),this.set("_left",0),this._getCurrentDomRoot=e,this._getViewportOffset=n,this.decorate("moveTo"),this.parts=this.createCollection(),this.keystrokes=new Dr,this.focusTracker=new Br,this._focusables=new Mu,this._focusCycler=new ym({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-dialog-overlay",i.if("isModal","ck-dialog-overlay__transparent",(t=>!t)),i.if("_isVisible","ck-hidden",(t=>!t))],tabindex:"-1"},children:[{tag:"div",attributes:{tabindex:"-1",class:["ck","ck-dialog",i.to("className")],role:"dialog","aria-label":i.to("ariaLabel"),style:{top:i.to("_top",(t=>Hm(t))),left:i.to("_left",(t=>Hm(t))),visibility:i.if("_isTransparent","hidden")}},children:this.parts}]})}render(){super.render(),this.keystrokes.set("Esc",((t,e)=>{this.fire("close",{source:"escKeyPress"}),e()})),this.on("drag",((t,{deltaX:e,deltaY:n})=>{this.wasMoved=!0,this.moveBy(e,n)})),this.listenTo(Zn.window,"resize",(()=>{this._isVisible&&!this.wasMoved&&this.updatePosition()})),this.listenTo(Zn.document,"scroll",(()=>{this._isVisible&&!this.wasMoved&&this.updatePosition()})),this.on("change:_isVisible",((t,e,n)=>{n&&(this._isTransparent=!0,setTimeout((()=>{this.updatePosition(),this._isTransparent=!1,this.focus()}),10))})),this.keystrokes.listenTo(this.element)}get dragHandleElement(){return this.headerView?this.headerView.element:null}setupParts({icon:t,title:e,hasCloseButton:n=!0,content:i,actionButtons:o}){e&&(this.headerView=new vm(this.locale,{icon:t}),n&&(this.closeButtonView=this._createCloseButton(),this.headerView.children.add(this.closeButtonView)),this.headerView.label=e,this.ariaLabel=e,this.parts.add(this.headerView,0)),i&&(i instanceof lm&&(i=[i]),this.contentView=new Im(this.locale),this.contentView.children.addMany(i),this.parts.add(this.contentView)),o&&(this.actionsView=new Tm(this.locale),this.actionsView.setButtons(o),this.parts.add(this.actionsView)),this._updateFocusCyclableItems()}focus(){this._focusCycler.focusFirst()}moveTo(t,e){const n=this._getViewportRect(),i=this._getDialogRect();t+i.width>n.right&&(t=n.right-i.width),t{var e;this._focusables.add(t),this.focusTracker.add(t.element),Em(e=t)&&"focusCycler"in e&&e.focusCycler instanceof ym&&this._focusCycler.chain(t.focusCycler)}))}_createCloseButton(){const t=new wm(this.locale),e=this.locale.t;return t.set({label:e("Close"),tooltip:!0,icon:zu.cancel}),t.on("execute",(()=>this.fire("close",{source:"closeButton"}))),t}}class qm extends Lr{view;static _visibleDialogPlugin;_onHide;static get pluginName(){return"Dialog"}constructor(t){super(t);const e=t.t;this._initShowHideListeners(),this._initFocusToggler(),this._initMultiRootIntegration(),this.set({id:null,isOpen:!1}),t.accessibility.addKeystrokeInfos({categoryId:"navigation",keystrokes:[{label:e("Move focus in and out of an active dialog window"),keystroke:"Ctrl+F6",mayRequireFn:!0}]})}_initShowHideListeners(){this.on("show",((t,e)=>{this._show(e)})),this.on("show",((t,e)=>{e.onShow&&e.onShow(this)}),{priority:"low"}),this.on("hide",(()=>{qm._visibleDialogPlugin&&qm._visibleDialogPlugin._hide()})),this.on("hide",(()=>{this._onHide&&(this._onHide(this),this._onHide=void 0)}),{priority:"low"})}_initFocusToggler(){const t=this.editor;t.keystrokes.set("Ctrl+F6",((e,n)=>{this.isOpen&&!this.view.isModal&&(this.view.focusTracker.isFocused?t.editing.view.focus():this.view.focus(),n())}))}_initMultiRootIntegration(){const t=this.editor.model;t.document.on("change:data",(()=>{if(!this.view)return;const e=t.document.differ.getChangedRoots();for(const t of e)t.state&&this.view.updatePosition()}))}show(t){this.hide(),this.fire(`show:${t.id}`,t)}_show({id:t,icon:e,title:n,hasCloseButton:i=!0,content:o,actionButtons:r,className:s,isModal:a,position:l,onHide:c}){const d=this.editor;this.view=new jm(d.locale,{getCurrentDomRoot:()=>d.editing.view.getDomRoot(d.model.document.selection.anchor.root.rootName),getViewportOffset:()=>d.ui.viewportOffset});const h=this.view;h.on("close",(()=>{this.hide()})),d.ui.view.body.add(h),d.keystrokes.listenTo(h.element),l||(l=a?Rm:Vm),h.set({position:l,_isVisible:!0,className:s,isModal:a}),h.setupParts({icon:e,title:n,hasCloseButton:i,content:o,actionButtons:r}),this.id=t,c&&(this._onHide=c),this.isOpen=!0,qm._visibleDialogPlugin=this}hide(){qm._visibleDialogPlugin&&qm._visibleDialogPlugin.fire(`hide:${qm._visibleDialogPlugin.id}`)}_hide(){if(!this.view)return;const t=this.editor,e=this.view;e.contentView&&e.contentView.reset(),t.ui.view.body.remove(e),t.ui.focusTracker.remove(e.element),t.keystrokes.stopListening(e.element),e.destroy(),t.editing.view.focus(),this.id=null,this.isOpen=!1,qm._visibleDialogPlugin=null}}var Wm=n(278),Um={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Wm.A,Um);Wm.A.locals;class $m extends wm{_checkIconHolderView=new Gm;constructor(t,e=new fm){super(t,e),this.set({hasCheckSpace:!1,_hasCheck:this.isToggleable});const n=this.bindTemplate;this.extendTemplate({attributes:{class:["ck-list-item-button",n.if("isToggleable","ck-list-item-button_toggleable")]}}),this.bind("_hasCheck").to(this,"hasCheckSpace",this,"isToggleable",((t,e)=>t||e))}render(){super.render(),this._hasCheck&&this.children.add(this._checkIconHolderView,0),this._watchCheckIconHolderMount()}_watchCheckIconHolderMount(){this._checkIconHolderView.bind("isOn").to(this,"isOn",(t=>this.isToggleable&&t)),this.on("change:_hasCheck",((t,e,n)=>{const{children:i,_checkIconHolderView:o}=this;n?i.add(o,0):i.remove(o)}))}}class Gm extends lm{children;_checkIconView=this._createCheckIconView();constructor(){super();const t=this.bindTemplate;this.children=this.createCollection(),this.set("isOn",!1),this.setTemplate({tag:"span",children:this.children,attributes:{class:["ck","ck-list-item-button__check-holder",t.to("isOn",(t=>t?"ck-on":"ck-off"))]}})}render(){super.render(),this.isOn&&this.children.add(this._checkIconView,0),this._watchCheckIconMount()}_watchCheckIconMount(){this.on("change:isOn",((t,e,n)=>{const{children:i,_checkIconView:o}=this;n&&!i.has(o)?i.add(o):!n&&i.has(o)&&i.remove(o)}))}_createCheckIconView(){const t=new pm;return t.content=zu.check,t.extendTemplate({attributes:{class:"ck-list-item-button__check-icon"}}),t}}var Km=n(977),Ym={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Km.A,Ym);Km.A.locals;class Zm extends $m{constructor(t){super(t),this.set({withText:!0,withKeystroke:!0,tooltip:!1,role:"menuitem"}),this.extendTemplate({attributes:{class:["ck-menu-bar__menu__item__button"]}})}}var Jm=n(7801),Qm={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Jm.A,Qm);Jm.A.locals;class Xm extends lm{id;constructor(t){super(t),this.set("text",void 0),this.set("for",void 0),this.id=`ck-editor__label_${pi()}`;const e=this.bindTemplate;this.setTemplate({tag:"label",attributes:{class:["ck","ck-label"],id:this.id,for:e.to("for")},children:[{text:e.to("text")}]})}}var tg=n(8527),eg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(tg.A,eg);tg.A.locals;class ng extends Mu{locale;_bodyCollectionContainer;constructor(t,e=[]){super(e),this.locale=t}get bodyCollectionContainer(){return this._bodyCollectionContainer}attachToDom(){this._bodyCollectionContainer=new Ou({tag:"div",attributes:{class:["ck","ck-reset_all","ck-body","ck-rounded-corners"],dir:this.locale.uiLanguageDirection,role:"application"},children:this}).render();let t=document.querySelector(".ck-body-wrapper");t||(t=Qi(document,"div",{class:"ck-body-wrapper"}),document.body.appendChild(t)),t.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy(),this._bodyCollectionContainer&&this._bodyCollectionContainer.remove();const t=document.querySelector(".ck-body-wrapper");t&&0==t.childElementCount&&t.remove()}}var ig=n(4391),og={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(ig.A,og);ig.A.locals;class rg extends wm{toggleSwitchView;constructor(t){super(t),this.isToggleable=!0,this.toggleSwitchView=this._createToggleView(),this.extendTemplate({attributes:{class:"ck-switchbutton"}})}render(){super.render(),this.children.add(this.toggleSwitchView)}_createToggleView(){const t=new lm;return t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__toggle"]},children:[{tag:"span",attributes:{class:["ck","ck-button__toggle__inner"]}}]}),t}}class sg extends(lg(wm)){}class ag extends(lg($m)){}function lg(t){return class extends t{buttonView;_fileInputView;constructor(...t){super(...t),this.buttonView=this,this._fileInputView=new cg(this.locale),this._fileInputView.bind("acceptedType").to(this),this._fileInputView.bind("allowMultipleFiles").to(this),this._fileInputView.delegate("done").to(this),this.on("execute",(()=>{this._fileInputView.open()})),this.extendTemplate({attributes:{class:"ck-file-dialog-button"}})}render(){super.render(),this.children.add(this._fileInputView)}}}class cg extends lm{constructor(t){super(t),this.set("acceptedType",void 0),this.set("allowMultipleFiles",!1);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:e.to("acceptedType"),multiple:e.to("allowMultipleFiles")},on:{change:e.to((()=>{this.element&&this.element.files&&this.element.files.length&&this.fire("done",this.element.files),this.element.value=""}))}})}open(){this.element.click()}}const dg='';var hg=n(25),ug={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(hg.A,ug);hg.A.locals;class mg extends lm{buttonView;children;constructor(t,e){super(t);const n=this.bindTemplate;this.set("isCollapsed",!1),this.set("label",""),this.buttonView=this._createButtonView(),this.children=this.createCollection(),this.set("_collapsibleAriaLabelUid",void 0),e&&this.children.addMany(e),this.setTemplate({tag:"div",attributes:{class:["ck","ck-collapsible",n.if("isCollapsed","ck-collapsible_collapsed")]},children:[this.buttonView,{tag:"div",attributes:{class:["ck","ck-collapsible__children"],role:"region",hidden:n.if("isCollapsed","hidden"),"aria-labelledby":n.to("_collapsibleAriaLabelUid")},children:this.children}]})}render(){super.render(),this._collapsibleAriaLabelUid=this.buttonView.labelView.element.id}focus(){this.buttonView.focus()}_createButtonView(){const t=new wm(this.locale),e=t.bindTemplate;return t.set({withText:!0,icon:dg}),t.extendTemplate({attributes:{"aria-expanded":e.to("isOn",(t=>String(t)))}}),t.bind("label").to(this),t.bind("isOn").to(this,"isCollapsed",(t=>!t)),t.on("execute",(()=>{this.isCollapsed=!this.isCollapsed})),t}}function gg(t,e){const n=t.t,i={Black:n("Black"),"Dim grey":n("Dim grey"),Grey:n("Grey"),"Light grey":n("Light grey"),White:n("White"),Red:n("Red"),Orange:n("Orange"),Yellow:n("Yellow"),"Light green":n("Light green"),Green:n("Green"),Aquamarine:n("Aquamarine"),Turquoise:n("Turquoise"),"Light blue":n("Light blue"),Blue:n("Blue"),Purple:n("Purple")};return e.map((t=>{const e=i[t.label];return e&&e!=t.label&&(t.label=e),t}))}function pg(t){return t.map(fg).filter((t=>!!t))}function fg(t){return"string"==typeof t?{model:t,label:t,hasBorder:!1,view:{name:"span",styles:{color:t}}}:{model:t.color,label:t.label||t.color,hasBorder:void 0!==t.hasBorder&&t.hasBorder,view:{name:"span",styles:{color:`${t.color}`}}}}class kg extends wm{constructor(t){super(t);const e=this.bindTemplate;this.set("color",void 0),this.set("hasBorder",!1),this.icon='',this.extendTemplate({attributes:{style:{backgroundColor:e.to("color",(t=>Xn.isMediaForcedColors?null:t))},class:["ck","ck-color-grid__tile",e.if("hasBorder","ck-color-selector__color-tile_bordered")]}})}render(){super.render(),this.iconView.fillColor="hsl(0, 0%, 100%)"}}var bg=n(7317),wg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(bg.A,wg);bg.A.locals;class Ag extends lm{columns;items;focusTracker;keystrokes;constructor(t,e){super(t);const n=e&&e.colorDefinitions?e.colorDefinitions:[];this.columns=e&&e.columns?e.columns:5;const i={gridTemplateColumns:`repeat( ${this.columns}, 1fr)`};this.set("selectedColor",void 0),this.items=this.createCollection(),this.focusTracker=new Br,this.keystrokes=new Dr,this.items.on("add",((t,e)=>{e.isOn=e.color===this.selectedColor})),n.forEach((t=>{const e=new kg;e.set({color:t.color,label:t.label,tooltip:!0,hasBorder:t.options.hasBorder}),e.on("execute",(()=>{this.fire("execute",{value:t.color,hasBorder:t.options.hasBorder,label:t.label})})),this.items.add(e)})),this.setTemplate({tag:"div",children:this.items,attributes:{class:["ck","ck-color-grid"],style:i}}),this.on("change:selectedColor",((t,e,n)=>{for(const t of this.items)t.isOn=t.color===n}))}focus(){this.items.length&&this.items.first.focus()}focusLast(){this.items.length&&this.items.last.focus()}render(){super.render();for(const t of this.items)this.focusTracker.add(t.element);this.items.on("add",((t,e)=>{this.focusTracker.add(e.element)})),this.items.on("remove",((t,e)=>{this.focusTracker.remove(e.element)})),this.keystrokes.listenTo(this.element),um({keystrokeHandler:this.keystrokes,focusTracker:this.focusTracker,gridItems:this.items,numberOfColumns:this.columns,uiLanguageDirection:this.locale&&this.locale.uiLanguageDirection})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}}var _g=n(6931);const Cg=function(t){var e,n,i=[],o=1;if("string"==typeof t)if(_g[t])i=_g[t].slice(),n="rgb";else if("transparent"===t)o=0,n="rgb",i=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var r=t.slice(1);o=1,(l=r.length)<=4?(i=[parseInt(r[0]+r[0],16),parseInt(r[1]+r[1],16),parseInt(r[2]+r[2],16)],4===l&&(o=parseInt(r[3]+r[3],16)/255)):(i=[parseInt(r[0]+r[1],16),parseInt(r[2]+r[3],16),parseInt(r[4]+r[5],16)],8===l&&(o=parseInt(r[6]+r[7],16)/255)),i[0]||(i[0]=0),i[1]||(i[1]=0),i[2]||(i[2]=0),n="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var s=e[1],a="rgb"===s;n=r=s.replace(/a$/,"");var l="cmyk"===r?4:"gray"===r?1:3;i=e[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(t,e){if(/%$/.test(t))return e===l?parseFloat(t)/100:"rgb"===r?255*parseFloat(t)/100:parseFloat(t);if("h"===r[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==vg[t])return vg[t]}return parseFloat(t)})),s===r&&i.push(1),o=a||void 0===i[l]?1:i[l],i=i.slice(0,l)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(i=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),n=t.match(/([a-z])/gi).join("").toLowerCase());else isNaN(t)?Array.isArray(t)||t.length?(i=[t[0],t[1],t[2]],n="rgb",o=4===t.length?t[3]:1):t instanceof Object&&(null!=t.r||null!=t.red||null!=t.R?(n="rgb",i=[t.r||t.red||t.R||0,t.g||t.green||t.G||0,t.b||t.blue||t.B||0]):(n="hsl",i=[t.h||t.hue||t.H||0,t.s||t.saturation||t.S||0,t.l||t.lightness||t.L||t.b||t.brightness]),o=t.a||t.alpha||t.opacity||1,null!=t.opacity&&(o/=100)):(n="rgb",i=[t>>>16,(65280&t)>>>8,255&t]);return{space:n,values:i,alpha:o}};var vg={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};var yg=n(9047);function xg(t,e){if(!t)return"";const n=Eg(t);if(!n)return"";if(n.space===e)return t;if(i=n,!Object.keys(yg).includes(i.space))return"";var i;const o=yg[n.space][e];if(!o)return"";return function(t,e){switch(e){case"hex":return`#${t}`;case"rgb":return`rgb( ${t[0]}, ${t[1]}, ${t[2]} )`;case"hsl":return`hsl( ${t[0]}, ${t[1]}%, ${t[2]}% )`;case"hwb":return`hwb( ${t[0]}, ${t[1]}, ${t[2]} )`;case"lab":return`lab( ${t[0]}% ${t[1]} ${t[2]} )`;case"lch":return`lch( ${t[0]}% ${t[1]} ${t[2]} )`;default:return""}}(o("hex"===n.space?n.hexValue:n.values),e)}function Eg(t){if(t.startsWith("#")){const e=Cg(t);return{space:"hex",values:e.values,hexValue:t,alpha:e.alpha}}const e=Cg(t);return e.space?e:null}var Bg=n(4962),Dg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Bg.A,Dg);Bg.A.locals;class Sg extends lm{fieldView;labelView;statusView;fieldWrapperChildren;constructor(t,e){super(t);const n=`ck-labeled-field-view-${pi()}`,i=`ck-labeled-field-view-status-${pi()}`;this.fieldView=e(this,n,i),this.set("label",void 0),this.set("isEnabled",!0),this.set("isEmpty",!0),this.set("isFocused",!1),this.set("errorText",null),this.set("infoText",null),this.set("class",void 0),this.set("placeholder",void 0),this.labelView=this._createLabelView(n),this.statusView=this._createStatusView(i),this.fieldWrapperChildren=this.createCollection([this.fieldView,this.labelView]),this.bind("_statusText").to(this,"errorText",this,"infoText",((t,e)=>t||e));const o=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view",o.to("class"),o.if("isEnabled","ck-disabled",(t=>!t)),o.if("isEmpty","ck-labeled-field-view_empty"),o.if("isFocused","ck-labeled-field-view_focused"),o.if("placeholder","ck-labeled-field-view_placeholder"),o.if("errorText","ck-error")]},children:[{tag:"div",attributes:{class:["ck","ck-labeled-field-view__input-wrapper"]},children:this.fieldWrapperChildren},this.statusView]})}_createLabelView(t){const e=new Xm(this.locale);return e.for=t,e.bind("text").to(this,"label"),e}_createStatusView(t){const e=new lm(this.locale),n=this.bindTemplate;return e.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view__status",n.if("errorText","ck-labeled-field-view__status_error"),n.if("_statusText","ck-hidden",(t=>!t))],id:t,role:n.if("errorText","alert")},children:[{text:n.to("_statusText")}]}),e}focus(t){this.fieldView.focus(t)}}class Tg extends lm{focusTracker;constructor(t){super(t),this.set("value",void 0),this.set("id",void 0),this.set("placeholder",void 0),this.set("tabIndex",void 0),this.set("isReadOnly",!1),this.set("hasError",!1),this.set("ariaDescribedById",void 0),this.set("ariaLabel",void 0),this.focusTracker=new Br,this.bind("isFocused").to(this.focusTracker),this.set("isEmpty",!0);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck","ck-input",e.if("isFocused","ck-input_focused"),e.if("isEmpty","ck-input-text_empty"),e.if("hasError","ck-error")],id:e.to("id"),placeholder:e.to("placeholder"),tabindex:e.to("tabIndex"),readonly:e.to("isReadOnly"),"aria-invalid":e.if("hasError",!0),"aria-describedby":e.to("ariaDescribedById"),"aria-label":e.to("ariaLabel")},on:{input:e.to(((...t)=>{this.fire("input",...t),this._updateIsEmpty()})),change:e.to(this._updateIsEmpty.bind(this))}})}render(){super.render(),this.focusTracker.add(this.element),this._setDomElementValue(this.value),this._updateIsEmpty(),this.on("change:value",((t,e,n)=>{this._setDomElementValue(n),this._updateIsEmpty()}))}destroy(){super.destroy(),this.focusTracker.destroy()}select(){this.element.select()}focus(){this.element.focus()}reset(){this.value=this.element.value="",this._updateIsEmpty()}_updateIsEmpty(){this.isEmpty=!this.element.value}_setDomElementValue(t){this.element.value=t||0===t?t:""}}var Ig=n(253),Pg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Ig.A,Pg);Ig.A.locals;class Fg extends Tg{constructor(t){super(t),this.set("inputMode","text");const e=this.bindTemplate;this.extendTemplate({attributes:{inputmode:e.to("inputMode")}})}}class Rg extends Fg{constructor(t){super(t),this.extendTemplate({attributes:{type:"text",class:["ck-input-text"]}})}}class Vg extends Fg{constructor(t,{min:e,max:n,step:i}={}){super(t);const o=this.bindTemplate;this.set("min",e),this.set("max",n),this.set("step",i),this.extendTemplate({attributes:{type:"number",class:["ck-input-number"],min:o.to("min"),max:o.to("max"),step:o.to("step")}})}}var Lg=n(1671),zg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Lg.A,zg);Lg.A.locals;class Mg extends lm{children;constructor(t){super(t);const e=this.bindTemplate;this.set("isVisible",!1),this.set("position","se"),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-dropdown__panel",e.to("position",(t=>`ck-dropdown__panel_${t}`)),e.if("isVisible","ck-dropdown__panel-visible")],tabindex:"-1"},children:this.children,on:{selectstart:e.to((t=>{"input"!==t.target.tagName.toLocaleLowerCase()&&t.preventDefault()}))}})}focus(){if(this.children.length){const t=this.children.first;"function"==typeof t.focus?t.focus():wi("ui-dropdown-panel-focus-child-missing-focus",{childView:this.children.first,dropdownPanel:this})}}focusLast(){if(this.children.length){const t=this.children.last;"function"==typeof t.focusLast?t.focusLast():t.focus()}}}var Og=n(8149),Ng={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Og.A,Ng);Og.A.locals;class Hg extends lm{buttonView;panelView;focusTracker;keystrokes;listView;toolbarView;menuView;constructor(t,e,n){super(t);const i=this.bindTemplate;this.buttonView=e,this.panelView=n,this.set("isOpen",!1),this.set("isEnabled",!0),this.set("class",void 0),this.set("id",void 0),this.set("panelPosition","auto"),this.panelView.bind("isVisible").to(this,"isOpen"),this.keystrokes=new Dr,this.focusTracker=new Br,this.setTemplate({tag:"div",attributes:{class:["ck","ck-dropdown",i.to("class"),i.if("isEnabled","ck-disabled",(t=>!t))],id:i.to("id"),"aria-describedby":i.to("ariaDescribedById")},children:[e,n]}),e.extendTemplate({attributes:{class:["ck-dropdown__button"],"data-cke-tooltip-disabled":i.to("isOpen")}})}render(){super.render(),this.focusTracker.add(this.buttonView.element),this.focusTracker.add(this.panelView.element),this.listenTo(this.buttonView,"open",(()=>{this.isOpen=!this.isOpen})),this.on("change:isOpen",((t,e,n)=>{if(n)if("auto"===this.panelPosition){const t=Hg._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:!0,positions:this._panelPositions});this.panelView.position=t?t.name:this._panelPositions[0].name}else this.panelView.position=this.panelPosition})),this.keystrokes.listenTo(this.element);const t=(t,e)=>{this.isOpen&&(this.isOpen=!1,e())};this.keystrokes.set("arrowdown",((t,e)=>{this.buttonView.isEnabled&&!this.isOpen&&(this.isOpen=!0,e())})),this.keystrokes.set("arrowright",((t,e)=>{this.isOpen&&e()})),this.keystrokes.set("arrowleft",t),this.keystrokes.set("esc",t)}focus(){this.buttonView.focus()}get _panelPositions(){const{south:t,north:e,southEast:n,southWest:i,northEast:o,northWest:r,southMiddleEast:s,southMiddleWest:a,northMiddleEast:l,northMiddleWest:c}=Hg.defaultPanelPositions;return"rtl"!==this.locale.uiLanguageDirection?[n,i,s,a,t,o,r,l,c,e]:[i,n,a,s,t,r,o,c,l,e]}static defaultPanelPositions={south:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)/2,name:"s"}),southEast:t=>({top:t.bottom,left:t.left,name:"se"}),southWest:(t,e)=>({top:t.bottom,left:t.left-e.width+t.width,name:"sw"}),southMiddleEast:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)/4,name:"sme"}),southMiddleWest:(t,e)=>({top:t.bottom,left:t.left-3*(e.width-t.width)/4,name:"smw"}),north:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)/2,name:"n"}),northEast:(t,e)=>({top:t.top-e.height,left:t.left,name:"ne"}),northWest:(t,e)=>({top:t.top-e.height,left:t.left-e.width+t.width,name:"nw"}),northMiddleEast:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)/4,name:"nme"}),northMiddleWest:(t,e)=>({top:t.top-e.height,left:t.left-3*(e.width-t.width)/4,name:"nmw"})};static _getOptimalPosition=To}class jg extends wm{arrowView;constructor(t){super(t),this.arrowView=this._createArrowView(),this.extendTemplate({attributes:{"aria-haspopup":!0,"aria-expanded":this.bindTemplate.to("isOn",(t=>String(t)))}}),this.delegate("execute").to(this,"open")}render(){super.render(),this.children.add(this.arrowView)}_createArrowView(){const t=new pm;return t.content=dg,t.extendTemplate({attributes:{class:"ck-dropdown__arrow"}}),t}}var qg=n(4767),Wg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(qg.A,Wg);qg.A.locals;var Ug=n(9554),$g={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Ug.A,$g);Ug.A.locals;class Gg extends lm{children;constructor(t){super(t);const e=this.bindTemplate;this.set("isVisible",!0),this.children=this.createCollection(),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__item",e.if("isVisible","ck-hidden",(t=>!t))],role:"presentation"},children:this.children})}focus(){this.children.first&&this.children.first.focus()}}class Kg extends lm{constructor(t){super(t),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__separator"]}})}}class Yg extends lm{labelView;items;children;constructor(t,e=new Xm){super(t);const n=this.bindTemplate,i=new Qg(t);this.set({label:"",isVisible:!0}),this.labelView=e,this.labelView.bind("text").to(this,"label"),this.children=this.createCollection(),this.children.addMany([this.labelView,i]),i.set({role:"group",ariaLabelledBy:e.id}),i.focusTracker.destroy(),i.keystrokes.destroy(),this.items=i.items,this.setTemplate({tag:"li",attributes:{role:"presentation",class:["ck","ck-list__group",n.if("isVisible","ck-hidden",(t=>!t))]},children:this.children})}focus(){if(this.items){const t=this.items.find((t=>!(t instanceof Kg)));t&&t.focus()}}}var Zg=n(5199),Jg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Zg.A,Jg);Zg.A.locals;class Qg extends lm{focusables;items;focusTracker;keystrokes;_focusCycler;_listItemGroupToChangeListeners=new WeakMap;constructor(t){super(t);const e=this.bindTemplate;this.focusables=new Mu,this.items=this.createCollection(),this.focusTracker=new Br,this.keystrokes=new Dr,this._focusCycler=new ym({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"arrowup",focusNext:"arrowdown"}}),this.set("ariaLabel",void 0),this.set("ariaLabelledBy",void 0),this.set("role",void 0),this.setTemplate({tag:"ul",attributes:{class:["ck","ck-reset","ck-list"],role:e.to("role"),"aria-label":e.to("ariaLabel"),"aria-labelledby":e.to("ariaLabelledBy")},children:this.items})}render(){super.render();for(const t of this.items)t instanceof Yg?this._registerFocusableItemsGroup(t):t instanceof Gg&&this._registerFocusableListItem(t);this.items.on("change",((t,e)=>{for(const t of e.removed)t instanceof Yg?this._deregisterFocusableItemsGroup(t):t instanceof Gg&&this._deregisterFocusableListItem(t);for(const t of Array.from(e.added).reverse())t instanceof Yg?this._registerFocusableItemsGroup(t,e.index):this._registerFocusableListItem(t,e.index)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}focusFirst(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}_registerFocusableListItem(t,e){this.focusTracker.add(t.element),this.focusables.add(t,e)}_deregisterFocusableListItem(t){this.focusTracker.remove(t.element),this.focusables.remove(t)}_getOnGroupItemsChangeCallback(t){return(e,n)=>{for(const t of n.removed)this._deregisterFocusableListItem(t);for(const e of Array.from(n.added).reverse())this._registerFocusableListItem(e,this.items.getIndex(t)+n.index)}}_registerFocusableItemsGroup(t,e){Array.from(t.items).forEach(((t,n)=>{const i=void 0!==e?e+n:void 0;this._registerFocusableListItem(t,i)}));const n=this._getOnGroupItemsChangeCallback(t);this._listItemGroupToChangeListeners.set(t,n),t.items.on("change",n)}_deregisterFocusableItemsGroup(t){for(const e of t.items)this._deregisterFocusableListItem(e);t.items.off("change",this._listItemGroupToChangeListeners.get(t)),this._listItemGroupToChangeListeners.delete(t)}}var Xg=n(2171),tp={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Xg.A,tp);Xg.A.locals;var ep=n(3710),np={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(ep.A,np);ep.A.locals;const ip=yo("px"),op={top:-99999,left:-99999,name:"arrowless",config:{withArrow:!1}};class rp extends lm{content;_pinWhenIsVisibleCallback;_resizeObserver;constructor(t){super(t);const e=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("position","arrow_nw"),this.set("isVisible",!1),this.set("withArrow",!0),this.set("class",void 0),this._pinWhenIsVisibleCallback=null,this._resizeObserver=null,this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-panel",e.to("position",(t=>`ck-balloon-panel_${t}`)),e.if("isVisible","ck-balloon-panel_visible"),e.if("withArrow","ck-balloon-panel_with-arrow"),e.to("class")],style:{top:e.to("top",ip),left:e.to("left",ip)}},children:this.content})}destroy(){this.hide(),super.destroy()}show(){this.isVisible=!0}hide(){this.isVisible=!1}attachTo(t){const e=sp(t.target);if(e&&!So(e))return!1;this.show();const n=rp.defaultPositions,i=Object.assign({},{element:this.element,positions:[n.southArrowNorth,n.southArrowNorthMiddleWest,n.southArrowNorthMiddleEast,n.southArrowNorthWest,n.southArrowNorthEast,n.northArrowSouth,n.northArrowSouthMiddleWest,n.northArrowSouthMiddleEast,n.northArrowSouthWest,n.northArrowSouthEast,n.viewportStickyNorth],limiter:Zn.document.body,fitInViewport:!0},t),o=rp._getOptimalPosition(i)||op,r=parseInt(o.left),s=parseInt(o.top),a=o.name,l=o.config||{},{withArrow:c=!0}=l;return this.top=s,this.left=r,this.position=a,this.withArrow=c,!0}pin(t){this.unpin(),this._startPinning(t)&&(this._pinWhenIsVisibleCallback=()=>{this.isVisible?this._startPinning(t):this._stopPinning()},this.listenTo(this,"change:isVisible",this._pinWhenIsVisibleCallback))}unpin(){this._pinWhenIsVisibleCallback&&(this._stopPinning(),this.stopListening(this,"change:isVisible",this._pinWhenIsVisibleCallback),this._pinWhenIsVisibleCallback=null,this.hide())}_startPinning(t){if(!this.attachTo(t))return!1;let e=sp(t.target);const n=t.limiter?sp(t.limiter):Zn.document.body;if(this.listenTo(Zn.document,"scroll",((i,o)=>{const r=o.target,s=e&&r.contains(e),a=n&&r.contains(n);!s&&!a&&e&&n||this.attachTo(t)}),{useCapture:!0}),this.listenTo(Zn.window,"resize",(()=>{this.attachTo(t)})),!this._resizeObserver&&(e&&mo(e)&&(e=e.parentElement),e)){const t=()=>{So(e)||this.unpin()};this._resizeObserver=new Co(e,t)}return!0}_stopPinning(){this.stopListening(Zn.document,"scroll"),this.stopListening(Zn.window,"resize"),this._resizeObserver&&(this._resizeObserver.destroy(),this._resizeObserver=null)}static generatePositions(t={}){const{sideOffset:e=rp.arrowSideOffset,heightOffset:n=rp.arrowHeightOffset,stickyVerticalOffset:i=rp.stickyVerticalOffset,config:o}=t;return{northWestArrowSouthWest:(t,n)=>({top:r(t,n),left:t.left-e,name:"arrow_sw",...o&&{config:o}}),northWestArrowSouthMiddleWest:(t,n)=>({top:r(t,n),left:t.left-.25*n.width-e,name:"arrow_smw",...o&&{config:o}}),northWestArrowSouth:(t,e)=>({top:r(t,e),left:t.left-e.width/2,name:"arrow_s",...o&&{config:o}}),northWestArrowSouthMiddleEast:(t,n)=>({top:r(t,n),left:t.left-.75*n.width+e,name:"arrow_sme",...o&&{config:o}}),northWestArrowSouthEast:(t,n)=>({top:r(t,n),left:t.left-n.width+e,name:"arrow_se",...o&&{config:o}}),northArrowSouthWest:(t,n)=>({top:r(t,n),left:t.left+t.width/2-e,name:"arrow_sw",...o&&{config:o}}),northArrowSouthMiddleWest:(t,n)=>({top:r(t,n),left:t.left+t.width/2-.25*n.width-e,name:"arrow_smw",...o&&{config:o}}),northArrowSouth:(t,e)=>({top:r(t,e),left:t.left+t.width/2-e.width/2,name:"arrow_s",...o&&{config:o}}),northArrowSouthMiddleEast:(t,n)=>({top:r(t,n),left:t.left+t.width/2-.75*n.width+e,name:"arrow_sme",...o&&{config:o}}),northArrowSouthEast:(t,n)=>({top:r(t,n),left:t.left+t.width/2-n.width+e,name:"arrow_se",...o&&{config:o}}),northEastArrowSouthWest:(t,n)=>({top:r(t,n),left:t.right-e,name:"arrow_sw",...o&&{config:o}}),northEastArrowSouthMiddleWest:(t,n)=>({top:r(t,n),left:t.right-.25*n.width-e,name:"arrow_smw",...o&&{config:o}}),northEastArrowSouth:(t,e)=>({top:r(t,e),left:t.right-e.width/2,name:"arrow_s",...o&&{config:o}}),northEastArrowSouthMiddleEast:(t,n)=>({top:r(t,n),left:t.right-.75*n.width+e,name:"arrow_sme",...o&&{config:o}}),northEastArrowSouthEast:(t,n)=>({top:r(t,n),left:t.right-n.width+e,name:"arrow_se",...o&&{config:o}}),southWestArrowNorthWest:t=>({top:s(t),left:t.left-e,name:"arrow_nw",...o&&{config:o}}),southWestArrowNorthMiddleWest:(t,n)=>({top:s(t),left:t.left-.25*n.width-e,name:"arrow_nmw",...o&&{config:o}}),southWestArrowNorth:(t,e)=>({top:s(t),left:t.left-e.width/2,name:"arrow_n",...o&&{config:o}}),southWestArrowNorthMiddleEast:(t,n)=>({top:s(t),left:t.left-.75*n.width+e,name:"arrow_nme",...o&&{config:o}}),southWestArrowNorthEast:(t,n)=>({top:s(t),left:t.left-n.width+e,name:"arrow_ne",...o&&{config:o}}),southArrowNorthWest:t=>({top:s(t),left:t.left+t.width/2-e,name:"arrow_nw",...o&&{config:o}}),southArrowNorthMiddleWest:(t,n)=>({top:s(t),left:t.left+t.width/2-.25*n.width-e,name:"arrow_nmw",...o&&{config:o}}),southArrowNorth:(t,e)=>({top:s(t),left:t.left+t.width/2-e.width/2,name:"arrow_n",...o&&{config:o}}),southArrowNorthMiddleEast:(t,n)=>({top:s(t),left:t.left+t.width/2-.75*n.width+e,name:"arrow_nme",...o&&{config:o}}),southArrowNorthEast:(t,n)=>({top:s(t),left:t.left+t.width/2-n.width+e,name:"arrow_ne",...o&&{config:o}}),southEastArrowNorthWest:t=>({top:s(t),left:t.right-e,name:"arrow_nw",...o&&{config:o}}),southEastArrowNorthMiddleWest:(t,n)=>({top:s(t),left:t.right-.25*n.width-e,name:"arrow_nmw",...o&&{config:o}}),southEastArrowNorth:(t,e)=>({top:s(t),left:t.right-e.width/2,name:"arrow_n",...o&&{config:o}}),southEastArrowNorthMiddleEast:(t,n)=>({top:s(t),left:t.right-.75*n.width+e,name:"arrow_nme",...o&&{config:o}}),southEastArrowNorthEast:(t,n)=>({top:s(t),left:t.right-n.width+e,name:"arrow_ne",...o&&{config:o}}),westArrowEast:(t,e)=>({top:t.top+t.height/2-e.height/2,left:t.left-e.width-n,name:"arrow_e",...o&&{config:o}}),eastArrowWest:(t,e)=>({top:t.top+t.height/2-e.height/2,left:t.right+n,name:"arrow_w",...o&&{config:o}}),viewportStickyNorth:(t,e,n,r)=>{const s=r||n;return t.getIntersection(s)?s.height-t.height>i?null:{top:s.top+i,left:t.left+t.width/2-e.width/2,name:"arrowless",config:{withArrow:!1,...o}}:null}};function r(t,e){return t.top-e.height-n}function s(t){return t.bottom+n}}static arrowSideOffset=25;static arrowHeightOffset=10;static stickyVerticalOffset=20;static _getOptimalPosition=To;static defaultPositions=rp.generatePositions()}function sp(t){return W(t)?t:go(t)?t.commonAncestorContainer:"function"==typeof t?sp(t()):null}var ap=n(3610),lp={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(ap.A,lp);ap.A.locals;var cp=n(7218),dp={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(cp.A,dp);cp.A.locals;class hp extends lm{constructor(t){super(t),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__separator"]}})}}class up extends lm{constructor(t){super(t),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__line-break"]}})}}function mp(t){if(Array.isArray(t))return{items:t,removeItems:[]};const e={items:[],removeItems:[]};return t?{...e,...t}:e}var gp=n(9677),pp={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(gp.A,pp);gp.A.locals;const fp=(()=>({alignLeft:zu.alignLeft,bold:zu.bold,importExport:zu.importExport,paragraph:zu.paragraph,plus:zu.plus,text:zu.text,threeVerticalDots:zu.threeVerticalDots,pilcrow:zu.pilcrow,dragIndicator:zu.dragIndicator}))();class kp extends lm{options;items;focusTracker;keystrokes;itemsView;children;focusables;_focusCycler;_behavior;constructor(t,e){super(t);const n=this.bindTemplate,i=this.t;this.options=e||{},this.set("ariaLabel",i("Editor toolbar")),this.set("maxWidth","auto"),this.items=this.createCollection(),this.focusTracker=new Br,this.keystrokes=new Dr,this.set("class",void 0),this.set("isCompact",!1),this.itemsView=new bp(t),this.children=this.createCollection(),this.children.add(this.itemsView),this.focusables=this.createCollection();const o="rtl"===t.uiLanguageDirection;this._focusCycler=new ym({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[o?"arrowright":"arrowleft","arrowup"],focusNext:[o?"arrowleft":"arrowright","arrowdown"]}});const r=["ck","ck-toolbar",n.to("class"),n.if("isCompact","ck-toolbar_compact")];var s;this.options.shouldGroupWhenFull&&this.options.isFloating&&r.push("ck-toolbar_floating"),this.setTemplate({tag:"div",attributes:{class:r,role:"toolbar","aria-label":n.to("ariaLabel"),style:{maxWidth:n.to("maxWidth")},tabindex:-1},children:this.children,on:{mousedown:(s=this,s.bindTemplate.to((t=>{t.target===s.element&&t.preventDefault()})))}}),this._behavior=this.options.shouldGroupWhenFull?new Ap(this):new wp(this)}render(){super.render(),this.focusTracker.add(this.element);for(const t of this.items)this.focusTracker.add(t.element);this.items.on("add",((t,e)=>{this.focusTracker.add(e.element)})),this.items.on("remove",((t,e)=>{this.focusTracker.remove(e.element)})),this.keystrokes.listenTo(this.element),this._behavior.render(this)}destroy(){return this._behavior.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy(),super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(t,e,n){this.items.addMany(this._buildItemsFromConfig(t,e,n))}_buildItemsFromConfig(t,e,n){const i=mp(t),o=n||i.removeItems;return this._cleanItemsConfiguration(i.items,e,o).map((t=>s(t)?this._createNestedToolbarDropdown(t,e,o):"|"===t?new hp:"-"===t?new up:e.create(t))).filter((t=>!!t))}_cleanItemsConfiguration(t,e,n){const i=t.filter(((t,i,o)=>"|"===t||-1===n.indexOf(t)&&("-"===t?!this.options.shouldGroupWhenFull||(wi("toolbarview-line-break-ignored-when-grouping-items",o),!1):!(!s(t)&&!e.has(t))||(wi("toolbarview-item-unavailable",{item:t}),!1))));return this._cleanSeparatorsAndLineBreaks(i)}_cleanSeparatorsAndLineBreaks(t){const e=t=>"-"!==t&&"|"!==t,n=t.length,i=t.findIndex(e);if(-1===i)return[];const o=n-t.slice().reverse().findIndex(e);return t.slice(i,o).filter(((t,n,i)=>{if(e(t))return!0;return!(n>0&&i[n-1]===t)}))}_createNestedToolbarDropdown(t,e,n){let{label:i,icon:o,items:r,tooltip:s=!0,withText:a=!1}=t;if(r=this._cleanItemsConfiguration(r,e,n),!r.length)return null;const l=Dp(this.locale);return i||wi("toolbarview-nested-toolbar-dropdown-missing-label",t),l.class="ck-toolbar__nested-toolbar-dropdown",l.buttonView.set({label:i,tooltip:s,withText:!!a}),!1!==o?l.buttonView.icon=fp[o]||o||zu.threeVerticalDots:l.buttonView.withText=!0,Sp(l,(()=>l.toolbarView._buildItemsFromConfig(r,e,n))),l}}class bp extends lm{children;constructor(t){super(t),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-toolbar__items"]},children:this.children})}}class wp{constructor(t){const e=t.bindTemplate;t.set("isVertical",!1),t.itemsView.children.bindTo(t.items).using((t=>t)),t.focusables.bindTo(t.items).using((t=>Em(t)?t:null)),t.extendTemplate({attributes:{class:[e.if("isVertical","ck-toolbar_vertical")]}})}render(){}destroy(){}}class Ap{view;viewChildren;viewFocusables;viewItemsView;viewFocusTracker;viewLocale;ungroupedItems;groupedItems;groupedItemsDropdown;resizeObserver=null;cachedPadding=null;shouldUpdateGroupingOnNextResize=!1;viewElement;constructor(t){this.view=t,this.viewChildren=t.children,this.viewFocusables=t.focusables,this.viewItemsView=t.itemsView,this.viewFocusTracker=t.focusTracker,this.viewLocale=t.locale,this.ungroupedItems=t.createCollection(),this.groupedItems=t.createCollection(),this.groupedItemsDropdown=this._createGroupedItemsDropdown(),t.itemsView.children.bindTo(this.ungroupedItems).using((t=>t)),this.ungroupedItems.on("change",this._updateFocusCyclableItems.bind(this)),t.children.on("change",this._updateFocusCyclableItems.bind(this)),t.items.on("change",((t,e)=>{const n=e.index,i=Array.from(e.added);for(const t of e.removed)n>=this.ungroupedItems.length?this.groupedItems.remove(t):this.ungroupedItems.remove(t);for(let t=n;tthis.ungroupedItems.length?this.groupedItems.add(e,t-this.ungroupedItems.length):this.ungroupedItems.add(e,t)}this._updateGrouping()})),t.extendTemplate({attributes:{class:["ck-toolbar_grouping"]}})}render(t){this.viewElement=t.element,this._enableGroupingOnResize(),this._enableGroupingOnMaxWidthChange(t)}destroy(){this.groupedItemsDropdown.destroy(),this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement))return;if(!So(this.viewElement))return void(this.shouldUpdateGroupingOnNextResize=!0);const t=this.groupedItems.length;let e;for(;this._areItemsOverflowing;)this._groupLastItem(),e=!0;if(!e&&this.groupedItems.length){for(;this.groupedItems.length&&!this._areItemsOverflowing;)this._ungroupFirstItem();this._areItemsOverflowing&&this._groupLastItem()}this.groupedItems.length!==t&&this.view.fire("groupedItemsUpdate")}get _areItemsOverflowing(){if(!this.ungroupedItems.length)return!1;const t=this.viewElement,e=this.viewLocale.uiLanguageDirection,n=new ko(t.lastChild),i=new ko(t);if(!this.cachedPadding){const n=Zn.window.getComputedStyle(t),i="ltr"===e?"paddingRight":"paddingLeft";this.cachedPadding=Number.parseInt(n[i])}return"ltr"===e?n.right>i.right-this.cachedPadding:n.left{t&&t===e.contentRect.width&&!this.shouldUpdateGroupingOnNextResize||(this.shouldUpdateGroupingOnNextResize=!1,this._updateGrouping(),t=e.contentRect.width)})),this._updateGrouping()}_enableGroupingOnMaxWidthChange(t){t.on("change:maxWidth",(()=>{this._updateGrouping()}))}_groupLastItem(){this.groupedItems.length||(this.viewChildren.add(new hp),this.viewChildren.add(this.groupedItemsDropdown),this.viewFocusTracker.add(this.groupedItemsDropdown.element)),this.groupedItems.add(this.ungroupedItems.remove(this.ungroupedItems.last),0)}_ungroupFirstItem(){this.ungroupedItems.add(this.groupedItems.remove(this.groupedItems.first)),this.groupedItems.length||(this.viewChildren.remove(this.groupedItemsDropdown),this.viewChildren.remove(this.viewChildren.last),this.viewFocusTracker.remove(this.groupedItemsDropdown.element))}_createGroupedItemsDropdown(){const t=this.viewLocale,e=t.t,n=Dp(t);return n.class="ck-toolbar__grouped-dropdown",n.panelPosition="ltr"===t.uiLanguageDirection?"sw":"se",Sp(n,this.groupedItems),n.buttonView.set({label:e("Show more items"),tooltip:!0,tooltipPosition:"rtl"===t.uiLanguageDirection?"se":"sw",icon:zu.threeVerticalDots}),n}_updateFocusCyclableItems(){this.viewFocusables.clear(),this.ungroupedItems.map((t=>{Em(t)&&this.viewFocusables.add(t)})),this.groupedItems.length&&this.viewFocusables.add(this.groupedItemsDropdown)}}var _p=n(1792),Cp={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(_p.A,Cp);_p.A.locals;class vp extends lm{children;actionView;arrowView;keystrokes;focusTracker;constructor(t,e){super(t);const n=this.bindTemplate;this.set("class",void 0),this.set("labelStyle",void 0),this.set("icon",void 0),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isToggleable",!1),this.set("isVisible",!0),this.set("keystroke",void 0),this.set("withKeystroke",!1),this.set("label",void 0),this.set("tabindex",-1),this.set("tooltip",!1),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.children=this.createCollection(),this.actionView=this._createActionView(e),this.arrowView=this._createArrowView(),this.keystrokes=new Dr,this.focusTracker=new Br,this.setTemplate({tag:"div",attributes:{class:["ck","ck-splitbutton",n.to("class"),n.if("isVisible","ck-hidden",(t=>!t)),this.arrowView.bindTemplate.if("isOn","ck-splitbutton_open")]},children:this.children})}render(){super.render(),this.children.add(this.actionView),this.children.add(this.arrowView),this.focusTracker.add(this.actionView.element),this.focusTracker.add(this.arrowView.element),this.keystrokes.listenTo(this.element),this.keystrokes.set("arrowright",((t,e)=>{this.focusTracker.focusedElement===this.actionView.element&&(this.arrowView.focus(),e())})),this.keystrokes.set("arrowleft",((t,e)=>{this.focusTracker.focusedElement===this.arrowView.element&&(this.actionView.focus(),e())}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this.actionView.focus()}_createActionView(t){const e=t||new wm;return t||e.bind("icon","isEnabled","isOn","isToggleable","keystroke","label","tabindex","tooltip","tooltipPosition","type","withText").to(this),e.extendTemplate({attributes:{class:"ck-splitbutton__action"}}),e.delegate("execute").to(this),e}_createArrowView(){const t=new wm,e=t.bindTemplate;return t.icon=dg,t.extendTemplate({attributes:{class:["ck-splitbutton__arrow"],"data-cke-tooltip-disabled":e.to("isOn"),"aria-haspopup":!0,"aria-expanded":e.to("isOn",(t=>String(t)))}}),t.bind("isEnabled").to(this),t.bind("label").to(this),t.bind("tooltip").to(this),t.delegate("execute").to(this,"open"),t}}var yp=n(1666),xp={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(yp.A,xp);yp.A.locals;var Ep=n(3629),Bp={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Ep.A,Bp);Ep.A.locals;function Dp(t,e=jg){const n="function"==typeof e?new e(t):e,i=new Mg(t),o=new Hg(t,n,i);return n.bind("isEnabled").to(o),n instanceof vp?n.arrowView.bind("isOn").to(o,"isOpen"):n.bind("isOn").to(o,"isOpen"),function(t){(function(t){cm({emitter:t,activator:()=>t.isRendered&&t.isOpen,callback:()=>{t.isOpen=!1},contextElements:()=>[t.element,...t.focusTracker.elements]})})(t),function(t){t.on("execute",(e=>{e.source instanceof rg||(t.isOpen=!1)}))}(t),function(t){t.focusTracker.on("change:isFocused",((e,n,i)=>{!i&&t.isOpen&&(t.isOpen=!1)}))}(t),function(t){t.keystrokes.set("arrowdown",((e,n)=>{t.isOpen&&(t.panelView.focus(),n())})),t.keystrokes.set("arrowup",((e,n)=>{t.isOpen&&(t.panelView.focusLast(),n())}))}(t),function(t){t.on("change:isOpen",((e,n,i)=>{if(i)return;t.focusTracker.elements.some((t=>t.contains(Zn.document.activeElement)))&&t.buttonView.focus()}))}(t),function(t){t.on("change:isOpen",((e,n,i)=>{i&&t.panelView.focus()}),{priority:"low"})}(t)}(o),o}function Sp(t,e,n={}){t.extendTemplate({attributes:{class:["ck-toolbar-dropdown"]}}),t.isOpen?Tp(t,e,n):t.once("change:isOpen",(()=>Tp(t,e,n)),{priority:"highest"}),n.enableActiveItemFocusOnDropdownOpen&&Fp(t,(()=>t.toolbarView.items.find((t=>t.isOn))))}function Tp(t,e,n){const i=t.locale,o=i.t,r=t.toolbarView=new kp(i),s="function"==typeof e?e():e;r.ariaLabel=n.ariaLabel||o("Dropdown toolbar"),n.maxWidth&&(r.maxWidth=n.maxWidth),n.class&&(r.class=n.class),n.isCompact&&(r.isCompact=n.isCompact),n.isVertical&&(r.isVertical=!0),s instanceof Mu?r.items.bindTo(s).using((t=>t)):r.items.addMany(s),t.panelView.children.add(r),r.items.delegate("execute").to(t)}function Ip(t,e,n={}){t.isOpen?Pp(t,e,n):t.once("change:isOpen",(()=>Pp(t,e,n)),{priority:"highest"}),Fp(t,(()=>t.listView.items.find((t=>t instanceof Gg&&t.children.first.isOn))))}function Pp(t,e,n){const i=t.locale,o=t.listView=new Qg(i),r="function"==typeof e?e():e;o.ariaLabel=n.ariaLabel,o.role=n.role,Rp(t,o.items,r,i),t.panelView.children.add(o),o.items.delegate("execute").to(t)}function Fp(t,e){t.on("change:isOpen",(()=>{if(!t.isOpen)return;const n=e();n&&("function"==typeof n.focus?n.focus():wi("ui-dropdown-focus-child-on-open-child-missing-focus",{view:n}))}),{priority:fi.low-10})}function Rp(t,e,n,i){e.on("change",(()=>{const t=[...e].reduce(((t,e)=>(e instanceof Gg&&e.children.first instanceof $m&&t.push(e.children.first),t)),[]),n=t.some((t=>t.isToggleable));t.forEach((t=>{t.hasCheckSpace=n}))})),e.bindTo(n).using((e=>{if("separator"===e.type)return new Kg(i);if("group"===e.type){const n=new Yg(i);return n.set({label:e.label}),Rp(t,n.items,e.items,i),n.items.delegate("execute").to(t),n}if("button"===e.type||"switchbutton"===e.type){const t="menuitemcheckbox"===e.model.role||"menuitemradio"===e.model.role,n=new Gg(i);let o;return"button"===e.type?(o=new $m(i),o.set({isToggleable:t})):o=new rg(i),o.bind(...Object.keys(e.model)).to(e.model),o.delegate("execute").to(n),n.children.add(o),n}return null}))}const Vp=(t,e,n)=>{const i=new Rg(t.locale);return i.set({id:e,ariaDescribedById:n}),i.bind("isReadOnly").to(t,"isEnabled",(t=>!t)),i.bind("hasError").to(t,"errorText",(t=>!!t)),i.on("input",(()=>{t.errorText=null})),t.bind("isEmpty","isFocused","placeholder").to(i),i},Lp=(t,e,n)=>{const i=new Vg(t.locale);return i.set({id:e,ariaDescribedById:n,inputMode:"numeric"}),i.bind("isReadOnly").to(t,"isEnabled",(t=>!t)),i.bind("hasError").to(t,"errorText",(t=>!!t)),i.on("input",(()=>{t.errorText=null})),t.bind("isEmpty","isFocused","placeholder").to(i),i},zp=(t,e,n)=>{const i=Dp(t.locale);return i.set({id:e,ariaDescribedById:n}),i.bind("isEnabled").to(t),i},Mp=(t,e=0,n=1)=>t>n?n:tMath.round(n*t)/n,Np=(Math.PI,t=>("#"===t[0]&&(t=t.substring(1)),t.length<6?{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16),a:4===t.length?Op(parseInt(t[3]+t[3],16)/255,2):1}:{r:parseInt(t.substring(0,2),16),g:parseInt(t.substring(2,4),16),b:parseInt(t.substring(4,6),16),a:8===t.length?Op(parseInt(t.substring(6,8),16)/255,2):1})),Hp=({h:t,s:e,v:n,a:i})=>{const o=(200-e)*n/100;return{h:Op(t),s:Op(o>0&&o<200?e*n/100/(o<=100?o:200-o)*100:0),l:Op(o/2),a:Op(i,2)}},jp=t=>{const{h:e,s:n,l:i}=Hp(t);return`hsl(${e}, ${n}%, ${i}%)`},qp=({h:t,s:e,v:n,a:i})=>{t=t/360*6,e/=100,n/=100;const o=Math.floor(t),r=n*(1-e),s=n*(1-(t-o)*e),a=n*(1-(1-t+o)*e),l=o%6;return{r:Op(255*[n,s,r,r,a,n][l]),g:Op(255*[a,n,n,s,r,r][l]),b:Op(255*[r,r,a,n,n,s][l]),a:Op(i,2)}},Wp=t=>{const e=t.toString(16);return e.length<2?"0"+e:e},Up=({r:t,g:e,b:n,a:i})=>{const o=i<1?Wp(Op(255*i)):"";return"#"+Wp(t)+Wp(e)+Wp(n)+o},$p=({r:t,g:e,b:n,a:i})=>{const o=Math.max(t,e,n),r=o-Math.min(t,e,n),s=r?o===t?(e-n)/r:o===e?2+(n-t)/r:4+(t-e)/r:0;return{h:Op(60*(s<0?s+6:s)),s:Op(o?r/o*100:0),v:Op(o/255*100),a:i}},Gp=(t,e)=>{if(t===e)return!0;for(const n in t)if(t[n]!==e[n])return!1;return!0},Kp={},Yp=t=>{let e=Kp[t];return e||(e=document.createElement("template"),e.innerHTML=t,Kp[t]=e),e},Zp=(t,e,n)=>{t.dispatchEvent(new CustomEvent(e,{bubbles:!0,detail:n}))};let Jp=!1;const Qp=t=>"touches"in t,Xp=(t,e)=>{const n=Qp(e)?e.touches[0]:e,i=t.el.getBoundingClientRect();Zp(t.el,"move",t.getMove({x:Mp((n.pageX-(i.left+window.pageXOffset))/i.width),y:Mp((n.pageY-(i.top+window.pageYOffset))/i.height)}))};class tf{constructor(t,e,n,i){const o=Yp(`
`);t.appendChild(o.content.cloneNode(!0));const r=t.querySelector(`[part=${e}]`);r.addEventListener("mousedown",this),r.addEventListener("touchstart",this),r.addEventListener("keydown",this),this.el=r,this.xy=i,this.nodes=[r.firstChild,r]}set dragging(t){const e=t?document.addEventListener:document.removeEventListener;e(Jp?"touchmove":"mousemove",this),e(Jp?"touchend":"mouseup",this)}handleEvent(t){switch(t.type){case"mousedown":case"touchstart":if(t.preventDefault(),!(t=>!(Jp&&!Qp(t)||(Jp||(Jp=Qp(t)),0)))(t)||!Jp&&0!=t.button)return;this.el.focus(),Xp(this,t),this.dragging=!0;break;case"mousemove":case"touchmove":t.preventDefault(),Xp(this,t);break;case"mouseup":case"touchend":this.dragging=!1;break;case"keydown":((t,e)=>{const n=e.keyCode;n>40||t.xy&&n<37||n<33||(e.preventDefault(),Zp(t.el,"move",t.getMove({x:39===n?.01:37===n?-.01:34===n?.05:33===n?-.05:35===n?1:36===n?-1:0,y:40===n?.01:38===n?-.01:0},!0)))})(this,t)}}style(t){t.forEach(((t,e)=>{for(const n in t)this.nodes[e].style.setProperty(n,t[n])}))}}class ef extends tf{constructor(t){super(t,"hue",'aria-label="Hue" aria-valuemin="0" aria-valuemax="360"',!1)}update({h:t}){this.h=t,this.style([{left:t/360*100+"%",color:jp({h:t,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuenow",`${Op(t)}`)}getMove(t,e){return{h:e?Mp(this.h+360*t.x,0,360):360*t.x}}}class nf extends tf{constructor(t){super(t,"saturation",'aria-label="Color"',!0)}update(t){this.hsva=t,this.style([{top:100-t.v+"%",left:`${t.s}%`,color:jp(t)},{"background-color":jp({h:t.h,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuetext",`Saturation ${Op(t.s)}%, Brightness ${Op(t.v)}%`)}getMove(t,e){return{s:e?Mp(this.hsva.s+100*t.x,0,100):100*t.x,v:e?Mp(this.hsva.v-100*t.y,0,100):Math.round(100-100*t.y)}}}const of=Symbol("same"),rf=Symbol("color"),sf=Symbol("hsva"),af=Symbol("update"),lf=Symbol("parts"),cf=Symbol("css"),df=Symbol("sliders");class hf extends HTMLElement{static get observedAttributes(){return["color"]}get[cf](){return[':host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;display:flex;place-content:center center;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{content:"";width:100%;height:100%;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}',"[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}","[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}"]}get[df](){return[nf,ef]}get color(){return this[rf]}set color(t){if(!this[of](t)){const e=this.colorModel.toHsva(t);this[af](e),this[rf]=t}}constructor(){super();const t=Yp(``),e=this.attachShadow({mode:"open"});e.appendChild(t.content.cloneNode(!0)),e.addEventListener("move",this),this[lf]=this[df].map((t=>new t(e)))}connectedCallback(){if(this.hasOwnProperty("color")){const t=this.color;delete this.color,this.color=t}else this.color||(this.color=this.colorModel.defaultColor)}attributeChangedCallback(t,e,n){const i=this.colorModel.fromAttr(n);this[of](i)||(this.color=i)}handleEvent(t){const e=this[sf],n={...e,...t.detail};let i;this[af](n),Gp(n,e)||this[of](i=this.colorModel.fromHsva(n))||(this[rf]=i,Zp(this,"color-changed",{value:i}))}[of](t){return this.color&&this.colorModel.equal(t,this.color)}[af](t){this[sf]=t,this[lf].forEach((e=>e.update(t)))}}const uf={defaultColor:"#000",toHsva:t=>$p(Np(t)),fromHsva:({h:t,s:e,v:n})=>Up(qp({h:t,s:e,v:n,a:1})),equal:(t,e)=>t.toLowerCase()===e.toLowerCase()||Gp(Np(t),Np(e)),fromAttr:t=>t};class mf extends hf{get colorModel(){return uf}}var gf=n(1905),pf={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(gf.A,pf);gf.A.locals;class ff extends lm{hexInputRow;_debounceColorPickerEvent;_config;constructor(t,e={}){super(t),this.set({color:"",_hexColor:""}),this.hexInputRow=this._createInputRow();const n=this.createCollection();e.hideInput||n.add(this.hexInputRow),this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker"],tabindex:-1},children:n}),this._config=e,this._debounceColorPickerEvent=R((t=>{this.set("color",t),this.fire("colorSelected",{color:this.color})}),150,{leading:!0}),this.on("set:color",((t,e,n)=>{t.return=xg(n,this._config.format||"hsl")})),this.on("change:color",(()=>{this._hexColor=kf(this.color)})),this.on("change:_hexColor",(()=>{document.activeElement!==this.picker&&this.picker.setAttribute("color",this._hexColor),kf(this.color)!=kf(this._hexColor)&&(this.color=this._hexColor)}))}render(){var t,e;if(super.render(),t="hex-color-picker",e=mf,void 0===customElements.get(t)&&customElements.define(t,e),this.picker=Zn.document.createElement("hex-color-picker"),this.picker.setAttribute("class","hex-color-picker"),this.picker.setAttribute("tabindex","-1"),this._createSlidersView(),this.element){this.hexInputRow.element?this.element.insertBefore(this.picker,this.hexInputRow.element):this.element.appendChild(this.picker);const t=document.createElement("style");t.textContent='[role="slider"]:focus [part$="pointer"] {border: 1px solid #fff;outline: 1px solid var(--ck-color-focus-border);box-shadow: 0 0 0 2px #fff;}',this.picker.shadowRoot.appendChild(t)}this.picker.addEventListener("color-changed",(t=>{const e=t.detail.value;this._debounceColorPickerEvent(e)}))}focus(){if(!this._config.hideInput&&(Xn.isGecko||Xn.isiOS||Xn.isSafari)){this.hexInputRow.children.get(1).focus()}this.slidersView.first.focus()}_createSlidersView(){const t=[...this.picker.shadowRoot.children].filter((t=>"slider"===t.getAttribute("role"))).map((t=>new bf(t)));this.slidersView=this.createCollection(),t.forEach((t=>{this.slidersView.add(t)}))}_createInputRow(){const t=this._createColorInput();return new Af(this.locale,t)}_createColorInput(){const t=new Sg(this.locale,Vp),{t:e}=this.locale;return t.set({label:e("HEX"),class:"color-picker-hex-input"}),t.fieldView.bind("value").to(this,"_hexColor",(e=>t.isFocused?t.fieldView.value:e.startsWith("#")?e.substring(1):e)),t.fieldView.on("input",(()=>{const e=t.fieldView.element.value;if(e){const t=_f(e);t&&this._debounceColorPickerEvent(t)}})),t}isValid(){const{t}=this.locale;return!!this._config.hideInput||(this.resetValidationStatus(),!!this.hexInputRow.getParsedColor()||(this.hexInputRow.inputView.errorText=t('Please enter a valid color (e.g. "ff0000").'),!1))}resetValidationStatus(){this.hexInputRow.inputView.errorText=null}}function kf(t){let e=function(t){if(!t)return"";const e=Eg(t);return e?"hex"===e.space?e.hexValue:xg(t,"hex"):"#000"}(t);return e||(e="#000"),4===e.length&&(e="#"+[e[1],e[1],e[2],e[2],e[3],e[3]].join("")),e.toLowerCase()}class bf extends lm{constructor(t){super(),this.element=t}focus(){this.element.focus()}}class wf extends lm{constructor(t){super(t),this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker__hash-view"]},children:"#"})}}class Af extends lm{children;inputView;constructor(t,e){super(t),this.inputView=e,this.children=this.createCollection([new wf,this.inputView]),this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker__row"]},children:this.children})}getParsedColor(){return _f(this.inputView.fieldView.element.value)}}function _f(t){if(!t)return null;const e=t.trim().replace(/^#/,"");return[3,4,6,8].includes(e.length)&&/^(([0-9a-fA-F]{2}){3,4}|([0-9a-fA-F]){3,4})$/.test(e)?`#${e}`:null}class Cf extends(ji(xr)){constructor(t){super(t),this.set("isEmpty",!0),this.on("change",(()=>{this.set("isEmpty",0===this.length)}))}add(t,e){return this.find((e=>e.color===t.color))?this:super.add(t,e)}hasColor(t){return!!this.find((e=>e.color===t))}}class vf extends lm{items;colorDefinitions;focusTracker;columns;documentColors;documentColorsCount;staticColorsGrid;documentColorsGrid;colorPickerButtonView;removeColorButtonView;_focusables;_documentColorsLabel;_removeButtonLabel;_colorPickerLabel;constructor(t,{colors:e,columns:n,removeButtonLabel:i,documentColorsLabel:o,documentColorsCount:r,colorPickerLabel:s,focusTracker:a,focusables:l}){super(t);const c=this.bindTemplate;this.set("isVisible",!0),this.focusTracker=a,this.items=this.createCollection(),this.colorDefinitions=e,this.columns=n,this.documentColors=new Cf,this.documentColorsCount=r,this._focusables=l,this._removeButtonLabel=i,this._colorPickerLabel=s,this._documentColorsLabel=o,this.setTemplate({tag:"div",attributes:{class:["ck-color-grids-fragment",c.if("isVisible","ck-hidden",(t=>!t))]},children:this.items}),this.removeColorButtonView=this._createRemoveColorButton(),this.items.add(this.removeColorButtonView)}updateDocumentColors(t,e){const n=t.document,i=this.documentColorsCount;this.documentColors.clear();for(const o of n.getRoots()){const n=t.createRangeIn(o);for(const t of n.getItems())if(t.is("$textProxy")&&t.hasAttribute(e)&&(this._addColorToDocumentColors(t.getAttribute(e)),this.documentColors.length>=i))return}}updateSelectedColors(){const t=this.documentColorsGrid,e=this.staticColorsGrid,n=this.selectedColor;e.selectedColor=n,t&&(t.selectedColor=n)}render(){if(super.render(),this.staticColorsGrid=this._createStaticColorsGrid(),this.items.add(this.staticColorsGrid),this.documentColorsCount){const t=Ou.bind(this.documentColors,this.documentColors),e=new lm(this.locale);e.setTemplate({tag:"span",attributes:{class:["ck","ck-color-grid__label",t.if("isEmpty","ck-hidden")]},children:[{text:this._documentColorsLabel}]}),this.items.add(e),this.documentColorsGrid=this._createDocumentColorsGrid(),this.items.add(this.documentColorsGrid)}this._createColorPickerButton(),this._addColorSelectorElementsToFocusTracker()}focus(){this.removeColorButtonView.focus()}destroy(){super.destroy()}addColorPickerButton(){this.colorPickerButtonView&&(this.items.add(this.colorPickerButtonView),this.focusTracker.add(this.colorPickerButtonView.element),this._focusables.add(this.colorPickerButtonView))}_addColorSelectorElementsToFocusTracker(){this.focusTracker.add(this.removeColorButtonView.element),this._focusables.add(this.removeColorButtonView),this.staticColorsGrid&&(this.focusTracker.add(this.staticColorsGrid.element),this._focusables.add(this.staticColorsGrid)),this.documentColorsGrid&&(this.focusTracker.add(this.documentColorsGrid.element),this._focusables.add(this.documentColorsGrid))}_createColorPickerButton(){this.colorPickerButtonView=new wm,this.colorPickerButtonView.set({label:this._colorPickerLabel,withText:!0,icon:zu.colorPalette,class:"ck-color-selector__color-picker"}),this.colorPickerButtonView.on("execute",(()=>{this.fire("colorPicker:show")}))}_createRemoveColorButton(){const t=new wm;return t.set({withText:!0,icon:zu.eraser,label:this._removeButtonLabel}),t.class="ck-color-selector__remove-color",t.on("execute",(()=>{this.fire("execute",{value:null,source:"removeColorButton"})})),t.render(),t}_createStaticColorsGrid(){const t=new Ag(this.locale,{colorDefinitions:this.colorDefinitions,columns:this.columns});return t.on("execute",((t,e)=>{this.fire("execute",{value:e.value,source:"staticColorsGrid"})})),t}_createDocumentColorsGrid(){const t=Ou.bind(this.documentColors,this.documentColors),e=new Ag(this.locale,{columns:this.columns});return e.extendTemplate({attributes:{class:t.if("isEmpty","ck-hidden")}}),e.items.bindTo(this.documentColors).using((t=>{const e=new kg;return e.set({color:t.color,hasBorder:t.options&&t.options.hasBorder}),t.label&&e.set({label:t.label,tooltip:!0}),e.on("execute",(()=>{this.fire("execute",{value:t.color,source:"documentColorsGrid"})})),e})),this.documentColors.on("change:isEmpty",((t,n,i)=>{i&&(e.selectedColor=null)})),e}_addColorToDocumentColors(t){const e=this.colorDefinitions.find((e=>e.color===t));e?this.documentColors.add(Object.assign({},e)):this.documentColors.add({color:t,label:t,options:{hasBorder:!1}})}}class yf extends lm{items;colorPickerView;saveButtonView;cancelButtonView;actionBarView;focusTracker;keystrokes;_focusables;_colorPickerViewConfig;constructor(t,{focusTracker:e,focusables:n,keystrokes:i,colorPickerViewConfig:o}){super(t),this.items=this.createCollection(),this.focusTracker=e,this.keystrokes=i,this.set("isVisible",!1),this.set("selectedColor",void 0),this._focusables=n,this._colorPickerViewConfig=o;const r=this.bindTemplate,{saveButtonView:s,cancelButtonView:a}=this._createActionButtons();this.saveButtonView=s,this.cancelButtonView=a,this.actionBarView=this._createActionBarView({saveButtonView:s,cancelButtonView:a}),this.setTemplate({tag:"div",attributes:{class:["ck-color-picker-fragment",r.if("isVisible","ck-hidden",(t=>!t))]},children:this.items})}render(){super.render();const t=new ff(this.locale,{...this._colorPickerViewConfig});this.colorPickerView=t,this.colorPickerView.render(),this.selectedColor&&(t.color=this.selectedColor),this.listenTo(this,"change:selectedColor",((e,n,i)=>{t.color=i})),this.items.add(this.colorPickerView),this.items.add(this.actionBarView),this._addColorPickersElementsToFocusTracker(),this._stopPropagationOnArrowsKeys(),this._executeOnEnterPress(),this._executeUponColorChange()}destroy(){super.destroy()}focus(){this.colorPickerView.focus()}resetValidationStatus(){this.colorPickerView.resetValidationStatus()}_executeOnEnterPress(){this.keystrokes.set("enter",(t=>{this.isVisible&&this.focusTracker.focusedElement!==this.cancelButtonView.element&&this.colorPickerView.isValid()&&(this.fire("execute",{value:this.selectedColor}),t.stopPropagation(),t.preventDefault())}))}_stopPropagationOnArrowsKeys(){const t=t=>t.stopPropagation();this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t)}_addColorPickersElementsToFocusTracker(){for(const t of this.colorPickerView.slidersView)this.focusTracker.add(t.element),this._focusables.add(t);const t=this.colorPickerView.hexInputRow.children.get(1);t.element&&(this.focusTracker.add(t.element),this._focusables.add(t)),this.focusTracker.add(this.saveButtonView.element),this._focusables.add(this.saveButtonView),this.focusTracker.add(this.cancelButtonView.element),this._focusables.add(this.cancelButtonView)}_createActionBarView({saveButtonView:t,cancelButtonView:e}){const n=new lm,i=this.createCollection();return i.add(t),i.add(e),n.setTemplate({tag:"div",attributes:{class:["ck","ck-color-selector_action-bar"]},children:i}),n}_createActionButtons(){const t=this.locale,e=t.t,n=new wm(t),i=new wm(t);return n.set({icon:zu.check,class:"ck-button-save",type:"button",withText:!1,label:e("Accept")}),i.set({icon:zu.cancel,class:"ck-button-cancel",type:"button",withText:!1,label:e("Cancel")}),n.on("execute",(()=>{this.colorPickerView.isValid()&&this.fire("execute",{source:"colorPickerSaveButton",value:this.selectedColor})})),i.on("execute",(()=>{this.fire("colorPicker:cancel")})),{saveButtonView:n,cancelButtonView:i}}_executeUponColorChange(){this.colorPickerView.on("colorSelected",((t,e)=>{this.fire("execute",{value:e.color,source:"colorPicker"}),this.set("selectedColor",e.color)}))}}var xf=n(6309),Ef={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(xf.A,Ef);xf.A.locals;class Bf extends lm{focusTracker;keystrokes;items;colorGridsFragmentView;colorPickerFragmentView;_focusCycler;_focusables;_colorPickerViewConfig;constructor(t,{colors:e,columns:n,removeButtonLabel:i,documentColorsLabel:o,documentColorsCount:r,colorPickerLabel:s,colorPickerViewConfig:a}){super(t),this.items=this.createCollection(),this.focusTracker=new Br,this.keystrokes=new Dr,this._focusables=new Mu,this._colorPickerViewConfig=a,this._focusCycler=new ym({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.colorGridsFragmentView=new vf(t,{colors:e,columns:n,removeButtonLabel:i,documentColorsLabel:o,documentColorsCount:r,colorPickerLabel:s,focusTracker:this.focusTracker,focusables:this._focusables}),this.colorPickerFragmentView=new yf(t,{focusables:this._focusables,focusTracker:this.focusTracker,keystrokes:this.keystrokes,colorPickerViewConfig:a}),this.set("_isColorGridsFragmentVisible",!0),this.set("_isColorPickerFragmentVisible",!1),this.set("selectedColor",void 0),this.colorGridsFragmentView.bind("isVisible").to(this,"_isColorGridsFragmentVisible"),this.colorPickerFragmentView.bind("isVisible").to(this,"_isColorPickerFragmentVisible"),this.on("change:selectedColor",((t,e,n)=>{this.colorGridsFragmentView.set("selectedColor",n),this.colorPickerFragmentView.set("selectedColor",n)})),this.colorGridsFragmentView.on("change:selectedColor",((t,e,n)=>{this.set("selectedColor",n)})),this.colorPickerFragmentView.on("change:selectedColor",((t,e,n)=>{this.set("selectedColor",n)})),this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-selector"]},children:this.items})}render(){super.render(),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}appendUI(){this._appendColorGridsFragment(),this._colorPickerViewConfig&&this._appendColorPickerFragment()}showColorPickerFragment(){this.colorPickerFragmentView.colorPickerView&&!this._isColorPickerFragmentVisible&&(this._isColorPickerFragmentVisible=!0,this.colorPickerFragmentView.focus(),this.colorPickerFragmentView.resetValidationStatus(),this._isColorGridsFragmentVisible=!1)}showColorGridsFragment(){this._isColorGridsFragmentVisible||(this._isColorGridsFragmentVisible=!0,this.colorGridsFragmentView.focus(),this._isColorPickerFragmentVisible=!1)}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}updateDocumentColors(t,e){this.colorGridsFragmentView.updateDocumentColors(t,e)}updateSelectedColors(){this.colorGridsFragmentView.updateSelectedColors()}_appendColorGridsFragment(){this.items.length||(this.items.add(this.colorGridsFragmentView),this.colorGridsFragmentView.delegate("execute").to(this),this.colorGridsFragmentView.delegate("colorPicker:show").to(this))}_appendColorPickerFragment(){2!==this.items.length&&(this.items.add(this.colorPickerFragmentView),this.colorGridsFragmentView.colorPickerButtonView&&this.colorGridsFragmentView.colorPickerButtonView.on("execute",(()=>{this.showColorPickerFragment()})),this.colorGridsFragmentView.addColorPickerButton(),this.colorPickerFragmentView.delegate("execute").to(this),this.colorPickerFragmentView.delegate("colorPicker:cancel").to(this))}}class Df{editor;_components=new Map;constructor(t){this.editor=t}*names(){for(const t of this._components.values())yield t.originalName}add(t,e){this._components.set(Sf(t),{callback:e,originalName:t})}create(t){if(!this.has(t))throw new bi("componentfactory-item-missing",this,{name:t});return this._components.get(Sf(t)).callback(this.editor.locale)}has(t){return this._components.has(Sf(t))}}function Sf(t){return String(t).toLowerCase()}var Tf=n(9205),If={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Tf.A,If);Tf.A.locals;const Pf="ck-tooltip";class Ff extends(ro()){tooltipTextView;balloonPanelView;static defaultBalloonPositions=rp.generatePositions({heightOffset:5,sideOffset:13});_currentElementWithTooltip=null;_currentTooltipPosition=null;_mutationObserver=null;_pinTooltipDebounced;_unpinTooltipDebounced;_watchdogExcluded;static _editors=new Set;static _instance=null;constructor(t){if(super(),Ff._editors.add(t),Ff._instance)return Ff._instance;Ff._instance=this,this.tooltipTextView=new lm(t.locale),this.tooltipTextView.set("text",""),this.tooltipTextView.setTemplate({tag:"span",attributes:{class:["ck","ck-tooltip__text"]},children:[{text:this.tooltipTextView.bindTemplate.to("text")}]}),this.balloonPanelView=new rp(t.locale),this.balloonPanelView.class=Pf,this.balloonPanelView.content.add(this.tooltipTextView),this._mutationObserver=function(t){const e=new MutationObserver((()=>{t()}));return{attach(t){e.observe(t,{attributes:!0,attributeFilter:["data-cke-tooltip-text","data-cke-tooltip-position"]})},detach(){e.disconnect()}}}((()=>{this._updateTooltipPosition()})),this._pinTooltipDebounced=R(this._pinTooltip,600),this._unpinTooltipDebounced=R(this._unpinTooltip,400),this.listenTo(Zn.document,"keydown",this._onKeyDown.bind(this),{useCapture:!0}),this.listenTo(Zn.document,"mouseenter",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(Zn.document,"mouseleave",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(Zn.document,"focus",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(Zn.document,"blur",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(Zn.document,"scroll",this._onScroll.bind(this),{useCapture:!0}),this._watchdogExcluded=!0}destroy(t){const e=t.ui.view&&t.ui.view.body;Ff._editors.delete(t),this.stopListening(t.ui),e&&e.has(this.balloonPanelView)&&e.remove(this.balloonPanelView),Ff._editors.size||(this._unpinTooltip(),this.balloonPanelView.destroy(),this.stopListening(),Ff._instance=null)}static getPositioningFunctions(t){const e=Ff.defaultBalloonPositions;return{s:[e.southArrowNorth,e.southArrowNorthEast,e.southArrowNorthWest],n:[e.northArrowSouth],e:[e.eastArrowWest],w:[e.westArrowEast],sw:[e.southArrowNorthEast],se:[e.southArrowNorthWest]}[t]}_onKeyDown(t,e){"Escape"===e.key&&this._currentElementWithTooltip&&(this._unpinTooltip(),e.stopPropagation())}_onEnterOrFocus(t,{target:e}){const n=Rf(e);n?n!==this._currentElementWithTooltip&&(this._unpinTooltip(),"focus"!==t.name||n.matches(":hover")?this._pinTooltipDebounced(n,Vf(n)):this._pinTooltip(n,Vf(n))):"focus"===t.name&&this._unpinTooltip()}_onLeaveOrBlur(t,{target:e,relatedTarget:n}){if("mouseleave"===t.name){if(!W(e))return;const t=this.balloonPanelView.element,i=t&&(t===n||t.contains(n)),o=!i&&e===t;if(i)return void this._unpinTooltipDebounced.cancel();if(!o&&this._currentElementWithTooltip&&e!==this._currentElementWithTooltip)return;const r=Rf(e),s=Rf(n);(o||r&&r!==s)&&this._unpinTooltipDebounced()}else{if(this._currentElementWithTooltip&&e!==this._currentElementWithTooltip)return;this._unpinTooltipDebounced()}}_onScroll(t,{target:e}){this._currentElementWithTooltip&&(e.contains(this.balloonPanelView.element)&&e.contains(this._currentElementWithTooltip)||this._unpinTooltip())}_pinTooltip(t,{text:e,position:n,cssClass:i}){this._unpinTooltip();const o=Er(Ff._editors.values()).ui.view.body;o.has(this.balloonPanelView)||o.add(this.balloonPanelView),this.tooltipTextView.text=e,this.balloonPanelView.class=[Pf,i].filter((t=>t)).join(" "),this.balloonPanelView.pin({target:t,positions:Ff.getPositioningFunctions(n)}),this._mutationObserver.attach(t);for(const t of Ff._editors)this.listenTo(t.ui,"update",this._updateTooltipPosition.bind(this),{priority:"low"});this._currentElementWithTooltip=t,this._currentTooltipPosition=n}_unpinTooltip(){this._unpinTooltipDebounced.cancel(),this._pinTooltipDebounced.cancel(),this.balloonPanelView.unpin();for(const t of Ff._editors)this.stopListening(t.ui,"update");this._currentElementWithTooltip=null,this._currentTooltipPosition=null,this.tooltipTextView.text="",this._mutationObserver.detach()}_updateTooltipPosition(){if(!this._currentElementWithTooltip)return;const t=Vf(this._currentElementWithTooltip);So(this._currentElementWithTooltip)&&t.text?this.balloonPanelView.pin({target:this._currentElementWithTooltip,positions:Ff.getPositioningFunctions(t.position)}):this._unpinTooltip()}}function Rf(t){return W(t)?t.closest("[data-cke-tooltip-text]:not([data-cke-tooltip-disabled])"):null}function Vf(t){return{text:t.dataset.ckeTooltipText,position:t.dataset.ckeTooltipPosition||"s",cssClass:t.dataset.ckeTooltipClass||""}}class Lf extends(ro()){editor;_balloonView;_showBalloonThrottled;_lastFocusedEditableElement;constructor(t){super(),this.editor=t,this._balloonView=null,this._lastFocusedEditableElement=null,this._showBalloonThrottled=V(this._showBalloon.bind(this),50,{leading:!0}),t.on("ready",this._handleEditorReady.bind(this))}destroy(){const t=this._balloonView;t&&(t.unpin(),this._balloonView=null),this._showBalloonThrottled.cancel(),this.stopListening()}_handleEditorReady(){const t=this.editor;(!!t.config.get("ui.poweredBy.forceVisible")||"VALID"!==function(t){function e(t){return t.length>=40&&t.length<=255?"VALID":"INVALID"}if(!t)return"INVALID";let n="";try{n=atob(t)}catch(t){return"INVALID"}const i=n.split("-"),o=i[0],r=i[1];if(!r)return e(t);try{atob(r)}catch(n){try{if(atob(o),!atob(o).length)return e(t)}catch(n){return e(t)}}if(o.length<40||o.length>255)return"INVALID";let s="";try{atob(o),s=atob(r)}catch(t){return"INVALID"}if(8!==s.length)return"INVALID";const a=Number(s.substring(0,4)),l=Number(s.substring(4,6))-1,c=Number(s.substring(6,8)),d=new Date(a,l,c);return d{this._updateLastFocusedEditableElement(),n?this._showBalloon():this._hideBalloon()})),t.ui.focusTracker.on("change:focusedElement",((t,e,n)=>{this._updateLastFocusedEditableElement(),n&&this._showBalloon()})),t.ui.on("update",(()=>{this._showBalloonThrottled()})))}_createBalloonView(){const t=this.editor,e=this._balloonView=new rp,n=Of(t),i=new zf(t.locale,n.label);e.content.add(i),e.set({class:"ck-powered-by-balloon"}),t.ui.view.body.add(e),this._balloonView=e}_showBalloon(){if(!this._lastFocusedEditableElement)return;const t=function(t,e){const n=Of(t),i="right"===n.side?function(t,e){return Mf(t,e,((t,n)=>t.left+t.width-n.width-e.horizontalOffset))}(e,n):function(t,e){return Mf(t,e,(t=>t.left+e.horizontalOffset))}(e,n);return{target:e,positions:[i]}}(this.editor,this._lastFocusedEditableElement);t&&(this._balloonView||this._createBalloonView(),this._balloonView.pin(t))}_hideBalloon(){this._balloonView&&this._balloonView.unpin()}_updateLastFocusedEditableElement(){const t=this.editor,e=t.ui.focusTracker.isFocused,n=t.ui.focusTracker.focusedElement;if(!e||!n)return void(this._lastFocusedEditableElement=null);const i=Array.from(t.ui.getEditableElementsNames()).map((e=>t.ui.getEditableElement(e)));i.includes(n)?this._lastFocusedEditableElement=n:this._lastFocusedEditableElement=i[0]}}class zf extends lm{constructor(t,e){super(t);const n=new pm,i=this.bindTemplate;n.set({content:'\n',isColorInherited:!1}),n.extendTemplate({attributes:{style:{width:"53px",height:"10px"}}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-powered-by"],"aria-hidden":!0},children:[{tag:"a",attributes:{href:"https://ckeditor.com/powered-by-ckeditor/?utm_source=ckeditor&utm_medium=referral&utm_campaign=701Dn000000hVgmIAE_powered_by_ckeditor_logo",target:"_blank",tabindex:"-1"},children:[...e?[{tag:"span",attributes:{class:["ck","ck-powered-by__label"]},children:[e]}]:[],n],on:{dragstart:i.to((t=>t.preventDefault()))}}]})}}function Mf(t,e,n){return(i,o)=>{const r=new ko(t);if(r.width<350||r.height<50)return null;let s;s="inside"===e.position?r.bottom-o.height:r.bottom-o.height/2,s-=e.verticalOffset;const a=n(r,o),l=i.clone().moveTo(a,s).getIntersection(o.clone().moveTo(a,s)).getVisible();return!l||l.getArea(){for(const t of Object.values(jf))this.announce("",t)}))}announce(t,e=jf.POLITE){const n=this.editor;if(!n.ui.view)return;this.view||(this.view=new Wf(n.locale),n.ui.view.body.add(this.view));const{politeness:i,isUnsafeHTML:o}="string"==typeof e?{politeness:e}:e;let r=this.view.regionViews.find((t=>t.politeness===i));r||(r=new Uf(n,i),this.view.regionViews.add(r)),r.announce({announcement:t,isUnsafeHTML:o})}}class Wf extends lm{regionViews;constructor(t){super(t),this.regionViews=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-aria-live-announcer"]},children:this.regionViews})}}class Uf extends lm{politeness;_domConverter;_pruneAnnouncementsInterval;constructor(t,e){super(t.locale),this.setTemplate({tag:"div",attributes:{"aria-live":e,"aria-relevant":"additions"},children:[{tag:"ul",attributes:{class:["ck","ck-aria-live-region-list"]}}]}),t.on("destroy",(()=>{null!==this._pruneAnnouncementsInterval&&(clearInterval(this._pruneAnnouncementsInterval),this._pruneAnnouncementsInterval=null)})),this.politeness=e,this._domConverter=t.data.htmlProcessor.domConverter,this._pruneAnnouncementsInterval=setInterval((()=>{this.element&&this._listElement.firstChild&&this._listElement.firstChild.remove()}),5e3)}announce({announcement:t,isUnsafeHTML:e}){if(!t.trim().length)return;const n=document.createElement("li");e?this._domConverter.setContentOf(n,t):n.innerText=t,this._listElement.appendChild(n)}get _listElement(){return this.element.querySelector("ul")}}var $f=n(9481),Gf={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()($f.A,Gf);$f.A.locals;class Kf extends Gg{constructor(t,e){super(t);const n=this.bindTemplate;this.extendTemplate({attributes:{class:["ck-menu-bar__menu__item"]},on:{mouseenter:n.to("mouseenter")}}),this.delegate("mouseenter").to(e)}}const Yf={toggleMenusAndFocusItemsOnHover(t){t.on("menu:mouseenter",(e=>{if(t.isFocusBorderEnabled||t.isOpen){if(t.isOpen)for(const n of t.menus){const t=e.path[0],i=t instanceof Kf&&t.children.first===n;n.isOpen=(e.path.includes(n)||i)&&n.isEnabled}e.source.focus()}}))},focusCycleMenusOnArrows(t){const e="rtl"===t.locale.uiLanguageDirection;function n(e,n){const i=t.children.getIndex(e),o=e.isOpen,r=t.children.length,s=t.children.get((i+r+n)%r);e.isOpen=!1,o&&(s.isOpen=!0),s.buttonView.focus()}t.on("menu:arrowright",(t=>{n(t.source,e?-1:1)})),t.on("menu:arrowleft",(t=>{n(t.source,e?1:-1)}))},closeMenusWhenTheBarCloses(t){t.on("change:isOpen",(()=>{t.isOpen||t.menus.forEach((t=>{t.isOpen=!1}))}))},closeMenuWhenAnotherOnTheSameLevelOpens(t){t.on("menu:change:isOpen",((e,n,i)=>{i&&t.menus.filter((t=>e.source.parentMenuView===t.parentMenuView&&e.source!==t&&t.isOpen)).forEach((t=>{t.isOpen=!1}))}))},closeOnClickOutside(t){cm({emitter:t,activator:()=>t.isOpen,callback:()=>t.close(),contextElements:()=>t.children.map((t=>t.element))})},enableFocusHighlightOnInteraction(t){let e=!1;t.on("change:isOpen",((n,i,o)=>{o||(e||(t.isFocusBorderEnabled=!1),e=!1)})),t.listenTo(t.element,"keydown",(()=>{e=!0}),{useCapture:!0}),t.listenTo(t.element,"keyup",(()=>{e=!1}),{useCapture:!0}),t.listenTo(t.element,"focus",(()=>{e&&(t.isFocusBorderEnabled=!0)}),{useCapture:!0})}},Zf={openAndFocusPanelOnArrowDownKey(t){t.keystrokes.set("arrowdown",((e,n)=>{t.focusTracker.focusedElement===t.buttonView.element&&(t.isOpen||(t.isOpen=!0),t.panelView.focus(),n())}))},openOnArrowRightKey(t){const e="rtl"===t.locale.uiLanguageDirection?"arrowleft":"arrowright";t.keystrokes.set(e,((e,n)=>{t.focusTracker.focusedElement===t.buttonView.element&&t.isEnabled&&(t.isOpen||(t.isOpen=!0),t.panelView.focus(),n())}))},openOnButtonClick(t){t.buttonView.on("execute",(()=>{t.isOpen=!0}))},toggleOnButtonClick(t){t.buttonView.on("execute",(()=>{t.isOpen=!t.isOpen}))},openAndFocusOnEnterKeyPress(t){t.keystrokes.set("enter",((e,n)=>{t.focusTracker.focusedElement===t.buttonView.element&&(t.isOpen=!0,t.panelView.focus(),n())}))},closeOnArrowLeftKey(t){const e="rtl"===t.locale.uiLanguageDirection?"arrowright":"arrowleft";t.keystrokes.set(e,((e,n)=>{t.isOpen&&(t.isOpen=!1,t.focus(),n())}))},closeOnEscKey(t){t.keystrokes.set("esc",((e,n)=>{t.isOpen&&(t.isOpen=!1,t.focus(),n())}))},closeOnParentClose(t){t.parentMenuView.on("change:isOpen",((e,n,i)=>{i||e.source!==t.parentMenuView||(t.isOpen=!1)}))}},Jf={southEast:t=>({top:t.bottom,left:t.left,name:"se"}),southWest:(t,e)=>({top:t.bottom,left:t.left-e.width+t.width,name:"sw"}),northEast:(t,e)=>({top:t.top-e.height,left:t.left,name:"ne"}),northWest:(t,e)=>({top:t.top-e.height,left:t.left-e.width+t.width,name:"nw"}),eastSouth:t=>({top:t.top,left:t.right-5,name:"es"}),eastNorth:(t,e)=>({top:t.top-e.height,left:t.right-5,name:"en"}),westSouth:(t,e)=>({top:t.top,left:t.left-e.width+5,name:"ws"}),westNorth:(t,e)=>({top:t.top-e.height,left:t.left-e.width+5,name:"wn"})},Qf=[{menuId:"file",label:"File",groups:[{groupId:"export",items:["menuBar:exportPdf","menuBar:exportWord"]},{groupId:"import",items:["menuBar:importWord"]},{groupId:"revisionHistory",items:["menuBar:revisionHistory"]}]},{menuId:"edit",label:"Edit",groups:[{groupId:"undo",items:["menuBar:undo","menuBar:redo"]},{groupId:"selectAll",items:["menuBar:selectAll"]},{groupId:"findAndReplace",items:["menuBar:findAndReplace"]}]},{menuId:"view",label:"View",groups:[{groupId:"sourceEditing",items:["menuBar:sourceEditing"]},{groupId:"showBlocks",items:["menuBar:showBlocks"]},{groupId:"previewMergeFields",items:["menuBar:previewMergeFields"]},{groupId:"restrictedEditing",items:["menuBar:restrictedEditing"]}]},{menuId:"insert",label:"Insert",groups:[{groupId:"insertMainWidgets",items:["menuBar:insertImage","menuBar:ckbox","menuBar:ckfinder","menuBar:insertTable"]},{groupId:"insertInline",items:["menuBar:link","menuBar:comment","menuBar:insertMergeField"]},{groupId:"insertMinorWidgets",items:["menuBar:mediaEmbed","menuBar:insertTemplate","menuBar:specialCharacters","menuBar:blockQuote","menuBar:codeBlock","menuBar:htmlEmbed"]},{groupId:"insertStructureWidgets",items:["menuBar:horizontalLine","menuBar:pageBreak","menuBar:tableOfContents"]},{groupId:"restrictedEditingException",items:["menuBar:restrictedEditingException"]}]},{menuId:"format",label:"Format",groups:[{groupId:"textAndFont",items:[{menuId:"text",label:"Text",groups:[{groupId:"basicStyles",items:["menuBar:bold","menuBar:italic","menuBar:underline","menuBar:strikethrough","menuBar:superscript","menuBar:subscript","menuBar:code"]},{groupId:"textPartLanguage",items:["menuBar:textPartLanguage"]}]},{menuId:"font",label:"Font",groups:[{groupId:"fontProperties",items:["menuBar:fontSize","menuBar:fontFamily"]},{groupId:"fontColors",items:["menuBar:fontColor","menuBar:fontBackgroundColor"]},{groupId:"highlight",items:["menuBar:highlight"]}]},"menuBar:heading"]},{groupId:"list",items:["menuBar:bulletedList","menuBar:numberedList","menuBar:multiLevelList","menuBar:todoList"]},{groupId:"indent",items:["menuBar:alignment","menuBar:indent","menuBar:outdent"]},{groupId:"caseChange",items:["menuBar:caseChange"]},{groupId:"removeFormat",items:["menuBar:removeFormat"]}]},{menuId:"tools",label:"Tools",groups:[{groupId:"aiTools",items:["menuBar:aiAssistant","menuBar:aiCommands"]},{groupId:"tools",items:["menuBar:trackChanges","menuBar:commentsArchive"]}]},{menuId:"help",label:"Help",groups:[{groupId:"help",items:["menuBar:accessibilityHelp"]}]}];function Xf({normalizedConfig:t,locale:e,componentFactory:n,extraItems:i}){const o=Ll(t);return tk(t,o,i),function(t,e){const n=e.removeItems,i=[];e.items=e.items.filter((({menuId:t})=>!n.includes(t)||(i.push(t),!1))),ok(e.items,(t=>{t.groups=t.groups.filter((({groupId:t})=>!n.includes(t)||(i.push(t),!1)));for(const e of t.groups)e.items=e.items.filter((t=>{const e=lk(t);return!n.includes(e)||(i.push(e),!1)}))}));for(const e of n)i.includes(e)||wi("menu-bar-item-could-not-be-removed",{menuBarConfig:t,itemName:e})}(t,o),tk(t,o,o.addItems),function(t,e,n){ok(e.items,(i=>{for(const o of i.groups)o.items=o.items.filter((o=>{const r="string"==typeof o&&!n.has(o);return r&&!e.isUsingDefaultConfig&&wi("menu-bar-item-unavailable",{menuBarConfig:t,parentMenuConfig:Ll(i),componentName:o}),!r}))}))}(t,o,n),nk(t,o),function(t,e){const n=e.t,i={File:n({string:"File",id:"MENU_BAR_MENU_FILE"}),Edit:n({string:"Edit",id:"MENU_BAR_MENU_EDIT"}),View:n({string:"View",id:"MENU_BAR_MENU_VIEW"}),Insert:n({string:"Insert",id:"MENU_BAR_MENU_INSERT"}),Format:n({string:"Format",id:"MENU_BAR_MENU_FORMAT"}),Tools:n({string:"Tools",id:"MENU_BAR_MENU_TOOLS"}),Help:n({string:"Help",id:"MENU_BAR_MENU_HELP"}),Text:n({string:"Text",id:"MENU_BAR_MENU_TEXT"}),Font:n({string:"Font",id:"MENU_BAR_MENU_FONT"})};ok(t.items,(t=>{t.label in i&&(t.label=i[t.label])}))}(o,e),o}function tk(t,e,n){const i=[];if(0!=n.length){for(const t of n){const n=sk(t.position),r=ak(t.position);if("object"==typeof(o=t)&&"menu"in o)if(r){const o=e.items.findIndex((t=>t.menuId===r));if(-1!=o)"before"===n?(e.items.splice(o,0,t.menu),i.push(t)):"after"===n&&(e.items.splice(o+1,0,t.menu),i.push(t));else{ek(e,t.menu,r,n)&&i.push(t)}}else"start"===n?(e.items.unshift(t.menu),i.push(t)):"end"===n&&(e.items.push(t.menu),i.push(t));else if(rk(t))ok(e.items,(e=>{if(e.menuId===r)"start"===n?(e.groups.unshift(t.group),i.push(t)):"end"===n&&(e.groups.push(t.group),i.push(t));else{const o=e.groups.findIndex((t=>t.groupId===r));-1!==o&&("before"===n?(e.groups.splice(o,0,t.group),i.push(t)):"after"===n&&(e.groups.splice(o+1,0,t.group),i.push(t)))}}));else{ek(e,t.item,r,n)&&i.push(t)}}var o;for(const e of n)i.includes(e)||wi("menu-bar-item-could-not-be-added",{menuBarConfig:t,addedItemConfig:e})}}function ek(t,e,n,i){let o=!1;return ok(t.items,(t=>{for(const{groupId:r,items:s}of t.groups){if(o)return;if(r===n)"start"===i?(s.unshift(e),o=!0):"end"===i&&(s.push(e),o=!0);else{const t=s.findIndex((t=>lk(t)===n));-1!==t&&("before"===i?(s.splice(t,0,e),o=!0):"after"===i&&(s.splice(t+1,0,e),o=!0))}}})),o}function nk(t,e){const n=e.isUsingDefaultConfig;let i=!1;e.items=e.items.filter((e=>!!e.groups.length||(ik(t,e,n),!1))),e.items.length?(ok(e.items,(e=>{e.groups=e.groups.filter((t=>!!t.items.length||(i=!0,!1)));for(const o of e.groups)o.items=o.items.filter((e=>!(ck(e)&&!e.groups.length)||(ik(t,e,n),i=!0,!1)))})),i&&nk(t,e)):ik(t,t,n)}function ik(t,e,n){n||wi("menu-bar-menu-empty",{menuBarConfig:t,emptyMenuConfig:e})}function ok(t,e){if(Array.isArray(t))for(const e of t)n(e);function n(t){e(t);for(const e of t.groups)for(const t of e.items)ck(t)&&n(t)}}function rk(t){return"object"==typeof t&&"group"in t}function sk(t){return t.startsWith("start")?"start":t.startsWith("end")?"end":t.startsWith("after")?"after":"before"}function ak(t){const e=t.match(/^[^:]+:(.+)/);return e?e[1]:null}function lk(t){return"string"==typeof t?t:t.menuId}function ck(t){return"object"==typeof t&&"menuId"in t}class dk extends(ji()){editor;componentFactory;focusTracker;tooltipManager;poweredBy;ariaLiveAnnouncer;isReady=!1;_editableElementsMap=new Map;_focusableToolbarDefinitions=[];_extraMenuBarElements=[];_lastFocusedForeignElement=null;constructor(t){super();const e=t.editing.view;this.editor=t,this.componentFactory=new Df(t),this.focusTracker=new Br,this.tooltipManager=new Ff(t),this.poweredBy=new Lf(t),this.ariaLiveAnnouncer=new qf(t),this.set("viewportOffset",this._readViewportOffsetFromConfig()),this.once("ready",(()=>{this._bindBodyCollectionWithFocusTracker(),this.isReady=!0})),this.listenTo(e.document,"layoutChanged",this.update.bind(this)),this.listenTo(e,"scrollToTheSelection",this._handleScrollToTheSelection.bind(this)),this._initFocusTracking()}get element(){return null}update(){this.fire("update")}destroy(){this.stopListening(),this.focusTracker.destroy(),this.tooltipManager.destroy(this.editor),this.poweredBy.destroy();for(const t of this._editableElementsMap.values())t.ckeditorInstance=null,this.editor.keystrokes.stopListening(t);this._editableElementsMap=new Map,this._focusableToolbarDefinitions=[]}setEditableElement(t,e){this._editableElementsMap.set(t,e),e.ckeditorInstance||(e.ckeditorInstance=this.editor),this.focusTracker.add(e);const n=()=>{this.editor.editing.view.getDomRoot(t)||this.editor.keystrokes.listenTo(e)};this.isReady?n():this.once("ready",n)}removeEditableElement(t){const e=this._editableElementsMap.get(t);e&&(this._editableElementsMap.delete(t),this.editor.keystrokes.stopListening(e),this.focusTracker.remove(e),e.ckeditorInstance=null)}getEditableElement(t="main"){return this._editableElementsMap.get(t)}getEditableElementsNames(){return this._editableElementsMap.keys()}addToolbar(t,e={}){t.isRendered?(this.focusTracker.add(t.element),this.editor.keystrokes.listenTo(t.element)):t.once("render",(()=>{this.focusTracker.add(t.element),this.editor.keystrokes.listenTo(t.element)})),this._focusableToolbarDefinitions.push({toolbarView:t,options:e})}extendMenuBar(t){this._extraMenuBarElements.push(t)}get _editableElements(){return console.warn("editor-ui-deprecated-editable-elements: The EditorUI#_editableElements property has been deprecated and will be removed in the near future.",{editorUI:this}),this._editableElementsMap}_initMenuBar(t){const e=t.element;this.focusTracker.add(e),this.editor.keystrokes.listenTo(e);const n=function(t){let e;return e="items"in t&&t.items?{items:t.items,removeItems:[],addItems:[],isVisible:!0,isUsingDefaultConfig:!1,...t}:{items:Ll(Qf),addItems:[],removeItems:[],isVisible:!0,isUsingDefaultConfig:!0,...t},e}(this.editor.config.get("menuBar")||{});t.fillFromConfig(n,this.componentFactory,this._extraMenuBarElements),this.editor.keystrokes.set("Esc",((t,n)=>{e.contains(this.editor.ui.focusTracker.focusedElement)&&(this._lastFocusedForeignElement?(this._lastFocusedForeignElement.focus(),this._lastFocusedForeignElement=null):this.editor.editing.view.focus(),n())})),this.editor.keystrokes.set("Alt+F9",((n,i)=>{e.contains(this.editor.ui.focusTracker.focusedElement)||(this._saveLastFocusedForeignElement(),t.isFocusBorderEnabled=!0,t.focus(),i())}))}_readViewportOffsetFromConfig(){const t=this.editor,e=t.config.get("ui.viewportOffset");if(e)return e;const n=t.config.get("toolbar.viewportTopOffset");return n?(console.warn("editor-ui-deprecated-viewport-offset-config: The `toolbar.vieportTopOffset` configuration option is deprecated. It will be removed from future CKEditor versions. Use `ui.viewportOffset.top` instead."),{top:n}):{top:0}}_initFocusTracking(){const t=this.editor;let e;t.keystrokes.set("Alt+F10",((t,n)=>{this._saveLastFocusedForeignElement();const i=this._getCurrentFocusedToolbarDefinition();i&&e||(e=this._getFocusableCandidateToolbarDefinitions());for(let t=0;t{const i=this._getCurrentFocusedToolbarDefinition();i&&(this._lastFocusedForeignElement?(this._lastFocusedForeignElement.focus(),this._lastFocusedForeignElement=null):t.editing.view.focus(),i.options.afterBlur&&i.options.afterBlur(),n())}))}_saveLastFocusedForeignElement(){const t=this.focusTracker.focusedElement;Array.from(this._editableElementsMap.values()).includes(t)&&!Array.from(this.editor.editing.view.domRoots.values()).includes(t)&&(this._lastFocusedForeignElement=t)}_getFocusableCandidateToolbarDefinitions(){const t=[];for(const e of this._focusableToolbarDefinitions){const{toolbarView:n,options:i}=e;(So(n.element)||i.beforeFocus)&&t.push(e)}return t.sort(((t,e)=>hk(t)-hk(e))),t}_getCurrentFocusedToolbarDefinition(){for(const t of this._focusableToolbarDefinitions)if(t.toolbarView.element&&t.toolbarView.element.contains(this.focusTracker.focusedElement))return t;return null}_focusFocusableCandidateToolbar(t){const{toolbarView:e,options:{beforeFocus:n}}=t;return n&&n(),!!So(e.element)&&(e.focus(),!0)}_handleScrollToTheSelection(t,e){const n={top:0,bottom:0,left:0,right:0,...this.viewportOffset};e.viewportOffset.top+=n.top,e.viewportOffset.bottom+=n.bottom,e.viewportOffset.left+=n.left,e.viewportOffset.right+=n.right}_bindBodyCollectionWithFocusTracker(){const t=this.view.body;for(const e of t)this.focusTracker.add(e.element);t.on("add",((t,e)=>{this.focusTracker.add(e.element)})),t.on("remove",((t,e)=>{this.focusTracker.remove(e.element)}))}}function hk(t){const{toolbarView:e,options:n}=t;let i=10;return So(e.element)&&i--,n.isContextual&&i--,i}var uk=n(1185),mk={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(uk.A,mk);uk.A.locals;class gk extends lm{body;menuBarView;constructor(t){super(t),this.body=new ng(t)}render(){super.render(),this.body.attachToDom()}destroy(){return this.body.detachFromDom(),super.destroy()}}class pk extends lm{name=null;_editingView;_editableElement;_hasExternalElement;constructor(t,e,n){super(t),this.setTemplate({tag:"div",attributes:{class:["ck","ck-content","ck-editor__editable","ck-rounded-corners"],lang:t.contentLanguage,dir:t.contentLanguageDirection}}),this.set("isFocused",!1),this._editableElement=n,this._hasExternalElement=!!this._editableElement,this._editingView=e}render(){super.render(),this._hasExternalElement?this.template.apply(this.element=this._editableElement):this._editableElement=this.element,this.on("change:isFocused",(()=>this._updateIsFocusedClasses())),this._updateIsFocusedClasses()}destroy(){this._hasExternalElement&&this.template.revert(this._editableElement),super.destroy()}get hasExternalElement(){return this._hasExternalElement}_updateIsFocusedClasses(){const t=this._editingView;function e(e){t.change((n=>{const i=t.document.getRoot(e.name);n.addClass(e.isFocused?"ck-focused":"ck-blurred",i),n.removeClass(e.isFocused?"ck-blurred":"ck-focused",i)}))}t.isRenderingInProgress?function n(i){t.once("change:isRenderingInProgress",((t,o,r)=>{r?n(i):e(i)}))}(this):e(this)}}class fk extends pk{_options;constructor(t,e,n,i={}){super(t,e,n),this._options=i,this.extendTemplate({attributes:{role:"textbox",class:"ck-editor__editable_inline"}})}render(){super.render();const t=this._editingView;t.change((e=>{const n=t.document.getRoot(this.name);e.setAttribute("aria-label",this.getEditableAriaLabel(),n)}))}getEditableAriaLabel(){const t=this.locale.t,e=this._options.label,n=this._editableElement,i=this.name;if("string"==typeof e)return e;if("object"==typeof e)return e[i];if("function"==typeof e)return e(this);if(n){const t=n.getAttribute("aria-label");if(t)return t}return t("Rich Text Editor. Editing area: %0",i)}}class kk extends qr{static get pluginName(){return"Notification"}init(){this.on("show:warning",((t,e)=>{window.alert(e.message)}),{priority:"lowest"})}showSuccess(t,e={}){this._showNotification({message:t,type:"success",namespace:e.namespace,title:e.title})}showInfo(t,e={}){this._showNotification({message:t,type:"info",namespace:e.namespace,title:e.title})}showWarning(t,e={}){this._showNotification({message:t,type:"warning",namespace:e.namespace,title:e.title})}_showNotification(t){const e=t.namespace?`show:${t.type}:${t.namespace}`:`show:${t.type}`;this.fire(e,{message:t.message,type:t.type,title:t.title||""})}}class bk extends(ji()){constructor(t,e){super(),e&&tl(this,e),t&&this.set(t)}}var wk=n(991),Ak={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(wk.A,Ak);wk.A.locals;var _k=n(5380),Ck={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(_k.A,Ck);_k.A.locals;const vk=yo("px");class yk extends Lr{positionLimiter;visibleStack;_viewToStack=new Map;_idToStack=new Map;_view=null;_rotatorView=null;_fakePanelsView=null;static get pluginName(){return"ContextualBalloon"}constructor(t){super(t),this.positionLimiter=()=>{const t=this.editor.editing.view,e=t.document.selection.editableElement;return e?t.domConverter.mapViewToDom(e.root):null},this.decorate("getPositionOptions"),this.set("visibleView",null),this.set("_numberOfStacks",0),this.set("_singleViewMode",!1)}destroy(){super.destroy(),this._view&&this._view.destroy(),this._rotatorView&&this._rotatorView.destroy(),this._fakePanelsView&&this._fakePanelsView.destroy()}get view(){return this._view||this._createPanelView(),this._view}hasView(t){return Array.from(this._viewToStack.keys()).includes(t)}add(t){if(this._view||this._createPanelView(),this.hasView(t.view))throw new bi("contextualballoon-add-view-exist",[this,t]);const e=t.stackId||"main";if(!this._idToStack.has(e))return this._idToStack.set(e,new Map([[t.view,t]])),this._viewToStack.set(t.view,this._idToStack.get(e)),this._numberOfStacks=this._idToStack.size,void(this._visibleStack&&!t.singleViewMode||this.showStack(e));const n=this._idToStack.get(e);t.singleViewMode&&this.showStack(e),n.set(t.view,t),this._viewToStack.set(t.view,n),n===this._visibleStack&&this._showView(t)}remove(t){if(!this.hasView(t))throw new bi("contextualballoon-remove-view-not-exist",[this,t]);const e=this._viewToStack.get(t);this._singleViewMode&&this.visibleView===t&&(this._singleViewMode=!1),this.visibleView===t&&(1===e.size?this._idToStack.size>1?this._showNextStack():(this.view.hide(),this.visibleView=null,this._rotatorView.hideView()):this._showView(Array.from(e.values())[e.size-2])),1===e.size?(this._idToStack.delete(this._getStackId(e)),this._numberOfStacks=this._idToStack.size):e.delete(t),this._viewToStack.delete(t)}updatePosition(t){t&&(this._visibleStack.get(this.visibleView).position=t),this.view.pin(this.getPositionOptions()),this._fakePanelsView.updatePosition()}getPositionOptions(){let t=Array.from(this._visibleStack.values()).pop().position;return t&&(t.limiter||(t=Object.assign({},t,{limiter:this.positionLimiter})),t=Object.assign({},t,{viewportOffsetConfig:this.editor.ui.viewportOffset})),t}showStack(t){this.visibleStack=t;const e=this._idToStack.get(t);if(!e)throw new bi("contextualballoon-showstack-stack-not-exist",this);this._visibleStack!==e&&this._showView(Array.from(e.values()).pop())}_createPanelView(){this._view=new rp(this.editor.locale),this.editor.ui.view.body.add(this._view),this._rotatorView=this._createRotatorView(),this._fakePanelsView=this._createFakePanelsView()}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(t){return Array.from(this._idToStack.entries()).find((e=>e[1]===t))[0]}_showNextStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)+1;t[e]||(e=0),this.showStack(this._getStackId(t[e]))}_showPrevStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)-1;t[e]||(e=t.length-1),this.showStack(this._getStackId(t[e]))}_createRotatorView(){const t=new xk(this.editor.locale),e=this.editor.locale.t;return this.view.content.add(t),t.bind("isNavigationVisible").to(this,"_numberOfStacks",this,"_singleViewMode",((t,e)=>!e&&t>1)),t.on("change:isNavigationVisible",(()=>this.updatePosition()),{priority:"low"}),t.bind("counter").to(this,"visibleView",this,"_numberOfStacks",((t,n)=>{if(n<2)return"";const i=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return e("%0 of %1",[i,n])})),t.buttonNextView.on("execute",(()=>{t.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showNextStack()})),t.buttonPrevView.on("execute",(()=>{t.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showPrevStack()})),t}_createFakePanelsView(){const t=new Ek(this.editor.locale,this.view);return t.bind("numberOfPanels").to(this,"_numberOfStacks",this,"_singleViewMode",((t,e)=>!e&&t>=2?Math.min(t-1,2):0)),t.listenTo(this.view,"change:top",(()=>t.updatePosition())),t.listenTo(this.view,"change:left",(()=>t.updatePosition())),this.editor.ui.view.body.add(t),t}_showView({view:t,balloonClassName:e="",withArrow:n=!0,singleViewMode:i=!1}){this.view.class=e,this.view.withArrow=n,this._rotatorView.showView(t),this.visibleView=t,this.view.pin(this.getPositionOptions()),this._fakePanelsView.updatePosition(),i&&(this._singleViewMode=!0)}}class xk extends lm{focusTracker;buttonPrevView;buttonNextView;content;constructor(t){super(t);const e=t.t,n=this.bindTemplate;this.set("isNavigationVisible",!0),this.focusTracker=new Br,this.buttonPrevView=this._createButtonView(e("Previous"),zu.previousArrow),this.buttonNextView=this._createButtonView(e("Next"),zu.nextArrow),this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-rotator"],"z-index":"-1"},children:[{tag:"div",attributes:{class:["ck-balloon-rotator__navigation",n.to("isNavigationVisible",(t=>t?"":"ck-hidden"))]},children:[this.buttonPrevView,{tag:"span",attributes:{class:["ck-balloon-rotator__counter"]},children:[{text:n.to("counter")}]},this.buttonNextView]},{tag:"div",attributes:{class:"ck-balloon-rotator__content"},children:this.content}]})}render(){super.render(),this.focusTracker.add(this.element)}destroy(){super.destroy(),this.focusTracker.destroy()}showView(t){this.hideView(),this.content.add(t)}hideView(){this.content.clear()}_createButtonView(t,e){const n=new wm(this.locale);return n.set({label:t,icon:e,tooltip:!0}),n}}class Ek extends lm{content;_balloonPanelView;constructor(t,e){super(t);const n=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("height",0),this.set("width",0),this.set("numberOfPanels",0),this.content=this.createCollection(),this._balloonPanelView=e,this.setTemplate({tag:"div",attributes:{class:["ck-fake-panel",n.to("numberOfPanels",(t=>t?"":"ck-hidden"))],style:{top:n.to("top",vk),left:n.to("left",vk),width:n.to("width",vk),height:n.to("height",vk)}},children:this.content}),this.on("change:numberOfPanels",((t,e,n,i)=>{n>i?this._addPanels(n-i):this._removePanels(i-n),this.updatePosition()}))}_addPanels(t){for(;t--;){const t=new lm;t.setTemplate({tag:"div"}),this.content.add(t),this.registerChild(t)}}_removePanels(t){for(;t--;){const t=this.content.last;this.content.remove(t),this.deregisterChild(t),t.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:t,left:e}=this._balloonPanelView,{width:n,height:i}=new ko(this._balloonPanelView.element);Object.assign(this,{top:t,left:e,width:n,height:i})}}}var Bk=n(8298),Dk={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Bk.A,Dk);Bk.A.locals;var Sk=/[\\^$.*+?()[\]{}|]/g,Tk=RegExp(Sk.source);const Ik=function(t){return(t=ys(t))&&Tk.test(t)?t.replace(Sk,"\\$&"):t};var Pk=n(8107),Fk={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Pk.A,Fk);Pk.A.locals;var Rk=n(5727),Vk={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Rk.A,Vk);Rk.A.locals;const Lk=function(t){return function(e){return null==t?void 0:t[e]}};Lk({"&":"&","<":"<",">":">",'"':""","'":"'"});var zk=/[&<>"']/g;RegExp(zk.source);var Mk=n(9529),Ok={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Mk.A,Ok);Mk.A.locals;var Nk=n(109),Hk={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Nk.A,Hk);Nk.A.locals;const jk=yo("px");class qk extends Lr{toolbarView;focusTracker;_balloonConfig;_resizeObserver=null;_balloon;_fireSelectionChangeDebounced;static get pluginName(){return"BalloonToolbar"}static get requires(){return[yk]}constructor(t){super(t),this._balloonConfig=mp(t.config.get("balloonToolbar")),this.toolbarView=this._createToolbarView(),this.focusTracker=new Br,this._trackFocusableEditableElements(),this.focusTracker.add(this.toolbarView.element),t.ui.addToolbar(this.toolbarView,{beforeFocus:()=>this.show(!0),afterBlur:()=>this.hide(),isContextual:!0}),this._balloon=t.plugins.get(yk),this._fireSelectionChangeDebounced=R((()=>this.fire("_selectionChangeDebounced")),200),this.decorate("show")}init(){const t=this.editor,e=t.model.document.selection;this.listenTo(this.focusTracker,"change:isFocused",((t,e,n)=>{const i=this._balloon.visibleView===this.toolbarView;!n&&i?this.hide():n&&this.show()})),this.listenTo(e,"change:range",((t,n)=>{(n.directChange||e.isCollapsed)&&this.hide(),this._fireSelectionChangeDebounced()})),this.listenTo(this,"_selectionChangeDebounced",(()=>{this.editor.editing.view.document.isFocused&&this.show()})),this._balloonConfig.shouldNotGroupWhenFull||this.listenTo(t,"ready",(()=>{const e=t.ui.view.editable.element;this._resizeObserver=new Co(e,(t=>{this.toolbarView.maxWidth=jk(.9*t.contentRect.width)}))})),this.listenTo(this.toolbarView,"groupedItemsUpdate",(()=>{this._updatePosition()})),t.ui.once("ready",(()=>{this.toolbarView.fillFromConfig(this._balloonConfig,this.editor.ui.componentFactory)}))}_createToolbarView(){const t=this.editor.locale.t,e=!this._balloonConfig.shouldNotGroupWhenFull,n=new kp(this.editor.locale,{shouldGroupWhenFull:e,isFloating:!0});return n.ariaLabel=t("Editor contextual toolbar"),n.render(),n}show(t=!1){const e=this.editor,n=e.model.document.selection,i=e.model.schema;this._balloon.hasView(this.toolbarView)||n.isCollapsed&&!t||function(t,e){if(1===t.rangeCount)return!1;return[...t.getRanges()].every((t=>{const n=t.getContainedElement();return n&&e.isSelectable(n)}))}(n,i)||Array.from(this.toolbarView.items).every((t=>void 0!==t.isEnabled&&!t.isEnabled))||(this.listenTo(this.editor.ui,"update",(()=>{this._updatePosition()})),this._balloon.add({view:this.toolbarView,position:this._getBalloonPositionData(),balloonClassName:"ck-toolbar-container"}))}hide(){this._balloon.hasView(this.toolbarView)&&(this.stopListening(this.editor.ui,"update"),this._balloon.remove(this.toolbarView))}_trackFocusableEditableElements(){const{editor:t,focusTracker:e}=this,{editing:n}=t;n.view.addObserver(class extends Xa{observe(t){e.add(t)}stopObserving(t){e.remove(t)}})}_getBalloonPositionData(){const t=this.editor.editing.view,e=t.document,n=e.selection,i=e.selection.isBackward;return{target:()=>{const e=i?n.getFirstRange():n.getLastRange(),o=ko.getDomRangeRects(t.domConverter.viewRangeToDom(e));return i?o[0]:(o.length>1&&0===o[o.length-1].width&&o.pop(),o[o.length-1])},positions:this._getBalloonPositions(i)}}_updatePosition(){this._balloon.updatePosition(this._getBalloonPositionData())}destroy(){super.destroy(),this.stopListening(),this._fireSelectionChangeDebounced.cancel(),this.toolbarView.destroy(),this.focusTracker.destroy(),this._resizeObserver&&this._resizeObserver.destroy()}_getBalloonPositions(t){const e=Xn.isSafari&&Xn.isiOS?rp.generatePositions({heightOffset:Math.max(rp.arrowHeightOffset,Math.round(20/Zn.window.visualViewport.scale))}):rp.defaultPositions;return t?[e.northWestArrowSouth,e.northWestArrowSouthWest,e.northWestArrowSouthEast,e.northWestArrowSouthMiddleEast,e.northWestArrowSouthMiddleWest,e.southWestArrowNorth,e.southWestArrowNorthWest,e.southWestArrowNorthEast,e.southWestArrowNorthMiddleWest,e.southWestArrowNorthMiddleEast]:[e.southEastArrowNorth,e.southEastArrowNorthEast,e.southEastArrowNorthWest,e.southEastArrowNorthMiddleEast,e.southEastArrowNorthMiddleWest,e.northEastArrowSouth,e.northEastArrowSouthEast,e.northEastArrowSouthWest,e.northEastArrowSouthMiddleEast,e.northEastArrowSouthMiddleWest]}}var Wk=n(2710),Uk={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Wk.A,Uk);Wk.A.locals;const $k=yo("px");class Gk extends wm{constructor(t){super(t);const e=this.bindTemplate;this.isVisible=!1,this.isToggleable=!0,this.set("top",0),this.set("left",0),this.extendTemplate({attributes:{class:"ck-block-toolbar-button",style:{top:e.to("top",(t=>$k(t))),left:e.to("left",(t=>$k(t)))}}})}}const Kk=yo("px");class Yk extends Lr{toolbarView;panelView;buttonView;_resizeObserver=null;_blockToolbarConfig;static get pluginName(){return"BlockToolbar"}constructor(t){super(t),this._blockToolbarConfig=mp(this.editor.config.get("blockToolbar")),this.toolbarView=this._createToolbarView(),this.panelView=this._createPanelView(),this.buttonView=this._createButtonView(),cm({emitter:this.panelView,contextElements:[this.panelView.element,this.buttonView.element],activator:()=>this.panelView.isVisible,callback:()=>this._hidePanel()})}init(){const t=this.editor,e=t.t,n=e("Click to edit block"),i=e("Drag to move"),o=e("Edit block"),r=t.plugins.has("DragDropBlockToolbar"),s=r?`${n}\n${i}`:o;this.buttonView.label=s,r&&(this.buttonView.element.dataset.ckeTooltipClass="ck-tooltip_multi-line"),this.listenTo(t.model.document.selection,"change:range",((t,e)=>{e.directChange&&this._hidePanel()})),this.listenTo(t.ui,"update",(()=>this._updateButton())),this.listenTo(t,"change:isReadOnly",(()=>this._updateButton()),{priority:"low"}),this.listenTo(t.ui.focusTracker,"change:isFocused",(()=>this._updateButton())),this.listenTo(this.buttonView,"change:isVisible",((t,e,n)=>{n?this.buttonView.listenTo(window,"resize",(()=>this._updateButton())):(this.buttonView.stopListening(window,"resize"),this._hidePanel())})),this._repositionButtonOnScroll(),t.ui.addToolbar(this.toolbarView,{beforeFocus:()=>this._showPanel(),afterBlur:()=>this._hidePanel()}),t.ui.once("ready",(()=>{this.toolbarView.fillFromConfig(this._blockToolbarConfig,this.editor.ui.componentFactory);for(const t of this.toolbarView.items)t.on("execute",(()=>this._hidePanel(!0)),{priority:"high"})}))}destroy(){super.destroy(),this.panelView.destroy(),this.buttonView.destroy(),this.toolbarView.destroy(),this._resizeObserver&&this._resizeObserver.destroy()}_createToolbarView(){const t=this.editor.locale.t,e=!this._blockToolbarConfig.shouldNotGroupWhenFull,n=new kp(this.editor.locale,{shouldGroupWhenFull:e,isFloating:!0});return n.ariaLabel=t("Editor block content toolbar"),n}_createPanelView(){const t=this.editor,e=new rp(t.locale);return e.content.add(this.toolbarView),e.class="ck-toolbar-container",t.ui.view.body.add(e),this.toolbarView.keystrokes.set("Esc",((t,e)=>{this._hidePanel(!0),e()})),e}_createButtonView(){const t=this.editor,e=t.t,n=new Gk(t.locale),i=this._blockToolbarConfig.icon,o=fp[i]||i||fp.dragIndicator;return n.set({label:e("Edit block"),icon:o,withText:!1}),n.bind("isOn").to(this.panelView,"isVisible"),n.bind("tooltip").to(this.panelView,"isVisible",(t=>!t)),this.listenTo(n,"execute",(()=>{this.panelView.isVisible?this._hidePanel(!0):this._showPanel()})),this.listenTo(n,"change:isEnabled",((t,e,n)=>{!n&&this.panelView.isVisible&&this._hidePanel(!1)})),t.ui.view.body.add(n),n}_updateButton(){const t=this.editor,e=t.model,n=t.editing.view;if(!t.ui.focusTracker.isFocused)return void this._hideButton();if(!t.model.canEditAt(t.model.document.selection))return void this._hideButton();const i=Array.from(e.document.selection.getSelectedBlocks())[0];if(!i||Array.from(this.toolbarView.items).every((t=>!t.isEnabled)))return void this._hideButton();const o=n.domConverter.mapViewToDom(t.editing.mapper.toViewElement(i));this.buttonView.isVisible=!0,this._setupToolbarResize(),this._attachButtonToElement(o),this.panelView.isVisible&&this._showPanel()}_hideButton(){this.buttonView.isVisible=!1}_showPanel(){if(!this.buttonView.isVisible)return;const t=this.panelView.isVisible;this.panelView.show();const e=this._getSelectedEditableElement();this.toolbarView.maxWidth=this._getToolbarMaxWidth(e),this.panelView.pin({target:this.buttonView.element,limiter:e}),t||this.toolbarView.items.get(0).focus()}_getSelectedEditableElement(){const t=this.editor.model.document.selection.getFirstRange().root.rootName;return this.editor.ui.getEditableElement(t)}_hidePanel(t){this.panelView.isVisible=!1,t&&this.editor.editing.view.focus()}_repositionButtonOnScroll(){const{buttonView:t}=this;let e=!1;const n=(t,n)=>{if(e)return;const i=this._getSelectedEditableElement();(n.target===Zn.document||lo(i).includes(n.target))&&(e=!0,Zn.window.requestAnimationFrame((()=>{this._updateButton(),e=!1})))};t.on("change:isVisible",((e,i,o)=>{o?t.listenTo(Zn.document,"scroll",n,{useCapture:!0,usePassive:!0}):t.stopListening(Zn.document,"scroll",n)}))}_attachButtonToElement(t){const e=this.buttonView.element,n=this._getSelectedEditableElement(),i=window.getComputedStyle(t),o=new ko(n),r=parseInt(i.paddingTop,10),s=parseInt(i.lineHeight,10)||1.2*parseInt(i.fontSize,10),a=new ko(e),l=new ko(t);let c;c="ltr"===this.editor.locale.uiLanguageDirection?o.left-a.width:o.right;const d=l.top+r+(s-a.height)/2;a.moveTo(c,d);const h=a.toAbsoluteRect();this.buttonView.top=h.top,this.buttonView.left=h.left,this._clipButtonToViewport(this.buttonView,n)}_clipButtonToViewport(t,e){const n=new ko(t.element),i=new ko(e).getVisible(),o=(...e)=>{t.element.style.clipPath=e.length?`polygon(${e.join(",")})`:""},r=e=>{t.isEnabled=!e,t.element.style.pointerEvents=e?"none":""};if(i&&i.bottom=n.height),o("0 0","100% 0",`100% calc(100% - ${Kk(t)})`,`0 calc(100% - ${Kk(t)}`)}else if(i&&i.top>n.top){const t=Math.min(n.height,i.top-n.top);r(t>=n.height),o(`0 ${Kk(t)}`,`100% ${Kk(t)}`,"100% 100%","0 100%")}else r(!1),o()}_setupToolbarResize(){const t=this._getSelectedEditableElement();this._blockToolbarConfig.shouldNotGroupWhenFull||(this._resizeObserver&&this._resizeObserver.element!==t&&(this._resizeObserver.destroy(),this._resizeObserver=null),this._resizeObserver||(this._resizeObserver=new Co(t,(()=>{this.toolbarView.maxWidth=this._getToolbarMaxWidth(t)}))))}_getToolbarMaxWidth(t){const e=new ko(t),n=new ko(this.buttonView.element),i="rtl"===this.editor.locale.uiLanguageDirection?n.left-e.right+n.width:e.left-n.left;return Kk(e.width+i)}}var Zk=n(3344),Jk={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Zk.A,Jk);Zk.A.locals;class Qk extends $m{arrowView;constructor(t){super(t);const e=this.bindTemplate;this.set({withText:!0,role:"menuitem"}),this.arrowView=this._createArrowView(),this.extendTemplate({attributes:{class:["ck-menu-bar__menu__button"],"aria-haspopup":!0,"aria-expanded":this.bindTemplate.to("isOn",(t=>String(t))),"data-cke-tooltip-disabled":e.to("isOn")},on:{mouseenter:e.to("mouseenter")}})}render(){super.render(),this.children.add(this.arrowView)}_createArrowView(){const t=new pm;return t.content=dg,t.extendTemplate({attributes:{class:"ck-menu-bar__menu__button__arrow"}}),t}}var Xk=n(9108),tb={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Xk.A,tb);Xk.A.locals;class eb extends lm{children;constructor(t){super(t);const e=this.bindTemplate;this.set("isVisible",!1),this.set("position","se"),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-menu-bar__menu__panel",e.to("position",(t=>`ck-menu-bar__menu__panel_position_${t}`)),e.if("isVisible","ck-hidden",(t=>!t))],tabindex:"-1"},children:this.children,on:{selectstart:e.to((t=>{"input"!==t.target.tagName.toLocaleLowerCase()&&t.preventDefault()}))}})}focus(t=1){this.children.length&&(1===t?this.children.first.focus():this.children.last.focus())}}var nb=n(4),ib={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(nb.A,ib);nb.A.locals;class ob extends lm{buttonView;panelView;focusTracker;keystrokes;constructor(t){super(t);const e=this.bindTemplate;this.buttonView=new Qk(t),this.buttonView.delegate("mouseenter").to(this),this.buttonView.bind("isOn","isEnabled").to(this,"isOpen","isEnabled"),this.panelView=new eb(t),this.panelView.bind("isVisible").to(this,"isOpen"),this.keystrokes=new Dr,this.focusTracker=new Br,this.set("isOpen",!1),this.set("isEnabled",!0),this.set("panelPosition","w"),this.set("class",void 0),this.set("parentMenuView",null),this.setTemplate({tag:"div",attributes:{class:["ck","ck-menu-bar__menu",e.to("class"),e.if("isEnabled","ck-disabled",(t=>!t)),e.if("parentMenuView","ck-menu-bar__menu_top-level",(t=>!t))]},children:[this.buttonView,this.panelView]})}render(){super.render(),this.focusTracker.add(this.buttonView.element),this.focusTracker.add(this.panelView.element),this.keystrokes.listenTo(this.element),Zf.closeOnEscKey(this),this._repositionPanelOnOpen()}_attachBehaviors(){this.parentMenuView?(Zf.openOnButtonClick(this),Zf.openOnArrowRightKey(this),Zf.closeOnArrowLeftKey(this),Zf.openAndFocusOnEnterKeyPress(this),Zf.closeOnParentClose(this)):(this._propagateArrowKeystrokeEvents(),Zf.openAndFocusPanelOnArrowDownKey(this),Zf.toggleOnButtonClick(this))}_propagateArrowKeystrokeEvents(){this.keystrokes.set("arrowright",((t,e)=>{this.fire("arrowright"),e()})),this.keystrokes.set("arrowleft",((t,e)=>{this.fire("arrowleft"),e()}))}_repositionPanelOnOpen(){this.on("change:isOpen",((t,e,n)=>{if(!n)return;const i=ob._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:!0,positions:this._panelPositions});this.panelView.position=i?i.name:this._panelPositions[0].name}))}focus(){this.buttonView.focus()}get _panelPositions(){const{southEast:t,southWest:e,northEast:n,northWest:i,westSouth:o,eastSouth:r,westNorth:s,eastNorth:a}=Jf;return"ltr"===this.locale.uiLanguageDirection?this.parentMenuView?[r,a,o,s]:[t,e,n,i]:this.parentMenuView?[o,s,r,a]:[e,t,i,n]}static _getOptimalPosition=To}class rb extends Qg{constructor(t){super(t),this.role="menu",this.items.on("change",this._setItemsCheckSpace.bind(this))}_setItemsCheckSpace(){const t=Array.from(this.items).some((t=>{const e=sb(t);return e&&e.isToggleable}));this.items.forEach((e=>{const n=sb(e);n&&(n.hasCheckSpace=t)}))}}function sb(t){return t instanceof Gg?t.children.map((t=>function(t){return"object"==typeof t&&"buttonView"in t&&t.buttonView instanceof wm}(t)?t.buttonView:t)).find((t=>t instanceof $m)):null}class ab extends ag{constructor(t){super(t),this.set({withText:!0,withKeystroke:!0,tooltip:!1,role:"menuitem"}),this.extendTemplate({attributes:{class:["ck-menu-bar__menu__item__button"]}})}}var lb=n(497),cb={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(lb.A,cb);lb.A.locals;const db=["mouseenter","arrowleft","arrowright","change:isOpen"];class hb extends lm{children;menus=[];constructor(t){super(t);const e=t.t,n=this.bindTemplate;this.set({isOpen:!1,isFocusBorderEnabled:!1}),this._setupIsOpenUpdater(),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-menu-bar",n.if("isFocusBorderEnabled","ck-menu-bar_focus-border-enabled")],"aria-label":e("Editor menu bar"),role:"menubar"},children:this.children})}fillFromConfig(t,e,n=[]){const i=Xf({normalizedConfig:t,locale:this.locale,componentFactory:e,extraItems:n}).items.map((t=>this._createMenu({componentFactory:e,menuDefinition:t})));this.children.addMany(i)}render(){super.render(),Yf.toggleMenusAndFocusItemsOnHover(this),Yf.closeMenusWhenTheBarCloses(this),Yf.closeMenuWhenAnotherOnTheSameLevelOpens(this),Yf.focusCycleMenusOnArrows(this),Yf.closeOnClickOutside(this),Yf.enableFocusHighlightOnInteraction(this)}focus(){this.children.first&&this.children.first.focus()}close(){for(const t of this.children)t.isOpen=!1}registerMenu(t,e=null){e?(t.delegate(...db).to(e),t.parentMenuView=e):t.delegate(...db).to(this,(t=>"menu:"+t)),t._attachBehaviors(),this.menus.push(t)}_createMenu({componentFactory:t,menuDefinition:e,parentMenuView:n}){const i=this.locale,o=new ob(i);return this.registerMenu(o,n),o.buttonView.set({label:e.label}),o.once("change:isOpen",(()=>{const n=new rb(i);n.ariaLabel=e.label,o.panelView.children.add(n),n.items.addMany(this._createMenuItems({menuDefinition:e,parentMenuView:o,componentFactory:t}))})),o}_createMenuItems({menuDefinition:t,parentMenuView:e,componentFactory:n}){const i=this.locale,o=[];for(const r of t.groups){for(const t of r.items){const r=new Kf(i,e);if(s(t))r.children.add(this._createMenu({componentFactory:n,menuDefinition:t,parentMenuView:e}));else{const i=this._createMenuItemContentFromFactory({componentName:t,componentFactory:n,parentMenuView:e});if(!i)continue;r.children.add(i)}o.push(r)}r!==t.groups[t.groups.length-1]&&o.push(new Kg(i))}return o}_createMenuItemContentFromFactory({componentName:t,parentMenuView:e,componentFactory:n}){const i=n.create(t);return i instanceof ob||i instanceof Zm||i instanceof ab?(this._registerMenuTree(i,e),i.on("execute",(()=>{this.close()})),i):(wi("menu-bar-component-unsupported",{componentName:t,componentView:i}),null)}_registerMenuTree(t,e){if(!(t instanceof ob))return void t.delegate("mouseenter").to(e);this.registerMenu(t,e);const n=t.panelView.children.filter((t=>t instanceof rb))[0];if(!n)return void t.delegate("mouseenter").to(e);const i=n.items.filter((t=>t instanceof Gg));for(const e of i)this._registerMenuTree(e.children.get(0),t)}_setupIsOpenUpdater(){let t;this.on("menu:change:isOpen",((e,n,i)=>{clearTimeout(t),i?this.isOpen=!0:t=setTimeout((()=>{this.isOpen=Array.from(this.children).some((t=>t.isOpen))}),0)}))}}class ub extends dk{view;constructor(t,e){super(t),this.view=e}get element(){return this.view.editable.element}init(){const t=this.editor,e=this.view,n=t.editing.view,i=e.editable,o=n.document.getRoot();i.name=o.rootName,e.render();const r=i.element;this.setEditableElement(i.name,r),i.bind("isFocused").to(this.focusTracker),n.attachDomRoot(r),this._initPlaceholder(),this._initMenuBar(this.view.menuBarView),this.fire("ready")}destroy(){super.destroy();const t=this.view,e=this.editor.editing.view;e.getDomRoot(t.editable.name)&&e.detachDomRoot(t.editable.name),t.destroy()}_initPlaceholder(){const t=this.editor,e=t.editing.view,n=e.document.getRoot(),i=t.config.get("placeholder");if(i){const t="string"==typeof i?i:i[n.rootName];t&&(n.placeholder=t)}Jr({view:e,element:n,isDirectHost:!1,keepOnFocus:!0})}}class mb extends gk{editable;menuBarView;constructor(t,e,n,i){super(t),this.editable=new fk(t,e,n,{label:i}),this.menuBarView=new hb(t),this.menuBarView.extendTemplate({attributes:{class:["ck-reset_all","ck-rounded-corners"],dir:t.uiLanguageDirection}})}render(){super.render(),this.registerChild(this.editable),this.registerChild(this.menuBarView)}}class gb extends(Ru(Fu)){ui;constructor(t,e={}){if(!pb(t)&&void 0!==e.initialData)throw new bi("editor-create-initial-data",null);super(e),void 0===this.config.get("initialData")&&this.config.set("initialData",function(t){return pb(t)?co(t):t}(t)),pb(t)&&(this.sourceElement=t,Vu(this,t));const n=this.config.get("plugins");n.push(qk),this.config.set("plugins",n),this.config.define("balloonToolbar",this.config.get("toolbar")),this.model.document.createRoot();const i=new mb(this.locale,this.editing.view,this.sourceElement,this.config.get("label"));this.ui=new ub(this,i),function(t){if(!st(t.updateSourceElement))throw new bi("attachtoform-missing-elementapi-interface",t);const e=t.sourceElement;if(function(t){return!!t&&"textarea"===t.tagName.toLowerCase()}(e)&&e.form){let n;const i=e.form,o=()=>t.updateSourceElement();st(i.submit)&&(n=i.submit,i.submit=()=>{o(),n.apply(i)}),i.addEventListener("submit",o),t.on("destroy",(()=>{i.removeEventListener("submit",o),n&&(i.submit=n)}))}}(this)}destroy(){const t=this.getData();return this.ui.destroy(),super.destroy().then((()=>{this.sourceElement&&this.updateSourceElement(t)}))}static create(t,e={}){return new Promise((n=>{if(pb(t)&&"TEXTAREA"===t.tagName)throw new bi("editor-wrong-element",null);const i=new this(t,e);n(i.initPlugins().then((()=>i.ui.init())).then((()=>i.data.init(i.config.get("initialData")))).then((()=>i.fire("ready"))).then((()=>i)))}))}}function pb(t){return W(t)}var fb=n(9826),kb={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(fb.A,kb);fb.A.locals;var bb=n(2722),wb={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(bb.A,wb);bb.A.locals;var Ab=n(9627),_b={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Ab.A,_b);Ab.A.locals;class Cb extends lm{children;_findInputView;_replaceInputView;_findButtonView;_findPrevButtonView;_findNextButtonView;_advancedOptionsCollapsibleView;_matchCaseSwitchView;_wholeWordsOnlySwitchView;_replaceButtonView;_replaceAllButtonView;_inputsDivView;_actionButtonsDivView;_focusTracker;_keystrokes;_focusables;focusCycler;constructor(t){super(t);const e=t.t;this.children=this.createCollection(),this.set("matchCount",0),this.set("highlightOffset",0),this.set("isDirty",!1),this.set("_areCommandsEnabled",{}),this.set("_resultsCounterText",""),this.set("_matchCase",!1),this.set("_wholeWordsOnly",!1),this.bind("_searchResultsFound").to(this,"matchCount",this,"isDirty",((t,e)=>t>0&&!e)),this._findInputView=this._createInputField(e("Find in text…")),this._findPrevButtonView=this._createButton({label:e("Previous result"),class:"ck-button-prev",icon:zu.previousArrow,keystroke:"Shift+F3",tooltip:!0}),this._findNextButtonView=this._createButton({label:e("Next result"),class:"ck-button-next",icon:zu.previousArrow,keystroke:"F3",tooltip:!0}),this._replaceInputView=this._createInputField(e("Replace with…"),"ck-labeled-field-replace"),this._inputsDivView=this._createInputsDiv(),this._matchCaseSwitchView=this._createMatchCaseSwitch(),this._wholeWordsOnlySwitchView=this._createWholeWordsOnlySwitch(),this._advancedOptionsCollapsibleView=this._createAdvancedOptionsCollapsible(),this._replaceAllButtonView=this._createButton({label:e("Replace all"),class:"ck-button-replaceall",withText:!0}),this._replaceButtonView=this._createButton({label:e("Replace"),class:"ck-button-replace",withText:!0}),this._findButtonView=this._createButton({label:e("Find"),class:"ck-button-find ck-button-action",withText:!0}),this._actionButtonsDivView=this._createActionButtonsDiv(),this._focusTracker=new Br,this._keystrokes=new Dr,this._focusables=new Mu,this.focusCycler=new ym({focusables:this._focusables,focusTracker:this._focusTracker,keystrokeHandler:this._keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.children.addMany([this._inputsDivView,this._advancedOptionsCollapsibleView,this._actionButtonsDivView]),this.setTemplate({tag:"form",attributes:{class:["ck","ck-find-and-replace-form"],tabindex:"-1"},children:this.children})}render(){super.render(),hm({view:this}),this._initFocusCycling(),this._initKeystrokeHandling()}destroy(){super.destroy(),this._focusTracker.destroy(),this._keystrokes.destroy()}focus(t){-1===t?this.focusCycler.focusLast():this.focusCycler.focusFirst()}reset(){this._findInputView.errorText=null,this.isDirty=!0}get _textToFind(){return this._findInputView.fieldView.element.value}get _textToReplace(){return this._replaceInputView.fieldView.element.value}_createInputsDiv(){const t=this.locale,e=t.t,n=new lm(t);return this._findInputView.fieldView.on("input",(()=>{this.isDirty=!0})),this._findPrevButtonView.delegate("execute").to(this,"findPrevious"),this._findNextButtonView.delegate("execute").to(this,"findNext"),this._findPrevButtonView.bind("isEnabled").to(this,"_areCommandsEnabled",(({findPrevious:t})=>t)),this._findNextButtonView.bind("isEnabled").to(this,"_areCommandsEnabled",(({findNext:t})=>t)),this._injectFindResultsCounter(),this._replaceInputView.bind("isEnabled").to(this,"_areCommandsEnabled",this,"_searchResultsFound",(({replace:t},e)=>t&&e)),this._replaceInputView.bind("infoText").to(this._replaceInputView,"isEnabled",this._replaceInputView,"isFocused",((t,n)=>t||!n?"":e("Tip: Find some text first in order to replace it."))),n.setTemplate({tag:"div",attributes:{class:["ck","ck-find-and-replace-form__inputs"]},children:[this._findInputView,this._findPrevButtonView,this._findNextButtonView,this._replaceInputView]}),n}_onFindButtonExecute(){if(this._textToFind)this.isDirty=!1,this.fire("findNext",{searchText:this._textToFind,matchCase:this._matchCase,wholeWords:this._wholeWordsOnly});else{const t=this.t;this._findInputView.errorText=t("Text to find must not be empty.")}}_injectFindResultsCounter(){const t=this.locale,e=t.t,n=this.bindTemplate,i=new lm(this.locale);this.bind("_resultsCounterText").to(this,"highlightOffset",this,"matchCount",((t,n)=>e("%0 of %1",[t,n]))),i.setTemplate({tag:"span",attributes:{class:["ck","ck-results-counter",n.if("isDirty","ck-hidden")]},children:[{text:n.to("_resultsCounterText")}]});const o=()=>{const e=this._findInputView.fieldView.element;if(!e||!So(e))return;const n=new ko(i.element).width,o="ltr"===t.uiLanguageDirection?"paddingRight":"paddingLeft";e.style[o]=n?`calc( 2 * var(--ck-spacing-standard) + ${n}px )`:""};this.on("change:_resultsCounterText",o,{priority:"low"}),this.on("change:isDirty",o,{priority:"low"}),this._findInputView.template.children[0].children.push(i)}_createAdvancedOptionsCollapsible(){const t=this.locale.t,e=new mg(this.locale,[this._matchCaseSwitchView,this._wholeWordsOnlySwitchView]);return e.set({label:t("Advanced options"),isCollapsed:!0}),e}_createActionButtonsDiv(){const t=new lm(this.locale);return this._replaceButtonView.bind("isEnabled").to(this,"_areCommandsEnabled",this,"_searchResultsFound",(({replace:t},e)=>t&&e)),this._replaceAllButtonView.bind("isEnabled").to(this,"_areCommandsEnabled",this,"_searchResultsFound",(({replaceAll:t},e)=>t&&e)),this._replaceButtonView.on("execute",(()=>{this.fire("replace",{searchText:this._textToFind,replaceText:this._textToReplace})})),this._replaceAllButtonView.on("execute",(()=>{this.fire("replaceAll",{searchText:this._textToFind,replaceText:this._textToReplace}),this.focus()})),this._findButtonView.on("execute",this._onFindButtonExecute.bind(this)),t.setTemplate({tag:"div",attributes:{class:["ck","ck-find-and-replace-form__actions"]},children:[this._replaceAllButtonView,this._replaceButtonView,this._findButtonView]}),t}_createMatchCaseSwitch(){const t=this.locale.t,e=new rg(this.locale);return e.set({label:t("Match case"),withText:!0}),e.bind("isOn").to(this,"_matchCase"),e.on("execute",(()=>{this._matchCase=!this._matchCase,this.isDirty=!0})),e}_createWholeWordsOnlySwitch(){const t=this.locale.t,e=new rg(this.locale);return e.set({label:t("Whole words only"),withText:!0}),e.bind("isOn").to(this,"_wholeWordsOnly"),e.on("execute",(()=>{this._wholeWordsOnly=!this._wholeWordsOnly,this.isDirty=!0})),e}_initFocusCycling(){[this._findInputView,this._findPrevButtonView,this._findNextButtonView,this._replaceInputView,this._advancedOptionsCollapsibleView.buttonView,this._matchCaseSwitchView,this._wholeWordsOnlySwitchView,this._replaceAllButtonView,this._replaceButtonView,this._findButtonView].forEach((t=>{this._focusables.add(t),this._focusTracker.add(t.element)}))}_initKeystrokeHandling(){const t=t=>t.stopPropagation(),e=t=>{t.stopPropagation(),t.preventDefault()};this._keystrokes.listenTo(this.element),this._keystrokes.set("f3",(t=>{e(t),this._findNextButtonView.fire("execute")})),this._keystrokes.set("shift+f3",(t=>{e(t),this._findPrevButtonView.fire("execute")})),this._keystrokes.set("enter",(t=>{const n=t.target;n===this._findInputView.fieldView.element?(this._areCommandsEnabled.findNext?this._findNextButtonView.fire("execute"):this._findButtonView.fire("execute"),e(t)):n!==this._replaceInputView.fieldView.element||this.isDirty||(this._replaceButtonView.fire("execute"),e(t))})),this._keystrokes.set("shift+enter",(t=>{t.target===this._findInputView.fieldView.element&&(this._areCommandsEnabled.findPrevious?this._findPrevButtonView.fire("execute"):this._findButtonView.fire("execute"),e(t))})),this._keystrokes.set("arrowright",t),this._keystrokes.set("arrowleft",t),this._keystrokes.set("arrowup",t),this._keystrokes.set("arrowdown",t)}_createButton(t){const e=new wm(this.locale);return e.set(t),e}_createInputField(t,e){const n=new Sg(this.locale,Vp);return n.label=t,n.class=e,n}}const vb='';class yb extends Lr{static get requires(){return[qm]}static get pluginName(){return"FindAndReplaceUI"}formView;constructor(t){super(t),t.config.define("findAndReplace.uiType","dialog"),this.formView=null}init(){const t=this.editor,e="dropdown"===t.config.get("findAndReplace.uiType"),n=t.commands.get("find"),i=this.editor.t;t.ui.componentFactory.add("findAndReplace",(()=>{let i;return e?(i=this._createDropdown(),i.bind("isEnabled").to(n)):i=this._createDialogButtonForToolbar(),t.keystrokes.set("Ctrl+F",((e,o)=>{if(n.isEnabled){if(i instanceof Hg){const t=i.buttonView;t.isOn||t.fire("execute")}else i.isOn?t.plugins.get("Dialog").view.focus():i.fire("execute");o()}})),i})),e||t.ui.componentFactory.add("menuBar:findAndReplace",(()=>this._createDialogButtonForMenuBar())),t.accessibility.addKeystrokeInfos({keystrokes:[{label:i("Find in the document"),keystroke:"CTRL+F"}]})}_createDropdown(){const t=this.editor,e=t.locale.t,n=Dp(t.locale);return n.once("change:isOpen",(()=>{this.formView=this._createFormView(),this.formView.children.add(new vm(t.locale,{label:e("Find and replace")}),0),n.panelView.children.add(this.formView)})),n.on("change:isOpen",((t,e,n)=>{n?this._setupFormView():this.fire("searchReseted")}),{priority:"low"}),n.buttonView.set({icon:vb,label:e("Find and replace"),keystroke:"CTRL+F",tooltip:!0}),n}_createDialogButtonForToolbar(){const t=this.editor,e=this._createButton(wm),n=t.plugins.get("Dialog");return e.set({tooltip:!0}),e.bind("isOn").to(n,"id",(t=>"findAndReplace"===t)),e.on("execute",(()=>{e.isOn?n.hide():this._showDialog()})),e}_createDialogButtonForMenuBar(){const t=this._createButton(Zm),e=this.editor.plugins.get("Dialog"),n=this.editor.plugins.get("Dialog");return t.set({role:"menuitemcheckbox",isToggleable:!0}),t.bind("isOn").to(n,"id",(t=>"findAndReplace"===t)),t.on("execute",(()=>{"findAndReplace"!==e.id?this._showDialog():e.hide()})),t}_createButton(t){const e=this.editor,n=e.commands.get("find"),i=new t(e.locale),o=e.locale.t;return i.bind("isEnabled").to(n),i.set({icon:vb,label:o("Find and replace"),keystroke:"CTRL+F"}),i}_showDialog(){const t=this.editor,e=t.plugins.get("Dialog"),n=t.locale.t;this.formView||(this.formView=this._createFormView()),e.show({id:"findAndReplace",title:n("Find and replace"),content:this.formView,position:Lm,onShow:()=>{this._setupFormView()},onHide:()=>{this.fire("searchReseted")}})}_createFormView(){const t=this.editor,e=new(dm(Cb))(t.locale),n=t.commands,i=this.editor.plugins.get("FindAndReplaceEditing").state;e.bind("highlightOffset").to(i,"highlightedOffset"),e.listenTo(i.results,"change",(()=>{e.matchCount=i.results.length}));const o=n.get("findNext"),r=n.get("findPrevious"),s=n.get("replace"),a=n.get("replaceAll");return e.bind("_areCommandsEnabled").to(o,"isEnabled",r,"isEnabled",s,"isEnabled",a,"isEnabled",((t,e,n,i)=>({findNext:t,findPrevious:e,replace:n,replaceAll:i}))),e.delegate("findNext","findPrevious","replace","replaceAll").to(this),e.on("change:isDirty",((t,e,n)=>{n&&this.fire("searchReseted")})),e}_setupFormView(){this.formView.disableCssTransitions(),this.formView.reset(),this.formView._findInputView.fieldView.select(),this.formView.enableCssTransitions()}}class xb extends Mr{_state;constructor(t,e){super(t),this.isEnabled=!0,this.affectsData=!1,this._state=e}execute(t,{matchCase:e,wholeWords:n}={}){const{editor:i}=this,{model:o}=i,r=i.plugins.get("FindAndReplaceUtils");let s,a="";s="string"==typeof t?(...i)=>({results:r.findByTextCallback(t,{matchCase:e,wholeWords:n})(...i),searchText:t}):t;const l=s;s=(...t)=>{const e=l(...t);return e&&"searchText"in e&&(a=e.searchText),e};const c=o.document.getRootNames().reduce(((t,e)=>r.updateFindResultFromRange(o.createRangeIn(o.document.getRoot(e)),o,s,t)),null);return this._state.clear(o),this._state.results.addMany(c),this._state.highlightedResult=c.get(0),this._state.searchText=a,s&&(this._state.lastSearchCallback=s),s&&(this._state.lastSearchCallback=s),this._state.matchCase=!!e,this._state.matchWholeWords=!!n,{results:c,findCallback:s}}}class Eb extends Mr{_state;constructor(t,e){super(t),this.isEnabled=!0,this._state=e,this._isEnabledBasedOnSelection=!1}_replace(t,e){const{model:n}=this.editor,i=e.marker.getRange();n.canEditAt(i)&&n.change((o=>{if("$graveyard"===i.root.rootName)return void this._state.results.remove(e);let r={};for(const t of i.getItems())if(t.is("$text")||t.is("$textProxy")){r=t.getAttributes();break}n.insertContent(o.createText(t,r),i),this._state.results.has(e)&&this._state.results.remove(e)}))}}class Bb extends Eb{execute(t,e){this._replace(t,e)}}class Db extends Eb{execute(t,e){const{editor:n}=this,{model:i}=n,o=n.plugins.get("FindAndReplaceUtils"),r=e instanceof xr?e:i.document.getRootNames().reduce(((t,n)=>o.updateFindResultFromRange(i.createRangeIn(i.document.getRoot(n)),i,o.findByTextCallback(e,this._state),t)),null);r.length&&i.change((()=>{[...r].forEach((e=>{this._replace(t,e)}))}))}}class Sb extends Mr{_state;constructor(t,e){super(t),this.affectsData=!1,this._state=e,this.isEnabled=!1,this.listenTo(this._state.results,"change",(()=>{this.isEnabled=this._state.results.length>1}))}refresh(){this.isEnabled=this._state.results.length>1}execute(){const t=this._state.results,e=t.getIndex(this._state.highlightedResult),n=e+1>=t.length?0:e+1;this._state.highlightedResult=this._state.results.get(n)}}class Tb extends Sb{execute(){const t=this._state.results.getIndex(this._state.highlightedResult),e=t-1<0?this._state.results.length-1:t-1;this._state.highlightedResult=this._state.results.get(e)}}class Ib extends(ji()){constructor(t){super(),this.set("results",new xr),this.set("highlightedResult",null),this.set("highlightedOffset",0),this.set("searchText",""),this.set("replaceText",""),this.set("lastSearchCallback",null),this.set("matchCase",!1),this.set("matchWholeWords",!1),this.results.on("change",((e,{removed:n,index:i})=>{if(Array.from(n).length){let e=!1;if(t.change((i=>{for(const o of n)this.highlightedResult===o&&(e=!0),t.markers.has(o.marker.name)&&i.removeMarker(o.marker)})),e){const t=i>=this.results.length?0:i;this.highlightedResult=this.results.get(t)}}})),this.on("change:highlightedResult",(()=>{this.refreshHighlightOffset()}))}clear(t){this.searchText="",t.change((e=>{if(this.highlightedResult){const n=this.highlightedResult.marker.name.split(":")[1],i=t.markers.get(`findResultHighlighted:${n}`);i&&e.removeMarker(i)}[...this.results].forEach((({marker:t})=>{e.removeMarker(t)}))})),this.results.clear()}refreshHighlightOffset(){const{highlightedResult:t,results:e}=this,n={before:-1,same:0,after:1,different:1};this.highlightedOffset=t?Array.from(e).sort(((t,e)=>n[t.marker.getStart().compareWith(e.marker.getStart())])).indexOf(t)+1:0}}class Pb extends Lr{static get pluginName(){return"FindAndReplaceUtils"}updateFindResultFromRange(t,e,n,i){const o=i||new xr;return e.change((i=>{[...t].forEach((({type:t,item:r})=>{if("elementStart"===t&&e.schema.checkChild(r,"$text")){let t=n({item:r,text:this.rangeToText(e.createRangeIn(r))});if(!t)return;"results"in t&&(t=t.results),t.forEach((t=>{const e=`findResult:${pi()}`,n=i.addMarker(e,{usingOperation:!1,affectsData:!1,range:i.createRange(i.createPositionAt(r,t.start),i.createPositionAt(r,t.end))}),s=function(t,e){const n=t.find((({marker:t})=>e.getStart().isBefore(t.getStart())));return n?t.getIndex(n):t.length}(o,n);(t=>o.find((e=>{const{marker:n}=e,i=n.getRange(),o=t.getRange();return i.isEqual(o)})))(n)||o.add({id:e,label:t.label,marker:n},s)}))}}))})),o}rangeToText(t){return Array.from(t.getItems()).reduce(((t,e)=>e.is("$text")||e.is("$textProxy")?t+e.data:`${t}\n`),"")}findByTextCallback(t,e){let n="gu";e.matchCase||(n+="i");let i=`(${Ik(t)})`;if(e.wholeWords){const e="[^a-zA-ZÀ-ɏḀ-ỿ]";new RegExp("^"+e).test(t)||(i=`(^|${e}|_)${i}`),new RegExp(e+"$").test(t)||(i=`${i}(?=_|${e}|$)`)}const o=new RegExp(i,n);return function({text:t}){return[...t.matchAll(o)].map(Fb)}}}function Fb(t){const e=t.length-1;let n=t.index;return 3===t.length&&(n+=t[1].length),{label:t[e],start:n,end:n+t[e].length}}var Rb=n(4341),Vb={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Rb.A,Vb);Rb.A.locals;class Lb extends Lr{static get requires(){return[Pb]}static get pluginName(){return"FindAndReplaceEditing"}state;init(){this.state=new Ib(this.editor.model),this.set("_isSearchActive",!1),this._defineConverters(),this._defineCommands(),this.listenTo(this.state,"change:highlightedResult",((t,e,n,i)=>{const{model:o}=this.editor;o.change((t=>{if(i){const e=i.marker.name.split(":")[1],n=o.markers.get(`findResultHighlighted:${e}`);n&&t.removeMarker(n)}if(n){const e=n.marker.name.split(":")[1];t.addMarker(`findResultHighlighted:${e}`,{usingOperation:!1,affectsData:!1,range:n.marker.getRange()})}}))}));const t=R(((t,e,n)=>{if(n){const t=this.editor.editing.view.domConverter,e=this.editor.editing.mapper.toViewRange(n.marker.getRange());Ro({target:t.viewRangeToDom(e),viewportOffset:40})}}).bind(this),32);this.listenTo(this.state,"change:highlightedResult",t,{priority:"low"}),this.listenTo(this.editor,"destroy",t.cancel),this.on("change:_isSearchActive",((t,e,n)=>{n?this.listenTo(this.editor.model.document,"change:data",this._onDocumentChange):this.stopListening(this.editor.model.document,"change:data",this._onDocumentChange)}))}find(t,e){return this._isSearchActive=!0,this.editor.execute("find",t,e),this.state.results}stop(){this.state.clear(this.editor.model),this._isSearchActive=!1}_defineCommands(){this.editor.commands.add("find",new xb(this.editor,this.state)),this.editor.commands.add("findNext",new Sb(this.editor,this.state)),this.editor.commands.add("findPrevious",new Tb(this.editor,this.state)),this.editor.commands.add("replace",new Bb(this.editor,this.state)),this.editor.commands.add("replaceAll",new Db(this.editor,this.state))}_defineConverters(){const{editor:t}=this;t.conversion.for("editingDowncast").markerToHighlight({model:"findResult",view:({markerName:t})=>{const[,e]=t.split(":");return{name:"span",classes:["ck-find-result"],attributes:{"data-find-result":e}}}}),t.conversion.for("editingDowncast").markerToHighlight({model:"findResultHighlighted",view:({markerName:t})=>{const[,e]=t.split(":");return{name:"span",classes:["ck-find-result_selected"],attributes:{"data-find-result":e}}}})}_onDocumentChange=()=>{const t=new Set,e=new Set,n=this.editor.model,{results:i}=this.state,o=n.document.differ.getChanges(),r=n.document.differ.getChangedMarkers();o.forEach((i=>{i.position&&("$text"===i.name||i.position.nodeAfter&&n.schema.isInline(i.position.nodeAfter)?(t.add(i.position.parent),[...n.markers.getMarkersAtPosition(i.position)].forEach((t=>{e.add(t.name)}))):"insert"===i.type&&i.position.nodeAfter&&t.add(i.position.nodeAfter))})),r.forEach((({name:t,data:{newRange:n}})=>{n&&"$graveyard"===n.start.root.rootName&&e.add(t)})),t.forEach((t=>{[...n.markers.getMarkersIntersectingRange(n.createRangeIn(t))].forEach((t=>e.add(t.name)))})),e.forEach((t=>{i.has(t)&&(i.get(t)===this.state.highlightedResult&&(this.state.highlightedResult=null),i.remove(t))}));const s=[],a=this.editor.plugins.get("FindAndReplaceUtils");t.forEach((t=>{const e=a.updateFindResultFromRange(n.createRangeOn(t),n,this.state.lastSearchCallback,i);s.push(...e)})),r.forEach((t=>{if(t.data.newRange){const e=a.updateFindResultFromRange(t.data.newRange,n,this.state.lastSearchCallback,i);s.push(...e)}})),!this.state.highlightedResult&&s.length?this.state.highlightedResult=s[0]:this.state.refreshHighlightOffset()}}class zb extends(ji()){total;_reader;_data;constructor(){super();const t=new window.FileReader;this._reader=t,this._data=void 0,this.set("loaded",0),t.onprogress=t=>{this.loaded=t.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;return t?(this.total=t.size,new Promise(((n,i)=>{e.onload=()=>{const t=e.result;this._data=t,n(t)},e.onerror=()=>{i("error")},e.onabort=()=>{i("aborted")},this._reader.readAsDataURL(t)}))):new Promise(((t,e)=>{e("error")}))}abort(){this._reader.abort()}}class Mb extends Lr{loaders=new xr;_loadersMap=new Map;_pendingAction=null;static get pluginName(){return"FileRepository"}static get requires(){return[Lu]}init(){this.loaders.on("change",(()=>this._updatePendingAction())),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",((t,e)=>e?t/e*100:0))}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter)return wi("filerepository-no-upload-adapter"),null;const e=new Ob(Promise.resolve(t),this.createUploadAdapter);return this.loaders.add(e),this._loadersMap.set(t,e),t instanceof Promise&&e.file.then((t=>{this._loadersMap.set(t,e)})).catch((()=>{})),e.on("change:uploaded",(()=>{let t=0;for(const e of this.loaders)t+=e.uploaded;this.uploaded=t})),e.on("change:uploadTotal",(()=>{let t=0;for(const e of this.loaders)e.uploadTotal&&(t+=e.uploadTotal);this.uploadTotal=t})),e}destroyLoader(t){const e=t instanceof Ob?t:this.getLoader(t);e._destroy(),this.loaders.remove(e),this._loadersMap.forEach(((t,n)=>{t===e&&this._loadersMap.delete(n)}))}_updatePendingAction(){const t=this.editor.plugins.get(Lu);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t,n=t=>`${e("Upload in progress")} ${parseInt(t)}%.`;this._pendingAction=t.add(n(this.uploadedPercent)),this._pendingAction.bind("message").to(this,"uploadedPercent",n)}}else t.remove(this._pendingAction),this._pendingAction=null}}class Ob extends(ji()){id;_filePromiseWrapper;_adapter;_reader;constructor(t,e){super(),this.id=pi(),this._filePromiseWrapper=this._createFilePromiseWrapper(t),this._adapter=e(this),this._reader=new zb,this.set("status","idle"),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",((t,e)=>e?t/e*100:0)),this.set("uploadResponse",null)}get file(){return this._filePromiseWrapper?this._filePromiseWrapper.promise.then((t=>this._filePromiseWrapper?t:null)):Promise.resolve(null)}get data(){return this._reader.data}read(){if("idle"!=this.status)throw new bi("filerepository-read-wrong-status",this);return this.status="reading",this.file.then((t=>this._reader.read(t))).then((t=>{if("reading"!==this.status)throw this.status;return this.status="idle",t})).catch((t=>{if("aborted"===t)throw this.status="aborted","aborted";throw this.status="error",this._reader.error?this._reader.error:t}))}upload(){if("idle"!=this.status)throw new bi("filerepository-upload-wrong-status",this);return this.status="uploading",this.file.then((()=>this._adapter.upload())).then((t=>(this.uploadResponse=t,this.status="idle",t))).catch((t=>{if("aborted"===this.status)throw"aborted";throw this.status="error",t}))}abort(){const t=this.status;this.status="aborted",this._filePromiseWrapper.isFulfilled?"reading"==t?this._reader.abort():"uploading"==t&&this._adapter.abort&&this._adapter.abort():(this._filePromiseWrapper.promise.catch((()=>{})),this._filePromiseWrapper.rejecter("aborted")),this._destroy()}_destroy(){this._filePromiseWrapper=void 0,this._reader=void 0,this._adapter=void 0,this.uploadResponse=void 0}_createFilePromiseWrapper(t){const e={};return e.promise=new Promise(((n,i)=>{e.rejecter=i,e.isFulfilled=!1,t.then((t=>{e.isFulfilled=!0,n(t)})).catch((t=>{e.isFulfilled=!0,i(t)}))})),e}}const Nb="ckCsrfToken",Hb="abcdefghijklmnopqrstuvwxyz0123456789";function jb(){let t=function(t){t=t.toLowerCase();const e=document.cookie.split(";");for(const n of e){const e=n.split("=");if(decodeURIComponent(e[0].trim().toLowerCase())===t)return decodeURIComponent(e[1])}return null}(Nb);var e,n;return t&&40==t.length||(t=function(t){let e="";const n=new Uint8Array(t);window.crypto.getRandomValues(n);for(let t=0;t.5?i.toUpperCase():i}return e}(40),e=Nb,n=t,document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(n)+";path=/"),t}class qb{loader;url;t;xhr;constructor(t,e,n){this.loader=t,this.url=e,this.t=n}upload(){return this.loader.file.then((t=>new Promise(((e,n)=>{this._initRequest(),this._initListeners(e,n,t),this._sendRequest(t)}))))}abort(){this.xhr&&this.xhr.abort()}_initRequest(){const t=this.xhr=new XMLHttpRequest;t.open("POST",this.url,!0),t.responseType="json"}_initListeners(t,e,n){const i=this.xhr,o=this.loader,r=(0,this.t)("Cannot upload file:")+` ${n.name}.`;i.addEventListener("error",(()=>e(r))),i.addEventListener("abort",(()=>e())),i.addEventListener("load",(()=>{const n=i.response;if(!n||!n.uploaded)return e(n&&n.error&&n.error.message?n.error.message:r);t({default:n.url})})),i.upload&&i.upload.addEventListener("progress",(t=>{t.lengthComputable&&(o.uploadTotal=t.total,o.uploaded=t.loaded)}))}_sendRequest(t){const e=new FormData;e.append("upload",t),e.append("ckCsrfToken",jb()),this.xhr.send(e)}}class Wb{model;limit;_isLocked;_size;_batch=null;_changeCallback;_selectionChangeCallback;constructor(t,e=20){this.model=t,this._size=0,this.limit=e,this._isLocked=!1,this._changeCallback=(t,e)=>{e.isLocal&&e.isUndoable&&e!==this._batch&&this._reset(!0)},this._selectionChangeCallback=()=>{this._reset()},this.model.document.on("change",this._changeCallback),this.model.document.selection.on("change:range",this._selectionChangeCallback),this.model.document.selection.on("change:attribute",this._selectionChangeCallback)}get batch(){return this._batch||(this._batch=this.model.createBatch({isTyping:!0})),this._batch}get size(){return this._size}input(t){this._size+=t,this._size>=this.limit&&this._reset(!0)}get isLocked(){return this._isLocked}lock(){this._isLocked=!0}unlock(){this._isLocked=!1}destroy(){this.model.document.off("change",this._changeCallback),this.model.document.selection.off("change:range",this._selectionChangeCallback),this.model.document.selection.off("change:attribute",this._selectionChangeCallback)}_reset(t=!1){this.isLocked&&!t||(this._batch=null,this._size=0)}}class Ub extends Mr{_buffer;constructor(t,e){super(t),this._buffer=new Wb(t.model,e),this._isEnabledBasedOnSelection=!1}get buffer(){return this._buffer}destroy(){super.destroy(),this._buffer.destroy()}execute(t={}){const e=this.editor.model,n=e.document,i=t.text||"",o=i.length;let r=n.selection;if(t.selection?r=t.selection:t.range&&(r=e.createSelection(t.range)),!e.canEditAt(r))return;const s=t.resultRange;e.enqueueChange(this._buffer.batch,(t=>{this._buffer.lock();const a=Array.from(n.selection.getAttributes());e.deleteContent(r),i&&e.insertContent(t.createText(i,a),r),s?t.setSelection(s):r.is("documentSelection")||t.setSelection(r),this._buffer.unlock(),this._buffer.input(o)}))}}const $b=["insertText","insertReplacementText"],Gb=[...$b,"insertCompositionText"];class Kb extends Xa{focusObserver;constructor(t){super(t),this.focusObserver=t.getObserver(Dl);const e=Xn.isAndroid?Gb:$b,n=t.document;n.on("beforeinput",((i,o)=>{if(!this.isEnabled)return;const{data:r,targetRanges:s,inputType:a,domEvent:l}=o;if(!e.includes(a))return;this.focusObserver.flush();const c=new mi(n,"insertText");n.fire(c,new el(t,l,{text:r,selection:t.createSelection(s)})),c.stop.called&&i.stop()})),Xn.isAndroid||n.on("compositionend",((e,{data:i,domEvent:o})=>{this.isEnabled&&i&&n.fire("insertText",new el(t,o,{text:i}))}),{priority:"lowest"})}observe(){}stopObserving(){}}class Yb extends Lr{_compositionQueue;static get pluginName(){return"Input"}init(){const t=this.editor,e=t.model,n=t.editing.view,i=t.editing.mapper,o=e.document.selection;this._compositionQueue=new Zb(t),n.addObserver(Kb);const r=new Ub(t,t.config.get("typing.undoStep")||20);t.commands.add("insertText",r),t.commands.add("input",r),this.listenTo(n.document,"insertText",((r,s)=>{n.document.isComposing||s.preventDefault(),Xn.isAndroid&&n.document.isComposing&&this._compositionQueue.flush("next beforeinput");const{text:a,selection:l}=s;let c;c=l?Array.from(l.getRanges()).map((t=>i.toModelRange(t))):Array.from(o.getRanges());let d=a;if(Xn.isAndroid){const t=Array.from(c[0].getItems()).reduce(((t,e)=>t+(e.is("$textProxy")?e.data:"")),"");if(t&&(t.length<=d.length?d.startsWith(t)&&(d=d.substring(t.length),c[0].start=c[0].start.getShiftedBy(t.length)):t.startsWith(d)&&(c[0].start=c[0].start.getShiftedBy(d.length),d="")),0==d.length&&c[0].isCollapsed)return}const h={text:d,selection:e.createSelection(c)};Xn.isAndroid&&n.document.isComposing?this._compositionQueue.push(h):(t.execute("insertText",h),n.scrollToTheSelection())})),Xn.isAndroid?this.listenTo(n.document,"keydown",((t,i)=>{!o.isCollapsed&&229==i.keyCode&&n.document.isComposing&&Jb(e,r)})):this.listenTo(n.document,"compositionstart",(()=>{o.isCollapsed||Jb(e,r)})),Xn.isAndroid?(this.listenTo(n.document,"mutations",((t,{mutations:e})=>{if(n.document.isComposing)for(const{node:t}of e){const e=Qb(t,i),n=i.toModelElement(e);if(this._compositionQueue.isComposedElement(n))return void this._compositionQueue.flush("mutations")}})),this.listenTo(n.document,"compositionend",(()=>{this._compositionQueue.flush("composition end")})),this.listenTo(n.document,"compositionend",(()=>{const t=[];for(const e of this._compositionQueue.flushComposedElements()){const n=i.toViewElement(e);n&&t.push({type:"children",node:n})}t.length&&n.document.fire("mutations",{mutations:t})}),{priority:"lowest"})):this.listenTo(n.document,"compositionend",(()=>{n.document.fire("mutations",{mutations:[]})}),{priority:"lowest"})}destroy(){super.destroy(),this._compositionQueue.destroy()}}class Zb{editor;flushDebounced=R((()=>this.flush("timeout")),50);_queue=[];_compositionElements=new Set;constructor(t){this.editor=t}destroy(){for(this.flushDebounced.cancel(),this._compositionElements.clear();this._queue.length;)this.shift()}get length(){return this._queue.length}push(t){const e={text:t.text};if(t.selection){e.selectionRanges=[];for(const n of t.selection.getRanges())e.selectionRanges.push(uc.fromRange(n)),this._compositionElements.add(n.start.parent)}this._queue.push(e),this.flushDebounced()}shift(){const t=this._queue.shift(),e={text:t.text};if(t.selectionRanges){const n=t.selectionRanges.map((t=>function(t){const e=t.toRange();if(t.detach(),"$graveyard"==e.root.rootName)return null;return e}(t))).filter((t=>!!t));n.length&&(e.selection=this.editor.model.createSelection(n))}return e}flush(t){const e=this.editor,n=e.model,i=e.editing.view;if(this.flushDebounced.cancel(),!this._queue.length)return;const o=e.commands.get("insertText").buffer;n.enqueueChange(o.batch,(()=>{for(o.lock();this._queue.length;){const t=this.shift();e.execute("insertText",t)}o.unlock()})),i.scrollToTheSelection()}isComposedElement(t){return this._compositionElements.has(t)}flushComposedElements(){const t=Array.from(this._compositionElements);return this._compositionElements.clear(),t}}function Jb(t,e){if(!e.isEnabled)return;const n=e.buffer;n.lock(),t.enqueueChange(n.batch,(()=>{t.deleteContent(t.document.selection)})),n.unlock()}function Qb(t,e){let n=t.is("$text")?t.parent:t;for(;!e.toModelElement(n);)n=n.parent;return n}class Xb extends Mr{direction;_buffer;constructor(t,e){super(t),this.direction=e,this._buffer=new Wb(t.model,t.config.get("typing.undoStep")),this._isEnabledBasedOnSelection=!1}get buffer(){return this._buffer}execute(t={}){const e=this.editor.model,n=e.document;e.enqueueChange(this._buffer.batch,(i=>{this._buffer.lock();const o=i.createSelection(t.selection||n.selection);if(!e.canEditAt(o))return;const r=t.sequence||1,s=o.isCollapsed;if(o.isCollapsed&&e.modifySelection(o,{direction:this.direction,unit:t.unit,treatEmojiAsSingleUnit:!0}),this._shouldEntireContentBeReplacedWithParagraph(r))return void this._replaceEntireContentWithParagraph(i);if(this._shouldReplaceFirstBlockWithParagraph(o,r))return void this.editor.execute("paragraph",{selection:o});if(o.isCollapsed)return;let a=0;o.getFirstRange().getMinimalFlatRanges().forEach((t=>{a+=Ki(t.getWalker({singleCharacters:!0,ignoreElementEnd:!0,shallow:!0}))})),e.deleteContent(o,{doNotResetEntireContent:s,direction:this.direction}),this._buffer.input(a),i.setSelection(o),this._buffer.unlock()}))}_shouldEntireContentBeReplacedWithParagraph(t){if(t>1)return!1;const e=this.editor.model,n=e.document.selection,i=e.schema.getLimitElement(n);if(!(n.isCollapsed&&n.containsEntireContent(i)))return!1;if(!e.schema.checkChild(i,"paragraph"))return!1;const o=i.getChild(0);return!o||!o.is("element","paragraph")}_replaceEntireContentWithParagraph(t){const e=this.editor.model,n=e.document.selection,i=e.schema.getLimitElement(n),o=t.createElement("paragraph");t.remove(t.createRangeIn(i)),t.insert(o,i),t.setSelection(o,0)}_shouldReplaceFirstBlockWithParagraph(t,e){const n=this.editor.model;if(e>1||"backward"!=this.direction)return!1;if(!t.isCollapsed)return!1;const i=t.getFirstPosition(),o=n.schema.getLimitElement(i),r=o.getChild(0);return i.parent==r&&(!!t.containsEntireContent(r)&&(!!n.schema.checkChild(o,"paragraph")&&"paragraph"!=r.name))}}const tw="word",ew="selection",nw="backward",iw="forward",ow={deleteContent:{unit:ew,direction:nw},deleteContentBackward:{unit:"codePoint",direction:nw},deleteWordBackward:{unit:tw,direction:nw},deleteHardLineBackward:{unit:ew,direction:nw},deleteSoftLineBackward:{unit:ew,direction:nw},deleteContentForward:{unit:"character",direction:iw},deleteWordForward:{unit:tw,direction:iw},deleteHardLineForward:{unit:ew,direction:iw},deleteSoftLineForward:{unit:ew,direction:iw}};class rw extends Xa{constructor(t){super(t);const e=t.document;let n=0;e.on("keydown",(()=>{n++})),e.on("keyup",(()=>{n=0})),e.on("beforeinput",((i,o)=>{if(!this.isEnabled)return;const{targetRanges:r,domEvent:s,inputType:a}=o,l=ow[a];if(!l)return;const c={direction:l.direction,unit:l.unit,sequence:n};c.unit==ew&&(c.selectionToRemove=t.createSelection(r[0])),"deleteContentBackward"===a&&(Xn.isAndroid&&(c.sequence=1),function(t){if(1!=t.length||t[0].isCollapsed)return!1;const e=t[0].getWalker({direction:"backward",singleCharacters:!0,ignoreElementEnd:!0});let n=0;for(const{nextPosition:t,item:i}of e){if(t.parent.is("$text")){const e=t.parent.data,i=t.offset;if(Ir(e,i)||Pr(e,i)||Rr(e,i))continue;n++}else(i.is("containerElement")||i.is("emptyElement"))&&n++;if(n>1)return!0}return!1}(r)&&(c.unit=ew,c.selectionToRemove=t.createSelection(r)));const d=new Xs(e,"delete",r[0]);e.fire(d,new el(t,s,c)),d.stop.called&&i.stop()})),Xn.isBlink&&function(t){const e=t.view,n=e.document;let i=null,o=!1;function r(t){return t==Go.backspace||t==Go.delete}function s(t){return t==Go.backspace?nw:iw}n.on("keydown",((t,{keyCode:e})=>{i=e,o=!1})),n.on("keyup",((a,{keyCode:l,domEvent:c})=>{const d=n.selection,h=t.isEnabled&&l==i&&r(l)&&!d.isCollapsed&&!o;if(i=null,h){const t=d.getFirstRange(),i=new Xs(n,"delete",t),o={unit:ew,direction:s(l),selectionToRemove:d};n.fire(i,new el(e,c,o))}})),n.on("beforeinput",((t,{inputType:e})=>{const n=ow[e];r(i)&&n&&n.direction==s(i)&&(o=!0)}),{priority:"high"}),n.on("beforeinput",((t,{inputType:e,data:n})=>{i==Go.delete&&"insertText"==e&&""==n&&t.stop()}),{priority:"high"})}(this)}observe(){}stopObserving(){}}class sw extends Lr{_undoOnBackspace;static get pluginName(){return"Delete"}init(){const t=this.editor,e=t.editing.view,n=e.document,i=t.model.document;e.addObserver(rw),this._undoOnBackspace=!1;const o=new Xb(t,"forward");t.commands.add("deleteForward",o),t.commands.add("forwardDelete",o),t.commands.add("delete",new Xb(t,"backward")),this.listenTo(n,"delete",((i,o)=>{n.isComposing||o.preventDefault();const{direction:r,sequence:s,selectionToRemove:a,unit:l}=o,c="forward"===r?"deleteForward":"delete",d={sequence:s};if("selection"==l){const e=Array.from(a.getRanges()).map((e=>t.editing.mapper.toModelRange(e)));d.selection=t.model.createSelection(e)}else d.unit=l;t.execute(c,d),e.scrollToTheSelection()}),{priority:"low"}),this.editor.plugins.has("UndoEditing")&&(this.listenTo(n,"delete",((e,n)=>{this._undoOnBackspace&&"backward"==n.direction&&1==n.sequence&&"codePoint"==n.unit&&(this._undoOnBackspace=!1,t.execute("undo"),n.preventDefault(),e.stop())}),{context:"$capture"}),this.listenTo(i,"change",(()=>{this._undoOnBackspace=!1})))}requestUndoOnBackspace(){this.editor.plugins.has("UndoEditing")&&(this._undoOnBackspace=!0)}}class aw extends Lr{static get requires(){return[Yb,sw]}static get pluginName(){return"Typing"}}function lw(t,e){let n=t.start;return{text:Array.from(t.getWalker({ignoreElementEnd:!1})).reduce(((t,{item:i})=>i.is("$text")||i.is("$textProxy")?t+i.data:(n=e.createPositionAfter(i),"")),""),range:e.createRange(n,t.end)}}class cw extends(ji()){model;testCallback;_hasMatch;constructor(t,e){super(),this.model=t,this.testCallback=e,this._hasMatch=!1,this.set("isEnabled",!0),this.on("change:isEnabled",(()=>{this.isEnabled?this._startListening():(this.stopListening(t.document.selection),this.stopListening(t.document))})),this._startListening()}get hasMatch(){return this._hasMatch}_startListening(){const t=this.model.document;this.listenTo(t.selection,"change:range",((e,{directChange:n})=>{n&&(t.selection.isCollapsed?this._evaluateTextBeforeSelection("selection"):this.hasMatch&&(this.fire("unmatched"),this._hasMatch=!1))})),this.listenTo(t,"change:data",((t,e)=>{!e.isUndo&&e.isLocal&&this._evaluateTextBeforeSelection("data",{batch:e})}))}_evaluateTextBeforeSelection(t,e={}){const n=this.model,i=n.document.selection,o=n.createRange(n.createPositionAt(i.focus.parent,0),i.focus),{text:r,range:s}=lw(o,n),a=this.testCallback(r);if(!a&&this.hasMatch&&this.fire("unmatched"),this._hasMatch=!!a,a){const n=Object.assign(e,{text:r,range:s});"object"==typeof a&&Object.assign(n,a),this.fire(`matched:${t}`,n)}}}class dw extends Lr{attributes;_overrideUid;_isNextGravityRestorationSkipped=!1;static get pluginName(){return"TwoStepCaretMovement"}constructor(t){super(t),this.attributes=new Set,this._overrideUid=null}init(){const t=this.editor,e=t.model,n=t.editing.view,i=t.locale,o=e.document.selection;this.listenTo(n.document,"arrowKey",((t,e)=>{if(!o.isCollapsed)return;if(e.shiftKey||e.altKey||e.ctrlKey)return;const n=e.keyCode==Go.arrowright,r=e.keyCode==Go.arrowleft;if(!n&&!r)return;const s=i.contentLanguageDirection;let a=!1;a="ltr"===s&&n||"rtl"===s&&r?this._handleForwardMovement(e):this._handleBackwardMovement(e),!0===a&&t.stop()}),{context:"$text",priority:"highest"}),this.listenTo(o,"change:range",((t,e)=>{this._isNextGravityRestorationSkipped?this._isNextGravityRestorationSkipped=!1:this._isGravityOverridden&&(!e.directChange&&fw(o.getFirstPosition(),this.attributes)||this._restoreGravity())})),this._enableClickingAfterNode(),this._enableInsertContentSelectionAttributesFixer(),this._handleDeleteContentAfterNode()}registerAttribute(t){this.attributes.add(t)}_handleForwardMovement(t){const e=this.attributes,n=this.editor.model,i=n.document.selection,o=i.getFirstPosition();return!this._isGravityOverridden&&((!o.isAtStart||!hw(i,e))&&(!!fw(o,e)&&(gw(t),hw(i,e)&&fw(o,e,!0)?mw(n,e):this._overrideGravity(),!0)))}_handleBackwardMovement(t){const e=this.attributes,n=this.editor.model,i=n.document.selection,o=i.getFirstPosition();return this._isGravityOverridden?(gw(t),this._restoreGravity(),fw(o,e,!0)?mw(n,e):uw(n,e,o),!0):o.isAtStart?!!hw(i,e)&&(gw(t),uw(n,e,o),!0):!hw(i,e)&&fw(o,e,!0)?(gw(t),uw(n,e,o),!0):!!pw(o,e)&&(o.isAtEnd&&!hw(i,e)&&fw(o,e)?(gw(t),uw(n,e,o),!0):(this._isNextGravityRestorationSkipped=!0,this._overrideGravity(),!1))}_enableClickingAfterNode(){const t=this.editor,e=t.model,n=e.document.selection,i=t.editing.view.document;t.editing.view.addObserver(Hh);let o=!1;this.listenTo(i,"mousedown",(()=>{o=!0})),this.listenTo(i,"selectionChange",(()=>{const t=this.attributes;if(!o)return;if(o=!1,!n.isCollapsed)return;if(!hw(n,t))return;const i=n.getFirstPosition();fw(i,t)&&(i.isAtStart||fw(i,t,!0)?mw(e,t):this._isGravityOverridden||this._overrideGravity())}))}_enableInsertContentSelectionAttributesFixer(){const t=this.editor.model,e=t.document.selection,n=this.attributes;this.listenTo(t,"insertContent",(()=>{const i=e.getFirstPosition();hw(e,n)&&fw(i,n)&&mw(t,n)}),{priority:"low"})}_handleDeleteContentAfterNode(){const t=this.editor,e=t.model,n=e.document.selection,i=t.editing.view;let o=!1,r=!1;this.listenTo(i.document,"delete",((t,e)=>{o="backward"===e.direction}),{priority:"high"}),this.listenTo(e,"deleteContent",(()=>{if(!o)return;const t=n.getFirstPosition();r=hw(n,this.attributes)&&!pw(t,this.attributes)}),{priority:"high"}),this.listenTo(e,"deleteContent",(()=>{o&&(o=!1,r||t.model.enqueueChange((()=>{const t=n.getFirstPosition();hw(n,this.attributes)&&fw(t,this.attributes)&&(t.isAtStart||fw(t,this.attributes,!0)?mw(e,this.attributes):this._isGravityOverridden||this._overrideGravity())})))}),{priority:"low"})}get _isGravityOverridden(){return!!this._overrideUid}_overrideGravity(){this._overrideUid=this.editor.model.change((t=>t.overrideSelectionGravity()))}_restoreGravity(){this.editor.model.change((t=>{t.restoreSelectionGravity(this._overrideUid),this._overrideUid=null}))}}function hw(t,e){for(const n of e)if(t.hasAttribute(n))return!0;return!1}function uw(t,e,n){const i=n.nodeBefore;t.change((n=>{if(i){const e=[],o=t.schema.isObject(i)&&t.schema.isInline(i);for(const[n,r]of i.getAttributes())!t.schema.checkAttribute("$text",n)||o&&!1===t.schema.getAttributeProperties(n).copyFromObject||e.push([n,r]);n.setSelectionAttribute(e)}else n.removeSelectionAttribute(e)}))}function mw(t,e){t.change((t=>{t.removeSelectionAttribute(e)}))}function gw(t){t.preventDefault()}function pw(t,e){return fw(t.getShiftedBy(-1),e)}function fw(t,e,n=!1){const{nodeBefore:i,nodeAfter:o}=t;for(const t of e){const e=i?i.getAttribute(t):void 0,r=o?o.getAttribute(t):void 0;if((!n||void 0!==e&&void 0!==r)&&r!==e)return!0}return!1}const kw={copyright:{from:"(c)",to:"©"},registeredTrademark:{from:"(r)",to:"®"},trademark:{from:"(tm)",to:"™"},oneHalf:{from:/(^|[^/a-z0-9])(1\/2)([^/a-z0-9])$/i,to:[null,"½",null]},oneThird:{from:/(^|[^/a-z0-9])(1\/3)([^/a-z0-9])$/i,to:[null,"⅓",null]},twoThirds:{from:/(^|[^/a-z0-9])(2\/3)([^/a-z0-9])$/i,to:[null,"⅔",null]},oneForth:{from:/(^|[^/a-z0-9])(1\/4)([^/a-z0-9])$/i,to:[null,"¼",null]},threeQuarters:{from:/(^|[^/a-z0-9])(3\/4)([^/a-z0-9])$/i,to:[null,"¾",null]},lessThanOrEqual:{from:"<=",to:"≤"},greaterThanOrEqual:{from:">=",to:"≥"},notEqual:{from:"!=",to:"≠"},arrowLeft:{from:"<-",to:"←"},arrowRight:{from:"->",to:"→"},horizontalEllipsis:{from:"...",to:"…"},enDash:{from:/(^| )(--)( )$/,to:[null,"–",null]},emDash:{from:/(^| )(---)( )$/,to:[null,"—",null]},quotesPrimary:{from:vw('"'),to:[null,"“",null,"”"]},quotesSecondary:{from:vw("'"),to:[null,"‘",null,"’"]},quotesPrimaryEnGb:{from:vw("'"),to:[null,"‘",null,"’"]},quotesSecondaryEnGb:{from:vw('"'),to:[null,"“",null,"”"]},quotesPrimaryPl:{from:vw('"'),to:[null,"„",null,"”"]},quotesSecondaryPl:{from:vw("'"),to:[null,"‚",null,"’"]}},bw={symbols:["copyright","registeredTrademark","trademark"],mathematical:["oneHalf","oneThird","twoThirds","oneForth","threeQuarters","lessThanOrEqual","greaterThanOrEqual","notEqual","arrowLeft","arrowRight"],typography:["horizontalEllipsis","enDash","emDash"],quotes:["quotesPrimary","quotesSecondary"]},ww=["symbols","mathematical","typography","quotes"];function Aw(t){return"string"==typeof t?new RegExp(`(${Ik(t)})$`):t}function _w(t){return"string"==typeof t?()=>[t]:t instanceof Array?()=>t:t}function Cw(t){return(t.textNode?t.textNode:t.nodeAfter).getAttributes()}function vw(t){return new RegExp(`(^|\\s)(${t})([^${t}]*)(${t})$`)}function yw(t,e,n,i){return i.createRange(xw(t,e,n,!0,i),xw(t,e,n,!1,i))}function xw(t,e,n,i,o){let r=t.textNode||(i?t.nodeBefore:t.nodeAfter),s=null;for(;r&&r.getAttribute(e)==n;)s=r,r=i?r.previousSibling:r.nextSibling;return s?o.createPositionAt(s,i?"before":"after"):t}function Ew(t,e,n,i){const o=t.editing.view,r=new Set;o.document.registerPostFixer((o=>{const s=t.model.document.selection;let a=!1;if(s.hasAttribute(e)){const l=yw(s.getFirstPosition(),e,s.getAttribute(e),t.model),c=t.editing.mapper.toViewRange(l);for(const t of c.getItems())t.is("element",n)&&!t.hasClass(i)&&(o.addClass(i,t),r.add(t),a=!0)}return a})),t.conversion.for("editingDowncast").add((t=>{function e(){o.change((t=>{for(const e of r.values())t.removeClass(i,e),r.delete(e)}))}t.on("insert",e,{priority:"highest"}),t.on("remove",e,{priority:"highest"}),t.on("attribute",e,{priority:"highest"}),t.on("selection",e,{priority:"highest"})}))}function Bw(t,e,n,i){let o,r=null;"function"==typeof i?o=i:(r=t.commands.get(i),o=()=>{t.execute(i)}),t.model.document.on("change:data",((s,a)=>{if(r&&!r.isEnabled||!e.isEnabled)return;const l=Er(t.model.document.selection.getRanges());if(!l.isCollapsed)return;if(a.isUndo||!a.isLocal)return;const c=Array.from(t.model.document.differ.getChanges()),d=c[0];if(1!=c.length||"insert"!==d.type||"$text"!=d.name||1!=d.length)return;const h=d.position.parent;if(h.is("element","codeBlock"))return;if(h.is("element","listItem")&&"function"!=typeof i&&!["numberedList","bulletedList","todoList"].includes(i))return;if(r&&!0===r.value)return;const u=h.getChild(0),m=t.model.createRangeOn(u);if(!m.containsRange(l)&&!l.end.isEqual(m.end))return;const g=n.exec(u.data.substr(0,l.end.offset));g&&t.model.enqueueChange((e=>{const n=e.createPositionAt(h,0),i=e.createPositionAt(h,g[0].length),r=new uc(n,i);if(!1!==o({match:g})){e.remove(r);const n=t.model.document.selection.getFirstRange(),i=e.createRangeIn(h);!h.isEmpty||i.isEqual(n)||i.containsRange(n,!0)||e.remove(h)}r.detach(),t.model.enqueueChange((()=>{t.plugins.get("Delete").requestUndoOnBackspace()}))}))}))}function Dw(t,e,n,i){let o,r;n instanceof RegExp?o=n:r=n,r=r||(t=>{let e;const n=[],i=[];for(;null!==(e=o.exec(t))&&!(e&&e.length<4);){let{index:t,1:o,2:r,3:s}=e;const a=o+r+s;t+=e[0].length-a.length;const l=[t,t+o.length],c=[t+o.length+r.length,t+o.length+r.length+s.length];n.push(l),n.push(c),i.push([t+o.length,t+o.length+r.length])}return{remove:n,format:i}}),t.model.document.on("change:data",((n,o)=>{if(o.isUndo||!o.isLocal||!e.isEnabled)return;const s=t.model,a=s.document.selection;if(!a.isCollapsed)return;const l=Array.from(s.document.differ.getChanges()),c=l[0];if(1!=l.length||"insert"!==c.type||"$text"!=c.name||1!=c.length)return;const d=a.focus,h=d.parent,{text:u,range:m}=function(t,e){let n=t.start;const i=Array.from(t.getItems()).reduce(((t,i)=>!i.is("$text")&&!i.is("$textProxy")||i.getAttribute("code")?(n=e.createPositionAfter(i),""):t+i.data),"");return{text:i,range:e.createRange(n,t.end)}}(s.createRange(s.createPositionAt(h,0),d),s),g=r(u),p=Sw(m.start,g.format,s),f=Sw(m.start,g.remove,s);p.length&&f.length&&s.enqueueChange((e=>{if(!1!==i(e,p)){for(const t of f.reverse())e.remove(t);s.enqueueChange((()=>{t.plugins.get("Delete").requestUndoOnBackspace()}))}}))}))}function Sw(t,e,n){return e.filter((t=>void 0!==t[0]&&void 0!==t[1])).map((e=>n.createRange(t.getShiftedBy(e[0]),t.getShiftedBy(e[1]))))}class Tw extends Lr{static get requires(){return[sw]}static get pluginName(){return"Autoformat"}afterInit(){const t=this.editor,e=this.editor.t;this._addListAutoformats(),this._addBasicStylesAutoformats(),this._addHeadingAutoformats(),this._addBlockQuoteAutoformats(),this._addCodeBlockAutoformats(),this._addHorizontalLineAutoformats(),t.accessibility.addKeystrokeInfos({keystrokes:[{label:e("Revert autoformatting action"),keystroke:"Backspace"}]})}_addListAutoformats(){const t=this.editor.commands;t.get("bulletedList")&&Bw(this.editor,this,/^[*-]\s$/,"bulletedList"),t.get("numberedList")&&Bw(this.editor,this,/^1[.|)]\s$/,"numberedList"),t.get("todoList")&&Bw(this.editor,this,/^\[\s?\]\s$/,"todoList"),t.get("checkTodoList")&&Bw(this.editor,this,/^\[\s?x\s?\]\s$/,(()=>{this.editor.execute("todoList"),this.editor.execute("checkTodoList")}))}_addBasicStylesAutoformats(){const t=this.editor.commands;if(t.get("bold")){const t=Iw(this.editor,"bold");Dw(this.editor,this,/(?:^|\s)(\*\*)([^*]+)(\*\*)$/g,t),Dw(this.editor,this,/(?:^|\s)(__)([^_]+)(__)$/g,t)}if(t.get("italic")){const t=Iw(this.editor,"italic");Dw(this.editor,this,/(?:^|\s)(\*)([^*_]+)(\*)$/g,t),Dw(this.editor,this,/(?:^|\s)(_)([^_]+)(_)$/g,t)}if(t.get("code")){const t=Iw(this.editor,"code");Dw(this.editor,this,/(`)([^`]+)(`)$/g,t)}if(t.get("strikethrough")){const t=Iw(this.editor,"strikethrough");Dw(this.editor,this,/(~~)([^~]+)(~~)$/g,t)}}_addHeadingAutoformats(){const t=this.editor.commands.get("heading");t&&t.modelElements.filter((t=>t.match(/^heading[1-6]$/))).forEach((e=>{const n=e[7],i=new RegExp(`^(#{${n}})\\s$`);Bw(this.editor,this,i,(()=>{if(!t.isEnabled||t.value===e)return!1;this.editor.execute("heading",{value:e})}))}))}_addBlockQuoteAutoformats(){this.editor.commands.get("blockQuote")&&Bw(this.editor,this,/^>\s$/,"blockQuote")}_addCodeBlockAutoformats(){const t=this.editor,e=t.model.document.selection;t.commands.get("codeBlock")&&Bw(t,this,/^```$/,(()=>{if(e.getFirstPosition().parent.is("element","listItem"))return!1;this.editor.execute("codeBlock",{usePreviousLanguageChoice:!0})}))}_addHorizontalLineAutoformats(){this.editor.commands.get("horizontalLine")&&Bw(this.editor,this,/^---$/,"horizontalLine")}}function Iw(t,e){return(n,i)=>{if(!t.commands.get(e).isEnabled)return!1;const o=t.model.schema.getValidRanges(i,e);for(const t of o)n.setAttribute(e,!0,t);n.removeSelectionAttribute(e)}}class Pw extends Mr{attributeKey;constructor(t,e){super(t),this.attributeKey=e}refresh(){const t=this.editor.model,e=t.document;this.value=this._getValueFromFirstAllowedNode(),this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model,n=e.document.selection,i=void 0===t.forceValue?!this.value:t.forceValue;e.change((t=>{if(n.isCollapsed)i?t.setSelectionAttribute(this.attributeKey,!0):t.removeSelectionAttribute(this.attributeKey);else{const o=e.schema.getValidRanges(n.getRanges(),this.attributeKey);for(const e of o)i?t.setAttribute(this.attributeKey,i,e):t.removeAttribute(this.attributeKey,e)}}))}_getValueFromFirstAllowedNode(){const t=this.editor.model,e=t.schema,n=t.document.selection;if(n.isCollapsed)return n.hasAttribute(this.attributeKey);for(const t of n.getRanges())for(const n of t.getItems())if(e.checkAttribute(n,this.attributeKey))return n.hasAttribute(this.attributeKey);return!1}}const Fw="bold";class Rw extends Lr{static get pluginName(){return"BoldEditing"}init(){const t=this.editor,e=this.editor.t;t.model.schema.extend("$text",{allowAttributes:Fw}),t.model.schema.setAttributeProperties(Fw,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:Fw,view:"strong",upcastAlso:["b",t=>{const e=t.getStyle("font-weight");return e&&("bold"==e||Number(e)>=600)?{name:!0,styles:["font-weight"]}:null}]}),t.commands.add(Fw,new Pw(t,Fw)),t.keystrokes.set("CTRL+B",Fw),t.accessibility.addKeystrokeInfos({keystrokes:[{label:e("Bold text"),keystroke:"CTRL+B"}]})}}function Vw({editor:t,commandName:e,plugin:n,icon:i,label:o,keystroke:r}){return s=>{const a=t.commands.get(e),l=new s(t.locale);return l.set({label:o,icon:i,keystroke:r,isToggleable:!0}),l.bind("isEnabled").to(a,"isEnabled"),l.bind("isOn").to(a,"value"),l instanceof Zm?l.set({role:"menuitemcheckbox"}):l.set({tooltip:!0}),n.listenTo(l,"execute",(()=>{t.execute(e),t.editing.view.focus()})),l}}const Lw="bold";class zw extends Lr{static get pluginName(){return"BoldUI"}init(){const t=this.editor,e=t.locale.t,n=Vw({editor:t,commandName:Lw,plugin:this,icon:zu.bold,label:e("Bold"),keystroke:"CTRL+B"});t.ui.componentFactory.add(Lw,(()=>n(wm))),t.ui.componentFactory.add("menuBar:"+Lw,(()=>n(Zm)))}}const Mw="code";class Ow extends Lr{static get pluginName(){return"CodeEditing"}static get requires(){return[dw]}init(){const t=this.editor,e=this.editor.t;t.model.schema.extend("$text",{allowAttributes:Mw}),t.model.schema.setAttributeProperties(Mw,{isFormatting:!0,copyOnEnter:!1}),t.conversion.attributeToElement({model:Mw,view:"code",upcastAlso:{styles:{"word-wrap":"break-word"}}}),t.commands.add(Mw,new Pw(t,Mw)),t.plugins.get(dw).registerAttribute(Mw),Ew(t,Mw,"code","ck-code_selected"),t.accessibility.addKeystrokeInfos({keystrokes:[{label:e("Move out of an inline code style"),keystroke:[["arrowleft","arrowleft"],["arrowright","arrowright"]]}]})}}var Nw=n(4199),Hw={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Nw.A,Hw);Nw.A.locals;const jw="code";class qw extends Lr{static get pluginName(){return"CodeUI"}init(){const t=this.editor,e=t.locale.t,n=Vw({editor:t,commandName:jw,plugin:this,icon:'',label:e("Code")});t.ui.componentFactory.add(jw,(()=>n(wm))),t.ui.componentFactory.add("menuBar:"+jw,(()=>n(Zm)))}}const Ww="italic";class Uw extends Lr{static get pluginName(){return"ItalicEditing"}init(){const t=this.editor,e=this.editor.t;t.model.schema.extend("$text",{allowAttributes:Ww}),t.model.schema.setAttributeProperties(Ww,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:Ww,view:"i",upcastAlso:["em",{styles:{"font-style":"italic"}}]}),t.commands.add(Ww,new Pw(t,Ww)),t.keystrokes.set("CTRL+I",Ww),t.accessibility.addKeystrokeInfos({keystrokes:[{label:e("Italic text"),keystroke:"CTRL+I"}]})}}const $w="italic";class Gw extends Lr{static get pluginName(){return"ItalicUI"}init(){const t=this.editor,e=t.locale.t,n=Vw({editor:t,commandName:$w,plugin:this,icon:'',keystroke:"CTRL+I",label:e("Italic")});t.ui.componentFactory.add($w,(()=>n(wm))),t.ui.componentFactory.add("menuBar:"+$w,(()=>n(Zm)))}}const Kw="strikethrough";class Yw extends Lr{static get pluginName(){return"StrikethroughEditing"}init(){const t=this.editor,e=this.editor.t;t.model.schema.extend("$text",{allowAttributes:Kw}),t.model.schema.setAttributeProperties(Kw,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:Kw,view:"s",upcastAlso:["del","strike",{styles:{"text-decoration":"line-through"}}]}),t.commands.add(Kw,new Pw(t,Kw)),t.keystrokes.set("CTRL+SHIFT+X","strikethrough"),t.accessibility.addKeystrokeInfos({keystrokes:[{label:e("Strikethrough text"),keystroke:"CTRL+SHIFT+X"}]})}}const Zw="strikethrough";class Jw extends Lr{static get pluginName(){return"StrikethroughUI"}init(){const t=this.editor,e=t.locale.t,n=Vw({editor:t,commandName:Zw,plugin:this,icon:'',keystroke:"CTRL+SHIFT+X",label:e("Strikethrough")});t.ui.componentFactory.add(Zw,(()=>n(wm))),t.ui.componentFactory.add("menuBar:"+Zw,(()=>n(Zm)))}}const Qw="subscript";class Xw extends Lr{static get pluginName(){return"SubscriptEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:Qw}),t.model.schema.setAttributeProperties(Qw,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:Qw,view:"sub",upcastAlso:[{styles:{"vertical-align":"sub"}}]}),t.commands.add(Qw,new Pw(t,Qw))}}const tA="subscript";class eA extends Lr{static get pluginName(){return"SubscriptUI"}init(){const t=this.editor,e=t.locale.t,n=Vw({editor:t,commandName:tA,plugin:this,icon:'',label:e("Subscript")});t.ui.componentFactory.add(tA,(()=>n(wm))),t.ui.componentFactory.add("menuBar:"+tA,(()=>n(Zm)))}}const nA="superscript";class iA extends Lr{static get pluginName(){return"SuperscriptEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:nA}),t.model.schema.setAttributeProperties(nA,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:nA,view:"sup",upcastAlso:[{styles:{"vertical-align":"super"}}]}),t.commands.add(nA,new Pw(t,nA))}}const oA="superscript";class rA extends Lr{static get pluginName(){return"SuperscriptUI"}init(){const t=this.editor,e=t.locale.t,n=Vw({editor:t,commandName:oA,plugin:this,icon:'',label:e("Superscript")});t.ui.componentFactory.add(oA,(()=>n(wm))),t.ui.componentFactory.add("menuBar:"+oA,(()=>n(Zm)))}}const sA="underline";class aA extends Lr{static get pluginName(){return"UnderlineEditing"}init(){const t=this.editor,e=this.editor.t;t.model.schema.extend("$text",{allowAttributes:sA}),t.model.schema.setAttributeProperties(sA,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:sA,view:"u",upcastAlso:{styles:{"text-decoration":"underline"}}}),t.commands.add(sA,new Pw(t,sA)),t.keystrokes.set("CTRL+U","underline"),t.accessibility.addKeystrokeInfos({keystrokes:[{label:e("Underline text"),keystroke:"CTRL+U"}]})}}const lA="underline";class cA extends Lr{static get pluginName(){return"UnderlineUI"}init(){const t=this.editor,e=t.locale.t,n=Vw({editor:t,commandName:lA,plugin:this,icon:'',label:e("Underline"),keystroke:"CTRL+U"});t.ui.componentFactory.add(lA,(()=>n(wm))),t.ui.componentFactory.add("menuBar:"+lA,(()=>n(Zm)))}}function*dA(t,e){for(const n of e)n&&t.getAttributeProperties(n[0]).copyOnEnter&&(yield n)}class hA extends Mr{execute(){this.editor.model.change((t=>{this.enterBlock(t),this.fire("afterExecute",{writer:t})}))}enterBlock(t){const e=this.editor.model,n=e.document.selection,i=e.schema,o=n.isCollapsed,r=n.getFirstRange(),s=r.start.parent,a=r.end.parent;if(i.isLimit(s)||i.isLimit(a))return o||s!=a||e.deleteContent(n),!1;if(o){const e=dA(t.model.schema,n.getAttributes());return uA(t,r.start),t.setSelectionAttribute(e),!0}{const i=!(r.start.isAtStart&&r.end.isAtEnd),o=s==a;if(e.deleteContent(n,{leaveUnmerged:i}),i){if(o)return uA(t,n.focus),!0;t.setSelection(a,0)}}return!1}}function uA(t,e){t.split(e),t.setSelection(e.parent.nextSibling,0)}const mA={insertParagraph:{isSoft:!1},insertLineBreak:{isSoft:!0}};class gA extends Xa{constructor(t){super(t);const e=this.document;let n=!1;e.on("keydown",((t,e)=>{n=e.shiftKey})),e.on("beforeinput",((i,o)=>{if(!this.isEnabled)return;let r=o.inputType;Xn.isSafari&&n&&"insertParagraph"==r&&(r="insertLineBreak");const s=o.domEvent,a=mA[r];if(!a)return;const l=new Xs(e,"enter",o.targetRanges[0]);e.fire(l,new el(t,s,{isSoft:a.isSoft})),l.stop.called&&i.stop()}))}observe(){}stopObserving(){}}class pA extends Lr{static get pluginName(){return"Enter"}init(){const t=this.editor,e=t.editing.view,n=e.document,i=this.editor.t;e.addObserver(gA),t.commands.add("enter",new hA(t)),this.listenTo(n,"enter",((i,o)=>{n.isComposing||o.preventDefault(),o.isSoft||(t.execute("enter"),e.scrollToTheSelection())}),{priority:"low"}),t.accessibility.addKeystrokeInfos({keystrokes:[{label:i("Insert a hard break (a new paragraph)"),keystroke:"Enter"}]})}}class fA extends Mr{execute(){const t=this.editor.model,e=t.document;t.change((n=>{!function(t,e,n){const i=n.isCollapsed,o=n.getFirstRange(),r=o.start.parent,s=o.end.parent,a=r==s;if(i){const i=dA(t.schema,n.getAttributes());kA(t,e,o.end),e.removeSelectionAttribute(n.getAttributeKeys()),e.setSelectionAttribute(i)}else{const i=!(o.start.isAtStart&&o.end.isAtEnd);t.deleteContent(n,{leaveUnmerged:i}),a?kA(t,e,n.focus):i&&e.setSelection(s,0)}}(t,n,e.selection),this.fire("afterExecute",{writer:n})}))}refresh(){const t=this.editor.model,e=t.document;this.isEnabled=function(t,e){if(e.rangeCount>1)return!1;const n=e.anchor;if(!n||!t.checkChild(n,"softBreak"))return!1;const i=e.getFirstRange(),o=i.start.parent,r=i.end.parent;if((bA(o,t)||bA(r,t))&&o!==r)return!1;return!0}(t.schema,e.selection)}}function kA(t,e,n){const i=e.createElement("softBreak");t.insertContent(i,n),e.setSelection(i,"after")}function bA(t,e){return!t.is("rootElement")&&(e.isLimit(t)||bA(t.parent,e))}class wA extends Lr{static get pluginName(){return"ShiftEnter"}init(){const t=this.editor,e=t.model.schema,n=t.conversion,i=t.editing.view,o=i.document,r=this.editor.t;e.register("softBreak",{allowWhere:"$text",isInline:!0}),n.for("upcast").elementToElement({model:"softBreak",view:"br"}),n.for("downcast").elementToElement({model:"softBreak",view:(t,{writer:e})=>e.createEmptyElement("br")}),i.addObserver(gA),t.commands.add("shiftEnter",new fA(t)),this.listenTo(o,"enter",((e,n)=>{o.isComposing||n.preventDefault(),n.isSoft&&(t.execute("shiftEnter"),i.scrollToTheSelection())}),{priority:"low"}),t.accessibility.addKeystrokeInfos({keystrokes:[{label:r("Insert a soft break (a <br> element)"),keystroke:"Shift+Enter"}]})}}class AA extends Mr{refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,n=e.schema,i=e.document.selection,o=Array.from(i.getSelectedBlocks()),r=void 0===t.forceValue?!this.value:t.forceValue;e.change((t=>{if(r){const e=o.filter((t=>_A(t)||vA(n,t)));this._applyQuote(t,e)}else this._removeQuote(t,o.filter(_A))}))}_getValue(){const t=Er(this.editor.model.document.selection.getSelectedBlocks());return!(!t||!_A(t))}_checkEnabled(){if(this.value)return!0;const t=this.editor.model.document.selection,e=this.editor.model.schema,n=Er(t.getSelectedBlocks());return!!n&&vA(e,n)}_removeQuote(t,e){CA(t,e).reverse().forEach((e=>{if(e.start.isAtStart&&e.end.isAtEnd)return void t.unwrap(e.start.parent);if(e.start.isAtStart){const n=t.createPositionBefore(e.start.parent);return void t.move(e,n)}e.end.isAtEnd||t.split(e.end);const n=t.createPositionAfter(e.end.parent);t.move(e,n)}))}_applyQuote(t,e){const n=[];CA(t,e).reverse().forEach((e=>{let i=_A(e.start);i||(i=t.createElement("blockQuote"),t.wrap(e,i)),n.push(i)})),n.reverse().reduce(((e,n)=>e.nextSibling==n?(t.merge(t.createPositionAfter(e)),e):n))}}function _A(t){return"blockQuote"==t.parent.name?t.parent:null}function CA(t,e){let n,i=0;const o=[];for(;i{const i=t.model.document.differ.getChanges();for(const t of i)if("insert"==t.type){const i=t.position.nodeAfter;if(!i)continue;if(i.is("element","blockQuote")&&i.isEmpty)return n.remove(i),!0;if(i.is("element","blockQuote")&&!e.checkChild(t.position,i))return n.unwrap(i),!0;if(i.is("element")){const t=n.createRangeIn(i);for(const i of t.getItems())if(i.is("element","blockQuote")&&!e.checkChild(n.createPositionBefore(i),i))return n.unwrap(i),!0}}else if("remove"==t.type){const e=t.position.parent;if(e.is("element","blockQuote")&&e.isEmpty)return n.remove(e),!0}return!1}));const n=this.editor.editing.view.document,i=t.model.document.selection,o=t.commands.get("blockQuote");this.listenTo(n,"enter",((e,n)=>{if(!i.isCollapsed||!o.value)return;i.getLastPosition().parent.isEmpty&&(t.execute("blockQuote"),t.editing.view.scrollToTheSelection(),n.preventDefault(),e.stop())}),{context:"blockquote"}),this.listenTo(n,"delete",((e,n)=>{if("backward"!=n.direction||!i.isCollapsed||!o.value)return;const r=i.getLastPosition().parent;r.isEmpty&&!r.previousSibling&&(t.execute("blockQuote"),t.editing.view.scrollToTheSelection(),n.preventDefault(),e.stop())}),{context:"blockquote"})}}var xA=n(8708),EA={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(xA.A,EA);xA.A.locals;class BA extends Lr{static get pluginName(){return"BlockQuoteUI"}init(){const t=this.editor;t.ui.componentFactory.add("blockQuote",(()=>{const t=this._createButton(wm);return t.set({tooltip:!0}),t})),t.ui.componentFactory.add("menuBar:blockQuote",(()=>{const t=this._createButton(Zm);return t.set({role:"menuitemcheckbox"}),t}))}_createButton(t){const e=this.editor,n=e.locale,i=e.commands.get("blockQuote"),o=new t(e.locale),r=n.t;return o.set({label:r("Block quote"),icon:zu.quote,isToggleable:!0}),o.bind("isEnabled").to(i,"isEnabled"),o.bind("isOn").to(i,"value"),this.listenTo(o,"execute",(()=>{e.execute("blockQuote"),e.editing.view.focus()})),o}}class DA extends Mr{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}refresh(){const t=this.editor.model,e=Er(t.document.selection.getSelectedBlocks());this.value=!!e&&e.is("element","paragraph"),this.isEnabled=!!e&&SA(e,t.schema)}execute(t={}){const e=this.editor.model,n=e.document,i=t.selection||n.selection;e.canEditAt(i)&&e.change((t=>{const n=i.getSelectedBlocks();for(const i of n)!i.is("element","paragraph")&&SA(i,e.schema)&&t.rename(i,"paragraph")}))}}function SA(t,e){return e.checkChild(t.parent,"paragraph")&&!e.isObject(t)}class TA extends Mr{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}execute(t){const e=this.editor.model,n=t.attributes;let i=t.position;e.canEditAt(i)&&e.change((t=>{if(i=this._findPositionToInsertParagraph(i,t),!i)return;const o=t.createElement("paragraph");n&&e.schema.setAllowedAttributes(o,n,t),e.insertContent(o,i),t.setSelection(o,"in")}))}_findPositionToInsertParagraph(t,e){const n=this.editor.model;if(n.schema.checkChild(t,"paragraph"))return t;const i=n.schema.findAllowedParent(t,"paragraph");if(!i)return null;const o=t.parent,r=n.schema.checkChild(o,"$text");return o.isEmpty||r&&t.isAtEnd?n.createPositionAfter(o):!o.isEmpty&&r&&t.isAtStart?n.createPositionBefore(o):e.split(t,i).position}}class IA extends Lr{static get pluginName(){return"Paragraph"}init(){const t=this.editor,e=t.model;t.commands.add("paragraph",new DA(t)),t.commands.add("insertParagraph",new TA(t)),e.schema.register("paragraph",{inheritAllFrom:"$block"}),t.conversion.elementToElement({model:"paragraph",view:"p"}),t.conversion.for("upcast").elementToElement({model:(t,{writer:e})=>IA.paragraphLikeElements.has(t.name)?t.isEmpty?null:e.createElement("paragraph"):null,view:/.+/,converterPriority:"low"})}static paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"])}class PA extends Mr{modelElements;constructor(t,e){super(t),this.modelElements=e}refresh(){const t=Er(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name,this.isEnabled=!!t&&this.modelElements.some((e=>FA(t,e,this.editor.model.schema)))}execute(t){const e=this.editor.model,n=e.document,i=t.value;e.change((t=>{const o=Array.from(n.selection.getSelectedBlocks()).filter((t=>FA(t,i,e.schema)));for(const e of o)e.is("element",i)||t.rename(e,i)}))}}function FA(t,e,n){return n.checkChild(t.parent,e)&&!n.isObject(t)}const RA="paragraph";class VA extends Lr{static get pluginName(){return"HeadingEditing"}constructor(t){super(t),t.config.define("heading",{options:[{model:"paragraph",title:"Paragraph",class:"ck-heading_paragraph"},{model:"heading1",view:"h2",title:"Heading 1",class:"ck-heading_heading1"},{model:"heading2",view:"h3",title:"Heading 2",class:"ck-heading_heading2"},{model:"heading3",view:"h4",title:"Heading 3",class:"ck-heading_heading3"}]})}static get requires(){return[IA]}init(){const t=this.editor,e=t.config.get("heading.options"),n=[];for(const i of e)"paragraph"!==i.model&&(t.model.schema.register(i.model,{inheritAllFrom:"$block"}),t.conversion.elementToElement(i),n.push(i.model));this._addDefaultH1Conversion(t),t.commands.add("heading",new PA(t,n))}afterInit(){const t=this.editor,e=t.commands.get("enter"),n=t.config.get("heading.options");e&&this.listenTo(e,"afterExecute",((e,i)=>{const o=t.model.document.selection.getFirstPosition().parent;n.some((t=>o.is("element",t.model)))&&!o.is("element",RA)&&0===o.childCount&&i.writer.rename(o,RA)}))}_addDefaultH1Conversion(t){t.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:fi.low+1})}}function LA(t){const e=t.t,n={Paragraph:e("Paragraph"),"Heading 1":e("Heading 1"),"Heading 2":e("Heading 2"),"Heading 3":e("Heading 3"),"Heading 4":e("Heading 4"),"Heading 5":e("Heading 5"),"Heading 6":e("Heading 6")};return t.config.get("heading.options").map((t=>{const e=n[t.title];return e&&e!=t.title&&(t.title=e),t}))}var zA=n(6269),MA={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(zA.A,MA);zA.A.locals;class OA extends Lr{static get pluginName(){return"HeadingUI"}init(){const t=this.editor,e=t.t,n=LA(t),i=e("Choose heading"),o=e("Heading");t.ui.componentFactory.add("heading",(e=>{const r={},s=new xr,a=t.commands.get("heading"),l=t.commands.get("paragraph"),c=[a];for(const t of n){const e={type:"button",model:new bk({label:t.title,class:t.class,role:"menuitemradio",withText:!0})};"paragraph"===t.model?(e.model.bind("isOn").to(l,"value"),e.model.set("commandName","paragraph"),c.push(l)):(e.model.bind("isOn").to(a,"value",(e=>e===t.model)),e.model.set({commandName:"heading",commandValue:t.model})),s.add(e),r[t.model]=t.title}const d=Dp(e);return Ip(d,s,{ariaLabel:o,role:"menu"}),d.buttonView.set({ariaLabel:o,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:o}),d.extendTemplate({attributes:{class:["ck-heading-dropdown"]}}),d.bind("isEnabled").toMany(c,"isEnabled",((...t)=>t.some((t=>t)))),d.buttonView.bind("label").to(a,"value",l,"value",((t,e)=>{const n=e?"paragraph":t;return"boolean"==typeof n?i:r[n]?r[n]:i})),d.buttonView.bind("ariaLabel").to(a,"value",l,"value",((t,e)=>{const n=e?"paragraph":t;return"boolean"==typeof n?o:r[n]?`${r[n]}, ${o}`:o})),this.listenTo(d,"execute",(e=>{const{commandName:n,commandValue:i}=e.source;t.execute(n,i?{value:i}:void 0),t.editing.view.focus()})),d})),t.ui.componentFactory.add("menuBar:heading",(i=>{const o=new ob(i),r=t.commands.get("heading"),s=t.commands.get("paragraph"),a=[r],l=new rb(i);o.set({class:"ck-heading-dropdown"}),l.set({ariaLabel:e("Heading"),role:"menu"}),o.buttonView.set({label:e("Heading")}),o.panelView.children.add(l);for(const e of n){const n=new Kf(i,o),c=new Zm(i);n.children.add(c),l.items.add(n),c.set({isToggleable:!0,label:e.title,role:"menuitemradio",class:e.class}),c.delegate("execute").to(o),c.on("execute",(()=>{const n="paragraph"===e.model?"paragraph":"heading";t.execute(n,{value:e.model}),t.editing.view.focus()})),"paragraph"===e.model?(c.bind("isOn").to(s,"value"),a.push(s)):c.bind("isOn").to(r,"value",(t=>t===e.model))}return o.bind("isEnabled").toMany(a,"isEnabled",((...t)=>t.some((t=>t)))),o}))}}const NA=(()=>({heading1:zu.heading1,heading2:zu.heading2,heading3:zu.heading3,heading4:zu.heading4,heading5:zu.heading5,heading6:zu.heading6}))();class HA extends nl{domEventType=["paste","copy","cut","drop","dragover","dragstart","dragend","dragenter","dragleave"];constructor(t){super(t);const e=this.document;function n(t){return(n,i)=>{i.preventDefault();const o=i.dropRange?[i.dropRange]:null,r=new mi(e,t);e.fire(r,{dataTransfer:i.dataTransfer,method:n.name,targetRanges:o,target:i.target,domEvent:i.domEvent}),r.stop.called&&i.stopPropagation()}}this.listenTo(e,"paste",n("clipboardInput"),{priority:"low"}),this.listenTo(e,"drop",n("clipboardInput"),{priority:"low"}),this.listenTo(e,"dragover",n("dragging"),{priority:"low"})}onDomEvent(t){const e="clipboardData"in t?t.clipboardData:t.dataTransfer,n="drop"==t.type||"paste"==t.type,i={dataTransfer:new Il(e,{cacheFiles:n})};if("drop"==t.type||"dragover"==t.type){const e=uo(t);i.dropRange=e&&this.view.domConverter.domRangeToView(e)}this.fire(t.type,t,i)}}const jA=["figcaption","li"],qA=["ol","ul"];function WA(t){if(t.is("$text")||t.is("$textProxy"))return t.data;if(t.is("element","img")&&t.hasAttribute("alt"))return t.getAttribute("alt");if(t.is("element","br"))return"\n";let e="",n=null;for(const i of t.getChildren())e+=UA(i,n)+WA(i),n=i;return e}function UA(t,e){return e?t.is("element","li")&&!t.isEmpty&&t.getChild(0).is("containerElement")||qA.includes(t.name)&&qA.includes(e.name)?"\n\n":t.is("containerElement")||e.is("containerElement")?jA.includes(t.name)||jA.includes(e.name)?"\n":t.is("element")&&t.getCustomProperty("dataPipeline:transparentRendering")||e.is("element")&&e.getCustomProperty("dataPipeline:transparentRendering")?"":"\n\n":"":""}const $A=function(t,e){return t&&nr(t,e,De)};const GA=function(t,e,n,i){var o=n.length,r=o,s=!i;if(null==t)return!r;for(t=Object(t);o--;){var a=n[o];if(s&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++ot.model.getSelectedContent(t.model.document.selection)){return this.editor.model.change((i=>{const o=i.model.document.selection;i.setSelection(e);const r=this._insertFakeMarkersIntoSelection(i,i.model.document.selection,t),s=n(i),a=this._removeFakeMarkersInsideElement(i,s);for(const[t,e]of Object.entries(r)){a[t]||=i.createRangeIn(s);for(const t of e)i.remove(t)}s.markers.clear();for(const[t,e]of Object.entries(a))s.markers.set(t,e);return i.setSelection(o),s}))}_pasteMarkersIntoTransformedElement(t,e){const n=this._getPasteMarkersFromRangeMap(t);return this.editor.model.change((t=>{const i=this._insertFakeMarkersElements(t,n),o=e(t),r=this._removeFakeMarkersInsideElement(t,o);for(const e of Object.values(i).flat())t.remove(e);for(const[e,n]of Object.entries(r))t.model.markers.has(e)||t.addMarker(e,{usingOperation:!0,affectsData:!0,range:n});return o}))}_pasteFragmentWithMarkers(t){const e=this._getPasteMarkersFromRangeMap(t.markers);t.markers.clear();for(const n of e)t.markers.set(n.name,n.range);return this.editor.model.insertContent(t)}_forceMarkersCopy(t,e,n={allowedActions:"all",copyPartiallySelected:!0,duplicateOnPaste:!0}){const i=this._markersToCopy.get(t);this._markersToCopy.set(t,n),e(),i?this._markersToCopy.set(t,i):this._markersToCopy.delete(t)}_isMarkerCopyable(t,e){const n=this._getMarkerClipboardConfig(t);if(!n)return!1;if(!e)return!0;const{allowedActions:i}=n;return"all"===i||i.includes(e)}_hasMarkerConfiguration(t){return!!this._getMarkerClipboardConfig(t)}_getMarkerClipboardConfig(t){const[e]=t.split(":");return this._markersToCopy.get(e)||null}_insertFakeMarkersIntoSelection(t,e,n){const i=this._getCopyableMarkersFromSelection(t,e,n);return this._insertFakeMarkersElements(t,i)}_getCopyableMarkersFromSelection(t,e,n){const i=Array.from(e.getRanges()),o=new Set(i.flatMap((e=>Array.from(t.model.markers.getMarkersIntersectingRange(e)))));return Array.from(o).filter((t=>{if(!this._isMarkerCopyable(t.name,n))return!1;const{copyPartiallySelected:e}=this._getMarkerClipboardConfig(t.name);if(!e){const e=t.getRange();return i.some((t=>t.containsRange(e,!0)))}return!0})).map((t=>({name:"dragstart"===n?this._getUniqueMarkerName(t.name):t.name,range:t.getRange()})))}_getPasteMarkersFromRangeMap(t,e=null){const{model:n}=this.editor;return(t instanceof Map?Array.from(t.entries()):Object.entries(t)).flatMap((([t,i])=>{if(!this._hasMarkerConfiguration(t))return[{name:t,range:i}];if(this._isMarkerCopyable(t,e)){const e=this._getMarkerClipboardConfig(t),o=n.markers.has(t)&&"$graveyard"===n.markers.get(t).getRange().root.rootName;return(e.duplicateOnPaste||o)&&(t=this._getUniqueMarkerName(t)),[{name:t,range:i}]}return[]}))}_insertFakeMarkersElements(t,e){const n={},i=e.flatMap((t=>{const{start:e,end:n}=t.range;return[{position:e,marker:t,type:"start"},{position:n,marker:t,type:"end"}]})).sort((({position:t},{position:e})=>t.isBefore(e)?1:-1));for(const{position:e,marker:o,type:r}of i){const i=t.createElement("$marker",{"data-name":o.name,"data-type":r});n[o.name]||(n[o.name]=[]),n[o.name].push(i),t.insert(i,e)}return n}_removeFakeMarkersInsideElement(t,e){const n=this._getAllFakeMarkersFromElement(t,e).reduce(((e,n)=>{const i=n.markerElement&&t.createPositionBefore(n.markerElement);let o=e[n.name],r=!1;if(o&&o.start&&o.end){this._getMarkerClipboardConfig(n.name).duplicateOnPaste?e[this._getUniqueMarkerName(n.name)]=e[n.name]:r=!0,o=null}return r||(e[n.name]={...o,[n.type]:i}),n.markerElement&&t.remove(n.markerElement),e}),{});return s_(n,(n=>new Ql(n.start||t.createPositionFromPath(e,[0]),n.end||t.createPositionAt(e,"end"))))}_getAllFakeMarkersFromElement(t,e){const n=Array.from(t.createRangeIn(e)).flatMap((({item:t})=>{if(!t.is("element","$marker"))return[];const e=t.getAttribute("data-name"),n=t.getAttribute("data-type");return[{markerElement:t,name:e,type:n}]})),i=[],o=[];for(const t of n){if("end"===t.type){n.some((e=>e.name===t.name&&"start"===e.type))||i.push({markerElement:null,name:t.name,type:"start"})}if("start"===t.type){n.some((e=>e.name===t.name&&"end"===e.type))||o.unshift({markerElement:null,name:t.name,type:"end"})}}return[...i,...n,...o]}_getUniqueMarkerName(t){const e=t.split(":"),n=pi().substring(1,6);return 3===e.length?`${e.slice(0,2).join(":")}:${n}`:`${e.join(":")}:${n}`}}class l_ extends Lr{static get pluginName(){return"ClipboardPipeline"}static get requires(){return[a_]}init(){this.editor.editing.view.addObserver(HA),this._setupPasteDrop(),this._setupCopyCut()}_fireOutputTransformationEvent(t,e,n){const i=this.editor.plugins.get("ClipboardMarkersUtils");this.editor.model.enqueueChange({isUndoable:"cut"===n},(()=>{const o=i._copySelectedFragmentWithMarkers(n,e);this.fire("outputTransformation",{dataTransfer:t,content:o,method:n})}))}_setupPasteDrop(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,o=this.editor.plugins.get("ClipboardMarkersUtils");this.listenTo(i,"clipboardInput",((e,n)=>{"paste"!=n.method||t.model.canEditAt(t.model.document.selection)||e.stop()}),{priority:"highest"}),this.listenTo(i,"clipboardInput",((t,e)=>{const i=e.dataTransfer;let o;if(e.content)o=e.content;else{let t="";i.getData("text/html")?t=function(t){return t.replace(/(\s+)<\/span>/g,((t,e)=>1==e.length?" ":e)).replace(//g,"")}(i.getData("text/html")):i.getData("text/plain")&&(((r=(r=i.getData("text/plain")).replace(/&/g,"&").replace(//g,">").replace(/\r?\n\r?\n/g,"

").replace(/\r?\n/g,"
").replace(/\t/g,"    ").replace(/^\s/," ").replace(/\s$/," ").replace(/\s\s/g,"  ")).includes("

")||r.includes("
"))&&(r=`

${r}

`),t=r),o=this.editor.data.htmlProcessor.toView(t)}var r;const s=new mi(this,"inputTransformation");this.fire(s,{content:o,dataTransfer:i,targetRanges:e.targetRanges,method:e.method}),s.stop.called&&t.stop(),n.scrollToTheSelection()}),{priority:"low"}),this.listenTo(this,"inputTransformation",((t,n)=>{if(n.content.isEmpty)return;const i=this.editor.data.toModel(n.content,"$clipboardHolder");0!=i.childCount&&(t.stop(),e.change((()=>{this.fire("contentInsertion",{content:i,method:n.method,dataTransfer:n.dataTransfer,targetRanges:n.targetRanges})})))}),{priority:"low"}),this.listenTo(this,"contentInsertion",((t,e)=>{e.resultRange=o._pasteFragmentWithMarkers(e.content)}),{priority:"low"})}_setupCopyCut(){const t=this.editor,e=t.model.document,n=t.editing.view.document,i=(t,n)=>{const i=n.dataTransfer;n.preventDefault(),this._fireOutputTransformationEvent(i,e.selection,t.name)};this.listenTo(n,"copy",i,{priority:"low"}),this.listenTo(n,"cut",((e,n)=>{t.model.canEditAt(t.model.document.selection)?i(e,n):n.preventDefault()}),{priority:"low"}),this.listenTo(this,"outputTransformation",((e,i)=>{const o=t.data.toView(i.content);n.fire("clipboardOutput",{dataTransfer:i.dataTransfer,content:o,method:i.method})}),{priority:"low"}),this.listenTo(n,"clipboardOutput",((n,i)=>{i.content.isEmpty||(i.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(i.content)),i.dataTransfer.setData("text/plain",WA(i.content))),"cut"==i.method&&t.model.deleteContent(e.selection)}),{priority:"low"})}}class c_ extends(Di()){_stack=[];add(t,e){const n=this._stack,i=n[0];this._insertDescriptor(t);const o=n[0];i===o||d_(i,o)||this.fire("change:top",{oldDescriptor:i,newDescriptor:o,writer:e})}remove(t,e){const n=this._stack,i=n[0];this._removeDescriptor(t);const o=n[0];i===o||d_(i,o)||this.fire("change:top",{oldDescriptor:i,newDescriptor:o,writer:e})}_insertDescriptor(t){const e=this._stack,n=e.findIndex((e=>e.id===t.id));if(d_(t,e[n]))return;n>-1&&e.splice(n,1);let i=0;for(;e[i]&&h_(e[i],t);)i++;e.splice(i,0,t)}_removeDescriptor(t){const e=this._stack,n=e.findIndex((e=>e.id===t));n>-1&&e.splice(n,1)}}function d_(t,e){return t&&e&&t.priority==e.priority&&u_(t.classes)==u_(e.classes)}function h_(t,e){return t.priority>e.priority||!(t.priorityu_(e.classes)}function u_(t){return Array.isArray(t)?t.sort().join(","):t}const m_='',g_="ck-widget_selected";function p_(t){return!!t.is("element")&&!!t.getCustomProperty("widget")}function f_(t,e,n={}){if(!t.is("containerElement"))throw new bi("widget-to-widget-wrong-element-type",null,{element:t});return e.setAttribute("contenteditable","false",t),e.addClass("ck-widget",t),e.setCustomProperty("widget",!0,t),t.getFillerOffset=v_,e.setCustomProperty("widgetLabel",[],t),n.label&&function(t,e){const n=t.getCustomProperty("widgetLabel");n.push(e)}(t,n.label),n.hasSelectionHandle&&function(t,e){const n=e.createUIElement("div",{class:"ck ck-widget__selection-handle"},(function(t){const e=this.toDomElement(t),n=new pm;return n.set("content",m_),n.render(),e.appendChild(n.element),e}));e.insert(e.createPositionAt(t,0),n),e.addClass(["ck-widget_with-selection-handle"],t)}(t,e),w_(t,e),t}function k_(t,e,n){if(e.classes&&n.addClass(tr(e.classes),t),e.attributes)for(const i in e.attributes)n.setAttribute(i,e.attributes[i],t)}function b_(t,e,n){if(e.classes&&n.removeClass(tr(e.classes),t),e.attributes)for(const i in e.attributes)n.removeAttribute(i,t)}function w_(t,e,n=k_,i=b_){const o=new c_;o.on("change:top",((e,o)=>{o.oldDescriptor&&i(t,o.oldDescriptor,o.writer),o.newDescriptor&&n(t,o.newDescriptor,o.writer)}));e.setCustomProperty("addHighlight",((t,e,n)=>o.add(e,n)),t),e.setCustomProperty("removeHighlight",((t,e,n)=>o.remove(e,n)),t)}function A_(t,e,n={}){return e.addClass(["ck-editor__editable","ck-editor__nested-editable"],t),e.setAttribute("role","textbox",t),e.setAttribute("tabindex","-1",t),n.label&&e.setAttribute("aria-label",n.label,t),e.setAttribute("contenteditable",t.isReadOnly?"false":"true",t),t.on("change:isReadOnly",((n,i,o)=>{e.setAttribute("contenteditable",o?"false":"true",t)})),t.on("change:isFocused",((n,i,o)=>{o?e.addClass("ck-editor__nested-editable_focused",t):e.removeClass("ck-editor__nested-editable_focused",t)})),w_(t,e),t}function __(t,e){const n=t.getSelectedElement();if(n){const i=B_(t);if(i)return e.createRange(e.createPositionAt(n,i))}return e.schema.findOptimalInsertionRange(t)}function C_(t,e){return(n,i)=>{const{mapper:o,viewPosition:r}=i,s=o.findMappedViewAncestor(r);if(!e(s))return;const a=o.toModelElement(s);i.modelPosition=t.createPositionAt(a,r.isAtStart?"before":"after")}}function v_(){return null}function y_(t){const e=t=>{const{width:e,paddingLeft:n,paddingRight:i}=t.ownerDocument.defaultView.getComputedStyle(t);return parseFloat(e)-(parseFloat(n)||0)-(parseFloat(i)||0)},n=t.parentElement;if(!n)return 0;let i=e(n);let o=0,r=n;for(;isNaN(i);){if(r=r.parentElement,++o>5)return 0;i=e(r)}return i}const x_="widget-type-around";function E_(t,e,n){return!!t&&p_(t)&&!n.isInline(e)}function B_(t){return t.getAttribute(x_)}var D_=n(8508),S_={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(D_.A,S_);D_.A.locals;const T_=["before","after"],I_=(new DOMParser).parseFromString('',"image/svg+xml").firstChild,P_="ck-widget__type-around_disabled";class F_ extends Lr{_currentFakeCaretModelElement=null;static get pluginName(){return"WidgetTypeAround"}static get requires(){return[pA,sw]}init(){const t=this.editor,e=t.editing.view;this.on("change:isEnabled",((n,i,o)=>{e.change((t=>{for(const n of e.document.roots)o?t.removeClass(P_,n):t.addClass(P_,n)})),o||t.model.change((t=>{t.removeSelectionAttribute(x_)}))})),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableInsertObjectIntegration(),this._enableDeleteContentIntegration()}destroy(){super.destroy(),this._currentFakeCaretModelElement=null}_insertParagraph(t,e){const n=this.editor,i=n.editing.view,o=n.model.schema.getAttributesWithProperty(t,"copyOnReplace",!0);n.execute("insertParagraph",{position:n.model.createPositionAt(t,e),attributes:o}),i.focus(),i.scrollToTheSelection()}_listenToIfEnabled(t,e,n,i){this.listenTo(t,e,((...t)=>{this.isEnabled&&n(...t)}),i)}_insertParagraphAccordingToFakeCaretPosition(){const t=this.editor.model.document.selection,e=B_(t);if(!e)return!1;const n=t.getSelectedElement();return this._insertParagraph(n,e),!0}_enableTypeAroundUIInjection(){const t=this.editor,e=t.model.schema,n=t.locale.t,i={before:n("Insert paragraph before block"),after:n("Insert paragraph after block")};t.editing.downcastDispatcher.on("insert",((t,o,r)=>{const s=r.mapper.toViewElement(o.item);if(s&&E_(s,o.item,e)){!function(t,e,n){const i=t.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},(function(t){const n=this.toDomElement(t);return function(t,e){for(const n of T_){const i=new Ou({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${n}`],title:e[n],"aria-hidden":"true"},children:[t.ownerDocument.importNode(I_,!0)]});t.appendChild(i.render())}}(n,e),function(t){const e=new Ou({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});t.appendChild(e.render())}(n),n}));t.insert(t.createPositionAt(n,"end"),i)}(r.writer,i,s);s.getCustomProperty("widgetLabel").push((()=>this.isEnabled?n("Press Enter to type after or press Shift + Enter to type before the widget"):""))}}),{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const t=this.editor,e=t.model,n=e.document.selection,i=e.schema,o=t.editing.view;function r(t){return`ck-widget_type-around_show-fake-caret_${t}`}this._listenToIfEnabled(o.document,"arrowKey",((t,e)=>{this._handleArrowKeyPress(t,e)}),{context:[p_,"$text"],priority:"high"}),this._listenToIfEnabled(n,"change:range",((e,n)=>{n.directChange&&t.model.change((t=>{t.removeSelectionAttribute(x_)}))})),this._listenToIfEnabled(e.document,"change:data",(()=>{const e=n.getSelectedElement();if(e){if(E_(t.editing.mapper.toViewElement(e),e,i))return}t.model.change((t=>{t.removeSelectionAttribute(x_)}))})),this._listenToIfEnabled(t.editing.downcastDispatcher,"selection",((t,e,n)=>{const o=n.writer;if(this._currentFakeCaretModelElement){const t=n.mapper.toViewElement(this._currentFakeCaretModelElement);t&&(o.removeClass(T_.map(r),t),this._currentFakeCaretModelElement=null)}const s=e.selection.getSelectedElement();if(!s)return;const a=n.mapper.toViewElement(s);if(!E_(a,s,i))return;const l=B_(e.selection);l&&(o.addClass(r(l),a),this._currentFakeCaretModelElement=s)})),this._listenToIfEnabled(t.ui.focusTracker,"change:isFocused",((e,n,i)=>{i||t.model.change((t=>{t.removeSelectionAttribute(x_)}))}))}_handleArrowKeyPress(t,e){const n=this.editor,i=n.model,o=i.document.selection,r=i.schema,s=n.editing.view,a=function(t,e){const n=Qo(t,e);return"down"===n||"right"===n}(e.keyCode,n.locale.contentLanguageDirection),l=s.document.selection.getSelectedElement();let c;E_(l,n.editing.mapper.toModelElement(l),r)?c=this._handleArrowKeyPressOnSelectedWidget(a):o.isCollapsed?c=this._handleArrowKeyPressWhenSelectionNextToAWidget(a):e.shiftKey||(c=this._handleArrowKeyPressWhenNonCollapsedSelection(a)),c&&(e.preventDefault(),t.stop())}_handleArrowKeyPressOnSelectedWidget(t){const e=this.editor.model,n=B_(e.document.selection);return e.change((e=>{if(!n)return e.setSelectionAttribute(x_,t?"after":"before"),!0;if(!(n===(t?"after":"before")))return e.removeSelectionAttribute(x_),!0;return!1}))}_handleArrowKeyPressWhenSelectionNextToAWidget(t){const e=this.editor,n=e.model,i=n.schema,o=e.plugins.get("Widget"),r=o._getObjectElementNextToSelection(t);return!!E_(e.editing.mapper.toViewElement(r),r,i)&&(n.change((e=>{o._setSelectionOverElement(r),e.setSelectionAttribute(x_,t?"before":"after")})),!0)}_handleArrowKeyPressWhenNonCollapsedSelection(t){const e=this.editor,n=e.model,i=n.schema,o=e.editing.mapper,r=n.document.selection,s=t?r.getLastPosition().nodeBefore:r.getFirstPosition().nodeAfter;return!!E_(o.toViewElement(s),s,i)&&(n.change((e=>{e.setSelection(s,"on"),e.setSelectionAttribute(x_,t?"after":"before")})),!0)}_enableInsertingParagraphsOnButtonClick(){const t=this.editor,e=t.editing.view;this._listenToIfEnabled(e.document,"mousedown",((n,i)=>{const o=i.domTarget.closest(".ck-widget__type-around__button");if(!o)return;const r=function(t){return t.classList.contains("ck-widget__type-around__button_before")?"before":"after"}(o),s=function(t,e){const n=t.closest(".ck-widget");return e.mapDomToView(n)}(o,e.domConverter),a=t.editing.mapper.toModelElement(s);this._insertParagraph(a,r),i.preventDefault(),n.stop()}))}_enableInsertingParagraphsOnEnterKeypress(){const t=this.editor,e=t.model.document.selection,n=t.editing.view;this._listenToIfEnabled(n.document,"enter",((n,i)=>{if("atTarget"!=n.eventPhase)return;const o=e.getSelectedElement(),r=t.editing.mapper.toViewElement(o),s=t.model.schema;let a;this._insertParagraphAccordingToFakeCaretPosition()?a=!0:E_(r,o,s)&&(this._insertParagraph(o,i.isSoft?"before":"after"),a=!0),a&&(i.preventDefault(),n.stop())}),{context:p_})}_enableInsertingParagraphsOnTypingKeystroke(){const t=this.editor.editing.view.document;this._listenToIfEnabled(t,"insertText",((e,n)=>{this._insertParagraphAccordingToFakeCaretPosition()&&(n.selection=t.selection)}),{priority:"high"}),Xn.isAndroid?this._listenToIfEnabled(t,"keydown",((t,e)=>{229==e.keyCode&&this._insertParagraphAccordingToFakeCaretPosition()})):this._listenToIfEnabled(t,"compositionstart",(()=>{this._insertParagraphAccordingToFakeCaretPosition()}),{priority:"high"})}_enableDeleteIntegration(){const t=this.editor,e=t.editing.view,n=t.model,i=n.schema;this._listenToIfEnabled(e.document,"delete",((e,o)=>{if("atTarget"!=e.eventPhase)return;const r=B_(n.document.selection);if(!r)return;const s=o.direction,a=n.document.selection.getSelectedElement(),l="forward"==s;if("before"===r===l)t.execute("delete",{selection:n.createSelection(a,"on")});else{const e=i.getNearestSelectionRange(n.createPositionAt(a,r),s);if(e)if(e.isCollapsed){const o=n.createSelection(e.start);if(n.modifySelection(o,{direction:s}),o.focus.isEqual(e.start)){const t=function(t,e){let n=e;for(const i of e.getAncestors({parentFirst:!0})){if(i.childCount>1||t.isLimit(i))break;n=i}return n}(i,e.start.parent);n.deleteContent(n.createSelection(t,"on"),{doNotAutoparagraph:!0})}else n.change((n=>{n.setSelection(e),t.execute(l?"deleteForward":"delete")}))}else n.change((n=>{n.setSelection(e),t.execute(l?"deleteForward":"delete")}))}o.preventDefault(),e.stop()}),{context:p_})}_enableInsertContentIntegration(){const t=this.editor,e=this.editor.model,n=e.document.selection;this._listenToIfEnabled(t.model,"insertContent",((t,[i,o])=>{if(o&&!o.is("documentSelection"))return;const r=B_(n);return r?(t.stop(),e.change((t=>{const o=n.getSelectedElement(),s=e.createPositionAt(o,r),a=t.createSelection(s),l=e.insertContent(i,a);return t.setSelection(a),l}))):void 0}),{priority:"high"})}_enableInsertObjectIntegration(){const t=this.editor,e=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"insertObject",((t,n)=>{const[,i,o={}]=n;if(i&&!i.is("documentSelection"))return;const r=B_(e);r&&(o.findOptimalPosition=r,n[3]=o)}),{priority:"high"})}_enableDeleteContentIntegration(){const t=this.editor,e=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"deleteContent",((t,[n])=>{if(n&&!n.is("documentSelection"))return;B_(e)&&t.stop()}),{priority:"high"})}}function R_(t){const e=t.model;return(n,i)=>{const o=i.keyCode==Go.arrowup,r=i.keyCode==Go.arrowdown,s=i.shiftKey,a=e.document.selection;if(!o&&!r)return;const l=r;if(s&&function(t,e){return!t.isCollapsed&&t.isBackward==e}(a,l))return;const c=function(t,e,n){const i=t.model;if(n){const t=e.isCollapsed?e.focus:e.getLastPosition(),n=V_(i,t,"forward");if(!n)return null;const o=i.createRange(t,n),r=L_(i.schema,o,"backward");return r?i.createRange(t,r):null}{const t=e.isCollapsed?e.focus:e.getFirstPosition(),n=V_(i,t,"backward");if(!n)return null;const o=i.createRange(n,t),r=L_(i.schema,o,"forward");return r?i.createRange(r,t):null}}(t,a,l);if(c){if(c.isCollapsed){if(a.isCollapsed)return;if(s)return}(c.isCollapsed||function(t,e,n){const i=t.model,o=t.view.domConverter;if(n){const t=i.createSelection(e.start);i.modifySelection(t),t.focus.isAtEnd||e.start.isEqual(t.focus)||(e=i.createRange(t.focus,e.end))}const r=t.mapper.toViewRange(e),s=o.viewRangeToDom(r),a=ko.getDomRangeRects(s);let l;for(const t of a)if(void 0!==l){if(Math.round(t.top)>=l)return!1;l=Math.max(l,Math.round(t.bottom))}else l=Math.round(t.bottom);return!0}(t,c,l))&&(e.change((t=>{const n=l?c.end:c.start;if(s){const i=e.createSelection(a.anchor);i.setFocus(n),t.setSelection(i)}else t.setSelection(n)})),n.stop(),i.preventDefault(),i.stopPropagation())}}}function V_(t,e,n){const i=t.schema,o=t.createRangeIn(e.root),r="forward"==n?"elementStart":"elementEnd";for(const{previousPosition:t,item:s,type:a}of o.getWalker({startPosition:e,direction:n})){if(i.isLimit(s)&&!i.isInline(s))return t;if(a==r&&i.isBlock(s))return null}return null}function L_(t,e,n){const i="backward"==n?e.end:e.start;if(t.checkChild(i,"$text"))return i;for(const{nextPosition:i}of e.getWalker({direction:n}))if(t.checkChild(i,"$text"))return i;return null}var z_=n(695),M_={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(z_.A,M_);z_.A.locals;class O_ extends Lr{_previouslySelected=new Set;static get pluginName(){return"Widget"}static get requires(){return[F_,sw]}init(){const t=this.editor,e=t.editing.view,n=e.document,i=t.t;this.editor.editing.downcastDispatcher.on("selection",((e,n,i)=>{const o=i.writer,r=n.selection;if(r.isCollapsed)return;const s=r.getSelectedElement();if(!s)return;const a=t.editing.mapper.toViewElement(s);var l;p_(a)&&(i.consumable.consume(r,"selection")&&o.setSelection(o.createRangeOn(a),{fake:!0,label:(l=a,l.getCustomProperty("widgetLabel").reduce(((t,e)=>"function"==typeof e?t?t+". "+e():e():t?t+". "+e:e),""))}))})),this.editor.editing.downcastDispatcher.on("selection",((t,e,n)=>{this._clearPreviouslySelectedWidgets(n.writer);const i=n.writer,o=i.document.selection;let r=null;for(const t of o.getRanges())for(const e of t){const t=e.item;p_(t)&&!N_(t,r)&&(i.addClass(g_,t),this._previouslySelected.add(t),r=t)}}),{priority:"low"}),e.addObserver(Hh),this.listenTo(n,"mousedown",((...t)=>this._onMousedown(...t))),this.listenTo(n,"arrowKey",((...t)=>{this._handleSelectionChangeOnArrowKeyPress(...t)}),{context:[p_,"$text"]}),this.listenTo(n,"arrowKey",((...t)=>{this._preventDefaultOnArrowKeyPress(...t)}),{context:"$root"}),this.listenTo(n,"arrowKey",R_(this.editor.editing),{context:"$text"}),this.listenTo(n,"delete",((t,e)=>{this._handleDelete("forward"==e.direction)&&(e.preventDefault(),t.stop())}),{context:"$root"}),this.listenTo(n,"tab",((t,e)=>{"atTarget"==t.eventPhase&&(e.shiftKey||this._selectFirstNestedEditable()&&(e.preventDefault(),t.stop()))}),{context:p_,priority:"low"}),this.listenTo(n,"tab",((t,e)=>{e.shiftKey&&this._selectAncestorWidget()&&(e.preventDefault(),t.stop())}),{priority:"low"}),this.listenTo(n,"keydown",((t,e)=>{e.keystroke==Go.esc&&this._selectAncestorWidget()&&(e.preventDefault(),t.stop())}),{priority:"low"}),t.accessibility.addKeystrokeInfoGroup({id:"widget",label:i("Keystrokes that can be used when a widget is selected (for example: image, table, etc.)"),keystrokes:[{label:i("Move focus from an editable area back to the parent widget"),keystroke:"Esc"},{label:i("Insert a new paragraph directly after a widget"),keystroke:"Enter"},{label:i("Insert a new paragraph directly before a widget"),keystroke:"Shift+Enter"},{label:i("Move the caret to allow typing directly before a widget"),keystroke:[["arrowup"],["arrowleft"]]},{label:i("Move the caret to allow typing directly after a widget"),keystroke:[["arrowdown"],["arrowright"]]}]})}_onMousedown(t,e){const n=this.editor,i=n.editing.view,o=i.document;let r=e.target;if(!r)return;if(e.domEvent.detail>=3)return void(this._selectBlockContent(r)&&e.preventDefault());if(!p_(r)){const t=function(t){let e=t;for(;e;){if(e.is("editableElement")||p_(e))return e;e=e.parent}return null}(r);if(!t)return;if(p_(t))r=t;else{const t=function(t,e){const n=uo(e.domEvent);let i=null;i=n?t.domConverter.domRangeToView(n):t.createRange(t.createPositionAt(e.target,0));if(!i)return null;const o=i.start;if(!o.parent)return null;let r=o.parent;o.parent.is("editableElement")&&(o.isAtEnd&&o.nodeBefore?r=o.nodeBefore:o.isAtStart&&o.nodeAfter&&(r=o.nodeAfter));if(r.is("$text"))return r.parent;return r}(i,e);if(!t||!p_(t))return;r=t}}Xn.isAndroid&&e.preventDefault(),o.isFocused||i.focus();const s=n.editing.mapper.toModelElement(r);this._setSelectionOverElement(s)}_selectBlockContent(t){const e=this.editor,n=e.model,i=e.editing.mapper,o=n.schema,r=i.findMappedViewAncestor(this.editor.editing.view.createPositionAt(t,0)),s=function(t,e){for(const n of t.getAncestors({includeSelf:!0,parentFirst:!0})){if(e.checkChild(n,"$text"))return n;if(e.isLimit(n)&&!e.isObject(n))break}return null}(i.toModelElement(r),n.schema);return!!s&&(n.change((t=>{const e=o.isLimit(s)?null:function(t,e){const n=new Wl({startPosition:t});for(const{item:t}of n){if(e.isLimit(t)||!t.is("element"))return null;if(e.checkChild(t,"$text"))return t}return null}(t.createPositionAfter(s),o),n=t.createPositionAt(s,0),i=e?t.createPositionAt(e,0):t.createPositionAt(s,"end");t.setSelection(t.createRange(n,i))})),!0)}_handleSelectionChangeOnArrowKeyPress(t,e){const n=e.keyCode,i=this.editor.model,o=i.schema,r=i.document.selection,s=r.getSelectedElement(),a=Qo(n,this.editor.locale.contentLanguageDirection),l="down"==a||"right"==a,c="up"==a||"down"==a;if(s&&o.isObject(s)){const n=l?r.getLastPosition():r.getFirstPosition(),s=o.getNearestSelectionRange(n,l?"forward":"backward");return void(s&&(i.change((t=>{t.setSelection(s)})),e.preventDefault(),t.stop()))}if(!r.isCollapsed&&!e.shiftKey){const n=r.getFirstPosition(),s=r.getLastPosition(),a=n.nodeAfter,c=s.nodeBefore;return void((a&&o.isObject(a)||c&&o.isObject(c))&&(i.change((t=>{t.setSelection(l?s:n)})),e.preventDefault(),t.stop()))}if(!r.isCollapsed)return;const d=this._getObjectElementNextToSelection(l);if(d&&o.isObject(d)){if(o.isInline(d)&&c)return;this._setSelectionOverElement(d),e.preventDefault(),t.stop()}}_preventDefaultOnArrowKeyPress(t,e){const n=this.editor.model,i=n.schema,o=n.document.selection.getSelectedElement();o&&i.isObject(o)&&(e.preventDefault(),t.stop())}_handleDelete(t){const e=this.editor.model.document.selection;if(!this.editor.model.canEditAt(e))return;if(!e.isCollapsed)return;const n=this._getObjectElementNextToSelection(t);return n?(this.editor.model.change((t=>{let i=e.anchor.parent;for(;i.isEmpty;){const e=i;i=e.parent,t.remove(e)}this._setSelectionOverElement(n)})),!0):void 0}_setSelectionOverElement(t){this.editor.model.change((e=>{e.setSelection(e.createRangeOn(t))}))}_getObjectElementNextToSelection(t){const e=this.editor.model,n=e.schema,i=e.document.selection,o=e.createSelection(i);if(e.modifySelection(o,{direction:t?"forward":"backward"}),o.isEqual(i))return null;const r=t?o.focus.nodeBefore:o.focus.nodeAfter;return r&&n.isObject(r)?r:null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected)t.removeClass(g_,e);this._previouslySelected.clear()}_selectFirstNestedEditable(){const t=this.editor,e=this.editor.editing.view.document;for(const n of e.selection.getFirstRange().getItems())if(n.is("editableElement")){const e=t.editing.mapper.toModelElement(n);if(!e)continue;const i=t.model.createPositionAt(e,0),o=t.model.schema.getNearestSelectionRange(i,"forward");return t.model.change((t=>{t.setSelection(o)})),!0}return!1}_selectAncestorWidget(){const t=this.editor,e=t.editing.mapper,n=t.editing.view.document.selection.getFirstPosition().parent,i=(n.is("$text")?n.parent:n).findAncestor(p_);if(!i)return!1;const o=e.toModelElement(i);return!!o&&(t.model.change((t=>{t.setSelection(o,"on")})),!0)}}function N_(t,e){return!!e&&Array.from(t.getAncestors()).includes(e)}class H_ extends Lr{_toolbarDefinitions=new Map;_balloon;static get requires(){return[yk]}static get pluginName(){return"WidgetToolbarRepository"}init(){const t=this.editor;if(t.plugins.has("BalloonToolbar")){const e=t.plugins.get("BalloonToolbar");this.listenTo(e,"show",(e=>{(function(t){const e=t.getSelectedElement();return!(!e||!p_(e))})(t.editing.view.document.selection)&&e.stop()}),{priority:"high"})}this._balloon=this.editor.plugins.get("ContextualBalloon"),this.on("change:isEnabled",(()=>{this._updateToolbarsVisibility()})),this.listenTo(t.ui,"update",(()=>{this._updateToolbarsVisibility()})),this.listenTo(t.ui.focusTracker,"change:isFocused",(()=>{this._updateToolbarsVisibility()}),{priority:"low"})}destroy(){super.destroy();for(const t of this._toolbarDefinitions.values())t.view.destroy()}register(t,{ariaLabel:e,items:n,getRelatedElement:i,balloonClassName:o="ck-toolbar-container"}){if(!n.length)return void wi("widget-toolbar-no-items",{toolbarId:t});const r=this.editor,s=r.t,a=new kp(r.locale);if(a.ariaLabel=e||s("Widget toolbar"),this._toolbarDefinitions.has(t))throw new bi("widget-toolbar-duplicated",this,{toolbarId:t});const l={view:a,getRelatedElement:i,balloonClassName:o,itemsConfig:n,initialized:!1};r.ui.addToolbar(a,{isContextual:!0,beforeFocus:()=>{const t=i(r.editing.view.document.selection);t&&this._showToolbar(l,t)},afterBlur:()=>{this._hideToolbar(l)}}),this._toolbarDefinitions.set(t,l)}_updateToolbarsVisibility(){let t=0,e=null,n=null;for(const i of this._toolbarDefinitions.values()){const o=i.getRelatedElement(this.editor.editing.view.document.selection);if(this.isEnabled&&o)if(this.editor.ui.focusTracker.isFocused){const r=o.getAncestors().length;r>t&&(t=r,e=o,n=i)}else this._isToolbarVisible(i)&&this._hideToolbar(i);else this._isToolbarInBalloon(i)&&this._hideToolbar(i)}n&&this._showToolbar(n,e)}_hideToolbar(t){this._balloon.remove(t.view),this.stopListening(this._balloon,"change:visibleView")}_showToolbar(t,e){this._isToolbarVisible(t)?j_(this.editor,e):this._isToolbarInBalloon(t)||(t.initialized||(t.initialized=!0,t.view.fillFromConfig(t.itemsConfig,this.editor.ui.componentFactory)),this._balloon.add({view:t.view,position:q_(this.editor,e),balloonClassName:t.balloonClassName}),this.listenTo(this._balloon,"change:visibleView",(()=>{for(const t of this._toolbarDefinitions.values())if(this._isToolbarVisible(t)){const e=t.getRelatedElement(this.editor.editing.view.document.selection);j_(this.editor,e)}})))}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function j_(t,e){const n=t.plugins.get("ContextualBalloon"),i=q_(t,e);n.updatePosition(i)}function q_(t,e){const n=t.editing.view,i=rp.defaultPositions;return{target:n.domConverter.mapViewToDom(e),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast,i.viewportStickyNorth]}}class W_ extends(ji()){_referenceCoordinates;_options;_originalWidth;_originalHeight;_originalWidthPercents;_aspectRatio;constructor(t){super(),this.set("activeHandlePosition",null),this.set("proposedWidthPercents",null),this.set("proposedWidth",null),this.set("proposedHeight",null),this.set("proposedHandleHostWidth",null),this.set("proposedHandleHostHeight",null),this._options=t,this._referenceCoordinates=null}get originalWidth(){return this._originalWidth}get originalHeight(){return this._originalHeight}get originalWidthPercents(){return this._originalWidthPercents}get aspectRatio(){return this._aspectRatio}begin(t,e,n){const i=new ko(e);this.activeHandlePosition=function(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const n of e)if(t.classList.contains(U_(n)))return n}(t),this._referenceCoordinates=function(t,e){const n=new ko(t),i=e.split("-"),o={x:"right"==i[1]?n.right:n.left,y:"bottom"==i[0]?n.bottom:n.top};return o.x+=t.ownerDocument.defaultView.scrollX,o.y+=t.ownerDocument.defaultView.scrollY,o}(e,function(t){const e=t.split("-"),n={top:"bottom",bottom:"top",left:"right",right:"left"};return`${n[e[0]]}-${n[e[1]]}`}(this.activeHandlePosition)),this._originalWidth=i.width,this._originalHeight=i.height,this._aspectRatio=i.width/i.height;const o=n.style.width;o&&o.match(/^\d+(\.\d*)?%$/)?this._originalWidthPercents=parseFloat(o):this._originalWidthPercents=function(t,e=new ko(t)){const n=y_(t);return n?e.width/n*100:0}(n,i)}update(t){this.proposedWidth=t.width,this.proposedHeight=t.height,this.proposedWidthPercents=t.widthPercents,this.proposedHandleHostWidth=t.handleHostWidth,this.proposedHandleHostHeight=t.handleHostHeight}}function U_(t){return`ck-widget__resizer__handle-${t}`}class $_ extends lm{constructor(){super();const t=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",t.to("_viewPosition",(t=>t?`ck-orientation-${t}`:""))],style:{display:t.if("_isVisible","none",(t=>!t))}},children:[{text:t.to("_label")}]})}_bindToState(t,e){this.bind("_isVisible").to(e,"proposedWidth",e,"proposedHeight",((t,e)=>null!==t&&null!==e)),this.bind("_label").to(e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",e,"proposedWidthPercents",((e,n,i)=>"px"===t.unit?`${e}×${n}`:`${i}%`)),this.bind("_viewPosition").to(e,"activeHandlePosition",e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",((t,e,n)=>e<50||n<50?"above-center":t))}_dismiss(){this.unbind(),this._isVisible=!1}}class G_ extends(ji()){_state;_sizeView;_options;_viewResizerWrapper=null;_initialViewWidth;constructor(t){super(),this._options=t,this.set("isEnabled",!0),this.set("isSelected",!1),this.bind("isVisible").to(this,"isEnabled",this,"isSelected",((t,e)=>t&&e)),this.decorate("begin"),this.decorate("cancel"),this.decorate("commit"),this.decorate("updateSize"),this.on("commit",(t=>{this.state.proposedWidth||this.state.proposedWidthPercents||(this._cleanup(),t.stop())}),{priority:"high"})}get state(){return this._state}show(){this._options.editor.editing.view.change((t=>{t.removeClass("ck-hidden",this._viewResizerWrapper)}))}hide(){this._options.editor.editing.view.change((t=>{t.addClass("ck-hidden",this._viewResizerWrapper)}))}attach(){const t=this,e=this._options.viewElement;this._options.editor.editing.view.change((n=>{const i=n.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},(function(e){const n=this.toDomElement(e);return t._appendHandles(n),t._appendSizeUI(n),n}));n.insert(n.createPositionAt(e,"end"),i),n.addClass("ck-widget_with-resizer",e),this._viewResizerWrapper=i,this.isVisible||this.hide()})),this.on("change:isVisible",(()=>{this.isVisible?(this.show(),this.redraw()):this.hide()}))}begin(t){this._state=new W_(this._options),this._sizeView._bindToState(this._options,this.state),this._initialViewWidth=this._options.viewElement.getStyle("width"),this.state.begin(t,this._getHandleHost(),this._getResizeHost())}updateSize(t){const e=this._proposeNewSize(t);this._options.editor.editing.view.change((t=>{const n=this._options.unit||"%",i=("%"===n?e.widthPercents:e.width)+n;t.setStyle("width",i,this._options.viewElement)}));const n=this._getHandleHost(),i=new ko(n),o=Math.round(i.width),r=Math.round(i.height),s=new ko(n);e.width=Math.round(s.width),e.height=Math.round(s.height),this.redraw(i),this.state.update({...e,handleHostWidth:o,handleHostHeight:r})}commit(){const t=this._options.unit||"%",e=("%"===t?this.state.proposedWidthPercents:this.state.proposedWidth)+t;this._options.editor.editing.view.change((()=>{this._cleanup(),this._options.onCommit(e)}))}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(t){const e=this._domResizerWrapper;if(!((n=e)&&n.ownerDocument&&n.ownerDocument.contains(n)))return;var n;const i=e.parentElement,o=this._getHandleHost(),r=this._viewResizerWrapper,s=[r.getStyle("width"),r.getStyle("height"),r.getStyle("left"),r.getStyle("top")];let a;if(i.isSameNode(o)){const e=t||new ko(o);a=[e.width+"px",e.height+"px",void 0,void 0]}else a=[o.offsetWidth+"px",o.offsetHeight+"px",o.offsetLeft+"px",o.offsetTop+"px"];"same"!==Yi(s,a)&&this._options.editor.editing.view.change((t=>{t.setStyle({width:a[0],height:a[1],left:a[2],top:a[3]},r)}))}containsHandle(t){return this._domResizerWrapper.contains(t)}static isResizeHandle(t){return t.classList.contains("ck-widget__resizer__handle")}_cleanup(){this._sizeView._dismiss();this._options.editor.editing.view.change((t=>{t.setStyle("width",this._initialViewWidth,this._options.viewElement)}))}_proposeNewSize(t){const e=this.state,n={x:(i=t).pageX,y:i.pageY};var i;const o=!this._options.isCentered||this._options.isCentered(this),r={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};o&&e.activeHandlePosition.endsWith("-right")&&(r.x=n.x-(e._referenceCoordinates.x+e.originalWidth)),o&&(r.x*=2);let s=Math.abs(e.originalWidth+r.x),a=Math.abs(e.originalHeight+r.y);return"width"==(s/e.aspectRatio>a?"width":"height")?a=s/e.aspectRatio:s=a*e.aspectRatio,{width:Math.round(s),height:Math.round(a),widthPercents:Math.min(Math.round(e.originalWidthPercents/e.originalWidth*s*100)/100,100)}}_getResizeHost(){const t=this._domResizerWrapper.parentElement;return this._options.getResizeHost(t)}_getHandleHost(){const t=this._domResizerWrapper.parentElement;return this._options.getHandleHost(t)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const i of e)t.appendChild(new Ou({tag:"div",attributes:{class:"ck-widget__resizer__handle "+(n=i,`ck-widget__resizer__handle-${n}`)}}).render());var n}_appendSizeUI(t){this._sizeView=new $_,this._sizeView.render(),t.appendChild(this._sizeView.element)}}var K_=n(4095),Y_={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(K_.A,Y_);K_.A.locals;class Z_ extends Lr{_resizers=new Map;_observer;_redrawSelectedResizerThrottled;static get pluginName(){return"WidgetResize"}init(){const t=this.editor.editing,e=Zn.window.document;this.set("selectedResizer",null),this.set("_activeResizer",null),t.view.addObserver(Hh),this._observer=new(ro()),this.listenTo(t.view.document,"mousedown",this._mouseDownListener.bind(this),{priority:"high"}),this._observer.listenTo(e,"mousemove",this._mouseMoveListener.bind(this)),this._observer.listenTo(e,"mouseup",this._mouseUpListener.bind(this)),this._redrawSelectedResizerThrottled=V((()=>this.redrawSelectedResizer()),200),this.editor.ui.on("update",this._redrawSelectedResizerThrottled),this.editor.model.document.on("change",(()=>{for(const[t,e]of this._resizers)t.isAttached()||(this._resizers.delete(t),e.destroy())}),{priority:"lowest"}),this._observer.listenTo(Zn.window,"resize",this._redrawSelectedResizerThrottled);const n=this.editor.editing.view.document.selection;n.on("change",(()=>{const t=n.getSelectedElement(),e=this.getResizerByViewElement(t)||null;e?this.select(e):this.deselect()}))}redrawSelectedResizer(){this.selectedResizer&&this.selectedResizer.isVisible&&this.selectedResizer.redraw()}destroy(){super.destroy(),this._observer.stopListening();for(const t of this._resizers.values())t.destroy();this._redrawSelectedResizerThrottled.cancel()}select(t){this.deselect(),this.selectedResizer=t,this.selectedResizer.isSelected=!0}deselect(){this.selectedResizer&&(this.selectedResizer.isSelected=!1),this.selectedResizer=null}attachTo(t){const e=new G_(t),n=this.editor.plugins;if(e.attach(),n.has("WidgetToolbarRepository")){const t=n.get("WidgetToolbarRepository");e.on("begin",(()=>{t.forceDisabled("resize")}),{priority:"lowest"}),e.on("cancel",(()=>{t.clearForceDisabled("resize")}),{priority:"highest"}),e.on("commit",(()=>{t.clearForceDisabled("resize")}),{priority:"highest"})}this._resizers.set(t.viewElement,e);const i=this.editor.editing.view.document.selection.getSelectedElement();return this.getResizerByViewElement(i)==e&&this.select(e),e}getResizerByViewElement(t){return this._resizers.get(t)}_getResizerByHandle(t){for(const e of this._resizers.values())if(e.containsHandle(t))return e}_mouseDownListener(t,e){const n=e.domTarget;G_.isResizeHandle(n)&&(this._activeResizer=this._getResizerByHandle(n)||null,this._activeResizer&&(this._activeResizer.begin(n),t.stop(),e.preventDefault()))}_mouseMoveListener(t,e){this._activeResizer&&this._activeResizer.updateSize(e)}_mouseUpListener(){this._activeResizer&&(this._activeResizer.commit(),this._activeResizer=null)}}const J_=yo("px");class Q_ extends lm{constructor(){super();const t=this.bindTemplate;this.set({isVisible:!1,left:null,top:null,width:null}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-clipboard-drop-target-line",t.if("isVisible","ck-hidden",(t=>!t))],style:{left:t.to("left",(t=>J_(t))),top:t.to("top",(t=>J_(t))),width:t.to("width",(t=>J_(t)))}}})}}class X_ extends Lr{removeDropMarkerDelayed=Tr((()=>this.removeDropMarker()),40);_updateDropMarkerThrottled=V((t=>this._updateDropMarker(t)),40);_reconvertMarkerThrottled=V((()=>{this.editor.model.markers.has("drop-target")&&this.editor.editing.reconvertMarker("drop-target")}),0);_dropTargetLineView=new Q_;_domEmitter=new(ro());_scrollables=new Map;static get pluginName(){return"DragDropTarget"}init(){this._setupDropMarker()}destroy(){this._domEmitter.stopListening();for(const{resizeObserver:t}of this._scrollables.values())t.destroy();return this._updateDropMarkerThrottled.cancel(),this.removeDropMarkerDelayed.cancel(),this._reconvertMarkerThrottled.cancel(),super.destroy()}updateDropMarker(t,e,n,i,o,r){this.removeDropMarkerDelayed.cancel();const s=tC(this.editor,t,e,n,i,o,r);if(s)return r&&r.containsRange(s)?this.removeDropMarker():void this._updateDropMarkerThrottled(s)}getFinalDropRange(t,e,n,i,o,r){const s=tC(this.editor,t,e,n,i,o,r);return this.removeDropMarker(),s}removeDropMarker(){const t=this.editor.model;this.removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),this._dropTargetLineView.isVisible=!1,t.markers.has("drop-target")&&t.change((t=>{t.removeMarker("drop-target")}))}_setupDropMarker(){const t=this.editor;t.ui.view.body.add(this._dropTargetLineView),t.conversion.for("editingDowncast").markerToHighlight({model:"drop-target",view:{classes:["ck-clipboard-drop-target-range"]}}),t.conversion.for("editingDowncast").markerToElement({model:"drop-target",view:(e,{writer:n})=>{if(t.model.schema.checkChild(e.markerRange.start,"$text"))return this._dropTargetLineView.isVisible=!1,this._createDropTargetPosition(n);e.markerRange.isCollapsed?this._updateDropTargetLine(e.markerRange):this._dropTargetLineView.isVisible=!1}})}_updateDropMarker(t){const e=this.editor,n=e.model.markers;e.model.change((e=>{n.has("drop-target")?n.get("drop-target").getRange().isEqual(t)||e.updateMarker("drop-target",{range:t}):e.addMarker("drop-target",{range:t,usingOperation:!1,affectsData:!1})}))}_createDropTargetPosition(t){return t.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},(function(t){const e=this.toDomElement(t);return e.append("⁠",t.createElement("span"),"⁠"),e}))}_updateDropTargetLine(t){const e=this.editor.editing,n=t.start.nodeBefore,i=t.start.nodeAfter,o=t.start.parent,r=n?e.mapper.toViewElement(n):null,s=r?e.view.domConverter.mapViewToDom(r):null,a=i?e.mapper.toViewElement(i):null,l=a?e.view.domConverter.mapViewToDom(a):null,c=e.mapper.toViewElement(o);if(!c)return;const d=e.view.domConverter.mapViewToDom(c),h=this._getScrollableRect(c),{scrollX:u,scrollY:m}=Zn.window,g=s?new ko(s):null,p=l?new ko(l):null,f=new ko(d).excludeScrollbarsAndBorders(),k=g?g.bottom:f.top,b=p?p.top:f.bottom,w=Zn.window.getComputedStyle(d),A=k<=b?(k+b)/2:b;if(h.topa.schema.checkChild(r,t)))){if(a.schema.checkChild(r,"$text"))return a.createRange(r);if(e)return nC(t,oC(t,e.parent),i,o)}}}else if(a.schema.isInline(c))return nC(t,c,i,o);if(a.schema.isBlock(c))return nC(t,c,i,o);if(a.schema.checkChild(c,"$block")){const e=Array.from(c.getChildren()).filter((e=>e.is("element")&&!eC(t,e)));let n=0,r=e.length;if(0==r)return a.createRange(a.createPositionAt(c,"end"));for(;n{n?(this.forceDisabled("readOnlyMode"),this._isBlockDragging=!1):this.clearForceDisabled("readOnlyMode")})),Xn.isAndroid&&this.forceDisabled("noAndroidSupport"),t.plugins.has("BlockToolbar")){const e=t.plugins.get("BlockToolbar").buttonView.element;this._domEmitter.listenTo(e,"dragstart",((t,e)=>this._handleBlockDragStart(e))),this._domEmitter.listenTo(Zn.document,"dragover",((t,e)=>this._handleBlockDragging(e))),this._domEmitter.listenTo(Zn.document,"drop",((t,e)=>this._handleBlockDragging(e))),this._domEmitter.listenTo(Zn.document,"dragend",(()=>this._handleBlockDragEnd()),{useCapture:!0}),this.isEnabled&&e.setAttribute("draggable","true"),this.on("change:isEnabled",((t,n,i)=>{e.setAttribute("draggable",i?"true":"false")}))}}destroy(){return this._domEmitter.stopListening(),super.destroy()}_handleBlockDragStart(t){if(!this.isEnabled)return;const e=this.editor.model,n=e.document.selection,i=this.editor.editing.view,o=Array.from(n.getSelectedBlocks()),r=e.createRange(e.createPositionBefore(o[0]),e.createPositionAfter(o[o.length-1]));e.change((t=>t.setSelection(r))),this._isBlockDragging=!0,i.focus(),i.getObserver(HA).onDomEvent(t)}_handleBlockDragging(t){if(!this.isEnabled||!this._isBlockDragging)return;const e=t.clientX+("ltr"==this.editor.locale.contentLanguageDirection?100:-100),n=t.clientY,i=document.elementFromPoint(e,n),o=this.editor.editing.view;i&&i.closest(".ck-editor__editable")&&o.getObserver(HA).onDomEvent({...t,type:t.type,dataTransfer:t.dataTransfer,target:i,clientX:e,clientY:n,preventDefault:()=>t.preventDefault(),stopPropagation:()=>t.stopPropagation()})}_handleBlockDragEnd(){this._isBlockDragging=!1}}var sC=n(7793),aC={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(sC.A,aC);sC.A.locals;class lC extends Lr{_draggedRange;_draggingUid;_draggableElement;_clearDraggableAttributesDelayed=Tr((()=>this._clearDraggableAttributes()),40);_blockMode=!1;_domEmitter=new(ro());_previewContainer;static get pluginName(){return"DragDrop"}static get requires(){return[l_,O_,X_,rC]}init(){const t=this.editor,e=t.editing.view;this._draggedRange=null,this._draggingUid="",this._draggableElement=null,e.addObserver(HA),e.addObserver(Hh),this._setupDragging(),this._setupContentInsertionIntegration(),this._setupClipboardInputIntegration(),this._setupDraggableAttributeHandling(),this.listenTo(t,"change:isReadOnly",((t,e,n)=>{n?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")})),this.on("change:isEnabled",((t,e,n)=>{n||this._finalizeDragging(!1)})),Xn.isAndroid&&this.forceDisabled("noAndroidSupport")}destroy(){return this._draggedRange&&(this._draggedRange.detach(),this._draggedRange=null),this._previewContainer&&this._previewContainer.remove(),this._domEmitter.stopListening(),this._clearDraggableAttributesDelayed.cancel(),super.destroy()}_setupDragging(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,o=t.plugins.get(X_);this.listenTo(i,"dragstart",((t,n)=>{if(n.target&&n.target.is("editableElement"))return void n.preventDefault();if(this._prepareDraggedRange(n.target),!this._draggedRange)return void n.preventDefault();this._draggingUid=pi(),n.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy",n.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const i=e.createSelection(this._draggedRange.toRange());this.editor.plugins.get("ClipboardPipeline")._fireOutputTransformationEvent(n.dataTransfer,i,"dragstart");const{dataTransfer:o,domTarget:r,domEvent:s}=n,{clientX:a}=s;this._updatePreview({dataTransfer:o,domTarget:r,clientX:a}),n.stopPropagation(),this.isEnabled||(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="")}),{priority:"low"}),this.listenTo(i,"dragend",((t,e)=>{this._finalizeDragging(!e.dataTransfer.isCanceled&&"move"==e.dataTransfer.dropEffect)}),{priority:"low"}),this._domEmitter.listenTo(Zn.document,"dragend",(()=>{this._blockMode=!1}),{useCapture:!0}),this.listenTo(i,"dragenter",(()=>{this.isEnabled&&n.focus()})),this.listenTo(i,"dragleave",(()=>{o.removeDropMarkerDelayed()})),this.listenTo(i,"dragging",((t,e)=>{if(!this.isEnabled)return void(e.dataTransfer.dropEffect="none");const{clientX:n,clientY:i}=e.domEvent;o.updateDropMarker(e.target,e.targetRanges,n,i,this._blockMode,this._draggedRange),this._draggedRange||(e.dataTransfer.dropEffect="copy"),Xn.isGecko||("copy"==e.dataTransfer.effectAllowed?e.dataTransfer.dropEffect="copy":["all","copyMove"].includes(e.dataTransfer.effectAllowed)&&(e.dataTransfer.dropEffect="move")),t.stop()}),{priority:"low"})}_setupClipboardInputIntegration(){const t=this.editor,e=t.editing.view.document,n=t.plugins.get(X_);this.listenTo(e,"clipboardInput",((e,i)=>{if("drop"!=i.method)return;const{clientX:o,clientY:r}=i.domEvent,s=n.getFinalDropRange(i.target,i.targetRanges,o,r,this._blockMode,this._draggedRange);if(!s)return this._finalizeDragging(!1),void e.stop();this._draggedRange&&this._draggingUid!=i.dataTransfer.getData("application/ckeditor5-dragging-uid")&&(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="");if("move"==cC(i.dataTransfer)&&this._draggedRange&&this._draggedRange.containsRange(s,!0))return this._finalizeDragging(!1),void e.stop();i.targetRanges=[t.editing.mapper.toViewRange(s)]}),{priority:"high"})}_setupContentInsertionIntegration(){const t=this.editor.plugins.get(l_);t.on("contentInsertion",((t,e)=>{if(!this.isEnabled||"drop"!==e.method)return;const n=e.targetRanges.map((t=>this.editor.editing.mapper.toModelRange(t)));this.editor.model.change((t=>t.setSelection(n)))}),{priority:"high"}),t.on("contentInsertion",((t,e)=>{if(!this.isEnabled||"drop"!==e.method)return;const n="move"==cC(e.dataTransfer),i=!e.resultRange||!e.resultRange.isCollapsed;this._finalizeDragging(i&&n)}),{priority:"lowest"})}_setupDraggableAttributeHandling(){const t=this.editor,e=t.editing.view,n=e.document;this.listenTo(n,"mousedown",((i,o)=>{if(Xn.isAndroid||!o)return;this._clearDraggableAttributesDelayed.cancel();let r=dC(o.target);if(Xn.isBlink&&!t.isReadOnly&&!r&&!n.selection.isCollapsed){const t=n.selection.getSelectedElement();t&&p_(t)||(r=n.selection.editableElement)}r&&(e.change((t=>{t.setAttribute("draggable","true",r)})),this._draggableElement=t.editing.mapper.toModelElement(r))})),this.listenTo(n,"mouseup",(()=>{Xn.isAndroid||this._clearDraggableAttributesDelayed()}))}_clearDraggableAttributes(){const t=this.editor.editing;t.view.change((e=>{this._draggableElement&&"$graveyard"!=this._draggableElement.root.rootName&&e.removeAttribute("draggable",t.mapper.toViewElement(this._draggableElement)),this._draggableElement=null}))}_finalizeDragging(t){const e=this.editor,n=e.model;if(e.plugins.get(X_).removeDropMarker(),this._clearDraggableAttributes(),e.plugins.has("WidgetToolbarRepository")){e.plugins.get("WidgetToolbarRepository").clearForceDisabled("dragDrop")}this._draggingUid="",this._previewContainer&&(this._previewContainer.remove(),this._previewContainer=void 0),this._draggedRange&&(t&&this.isEnabled&&n.change((t=>{const e=n.createSelection(this._draggedRange);n.deleteContent(e,{doNotAutoparagraph:!0});const i=e.getFirstPosition().parent;i.isEmpty&&!n.schema.checkChild(i,"$text")&&n.schema.checkChild(i,"paragraph")&&t.insertElement("paragraph",i,0)})),this._draggedRange.detach(),this._draggedRange=null)}_prepareDraggedRange(t){const e=this.editor,n=e.model,i=n.document.selection,o=t?dC(t):null;if(o){const t=e.editing.mapper.toModelElement(o);if(this._draggedRange=uc.fromRange(n.createRangeOn(t)),this._blockMode=n.schema.isBlock(t),e.plugins.has("WidgetToolbarRepository")){e.plugins.get("WidgetToolbarRepository").forceDisabled("dragDrop")}return}if(i.isCollapsed&&!i.getFirstPosition().parent.isEmpty)return;const r=Array.from(i.getSelectedBlocks()),s=i.getFirstRange();if(0==r.length)return void(this._draggedRange=uc.fromRange(s));const a=hC(n,r);if(r.length>1)this._draggedRange=uc.fromRange(a),this._blockMode=!0;else if(1==r.length){const t=s.start.isTouching(a.start)&&s.end.isTouching(a.end);this._draggedRange=uc.fromRange(t?a:s),this._blockMode=t}n.change((t=>t.setSelection(this._draggedRange.toRange())))}_updatePreview({dataTransfer:t,domTarget:e,clientX:n}){const i=this.editor.editing.view,o=i.document.selection.editableElement,r=i.domConverter.mapViewToDom(o),s=Zn.window.getComputedStyle(r);this._previewContainer?this._previewContainer.firstElementChild&&this._previewContainer.removeChild(this._previewContainer.firstElementChild):(this._previewContainer=Qi(Zn.document,"div",{style:"position: fixed; left: -999999px;"}),Zn.document.body.appendChild(this._previewContainer));const a=new ko(r);if(r.contains(e))return;const l=parseFloat(s.paddingLeft),c=Qi(Zn.document,"div");c.className="ck ck-content",c.style.width=s.width,c.style.paddingLeft=`${a.left-n+l}px`,Xn.isiOS&&(c.style.backgroundColor="white"),i.domConverter.setContentOf(c,t.getData("text/html")),t.setDragImage(c,0,0),this._previewContainer.appendChild(c)}}function cC(t){return Xn.isGecko?t.dropEffect:["all","copyMove"].includes(t.effectAllowed)?"move":"copy"}function dC(t){if(t.is("editableElement"))return null;if(t.hasClass("ck-widget__selection-handle"))return t.findAncestor(p_);if(p_(t))return t;const e=t.findAncestor((t=>p_(t)||t.is("editableElement")));return p_(e)?e:null}function hC(t,e){const n=e[0],i=e[e.length-1],o=n.getCommonAncestor(i),r=t.createPositionBefore(n),s=t.createPositionAfter(i);if(o&&o.is("element")&&!t.schema.isLimit(o)){const e=t.createRangeOn(o),n=r.isTouching(e.start),i=s.isTouching(e.end);if(n&&i)return hC(t,[o])}return t.createRange(r,s)}class uC extends Lr{static get pluginName(){return"PastePlainText"}static get requires(){return[l_]}init(){const t=this.editor,e=t.model,n=t.editing.view,i=e.document.selection;n.addObserver(HA),t.plugins.get(l_).on("contentInsertion",((t,n)=>{(function(t,e){let n=e.createRangeIn(t);if(1==t.childCount){const i=t.getChild(0);i.is("element")&&e.schema.isBlock(i)&&!e.schema.isObject(i)&&!e.schema.isLimit(i)&&(n=e.createRangeIn(i))}for(const t of n.getItems()){if(!e.schema.isInline(t))return!1;if(Array.from(t.getAttributeKeys()).find((t=>e.schema.getAttributeProperties(t).isFormatting)))return!1}return!0})(n.content,e)&&e.change((t=>{const o=Array.from(i.getAttributes()).filter((([t])=>e.schema.getAttributeProperties(t).isFormatting));i.isCollapsed||e.deleteContent(i,{doNotAutoparagraph:!0}),o.push(...i.getAttributes());const r=t.createRangeIn(n.content);for(const n of r.getItems())for(const i of o)e.schema.checkAttribute(n,i[0])&&t.setAttribute(i[0],i[1],n)}))}))}}class mC extends Lr{static get pluginName(){return"Clipboard"}static get requires(){return[a_,l_,lC,uC]}init(){const t=this.editor,e=this.editor.t;t.accessibility.addKeystrokeInfos({keystrokes:[{label:e("Copy selected content"),keystroke:"CTRL+C"},{label:e("Paste content"),keystroke:"CTRL+V"},{label:e("Paste content as plain text"),keystroke:"CTRL+SHIFT+V"}]})}}class gC extends Mr{_stack=[];_createdBatches=new WeakSet;constructor(t){super(t),this.refresh(),this._isEnabledBasedOnSelection=!1,this.listenTo(t.data,"set",((t,e)=>{e[1]={...e[1]};const n=e[1];n.batchType||(n.batchType={isUndoable:!1})}),{priority:"high"}),this.listenTo(t.data,"set",((t,e)=>{e[1].batchType.isUndoable||this.clearStack()}))}refresh(){this.isEnabled=this._stack.length>0}get createdBatches(){return this._createdBatches}addBatch(t){const e=this.editor.model.document.selection,n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n}),this.refresh()}clearStack(){this._stack=[],this.refresh()}_restoreSelection(t,e,n){const i=this.editor.model,o=i.document,r=[],s=t.map((t=>t.getTransformedByOperations(n))),a=s.flat();for(const t of s){const e=t.filter((t=>t.root!=o.graveyard)).filter((t=>!fC(t,a)));e.length&&(pC(e),r.push(e[0]))}r.length&&i.change((t=>{t.setSelection(r,{backward:e})}))}_undo(t,e){const n=this.editor.model,i=n.document;this._createdBatches.add(e);const o=t.operations.slice().filter((t=>t.isDocumentOperation));o.reverse();for(const t of o){const o=t.baseVersion+1,r=Array.from(i.history.getOperations(o)),s=Gd([t.getReversed()],r,{useRelations:!0,document:this.editor.model.document,padWithNoOps:!1,forceWeakRemove:!0}).operationsA;for(let o of s){const r=o.affectedSelectable;r&&!n.canEditAt(r)&&(o=new zd(o.baseVersion)),e.addOperation(o),n.applyOperation(o),i.history.setOperationAsUndone(t,o)}}}}function pC(t){t.sort(((t,e)=>t.start.isBefore(e.start)?-1:1));for(let e=1;ee!==t&&e.containsRange(t,!0)))}class kC extends gC{execute(t=null){const e=t?this._stack.findIndex((e=>e.batch==t)):this._stack.length-1,n=this._stack.splice(e,1)[0],i=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(i,(()=>{this._undo(n.batch,i);const t=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,t)})),this.fire("revert",n.batch,i),this.refresh()}}class bC extends gC{execute(){const t=this._stack.pop(),e=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(e,(()=>{const n=t.batch.operations[t.batch.operations.length-1].baseVersion+1,i=this.editor.model.document.history.getOperations(n);this._restoreSelection(t.selection.ranges,t.selection.isBackward,i),this._undo(t.batch,e)})),this.refresh()}}class wC extends Lr{_undoCommand;_redoCommand;_batchRegistry=new WeakSet;static get pluginName(){return"UndoEditing"}init(){const t=this.editor,e=t.t;this._undoCommand=new kC(t),this._redoCommand=new bC(t),t.commands.add("undo",this._undoCommand),t.commands.add("redo",this._redoCommand),this.listenTo(t.model,"applyOperation",((t,e)=>{const n=e[0];if(!n.isDocumentOperation)return;const i=n.batch,o=this._redoCommand.createdBatches.has(i),r=this._undoCommand.createdBatches.has(i);this._batchRegistry.has(i)||(this._batchRegistry.add(i),i.isUndoable&&(o?this._undoCommand.addBatch(i):r||(this._undoCommand.addBatch(i),this._redoCommand.clearStack())))}),{priority:"highest"}),this.listenTo(this._undoCommand,"revert",((t,e,n)=>{this._redoCommand.addBatch(n)})),t.keystrokes.set("CTRL+Z","undo"),t.keystrokes.set("CTRL+Y","redo"),t.keystrokes.set("CTRL+SHIFT+Z","redo"),t.accessibility.addKeystrokeInfos({keystrokes:[{label:e("Undo"),keystroke:"CTRL+Z"},{label:e("Redo"),keystroke:[["CTRL+Y"],["CTRL+SHIFT+Z"]]}]})}}class AC extends Lr{static get pluginName(){return"UndoUI"}init(){const t=this.editor,e=t.locale,n=t.t,i="ltr"==e.uiLanguageDirection?zu.undo:zu.redo,o="ltr"==e.uiLanguageDirection?zu.redo:zu.undo;this._addButtonsToFactory("undo",n("Undo"),"CTRL+Z",i),this._addButtonsToFactory("redo",n("Redo"),"CTRL+Y",o)}_addButtonsToFactory(t,e,n,i){const o=this.editor;o.ui.componentFactory.add(t,(()=>{const o=this._createButton(wm,t,e,n,i);return o.set({tooltip:!0}),o})),o.ui.componentFactory.add("menuBar:"+t,(()=>this._createButton(Zm,t,e,n,i)))}_createButton(t,e,n,i,o){const r=this.editor,s=r.locale,a=r.commands.get(e),l=new t(s);return l.set({label:n,icon:o,keystroke:i}),l.bind("isEnabled").to(a,"isEnabled"),this.listenTo(l,"execute",(()=>{r.execute(e),r.editing.view.focus()})),l}}class _C extends Lr{static get requires(){return[wC,AC]}static get pluginName(){return"Undo"}}function CC(t){return t.createContainerElement("figure",{class:"image"},[t.createEmptyElement("img"),t.createSlot("children")])}function vC(t,e){const n=t.plugins.get("ImageUtils"),i=t.plugins.has("ImageInlineEditing")&&t.plugins.has("ImageBlockEditing");return t=>{if(!n.isInlineImageView(t))return null;if(!i)return o(t);return("block"==t.getStyle("display")||t.findAncestor(n.isBlockImageView)?"imageBlock":"imageInline")!==e?null:o(t)};function o(t){const e={name:!0};return t.hasAttribute("src")&&(e.attributes=["src"]),e}}function yC(t,e){const n=Er(e.getSelectedBlocks());return!n||t.isObject(n)||n.isEmpty&&"listItem"!=n.name?"imageBlock":"imageInline"}function xC(t){return t&&t.endsWith("px")?parseInt(t):null}function EC(t){const e=xC(t.getStyle("width")),n=xC(t.getStyle("height"));return!(!e||!n)}const BC=/^(image|image-inline)$/;class DC extends Lr{_domEmitter=new(ro());static get pluginName(){return"ImageUtils"}isImage(t){return this.isInlineImage(t)||this.isBlockImage(t)}isInlineImageView(t){return!!t&&t.is("element","img")}isBlockImageView(t){return!!t&&t.is("element","figure")&&t.hasClass("image")}insertImage(t={},e=null,n=null,i={}){const o=this.editor,r=o.model,s=r.document.selection,a=SC(o,e||s,n);t={...Object.fromEntries(s.getAttributes()),...t};for(const e in t)r.schema.checkAttribute(a,e)||delete t[e];return r.change((n=>{const{setImageSizes:o=!0}=i,s=n.createElement(a,t);return r.insertObject(s,e,null,{setSelection:"on",findOptimalPosition:e||"imageInline"==a?void 0:"auto"}),s.parent?(o&&this.setImageNaturalSizeAttributes(s),s):null}))}setImageNaturalSizeAttributes(t){const e=t.getAttribute("src");e&&(t.getAttribute("width")||t.getAttribute("height")||this.editor.model.change((n=>{const i=new Zn.window.Image;this._domEmitter.listenTo(i,"load",(()=>{t.getAttribute("width")||t.getAttribute("height")||this.editor.model.enqueueChange(n.batch,(e=>{e.setAttribute("width",i.naturalWidth,t),e.setAttribute("height",i.naturalHeight,t)})),this._domEmitter.stopListening(i,"load")})),i.src=e})))}getClosestSelectedImageWidget(t){const e=t.getFirstPosition();if(!e)return null;const n=t.getSelectedElement();if(n&&this.isImageWidget(n))return n;let i=e.parent;for(;i;){if(i.is("element")&&this.isImageWidget(i))return i;i=i.parent}return null}getClosestSelectedImageElement(t){const e=t.getSelectedElement();return this.isImage(e)?e:t.getFirstPosition().findAncestor("imageBlock")}getImageWidgetFromImageView(t){return t.findAncestor({classes:BC})}isImageAllowed(){const t=this.editor.model.document.selection;return function(t,e){const n=SC(t,e,null);if("imageBlock"==n){const n=function(t,e){const n=__(t,e),i=n.start.parent;if(i.isEmpty&&!i.is("element","$root"))return i.parent;return i}(e,t.model);if(t.model.schema.checkChild(n,"imageBlock"))return!0}else if(t.model.schema.checkChild(e.focus,"imageInline"))return!0;return!1}(this.editor,t)&&function(t){return[...t.focus.getAncestors()].every((t=>!t.is("element","imageBlock")))}(t)}toImageWidget(t,e,n){e.setCustomProperty("image",!0,t);return f_(t,e,{label:()=>{const e=this.findViewImgElement(t).getAttribute("alt");return e?`${e} ${n}`:n}})}isImageWidget(t){return!!t.getCustomProperty("image")&&p_(t)}isBlockImage(t){return!!t&&t.is("element","imageBlock")}isInlineImage(t){return!!t&&t.is("element","imageInline")}findViewImgElement(t){if(this.isInlineImageView(t))return t;const e=this.editor.editing.view;for(const{item:n}of e.createRangeIn(t))if(this.isInlineImageView(n))return n}destroy(){return this._domEmitter.stopListening(),super.destroy()}}function SC(t,e,n){const i=t.model.schema,o=t.config.get("image.insert.type");return t.plugins.has("ImageBlockEditing")?t.plugins.has("ImageInlineEditing")?n||("inline"===o?"imageInline":"auto"!==o?"imageBlock":e.is("selection")?yC(i,e):i.checkChild(e,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}new RegExp(String(/^(http(s)?:\/\/)?[\w-]+\.[\w.~:/[\]@!$&'()*+,;=%-]+/.source+/\.(jpg|jpeg|png|gif|ico|webp|JPG|JPEG|PNG|GIF|ICO|WEBP)/.source+/(\?[\w.~:/[\]@!$&'()*+,;=%-]*)?/.source+/(#[\w.~:/[\]@!$&'()*+,;=%-]*)?$/.source));class TC extends Mr{refresh(){const t=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!t,this.isEnabled&&t.hasAttribute("alt")?this.value=t.getAttribute("alt"):this.value=!1}execute(t){const e=this.editor,n=e.plugins.get("ImageUtils"),i=e.model,o=n.getClosestSelectedImageElement(i.document.selection);i.change((e=>{e.setAttribute("alt",t.newValue,o)}))}}class IC extends Lr{static get requires(){return[DC]}static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new TC(this.editor))}}var PC=n(4062),FC={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(PC.A,FC);PC.A.locals;class RC extends lm{focusTracker;keystrokes;labeledInput;saveButtonView;cancelButtonView;_focusables;_focusCycler;constructor(t){super(t);const e=this.locale.t;this.focusTracker=new Br,this.keystrokes=new Dr,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(e("Save"),zu.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(e("Cancel"),zu.cancel,"ck-button-cancel","cancel"),this._focusables=new Mu,this._focusCycler=new ym({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-text-alternative-form","ck-responsive-form"],tabindex:"-1"},children:[this.labeledInput,this.saveButtonView,this.cancelButtonView]})}render(){super.render(),this.keystrokes.listenTo(this.element),hm({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createButton(t,e,n,i){const o=new wm(this.locale);return o.set({label:t,icon:e,tooltip:!0}),o.extendTemplate({attributes:{class:n}}),i&&o.delegate("execute").to(this,i),o}_createLabeledInputView(){const t=this.locale.t,e=new Sg(this.locale,Vp);return e.label=t("Text alternative"),e}}function VC(t){const e=t.editing.view,n=rp.defaultPositions,i=t.plugins.get("ImageUtils");return{target:e.domConverter.mapViewToDom(i.getClosestSelectedImageWidget(e.document.selection)),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast,n.viewportStickyNorth]}}class LC extends Lr{_balloon;_form;static get requires(){return[yk]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton()}destroy(){super.destroy(),this._form&&this._form.destroy()}_createButton(){const t=this.editor,e=t.t;t.ui.componentFactory.add("imageTextAlternative",(n=>{const i=t.commands.get("imageTextAlternative"),o=new wm(n);return o.set({label:e("Change image text alternative"),icon:zu.textAlternative,tooltip:!0}),o.bind("isEnabled").to(i,"isEnabled"),o.bind("isOn").to(i,"value",(t=>!!t)),this.listenTo(o,"execute",(()=>{this._showForm()})),o}))}_createForm(){const t=this.editor,e=t.editing.view.document,n=t.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new(dm(RC))(t.locale),this._form.render(),this.listenTo(this._form,"submit",(()=>{t.execute("imageTextAlternative",{newValue:this._form.labeledInput.fieldView.element.value}),this._hideForm(!0)})),this.listenTo(this._form,"cancel",(()=>{this._hideForm(!0)})),this._form.keystrokes.set("Esc",((t,e)=>{this._hideForm(!0),e()})),this.listenTo(t.ui,"update",(()=>{n.getClosestSelectedImageWidget(e.selection)?this._isVisible&&function(t){const e=t.plugins.get("ContextualBalloon");if(t.plugins.get("ImageUtils").getClosestSelectedImageWidget(t.editing.view.document.selection)){const n=VC(t);e.updatePosition(n)}}(t):this._hideForm(!0)})),cm({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;this._form||this._createForm();const t=this.editor,e=t.commands.get("imageTextAlternative"),n=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:VC(t)}),n.fieldView.value=n.fieldView.element.value=e.value||"",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(t=!1){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),t&&this.editor.editing.view.focus())}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}class zC extends Lr{static get requires(){return[IC,LC]}static get pluginName(){return"ImageTextAlternative"}}function MC(t,e){const n=(e,n,i)=>{if(!i.consumable.consume(n.item,e.name))return;const o=i.writer,r=i.mapper.toViewElement(n.item),s=t.findViewImgElement(r);null===n.attributeNewValue?(o.removeAttribute("srcset",s),o.removeAttribute("sizes",s)):n.attributeNewValue&&(o.setAttribute("srcset",n.attributeNewValue,s),o.setAttribute("sizes","100vw",s))};return t=>{t.on(`attribute:srcset:${e}`,n)}}function OC(t,e,n){const i=(e,n,i)=>{if(!i.consumable.consume(n.item,e.name))return;const o=i.writer,r=i.mapper.toViewElement(n.item),s=t.findViewImgElement(r);o.setAttribute(n.attributeKey,n.attributeNewValue||"",s)};return t=>{t.on(`attribute:${n}:${e}`,i)}}class NC extends Xa{observe(t){this.listenTo(t,"load",((t,e)=>{const n=e.target;this.checkShouldIgnoreEventFromTarget(n)||"IMG"==n.tagName&&this._fireEvents(e)}),{useCapture:!0})}stopObserving(t){this.stopListening(t)}_fireEvents(t){this.isEnabled&&(this.document.fire("layoutChanged"),this.document.fire("imageLoaded",t))}}class HC extends Mr{constructor(t){super(t);const e=t.config.get("image.insert.type");t.plugins.has("ImageBlockEditing")||"block"===e&&wi("image-block-plugin-required"),t.plugins.has("ImageInlineEditing")||"inline"===e&&wi("image-inline-plugin-required")}refresh(){const t=this.editor.plugins.get("ImageUtils");this.isEnabled=t.isImageAllowed()}execute(t){const e=tr(t.source),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),o=Object.fromEntries(n.getAttributes());e.forEach(((e,r)=>{const s=n.getSelectedElement();if("string"==typeof e&&(e={src:e}),r&&s&&i.isImage(s)){const n=this.editor.model.createPositionAfter(s);i.insertImage({...e,...o},n,t.imageType)}else i.insertImage({...e,...o},null,t.imageType)}))}}class jC extends Mr{constructor(t){super(t),this.decorate("cleanupImage")}refresh(){const t=this.editor.plugins.get("ImageUtils"),e=this.editor.model.document.selection.getSelectedElement();this.isEnabled=t.isImage(e),this.value=this.isEnabled?e.getAttribute("src"):null}execute(t){const e=this.editor.model.document.selection.getSelectedElement(),n=this.editor.plugins.get("ImageUtils");this.editor.model.change((i=>{i.setAttribute("src",t.source,e),this.cleanupImage(i,e),n.setImageNaturalSizeAttributes(e)}))}cleanupImage(t,e){t.removeAttribute("srcset",e),t.removeAttribute("sizes",e),t.removeAttribute("sources",e),t.removeAttribute("width",e),t.removeAttribute("height",e),t.removeAttribute("alt",e)}}class qC extends Lr{static get requires(){return[DC]}static get pluginName(){return"ImageEditing"}init(){const t=this.editor,e=t.conversion;t.editing.view.addObserver(NC),e.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:"srcset"});const n=new HC(t),i=new jC(t);t.commands.add("insertImage",n),t.commands.add("replaceImageSource",i),t.commands.add("imageInsert",n)}}class WC extends Lr{static get requires(){return[DC]}static get pluginName(){return"ImageSizeAttributes"}afterInit(){this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline")}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:["width","height"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["width","height"]})}_registerConverters(t){const e=this.editor,n=e.plugins.get("ImageUtils"),i="imageBlock"===t?"figure":"img";function o(e,i,o,r){e.on(`attribute:${i}:${t}`,((e,i,s)=>{if(!s.consumable.consume(i.item,e.name))return;const a=s.writer,l=s.mapper.toViewElement(i.item),c=n.findViewImgElement(l);if(null!==i.attributeNewValue?a.setAttribute(o,i.attributeNewValue,c):a.removeAttribute(o,c),i.item.hasAttribute("sources"))return;const d=i.item.hasAttribute("resizedWidth");if("imageInline"===t&&!d&&!r)return;const h=i.item.getAttribute("width"),u=i.item.getAttribute("height");h&&u&&a.setStyle("aspect-ratio",`${h}/${u}`,c)}))}e.conversion.for("upcast").attributeToAttribute({view:{name:i,styles:{width:/.+/}},model:{key:"width",value:t=>EC(t)?xC(t.getStyle("width")):null}}).attributeToAttribute({view:{name:i,key:"width"},model:"width"}).attributeToAttribute({view:{name:i,styles:{height:/.+/}},model:{key:"height",value:t=>EC(t)?xC(t.getStyle("height")):null}}).attributeToAttribute({view:{name:i,key:"height"},model:"height"}),e.conversion.for("editingDowncast").add((t=>{o(t,"width","width",!0),o(t,"height","height",!0)})),e.conversion.for("dataDowncast").add((t=>{o(t,"width","width",!1),o(t,"height","height",!1)}))}}class UC extends Mr{_modelElementName;constructor(t,e){super(t),this._modelElementName=e}refresh(){const t=this.editor.plugins.get("ImageUtils"),e=t.getClosestSelectedImageElement(this.editor.model.document.selection);"imageBlock"===this._modelElementName?this.isEnabled=t.isInlineImage(e):this.isEnabled=t.isBlockImage(e)}execute(t={}){const e=this.editor,n=this.editor.model,i=e.plugins.get("ImageUtils"),o=i.getClosestSelectedImageElement(n.document.selection),r=Object.fromEntries(o.getAttributes());return r.src||r.uploadId?n.change((e=>{const{setImageSizes:s=!0}=t,a=Array.from(n.markers).filter((t=>t.getRange().containsItem(o))),l=i.insertImage(r,n.createSelection(o,"on"),this._modelElementName,{setImageSizes:s});if(!l)return null;const c=e.createRangeOn(l);for(const t of a){const n=t.getRange(),i="$graveyard"!=n.root.rootName?n.getJoined(c,!0):c;e.updateMarker(t,{range:i})}return{oldElement:o,newElement:l}})):null}}var $C=n(7378),GC={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()($C.A,GC);$C.A.locals;class KC extends Lr{static get requires(){return[DC]}static get pluginName(){return"ImagePlaceholder"}afterInit(){this._setupSchema(),this._setupConversion(),this._setupLoadListener()}_setupSchema(){const t=this.editor.model.schema;t.isRegistered("imageBlock")&&t.extend("imageBlock",{allowAttributes:["placeholder"]}),t.isRegistered("imageInline")&&t.extend("imageInline",{allowAttributes:["placeholder"]})}_setupConversion(){const t=this.editor,e=t.conversion,n=t.plugins.get("ImageUtils");e.for("editingDowncast").add((t=>{t.on("attribute:placeholder",((t,e,i)=>{if(!i.consumable.test(e.item,t.name))return;if(!e.item.is("element","imageBlock")&&!e.item.is("element","imageInline"))return;i.consumable.consume(e.item,t.name);const o=i.writer,r=i.mapper.toViewElement(e.item),s=n.findViewImgElement(r);e.attributeNewValue?(o.addClass("image_placeholder",s),o.setStyle("background-image",`url(${e.attributeNewValue})`,s),o.setCustomProperty("editingPipeline:doNotReuseOnce",!0,s)):(o.removeClass("image_placeholder",s),o.removeStyle("background-image",s))}))}))}_setupLoadListener(){const t=this.editor,e=t.model,n=t.editing,i=n.view,o=t.plugins.get("ImageUtils");i.addObserver(NC),this.listenTo(i.document,"imageLoaded",((t,r)=>{const s=i.domConverter.mapDomToView(r.target);if(!s)return;const a=o.getImageWidgetFromImageView(s);if(!a)return;const l=n.mapper.toModelElement(a);l&&l.hasAttribute("placeholder")&&e.enqueueChange({isUndoable:!1},(t=>{t.removeAttribute("placeholder",l)}))}))}}class YC extends Lr{static get requires(){return[qC,WC,DC,KC,l_]}static get pluginName(){return"ImageBlockEditing"}init(){const t=this.editor;t.model.schema.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]}),this._setupConversion(),t.plugins.has("ImageInlineEditing")&&(t.commands.add("imageTypeBlock",new UC(this.editor,"imageBlock")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToStructure({model:"imageBlock",view:(t,{writer:e})=>CC(e)}),n.for("editingDowncast").elementToStructure({model:"imageBlock",view:(t,{writer:n})=>i.toImageWidget(CC(n),n,e("image widget"))}),n.for("downcast").add(OC(i,"imageBlock","src")).add(OC(i,"imageBlock","alt")).add(MC(i,"imageBlock")),n.for("upcast").elementToElement({view:vC(t,"imageBlock"),model:(t,{writer:e})=>e.createElement("imageBlock",t.hasAttribute("src")?{src:t.getAttribute("src")}:void 0)}).add(function(t){const e=(e,n,i)=>{if(!i.consumable.test(n.viewItem,{name:!0,classes:"image"}))return;const o=t.findViewImgElement(n.viewItem);if(!o||!i.consumable.test(o,{name:!0}))return;i.consumable.consume(n.viewItem,{name:!0,classes:"image"});const r=Er(i.convertItem(o,n.modelCursor).modelRange.getItems());r?(i.convertChildren(n.viewItem,r),i.updateConversionResult(r,n)):i.consumable.revert(n.viewItem,{name:!0,classes:"image"})};return t=>{t.on("element:figure",e)}}(i))}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),o=t.plugins.get("ClipboardPipeline");this.listenTo(o,"inputTransformation",((o,r)=>{const s=Array.from(r.content.getChildren());let a;if(!s.every(i.isInlineImageView))return;a=r.targetRanges?t.editing.mapper.toModelRange(r.targetRanges[0]):e.document.selection.getFirstRange();const l=e.createSelection(a);if("imageBlock"===yC(e.schema,l)){const t=new jh(n.document),e=s.map((e=>t.createElement("figure",{class:"image"},e)));r.content=t.createDocumentFragment(e)}})),this.listenTo(o,"contentInsertion",((t,n)=>{"paste"===n.method&&e.change((t=>{const e=t.createRangeIn(n.content);for(const t of e.getItems())t.is("element","imageBlock")&&i.setImageNaturalSizeAttributes(t)}))}))}}var ZC=n(3350),JC={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(ZC.A,JC);ZC.A.locals;class QC extends lm{focusTracker;keystrokes;_focusables;_focusCycler;children;constructor(t,e=[]){super(t),this.focusTracker=new Br,this.keystrokes=new Dr,this._focusables=new Mu,this.children=this.createCollection(),this._focusCycler=new ym({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});for(const t of e)this.children.add(t),this._focusables.add(t),t instanceof mg&&this._focusables.addMany(t.children);this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:-1},children:this.children})}render(){super.render(),hm({view:this});for(const t of this._focusables)this.focusTracker.add(t.element);this.keystrokes.listenTo(this.element);const t=t=>t.stopPropagation();this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}}class XC extends Lr{static get pluginName(){return"ImageInsertUI"}static get requires(){return[DC]}dropdownView;_integrations=new Map;constructor(t){super(t),t.config.define("image.insert.integrations",["upload","assetManager","url"])}init(){const t=this.editor,e=t.model.document.selection,n=t.plugins.get("ImageUtils");this.set("isImageSelected",!1),this.listenTo(t.model.document,"change",(()=>{this.isImageSelected=n.isImage(e.getSelectedElement())}));const i=t=>this._createToolbarComponent(t);t.ui.componentFactory.add("insertImage",i),t.ui.componentFactory.add("imageInsert",i),t.ui.componentFactory.add("menuBar:insertImage",(t=>this._createMenuBarComponent(t)))}registerIntegration({name:t,observable:e,buttonViewCreator:n,formViewCreator:i,menuBarButtonViewCreator:o,requiresForm:r=!1}){this._integrations.has(t)&&wi("image-insert-integration-exists",{name:t}),this._integrations.set(t,{observable:e,buttonViewCreator:n,menuBarButtonViewCreator:o,formViewCreator:i,requiresForm:r})}_createToolbarComponent(t){const e=this.editor,n=t.t,i=this._prepareIntegrations();if(!i.length)return null;let o;const r=i[0];if(1==i.length){if(!r.requiresForm)return r.buttonViewCreator(!0);o=r.buttonViewCreator(!0)}else{const e=r.buttonViewCreator(!1);o=new vp(t,e),o.tooltip=!0,o.bind("label").to(this,"isImageSelected",(t=>n(t?"Replace image":"Insert image")))}const s=this.dropdownView=Dp(t,o),a=i.map((({observable:t})=>"function"==typeof t?t():t));return s.bind("isEnabled").toMany(a,"isEnabled",((...t)=>t.some((t=>t)))),s.once("change:isOpen",(()=>{const t=i.map((({formViewCreator:t})=>t(1==i.length))),n=new QC(e.locale,t);s.panelView.children.add(n)})),s}_createMenuBarComponent(t){const e=t.t,n=this._prepareIntegrations();if(!n.length)return null;let i;const o=n[0];if(1==n.length)i=o.menuBarButtonViewCreator(!0);else{i=new ob(t);const o=new rb(t);i.panelView.children.add(o),i.buttonView.set({icon:zu.image,label:e("Image")});for(const e of n){const n=new Kf(t,i),r=e.menuBarButtonViewCreator(!1);n.children.add(r),o.items.add(n)}}return i}_prepareIntegrations(){const t=this.editor.config.get("image.insert.integrations"),e=[];if(!t.length)return wi("image-insert-integrations-not-specified"),e;for(const n of t)this._integrations.has(n)?e.push(this._integrations.get(n)):["upload","assetManager","url"].includes(n)||wi("image-insert-unknown-integration",{item:n});return e.length||wi("image-insert-integrations-not-registered"),e}}var tv=n(265),ev={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(tv.A,ev);tv.A.locals;class nv extends Lr{static get requires(){return[YC,O_,zC,XC]}static get pluginName(){return"ImageBlock"}}class iv extends Lr{static get requires(){return[qC,WC,DC,KC,l_]}static get pluginName(){return"ImageInlineEditing"}init(){const t=this.editor;t.model.schema.register("imageInline",{inheritAllFrom:"$inlineObject",allowAttributes:["alt","src","srcset"],disallowIn:["caption"]}),this._setupConversion(),t.plugins.has("ImageBlockEditing")&&(t.commands.add("imageTypeInline",new UC(this.editor,"imageInline")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToElement({model:"imageInline",view:(t,{writer:e})=>e.createEmptyElement("img")}),n.for("editingDowncast").elementToStructure({model:"imageInline",view:(t,{writer:n})=>i.toImageWidget(function(t){return t.createContainerElement("span",{class:"image-inline"},t.createEmptyElement("img"))}(n),n,e("image widget"))}),n.for("downcast").add(OC(i,"imageInline","src")).add(OC(i,"imageInline","alt")).add(MC(i,"imageInline")),n.for("upcast").elementToElement({view:vC(t,"imageInline"),model:(t,{writer:e})=>e.createElement("imageInline",t.hasAttribute("src")?{src:t.getAttribute("src")}:void 0)})}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),o=t.plugins.get("ClipboardPipeline");this.listenTo(o,"inputTransformation",((o,r)=>{const s=Array.from(r.content.getChildren());let a;if(!s.every(i.isBlockImageView))return;a=r.targetRanges?t.editing.mapper.toModelRange(r.targetRanges[0]):e.document.selection.getFirstRange();const l=e.createSelection(a);if("imageInline"===yC(e.schema,l)){const t=new jh(n.document),e=s.map((e=>1===e.childCount?(Array.from(e.getAttributes()).forEach((n=>t.setAttribute(...n,i.findViewImgElement(e)))),e.getChild(0)):e));r.content=t.createDocumentFragment(e)}})),this.listenTo(o,"contentInsertion",((t,n)=>{"paste"===n.method&&e.change((t=>{const e=t.createRangeIn(n.content);for(const t of e.getItems())t.is("element","imageInline")&&i.setImageNaturalSizeAttributes(t)}))}))}}class ov extends Lr{static get requires(){return[iv,O_,zC,XC]}static get pluginName(){return"ImageInline"}}class rv extends Lr{static get pluginName(){return"ImageCaptionUtils"}static get requires(){return[DC]}getCaptionFromImageModelElement(t){for(const e of t.getChildren())if(e&&e.is("element","caption"))return e;return null}getCaptionFromModelSelection(t){const e=this.editor.plugins.get("ImageUtils"),n=t.getFirstPosition().findAncestor("caption");return n&&e.isBlockImage(n.parent)?n:null}matchImageCaptionViewElement(t){const e=this.editor.plugins.get("ImageUtils");return"figcaption"==t.name&&e.isBlockImageView(t.parent)?{name:!0}:null}}class sv extends Mr{refresh(){const t=this.editor,e=t.plugins.get("ImageCaptionUtils"),n=t.plugins.get("ImageUtils");if(!t.plugins.has(YC))return this.isEnabled=!1,void(this.value=!1);const i=t.model.document.selection,o=i.getSelectedElement();if(!o){const t=e.getCaptionFromModelSelection(i);return this.isEnabled=!!t,void(this.value=!!t)}this.isEnabled=n.isImage(o),this.isEnabled?this.value=!!e.getCaptionFromImageModelElement(o):this.value=!1}execute(t={}){const{focusCaptionOnShow:e}=t;this.editor.model.change((t=>{this.value?this._hideImageCaption(t):this._showImageCaption(t,e)}))}_showImageCaption(t,e){const n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageCaptionEditing"),o=this.editor.plugins.get("ImageUtils");let r=n.getSelectedElement();const s=i._getSavedCaption(r);o.isInlineImage(r)&&(this.editor.execute("imageTypeBlock"),r=n.getSelectedElement());const a=s||t.createElement("caption");t.append(a,r),e&&t.setSelection(a,"in")}_hideImageCaption(t){const e=this.editor,n=e.model.document.selection,i=e.plugins.get("ImageCaptionEditing"),o=e.plugins.get("ImageCaptionUtils");let r,s=n.getSelectedElement();s?r=o.getCaptionFromImageModelElement(s):(r=o.getCaptionFromModelSelection(n),s=r.parent),i._saveCaption(s,r),t.setSelection(s,"on"),t.remove(r)}}class av extends Lr{static get requires(){return[DC,rv]}static get pluginName(){return"ImageCaptionEditing"}_savedCaptionsMap;constructor(t){super(t),this._savedCaptionsMap=new WeakMap}init(){const t=this.editor,e=t.model.schema;e.isRegistered("caption")?e.extend("caption",{allowIn:"imageBlock"}):e.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:!0}),t.commands.add("toggleImageCaption",new sv(this.editor)),this._setupConversion(),this._setupImageTypeCommandsIntegration(),this._registerCaptionReconversion()}_setupConversion(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageUtils"),i=t.plugins.get("ImageCaptionUtils"),o=t.t;t.conversion.for("upcast").elementToElement({view:t=>i.matchImageCaptionViewElement(t),model:"caption"}),t.conversion.for("dataDowncast").elementToElement({model:"caption",view:(t,{writer:e})=>n.isBlockImage(t.parent)?e.createContainerElement("figcaption"):null}),t.conversion.for("editingDowncast").elementToElement({model:"caption",view:(t,{writer:i})=>{if(!n.isBlockImage(t.parent))return null;const r=i.createEditableElement("figcaption");i.setCustomProperty("imageCaption",!0,r),r.placeholder=o("Enter image caption"),Jr({view:e,element:r,keepOnFocus:!0});const s=t.parent.getAttribute("alt");return A_(r,i,{label:s?o("Caption for image: %0",[s]):o("Caption for the image")})}})}_setupImageTypeCommandsIntegration(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.plugins.get("ImageCaptionUtils"),i=t.commands.get("imageTypeInline"),o=t.commands.get("imageTypeBlock"),r=t=>{if(!t.return)return;const{oldElement:i,newElement:o}=t.return;if(!i)return;if(e.isBlockImage(i)){const t=n.getCaptionFromImageModelElement(i);if(t)return void this._saveCaption(o,t)}const r=this._getSavedCaption(i);r&&this._saveCaption(o,r)};i&&this.listenTo(i,"execute",r,{priority:"low"}),o&&this.listenTo(o,"execute",r,{priority:"low"})}_getSavedCaption(t){const e=this._savedCaptionsMap.get(t);return e?ql.fromJSON(e):null}_saveCaption(t,e){this._savedCaptionsMap.set(t,e.toJSON())}_registerCaptionReconversion(){const t=this.editor,e=t.model,n=t.plugins.get("ImageUtils"),i=t.plugins.get("ImageCaptionUtils");e.document.on("change:data",(()=>{const o=e.document.differ.getChanges();for(const e of o){if("alt"!==e.attributeKey)continue;const o=e.range.start.nodeAfter;if(n.isBlockImage(o)){const e=i.getCaptionFromImageModelElement(o);if(!e)return;t.editing.reconvertItem(e)}}}))}}class lv extends Lr{static get requires(){return[rv]}static get pluginName(){return"ImageCaptionUI"}init(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageCaptionUtils"),i=t.t;t.ui.componentFactory.add("toggleImageCaption",(o=>{const r=t.commands.get("toggleImageCaption"),s=new wm(o);return s.set({icon:zu.caption,tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(r,"value","isEnabled"),s.bind("label").to(r,"value",(t=>i(t?"Toggle caption off":"Toggle caption on"))),this.listenTo(s,"execute",(()=>{t.execute("toggleImageCaption",{focusCaptionOnShow:!0});const i=n.getCaptionFromModelSelection(t.model.document.selection);if(i){const n=t.editing.mapper.toViewElement(i);e.scrollToTheSelection(),e.change((t=>{t.addClass("image__caption_highlighted",n)}))}t.editing.view.focus()})),s}))}}var cv=n(5247),dv={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(cv.A,dv);cv.A.locals;function hv(t){const e=t.map((t=>t.replace("+","\\+")));return new RegExp(`^image\\/(${e.join("|")})$`)}function uv(t){return new Promise(((e,n)=>{const i=t.getAttribute("src");fetch(i).then((t=>t.blob())).then((t=>{const n=mv(t,i),o=n.replace("image/",""),r=new File([t],`image.${o}`,{type:n});e(r)})).catch((t=>t&&"TypeError"===t.name?function(t){return function(t){return new Promise(((e,n)=>{const i=Zn.document.createElement("img");i.addEventListener("load",(()=>{const t=Zn.document.createElement("canvas");t.width=i.width,t.height=i.height;t.getContext("2d").drawImage(i,0,0),t.toBlob((t=>t?e(t):n()))})),i.addEventListener("error",(()=>n())),i.src=t}))}(t).then((e=>{const n=mv(e,t),i=n.replace("image/","");return new File([e],`image.${i}`,{type:n})}))}(i).then(e).catch(n):n(t)))}))}function mv(t,e){return t.type?t.type:e.match(/data:(image\/\w+);base64/)?e.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}class gv extends Lr{static get pluginName(){return"ImageUploadUI"}init(){const t=this.editor;t.ui.componentFactory.add("uploadImage",(()=>this._createToolbarButton())),t.ui.componentFactory.add("imageUpload",(()=>this._createToolbarButton())),t.ui.componentFactory.add("menuBar:uploadImage",(()=>this._createMenuBarButton("standalone"))),t.plugins.has("ImageInsertUI")&&t.plugins.get("ImageInsertUI").registerIntegration({name:"upload",observable:()=>t.commands.get("uploadImage"),buttonViewCreator:()=>this._createToolbarButton(),formViewCreator:()=>this._createDropdownButton(),menuBarButtonViewCreator:t=>this._createMenuBarButton(t?"insertOnly":"insertNested")})}_createButton(t){const e=this.editor,n=e.locale,i=e.commands.get("uploadImage"),o=e.config.get("image.upload.types"),r=hv(o),s=new t(e.locale),a=n.t;return s.set({acceptedType:o.map((t=>`image/${t}`)).join(","),allowMultipleFiles:!0,label:a("Upload from computer"),icon:zu.imageUpload}),s.bind("isEnabled").to(i),s.on("done",((t,n)=>{const i=Array.from(n).filter((t=>r.test(t.type)));i.length&&(e.execute("uploadImage",{file:i}),e.editing.view.focus())})),s}_createToolbarButton(){const t=this.editor.locale.t,e=this.editor.plugins.get("ImageInsertUI"),n=this.editor.commands.get("uploadImage"),i=this._createButton(sg);return i.tooltip=!0,i.bind("label").to(e,"isImageSelected",n,"isAccessAllowed",((e,n)=>t(n?e?"Replace image from computer":"Upload image from computer":"You have no image upload permissions."))),i}_createDropdownButton(){const t=this.editor.locale.t,e=this.editor.plugins.get("ImageInsertUI"),n=this._createButton(sg);return n.withText=!0,n.bind("label").to(e,"isImageSelected",(e=>t(e?"Replace from computer":"Upload from computer"))),n.on("execute",(()=>{e.dropdownView.isOpen=!1})),n}_createMenuBarButton(t){const e=this.editor.locale.t,n=this._createButton(ab);switch(n.withText=!0,t){case"standalone":n.label=e("Image from computer");break;case"insertOnly":n.label=e("Image");break;case"insertNested":n.label=e("From computer")}return n}}var pv=n(2267),fv={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(pv.A,fv);pv.A.locals;var kv=n(7693),bv={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(kv.A,bv);kv.A.locals;var wv=n(1559),Av={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(wv.A,Av);wv.A.locals;class _v extends Lr{static get pluginName(){return"ImageUploadProgress"}placeholder;constructor(t){super(t),this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const t=this.editor;t.plugins.has("ImageBlockEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",this.uploadStatusChange),t.plugins.has("ImageInlineEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",this.uploadStatusChange)}uploadStatusChange=(t,e,n)=>{const i=this.editor,o=e.item,r=o.getAttribute("uploadId");if(!n.consumable.consume(e.item,t.name))return;const s=i.plugins.get("ImageUtils"),a=i.plugins.get(Mb),l=r?e.attributeNewValue:null,c=this.placeholder,d=i.editing.mapper.toViewElement(o),h=n.writer;if("reading"==l)return Cv(d,h),void vv(s,c,d,h);if("uploading"==l){const t=a.loaders.get(r);return Cv(d,h),void(t?(yv(d,h),function(t,e,n,i){const o=function(t){const e=t.createUIElement("div",{class:"ck-progress-bar"});return t.setCustomProperty("progressBar",!0,e),e}(e);e.insert(e.createPositionAt(t,"end"),o),n.on("change:uploadedPercent",((t,e,n)=>{i.change((t=>{t.setStyle("width",n+"%",o)}))}))}(d,h,t,i.editing.view),function(t,e,n,i){if(i.data){const o=t.findViewImgElement(e);n.setAttribute("src",i.data,o)}}(s,d,h,t)):vv(s,c,d,h))}"complete"==l&&a.loaders.get(r)&&function(t,e,n){const i=e.createUIElement("div",{class:"ck-image-upload-complete-icon"});e.insert(e.createPositionAt(t,"end"),i),setTimeout((()=>{n.change((t=>t.remove(t.createRangeOn(i))))}),3e3)}(d,h,i.editing.view),function(t,e){Ev(t,e,"progressBar")}(d,h),yv(d,h),function(t,e){e.removeClass("ck-appear",t)}(d,h)}}function Cv(t,e){t.hasClass("ck-appear")||e.addClass("ck-appear",t)}function vv(t,e,n,i){n.hasClass("ck-image-upload-placeholder")||i.addClass("ck-image-upload-placeholder",n);const o=t.findViewImgElement(n);o.getAttribute("src")!==e&&i.setAttribute("src",e,o),xv(n,"placeholder")||i.insert(i.createPositionAfter(o),function(t){const e=t.createUIElement("div",{class:"ck-upload-placeholder-loader"});return t.setCustomProperty("placeholder",!0,e),e}(i))}function yv(t,e){t.hasClass("ck-image-upload-placeholder")&&e.removeClass("ck-image-upload-placeholder",t),Ev(t,e,"placeholder")}function xv(t,e){for(const n of t.getChildren())if(n.getCustomProperty(e))return n}function Ev(t,e,n){const i=xv(t,n);i&&e.remove(e.createRangeOn(i))}class Bv extends Mr{constructor(t){super(t),this.set("isAccessAllowed",!0)}refresh(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.model.document.selection.getSelectedElement();this.isEnabled=e.isImageAllowed()||e.isImage(n)}execute(t){const e=tr(t.file),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),o=Object.fromEntries(n.getAttributes());e.forEach(((t,e)=>{const r=n.getSelectedElement();if(e&&r&&i.isImage(r)){const e=this.editor.model.createPositionAfter(r);this._uploadImage(t,o,e)}else this._uploadImage(t,o)}))}_uploadImage(t,e,n){const i=this.editor,o=i.plugins.get(Mb).createLoader(t),r=i.plugins.get("ImageUtils");o&&r.insertImage({...e,uploadId:o.id},n)}}class Dv extends Lr{static get requires(){return[Mb,kk,l_,DC]}static get pluginName(){return"ImageUploadEditing"}_uploadImageElements;constructor(t){super(t),t.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}}),this._uploadImageElements=new Map}init(){const t=this.editor,e=t.model.document,n=t.conversion,i=t.plugins.get(Mb),o=t.plugins.get("ImageUtils"),r=t.plugins.get("ClipboardPipeline"),s=hv(t.config.get("image.upload.types")),a=new Bv(t);t.commands.add("uploadImage",a),t.commands.add("imageUpload",a),n.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"}),this.listenTo(t.editing.view.document,"clipboardInput",((e,n)=>{if(i=n.dataTransfer,Array.from(i.types).includes("text/html")&&""!==i.getData("text/html"))return;var i;const o=Array.from(n.dataTransfer.files).filter((t=>!!t&&s.test(t.type)));if(!o.length)return;e.stop(),t.model.change((e=>{n.targetRanges&&e.setSelection(n.targetRanges.map((e=>t.editing.mapper.toModelRange(e)))),t.execute("uploadImage",{file:o})}));if(!t.commands.get("uploadImage").isAccessAllowed){const e=t.plugins.get("Notification"),n=t.locale.t;e.showWarning(n("You have no image upload permissions."),{namespace:"image"})}})),this.listenTo(r,"inputTransformation",((e,n)=>{const r=Array.from(t.editing.view.createRangeIn(n.content)).map((t=>t.item)).filter((t=>function(t,e){return!(!t.isInlineImageView(e)||!e.getAttribute("src")||!e.getAttribute("src").match(/^data:image\/\w+;base64,/g)&&!e.getAttribute("src").match(/^blob:/g))}(o,t)&&!t.getAttribute("uploadProcessed"))).map((t=>({promise:uv(t),imageElement:t})));if(!r.length)return;const s=new jh(t.editing.view.document);for(const t of r){s.setAttribute("uploadProcessed",!0,t.imageElement);const e=i.createLoader(t.promise);e&&(s.setAttribute("src","",t.imageElement),s.setAttribute("uploadId",e.id,t.imageElement))}})),t.editing.view.document.on("dragover",((t,e)=>{e.preventDefault()})),e.on("change",(()=>{const n=e.differ.getChanges({includeChangesInGraveyard:!0}).reverse(),o=new Set;for(const e of n)if("insert"==e.type&&"$text"!=e.name){const n=e.position.nodeAfter,r="$graveyard"==e.position.root.rootName;for(const e of Sv(t,n)){const t=e.getAttribute("uploadId");if(!t)continue;const n=i.loaders.get(t);n&&(r?o.has(t)||n.abort():(o.add(t),this._uploadImageElements.set(t,e),"idle"==n.status&&this._readAndUpload(n)))}}})),this.on("uploadComplete",((t,{imageElement:e,data:n})=>{const i=n.urls?n.urls:n;this.editor.model.change((t=>{t.setAttribute("src",i.default,e),this._parseAndSetSrcsetAttributeOnImage(i,e,t),o.setImageNaturalSizeAttributes(e)}))}),{priority:"low"})}afterInit(){const t=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&t.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]}),this.editor.plugins.has("ImageInlineEditing")&&t.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]})}_readAndUpload(t){const e=this.editor,n=e.model,i=e.locale.t,o=e.plugins.get(Mb),r=e.plugins.get(kk),s=e.plugins.get("ImageUtils"),a=this._uploadImageElements;return n.enqueueChange({isUndoable:!1},(e=>{e.setAttribute("uploadStatus","reading",a.get(t.id))})),t.read().then((()=>{const o=t.upload(),r=a.get(t.id);if(Xn.isSafari){const t=e.editing.mapper.toViewElement(r),n=s.findViewImgElement(t);e.editing.view.once("render",(()=>{if(!n.parent)return;const t=e.editing.view.domConverter.mapViewToDom(n.parent);if(!t)return;const i=t.style.display;t.style.display="none",t._ckHack=t.offsetHeight,t.style.display=i}))}return e.ui&&e.ui.ariaLiveAnnouncer.announce(i("Uploading image")),n.enqueueChange({isUndoable:!1},(t=>{t.setAttribute("uploadStatus","uploading",r)})),o})).then((o=>{n.enqueueChange({isUndoable:!1},(n=>{const r=a.get(t.id);n.setAttribute("uploadStatus","complete",r),e.ui&&e.ui.ariaLiveAnnouncer.announce(i("Image upload complete")),this.fire("uploadComplete",{data:o,imageElement:r})})),l()})).catch((o=>{if(e.ui&&e.ui.ariaLiveAnnouncer.announce(i("Error during image upload")),"error"!==t.status&&"aborted"!==t.status)throw o;"error"==t.status&&o&&r.showWarning(o,{title:i("Upload failed"),namespace:"upload"}),n.enqueueChange({isUndoable:!1},(e=>{e.remove(a.get(t.id))})),l()}));function l(){n.enqueueChange({isUndoable:!1},(e=>{const n=a.get(t.id);e.removeAttribute("uploadId",n),e.removeAttribute("uploadStatus",n),a.delete(t.id)})),o.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let i=0;const o=Object.keys(t).filter((t=>{const e=parseInt(t,10);if(!isNaN(e))return i=Math.max(i,e),!0})).map((e=>`${t[e]} ${e}w`)).join(", ");if(""!=o){const t={srcset:o};e.hasAttribute("width")||e.hasAttribute("height")||(t.width=i),n.setAttributes(t,e)}}}function Sv(t,e){const n=t.plugins.get("ImageUtils");return Array.from(t.model.createRangeOn(e)).filter((t=>n.isImage(t.item))).map((t=>t.item))}const Tv=function(t,e){return function(n,i){if(null==n)return n;if(!Be(n))return t(n,i);for(var o=n.length,r=e?o:-1,s=Object(n);(e?r--:++r{e.setAttribute("resizedWidth",t.width,o),e.removeAttribute("resizedHeight",o),i.setImageNaturalSizeAttributes(o)}))}}class Rv extends Lr{static get requires(){return[DC]}static get pluginName(){return"ImageResizeEditing"}constructor(t){super(t),t.config.define("image",{resizeUnit:"%",resizeOptions:[{name:"resizeImage:original",value:null,icon:"original"},{name:"resizeImage:custom",value:"custom",icon:"custom"},{name:"resizeImage:25",value:"25",icon:"small"},{name:"resizeImage:50",value:"50",icon:"medium"},{name:"resizeImage:75",value:"75",icon:"large"}]})}init(){const t=this.editor,e=new Fv(t);this._registerConverters("imageBlock"),this._registerConverters("imageInline"),t.commands.add("resizeImage",e),t.commands.add("imageResize",e)}afterInit(){this._registerSchema()}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:["resizedWidth","resizedHeight"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["resizedWidth","resizedHeight"]})}_registerConverters(t){const e=this.editor,n=e.plugins.get("ImageUtils");e.conversion.for("downcast").add((e=>e.on(`attribute:resizedWidth:${t}`,((t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const i=n.writer,o=n.mapper.toViewElement(e.item);null!==e.attributeNewValue?(i.setStyle("width",e.attributeNewValue,o),i.addClass("image_resized",o)):(i.removeStyle("width",o),i.removeClass("image_resized",o))})))),e.conversion.for("dataDowncast").attributeToAttribute({model:{name:t,key:"resizedHeight"},view:t=>({key:"style",value:{height:t}})}),e.conversion.for("editingDowncast").add((e=>e.on(`attribute:resizedHeight:${t}`,((e,i,o)=>{if(!o.consumable.consume(i.item,e.name))return;const r=o.writer,s=o.mapper.toViewElement(i.item),a="imageInline"===t?n.findViewImgElement(s):s;null!==i.attributeNewValue?r.setStyle("height",i.attributeNewValue,a):r.removeStyle("height",a)})))),e.conversion.for("upcast").attributeToAttribute({view:{name:"imageBlock"===t?"figure":"img",styles:{width:/.+/}},model:{key:"resizedWidth",value:t=>EC(t)?null:t.getStyle("width")}}),e.conversion.for("upcast").attributeToAttribute({view:{name:"imageBlock"===t?"figure":"img",styles:{height:/.+/}},model:{key:"resizedHeight",value:t=>EC(t)?null:t.getStyle("height")}})}}const Vv=(()=>({small:zu.objectSizeSmall,medium:zu.objectSizeMedium,large:zu.objectSizeLarge,custom:zu.objectSizeCustom,original:zu.objectSizeFull}))();class Lv extends Lr{static get requires(){return[Rv]}static get pluginName(){return"ImageResizeButtons"}_resizeUnit;constructor(t){super(t),this._resizeUnit=t.config.get("image.resizeUnit")}init(){const t=this.editor,e=t.config.get("image.resizeOptions"),n=t.commands.get("resizeImage");this.bind("isEnabled").to(n);for(const t of e)this._registerImageResizeButton(t);this._registerImageResizeDropdown(e)}_registerImageResizeButton(t){const e=this.editor,{name:n,value:i,icon:o}=t;e.ui.componentFactory.add(n,(n=>{const r=new wm(n),s=e.commands.get("resizeImage"),a=this._getOptionLabelValue(t,!0);if(!Vv[o])throw new bi("imageresizebuttons-missing-icon",e,t);if(r.set({label:a,icon:Vv[o],tooltip:a,isToggleable:!0}),r.bind("isEnabled").to(this),e.plugins.has("ImageCustomResizeUI")&&zv(t)){const t=e.plugins.get("ImageCustomResizeUI");this.listenTo(r,"execute",(()=>{t._showForm(this._resizeUnit)}))}else{const t=i?i+this._resizeUnit:null;r.bind("isOn").to(s,"value",Mv(t)),this.listenTo(r,"execute",(()=>{e.execute("resizeImage",{width:t})}))}return r}))}_registerImageResizeDropdown(t){const e=this.editor,n=e.t,i=t.find((t=>!t.value)),o=o=>{const r=e.commands.get("resizeImage"),s=Dp(o,jg),a=s.buttonView,l=n("Resize image");return a.set({tooltip:l,commandValue:i.value,icon:Vv.medium,isToggleable:!0,label:this._getOptionLabelValue(i),withText:!0,class:"ck-resize-image-button",ariaLabel:l,ariaLabelledBy:void 0}),a.bind("label").to(r,"value",(t=>t&&t.width?t.width:this._getOptionLabelValue(i))),s.bind("isEnabled").to(this),Ip(s,(()=>this._getResizeDropdownListItemDefinitions(t,r)),{ariaLabel:n("Image resize list"),role:"menu"}),this.listenTo(s,"execute",(t=>{"onClick"in t.source?t.source.onClick():(e.execute(t.source.commandName,{width:t.source.commandValue}),e.editing.view.focus())})),s};e.ui.componentFactory.add("resizeImage",o),e.ui.componentFactory.add("imageResize",o)}_getOptionLabelValue(t,e=!1){const n=this.editor.t;return t.label?t.label:e?zv(t)?n("Custom image size"):t.value?n("Resize image to %0",t.value+this._resizeUnit):n("Resize image to the original size"):zv(t)?n("Custom"):t.value?t.value+this._resizeUnit:n("Original")}_getResizeDropdownListItemDefinitions(t,e){const{editor:n}=this,i=new xr,o=t.map((t=>zv(t)?{...t,valueWithUnits:"custom"}:t.value?{...t,valueWithUnits:`${t.value}${this._resizeUnit}`}:{...t,valueWithUnits:null}));for(const t of o){let r=null;if(n.plugins.has("ImageCustomResizeUI")&&zv(t)){const i=n.plugins.get("ImageCustomResizeUI");r={type:"button",model:new bk({label:this._getOptionLabelValue(t),role:"menuitemradio",withText:!0,icon:null,onClick:()=>{i._showForm(this._resizeUnit)}})};const s=Pv(o,"valueWithUnits");r.model.bind("isOn").to(e,"value",Ov(s))}else r={type:"button",model:new bk({commandName:"resizeImage",commandValue:t.valueWithUnits,label:this._getOptionLabelValue(t),role:"menuitemradio",withText:!0,icon:null})},r.model.bind("isOn").to(e,"value",Mv(t.valueWithUnits));r.model.bind("isEnabled").to(e,"isEnabled"),i.add(r)}return i}}function zv(t){return"custom"===t.value}function Mv(t){return e=>null===t&&e===t||null!==e&&e.width===t}function Ov(t){return e=>!t.some((t=>Mv(t)(e)))}const Nv="image_resized";class Hv extends Lr{static get requires(){return[Z_,DC]}static get pluginName(){return"ImageResizeHandles"}init(){const t=this.editor.commands.get("resizeImage");this.bind("isEnabled").to(t),this._setupResizerCreator()}_setupResizerCreator(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageUtils");e.addObserver(NC),this.listenTo(e.document,"imageLoaded",((i,o)=>{if(!o.target.matches("figure.image.ck-widget > img,figure.image.ck-widget > picture > img,figure.image.ck-widget > a > img,figure.image.ck-widget > a > picture > img,span.image-inline.ck-widget > img,span.image-inline.ck-widget > picture > img"))return;const r=t.editing.view.domConverter,s=r.domToView(o.target),a=n.getImageWidgetFromImageView(s);let l=this.editor.plugins.get(Z_).getResizerByViewElement(a);if(l)return void l.redraw();const c=t.editing.mapper,d=c.toModelElement(a);l=t.plugins.get(Z_).attachTo({unit:t.config.get("image.resizeUnit"),modelElement:d,viewElement:a,editor:t,getHandleHost:t=>t.querySelector("img"),getResizeHost:()=>r.mapViewToDom(c.toViewElement(d)),isCentered:()=>"alignCenter"==d.getAttribute("imageStyle"),onCommit(n){e.change((t=>{t.removeClass(Nv,a)})),t.execute("resizeImage",{width:n})}}),l.on("updateSize",(()=>{a.hasClass(Nv)||e.change((t=>{t.addClass(Nv,a)}));const t="imageInline"===d.name?s:a;t.getStyle("height")&&e.change((e=>{e.removeStyle("height",t)}))})),l.bind("isEnabled").to(this)}))}}function jv(t){if(!t)return null;const[,e,n]=t.trim().match(/([.,\d]+)(%|px)$/)||[],i=Number.parseFloat(e);return Number.isNaN(i)?null:{value:i,unit:n}}function qv(t,e,n){return"px"===n?{value:e.value,unit:"px"}:{value:e.value/t*100,unit:"%"}}function Wv(t){const{editing:e}=t,n=t.plugins.get("ImageUtils").getClosestSelectedImageElement(t.model.document.selection);if(!n)return null;const i=e.mapper.toViewElement(n);return{model:n,view:i,dom:e.view.domConverter.mapViewToDom(i)}}var Uv=n(4642),$v={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Uv.A,$v);Uv.A.locals;class Gv extends lm{focusTracker;keystrokes;unit;labeledInput;saveButtonView;cancelButtonView;_focusables;_focusCycler;_validators;constructor(t,e,n){super(t);const i=this.locale.t;this.focusTracker=new Br,this.keystrokes=new Dr,this.unit=e,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(i("Save"),zu.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(i("Cancel"),zu.cancel,"ck-button-cancel","cancel"),this._focusables=new Mu,this._validators=n,this._focusCycler=new ym({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-custom-resize-form","ck-responsive-form"],tabindex:"-1"},children:[this.labeledInput,this.saveButtonView,this.cancelButtonView]})}render(){super.render(),this.keystrokes.listenTo(this.element),hm({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createButton(t,e,n,i){const o=new wm(this.locale);return o.set({label:t,icon:e,tooltip:!0}),o.extendTemplate({attributes:{class:n}}),i&&o.delegate("execute").to(this,i),o}_createLabeledInputView(){const t=this.locale.t,e=new Sg(this.locale,Lp);return e.label=t("Resize image (in %0)",this.unit),e.fieldView.set({step:.1}),e}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e)return this.labeledInput.errorText=e,!1}return!0}resetFormStatus(){this.labeledInput.errorText=null}get rawSize(){const{element:t}=this.labeledInput.fieldView;return t?t.value:null}get parsedSize(){const{rawSize:t}=this;if(null===t)return null;const e=Number.parseFloat(t);return Number.isNaN(e)?null:e}get sizeWithUnits(){const{parsedSize:t,unit:e}=this;return null===t?null:`${t}${e}`}}class Kv extends Lr{_balloon;_form;static get requires(){return[yk]}static get pluginName(){return"ImageCustomResizeUI"}destroy(){super.destroy(),this._form&&this._form.destroy()}_createForm(t){const e=this.editor;this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new(dm(Gv))(e.locale,t,function(t){const e=t.t;return[t=>""===t.rawSize.trim()?e("The value must not be empty."):null===t.parsedSize?e("The value should be a plain number."):void 0]}(e)),this._form.render(),this.listenTo(this._form,"submit",(()=>{this._form.isValid()&&(e.execute("resizeImage",{width:this._form.sizeWithUnits}),this._hideForm(!0))})),this.listenTo(this._form.labeledInput,"change:errorText",(()=>{e.ui.update()})),this.listenTo(this._form,"cancel",(()=>{this._hideForm(!0)})),this._form.keystrokes.set("Esc",((t,e)=>{this._hideForm(!0),e()})),cm({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(t){if(this._isVisible)return;this._form||this._createForm(t);const e=this.editor,n=this._form.labeledInput;this._form.disableCssTransitions(),this._form.resetFormStatus(),this._isInBalloon||this._balloon.add({view:this._form,position:VC(e)});const i=function(t,e){const n=Wv(t);if(!n)return null;const i=jv(n.model.getAttribute("resizedWidth")||null);return i?i.unit===e?i:qv(y_(n.dom),{unit:"px",value:new ko(n.dom).width},e):null}(e,t),o=i?i.value.toFixed(1):"",r=function(t,e){const n=Wv(t);if(!n)return null;const i=y_(n.dom),o=jv(window.getComputedStyle(n.dom).minWidth)||{value:1,unit:"px"};return{unit:e,lower:Math.max(.1,qv(i,o,e).value),upper:"px"===e?i:100}}(e,t);n.fieldView.value=n.fieldView.element.value=o,r&&Object.assign(n.fieldView,{min:r.lower.toFixed(1),max:Math.ceil(r.upper).toFixed(1)}),this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(t=!1){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),t&&this.editor.editing.view.focus())}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}var Yv=n(3469),Zv={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Yv.A,Zv);Yv.A.locals;class Jv extends Mr{_defaultStyles;_styles;constructor(t,e){super(t),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(e.map((t=>{if(t.isDefault)for(const e of t.modelElements)this._defaultStyles[e]=t.name;return[t.name,t]})))}refresh(){const t=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!t,this.isEnabled?t.hasAttribute("imageStyle")?this.value=t.getAttribute("imageStyle"):this.value=this._defaultStyles[t.name]:this.value=!1}execute(t={}){const e=this.editor,n=e.model,i=e.plugins.get("ImageUtils");n.change((e=>{const o=t.value,{setImageSizes:r=!0}=t;let s=i.getClosestSelectedImageElement(n.document.selection);o&&this.shouldConvertImageType(o,s)&&(this.editor.execute(i.isBlockImage(s)?"imageTypeInline":"imageTypeBlock",{setImageSizes:r}),s=i.getClosestSelectedImageElement(n.document.selection)),!o||this._styles.get(o).isDefault?e.removeAttribute("imageStyle",s):e.setAttribute("imageStyle",o,s),r&&i.setImageNaturalSizeAttributes(s)}))}shouldConvertImageType(t,e){return!this._styles.get(t).modelElements.includes(e.name)}}const Qv={get inline(){return{name:"inline",title:"In line",icon:zu.objectInline,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:zu.objectLeft,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:zu.objectBlockLeft,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:zu.objectCenter,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:zu.objectRight,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:zu.objectBlockRight,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:zu.objectCenter,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:zu.objectRight,modelElements:["imageBlock"],className:"image-style-side"}}},Xv=(()=>({full:zu.objectFullWidth,left:zu.objectBlockLeft,right:zu.objectBlockRight,center:zu.objectCenter,inlineLeft:zu.objectLeft,inlineRight:zu.objectRight,inline:zu.objectInline}))(),ty=[{name:"imageStyle:wrapText",title:"Wrap text",defaultItem:"imageStyle:alignLeft",items:["imageStyle:alignLeft","imageStyle:alignRight"]},{name:"imageStyle:breakText",title:"Break text",defaultItem:"imageStyle:block",items:["imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"]}];function ey(t){wi("image-style-configuration-definition-invalid",t)}const ny={normalizeStyles:function(t){return(t.configuredStyles.options||[]).map((t=>function(t){t="string"==typeof t?Qv[t]?{...Qv[t]}:{name:t}:function(t,e){const n={...e};for(const i in t)Object.prototype.hasOwnProperty.call(e,i)||(n[i]=t[i]);return n}(Qv[t.name],t);"string"==typeof t.icon&&(t.icon=Xv[t.icon]||t.icon);return t}(t))).filter((e=>function(t,{isBlockPluginLoaded:e,isInlinePluginLoaded:n}){const{modelElements:i,name:o}=t;if(!(i&&i.length&&o))return ey({style:t}),!1;{const o=[e?"imageBlock":null,n?"imageInline":null];if(!i.some((t=>o.includes(t))))return wi("image-style-missing-dependency",{style:t,missingPlugins:i.map((t=>"imageBlock"===t?"ImageBlockEditing":"ImageInlineEditing"))}),!1}return!0}(e,t)))},getDefaultStylesConfiguration:function(t,e){return t&&e?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:t?{options:["block","side"]}:e?{options:["inline","alignLeft","alignRight"]}:{}},getDefaultDropdownDefinitions:function(t){return t.has("ImageBlockEditing")&&t.has("ImageInlineEditing")?[...ty]:[]},warnInvalidStyle:ey,DEFAULT_OPTIONS:Qv,DEFAULT_ICONS:Xv,DEFAULT_DROPDOWN_DEFINITIONS:ty};function iy(t,e){for(const n of e)if(n.name===t)return n}class oy extends Lr{static get pluginName(){return"ImageStyleEditing"}static get requires(){return[DC]}normalizedStyles;init(){const{normalizeStyles:t,getDefaultStylesConfiguration:e}=ny,n=this.editor,i=n.plugins.has("ImageBlockEditing"),o=n.plugins.has("ImageInlineEditing");n.config.define("image.styles",e(i,o)),this.normalizedStyles=t({configuredStyles:n.config.get("image.styles"),isBlockPluginLoaded:i,isInlinePluginLoaded:o}),this._setupConversion(i,o),this._setupPostFixer(),n.commands.add("imageStyle",new Jv(n,this.normalizedStyles))}_setupConversion(t,e){const n=this.editor,i=n.model.schema,o=(r=this.normalizedStyles,(t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const i=iy(e.attributeNewValue,r),o=iy(e.attributeOldValue,r),s=n.mapper.toViewElement(e.item),a=n.writer;o&&a.removeClass(o.className,s),i&&a.addClass(i.className,s)});var r;const s=function(t){const e={imageInline:t.filter((t=>!t.isDefault&&t.modelElements.includes("imageInline"))),imageBlock:t.filter((t=>!t.isDefault&&t.modelElements.includes("imageBlock")))};return(t,n,i)=>{if(!n.modelRange)return;const o=n.viewItem,r=Er(n.modelRange.getItems());if(r&&i.schema.checkAttribute(r,"imageStyle"))for(const t of e[r.name])i.consumable.consume(o,{classes:t.className})&&i.writer.setAttribute("imageStyle",t.name,r)}}(this.normalizedStyles);n.editing.downcastDispatcher.on("attribute:imageStyle",o),n.data.downcastDispatcher.on("attribute:imageStyle",o),t&&(i.extend("imageBlock",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:figure",s,{priority:"low"})),e&&(i.extend("imageInline",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:img",s,{priority:"low"}))}_setupPostFixer(){const t=this.editor,e=t.model.document,n=t.plugins.get(DC),i=new Map(this.normalizedStyles.map((t=>[t.name,t])));e.registerPostFixer((t=>{let o=!1;for(const r of e.differ.getChanges())if("insert"==r.type||"attribute"==r.type&&"imageStyle"==r.attributeKey){let e="insert"==r.type?r.position.nodeAfter:r.range.start.nodeAfter;if(e&&e.is("element","paragraph")&&e.childCount>0&&(e=e.getChild(0)),!n.isImage(e))continue;const s=e.getAttribute("imageStyle");if(!s)continue;const a=i.get(s);a&&a.modelElements.includes(e.name)||(t.removeAttribute("imageStyle",e),o=!0)}return o}))}}var ry=n(6386),sy={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(ry.A,sy);ry.A.locals;class ay extends Lr{static get requires(){return[oy]}static get pluginName(){return"ImageStyleUI"}get localizedDefaultStylesTitles(){const t=this.editor.t;return{"Wrap text":t("Wrap text"),"Break text":t("Break text"),"In line":t("In line"),"Full size image":t("Full size image"),"Side image":t("Side image"),"Left aligned image":t("Left aligned image"),"Centered image":t("Centered image"),"Right aligned image":t("Right aligned image")}}init(){const t=this.editor.plugins,e=this.editor.config.get("image.toolbar")||[],n=ly(t.get("ImageStyleEditing").normalizedStyles,this.localizedDefaultStylesTitles);for(const t of n)this._createButton(t);const i=ly([...e.filter(s),...ny.getDefaultDropdownDefinitions(t)],this.localizedDefaultStylesTitles);for(const t of i)this._createDropdown(t,n)}_createDropdown(t,e){const n=this.editor.ui.componentFactory;n.add(t.name,(i=>{let o;const{defaultItem:r,items:s,title:a}=t,l=s.filter((t=>e.find((({name:e})=>cy(e)===t)))).map((t=>{const e=n.create(t);return t===r&&(o=e),e}));s.length!==l.length&&ny.warnInvalidStyle({dropdown:t});const c=Dp(i,vp),d=c.buttonView,h=d.arrowView;return Sp(c,l,{enableActiveItemFocusOnDropdownOpen:!0}),d.set({label:dy(a,o.label),class:null,tooltip:!0}),h.unbind("label"),h.set({label:a}),d.bind("icon").toMany(l,"isOn",((...t)=>{const e=t.findIndex(lr);return e<0?o.icon:l[e].icon})),d.bind("label").toMany(l,"isOn",((...t)=>{const e=t.findIndex(lr);return dy(a,e<0?o.label:l[e].label)})),d.bind("isOn").toMany(l,"isOn",((...t)=>t.some(lr))),d.bind("class").toMany(l,"isOn",((...t)=>t.some(lr)?"ck-splitbutton_flatten":void 0)),d.on("execute",(()=>{l.some((({isOn:t})=>t))?c.isOpen=!c.isOpen:o.fire("execute")})),c.bind("isEnabled").toMany(l,"isEnabled",((...t)=>t.some(lr))),this.listenTo(c,"execute",(()=>{this.editor.editing.view.focus()})),c}))}_createButton(t){const e=t.name;this.editor.ui.componentFactory.add(cy(e),(n=>{const i=this.editor.commands.get("imageStyle"),o=new wm(n);return o.set({label:t.title,icon:t.icon,tooltip:!0,isToggleable:!0}),o.bind("isEnabled").to(i,"isEnabled"),o.bind("isOn").to(i,"value",(t=>t===e)),o.on("execute",this._executeCommand.bind(this,e)),o}))}_executeCommand(t){this.editor.execute("imageStyle",{value:t}),this.editor.editing.view.focus()}}function ly(t,e){for(const n of t)e[n.title]&&(n.title=e[n.title]);return t}function cy(t){return`imageStyle:${t}`}function dy(t,e){return(t?t+": ":"")+e}class hy{_definitions=new Set;get length(){return this._definitions.size}add(t){Array.isArray(t)?t.forEach((t=>this._definitions.add(t))):this._definitions.add(t)}getDispatcher(){return t=>{t.on("attribute:linkHref",((t,e,n)=>{if(!n.consumable.test(e.item,"attribute:linkHref"))return;if(!e.item.is("selection")&&!n.schema.isInline(e.item))return;const i=n.writer,o=i.document.selection;for(const t of this._definitions){const r=i.createAttributeElement("a",t.attributes,{priority:5});t.classes&&i.addClass(t.classes,r);for(const e in t.styles)i.setStyle(e,t.styles[e],r);i.setCustomProperty("link",!0,r),t.callback(e.attributeNewValue)?e.item.is("selection")?i.wrap(o.getFirstRange(),r):i.wrap(n.mapper.toViewRange(e.range),r):i.unwrap(n.mapper.toViewRange(e.range),r)}}),{priority:"high"})}}getDispatcherForLinkedImage(){return t=>{t.on("attribute:linkHref:imageBlock",((t,e,{writer:n,mapper:i})=>{const o=i.toViewElement(e.item),r=Array.from(o.getChildren()).find((t=>t.is("element","a")));for(const t of this._definitions){const i=Sr(t.attributes);if(t.callback(e.attributeNewValue)){for(const[t,e]of i)"class"===t?n.addClass(e,r):n.setAttribute(t,e,r);t.classes&&n.addClass(t.classes,r);for(const e in t.styles)n.setStyle(e,t.styles[e],r)}else{for(const[t,e]of i)"class"===t?n.removeClass(e,r):n.removeAttribute(t,r);t.classes&&n.removeClass(t.classes,r);for(const e in t.styles)n.removeStyle(e,r)}}}))}}}const uy=function(t,e,n){var i=t.length;return n=void 0===n?i:n,!e&&n>=i?t:Ss(t,e,n)};var my=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");const gy=function(t){return my.test(t)};const py=function(t){return t.split("")};var fy="\\ud800-\\udfff",ky="["+fy+"]",by="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",wy="\\ud83c[\\udffb-\\udfff]",Ay="[^"+fy+"]",_y="(?:\\ud83c[\\udde6-\\uddff]){2}",Cy="[\\ud800-\\udbff][\\udc00-\\udfff]",vy="(?:"+by+"|"+wy+")"+"?",yy="[\\ufe0e\\ufe0f]?",xy=yy+vy+("(?:\\u200d(?:"+[Ay,_y,Cy].join("|")+")"+yy+vy+")*"),Ey="(?:"+[Ay+by+"?",by,_y,Cy,ky].join("|")+")",By=RegExp(wy+"(?="+wy+")|"+Ey+xy,"g");const Dy=function(t){return t.match(By)||[]};const Sy=function(t){return gy(t)?Dy(t):py(t)};const Ty=function(t){return function(e){e=ys(e);var n=gy(e)?Sy(e):void 0,i=n?n[0]:e.charAt(0),o=n?uy(n,1).join(""):e.slice(1);return i[t]()+o}}("toUpperCase"),Iy=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,Py=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i,Fy=/^((\w+:(\/{2,})?)|(\W))/i,Ry=["https?","ftps?","mailto"],Vy="Ctrl+K";function Ly(t,{writer:e}){const n=e.createAttributeElement("a",{href:t},{priority:5});return e.setCustomProperty("link",!0,n),n}function zy(t,e=Ry){const n=String(t),i=e.join("|");return function(t,e){const n=t.replace(Iy,"");return!!n.match(e)}(n,new RegExp(`${"^(?:(?:):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))".replace("",i)}`,"i"))?n:"#"}function My(t,e){return!!t&&e.checkAttribute(t.name,"linkHref")}function Oy(t,e){const n=(i=t,Py.test(i)?"mailto:":e);var i;const o=!!n&&!Ny(t);return t&&o?n+t:t}function Ny(t){return Fy.test(t)}function Hy(t){window.open(t,"_blank","noopener")}class jy extends Mr{manualDecorators=new xr;automaticDecorators=new hy;restoreManualDecoratorStates(){for(const t of this.manualDecorators)t.value=this._getDecoratorStateFromModel(t.id)}refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement()||Er(e.getSelectedBlocks());My(n,t.schema)?(this.value=n.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttribute(n,"linkHref")):(this.value=e.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref"));for(const t of this.manualDecorators)t.value=this._getDecoratorStateFromModel(t.id)}execute(t,e={}){const n=this.editor.model,i=n.document.selection,o=[],r=[];for(const t in e)e[t]?o.push(t):r.push(t);n.change((e=>{if(i.isCollapsed){const s=i.getFirstPosition();if(i.hasAttribute("linkHref")){const a=qy(i);let l=yw(s,"linkHref",i.getAttribute("linkHref"),n);i.getAttribute("linkHref")===a&&(l=this._updateLinkContent(n,e,l,t)),e.setAttribute("linkHref",t,l),o.forEach((t=>{e.setAttribute(t,!0,l)})),r.forEach((t=>{e.removeAttribute(t,l)})),e.setSelection(e.createPositionAfter(l.end.nodeBefore))}else if(""!==t){const r=Sr(i.getAttributes());r.set("linkHref",t),o.forEach((t=>{r.set(t,!0)}));const{end:a}=n.insertContent(e.createText(t,r),s);e.setSelection(a)}["linkHref",...o,...r].forEach((t=>{e.removeSelectionAttribute(t)}))}else{const s=n.schema.getValidRanges(i.getRanges(),"linkHref"),a=[];for(const t of i.getSelectedBlocks())n.schema.checkAttribute(t,"linkHref")&&a.push(e.createRangeOn(t));const l=a.slice();for(const t of s)this._isRangeToUpdate(t,a)&&l.push(t);for(const s of l){let a=s;if(1===l.length){const o=qy(i);i.getAttribute("linkHref")===o&&(a=this._updateLinkContent(n,e,s,t),e.setSelection(e.createSelection(a)))}e.setAttribute("linkHref",t,a),o.forEach((t=>{e.setAttribute(t,!0,a)})),r.forEach((t=>{e.removeAttribute(t,a)}))}}}))}_getDecoratorStateFromModel(t){const e=this.editor.model,n=e.document.selection,i=n.getSelectedElement();return My(i,e.schema)?i.getAttribute(t):n.getAttribute(t)}_isRangeToUpdate(t,e){for(const n of e)if(n.containsRange(t))return!1;return!0}_updateLinkContent(t,e,n,i){const o=e.createText(i,{linkHref:i});return t.insertContent(o,n)}}function qy(t){if(t.isCollapsed){const e=t.getFirstPosition();return e.textNode&&e.textNode.data}{const e=Array.from(t.getFirstRange().getItems());if(e.length>1)return null;const n=e[0];return n.is("$text")||n.is("$textProxy")?n.data:null}}class Wy extends Mr{refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement();My(n,t.schema)?this.isEnabled=t.schema.checkAttribute(n,"linkHref"):this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref")}execute(){const t=this.editor,e=this.editor.model,n=e.document.selection,i=t.commands.get("link");e.change((t=>{const o=n.isCollapsed?[yw(n.getFirstPosition(),"linkHref",n.getAttribute("linkHref"),e)]:e.schema.getValidRanges(n.getRanges(),"linkHref");for(const e of o)if(t.removeAttribute("linkHref",e),i)for(const n of i.manualDecorators)t.removeAttribute(n.id,e)}))}}class Uy extends(ji()){id;defaultValue;label;attributes;classes;styles;constructor({id:t,label:e,attributes:n,classes:i,styles:o,defaultValue:r}){super(),this.id=t,this.set("value",void 0),this.defaultValue=r,this.label=e,this.attributes=n,this.classes=i,this.styles=o}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}var $y=n(7719),Gy={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()($y.A,Gy);$y.A.locals;const Ky="automatic",Yy=/^(https?:)?\/\//;class Zy extends Lr{static get pluginName(){return"LinkEditing"}static get requires(){return[dw,Yb,l_]}constructor(t){super(t),t.config.define("link",{allowCreatingEmptyLinks:!1,addTargetToExternalLinks:!1})}init(){const t=this.editor,e=this.editor.config.get("link.allowedProtocols");t.model.schema.extend("$text",{allowAttributes:"linkHref"}),t.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:Ly}),t.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(t,n)=>Ly(zy(t,e),n)}),t.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:!0}},model:{key:"linkHref",value:t=>t.getAttribute("href")}}),t.commands.add("link",new jy(t)),t.commands.add("unlink",new Wy(t));const n=function(t,e){const n={"Open in a new tab":t("Open in a new tab"),Downloadable:t("Downloadable")};return e.forEach((t=>("label"in t&&n[t.label]&&(t.label=n[t.label]),t))),e}(t.t,function(t){const e=[];if(t)for(const[n,i]of Object.entries(t)){const t=Object.assign({},i,{id:`link${Ty(n)}`});e.push(t)}return e}(t.config.get("link.decorators")));this._enableAutomaticDecorators(n.filter((t=>t.mode===Ky))),this._enableManualDecorators(n.filter((t=>"manual"===t.mode)));t.plugins.get(dw).registerAttribute("linkHref"),Ew(t,"linkHref","a","ck-link_selected"),this._enableSelectionAttributesFixer(),this._enableClipboardIntegration()}_enableAutomaticDecorators(t){const e=this.editor,n=e.commands.get("link").automaticDecorators;e.config.get("link.addTargetToExternalLinks")&&n.add({id:"linkIsExternal",mode:Ky,callback:t=>!!t&&Yy.test(t),attributes:{target:"_blank",rel:"noopener noreferrer"}}),n.add(t),n.length&&e.conversion.for("downcast").add(n.getDispatcher())}_enableManualDecorators(t){if(!t.length)return;const e=this.editor,n=e.commands.get("link").manualDecorators;t.forEach((t=>{e.model.schema.extend("$text",{allowAttributes:t.id});const i=new Uy(t);n.add(i),e.conversion.for("downcast").attributeToElement({model:i.id,view:(t,{writer:e,schema:n},{item:o})=>{if((o.is("selection")||n.isInline(o))&&t){const t=e.createAttributeElement("a",i.attributes,{priority:5});i.classes&&e.addClass(i.classes,t);for(const n in i.styles)e.setStyle(n,i.styles[n],t);return e.setCustomProperty("link",!0,t),t}}}),e.conversion.for("upcast").elementToAttribute({view:{name:"a",...i._createPattern()},model:{key:i.id}})}))}_enableLinkOpen(){const t=this.editor,e=t.editing.view.document;this.listenTo(e,"click",((t,e)=>{if(!(Xn.isMac?e.domEvent.metaKey:e.domEvent.ctrlKey))return;let n=e.domTarget;if("a"!=n.tagName.toLowerCase()&&(n=n.closest("a")),!n)return;const i=n.getAttribute("href");i&&(t.stop(),e.preventDefault(),Hy(i))}),{context:"$capture"}),this.listenTo(e,"keydown",((e,n)=>{const i=t.commands.get("link").value;!!i&&n.keyCode===Go.enter&&n.altKey&&(e.stop(),Hy(i))}))}_enableSelectionAttributesFixer(){const t=this.editor.model,e=t.document.selection;this.listenTo(e,"change:attribute",((n,{attributeKeys:i})=>{i.includes("linkHref")&&!e.hasAttribute("linkHref")&&t.change((e=>{var n;!function(t,e){t.removeSelectionAttribute("linkHref");for(const n of e)t.removeSelectionAttribute(n)}(e,(n=t.schema,n.getDefinition("$text").allowAttributes.filter((t=>t.startsWith("link")))))}))}))}_enableClipboardIntegration(){const t=this.editor,e=t.model,n=this.editor.config.get("link.defaultProtocol");n&&this.listenTo(t.plugins.get("ClipboardPipeline"),"contentInsertion",((t,i)=>{e.change((t=>{const e=t.createRangeIn(i.content);for(const i of e.getItems())if(i.hasAttribute("linkHref")){const e=Oy(i.getAttribute("linkHref"),n);t.setAttribute("linkHref",e,i)}}))}))}}var Jy=n(3817),Qy={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Jy.A,Qy);Jy.A.locals;class Xy extends lm{focusTracker=new Br;keystrokes=new Dr;urlInputView;saveButtonView;cancelButtonView;_manualDecoratorSwitches;children;_validators;_focusables=new Mu;_focusCycler;constructor(t,e,n){super(t);const i=t.t;this._validators=n,this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(i("Save"),zu.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(i("Cancel"),zu.cancel,"ck-button-cancel","cancel"),this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e),this.children=this._createFormChildren(e.manualDecorators),this._focusCycler=new ym({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const o=["ck","ck-link-form","ck-responsive-form"];e.manualDecorators.length&&o.push("ck-link-form_layout-vertical","ck-vertical-form"),this.setTemplate({tag:"form",attributes:{class:o,tabindex:"-1"},children:this.children})}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce(((t,e)=>(t[e.name]=e.isOn,t)),{})}render(){super.render(),hm({view:this});[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e)return this.urlInputView.errorText=e,!1}return!0}resetFormStatus(){this.urlInputView.errorText=null}_createUrlInput(){const t=this.locale.t,e=new Sg(this.locale,Vp);return e.fieldView.inputMode="url",e.label=t("Link URL"),e}_createButton(t,e,n,i){const o=new wm(this.locale);return o.set({label:t,icon:e,tooltip:!0}),o.extendTemplate({attributes:{class:n}}),i&&o.delegate("execute").to(this,i),o}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const i=new rg(this.locale);i.set({name:n.id,label:n.label,withText:!0}),i.bind("isOn").toMany([n,t],"value",((t,e)=>void 0===e&&void 0===t?!!n.defaultValue:!!t)),i.on("execute",(()=>{n.set("value",!i.isOn)})),e.add(i)}return e}_createFormChildren(t){const e=this.createCollection();if(e.add(this.urlInputView),t.length){const t=new lm;t.setTemplate({tag:"ul",children:this._manualDecoratorSwitches.map((t=>({tag:"li",children:[t],attributes:{class:["ck","ck-list__item"]}}))),attributes:{class:["ck","ck-reset","ck-list"]}}),e.add(t)}return e.add(this.saveButtonView),e.add(this.cancelButtonView),e}get url(){const{element:t}=this.urlInputView.fieldView;return t?t.value.trim():null}}var tx=n(8762),ex={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(tx.A,ex);tx.A.locals;class nx extends lm{focusTracker=new Br;keystrokes=new Dr;previewButtonView;unlinkButtonView;editButtonView;_focusables=new Mu;_focusCycler;_linkConfig;constructor(t,e={}){super(t);const n=t.t;this.previewButtonView=this._createPreviewButton(),this.unlinkButtonView=this._createButton(n("Unlink"),'',"unlink"),this.editButtonView=this._createButton(n("Edit link"),zu.pencil,"edit"),this.set("href",void 0),this._linkConfig=e,this._focusCycler=new ym({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-link-actions","ck-responsive-form"],tabindex:"-1"},children:[this.previewButtonView,this.editButtonView,this.unlinkButtonView]})}render(){super.render();[this.previewButtonView,this.editButtonView,this.unlinkButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createButton(t,e,n){const i=new wm(this.locale);return i.set({label:t,icon:e,tooltip:!0}),i.delegate("execute").to(this,n),i}_createPreviewButton(){const t=new wm(this.locale),e=this.bindTemplate,n=this.t;return t.set({withText:!0,tooltip:n("Open link in new tab")}),t.extendTemplate({attributes:{class:["ck","ck-link-actions__preview"],href:e.to("href",(t=>t&&zy(t,this._linkConfig.allowedProtocols))),target:"_blank",rel:"noopener noreferrer"}}),t.bind("label").to(this,"href",(t=>t||n("This link has no URL"))),t.bind("isEnabled").to(this,"href",(t=>!!t)),t.template.tag="a",t.template.eventListeners={},t}}const ix="link-ui";class ox extends Lr{actionsView=null;formView=null;_balloon;static get requires(){return[yk]}static get pluginName(){return"LinkUI"}init(){const t=this.editor,e=this.editor.t;t.editing.view.addObserver(Nh),this._balloon=t.plugins.get(yk),this._createToolbarLinkButton(),this._enableBalloonActivators(),t.conversion.for("editingDowncast").markerToHighlight({model:ix,view:{classes:["ck-fake-link-selection"]}}),t.conversion.for("editingDowncast").markerToElement({model:ix,view:(t,{writer:e})=>{if(!t.markerRange.isCollapsed)return null;const n=e.createUIElement("span");return e.addClass(["ck-fake-link-selection","ck-fake-link-selection_collapsed"],n),n}}),t.accessibility.addKeystrokeInfos({keystrokes:[{label:e("Create link"),keystroke:Vy},{label:e("Move out of a link"),keystroke:[["arrowleft","arrowleft"],["arrowright","arrowright"]]}]})}destroy(){super.destroy(),this.formView&&this.formView.destroy(),this.actionsView&&this.actionsView.destroy()}_createViews(){this.actionsView=this._createActionsView(),this.formView=this._createFormView(),this._enableUserBalloonInteractions()}_createActionsView(){const t=this.editor,e=new nx(t.locale,t.config.get("link")),n=t.commands.get("link"),i=t.commands.get("unlink");return e.bind("href").to(n,"value"),e.editButtonView.bind("isEnabled").to(n),e.unlinkButtonView.bind("isEnabled").to(i),this.listenTo(e,"edit",(()=>{this._addFormView()})),this.listenTo(e,"unlink",(()=>{t.execute("unlink"),this._hideUI()})),e.keystrokes.set("Esc",((t,e)=>{this._hideUI(),e()})),e.keystrokes.set(Vy,((t,e)=>{this._addFormView(),e()})),e}_createFormView(){const t=this.editor,e=t.commands.get("link"),n=t.config.get("link.defaultProtocol"),i=new(dm(Xy))(t.locale,e,function(t){const e=t.t,n=t.config.get("link.allowCreatingEmptyLinks");return[t=>{if(!n&&!t.url.length)return e("Link URL must not be empty.")}]}(t));return i.urlInputView.fieldView.bind("value").to(e,"value"),i.urlInputView.bind("isEnabled").to(e,"isEnabled"),i.saveButtonView.bind("isEnabled").to(e,"isEnabled"),this.listenTo(i,"submit",(()=>{if(i.isValid()){const{value:e}=i.urlInputView.fieldView.element,o=Oy(e,n);t.execute("link",o,i.getDecoratorSwitchesState()),this._closeFormView()}})),this.listenTo(i.urlInputView,"change:errorText",(()=>{t.ui.update()})),this.listenTo(i,"cancel",(()=>{this._closeFormView()})),i.keystrokes.set("Esc",((t,e)=>{this._closeFormView(),e()})),i}_createToolbarLinkButton(){const t=this.editor;t.ui.componentFactory.add("link",(()=>{const t=this._createButton(wm);return t.set({tooltip:!0}),t})),t.ui.componentFactory.add("menuBar:link",(()=>{const t=this._createButton(Zm);return t.set({role:"menuitemcheckbox"}),t}))}_createButton(t){const e=this.editor,n=e.locale,i=e.commands.get("link"),o=new t(e.locale),r=n.t;return o.set({label:r("Link"),icon:'',keystroke:Vy,isToggleable:!0}),o.bind("isEnabled").to(i,"isEnabled"),o.bind("isOn").to(i,"value",(t=>!!t)),this.listenTo(o,"execute",(()=>this._showUI(!0))),o}_enableBalloonActivators(){const t=this.editor,e=t.editing.view.document;this.listenTo(e,"click",(()=>{this._getSelectedLinkElement()&&this._showUI()})),t.keystrokes.set(Vy,((e,n)=>{n(),t.commands.get("link").isEnabled&&this._showUI(!0)}))}_enableUserBalloonInteractions(){this.editor.keystrokes.set("Tab",((t,e)=>{this._areActionsVisible&&!this.actionsView.focusTracker.isFocused&&(this.actionsView.focus(),e())}),{priority:"high"}),this.editor.keystrokes.set("Esc",((t,e)=>{this._isUIVisible&&(this._hideUI(),e())})),cm({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){this.actionsView||this._createViews(),this._areActionsInPanel||this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this.formView||this._createViews(),this._isFormInPanel)return;const t=this.editor.commands.get("link");this.formView.disableCssTransitions(),this.formView.resetFormStatus(),this._balloon.add({view:this.formView,position:this._getBalloonPositionData()}),this.formView.urlInputView.fieldView.value=t.value||"",this._balloon.visibleView===this.formView&&this.formView.urlInputView.fieldView.select(),this.formView.enableCssTransitions()}_closeFormView(){const t=this.editor.commands.get("link");t.restoreManualDecoratorStates(),void 0!==t.value?this._removeFormView():this._hideUI()}_removeFormView(){this._isFormInPanel&&(this.formView.saveButtonView.focus(),this.formView.urlInputView.fieldView.reset(),this._balloon.remove(this.formView),this.editor.editing.view.focus(),this._hideFakeVisualSelection())}_showUI(t=!1){this.formView||this._createViews(),this._getSelectedLinkElement()?(this._areActionsVisible?this._addFormView():this._addActionsView(),t&&this._balloon.showStack("main")):(this._showFakeVisualSelection(),this._addActionsView(),t&&this._balloon.showStack("main"),this._addFormView()),this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel)return;const t=this.editor;this.stopListening(t.ui,"update"),this.stopListening(this._balloon,"change:visibleView"),t.editing.view.focus(),this._removeFormView(),this._balloon.remove(this.actionsView),this._hideFakeVisualSelection()}_startUpdatingUI(){const t=this.editor,e=t.editing.view.document;let n=this._getSelectedLinkElement(),i=r();const o=()=>{const t=this._getSelectedLinkElement(),e=r();n&&!t||!n&&e!==i?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),n=t,i=e};function r(){return e.selection.focus.getAncestors().reverse().find((t=>t.is("element")))}this.listenTo(t.ui,"update",o),this.listenTo(this._balloon,"change:visibleView",o)}get _isFormInPanel(){return!!this.formView&&this._balloon.hasView(this.formView)}get _areActionsInPanel(){return!!this.actionsView&&this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return!!this.actionsView&&this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const t=this._balloon.visibleView;return!!this.formView&&t==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view,e=this.editor.model,n=t.document;let i;if(e.markers.has(ix)){const e=Array.from(this.editor.editing.mapper.markerNameToElements(ix)),n=t.createRange(t.createPositionBefore(e[0]),t.createPositionAfter(e[e.length-1]));i=t.domConverter.viewRangeToDom(n)}else i=()=>{const e=this._getSelectedLinkElement();return e?t.domConverter.mapViewToDom(e):t.domConverter.viewRangeToDom(n.selection.getFirstRange())};return{target:i}}_getSelectedLinkElement(){const t=this.editor.editing.view,e=t.document.selection,n=e.getSelectedElement();if(e.isCollapsed||n&&p_(n))return rx(e.getFirstPosition());{const n=e.getFirstRange().getTrimmed(),i=rx(n.start),o=rx(n.end);return i&&i==o&&t.createRangeIn(i).getTrimmed().isEqual(n)?i:null}}_showFakeVisualSelection(){const t=this.editor.model;t.change((e=>{const n=t.document.selection.getFirstRange();if(t.markers.has(ix))e.updateMarker(ix,{range:n});else if(n.start.isAtEnd){const i=n.start.getLastMatchingPosition((({item:e})=>!t.schema.isContent(e)),{boundaries:n});e.addMarker(ix,{usingOperation:!1,affectsData:!1,range:e.createRange(i,n.end)})}else e.addMarker(ix,{usingOperation:!1,affectsData:!1,range:n})}))}_hideFakeVisualSelection(){const t=this.editor.model;t.markers.has(ix)&&t.change((t=>{t.removeMarker(ix)}))}}function rx(t){return t.getAncestors().find((t=>{return(e=t).is("attributeElement")&&!!e.getCustomProperty("link");var e}))||null}const sx=new RegExp("(^|\\s)(((?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(((?!www\\.)|(www\\.))(?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.)+(?:[a-z\\u00a1-\\uffff]{2,63})))(?::\\d{2,5})?(?:[/?#]\\S*)?)|((www.|(\\S+@))((?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.))+(?:[a-z\\u00a1-\\uffff]{2,63})))$","i");class ax extends Lr{static get requires(){return[sw,Zy]}static get pluginName(){return"AutoLink"}init(){const t=this.editor.model.document.selection;t.on("change:range",(()=>{this.isEnabled=!t.anchor.parent.is("element","codeBlock")})),this._enableTypingHandling()}afterInit(){this._enableEnterHandling(),this._enableShiftEnterHandling(),this._enablePasteLinking()}_expandLinkRange(t,e){return e.textNode&&e.textNode.hasAttribute("linkHref")?yw(e,"linkHref",e.textNode.getAttribute("linkHref"),t):null}_selectEntireLinks(t,e){const n=this.editor.model,i=n.document.selection,o=i.getFirstPosition(),r=i.getLastPosition();let s=e.getJoined(this._expandLinkRange(n,o)||e);s&&(s=s.getJoined(this._expandLinkRange(n,r)||e)),s&&(s.start.isBefore(o)||s.end.isAfter(r))&&t.setSelection(s)}_enablePasteLinking(){const t=this.editor,e=t.model,n=e.document.selection,i=t.plugins.get("ClipboardPipeline"),o=t.commands.get("link");i.on("inputTransformation",((t,i)=>{if(!this.isEnabled||!o.isEnabled||n.isCollapsed||"paste"!==i.method)return;if(n.rangeCount>1)return;const r=n.getFirstRange(),s=i.dataTransfer.getData("text/plain");if(!s)return;const a=s.match(sx);a&&a[2]===s&&(e.change((t=>{this._selectEntireLinks(t,r),o.execute(s)})),t.stop())}),{priority:"high"})}_enableTypingHandling(){const t=this.editor,e=new cw(t.model,(t=>{if(!function(t){return t.length>4&&" "===t[t.length-1]&&" "!==t[t.length-2]}(t))return;const e=lx(t.substr(0,t.length-1));return e?{url:e}:void 0}));e.on("matched:data",((e,n)=>{const{batch:i,range:o,url:r}=n;if(!i.isTyping)return;const s=o.end.getShiftedBy(-1),a=s.getShiftedBy(-r.length),l=t.model.createRange(a,s);this._applyAutoLink(r,l)})),e.bind("isEnabled").to(this)}_enableEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("enter");n&&n.on("execute",(()=>{const t=e.document.selection.getFirstPosition();if(!t.parent.previousSibling)return;const n=e.createRangeIn(t.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(n)}))}_enableShiftEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("shiftEnter");n&&n.on("execute",(()=>{const t=e.document.selection.getFirstPosition(),n=e.createRange(e.createPositionAt(t.parent,0),t.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(n)}))}_checkAndApplyAutoLinkOnRange(t){const e=this.editor.model,{text:n,range:i}=lw(t,e),o=lx(n);if(o){const t=e.createRange(i.end.getShiftedBy(-o.length),i.end);this._applyAutoLink(o,t)}}_applyAutoLink(t,e){const n=this.editor.model,i=Oy(t,this.editor.config.get("link.defaultProtocol"));this.isEnabled&&function(t,e){return e.schema.checkAttributeInSelection(e.createSelection(t),"linkHref")}(e,n)&&Ny(i)&&!function(t){const e=t.start.nodeAfter;return!!e&&e.hasAttribute("linkHref")}(e)&&this._persistAutoLink(i,e)}_persistAutoLink(t,e){const n=this.editor.model,i=this.editor.plugins.get("Delete");n.enqueueChange((o=>{o.setAttribute("linkHref",t,e),n.enqueueChange((()=>{i.requestUndoOnBackspace()}))}))}}function lx(t){const e=sx.exec(t);return e?e[2]:null}var cx=n(4808),dx={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(cx.A,dx);cx.A.locals;class hx{_startElement;_referenceIndent;_isForward;_includeSelf;_sameAttributes;_sameIndent;_lowerIndent;_higherIndent;constructor(t,e){this._startElement=t,this._referenceIndent=t.getAttribute("listIndent"),this._isForward="forward"==e.direction,this._includeSelf=!!e.includeSelf,this._sameAttributes=tr(e.sameAttributes||[]),this._sameIndent=!!e.sameIndent,this._lowerIndent=!!e.lowerIndent,this._higherIndent=!!e.higherIndent}static first(t,e){return Er(new this(t,e)[Symbol.iterator]())}*[Symbol.iterator](){const t=[];for(const{node:e}of ux(this._getStartNode(),this._isForward?"forward":"backward")){const n=e.getAttribute("listIndent");if(nthis._referenceIndent){if(!this._higherIndent)continue;if(!this._isForward){t.push(e);continue}}else{if(!this._sameIndent){if(this._higherIndent){t.length&&(yield*t,t.length=0);break}continue}if(this._sameAttributes.some((t=>e.getAttribute(t)!==this._startElement.getAttribute(t))))break}t.length&&(yield*t,t.length=0),yield e}}_getStartNode(){return this._includeSelf?this._startElement:this._isForward?this._startElement.nextSibling:this._startElement.previousSibling}}function*ux(t,e="forward"){const n="forward"==e,i=[];let o=null;for(;px(t);){let e=null;if(o){const n=t.getAttribute("listIndent"),r=o.getAttribute("listIndent");n>r?i[r]=o:nt.getAttribute("listItemId")!=e))}function Dx(t){return Array.from(t).filter((t=>"$graveyard"!==t.root.rootName)).sort(((t,e)=>t.index-e.index))}function Sx(t){const e=t.document.selection.getSelectedElement();return e&&t.schema.isObject(e)&&t.schema.isBlock(e)?e:null}function Tx(t,e){return e.checkChild(t.parent,"listItem")&&e.checkChild(t,"$text")&&!e.isObject(t)}function Ix(t){return"numbered"==t||"customNumbered"==t}function Px(t,e,n){return kx(e,{direction:"forward"}).pop().index>t.index?yx(t,e,n):[]}class Fx extends Mr{_direction;constructor(t,e){super(t),this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model,e=Rx(t.document.selection);t.change((t=>{const n=[];Bx(e)&&!wx(e[0])?("forward"==this._direction&&n.push(...xx(e,t)),n.push(...vx(e[0],t))):"forward"==this._direction?n.push(...xx(e,t,{expand:!0})):n.push(...function(t,e){const n=_x(t=tr(t)),i=new Set,o=Math.min(...n.map((t=>t.getAttribute("listIndent")))),r=new Map;for(const t of n)r.set(t,hx.first(t,{lowerIndent:!0}));for(const t of n){if(i.has(t))continue;i.add(t);const n=t.getAttribute("listIndent")-1;if(n<0)Ex(t,e);else{if(t.getAttribute("listIndent")==o){const n=Px(t,r.get(t),e);for(const t of n)i.add(t);if(n.length)continue}e.setAttribute("listIndent",n,t)}}return Dx(i)}(e,t));for(const e of n){if(!e.hasAttribute("listType"))continue;const n=hx.first(e,{sameIndent:!0});n&&t.setAttribute("listType",n.getAttribute("listType"),e)}this._fireAfterExecute(n)}))}_fireAfterExecute(t){this.fire("afterExecute",Dx(new Set(t)))}_checkEnabled(){let t=Rx(this.editor.model.document.selection),e=t[0];if(!e)return!1;if("backward"==this._direction)return!0;if(Bx(t)&&!wx(t[0]))return!0;t=_x(t),e=t[0];const n=hx.first(e,{sameIndent:!0});return!!n&&n.getAttribute("listType")==e.getAttribute("listType")}}function Rx(t){const e=Array.from(t.getSelectedBlocks()),n=e.findIndex((t=>!px(t)));return-1!=n&&(e.length=n),e}class Vx extends Mr{type;_listWalkerOptions;constructor(t,e,n={}){super(t),this.type=e,this._listWalkerOptions=n.multiLevel?{higherIndent:!0,lowerIndent:!0,sameAttributes:[]}:void 0}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,n=e.document,i=Sx(e),o=Array.from(n.selection.getSelectedBlocks()).filter((t=>e.schema.checkAttribute(t,"listType")||Tx(t,e.schema))),r=void 0!==t.forceValue?!t.forceValue:this.value;e.change((s=>{if(r){const t=o[o.length-1],e=kx(t,{direction:"forward"}),n=[];e.length>1&&n.push(...vx(e[1],s)),n.push(...Ex(o,s)),n.push(...function(t,e){const n=[];let i=Number.POSITIVE_INFINITY;for(const{node:o}of ux(t.nextSibling,"forward")){const t=o.getAttribute("listIndent");if(0==t)break;t{const{firstElement:r,lastElement:s}=this._getMergeSubjectElements(n,t),a=r.getAttribute("listIndent")||0,l=s.getAttribute("listIndent"),c=s.getAttribute("listItemId");if(a!=l){const t=(d=s,Array.from(new hx(d,{direction:"forward",higherIndent:!0})));i.push(...xx([s,...t],o,{indentBy:a-l,expand:a{const e=vx(this._getStartBlock(),t);this._fireAfterExecute(e)}))}_fireAfterExecute(t){this.fire("afterExecute",Dx(new Set(t)))}_checkEnabled(){const t=this.editor.model.document.selection,e=this._getStartBlock();return t.isCollapsed&&px(e)&&!wx(e)}_getStartBlock(){const t=this.editor.model.document.selection.getFirstPosition().parent;return"before"==this._direction?t:t.nextSibling}}class Mx extends Lr{static get pluginName(){return"ListUtils"}expandListBlocksToCompleteList(t){return Cx(t)}isFirstBlockOfListItem(t){return wx(t)}isListItemBlock(t){return px(t)}expandListBlocksToCompleteItems(t,e={}){return _x(t,e)}isNumberedListType(t){return Ix(t)}}function Ox(t){return t.is("element","ol")||t.is("element","ul")}function Nx(t){return t.is("element","li")}function Hx(t,e,n,i=Wx(n,e)){return t.createAttributeElement(qx(n),null,{priority:2*e/100-100,id:i})}function jx(t,e,n){return t.createAttributeElement("li",null,{priority:(2*e+1)/100-100,id:n})}function qx(t){return"numbered"==t||"customNumbered"==t?"ol":"ul"}function Wx(t,e){return`list-${t}-${e}`}function Ux(t,e){const n=t.nodeBefore;if(px(n)){let t=n;for(const{node:n}of ux(t,"backward"))if(t=n,e.has(t))return;e.set(n,t)}else{const n=t.nodeAfter;px(n)&&e.set(n,n)}}function $x(){return(t,e,n)=>{const{writer:i,schema:o}=n;if(!e.modelRange)return;const r=Array.from(e.modelRange.getItems({shallow:!0})).filter((t=>o.checkAttribute(t,"listItemId")));if(!r.length)return;const s=gx.next(),a=function(t){let e=0,n=t.parent;for(;n;){if(Nx(n))e++;else{const t=n.previousSibling;t&&Nx(t)&&e++}n=n.parent}return e}(e.viewItem);let l=e.viewItem.parent&&e.viewItem.parent.is("element","ol")?"numbered":"bulleted";const c=r[0].getAttribute("listType");c&&(l=c);const d={listItemId:s,listIndent:a,listType:l};for(const t of r)t.hasAttribute("listItemId")||i.setAttributes(d,t);r.length>1&&r[1].getAttribute("listItemId")!=d.listItemId&&n.keepEmptyElement(r[0])}}function Gx(t,e,n,{dataPipeline:i}={}){const o=function(t){return(e,n)=>{const i=[];for(const n of t)e.hasAttribute(n)&&i.push(`attribute:${n}`);return!!i.every((t=>!1!==n.test(e,t)))&&(i.forEach((t=>n.consume(e,t))),!0)}}(t);return(r,s,a)=>{const{writer:l,mapper:c,consumable:d}=a,h=s.item;if(!t.includes(s.attributeKey))return;if(!o(h,d))return;const u=function(t,e,n){const i=n.createRangeOn(t),o=e.toViewRange(i).getTrimmed();return o.end.nodeBefore}(h,c,n);Yx(u,l,c),function(t,e){let n=t.parent;for(;n.is("attributeElement")&&["ul","ol","li"].includes(n.name);){const i=n.parent;e.unwrap(e.createRangeOn(t),n),n=i}}(u,l);const m=function(t,e,n,i,{dataPipeline:o}){let r=i.createRangeOn(e);if(!wx(t))return r;for(const s of n){if("itemMarker"!=s.scope)continue;const n=s.createElement(i,t,{dataPipeline:o});if(!n)continue;if(i.setCustomProperty("listItemMarker",!0,n),s.canInjectMarkerIntoElement&&s.canInjectMarkerIntoElement(t)?i.insert(i.createPositionAt(e,0),n):(i.insert(r.start,n),r=i.createRange(i.createPositionBefore(n),i.createPositionAfter(e))),!s.createWrapperElement||!s.canWrapElement)continue;const a=s.createWrapperElement(i,t,{dataPipeline:o});i.setCustomProperty("listItemWrapper",!0,a),s.canWrapElement(t)?r=i.wrap(r,a):(r=i.wrap(i.createRangeOn(n),a),r=i.createRange(r.start,i.createPositionAfter(e)))}return r}(h,u,e,l,{dataPipeline:i});!function(t,e,n,i){if(!t.hasAttribute("listIndent"))return;const o=t.getAttribute("listIndent");let r=t;for(let t=o;t>=0;t--){const o=jx(i,t,r.getAttribute("listItemId")),s=Hx(i,t,r.getAttribute("listType"));for(const t of n)"list"!=t.scope&&"item"!=t.scope||!r.hasAttribute(t.attributeName)||t.setAttributeOnDowncast(i,r.getAttribute(t.attributeName),"list"==t.scope?s:o);if(e=i.wrap(e,o),e=i.wrap(e,s),0==t)break;if(r=hx.first(r,{lowerIndent:!0}),!r)break}}(h,m,e,l)}}function Kx(t,{dataPipeline:e}={}){return(n,{writer:i})=>{if(!Zx(n,t))return null;if(!e)return i.createContainerElement("span",{class:"ck-list-bogus-paragraph"});const o=i.createContainerElement("p");return i.setCustomProperty("dataPipeline:transparentRendering",!0,o),o}}function Yx(t,e,n){for(;t.parent.is("attributeElement")&&t.parent.getCustomProperty("listItemWrapper");)e.unwrap(e.createRangeOn(t),t.parent);const i=[];o(e.createPositionBefore(t).getWalker({direction:"backward"})),o(e.createRangeIn(t).getWalker());for(const t of i)e.remove(t);function o(t){for(const{item:e}of t){if(e.is("element")&&n.toModelElement(e))break;e.is("element")&&e.getCustomProperty("listItemMarker")&&i.push(e)}}}function Zx(t,e,n=fx(t)){if(!px(t))return!1;for(const n of t.getAttributeKeys())if(!n.startsWith("selection:")&&!e.includes(n))return!1;return n.length<2}var Jx=n(1232),Qx={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Jx.A,Qx);Jx.A.locals;var Xx=n(6903),tE={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(Xx.A,tE);Xx.A.locals;const eE=["listType","listIndent","listItemId"];class nE extends Lr{_downcastStrategies=[];static get pluginName(){return"ListEditing"}static get requires(){return[pA,sw,Mx,l_]}constructor(t){super(t),t.config.define("list.multiBlock",!0)}init(){const t=this.editor,e=t.model,n=t.config.get("list.multiBlock");if(t.plugins.has("LegacyListEditing"))throw new bi("list-feature-conflict",this,{conflictPlugin:"LegacyListEditing"});e.schema.register("$listItem",{allowAttributes:eE}),n?(e.schema.extend("$container",{allowAttributesOf:"$listItem"}),e.schema.extend("$block",{allowAttributesOf:"$listItem"}),e.schema.extend("$blockObject",{allowAttributesOf:"$listItem"})):e.schema.register("listItem",{inheritAllFrom:"$block",allowAttributesOf:"$listItem"});for(const t of eE)e.schema.setAttributeProperties(t,{copyOnReplace:!0});t.commands.add("numberedList",new Vx(t,"numbered")),t.commands.add("bulletedList",new Vx(t,"bulleted")),t.commands.add("customNumberedList",new Vx(t,"customNumbered",{multiLevel:!0})),t.commands.add("customBulletedList",new Vx(t,"customBulleted",{multiLevel:!0})),t.commands.add("indentList",new Fx(t,"forward")),t.commands.add("outdentList",new Fx(t,"backward")),t.commands.add("splitListItemBefore",new zx(t,"before")),t.commands.add("splitListItemAfter",new zx(t,"after")),n&&(t.commands.add("mergeListItemBackward",new Lx(t,"backward")),t.commands.add("mergeListItemForward",new Lx(t,"forward"))),this._setupDeleteIntegration(),this._setupEnterIntegration(),this._setupTabIntegration(),this._setupClipboardIntegration(),this._setupAccessibilityIntegration()}afterInit(){const t=this.editor.commands,e=t.get("indent"),n=t.get("outdent");e&&e.registerChildCommand(t.get("indentList"),{priority:"high"}),n&&n.registerChildCommand(t.get("outdentList"),{priority:"lowest"}),this._setupModelPostFixing(),this._setupConversion()}registerDowncastStrategy(t){this._downcastStrategies.push(t)}getListAttributeNames(){return[...eE,...this._downcastStrategies.map((t=>t.attributeName))]}_setupDeleteIntegration(){const t=this.editor,e=t.commands.get("mergeListItemBackward"),n=t.commands.get("mergeListItemForward");this.listenTo(t.editing.view.document,"delete",((i,o)=>{const r=t.model.document.selection;Sx(t.model)||t.model.change((()=>{const s=r.getFirstPosition();if(r.isCollapsed&&"backward"==o.direction){if(!s.isAtStart)return;const n=s.parent;if(!px(n))return;if(hx.first(n,{sameAttributes:"listType",sameIndent:!0})||0!==n.getAttribute("listIndent")){if(!e||!e.isEnabled)return;e.execute({shouldMergeOnBlocksContentLevel:iE(t.model,"backward")})}else Ax(n)||t.execute("splitListItemAfter"),t.execute("outdentList");o.preventDefault(),i.stop()}else{if(r.isCollapsed&&!r.getLastPosition().isAtEnd)return;if(!n||!n.isEnabled)return;n.execute({shouldMergeOnBlocksContentLevel:iE(t.model,"forward")}),o.preventDefault(),i.stop()}}))}),{context:"li"})}_setupEnterIntegration(){const t=this.editor,e=t.model,n=t.commands,i=n.get("enter");this.listenTo(t.editing.view.document,"enter",((n,i)=>{const o=e.document,r=o.selection.getFirstPosition().parent;if(o.selection.isCollapsed&&px(r)&&r.isEmpty&&!i.isSoft){const e=wx(r),o=Ax(r);e&&o?(t.execute("outdentList"),i.preventDefault(),n.stop()):e&&!o?(t.execute("splitListItemAfter"),i.preventDefault(),n.stop()):o&&(t.execute("splitListItemBefore"),i.preventDefault(),n.stop())}}),{context:"li"}),this.listenTo(i,"afterExecute",(()=>{const e=n.get("splitListItemBefore");if(e.refresh(),!e.isEnabled)return;2===fx(t.model.document.selection.getLastPosition().parent).length&&e.execute()}))}_setupTabIntegration(){const t=this.editor;this.listenTo(t.editing.view.document,"tab",((e,n)=>{const i=n.shiftKey?"outdentList":"indentList";this.editor.commands.get(i).isEnabled&&(t.execute(i),n.stopPropagation(),n.preventDefault(),e.stop())}),{context:"li"})}_setupConversion(){const t=this.editor,e=t.model,n=this.getListAttributeNames(),i=t.config.get("list.multiBlock"),o=i?"paragraph":"listItem";t.conversion.for("upcast").elementToElement({view:"li",model:(t,{writer:e})=>e.createElement(o,{listType:""})}).elementToElement({view:"p",model:(t,{writer:e})=>t.parent&&t.parent.is("element","li")?e.createElement(o,{listType:""}):null,converterPriority:"high"}).add((t=>{t.on("element:li",$x())})),i||t.conversion.for("downcast").elementToElement({model:"listItem",view:"p"}),t.conversion.for("editingDowncast").elementToElement({model:o,view:Kx(n),converterPriority:"high"}).add((t=>{var i;t.on("attribute",Gx(n,this._downcastStrategies,e)),t.on("remove",(i=e.schema,(t,e,n)=>{const{writer:o,mapper:r}=n,s=t.name.split(":")[1];if(!i.checkAttribute(s,"listItemId"))return;const a=r.toViewPosition(e.position),l=e.position.getShiftedBy(e.length),c=r.toViewPosition(l,{isPhantom:!0}),d=o.createRange(a,c).getTrimmed().end.nodeBefore;d&&Yx(d,o,r)}))})),t.conversion.for("dataDowncast").elementToElement({model:o,view:Kx(n,{dataPipeline:!0}),converterPriority:"high"}).add((t=>{t.on("attribute",Gx(n,this._downcastStrategies,e,{dataPipeline:!0}))}));const r=(s=this._downcastStrategies,a=t.editing.view,(t,e)=>{if(e.modelPosition.offset>0)return;const n=e.modelPosition.parent;if(!px(n))return;if(!s.some((t=>"itemMarker"==t.scope&&t.canInjectMarkerIntoElement&&t.canInjectMarkerIntoElement(n))))return;const i=e.mapper.toViewElement(n),o=a.createRangeIn(i),r=o.getWalker();let l=o.start;for(const{item:t}of r){if(t.is("element")&&e.mapper.toModelElement(t)||t.is("$textProxy"))break;t.is("element")&&t.getCustomProperty("listItemMarker")&&(l=a.createPositionAfter(t),r.skip((({previousPosition:t})=>!t.isEqual(l))))}e.viewPosition=l});var s,a;t.editing.mapper.on("modelToViewPosition",r),t.data.mapper.on("modelToViewPosition",r),this.listenTo(e.document,"change:data",function(t,e,n,i){return()=>{const i=t.document.differ.getChanges(),s=[],a=new Map,l=new Set;for(const t of i)if("insert"==t.type&&"$text"!=t.name)Ux(t.position,a),t.attributes.has("listItemId")?l.add(t.position.nodeAfter):Ux(t.position.getShiftedBy(t.length),a);else if("remove"==t.type&&t.attributes.has("listItemId"))Ux(t.position,a);else if("attribute"==t.type){const e=t.range.start.nodeAfter;n.includes(t.attributeKey)?(Ux(t.range.start,a),null===t.attributeNewValue?(Ux(t.range.start.getShiftedBy(1),a),r(e)&&s.push(e)):l.add(e)):px(e)&&r(e)&&s.push(e)}for(const t of a.values())s.push(...o(t,l));for(const t of new Set(s))e.reconvertItem(t)};function o(t,e){const i=[],o=new Set,a=[];for(const{node:l,previous:c}of ux(t,"forward")){if(o.has(l))continue;const t=l.getAttribute("listIndent");c&&tn.includes(t))));const d=kx(l,{direction:"forward"});for(const t of d)o.add(t),(r(t,d)||s(t,a,e))&&i.push(t)}return i}function r(t,o){const r=e.mapper.toViewElement(t);if(!r)return!1;if(i.fire("checkElement",{modelElement:t,viewElement:r}))return!0;if(!t.is("element","paragraph")&&!t.is("element","listItem"))return!1;const s=Zx(t,n,o);return!(!s||!r.is("element","p"))||!(s||!r.is("element","span"))}function s(t,n,o){if(o.has(t))return!1;const r=e.mapper.toViewElement(t);let s=n.length-1;for(let t=r.parent;!t.is("editableElement");t=t.parent){const e=Nx(t),o=Ox(t);if(!o&&!e)continue;const r="checkAttributes:"+(e?"item":"list");if(i.fire(r,{viewElement:t,modelAttributes:n[s]}))break;if(o&&(s--,s<0))return!1}return!0}}(e,t.editing,n,this),{priority:"high"}),this.on("checkAttributes:item",((t,{viewElement:e,modelAttributes:n})=>{e.id!=n.listItemId&&(t.return=!0,t.stop())})),this.on("checkAttributes:list",((t,{viewElement:e,modelAttributes:n})=>{e.name==qx(n.listType)&&e.id==Wx(n.listType,n.listIndent)||(t.return=!0,t.stop())}))}_setupModelPostFixing(){const t=this.editor.model,e=this.getListAttributeNames();t.document.registerPostFixer((n=>function(t,e,n,i){const o=t.document.differ.getChanges(),r=new Map,s=i.editor.config.get("list.multiBlock");let a=!1;for(const i of o){if("insert"==i.type&&"$text"!=i.name){const o=i.position.nodeAfter;if(!t.schema.checkAttribute(o,"listItemId"))for(const t of Array.from(o.getAttributeKeys()))n.includes(t)&&(e.removeAttribute(t,o),a=!0);Ux(i.position,r),i.attributes.has("listItemId")||Ux(i.position.getShiftedBy(i.length),r);for(const{item:e,previousPosition:n}of t.createRangeIn(o))px(e)&&Ux(n,r)}else"remove"==i.type?Ux(i.position,r):"attribute"==i.type&&n.includes(i.attributeKey)&&(Ux(i.range.start,r),null===i.attributeNewValue&&Ux(i.range.start.getShiftedBy(1),r));if(!s&&"attribute"==i.type&&eE.includes(i.attributeKey)){const t=i.range.start.nodeAfter;null===i.attributeNewValue&&t&&t.is("element","listItem")?(e.rename(t,"paragraph"),a=!0):null===i.attributeOldValue&&t&&t.is("element")&&"listItem"!=t.name&&(e.rename(t,"listItem"),a=!0)}}const l=new Set;for(const t of r.values())a=i.fire("postFixer",{listNodes:new mx(t),listHead:t,writer:e,seenIds:l})||a;return a}(t,n,e,this))),this.on("postFixer",((t,{listNodes:e,writer:n})=>{t.return=function(t,e){let n=0,i=-1,o=null,r=!1;for(const{node:s}of t){const t=s.getAttribute("listIndent");if(t>n){let a;null===o?(o=t-n,a=n):(o>t&&(o=t),a=t-o),a>i+1&&(a=i+1),e.setAttribute("listIndent",a,s),r=!0,i=a}else o=null,n=t+1,i=t}return r}(e,n)||t.return}),{priority:"high"}),this.on("postFixer",((t,{listNodes:e,writer:n,seenIds:i})=>{t.return=function(t,e,n){const i=new Set;let o=!1;for(const{node:r}of t){if(i.has(r))continue;let t=r.getAttribute("listType"),s=r.getAttribute("listItemId");if(e.has(s)&&(s=gx.next()),e.add(s),r.is("element","listItem"))r.getAttribute("listItemId")!=s&&(n.setAttribute("listItemId",s,r),o=!0);else for(const e of kx(r,{direction:"forward"}))i.add(e),e.getAttribute("listType")!=t&&(s=gx.next(),t=e.getAttribute("listType")),e.getAttribute("listItemId")!=s&&(n.setAttribute("listItemId",s,e),o=!0)}return o}(e,i,n)||t.return}),{priority:"high"})}_setupClipboardIntegration(){const t=this.editor.model,e=this.editor.plugins.get("ClipboardPipeline");this.listenTo(t,"insertContent",function(t){return(e,[n,i])=>{const o=n.is("documentFragment")?Array.from(n.getChildren()):[n];if(!o.length)return;const r=(i?t.createSelection(i):t.document.selection).getFirstPosition();let s;if(px(r.parent))s=r.parent;else{if(!px(r.nodeBefore))return;s=r.nodeBefore}t.change((t=>{const e=s.getAttribute("listType"),n=s.getAttribute("listIndent"),i=o[0].getAttribute("listIndent")||0,r=Math.max(n-i,0);for(const n of o){const i=px(n);s.is("element","listItem")&&n.is("element","paragraph")&&t.rename(n,"listItem"),t.setAttributes({listIndent:(i?n.getAttribute("listIndent"):0)+r,listItemId:i?n.getAttribute("listItemId"):gx.next(),listType:e},n)}}))}}(t),{priority:"high"}),this.listenTo(e,"outputTransformation",((e,n)=>{t.change((t=>{const e=Array.from(n.content.getChildren()),i=e[e.length-1];if(e.length>1&&i.is("element")&&i.isEmpty){e.slice(0,-1).every(px)&&t.remove(i)}if("copy"==n.method||"cut"==n.method){const e=Array.from(n.content.getChildren());Bx(e)&&Ex(e,t)}}))}))}_setupAccessibilityIntegration(){const t=this.editor,e=t.t;t.accessibility.addKeystrokeInfoGroup({id:"list",label:e("Keystrokes that can be used in a list"),keystrokes:[{label:e("Increase list item indent"),keystroke:"Tab"},{label:e("Decrease list item indent"),keystroke:"Shift+Tab"}]})}}function iE(t,e){const n=t.document.selection;if(!n.isCollapsed)return!Sx(t);if("forward"===e)return!0;const i=n.getFirstPosition().parent,o=i.previousSibling;return!t.schema.isObject(o)&&(!!o.isEmpty||Bx([i,o]))}function oE(t,e,n,i){t.ui.componentFactory.add(e,(()=>{const o=rE(wm,t,e,n,i);return o.set({tooltip:!0,isToggleable:!0}),o})),t.ui.componentFactory.add(`menuBar:${e}`,(()=>{const o=rE(Zm,t,e,n,i);return o.set({role:"menuitemcheckbox",isToggleable:!0}),o}))}function rE(t,e,n,i,o){const r=e.commands.get(n),s=new t(e.locale);return s.set({label:i,icon:o}),s.bind("isOn","isEnabled").to(r,"value","isEnabled"),s.on("execute",(()=>{e.execute(n),e.editing.view.focus()})),s}class sE extends Lr{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;this.editor.ui.componentFactory.has("numberedList")||oE(this.editor,"numberedList",t("Numbered List"),zu.numberedList),this.editor.ui.componentFactory.has("bulletedList")||oE(this.editor,"bulletedList",t("Bulleted List"),zu.bulletedList)}}class aE extends Lr{static get requires(){return[nE,sE]}static get pluginName(){return"List"}}const lE={},cE={},dE={},hE=[{listStyle:"disc",typeAttribute:"disc",listType:"bulleted"},{listStyle:"circle",typeAttribute:"circle",listType:"bulleted"},{listStyle:"square",typeAttribute:"square",listType:"bulleted"},{listStyle:"decimal",typeAttribute:"1",listType:"numbered"},{listStyle:"decimal-leading-zero",typeAttribute:null,listType:"numbered"},{listStyle:"lower-roman",typeAttribute:"i",listType:"numbered"},{listStyle:"upper-roman",typeAttribute:"I",listType:"numbered"},{listStyle:"lower-alpha",typeAttribute:"a",listType:"numbered"},{listStyle:"upper-alpha",typeAttribute:"A",listType:"numbered"},{listStyle:"lower-latin",typeAttribute:"a",listType:"numbered"},{listStyle:"upper-latin",typeAttribute:"A",listType:"numbered"}];for(const{listStyle:t,typeAttribute:e,listType:n}of hE)lE[t]=n,cE[t]=e,e&&(dE[e]=t);var uE=n(9968),mE={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(uE.A,mE);uE.A.locals;var gE=n(7141),pE={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(gE.A,pE);gE.A.locals;class fE extends Mr{constructor(t){super(t),this.on("execute",(()=>{this.refresh()}),{priority:"highest"})}refresh(){const t=this._getSelectedItems();this.value=this._getValue(t),this.isEnabled=!!t.length}execute(t={}){this.editor.model.change((e=>{const n=this._getSelectedItems(),i=void 0===t.forceValue?!this._getValue(n):t.forceValue;for(const t of n)i?e.setAttribute("todoListChecked",!0,t):e.removeAttribute("todoListChecked",t)}))}_getValue(t){return t.every((t=>t.getAttribute("todoListChecked")))}_getSelectedItems(){const t=this.editor.model,e=t.schema,n=t.document.selection.getFirstRange(),i=n.start.parent,o=[];e.checkAttribute(i,"todoListChecked")&&o.push(...fx(i));for(const t of n.getItems({shallow:!0}))e.checkAttribute(t,"todoListChecked")&&!o.includes(t)&&o.push(...fx(t));return o}}class kE extends nl{domEventType=["change"];onDomEvent(t){if(t.target){const e=this.view.domConverter.mapDomToView(t.target);e&&e.is("element","input")&&"checkbox"==e.getAttribute("type")&&e.findAncestor({classes:"todo-list__label"})&&this.fire("todoCheckboxChange",t)}}}const bE=Zo("Ctrl+Enter");class wE extends Lr{static get pluginName(){return"TodoListEditing"}static get requires(){return[nE]}init(){const t=this.editor,e=t.model,n=t.editing,i=t.plugins.get(nE),o=t.config.get("list.multiBlock")?"paragraph":"listItem";t.commands.add("todoList",new Vx(t,"todo")),t.commands.add("checkTodoList",new fE(t)),n.view.addObserver(kE),e.schema.extend("$listItem",{allowAttributes:"todoListChecked"}),e.schema.addAttributeCheck((t=>{const e=t.last;if(!e.getAttribute("listItemId")||"todo"!=e.getAttribute("listType"))return!1}),"todoListChecked"),t.conversion.for("upcast").add((t=>{t.on("element:input",((t,e,n)=>{const i=e.modelCursor,o=i.parent,r=e.viewItem;if(!n.consumable.test(r,{name:!0}))return;if("checkbox"!=r.getAttribute("type")||!i.isAtStart||!o.hasAttribute("listType"))return;n.consumable.consume(r,{name:!0});const s=n.writer;s.setAttribute("listType","todo",o),e.viewItem.hasAttribute("checked")&&s.setAttribute("todoListChecked",!0,o),e.modelRange=s.createRange(i)})),t.on("element:li",((t,e,n)=>{const{writer:i,schema:o}=n;if(!e.modelRange)return;const r=Array.from(e.modelRange.getItems({shallow:!0})).filter((t=>"todo"===t.getAttribute("listType")&&o.checkAttribute(t,"listItemId"))).reduce(((t,e)=>{const n=e.getAttribute("listItemId");return t.has(n)||t.set(n,fx(e)),t}),new Map);for(const[,t]of r.entries())if(t.some((t=>t.getAttribute("todoListChecked"))))for(const e of t)i.setAttribute("todoListChecked",!0,e)}),{priority:"low"}),t.on("element:label",AE({name:"label",classes:"todo-list__label"})),t.on("element:label",AE({name:"label",classes:["todo-list__label","todo-list__label_without-description"]})),t.on("element:span",AE({name:"span",classes:"todo-list__label__description"})),t.on("element:ul",function(t){const e=new as(t);return(t,n,i)=>{const o=e.match(n.viewItem);if(!o)return;const r=o.match;r.name=!1,i.consumable.consume(n.viewItem,r)}}({name:"ul",classes:"todo-list"}))})),t.conversion.for("downcast").elementToElement({model:o,view:(t,{writer:e})=>{if(_E(t,i.getListAttributeNames()))return e.createContainerElement("span",{class:"todo-list__label__description"})},converterPriority:"highest"}),i.registerDowncastStrategy({scope:"list",attributeName:"listType",setAttributeOnDowncast(t,e,n){"todo"==e?t.addClass("todo-list",n):t.removeClass("todo-list",n)}}),i.registerDowncastStrategy({scope:"itemMarker",attributeName:"todoListChecked",createElement(t,e,{dataPipeline:n}){if("todo"!=e.getAttribute("listType"))return null;const i=t.createUIElement("input",{type:"checkbox",...e.getAttribute("todoListChecked")?{checked:"checked"}:null,...n?{disabled:"disabled"}:{tabindex:"-1"}});if(n)return i;const o=t.createContainerElement("span",{contenteditable:"false"},i);return o.getFillerOffset=()=>null,o},canWrapElement:t=>_E(t,i.getListAttributeNames()),createWrapperElement(t,e,{dataPipeline:n}){const o=["todo-list__label"];return _E(e,i.getListAttributeNames())||o.push("todo-list__label_without-description"),t.createAttributeElement(n?"label":"span",{class:o.join(" ")})}}),i.on("checkElement",((t,{modelElement:e,viewElement:n})=>{const o=_E(e,i.getListAttributeNames());n.hasClass("todo-list__label__description")!=o&&(t.return=!0,t.stop())})),i.on("checkElement",((e,{modelElement:n,viewElement:i})=>{const o="todo"==n.getAttribute("listType")&&wx(n);let r=!1;const s=t.editing.view.createPositionBefore(i).getWalker({direction:"backward"});for(const{item:e}of s){if(e.is("element")&&t.editing.mapper.toModelElement(e))break;e.is("element","input")&&"checkbox"==e.getAttribute("type")&&(r=!0)}r!=o&&(e.return=!0,e.stop())})),i.on("postFixer",((t,{listNodes:e,writer:n})=>{for(const{node:i,previousNodeInList:o}of e){if(!o)continue;if(o.getAttribute("listItemId")!=i.getAttribute("listItemId"))continue;const e=o.hasAttribute("todoListChecked"),r=i.hasAttribute("todoListChecked");r&&!e?(n.removeAttribute("todoListChecked",i),t.return=!0):!r&&e&&(n.setAttribute("todoListChecked",!0,i),t.return=!0)}})),e.document.registerPostFixer((t=>{const n=e.document.differ.getChanges();let i=!1;for(const e of n)if("attribute"==e.type&&"listType"==e.attributeKey){const n=e.range.start.nodeAfter;"todo"==e.attributeOldValue&&n.hasAttribute("todoListChecked")&&(t.removeAttribute("todoListChecked",n),i=!0)}else if("insert"==e.type&&"$text"!=e.name)for(const{item:n}of t.createRangeOn(e.position.nodeAfter))n.is("element")&&"todo"!=n.getAttribute("listType")&&n.hasAttribute("todoListChecked")&&(t.removeAttribute("todoListChecked",n),i=!0);return i})),this.listenTo(n.view.document,"keydown",((e,n)=>{Yo(n)===bE&&(t.execute("checkTodoList"),e.stop())}),{priority:"high"}),this.listenTo(n.view.document,"todoCheckboxChange",((t,e)=>{const i=e.target;if(!i||!i.is("element","input"))return;const o=n.view.createPositionAfter(i),r=n.mapper.toModelPosition(o).parent;r&&px(r)&&"todo"==r.getAttribute("listType")&&this._handleCheckmarkChange(r)})),this.listenTo(n.view.document,"arrowKey",function(t,e){return(n,i)=>{const o=Qo(i.keyCode,e.contentLanguageDirection),r=t.schema,s=t.document.selection;if(!s.isCollapsed)return;const a=s.getFirstPosition(),l=a.parent;if("right"==o&&a.isAtEnd){const e=r.getNearestSelectionRange(t.createPositionAfter(l),"forward");if(!e)return;const o=e.start.parent;o&&px(o)&&"todo"==o.getAttribute("listType")&&(t.change((t=>t.setSelection(e))),i.preventDefault(),i.stopPropagation(),n.stop())}else if("left"==o&&a.isAtStart&&px(l)&&"todo"==l.getAttribute("listType")){const e=r.getNearestSelectionRange(t.createPositionBefore(l),"backward");if(!e)return;t.change((t=>t.setSelection(e))),i.preventDefault(),i.stopPropagation(),n.stop()}}}(e,t.locale),{context:"$text"}),this.listenTo(n.mapper,"viewToModelPosition",((t,n)=>{const i=n.viewPosition.parent,o=i.is("attributeElement","li")&&0==n.viewPosition.offset,r=CE(i)&&n.viewPosition.offset<=1,s=i.is("element","span")&&"false"==i.getAttribute("contenteditable")&&CE(i.parent);if(!o&&!r&&!s)return;const a=n.modelPosition.nodeAfter;a&&"todo"==a.getAttribute("listType")&&(n.modelPosition=e.createPositionAt(a,0))}),{priority:"low"}),this._initAriaAnnouncements()}_handleCheckmarkChange(t){const e=this.editor,n=e.model,i=Array.from(n.document.selection.getRanges());n.change((n=>{n.setSelection(t,"end"),e.execute("checkTodoList"),n.setSelection(i)}))}_initAriaAnnouncements(){const{model:t,ui:e,t:n}=this.editor;let i=null;e&&t.document.selection.on("change:range",(()=>{const o=t.document.selection.focus.parent,r=vE(i),s=vE(o);r&&!s?e.ariaLiveAnnouncer.announce(n("Leaving a to-do list")):!r&&s&&e.ariaLiveAnnouncer.announce(n("Entering a to-do list")),i=o}))}}function AE(t){const e=new as(t);return(t,n,i)=>{const o=e.match(n.viewItem);o&&i.consumable.consume(n.viewItem,o.match)&&Object.assign(n,i.convertChildren(n.viewItem,n.modelCursor))}}function _E(t,e){return(t.is("element","paragraph")||t.is("element","listItem"))&&"todo"==t.getAttribute("listType")&&wx(t)&&function(t,e){for(const n of t.getAttributeKeys())if(!n.startsWith("selection:")&&!e.includes(n))return!1;return!0}(t,e)}function CE(t){return!!t&&t.is("attributeElement")&&t.hasClass("todo-list__label")}function vE(t){return!!t&&(!(!t.is("element","paragraph")&&!t.is("element","listItem"))&&"todo"==t.getAttribute("listType"))}class yE extends Lr{static get pluginName(){return"TodoListUI"}init(){const t=this.editor.t;oE(this.editor,"todoList",t("To-do List"),zu.todoList)}}var xE=n(8991),EE={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};$r()(xE.A,EE);xE.A.locals;class BE extends Lr{static get requires(){return[wE,yE]}static get pluginName(){return"TodoList"}}function DE(t){return void 0!==t&&t.endsWith("px")}function SE(t){return t.toFixed(2).replace(/\.?0+$/,"")+"px"}function TE(t,e,n){if(!t.childCount)return;const i=new jh(t.document),o=function(t,e){const n=e.createRangeIn(t),i=[],o=new Set;for(const t of n.getItems()){if(!t.is("element")||!t.name.match(/^(p|h\d+|li|div)$/))continue;let e=ME(t);if(void 0===e||0!=parseFloat(e)||Array.from(t.getClassNames()).find((t=>t.startsWith("MsoList")))||(e=void 0),t.hasStyle("mso-list")||void 0!==e&&o.has(e)){const n=LE(t);i.push({element:t,id:n.id,order:n.order,indent:n.indent,marginLeft:e}),void 0!==e&&o.add(e)}else o.clear()}return i}(t,i);if(!o.length)return;const r={},s=[];for(const t of o)if(void 0!==t.indent){IE(t)||(s.length=0);const o=`${t.id}:${t.indent}`,a=Math.min(t.indent-1,s.length);if(as.length-1||s[a].listElement.name!=l.type){0==a&&"ol"==l.type&&void 0!==t.id&&r[o]&&(l.startIndex=r[o]);const e=VE(l,i,n);if(DE(t.marginLeft)&&(0==a||DE(s[a-1].marginLeft))){let n=t.marginLeft;a>0&&(n=SE(parseFloat(n)-parseFloat(s[a-1].marginLeft))),i.setStyle("padding-left",n,e)}if(0==s.length){const n=t.element.parent,o=n.getChildIndex(t.element)+1;i.insertChild(o,e,n)}else{const t=s[a-1].listItemElements;i.appendChild(e,t[t.length-1])}s[a]={...t,listElement:e,listItemElements:[]},0==a&&void 0!==t.id&&(r[o]=l.startIndex||1)}}const l="li"==t.element.name?t.element:i.createElement("li");i.appendChild(l,s[a].listElement),s[a].listItemElements.push(l),0==a&&void 0!==t.id&&r[o]++,t.element!=l&&i.appendChild(t.element,l),zE(t.element,i),i.removeStyle("text-indent",t.element),i.removeStyle("margin-left",t.element)}else{const e=s.find((e=>e.marginLeft==t.marginLeft));if(e){const n=e.listItemElements;i.appendChild(t.element,n[n.length-1]),i.removeStyle("margin-left",t.element)}else s.length=0}}function IE(t){const e=t.element.previousSibling;return PE(e||t.element.parent)}function PE(t){return t.is("element","ol")||t.is("element","ul")}function FE(t,e){const n=new RegExp(`@list l${t.id}:level${t.indent}\\s*({[^}]*)`,"gi"),i=/mso-level-number-format:([^;]{0,100});/gi,o=/mso-level-start-at:\s{0,100}([0-9]{0,10})\s{0,100};/gi,r=new RegExp(`@list\\s+l${t.id}:level\\d\\s*{[^{]*mso-level-text:"%\\d\\\\.`,"gi"),s=new RegExp(`@list l${t.id}:level\\d\\s*{[^{]*mso-level-number-format:`,"gi"),a=r.exec(e),l=s.exec(e),c=a&&!l,d=n.exec(e);let h="decimal",u="ol",m=null;if(d&&d[1]){const e=i.exec(d[1]);if(e&&e[1]&&(h=e[1].trim(),u="bullet"!==h&&"image"!==h?"ol":"ul"),"bullet"===h){const e=function(t){if("li"==t.name&&"ul"==t.parent.name&&t.parent.hasAttribute("type"))return t.parent.getAttribute("type");const e=function(t){if(t.getChild(0).is("$text"))return null;for(const e of t.getChildren()){if(!e.is("element","span"))continue;const t=e.getChild(0);if(t)return t.is("$text")?t:t.getChild(0)}return null}(t);if(!e)return null;const n=e._data;if("o"===n)return"circle";if("·"===n)return"disc";if("§"===n)return"square";return null}(t.element);e&&(h=e)}else{const t=o.exec(d[1]);t&&t[1]&&(m=parseInt(t[1]))}c&&(u="ol")}return{type:u,startIndex:m,style:RE(h),isLegalStyleList:c}}function RE(t){if(t.startsWith("arabic-leading-zero"))return"decimal-leading-zero";switch(t){case"alpha-upper":return"upper-alpha";case"alpha-lower":return"lower-alpha";case"roman-upper":return"upper-roman";case"roman-lower":return"lower-roman";case"circle":case"disc":case"square":return t;default:return null}}function VE(t,e,n){const i=e.createElement(t.type);return t.style&&e.setStyle("list-style-type",t.style,i),t.startIndex&&t.startIndex>1&&e.setAttribute("start",t.startIndex,i),t.isLegalStyleList&&n&&e.addClass("legal-list",i),i}function LE(t){const e=t.getStyle("mso-list");if(void 0===e)return{};const n=e.match(/(^|\s{1,100})l(\d+)/i),i=e.match(/\s{0,100}lfo(\d+)/i),o=e.match(/\s{0,100}level(\d+)/i);return n&&i&&o?{id:n[2],order:i[1],indent:parseInt(o[1])}:{indent:1}}function zE(t,e){const n=new as({name:"span",styles:{"mso-list":"Ignore"}}),i=e.createRangeIn(t);for(const t of i)"elementStart"===t.type&&n.match(t.item)&&e.remove(t.item)}function ME(t){const e=t.getStyle("margin-left");return void 0===e||e.endsWith("px")?e:function(t){const e=parseFloat(t);return t.endsWith("pt")?SE(96*e/72):t.endsWith("pc")?SE(12*e*96/72):t.endsWith("in")?SE(96*e):t.endsWith("cm")?SE(96*e/2.54):t.endsWith("mm")?SE(e/10*96/2.54):t}(e)}function OE(t,e){if(!t.childCount)return;const n=new jh(t.document),i=function(t,e){const n=e.createRangeIn(t),i=new as({name:/v:(.+)/}),o=[];for(const t of n){if("elementStart"!=t.type)continue;const e=t.item,n=e.previousSibling,r=n&&n.is("element")?n.name:null,s=["Chart"],a=i.match(e),l=e.getAttribute("o:gfxdata"),c="v:shapetype"===r,d=l&&s.some((t=>e.getAttribute("id").includes(t)));a&&l&&!c&&!d&&o.push(t.item.getAttribute("id"))}return o}(t,n);!function(t,e,n){const i=n.createRangeIn(e),o=new as({name:"img"}),r=[];for(const e of i)if(e.item.is("element")&&o.match(e.item)){const n=e.item,i=n.getAttribute("v:shapes")?n.getAttribute("v:shapes").split(" "):[];i.length&&i.every((e=>t.indexOf(e)>-1))?r.push(n):n.getAttribute("src")||r.push(n)}for(const t of r)n.remove(t)}(i,t,n),function(t,e,n){const i=n.createRangeIn(e),o=[];for(const e of i)if("elementStart"==e.type&&e.item.is("element","v:shape")){const n=e.item.getAttribute("id");if(t.includes(n))continue;r(e.item.parent.getChildren(),n)||o.push(e.item)}for(const t of o){const e={src:s(t)};t.hasAttribute("alt")&&(e.alt=t.getAttribute("alt"));const i=n.createElement("img",e);n.insertChild(t.index+1,i,t.parent)}function r(t,e){for(const n of t)if(n.is("element")){if("img"==n.name&&n.getAttribute("v:shapes")==e)return!0;if(r(n.getChildren(),e))return!0}return!1}function s(t){for(const e of t.getChildren())if(e.is("element")&&e.getAttribute("src"))return e.getAttribute("src")}}(i,t,n),function(t,e){const n=e.createRangeIn(t),i=new as({name:/v:(.+)/}),o=[];for(const t of n)"elementStart"==t.type&&i.match(t.item)&&o.push(t.item);for(const t of o)e.remove(t)}(t,n);const o=function(t,e){const n=e.createRangeIn(t),i=new as({name:"img"}),o=[];for(const t of n)t.item.is("element")&&i.match(t.item)&&t.item.getAttribute("src").startsWith("file://")&&o.push(t.item);return o}(t,n);o.length&&function(t,e,n){if(t.length===e.length)for(let i=0;iString.fromCharCode(parseInt(t,16)))).join(""))}const HE=//i,jE=/xmlns:o="urn:schemas-microsoft-com/i;class qE{document;hasMultiLevelListPlugin;constructor(t,e=!1){this.document=t,this.hasMultiLevelListPlugin=e}isActive(t){return HE.test(t)||jE.test(t)}execute(t){const{body:e,stylesString:n}=t._parsedData;TE(e,n,this.hasMultiLevelListPlugin),OE(e,t.dataTransfer.getData("text/rtf")),function(t){const e=[],n=new jh(t.document);for(const{item:i}of n.createRangeIn(t))if(i.is("element")){for(const t of i.getClassNames())/\bmso/gi.exec(t)&&n.removeClass(t,i);for(const t of i.getStyleNames())/\bmso/gi.exec(t)&&n.removeStyle(t,i);(i.is("element","w:sdt")||i.is("element","w:sdtpr")&&i.isEmpty||i.is("element","o:p")&&i.isEmpty)&&e.push(i)}for(const t of e){const e=t.parent,i=e.getChildIndex(t);n.insertChild(i,t.getChildren(),e),n.remove(t)}}(e),t.content=e}}function WE(t,e,n,{blockElements:i,inlineObjectElements:o}){let r=n.createPositionAt(t,"forward"==e?"after":"before");return r=r.getLastMatchingPosition((({item:t})=>t.is("element")&&!i.includes(t.name)&&!o.includes(t.name)),{direction:e}),"forward"==e?r.nodeAfter:r.nodeBefore}function UE(t,e){return!!t&&t.is("element")&&e.includes(t.name)}const $E=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class GE{document;constructor(t){this.document=t}isActive(t){return $E.test(t)}execute(t){const e=new jh(this.document),{body:n}=t._parsedData;!function(t,e){for(const n of t.getChildren())if(n.is("element","b")&&"normal"===n.getStyle("font-weight")){const i=t.getChildIndex(n);e.remove(n),e.insertChild(i,n.getChildren(),t)}}(n,e),function(t,e){for(const n of e.createRangeIn(t)){const t=n.item;if(t.is("element","li")){const n=t.getChild(0);n&&n.is("element","p")&&e.unwrapElement(n)}}}(n,e),function(t,e){const n=new sa(e.document.stylesProcessor),i=new Ya(n,{renderingMode:"data"}),o=i.blockElements,r=i.inlineObjectElements,s=[];for(const n of e.createRangeIn(t)){const t=n.item;if(t.is("element","br")){const n=WE(t,"forward",e,{blockElements:o,inlineObjectElements:r}),i=WE(t,"backward",e,{blockElements:o,inlineObjectElements:r}),a=UE(n,o);(UE(i,o)||a)&&s.push(t)}}for(const t of s)t.hasClass("Apple-interchange-newline")?e.remove(t):e.replace(t,e.createElement("p"))}(n,e),t.content=n}}const KE=/(\s+)<\/span>/g,((t,e)=>1===e.length?" ":Array(e.length+1).join("  ").substr(0,e.length)))}function JE(t,e){const n=new DOMParser,i=function(t){return ZE(ZE(t)).replace(/([^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<\/span>/g,"").replace(/()[\r\n]+(<\/span>)/g,"$1 $2").replace(/ <\//g," <\/o:p>/g," ").replace(/( |\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)<")}(function(t){const e="",n="",i=t.indexOf(e);if(i<0)return t;const o=t.indexOf(n,i+e.length);return t.substring(0,i+e.length)+(o>=0?t.substring(o):"")}(t=(t=t.replace(/>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[47,48],inclusive:!1},acc_descr:{rules:[45],inclusive:!1},acc_title:{rules:[43],inclusive:!1},open_directive:{rules:[1,8],inclusive:!1},type_directive:{rules:[2,3,8],inclusive:!1},arg_directive:{rules:[3,4,8],inclusive:!1},ID:{rules:[7,8,15],inclusive:!1},ALIAS:{rules:[7,8,16,17],inclusive:!1},LINE:{rules:[7,8,28],inclusive:!1},INITIAL:{rules:[0,5,6,8,9,10,11,12,13,14,18,19,20,21,22,23,24,25,26,27,29,30,31,32,33,34,35,36,37,38,39,40,41,42,44,46,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67],inclusive:!0}}};function q(){this.yy={}}return V.lexer=H,q.prototype=V,V.Parser=q,new q}();gF.parser=gF;const pF=gF,mF=t=>null!==t.match(/^\s*sequenceDiagram/);let bF,wF,kF,vF={},yF=[],_F=[],CF=!1;const AF=function(t){yF.push({name:t.text,wrap:void 0===t.wrap&&IF()||!!t.wrap,fill:t.color,actorKeys:[]}),kF=yF.slice(-1)[0]},xF=function(t,e,n,i){let r=kF;const o=vF[t];if(o){if(kF&&o.box&&kF!==o.box)throw new Error("A same participant should only be defined in one Box: "+o.name+" can't be in '"+o.box.name+"' and in '"+kF.name+"' at the same time.");if(r=o.box?o.box:kF,o.box=r,o&&e===o.name&&null==n)return}null!=n&&null!=n.text||(n={text:e,wrap:null,type:i}),null!=i&&null!=n.text||(n={text:e,wrap:null,type:i}),vF[t]={box:r,name:e,description:n.text,wrap:void 0===n.wrap&&IF()||!!n.wrap,prevActor:bF,links:{},properties:{},actorCnt:null,rectData:null,type:i||"participant"},bF&&vF[bF]&&(vF[bF].nextActor=t),kF&&kF.actorKeys.push(t),bF=t},EF=t=>{let e,n=0;for(e=0;e<_F.length;e++)_F[e].type===BF.ACTIVE_START&&_F[e].from.actor===t&&n++,_F[e].type===BF.ACTIVE_END&&_F[e].from.actor===t&&n--;return n},TF=function(t,e,n,i){_F.push({from:t,to:e,message:n.text,wrap:void 0===n.wrap&&IF()||!!n.wrap,answer:i})},SF=function(t,e,n={text:void 0,wrap:void 0},i){if(i===BF.ACTIVE_END&&EF(t.actor)<1){let e=new Error("Trying to inactivate an inactive participant ("+t.actor+")");throw e.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},e}return _F.push({from:t,to:e,message:n.text,wrap:void 0===n.wrap&&IF()||!!n.wrap,type:i}),!0},DF=function(t){return vF[t]},IF=()=>void 0!==wF?wF:_w().sequence.wrap,BF={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31},MF=function(t,e,n){n.text,void 0===n.wrap&&IF()||n.wrap;const i=[].concat(t,t);_F.push({from:i[0],to:i[1],message:n.text,wrap:void 0===n.wrap&&IF()||!!n.wrap,type:BF.NOTE,placement:e})},PF=function(t,e){const n=DF(t);try{let t=Gh(e.text,_w());t=t.replace(/&/g,"&"),t=t.replace(/=/g,"="),OF(n,JSON.parse(t))}catch(t){h.error("error while parsing actor link text",t)}},LF=function(t,e){const n=DF(t);try{const t={};let a=Gh(e.text,_w());var i=a.indexOf("@");a=a.replace(/&/g,"&"),a=a.replace(/=/g,"=");var r=a.slice(0,i-1).trim(),o=a.slice(i+1).trim();t[r]=o,OF(n,t)}catch(t){h.error("error while parsing actor link text",t)}};function OF(t,e){if(null==t.links)t.links=e;else for(let n in e)t.links[n]=e[n]}const NF=function(t,e){const n=DF(t);try{let t=Gh(e.text,_w());RF(n,JSON.parse(t))}catch(t){h.error("error while parsing actor properties text",t)}};function RF(t,e){if(null==t.properties)t.properties=e;else for(let n in e)t.properties[n]=e[n]}function FF(){kF=void 0}const jF=function(t,e){const n=DF(t),i=document.getElementById(e.text);try{const t=i.innerHTML,e=JSON.parse(t);e.properties&&RF(n,e.properties),e.links&&OF(n,e.links)}catch(t){h.error("error while parsing actor details text",t)}},$F=function(t){if(Array.isArray(t))t.forEach((function(t){$F(t)}));else switch(t.type){case"sequenceIndex":_F.push({from:void 0,to:void 0,message:{start:t.sequenceIndex,step:t.sequenceIndexStep,visible:t.sequenceVisible},wrap:!1,type:t.signalType});break;case"addParticipant":xF(t.actor,t.actor,t.description,"participant");break;case"addActor":xF(t.actor,t.actor,t.description,"actor");break;case"activeStart":case"activeEnd":SF(t.actor,void 0,void 0,t.signalType);break;case"addNote":MF(t.actor,t.placement,t.text);break;case"addLinks":PF(t.actor,t.text);break;case"addALink":LF(t.actor,t.text);break;case"addProperties":NF(t.actor,t.text);break;case"addDetails":jF(t.actor,t.text);break;case"addMessage":SF(t.from,t.to,t.msg,t.signalType);break;case"boxStart":AF(t.boxData);break;case"boxEnd":FF();break;case"loopStart":SF(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":case"rectEnd":case"optEnd":case"altEnd":case"parEnd":case"criticalEnd":case"breakEnd":SF(void 0,void 0,void 0,t.signalType);break;case"rectStart":SF(void 0,void 0,t.color,t.signalType);break;case"optStart":SF(void 0,void 0,t.optText,t.signalType);break;case"altStart":case"else":SF(void 0,void 0,t.altText,t.signalType);break;case"setAccTitle":tk(t.text);break;case"parStart":case"and":SF(void 0,void 0,t.parText,t.signalType);break;case"criticalStart":SF(void 0,void 0,t.criticalText,t.signalType);break;case"option":SF(void 0,void 0,t.optionText,t.signalType);break;case"breakStart":SF(void 0,void 0,t.breakText,t.signalType)}},zF={addActor:xF,addMessage:TF,addSignal:SF,addLinks:PF,addDetails:jF,addProperties:NF,autoWrap:IF,setWrap:function(t){wF=t},enableSequenceNumbers:function(){CF=!0},disableSequenceNumbers:function(){CF=!1},showSequenceNumbers:()=>CF,getMessages:function(){return _F},getActors:function(){return vF},getActor:DF,getActorKeys:function(){return Object.keys(vF)},getActorProperty:function(t,e){if(void 0!==t&&void 0!==t.properties)return t.properties[e]},getAccTitle:ek,getBoxes:function(){return yF},getDiagramTitle:ok,setDiagramTitle:rk,parseDirective:function(t,e,n){mH.parseDirective(this,t,e,n)},getConfig:()=>_w().sequence,clear:function(){vF={},yF=[],_F=[],CF=!1,Jw()},parseMessage:function(t){const e=t.trim(),n={text:e.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:null!==e.match(/^:?wrap:/)||null===e.match(/^:?nowrap:/)&&void 0};return h.debug("parseMessage:",n),n},parseBoxData:function(t){const e=t.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/);let n=null!=e&&e[1]?e[1].trim():"transparent",i=null!=e&&e[2]?e[2].trim():void 0;if(window&&window.CSS)window.CSS.supports("color",n)||(n="transparent",i=t.trim());else{const e=(new Option).style;e.color=n,e.color!==n&&(n="transparent",i=t.trim())}return{color:n,text:void 0!==i?Gh(i.replace(/^:?(?:no)?wrap:/,""),_w()):void 0,wrap:void 0!==i?null!==i.match(/^:?wrap:/)||null===i.match(/^:?nowrap:/)&&void 0:void 0}},LINETYPE:BF,ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},addNote:MF,setAccTitle:tk,apply:$F,setAccDescription:nk,getAccDescription:ik,hasAtLeastOneBox:function(){return yF.length>0},hasAtLeastOneBoxWithTitle:function(){return yF.some((t=>t.name))}};let VF=[];const HF=t=>{VF.push(t)},qF=()=>{VF.forEach((t=>{t()})),VF=[]},UF=function(t,e){const n=t.append("rect");return 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),void 0!==e.class&&n.attr("class",e.class),n},GF=(t,e)=>{HF((()=>{const n=document.querySelectorAll(t);0!==n.length&&(n[0].addEventListener("mouseover",(function(){QF("actor"+e+"_popup")})),n[0].addEventListener("mouseout",(function(){JF("actor"+e+"_popup")})))}))},WF=function(t,e,n,i,r){if(void 0===e.links||null===e.links||0===Object.keys(e.links).length)return{height:0,width:0};const o=e.links,a=e.actorCnt,s=e.rectData;var c="none";r&&(c="block !important");const l=t.append("g");l.attr("id","actor"+a+"_popup"),l.attr("class","actorPopupMenu"),l.attr("display",c),GF("#actor"+a+"_popup",a);var u="";void 0!==s.class&&(u=" "+s.class);let h=s.width>n?s.width:n;const d=l.append("rect");if(d.attr("class","actorPopupMenuPanel"+u),d.attr("x",s.x),d.attr("y",s.height),d.attr("fill",s.fill),d.attr("stroke",s.stroke),d.attr("width",h),d.attr("height",s.height),d.attr("rx",s.rx),d.attr("ry",s.ry),null!=o){var f=20;for(let t in o){var g=l.append("a"),m=p(o[t]);g.attr("xlink:href",m),g.attr("target","_blank"),_j(i)(t,g,s.x+10,s.height+f,h,20,{class:"actor"},i),f+=30}}return d.attr("height",f),{height:s.height+f,width:h}},KF=function(t,e,n,i){const r=t.append("image");r.attr("x",e),r.attr("y",n);var o=p(i);r.attr("xlink:href",o)},YF=function(t,e,n,i){const r=t.append("use");r.attr("x",e),r.attr("y",n);var o=p(i);r.attr("xlink:href","#"+o)},XF=function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = 'block'; }"},ZF=function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = 'none'; }"},QF=function(t){var e=document.getElementById(t);null!=e&&(e.style.display="block")},JF=function(t){var e=document.getElementById(t);null!=e&&(e.style.display="none")},tj=function(t,e){let n=0,i=0;const r=e.text.split(Jh.lineBreakRegex),[o,a]=wb(e.fontSize);let s=[],c=0,l=()=>e.y;if(void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0)switch(e.valign){case"top":case"start":l=()=>Math.round(e.y+e.textMargin);break;case"middle":case"center":l=()=>Math.round(e.y+(n+i+e.textMargin)/2);break;case"bottom":case"end":l=()=>Math.round(e.y+(n+i+2*e.textMargin)-e.textMargin)}if(void 0!==e.anchor&&void 0!==e.textMargin&&void 0!==e.width)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle"}for(let[u,h]of r.entries()){void 0!==e.textMargin&&0===e.textMargin&&void 0!==o&&(c=u*o);const r=t.append("text");if(r.attr("x",e.x),r.attr("y",l()),void 0!==e.anchor&&r.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),void 0!==e.fontFamily&&r.style("font-family",e.fontFamily),void 0!==a&&r.style("font-size",a),void 0!==e.fontWeight&&r.style("font-weight",e.fontWeight),void 0!==e.fill&&r.attr("fill",e.fill),void 0!==e.class&&r.attr("class",e.class),void 0!==e.dy?r.attr("dy",e.dy):0!==c&&r.attr("dy",c),e.tspan){const t=r.append("tspan");t.attr("x",e.x),void 0!==e.fill&&t.attr("fill",e.fill),t.text(h)}else r.text(h);void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0&&(i+=(r._groups||r)[0][0].getBBox().height,n=i),s.push(r)}return s},ej=function(t,e){function n(t,e,n,i,r){return t+","+e+" "+(t+n)+","+e+" "+(t+n)+","+(e+i-r)+" "+(t+n-1.2*r)+","+(e+i)+" "+t+","+(e+i)}const i=t.append("polygon");return i.attr("points",n(e.x,e.y,e.width,e.height,7)),i.attr("class","labelBox"),e.y=e.y+e.height/2,tj(t,e),i};let nj=-1;const ij=(t,e)=>{t.selectAll&&t.selectAll(".actor-line").attr("class","200").attr("y2",e-55)},rj=function(t,e,n,i){const r=e.x+e.width/2,o=e.y+5,a=t.append("g");var s=a;i||(nj++,s.append("line").attr("id","actor"+nj).attr("x1",r).attr("y1",o).attr("x2",r).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),s=a.append("g"),e.actorCnt=nj,null!=e.links&&(s.attr("id","root-"+nj),GF("#root-"+nj,nj)));const c=vj();var l="actor";null!=e.properties&&e.properties.class?l=e.properties.class:c.fill="#eaeaea",c.x=e.x,c.y=e.y,c.width=e.width,c.height=e.height,c.class=l,c.rx=3,c.ry=3;const u=UF(s,c);if(e.rectData=c,null!=e.properties&&e.properties.icon){const t=e.properties.icon.trim();"@"===t.charAt(0)?YF(s,c.x+c.width-20,c.y+10,t.substr(1)):KF(s,c.x+c.width-20,c.y+10,t)}yj(n)(e.description,s,c.x,c.y,c.width,c.height,{class:"actor"},n);let h=e.height;if(u.node){const t=u.node().getBBox();e.height=t.height,h=t.height}return h},oj=function(t,e,n,i){const r=e.x+e.width/2,o=e.y+80;i||(nj++,t.append("line").attr("id","actor"+nj).attr("x1",r).attr("y1",o).attr("x2",r).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"));const a=t.append("g");a.attr("class","actor-man");const s=vj();s.x=e.x,s.y=e.y,s.fill="#eaeaea",s.width=e.width,s.height=e.height,s.class="actor",s.rx=3,s.ry=3,a.append("line").attr("id","actor-man-torso"+nj).attr("x1",r).attr("y1",e.y+25).attr("x2",r).attr("y2",e.y+45),a.append("line").attr("id","actor-man-arms"+nj).attr("x1",r-18).attr("y1",e.y+33).attr("x2",r+18).attr("y2",e.y+33),a.append("line").attr("x1",r-18).attr("y1",e.y+60).attr("x2",r).attr("y2",e.y+45),a.append("line").attr("x1",r).attr("y1",e.y+45).attr("x2",r+16).attr("y2",e.y+60);const c=a.append("circle");c.attr("cx",e.x+e.width/2),c.attr("cy",e.y+10),c.attr("r",15),c.attr("width",e.width),c.attr("height",e.height);const l=a.node().getBBox();return e.height=l.height,yj(n)(e.description,a,s.x,s.y+35,s.width,s.height,{class:"actor"},n),e.height},aj=function(t,e,n,i){switch(e.type){case"actor":return oj(t,e,n,i);case"participant":return rj(t,e,n,i)}},sj=function(t,e,n){const i=t.append("g");hj(i,e),e.name&&yj(n)(e.name,i,e.x,e.y+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},n),i.lower()},cj=function(t){return t.append("g")},lj=function(t,e,n,i,r){const o=vj(),a=e.anchored;o.x=e.startx,o.y=e.starty,o.class="activation"+r%3,o.width=e.stopx-e.startx,o.height=n-e.starty,UF(a,o)},uj=function(t,e,n,i){const{boxMargin:r,boxTextMargin:o,labelBoxHeight:a,labelBoxWidth:s,messageFontFamily:c,messageFontSize:l,messageFontWeight:u}=i,h=t.append("g"),d=function(t,e,n,i){return h.append("line").attr("x1",t).attr("y1",e).attr("x2",n).attr("y2",i).attr("class","loopLine")};d(e.startx,e.starty,e.stopx,e.starty),d(e.stopx,e.starty,e.stopx,e.stopy),d(e.startx,e.stopy,e.stopx,e.stopy),d(e.startx,e.starty,e.startx,e.stopy),void 0!==e.sections&&e.sections.forEach((function(t){d(e.startx,t.y,e.stopx,t.y).style("stroke-dasharray","3, 3")}));let f=kj();f.text=n,f.x=e.startx,f.y=e.starty,f.fontFamily=c,f.fontSize=l,f.fontWeight=u,f.anchor="middle",f.valign="middle",f.tspan=!1,f.width=s||50,f.height=a||20,f.textMargin=o,f.class="labelText",ej(h,f),f=kj(),f.text=e.title,f.x=e.startx+s/2+(e.stopx-e.startx)/2,f.y=e.starty+r+o,f.anchor="middle",f.valign="middle",f.textMargin=o,f.class="loopText",f.fontFamily=c,f.fontSize=l,f.fontWeight=u,f.wrap=!0;let g=tj(h,f);return void 0!==e.sectionTitles&&e.sectionTitles.forEach((function(t,n){if(t.message){f.text=t.message,f.x=e.startx+(e.stopx-e.startx)/2,f.y=e.sections[n].y+r+o,f.class="loopText",f.anchor="middle",f.valign="middle",f.tspan=!1,f.fontFamily=c,f.fontSize=l,f.fontWeight=u,f.wrap=e.wrap,g=tj(h,f);let i=Math.round(g.map((t=>(t._groups||t)[0][0].getBBox().height)).reduce(((t,e)=>t+e)));e.sections[n].height+=i-(r+o)}})),e.height=Math.round(e.stopy-e.starty),h},hj=function(t,e){UF(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()},dj=function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},fj=function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},gj=function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},pj=function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},mj=function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},bj=function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},wj=function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},kj=function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},vj=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},yj=function(){function t(t,e,n,r,o,a,s){i(e.append("text").attr("x",n+o/2).attr("y",r+a/2+5).style("text-anchor","middle").text(t),s)}function e(t,e,n,r,o,a,s,c){const{actorFontSize:l,actorFontFamily:u,actorFontWeight:h}=c,[d,f]=wb(l),g=t.split(Jh.lineBreakRegex);for(let t=0;tt.height||0)))+(0===this.loops.length?0:this.loops.map((t=>t.height||0)).reduce(((t,e)=>t+e)))+(0===this.messages.length?0:this.messages.map((t=>t.height||0)).reduce(((t,e)=>t+e)))+(0===this.notes.length?0:this.notes.map((t=>t.height||0)).reduce(((t,e)=>t+e)))},clear:function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},addBox:function(t){this.boxes.push(t)},addActor:function(t){this.actors.push(t)},addLoop:function(t){this.loops.push(t)},addMessage:function(t){this.messages.push(t)},addNote:function(t){this.notes.push(t)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],boxes:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,Lj(_w())},updateVal:function(t,e,n,i){void 0===t[e]?t[e]=n:t[e]=i(n,t[e])},updateBounds:function(t,e,n,i){const r=this;let o=0;function a(a){return function(s){o++;const c=r.sequenceItems.length-o+1;r.updateVal(s,"starty",e-c*Aj.boxMargin,Math.min),r.updateVal(s,"stopy",i+c*Aj.boxMargin,Math.max),r.updateVal(xj.data,"startx",t-c*Aj.boxMargin,Math.min),r.updateVal(xj.data,"stopx",n+c*Aj.boxMargin,Math.max),"activation"!==a&&(r.updateVal(s,"startx",t-c*Aj.boxMargin,Math.min),r.updateVal(s,"stopx",n+c*Aj.boxMargin,Math.max),r.updateVal(xj.data,"starty",e-c*Aj.boxMargin,Math.min),r.updateVal(xj.data,"stopy",i+c*Aj.boxMargin,Math.max))}}this.sequenceItems.forEach(a()),this.activations.forEach(a("activation"))},insert:function(t,e,n,i){const r=Math.min(t,n),o=Math.max(t,n),a=Math.min(e,i),s=Math.max(e,i);this.updateVal(xj.data,"startx",r,Math.min),this.updateVal(xj.data,"starty",a,Math.min),this.updateVal(xj.data,"stopx",o,Math.max),this.updateVal(xj.data,"stopy",s,Math.max),this.updateBounds(r,a,o,s)},newActivation:function(t,e,n){const i=n[t.from.actor],r=Oj(t.from.actor).length||0,o=i.x+i.width/2+(r-1)*Aj.activationWidth/2;this.activations.push({startx:o,starty:this.verticalPos+2,stopx:o+Aj.activationWidth,stopy:void 0,actor:t.from.actor,anchored:Cj.anchorElement(e)})},endActivation:function(t){const e=this.activations.map((function(t){return t.actor})).lastIndexOf(t.from.actor);return this.activations.splice(e,1)[0]},createLoop:function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},newLoop:function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},endLoop:function(){return this.sequenceItems.pop()},addSectionToLoop:function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:xj.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},Ej=function(t,e){xj.bumpVerticalPos(Aj.boxMargin),e.height=Aj.boxMargin,e.starty=xj.getVerticalPos();const n=Cj.getNoteRect();n.x=e.startx,n.y=e.starty,n.width=e.width||Aj.width,n.class="note";const i=t.append("g"),r=Cj.drawRect(i,n),o=Cj.getTextObj();o.x=e.startx,o.y=e.starty,o.width=n.width,o.dy="1em",o.text=e.message,o.class="noteText",o.fontFamily=Aj.noteFontFamily,o.fontSize=Aj.noteFontSize,o.fontWeight=Aj.noteFontWeight,o.anchor=Aj.noteAlign,o.textMargin=Aj.noteMargin,o.valign="center";const a=tj(i,o),s=Math.round(a.map((t=>(t._groups||t)[0][0].getBBox().height)).reduce(((t,e)=>t+e)));r.attr("height",s+2*Aj.noteMargin),e.height+=s+2*Aj.noteMargin,xj.bumpVerticalPos(s+2*Aj.noteMargin),e.stopy=e.starty+s+2*Aj.noteMargin,e.stopx=e.startx+n.width,xj.insert(e.startx,e.starty,e.stopx,e.stopy),xj.models.addNote(e)},Tj=t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),Sj=t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),Dj=t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight});function Ij(t,e){xj.bumpVerticalPos(10);const{startx:n,stopx:i,message:r}=e,o=Jh.splitBreaks(r).length,a=kb.calculateTextDimensions(r,Tj(Aj)),s=a.height/o;let c;e.height+=s,xj.bumpVerticalPos(s);let l=a.height-10;const u=a.width;if(n===i){c=xj.getVerticalPos()+l,Aj.rightAngles||(l+=Aj.boxMargin,c=xj.getVerticalPos()+l),l+=30;const t=Math.max(u/2,Aj.width/2);xj.insert(n-t,xj.getVerticalPos()-10+l,i+t,xj.getVerticalPos()+30+l)}else l+=Aj.boxMargin,c=xj.getVerticalPos()+l,xj.insert(n,c-10,i,c);return xj.bumpVerticalPos(l),e.height+=l,e.stopy=e.starty+e.height,xj.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),c}const Bj=function(t,e,n,i){const{startx:r,stopx:o,starty:a,message:s,type:c,sequenceIndex:l,sequenceVisible:u}=e,h=kb.calculateTextDimensions(s,Tj(Aj)),d=Cj.getTextObj();d.x=r,d.y=a+10,d.width=o-r,d.class="messageText",d.dy="1em",d.text=s,d.fontFamily=Aj.messageFontFamily,d.fontSize=Aj.messageFontSize,d.fontWeight=Aj.messageFontWeight,d.anchor=Aj.messageAlign,d.valign="center",d.textMargin=Aj.wrapPadding,d.tspan=!1,tj(t,d);const f=h.width;let g;r===o?g=Aj.rightAngles?t.append("path").attr("d",`M ${r},${n} H ${r+Math.max(Aj.width/2,f/2)} V ${n+25} H ${r}`):t.append("path").attr("d","M "+r+","+n+" C "+(r+60)+","+(n-10)+" "+(r+60)+","+(n+30)+" "+r+","+(n+20)):(g=t.append("line"),g.attr("x1",r),g.attr("y1",n),g.attr("x2",o),g.attr("y2",n)),c===i.db.LINETYPE.DOTTED||c===i.db.LINETYPE.DOTTED_CROSS||c===i.db.LINETYPE.DOTTED_POINT||c===i.db.LINETYPE.DOTTED_OPEN?(g.style("stroke-dasharray","3, 3"),g.attr("class","messageLine1")):g.attr("class","messageLine0");let p="";Aj.arrowMarkerAbsolute&&(p=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,p=p.replace(/\(/g,"\\("),p=p.replace(/\)/g,"\\)")),g.attr("stroke-width",2),g.attr("stroke","none"),g.style("fill","none"),c!==i.db.LINETYPE.SOLID&&c!==i.db.LINETYPE.DOTTED||g.attr("marker-end","url("+p+"#arrowhead)"),c!==i.db.LINETYPE.SOLID_POINT&&c!==i.db.LINETYPE.DOTTED_POINT||g.attr("marker-end","url("+p+"#filled-head)"),c!==i.db.LINETYPE.SOLID_CROSS&&c!==i.db.LINETYPE.DOTTED_CROSS||g.attr("marker-end","url("+p+"#crosshead)"),(u||Aj.showSequenceNumbers)&&(g.attr("marker-start","url("+p+"#sequencenumber)"),t.append("text").attr("x",r).attr("y",n+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(l))},Mj=function(t,e,n,i,r,o,a){if(!0===r.hideUnusedParticipants){const t=new Set;o.forEach((e=>{t.add(e.from),t.add(e.to)})),n=n.filter((e=>t.has(e)))}let s,c=0,l=0,u=0;for(const r of n){const n=e[r],o=n.box;s&&s!=o&&(a||xj.models.addBox(s),l+=Aj.boxMargin+s.margin),o&&o!=s&&(a||(o.x=c+l,o.y=i),l+=o.margin),n.width=n.width||Aj.width,n.height=Math.max(n.height||Aj.height,Aj.height),n.margin=n.margin||Aj.actorMargin,n.x=c+l,n.y=xj.getVerticalPos();const h=Cj.drawActor(t,n,Aj,a);u=Math.max(u,h),xj.insert(n.x,i,n.x+n.width,n.height),c+=n.width+l,n.box&&(n.box.width=c+o.margin-n.box.x),l=n.margin,s=n.box,xj.models.addActor(n)}s&&!a&&xj.models.addBox(s),xj.bumpVerticalPos(u)},Pj=function(t,e,n,i){let r=0,o=0;for(const a of n){const n=e[a],s=$j(n),c=Cj.drawPopup(t,n,s,Aj,Aj.forceMenus,i);c.height>r&&(r=c.height),c.width+n.x>o&&(o=c.width+n.x)}return{maxHeight:r,maxWidth:o}},Lj=function(t){Tp(Aj,t),t.fontFamily&&(Aj.actorFontFamily=Aj.noteFontFamily=Aj.messageFontFamily=t.fontFamily),t.fontSize&&(Aj.actorFontSize=Aj.noteFontSize=Aj.messageFontSize=t.fontSize),t.fontWeight&&(Aj.actorFontWeight=Aj.noteFontWeight=Aj.messageFontWeight=t.fontWeight)},Oj=function(t){return xj.activations.filter((function(e){return e.actor===t}))},Nj=function(t,e){const n=e[t],i=Oj(t);return[i.reduce((function(t,e){return Math.min(t,e.startx)}),n.x+n.width/2),i.reduce((function(t,e){return Math.max(t,e.stopx)}),n.x+n.width/2)]};function Rj(t,e,n,i,r){xj.bumpVerticalPos(n);let o=i;if(e.id&&e.message&&t[e.id]){const n=t[e.id].width,r=Tj(Aj);e.message=kb.wrapLabel(`[${e.message}]`,n-2*Aj.wrapPadding,r),e.width=n,e.wrap=!0;const a=kb.calculateTextDimensions(e.message,r),s=Math.max(a.height,Aj.labelBoxHeight);o=i+s,h.debug(`${s} - ${e.message}`)}r(e),xj.bumpVerticalPos(o)}const Fj=function(t,e,n,i){const{securityLevel:r,sequence:o}=_w();let a;Aj=o,i.db.clear(),i.parser.parse(t),"sandbox"===r&&(a=un("#i"+e));const s=un("sandbox"===r?a.nodes()[0].contentDocument.body:"body"),c="sandbox"===r?a.nodes()[0].contentDocument:document;xj.init(),h.debug(i.db);const l="sandbox"===r?s.select(`[id="${e}"]`):un(`[id="${e}"]`),u=i.db.getActors(),d=i.db.getBoxes(),f=i.db.getActorKeys(),g=i.db.getMessages(),p=i.db.getDiagramTitle(),m=i.db.hasAtLeastOneBox(),b=i.db.hasAtLeastOneBoxWithTitle(),w=jj(u,g,i);Aj.height=zj(u,w,d),Cj.insertComputerIcon(l),Cj.insertDatabaseIcon(l),Cj.insertClockIcon(l),m&&(xj.bumpVerticalPos(Aj.boxMargin),b&&xj.bumpVerticalPos(d[0].textMaxHeight)),Mj(l,u,f,0,Aj,g,!1);const k=qj(g,u,w,i);function v(t,e){const n=xj.endActivation(t);n.starty+18>e&&(n.starty=e-6,e+=12),Cj.drawActivation(l,n,e,Aj,Oj(t.from.actor).length),xj.insert(n.startx,e-10,n.stopx,e)}Cj.insertArrowHead(l),Cj.insertArrowCrossHead(l),Cj.insertArrowFilledHead(l),Cj.insertSequenceNumber(l);let y=1,_=1;const C=[];g.forEach((function(t){let e,n,r;switch(t.type){case i.db.LINETYPE.NOTE:n=t.noteModel,Ej(l,n);break;case i.db.LINETYPE.ACTIVE_START:xj.newActivation(t,l,u);break;case i.db.LINETYPE.ACTIVE_END:v(t,xj.getVerticalPos());break;case i.db.LINETYPE.LOOP_START:Rj(k,t,Aj.boxMargin,Aj.boxMargin+Aj.boxTextMargin,(t=>xj.newLoop(t)));break;case i.db.LINETYPE.LOOP_END:e=xj.endLoop(),Cj.drawLoop(l,e,"loop",Aj),xj.bumpVerticalPos(e.stopy-xj.getVerticalPos()),xj.models.addLoop(e);break;case i.db.LINETYPE.RECT_START:Rj(k,t,Aj.boxMargin,Aj.boxMargin,(t=>xj.newLoop(void 0,t.message)));break;case i.db.LINETYPE.RECT_END:e=xj.endLoop(),Cj.drawBackgroundRect(l,e),xj.models.addLoop(e),xj.bumpVerticalPos(e.stopy-xj.getVerticalPos());break;case i.db.LINETYPE.OPT_START:Rj(k,t,Aj.boxMargin,Aj.boxMargin+Aj.boxTextMargin,(t=>xj.newLoop(t)));break;case i.db.LINETYPE.OPT_END:e=xj.endLoop(),Cj.drawLoop(l,e,"opt",Aj),xj.bumpVerticalPos(e.stopy-xj.getVerticalPos()),xj.models.addLoop(e);break;case i.db.LINETYPE.ALT_START:Rj(k,t,Aj.boxMargin,Aj.boxMargin+Aj.boxTextMargin,(t=>xj.newLoop(t)));break;case i.db.LINETYPE.ALT_ELSE:Rj(k,t,Aj.boxMargin+Aj.boxTextMargin,Aj.boxMargin,(t=>xj.addSectionToLoop(t)));break;case i.db.LINETYPE.ALT_END:e=xj.endLoop(),Cj.drawLoop(l,e,"alt",Aj),xj.bumpVerticalPos(e.stopy-xj.getVerticalPos()),xj.models.addLoop(e);break;case i.db.LINETYPE.PAR_START:Rj(k,t,Aj.boxMargin,Aj.boxMargin+Aj.boxTextMargin,(t=>xj.newLoop(t)));break;case i.db.LINETYPE.PAR_AND:Rj(k,t,Aj.boxMargin+Aj.boxTextMargin,Aj.boxMargin,(t=>xj.addSectionToLoop(t)));break;case i.db.LINETYPE.PAR_END:e=xj.endLoop(),Cj.drawLoop(l,e,"par",Aj),xj.bumpVerticalPos(e.stopy-xj.getVerticalPos()),xj.models.addLoop(e);break;case i.db.LINETYPE.AUTONUMBER:y=t.message.start||y,_=t.message.step||_,t.message.visible?i.db.enableSequenceNumbers():i.db.disableSequenceNumbers();break;case i.db.LINETYPE.CRITICAL_START:Rj(k,t,Aj.boxMargin,Aj.boxMargin+Aj.boxTextMargin,(t=>xj.newLoop(t)));break;case i.db.LINETYPE.CRITICAL_OPTION:Rj(k,t,Aj.boxMargin+Aj.boxTextMargin,Aj.boxMargin,(t=>xj.addSectionToLoop(t)));break;case i.db.LINETYPE.CRITICAL_END:e=xj.endLoop(),Cj.drawLoop(l,e,"critical",Aj),xj.bumpVerticalPos(e.stopy-xj.getVerticalPos()),xj.models.addLoop(e);break;case i.db.LINETYPE.BREAK_START:Rj(k,t,Aj.boxMargin,Aj.boxMargin+Aj.boxTextMargin,(t=>xj.newLoop(t)));break;case i.db.LINETYPE.BREAK_END:e=xj.endLoop(),Cj.drawLoop(l,e,"break",Aj),xj.bumpVerticalPos(e.stopy-xj.getVerticalPos()),xj.models.addLoop(e);break;default:try{r=t.msgModel,r.starty=xj.getVerticalPos(),r.sequenceIndex=y,r.sequenceVisible=i.db.showSequenceNumbers();const e=Ij(l,r);C.push({messageModel:r,lineStartY:e}),xj.models.addMessage(r)}catch(t){h.error("error while drawing message",t)}}[i.db.LINETYPE.SOLID_OPEN,i.db.LINETYPE.DOTTED_OPEN,i.db.LINETYPE.SOLID,i.db.LINETYPE.DOTTED,i.db.LINETYPE.SOLID_CROSS,i.db.LINETYPE.DOTTED_CROSS,i.db.LINETYPE.SOLID_POINT,i.db.LINETYPE.DOTTED_POINT].includes(t.type)&&(y+=_)})),C.forEach((t=>Bj(l,t.messageModel,t.lineStartY,i))),Aj.mirrorActors&&(xj.bumpVerticalPos(2*Aj.boxMargin),Mj(l,u,f,xj.getVerticalPos(),Aj,g,!0),xj.bumpVerticalPos(Aj.boxMargin),ij(l,xj.getVerticalPos())),xj.models.boxes.forEach((function(t){t.height=xj.getVerticalPos()-t.y,xj.insert(t.x,t.y,t.x+t.width,t.height),t.startx=t.x,t.starty=t.y,t.stopx=t.startx+t.width,t.stopy=t.starty+t.height,t.stroke="rgb(0,0,0, 0.5)",Cj.drawBox(l,t,Aj)})),m&&xj.bumpVerticalPos(Aj.boxMargin);const A=Pj(l,u,f,c),{bounds:x}=xj.getBounds();h.debug("For line height fix Querying: #"+e+" .actor-line"),hn("#"+e+" .actor-line").attr("y2",x.stopy);let E=x.stopy-x.starty;E{const n=t[e];n.wrap&&(n.description=kb.wrapLabel(n.description,Aj.width-2*Aj.wrapPadding,Dj(Aj)));const r=kb.calculateTextDimensions(n.description,Dj(Aj));n.width=n.wrap?Aj.width:Math.max(Aj.width,r.width+2*Aj.wrapPadding),n.height=n.wrap?Math.max(r.height,Aj.height):Aj.height,i=Math.max(i,n.height)}));for(const n in e){const i=t[n];if(!i)continue;const r=t[i.nextActor];if(!r){const t=e[n]+Aj.actorMargin-i.width/2;i.margin=Math.max(t,Aj.actorMargin);continue}const o=e[n]+Aj.actorMargin-i.width/2-r.width/2;i.margin=Math.max(o,Aj.actorMargin)}let r=0;return n.forEach((e=>{const n=Tj(Aj);let i=e.actorKeys.reduce(((e,n)=>e+(t[n].width+(t[n].margin||0))),0);i-=2*Aj.boxTextMargin,e.wrap&&(e.name=kb.wrapLabel(e.name,i-2*Aj.wrapPadding,n));const o=kb.calculateTextDimensions(e.name,n);r=Math.max(o.height,r);const a=Math.max(i,o.width+2*Aj.wrapPadding);if(e.margin=Aj.boxTextMargin,it.textMaxHeight=r)),Math.max(i,Aj.height)}const Vj=function(t,e,n){const i=e[t.from].x,r=e[t.to].x,o=t.wrap&&t.message;let a=kb.calculateTextDimensions(o?kb.wrapLabel(t.message,Aj.width,Sj(Aj)):t.message,Sj(Aj));const s={width:o?Aj.width:Math.max(Aj.width,a.width+2*Aj.noteMargin),height:0,startx:e[t.from].x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===n.db.PLACEMENT.RIGHTOF?(s.width=o?Math.max(Aj.width,a.width):Math.max(e[t.from].width/2+e[t.to].width/2,a.width+2*Aj.noteMargin),s.startx=i+(e[t.from].width+Aj.actorMargin)/2):t.placement===n.db.PLACEMENT.LEFTOF?(s.width=o?Math.max(Aj.width,a.width+2*Aj.noteMargin):Math.max(e[t.from].width/2+e[t.to].width/2,a.width+2*Aj.noteMargin),s.startx=i-s.width+(e[t.from].width-Aj.actorMargin)/2):t.to===t.from?(a=kb.calculateTextDimensions(o?kb.wrapLabel(t.message,Math.max(Aj.width,e[t.from].width),Sj(Aj)):t.message,Sj(Aj)),s.width=o?Math.max(Aj.width,e[t.from].width):Math.max(e[t.from].width,Aj.width,a.width+2*Aj.noteMargin),s.startx=i+(e[t.from].width-s.width)/2):(s.width=Math.abs(i+e[t.from].width/2-(r+e[t.to].width/2))+Aj.actorMargin,s.startx=it.actor)).lastIndexOf(t.from.actor);delete xj.activations.splice(e,1)[0]}}void 0!==t.placement?(s=Vj(t,e,i),t.noteModel=s,o.forEach((t=>{a=t,a.from=Math.min(a.from,s.startx),a.to=Math.max(a.to,s.startx+s.width),a.width=Math.max(a.width,Math.abs(a.from-a.to))-Aj.labelBoxWidth}))):(c=Hj(t,e,i),t.msgModel=c,c.startx&&c.stopx&&o.length>0&&o.forEach((n=>{if(a=n,c.startx===c.stopx){const n=e[t.from],i=e[t.to];a.from=Math.min(n.x-c.width/2,n.x-n.width/2,a.from),a.to=Math.max(i.x+c.width/2,i.x+n.width/2,a.to),a.width=Math.max(a.width,Math.abs(a.to-a.from))-Aj.labelBoxWidth}else a.from=Math.min(c.startx,a.from),a.to=Math.max(c.stopx,a.to),a.width=Math.max(a.width,c.width)-Aj.labelBoxWidth})))})),xj.activations=[],h.debug("Loop type widths:",r),r},Uj={bounds:xj,drawActors:Mj,drawActorsPopup:Pj,setConf:Lj,draw:Fj};var Gj=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,2],n=[1,3],i=[1,5],r=[1,7],o=[2,5],a=[1,15],s=[1,17],c=[1,21],l=[1,22],u=[1,23],h=[1,24],d=[1,37],f=[1,25],g=[1,26],p=[1,27],m=[1,28],b=[1,29],w=[1,32],k=[1,33],v=[1,34],y=[1,35],_=[1,36],C=[1,39],A=[1,40],x=[1,41],E=[1,42],T=[1,38],S=[1,45],D=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],I=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],B=[1,4,5,7,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],M=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],P={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,directive:6,SD:7,document:8,line:9,statement:10,classDefStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"--\x3e":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,class:42,CLASSENTITY_IDS:43,STYLECLASS:44,openDirective:45,typeDirective:46,closeDirective:47,":":48,argDirective:49,direction_tb:50,direction_bt:51,direction_rl:52,direction_lr:53,eol:54,";":55,EDGE_STATE:56,STYLE_SEPARATOR:57,left_of:58,right_of:59,open_directive:60,type_directive:61,arg_directive:62,close_directive:63,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",7:"SD",14:"DESCR",15:"--\x3e",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"class",43:"CLASSENTITY_IDS",44:"STYLECLASS",48:":",50:"direction_tb",51:"direction_bt",52:"direction_rl",53:"direction_lr",55:";",56:"EDGE_STATE",57:"STYLE_SEPARATOR",58:"left_of",59:"right_of",60:"open_directive",61:"type_directive",62:"arg_directive",63:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[10,1],[10,1],[10,1],[10,2],[10,3],[10,4],[10,1],[10,2],[10,1],[10,4],[10,3],[10,6],[10,1],[10,1],[10,1],[10,1],[10,4],[10,4],[10,1],[10,1],[10,2],[10,2],[10,1],[11,3],[11,3],[12,3],[6,3],[6,5],[32,1],[32,1],[32,1],[32,1],[54,1],[54,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1],[45,1],[46,1],[49,1],[47,1]],performAction:function(t,e,n,i,r,o,a){var s=o.length-1;switch(r){case 4:return i.setRootDoc(o[s]),o[s];case 5:this.$=[];break;case 6:"nl"!=o[s]&&(o[s-1].push(o[s]),this.$=o[s-1]);break;case 7:case 8:case 12:this.$=o[s];break;case 9:this.$="nl";break;case 13:const t=o[s-1];t.description=i.trimColon(o[s]),this.$=t;break;case 14:this.$={stmt:"relation",state1:o[s-2],state2:o[s]};break;case 15:const e=i.trimColon(o[s]);this.$={stmt:"relation",state1:o[s-3],state2:o[s-1],description:e};break;case 19:this.$={stmt:"state",id:o[s-3],type:"default",description:"",doc:o[s-1]};break;case 20:var c=o[s],l=o[s-2].trim();if(o[s].match(":")){var u=o[s].split(":");c=u[0],l=[l,u[1]]}this.$={stmt:"state",id:c,type:"default",description:l};break;case 21:this.$={stmt:"state",id:o[s-3],type:"default",description:o[s-5],doc:o[s-1]};break;case 22:this.$={stmt:"state",id:o[s],type:"fork"};break;case 23:this.$={stmt:"state",id:o[s],type:"join"};break;case 24:this.$={stmt:"state",id:o[s],type:"choice"};break;case 25:this.$={stmt:"state",id:i.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:o[s-1].trim(),note:{position:o[s-2].trim(),text:o[s].trim()}};break;case 30:this.$=o[s].trim(),i.setAccTitle(this.$);break;case 31:case 32:this.$=o[s].trim(),i.setAccDescription(this.$);break;case 33:case 34:this.$={stmt:"classDef",id:o[s-1].trim(),classes:o[s].trim()};break;case 35:this.$={stmt:"applyClass",id:o[s-1].trim(),styleClass:o[s].trim()};break;case 38:i.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:i.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:i.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:i.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:o[s].trim(),type:"default",description:""};break;case 46:case 47:this.$={stmt:"state",id:o[s-2].trim(),classes:[o[s].trim()],type:"default",description:""};break;case 50:i.parseDirective("%%{","open_directive");break;case 51:i.parseDirective(o[s],"type_directive");break;case 52:o[s]=o[s].trim().replace(/'/g,'"'),i.parseDirective(o[s],"arg_directive");break;case 53:i.parseDirective("}%%","close_directive","state")}},table:[{3:1,4:e,5:n,6:4,7:i,45:6,60:r},{1:[3]},{3:8,4:e,5:n,6:4,7:i,45:6,60:r},{3:9,4:e,5:n,6:4,7:i,45:6,60:r},{3:10,4:e,5:n,6:4,7:i,45:6,60:r},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],o,{8:11}),{46:12,61:[1,13]},{61:[2,50]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:a,5:s,6:30,9:14,10:16,11:18,12:19,13:20,16:c,17:l,19:u,22:h,24:d,25:f,26:g,27:p,28:m,29:b,32:31,33:w,35:k,37:v,38:y,42:_,45:6,50:C,51:A,52:x,53:E,56:T,60:r},{47:43,48:[1,44],63:S},t([48,63],[2,51]),t(D,[2,6]),{6:30,10:46,11:18,12:19,13:20,16:c,17:l,19:u,22:h,24:d,25:f,26:g,27:p,28:m,29:b,32:31,33:w,35:k,37:v,38:y,42:_,45:6,50:C,51:A,52:x,53:E,56:T,60:r},t(D,[2,8]),t(D,[2,9]),t(D,[2,10]),t(D,[2,11]),t(D,[2,12],{14:[1,47],15:[1,48]}),t(D,[2,16]),{18:[1,49]},t(D,[2,18],{20:[1,50]}),{23:[1,51]},t(D,[2,22]),t(D,[2,23]),t(D,[2,24]),t(D,[2,25]),{30:52,31:[1,53],58:[1,54],59:[1,55]},t(D,[2,28]),t(D,[2,29]),{34:[1,56]},{36:[1,57]},t(D,[2,32]),{39:[1,58],41:[1,59]},{43:[1,60]},t(I,[2,44],{57:[1,61]}),t(I,[2,45],{57:[1,62]}),t(D,[2,38]),t(D,[2,39]),t(D,[2,40]),t(D,[2,41]),t(B,[2,36]),{49:63,62:[1,64]},t(B,[2,53]),t(D,[2,7]),t(D,[2,13]),{13:65,24:d,56:T},t(D,[2,17]),t(M,o,{8:66}),{24:[1,67]},{24:[1,68]},{23:[1,69]},{24:[2,48]},{24:[2,49]},t(D,[2,30]),t(D,[2,31]),{40:[1,70]},{40:[1,71]},{44:[1,72]},{24:[1,73]},{24:[1,74]},{47:75,63:S},{63:[2,52]},t(D,[2,14],{14:[1,76]}),{4:a,5:s,6:30,9:14,10:16,11:18,12:19,13:20,16:c,17:l,19:u,21:[1,77],22:h,24:d,25:f,26:g,27:p,28:m,29:b,32:31,33:w,35:k,37:v,38:y,42:_,45:6,50:C,51:A,52:x,53:E,56:T,60:r},t(D,[2,20],{20:[1,78]}),{31:[1,79]},{24:[1,80]},t(D,[2,33]),t(D,[2,34]),t(D,[2,35]),t(I,[2,46]),t(I,[2,47]),t(B,[2,37]),t(D,[2,15]),t(D,[2,19]),t(M,o,{8:81}),t(D,[2,26]),t(D,[2,27]),{4:a,5:s,6:30,9:14,10:16,11:18,12:19,13:20,16:c,17:l,19:u,21:[1,82],22:h,24:d,25:f,26:g,27:p,28:m,29:b,32:31,33:w,35:k,37:v,38:y,42:_,45:6,50:C,51:A,52:x,53:E,56:T,60:r},t(D,[2,21])],defaultActions:{7:[2,50],8:[2,1],9:[2,2],10:[2,3],54:[2,48],55:[2,49],64:[2,52]},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=this,n=[0],i=[],r=[null],o=[],a=this.table,s="",c=0,l=0,u=2,h=1,d=o.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(g.yy[p]=this.yy[p]);f.setInput(t,g.yy),g.yy.lexer=f,g.yy.parser=this,void 0===f.yylloc&&(f.yylloc={});var m=f.yylloc;o.push(m);var b=f.options&&f.options.ranges;function w(){var t;return"number"!=typeof(t=i.pop()||f.lex()||h)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var k,v,y,_,C,A,x,E,T={};;){if(v=n[n.length-1],this.defaultActions[v]?y=this.defaultActions[v]:(null==k&&(k=w()),y=a[v]&&a[v][k]),void 0===y||!y.length||!y[0]){var S="";for(C in E=[],a[v])this.terminals_[C]&&C>u&&E.push("'"+this.terminals_[C]+"'");S=f.showPosition?"Parse error on line "+(c+1)+":\n"+f.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(c+1)+": Unexpected "+(k==h?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(S,{text:f.match,token:this.terminals_[k]||k,line:f.yylineno,loc:m,expected:E})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+k);switch(y[0]){case 1:n.push(k),r.push(f.yytext),o.push(f.yylloc),n.push(y[1]),k=null,l=f.yyleng,s=f.yytext,c=f.yylineno,m=f.yylloc;break;case 2:if(A=this.productions_[y[1]][1],T.$=r[r.length-A],T._$={first_line:o[o.length-(A||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(A||1)].first_column,last_column:o[o.length-1].last_column},b&&(T._$.range=[o[o.length-(A||1)].range[0],o[o.length-1].range[1]]),void 0!==(_=this.performAction.apply(T,[s,l,c,g.yy,y[1],r,o].concat(d))))return _;A&&(n=n.slice(0,-1*A*2),r=r.slice(0,-1*A),o=o.slice(0,-1*A)),n.push(this.productions_[y[1]][0]),r.push(T.$),o.push(T._$),x=a[n[n.length-2]][n[n.length-1]],n.push(x);break;case 3:return!0}}return!0}},L={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var o in r)this[o]=r[o];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(),o=0;oe[0].length)){if(e=n,i=o,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[o])))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(){var t=this.next();return t||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 41;case 1:case 44:return 50;case 2:case 45:return 51;case 3:case 46:return 52;case 4:case 47:return 53;case 5:return this.begin("open_directive"),60;case 6:return this.begin("type_directive"),61;case 7:return this.popState(),this.begin("arg_directive"),48;case 8:return this.popState(),this.popState(),63;case 9:return 62;case 10:case 11:case 13:case 14:case 15:case 16:case 56:case 58:case 64:break;case 12:case 79:return 5;case 17:case 34:return this.pushState("SCALE"),17;case 18:case 35:return 18;case 19:case 25:case 36:case 51:case 54:this.popState();break;case 20:return this.begin("acc_title"),33;case 21:return this.popState(),"acc_title_value";case 22:return this.begin("acc_descr"),35;case 23:return this.popState(),"acc_descr_value";case 24:this.begin("acc_descr_multiline");break;case 26:return"acc_descr_multiline_value";case 27:return this.pushState("CLASSDEF"),38;case 28:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 29:return this.popState(),this.pushState("CLASSDEFID"),39;case 30:return this.popState(),40;case 31:return this.pushState("CLASS"),42;case 32:return this.popState(),this.pushState("CLASS_STYLE"),43;case 33:return this.popState(),44;case 37:this.pushState("STATE");break;case 38:case 41:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),25;case 39:case 42:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),26;case 40:case 43:return this.popState(),e.yytext=e.yytext.slice(0,-10).trim(),27;case 48:this.pushState("STATE_STRING");break;case 49:return this.pushState("STATE_ID"),"AS";case 50:case 66:return this.popState(),"ID";case 52:return"STATE_DESCR";case 53:return 19;case 55:return this.popState(),this.pushState("struct"),20;case 57:return this.popState(),21;case 59:return this.begin("NOTE"),29;case 60:return this.popState(),this.pushState("NOTE_ID"),58;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:this.popState(),this.pushState("FLOATING_NOTE");break;case 63:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 65:return"NOTE_TEXT";case 67:return this.popState(),this.pushState("NOTE_TEXT"),24;case 68:return this.popState(),e.yytext=e.yytext.substr(2).trim(),31;case 69:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),31;case 70:case 71:return 7;case 72:return 16;case 73:return 56;case 74:return 24;case 75:return e.yytext=e.yytext.trim(),14;case 76:return 15;case 77:return 28;case 78:return 57;case 80:return"INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[14,15],inclusive:!1},close_directive:{rules:[14,15],inclusive:!1},arg_directive:{rules:[8,9,14,15],inclusive:!1},type_directive:{rules:[7,8,14,15],inclusive:!1},open_directive:{rules:[6,14,15],inclusive:!1},struct:{rules:[14,15,27,31,37,44,45,46,47,56,57,58,59,73,74,75,76,77],inclusive:!1},FLOATING_NOTE_ID:{rules:[66],inclusive:!1},FLOATING_NOTE:{rules:[63,64,65],inclusive:!1},NOTE_TEXT:{rules:[68,69],inclusive:!1},NOTE_ID:{rules:[67],inclusive:!1},NOTE:{rules:[60,61,62],inclusive:!1},CLASS_STYLE:{rules:[33],inclusive:!1},CLASS:{rules:[32],inclusive:!1},CLASSDEFID:{rules:[30],inclusive:!1},CLASSDEF:{rules:[28,29],inclusive:!1},acc_descr_multiline:{rules:[25,26],inclusive:!1},acc_descr:{rules:[23],inclusive:!1},acc_title:{rules:[21],inclusive:!1},SCALE:{rules:[18,19,35,36],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[50],inclusive:!1},STATE_STRING:{rules:[51,52],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[14,15,38,39,40,41,42,43,48,49,53,54,55],inclusive:!1},ID:{rules:[14,15],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,10,11,12,13,15,16,17,20,22,24,27,31,34,37,55,59,70,71,72,73,74,75,76,78,79,80],inclusive:!0}}};function O(){this.yy={}}return P.lexer=L,O.prototype=P,P.Parser=O,new O}();Gj.parser=Gj;const Wj=Gj,Kj=(t,e)=>{var n;return"dagre-wrapper"!==(null==(n=null==e?void 0:e.state)?void 0:n.defaultRenderer)&&null!==t.match(/^\s*stateDiagram/)},Yj=(t,e)=>{var n;return null!==t.match(/^\s*stateDiagram-v2/)||!(!t.match(/^\s*stateDiagram/)||"dagre-wrapper"!==(null==(n=null==e?void 0:e.state)?void 0:n.defaultRenderer))},Xj="LR",Zj="TB",Qj="state",Jj="relation",t$="classDef",e$="applyClass",n$="default",i$="divider",r$="[*]",o$="start",a$=r$,s$="end",c$="color",l$="fill",u$="bgFill",h$=",";function d$(){return{}}let f$=Xj,g$=[],p$=d$();const m$=()=>({relations:[],states:{},documents:{}});let b$={root:m$()},w$=b$.root,k$=0,v$=0;const y$=t=>JSON.parse(JSON.stringify(t)),_$=(t,e,n)=>{if(e.stmt===Jj)_$(t,e.state1,!0),_$(t,e.state2,!1);else if(e.stmt===Qj&&("[*]"===e.id?(e.id=n?t.id+"_start":t.id+"_end",e.start=n):e.id=e.id.trim()),e.doc){const t=[];let n,i=[];for(n=0;n0&&i.length>0){const n={stmt:Qj,id:ib(),type:"divider",doc:y$(i)};t.push(y$(n)),e.doc=t}e.doc.forEach((t=>_$(e,t,!0)))}},C$=t=>{let e;e=t.doc?t.doc:t,h.info(e),x$(!0),h.info("Extract",e),e.forEach((t=>{switch(t.stmt){case Qj:A$(t.id.trim(),t.type,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles);break;case Jj:M$(t.state1,t.state2,t.description);break;case t$:L$(t.id.trim(),t.classes);break;case e$:O$(t.id.trim(),t.styleClass)}}))},A$=function(t,e=n$,n=null,i=null,r=null,o=null,a=null,s=null){const c=null==t?void 0:t.trim();void 0===w$.states[c]?(h.info("Adding state ",c,i),w$.states[c]={id:c,descriptions:[],type:e,doc:n,note:r,classes:[],styles:[],textStyles:[]}):(w$.states[c].doc||(w$.states[c].doc=n),w$.states[c].type||(w$.states[c].type=e)),i&&(h.info("Setting state description",c,i),"string"==typeof i&&P$(c,i.trim()),"object"==typeof i&&i.forEach((t=>P$(c,t.trim())))),r&&(w$.states[c].note=r,w$.states[c].note.text=Jh.sanitizeText(w$.states[c].note.text,_w())),o&&(h.info("Setting state classes",c,o),("string"==typeof o?[o]:o).forEach((t=>O$(c,t.trim())))),a&&(h.info("Setting state styles",c,a),("string"==typeof a?[a]:a).forEach((t=>N$(c,t.trim())))),s&&(h.info("Setting state styles",c,a),("string"==typeof s?[s]:s).forEach((t=>R$(c,t.trim()))))},x$=function(t){b$={root:m$()},w$=b$.root,k$=0,p$=d$(),t||Jw()},E$=function(t){return w$.states[t]};function T$(t=""){let e=t;return t===r$&&(k$++,e=`${o$}${k$}`),e}function S$(t="",e=n$){return t===r$?o$:e}function D$(t=""){let e=t;return t===a$&&(k$++,e=`${s$}${k$}`),e}function I$(t="",e=n$){return t===a$?s$:e}function B$(t,e,n){let i=T$(t.id.trim()),r=S$(t.id.trim(),t.type),o=T$(e.id.trim()),a=S$(e.id.trim(),e.type);A$(i,r,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),A$(o,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),w$.relations.push({id1:i,id2:o,relationTitle:Jh.sanitizeText(n,_w())})}const M$=function(t,e,n){if("object"==typeof t)B$(t,e,n);else{const i=T$(t.trim()),r=S$(t),o=D$(e.trim()),a=I$(e);A$(i,r),A$(o,a),w$.relations.push({id1:i,id2:o,title:Jh.sanitizeText(n,_w())})}},P$=function(t,e){const n=w$.states[t],i=e.startsWith(":")?e.replace(":","").trim():e;n.descriptions.push(Jh.sanitizeText(i,_w()))},L$=function(t,e=""){void 0===p$[t]&&(p$[t]={id:t,styles:[],textStyles:[]});const n=p$[t];null!=e&&e.split(h$).forEach((t=>{const e=t.replace(/([^;]*);/,"$1").trim();if(t.match(c$)){const t=e.replace(l$,u$).replace(c$,l$);n.textStyles.push(t)}n.styles.push(e)}))},O$=function(t,e){t.split(",").forEach((function(t){let n=E$(t);if(void 0===n){const e=t.trim();A$(e),n=E$(e)}n.classes.push(e)}))},N$=function(t,e){const n=E$(t);void 0!==n&&n.textStyles.push(e)},R$=function(t,e){const n=E$(t);void 0!==n&&n.textStyles.push(e)},F$={parseDirective:function(t,e,n){mH.parseDirective(this,t,e,n)},getConfig:()=>_w().state,addState:A$,clear:x$,getState:E$,getStates:function(){return w$.states},getRelations:function(){return w$.relations},getClasses:function(){return p$},getDirection:()=>f$,addRelation:M$,getDividerId:()=>(v$++,"divider-id-"+v$),setDirection:t=>{f$=t},cleanupLabel:function(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()},lineType:{LINE:0,DOTTED_LINE:1},relationType:{AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},logDocuments:function(){h.info("Documents = ",b$)},getRootDoc:()=>g$,setRootDoc:t=>{h.info("Setting root doc",t),g$=t},getRootDocV2:()=>(_$({id:"root"},{id:"root",doc:g$},!0),{id:"root",doc:g$}),extract:C$,trimColon:t=>t&&":"===t[0]?t.substr(1).trim():t.trim(),getAccTitle:ek,setAccTitle:tk,getAccDescription:ik,setAccDescription:nk,addStyleClass:L$,setCssClass:O$,addDescription:P$,setDiagramTitle:rk,getDiagramTitle:ok},j$={},$$=()=>Object.keys(j$),z$=()=>$$().length,V$={get:t=>j$[t],set:(t,e)=>{j$[t]=e},keys:$$,size:z$},H$=t=>t.append("circle").attr("class","start-state").attr("r",_w().state.sizeUnit).attr("cx",_w().state.padding+_w().state.sizeUnit).attr("cy",_w().state.padding+_w().state.sizeUnit),q$=t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",_w().state.textHeight).attr("class","divider").attr("x2",2*_w().state.textHeight).attr("y1",0).attr("y2",0),U$=(t,e)=>{const n=t.append("text").attr("x",2*_w().state.padding).attr("y",_w().state.textHeight+2*_w().state.padding).attr("font-size",_w().state.fontSize).attr("class","state-title").text(e.id),i=n.node().getBBox();return t.insert("rect",":first-child").attr("x",_w().state.padding).attr("y",_w().state.padding).attr("width",i.width+2*_w().state.padding).attr("height",i.height+2*_w().state.padding).attr("rx",_w().state.radius),n},G$=(t,e)=>{const n=function(t,e,n){const i=t.append("tspan").attr("x",2*_w().state.padding).text(e);n||i.attr("dy",_w().state.textHeight)},i=t.append("text").attr("x",2*_w().state.padding).attr("y",_w().state.textHeight+1.3*_w().state.padding).attr("font-size",_w().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),r=i.height,o=t.append("text").attr("x",_w().state.padding).attr("y",r+.4*_w().state.padding+_w().state.dividerMargin+_w().state.textHeight).attr("class","state-description");let a=!0,s=!0;e.descriptions.forEach((function(t){a||(n(o,t,s),s=!1),a=!1}));const c=t.append("line").attr("x1",_w().state.padding).attr("y1",_w().state.padding+r+_w().state.dividerMargin/2).attr("y2",_w().state.padding+r+_w().state.dividerMargin/2).attr("class","descr-divider"),l=o.node().getBBox(),u=Math.max(l.width,i.width);return c.attr("x2",u+3*_w().state.padding),t.insert("rect",":first-child").attr("x",_w().state.padding).attr("y",_w().state.padding).attr("width",u+2*_w().state.padding).attr("height",l.height+r+2*_w().state.padding).attr("rx",_w().state.radius),t},W$=(t,e,n)=>{const i=_w().state.padding,r=2*_w().state.padding,o=t.node().getBBox(),a=o.width,s=o.x,c=t.append("text").attr("x",0).attr("y",_w().state.titleShift).attr("font-size",_w().state.fontSize).attr("class","state-title").text(e.id),l=c.node().getBBox().width+r;let u,h=Math.max(l,a);h===a&&(h+=r);const d=t.node().getBBox();e.doc,u=s-i,l>a&&(u=(a-h)/2+i),Math.abs(s-d.x)a&&(u=s-(l-a)/2);const f=1-_w().state.textHeight;return t.insert("rect",":first-child").attr("x",u).attr("y",f).attr("class",n?"alt-composit":"composit").attr("width",h).attr("height",d.height+_w().state.textHeight+_w().state.titleShift+1).attr("rx","0"),c.attr("x",u+i),l<=a&&c.attr("x",s+(h-r)/2-l/2+i),t.insert("rect",":first-child").attr("x",u).attr("y",_w().state.titleShift-_w().state.textHeight-_w().state.padding).attr("width",h).attr("height",3*_w().state.textHeight).attr("rx",_w().state.radius),t.insert("rect",":first-child").attr("x",u).attr("y",_w().state.titleShift-_w().state.textHeight-_w().state.padding).attr("width",h).attr("height",d.height+3+2*_w().state.textHeight).attr("rx",_w().state.radius),t},K$=t=>(t.append("circle").attr("class","end-state-outer").attr("r",_w().state.sizeUnit+_w().state.miniPadding).attr("cx",_w().state.padding+_w().state.sizeUnit+_w().state.miniPadding).attr("cy",_w().state.padding+_w().state.sizeUnit+_w().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",_w().state.sizeUnit).attr("cx",_w().state.padding+_w().state.sizeUnit+2).attr("cy",_w().state.padding+_w().state.sizeUnit+2)),Y$=(t,e)=>{let n=_w().state.forkWidth,i=_w().state.forkHeight;if(e.parentId){let t=n;n=i,i=t}return t.append("rect").style("stroke","black").style("fill","black").attr("width",n).attr("height",i).attr("x",_w().state.padding).attr("y",_w().state.padding)},X$=(t,e,n,i)=>{let r=0;const o=i.append("text");o.style("text-anchor","start"),o.attr("class","noteText");let a=t.replace(/\r\n/g,"
");a=a.replace(/\n/g,"
");const s=a.split(Jh.lineBreakRegex);let c=1.25*_w().state.noteMargin;for(const t of s){const i=t.trim();if(i.length>0){const t=o.append("tspan");t.text(i),0===c&&(c+=t.node().getBBox().height),r+=c,t.attr("x",e+_w().state.noteMargin),t.attr("y",n+r+1.25*_w().state.noteMargin)}}return{textWidth:o.node().getBBox().width,textHeight:r}},Z$=(t,e)=>{e.attr("class","state-note");const n=e.append("rect").attr("x",0).attr("y",_w().state.padding),i=e.append("g"),{textWidth:r,textHeight:o}=X$(t,0,0,i);return n.attr("height",o+2*_w().state.noteMargin),n.attr("width",r+2*_w().state.noteMargin),n},Q$=function(t,e){const n=e.id,i={id:n,label:e.id,width:0,height:0},r=t.append("g").attr("id",n).attr("class","stateGroup");"start"===e.type&&H$(r),"end"===e.type&&K$(r),"fork"!==e.type&&"join"!==e.type||Y$(r,e),"note"===e.type&&Z$(e.note.text,r),"divider"===e.type&&q$(r),"default"===e.type&&0===e.descriptions.length&&U$(r,e),"default"===e.type&&e.descriptions.length>0&&G$(r,e);const o=r.node().getBBox();return i.width=o.width+2*_w().state.padding,i.height=o.height+2*_w().state.padding,V$.set(n,i),i};let J$=0;const tz=function(t,e,n){const i=function(t){switch(t){case F$.relationType.AGGREGATION:return"aggregation";case F$.relationType.EXTENSION:return"extension";case F$.relationType.COMPOSITION:return"composition";case F$.relationType.DEPENDENCY:return"dependency"}};e.points=e.points.filter((t=>!Number.isNaN(t.y)));const r=e.points,o=$l().x((function(t){return t.x})).y((function(t){return t.y})).curve(Xl),a=t.append("path").attr("d",o(r)).attr("id","edge"+J$).attr("class","transition");let s="";if(_w().state.arrowMarkerAbsolute&&(s=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,s=s.replace(/\(/g,"\\("),s=s.replace(/\)/g,"\\)")),a.attr("marker-end","url("+s+"#"+i(F$.relationType.DEPENDENCY)+"End)"),void 0!==n.title){const i=t.append("g").attr("class","stateLabel"),{x:r,y:o}=kb.calcLabelPosition(e.points),a=Jh.getRows(n.title);let s=0;const c=[];let l=0,u=0;for(let t=0;t<=a.length;t++){const e=i.append("text").attr("text-anchor","middle").text(a[t]).attr("x",r).attr("y",o+s),n=e.node().getBBox();if(l=Math.max(l,n.width),u=Math.min(u,n.x),h.info(n.x,r,o+s),0===s){const t=e.node().getBBox();s=t.height,h.info("Title height",s,o)}c.push(e)}let d=s*a.length;if(a.length>1){const t=(a.length-1)*s*.5;c.forEach(((e,n)=>e.attr("y",o+n*s-t))),d=s*a.length}const f=i.node().getBBox();i.insert("rect",":first-child").attr("class","box").attr("x",r-l/2-_w().state.padding/2).attr("y",o-d/2-_w().state.padding/2-3.5).attr("width",l+_w().state.padding).attr("height",d+_w().state.padding),h.info(f)}J$++};let ez;const nz={},iz=function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},rz=function(t,e,n,i){ez=_w().state;const r=_w().securityLevel;let o;"sandbox"===r&&(o=un("#i"+e));const a=un("sandbox"===r?o.nodes()[0].contentDocument.body:"body"),s="sandbox"===r?o.nodes()[0].contentDocument:document;h.debug("Rendering diagram "+t);const c=a.select(`[id='${e}']`);iz(c),new fD({multigraph:!0,compound:!0,rankdir:"RL"}).setDefaultEdgeLabel((function(){return{}}));const l=i.db.getRootDoc();az(l,c,void 0,!1,a,s,i);const u=ez.padding,d=c.node().getBBox(),f=d.width+2*u,g=d.height+2*u;Mw(c,g,1.75*f,ez.useMaxWidth),c.attr("viewBox",`${d.x-ez.padding} ${d.y-ez.padding} `+f+" "+g)},oz=t=>t?t.length*ez.fontSizeFactor:1,az=(t,e,n,i,r,o,a)=>{const s=new fD({compound:!0,multigraph:!0});let c,l=!0;for(c=0;c{const e=t.parentElement;let n=0,i=0;e&&(e.parentElement&&(n=e.parentElement.getBBox().width),i=parseInt(e.getAttribute("data-x-shift"),10),Number.isNaN(i)&&(i=0)),t.setAttribute("x1",0-i+8),t.setAttribute("x2",n-i-8)}))):h.debug("No Node "+t+": "+JSON.stringify(s.node(t)))}));let m=p.getBBox();s.edges().forEach((function(t){void 0!==t&&void 0!==s.edge(t)&&(h.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(s.edge(t))),tz(e,s.edge(t),s.edge(t).relation))})),m=p.getBBox();const b={id:n||"root",label:n||"root",width:0,height:0};return b.width=m.width+2*ez.padding,b.height=m.height+2*ez.padding,h.debug("Doc rendered",b,s),b},sz={setConf:function(){},draw:rz},cz="rect",lz="rectWithTitle",uz="start",hz="end",dz="divider",fz="roundedWithTitle",gz="note",pz="noteGroup",mz="statediagram",bz=`${mz}-state`,wz="transition",kz=`${wz} note-edge`,vz=`${mz}-note`,yz=`${mz}-cluster`,_z=`${mz}-cluster-alt`,Cz="parent",Az="note",xz="state",Ez="----",Tz=`${Ez}${Az}`,Sz=`${Ez}${Cz}`,Dz="fill:none",Iz="fill: #333",Bz="c",Mz="text",Pz="normal";let Lz={},Oz=0;function Nz(t){return null==t?"":t.classes?t.classes.join(" "):""}function Rz(t="",e=0,n="",i=Ez){const r=null!==n&&n.length>0?`${i}${n}`:"";return`${xz}-${t}${r}-${e}`}const Fz=(t,e,n,i,r,o)=>{const a=n.id,s=Nz(i[a]);if("root"!==a){let e=cz;!0===n.start&&(e=uz),!1===n.start&&(e=hz),n.type!==n$&&(e=n.type),Lz[a]||(Lz[a]={id:a,shape:e,description:Jh.sanitizeText(a,_w()),classes:`${s} ${bz}`});const i=Lz[a];n.description&&(Array.isArray(i.description)?(i.shape=lz,i.description.push(n.description)):i.description.length>0?(i.shape=lz,i.description===a?i.description=[n.description]:i.description=[i.description,n.description]):(i.shape=cz,i.description=n.description),i.description=Jh.sanitizeTextOrArray(i.description,_w())),1===i.description.length&&i.shape===lz&&(i.shape=cz),!i.type&&n.doc&&(h.info("Setting cluster for ",a,$z(n)),i.type="group",i.dir=$z(n),i.shape=n.type===i$?dz:fz,i.classes=i.classes+" "+yz+" "+(o?_z:""));const r={labelStyle:"",shape:i.shape,labelText:i.description,classes:i.classes,style:"",id:a,dir:i.dir,domId:Rz(a,Oz),type:i.type,padding:15};if(n.note){const e={labelStyle:"",shape:gz,labelText:n.note.text,classes:vz,style:"",id:a+Tz+"-"+Oz,domId:Rz(a,Oz,Az),type:i.type,padding:15},o={labelStyle:"",shape:pz,labelText:n.note.text,classes:i.classes,style:"",id:a+Sz,domId:Rz(a,Oz,Cz),type:"group",padding:0};Oz++;const s=a+Sz;t.setNode(s,o),t.setNode(e.id,e),t.setNode(a,r),t.setParent(a,s),t.setParent(e.id,s);let c=a,l=e.id;"left of"===n.note.position&&(c=e.id,l=a),t.setEdge(c,l,{arrowhead:"none",arrowType:"",style:Dz,labelStyle:"",classes:kz,arrowheadStyle:Iz,labelpos:Bz,labelType:Mz,thickness:Pz})}else t.setNode(a,r)}e&&"root"!==e.id&&(h.trace("Setting node ",a," to be child of its parent ",e.id),t.setParent(a,e.id)),n.doc&&(h.trace("Adding nodes children "),jz(t,n,n.doc,i,r,!o))},jz=(t,e,n,i,r,o)=>{h.trace("items",n),n.forEach((n=>{switch(n.stmt){case Qj:case n$:Fz(t,e,n,i,r,o);break;case Jj:{Fz(t,e,n.state1,i,r,o),Fz(t,e,n.state2,i,r,o);const a={id:"edge"+Oz,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:Dz,labelStyle:"",label:Jh.sanitizeText(n.description,_w()),arrowheadStyle:Iz,labelpos:Bz,labelType:Mz,thickness:Pz,classes:wz};t.setEdge(n.state1.id,n.state2.id,a,Oz),Oz++}}}))},$z=(t,e=Zj)=>{let n=e;if(t.doc)for(let e=0;eu&&E.push("'"+this.terminals_[C]+"'");S=f.showPosition?"Parse error on line "+(c+1)+":\n"+f.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(c+1)+": Unexpected "+(k==h?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(S,{text:f.match,token:this.terminals_[k]||k,line:f.yylineno,loc:m,expected:E})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+k);switch(y[0]){case 1:n.push(k),r.push(f.yytext),o.push(f.yylloc),n.push(y[1]),k=null,l=f.yyleng,s=f.yytext,c=f.yylineno,m=f.yylloc;break;case 2:if(A=this.productions_[y[1]][1],T.$=r[r.length-A],T._$={first_line:o[o.length-(A||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(A||1)].first_column,last_column:o[o.length-1].last_column},b&&(T._$.range=[o[o.length-(A||1)].range[0],o[o.length-1].range[1]]),void 0!==(_=this.performAction.apply(T,[s,l,c,g.yy,y[1],r,o].concat(d))))return _;A&&(n=n.slice(0,-1*A*2),r=r.slice(0,-1*A),o=o.slice(0,-1*A)),n.push(this.productions_[y[1]][0]),r.push(T.$),o.push(T._$),x=a[n[n.length-2]][n[n.length-1]],n.push(x);break;case 3:return!0}}return!0}},f={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 o in r)this[o]=r[o];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(),o=0;oe[0].length)){if(e=n,i=o,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[o])))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(){var t=this.next();return t||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 g(){this.yy={}}return d.lexer=f,g.prototype=d,d.Parser=g,new g}();Vz.parser=Vz;const Hz=Vz,qz=t=>null!==t.match(/^\s*journey/);let Uz="";const Gz=[],Wz=[],Kz=[],Yz=function(){let t=Zz();const e=100;let n=0;for(;!t&&n{e.people&&t.push(...e.people)})),[...new Set(t)].sort()},Zz=function(){const t=function(t){return Kz[t].processed};let e=!0;for(const[n,i]of Kz.entries())t(n),e=e&&i.processed;return e},Qz={parseDirective:function(t,e,n){mH.parseDirective(this,t,e,n)},getConfig:()=>_w().journey,clear:function(){Gz.length=0,Wz.length=0,Uz="",Kz.length=0,Jw()},setDiagramTitle:rk,getDiagramTitle:ok,setAccTitle:tk,getAccTitle:ek,setAccDescription:nk,getAccDescription:ik,addSection:function(t){Uz=t,Gz.push(t)},getSections:function(){return Gz},getTasks:Yz,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 o=r.map((t=>t.trim())),a={section:Uz,type:Uz,people:o,task:t,score:i};Kz.push(a)},addTaskOrg:function(t){const e={section:Uz,type:Uz,description:t,task:t,classes:[]};Wz.push(e)},getActors:function(){return Xz()}},Jz=function(t,e){const n=t.append("rect");return 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),void 0!==e.class&&n.attr("class",e.class),n},tV=function(t,e){const n=15,i=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",n).attr("stroke-width",2).attr("overflow","visible"),r=t.append("g");function o(t){const i=Ll().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(n/2).outerRadius(n/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function a(t){const i=Ll().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(n/2).outerRadius(n/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function s(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return r.append("circle").attr("cx",e.cx-n/3).attr("cy",e.cy-n/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),r.append("circle").attr("cx",e.cx+n/3).attr("cy",e.cy-n/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),e.score>3?o(r):e.score<3?a(r):s(r),i},eV=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},nV=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},iV=function(t,e){function n(t,e,n,i,r){return t+","+e+" "+(t+n)+","+e+" "+(t+n)+","+(e+i-r)+" "+(t+n-1.2*r)+","+(e+i)+" "+t+","+(e+i)}const i=t.append("polygon");i.attr("points",n(e.x,e.y,50,20,7)),i.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,nV(t,e)},rV=function(t,e,n){const i=t.append("g"),r=lV();r.x=e.x,r.y=e.y,r.fill=e.fill,r.width=n.width,r.height=n.height,r.class="journey-section section-type-"+e.num,r.rx=3,r.ry=3,Jz(i,r),uV(n)(e.text,i,r.x,r.y,r.width,r.height,{class:"journey-section section-type-"+e.num},n,e.colour)};let oV=-1;const aV=function(t,e,n){const i=e.x+n.width/2,r=t.append("g");oV++;const o=450;r.append("line").attr("id","task"+oV).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",o).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),tV(r,{cx:i,cy:300+30*(5-e.score),score:e.score});const a=lV();a.x=e.x,a.y=e.y,a.fill=e.fill,a.width=n.width,a.height=n.height,a.class="task task-type-"+e.num,a.rx=3,a.ry=3,Jz(r,a);let s=e.x+14;e.people.forEach((t=>{const n=e.actors[t].color,i={cx:s,cy:e.y,r:7,fill:n,stroke:"#000",title:t,pos:e.actors[t].position};eV(r,i),s+=10})),uV(n)(e.task,r,a.x,a.y,a.width,a.height,{class:"task"},n,e.colour)},sV=function(t,e){Jz(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},cV=function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},lV=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},uV=function(){function t(t,e,n,r,o,a,s,c){i(e.append("text").attr("x",n+o/2).attr("y",r+a/2+5).style("font-color",c).style("text-anchor","middle").text(t),s)}function e(t,e,n,r,o,a,s,c,l){const{taskFontSize:u,taskFontFamily:h}=c,d=t.split(//gi);for(let t=0;t{const r=fV[i].color,o={cx:20,cy:n,r:7,fill:r,stroke:"#000",pos:fV[i].position};hV.drawCircle(t,o);const a={x:40,y:n+7,fill:"#666",text:i,textMargin:5|e.boxTextMargin};hV.drawText(t,a),n+=20}))}const pV=_w().journey,mV=pV.leftMargin,bV=function(t,e,n,i){const r=_w().journey;i.db.clear(),i.parser.parse(t+"\n");const o=_w().securityLevel;let a;"sandbox"===o&&(a=un("#i"+e));const s=un("sandbox"===o?a.nodes()[0].contentDocument.body:"body");wV.init();const c=s.select("#"+e);hV.initGraphics(c);const l=i.db.getTasks(),u=i.db.getDiagramTitle(),h=i.db.getActors();for(const t in fV)delete fV[t];let d=0;h.forEach((t=>{fV[t]={color:r.actorColours[d%r.actorColours.length],position:d},d++})),gV(c),wV.insert(0,0,mV,50*Object.keys(fV).length),yV(c,l,0);const f=wV.getBounds();u&&c.append("text").text(u).attr("x",mV).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const g=f.stopy-f.starty+2*r.diagramMarginY,p=mV+f.stopx+2*r.diagramMarginX;Mw(c,g,p,r.useMaxWidth),c.append("line").attr("x1",mV).attr("y1",4*r.height).attr("x2",p-mV-4).attr("y2",4*r.height).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const m=u?70:0;c.attr("viewBox",`${f.startx} -25 ${p} ${g+m}`),c.attr("preserveAspectRatio","xMinYMin meet"),c.attr("height",g+m+25)},wV={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,n,i){void 0===t[e]?t[e]=n:t[e]=i(n,t[e])},updateBounds:function(t,e,n,i){const r=_w().journey,o=this;let a=0;function s(s){return function(c){a++;const l=o.sequenceItems.length-a+1;o.updateVal(c,"starty",e-l*r.boxMargin,Math.min),o.updateVal(c,"stopy",i+l*r.boxMargin,Math.max),o.updateVal(wV.data,"startx",t-l*r.boxMargin,Math.min),o.updateVal(wV.data,"stopx",n+l*r.boxMargin,Math.max),"activation"!==s&&(o.updateVal(c,"startx",t-l*r.boxMargin,Math.min),o.updateVal(c,"stopx",n+l*r.boxMargin,Math.max),o.updateVal(wV.data,"starty",e-l*r.boxMargin,Math.min),o.updateVal(wV.data,"stopy",i+l*r.boxMargin,Math.max))}}this.sequenceItems.forEach(s())},insert:function(t,e,n,i){const r=Math.min(t,n),o=Math.max(t,n),a=Math.min(e,i),s=Math.max(e,i);this.updateVal(wV.data,"startx",r,Math.min),this.updateVal(wV.data,"starty",a,Math.min),this.updateVal(wV.data,"stopx",o,Math.max),this.updateVal(wV.data,"stopy",s,Math.max),this.updateBounds(r,a,o,s)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},kV=pV.sectionFills,vV=pV.sectionColours,yV=function(t,e,n){const i=_w().journey;let r="";const o=n+(2*i.height+i.diagramMarginY);let a=0,s="#CCC",c="black",l=0;for(const[n,u]of e.entries()){if(r!==u.section){s=kV[a%kV.length],l=a%kV.length,c=vV[a%vV.length];const e={x:n*i.taskMargin+n*i.width+mV,y:50,text:u.section,fill:s,num:l,colour:c};hV.drawSection(t,e,i),r=u.section,a++}const e=u.people.reduce(((t,e)=>(fV[e]&&(t[e]=fV[e]),t)),{});u.x=n*i.taskMargin+n*i.width+mV,u.y=o,u.width=i.diagramMarginX,u.height=i.diagramMarginY,u.colour=c,u.fill=s,u.num=l,u.actors=e,hV.drawTask(t,u,i),wV.insert(u.x,u.y,u.x+u.width+i.taskMargin,450)}},_V={setConf:dV,draw:bV};let CV={};const AV={setConf:function(t){CV={...CV,...t}},draw:(t,e,n)=>{try{h.debug("Renering svg for syntax error\n");const t=un("#"+e),i=t.append("g");i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in graph"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text("mermaid version "+n),t.attr("height",100),t.attr("width",500),t.attr("viewBox","768 0 912 512")}catch(t){h.error("Error while rendering info diagram"),h.error(bb(t))}}},xV="flowchart-elk",EV={id:xV,detector:(t,e)=>{var n;return!!(t.match(/^\s*flowchart-elk/)||t.match(/^\s*flowchart|graph/)&&"elk"===(null==(n=null==e?void 0:e.flowchart)?void 0:n.defaultRenderer))},loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>tq));return{id:xV,diagram:t}}},TV="timeline",SV={id:TV,detector:t=>null!==t.match(/^\s*timeline/),loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>Vq));return{id:TV,diagram:t}}},DV="mindmap",IV={id:DV,detector:t=>null!==t.match(/^\s*mindmap/),loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>zU));return{id:DV,diagram:t}}};let BV=!1;const MV=()=>{BV||(BV=!0,Cp(EV,SV,IV),kk("error",{db:{clear:()=>{}},styles:Nw,renderer:AV,parser:{parser:{yy:{}},parse:()=>{}},init:()=>{}},(t=>"error"===t.toLowerCase().trim())),kk("---",{db:{clear:()=>{}},styles:Nw,renderer:AV,parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with unindented `---` blocks")}},init:()=>null},(t=>t.toLowerCase().trimStart().startsWith("---"))),kk("c4",{parser:hv,db:Lv,renderer:my,styles:Uw,init:t=>{my.setConf(t.c4)}},dv),kk("class",{parser:wy,db:t_,renderer:rM,styles:Lw,init:t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,t_.clear()}},ky),kk("classDiagram",{parser:wy,db:t_,renderer:mP,styles:Lw,init:t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,t_.clear()}},vy),kk("er",{parser:wP,db:AP,renderer:JP,styles:Ow},kP),kk("gantt",{parser:MN,db:CR,renderer:ER,styles:Fw},PN),kk("info",{parser:SR,db:BR,renderer:MR,styles:jw},PR),kk("pie",{parser:OR,db:jR,renderer:HR,styles:$w},NR),kk("requirement",{parser:UR,db:QR,renderer:fF,styles:zw},GR),kk("sequence",{parser:pF,db:zF,renderer:Uj,styles:Vw,init:t=>{if(t.sequence||(t.sequence={}),t.sequence.arrowMarkerAbsolute=t.arrowMarkerAbsolute,"sequenceDiagram"in t)throw new Error("`mermaid config.sequenceDiagram` has been renamed to `config.sequence`. Please update your mermaid config.");zF.setWrap(t.wrap),Uj.setConf(t.sequence)}},mF),kk("state",{parser:Wj,db:F$,renderer:sz,styles:Hw,init:t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,F$.clear()}},Kj),kk("stateDiagram",{parser:Wj,db:F$,renderer:zz,styles:Hw,init:t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,F$.clear()}},Yj),kk("journey",{parser:Hz,db:Qz,renderer:_V,styles:qw,init:t=>{_V.setConf(t.journey),Qz.clear()}},qz),kk("flowchart",{parser:eL,db:oO,renderer:IN,styles:Rw,init:t=>{t.flowchart||(t.flowchart={}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,xN.setConf(t.flowchart),oO.clear(),oO.setGen("gen-1")}},nL),kk("flowchart-v2",{parser:eL,db:oO,renderer:IN,styles:Rw,init:t=>{t.flowchart||(t.flowchart={}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,yw({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}}),IN.setConf(t.flowchart),oO.clear(),oO.setGen("gen-2")}},iL),kk("gitGraph",{parser:_k,db:Gk,renderer:cv,styles:lv},Ck))};class PV{constructor(t,e){var n,i;this.txt=t,this.type="graph",this.detectTypeFailed=!1;const r=_w();this.txt=t;try{this.type=_p(t,r)}catch(t){this.handleError(t,e),this.type="error",this.detectTypeFailed=!0}const o=vk(this.type);h.debug("Type "+this.type),this.db=o.db,null==(i=(n=this.db).clear)||i.call(n),this.renderer=o.renderer,this.parser=o.parser;const a=this.parser.parse.bind(this.parser);this.parser.parse=t=>a(wp(t,this.db)),this.parser.parser.yy=this.db,o.init&&(o.init(r),h.info("Initialized diagram "+this.type,r)),this.txt+="\n",this.parse(this.txt,e)}parse(t,e){var n,i;if(this.detectTypeFailed)return!1;try{return t+="\n",null==(i=(n=this.db).clear)||i.call(n),this.parser.parse(t),!0}catch(t){this.handleError(t,e)}return!1}handleError(t,e){if(void 0===e)throw t;mb(t)?e(t.str,t.hash):e(t)}getParser(){return this.parser}getType(){return this.type}}const LV=(t,e)=>{const n=_p(t,_w());try{vk(n)}catch(i){const r=xp(n);if(!r)throw new Error(`Diagram ${n} not found.`);return r().then((({diagram:i})=>(kk(n,i,void 0),new PV(t,e))))}return new PV(t,e)},OV=PV,NV="graphics-document document";function RV(t,e){t.attr("role",NV),IS(e)||t.attr("aria-roledescription",e)}function FV(t,e,n,i){if(void 0!==t.insert&&(e||n)){if(n){const e="chart-desc-"+i;t.attr("aria-describedby",e),t.insert("desc",":first-child").attr("id",e).text(n)}if(e){const n="chart-title-"+i;t.attr("aria-labelledby",n),t.insert("title",":first-child").attr("id",n).text(e)}}}const jV=["graph","flowchart","flowchart-v2","stateDiagram","stateDiagram-v2"],$V="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",zV="sandbox",VV="loose",HV="http://www.w3.org/2000/svg",qV="http://www.w3.org/1999/xlink",UV="http://www.w3.org/1999/xhtml",GV="100%",WV="100%",KV="border:0;margin:0;",YV="margin:0",XV="allow-top-navigation-by-user-activation allow-popups",ZV='The "iframe" tag is not supported by your browser.',QV=["foreignobject"],JV=["dominant-baseline"];function tH(t,e){return MV(),new OV(t,e).parse(t,e)}async function eH(t,e){return MV(),(await LV(t,e)).parse(t,e)}const nH=function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)})),e=e.replace(/classDef.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)})),e=e.replace(/#\w+;/g,(function(t){const e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"fl°°"+e+"¶ß":"fl°"+e+"¶ß"})),e},iH=function(t){let e=t;return e=e.replace(/fl°°/g,"&#"),e=e.replace(/fl°/g,"&"),e=e.replace(/¶ß/g,";"),e},rH=(t,e,n=[])=>`\n.${t} ${e} { ${n.join(" !important; ")} !important; }`,oH=(t,e,n={})=>{var i;let r="";if(void 0!==t.themeCSS&&(r+=`\n${t.themeCSS}`),void 0!==t.fontFamily&&(r+=`\n:root { --mermaid-font-family: ${t.fontFamily}}`),void 0!==t.altFontFamily&&(r+=`\n:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),!IS(n)&&jV.includes(e)){const e=t.htmlLabels||(null==(i=t.flowchart)?void 0:i.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const t in n){const i=n[t];IS(i.styles)||e.forEach((t=>{r+=rH(i.id,t,i.styles)})),IS(i.textStyles)||(r+=rH(i.id,"tspan",i.textStyles))}}return r},aH=(t,e,n,i)=>{const r=oH(t,e,n);return cw(iw(`${i}{${Kw(e,r,t.themeVariables)}}`),lw)},sH=(t="",e,n)=>{let i=t;return n||e||(i=i.replace(/marker-end="url\(.*?#/g,'marker-end="url(#')),i=iH(i),i=i.replace(/
/g,"
"),i},cH=(t="",e)=>{const n=e?e.viewBox.baseVal.height+"px":WV,i=btoa(''+t+"");return``},lH=(t,e,n,i,r)=>{const o=t.append("div");o.attr("id",n),i&&o.attr("style",i);const a=o.append("svg").attr("id",e).attr("width","100%").attr("xmlns",HV);return r&&a.attr("xmlns:xlink",r),a.append("g"),t};function uH(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const hH=(t,e,n,i)=>{var r,o,a;null==(r=t.getElementById(e))||r.remove(),null==(o=t.getElementById(n))||o.remove(),null==(a=t.getElementById(i))||a.remove()},dH=function(t,e,n,i){var r,o,a,s;MV(),xw();const c=kb.detectInit(e);c&&(gb(c),Aw(c));const l=_w();h.debug(l),e.length>((null==l?void 0:l.maxTextSize)??5e4)&&(e=$V),e=e.replace(/\r\n?/g,"\n");const u="#"+t,d="i"+t,f="#"+d,g="d"+t,p="#"+g;let m=un("body");const b=l.securityLevel===zV,w=l.securityLevel===VV,k=l.fontFamily;if(void 0!==i){if(i&&(i.innerHTML=""),b){const t=uH(un(i),d);m=un(t.nodes()[0].contentDocument.body),m.node().style.margin=0}else m=un(i);lH(m,t,g,`font-family: ${k}`,qV)}else{if(hH(document,t,g,d),b){const t=uH(un("body"),d);m=un(t.nodes()[0].contentDocument.body),m.node().style.margin=0}else m=un("body");lH(m,t,g)}let v,y;e=nH(e);try{if(v=LV(e),"then"in v)throw new Error("Diagram is a promise. Use renderAsync.")}catch(t){v=new OV("error"),y=t}const _=m.select(p).node(),C=v.type,A=_.firstChild,x=A.firstChild,E=jV.includes(C)?v.renderer.getClasses(e,v):{},T=aH(l,C,E,u),S=document.createElement("style");S.innerHTML=T,A.insertBefore(S,x);try{v.renderer.draw(e,t,uw,v)}catch(n){throw AV.draw(e,t,uw),n}pH(C,m.select(`${p} svg`),null==(o=(r=v.db).getAccTitle)?void 0:o.call(r),null==(s=(a=v.db).getAccDescription)?void 0:s.call(a)),m.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",UV);let D=m.select(p).node().innerHTML;if(h.debug("config.arrowMarkerAbsolute",l.arrowMarkerAbsolute),D=sH(D,b,Zh(l.arrowMarkerAbsolute)),b){const t=m.select(p+" svg").node();D=cH(D,t)}else w||(D=Vh.sanitize(D,{ADD_TAGS:QV,ADD_ATTR:JV}));if(void 0!==n)switch(C){case"flowchart":case"flowchart-v2":n(D,oO.bindFunctions);break;case"gantt":n(D,CR.bindFunctions);break;case"class":case"classDiagram":n(D,t_.bindFunctions);break;default:n(D)}else h.debug("CB = undefined!");qF();const I=un(b?f:p).node();if(I&&"remove"in I&&I.remove(),y)throw y;return D},fH=async function(t,e,n,i){var r,o,a,s;MV(),xw();const c=kb.detectInit(e);c&&(gb(c),Aw(c));const l=_w();h.debug(l),e.length>((null==l?void 0:l.maxTextSize)??5e4)&&(e=$V),e=e.replace(/\r\n?/g,"\n");const u="#"+t,d="i"+t,f="#"+d,g="d"+t,p="#"+g;let m=un("body");const b=l.securityLevel===zV,w=l.securityLevel===VV,k=l.fontFamily;if(void 0!==i){if(i&&(i.innerHTML=""),b){const t=uH(un(i),d);m=un(t.nodes()[0].contentDocument.body),m.node().style.margin=0}else m=un(i);lH(m,t,g,`font-family: ${k}`,qV)}else{if(hH(document,t,g,d),b){const t=uH(un("body"),d);m=un(t.nodes()[0].contentDocument.body),m.node().style.margin=0}else m=un("body");lH(m,t,g)}let v,y;e=nH(e);try{v=await LV(e)}catch(t){v=new OV("error"),y=t}const _=m.select(p).node(),C=v.type,A=_.firstChild,x=A.firstChild,E=jV.includes(C)?v.renderer.getClasses(e,v):{},T=aH(l,C,E,u),S=document.createElement("style");S.innerHTML=T,A.insertBefore(S,x);try{await v.renderer.draw(e,t,uw,v)}catch(n){throw AV.draw(e,t,uw),n}pH(C,m.select(`${p} svg`),null==(o=(r=v.db).getAccTitle)?void 0:o.call(r),null==(s=(a=v.db).getAccDescription)?void 0:s.call(a)),m.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",UV);let D=m.select(p).node().innerHTML;if(h.debug("config.arrowMarkerAbsolute",l.arrowMarkerAbsolute),D=sH(D,b,Zh(l.arrowMarkerAbsolute)),b){const t=m.select(p+" svg").node();D=cH(D,t)}else w||(D=Vh.sanitize(D,{ADD_TAGS:QV,ADD_ATTR:JV}));if(void 0!==n)switch(C){case"flowchart":case"flowchart-v2":n(D,oO.bindFunctions);break;case"gantt":n(D,CR.bindFunctions);break;case"class":case"classDiagram":n(D,t_.bindFunctions);break;default:n(D)}else h.debug("CB = undefined!");qF();const I=un(b?f:p).node();if(I&&"remove"in I&&I.remove(),y)throw y;return D};function gH(t={}){var e;(null==t?void 0:t.fontFamily)&&!(null==(e=t.themeVariables)?void 0:e.fontFamily)&&(t.themeVariables={fontFamily:t.fontFamily}),ww(t),(null==t?void 0:t.theme)&&t.theme in $d?t.themeVariables=$d[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=$d.default.getThemeVariables(t.themeVariables));const n="object"==typeof t?bw(t):vw();d(n.logLevel),MV()}function pH(t,e,n,i){RV(e,t),FV(e,n,i,e.attr("id"))}const mH=Object.freeze({render:dH,renderAsync:fH,parse:tH,parseAsync:eH,parseDirective:lk,initialize:gH,getConfig:_w,setConfig:yw,getSiteConfig:vw,updateSiteConfig:kw,reset:()=>{xw()},globalReset:()=>{xw(hw)},defaultConfig:hw});d(_w().logLevel),xw(_w());const bH=async function(t,e,n){try{await yH(t,e,n)}catch(t){h.warn("Syntax Error rendering"),mb(t)&&h.warn(t.str),MH.parseError&&MH.parseError(t)}},wH=(t,e,n)=>{h.warn(t),mb(t)?(n&&n(t.str,t.hash),e.push({...t,message:t.str,error:t})):(n&&n(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},kH=function(t,e,n){const r=mH.getConfig();let o;if(t&&(MH.sequenceConfig=t),h.debug((n?"":"No ")+"Callback function found"),void 0===e)o=document.querySelectorAll(".mermaid");else if("string"==typeof e)o=document.querySelectorAll(e);else if(e instanceof HTMLElement)o=[e];else{if(!(e instanceof NodeList))throw new Error("Invalid argument nodes for mermaid.init");o=e}h.debug(`Found ${o.length} diagrams`),void 0!==(null==t?void 0:t.startOnLoad)&&(h.debug("Start On Load: "+(null==t?void 0:t.startOnLoad)),mH.updateSiteConfig({startOnLoad:null==t?void 0:t.startOnLoad}));const a=new kb.initIdGenerator(r.deterministicIds,r.deterministicIDSeed);let s;const c=[];for(const t of Array.from(o)){ +/*! Check if previously processed */ +if(h.info("Rendering diagram: "+t.id),t.getAttribute("data-processed"))continue;t.setAttribute("data-processed","true");const e=`mermaid-${a.next()}`;s=t.innerHTML,s=i(kb.entityDecode(s)).trim().replace(//gi,"
");const r=kb.detectInit(s);r&&h.debug("Detected early reinit: ",r);try{mH.render(e,s,((i,r)=>{t.innerHTML=i,void 0!==n&&n(e),r&&r(t)}),t)}catch(t){wH(t,c,MH.parseError)}}if(c.length>0)throw c[0]},vH=async(...t)=>{h.debug(`Loading ${t.length} external diagrams`);const e=(await Promise.allSettled(t.map((async({id:t,detector:e,loader:n})=>{const{diagram:i}=await n();kk(t,i,e)})))).filter((t=>"rejected"===t.status));if(e.length>0){h.error(`Failed to load ${e.length} external diagrams`);for(const t of e)h.error(t);throw new Error(`Failed to load ${e.length} external diagrams`)}},yH=async function(t,e,n){const r=mH.getConfig();let o;if(t&&(MH.sequenceConfig=t),h.debug((n?"":"No ")+"Callback function found"),void 0===e)o=document.querySelectorAll(".mermaid");else if("string"==typeof e)o=document.querySelectorAll(e);else if(e instanceof HTMLElement)o=[e];else{if(!(e instanceof NodeList))throw new Error("Invalid argument nodes for mermaid.init");o=e}h.debug(`Found ${o.length} diagrams`),void 0!==(null==t?void 0:t.startOnLoad)&&(h.debug("Start On Load: "+(null==t?void 0:t.startOnLoad)),mH.updateSiteConfig({startOnLoad:null==t?void 0:t.startOnLoad}));const a=new kb.initIdGenerator(r.deterministicIds,r.deterministicIDSeed);let s;const c=[];for(const t of Array.from(o)){ +/*! Check if previously processed */ +if(h.info("Rendering diagram: "+t.id),t.getAttribute("data-processed"))continue;t.setAttribute("data-processed","true");const e=`mermaid-${a.next()}`;s=t.innerHTML,s=i(kb.entityDecode(s)).trim().replace(//gi,"
");const r=kb.detectInit(s);r&&h.debug("Detected early reinit: ",r);try{await mH.renderAsync(e,s,((i,r)=>{t.innerHTML=i,void 0!==n&&n(e),r&&r(t)}),t)}catch(t){wH(t,c,MH.parseError)}}if(c.length>0)throw c[0]},_H=function(t){mH.initialize(t)},CH=async(t,{lazyLoad:e=!0}={})=>{e?Cp(...t):await vH(...t)},AH=function(){if(MH.startOnLoad){const{startOnLoad:t}=mH.getConfig();t&&MH.init().catch((t=>h.error("Mermaid failed to initialize",t)))}};"undefined"!=typeof document&& +/*! + * Wait for document loaded before starting the execution + */ +window.addEventListener("load",AH,!1);const xH=function(t){MH.parseError=t},EH=t=>mH.parse(t,MH.parseError),TH=[];let SH=!1;const DH=async()=>{if(!SH){for(SH=!0;TH.length>0;){const t=TH.shift();if(t)try{await t()}catch(t){h.error("Error executing queue",t)}}SH=!1}},IH=t=>new Promise(((e,n)=>{const i=()=>new Promise(((i,r)=>{mH.parseAsync(t,MH.parseError).then((t=>{i(t),e(t)}),(t=>{h.error("Error parsing",t),r(t),n(t)}))}));TH.push(i),DH().catch(n)})),BH=(t,e,n,i)=>new Promise(((r,o)=>{const a=()=>new Promise(((a,s)=>{mH.renderAsync(t,e,n,i).then((t=>{a(t),r(t)}),(t=>{h.error("Error parsing",t),s(t),o(t)}))}));TH.push(a),DH().catch(o)})),MH={startOnLoad:!0,diagrams:{},mermaidAPI:mH,parse:EH,parseAsync:IH,render:mH.render,renderAsync:BH,init:bH,initThrowsErrors:kH,initThrowsErrorsAsync:yH,registerExternalDiagrams:CH,initialize:_H,parseError:void 0,contentLoaded:AH,setParseErrorHandler:xH},PH=(t,e,n)=>{const{parentById:i}=n,r=new Set;let o=t;for(;o;){if(r.add(o),o===e)return o;o=i[o]}for(o=e;o;){if(r.has(o))return o;o=i[o]}return"root"};function LH(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var OH={};!function(t){var e;e=function(){return function(){function t(e,n,i){function r(a,s){if(!n[a]){if(!e[a]){var c="function"==typeof LH&&LH;if(!s&&c)return c(a,!0);if(o)return o(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var u=n[a]={exports:{}};e[a][0].call(u.exports,(function(t){return r(e[a][1][t]||t)}),u,u.exports,t,e,n,i)}return n[a].exports}for(var o="function"==typeof LH&&LH,a=0;a0&&void 0!==arguments[0]?arguments[0]:{},i=n.defaultLayoutOptions,o=void 0===i?{}:i,s=n.algorithms,c=void 0===s?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:s,l=n.workerFactory,u=n.workerUrl;if(r(this,t),this.defaultLayoutOptions=o,this.initialized=!1,void 0===u&&void 0===l)throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var h=l;void 0!==u&&void 0===l&&(h=function(t){return new Worker(t)});var d=h(u);if("function"!=typeof d.postMessage)throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new a(d),this.worker.postMessage({cmd:"register",algorithms:c}).then((function(t){return e.initialized=!0})).catch(console.err)}return i(t,[{key:"layout",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.layoutOptions,i=void 0===n?this.defaultLayoutOptions:n,r=e.logging,o=void 0!==r&&r,a=e.measureExecutionTime,s=void 0!==a&&a;return t?this.worker.postMessage({cmd:"layout",graph:t,layoutOptions:i,options:{logging:o,measureExecutionTime:s}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker.terminate()}}]),t}();n.default=o;var a=function(){function t(e){var n=this;if(r(this,t),void 0===e)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=e,this.worker.onmessage=function(t){setTimeout((function(){n.receive(n,t)}),0)}}return i(t,[{key:"postMessage",value:function(t){var e=this.id||0;this.id=e+1,t.id=e;var n=this;return new Promise((function(i,r){n.resolvers[e]=function(t,e){t?(n.convertGwtStyleError(t),r(t)):i(e)},n.worker.postMessage(t)}))}},{key:"receive",value:function(t,e){var n=e.data,i=t.resolvers[n.id];i&&(delete t.resolvers[n.id],n.error?i(n.error):i(null,n.data))}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(t){if(t){var e=t.__java$exception;e&&(e.cause&&e.cause.backingJsObject&&(t.cause=e.cause.backingJsObject,this.convertGwtStyleError(t.cause)),delete t.__java$exception)}}}]),t}()},{}],2:[function(t,e,n){(function(t){(function(){var i;function r(){}function o(){}function a(){}function s(){}function c(){}function l(){}function u(){}function h(){}function d(){}function f(){}function g(){}function p(){}function m(){}function b(){}function w(){}function k(){}function v(){}function y(){}function _(){}function C(){}function A(){}function x(){}function E(){}function T(){}function S(){}function D(){}function I(){}function B(){}function M(){}function P(){}function L(){}function O(){}function N(){}function R(){}function F(){}function j(){}function $(){}function z(){}function V(){}function H(){}function q(){}function U(){}function G(){}function W(){}function K(){}function Y(){}function X(){}function Z(){}function Q(){}function J(){}function tt(){}function et(){}function nt(){}function it(){}function rt(){}function ot(){}function at(){}function st(){}function ct(){}function lt(){}function ut(){}function ht(){}function dt(){}function ft(){}function gt(){}function pt(){}function mt(){}function bt(){}function wt(){}function kt(){}function vt(){}function yt(){}function _t(){}function Ct(){}function At(){}function xt(){}function Et(){}function Tt(){}function St(){}function Dt(){}function It(){}function Bt(){}function Mt(){}function Pt(){}function Lt(){}function Ot(){}function Nt(){}function Rt(){}function Ft(){}function jt(){}function $t(){}function zt(){}function Vt(){}function Ht(){}function qt(){}function Ut(){}function Gt(){}function Wt(){}function Kt(){}function Yt(){}function Xt(){}function Zt(){}function Qt(){}function Jt(){}function te(){}function ee(){}function ne(){}function ie(){}function re(){}function oe(){}function ae(){}function se(){}function ce(){}function le(){}function ue(){}function he(){}function de(){}function fe(){}function ge(){}function pe(){}function me(){}function be(){}function we(){}function ke(){}function ve(){}function ye(){}function _e(){}function Ce(){}function Ae(){}function xe(){}function Ee(){}function Te(){}function Se(){}function De(){}function Ie(){}function Be(){}function Me(){}function Pe(){}function Le(){}function Oe(){}function Ne(){}function Re(){}function Fe(){}function je(){}function $e(){}function ze(){}function Ve(){}function He(){}function qe(){}function Ue(){}function Ge(){}function We(){}function Ke(){}function Ye(){}function Xe(){}function Ze(){}function Qe(){}function Je(){}function tn(){}function en(){}function nn(){}function rn(){}function on(){}function an(){}function sn(){}function cn(){}function ln(){}function un(){}function hn(){}function dn(){}function fn(){}function gn(){}function pn(){}function mn(){}function bn(){}function wn(){}function kn(){}function vn(){}function yn(){}function _n(){}function Cn(){}function An(){}function xn(){}function En(){}function Tn(){}function Sn(){}function Dn(){}function In(){}function Bn(){}function Mn(){}function Pn(){}function Ln(){}function On(){}function Nn(){}function Rn(){}function Fn(){}function jn(){}function $n(){}function zn(){}function Vn(){}function Hn(){}function qn(){}function Un(){}function Gn(){}function Wn(){}function Kn(){}function Yn(){}function Xn(){}function Zn(){}function Qn(){}function Jn(){}function ti(){}function ei(){}function ni(){}function ii(){}function ri(){}function oi(){}function ai(){}function si(){}function ci(){}function li(){}function ui(){}function hi(){}function di(){}function fi(){}function gi(){}function pi(){}function mi(){}function bi(){}function wi(){}function ki(){}function vi(){}function yi(){}function _i(){}function Ci(){}function Ai(){}function xi(){}function Ei(){}function Ti(){}function Si(){}function Di(){}function Ii(){}function Bi(){}function Mi(){}function Pi(){}function Li(){}function Oi(){}function Ni(){}function Ri(){}function Fi(){}function ji(){}function $i(){}function zi(){}function Vi(){}function Hi(){}function qi(){}function Ui(){}function Gi(){}function Wi(){}function Ki(){}function Yi(){}function Xi(){}function Zi(){}function Qi(){}function Ji(){}function tr(){}function er(){}function nr(){}function ir(){}function rr(){}function or(){}function ar(){}function sr(){}function cr(){}function lr(){}function ur(){}function hr(){}function dr(){}function fr(){}function gr(){}function pr(){}function mr(){}function br(){}function wr(){}function kr(){}function vr(){}function yr(){}function _r(){}function Cr(){}function Ar(){}function xr(){}function Er(){}function Tr(){}function Sr(){}function Dr(){}function Ir(){}function Br(){}function Mr(){}function Pr(){}function Lr(){}function Or(){}function Nr(){}function Rr(){}function Fr(){}function jr(){}function $r(){}function zr(){}function Vr(){}function Hr(){}function qr(){}function Ur(){}function Gr(){}function Wr(){}function Kr(){}function Yr(){}function Xr(){}function Zr(){}function Qr(){}function Jr(){}function to(){}function eo(){}function no(){}function io(){}function ro(){}function oo(){}function ao(){}function so(){}function co(){}function lo(){}function uo(){}function ho(){}function fo(){}function go(){}function po(){}function mo(){}function bo(){}function wo(){}function ko(){}function vo(){}function yo(){}function _o(){}function Co(){}function Ao(){}function xo(){}function Eo(){}function To(){}function So(){}function Do(){}function Io(){}function Bo(){}function Mo(){}function Po(){}function Lo(){}function Oo(){}function No(){}function Ro(){}function Fo(){}function jo(){}function $o(){}function zo(){}function Vo(){}function Ho(){}function qo(){}function Uo(){}function Go(){}function Wo(){}function Ko(){}function Yo(){}function Xo(){}function Zo(){}function Qo(){}function Jo(){}function ta(){}function ea(){}function na(){}function ia(){}function ra(){}function oa(){}function aa(){}function sa(){}function ca(){}function la(){}function ua(){}function ha(){}function da(){}function fa(){}function ga(){}function pa(){}function ma(){}function ba(){}function wa(){}function ka(){}function va(){}function ya(){}function _a(){}function Ca(){}function Aa(){}function xa(){}function Ea(){}function Ta(){}function Sa(){}function Da(){}function Ia(){}function Ba(){}function Ma(){}function Pa(){}function La(){}function Oa(){}function Na(){}function Ra(){}function Fa(){}function ja(){}function $a(){}function za(){}function Va(){}function Ha(){}function qa(){}function Ua(){}function Ga(){}function Wa(){}function Ka(){}function Ya(){}function Xa(){}function Za(){}function Qa(){}function Ja(){}function ts(){}function es(){}function ns(){}function is(){}function rs(){}function os(){}function as(){}function ss(){}function cs(){}function ls(){}function us(){}function hs(){}function ds(){}function fs(){}function gs(){}function ps(){}function ms(){}function bs(){}function ws(){}function ks(){}function vs(){}function ys(){}function _s(){}function Cs(){}function As(){}function xs(){}function Es(){}function Ts(){}function Ss(){}function Ds(){}function Is(){}function Bs(){}function Ms(){}function Ps(){}function Ls(){}function Os(){}function Ns(){}function Rs(){}function Fs(){}function js(){}function $s(){}function zs(){}function Vs(){}function Hs(){}function qs(){}function Us(){}function Gs(){}function Ws(){}function Ks(){}function Ys(){}function Xs(){}function Zs(){}function Qs(){}function Js(){}function tc(){}function ec(){}function nc(){}function ic(){}function rc(){}function oc(){}function ac(){}function sc(){}function cc(){}function lc(){}function uc(){}function hc(){}function dc(){}function fc(){}function gc(){}function pc(){}function mc(){}function bc(){}function wc(){}function kc(){}function vc(){}function yc(){}function _c(){}function Cc(){}function Ac(){}function xc(){}function Ec(){}function Tc(){}function Sc(){}function Dc(){}function Ic(){}function Bc(){}function Mc(){}function Pc(){}function Lc(){}function Oc(){}function Nc(){}function Rc(){}function Fc(){}function jc(){}function $c(){}function zc(){}function Vc(){}function Hc(){}function qc(){}function Uc(){}function Gc(){}function Wc(){}function Kc(){}function Yc(){}function Xc(){}function Zc(){}function Qc(){}function Jc(){}function tl(){}function el(){}function nl(){}function il(){}function rl(){}function ol(){}function al(){}function sl(){}function cl(){}function ll(){}function ul(){}function hl(){}function dl(){}function fl(){}function gl(){}function pl(){}function ml(){}function bl(){}function wl(){}function kl(){}function vl(){}function yl(){}function _l(){}function Cl(){}function Al(){}function xl(){}function El(){}function Tl(){}function Sl(){}function Dl(){}function Il(){}function Bl(){}function Ml(){}function Pl(){}function Ll(){}function Ol(){}function Nl(){}function Rl(){}function Fl(){}function jl(){}function $l(){}function zl(){}function Vl(){}function Hl(){}function ql(){}function Ul(){}function Gl(){}function Wl(){}function Kl(){}function Yl(){}function Xl(){}function Zl(){}function Ql(){}function Jl(){}function tu(){}function eu(){}function nu(){}function iu(){}function ru(){}function ou(){}function au(){}function su(){}function cu(){}function lu(){}function uu(){}function hu(){}function du(){}function fu(){}function gu(){}function pu(){}function mu(){}function bu(){}function wu(){}function ku(){}function vu(){}function yu(){}function _u(){}function Cu(){}function Au(){}function xu(){}function Eu(){}function Tu(){}function Su(){}function Du(){}function Iu(){}function Bu(){}function Mu(){}function Pu(){}function Lu(){}function Ou(){}function Nu(){}function Ru(){}function Fu(){}function ju(){ev()}function $u(){Hlt()}function zu(){_bt()}function Vu(){Fyt()}function Hu(){yEt()}function qu(){uRt()}function Uu(){Rvt()}function Gu(){iyt()}function Wu(){yx()}function Ku(){bx()}function Yu(){zj()}function Xu(){_x()}function Zu(){Srt()}function Qu(){Ax()}function Ju(){T6()}function th(){Eit()}function eh(){K7()}function nh(){RJ()}function ih(){qlt()}function rh(){Fxt()}function oh(){Tit()}function ah(){q2()}function sh(){uKt()}function ch(){Hvt()}function lh(){FJ()}function uh(){zWt()}function hh(){OJ()}function dh(){Sit()}function fh(){Xst()}function gh(){VJ()}function ph(){E8()}function mh(){xx()}function bh(){RBt()}function wh(){Uvt()}function kh(){jot()}function vh(){Axt()}function yh(){dRt()}function _h(){$wt()}function Ch(){TBt()}function Ah(){Nat()}function xh(){$J()}function Eh(){cjt()}function Th(){BBt()}function Sh(){WMt()}function Dh(){P8()}function Ih(){xxt()}function Bh(){cKt()}function Mh(){Glt()}function Ph(){bpt()}function Lh(){Vzt()}function Oh(){oj()}function Nh(){fot()}function Rh(){u$t()}function Fh(t){kK(t)}function jh(t){this.a=t}function $h(t){this.a=t}function zh(t){this.a=t}function Vh(t){this.a=t}function Hh(t){this.a=t}function qh(t){this.a=t}function Uh(t){this.a=t}function Gh(t){this.a=t}function Wh(t){this.a=t}function Kh(t){this.a=t}function Yh(t){this.a=t}function Xh(t){this.a=t}function Zh(t){this.a=t}function Qh(t){this.a=t}function Jh(t){this.a=t}function td(t){this.a=t}function ed(t){this.a=t}function nd(t){this.a=t}function id(t){this.a=t}function rd(t){this.a=t}function od(t){this.a=t}function ad(t){this.b=t}function sd(t){this.c=t}function cd(t){this.a=t}function ld(t){this.a=t}function ud(t){this.a=t}function hd(t){this.a=t}function dd(t){this.a=t}function fd(t){this.a=t}function gd(t){this.a=t}function pd(t){this.a=t}function md(t){this.a=t}function bd(t){this.a=t}function wd(t){this.a=t}function kd(t){this.a=t}function vd(t){this.a=t}function yd(t){this.a=t}function _d(t){this.a=t}function Cd(t){this.a=t}function Ad(t){this.a=t}function xd(){this.a=[]}function Ed(t,e){t.a=e}function Td(t,e){t.a=e}function Sd(t,e){t.b=e}function Dd(t,e){t.b=e}function Id(t,e){t.b=e}function Bd(t,e){t.j=e}function Md(t,e){t.g=e}function Pd(t,e){t.i=e}function Ld(t,e){t.c=e}function Od(t,e){t.d=e}function Nd(t,e){t.d=e}function Rd(t,e){t.c=e}function Fd(t,e){t.k=e}function jd(t,e){t.c=e}function $d(t,e){t.c=e}function zd(t,e){t.a=e}function Vd(t,e){t.a=e}function Hd(t,e){t.f=e}function qd(t,e){t.a=e}function Ud(t,e){t.b=e}function Gd(t,e){t.d=e}function Wd(t,e){t.i=e}function Kd(t,e){t.o=e}function Yd(t,e){t.r=e}function Xd(t,e){t.a=e}function Zd(t,e){t.b=e}function Qd(t,e){t.e=e}function Jd(t,e){t.f=e}function tf(t,e){t.g=e}function ef(t,e){t.e=e}function nf(t,e){t.f=e}function rf(t,e){t.f=e}function of(t,e){t.n=e}function af(t,e){t.a=e}function sf(t,e){t.a=e}function cf(t,e){t.c=e}function lf(t,e){t.c=e}function uf(t,e){t.d=e}function hf(t,e){t.e=e}function df(t,e){t.g=e}function ff(t,e){t.a=e}function gf(t,e){t.c=e}function pf(t,e){t.d=e}function mf(t,e){t.e=e}function bf(t,e){t.f=e}function wf(t,e){t.j=e}function kf(t,e){t.a=e}function vf(t,e){t.b=e}function yf(t,e){t.a=e}function _f(t){t.b=t.a}function Cf(t){t.c=t.d.d}function Af(t){this.d=t}function xf(t){this.a=t}function Ef(t){this.a=t}function Tf(t){this.a=t}function Sf(t){this.a=t}function Df(t){this.a=t}function If(t){this.a=t}function Bf(t){this.a=t}function Mf(t){this.a=t}function Pf(t){this.a=t}function Lf(t){this.a=t}function Of(t){this.a=t}function Nf(t){this.a=t}function Rf(t){this.a=t}function Ff(t){this.a=t}function jf(t){this.b=t}function $f(t){this.b=t}function zf(t){this.b=t}function Vf(t){this.a=t}function Hf(t){this.a=t}function qf(t){this.a=t}function Uf(t){this.c=t}function Gf(t){this.c=t}function Wf(t){this.c=t}function Kf(t){this.a=t}function Yf(t){this.a=t}function Xf(t){this.a=t}function Zf(t){this.a=t}function Qf(t){this.a=t}function Jf(t){this.a=t}function tg(t){this.a=t}function eg(t){this.a=t}function ng(t){this.a=t}function ig(t){this.a=t}function rg(t){this.a=t}function og(t){this.a=t}function ag(t){this.a=t}function sg(t){this.a=t}function cg(t){this.a=t}function lg(t){this.a=t}function ug(t){this.a=t}function hg(t){this.a=t}function dg(t){this.a=t}function fg(t){this.a=t}function gg(t){this.a=t}function pg(t){this.a=t}function mg(t){this.a=t}function bg(t){this.a=t}function wg(t){this.a=t}function kg(t){this.a=t}function vg(t){this.a=t}function yg(t){this.a=t}function _g(t){this.a=t}function Cg(t){this.a=t}function Ag(t){this.a=t}function xg(t){this.a=t}function Eg(t){this.a=t}function Tg(t){this.a=t}function Sg(t){this.a=t}function Dg(t){this.a=t}function Ig(t){this.a=t}function Bg(t){this.a=t}function Mg(t){this.a=t}function Pg(t){this.a=t}function Lg(t){this.a=t}function Og(t){this.a=t}function Ng(t){this.a=t}function Rg(t){this.a=t}function Fg(t){this.a=t}function jg(t){this.e=t}function $g(t){this.a=t}function zg(t){this.a=t}function Vg(t){this.a=t}function Hg(t){this.a=t}function qg(t){this.a=t}function Ug(t){this.a=t}function Gg(t){this.a=t}function Wg(t){this.a=t}function Kg(t){this.a=t}function Yg(t){this.a=t}function Xg(t){this.a=t}function Zg(t){this.a=t}function Qg(t){this.a=t}function Jg(t){this.a=t}function tp(t){this.a=t}function ep(t){this.a=t}function np(t){this.a=t}function ip(t){this.a=t}function rp(t){this.a=t}function op(t){this.a=t}function ap(t){this.a=t}function sp(t){this.a=t}function cp(t){this.a=t}function lp(t){this.a=t}function up(t){this.a=t}function hp(t){this.a=t}function dp(t){this.a=t}function fp(t){this.a=t}function gp(t){this.a=t}function pp(t){this.a=t}function mp(t){this.a=t}function bp(t){this.a=t}function wp(t){this.a=t}function kp(t){this.a=t}function vp(t){this.a=t}function yp(t){this.a=t}function _p(t){this.a=t}function Cp(t){this.a=t}function Ap(t){this.a=t}function xp(t){this.a=t}function Ep(t){this.a=t}function Tp(t){this.a=t}function Sp(t){this.a=t}function Dp(t){this.a=t}function Ip(t){this.a=t}function Bp(t){this.a=t}function Mp(t){this.a=t}function Pp(t){this.a=t}function Lp(t){this.a=t}function Op(t){this.a=t}function Np(t){this.a=t}function Rp(t){this.a=t}function Fp(t){this.a=t}function jp(t){this.c=t}function $p(t){this.b=t}function zp(t){this.a=t}function Vp(t){this.a=t}function Hp(t){this.a=t}function qp(t){this.a=t}function Up(t){this.a=t}function Gp(t){this.a=t}function Wp(t){this.a=t}function Kp(t){this.a=t}function Yp(t){this.a=t}function Xp(t){this.a=t}function Zp(t){this.a=t}function Qp(t){this.a=t}function Jp(t){this.a=t}function tm(t){this.a=t}function em(t){this.a=t}function nm(t){this.a=t}function im(t){this.a=t}function rm(t){this.a=t}function om(t){this.a=t}function am(t){this.a=t}function sm(t){this.a=t}function cm(t){this.a=t}function lm(t){this.a=t}function um(t){this.a=t}function hm(t){this.a=t}function dm(t){this.a=t}function fm(t){this.a=t}function gm(t){this.a=t}function pm(t){this.a=t}function mm(t){this.a=t}function bm(t){this.a=t}function wm(t){this.a=t}function km(t){this.a=t}function vm(t){this.a=t}function ym(t){this.a=t}function _m(t){this.a=t}function Cm(t){this.a=t}function Am(t){this.a=t}function xm(t){this.a=t}function Em(t){this.a=t}function Tm(t){this.a=t}function Sm(t){this.a=t}function Dm(t){this.a=t}function Im(t){this.a=t}function Bm(t){this.a=t}function Mm(t){this.a=t}function Pm(t){this.a=t}function Lm(t){this.a=t}function Om(t){this.a=t}function Nm(t){this.a=t}function Rm(t){this.a=t}function Fm(t){this.a=t}function jm(t){this.a=t}function $m(t){this.a=t}function zm(t){this.a=t}function Vm(t){this.a=t}function Hm(t){this.a=t}function qm(t){this.a=t}function Um(t){this.a=t}function Gm(t){this.a=t}function Wm(t){this.a=t}function Km(t){this.a=t}function Ym(t){this.a=t}function Xm(t){this.a=t}function Zm(t){this.a=t}function Qm(t){this.a=t}function Jm(t){this.a=t}function tb(t){this.a=t}function eb(t){this.a=t}function nb(t){this.a=t}function ib(t){this.a=t}function rb(t){this.a=t}function ob(t){this.b=t}function ab(t){this.f=t}function sb(t){this.a=t}function cb(t){this.a=t}function lb(t){this.a=t}function ub(t){this.a=t}function hb(t){this.a=t}function db(t){this.a=t}function fb(t){this.a=t}function gb(t){this.a=t}function pb(t){this.a=t}function mb(t){this.a=t}function bb(t){this.a=t}function wb(t){this.b=t}function kb(t){this.c=t}function vb(t){this.e=t}function yb(t){this.a=t}function _b(t){this.a=t}function Cb(t){this.a=t}function Ab(t){this.a=t}function xb(t){this.a=t}function Eb(t){this.d=t}function Tb(t){this.a=t}function Sb(t){this.a=t}function Db(t){this.e=t}function Ib(){this.a=0}function Bb(){LB(this)}function Mb(){PB(this)}function Pb(){IG(this)}function Lb(){dY(this)}function Ob(){}function Nb(){this.c=IMe}function Rb(t,e){e.Wb(t)}function Fb(t,e){t.b+=e}function jb(t){t.b=new ay}function $b(t){return t.e}function zb(t){return t.a}function Vb(t){return t.a}function Hb(t){return t.a}function qb(t){return t.a}function Ub(t){return t.a}function Gb(){return null}function Wb(){return null}function Kb(){rC(),gWt()}function Yb(t){t.b.tf(t.e)}function Xb(t,e){t.b=e-t.b}function Zb(t,e){t.a=e-t.a}function Qb(t,e){e.ad(t.a)}function Jb(t,e){VSt(e,t)}function tw(t,e,n){t.Od(n,e)}function ew(t,e){t.e=e,e.b=t}function nw(t){sj(),this.a=t}function iw(t){sj(),this.a=t}function rw(t){sj(),this.a=t}function ow(t){GW(),this.a=t}function aw(t){xZ(),eee.be(t)}function sw(){gL.call(this)}function cw(){gL.call(this)}function lw(){sw.call(this)}function uw(){sw.call(this)}function hw(){sw.call(this)}function dw(){sw.call(this)}function fw(){sw.call(this)}function gw(){sw.call(this)}function pw(){sw.call(this)}function mw(){sw.call(this)}function bw(){sw.call(this)}function ww(){sw.call(this)}function kw(){sw.call(this)}function vw(){this.a=this}function yw(){this.Bb|=256}function _w(){this.b=new xI}function Cw(){Cw=I,new Pb}function Aw(){lw.call(this)}function xw(t,e){t.length=e}function Ew(t,e){Gz(t.a,e)}function Tw(t,e){UEt(t.c,e)}function Sw(t,e){_G(t.b,e)}function Dw(t,e){Swt(t.a,e)}function Iw(t,e){Ddt(t.a,e)}function Bw(t,e){dat(t.e,e)}function Mw(t){IIt(t.c,t.b)}function Pw(t,e){t.kc().Nb(e)}function Lw(t){this.a=pft(t)}function Ow(){this.a=new Pb}function Nw(){this.a=new Pb}function Rw(){this.a=new Mb}function Fw(){this.a=new Mb}function jw(){this.a=new Mb}function $w(){this.a=new vt}function zw(){this.a=new k6}function Vw(){this.a=new de}function Hw(){this.a=new GA}function qw(){this.a=new L0}function Uw(){this.a=new iJ}function Gw(){this.a=new DR}function Ww(){this.a=new Mb}function Kw(){this.a=new Mb}function Yw(){this.a=new Mb}function Xw(){this.a=new Mb}function Zw(){this.d=new Mb}function Qw(){this.a=new Ow}function Jw(){this.a=new Pb}function tk(){this.b=new Pb}function ek(){this.b=new Mb}function nk(){this.e=new Mb}function ik(){this.d=new Mb}function rk(){this.a=new rh}function ok(){Mb.call(this)}function ak(){Rw.call(this)}function sk(){MR.call(this)}function ck(){Kw.call(this)}function lk(){uk.call(this)}function uk(){Ob.call(this)}function hk(){Ob.call(this)}function dk(){hk.call(this)}function fk(){fZ.call(this)}function gk(){fZ.call(this)}function pk(){Gk.call(this)}function mk(){Gk.call(this)}function bk(){Gk.call(this)}function wk(){Wk.call(this)}function kk(){YA.call(this)}function vk(){ic.call(this)}function yk(){ic.call(this)}function _k(){Qk.call(this)}function Ck(){Qk.call(this)}function Ak(){Pb.call(this)}function xk(){Pb.call(this)}function Ek(){Pb.call(this)}function Tk(){Ow.call(this)}function Sk(){yit.call(this)}function Dk(){yw.call(this)}function Ik(){SP.call(this)}function Bk(){SP.call(this)}function Mk(){Pb.call(this)}function Pk(){Pb.call(this)}function Lk(){Pb.call(this)}function Ok(){vc.call(this)}function Nk(){vc.call(this)}function Rk(){Ok.call(this)}function Fk(){Nu.call(this)}function jk(t){get.call(this,t)}function $k(t){get.call(this,t)}function zk(t){Wh.call(this,t)}function Vk(t){CA.call(this,t)}function Hk(t){Vk.call(this,t)}function qk(t){CA.call(this,t)}function Uk(){this.a=new YA}function Gk(){this.a=new Ow}function Wk(){this.a=new Pb}function Kk(){this.a=new Mb}function Yk(){this.j=new Mb}function Xk(){this.a=new Ka}function Zk(){this.a=new BC}function Qk(){this.a=new kc}function Jk(){Jk=I,Fte=new Py}function tv(){tv=I,Rte=new My}function ev(){ev=I,Dte=new o}function nv(){nv=I,qte=new iL}function iv(t){Vk.call(this,t)}function rv(t){Vk.call(this,t)}function ov(t){f5.call(this,t)}function av(t){f5.call(this,t)}function sv(t){WF.call(this,t)}function cv(t){kEt.call(this,t)}function lv(t){EA.call(this,t)}function uv(t){SA.call(this,t)}function hv(t){SA.call(this,t)}function dv(t){SA.call(this,t)}function fv(t){lU.call(this,t)}function gv(t){fv.call(this,t)}function pv(){Ad.call(this,{})}function mv(t){EP(),this.a=t}function bv(t){t.b=null,t.c=0}function wv(t,e){t.e=e,TOt(t,e)}function kv(t,e){t.a=e,oSt(t)}function vv(t,e,n){t.a[e.g]=n}function yv(t,e,n){f_t(n,t,e)}function _v(t,e){ZR(e.i,t.n)}function Cv(t,e){clt(t).td(e)}function Av(t,e){return t*t/e}function xv(t,e){return t.g-e.g}function Ev(t){return new Cd(t)}function Tv(t){return new VW(t)}function Sv(t){fv.call(this,t)}function Dv(t){fv.call(this,t)}function Iv(t){fv.call(this,t)}function Bv(t){lU.call(this,t)}function Mv(t){Fot(),this.a=t}function Pv(t){rj(),this.a=t}function Lv(t){Fq(),this.f=t}function Ov(t){Fq(),this.f=t}function Nv(t){fv.call(this,t)}function Rv(t){fv.call(this,t)}function Fv(t){fv.call(this,t)}function jv(t){fv.call(this,t)}function $v(t){fv.call(this,t)}function zv(t){return kK(t),t}function Vv(t){return kK(t),t}function Hv(t){return kK(t),t}function qv(t){return kK(t),t}function Uv(t){return kK(t),t}function Gv(t){return t.b==t.c}function Wv(t){return!!t&&t.b}function Kv(t){return!!t&&t.k}function Yv(t){return!!t&&t.j}function Xv(t){kK(t),this.a=t}function Zv(t){return Qct(t),t}function Qv(t){mG(t,t.length)}function Jv(t){fv.call(this,t)}function ty(t){fv.call(this,t)}function ey(t){fv.call(this,t)}function ny(t){fv.call(this,t)}function iy(t){fv.call(this,t)}function ry(t){fv.call(this,t)}function oy(t){ZL.call(this,t,0)}function ay(){a1.call(this,12,3)}function sy(){sy=I,tee=new _}function cy(){cy=I,Xte=new r}function ly(){ly=I,iee=new m}function uy(){uy=I,lee=new w}function hy(){throw $b(new pw)}function dy(){throw $b(new pw)}function fy(){throw $b(new pw)}function gy(){throw $b(new pw)}function py(){throw $b(new pw)}function my(){throw $b(new pw)}function by(){this.a=AN(wW(jKt))}function wy(t){sj(),this.a=wW(t)}function ky(t,e){t.Td(e),e.Sd(t)}function vy(t,e){t.a.ec().Mc(e)}function yy(t,e,n){t.c.lf(e,n)}function _y(t){Dv.call(this,t)}function Cy(t){Rv.call(this,t)}function Ay(){Df.call(this,"")}function xy(){Df.call(this,"")}function Ey(){Df.call(this,"")}function Ty(){Df.call(this,"")}function Sy(t){Dv.call(this,t)}function Dy(t){$f.call(this,t)}function Iy(t){hL.call(this,t)}function By(t){Dy.call(this,t)}function My(){Qh.call(this,null)}function Py(){Qh.call(this,null)}function Ly(){Ly=I,xZ()}function Oy(){Oy=I,kne=wCt()}function Ny(t){return t.a?t.b:0}function Ry(t){return t.a?t.b:0}function Fy(t,e){return t.a-e.a}function jy(t,e){return t.a-e.a}function $y(t,e){return t.a-e.a}function zy(t,e){return b9(t,e)}function Vy(t,e){return gJ(t,e)}function Hy(t,e){return e in t.a}function qy(t,e){return t.f=e,t}function Uy(t,e){return t.b=e,t}function Gy(t,e){return t.c=e,t}function Wy(t,e){return t.g=e,t}function Ky(t,e){return t.a=e,t}function Yy(t,e){return t.f=e,t}function Xy(t,e){return t.k=e,t}function Zy(t,e){return t.a=e,t}function Qy(t,e){return t.e=e,t}function Jy(t,e){return t.e=e,t}function t_(t,e){return t.f=e,t}function e_(t,e){t.b=!0,t.d=e}function n_(t,e){t.b=new dB(e)}function i_(t,e,n){e.td(t.a[n])}function r_(t,e,n){e.we(t.a[n])}function o_(t,e){return t.b-e.b}function a_(t,e){return t.g-e.g}function s_(t,e){return t.s-e.s}function c_(t,e){return t?0:e-1}function l_(t,e){return t?0:e-1}function u_(t,e){return t?e-1:0}function h_(t,e){return e.Yf(t)}function d_(t,e){return t.b=e,t}function f_(t,e){return t.a=e,t}function g_(t,e){return t.c=e,t}function p_(t,e){return t.d=e,t}function m_(t,e){return t.e=e,t}function b_(t,e){return t.f=e,t}function w_(t,e){return t.a=e,t}function k_(t,e){return t.b=e,t}function v_(t,e){return t.c=e,t}function y_(t,e){return t.c=e,t}function __(t,e){return t.b=e,t}function C_(t,e){return t.d=e,t}function A_(t,e){return t.e=e,t}function x_(t,e){return t.f=e,t}function E_(t,e){return t.g=e,t}function T_(t,e){return t.a=e,t}function S_(t,e){return t.i=e,t}function D_(t,e){return t.j=e,t}function I_(t,e){return t.k=e,t}function B_(t,e){return t.j=e,t}function M_(t,e){Fxt(),EJ(e,t)}function P_(t,e,n){Vq(t.a,e,n)}function L_(t){jY.call(this,t)}function O_(t){jY.call(this,t)}function N_(t){QF.call(this,t)}function R_(t){Vft.call(this,t)}function F_(t){pet.call(this,t)}function j_(t){pX.call(this,t)}function $_(t){pX.call(this,t)}function z_(){SM.call(this,"")}function V_(){this.a=0,this.b=0}function H_(){this.b=0,this.a=0}function q_(t,e){t.b=0,Pnt(t,e)}function U_(t,e){t.c=e,t.b=!0}function G_(t,e){return t.c._b(e)}function W_(t){return t.e&&t.e()}function K_(t){return t?t.d:null}function Y_(t,e){return pht(t.b,e)}function X_(t){return t?t.g:null}function Z_(t){return t?t.i:null}function Q_(t){return yN(t),t.o}function J_(){J_=I,fIe=Gyt()}function tC(){tC=I,gIe=sAt()}function eC(){eC=I,ZBe=Kyt()}function nC(){nC=I,dPe=Wyt()}function iC(){iC=I,fPe=nSt()}function rC(){rC=I,lBe=rit()}function oC(){throw $b(new pw)}function aC(){throw $b(new pw)}function sC(){throw $b(new pw)}function cC(){throw $b(new pw)}function lC(){throw $b(new pw)}function uC(){throw $b(new pw)}function hC(t){this.a=new UA(t)}function dC(t){hGt(),OWt(this,t)}function fC(t){this.a=new GU(t)}function gC(t,e){for(;t.ye(e););}function pC(t,e){for(;t.sd(e););}function mC(t,e){return t.a+=e,t}function bC(t,e){return t.a+=e,t}function wC(t,e){return t.a+=e,t}function kC(t,e){return t.a+=e,t}function vC(t){return yK(t),t.a}function yC(t){return t.b!=t.d.c}function _C(t){return t.l|t.m<<22}function CC(t,e){return t.d[e.p]}function AC(t,e){return xOt(t,e)}function xC(t,e,n){t.splice(e,n)}function EC(t){t.c?PNt(t):LNt(t)}function TC(t){this.a=0,this.b=t}function SC(){this.a=new TLt(e_e)}function DC(){this.b=new TLt(zve)}function IC(){this.b=new TLt(GCe)}function BC(){this.b=new TLt(GCe)}function MC(){throw $b(new pw)}function PC(){throw $b(new pw)}function LC(){throw $b(new pw)}function OC(){throw $b(new pw)}function NC(){throw $b(new pw)}function RC(){throw $b(new pw)}function FC(){throw $b(new pw)}function jC(){throw $b(new pw)}function $C(){throw $b(new pw)}function zC(){throw $b(new pw)}function VC(){throw $b(new ww)}function HC(){throw $b(new ww)}function qC(t){this.a=new UC(t)}function UC(t){Hit(this,t,DCt())}function GC(t){return!t||pK(t)}function WC(t){return-1!=UPe[t]}function KC(){0!=ree&&(ree=0),aee=-1}function YC(){null==EKt&&(EKt=[])}function XC(t,e){tBt(KX(t.a),e)}function ZC(t,e){tBt(KX(t.a),e)}function QC(t,e){$P.call(this,t,e)}function JC(t,e){QC.call(this,t,e)}function tA(t,e){this.b=t,this.c=e}function eA(t,e){this.b=t,this.a=e}function nA(t,e){this.a=t,this.b=e}function iA(t,e){this.a=t,this.b=e}function rA(t,e){this.a=t,this.b=e}function oA(t,e){this.a=t,this.b=e}function aA(t,e){this.a=t,this.b=e}function sA(t,e){this.a=t,this.b=e}function cA(t,e){this.a=t,this.b=e}function lA(t,e){this.a=t,this.b=e}function uA(t,e){this.b=t,this.a=e}function hA(t,e){this.b=t,this.a=e}function dA(t,e){this.b=t,this.a=e}function fA(t,e){this.b=t,this.a=e}function gA(t,e){this.f=t,this.g=e}function pA(t,e){this.e=t,this.d=e}function mA(t,e){this.g=t,this.i=e}function bA(t,e){this.a=t,this.b=e}function wA(t,e){this.a=t,this.f=e}function kA(t,e){this.b=t,this.c=e}function vA(t,e){this.a=t,this.b=e}function yA(t,e){this.a=t,this.b=e}function _A(t,e){this.a=t,this.b=e}function CA(t){rL(t.dc()),this.c=t}function AA(t){this.b=jz(wW(t),83)}function xA(t){this.a=jz(wW(t),83)}function EA(t){this.a=jz(wW(t),15)}function TA(t){this.a=jz(wW(t),15)}function SA(t){this.b=jz(wW(t),47)}function DA(){this.q=new i.Date}function IA(){IA=I,$ee=new B}function BA(){BA=I,hne=new T}function MA(t){return t.f.c+t.g.c}function PA(t,e){return t.b.Hc(e)}function LA(t,e){return t.b.Ic(e)}function OA(t,e){return t.b.Qc(e)}function NA(t,e){return t.b.Hc(e)}function RA(t,e){return t.c.uc(e)}function FA(t,e){return t.a._b(e)}function jA(t,e){return Pht(t.c,e)}function $A(t,e){return cG(t.b,e)}function zA(t,e){return t>e&&e0}function sE(t,e){return Kut(t,e)<0}function cE(t,e){return t.a.get(e)}function lE(t,e){return e.split(t)}function uE(t,e){return cG(t.e,e)}function hE(t){return kK(t),!1}function dE(t){d1.call(this,t,21)}function fE(t,e){RQ.call(this,t,e)}function gE(t,e){gA.call(this,t,e)}function pE(t,e){gA.call(this,t,e)}function mE(t){WW(),WF.call(this,t)}function bE(t,e){vq(t,t.length,e)}function wE(t,e){KG(t,t.length,e)}function kE(t,e,n){e.ud(t.a.Ge(n))}function vE(t,e,n){e.we(t.a.Fe(n))}function yE(t,e,n){e.td(t.a.Kb(n))}function _E(t,e,n){t.Mb(n)&&e.td(n)}function CE(t,e,n){t.splice(e,0,n)}function AE(t,e){return AL(t.e,e)}function xE(t,e){this.d=t,this.e=e}function EE(t,e){this.b=t,this.a=e}function TE(t,e){this.b=t,this.a=e}function SE(t,e){this.b=t,this.a=e}function DE(t,e){this.a=t,this.b=e}function IE(t,e){this.a=t,this.b=e}function BE(t,e){this.a=t,this.b=e}function ME(t,e){this.a=t,this.b=e}function PE(t,e){this.a=t,this.b=e}function LE(t,e){this.b=t,this.a=e}function OE(t,e){this.b=t,this.a=e}function NE(t,e){gA.call(this,t,e)}function RE(t,e){gA.call(this,t,e)}function FE(t,e){gA.call(this,t,e)}function jE(t,e){gA.call(this,t,e)}function $E(t,e){gA.call(this,t,e)}function zE(t,e){gA.call(this,t,e)}function VE(t,e){gA.call(this,t,e)}function HE(t,e){gA.call(this,t,e)}function qE(t,e){gA.call(this,t,e)}function UE(t,e){gA.call(this,t,e)}function GE(t,e){gA.call(this,t,e)}function WE(t,e){gA.call(this,t,e)}function KE(t,e){gA.call(this,t,e)}function YE(t,e){gA.call(this,t,e)}function XE(t,e){gA.call(this,t,e)}function ZE(t,e){gA.call(this,t,e)}function QE(t,e){gA.call(this,t,e)}function JE(t,e){gA.call(this,t,e)}function tT(t,e){this.a=t,this.b=e}function eT(t,e){this.a=t,this.b=e}function nT(t,e){this.a=t,this.b=e}function iT(t,e){this.a=t,this.b=e}function rT(t,e){this.a=t,this.b=e}function oT(t,e){this.a=t,this.b=e}function aT(t,e){this.a=t,this.b=e}function sT(t,e){this.a=t,this.b=e}function cT(t,e){this.a=t,this.b=e}function lT(t,e){this.b=t,this.a=e}function uT(t,e){this.b=t,this.a=e}function hT(t,e){this.b=t,this.a=e}function dT(t,e){this.b=t,this.a=e}function fT(t,e){this.c=t,this.d=e}function gT(t,e){this.e=t,this.d=e}function pT(t,e){this.a=t,this.b=e}function mT(t,e){this.b=e,this.c=t}function bT(t,e){gA.call(this,t,e)}function wT(t,e){gA.call(this,t,e)}function kT(t,e){gA.call(this,t,e)}function vT(t,e){gA.call(this,t,e)}function yT(t,e){gA.call(this,t,e)}function _T(t,e){gA.call(this,t,e)}function CT(t,e){gA.call(this,t,e)}function AT(t,e){gA.call(this,t,e)}function xT(t,e){gA.call(this,t,e)}function ET(t,e){gA.call(this,t,e)}function TT(t,e){gA.call(this,t,e)}function ST(t,e){gA.call(this,t,e)}function DT(t,e){gA.call(this,t,e)}function IT(t,e){gA.call(this,t,e)}function BT(t,e){gA.call(this,t,e)}function MT(t,e){gA.call(this,t,e)}function PT(t,e){gA.call(this,t,e)}function LT(t,e){gA.call(this,t,e)}function OT(t,e){gA.call(this,t,e)}function NT(t,e){gA.call(this,t,e)}function RT(t,e){gA.call(this,t,e)}function FT(t,e){gA.call(this,t,e)}function jT(t,e){gA.call(this,t,e)}function $T(t,e){gA.call(this,t,e)}function zT(t,e){gA.call(this,t,e)}function VT(t,e){gA.call(this,t,e)}function HT(t,e){gA.call(this,t,e)}function qT(t,e){gA.call(this,t,e)}function UT(t,e){gA.call(this,t,e)}function GT(t,e){gA.call(this,t,e)}function WT(t,e){gA.call(this,t,e)}function KT(t,e){gA.call(this,t,e)}function YT(t,e){gA.call(this,t,e)}function XT(t,e){gA.call(this,t,e)}function ZT(t,e){this.b=t,this.a=e}function QT(t,e){this.a=t,this.b=e}function JT(t,e){this.a=t,this.b=e}function tS(t,e){this.a=t,this.b=e}function eS(t,e){this.a=t,this.b=e}function nS(t,e){gA.call(this,t,e)}function iS(t,e){gA.call(this,t,e)}function rS(t,e){this.b=t,this.d=e}function oS(t,e){gA.call(this,t,e)}function aS(t,e){gA.call(this,t,e)}function sS(t,e){this.a=t,this.b=e}function cS(t,e){this.a=t,this.b=e}function lS(t,e){gA.call(this,t,e)}function uS(t,e){gA.call(this,t,e)}function hS(t,e){gA.call(this,t,e)}function dS(t,e){gA.call(this,t,e)}function fS(t,e){gA.call(this,t,e)}function gS(t,e){gA.call(this,t,e)}function pS(t,e){gA.call(this,t,e)}function mS(t,e){gA.call(this,t,e)}function bS(t,e){gA.call(this,t,e)}function wS(t,e){gA.call(this,t,e)}function kS(t,e){gA.call(this,t,e)}function vS(t,e){gA.call(this,t,e)}function yS(t,e){gA.call(this,t,e)}function _S(t,e){gA.call(this,t,e)}function CS(t,e){gA.call(this,t,e)}function AS(t,e){gA.call(this,t,e)}function xS(t,e){return AL(t.c,e)}function ES(t,e){return AL(e.b,t)}function TS(t,e){return-t.b.Je(e)}function SS(t,e){return AL(t.g,e)}function DS(t,e){gA.call(this,t,e)}function IS(t,e){gA.call(this,t,e)}function BS(t,e){this.a=t,this.b=e}function MS(t,e){this.a=t,this.b=e}function PS(t,e){this.a=t,this.b=e}function LS(t,e){gA.call(this,t,e)}function OS(t,e){gA.call(this,t,e)}function NS(t,e){gA.call(this,t,e)}function RS(t,e){gA.call(this,t,e)}function FS(t,e){gA.call(this,t,e)}function jS(t,e){gA.call(this,t,e)}function $S(t,e){gA.call(this,t,e)}function zS(t,e){gA.call(this,t,e)}function VS(t,e){gA.call(this,t,e)}function HS(t,e){gA.call(this,t,e)}function qS(t,e){gA.call(this,t,e)}function US(t,e){gA.call(this,t,e)}function GS(t,e){gA.call(this,t,e)}function WS(t,e){gA.call(this,t,e)}function KS(t,e){gA.call(this,t,e)}function YS(t,e){gA.call(this,t,e)}function XS(t,e){this.a=t,this.b=e}function ZS(t,e){this.a=t,this.b=e}function QS(t,e){this.a=t,this.b=e}function JS(t,e){this.a=t,this.b=e}function tD(t,e){this.a=t,this.b=e}function eD(t,e){this.a=t,this.b=e}function nD(t,e){this.a=t,this.b=e}function iD(t,e){gA.call(this,t,e)}function rD(t,e){this.a=t,this.b=e}function oD(t,e){this.a=t,this.b=e}function aD(t,e){this.a=t,this.b=e}function sD(t,e){this.a=t,this.b=e}function cD(t,e){this.a=t,this.b=e}function lD(t,e){this.a=t,this.b=e}function uD(t,e){this.b=t,this.a=e}function hD(t,e){this.b=t,this.a=e}function dD(t,e){this.b=t,this.a=e}function fD(t,e){this.b=t,this.a=e}function gD(t,e){this.a=t,this.b=e}function pD(t,e){this.a=t,this.b=e}function mD(t,e){ZPt(t.a,jz(e,56))}function bD(t,e){m9(t.a,jz(e,11))}function wD(t,e){return cV(),e!=t}function kD(){return Oy(),new kne}function vD(){zJ(),this.b=new Ow}function yD(){gOt(),this.a=new Ow}function _D(){NJ(),Nq.call(this)}function CD(t,e){gA.call(this,t,e)}function AD(t,e){this.a=t,this.b=e}function xD(t,e){this.a=t,this.b=e}function ED(t,e){this.a=t,this.b=e}function TD(t,e){this.a=t,this.b=e}function SD(t,e){this.a=t,this.b=e}function DD(t,e){this.a=t,this.b=e}function ID(t,e){this.d=t,this.b=e}function BD(t,e){this.d=t,this.e=e}function MD(t,e){this.f=t,this.c=e}function PD(t,e){this.b=t,this.c=e}function LD(t,e){this.i=t,this.g=e}function OD(t,e){this.e=t,this.a=e}function ND(t,e){this.a=t,this.b=e}function RD(t,e){t.i=null,ort(t,e)}function FD(t,e){t&&WK(oBe,t,e)}function jD(t,e){return ipt(t.a,e)}function $D(t){return opt(t.c,t.b)}function zD(t){return t?t.dd():null}function VD(t){return null==t?null:t}function HD(t){return typeof t===BKt}function qD(t){return typeof t===MKt}function UD(t){return typeof t===PKt}function GD(t,e){return t.Hd().Xb(e)}function WD(t,e){return Yot(t.Kc(),e)}function KD(t,e){return 0==Kut(t,e)}function YD(t,e){return Kut(t,e)>=0}function XD(t,e){return 0!=Kut(t,e)}function ZD(t){return""+(kK(t),t)}function QD(t,e){return t.substr(e)}function JD(t){return qft(t),t.d.gc()}function tI(t){return qIt(t,t.c),t}function eI(t){return XV(null==t),t}function nI(t,e){return t.a+=""+e,t}function iI(t,e){return t.a+=""+e,t}function rI(t,e){return t.a+=""+e,t}function oI(t,e){return t.a+=""+e,t}function aI(t,e){return t.a+=""+e,t}function sI(t,e){return t.a+=""+e,t}function cI(t,e){n4(t,e,t.a,t.a.a)}function lI(t,e){n4(t,e,t.c.b,t.c)}function uI(t,e,n){R_t(e,NTt(t,n))}function hI(t,e,n){R_t(e,NTt(t,n))}function dI(t,e){_tt(new DP(t),e)}function fI(t,e){t.q.setTime(v2(e))}function gI(t,e){HU.call(this,t,e)}function pI(t,e){HU.call(this,t,e)}function mI(t,e){HU.call(this,t,e)}function bI(t){IG(this),Cot(this,t)}function wI(t){return u1(t,0),null}function kI(t){return t.a=0,t.b=0,t}function vI(t,e){return t.a=e.g+1,t}function yI(t,e){return 2==t.j[e.p]}function _I(t){return sW(jz(t,79))}function CI(){CI=I,Dre=hut(tbt())}function AI(){AI=I,Zce=hut(_Lt())}function xI(){this.b=new UA(tet(12))}function EI(){this.b=0,this.a=!1}function TI(){this.b=0,this.a=!1}function SI(t){this.a=t,ju.call(this)}function DI(t){this.a=t,ju.call(this)}function II(t,e){eR.call(this,t,e)}function BI(t,e){JR.call(this,t,e)}function MI(t,e){LD.call(this,t,e)}function PI(t,e){Iat.call(this,t,e)}function LI(t,e){KL.call(this,t,e)}function OI(t,e){Qx(),WK(mBe,t,e)}function NI(t,e){return lO(t.a,0,e)}function RI(t,e){return t.a.a.a.cc(e)}function FI(t,e){return VD(t)===VD(e)}function jI(t,e){return Edt(t.a,e.a)}function $I(t,e){return yM(t.a,e.a)}function zI(t,e){return FG(t.a,e.a)}function VI(t,e){return t.indexOf(e)}function HI(t,e){return t==e?0:t?1:-1}function qI(t){return t<10?"0"+t:""+t}function UI(t){return wW(t),new SI(t)}function GI(t){return CM(t.l,t.m,t.h)}function WI(t){return EQ((kK(t),t))}function KI(t){return EQ((kK(t),t))}function YI(t,e){return yM(t.g,e.g)}function XI(t){return typeof t===MKt}function ZI(t){return t==Zae||t==tse}function QI(t){return t==Zae||t==Qae}function JI(t){return y9(t.b.b,t,0)}function tB(t){this.a=kD(),this.b=t}function eB(t){this.a=kD(),this.b=t}function nB(t,e){return Gz(t.a,e),e}function iB(t,e){return Gz(t.c,e),t}function rB(t,e){return Zot(t.a,e),t}function oB(t,e){return Vj(),e.a+=t}function aB(t,e){return Vj(),e.a+=t}function sB(t,e){return Vj(),e.c+=t}function cB(t,e){H8(t,0,t.length,e)}function lB(){tg.call(this,new m5)}function uB(){oq.call(this,0,0,0,0)}function hB(){qY.call(this,0,0,0,0)}function dB(t){this.a=t.a,this.b=t.b}function fB(t){return t==RTe||t==FTe}function gB(t){return t==$Te||t==NTe}function pB(t){return t==lwe||t==cwe}function mB(t){return t!=KSe&&t!=YSe}function bB(t){return t.Lg()&&t.Mg()}function wB(t){return bY(jz(t,118))}function kB(t){return Zot(new j2,t)}function vB(t,e){return new Iat(e,t)}function yB(t,e){return new Iat(e,t)}function _B(t,e,n){ynt(t,e),_nt(t,n)}function CB(t,e,n){xnt(t,e),Ant(t,n)}function AB(t,e,n){Ent(t,e),Tnt(t,n)}function xB(t,e,n){Cnt(t,e),Dnt(t,n)}function EB(t,e,n){Snt(t,e),Int(t,n)}function TB(t,e){Olt(t,e),Lnt(t,t.D)}function SB(t){MD.call(this,t,!0)}function DB(t,e,n){MN.call(this,t,e,n)}function IB(t){DNt(),cat.call(this,t)}function BB(){gE.call(this,"Head",1)}function MB(){gE.call(this,"Tail",3)}function PB(t){t.c=P7(Ite,zKt,1,0,5,1)}function LB(t){t.a=P7(Ite,zKt,1,8,5,1)}function OB(t){Det(t.xf(),new Ag(t))}function NB(t){return null!=t?Jct(t):0}function RB(t,e){return Tet(e,GQ(t))}function FB(t,e){return Tet(e,GQ(t))}function jB(t,e){return t[t.length]=e}function $B(t,e){return t[t.length]=e}function zB(t){return Fz(t.b.Kc(),t.a)}function VB(t,e){return Uit(xW(t.d),e)}function HB(t,e){return Uit(xW(t.g),e)}function qB(t,e){return Uit(xW(t.j),e)}function UB(t,e){eR.call(this,t.b,e)}function GB(t){oq.call(this,t,t,t,t)}function WB(t){return t.b&&Kzt(t),t.a}function KB(t){return t.b&&Kzt(t),t.c}function YB(t,e){Kne||(t.b=e)}function XB(t,e,n){return IW(t,e,n),n}function ZB(t,e,n){IW(t.c[e.g],e.g,n)}function QB(t,e,n){jz(t.c,69).Xh(e,n)}function JB(t,e,n){AB(n,n.i+t,n.j+e)}function tM(t,e){l8(r5(t.a),t1(e))}function eM(t,e){l8($9(t.a),e1(e))}function nM(t){fKt(),Db.call(this,t)}function iM(t){return null==t?0:Jct(t)}function rM(){rM=I,sve=new zft(aSe)}function oM(){oM=I,new aM,new Mb}function aM(){new Pb,new Pb,new Pb}function sM(){sM=I,Cw(),nee=new Pb}function cM(){cM=I,i.Math.log(2)}function lM(){lM=I,Hx(),LMe=EIe}function uM(){throw $b(new Jv(Cte))}function hM(){throw $b(new Jv(Cte))}function dM(){throw $b(new Jv(Ate))}function fM(){throw $b(new Jv(Ate))}function gM(t){this.a=t,Kz.call(this,t)}function pM(t){this.a=t,AA.call(this,t)}function mM(t){this.a=t,AA.call(this,t)}function bM(t,e){wq(t.c,t.c.length,e)}function wM(t){return t.ae?1:0}function _M(t,e){return Kut(t,e)>0?t:e}function CM(t,e,n){return{l:t,m:e,h:n}}function AM(t,e){null!=t.a&&bD(e,t.a)}function xM(t){t.a=new M,t.c=new M}function EM(t){this.b=t,this.a=new Mb}function TM(t){this.b=new ee,this.a=t}function SM(t){BR.call(this),this.a=t}function DM(){gE.call(this,"Range",2)}function IM(){t_t(),this.a=new TLt(qae)}function BM(t,e){wW(e),yY(t).Jc(new f)}function MM(t,e){return jJ(),e.n.b+=t}function PM(t,e,n){return WK(t.g,n,e)}function LM(t,e,n){return WK(t.k,n,e)}function OM(t,e){return WK(t.a,e.a,e)}function NM(t,e,n){return Spt(e,n,t.c)}function RM(t){return new PS(t.c,t.d)}function FM(t){return new PS(t.c,t.d)}function jM(t){return new PS(t.a,t.b)}function $M(t,e){return tUt(t.a,e,null)}function zM(t){AJ(t,null),CJ(t,null)}function VM(t){GJ(t,null),WJ(t,null)}function HM(){KL.call(this,null,null)}function qM(){YL.call(this,null,null)}function UM(t){this.a=t,Pb.call(this)}function GM(t){this.b=(AX(),new Uf(t))}function WM(t){t.j=P7(jee,cYt,310,0,0,1)}function KM(t,e,n){t.c.Vc(e,jz(n,133))}function YM(t,e,n){t.c.ji(e,jz(n,133))}function XM(t,e){cHt(t),t.Gc(jz(e,15))}function ZM(t,e){return $Ht(t.c,t.b,e)}function QM(t,e){return new pL(t.Kc(),e)}function JM(t,e){return-1!=jst(t.Kc(),e)}function tP(t,e){return null!=t.a.Bc(e)}function eP(t){return t.Ob()?t.Pb():null}function nP(t){return $pt(t,0,t.length)}function iP(t,e){return null!=t&&Ybt(t,e)}function rP(t,e){t.q.setHours(e),hzt(t,e)}function oP(t,e){t.c&&(OV(e),kQ(e))}function aP(t,e,n){jz(t.Kb(n),164).Nb(e)}function sP(t,e,n){return zqt(t,e,n),n}function cP(t,e,n){t.a=1502^e,t.b=n^oZt}function lP(t,e,n){return t.a[e.g][n.g]}function uP(t,e){return t.a[e.c.p][e.p]}function hP(t,e){return t.e[e.c.p][e.p]}function dP(t,e){return t.c[e.c.p][e.p]}function fP(t,e){return t.j[e.p]=mPt(e)}function gP(t,e){return l6(t.f,e.tg())}function pP(t,e){return l6(t.b,e.tg())}function mP(t,e){return t.a0?e*e/t:e*e*100}function PO(t,e){return t>0?e/(t*t):100*e}function LO(t,e,n){return Gz(e,sgt(t,n))}function OO(t,e,n){P8(),t.Xe(e)&&n.td(t)}function NO(t,e,n){t.Zc(e).Rb(n)}function RO(t,e,n){return t.a+=e,t.b+=n,t}function FO(t,e,n){return t.a*=e,t.b*=n,t}function jO(t,e,n){return t.a-=e,t.b-=n,t}function $O(t,e){return t.a=e.a,t.b=e.b,t}function zO(t){return t.a=-t.a,t.b=-t.b,t}function VO(t){this.c=t,this.a=1,this.b=1}function HO(t){this.c=t,Ent(t,0),Tnt(t,0)}function qO(t){YA.call(this),Jnt(this,t)}function UO(t){NWt(),jb(this),this.mf(t)}function GO(t,e){Kx(),KL.call(this,t,e)}function WO(t,e){Yx(),YL.call(this,t,e)}function KO(t,e){Yx(),YL.call(this,t,e)}function YO(t,e){Yx(),WO.call(this,t,e)}function XO(t,e,n){w8.call(this,t,e,n,2)}function ZO(t,e){lM(),iq.call(this,t,e)}function QO(t,e){lM(),ZO.call(this,t,e)}function JO(t,e){lM(),ZO.call(this,t,e)}function tN(t,e){lM(),JO.call(this,t,e)}function eN(t,e){lM(),iq.call(this,t,e)}function nN(t,e){lM(),eN.call(this,t,e)}function iN(t,e){lM(),iq.call(this,t,e)}function rN(t,e){return t.c.Fc(jz(e,133))}function oN(t,e,n){return PVt(F9(t,e),n)}function aN(t,e,n){return e.Qk(t.e,t.c,n)}function sN(t,e,n){return e.Rk(t.e,t.c,n)}function cN(t,e){return tht(t.e,jz(e,49))}function lN(t,e,n){cdt($9(t.a),e,e1(n))}function uN(t,e,n){cdt(r5(t.a),e,t1(n))}function hN(t,e){e.$modCount=t.$modCount}function dN(){dN=I,Wye=new ob("root")}function fN(){fN=I,gBe=new _k,new Ck}function gN(){this.a=new pQ,this.b=new pQ}function pN(){yit.call(this),this.Bb|=$Xt}function mN(){gA.call(this,"GROW_TREE",0)}function bN(t){return null==t?null:fGt(t)}function wN(t){return null==t?null:MEt(t)}function kN(t){return null==t?null:$ft(t)}function vN(t){return null==t?null:$ft(t)}function yN(t){null==t.o&&pMt(t)}function _N(t){return XV(null==t||HD(t)),t}function CN(t){return XV(null==t||qD(t)),t}function AN(t){return XV(null==t||UD(t)),t}function xN(t){this.q=new i.Date(v2(t))}function EN(t,e){this.c=t,pA.call(this,t,e)}function TN(t,e){this.a=t,EN.call(this,t,e)}function SN(t,e){this.d=t,Cf(this),this.b=e}function DN(t,e){j7.call(this,t),this.a=e}function IN(t,e){j7.call(this,t),this.a=e}function BN(t){Vgt.call(this,0,0),this.f=t}function MN(t,e,n){G6.call(this,t,e,n,null)}function PN(t,e,n){G6.call(this,t,e,n,null)}function LN(t,e,n){return t.ue(e,n)<=0?n:e}function ON(t,e,n){return t.ue(e,n)<=0?e:n}function NN(t,e){return jz(utt(t.b,e),149)}function RN(t,e){return jz(utt(t.c,e),229)}function FN(t){return jz(PH(t.a,t.b),287)}function jN(t){return new PS(t.c,t.d+t.a)}function $N(t){return jJ(),pB(jz(t,197))}function zN(){zN=I,Ire=Jdt((wpt(),RDe))}function VN(t,e){e.a?jOt(t,e):CL(t.a,e.b)}function HN(t,e){Kne||Gz(t.a,e)}function qN(t,e){return bx(),fat(e.d.i,t)}function UN(t,e){return Srt(),new rFt(e,t)}function GN(t,e){return SZ(e,aQt),t.f=e,t}function WN(t,e,n){return n=Cjt(t,e,3,n)}function KN(t,e,n){return n=Cjt(t,e,6,n)}function YN(t,e,n){return n=Cjt(t,e,9,n)}function XN(t,e,n){++t.j,t.Ki(),B7(t,e,n)}function ZN(t,e,n){++t.j,t.Hi(e,t.oi(e,n))}function QN(t,e,n){t.Zc(e).Rb(n)}function JN(t,e,n){return Qzt(t.c,t.b,e,n)}function tR(t,e){return(e&OKt)%t.d.length}function eR(t,e){ob.call(this,t),this.a=e}function nR(t,e){kb.call(this,t),this.a=e}function iR(t,e){kb.call(this,t),this.a=e}function rR(t,e){this.c=t,pet.call(this,e)}function oR(t,e){this.a=t,wb.call(this,e)}function aR(t,e){this.a=t,wb.call(this,e)}function sR(t){this.a=(hit(t,IYt),new X6(t))}function cR(t){this.a=(hit(t,IYt),new X6(t))}function lR(t){return!t.a&&(t.a=new g),t.a}function uR(t){return t>8?0:t+1}function hR(t,e){return cL(),t==e?0:t?1:-1}function dR(t,e,n){return bq(t,jz(e,22),n)}function fR(t,e,n){return t.apply(e,n)}function gR(t,e,n){return t.a+=$pt(e,0,n),t}function pR(t,e){var n;return n=t.e,t.e=e,n}function mR(t,e){t[nZt].call(t,e)}function bR(t,e){t[nZt].call(t,e)}function wR(t,e){t.a.Vc(t.b,e),++t.b,t.c=-1}function kR(t){IG(t.e),t.d.b=t.d,t.d.a=t.d}function vR(t){t.b?vR(t.b):t.f.c.zc(t.e,t.d)}function yR(t,e,n){fx(),Ed(t,e.Ce(t.a,n))}function _R(t,e){return K_(Apt(t.a,e,!0))}function CR(t,e){return K_(xpt(t.a,e,!0))}function AR(t,e){return zy(new Array(e),t)}function xR(t){return String.fromCharCode(t)}function ER(t){return null==t?null:t.message}function TR(){this.a=new Mb,this.b=new Mb}function SR(){this.a=new de,this.b=new _w}function DR(){this.b=new V_,this.c=new Mb}function IR(){this.d=new V_,this.e=new V_}function BR(){this.n=new V_,this.o=new V_}function MR(){this.n=new hk,this.i=new hB}function PR(){this.a=new Qu,this.b=new so}function LR(){this.a=new Mb,this.d=new Mb}function OR(){this.b=new Ow,this.a=new Ow}function NR(){this.b=new Pb,this.a=new Pb}function RR(){this.b=new DC,this.a=new ma}function FR(){MR.call(this),this.a=new V_}function jR(t){Dat.call(this,t,(Z8(),Mne))}function $R(t,e,n,i){oq.call(this,t,e,n,i)}function zR(t,e,n){null!=n&&Mit(e,Ikt(t,n))}function VR(t,e,n){null!=n&&Pit(e,Ikt(t,n))}function HR(t,e,n){return n=Cjt(t,e,11,n)}function qR(t,e){return t.a+=e.a,t.b+=e.b,t}function UR(t,e){return t.a-=e.a,t.b-=e.b,t}function GR(t,e){return t.n.a=(kK(e),e+10)}function WR(t,e){return t.n.a=(kK(e),e+10)}function KR(t,e){return e==t||x_t(TPt(e),t)}function YR(t,e){return null==WK(t.a,e,"")}function XR(t,e){return bx(),!fat(e.d.i,t)}function ZR(t,e){fB(t.f)?rMt(t,e):SAt(t,e)}function QR(t,e){return e.Hh(t.a)}function JR(t,e){Dv.call(this,e8t+t+s7t+e)}function tF(t,e,n,i){tG.call(this,t,e,n,i)}function eF(t,e,n,i){tG.call(this,t,e,n,i)}function nF(t,e,n,i){eF.call(this,t,e,n,i)}function iF(t,e,n,i){eG.call(this,t,e,n,i)}function rF(t,e,n,i){eG.call(this,t,e,n,i)}function oF(t,e,n,i){eG.call(this,t,e,n,i)}function aF(t,e,n,i){rF.call(this,t,e,n,i)}function sF(t,e,n,i){rF.call(this,t,e,n,i)}function cF(t,e,n,i){oF.call(this,t,e,n,i)}function lF(t,e,n,i){sF.call(this,t,e,n,i)}function uF(t,e,n,i){ZU.call(this,t,e,n,i)}function hF(t,e,n){this.a=t,ZL.call(this,e,n)}function dF(t,e,n){this.c=e,this.b=n,this.a=t}function fF(t,e,n){return t.d=jz(e.Kb(n),164)}function gF(t,e){return t.Aj().Nh().Kh(t,e)}function pF(t,e){return t.Aj().Nh().Ih(t,e)}function mF(t,e){return kK(t),VD(t)===VD(e)}function bF(t,e){return kK(t),VD(t)===VD(e)}function wF(t,e){return K_(Apt(t.a,e,!1))}function kF(t,e){return K_(xpt(t.a,e,!1))}function vF(t,e){return t.b.sd(new IE(t,e))}function yF(t,e){return t.b.sd(new BE(t,e))}function _F(t,e){return t.b.sd(new ME(t,e))}function CF(t,e,n){return t.lastIndexOf(e,n)}function AF(t,e,n){return Edt(t[e.b],t[n.b])}function xF(t,e){return lct(e,(zWt(),Ope),t)}function EF(t,e){return yM(e.a.d.p,t.a.d.p)}function TF(t,e){return yM(t.a.d.p,e.a.d.p)}function SF(t,e){return Edt(t.c-t.s,e.c-e.s)}function DF(t){return t.c?y9(t.c.a,t,0):-1}function IF(t){return t<100?null:new F_(t)}function BF(t){return t==qSe||t==GSe||t==USe}function MF(t,e){return iP(e,15)&&YNt(t.c,e)}function PF(t,e){Kne||e&&(t.d=e)}function LF(t,e){return!!hlt(t,e)}function OF(t,e){this.c=t,VG.call(this,t,e)}function NF(t){this.c=t,mI.call(this,dYt,0)}function RF(t,e){Xz.call(this,t,t.length,e)}function FF(t,e,n){return jz(t.c,69).lk(e,n)}function jF(t,e,n){return jz(t.c,69).mk(e,n)}function $F(t,e,n){return aN(t,jz(e,332),n)}function zF(t,e,n){return sN(t,jz(e,332),n)}function VF(t,e,n){return SCt(t,jz(e,332),n)}function HF(t,e,n){return YAt(t,jz(e,332),n)}function qF(t,e){return null==e?null:hht(t.b,e)}function UF(t){return qD(t)?(kK(t),t):t.ke()}function GF(t){return!isNaN(t)&&!isFinite(t)}function WF(t){sj(),this.a=(AX(),new Dy(t))}function KF(t){cV(),this.d=t,this.a=new Bb}function YF(t,e,n){this.a=t,this.b=e,this.c=n}function XF(t,e,n){this.a=t,this.b=e,this.c=n}function ZF(t,e,n){this.d=t,this.b=n,this.a=e}function QF(t){xM(this),wX(this),jrt(this,t)}function JF(t){PB(this),Jz(this.c,0,t.Pc())}function tj(t){lK(t.a),H7(t.c,t.b),t.b=null}function ej(t){this.a=t,IA(),uat(Date.now())}function nj(){nj=I,eie=new r,nie=new r}function ij(){ij=I,_ne=new P,Cne=new L}function rj(){rj=I,hBe=P7(Ite,zKt,1,0,5,1)}function oj(){oj=I,_Me=P7(Ite,zKt,1,0,5,1)}function aj(){aj=I,CMe=P7(Ite,zKt,1,0,5,1)}function sj(){sj=I,new nw((AX(),AX(),cne))}function cj(t){return Z8(),Ett((Q8(),Rne),t)}function lj(t){return Vlt(),Ett((t7(),Zne),t)}function uj(t){return lbt(),Ett((T5(),pie),t)}function hj(t){return Ott(),Ett((S5(),kie),t)}function dj(t){return tRt(),Ett((Lat(),Fie),t)}function fj(t){return Oet(),Ett((Z6(),Gie),t)}function gj(t){return X8(),Ett((Q6(),Jie),t)}function pj(t){return V9(),Ett((J6(),ore),t)}function mj(t){return gKt(),Ett((CI(),Dre),t)}function bj(t){return Oat(),Ett((t9(),Rre),t)}function wj(t){return zbt(),Ett((e9(),Hre),t)}function kj(t){return Vbt(),Ett((n9(),eoe),t)}function vj(t){return dx(),Ett((K2(),roe),t)}function yj(t){return Ntt(),Ett((D5(),Roe),t)}function _j(t){return z9(),Ett((e7(),Bae),t)}function Cj(t){return kxt(),Ett((Utt(),zae),t)}function Aj(t){return Ist(),Ett((J8(),nse),t)}function xj(t){return $ht(),Ett((n7(),gse),t)}function Ej(t,e){if(!t)throw $b(new Rv(e))}function Tj(t){return aEt(),Ett((lnt(),Dse),t)}function Sj(t){oq.call(this,t.d,t.c,t.a,t.b)}function Dj(t){oq.call(this,t.d,t.c,t.a,t.b)}function Ij(t,e,n){this.b=t,this.c=e,this.a=n}function Bj(t,e,n){this.b=t,this.a=e,this.c=n}function Mj(t,e,n){this.a=t,this.b=e,this.c=n}function Pj(t,e,n){this.a=t,this.b=e,this.c=n}function Lj(t,e,n){this.a=t,this.b=e,this.c=n}function Oj(t,e,n){this.a=t,this.b=e,this.c=n}function Nj(t,e,n){this.b=t,this.a=e,this.c=n}function Rj(t,e,n){this.e=e,this.b=t,this.d=n}function Fj(t,e,n){return fx(),t.a.Od(e,n),e}function jj(t){var e;return(e=new yt).e=t,e}function $j(t){var e;return(e=new Zw).b=t,e}function zj(){zj=I,qse=new Ln,Use=new On}function Vj(){Vj=I,fle=new wr,gle=new kr}function Hj(t){return Sst(),Ett((r9(),ale),t)}function qj(t){return Dst(),Ett((a9(),yle),t)}function Uj(t){return vNt(),Ett((Hot(),Wle),t)}function Gj(t){return BTt(),Ett((dnt(),nue),t)}function Wj(t){return W7(),Ett((O5(),aue),t)}function Kj(t){return Dit(),Ett((i7(),hue),t)}function Yj(t){return MCt(),Ett(($tt(),Sle),t)}function Xj(t){return Trt(),Ett((a7(),Rle),t)}function Zj(t){return ait(),Ett((r7(),mue),t)}function Qj(t){return Kwt(),Ett((Ftt(),Cue),t)}function Jj(t){return Rtt(),Ett((B5(),Tue),t)}function t$(t){return Zst(),Ett((o7(),Mue),t)}function e$(t){return pEt(),Ett((mnt(),$ue),t)}function n$(t){return g9(),Ett((M5(),que),t)}function i$(t){return $_t(),Ett((gnt(),Que),t)}function r$(t){return Zxt(),Ett((fnt(),ahe),t)}function o$(t){return dNt(),Ett((Kst(),whe),t)}function a$(t){return Rat(),Ett((c7(),Che),t)}function s$(t){return H9(),Ett((s7(),She),t)}function c$(t){return H2(),Ett((N5(),Mhe),t)}function l$(t){return Cft(),Ett((ztt(),Hde),t)}function u$(t){return CAt(),Ett((pnt(),nwe),t)}function h$(t){return Aut(),Ett((l7(),swe),t)}function d$(t){return dwt(),Ett((s9(),fwe),t)}function f$(t){return oit(),Ett((d7(),qwe),t)}function g$(t){return cLt(),Ett((Vot(),Iwe),t)}function p$(t){return wct(),Ett((h7(),Owe),t)}function m$(t){return q9(),Ett((L5(),jwe),t)}function b$(t){return zot(),Ett((u7(),Ywe),t)}function w$(t){return Pwt(),Ett((jtt(),vwe),t)}function k$(t){return D6(),Ett((P5(),Jwe),t)}function v$(t){return Ult(),Ett((g7(),rke),t)}function y$(t){return got(),Ett((p7(),lke),t)}function _$(t){return Bst(),Ett((f7(),gke),t)}function C$(t){return sit(),Ett((m7(),Mke),t)}function A$(t){return K5(),Ett((F5(),Vke),t)}function x$(t){return gQ(),Ett((j5(),eve),t)}function E$(t){return aJ(),Ett(($5(),ove),t)}function T$(t){return S6(),Ett((R5(),xve),t)}function S$(t){return fQ(),Ett((z5(),Lve),t)}function D$(t){return qvt(),Ett((i9(),$ve),t)}function I$(t){return OTt(),Ett((bnt(),Xve),t)}function B$(t){return sJ(),Ett((q5(),Fye),t)}function M$(t){return Ert(),Ett((H5(),Zye),t)}function P$(t){return j0(),Ett((V5(),Vye),t)}function L$(t){return Tft(),Ett((b7(),n_e),t)}function O$(t){return L8(),Ett((U5(),a_e),t)}function N$(t){return zlt(),Ett((w7(),h_e),t)}function R$(t){return Dkt(),Ett((o9(),H_e),t)}function F$(t){return $ot(),Ett((v7(),K_e),t)}function j$(t){return xft(),Ett((k7(),tCe),t)}function $$(t){return XPt(),Ett((qtt(),jCe),t)}function z$(t){return Eft(),Ett((y7(),qCe),t)}function V$(t){return Ex(),Ett((G2(),WCe),t)}function H$(t){return Tx(),Ett((U2(),XCe),t)}function q$(t){return I6(),Ett((W5(),tAe),t)}function U$(t){return BEt(),Ett((Vtt(),sAe),t)}function G$(t){return Sx(),Ett((W2(),qAe),t)}function W$(t){return Mst(),Ett((G5(),KAe),t)}function K$(t){return ibt(),Ett((Htt(),hxe),t)}function Y$(t){return ETt(),Ett((qot(),yxe),t)}function X$(t){return fwt(),Ett((hnt(),Pxe),t)}function Z$(t){return fCt(),Ett((unt(),Jxe),t)}function Q$(t){return hKt(),Ett((AI(),Zce),t)}function J$(t){return xrt(),Ett((I5(),Hse),t)}function tz(t){return jht(),Ett((Gtt(),VTe),t)}function ez(t){return Net(),Ett((C7(),WTe),t)}function nz(t){return Aft(),Ett((u9(),JTe),t)}function iz(t){return JAt(),Ett((knt(),sSe),t)}function rz(t){return aht(),Ett((_7(),kSe),t)}function oz(t){return Gvt(),Ett((l9(),xSe),t)}function az(t){return JBt(),Ett((Pat(),NSe),t)}function sz(t){return rbt(),Ett((Wtt(),HSe),t)}function cz(t){return YCt(),Ett((zet(),ZSe),t)}function lz(t){return hDt(),Ett((wnt(),oDe),t)}function uz(t){return wpt(),Ett((d9(),jDe),t)}function hz(t){return JFt(),Ett((Yst(),XDe),t)}function dz(t){return vGt(),Ett((Ktt(),SDe),t)}function fz(t){return jgt(),Ett((h9(),nIe),t)}function gz(t){return $lt(),Ett((c9(),lIe),t)}function pz(t){return lBt(),Ett((Uot(),nBe),t)}function mz(t,e){return kK(t),t+(kK(e),e)}function bz(t,e){return IA(),l8(KX(t.a),e)}function wz(t,e){return IA(),l8(KX(t.a),e)}function kz(t,e){this.c=t,this.a=e,this.b=e-t}function vz(t,e,n){this.a=t,this.b=e,this.c=n}function yz(t,e,n){this.a=t,this.b=e,this.c=n}function _z(t,e,n){this.a=t,this.b=e,this.c=n}function Cz(t,e,n){this.a=t,this.b=e,this.c=n}function Az(t,e,n){this.a=t,this.b=e,this.c=n}function xz(t,e,n){this.e=t,this.a=e,this.c=n}function Ez(t,e,n){lM(),bQ.call(this,t,e,n)}function Tz(t,e,n){lM(),nK.call(this,t,e,n)}function Sz(t,e,n){lM(),nK.call(this,t,e,n)}function Dz(t,e,n){lM(),nK.call(this,t,e,n)}function Iz(t,e,n){lM(),Tz.call(this,t,e,n)}function Bz(t,e,n){lM(),Tz.call(this,t,e,n)}function Mz(t,e,n){lM(),Bz.call(this,t,e,n)}function Pz(t,e,n){lM(),Sz.call(this,t,e,n)}function Lz(t,e,n){lM(),Dz.call(this,t,e,n)}function Oz(t,e){return wW(t),wW(e),new cA(t,e)}function Nz(t,e){return wW(t),wW(e),new RV(t,e)}function Rz(t,e){return wW(t),wW(e),new FV(t,e)}function Fz(t,e){return wW(t),wW(e),new uA(t,e)}function jz(t,e){return XV(null==t||Ybt(t,e)),t}function $z(t){var e;return ltt(e=new Mb,t),e}function zz(t){var e;return ltt(e=new Ow,t),e}function Vz(t){var e;return Vrt(e=new Hw,t),e}function Hz(t){var e;return Vrt(e=new YA,t),e}function qz(t){return!t.e&&(t.e=new Mb),t.e}function Uz(t){return!t.c&&(t.c=new zc),t.c}function Gz(t,e){return t.c[t.c.length]=e,!0}function Wz(t,e){this.c=t,this.b=e,this.a=!1}function Kz(t){this.d=t,Cf(this),this.b=nU(t.d)}function Yz(){this.a=";,;",this.b="",this.c=""}function Xz(t,e,n){qU.call(this,e,n),this.a=t}function Zz(t,e,n){this.b=t,gI.call(this,e,n)}function Qz(t,e,n){this.c=t,xE.call(this,e,n)}function Jz(t,e,n){FSt(n,0,t,e,n.length,!1)}function tV(t,e,n,i,r){t.b=e,t.c=n,t.d=i,t.a=r}function eV(t,e){e&&(t.b=e,t.a=(yK(e),e.a))}function nV(t,e,n,i,r){t.d=e,t.c=n,t.a=i,t.b=r}function iV(t){var e,n;e=t.b,n=t.c,t.b=n,t.c=e}function rV(t){var e,n;n=t.d,e=t.a,t.d=e,t.a=n}function oV(t){return aat(PG(XI(t)?Eat(t):t))}function aV(t,e){return yM(aH(t.d),aH(e.d))}function sV(t,e){return e==(vGt(),EDe)?t.c:t.d}function cV(){cV=I,vGt(),Oke=EDe,Nke=aDe}function lV(){this.b=Vv(CN(wbt((uRt(),rae))))}function uV(t){return fx(),P7(Ite,zKt,1,t,5,1)}function hV(t){return new PS(t.c+t.b,t.d+t.a)}function dV(t,e){return Ax(),yM(t.d.p,e.d.p)}function fV(t){return xO(0!=t.b),Iet(t,t.a.a)}function gV(t){return xO(0!=t.b),Iet(t,t.c.b)}function pV(t,e){if(!t)throw $b(new Iv(e))}function mV(t,e){if(!t)throw $b(new Rv(e))}function bV(t,e,n){fT.call(this,t,e),this.b=n}function wV(t,e,n){BD.call(this,t,e),this.c=n}function kV(t,e,n){det.call(this,e,n),this.d=t}function vV(t){aj(),vc.call(this),this.th(t)}function yV(t,e,n){this.a=t,MI.call(this,e,n)}function _V(t,e,n){this.a=t,MI.call(this,e,n)}function CV(t,e,n){BD.call(this,t,e),this.c=n}function AV(){O4(),aK.call(this,(Gx(),VBe))}function xV(t){return null!=t&&!Gft(t,IBe,BBe)}function EV(t,e){return(Wht(t)<<4|Wht(e))&YYt}function TV(t,e){return QK(),qwt(t,e),new VK(t,e)}function SV(t,e){var n;t.n&&(n=e,Gz(t.f,n))}function DV(t,e,n){net(t,e,new VW(n))}function IV(t,e){var n;return n=t.c,Rit(t,e),n}function BV(t,e){return t.g=e<0?-1:e,t}function MV(t,e){return qet(t),t.a*=e,t.b*=e,t}function PV(t,e,n,i,r){t.c=e,t.d=n,t.b=i,t.a=r}function LV(t,e){return n4(t,e,t.c.b,t.c),!0}function OV(t){t.a.b=t.b,t.b.a=t.a,t.a=t.b=null}function NV(t){this.b=t,this.a=uU(this.b.a).Ed()}function RV(t,e){this.b=t,this.a=e,ju.call(this)}function FV(t,e){this.a=t,this.b=e,ju.call(this)}function jV(t,e){qU.call(this,e,1040),this.a=t}function $V(t){return 0==t||isNaN(t)?t:t<0?-1:1}function zV(t){return CX(),Ext(t)==XQ(Dxt(t))}function VV(t){return CX(),Dxt(t)==XQ(Ext(t))}function HV(t,e){return X_t(t,new fT(e.a,e.b))}function qV(t){return!h4(t)&&t.c.i.c==t.d.i.c}function UV(t){var e;return e=t.n,t.a.b+e.d+e.a}function GV(t){var e;return e=t.n,t.e.b+e.d+e.a}function WV(t){var e;return e=t.n,t.e.a+e.b+e.c}function KV(t){return fKt(),new aq(0,t)}function YV(t){return t.a?t.a:tX(t)}function XV(t){if(!t)throw $b(new Nv(null))}function ZV(){ZV=I,AX(),rPe=new Vf(E9t)}function QV(){QV=I,new cwt((Jk(),Fte),(tv(),Rte))}function JV(){JV=I,See=P7(Iee,cYt,19,256,0,1)}function tH(t,e,n,i){ogt.call(this,t,e,n,i,0,0)}function eH(t,e,n){return WK(t.b,jz(n.b,17),e)}function nH(t,e,n){return WK(t.b,jz(n.b,17),e)}function iH(t,e){return Gz(t,new PS(e.a,e.b))}function rH(t,e){return t.c=e)throw $b(new Aw)}function RU(t,e,n){return IW(e,0,$H(e[0],n[0])),e}function FU(t,e,n){e.Ye(n,Vv(CN(OW(t.b,n)))*t.a)}function jU(t,e,n){return yNt(),Oot(t,e)&&Oot(t,n)}function $U(t){return hDt(),!t.Hc(tDe)&&!t.Hc(nDe)}function zU(t){return new PS(t.c+t.b/2,t.d+t.a/2)}function VU(t,e){return e.kh()?tht(t.b,jz(e,49)):e}function HU(t,e){this.e=t,this.d=64&e?e|lYt:e}function qU(t,e){this.c=0,this.d=t,this.b=64|e|lYt}function UU(t){this.b=new X6(11),this.a=(xX(),t)}function GU(t){this.b=null,this.a=(xX(),t||dne)}function WU(t){this.a=iwt(t.a),this.b=new JF(t.b)}function KU(t){this.b=t,iO.call(this,t),CP(this)}function YU(t){this.b=t,oO.call(this,t),AP(this)}function XU(t,e,n){this.a=t,tF.call(this,e,n,5,6)}function ZU(t,e,n,i){this.b=t,IP.call(this,e,n,i)}function QU(t,e,n,i,r){k8.call(this,t,e,n,i,r,-1)}function JU(t,e,n,i,r){v8.call(this,t,e,n,i,r,-1)}function tG(t,e,n,i){IP.call(this,t,e,n),this.b=i}function eG(t,e,n,i){wV.call(this,t,e,n),this.b=i}function nG(t){MD.call(this,t,!1),this.a=!1}function iG(t,e){this.b=t,sd.call(this,t.b),this.a=e}function rG(t,e){GW(),vA.call(this,t,cht(new Xv(e)))}function oG(t,e){return fKt(),new iK(t,e,0)}function aG(t,e){return fKt(),new iK(6,t,e)}function sG(t,e){return bF(t.substr(0,e.length),e)}function cG(t,e){return UD(e)?tZ(t,e):!!DZ(t.f,e)}function lG(t,e){for(kK(e);t.Ob();)e.td(t.Pb())}function uG(t,e,n){DNt(),this.e=t,this.d=e,this.a=n}function hG(t,e,n,i){var r;(r=t.i).i=e,r.a=n,r.b=i}function dG(t){var e;for(e=t;e.f;)e=e.f;return e}function fG(t){var e;return xO(null!=(e=_ct(t))),e}function gG(t){var e;return xO(null!=(e=wdt(t))),e}function pG(t,e){var n;return d6(e,n=t.a.gc()),n-e}function mG(t,e){var n;for(n=0;n0?i.Math.log(t/e):-100}function FG(t,e){return Kut(t,e)<0?-1:Kut(t,e)>0?1:0}function jG(t,e,n){return xVt(t,jz(e,46),jz(n,167))}function $G(t,e){return jz(dU(uU(t.a)).Xb(e),42).cd()}function zG(t,e){return met(e,t.length),new jV(t,e)}function VG(t,e){this.d=t,DP.call(this,t),this.e=e}function HG(t){this.d=(kK(t),t),this.a=0,this.c=dYt}function qG(t,e){Db.call(this,1),this.a=t,this.b=e}function UG(t,e){return t.c?UG(t.c,e):Gz(t.b,e),t}function GG(t,e,n){var i;return i=ftt(t,e),n5(t,e,n),i}function WG(t,e){return b9(t.slice(0,e),t)}function KG(t,e,n){var i;for(i=0;i=t.g}function ZW(t,e,n){return PRt(t,krt(t,e,n))}function QW(t,e){var n;ftt(t,n=t.a.length),n5(t,n,e)}function JW(t,e){console[t].call(console,e)}function tK(t,e){var n;++t.j,n=t.Vi(),t.Ii(t.oi(n,e))}function eK(t,e,n){jz(e.b,65),Det(e.a,new yz(t,n,e))}function nK(t,e,n){vb.call(this,e),this.a=t,this.b=n}function iK(t,e,n){Db.call(this,t),this.a=e,this.b=n}function rK(t,e,n){this.a=t,kb.call(this,e),this.b=n}function oK(t,e,n){this.a=t,$2.call(this,8,e,null,n)}function aK(t){this.a=(kK(F8t),F8t),this.b=t,new Mk}function sK(t){this.c=t,this.b=this.c.a,this.a=this.c.e}function cK(t){this.c=t,this.b=t.a.d.a,hN(t.a.e,this)}function lK(t){CO(-1!=t.c),t.d.$c(t.c),t.b=t.c,t.c=-1}function uK(t){return i.Math.sqrt(t.a*t.a+t.b*t.b)}function hK(t,e){return NU(e,t.a.c.length),PH(t.a,e)}function dK(t,e){return VD(t)===VD(e)||null!=t&&Pht(t,e)}function fK(t){return 0>=t?new WA:Wit(t-1)}function gK(t){return!!CLe&&tZ(CLe,t)}function pK(t){return t?t.dc():!t.Kc().Ob()}function mK(t){return!t.a&&t.c?t.c.b:t.a}function bK(t){return!t.a&&(t.a=new IP(IIe,t,4)),t.a}function wK(t){return!t.d&&(t.d=new IP(GBe,t,1)),t.d}function kK(t){if(null==t)throw $b(new gw);return t}function vK(t){t.c?t.c.He():(t.d=!0,YLt(t))}function yK(t){t.c?yK(t.c):(Ydt(t),t.d=!0)}function _K(t){_Y(t.a),t.b=P7(Ite,zKt,1,t.b.length,5,1)}function CK(t,e){return yM(e.j.c.length,t.j.c.length)}function AK(t,e){t.c<0||t.b.b=0?t.Bh(n):rDt(t,e)}function EK(t){return t.c.i.c==t.d.i.c}function TK(t){if(4!=t.p)throw $b(new fw);return t.e}function SK(t){if(3!=t.p)throw $b(new fw);return t.e}function DK(t){if(6!=t.p)throw $b(new fw);return t.f}function IK(t){if(6!=t.p)throw $b(new fw);return t.k}function BK(t){if(3!=t.p)throw $b(new fw);return t.j}function MK(t){if(4!=t.p)throw $b(new fw);return t.j}function PK(t){return!t.b&&(t.b=new _b(new Pk)),t.b}function LK(t){return-2==t.c&&gf(t,axt(t.g,t.b)),t.c}function OK(t,e){var n;return(n=bW("",t)).n=e,n.i=1,n}function NK(t,e){Bq(jz(e.b,65),t),Det(e.a,new Dg(t))}function RK(t,e){l8((!t.a&&(t.a=new aR(t,t)),t.a),e)}function FK(t,e){this.b=t,VG.call(this,t,e),CP(this)}function jK(t,e){this.b=t,OF.call(this,t,e),AP(this)}function $K(t,e,n,i){mA.call(this,t,e),this.d=n,this.a=i}function zK(t,e,n,i){mA.call(this,t,n),this.a=e,this.f=i}function VK(t,e){GM.call(this,Kit(wW(t),wW(e))),this.a=e}function HK(){gxt.call(this,x9t,(nC(),dPe)),WHt(this)}function qK(){gxt.call(this,K8t,(eC(),ZBe)),DVt(this)}function UK(){gA.call(this,"DELAUNAY_TRIANGULATION",0)}function GK(t){return String.fromCharCode.apply(null,t)}function WK(t,e,n){return UD(e)?bJ(t,e,n):ySt(t.f,e,n)}function KK(t){return AX(),t?t.ve():(xX(),xX(),gne)}function YK(t,e,n){return Pst(),n.pg(t,jz(e.cd(),146))}function XK(t,e){return QV(),new cwt(new nL(t),new eL(e))}function ZK(t){return hit(t,PYt),Jtt(ift(ift(5,t),t/10|0))}function QK(){QK=I,$te=new cv(Est(Vy(zte,1),vYt,42,0,[]))}function JK(t){return!t.d&&(t.d=new $f(t.c.Cc())),t.d}function tY(t){return!t.a&&(t.a=new By(t.c.vc())),t.a}function eY(t){return!t.b&&(t.b=new Dy(t.c.ec())),t.b}function nY(t,e){for(;e-- >0;)t=t<<1|(t<0?1:0);return t}function iY(t,e){return VD(t)===VD(e)||null!=t&&Pht(t,e)}function rY(t,e){return cL(),jz(e.b,19).a(i=EQ(n))&&++i,i}function ZY(t){var e;return rnt(e=new Nb,t),e}function QY(t){var e;return Oxt(e=new Nb,t),e}function JY(t,e){return Rot(e,OW(t.f,e)),null}function tX(t){return Xit(t)||null}function eX(t){return!t.b&&(t.b=new tG(NIe,t,12,3)),t.b}function nX(t){return null!=t&&PA(kBe,t.toLowerCase())}function iX(t,e){return Edt(eq(t)*tq(t),eq(e)*tq(e))}function rX(t,e){return Edt(eq(t)*tq(t),eq(e)*tq(e))}function oX(t,e){return Edt(t.d.c+t.d.b/2,e.d.c+e.d.b/2)}function aX(t,e){return Edt(t.g.c+t.g.b/2,e.g.c+e.g.b/2)}function sX(t,e,n){n.a?Tnt(t,e.b-t.f/2):Ent(t,e.a-t.g/2)}function cX(t,e,n,i){this.a=t,this.b=e,this.c=n,this.d=i}function lX(t,e,n,i){this.a=t,this.b=e,this.c=n,this.d=i}function uX(t,e,n,i){this.e=t,this.a=e,this.c=n,this.d=i}function hX(t,e,n,i){this.a=t,this.c=e,this.d=n,this.b=i}function dX(t,e,n,i){lM(),t6.call(this,e,n,i),this.a=t}function fX(t,e,n,i){lM(),t6.call(this,e,n,i),this.a=t}function gX(t,e){this.a=t,SN.call(this,t,jz(t.d,15).Zc(e))}function pX(t){this.f=t,this.c=this.f.e,t.f>0&&a_t(this)}function mX(t,e,n,i){this.b=t,this.c=i,mI.call(this,e,n)}function bX(t){return xO(t.b=0&&bF(t.substr(n,e.length),e)}function BZ(t,e,n,i,r,o,a){return new h5(t.e,e,n,i,r,o,a)}function MZ(t,e,n,i,r,o){this.a=t,vit.call(this,e,n,i,r,o)}function PZ(t,e,n,i,r,o){this.a=t,vit.call(this,e,n,i,r,o)}function LZ(t,e){this.g=t,this.d=Est(Vy(Sse,1),o1t,10,0,[e])}function OZ(t,e){this.e=t,this.a=Ite,this.b=IRt(e),this.c=e}function NZ(t,e){MR.call(this),Let(this),this.a=t,this.c=e}function RZ(t,e,n,i){IW(t.c[e.g],n.g,i),IW(t.c[n.g],e.g,i)}function FZ(t,e,n,i){IW(t.c[e.g],e.g,n),IW(t.b[e.g],e.g,i)}function jZ(){return D6(),Est(Vy(ike,1),BYt,376,0,[Zwe,Xwe])}function $Z(){return g9(),Est(Vy(Zue,1),BYt,479,0,[Vue,zue])}function zZ(){return Rtt(),Est(Vy(Bue,1),BYt,419,0,[Aue,xue])}function VZ(){return W7(),Est(Vy(uue,1),BYt,422,0,[iue,rue])}function HZ(){return H2(),Est(Vy(Vde,1),BYt,420,0,[Dhe,Ihe])}function qZ(){return q9(),Est(Vy(Hwe,1),BYt,421,0,[Nwe,Rwe])}function UZ(){return K5(),Est(Vy(Wke,1),BYt,523,0,[$ke,jke])}function GZ(){return S6(),Est(Vy(Pve,1),BYt,520,0,[Cve,_ve])}function WZ(){return gQ(),Est(Vy(rve,1),BYt,516,0,[Jke,Qke])}function KZ(){return aJ(),Est(Vy(Ave,1),BYt,515,0,[nve,ive])}function YZ(){return fQ(),Est(Vy(jve,1),BYt,455,0,[Bve,Mve])}function XZ(){return j0(),Est(Vy(Xye,1),BYt,425,0,[$ye,jye])}function ZZ(){return sJ(),Est(Vy(zye,1),BYt,480,0,[Oye,Nye])}function QZ(){return Ert(),Est(Vy(e_e,1),BYt,495,0,[Kye,Yye])}function JZ(){return L8(),Est(Vy(u_e,1),BYt,426,0,[i_e,r_e])}function tQ(){return Mst(),Est(Vy(YAe,1),BYt,429,0,[GAe,UAe])}function eQ(){return I6(),Est(Vy(aAe,1),BYt,430,0,[QCe,ZCe])}function nQ(){return lbt(),Est(Vy(wie,1),BYt,428,0,[fie,die])}function iQ(){return Ott(),Est(Vy(Nie,1),BYt,427,0,[mie,bie])}function rQ(){return Ntt(),Est(Vy(Iae,1),BYt,424,0,[Loe,Ooe])}function oQ(){return xrt(),Est(Vy(Gse,1),BYt,511,0,[zse,$se])}function aQ(t,e,n,i){return n>=0?t.jh(e,n,i):t.Sg(null,n,i)}function sQ(t){return 0==t.b.b?t.a.$e():fV(t.b)}function cQ(t){if(5!=t.p)throw $b(new fw);return fq(t.f)}function lQ(t){if(5!=t.p)throw $b(new fw);return fq(t.k)}function uQ(t){return VD(t.a)===VD((fot(),EMe))&&NHt(t),t.a}function hQ(t){this.a=jz(wW(t),271),this.b=(AX(),new fL(t))}function dQ(t,e){Xd(this,new PS(t.a,t.b)),Zd(this,Hz(e))}function fQ(){fQ=I,Bve=new aS(rQt,0),Mve=new aS(oQt,1)}function gQ(){gQ=I,Jke=new iS(oQt,0),Qke=new iS(rQt,1)}function pQ(){rv.call(this,new UA(tet(12))),rL(!0),this.a=2}function mQ(t,e,n){fKt(),Db.call(this,t),this.b=e,this.a=n}function bQ(t,e,n){lM(),vb.call(this,e),this.a=t,this.b=n}function wQ(t){MR.call(this),Let(this),this.a=t,this.c=!0}function kQ(t){var e;e=t.c.d.b,t.b=e,t.a=t.c.d,e.a=t.c.d.b=t}function vQ(t){mit(t.a),OB(t.a),tgt(new xg(t.a))}function yQ(t,e){sRt(t,!0),Det(t.e.wf(),new Ij(t,!0,e))}function _Q(t,e){return i5(e),Xnt(t,P7(SLe,lXt,25,e,15,1),e)}function CQ(t,e){return CX(),t==XQ(Ext(e))||t==XQ(Dxt(e))}function AQ(t,e){return null==e?zD(DZ(t.f,null)):cE(t.g,e)}function xQ(t){return 0==t.b?null:(xO(0!=t.b),Iet(t,t.a.a))}function EQ(t){return 0|Math.max(Math.min(t,OKt),-2147483648)}function TQ(t,e){var n=Qte[t.charCodeAt(0)];return null==n?t:n}function SQ(t,e){return GX(t,"set1"),GX(e,"set2"),new yA(t,e)}function DQ(t,e){return qR(zO(Jet(t.f,e)),t.f.d)}function IQ(t,e){var n;return Xqt(t,e,n=new H),n.d}function BQ(t,e,n,i){var r;r=new FR,e.a[n.g]=r,bq(t.b,i,r)}function MQ(t,e,n){var i;(i=t.Yg(e))>=0?t.sh(i,n):CPt(t,e,n)}function PQ(t,e,n){cJ(),t&&WK(aBe,t,e),t&&WK(oBe,t,n)}function LQ(t,e,n){this.i=new Mb,this.b=t,this.g=e,this.a=n}function OQ(t,e,n){this.c=new Mb,this.e=t,this.f=e,this.b=n}function NQ(t,e,n){this.a=new Mb,this.e=t,this.f=e,this.c=n}function RQ(t,e){WM(this),this.f=e,this.g=t,vX(this),this._d()}function FQ(t,e){var n;n=t.q.getHours(),t.q.setDate(e),hzt(t,n)}function jQ(t,e){var n;for(wW(e),n=t.a;n;n=n.c)e.Od(n.g,n.i)}function $Q(t){var e;return Bct(e=new hC(tet(t.length)),t),e}function zQ(t){function e(){}return e.prototype=t||{},new e}function VQ(t,e){return!!fst(t,e)&&(eit(t),!0)}function HQ(t,e){if(null==e)throw $b(new gw);return amt(t,e)}function qQ(t){if(t.qe())return null;var e=t.n;return xKt[e]}function UQ(t){return t.Db>>16!=3?null:jz(t.Cb,33)}function GQ(t){return t.Db>>16!=9?null:jz(t.Cb,33)}function WQ(t){return t.Db>>16!=6?null:jz(t.Cb,79)}function KQ(t){return t.Db>>16!=7?null:jz(t.Cb,235)}function YQ(t){return t.Db>>16!=7?null:jz(t.Cb,160)}function XQ(t){return t.Db>>16!=11?null:jz(t.Cb,33)}function ZQ(t,e){var n;return(n=t.Yg(e))>=0?t.lh(n):VDt(t,e)}function QQ(t,e){var n;return sxt(n=new BH(e),t),new JF(n)}function JQ(t){var e;return e=t.d,e=t.si(t.f),l8(t,e),e.Ob()}function tJ(t,e){return t.b+=e.b,t.c+=e.c,t.d+=e.d,t.a+=e.a,t}function eJ(t,e){return i.Math.abs(t)0}function iJ(){this.a=new lB,this.e=new Ow,this.g=0,this.i=0}function rJ(t){this.a=t,this.b=P7(Rke,cYt,1944,t.e.length,0,2)}function oJ(t,e,n){var i;i=Pct(t,e,n),t.b=new wrt(i.c.length)}function aJ(){aJ=I,nve=new nS(mQt,0),ive=new nS("UP",1)}function sJ(){sJ=I,Oye=new hS(U3t,0),Nye=new hS("FAN",1)}function cJ(){cJ=I,aBe=new Pb,oBe=new Pb,FD(wne,new pc)}function lJ(t){if(0!=t.p)throw $b(new fw);return XD(t.f,0)}function uJ(t){if(0!=t.p)throw $b(new fw);return XD(t.k,0)}function hJ(t){return t.Db>>16!=3?null:jz(t.Cb,147)}function dJ(t){return t.Db>>16!=6?null:jz(t.Cb,235)}function fJ(t){return t.Db>>16!=17?null:jz(t.Cb,26)}function gJ(t,e){var n=t.a=t.a||[];return n[e]||(n[e]=t.le(e))}function pJ(t,e){var n;return null==(n=t.a.get(e))?new Array:n}function mJ(t,e){var n;n=t.q.getHours(),t.q.setMonth(e),hzt(t,n)}function bJ(t,e,n){return null==e?ySt(t.f,null,n):aft(t.g,e,n)}function wJ(t,e,n,i,r,o){return new M9(t.e,e,t.aj(),n,i,r,o)}function kJ(t,e,n){return t.a=lO(t.a,0,e)+""+n+QD(t.a,e),t}function vJ(t,e,n){return Gz(t.a,(QK(),qwt(e,n),new mA(e,n))),t}function yJ(t){return aL(t.c),t.e=t.a=t.c,t.c=t.c.c,++t.d,t.a.f}function _J(t){return aL(t.e),t.c=t.a=t.e,t.e=t.e.e,--t.d,t.a.f}function CJ(t,e){t.d&&w9(t.d.e,t),t.d=e,t.d&&Gz(t.d.e,t)}function AJ(t,e){t.c&&w9(t.c.g,t),t.c=e,t.c&&Gz(t.c.g,t)}function xJ(t,e){t.c&&w9(t.c.a,t),t.c=e,t.c&&Gz(t.c.a,t)}function EJ(t,e){t.i&&w9(t.i.j,t),t.i=e,t.i&&Gz(t.i.j,t)}function TJ(t,e,n){this.a=e,this.c=t,this.b=(wW(n),new JF(n))}function SJ(t,e,n){this.a=e,this.c=t,this.b=(wW(n),new JF(n))}function DJ(t,e){this.a=t,this.c=jM(this.a),this.b=new gZ(e)}function IJ(t){return Ydt(t),DY(t,new mg(new Ow))}function BJ(t,e){if(t<0||t>e)throw $b(new Dv(yZt+t+_Zt+e))}function MJ(t,e){return Tq(t.a,e)?yG(t,jz(e,22).g,null):null}function PJ(t){return xut(),cL(),0!=jz(t.a,81).d.e}function LJ(){LJ=I,Gte=hut((nv(),Est(Vy(Wte,1),BYt,538,0,[qte])))}function OJ(){OJ=I,pke=Gq(new j2,(kxt(),jae),(hKt(),zce))}function NJ(){NJ=I,mke=Gq(new j2,(kxt(),jae),(hKt(),zce))}function RJ(){RJ=I,wke=Gq(new j2,(kxt(),jae),(hKt(),zce))}function FJ(){FJ=I,Hke=fH(new j2,(kxt(),jae),(hKt(),fce))}function jJ(){jJ=I,Kke=fH(new j2,(kxt(),jae),(hKt(),fce))}function $J(){$J=I,Zke=fH(new j2,(kxt(),jae),(hKt(),fce))}function zJ(){zJ=I,ave=fH(new j2,(kxt(),jae),(hKt(),fce))}function VJ(){VJ=I,Hye=Gq(new j2,(qvt(),Fve),(OTt(),Hve))}function HJ(t,e,n,i){this.c=t,this.d=i,GJ(this,e),WJ(this,n)}function qJ(t){this.c=new YA,this.b=t.b,this.d=t.c,this.a=t.a}function UJ(t){this.a=i.Math.cos(t),this.b=i.Math.sin(t)}function GJ(t,e){t.a&&w9(t.a.k,t),t.a=e,t.a&&Gz(t.a.k,t)}function WJ(t,e){t.b&&w9(t.b.f,t),t.b=e,t.b&&Gz(t.b.f,t)}function KJ(t,e){eK(t,t.b,t.c),jz(t.b.b,65),e&&jz(e.b,65).b}function YJ(t,e){qdt(t,e),iP(t.Cb,88)&&ISt(x4(jz(t.Cb,88)),2)}function XJ(t,e){iP(t.Cb,88)&&ISt(x4(jz(t.Cb,88)),4),Prt(t,e)}function ZJ(t,e){iP(t.Cb,179)&&(jz(t.Cb,179).tb=null),Prt(t,e)}function QJ(t,e){return Zx(),ctt(e)?new uH(e,t):new PD(e,t)}function JJ(t,e){null!=e.c&&QW(t,new VW(e.c))}function t1(t){var e;return eC(),rnt(e=new Nb,t),e}function e1(t){var e;return eC(),rnt(e=new Nb,t),e}function n1(t,e){var n;return n=new $W(t),e.c[e.c.length]=n,n}function i1(t,e){var n;return(n=jz(hht(SX(t.a),e),14))?n.gc():0}function r1(t){return Ydt(t),xX(),xX(),ket(t,fne)}function o1(t){for(var e;;)if(e=t.Pb(),!t.Ob())return e}function a1(t,e){qk.call(this,new UA(tet(t))),hit(e,sYt),this.a=e}function s1(t,e,n){zht(e,n,t.gc()),this.c=t,this.a=e,this.b=n-e}function c1(t,e,n){var i;zht(e,n,t.c.length),i=n-e,xC(t.c,e,i)}function l1(t,e){cP(t,fq(t0(kU(e,24),cZt)),fq(t0(e,cZt)))}function u1(t,e){if(t<0||t>=e)throw $b(new Dv(yZt+t+_Zt+e))}function h1(t,e){if(t<0||t>=e)throw $b(new Sy(yZt+t+_Zt+e))}function d1(t,e){this.b=(kK(t),t),this.a=e&FXt?e:64|e|lYt}function f1(t){LB(this),xw(this.a,vct(i.Math.max(8,t))<<1)}function g1(t){return Ict(Est(Vy(xxe,1),cYt,8,0,[t.i.n,t.n,t.a]))}function p1(){return Vlt(),Est(Vy(Qne,1),BYt,132,0,[Hne,qne,Une])}function m1(){return Oet(),Est(Vy(Wie,1),BYt,232,0,[Vie,Hie,qie])}function b1(){return X8(),Est(Vy(tre,1),BYt,461,0,[Yie,Kie,Xie])}function w1(){return V9(),Est(Vy(Sre,1),BYt,462,0,[ire,nre,ere])}function k1(){return $ht(),Est(Vy(bse,1),BYt,423,0,[dse,hse,use])}function v1(){return z9(),Est(Vy($ae,1),BYt,379,0,[Sae,Tae,Dae])}function y1(){return Aut(),Est(Vy(dwe,1),BYt,378,0,[iwe,rwe,owe])}function _1(){return Dit(),Est(Vy(pue,1),BYt,314,0,[cue,sue,lue])}function C1(){return ait(),Est(Vy(_ue,1),BYt,337,0,[due,gue,fue])}function A1(){return Zst(),Est(Vy(jue,1),BYt,450,0,[Due,Sue,Iue])}function x1(){return Trt(),Est(Vy(Gle,1),BYt,361,0,[Ole,Lle,Ple])}function E1(){return H9(),Est(Vy(Bhe,1),BYt,303,0,[xhe,Ehe,Ahe])}function T1(){return Rat(),Est(Vy(The,1),BYt,292,0,[vhe,yhe,khe])}function S1(){return oit(),Est(Vy(Kwe,1),BYt,452,0,[Vwe,$we,zwe])}function D1(){return wct(),Est(Vy(Fwe,1),BYt,339,0,[Mwe,Bwe,Pwe])}function I1(){return zot(),Est(Vy(Qwe,1),BYt,375,0,[Uwe,Gwe,Wwe])}function B1(){return Bst(),Est(Vy(Ake,1),BYt,377,0,[hke,dke,uke])}function M1(){return Ult(),Est(Vy(cke,1),BYt,336,0,[tke,eke,nke])}function P1(){return got(),Est(Vy(fke,1),BYt,338,0,[ske,oke,ake])}function L1(){return sit(),Est(Vy(Pke,1),BYt,454,0,[Ske,Dke,Ike])}function O1(){return Tft(),Est(Vy(o_e,1),BYt,442,0,[t_e,Qye,Jye])}function N1(){return zlt(),Est(Vy(V_e,1),BYt,380,0,[s_e,c_e,l_e])}function R1(){return xft(),Est(Vy(MCe,1),BYt,381,0,[Z_e,Q_e,X_e])}function F1(){return $ot(),Est(Vy(Y_e,1),BYt,293,0,[U_e,G_e,q_e])}function j1(){return Eft(),Est(Vy(GCe,1),BYt,437,0,[$Ce,zCe,VCe])}function $1(){return aht(),Est(Vy(ASe,1),BYt,334,0,[mSe,pSe,bSe])}function z1(){return Net(),Est(Vy(QTe,1),BYt,272,0,[HTe,qTe,UTe])}function V1(t,e){return vMt(t,e,iP(e,99)&&!!(jz(e,18).Bb&$Xt))}function H1(t,e,n){var i;return(i=rVt(t,e,!1)).b<=e&&i.a<=n}function q1(t,e,n){var i;(i=new aa).b=e,i.a=n,++e.b,Gz(t.d,i)}function U1(t,e){var n;return _O(!!(n=(kK(t),t).g)),kK(e),n(e)}function G1(t,e){var n,i;return i=pG(t,e),n=t.a.Zc(i),new kA(t,n)}function W1(t){return t.Db>>16!=6?null:jz(rBt(t),235)}function K1(t){if(2!=t.p)throw $b(new fw);return fq(t.f)&YYt}function Y1(t){if(2!=t.p)throw $b(new fw);return fq(t.k)&YYt}function X1(t){return t.a==(O4(),JMe)&&ff(t,ePt(t.g,t.b)),t.a}function Z1(t){return t.d==(O4(),JMe)&&pf(t,PFt(t.g,t.b)),t.d}function Q1(t){return xO(t.ai?1:0}function d0(t,e){var n;return n=A9(e),jz(OW(t.c,n),19).a}function f0(t,e){var n;for(n=t+"";n.length0&&0==t.a[--t.d];);0==t.a[t.d++]&&(t.e=0)}function G0(t){return t.a?0==t.e.length?t.a.a:t.a.a+""+t.e:t.c}function W0(t){return!(!t.a||0==$9(t.a.a).i||t.b&&Rwt(t.b))}function K0(t){return!(!t.u||0==r5(t.u.a).i||t.n&&Nwt(t.n))}function Y0(t){return wH(t.e.Hd().gc()*t.c.Hd().gc(),16,new Vh(t))}function X0(t,e){return FG(uat(t.q.getTime()),uat(e.q.getTime()))}function Z0(t){return jz(Ymt(t,P7(wse,r1t,17,t.c.length,0,1)),474)}function Q0(t){return jz(Ymt(t,P7(Sse,o1t,10,t.c.length,0,1)),193)}function J0(t){return jJ(),!(h4(t)||!h4(t)&&t.c.i.c==t.d.i.c)}function t2(t,e,n){wW(t),Lvt(new TJ(new JF(t),e,n))}function e2(t,e,n){wW(t),Ovt(new SJ(new JF(t),e,n))}function n2(t,e){var n;return n=1-e,t.a[n]=frt(t.a[n],n),frt(t,e)}function i2(t,e){var n;t.e=new Xk,bM(n=fNt(e),t.c),SNt(t,n,0)}function r2(t,e,n,i){var r;(r=new ks).a=e,r.b=n,r.c=i,LV(t.a,r)}function o2(t,e,n,i){var r;(r=new ks).a=e,r.b=n,r.c=i,LV(t.b,r)}function a2(t){var e,n;return n=tjt(e=new uW,t),kUt(e),n}function s2(){var t,e;return t=new Nb,Gz(GMe,e=t),e}function c2(t){return t.j.c=P7(Ite,zKt,1,0,5,1),_Y(t.c),gY(t.a),t}function l2(t){return Cx(),iP(t.g,10)?jz(t.g,10):null}function u2(t){return!yY(t).dc()&&(BM(t,new k),!0)}function h2(t){if(!("stack"in t))try{throw t}catch(t){}return t}function d2(t,e){if(t<0||t>=e)throw $b(new Dv(MSt(t,e)));return t}function f2(t,e,n){if(t<0||en)throw $b(new Dv(sTt(t,e,n)))}function g2(t,e){if(_G(t.a,e),e.d)throw $b(new fv(SZt));e.d=t}function p2(t,e){if(e.$modCount!=t.$modCount)throw $b(new mw)}function m2(t,e){return!!iP(e,42)&&Akt(t.a,jz(e,42))}function b2(t,e){return!!iP(e,42)&&Akt(t.a,jz(e,42))}function w2(t,e){return!!iP(e,42)&&Akt(t.a,jz(e,42))}function k2(t,e){return t.a<=t.b&&(e.ud(t.a++),!0)}function v2(t){var e;return XI(t)?-0==(e=t)?0:e:ptt(t)}function y2(t){var e;return yK(t),e=new $,gC(t.a,new gg(e)),e}function _2(t){var e;return yK(t),e=new j,gC(t.a,new fg(e)),e}function C2(t,e){this.a=t,Af.call(this,t),BJ(e,t.gc()),this.b=e}function A2(t){this.e=t,this.b=this.e.a.entries(),this.a=new Array}function x2(t){return wH(t.e.Hd().gc()*t.c.Hd().gc(),273,new zh(t))}function E2(t){return new X6((hit(t,PYt),Jtt(ift(ift(5,t),t/10|0))))}function T2(t){return jz(Ymt(t,P7(Vse,a1t,11,t.c.length,0,1)),1943)}function S2(t,e,n){return n.f.c.length>0?jG(t.a,e,n):jG(t.b,e,n)}function D2(t,e,n){t.d&&w9(t.d.e,t),t.d=e,t.d&&kq(t.d.e,n,t)}function I2(t,e){bWt(e,t),rV(t.d),rV(jz(wxt(t,(zWt(),Dme)),207))}function B2(t,e){mWt(e,t),iV(t.d),iV(jz(wxt(t,(zWt(),Dme)),207))}function M2(t,e){var n,i;return i=null,(n=HQ(t,e))&&(i=n.fe()),i}function P2(t,e){var n,i;return i=null,(n=ftt(t,e))&&(i=n.ie()),i}function L2(t,e){var n,i;return i=null,(n=HQ(t,e))&&(i=n.ie()),i}function O2(t,e){var n,i;return i=null,(n=HQ(t,e))&&(i=kTt(n)),i}function N2(t,e,n){var i;return i=Ypt(n),fFt(t.g,i,e),fFt(t.i,e,n),e}function R2(t,e,n){var i;i=Mpt();try{return fR(t,e,n)}finally{w3(i)}}function F2(t){var e;e=t.Wg(),this.a=iP(e,69)?jz(e,69).Zh():e.Kc()}function j2(){Yk.call(this),this.j.c=P7(Ite,zKt,1,0,5,1),this.a=-1}function $2(t,e,n,i){this.d=t,this.n=e,this.g=n,this.o=i,this.p=-1}function z2(t,e,n,i){this.e=i,this.d=null,this.c=t,this.a=e,this.b=n}function V2(t,e,n){this.d=new Fp(this),this.e=t,this.i=e,this.f=n}function H2(){H2=I,Dhe=new LT(eQt,0),Ihe=new LT("TOP_LEFT",1)}function q2(){q2=I,_ke=XK(ndt(1),ndt(4)),yke=XK(ndt(1),ndt(2))}function U2(){U2=I,XCe=hut((Tx(),Est(Vy(JCe,1),BYt,551,0,[KCe])))}function G2(){G2=I,WCe=hut((Ex(),Est(Vy(YCe,1),BYt,482,0,[UCe])))}function W2(){W2=I,qAe=hut((Sx(),Est(Vy(WAe,1),BYt,530,0,[VAe])))}function K2(){K2=I,roe=hut((dx(),Est(Vy(xoe,1),BYt,481,0,[noe])))}function Y2(){return Oat(),Est(Vy(Vre,1),BYt,406,0,[Ore,Mre,Pre,Lre])}function X2(){return Z8(),Est(Vy(Fne,1),BYt,297,0,[Mne,Pne,Lne,One])}function Z2(){return Vbt(),Est(Vy(ioe,1),BYt,394,0,[Zre,Xre,Qre,Jre])}function Q2(){return zbt(),Est(Vy(qre,1),BYt,323,0,[jre,Fre,$re,zre])}function J2(){return Ist(),Est(Vy(fse,1),BYt,405,0,[Zae,tse,Qae,Jae])}function t3(){return Sst(),Est(Vy(ple,1),BYt,360,0,[rle,nle,ile,ele])}function e3(t,e,n,i){return iP(n,54)?new SO(t,e,n,i):new sU(t,e,n,i)}function n3(){return Dst(),Est(Vy(Tle,1),BYt,411,0,[mle,ble,wle,kle])}function i3(t){return t.j==(vGt(),ADe)&&AL(UIt(t),aDe)}function r3(t,e){var n;AJ(n=e.a,e.c.d),CJ(n,e.d.d),Qet(n.a,t.n)}function o3(t,e){return jz(IL(TU(jz(c6(t.k,e),15).Oc(),Kle)),113)}function a3(t,e){return jz(IL(SU(jz(c6(t.k,e),15).Oc(),Kle)),113)}function s3(t){return new d1(tot(jz(t.a.dd(),14).gc(),t.a.cd()),16)}function c3(t){return iP(t,14)?jz(t,14).dc():!t.Kc().Ob()}function l3(t){return Cx(),iP(t.g,145)?jz(t.g,145):null}function u3(t){if(t.e.g!=t.b)throw $b(new mw);return!!t.c&&t.d>0}function h3(t){return xO(t.b!=t.d.c),t.c=t.b,t.b=t.b.a,++t.a,t.c.c}function d3(t,e){kK(e),IW(t.a,t.c,e),t.c=t.c+1&t.a.length-1,fvt(t)}function f3(t,e){kK(e),t.b=t.b-1&t.a.length-1,IW(t.a,t.b,e),fvt(t)}function g3(t,e){var n;for(n=t.j.c.length;n0&&oVt(t.g,0,e,0,t.i),e}function P3(t,e){var n;return Qx(),!(n=jz(OW(mBe,t),55))||n.wj(e)}function L3(t){if(1!=t.p)throw $b(new fw);return fq(t.f)<<24>>24}function O3(t){if(1!=t.p)throw $b(new fw);return fq(t.k)<<24>>24}function N3(t){if(7!=t.p)throw $b(new fw);return fq(t.k)<<16>>16}function R3(t){if(7!=t.p)throw $b(new fw);return fq(t.f)<<16>>16}function F3(t){var e;for(e=0;t.Ob();)t.Pb(),e=ift(e,1);return Jtt(e)}function j3(t,e){var n;return n=new Ty,t.xd(n),n.a+="..",e.yd(n),n.a}function $3(t,e,n){var i;i=jz(OW(t.g,n),57),Gz(t.a.c,new nD(e,i))}function z3(t,e,n){return _U(CN(zD(DZ(t.f,e))),CN(zD(DZ(t.f,n))))}function V3(t,e,n){return U$t(t,e,n,iP(e,99)&&!!(jz(e,18).Bb&$Xt))}function H3(t,e,n){return mzt(t,e,n,iP(e,99)&&!!(jz(e,18).Bb&$Xt))}function q3(t,e,n){return LMt(t,e,n,iP(e,99)&&!!(jz(e,18).Bb&$Xt))}function U3(t,e){return t==(aEt(),Ese)&&e==Ese?4:t==Ese||e==Ese?8:32}function G3(t,e){return VD(e)===VD(t)?"(this Map)":null==e?qKt:$ft(e)}function W3(t,e){return jz(null==e?zD(DZ(t.f,null)):cE(t.g,e),281)}function K3(t,e,n){var i;return i=Ypt(n),WK(t.b,i,e),WK(t.c,e,n),e}function Y3(t,e){var n;for(n=e;n;)RO(t,n.i,n.j),n=XQ(n);return t}function X3(t,e){var n;return n=nZ($z(new E9(t,e))),EH(new E9(t,e)),n}function Z3(t,e){var n;return Zx(),CEt(n=jz(t,66).Mj(),e),n.Ok(e)}function Q3(t,e,n,i,r){Gz(e,wSt(r,GMt(r,n,i))),Uxt(t,r,e)}function J3(t,e,n){t.i=0,t.e=0,e!=n&&(Wct(t,e,n),Gct(t,e,n))}function t5(t,e){var n;n=t.q.getHours(),t.q.setFullYear(e+cXt),hzt(t,n)}function e5(t,e,n){if(n){var i=n.ee();t.a[e]=i(n)}else delete t.a[e]}function n5(t,e,n){if(n){var i=n.ee();n=i(n)}else n=void 0;t.a[e]=n}function i5(t){if(t<0)throw $b(new jv("Negative array size: "+t))}function r5(t){return t.n||(x4(t),t.n=new Yq(t,GBe,t),kZ(t)),t.n}function o5(t){return xO(t.a=0&&t.a[n]===e[n];n--);return n<0}function _5(t,e){var n;return qlt(),0!=(n=t.j.g-e.j.g)?n:0}function C5(t,e){return kK(e),null!=t.a?xq(e.Kb(t.a)):Ane}function A5(t){var e;return t?new BH(t):(Vrt(e=new lB,t),e)}function x5(t,e){return e.b.Kb(_9(t,e.c.Ee(),new wg(e)))}function E5(t){kAt(),cP(this,fq(t0(kU(t,24),cZt)),fq(t0(t,cZt)))}function T5(){T5=I,pie=hut((lbt(),Est(Vy(wie,1),BYt,428,0,[fie,die])))}function S5(){S5=I,kie=hut((Ott(),Est(Vy(Nie,1),BYt,427,0,[mie,bie])))}function D5(){D5=I,Roe=hut((Ntt(),Est(Vy(Iae,1),BYt,424,0,[Loe,Ooe])))}function I5(){I5=I,Hse=hut((xrt(),Est(Vy(Gse,1),BYt,511,0,[zse,$se])))}function B5(){B5=I,Tue=hut((Rtt(),Est(Vy(Bue,1),BYt,419,0,[Aue,xue])))}function M5(){M5=I,que=hut((g9(),Est(Vy(Zue,1),BYt,479,0,[Vue,zue])))}function P5(){P5=I,Jwe=hut((D6(),Est(Vy(ike,1),BYt,376,0,[Zwe,Xwe])))}function L5(){L5=I,jwe=hut((q9(),Est(Vy(Hwe,1),BYt,421,0,[Nwe,Rwe])))}function O5(){O5=I,aue=hut((W7(),Est(Vy(uue,1),BYt,422,0,[iue,rue])))}function N5(){N5=I,Mhe=hut((H2(),Est(Vy(Vde,1),BYt,420,0,[Dhe,Ihe])))}function R5(){R5=I,xve=hut((S6(),Est(Vy(Pve,1),BYt,520,0,[Cve,_ve])))}function F5(){F5=I,Vke=hut((K5(),Est(Vy(Wke,1),BYt,523,0,[$ke,jke])))}function j5(){j5=I,eve=hut((gQ(),Est(Vy(rve,1),BYt,516,0,[Jke,Qke])))}function $5(){$5=I,ove=hut((aJ(),Est(Vy(Ave,1),BYt,515,0,[nve,ive])))}function z5(){z5=I,Lve=hut((fQ(),Est(Vy(jve,1),BYt,455,0,[Bve,Mve])))}function V5(){V5=I,Vye=hut((j0(),Est(Vy(Xye,1),BYt,425,0,[$ye,jye])))}function H5(){H5=I,Zye=hut((Ert(),Est(Vy(e_e,1),BYt,495,0,[Kye,Yye])))}function q5(){q5=I,Fye=hut((sJ(),Est(Vy(zye,1),BYt,480,0,[Oye,Nye])))}function U5(){U5=I,a_e=hut((L8(),Est(Vy(u_e,1),BYt,426,0,[i_e,r_e])))}function G5(){G5=I,KAe=hut((Mst(),Est(Vy(YAe,1),BYt,429,0,[GAe,UAe])))}function W5(){W5=I,tAe=hut((I6(),Est(Vy(aAe,1),BYt,430,0,[QCe,ZCe])))}function K5(){K5=I,$ke=new XT("UPPER",0),jke=new XT("LOWER",1)}function Y5(t,e){var n;zX(n=new pv,"x",e.a),zX(n,"y",e.b),QW(t,n)}function X5(t,e){var n;zX(n=new pv,"x",e.a),zX(n,"y",e.b),QW(t,n)}function Z5(t,e){var n,i;i=!1;do{i|=n=dct(t,e)}while(n);return i}function Q5(t,e){var n,i;for(n=e,i=0;n>0;)i+=t.a[n],n-=n&-n;return i}function J5(t,e){var n;for(n=e;n;)RO(t,-n.i,-n.j),n=XQ(n);return t}function t4(t,e){var n,i;for(kK(e),i=t.Kc();i.Ob();)n=i.Pb(),e.td(n)}function e4(t,e){var n;return new mA(n=e.cd(),t.e.pc(n,jz(e.dd(),14)))}function n4(t,e,n,i){var r;(r=new M).c=e,r.b=n,r.a=i,i.b=n.a=r,++t.b}function i4(t,e,n){var i;return u1(e,t.c.length),i=t.c[e],t.c[e]=n,i}function r4(t,e,n){return jz(null==e?ySt(t.f,null,n):aft(t.g,e,n),281)}function o4(t){return t.c&&t.d?p0(t.c)+"->"+p0(t.d):"e_"+xL(t)}function a4(t,e){return(Ydt(t),vC(new OH(t,new K8(e,t.a)))).sd(Jne)}function s4(){return kxt(),Est(Vy(qae,1),BYt,356,0,[Oae,Nae,Rae,Fae,jae])}function c4(){return vGt(),Est(Vy(FDe,1),XJt,61,0,[xDe,sDe,aDe,ADe,EDe])}function l4(t){return Ly(),function(){return R2(t,this,arguments)}}function u4(){return Date.now?Date.now():(new Date).getTime()}function h4(t){return!(!t.c||!t.d||!t.c.i||t.c.i!=t.d.i)}function d4(t){if(!t.c.Sb())throw $b(new ww);return t.a=!0,t.c.Ub()}function f4(t){t.i=0,wE(t.b,null),wE(t.c,null),t.a=null,t.e=null,++t.g}function g4(t){fE.call(this,null==t?qKt:$ft(t),iP(t,78)?jz(t,78):null)}function p4(t){eKt(),jb(this),this.a=new YA,glt(this,t),LV(this.a,t)}function m4(){PB(this),this.b=new PS(NXt,NXt),this.a=new PS(RXt,RXt)}function b4(t,e){this.c=0,this.b=e,pI.call(this,t,17493),this.a=this.c}function w4(t){k4(),Kne||(this.c=t,this.e=!0,this.a=new Mb)}function k4(){k4=I,Kne=!0,Gne=!1,Wne=!1,Xne=!1,Yne=!1}function v4(t,e){return!!iP(e,149)&&bF(t.c,jz(e,149).c)}function y4(t,e){var n;return n=0,t&&(n+=t.f.a/2),e&&(n+=e.f.a/2),n}function _4(t,e){return jz(utt(t.d,e),23)||jz(utt(t.e,e),23)}function C4(t){this.b=t,DP.call(this,t),this.a=jz(kat(this.b.a,4),126)}function A4(t){this.b=t,rO.call(this,t),this.a=jz(kat(this.b.a,4),126)}function x4(t){return t.t||(t.t=new fb(t),cdt(new Pv(t),0,t.t)),t.t}function E4(){return jht(),Est(Vy(GTe,1),BYt,103,0,[jTe,FTe,RTe,NTe,$Te])}function T4(){return rbt(),Est(Vy(XSe,1),BYt,249,0,[jSe,zSe,RSe,FSe,$Se])}function S4(){return ibt(),Est(Vy(vxe,1),BYt,175,0,[cxe,sxe,oxe,lxe,axe])}function D4(){return BEt(),Est(Vy(HAe,1),BYt,316,0,[eAe,nAe,oAe,iAe,rAe])}function I4(){return Pwt(),Est(Vy(Dwe,1),BYt,315,0,[wwe,pwe,mwe,gwe,bwe])}function B4(){return Kwt(),Est(Vy(Eue,1),BYt,335,0,[wue,bue,vue,yue,kue])}function M4(){return XPt(),Est(Vy(HCe,1),BYt,355,0,[LCe,PCe,NCe,OCe,RCe])}function P4(){return MCt(),Est(Vy(Nle,1),BYt,363,0,[Cle,xle,Ele,Ale,_le])}function L4(){return Cft(),Est(Vy(ewe,1),BYt,163,0,[zde,Rde,Fde,jde,$de])}function O4(){var t,e;O4=I,eC(),e=new yw,QMe=e,t=new Sk,JMe=t}function N4(t){var e;return t.c||iP(e=t.r,88)&&(t.c=jz(e,26)),t.c}function R4(t){return t.e=3,t.d=t.Yb(),2!=t.e&&(t.e=0,!0)}function F4(t){return CM(t&xXt,t>>22&xXt,t<0?EXt:0)}function j4(t){var e,n,i;for(n=0,i=(e=t).length;n0?_pt(t,e):SOt(t,-e)}function H4(t,e){return 0==e||0==t.e?t:e>0?SOt(t,e):_pt(t,-e)}function q4(t){if(gBt(t))return t.c=t.a,t.a.Pb();throw $b(new ww)}function U4(t){var e,n;return e=t.c.i,n=t.d.i,e.k==(aEt(),Cse)&&n.k==Cse}function G4(t){var e;return Vat(e=new dZ,t),lct(e,(zWt(),mme),null),e}function W4(t,e,n){var i;return(i=t.Yg(e))>=0?t._g(i,n,!0):rIt(t,e,n)}function K4(t,e,n,i){var r;for(r=0;re)throw $b(new Dv(gSt(t,e,"index")));return t}function f6(t,e,n,i){var r;return bAt(r=P7(SLe,lXt,25,e,15,1),t,e,n,i),r}function g6(t,e){var n;n=t.q.getHours()+(e/60|0),t.q.setMinutes(e),hzt(t,n)}function p6(t,e){return i.Math.min(G7(e.a,t.d.d.c),G7(e.b,t.d.d.c))}function m6(t,e){return UD(e)?null==e?pBt(t.f,null):Hat(t.g,e):pBt(t.f,e)}function b6(t){this.c=t,this.a=new Gf(this.c.a),this.b=new Gf(this.c.b)}function w6(){this.e=new Mb,this.c=new Mb,this.d=new Mb,this.b=new Mb}function k6(){this.g=new jw,this.b=new jw,this.a=new Mb,this.k=new Mb}function v6(t,e,n){this.a=t,this.c=e,this.d=n,Gz(e.e,this),Gz(n.b,this)}function y6(t,e){gI.call(this,e.rd(),-6&e.qd()),kK(t),this.a=t,this.b=e}function _6(t,e){pI.call(this,e.rd(),-6&e.qd()),kK(t),this.a=t,this.b=e}function C6(t,e){mI.call(this,e.rd(),-6&e.qd()),kK(t),this.a=t,this.b=e}function A6(t,e,n){this.a=t,this.b=e,this.c=n,Gz(t.t,this),Gz(e.i,this)}function x6(){this.b=new YA,this.a=new YA,this.b=new YA,this.a=new YA}function E6(){E6=I,_xe=new ob("org.eclipse.elk.labels.labelManager")}function T6(){T6=I,tle=new eR("separateLayerConnections",(Sst(),rle))}function S6(){S6=I,Cve=new oS("REGULAR",0),_ve=new oS("CRITICAL",1)}function D6(){D6=I,Zwe=new UT("STACKED",0),Xwe=new UT("SEQUENCED",1)}function I6(){I6=I,QCe=new _S("FIXED",0),ZCe=new _S("CENTER_NODE",1)}function B6(t,e){var n;return n=Lqt(t,e),t.b=new wrt(n.c.length),kHt(t,n)}function M6(t,e,n){return++t.e,--t.f,jz(t.d[e].$c(n),133).dd()}function P6(t){var e;return t.a||iP(e=t.r,148)&&(t.a=jz(e,148)),t.a}function L6(t){return t.a?t.e?L6(t.e):null:t}function O6(t,e){return t.pe.p?-1:0}function N6(t,e){return kK(e),t.c=0,"Initial capacity must not be negative")}function Z6(){Z6=I,Gie=hut((Oet(),Est(Vy(Wie,1),BYt,232,0,[Vie,Hie,qie])))}function Q6(){Q6=I,Jie=hut((X8(),Est(Vy(tre,1),BYt,461,0,[Yie,Kie,Xie])))}function J6(){J6=I,ore=hut((V9(),Est(Vy(Sre,1),BYt,462,0,[ire,nre,ere])))}function t7(){t7=I,Zne=hut((Vlt(),Est(Vy(Qne,1),BYt,132,0,[Hne,qne,Une])))}function e7(){e7=I,Bae=hut((z9(),Est(Vy($ae,1),BYt,379,0,[Sae,Tae,Dae])))}function n7(){n7=I,gse=hut(($ht(),Est(Vy(bse,1),BYt,423,0,[dse,hse,use])))}function i7(){i7=I,hue=hut((Dit(),Est(Vy(pue,1),BYt,314,0,[cue,sue,lue])))}function r7(){r7=I,mue=hut((ait(),Est(Vy(_ue,1),BYt,337,0,[due,gue,fue])))}function o7(){o7=I,Mue=hut((Zst(),Est(Vy(jue,1),BYt,450,0,[Due,Sue,Iue])))}function a7(){a7=I,Rle=hut((Trt(),Est(Vy(Gle,1),BYt,361,0,[Ole,Lle,Ple])))}function s7(){s7=I,She=hut((H9(),Est(Vy(Bhe,1),BYt,303,0,[xhe,Ehe,Ahe])))}function c7(){c7=I,Che=hut((Rat(),Est(Vy(The,1),BYt,292,0,[vhe,yhe,khe])))}function l7(){l7=I,swe=hut((Aut(),Est(Vy(dwe,1),BYt,378,0,[iwe,rwe,owe])))}function u7(){u7=I,Ywe=hut((zot(),Est(Vy(Qwe,1),BYt,375,0,[Uwe,Gwe,Wwe])))}function h7(){h7=I,Owe=hut((wct(),Est(Vy(Fwe,1),BYt,339,0,[Mwe,Bwe,Pwe])))}function d7(){d7=I,qwe=hut((oit(),Est(Vy(Kwe,1),BYt,452,0,[Vwe,$we,zwe])))}function f7(){f7=I,gke=hut((Bst(),Est(Vy(Ake,1),BYt,377,0,[hke,dke,uke])))}function g7(){g7=I,rke=hut((Ult(),Est(Vy(cke,1),BYt,336,0,[tke,eke,nke])))}function p7(){p7=I,lke=hut((got(),Est(Vy(fke,1),BYt,338,0,[ske,oke,ake])))}function m7(){m7=I,Mke=hut((sit(),Est(Vy(Pke,1),BYt,454,0,[Ske,Dke,Ike])))}function b7(){b7=I,n_e=hut((Tft(),Est(Vy(o_e,1),BYt,442,0,[t_e,Qye,Jye])))}function w7(){w7=I,h_e=hut((zlt(),Est(Vy(V_e,1),BYt,380,0,[s_e,c_e,l_e])))}function k7(){k7=I,tCe=hut((xft(),Est(Vy(MCe,1),BYt,381,0,[Z_e,Q_e,X_e])))}function v7(){v7=I,K_e=hut(($ot(),Est(Vy(Y_e,1),BYt,293,0,[U_e,G_e,q_e])))}function y7(){y7=I,qCe=hut((Eft(),Est(Vy(GCe,1),BYt,437,0,[$Ce,zCe,VCe])))}function _7(){_7=I,kSe=hut((aht(),Est(Vy(ASe,1),BYt,334,0,[mSe,pSe,bSe])))}function C7(){C7=I,WTe=hut((Net(),Est(Vy(QTe,1),BYt,272,0,[HTe,qTe,UTe])))}function A7(){return YCt(),Est(Vy(rDe,1),BYt,98,0,[YSe,KSe,WSe,qSe,GSe,USe])}function x7(t,e){return!t.o&&(t.o=new w8((TWt(),CIe),eBe,t,0)),ipt(t.o,e)}function E7(t){return!t.g&&(t.g=new lc),!t.g.d&&(t.g.d=new ub(t)),t.g.d}function T7(t){return!t.g&&(t.g=new lc),!t.g.a&&(t.g.a=new hb(t)),t.g.a}function S7(t){return!t.g&&(t.g=new lc),!t.g.b&&(t.g.b=new lb(t)),t.g.b}function D7(t){return!t.g&&(t.g=new lc),!t.g.c&&(t.g.c=new db(t)),t.g.c}function I7(t,e,n){var i,r;for(r=new Iat(e,t),i=0;in||e=0?t._g(n,!0,!0):rIt(t,e,!0)}function x8(t,e){return Edt(Vv(CN(wxt(t,(lKt(),_de)))),Vv(CN(wxt(e,_de))))}function E8(){E8=I,qye=smt(smt(Fx(new j2,(qvt(),Nve)),(OTt(),Kve)),qve)}function T8(t,e,n){var i;return i=Pct(t,e,n),t.b=new wrt(i.c.length),cNt(t,i)}function S8(t){if(t.b<=0)throw $b(new ww);return--t.b,t.a-=t.c.c,ndt(t.a)}function D8(t){var e;if(!t.a)throw $b(new uY);return e=t.a,t.a=XQ(t.a),e}function I8(t){for(;!t.a;)if(!_F(t.c,new pg(t)))return!1;return!0}function B8(t){return wW(t),iP(t,198)?jz(t,198):new od(t)}function M8(t){P8(),jz(t.We((cKt(),lTe)),174).Fc((hDt(),eDe)),t.Ye(cTe,null)}function P8(){P8=I,JAe=new gs,exe=new ps,txe=blt((cKt(),cTe),JAe,zEe,exe)}function L8(){L8=I,i_e=new pS("LEAF_NUMBER",0),r_e=new pS("NODE_SIZE",1)}function O8(t,e,n){t.a=e,t.c=n,t.b.a.$b(),wX(t.d),t.e.a.c=P7(Ite,zKt,1,0,5,1)}function N8(t){t.a=P7(SLe,lXt,25,t.b+1,15,1),t.c=P7(SLe,lXt,25,t.b,15,1),t.d=0}function R8(t,e){t.a.ue(e.d,t.b)>0&&(Gz(t.c,new bV(e.c,e.d,t.d)),t.b=e.d)}function F8(t,e){if(null==t.g||e>=t.i)throw $b(new BI(e,t.i));return t.g[e]}function j8(t,e,n){if(Llt(t,n),null!=n&&!t.wj(n))throw $b(new uw);return n}function $8(t){var e;if(t.Ek())for(e=t.i-1;e>=0;--e)Wet(t,e);return M3(t)}function z8(t){var e,n;if(!t.b)return null;for(n=t.b;e=n.a[0];)n=e;return n}function V8(t,e){var n;return i5(e),(n=b9(t.slice(0,e),t)).length=e,n}function H8(t,e,n,i){xX(),i=i||dne,pSt(t.slice(e,n),t,e,n,-e,i)}function q8(t,e,n,i,r){return e<0?rIt(t,n,i):jz(n,66).Nj().Pj(t,t.yh(),e,i,r)}function U8(t){return iP(t,172)?""+jz(t,172).a:null==t?null:$ft(t)}function G8(t){return iP(t,172)?""+jz(t,172).a:null==t?null:$ft(t)}function W8(t,e){if(e.a)throw $b(new fv(SZt));_G(t.a,e),e.a=t,!t.j&&(t.j=e)}function K8(t,e){mI.call(this,e.rd(),-16449&e.qd()),kK(t),this.a=t,this.c=e}function Y8(t,e){var n,i;return i=e/t.c.Hd().gc()|0,n=e%t.c.Hd().gc(),q6(t,i,n)}function X8(){X8=I,Yie=new VE(rQt,0),Kie=new VE(eQt,1),Xie=new VE(oQt,2)}function Z8(){Z8=I,Mne=new gE("All",0),Pne=new BB,Lne=new DM,One=new MB}function Q8(){Q8=I,Rne=hut((Z8(),Est(Vy(Fne,1),BYt,297,0,[Mne,Pne,Lne,One])))}function J8(){J8=I,nse=hut((Ist(),Est(Vy(fse,1),BYt,405,0,[Zae,tse,Qae,Jae])))}function t9(){t9=I,Rre=hut((Oat(),Est(Vy(Vre,1),BYt,406,0,[Ore,Mre,Pre,Lre])))}function e9(){e9=I,Hre=hut((zbt(),Est(Vy(qre,1),BYt,323,0,[jre,Fre,$re,zre])))}function n9(){n9=I,eoe=hut((Vbt(),Est(Vy(ioe,1),BYt,394,0,[Zre,Xre,Qre,Jre])))}function i9(){i9=I,$ve=hut((qvt(),Est(Vy(zve,1),BYt,393,0,[Ove,Nve,Rve,Fve])))}function r9(){r9=I,ale=hut((Sst(),Est(Vy(ple,1),BYt,360,0,[rle,nle,ile,ele])))}function o9(){o9=I,H_e=hut((Dkt(),Est(Vy(W_e,1),BYt,340,0,[z_e,j_e,$_e,F_e])))}function a9(){a9=I,yle=hut((Dst(),Est(Vy(Tle,1),BYt,411,0,[mle,ble,wle,kle])))}function s9(){s9=I,fwe=hut((dwt(),Est(Vy(kwe,1),BYt,197,0,[uwe,hwe,lwe,cwe])))}function c9(){c9=I,lIe=hut(($lt(),Est(Vy(dIe,1),BYt,396,0,[oIe,aIe,rIe,sIe])))}function l9(){l9=I,xSe=hut((Gvt(),Est(Vy(OSe,1),BYt,285,0,[CSe,vSe,ySe,_Se])))}function u9(){u9=I,JTe=hut((Aft(),Est(Vy(aSe,1),BYt,218,0,[ZTe,YTe,KTe,XTe])))}function h9(){h9=I,nIe=hut((jgt(),Est(Vy(iIe,1),BYt,311,0,[tIe,ZDe,JDe,QDe])))}function d9(){d9=I,jDe=hut((wpt(),Est(Vy(YDe,1),BYt,374,0,[NDe,RDe,ODe,LDe])))}function f9(){f9=I,Vzt(),jPe=NXt,FPe=RXt,zPe=new Mf(NXt),$Pe=new Mf(RXt)}function g9(){g9=I,Vue=new ST(YJt,0),zue=new ST("IMPROVE_STRAIGHTNESS",1)}function p9(t,e){return cV(),Gz(t,new nD(e,ndt(e.e.c.length+e.g.c.length)))}function m9(t,e){return cV(),Gz(t,new nD(e,ndt(e.e.c.length+e.g.c.length)))}function b9(t,e){return 10!=mtt(e)&&Est(tlt(e),e.hm,e.__elementTypeId$,mtt(e),t),t}function w9(t,e){var n;return-1!=(n=y9(t,e,0))&&(s6(t,n),!0)}function k9(t,e){var n;return(n=jz(m6(t.e,e),387))?(OV(n),n.e):null}function v9(t){var e;return XI(t)&&(e=0-t,!isNaN(e))?e:aat(oct(t))}function y9(t,e,n){for(;n=0?Qbt(t,n,!0,!0):rIt(t,e,!0)}function Z9(t,e){var n,i;return Cx(),n=l3(t),i=l3(e),!!n&&!!i&&!Rbt(n.k,i.k)}function Q9(t,e){Ent(t,null==e||GF((kK(e),e))||isNaN((kK(e),e))?0:(kK(e),e))}function J9(t,e){Tnt(t,null==e||GF((kK(e),e))||isNaN((kK(e),e))?0:(kK(e),e))}function ttt(t,e){xnt(t,null==e||GF((kK(e),e))||isNaN((kK(e),e))?0:(kK(e),e))}function ett(t,e){Ant(t,null==e||GF((kK(e),e))||isNaN((kK(e),e))?0:(kK(e),e))}function ntt(t){(this.q?this.q:(AX(),AX(),lne)).Ac(t.q?t.q:(AX(),AX(),lne))}function itt(t,e){return iP(e,99)&&jz(e,18).Bb&$Xt?new PI(e,t):new Iat(e,t)}function rtt(t,e){return iP(e,99)&&jz(e,18).Bb&$Xt?new PI(e,t):new Iat(e,t)}function ott(t,e){Wre=new ne,toe=e,jz((Gre=t).b,65),N7(Gre,Wre,null),aHt(Gre)}function att(t,e,n){var i;return i=t.g[e],vP(t,e,t.oi(e,n)),t.gi(e,n,i),t.ci(),i}function stt(t,e){var n;return(n=t.Xc(e))>=0&&(t.$c(n),!0)}function ctt(t){var e;return t.d!=t.r&&(e=Syt(t),t.e=!!e&&e.Cj()==_8t,t.d=e),t.e}function ltt(t,e){var n;for(wW(t),wW(e),n=!1;e.Ob();)n|=t.Fc(e.Pb());return n}function utt(t,e){var n;return(n=jz(OW(t.e,e),387))?(oP(t,n),n.e):null}function htt(t){var e,n;return e=t/60|0,0==(n=t%60)?""+e:e+":"+n}function dtt(t,e){return Ydt(t),new OH(t,new NF(new C6(e,t.a)))}function ftt(t,e){var n=t.a[e],i=(Qst(),uee)[typeof n];return i?i(n):vut(typeof n)}function gtt(t){switch(t.g){case 0:return OKt;case 1:return-1;default:return 0}}function ptt(t){return Ryt(t,(U9(),pee))<0?-EL(oct(t)):t.l+t.m*SXt+t.h*DXt}function mtt(t){return null==t.__elementTypeCategory$?10:t.__elementTypeCategory$}function btt(t){var e;return null!=(e=0==t.b.c.length?null:PH(t.b,0))&&lrt(t,0),e}function wtt(t,e){for(;e[0]=0;)++e[0]}function ktt(t,e){this.e=e,this.a=Kat(t),this.a<54?this.f=v2(t):this.c=Jmt(t)}function vtt(t,e,n,i){fKt(),Db.call(this,26),this.c=t,this.a=e,this.d=n,this.b=i}function ytt(t,e,n){var i,r;for(i=10,r=0;rt.a[i]&&(i=n);return i}function Btt(t,e){var n;return 0==(n=Sft(t.e.c,e.e.c))?Edt(t.e.d,e.e.d):n}function Mtt(t,e){return 0==e.e||0==t.e?ene:(BIt(),ILt(t,e))}function Ptt(t,e){if(!t)throw $b(new Rv(XLt("Enum constant undefined: %s",e)))}function Ltt(){Ltt=I,ose=new xe,ase=new Ce,ise=new Ie,rse=new Be,sse=new Me}function Ott(){Ott=I,mie=new jE("BY_SIZE",0),bie=new jE("BY_SIZE_AND_SHAPE",1)}function Ntt(){Ntt=I,Loe=new UE("EADES",0),Ooe=new UE("FRUCHTERMAN_REINGOLD",1)}function Rtt(){Rtt=I,Aue=new xT("READING_DIRECTION",0),xue=new xT("ROTATION",1)}function Ftt(){Ftt=I,Cue=hut((Kwt(),Est(Vy(Eue,1),BYt,335,0,[wue,bue,vue,yue,kue])))}function jtt(){jtt=I,vwe=hut((Pwt(),Est(Vy(Dwe,1),BYt,315,0,[wwe,pwe,mwe,gwe,bwe])))}function $tt(){$tt=I,Sle=hut((MCt(),Est(Vy(Nle,1),BYt,363,0,[Cle,xle,Ele,Ale,_le])))}function ztt(){ztt=I,Hde=hut((Cft(),Est(Vy(ewe,1),BYt,163,0,[zde,Rde,Fde,jde,$de])))}function Vtt(){Vtt=I,sAe=hut((BEt(),Est(Vy(HAe,1),BYt,316,0,[eAe,nAe,oAe,iAe,rAe])))}function Htt(){Htt=I,hxe=hut((ibt(),Est(Vy(vxe,1),BYt,175,0,[cxe,sxe,oxe,lxe,axe])))}function qtt(){qtt=I,jCe=hut((XPt(),Est(Vy(HCe,1),BYt,355,0,[LCe,PCe,NCe,OCe,RCe])))}function Utt(){Utt=I,zae=hut((kxt(),Est(Vy(qae,1),BYt,356,0,[Oae,Nae,Rae,Fae,jae])))}function Gtt(){Gtt=I,VTe=hut((jht(),Est(Vy(GTe,1),BYt,103,0,[jTe,FTe,RTe,NTe,$Te])))}function Wtt(){Wtt=I,HSe=hut((rbt(),Est(Vy(XSe,1),BYt,249,0,[jSe,zSe,RSe,FSe,$Se])))}function Ktt(){Ktt=I,SDe=hut((vGt(),Est(Vy(FDe,1),XJt,61,0,[xDe,sDe,aDe,ADe,EDe])))}function Ytt(t,e){var n;return(n=jz(OW(t.a,e),134))||(n=new Qt,WK(t.a,e,n)),n}function Xtt(t){var e;return!!(e=jz(wxt(t,(lKt(),Ohe)),305))&&e.a==t}function Ztt(t){var e;return!!(e=jz(wxt(t,(lKt(),Ohe)),305))&&e.i==t}function Qtt(t,e){return kK(e),LU(t),!!t.d.Ob()&&(e.td(t.d.Pb()),!0)}function Jtt(t){return Kut(t,OKt)>0?OKt:Kut(t,FYt)<0?FYt:fq(t)}function tet(t){return t<3?(hit(t,SYt),t+1):t=0&&e=-.01&&t.a<=uQt&&(t.a=0),t.b>=-.01&&t.b<=uQt&&(t.b=0),t}function ret(t,e){return e==(ij(),ij(),Cne)?t.toLocaleLowerCase():t.toLowerCase()}function oet(t){return(2&t.i?"interface ":1&t.i?"":"class ")+(yN(t),t.o)}function aet(t){var e;e=new Ik,l8((!t.q&&(t.q=new tG(WBe,t,11,10)),t.q),e)}function set(t,e){var n;return n=e>0?e-1:e,I_(B_(jnt(BV(new Uk,n),t.n),t.j),t.k)}function cet(t,e,n,i){t.j=-1,VIt(t,_Tt(t,e,n),(Zx(),jz(e,66).Mj().Ok(i)))}function uet(t){this.g=t,this.f=new Mb,this.a=i.Math.min(this.g.c.c,this.g.d.c)}function het(t){this.b=new Mb,this.a=new Mb,this.c=new Mb,this.d=new Mb,this.e=t}function det(t,e){this.a=new Pb,this.e=new Pb,this.b=(Aut(),owe),this.c=t,this.b=e}function fet(t,e,n){MR.call(this),Let(this),this.a=t,this.c=n,this.b=e.d,this.f=e.e}function get(t){this.d=t,this.c=t.c.vc().Kc(),this.b=null,this.a=null,this.e=(nv(),qte)}function pet(t){if(t<0)throw $b(new Rv("Illegal Capacity: "+t));this.g=this.ri(t)}function met(t,e){if(0>t||t>e)throw $b(new _y("fromIndex: 0, toIndex: "+t+lZt+e))}function bet(t){var e;if(t.a==t.b.a)throw $b(new ww);return e=t.a,t.c=e,t.a=t.a.e,e}function wet(t){var e;CO(!!t.c),e=t.c.a,Iet(t.d,t.c),t.b==t.c?t.b=e:--t.a,t.c=null}function ket(t,e){var n;return Ydt(t),n=new mX(t,t.a.rd(),4|t.a.qd(),e),new OH(t,n)}function vet(t,e){var n,i;return(n=jz(hht(t.d,e),14))?(i=e,t.e.pc(i,n)):null}function yet(t,e){var n;for(n=t.Kc();n.Ob();)lct(jz(n.Pb(),70),(lKt(),ode),e)}function _et(t){var e;return(e=Vv(CN(wxt(t,(zWt(),rme)))))<0&&lct(t,rme,e=0),e}function Cet(t,e,n){var r;jyt(n,r=i.Math.max(0,t.b/2-.5),1),Gz(e,new eT(n,r))}function Aet(t,e,n){return EQ($V(t.a.e[jz(e.a,10).p]-t.a.e[jz(n.a,10).p]))}function xet(t,e,n,i,r,o){var a;AJ(a=G4(i),r),CJ(a,o),ZDt(t.a,i,new Bj(a,e,n.f))}function Eet(t,e){var n;if(!(n=PLt(t.Tg(),e)))throw $b(new Rv(i6t+e+a6t));return n}function Tet(t,e){var n;for(n=t;XQ(n);)if((n=XQ(n))==e)return!0;return!1}function Set(t,e){var n,i,r;for(i=e.a.cd(),n=jz(e.a.dd(),14).gc(),r=0;r0&&(t.a/=e,t.b/=e),t}function Uet(t){var e;return t.w?t.w:((e=W1(t))&&!e.kh()&&(t.w=e),e)}function Get(t){var e;return null==t?null:KAt(e=jz(t,190),e.length)}function Wet(t,e){if(null==t.g||e>=t.i)throw $b(new BI(e,t.i));return t.li(e,t.g[e])}function Ket(t){var e,n;for(e=t.a.d.j,n=t.c.d.j;e!=n;)srt(t.b,e),e=Adt(e);srt(t.b,e)}function Yet(t){var e;for(e=0;e=14&&e<=16)),t}function nnt(t,e,n){var i=function(){return t.apply(i,arguments)};return e.apply(i,n),i}function int(t,e,n){var i,r;i=e;do{r=Vv(t.p[i.p])+n,t.p[i.p]=r,i=t.a[i.p]}while(i!=e)}function rnt(t,e){var n,i;i=t.a,n=Yht(t,e,null),i!=e&&!t.e&&(n=oUt(t,e,n)),n&&n.Fi()}function ont(t,e){return cM(),iit(RYt),i.Math.abs(t-e)<=RYt||t==e||isNaN(t)&&isNaN(e)}function ant(t,e){return cM(),iit(RYt),i.Math.abs(t-e)<=RYt||t==e||isNaN(t)&&isNaN(e)}function snt(t,e){return Fxt(),yM(t.b.c.length-t.e.c.length,e.b.c.length-e.e.c.length)}function cnt(t,e){return Z_(Zrt(t,e,fq(rft(xYt,nY(fq(rft(null==e?0:Jct(e),EYt)),15)))))}function lnt(){lnt=I,Dse=hut((aEt(),Est(Vy(Ise,1),BYt,267,0,[Ese,xse,Cse,Tse,Ase,_se])))}function unt(){unt=I,Jxe=hut((fCt(),Est(Vy(zTe,1),BYt,291,0,[Zxe,Xxe,Yxe,Wxe,Gxe,Kxe])))}function hnt(){hnt=I,Pxe=hut((fwt(),Est(Vy(Qxe,1),BYt,248,0,[Exe,Dxe,Ixe,Bxe,Txe,Sxe])))}function dnt(){dnt=I,nue=hut((BTt(),Est(Vy(oue,1),BYt,227,0,[Zle,Jle,Xle,Qle,tue,Yle])))}function fnt(){fnt=I,ahe=hut((Zxt(),Est(Vy(bhe,1),BYt,275,0,[ihe,the,rhe,nhe,ehe,Jue])))}function gnt(){gnt=I,Que=hut(($_t(),Est(Vy(ohe,1),BYt,274,0,[Kue,Wue,Xue,Gue,Yue,Uue])))}function pnt(){pnt=I,nwe=hut((CAt(),Est(Vy(awe,1),BYt,313,0,[Jbe,Zbe,Ybe,Xbe,twe,Qbe])))}function mnt(){mnt=I,$ue=hut((pEt(),Est(Vy(Hue,1),BYt,276,0,[Lue,Pue,Nue,Oue,Fue,Rue])))}function bnt(){bnt=I,Xve=hut((OTt(),Est(Vy(Rye,1),BYt,327,0,[Kve,qve,Gve,Uve,Wve,Hve])))}function wnt(){wnt=I,oDe=hut((hDt(),Est(Vy(TDe,1),BYt,273,0,[nDe,tDe,eDe,JSe,QSe,iDe])))}function knt(){knt=I,sSe=hut((JAt(),Est(Vy(wSe,1),BYt,312,0,[rSe,nSe,oSe,tSe,iSe,eSe])))}function vnt(){return JBt(),Est(Vy(VSe,1),BYt,93,0,[TSe,ESe,DSe,LSe,PSe,MSe,ISe,BSe,SSe])}function ynt(t,e){var n;n=t.a,t.a=e,4&t.Db&&!(1&t.Db)&&dat(t,new l5(t,0,n,t.a))}function _nt(t,e){var n;n=t.b,t.b=e,4&t.Db&&!(1&t.Db)&&dat(t,new l5(t,1,n,t.b))}function Cnt(t,e){var n;n=t.b,t.b=e,4&t.Db&&!(1&t.Db)&&dat(t,new l5(t,3,n,t.b))}function Ant(t,e){var n;n=t.f,t.f=e,4&t.Db&&!(1&t.Db)&&dat(t,new l5(t,3,n,t.f))}function xnt(t,e){var n;n=t.g,t.g=e,4&t.Db&&!(1&t.Db)&&dat(t,new l5(t,4,n,t.g))}function Ent(t,e){var n;n=t.i,t.i=e,4&t.Db&&!(1&t.Db)&&dat(t,new l5(t,5,n,t.i))}function Tnt(t,e){var n;n=t.j,t.j=e,4&t.Db&&!(1&t.Db)&&dat(t,new l5(t,6,n,t.j))}function Snt(t,e){var n;n=t.j,t.j=e,4&t.Db&&!(1&t.Db)&&dat(t,new l5(t,1,n,t.j))}function Dnt(t,e){var n;n=t.c,t.c=e,4&t.Db&&!(1&t.Db)&&dat(t,new l5(t,4,n,t.c))}function Int(t,e){var n;n=t.k,t.k=e,4&t.Db&&!(1&t.Db)&&dat(t,new l5(t,2,n,t.k))}function Bnt(t,e){var n;n=t.d,t.d=e,4&t.Db&&!(1&t.Db)&&dat(t,new u5(t,2,n,t.d))}function Mnt(t,e){var n;n=t.s,t.s=e,4&t.Db&&!(1&t.Db)&&dat(t,new u5(t,4,n,t.s))}function Pnt(t,e){var n;n=t.t,t.t=e,4&t.Db&&!(1&t.Db)&&dat(t,new u5(t,5,n,t.t))}function Lnt(t,e){var n;n=t.F,t.F=e,4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,5,n,e))}function Ont(t,e){var n;return(n=jz(OW((Qx(),mBe),t),55))?n.xj(e):P7(Ite,zKt,1,e,5,1)}function Nnt(t,e){var n;return e in t.a&&(n=HQ(t,e).he())?n.a:null}function Rnt(t,e){var n,i;return J_(),i=new cc,!!e&&SLt(i,e),Lit(n=i,t),n}function Fnt(t,e,n){if(Llt(t,n),!t.Bk()&&null!=n&&!t.wj(n))throw $b(new uw);return n}function jnt(t,e){return t.n=e,t.n?(t.f=new Mb,t.e=new Mb):(t.f=null,t.e=null),t}function $nt(t,e,n,i,r,o){var a;return Ynt(n,a=bW(t,e)),a.i=r?8:0,a.f=i,a.e=r,a.g=o,a}function znt(t,e,n,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=1,this.c=t,this.a=n}function Vnt(t,e,n,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=2,this.c=t,this.a=n}function Hnt(t,e,n,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=6,this.c=t,this.a=n}function qnt(t,e,n,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=7,this.c=t,this.a=n}function Unt(t,e,n,i,r){this.d=e,this.j=i,this.e=r,this.o=-1,this.p=4,this.c=t,this.a=n}function Gnt(t,e){var n,i,r,o;for(r=0,o=(i=e).length;r=0),imt(t.d,t.c)<0&&(t.a=t.a-1&t.d.a.length-1,t.b=t.d.c),t.c=-1}function nit(t){return t.a<54?t.f<0?-1:t.f>0?1:0:(!t.c&&(t.c=kut(t.f)),t.c).e}function iit(t){if(!(t>=0))throw $b(new Rv("tolerance ("+t+") must be >= 0"));return t}function rit(){return ixe||vlt(ixe=new DRt,Est(Vy(Rie,1),zKt,130,0,[new Bh])),ixe}function oit(){oit=I,Vwe=new HT(lQt,0),$we=new HT("INPUT",1),zwe=new HT("OUTPUT",2)}function ait(){ait=I,due=new CT("ARD",0),gue=new CT("MSD",1),fue=new CT("MANUAL",2)}function sit(){sit=I,Ske=new YT("BARYCENTER",0),Dke=new YT(_1t,1),Ike=new YT(C1t,2)}function cit(t,e){var n;if(n=t.gc(),e<0||e>n)throw $b(new JR(e,n));return new OF(t,e)}function lit(t,e){var n;return iP(e,42)?t.c.Mc(e):(n=ipt(t,e),Wpt(t,e),n)}function uit(t,e,n){return Sut(t,e),Prt(t,n),Mnt(t,0),Pnt(t,1),Jht(t,!0),Xht(t,!0),t}function hit(t,e){if(t<0)throw $b(new Rv(e+" cannot be negative but was: "+t));return t}function dit(t,e){var n,i;for(n=0,i=t.gc();n0?jz(PH(n.a,i-1),10):null}function Bit(t,e){var n;n=t.k,t.k=e,4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,2,n,t.k))}function Mit(t,e){var n;n=t.f,t.f=e,4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,8,n,t.f))}function Pit(t,e){var n;n=t.i,t.i=e,4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,7,n,t.i))}function Lit(t,e){var n;n=t.a,t.a=e,4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,8,n,t.a))}function Oit(t,e){var n;n=t.b,t.b=e,4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,0,n,t.b))}function Nit(t,e){var n;n=t.b,t.b=e,4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,0,n,t.b))}function Rit(t,e){var n;n=t.c,t.c=e,4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,1,n,t.c))}function Fit(t,e){var n;n=t.c,t.c=e,4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,1,n,t.c))}function jit(t,e){var n;n=t.c,t.c=e,4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,4,n,t.c))}function $it(t,e){var n;n=t.d,t.d=e,4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,1,n,t.d))}function zit(t,e){var n;n=t.D,t.D=e,4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,2,n,t.D))}function Vit(t,e){t.r>0&&t.c0&&0!=t.g&&Vit(t.i,e/t.r*t.i.d))}function Hit(t,e,n){var i;t.b=e,t.a=n,i=512&~t.a?new Nu:new Fk,t.c=ANt(i,t.b,t.a)}function qit(t,e){return BOt(t.e,e)?(Zx(),ctt(e)?new uH(e,t):new PD(e,t)):new ND(e,t)}function Uit(t,e){return X_(Qrt(t.a,e,fq(rft(xYt,nY(fq(rft(null==e?0:Jct(e),EYt)),15)))))}function Git(t,e,n){return P9(t,new lg(e),new at,new ug(n),Est(Vy(Qne,1),BYt,132,0,[]))}function Wit(t){return 0>t?new WA:new IN(null,new b4(t+1,t))}function Kit(t,e){var n;return AX(),n=new UA(1),UD(t)?bJ(n,t,e):ySt(n.f,t,e),new Uf(n)}function Yit(t,e){var n,i;return(n=t.o+t.p)<(i=e.o+e.p)?-1:n==i?0:1}function Xit(t){var e;return iP(e=wxt(t,(lKt(),fde)),160)?wgt(jz(e,160)):null}function Zit(t){var e;return(t=i.Math.max(t,2))>(e=vct(t))?(e<<=1)>0?e:DYt:e}function Qit(t){switch(oL(3!=t.e),t.e){case 2:return!1;case 0:return!0}return R4(t)}function Jit(t,e){var n;return!!iP(e,8)&&(n=jz(e,8),t.a==n.a&&t.b==n.b)}function trt(t,e,n){var i,r;return r=e>>5,i=31&e,t0(vU(t.n[n][r],fq(wU(i,1))),3)}function ert(t,e){var n,i;for(i=e.vc().Kc();i.Ob();)b_t(t,(n=jz(i.Pb(),42)).cd(),n.dd())}function nrt(t,e){var n;n=new ne,jz(e.b,65),jz(e.b,65),jz(e.b,65),Det(e.a,new _z(t,n,e))}function irt(t,e){var n;n=t.b,t.b=e,4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,21,n,t.b))}function rrt(t,e){var n;n=t.d,t.d=e,4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,11,n,t.d))}function ort(t,e){var n;n=t.j,t.j=e,4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,13,n,t.j))}function art(t,e,n){var i,r,o;for(o=t.a.length-1,r=t.b,i=0;i>>31;0!=i&&(t[n]=i)}function tot(t,e){var n,i;for(AX(),i=new Mb,n=0;n0&&(this.g=this.ri(this.i+(this.i/8|0)+1),t.Qc(this.g))}function _ot(t,e){CV.call(this,UMe,t,e),this.b=this,this.a=oOt(t.Tg(),eet(this.e.Tg(),this.c))}function Cot(t,e){var n,i;for(kK(e),i=e.vc().Kc();i.Ob();)n=jz(i.Pb(),42),t.zc(n.cd(),n.dd())}function Aot(t,e,n){var i;for(i=n.Kc();i.Ob();)if(!V3(t,e,i.Pb()))return!1;return!0}function xot(t,e,n,i,r){var o;return n&&(o=Igt(e.Tg(),t.c),r=n.gh(e,-1-(-1==o?i:o),null,r)),r}function Eot(t,e,n,i,r){var o;return n&&(o=Igt(e.Tg(),t.c),r=n.ih(e,-1-(-1==o?i:o),null,r)),r}function Tot(t){var e;if(-2==t.b){if(0==t.e)e=-1;else for(e=0;0==t.a[e];e++);t.b=e}return t.b}function Sot(t){switch(t.g){case 2:return vGt(),EDe;case 4:return vGt(),aDe;default:return t}}function Dot(t){switch(t.g){case 1:return vGt(),ADe;case 3:return vGt(),sDe;default:return t}}function Iot(t){var e,n,i;return t.j==(vGt(),sDe)&&(n=AL(e=UIt(t),aDe),(i=AL(e,EDe))||i&&n)}function Bot(t){var e;return new YF(e=jz(t.e&&t.e(),9),jz(WG(e,e.length),9),e.length)}function Mot(t,e){DAt(e,v1t,1),tgt(sx(new xg((gx(),new $Y(t,!1,!1,new je))))),zEt(e)}function Pot(t,e){return cL(),UD(t)?l6(t,AN(e)):qD(t)?_U(t,CN(e)):HD(t)?yU(t,_N(e)):t.wd(e)}function Lot(t,e){e.q=t,t.d=i.Math.max(t.d,e.r),t.b+=e.d+(0==t.a.c.length?0:t.c),Gz(t.a,e)}function Oot(t,e){var n,i,r,o;return r=t.c,n=t.c+t.b,o=t.d,i=t.d+t.a,e.a>r&&e.ao&&e.b1||t.Ob())return++t.a,t.g=0,e=t.i,t.Ob(),e;throw $b(new ww)}function xat(t){var e;return rM(),oE(sve,t)||((e=new ca).a=t,dR(sve,t,e)),jz(aY(sve,t),635)}function Eat(t){var e,n,i;return n=0,(i=t)<0&&(i+=DXt,n=EXt),e=EQ(i/SXt),CM(EQ(i-e*SXt),e,n)}function Tat(t){var e,n,i;for(i=0,n=new KA(t.a);n.a>22),r=t.h+e.h+(i>>22),CM(n&xXt,i&xXt,r&EXt)}function lst(t,e){var n,i,r;return n=t.l-e.l,i=t.m-e.m+(n>>22),r=t.h-e.h+(i>>22),CM(n&xXt,i&xXt,r&EXt)}function ust(t){var e;return t<128?(!(e=(CH(),Aee)[t])&&(e=Aee[t]=new Bf(t)),e):new Bf(t)}function hst(t){var e;return iP(t,78)?t:((e=t&&t.__java$exception)||aw(e=new yut(t)),e)}function dst(t){if(iP(t,186))return jz(t,118);if(t)return null;throw $b(new $v(e7t))}function fst(t,e){if(null==e)return!1;for(;t.a!=t.b;)if(Pht(e,Fut(t)))return!0;return!1}function gst(t){return!!t.a.Ob()||t.a==t.d&&(t.a=new A2(t.e.f),t.a.Ob())}function pst(t,e){var n;return 0!=(n=e.Pc()).length&&(Jz(t.c,t.c.length,n),!0)}function mst(t,e,n){var i,r;for(r=e.vc().Kc();r.Ob();)i=jz(r.Pb(),42),t.yc(i.cd(),i.dd(),n);return t}function bst(t,e){var n;for(n=new Gf(t.b);n.a=0,"Negative initial capacity"),mV(e>=0,"Non-positive load factor"),IG(this)}function tct(t,e,n){return!(t>=128)&&XD(t<64?t0(wU(1,t),n):t0(wU(1,t-64),e),0)}function ect(t,e){return!(!t||!e||t==e)&&Sft(t.b.c,e.b.c+e.b.b)<0&&Sft(e.b.c,t.b.c+t.b.b)<0}function nct(t){var e,n,i;return n=t.n,i=t.o,e=t.d,new qY(n.a-e.b,n.b-e.d,i.a+(e.b+e.c),i.b+(e.d+e.a))}function ict(t){var e,n,i,r;for(i=0,r=(n=t.a).length;i(i=t.gc()))throw $b(new JR(e,i));return t.hi()&&(n=QQ(t,n)),t.Vh(e,n)}function cct(t,e,n){return null==n?(!t.q&&(t.q=new Pb),m6(t.q,e)):(!t.q&&(t.q=new Pb),WK(t.q,e,n)),t}function lct(t,e,n){return null==n?(!t.q&&(t.q=new Pb),m6(t.q,e)):(!t.q&&(t.q=new Pb),WK(t.q,e,n)),t}function uct(t){var e,n;return Vat(n=new w6,t),lct(n,(Art(),sae),t),ezt(t,n,e=new Pb),xUt(t,n,e),n}function hct(t){var e,n,i;for(yNt(),n=P7(xxe,cYt,8,2,0,1),i=0,e=0;e<2;e++)i+=.5,n[e]=hkt(i,t);return n}function dct(t,e){var n,i,r;for(n=!1,i=t.a[e].length,r=0;r>=1);return e}function yct(t){var e,n;return 32==(n=QDt(t.h))?32==(e=QDt(t.m))?QDt(t.l)+32:e+20-10:n-12}function _ct(t){var e;return null==(e=t.a[t.b])?null:(IW(t.a,t.b,null),t.b=t.b+1&t.a.length-1,e)}function Cct(t){var e,n;return e=t.t-t.k[t.o.p]*t.d+t.j[t.o.p]>t.f,n=t.u+t.e[t.o.p]*t.d>t.f*t.s*t.d,e||n}function Act(t,e,n){var i,r;return i=new $7(e,n),r=new H,t.b=WOt(t,t.b,i,r),r.b||++t.c,t.b.b=!1,r.d}function xct(t,e,n){var i,r,o;for(o=0,r=Mht(e,n).Kc();r.Ob();)i=jz(r.Pb(),11),WK(t.c,i,ndt(o++))}function Ect(t){var e,n;for(n=new Gf(t.a.b);n.an&&(n=t[e]);return n}function Pct(t,e,n){var i;return yOt(t,e,i=new Mb,(vGt(),aDe),!0,!1),yOt(t,n,i,EDe,!1,!1),i}function Lct(t,e,n){var i,r;return r=M2(e,"labels"),GBt((i=new gD(t,n)).a,i.b,r),r}function Oct(t,e,n,i){var r;return(r=wMt(t,e,n,i))||!(r=odt(t,n,i))||jHt(t,e,r)?r:null}function Nct(t,e,n,i){var r;return(r=kMt(t,e,n,i))||!(r=adt(t,n,i))||jHt(t,e,r)?r:null}function Rct(t,e){var n;for(n=0;n1||e>=0&&t.b<3)}function Zct(t){var e,n;for(e=new kk,n=cbt(t,0);n.b!=n.d.c;)NO(e,0,new dB(jz(h3(n),8)));return e}function Qct(t){var e;for(e=new Gf(t.a.b);e.ai?1:0}function glt(t,e){return!!dLt(t,e)&&(ZDt(t.b,jz(wxt(e,(lKt(),Uhe)),21),e),LV(t.a,e),!0)}function plt(t){var e,n;(e=jz(wxt(t,(lKt(),yde)),10))&&(w9((n=e.c).a,e),0==n.a.c.length&&w9(mK(e).b,n))}function mlt(t){return Kne?P7(Vne,gZt,572,0,0,1):jz(Ymt(t.a,P7(Vne,gZt,572,t.a.c.length,0,1)),842)}function blt(t,e,n,i){return QK(),new cv(Est(Vy(zte,1),vYt,42,0,[(qwt(t,e),new mA(t,e)),(qwt(n,i),new mA(n,i))]))}function wlt(t,e,n){var i;return uit(i=new Ik,e,n),l8((!t.q&&(t.q=new tG(WBe,t,11,10)),t.q),i),i}function klt(t){var e,n,i,r;for(n=(r=lE(DIe,t)).length,i=P7(Yee,cYt,2,n,6,1),e=0;e=t.b.c.length||(_lt(t,2*e+1),(n=2*e+2)=0&&t[i]===e[i];i--);return i<0?0:sE(t0(t[i],UXt),t0(e[i],UXt))?-1:1}function xlt(t,e){var n,i;for(i=cbt(t,0);i.b!=i.d.c;)(n=jz(h3(i),214)).e.length>0&&(e.td(n),n.i&&mdt(n))}function Elt(t,e){var n,i;return i=jz(kat(t.a,4),126),n=P7(dBe,n8t,415,e,0,1),null!=i&&oVt(i,0,n,0,i.length),n}function Tlt(t,e){var n;return n=new iRt(!!(256&t.f),t.i,t.a,t.d,!!(16&t.f),t.j,t.g,e),null!=t.e||(n.c=t),n}function Slt(t,e){var n;for(n=t.Zb().Cc().Kc();n.Ob();)if(jz(n.Pb(),14).Hc(e))return!0;return!1}function Dlt(t,e,n,i,r){var o,a;for(a=n;a<=r;a++)for(o=e;o<=i;o++)if(bkt(t,o,a))return!0;return!1}function Ilt(t,e,n){var i,r,o,a;for(kK(n),a=!1,o=t.Zc(e),r=n.Kc();r.Ob();)i=r.Pb(),o.Rb(i),a=!0;return a}function Blt(t,e){var n;return t===e||!!iP(e,83)&&(n=jz(e,83),qEt(uU(t),n.vc()))}function Mlt(t,e,n){var i,r;for(r=n.Kc();r.Ob();)if(i=jz(r.Pb(),42),t.re(e,i.dd()))return!0;return!1}function Plt(t,e,n){return t.d[e.p][n.p]||(nwt(t,e,n),t.d[e.p][n.p]=!0,t.d[n.p][e.p]=!0),t.a[e.p][n.p]}function Llt(t,e){if(!t.ai()&&null==e)throw $b(new Rv("The 'no null' constraint is violated"));return e}function Olt(t,e){null==t.D&&null!=t.B&&(t.D=t.B,t.B=null),zit(t,null==e?null:(kK(e),e)),t.C&&t.yk(null)}function Nlt(t,e){return!(!t||t==e||!BO(e,(lKt(),nde)))&&jz(wxt(e,(lKt(),nde)),10)!=t}function Rlt(t){switch(t.i){case 2:return!0;case 1:return!1;case-1:++t.c;default:return t.pl()}}function Flt(t){switch(t.i){case-2:return!0;case-1:return!1;case 1:--t.c;default:return t.ql()}}function jlt(t){RQ.call(this,"The given string does not match the expected format for individual spacings.",t)}function $lt(){$lt=I,oIe=new iD("ELK",0),aIe=new iD("JSON",1),rIe=new iD("DOT",2),sIe=new iD("SVG",3)}function zlt(){zlt=I,s_e=new mS(YJt,0),c_e=new mS("RADIAL_COMPACTION",1),l_e=new mS("WEDGE_COMPACTION",2)}function Vlt(){Vlt=I,Hne=new pE("CONCURRENT",0),qne=new pE("IDENTITY_FINISH",1),Une=new pE("UNORDERED",2)}function Hlt(){Hlt=I,dx(),aoe=new II($Qt,soe=noe),ooe=new ob(zQt),coe=new ob(VQt),loe=new ob(HQt)}function qlt(){qlt=I,ule=new _i,hle=new Ci,lle=new Ai,cle=new xi,kK(new Ei),sle=new N}function Ult(){Ult=I,tke=new GT("CONSERVATIVE",0),eke=new GT("CONSERVATIVE_SOFT",1),nke=new GT("SLOPPY",2)}function Glt(){Glt=I,fSe=new GB(15),dSe=new UB((cKt(),UEe),fSe),gSe=gTe,cSe=rEe,lSe=NEe,hSe=jEe,uSe=FEe}function Wlt(t,e,n){var i,r;for(i=new YA,r=cbt(n,0);r.b!=r.d.c;)LV(i,new dB(jz(h3(r),8)));Ilt(t,e,i)}function Klt(t){var e,n,i;for(e=0,i=P7(xxe,cYt,8,t.b,0,1),n=cbt(t,0);n.b!=n.d.c;)i[e++]=jz(h3(n),8);return i}function Ylt(t){var e;return!t.a&&(t.a=new tG(UBe,t,9,5)),0!=(e=t.a).i?$x(jz(Wet(e,0),678)):null}function Xlt(t,e){var n;return n=ift(t,e),sE(n0(t,e),0)|YD(n0(t,n),0)?n:ift(dYt,n0(vU(n,63),1))}function Zlt(t,e){var n;n=null!=wbt((Ngt(),Wbe))&&null!=e.wg()?Vv(CN(e.wg()))/Vv(CN(wbt(Wbe))):1,WK(t.b,e,n)}function Qlt(t,e){var n,i;return(n=jz(t.d.Bc(e),14))?((i=t.e.hc()).Gc(n),t.e.d-=n.gc(),n.$b(),i):null}function Jlt(t,e){var n,i;if(0!=(i=t.c[e]))for(t.c[e]=0,t.d-=i,n=e+1;n0)return NU(e-1,t.a.c.length),s6(t.a,e-1);throw $b(new bw)}function eut(t,e,n){if(e<0)throw $b(new Dv(J5t+e));ee)throw $b(new Rv(wZt+t+kZt+e));if(t<0||e>n)throw $b(new _y(wZt+t+vZt+e+lZt+n))}function iut(t){if(!(t.a&&8&t.a.i))throw $b(new Fv("Enumeration class expected for layout option "+t.f))}function rut(t){var e;++t.j,0==t.i?t.g=null:t.iF3t?t-n>F3t:n-t>F3t)}function but(t,e){return t?e&&!t.j||iP(t,124)&&0==jz(t,124).a.b?0:t.Re():0}function wut(t,e){return t?e&&!t.k||iP(t,124)&&0==jz(t,124).a.a?0:t.Se():0}function kut(t){return DNt(),t<0?-1!=t?new Nbt(-1,-t):Xee:t<=10?Qee[EQ(t)]:new Nbt(1,t)}function vut(t){throw Qst(),$b(new gv("Unexpected typeof result '"+t+"'; please report this bug to the GWT team"))}function yut(t){cy(),WM(this),vX(this),this.e=t,TOt(this,t),this.g=null==t?qKt:$ft(t),this.a="",this.b=t,this.a=""}function _ut(){this.a=new es,this.f=new fm(this),this.b=new gm(this),this.i=new pm(this),this.e=new mm(this)}function Cut(){iv.call(this,new z7(tet(16))),hit(2,sYt),this.b=2,this.a=new $K(null,null,0,null),ew(this.a,this.a)}function Aut(){Aut=I,iwe=new NT("DUMMY_NODE_OVER",0),rwe=new NT("DUMMY_NODE_UNDER",1),owe=new NT("EQUAL",2)}function xut(){xut=I,Uae=$Q(Est(Vy(GTe,1),BYt,103,0,[(jht(),RTe),FTe])),Gae=$Q(Est(Vy(GTe,1),BYt,103,0,[$Te,NTe]))}function Eut(t){return(vGt(),wDe).Hc(t.j)?Vv(CN(wxt(t,(lKt(),Bde)))):Ict(Est(Vy(xxe,1),cYt,8,0,[t.i.n,t.n,t.a])).b}function Tut(t){var e,n;for(e=t.b.a.a.ec().Kc();e.Ob();)n=new YMt(jz(e.Pb(),561),t.e,t.f),Gz(t.g,n)}function Sut(t,e){var n,i;n=t.nk(e,null),i=null,e&&(eC(),rnt(i=new Nb,t.r)),(n=zAt(t,i,n))&&n.Fi()}function Dut(t,e){var n,i;for(i=0!=zMt(t.d,1),n=!0;n;)n=!1,n=e.c.Tf(e.e,i),n|=OLt(t,e,i,!1),i=!i;Brt(t)}function Iut(t,e){var n,i,r;return i=!1,n=e.q.d,e.dr&&(oCt(e.q,r),i=n!=e.q.d)),i}function But(t,e){var n,r,o,a,s;return a=e.i,s=e.j,r=a-(n=t.f).i,o=s-n.j,i.Math.sqrt(r*r+o*o)}function Mut(t,e){var n;return(n=Xpt(t))||(NVt(),l8((n=new Eb(XTt(e))).Vk(),t)),n}function Put(t,e){var n,i;return(n=jz(t.c.Bc(e),14))?((i=t.hc()).Gc(n),t.d-=n.gc(),n.$b(),t.mc(i)):t.jc()}function Lut(t,e){var n;for(n=0;n=t.c.b:t.a<=t.c.b))throw $b(new ww);return e=t.a,t.a+=t.c.c,++t.b,ndt(e)}function $ut(t){var e;return e=new uet(t),e2(t.a,sse,new Xv(Est(Vy(Xae,1),zKt,369,0,[e]))),e.d&&Gz(e.f,e.d),e.f}function zut(t){var e;return Vat(e=new SM(t.a),t),lct(e,(lKt(),fde),t),e.o.a=t.g,e.o.b=t.f,e.n.a=t.i,e.n.b=t.j,e}function Vut(t,e,n,i){var r,o;for(o=t.Kc();o.Ob();)(r=jz(o.Pb(),70)).n.a=e.a+(i.a-r.o.a)/2,r.n.b=e.b,e.b+=r.o.b+n}function Hut(t,e,n){var i;for(i=e.a.a.ec().Kc();i.Ob();)if(iZ(t,jz(i.Pb(),57),n))return!0;return!1}function qut(t){var e,n;for(n=new Gf(t.r);n.a=0?e:-e;i>0;)i%2==0?(n*=n,i=i/2|0):(r*=n,i-=1);return e<0?1/r:r}function nht(t,e){var n,i,r;for(r=1,n=t,i=e>=0?e:-e;i>0;)i%2==0?(n*=n,i=i/2|0):(r*=n,i-=1);return e<0?1/r:r}function iht(t){var e,n;if(null!=t)for(n=0;n0&&glt(jz(PH(t.a,t.a.c.length-1),570),e)||Gz(t.a,new p4(e))}function bht(t){var e,n;Vj(),e=t.d.c-t.e.c,Det((n=jz(t.g,145)).b,new vp(e)),Det(n.c,new yp(e)),t4(n.i,new _p(e))}function wht(t){var e;return(e=new Ey).a+="VerticalSegment ",oI(e,t.e),e.a+=" ",aI(e,XP(new by,new Gf(t.k))),e.a}function kht(t){var e;return(e=jz(utt(t.c.c,""),229))||(e=new qJ(v_(k_(new ws,""),"Other")),Zmt(t.c.c,"",e)),e}function vht(t){var e;return 64&t.Db?EMt(t):((e=new lL(EMt(t))).a+=" (name: ",iI(e,t.zb),e.a+=")",e.a)}function yht(t,e,n){var i,r;return r=t.sb,t.sb=e,4&t.Db&&!(1&t.Db)&&(i=new QU(t,1,4,r,e),n?n.Ei(i):n=i),n}function _ht(t,e){var n,i;for(n=0,i=oft(t,e).Kc();i.Ob();)n+=null!=wxt(jz(i.Pb(),11),(lKt(),yde))?1:0;return n}function Cht(t,e,n){var i,r,o;for(i=0,o=cbt(t,0);o.b!=o.d.c&&!((r=Vv(CN(h3(o))))>n);)r>=e&&++i;return i}function Aht(t,e,n){var i;return i=new M9(t.e,3,13,null,e.c||(pKt(),lMe),awt(t,e),!1),n?n.Ei(i):n=i,n}function xht(t,e,n){var i;return i=new M9(t.e,4,13,e.c||(pKt(),lMe),null,awt(t,e),!1),n?n.Ei(i):n=i,n}function Eht(t,e,n){var i,r;return r=t.r,t.r=e,4&t.Db&&!(1&t.Db)&&(i=new QU(t,1,8,r,t.r),n?n.Ei(i):n=i),n}function Tht(t,e){var n,i;return!(i=(n=jz(e,676)).vk())&&n.wk(i=iP(e,88)?new ID(t,jz(e,26)):new R0(t,jz(e,148))),i}function Sht(t,e,n){var i;t.qi(t.i+1),i=t.oi(e,n),e!=t.i&&oVt(t.g,e,t.g,e+1,t.i-e),IW(t.g,e,i),++t.i,t.bi(e,n),t.ci()}function Dht(t,e){var n;return e.a&&(n=e.a.a.length,t.a?aI(t.a,t.b):t.a=new uL(t.d),V0(t.a,e.a,e.d.length,n)),t}function Iht(t,e){var n,i,r;if(e.vi(t.a),null!=(r=jz(kat(t.a,8),1936)))for(n=0,i=r.length;nn)throw $b(new Dv(wZt+t+vZt+e+", size: "+n));if(t>e)throw $b(new Rv(wZt+t+kZt+e))}function Vht(t,e,n){if(e<0)rDt(t,n);else{if(!n.Ij())throw $b(new Rv(i6t+n.ne()+r6t));jz(n,66).Nj().Vj(t,t.yh(),e)}}function Hht(t,e,n,i,r,o,a,s){var c;for(c=n;o=i||e=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t>=48&&t<=57?t-48:0}function Kht(t){var e;return 64&t.Db?EMt(t):((e=new lL(EMt(t))).a+=" (source: ",iI(e,t.d),e.a+=")",e.a)}function Yht(t,e,n){var i,r;return r=t.a,t.a=e,4&t.Db&&!(1&t.Db)&&(i=new QU(t,1,5,r,t.a),n?RCt(n,i):n=i),n}function Xht(t,e){var n;n=!!(256&t.Bb),e?t.Bb|=256:t.Bb&=-257,4&t.Db&&!(1&t.Db)&&dat(t,new J4(t,1,2,n,e))}function Zht(t,e){var n;n=!!(256&t.Bb),e?t.Bb|=256:t.Bb&=-257,4&t.Db&&!(1&t.Db)&&dat(t,new J4(t,1,8,n,e))}function Qht(t,e){var n;n=!!(256&t.Bb),e?t.Bb|=256:t.Bb&=-257,4&t.Db&&!(1&t.Db)&&dat(t,new J4(t,1,8,n,e))}function Jht(t,e){var n;n=!!(512&t.Bb),e?t.Bb|=512:t.Bb&=-513,4&t.Db&&!(1&t.Db)&&dat(t,new J4(t,1,3,n,e))}function tdt(t,e){var n;n=!!(512&t.Bb),e?t.Bb|=512:t.Bb&=-513,4&t.Db&&!(1&t.Db)&&dat(t,new J4(t,1,9,n,e))}function edt(t,e){var n;return-1==t.b&&t.a&&(n=t.a.Gj(),t.b=n?t.c.Xg(t.a.aj(),n):Igt(t.c.Tg(),t.a)),t.c.Og(t.b,e)}function ndt(t){var e,n;return t>-129&&t<128?(e=t+128,!(n=(JV(),See)[e])&&(n=See[e]=new Pf(t)),n):new Pf(t)}function idt(t){var e,n;return t>-129&&t<128?(e=t+128,!(n=(_H(),Ree)[e])&&(n=Ree[e]=new Of(t)),n):new Of(t)}function rdt(t){var e;return t.k==(aEt(),Cse)&&((e=jz(wxt(t,(lKt(),Khe)),61))==(vGt(),sDe)||e==ADe)}function odt(t,e,n){var i,r;return(r=BMt(t.b,e))&&(i=jz(PVt(F9(t,r),""),26))?wMt(t,i,e,n):null}function adt(t,e,n){var i,r;return(r=BMt(t.b,e))&&(i=jz(PVt(F9(t,r),""),26))?kMt(t,i,e,n):null}function sdt(t,e){var n,i;for(i=new DP(t);i.e!=i.i.gc();)if(n=jz(vbt(i),138),VD(e)===VD(n))return!0;return!1}function cdt(t,e,n){var i;if(e>(i=t.gc()))throw $b(new JR(e,i));if(t.hi()&&t.Hc(n))throw $b(new Rv(o7t));t.Xh(e,n)}function ldt(t,e){var n;if(null==(n=cnt(t.i,e)))throw $b(new ty("Node did not exist in input."));return Rot(e,n),null}function udt(t,e){var n;if(iP(n=PLt(t,e),322))return jz(n,34);throw $b(new Rv(i6t+e+"' is not a valid attribute"))}function hdt(t,e,n){var i,r;for(r=iP(e,99)&&jz(e,18).Bb&$Xt?new PI(e,t):new Iat(e,t),i=0;ie?1:t==e?0==t?Edt(1/t,1/e):0:isNaN(t)?isNaN(e)?0:1:-1}function Tdt(t,e){DAt(e,"Sort end labels",1),XA(DY(dtt(new OH(null,new d1(t.b,16)),new gn),new pn),new mn),zEt(e)}function Sdt(t,e,n){var i,r;return t.ej()?(r=t.fj(),i=XDt(t,e,n),t.$i(t.Zi(7,ndt(n),i,e,r)),i):XDt(t,e,n)}function Ddt(t,e){var n,i,r;null==t.d?(++t.e,--t.f):(r=e.cd(),M6(t,i=((n=e.Sh())&OKt)%t.d.length,IMt(t,i,n,r)))}function Idt(t,e){var n;n=!!(t.Bb&v6t),e?t.Bb|=v6t:t.Bb&=-1025,4&t.Db&&!(1&t.Db)&&dat(t,new J4(t,1,10,n,e))}function Bdt(t,e){var n;n=!!(t.Bb&FXt),e?t.Bb|=FXt:t.Bb&=-4097,4&t.Db&&!(1&t.Db)&&dat(t,new J4(t,1,12,n,e))}function Mdt(t,e){var n;n=!!(t.Bb&C8t),e?t.Bb|=C8t:t.Bb&=-8193,4&t.Db&&!(1&t.Db)&&dat(t,new J4(t,1,15,n,e))}function Pdt(t,e){var n;n=!!(t.Bb&A8t),e?t.Bb|=A8t:t.Bb&=-2049,4&t.Db&&!(1&t.Db)&&dat(t,new J4(t,1,11,n,e))}function Ldt(t,e){var n;return 0!=(n=Edt(t.b.c,e.b.c))||0!=(n=Edt(t.a.a,e.a.a))?n:Edt(t.a.b,e.a.b)}function Odt(t,e){var n;if(null==(n=OW(t.k,e)))throw $b(new ty("Port did not exist in input."));return Rot(e,n),null}function Ndt(t){var e,n;for(n=HMt(Uet(t)).Kc();n.Ob();)if(Pjt(t,e=AN(n.Pb())))return w5((qx(),LBe),e);return null}function Rdt(t,e){var n,i,r,o,a;for(a=oOt(t.e.Tg(),e),o=0,n=jz(t.g,119),r=0;r>10)+zXt&YYt,e[1]=56320+(1023&t)&YYt,$pt(e,0,e.length)}function Wdt(t){var e;return(e=jz(wxt(t,(zWt(),qpe)),103))==(jht(),jTe)?Vv(CN(wxt(t,ype)))>=1?FTe:NTe:e}function Kdt(t){switch(jz(wxt(t,(zWt(),Zpe)),218).g){case 1:return new io;case 3:return new co;default:return new no}}function Ydt(t){if(t.c)Ydt(t.c);else if(t.d)throw $b(new Fv("Stream already terminated, can't be modified or used"))}function Xdt(t){var e;return 64&t.Db?EMt(t):((e=new lL(EMt(t))).a+=" (identifier: ",iI(e,t.k),e.a+=")",e.a)}function Zdt(t,e,n){var i;return J_(),ynt(i=new oc,e),_nt(i,n),t&&l8((!t.a&&(t.a=new IP(MIe,t,5)),t.a),i),i}function Qdt(t,e,n,i){var r,o;return kK(i),kK(n),null==(o=null==(r=t.xc(e))?n:ZA(jz(r,15),jz(n,14)))?t.Bc(e):t.zc(e,o),o}function Jdt(t){var e,n,i,r;return srt(n=new YF(e=jz(W_((r=(i=t.gm).f)==Ute?i:r),9),jz(AR(e,e.length),9),0),t),n}function tft(t,e,n){var i,r;for(r=t.a.ec().Kc();r.Ob();)if(i=jz(r.Pb(),10),sst(n,jz(PH(e,i.p),14)))return i;return null}function eft(t,e,n){try{Fct(t,e,n)}catch(t){throw iP(t=hst(t),597)?$b(new g4(t)):$b(t)}return e}function nft(t,e){var n;return XI(t)&&XI(e)&&BXt<(n=t-e)&&n>1,t.k=n-1>>1}function cft(){var t,e,n;kAt(),n=Bne+++Date.now(),t=EQ(i.Math.floor(n*aZt))&cZt,e=EQ(n-t*sZt),this.a=1502^t,this.b=e^oZt}function lft(t){var e,n;for(e=new Mb,n=new Gf(t.j);n.a34028234663852886e22?NXt:e<-34028234663852886e22?RXt:e}function mft(t){return t=((t=((t-=t>>1&1431655765)>>2&858993459)+(858993459&t))>>4)+t&252645135,t+=t>>8,63&(t+=t>>16)}function bft(t){var e,n,i;for(e=new cR(t.Hd().gc()),i=0,n=B8(t.Hd().Kc());n.Ob();)vJ(e,n.Pb(),ndt(i++));return PEt(e.a)}function wft(t,e){var n,i,r;for(r=new Pb,i=e.vc().Kc();i.Ob();)WK(r,(n=jz(i.Pb(),42)).cd(),hat(t,jz(n.dd(),15)));return r}function kft(t,e){0==t.n.c.length&&Gz(t.n,new OQ(t.s,t.t,t.i)),Gz(t.b,e),ckt(jz(PH(t.n,t.n.c.length-1),211),e),$$t(t,e)}function vft(t){return t.c==t.b.b&&t.i==t.g.b||(t.a.c=P7(Ite,zKt,1,0,5,1),pst(t.a,t.b),pst(t.a,t.g),t.c=t.b.b,t.i=t.g.b),t.a}function yft(t,e){var n,i;for(i=0,n=jz(e.Kb(t),20).Kc();n.Ob();)zv(_N(wxt(jz(n.Pb(),17),(lKt(),Ede))))||++i;return i}function _ft(t,e){var n,r;r=Vv(CN(ept(l2(e),(zWt(),wbe)))),jyt(e,n=i.Math.max(0,r/2-.5),1),Gz(t,new uT(e,n))}function Cft(){Cft=I,zde=new jT(YJt,0),Rde=new jT("FIRST",1),Fde=new jT(T1t,2),jde=new jT("LAST",3),$de=new jT(S1t,4)}function Aft(){Aft=I,ZTe=new FS(lQt,0),YTe=new FS("POLYLINE",1),KTe=new FS("ORTHOGONAL",2),XTe=new FS("SPLINES",3)}function xft(){xft=I,Z_e=new kS("ASPECT_RATIO_DRIVEN",0),Q_e=new kS("MAX_SCALE_DRIVEN",1),X_e=new kS("AREA_DRIVEN",2)}function Eft(){Eft=I,$Ce=new yS("P1_STRUCTURE",0),zCe=new yS("P2_PROCESSING_ORDER",1),VCe=new yS("P3_EXECUTION",2)}function Tft(){Tft=I,t_e=new gS("OVERLAP_REMOVAL",0),Qye=new gS("COMPACTION",1),Jye=new gS("GRAPH_SIZE_CALCULATION",2)}function Sft(t,e){return cM(),iit(RYt),i.Math.abs(t-e)<=RYt||t==e||isNaN(t)&&isNaN(e)?0:te?1:HI(isNaN(t),isNaN(e))}function Dft(t,e){var n,i;for(n=cbt(t,0);n.b!=n.d.c;){if((i=Hv(CN(h3(n))))==e)return;if(i>e){q0(n);break}}QG(n,e)}function Ift(t,e){var n,i,r,o,a;if(n=e.f,Zmt(t.c.d,n,e),null!=e.g)for(o=0,a=(r=e.g).length;oe&&i.ue(t[o-1],t[o])>0;--o)a=t[o],IW(t,o,t[o-1]),IW(t,o-1,a)}function Mft(t,e,n,i){if(e<0)CPt(t,n,i);else{if(!n.Ij())throw $b(new Rv(i6t+n.ne()+r6t));jz(n,66).Nj().Tj(t,t.yh(),e,i)}}function Pft(t,e){if(e==t.d)return t.e;if(e==t.e)return t.d;throw $b(new Rv("Node "+e+" not part of edge "+t))}function Lft(t,e){switch(e.g){case 2:return t.b;case 1:return t.c;case 4:return t.d;case 3:return t.a;default:return!1}}function Oft(t,e){switch(e.g){case 2:return t.b;case 1:return t.c;case 4:return t.d;case 3:return t.a;default:return!1}}function Nft(t,e,n,i){switch(e){case 3:return t.f;case 4:return t.g;case 5:return t.i;case 6:return t.j}return Fht(t,e,n,i)}function Rft(t){return t.k==(aEt(),Ese)&&a4(new OH(null,new HG(new aU(ZP(hft(t).a.Kc(),new u)))),new Hr)}function Fft(t){return null==t.e?t:(!t.c&&(t.c=new iRt(!!(256&t.f),t.i,t.a,t.d,!!(16&t.f),t.j,t.g,null)),t.c)}function jft(t,e){return t.h==TXt&&0==t.m&&0==t.l?(e&&(hee=CM(0,0,0)),GI((U9(),gee))):(e&&(hee=CM(t.l,t.m,t.h)),CM(0,0,0))}function $ft(t){return Array.isArray(t)&&t.im===D?Q_(tlt(t))+"@"+(Jct(t)>>>0).toString(16):t.toString()}function zft(t){var e;this.a=new YF(e=jz(t.e&&t.e(),9),jz(AR(e,e.length),9),0),this.b=P7(Ite,zKt,1,this.a.a.length,5,1)}function Vft(t){var e,n,i;for(this.a=new lB,i=new Gf(t);i.a0&&(h1(e-1,t.length),58==t.charCodeAt(e-1))&&!Gft(t,IBe,BBe)}function Gft(t,e,n){var i,r;for(i=0,r=t.length;i=r)return e.c+n;return e.c+e.b.gc()}function Yft(t,e){var n,i,r,o;for(fN(),r=e,H8(i=$8(t),0,i.length,r),n=0;n0&&(i+=r,++n);return n>1&&(i+=t.d*(n-1)),i}function Zft(t){var e,n,i;for((i=new Ay).a+="[",e=0,n=t.gc();e0&&this.b>0&&YH(this.c,this.b,this.a)}function agt(t){Ngt(),this.c=o6(Est(Vy(nxe,1),zKt,831,0,[Gbe])),this.b=new Pb,this.a=t,WK(this.b,Wbe,1),Det(Kbe,new xm(this))}function sgt(t,e){var n;return t.d?cG(t.b,e)?jz(OW(t.b,e),51):(n=e.Kf(),WK(t.b,e,n),n):e.Kf()}function cgt(t,e){var n;return VD(t)===VD(e)||!!iP(e,91)&&(n=jz(e,91),t.e==n.e&&t.d==n.d&&y5(t,n.a))}function lgt(t){switch(vGt(),t.g){case 4:return sDe;case 1:return aDe;case 3:return ADe;case 2:return EDe;default:return xDe}}function ugt(t,e){switch(e){case 3:return 0!=t.f;case 4:return 0!=t.g;case 5:return 0!=t.i;case 6:return 0!=t.j}return _at(t,e)}function hgt(t){switch(t.g){case 0:return new Ua;case 1:return new Ga;default:throw $b(new Rv(r5t+(null!=t.f?t.f:""+t.g)))}}function dgt(t){switch(t.g){case 0:return new qa;case 1:return new Wa;default:throw $b(new Rv(A1t+(null!=t.f?t.f:""+t.g)))}}function fgt(t){switch(t.g){case 0:return new Wk;case 1:return new wk;default:throw $b(new Rv(P5t+(null!=t.f?t.f:""+t.g)))}}function ggt(t){switch(t.g){case 1:return new Fa;case 2:return new gN;default:throw $b(new Rv(r5t+(null!=t.f?t.f:""+t.g)))}}function pgt(t){var e,n;if(t.b)return t.b;for(n=Kne?null:t.d;n;){if(e=Kne?null:n.b)return e;n=Kne?null:n.d}return ux(),$ne}function mgt(t){var e,n;return 0==t.e?0:(e=t.d<<5,n=t.a[t.d-1],t.e<0&&Tot(t)==t.d-1&&(--n,n|=0),e-=QDt(n))}function bgt(t){var e,n,i;return t>5),15,1))[n]=1<3;)r*=10,--o;t=(t+(r>>1))/r|0}return i.i=t,!0}function _gt(t){return xut(),cL(),!!(Oft(jz(t.a,81).j,jz(t.b,103))||0!=jz(t.a,81).d.e&&Oft(jz(t.a,81).j,jz(t.b,103)))}function Cgt(t){P8(),jz(t.We((cKt(),zEe)),174).Hc((JFt(),WDe))&&(jz(t.We(lTe),174).Fc((hDt(),iDe)),jz(t.We(zEe),174).Mc(WDe))}function Agt(t,e){var n;if(e){for(n=0;n=0;--i)for(e=n[i],r=0;r>1,this.k=e-1>>1}function Hgt(t,e){DAt(e,"End label post-processing",1),XA(DY(dtt(new OH(null,new d1(t.b,16)),new an),new sn),new cn),zEt(e)}function qgt(t,e,n){var i;return i=Vv(t.p[e.i.p])+Vv(t.d[e.i.p])+e.n.b+e.a.b,Vv(t.p[n.i.p])+Vv(t.d[n.i.p])+n.n.b+n.a.b-i}function Ugt(t,e,n){var i,r;for(i=t0(n,UXt),r=0;0!=Kut(i,0)&&r0&&(h1(0,e.length),43==e.charCodeAt(0))?e.substr(1):e)}function Kgt(t){var e;return null==t?null:new IB((e=jzt(t,!0)).length>0&&(h1(0,e.length),43==e.charCodeAt(0))?e.substr(1):e)}function Ygt(t,e){return t.i>0&&(e.lengtht.i&&IW(e,t.i,null),e}function Xgt(t,e,n){var i,r,o;return t.ej()?(i=t.i,o=t.fj(),Sht(t,i,e),r=t.Zi(3,null,e,i,o),n?n.Ei(r):n=r):Sht(t,t.i,e),n}function Zgt(t,e,n){var i,r;return i=new M9(t.e,4,10,iP(r=e.c,88)?jz(r,26):(pKt(),dMe),null,awt(t,e),!1),n?n.Ei(i):n=i,n}function Qgt(t,e,n){var i,r;return i=new M9(t.e,3,10,null,iP(r=e.c,88)?jz(r,26):(pKt(),dMe),awt(t,e),!1),n?n.Ei(i):n=i,n}function Jgt(t){var e;return zN(),e=new dB(jz(t.e.We((cKt(),jEe)),8)),t.B.Hc((JFt(),VDe))&&(e.a<=0&&(e.a=20),e.b<=0&&(e.b=20)),e}function tpt(t){return dwt(),(t.q?t.q:(AX(),AX(),lne))._b((zWt(),Ome))?jz(wxt(t,Ome),197):jz(wxt(mK(t),Nme),197)}function ept(t,e){var n,i;return i=null,BO(t,(zWt(),Cbe))&&(n=jz(wxt(t,Cbe),94)).Xe(e)&&(i=n.We(e)),null==i&&(i=wxt(mK(t),e)),i}function npt(t,e){var n,i,r;return!!iP(e,42)&&(i=(n=jz(e,42)).cd(),dK(r=hht(t.Rc(),i),n.dd())&&(null!=r||t.Rc()._b(i)))}function ipt(t,e){var n;return t.f>0&&(t.qj(),-1!=IMt(t,((n=null==e?0:Jct(e))&OKt)%t.d.length,n,e))}function rpt(t,e){var n,i;return t.f>0&&(t.qj(),n=oIt(t,((i=null==e?0:Jct(e))&OKt)%t.d.length,i,e))?n.dd():null}function opt(t,e){var n,i,r,o;for(o=oOt(t.e.Tg(),e),n=jz(t.g,119),r=0;r1?e0(wU(e.a[1],32),t0(e.a[0],UXt)):t0(e.a[0],UXt),v2(rft(e.e,n))))}function hpt(t,e){var n;return XI(t)&&XI(e)&&BXt<(n=t%e)&&n>5,e&=31,r=t.d+n+(0==e?0:1),LAt(i=P7(SLe,lXt,25,r,15,1),t.a,n,e),U0(o=new uG(t.e,r,i)),o}function Cpt(t,e,n){var i,r;i=jz(AQ(tLe,e),117),r=jz(AQ(eLe,e),117),n?(bJ(tLe,t,i),bJ(eLe,t,r)):(bJ(eLe,t,i),bJ(tLe,t,r))}function Apt(t,e,n){var i,r,o;for(r=null,o=t.b;o;){if(i=t.a.ue(e,o.d),n&&0==i)return o;i>=0?o=o.a[1]:(r=o,o=o.a[0])}return r}function xpt(t,e,n){var i,r,o;for(r=null,o=t.b;o;){if(i=t.a.ue(e,o.d),n&&0==i)return o;i<=0?o=o.a[0]:(r=o,o=o.a[1])}return r}function Ept(t,e,n,i){var r,o,a;return r=!1,Mqt(t.f,n,i)&&(Lmt(t.f,t.a[e][n],t.a[e][i]),a=(o=t.a[e])[i],o[i]=o[n],o[n]=a,r=!0),r}function Tpt(t,e,n,i,r){var o,a,s;for(a=r;e.b!=e.c;)o=jz(fG(e),10),s=jz(oft(o,i).Xb(0),11),t.d[s.p]=a++,n.c[n.c.length]=s;return a}function Spt(t,e,n){var r,o,a,s,c;return s=t.k,c=e.k,o=CN(ept(t,r=n[s.g][c.g])),a=CN(ept(e,r)),i.Math.max((kK(o),o),(kK(a),a))}function Dpt(t,e,n){var i,r,o,a;for(i=n/t.c.length,r=0,a=new Gf(t);a.a2e3&&(oee=t,aee=i.setTimeout(KC,10)),0==ree++&&(Stt((sy(),tee)),!0)}function Ppt(t,e){var n;for(n=new aU(ZP(hft(t).a.Kc(),new u));gBt(n);)if(jz(q4(n),17).d.i.c==e)return!1;return!0}function Lpt(t,e){var n;if(iP(e,245)){n=jz(e,245);try{return 0==t.vd(n)}catch(t){if(!iP(t=hst(t),205))throw $b(t)}}return!1}function Opt(){return Error.stackTraceLimit>0?(i.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error}function Npt(t,e){return cM(),cM(),iit(RYt),(i.Math.abs(t-e)<=RYt||t==e||isNaN(t)&&isNaN(e)?0:te?1:HI(isNaN(t),isNaN(e)))>0}function Rpt(t,e){return cM(),cM(),iit(RYt),(i.Math.abs(t-e)<=RYt||t==e||isNaN(t)&&isNaN(e)?0:te?1:HI(isNaN(t),isNaN(e)))<0}function Fpt(t,e){return cM(),cM(),iit(RYt),(i.Math.abs(t-e)<=RYt||t==e||isNaN(t)&&isNaN(e)?0:te?1:HI(isNaN(t),isNaN(e)))<=0}function jpt(t,e){for(var n=0;!e[n]||""==e[n];)n++;for(var i=e[n++];nHXt)return n.fh();if((i=n.Zg())||n==t)break}return i}function Zpt(t){return cJ(),iP(t,156)?jz(OW(oBe,wne),288).vg(t):cG(oBe,tlt(t))?jz(OW(oBe,tlt(t)),288).vg(t):null}function Qpt(t){if(wmt(o4t,t))return cL(),bee;if(wmt(a4t,t))return cL(),mee;throw $b(new Rv("Expecting true or false"))}function Jpt(t,e){if(e.c==t)return e.d;if(e.d==t)return e.c;throw $b(new Rv("Input edge is not connected to the input port."))}function tmt(t,e){return t.e>e.e?1:t.ee.d?t.e:t.d=48&&t<48+i.Math.min(10,10)?t-48:t>=97&&t<97?t-97+10:t>=65&&t<65?t-65+10:-1}function nmt(t,e){var n;return VD(e)===VD(t)||!!iP(e,21)&&(n=jz(e,21)).gc()==t.gc()&&t.Ic(n)}function imt(t,e){var n,i,r;return i=t.a.length-1,n=e-t.b&i,r=t.c-e&i,yO(n<(t.c-t.b&i)),n>=r?(out(t,e),-1):(aut(t,e),1)}function rmt(t,e){var n,i;for(h1(e,t.length),n=t.charCodeAt(e),i=e+1;ie.e?1:t.fe.f?1:Jct(t)-Jct(e)}function wmt(t,e){return kK(t),null!=e&&(!!bF(t,e)||t.length==e.length&&bF(t.toLowerCase(),e.toLowerCase()))}function kmt(t,e){var n,i,r,o;for(i=0,r=e.gc();i0&&Kut(t,128)<0?(e=fq(t)+128,!(n=(yH(),Bee)[e])&&(n=Bee[e]=new Lf(t)),n):new Lf(t)}function _mt(t,e){var n,i;return(n=e.Hh(t.a))&&null!=(i=AN(rpt((!n.b&&(n.b=new XO((pKt(),wMe),qMe,n)),n.b),t7t)))?i:e.ne()}function Cmt(t,e){var n,i;return(n=e.Hh(t.a))&&null!=(i=AN(rpt((!n.b&&(n.b=new XO((pKt(),wMe),qMe,n)),n.b),t7t)))?i:e.ne()}function Amt(t,e){var n,i;for(zJ(),i=new aU(ZP(lft(t).a.Kc(),new u));gBt(i);)if((n=jz(q4(i),17)).d.i==e||n.c.i==e)return n;return null}function xmt(t,e,n){this.c=t,this.f=new Mb,this.e=new V_,this.j=new AH,this.n=new AH,this.b=e,this.g=new qY(e.c,e.d,e.b,e.a),this.a=n}function Emt(t){var e,n,i,r;for(this.a=new lB,this.d=new Ow,this.e=0,i=0,r=(n=t).length;i0)}function Pmt(t){var e;VD(QBt(t,(cKt(),yEe)))===VD((aht(),mSe))&&(XQ(t)?(e=jz(QBt(XQ(t),yEe),334),Xbt(t,yEe,e)):Xbt(t,yEe,bSe))}function Lmt(t,e,n){var i,r;uxt(t.e,e,n,(vGt(),EDe)),uxt(t.i,e,n,aDe),t.a&&(r=jz(wxt(e,(lKt(),fde)),11),i=jz(wxt(n,fde),11),k0(t.g,r,i))}function Omt(t,e,n){var i,r,o;i=e.c.p,o=e.p,t.b[i][o]=new LZ(t,e),n&&(t.a[i][o]=new jp(e),(r=jz(wxt(e,(lKt(),nde)),10))&&ZDt(t.d,r,e))}function Nmt(t,e){var n,i,r;if(Gz(Aoe,t),e.Fc(t),n=jz(OW(Coe,t),21))for(r=n.Kc();r.Ob();)i=jz(r.Pb(),33),-1!=y9(Aoe,i,0)||Nmt(i,e)}function Rmt(t,e,n){var i;(Gne?(pgt(t),1):Wne||Xne?(ux(),1):Yne&&(ux(),0))&&((i=new ej(e)).b=n,oEt(t,i))}function Fmt(t,e){var n;n=!t.A.Hc((wpt(),RDe))||t.q==(YCt(),USe),t.u.Hc((hDt(),tDe))?n?PGt(t,e):oGt(t,e):t.u.Hc(nDe)&&(n?IUt(t,e):ZGt(t,e))}function jmt(t,e){var n,i;++t.j,null!=e&&sIt(e,n=iP(i=t.a.Cb,97)?jz(i,97).Jg():null)?lmt(t.a,4,n):lmt(t.a,4,jz(e,126))}function $mt(t,e,n){return new qY(i.Math.min(t.a,e.a)-n/2,i.Math.min(t.b,e.b)-n/2,i.Math.abs(t.a-e.a)+n,i.Math.abs(t.b-e.b)+n)}function zmt(t,e){var n,i;return 0!=(n=yM(t.a.c.p,e.a.c.p))?n:0!=(i=yM(t.a.d.i.p,e.a.d.i.p))?i:yM(e.a.d.p,t.a.d.p)}function Vmt(t,e,n){var i,r,o,a;return(o=e.j)!=(a=n.j)?o.g-a.g:(i=t.f[e.p],r=t.f[n.p],0==i&&0==r?0:0==i?-1:0==r?1:Edt(i,r))}function Hmt(t,e,n){var i;if(!n[e.d])for(n[e.d]=!0,i=new Gf(vft(e));i.a=(r=t.length))return r;for(e=e>0?e:0;ei&&IW(e,i,null),e}function Xmt(t,e){var n,i;for(i=t.a.length,e.lengthi&&IW(e,i,null),e}function Zmt(t,e,n){var i,r,o;return(r=jz(OW(t.e,e),387))?(o=pR(r,n),oP(t,r),o):(i=new Qz(t,e,n),WK(t.e,e,i),kQ(i),null)}function Qmt(t){var e;if(null==t)return null;if(null==(e=MMt(jzt(t,!0))))throw $b(new ey("Invalid hexBinary value: '"+t+"'"));return e}function Jmt(t){return DNt(),Kut(t,0)<0?0!=Kut(t,-1)?new bCt(-1,v9(t)):Xee:Kut(t,10)<=0?Qee[fq(t)]:new bCt(1,t)}function tbt(){return gKt(),Est(Vy(Nre,1),BYt,159,0,[xre,Are,Ere,mre,pre,bre,vre,kre,wre,Cre,_re,yre,fre,dre,gre,ure,lre,hre,sre,are,cre,Tre])}function ebt(t){var e;this.d=new Mb,this.j=new V_,this.g=new V_,e=t.g.b,this.f=jz(wxt(mK(e),(zWt(),qpe)),103),this.e=Vv(CN(pbt(e,Abe)))}function nbt(t){this.b=new Mb,this.e=new Mb,this.d=t,this.a=!vC(DY(new OH(null,new HG(new b6(t.b))),new rg(new qr))).sd((fx(),Jne))}function ibt(){ibt=I,cxe=new DS("PARENTS",0),sxe=new DS("NODES",1),oxe=new DS("EDGES",2),lxe=new DS("PORTS",3),axe=new DS("LABELS",4)}function rbt(){rbt=I,jSe=new HS("DISTRIBUTED",0),zSe=new HS("JUSTIFIED",1),RSe=new HS("BEGIN",2),FSe=new HS(eQt,3),$Se=new HS("END",4)}function obt(t){switch(t.yi(null)){case 10:return 0;case 15:return 1;case 14:return 2;case 11:return 3;case 21:return 4}return-1}function abt(t){switch(t.g){case 1:return jht(),$Te;case 4:return jht(),RTe;case 2:return jht(),FTe;case 3:return jht(),NTe}return jht(),jTe}function sbt(t,e,n){var i;switch((i=n.q.getFullYear()-cXt+cXt)<0&&(i=-i),e){case 1:t.a+=i;break;case 2:ytt(t,i%100,2);break;default:ytt(t,i,e)}}function cbt(t,e){var n,i;if(BJ(e,t.b),e>=t.b>>1)for(i=t.c,n=t.b;n>e;--n)i=i.b;else for(i=t.a.a,n=0;n=64&&e<128&&(r=e0(r,wU(1,e-64)));return r}function pbt(t,e){var n,i;return i=null,BO(t,(cKt(),ETe))&&(n=jz(wxt(t,ETe),94)).Xe(e)&&(i=n.We(e)),null==i&&mK(t)&&(i=wxt(mK(t),e)),i}function mbt(t,e){var n,i,r;(i=(r=e.d.i).k)!=(aEt(),Ese)&&i!=_se&&gBt(n=new aU(ZP(hft(r).a.Kc(),new u)))&&WK(t.k,e,jz(q4(n),17))}function bbt(t,e){var n,i,r;return i=eet(t.Tg(),e),(n=e-t.Ah())<0?(r=t.Yg(i))>=0?t.lh(r):VDt(t,i):n<0?VDt(t,i):jz(i,66).Nj().Sj(t,t.yh(),n)}function wbt(t){var e;if(iP(t.a,4)){if(null==(e=Zpt(t.a)))throw $b(new Fv(s4t+t.b+"'. "+i4t+(yN(uBe),uBe.k)+r4t));return e}return t.a}function kbt(t){var e;if(null==t)return null;if(null==(e=UGt(jzt(t,!0))))throw $b(new ey("Invalid base64Binary value: '"+t+"'"));return e}function vbt(t){var e;try{return e=t.i.Xb(t.e),t.mj(),t.g=t.e++,e}catch(e){throw iP(e=hst(e),73)?(t.mj(),$b(new ww)):$b(e)}}function ybt(t){var e;try{return e=t.c.ki(t.e),t.mj(),t.g=t.e++,e}catch(e){throw iP(e=hst(e),73)?(t.mj(),$b(new ww)):$b(e)}}function _bt(){_bt=I,cKt(),yoe=_Te,poe=wEe,uoe=iEe,moe=UEe,Fyt(),koe=Cie,woe=yie,voe=xie,boe=vie,Hlt(),doe=aoe,hoe=ooe,foe=coe,goe=loe}function Cbt(t){switch(vx(),this.c=new Mb,this.d=t,t.g){case 0:case 2:this.a=KK(cse),this.b=NXt;break;case 3:case 1:this.a=cse,this.b=RXt}}function Abt(t,e,n){var i;if(t.c)Ent(t.c,t.c.i+e),Tnt(t.c,t.c.j+n);else for(i=new Gf(t.b);i.a0&&(Gz(t.b,new Wz(e.a,n)),0<(i=e.a.length)?e.a=e.a.substr(0,0):0>i&&(e.a+=nP(P7(TLe,WYt,25,-i,15,1))))}function Tbt(t,e){var n,i,r;for(n=t.o,r=jz(jz(c6(t.r,e),21),84).Kc();r.Ob();)(i=jz(r.Pb(),111)).e.a=gvt(i,n.a),i.e.b=n.b*Vv(CN(i.b.We(Bre)))}function Sbt(t,e){var n,i,r,o;return r=t.k,n=Vv(CN(wxt(t,(lKt(),_de)))),o=e.k,i=Vv(CN(wxt(e,_de))),o!=(aEt(),Cse)?-1:r!=Cse?1:n==i?0:n=0?t.hh(e,n,i):(t.eh()&&(i=(r=t.Vg())>=0?t.Qg(i):t.eh().ih(t,-1-r,null,i)),t.Sg(e,n,i))}function Lbt(t,e){switch(e){case 7:return!t.e&&(t.e=new cF(NIe,t,7,4)),void cHt(t.e);case 8:return!t.d&&(t.d=new cF(NIe,t,8,5)),void cHt(t.d)}Ogt(t,e)}function Obt(t,e){var n;n=t.Zc(e);try{return n.Pb()}catch(t){throw iP(t=hst(t),109)?$b(new Dv("Can't get element "+e)):$b(t)}}function Nbt(t,e){this.e=t,e=0&&(n.d=t.t);break;case 3:t.t>=0&&(n.a=t.t)}t.C&&(n.b=t.C.b,n.c=t.C.c)}function zbt(){zbt=I,jre=new RE(wQt,0),Fre=new RE(kQt,1),$re=new RE(vQt,2),zre=new RE(yQt,3),jre.a=!1,Fre.a=!0,$re.a=!1,zre.a=!0}function Vbt(){Vbt=I,Zre=new NE(wQt,0),Xre=new NE(kQt,1),Qre=new NE(vQt,2),Jre=new NE(yQt,3),Zre.a=!1,Xre.a=!0,Qre.a=!1,Jre.a=!0}function Hbt(t){var e;e=t.a;do{(e=jz(q4(new aU(ZP(uft(e).a.Kc(),new u))),17).c.i).k==(aEt(),xse)&&t.b.Fc(e)}while(e.k==(aEt(),xse));t.b=eat(t.b)}function qbt(t){var e,n,i;for(i=t.c.a,t.p=(wW(i),new JF(i)),n=new Gf(i);n.an.b)return!0}return!1}function Ybt(t,e){return UD(t)?!!DKt[e]:t.hm?!!t.hm[e]:qD(t)?!!SKt[e]:!!HD(t)&&!!TKt[e]}function Xbt(t,e,n){return null==n?(!t.o&&(t.o=new w8((TWt(),CIe),eBe,t,0)),Wpt(t.o,e)):(!t.o&&(t.o=new w8((TWt(),CIe),eBe,t,0)),b_t(t.o,e,n)),t}function Zbt(t,e,n,i){var r;(r=Ght(e.Xe((cKt(),LEe))?jz(e.We(LEe),21):t.j))!=(gKt(),Tre)&&(n&&!omt(r)||UEt(PMt(t,r,i),e))}function Qbt(t,e,n,i){var r,o,a;return o=eet(t.Tg(),e),(r=e-t.Ah())<0?(a=t.Yg(o))>=0?t._g(a,n,!0):rIt(t,o,n):jz(o,66).Nj().Pj(t,t.yh(),r,n,i)}function Jbt(t,e,n,i){var r,o;n.mh(e)&&(Zx(),ctt(e)?kmt(t,jz(n.ah(e),153)):(r=(o=e)?jz(i,49).xh(o):null)&&Rb(n.ah(e),r))}function twt(t){switch(t.g){case 1:return Oat(),Ore;case 3:return Oat(),Mre;case 2:return Oat(),Lre;case 4:return Oat(),Pre;default:return null}}function ewt(t){switch(typeof t){case PKt:return bwt(t);case MKt:return EQ(t);case BKt:return cL(),t?1231:1237;default:return null==t?0:xL(t)}}function nwt(t,e,n){if(t.e)switch(t.b){case 1:jX(t.c,e,n);break;case 0:$X(t.c,e,n)}else J3(t.c,e,n);t.a[e.p][n.p]=t.c.i,t.a[n.p][e.p]=t.c.e}function iwt(t){var e,n;if(null==t)return null;for(n=P7(Sse,cYt,193,t.length,0,2),e=0;e=0)return i;if(t.Fk())for(n=0;n=(r=t.gc()))throw $b(new JR(e,r));if(t.hi()&&(i=t.Xc(n))>=0&&i!=e)throw $b(new Rv(o7t));return t.mi(e,n)}function cwt(t,e){if(this.a=jz(wW(t),245),this.b=jz(wW(e),245),t.vd(e)>0||t==(tv(),Rte)||e==(Jk(),Fte))throw $b(new Rv("Invalid range: "+j3(t,e)))}function lwt(t){var e,n;for(this.b=new Mb,this.c=t,this.a=!1,n=new Gf(t.a);n.a0),(e&-e)==e)return EQ(e*zMt(t,31)*4.656612873077393e-10);do{i=(n=zMt(t,31))%e}while(n-i+(e-1)<0);return EQ(i)}function bwt(t){var e,n,i;return nj(),null!=(i=nie[n=":"+t])?EQ((kK(i),i)):(e=null==(i=eie[n])?ZLt(t):EQ((kK(i),i)),TX(),nie[n]=e,e)}function wwt(t,e,n){DAt(n,"Compound graph preprocessor",1),t.a=new pQ,PUt(t,e,null),HVt(t,e),tLt(t),lct(e,(lKt(),$he),t.a),t.a=null,IG(t.b),zEt(n)}function kwt(t,e,n){switch(n.g){case 1:t.a=e.a/2,t.b=0;break;case 2:t.a=e.a,t.b=e.b/2;break;case 3:t.a=e.a/2,t.b=e.b;break;case 4:t.a=0,t.b=e.b/2}}function vwt(t){var e,n,i;for(i=jz(c6(t.a,(MCt(),xle)),15).Kc();i.Ob();)eW(t,n=jz(i.Pb(),101),(e=zvt(n))[0],(Trt(),Ple),0),eW(t,n,e[1],Ole,1)}function ywt(t){var e,n,i;for(i=jz(c6(t.a,(MCt(),Ele)),15).Kc();i.Ob();)eW(t,n=jz(i.Pb(),101),(e=zvt(n))[0],(Trt(),Ple),0),eW(t,n,e[1],Ole,1)}function _wt(t){switch(t.g){case 0:return null;case 1:return new Irt;case 2:return new Xk;default:throw $b(new Rv(r5t+(null!=t.f?t.f:""+t.g)))}}function Cwt(t,e,n){var i,r;for(wst(t,e-t.s,n-t.t),r=new Gf(t.n);r.a1&&(r=uwt(t,e)),r}function xwt(t){var e;return t.f&&t.f.kh()&&(e=jz(t.f,49),t.f=jz(tht(t,e),82),t.f!=e&&4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,9,8,e,t.f))),t.f}function Ewt(t){var e;return t.i&&t.i.kh()&&(e=jz(t.i,49),t.i=jz(tht(t,e),82),t.i!=e&&4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,9,7,e,t.i))),t.i}function Twt(t){var e;return t.b&&64&t.b.Db&&(e=t.b,t.b=jz(tht(t,e),18),t.b!=e&&4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,9,21,e,t.b))),t.b}function Swt(t,e){var n,i,r;null==t.d?(++t.e,++t.f):(i=e.Sh(),uLt(t,t.f+1),r=(i&OKt)%t.d.length,!(n=t.d[r])&&(n=t.d[r]=t.uj()),n.Fc(e),++t.f)}function Dwt(t,e,n){var i;return!e.Kj()&&(-2!=e.Zj()?null==(i=e.zj())?null==n:Pht(i,n):e.Hj()==t.e.Tg()&&null==n)}function Iwt(){var t;hit(16,SYt),t=Zit(16),this.b=P7(Hte,TYt,317,t,0,1),this.c=P7(Hte,TYt,317,t,0,1),this.a=null,this.e=null,this.i=0,this.f=t-1,this.g=0}function Bwt(t){BR.call(this),this.k=(aEt(),Ese),this.j=(hit(6,IYt),new X6(6)),this.b=(hit(2,IYt),new X6(2)),this.d=new lk,this.f=new dk,this.a=t}function Mwt(t){var e,n;t.c.length<=1||(gTt(t,jz((e=_Nt(t,(vGt(),ADe))).a,19).a,jz(e.b,19).a),gTt(t,jz((n=_Nt(t,EDe)).a,19).a,jz(n.b,19).a))}function Pwt(){Pwt=I,wwe=new FT("SIMPLE",0),pwe=new FT($1t,1),mwe=new FT("LINEAR_SEGMENTS",2),gwe=new FT("BRANDES_KOEPF",3),bwe=new FT(y3t,4)}function Lwt(t,e,n){BF(jz(wxt(e,(zWt(),tbe)),98))||(G9(t,e,OEt(e,n)),G9(t,e,OEt(e,(vGt(),ADe))),G9(t,e,OEt(e,sDe)),AX(),bM(e.j,new Rp(t)))}function Owt(t,e,n,i){var r;for(r=jz(c6(i?t.a:t.b,e),21).Kc();r.Ob();)if(FNt(t,n,jz(r.Pb(),33)))return!0;return!1}function Nwt(t){var e,n;for(n=new DP(t);n.e!=n.i.gc();)if((e=jz(vbt(n),87)).e||0!=(!e.d&&(e.d=new IP(GBe,e,1)),e.d).i)return!0;return!1}function Rwt(t){var e,n;for(n=new DP(t);n.e!=n.i.gc();)if((e=jz(vbt(n),87)).e||0!=(!e.d&&(e.d=new IP(GBe,e,1)),e.d).i)return!0;return!1}function Fwt(t){var e,n;for(e=0,n=new Gf(t.c.a);n.a102?-1:t<=57?t-48:t<65?-1:t<=70?t-65+10:t<97?-1:t-97+10}function qwt(t,e){if(null==t)throw $b(new $v("null key in entry: null="+e));if(null==e)throw $b(new $v("null value in entry: "+t+"=null"))}function Uwt(t,e){for(var n,i;t.Ob();){if(!e.Ob())return!1;if(n=t.Pb(),i=e.Pb(),!(VD(n)===VD(i)||null!=n&&Pht(n,i)))return!1}return!e.Ob()}function Gwt(t,e){var n;return n=Est(Vy(MLe,1),VXt,25,15,[but(t.a[0],e),but(t.a[1],e),but(t.a[2],e)]),t.d&&(n[0]=i.Math.max(n[0],n[2]),n[2]=n[0]),n}function Wwt(t,e){var n;return n=Est(Vy(MLe,1),VXt,25,15,[wut(t.a[0],e),wut(t.a[1],e),wut(t.a[2],e)]),t.d&&(n[0]=i.Math.max(n[0],n[2]),n[2]=n[0]),n}function Kwt(){Kwt=I,wue=new AT("GREEDY",0),bue=new AT(z1t,1),vue=new AT($1t,2),yue=new AT("MODEL_ORDER",3),kue=new AT("GREEDY_MODEL_ORDER",4)}function Ywt(t,e){var n,i,r;for(t.b[e.g]=1,i=cbt(e.d,0);i.b!=i.d.c;)r=(n=jz(h3(i),188)).c,1==t.b[r.g]?LV(t.a,n):2==t.b[r.g]?t.b[r.g]=1:Ywt(t,r)}function Xwt(t,e){var n,i,r;for(r=new X6(e.gc()),i=e.Kc();i.Ob();)(n=jz(i.Pb(),286)).c==n.f?lTt(t,n,n.c):iTt(t,n)||(r.c[r.c.length]=n);return r}function Zwt(t,e,n){var i,r,o,a;for(a=t.r+e,t.r+=e,t.d+=n,i=n/t.n.c.length,r=0,o=new Gf(t.n);o.ao&&IW(e,o,null),e}function Ckt(t,e){var n,i;if(i=t.gc(),null==e){for(n=0;n0&&(c+=r),l[u]=a,a+=s*(c+i)}function Okt(t){var e,n,i;for(i=t.f,t.n=P7(MLe,VXt,25,i,15,1),t.d=P7(MLe,VXt,25,i,15,1),e=0;e0?t.c:0),++o;t.b=r,t.d=a}function qkt(t,e){var n,r,o,a,s;for(r=0,o=0,n=0,s=new Gf(e);s.a0?t.g:0),++n;t.c=o,t.d=r}function Ukt(t,e){var n;return n=Est(Vy(MLe,1),VXt,25,15,[pwt(t,(Oet(),Vie),e),pwt(t,Hie,e),pwt(t,qie,e)]),t.f&&(n[0]=i.Math.max(n[0],n[2]),n[2]=n[0]),n}function Gkt(t,e,n){try{jRt(t,e+t.j,n+t.k,!1,!0)}catch(t){throw iP(t=hst(t),73)?$b(new Dv(t.g+TQt+e+jKt+n+").")):$b(t)}}function Wkt(t,e,n){try{jRt(t,e+t.j,n+t.k,!0,!1)}catch(t){throw iP(t=hst(t),73)?$b(new Dv(t.g+TQt+e+jKt+n+").")):$b(t)}}function Kkt(t){var e;BO(t,(zWt(),Ime))&&((e=jz(wxt(t,Ime),21)).Hc((JBt(),TSe))?(e.Mc(TSe),e.Fc(DSe)):e.Hc(DSe)&&(e.Mc(DSe),e.Fc(TSe)))}function Ykt(t){var e;BO(t,(zWt(),Ime))&&((e=jz(wxt(t,Ime),21)).Hc((JBt(),LSe))?(e.Mc(LSe),e.Fc(MSe)):e.Hc(MSe)&&(e.Mc(MSe),e.Fc(LSe)))}function Xkt(t,e,n){DAt(n,"Self-Loop ordering",1),XA(IY(DY(DY(dtt(new OH(null,new d1(e.b,16)),new Di),new Ii),new Bi),new Mi),new hp(t)),zEt(n)}function Zkt(t,e,n,i){var r,o;for(r=e;r0&&(o.b+=e),o}function avt(t,e){var n,r,o;for(o=new V_,r=t.Kc();r.Ob();)QRt(n=jz(r.Pb(),37),0,o.b),o.b+=n.f.b+e,o.a=i.Math.max(o.a,n.f.a);return o.a>0&&(o.a+=e),o}function svt(t){var e,n,r;for(r=OKt,n=new Gf(t.a);n.a>16==6?t.Cb.ih(t,5,zIe,e):(n=Twt(jz(eet(jz(kat(t,16),26)||t.zh(),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function hvt(t){xZ();var e=t.e;if(e&&e.stack){var n=e.stack,i=e+"\n";return n.substring(0,i.length)==i&&(n=n.substring(i.length)),n.split("\n")}return[]}function dvt(t){var e;return Ait(),(e=Dee)[t>>>28]|e[t>>24&15]<<4|e[t>>20&15]<<8|e[t>>16&15]<<12|e[t>>12&15]<<16|e[t>>8&15]<<20|e[t>>4&15]<<24|e[15&t]<<28}function fvt(t){var e,n,r;t.b==t.c&&(r=t.a.length,n=vct(i.Math.max(8,r))<<1,0!=t.b?(art(t,e=AR(t.a,n),r),t.a=e,t.b=0):xw(t.a,n),t.c=r)}function gvt(t,e){var n;return(n=t.b).Xe((cKt(),rTe))?n.Hf()==(vGt(),EDe)?-n.rf().a-Vv(CN(n.We(rTe))):e+Vv(CN(n.We(rTe))):n.Hf()==(vGt(),EDe)?-n.rf().a:e}function pvt(t){var e;return 0!=t.b.c.length&&jz(PH(t.b,0),70).a?jz(PH(t.b,0),70).a:null!=(e=tX(t))?e:""+(t.c?y9(t.c.a,t,0):-1)}function mvt(t){var e;return 0!=t.f.c.length&&jz(PH(t.f,0),70).a?jz(PH(t.f,0),70).a:null!=(e=tX(t))?e:""+(t.i?y9(t.i.j,t,0):-1)}function bvt(t,e){var n,i;if(e<0||e>=t.gc())return null;for(n=e;n0?t.c:0),o=i.Math.max(o,e.d),++r;t.e=a,t.b=o}function vvt(t){var e,n;if(!t.b)for(t.b=E2(jz(t.f,118).Ag().i),n=new DP(jz(t.f,118).Ag());n.e!=n.i.gc();)e=jz(vbt(n),137),Gz(t.b,new Ov(e));return t.b}function yvt(t,e){var n,i,r;if(e.dc())return fN(),fN(),gBe;for(n=new rR(t,e.gc()),r=new DP(t);r.e!=r.i.gc();)i=vbt(r),e.Hc(i)&&l8(n,i);return n}function _vt(t,e,n,i){return 0==e?i?(!t.o&&(t.o=new w8((TWt(),CIe),eBe,t,0)),t.o):(!t.o&&(t.o=new w8((TWt(),CIe),eBe,t,0)),D7(t.o)):Qbt(t,e,n,i)}function Cvt(t){var e,n;if(t.rb)for(e=0,n=t.rb.i;e>22))>>22)<0||(t.l=n&xXt,t.m=i&xXt,t.h=r&EXt,0)))}function Svt(t,e,n,i,r,o,a){var s,c;return!(e.Ae()&&(c=t.a.ue(n,i),c<0||!r&&0==c)||e.Be()&&(s=t.a.ue(n,o),s>0||!a&&0==s))}function Dvt(t,e){if(qlt(),0!=t.j.g-e.j.g)return 0;switch(t.j.g){case 2:return yft(e,hle)-yft(t,hle);case 4:return yft(t,ule)-yft(e,ule)}return 0}function Ivt(t){switch(t.g){case 0:return Pue;case 1:return Lue;case 2:return Oue;case 3:return Nue;case 4:return Rue;case 5:return Fue;default:return null}}function Bvt(t,e,n){var i,r;return Sut(r=new Bk,e),Prt(r,n),l8((!t.c&&(t.c=new tG(KBe,t,12,10)),t.c),r),Mnt(i=r,0),Pnt(i,1),Jht(i,!0),Xht(i,!0),i}function Mvt(t,e){var n,i;if(e>=t.i)throw $b(new BI(e,t.i));return++t.j,n=t.g[e],(i=t.i-e-1)>0&&oVt(t.g,e+1,t.g,e,i),IW(t.g,--t.i,null),t.fi(e,n),t.ci(),n}function Pvt(t,e){var n;return t.Db>>16==17?t.Cb.ih(t,21,$Be,e):(n=Twt(jz(eet(jz(kat(t,16),26)||t.zh(),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function Lvt(t){var e,n,i;for(AX(),bM(t.c,t.a),i=new Gf(t.c);i.an.a.c.length))throw $b(new Rv("index must be >= 0 and <= layer node count"));t.c&&w9(t.c.a,t),t.c=n,n&&kq(n.a,e,t)}function Xvt(t,e){var n,i,r;for(i=new aU(ZP(lft(t).a.Kc(),new u));gBt(i);)return n=jz(q4(i),17),new $h(wW((r=jz(e.Kb(n),10)).n.b+r.o.b/2));return ev(),ev(),Dte}function Zvt(t,e){this.c=new Pb,this.a=t,this.b=e,this.d=jz(wxt(t,(lKt(),Dde)),304),VD(wxt(t,(zWt(),Bme)))===VD((g9(),zue))?this.e=new gk:this.e=new fk}function Qvt(t,e){var n,r,o;for(o=0,r=new Gf(t);r.a>16==6?t.Cb.ih(t,6,NIe,e):(n=Twt(jz(eet(jz(kat(t,16),26)||(TWt(),wIe),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function lyt(t,e){var n;return t.Db>>16==7?t.Cb.ih(t,1,PIe,e):(n=Twt(jz(eet(jz(kat(t,16),26)||(TWt(),vIe),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function uyt(t,e){var n;return t.Db>>16==9?t.Cb.ih(t,9,HIe,e):(n=Twt(jz(eet(jz(kat(t,16),26)||(TWt(),_Ie),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function hyt(t,e){var n;return t.Db>>16==5?t.Cb.ih(t,9,qBe,e):(n=Twt(jz(eet(jz(kat(t,16),26)||(pKt(),aMe),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function dyt(t,e){var n;return t.Db>>16==3?t.Cb.ih(t,0,FIe,e):(n=Twt(jz(eet(jz(kat(t,16),26)||(pKt(),JBe),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function fyt(t,e){var n;return t.Db>>16==7?t.Cb.ih(t,6,zIe,e):(n=Twt(jz(eet(jz(kat(t,16),26)||(pKt(),pMe),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function gyt(){this.a=new fc,this.g=new Iwt,this.j=new Iwt,this.b=new Pb,this.d=new Iwt,this.i=new Iwt,this.k=new Pb,this.c=new Pb,this.e=new Pb,this.f=new Pb}function pyt(t,e,n){var i,r,o;for(n<0&&(n=0),o=t.i,r=n;rHXt)return byt(t,i);if(i==t)return!0}}return!1}function wyt(t){switch(LL(),t.q.g){case 5:bDt(t,(vGt(),sDe)),bDt(t,ADe);break;case 4:qMt(t,(vGt(),sDe)),qMt(t,ADe);break;default:bGt(t,(vGt(),sDe)),bGt(t,ADe)}}function kyt(t){switch(LL(),t.q.g){case 5:xIt(t,(vGt(),aDe)),xIt(t,EDe);break;case 4:Tbt(t,(vGt(),aDe)),Tbt(t,EDe);break;default:wGt(t,(vGt(),aDe)),wGt(t,EDe)}}function vyt(t){var e,n;(e=jz(wxt(t,(uRt(),Qoe)),19))?(n=e.a,lct(t,(Art(),cae),0==n?new cft:new E5(n))):lct(t,(Art(),cae),new E5(1))}function yyt(t,e){var n;switch(n=t.i,e.g){case 1:return-(t.n.b+t.o.b);case 2:return t.n.a-n.o.a;case 3:return t.n.b-n.o.b;case 4:return-(t.n.a+t.o.a)}return 0}function _yt(t,e){switch(t.g){case 0:return e==(Cft(),Fde)?nle:ile;case 1:return e==(Cft(),Fde)?nle:ele;case 2:return e==(Cft(),Fde)?ele:ile;default:return ele}}function Cyt(t,e){var n,r,o;for(w9(t.a,e),t.e-=e.r+(0==t.a.c.length?0:t.c),o=J3t,r=new Gf(t.a);r.a>16==3?t.Cb.ih(t,12,HIe,e):(n=Twt(jz(eet(jz(kat(t,16),26)||(TWt(),bIe),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function xyt(t,e){var n;return t.Db>>16==11?t.Cb.ih(t,10,HIe,e):(n=Twt(jz(eet(jz(kat(t,16),26)||(TWt(),yIe),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function Eyt(t,e){var n;return t.Db>>16==10?t.Cb.ih(t,11,$Be,e):(n=Twt(jz(eet(jz(kat(t,16),26)||(pKt(),fMe),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function Tyt(t,e){var n;return t.Db>>16==10?t.Cb.ih(t,12,WBe,e):(n=Twt(jz(eet(jz(kat(t,16),26)||(pKt(),mMe),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function Syt(t){var e;return 1&t.Bb||!t.r||!t.r.kh()||(e=jz(t.r,49),t.r=jz(tht(t,e),138),t.r!=e&&4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,9,8,e,t.r))),t.r}function Dyt(t,e,n){var r;return r=Est(Vy(MLe,1),VXt,25,15,[nxt(t,(Oet(),Vie),e,n),nxt(t,Hie,e,n),nxt(t,qie,e,n)]),t.f&&(r[0]=i.Math.max(r[0],r[2]),r[2]=r[0]),r}function Iyt(t,e){var n,i,r;if(0!=(r=Xwt(t,e)).c.length)for(bM(r,new ei),n=r.c.length,i=0;i>19)!=(s=e.h>>19)?s-a:(i=t.h)!=(o=e.h)?i-o:(n=t.m)!=(r=e.m)?n-r:t.l-e.l}function Fyt(){Fyt=I,tRt(),xie=new II(UZt,Eie=Pie),Ott(),Cie=new II(GZt,Aie=bie),lbt(),yie=new II(WZt,_ie=fie),vie=new II(KZt,(cL(),!0))}function jyt(t,e,n){var i,r;i=e*n,iP(t.g,145)?(r=l3(t)).f.d?r.f.a||(t.d.a+=i+uQt):(t.d.d-=i+uQt,t.d.a+=i+uQt):iP(t.g,10)&&(t.d.d-=i,t.d.a+=2*i)}function $yt(t,e,n){var r,o,a,s,c;for(o=t[n.g],c=new Gf(e.d);c.a0?t.g:0),++n;e.b=r,e.e=o}function Vyt(t){var e,n,i;if(i=t.b,zA(t.i,i.length)){for(n=2*i.length,t.b=P7(Hte,TYt,317,n,0,1),t.c=P7(Hte,TYt,317,n,0,1),t.f=n-1,t.i=0,e=t.a;e;e=e.c)XSt(t,e,e);++t.g}}function Hyt(t,e,n,i){var r,o,a,s;for(r=0;rs&&(c=s/r),(o=i.Math.abs(t.b))>a&&(l=a/o),kP(t,i.Math.min(c,l)),t}function Gyt(){var t,e;Vzt();try{if(e=jz(G_t((Gx(),VBe),k6t),2014))return e}catch(e){if(!iP(e=hst(e),102))throw $b(e);t=e,oU((oM(),t))}return new sc}function Wyt(){var t,e;f9();try{if(e=jz(G_t((Gx(),VBe),x9t),2024))return e}catch(e){if(!iP(e=hst(e),102))throw $b(e);t=e,oU((oM(),t))}return new Nl}function Kyt(){var t,e;Vzt();try{if(e=jz(G_t((Gx(),VBe),K8t),1941))return e}catch(e){if(!iP(e=hst(e),102))throw $b(e);t=e,oU((oM(),t))}return new Hc}function Yyt(t,e,n){var i,r;return r=t.e,t.e=e,4&t.Db&&!(1&t.Db)&&(i=new QU(t,1,4,r,e),n?n.Ei(i):n=i),r!=e&&(n=oUt(t,e?vPt(t,e):t.a,n)),n}function Xyt(){DA.call(this),this.e=-1,this.a=!1,this.p=FYt,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=FYt}function Zyt(t,e){var n,i,r;if(i=t.b.d.d,t.a||(i+=t.b.d.a),r=e.b.d.d,e.a||(r+=e.b.d.a),0==(n=Edt(i,r))){if(!t.a&&e.a)return-1;if(!e.a&&t.a)return 1}return n}function Qyt(t,e){var n,i,r;if(i=t.b.b.d,t.a||(i+=t.b.b.a),r=e.b.b.d,e.a||(r+=e.b.b.a),0==(n=Edt(i,r))){if(!t.a&&e.a)return-1;if(!e.a&&t.a)return 1}return n}function Jyt(t,e){var n,i,r;if(i=t.b.g.d,t.a||(i+=t.b.g.a),r=e.b.g.d,e.a||(r+=e.b.g.a),0==(n=Edt(i,r))){if(!t.a&&e.a)return-1;if(!e.a&&t.a)return 1}return n}function t_t(){t_t=I,Mae=Gq(fH(fH(fH(new j2,(kxt(),Fae),(hKt(),wce)),Fae,_ce),jae,Dce),jae,ace),Lae=fH(fH(new j2,Fae,Xse),Fae,sce),Pae=Gq(new j2,jae,lce)}function e_t(t){var e,n,i,r,o;for(e=jz(wxt(t,(lKt(),Hhe)),83),o=t.n,i=e.Cc().Kc();i.Ob();)(r=(n=jz(i.Pb(),306)).i).c+=o.a,r.d+=o.b,n.c?PNt(n):LNt(n);lct(t,Hhe,null)}function n_t(t,e,n){var i,r;switch(i=(r=t.b).d,e.g){case 1:return-i.d-n;case 2:return r.o.a+i.c+n;case 3:return r.o.b+i.a+n;case 4:return-i.b-n;default:return-1}}function i_t(t){var e,n,i,r,o;if(i=0,r=QQt,t.b)for(e=0;e<360;e++)n=.017453292519943295*e,UFt(t,t.d,0,0,Q3t,n),(o=t.b.ig(t.d))0&&(r=oIt(t,(o&OKt)%t.d.length,o,e))?r.ed(n):(i=t.tj(o,e,n),t.c.Fc(i),null)}function w_t(t,e){var n,i,r,o;switch(Tht(t,e)._k()){case 3:case 2:for(r=0,o=(n=Xzt(e)).i;r=0;r--)if(bF(t[r].d,e)||bF(t[r].d,n)){t.length>=r+1&&t.splice(0,r+1);break}return t}function D_t(t,e){var n;return XI(t)&&XI(e)&&BXt<(n=t/e)&&n0&&(t.b+=2,t.a+=r):(t.b+=1,t.a+=i.Math.min(r,o))}function R_t(t,e){var n;if(n=!1,UD(e)&&(n=!0,QW(t,new VW(AN(e)))),n||iP(e,236)&&(n=!0,QW(t,new Cd(UF(jz(e,236))))),!n)throw $b(new Bv(z6t))}function F_t(t,e,n,i){var r,o,a;return r=new M9(t.e,1,10,iP(a=e.c,88)?jz(a,26):(pKt(),dMe),iP(o=n.c,88)?jz(o,26):(pKt(),dMe),awt(t,e),!1),i?i.Ei(r):i=r,i}function j_t(t){var e,n;switch(jz(wxt(mK(t),(zWt(),pme)),420).g){case 0:return e=t.n,n=t.o,new PS(e.a+n.a/2,e.b+n.b/2);case 1:return new dB(t.n);default:return null}}function $_t(){$_t=I,Kue=new DT(YJt,0),Wue=new DT("LEFTUP",1),Xue=new DT("RIGHTUP",2),Gue=new DT("LEFTDOWN",3),Yue=new DT("RIGHTDOWN",4),Uue=new DT("BALANCED",5)}function z_t(t,e,n){var i,r,o;if(0==(i=Edt(t.a[e.p],t.a[n.p]))){if(r=jz(wxt(e,(lKt(),ide)),15),o=jz(wxt(n,ide),15),r.Hc(n))return-1;if(o.Hc(e))return 1}return i}function V_t(t){switch(t.g){case 1:return new $a;case 2:return new za;case 3:return new ja;case 0:return null;default:throw $b(new Rv(r5t+(null!=t.f?t.f:""+t.g)))}}function H_t(t,e,n){switch(e){case 1:return!t.n&&(t.n=new tG(VIe,t,1,7)),cHt(t.n),!t.n&&(t.n=new tG(VIe,t,1,7)),void pW(t.n,jz(n,14));case 2:return void Bit(t,AN(n))}ilt(t,e,n)}function q_t(t,e,n){switch(e){case 3:return void Ant(t,Vv(CN(n)));case 4:return void xnt(t,Vv(CN(n)));case 5:return void Ent(t,Vv(CN(n)));case 6:return void Tnt(t,Vv(CN(n)))}H_t(t,e,n)}function U_t(t,e,n){var i,r;(i=zAt(r=new Bk,e,null))&&i.Fi(),Prt(r,n),l8((!t.c&&(t.c=new tG(KBe,t,12,10)),t.c),r),Mnt(r,0),Pnt(r,1),Jht(r,!0),Xht(r,!0)}function G_t(t,e){var n,i;return iP(n=cE(t.g,e),235)?((i=jz(n,235)).Qh(),i.Nh()):iP(n,498)?i=jz(n,1938).b:null}function W_t(t,e,n,i){var r,o;return wW(e),wW(n),O9(!!(o=jz(qF(t.d,e),19)),"Row %s not in %s",e,t.e),O9(!!(r=jz(qF(t.b,n),19)),"Column %s not in %s",n,t.c),xst(t,o.a,r.a,i)}function K_t(t,e,n,i,r,o,a){var s,c,l,u,h;if(h=$kt(s=(l=o==a-1)?i:0,u=r[o]),10!=i&&Est(Vy(t,a-o),e[o],n[o],s,h),!l)for(++o,c=0;c1||-1==s?(o=jz(c,15),r.Wb(Gpt(t,o))):r.Wb(tjt(t,jz(c,56))))}function lCt(t,e,n,i){YC();var r=EKt;function o(){for(var t=0;tO3t)return n;i>-1e-6&&++n}return n}function vCt(t,e){var n;e!=t.b?(n=null,t.b&&(n=aQ(t.b,t,-4,n)),e&&(n=Pbt(e,t,-4,n)),(n=Qut(t,e,n))&&n.Fi()):4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,3,e,e))}function yCt(t,e){var n;e!=t.f?(n=null,t.f&&(n=aQ(t.f,t,-1,n)),e&&(n=Pbt(e,t,-1,n)),(n=Jut(t,e,n))&&n.Fi()):4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,0,e,e))}function _Ct(t){var e,n,i;if(null==t)return null;if((n=jz(t,15)).dc())return"";for(i=new Ay,e=n.Kc();e.Ob();)iI(i,(UHt(),AN(e.Pb()))),i.a+=" ";return NI(i,i.a.length-1)}function CCt(t){var e,n,i;if(null==t)return null;if((n=jz(t,15)).dc())return"";for(i=new Ay,e=n.Kc();e.Ob();)iI(i,(UHt(),AN(e.Pb()))),i.a+=" ";return NI(i,i.a.length-1)}function ACt(t,e,n){var i,r;return i=t.c[e.c.p][e.p],r=t.c[n.c.p][n.p],null!=i.a&&null!=r.a?_U(i.a,r.a):null!=i.a?-1:null!=r.a?1:0}function xCt(t,e){var n,i,r;if(e)for(r=((n=new cU(e.a.length)).b-n.a)*n.c<0?(tE(),_Le):new UP(n);r.Ob();)i=P2(e,jz(r.Pb(),19).a),SY(new jm(t).a,i)}function ECt(t,e){var n,i,r;if(e)for(r=((n=new cU(e.a.length)).b-n.a)*n.c<0?(tE(),_Le):new UP(n);r.Ob();)i=P2(e,jz(r.Pb(),19).a),TY(new Im(t).a,i)}function TCt(t){if(null!=t&&t.length>0&&33==lY(t,t.length-1))try{return null==XTt(lO(t,0,t.length-1)).e}catch(t){if(!iP(t=hst(t),32))throw $b(t)}return!1}function SCt(t,e,n){var i,r,o;return i=e.ak(),o=e.dd(),r=i.$j()?BZ(t,3,i,null,o,mzt(t,i,o,iP(i,99)&&!!(jz(i,18).Bb&$Xt)),!0):BZ(t,1,i,i.zj(),o,-1,!0),n?n.Ei(r):n=r,n}function DCt(){var t,e,n;for(e=0,t=0;t<1;t++){if(0==(n=YIt((h1(t,1),"X".charCodeAt(t)))))throw $b(new ry("Unknown Option: "+"X".substr(t)));e|=n}return e}function ICt(t,e,n){var i,r;switch(i=Wdt(mK(e)),EJ(r=new TEt,e),n.g){case 1:VSt(r,Cdt(lgt(i)));break;case 2:VSt(r,lgt(i))}return lct(r,(zWt(),Jme),CN(wxt(t,Jme))),r}function BCt(t){var e,n;return e=jz(q4(new aU(ZP(uft(t.a).a.Kc(),new u))),17),n=jz(q4(new aU(ZP(hft(t.a).a.Kc(),new u))),17),zv(_N(wxt(e,(lKt(),Ede))))||zv(_N(wxt(n,Ede)))}function MCt(){MCt=I,Cle=new wT("ONE_SIDE",0),xle=new wT("TWO_SIDES_CORNER",1),Ele=new wT("TWO_SIDES_OPPOSING",2),Ale=new wT("THREE_SIDES",3),_le=new wT("FOUR_SIDES",4)}function PCt(t,e,n,i,r){var o,a;o=jz(x5(DY(e.Oc(),new Jr),b8(new V,new z,new it,Est(Vy(Qne,1),BYt,132,0,[(Vlt(),qne)]))),15),a=jz(pat(t.b,n,i),15),0==r?a.Wc(0,o):a.Gc(o)}function LCt(t,e){var n,i,r;for(i=new Gf(e.a);i.a0&&Fvt(this,this.c-1,(vGt(),aDe)),this.c0&&t[0].length>0&&(this.c=zv(_N(wxt(mK(t[0][0]),(lKt(),rde))))),this.a=P7(xke,cYt,2018,t.length,0,2),this.b=P7(Bke,cYt,2019,t.length,0,2),this.d=new Cut}function GCt(t){return 0!=t.c.length&&((u1(0,t.c.length),jz(t.c[0],17)).c.i.k==(aEt(),xse)||a4(IY(new OH(null,new d1(t,16)),new jo),new $o))}function WCt(t,e,n){return DAt(n,"Tree layout",1),c2(t.b),EG(t.b,(qvt(),Ove),Ove),EG(t.b,Nve,Nve),EG(t.b,Rve,Rve),EG(t.b,Fve,Fve),t.a=BHt(t.b,e),hOt(t,e,wot(n,1)),zEt(n),e}function KCt(t,e){var n,r,o,a,s,c;for(s=fNt(e),o=e.f,c=e.g,a=i.Math.sqrt(o*o+c*c),r=0,n=new Gf(s);n.a=0?(n=D_t(t,IXt),i=hpt(t,IXt)):(n=D_t(e=vU(t,1),5e8),i=ift(wU(i=hpt(e,5e8),1),t0(t,1))),e0(wU(i,32),t0(n,UXt))}function hAt(t,e,n){var i;switch(xO(0!=e.b),i=jz(Iet(e,e.a.a),8),n.g){case 0:i.b=0;break;case 2:i.b=t.f;break;case 3:i.a=0;break;default:i.a=t.g}return QG(cbt(e,0),i),e}function dAt(t,e,n,i){var r,o,a,s,c;switch(c=t.b,s=qmt(a=(o=e.d).j,c.d[a.g],n),r=qR(jM(o.n),o.a),o.j.g){case 1:case 3:s.a+=r.a;break;case 2:case 4:s.b+=r.b}n4(i,s,i.c.b,i.c)}function fAt(t,e,n){var i,r,o,a;for(a=y9(t.e,e,0),(o=new nk).b=n,i=new C2(t.e,a);i.b1;e>>=1)1&e&&(i=Mtt(i,n)),n=1==n.d?Mtt(n,n):new Tmt(Sjt(n.a,n.d,P7(SLe,lXt,25,n.d<<1,15,1)));return i=Mtt(i,n)}function kAt(){var t,e,n,i;for(kAt=I,Sne=P7(MLe,VXt,25,25,15,1),Dne=P7(MLe,VXt,25,33,15,1),i=152587890625e-16,e=32;e>=0;e--)Dne[e]=i,i*=.5;for(n=1,t=24;t>=0;t--)Sne[t]=n,n*=.5}function vAt(t){var e,n;if(zv(_N(QBt(t,(zWt(),dme)))))for(n=new aU(ZP(gPt(t).a.Kc(),new u));gBt(n);)if(YDt(e=jz(q4(n),79))&&zv(_N(QBt(e,fme))))return!0;return!1}function yAt(t,e){var n,i,r;_G(t.f,e)&&(e.b=t,i=e.c,-1!=y9(t.j,i,0)||Gz(t.j,i),r=e.d,-1!=y9(t.j,r,0)||Gz(t.j,r),0!=(n=e.a.b).c.length&&(!t.i&&(t.i=new ebt(t)),bat(t.i,n)))}function _At(t){var e,n,i,r;return(n=(e=t.c.d).j)==(r=(i=t.d.d).j)?e.p=0&&bF(t.substr(e,3),"GMT")||e>=0&&bF(t.substr(e,3),"UTC")?(n[0]=e+3,kjt(t,n,i)):kjt(t,n,i)}function SAt(t,e){var n,i,r,o,a;for(o=t.g.a,a=t.g.b,i=new Gf(t.d);i.an;o--)t[o]|=e[o-n-1]>>>a,t[o-1]=e[o-n-1]<=t.f)break;o.c[o.c.length]=n}return o}function FAt(t){var e,n,i,r;for(e=null,r=new Gf(t.wf());r.a0&&oVt(t.g,e,t.g,e+i,s),a=n.Kc(),t.i+=i,r=0;ro&&sG(l,ret(n[s],_ne))&&(r=s,o=c);return r>=0&&(i[0]=e+o),r}function UAt(t,e){var n;if(0!=(n=YI(t.b.Hf(),e.b.Hf())))return n;switch(t.b.Hf().g){case 1:case 2:return yM(t.b.sf(),e.b.sf());case 3:case 4:return yM(e.b.sf(),t.b.sf())}return 0}function GAt(t){var e,n,i;for(i=t.e.c.length,t.a=kH(SLe,[cYt,lXt],[48,25],15,[i,i],2),n=new Gf(t.c);n.a>4&15,o=15&t[i],a[r++]=SIe[n],a[r++]=SIe[o];return $pt(a,0,a.length)}function YAt(t,e,n){var i,r,o;return i=e.ak(),o=e.dd(),r=i.$j()?BZ(t,4,i,o,null,mzt(t,i,o,iP(i,99)&&!!(jz(i,18).Bb&$Xt)),!0):BZ(t,i.Kj()?2:1,i,o,i.zj(),-1,!0),n?n.Ei(r):n=r,n}function XAt(t){var e,n;return t>=$Xt?(e=zXt+(t-$Xt>>10&1023)&YYt,n=56320+(t-$Xt&1023)&YYt,String.fromCharCode(e)+""+String.fromCharCode(n)):String.fromCharCode(t&YYt)}function ZAt(t,e){var n,i,r,o;return zN(),(r=jz(jz(c6(t.r,e),21),84)).gc()>=2&&(i=jz(r.Kc().Pb(),111),n=t.u.Hc((hDt(),JSe)),o=t.u.Hc(iDe),!i.a&&!n&&(2==r.gc()||o))}function QAt(t,e,n,i,r){var o,a,s;for(o=eNt(t,e,n,i,r),s=!1;!o;)_Mt(t,r,!0),s=!0,o=eNt(t,e,n,i,r);s&&_Mt(t,r,!1),0!=(a=Ost(r)).c.length&&(t.d&&t.d.lg(a),QAt(t,r,n,i,a))}function JAt(){JAt=I,rSe=new jS(YJt,0),nSe=new jS("DIRECTED",1),oSe=new jS("UNDIRECTED",2),tSe=new jS("ASSOCIATION",3),iSe=new jS("GENERALIZATION",4),eSe=new jS("DEPENDENCY",5)}function txt(t,e){var n;if(!GQ(t))throw $b(new Fv(j4t));switch(n=GQ(t),e.g){case 1:return-(t.j+t.f);case 2:return t.i-n.g;case 3:return t.j-n.f;case 4:return-(t.i+t.g)}return 0}function ext(t,e){var n,i;for(kK(e),i=t.b.c.length,Gz(t.b,e);i>0;){if(n=i,i=(i-1)/2|0,t.a.ue(PH(t.b,i),e)<=0)return i4(t.b,n,e),!0;i4(t.b,n,PH(t.b,i))}return i4(t.b,i,e),!0}function nxt(t,e,n,r){var o,a;if(o=0,n)o=wut(t.a[n.g][e.g],r);else for(a=0;a=a)}function rxt(t,e,n,i){var r;if(r=!1,UD(i)&&(r=!0,DV(e,n,AN(i))),r||HD(i)&&(r=!0,rxt(t,e,n,i)),r||iP(i,236)&&(r=!0,zX(e,n,jz(i,236))),!r)throw $b(new Bv(z6t))}function oxt(t,e){var n,i,r;if((n=e.Hh(t.a))&&null!=(r=rpt((!n.b&&(n.b=new XO((pKt(),wMe),qMe,n)),n.b),j8t)))for(i=1;i<(STt(),KMe).length;++i)if(bF(KMe[i],r))return i;return 0}function axt(t,e){var n,i,r;if((n=e.Hh(t.a))&&null!=(r=rpt((!n.b&&(n.b=new XO((pKt(),wMe),qMe,n)),n.b),j8t)))for(i=1;i<(STt(),YMe).length;++i)if(bF(YMe[i],r))return i;return 0}function sxt(t,e){var n,i,r,o;if(kK(e),(o=t.a.gc())0?1:0;o.a[r]!=n;)o=o.a[r],r=t.a.ue(n.d,o.d)>0?1:0;o.a[r]=i,i.b=n.b,i.a[0]=n.a[0],i.a[1]=n.a[1],n.a[0]=null,n.a[1]=null}function fxt(t){return hDt(),!(Tat(SQ(yq(tDe,Est(Vy(TDe,1),BYt,273,0,[nDe])),t))>1||Tat(SQ(yq(JSe,Est(Vy(TDe,1),BYt,273,0,[QSe,iDe])),t))>1)}function gxt(t,e){iP(AQ((Gx(),VBe),t),498)?bJ(VBe,t,new SD(this,e)):bJ(VBe,t,this),nEt(this,e),e==(eC(),ZBe)?(this.wb=jz(this,1939),jz(e,1941)):this.wb=(KW(),QBe)}function pxt(t){var e,n;if(null==t)return null;for(e=null,n=0;n=KYt?"error":i>=900?"warn":i>=800?"info":"log",t.a),t.b&&LLt(e,n,t.b,"Exception: ",!0))}function wxt(t,e){var n,i;return!t.q&&(t.q=new Pb),null!=(i=OW(t.q,e))?i:(iP(n=e.wg(),4)&&(null==n?(!t.q&&(t.q=new Pb),m6(t.q,e)):(!t.q&&(t.q=new Pb),WK(t.q,e,n))),n)}function kxt(){kxt=I,Oae=new WE("P1_CYCLE_BREAKING",0),Nae=new WE("P2_LAYERING",1),Rae=new WE("P3_NODE_ORDERING",2),Fae=new WE("P4_NODE_PLACEMENT",3),jae=new WE("P5_EDGE_ROUTING",4)}function vxt(t,e){var n,i,r,o;for(i=(1==e?Gae:Uae).a.ec().Kc();i.Ob();)for(n=jz(i.Pb(),103),o=jz(c6(t.f.c,n),21).Kc();o.Ob();)r=jz(o.Pb(),46),w9(t.b.b,r.b),w9(t.b.a,jz(r.b,81).d)}function yxt(t,e){var n;if(Ltt(),t.c==e.c){if(t.b==e.b||lot(t.b,e.b)){if(n=ZI(t.b)?1:-1,t.a&&!e.a)return n;if(!t.a&&e.a)return-n}return yM(t.b.g,e.b.g)}return Edt(t.c,e.c)}function _xt(t,e){var n;DAt(e,"Hierarchical port position processing",1),(n=t.b).c.length>0&&njt((u1(0,n.c.length),jz(n.c[0],29)),t),n.c.length>1&&njt(jz(PH(n,n.c.length-1),29),t),zEt(e)}function Cxt(t,e){var n,i;if(Pxt(t,e))return!0;for(i=new Gf(e);i.a=(r=t.Vi())||e<0)throw $b(new Dv(a7t+e+s7t+r));if(n>=r||n<0)throw $b(new Dv(c7t+n+s7t+r));return e!=n?(o=t.Ti(n),t.Hi(e,o),i=o):i=t.Oi(n),i}function Bxt(t){var e,n,i;if(i=t,t)for(e=0,n=t.Ug();n;n=n.Ug()){if(++e>HXt)return Bxt(n);if(i=n,n==t)throw $b(new Fv("There is a cycle in the containment hierarchy of "+t))}return i}function Mxt(t){var e,n,i;for(i=new Bat(jKt,"[","]"),n=t.Kc();n.Ob();)h6(i,VD(e=n.Pb())===VD(t)?"(this Collection)":null==e?qKt:$ft(e));return i.a?0==i.e.length?i.a.a:i.a.a+""+i.e:i.c}function Pxt(t,e){var n,i;if(i=!1,e.gc()<2)return!1;for(n=0;ni&&(h1(e-1,t.length),t.charCodeAt(e-1)<=32);)--e;return i>0||e1&&(t.j.b+=t.e)):(t.j.a+=n.a,t.j.b=i.Math.max(t.j.b,n.b),t.d.c.length>1&&(t.j.a+=t.e))}function Fxt(){Fxt=I,Ile=Est(Vy(FDe,1),XJt,61,0,[(vGt(),sDe),aDe,ADe]),Dle=Est(Vy(FDe,1),XJt,61,0,[aDe,ADe,EDe]),Ble=Est(Vy(FDe,1),XJt,61,0,[ADe,EDe,sDe]),Mle=Est(Vy(FDe,1),XJt,61,0,[EDe,sDe,aDe])}function jxt(t,e,n,i){var r,o,a,s,c;if(o=t.c.d,a=t.d.d,o.j!=a.j)for(c=t.b,r=o.j,s=null;r!=a.j;)s=0==e?Adt(r):_dt(r),LV(i,qR(qmt(r,c.d[r.g],n),qmt(s,c.d[s.g],n))),r=s}function $xt(t,e,n,i){var r,o,a,s,c;return s=jz((a=Vvt(t.a,e,n)).a,19).a,o=jz(a.b,19).a,i&&(c=jz(wxt(e,(lKt(),yde)),10),r=jz(wxt(n,yde),10),c&&r&&(J3(t.b,c,r),s+=t.b.i,o+=t.b.e)),s>o}function zxt(t){var e,n,i,r,o,a,s,c;for(this.a=iwt(t),this.b=new Mb,i=0,r=(n=t).length;iFN(t.d).c?(t.i+=t.g.c,ppt(t.d)):FN(t.d).c>FN(t.g).c?(t.e+=t.d.c,ppt(t.g)):(t.i+=zH(t.g),t.e+=zH(t.d),ppt(t.g),ppt(t.d))}function Uxt(t,e,n){var i,r,o,a;for(o=e.q,a=e.r,new HJ((S6(),_ve),e,o,1),new HJ(_ve,o,a,1),r=new Gf(n);r.ac&&(l=c/r),(o=i.Math.abs(e.b-t.b))>a&&(u=a/o),s=i.Math.min(l,u),t.a+=s*(e.a-t.a),t.b+=s*(e.b-t.b)}function Jxt(t,e,n,i,r){var o,a;for(a=!1,o=jz(PH(n.b,0),33);lzt(t,e,o,i,r)&&(a=!0,rCt(n,o),0!=n.b.c.length);)o=jz(PH(n.b,0),33);return 0==n.b.c.length&&Cyt(n.j,n),a&&Hkt(e.q),a}function tEt(t,e){var n,i,r,o;if(yNt(),e.b<2)return!1;for(i=n=jz(h3(o=cbt(e,0)),8);o.b!=o.d.c;){if(rLt(t,i,r=jz(h3(o),8)))return!0;i=r}return!!rLt(t,i,n)}function eEt(t,e,n,i){return 0==n?(!t.o&&(t.o=new w8((TWt(),CIe),eBe,t,0)),jF(t.o,e,i)):jz(eet(jz(kat(t,16),26)||t.zh(),n),66).Nj().Rj(t,umt(t),n-hW(t.zh()),e,i)}function nEt(t,e){var n;e!=t.sb?(n=null,t.sb&&(n=jz(t.sb,49).ih(t,1,jIe,n)),e&&(n=jz(e,49).gh(t,1,jIe,n)),(n=yht(t,e,n))&&n.Fi()):4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,4,e,e))}function iEt(t,e){var n,i;if(!e)throw $b(new ty("All edge sections need an end point."));n=Nnt(e,"x"),Cnt(new Nm(t).a,(kK(n),n)),i=Nnt(e,"y"),Dnt(new Rm(t).a,(kK(i),i))}function rEt(t,e){var n,i;if(!e)throw $b(new ty("All edge sections need a start point."));n=Nnt(e,"x"),Snt(new Pm(t).a,(kK(n),n)),i=Nnt(e,"y"),Int(new Lm(t).a,(kK(i),i))}function oEt(t,e){var n,i,r,o,a;for(i=0,o=mlt(t).length;i>22-e,r=t.h<>22-e):e<44?(n=0,i=t.l<>44-e):(n=0,i=0,r=t.l<t)throw $b(new Rv("k must be smaller than n"));return 0==e||e==t?1:0==t?0:A_t(t)/(A_t(e)*A_t(t-e))}function bEt(t,e){var n,i,r,o;for(n=new SB(t);null!=n.g||n.c?null==n.g||0!=n.i&&jz(n.g[n.i-1],47).Ob():JQ(n);)if(iP(o=jz(oPt(n),56),160))for(i=jz(o,160),r=0;r>4],e[2*n+1]=KPe[15&r];return $pt(e,0,e.length)}function PEt(t){var e;switch(QK(),t.c.length){case 0:return $te;case 1:return TV((e=jz(ZSt(new Gf(t)),42)).cd(),e.dd());default:return new cv(jz(Ymt(t,P7(zte,vYt,42,t.c.length,0,1)),165))}}function LEt(t){var e,n,i,r,o;for(e=new Bb,n=new Bb,f3(e,t),f3(n,t);n.b!=n.c;)for(o=new Gf(jz(fG(n),37).a);o.a0&&aFt(t,n,e),r):SIt(t,e,n)}function FEt(t,e,n){var i,r,o,a;if(0!=e.b){for(i=new YA,a=cbt(e,0);a.b!=a.d.c;)jrt(i,Lst(o=jz(h3(a),86))),(r=o.e).a=jz(wxt(o,(VHt(),gye)),19).a,r.b=jz(wxt(o,pye),19).a;FEt(t,i,wot(n,i.b/t.a|0))}}function jEt(t,e){var n,i,r,o,a;if(t.e<=e)return t.g;if(H1(t,t.g,e))return t.g;for(o=t.r,i=t.g,a=t.r,r=(o-i)/2+i;i+11&&(t.e.b+=t.a)):(t.e.a+=n.a,t.e.b=i.Math.max(t.e.b,n.b),t.d.c.length>1&&(t.e.a+=t.a))}function GEt(t){var e,n,i,r;switch(e=(r=t.i).b,i=r.j,n=r.g,r.a.g){case 0:n.a=(t.g.b.o.a-i.a)/2;break;case 1:n.a=e.d.n.a+e.d.a.a;break;case 2:n.a=e.d.n.a+e.d.a.a-i.a;break;case 3:n.b=e.d.n.b+e.d.a.b}}function WEt(t,e,n,i,r){if(ii&&(t.a=i),t.br&&(t.b=r),t}function KEt(t){if(iP(t,149))return ALt(jz(t,149));if(iP(t,229))return Qft(jz(t,229));if(iP(t,23))return lEt(jz(t,23));throw $b(new Rv(q6t+Mxt(new Xv(Est(Vy(Ite,1),zKt,1,5,[t])))))}function YEt(t,e,n,i,r){var o,a,s;for(o=!0,a=0;a>>r|n[a+i+1]<>>r,++a}return o}function XEt(t,e,n,i){var r,o;if(e.k==(aEt(),xse))for(o=new aU(ZP(uft(e).a.Kc(),new u));gBt(o);)if((r=jz(q4(o),17)).c.i.k==xse&&t.c.a[r.c.i.c.p]==i&&t.c.a[e.c.p]==n)return!0;return!1}function ZEt(t,e){var n,i,r,o;return e&=63,n=t.h&EXt,e<22?(o=n>>>e,r=t.m>>e|n<<22-e,i=t.l>>e|t.m<<22-e):e<44?(o=0,r=n>>>e-22,i=t.m>>e-22|t.h<<44-e):(o=0,r=0,i=n>>>e-44),CM(i&xXt,r&xXt,o&EXt)}function QEt(t,e,n,i){var r;this.b=i,this.e=t==(sit(),Dke),r=e[n],this.d=kH(DLe,[cYt,QZt],[177,25],16,[r.length,r.length],2),this.a=kH(SLe,[cYt,lXt],[48,25],15,[r.length,r.length],2),this.c=new qCt(e,n)}function JEt(t){var e,n,i;for(t.k=new a1((vGt(),Est(Vy(FDe,1),XJt,61,0,[xDe,sDe,aDe,ADe,EDe])).length,t.j.c.length),i=new Gf(t.j);i.a=n)return lTt(t,e,i.p),!0;return!1}function rTt(t){var e;return 64&t.Db?wEt(t):(e=new uL(Q4t),!t.a||aI(aI((e.a+=' "',e),t.a),'"'),aI(kC(aI(kC(aI(kC(aI(kC((e.a+=" (",e),t.i),","),t.j)," | "),t.g),","),t.f),")"),e.a)}function oTt(t,e,n){var i,r,o,a,s;for(s=oOt(t.e.Tg(),e),r=jz(t.g,119),i=0,a=0;an?gSt(t,n,"start index"):e<0||e>n?gSt(e,n,"end index"):BRt("end index (%s) must not be less than start index (%s)",Est(Vy(Ite,1),zKt,1,5,[ndt(e),ndt(t)]))}function cTt(t,e){var n,i,r,o;for(i=0,r=t.length;i0&&hTt(t,o,n));e.p=0}function dTt(t){var e;this.c=new YA,this.f=t.e,this.e=t.d,this.i=t.g,this.d=t.c,this.b=t.b,this.k=t.j,this.a=t.a,t.i?this.j=t.i:this.j=new YF(e=jz(W_(vxe),9),jz(AR(e,e.length),9),0),this.g=t.f}function fTt(t){var e,n,i,r;for(e=PW(aI(new uL("Predicates."),"and"),40),n=!0,r=new Af(t);r.b0?s[a-1]:P7(Sse,o1t,10,0,0,1),r=s[a],l=a=0?t.Bh(r):rDt(t,i)}else Vht(t,n,i)}function kTt(t){var e,n;if(n=null,e=!1,iP(t,204)&&(e=!0,n=jz(t,204).a),e||iP(t,258)&&(e=!0,n=""+jz(t,258).a),e||iP(t,483)&&(e=!0,n=""+jz(t,483).a),!e)throw $b(new Bv(z6t));return n}function vTt(t,e){var n,i;if(t.f){for(;e.Ob();)if(iP(i=(n=jz(e.Pb(),72)).ak(),99)&&jz(i,18).Bb&l6t&&(!t.e||i.Gj()!=BIe||0!=i.aj())&&null!=n.dd())return e.Ub(),!0;return!1}return e.Ob()}function yTt(t,e){var n,i;if(t.f){for(;e.Sb();)if(iP(i=(n=jz(e.Ub(),72)).ak(),99)&&jz(i,18).Bb&l6t&&(!t.e||i.Gj()!=BIe||0!=i.aj())&&null!=n.dd())return e.Pb(),!0;return!1}return e.Sb()}function _Tt(t,e,n){var i,r,o,a,s,c;for(c=oOt(t.e.Tg(),e),i=0,s=t.i,r=jz(t.g,119),a=0;a1&&(e.c[e.c.length]=o)}function xTt(t){var e,n,i;for(jrt(n=new YA,t.o),i=new ak;0!=n.b;)WGt(t,e=jz(0==n.b?null:(xO(0!=n.b),Iet(n,n.a.a)),508),!0)&&Gz(i.a,e);for(;0!=i.a.c.length;)WGt(t,e=jz(tut(i),508),!1)}function ETt(){ETt=I,kxe=new IS(lQt,0),dxe=new IS("BOOLEAN",1),mxe=new IS("INT",2),wxe=new IS("STRING",3),fxe=new IS("DOUBLE",4),gxe=new IS("ENUM",5),pxe=new IS("ENUMSET",6),bxe=new IS("OBJECT",7)}function TTt(t,e){var n,r,o,a,s;r=i.Math.min(t.c,e.c),a=i.Math.min(t.d,e.d),(o=i.Math.max(t.c+t.b,e.c+e.b))=(r/2|0))for(this.e=i?i.c:null,this.d=r;n++0;)yJ(this);this.b=e,this.a=null}function FTt(t,e){var n,i;e.a?qLt(t,e):(!!(n=jz(kF(t.b,e.b),57))&&n==t.a[e.b.f]&&!!n.a&&n.a!=e.b.a&&n.c.Fc(e.b),!!(i=jz(wF(t.b,e.b),57))&&t.a[i.f]==e.b&&!!i.a&&i.a!=e.b.a&&e.b.c.Fc(i),CL(t.b,e.b))}function jTt(t,e){var n,i;if(n=jz(aY(t.b,e),124),jz(jz(c6(t.r,e),21),84).dc())return n.n.b=0,void(n.n.c=0);n.n.b=t.C.b,n.n.c=t.C.c,t.A.Hc((wpt(),RDe))&&kRt(t,e),i=Gbt(t,e),ENt(t,e)==(rbt(),jSe)&&(i+=2*t.w),n.a.a=i}function $Tt(t,e){var n,i;if(n=jz(aY(t.b,e),124),jz(jz(c6(t.r,e),21),84).dc())return n.n.d=0,void(n.n.a=0);n.n.d=t.C.d,n.n.a=t.C.a,t.A.Hc((wpt(),RDe))&&vRt(t,e),i=Wbt(t,e),ENt(t,e)==(rbt(),jSe)&&(i+=2*t.w),n.a.b=i}function zTt(t,e){var n,i,r,o;for(o=new Mb,i=new Gf(e);i.an.a&&(i.Hc((fCt(),Gxe))?r=(e.a-n.a)/2:i.Hc(Kxe)&&(r=e.a-n.a)),e.b>n.b&&(i.Hc((fCt(),Xxe))?o=(e.b-n.b)/2:i.Hc(Yxe)&&(o=e.b-n.b)),hxt(t,r,o)}function dSt(t,e,n,i,r,o,a,s,c,l,u,h,d){iP(t.Cb,88)&&ISt(x4(jz(t.Cb,88)),4),Prt(t,n),t.f=a,Bdt(t,s),Pdt(t,c),Idt(t,l),Mdt(t,u),Jht(t,h),Vdt(t,d),Xht(t,!0),Mnt(t,r),t.ok(o),Sut(t,e),null!=i&&(t.i=null,ort(t,i))}function fSt(t){var e,n;if(t.f){for(;t.n>0;){if(iP(n=(e=jz(t.k.Xb(t.n-1),72)).ak(),99)&&jz(n,18).Bb&l6t&&(!t.e||n.Gj()!=BIe||0!=n.aj())&&null!=e.dd())return!0;--t.n}return!1}return t.n>0}function gSt(t,e,n){if(t<0)return BRt($Kt,Est(Vy(Ite,1),zKt,1,5,[n,ndt(t)]));if(e<0)throw $b(new Rv(VKt+e));return BRt("%s (%s) must not be greater than size (%s)",Est(Vy(Ite,1),zKt,1,5,[n,ndt(t),ndt(e)]))}function pSt(t,e,n,i,r,o){var a,s,c;if(i-n<7)Bft(e,n,i,o);else if(pSt(e,t,s=n+r,c=s+((a=i+r)-s>>1),-r,o),pSt(e,t,c,a,-r,o),o.ue(t[c-1],t[c])<=0)for(;n=0?t.sh(o,n):CPt(t,r,n)}else Mft(t,i,r,n)}function vSt(t){var e,n,i,r;if(n=jz(t,49).qh())try{if(i=null,(e=BMt((Gx(),VBe),Ajt(Fft(n))))&&(r=e.rh())&&(i=r.Wk(Uv(n.e))),i&&i!=t)return vSt(i)}catch(t){if(!iP(t=hst(t),60))throw $b(t)}return t}function ySt(t,e,n){var i,r,o,a;if(a=null==e?0:t.b.se(e),0==(r=null==(i=t.a.get(a))?new Array:i).length)t.a.set(a,r);else if(o=lut(t,e,r))return o.ed(n);return IW(r,r.length,new xE(e,n)),++t.c,aZ(t.b),null}function _St(t,e){var n;return c2(t.a),EG(t.a,(Ert(),Kye),Kye),EG(t.a,Yye,Yye),fH(n=new j2,Yye,(Tft(),t_e)),VD(QBt(e,(Uvt(),A_e)))!==VD((zlt(),s_e))&&fH(n,Yye,Qye),fH(n,Yye,Jye),rB(t.a,n),BHt(t.a,e)}function CSt(t){if(!t)return uy(),lee;var e=t.valueOf?t.valueOf():t;if(e!==t){var n=uee[typeof e];return n?n(e):vut(typeof e)}return t instanceof Array||t instanceof i.Array?new yd(t):new Ad(t)}function ASt(t,e,n){var r,o,a;switch(a=t.o,(o=(r=jz(aY(t.p,n),244)).i).b=xDt(r),o.a=ADt(r),o.b=i.Math.max(o.b,a.a),o.b>a.a&&!e&&(o.b=a.a),o.c=-(o.b-a.a)/2,n.g){case 1:o.d=-o.a;break;case 3:o.d=a.b}F$t(r),H$t(r)}function xSt(t,e,n){var r,o,a;switch(a=t.o,(o=(r=jz(aY(t.p,n),244)).i).b=xDt(r),o.a=ADt(r),o.a=i.Math.max(o.a,a.b),o.a>a.b&&!e&&(o.a=a.b),o.d=-(o.a-a.b)/2,n.g){case 4:o.c=-o.b;break;case 2:o.c=a.a}F$t(r),H$t(r)}function ESt(t,e){var n,i,r,o,a;if(!e.dc())if(r=jz(e.Xb(0),128),1!=e.gc())for(n=1;n0)try{i=hjt(e,FYt,OKt)}catch(t){throw iP(t=hst(t),127)?$b(new B9(t)):$b(t)}return!t.a&&(t.a=new Ab(t)),i<(n=t.a).i&&i>=0?jz(Wet(n,i),56):null}function MSt(t,e){if(t<0)return BRt($Kt,Est(Vy(Ite,1),zKt,1,5,["index",ndt(t)]));if(e<0)throw $b(new Rv(VKt+e));return BRt("%s (%s) must be less than size (%s)",Est(Vy(Ite,1),zKt,1,5,["index",ndt(t),ndt(e)]))}function PSt(t){var e,n,i,r,o;if(null==t)return qKt;for(o=new Bat(jKt,"[","]"),i=0,r=(n=t).length;i0)for(a=t.c.d,r=kP(UR(new PS((s=t.d.d).a,s.b),a),1/(i+1)),o=new PS(a.a,a.b),n=new Gf(t.a);n.a=0?t._g(n,!0,!0):rIt(t,r,!0),153),jz(i,215).ol(e)}function oDt(t){var e,n;return t>-0x800000000000&&t<0x800000000000?0==t?0:((e=t<0)&&(t=-t),n=EQ(i.Math.floor(i.Math.log(t)/.6931471805599453)),(!e||t!=i.Math.pow(2,n))&&++n,n):Kat(uat(t))}function aDt(t){var e,n,i,r,o,a,s;for(o=new lB,n=new Gf(t);n.a2&&s.e.b+s.j.b<=2&&(r=s,i=a),o.a.zc(r,o),r.q=i);return o}function sDt(t,e){var n,i,r;return Vat(i=new Bwt(t),e),lct(i,(lKt(),Whe),e),lct(i,(zWt(),tbe),(YCt(),USe)),lct(i,kpe,(fwt(),Sxe)),Fd(i,(aEt(),Cse)),EJ(n=new TEt,i),VSt(n,(vGt(),EDe)),EJ(r=new TEt,i),VSt(r,aDe),i}function cDt(t){switch(t.g){case 0:return new Mv((sit(),Ske));case 1:return new dh;case 2:return new kh;default:throw $b(new Rv("No implementation is available for the crossing minimizer "+(null!=t.f?t.f:""+t.g)))}}function lDt(t,e){var n,i,r,o;for(t.c[e.p]=!0,Gz(t.a,e),o=new Gf(e.j);o.a=(o=a.gc()))a.$b();else for(r=a.Kc(),i=0;i0?dy():o<0&&_Dt(t,e,-o),!0)}function ADt(t){var e,n,i,r,o,a;if(a=0,0==t.b){for(e=0,r=0,o=(i=Gwt(t,!0)).length;r0&&(a+=n,++e);e>1&&(a+=t.c*(e-1))}else a=Ny(eot(BY(DY(BG(t.a),new At),new xt)));return a>0?a+t.n.d+t.n.a:0}function xDt(t){var e,n,i,r,o,a;if(a=0,0==t.b)a=Ny(eot(BY(DY(BG(t.a),new _t),new Ct)));else{for(e=0,r=0,o=(i=Wwt(t,!0)).length;r0&&(a+=n,++e);e>1&&(a+=t.c*(e-1))}return a>0?a+t.n.b+t.n.c:0}function EDt(t,e){var n,r,o,a;for(n=(a=jz(aY(t.b,e),124)).a,o=jz(jz(c6(t.r,e),21),84).Kc();o.Ob();)(r=jz(o.Pb(),111)).c&&(n.a=i.Math.max(n.a,WV(r.c)));if(n.a>0)switch(e.g){case 2:a.n.c=t.s;break;case 4:a.n.b=t.s}}function TDt(t,e){var n,i,r;return 0==(n=jz(wxt(e,(uRt(),Zoe)),19).a-jz(wxt(t,Zoe),19).a)?(i=UR(jM(jz(wxt(t,(Art(),oae)),8)),jz(wxt(t,aae),8)),r=UR(jM(jz(wxt(e,oae),8)),jz(wxt(e,aae),8)),Edt(i.a*i.b,r.a*r.b)):n}function SDt(t,e){var n,i,r;return 0==(n=jz(wxt(e,(TBt(),Iye)),19).a-jz(wxt(t,Iye),19).a)?(i=UR(jM(jz(wxt(t,(VHt(),Zve)),8)),jz(wxt(t,Qve),8)),r=UR(jM(jz(wxt(e,Zve),8)),jz(wxt(e,Qve),8)),Edt(i.a*i.b,r.a*r.b)):n}function DDt(t){var e,n;return(n=new Ey).a+="e_",null!=(e=Gat(t))&&(n.a+=""+e),t.c&&t.d&&(aI((n.a+=" ",n),mvt(t.c)),aI(oI((n.a+="[",n),t.c.i),"]"),aI((n.a+=e1t,n),mvt(t.d)),aI(oI((n.a+="[",n),t.d.i),"]")),n.a}function IDt(t){switch(t.g){case 0:return new gh;case 1:return new ph;case 2:return new fh;case 3:return new mh;default:throw $b(new Rv("No implementation is available for the layout phase "+(null!=t.f?t.f:""+t.g)))}}function BDt(t,e,n,r,o){var a;switch(a=0,o.g){case 1:a=i.Math.max(0,e.b+t.b-(n.b+r));break;case 3:a=i.Math.max(0,-t.b-r);break;case 2:a=i.Math.max(0,-t.a-r);break;case 4:a=i.Math.max(0,e.a+t.a-(n.a+r))}return a}function MDt(t,e,n){var i,r,o;if(n)for(o=((i=new cU(n.a.length)).b-i.a)*i.c<0?(tE(),_Le):new UP(i);o.Ob();)r=P2(n,jz(o.Pb(),19).a),M6t in r.a||P6t in r.a?cFt(t,r,e):_Wt(t,r,e),xP(jz(OW(t.b,Ypt(r)),79))}function PDt(t){var e,n;switch(t.b){case-1:return!0;case 0:return(n=t.t)>1||-1==n||(e=Syt(t))&&(Zx(),e.Cj()==_8t)?(t.b=-1,!0):(t.b=1,!1);default:return!1}}function LDt(t,e){var n,i,r,o,a;for(!e.s&&(e.s=new tG(RBe,e,21,17)),o=null,r=0,a=(i=e.s).i;r=0&&i=0?t._g(n,!0,!0):rIt(t,r,!0),153),jz(i,215).ll(e);throw $b(new Rv(i6t+e.ne()+a6t))}function HDt(){var t;return Jx(),WMe?jz(BMt((Gx(),VBe),K8t),1939):(OI(zte,new Sl),Jqt(),t=jz(iP(AQ((Gx(),VBe),K8t),547)?AQ(VBe,K8t):new qK,547),WMe=!0,sKt(t),CKt(t),WK((Wx(),XBe),t,new qc),bJ(VBe,K8t,t),t)}function qDt(t,e){var n,i,r,o;t.j=-1,bB(t.e)?(n=t.i,o=0!=t.i,i6(t,e),i=new M9(t.e,3,t.c,null,e,n,o),r=e.Qk(t.e,t.c,null),(r=SCt(t,e,r))?(r.Ei(i),r.Fi()):dat(t.e,i)):(i6(t,e),(r=e.Qk(t.e,t.c,null))&&r.Fi())}function UDt(t,e){var n,i,r;if(r=0,(i=e[0])>=t.length)return-1;for(h1(i,t.length),n=t.charCodeAt(i);n>=48&&n<=57&&(r=10*r+(n-48),!(++i>=t.length));)h1(i,t.length),n=t.charCodeAt(i);return i>e[0]?e[0]=i:r=-1,r}function GDt(t){var e,n,r,o,a;return n=o=jz(t.a,19).a,r=a=jz(t.b,19).a,e=i.Math.max(i.Math.abs(o),i.Math.abs(a)),o<=0&&o==a?(n=0,r=a-1):o==-e&&a!=e?(n=a,r=o,a>=0&&++n):(n=-a,r=o),new nD(ndt(n),ndt(r))}function WDt(t,e,n,i){var r,o,a,s,c,l;for(r=0;r=0&&l>=0&&c=t.i)throw $b(new Dv(a7t+e+s7t+t.i));if(n>=t.i)throw $b(new Dv(c7t+n+s7t+t.i));return i=t.g[n],e!=n&&(e>16))>>16&16),n+=e=(i=(t>>=e)-256)>>16&8,n+=e=(i=(t<<=e)-FXt)>>16&4,(n+=e=(i=(t<<=e)-lYt)>>16&2)+2-(e=(i=(t<<=e)>>14)&~(i>>1)))}function JDt(t){var e,n,i,r;for(CX(),Aoe=new Mb,Coe=new Pb,_oe=new Mb,!t.a&&(t.a=new tG(HIe,t,10,11)),LGt(e=t.a),r=new DP(e);r.e!=r.i.gc();)i=jz(vbt(r),33),-1==y9(Aoe,i,0)&&(n=new Mb,Gz(_oe,n),Nmt(i,n));return _oe}function tIt(t,e,n){var i,r,o,a;t.a=n.b.d,iP(e,352)?(t4(o=VEt(r=rNt(jz(e,79),!1,!1)),i=new Mg(t)),K$t(o,r),null!=e.We((cKt(),SEe))&&t4(jz(e.We(SEe),74),i)):((a=jz(e,470)).Hg(a.Dg()+t.a.a),a.Ig(a.Eg()+t.a.b))}function eIt(t,e){var n,r,o,a,s,c,l,u;for(u=Vv(CN(wxt(e,(zWt(),Mbe)))),l=t[0].n.a+t[0].o.a+t[0].d.c+u,c=1;c=0?n:(s=uK(UR(new PS(a.c+a.b/2,a.d+a.a/2),new PS(o.c+o.b/2,o.d+o.a/2))),-(Xjt(o,a)-1)*s)}function iIt(t,e,n){var i;XA(new OH(null,(!n.a&&(n.a=new tG(RIe,n,6,6)),new d1(n.a,16))),new tD(t,e)),XA(new OH(null,(!n.n&&(n.n=new tG(VIe,n,1,7)),new d1(n.n,16))),new eD(t,e)),(i=jz(QBt(n,(cKt(),SEe)),74))&&Xrt(i,t,e)}function rIt(t,e,n){var i,r,o;if(o=jHt((STt(),XMe),t.Tg(),e))return Zx(),jz(o,66).Oj()||(o=Z1(j9(XMe,o))),r=jz((i=t.Yg(o))>=0?t._g(i,!0,!0):rIt(t,o,!0),153),jz(r,215).hl(e,n);throw $b(new Rv(i6t+e.ne()+a6t))}function oIt(t,e,n,i){var r,o,a,s,c;if(r=t.d[e])if(o=r.g,c=r.i,null!=i){for(s=0;s=n&&(i=e,o=(c=(s.c+s.a)/2)-n,s.c<=c-n&&kq(t,i++,new kz(s.c,o)),(a=c+n)<=s.a&&(r=new kz(a,s.a),BJ(i,t.c.length),CE(t.c,i,r)))}function dIt(t){var e;if(t.c||null!=t.g){if(null==t.g)return!0;if(0==t.i)return!1;e=jz(t.g[t.i-1],47)}else t.d=t.si(t.f),l8(t,t.d),e=t.d;return e==t.b&&null.km>=null.jm()?(oPt(t),dIt(t)):e.Ob()}function fIt(t,e,n){var i,r,o,a;if(!(a=n)&&(a=BV(new Uk,0)),DAt(a,VJt,1),Bqt(t.c,e),1==(o=Nqt(t.a,e)).gc())KVt(jz(o.Xb(0),37),a);else for(r=1/o.gc(),i=o.Kc();i.Ob();)KVt(jz(i.Pb(),37),wot(a,r));yy(t.a,o,e),jNt(e),zEt(a)}function gIt(t){if(this.a=t,t.c.i.k==(aEt(),Cse))this.c=t.c,this.d=jz(wxt(t.c.i,(lKt(),Khe)),61);else{if(t.d.i.k!=Cse)throw $b(new Rv("Edge "+t+" is not an external edge."));this.c=t.d,this.d=jz(wxt(t.d.i,(lKt(),Khe)),61)}}function pIt(t,e){var n,i,r;r=t.b,t.b=e,4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,3,r,t.b)),e?e!=t&&(Prt(t,e.zb),Bnt(t,e.d),jit(t,null==(n=null==(i=e.c)?e.zb:i)||bF(n,e.zb)?null:n)):(Prt(t,null),Bnt(t,0),jit(t,null))}function mIt(t){var e,n;if(t.f){for(;t.n=(a=null==(n=jz(kat(t.a,4),126))?0:n.length))throw $b(new JR(e,a));return r=n[e],1==a?i=null:(oVt(n,0,i=P7(dBe,n8t,415,a-1,0,1),0,e),(o=a-e-1)>0&&oVt(n,e+1,i,e,o)),jmt(t,i),eSt(t,e,r),r}function CIt(){CIt=I,cPe=jz(Wet(KX((iC(),fPe).qb),6),34),oPe=jz(Wet(KX(fPe.qb),3),34),aPe=jz(Wet(KX(fPe.qb),4),34),sPe=jz(Wet(KX(fPe.qb),5),18),sCt(cPe),sCt(oPe),sCt(aPe),sCt(sPe),lPe=new Xv(Est(Vy(RBe,1),P8t,170,0,[cPe,oPe]))}function AIt(t,e){var n;this.d=new uk,this.b=e,this.e=new dB(e.qf()),n=t.u.Hc((hDt(),eDe)),t.u.Hc(tDe)?t.D?this.a=n&&!e.If():this.a=!0:t.u.Hc(nDe)?this.a=!!n&&!(e.zf().Kc().Ob()||e.Bf().Kc().Ob()):this.a=!1}function xIt(t,e){var n,i,r,o;for(n=t.o.a,o=jz(jz(c6(t.r,e),21),84).Kc();o.Ob();)(r=jz(o.Pb(),111)).e.a=(i=r.b).Xe((cKt(),rTe))?i.Hf()==(vGt(),EDe)?-i.rf().a-Vv(CN(i.We(rTe))):n+Vv(CN(i.We(rTe))):i.Hf()==(vGt(),EDe)?-i.rf().a:n}function EIt(t,e){var n,i,r;n=jz(wxt(t,(zWt(),qpe)),103),r=jz(QBt(e,obe),61),(i=jz(wxt(t,tbe),98))!=(YCt(),KSe)&&i!=YSe?r==(vGt(),xDe)&&(r=D$t(e,n))==xDe&&(r=lgt(n)):r=GVt(e)>0?lgt(n):Cdt(lgt(n)),Xbt(e,obe,r)}function TIt(t,e){var n,i,r,o,a;for(a=t.j,e.a!=e.b&&bM(a,new Gr),r=a.c.length/2|0,i=0;i0&&aFt(t,n,e),o):null!=i.a?(aFt(t,e,n),-1):null!=r.a?(aFt(t,n,e),1):0}function DIt(t,e){var n,i,r,o;t.ej()?(n=t.Vi(),o=t.fj(),++t.j,t.Hi(n,t.oi(n,e)),i=t.Zi(3,null,e,n,o),t.bj()&&(r=t.cj(e,null))?(r.Ei(i),r.Fi()):t.$i(i)):(tK(t,e),t.bj()&&(r=t.cj(e,null))&&r.Fi())}function IIt(t,e){var n,i,r,o,a;for(a=oOt(t.e.Tg(),e),r=new mc,n=jz(t.g,119),o=t.i;--o>=0;)i=n[o],a.rl(i.ak())&&l8(r,i);!oWt(t,r)&&bB(t.e)&&Bw(t,e.$j()?BZ(t,6,e,(AX(),cne),null,-1,!1):BZ(t,e.Kj()?2:1,e,null,null,-1,!1))}function BIt(){var t,e;for(BIt=I,one=P7(sne,cYt,91,32,0,1),ane=P7(sne,cYt,91,32,0,1),t=1,e=0;e<=18;e++)one[e]=Jmt(t),ane[e]=Jmt(wU(t,e)),t=rft(t,5);for(;eo)||e.q&&(o=(i=e.C).c.c.a-i.o.a/2,i.n.a-n>o)))}function PIt(t,e){DAt(e,"Partition preprocessing",1),XA(jz(x5(DY(dtt(DY(new OH(null,new d1(t.a,16)),new wi),new ki),new vi),b8(new V,new z,new it,Est(Vy(Qne,1),BYt,132,0,[(Vlt(),qne)]))),15).Oc(),new yi),zEt(e)}function LIt(t){var e,n,i,r,o,a;for(zJ(),n=new m5,i=new Gf(t.e.b);i.a1?t.e*=Vv(t.a):t.f/=Vv(t.a),Tut(t),pmt(t),CRt(t),lct(t.b,(_bt(),goe),t.g)}function zIt(t,e,n){var i,r,o,a,s;for(i=0,s=n,e||(i=n*(t.c.length-1),s*=-1),o=new Gf(t);o.a=0?(e||(e=new xy,i>0&&iI(e,t.substr(0,i))),e.a+="\\",MW(e,n&YYt)):e&&MW(e,n&YYt);return e?e.a:t}function iBt(t){var e;if(!t.a)throw $b(new Fv("IDataType class expected for layout option "+t.f));if(null==(e=T3(t.a)))throw $b(new Fv("Couldn't create new instance of property '"+t.f+"'. "+i4t+(yN(uBe),uBe.k)+r4t));return jz(e,414)}function rBt(t){var e,n,i,r,o;return(o=t.eh())&&o.kh()&&(r=tht(t,o))!=o?(n=t.Vg(),i=(e=t.Vg())>=0?t.Qg(null):t.eh().ih(t,-1-e,null,null),t.Rg(jz(r,49),n),i&&i.Fi(),t.Lg()&&t.Mg()&&n>-1&&dat(t,new QU(t,9,n,o,r)),r):o}function oBt(t){var e,n,i,r,o,a,s;for(o=0,r=t.f.e,n=0;n>5)>=t.d)return t.e<0;if(n=t.a[r],e=1<<(31&e),t.e<0){if(r<(i=Tot(t)))return!1;n=i==r?-n:~n}return!!(n&e)}function hBt(t,e,n,i){var r;jz(n.b,65),jz(n.b,65),jz(i.b,65),jz(i.b,65),MV(r=UR(jM(jz(n.b,65).c),jz(i.b,65).c),zSt(jz(n.b,65),jz(i.b,65),r)),jz(i.b,65),jz(i.b,65),jz(i.b,65).c.a,r.a,jz(i.b,65).c.b,r.b,jz(i.b,65),Det(i.a,new _z(t,e,i))}function dBt(t,e){var n,i,r,o,a,s,c;if(o=e.e)for(n=rBt(o),i=jz(t.g,674),a=0;a>16)),15).Xc(o))0&&((!fB(t.a.c)||!e.n.d)&&(!gB(t.a.c)||!e.n.b)&&(e.g.d+=i.Math.max(0,r/2-.5)),(!fB(t.a.c)||!e.n.a)&&(!gB(t.a.c)||!e.n.c)&&(e.g.a-=r-1))}function wBt(t){var e,n,r,o,a;if(a=Rjt(t,o=new Mb),e=jz(wxt(t,(lKt(),yde)),10))for(r=new Gf(e.j);r.a>e,o=t.m>>e|n<<22-e,r=t.l>>e|t.m<<22-e):e<44?(a=i?EXt:0,o=n>>e-22,r=t.m>>e-22|n<<44-e):(a=i?EXt:0,o=i?xXt:0,r=n>>e-44),CM(r&xXt,o&xXt,a&EXt)}function _Bt(t){var e,n,r,o,a,s;for(this.c=new Mb,this.d=t,r=NXt,o=NXt,e=RXt,n=RXt,s=cbt(t,0);s.b!=s.d.c;)a=jz(h3(s),8),r=i.Math.min(r,a.a),o=i.Math.min(o,a.b),e=i.Math.max(e,a.a),n=i.Math.max(n,a.b);this.a=new qY(r,o,e-r,n-o)}function CBt(t,e){var n,i,r,o;for(i=new Gf(t.b);i.a0&&iP(e,42)&&(t.a.qj(),o=null==(c=(l=jz(e,42)).cd())?0:Jct(c),a=tR(t.a,o),n=t.a.d[a]))for(i=jz(n.g,367),u=n.i,s=0;s=2)for(e=CN((n=o.Kc()).Pb());n.Ob();)a=e,e=CN(n.Pb()),r=i.Math.min(r,(kK(e),e-(kK(a),a)));return r}function zBt(t,e){var n,i,r,o,a;n4(i=new YA,e,i.c.b,i.c);do{for(xO(0!=i.b),n=jz(Iet(i,i.a.a),86),t.b[n.g]=1,o=cbt(n.d,0);o.b!=o.d.c;)a=(r=jz(h3(o),188)).c,1==t.b[a.g]?LV(t.a,r):2==t.b[a.g]?t.b[a.g]=1:n4(i,a,i.c.b,i.c)}while(0!=i.b)}function VBt(t,e){var n,i,r;if(VD(e)===VD(wW(t)))return!0;if(!iP(e,15))return!1;if(i=jz(e,15),(r=t.gc())!=i.gc())return!1;if(iP(i,54)){for(n=0;n0&&(r=n),a=new Gf(t.f.e);a.a0?(e-=1,n-=1):i>=0&&r<0?(e+=1,n+=1):i>0&&r>=0?(e-=1,n+=1):(e+=1,n-=1),new nD(ndt(e),ndt(n))}function hMt(t,e){return t.ce.c?1:t.be.b?1:t.a!=e.a?Jct(t.a)-Jct(e.a):t.d==(K5(),$ke)&&e.d==jke?-1:t.d==jke&&e.d==$ke?1:0}function dMt(t,e){var n,i,r,o,a;return a=(o=e.a).c.i==e.b?o.d:o.c,i=o.c.i==e.b?o.c:o.d,(r=qgt(t.a,a,i))>0&&r0):r<0&&-r0)}function fMt(t,e,n,i){var r,o,a,s,c,l;for(r=(e-t.d)/t.c.c.length,o=0,t.a+=n,t.d=e,l=new Gf(t.c);l.a>24;return a}function pMt(t){if(t.pe()){var e=t.c;return e.qe()?t.o="["+e.n:e.pe()?t.o="["+e.ne():t.o="[L"+e.ne()+";",t.b=e.me()+"[]",void(t.k=e.oe()+"[]")}var n=t.j,i=t.d;i=i.split("/"),t.o=jpt(".",[n,jpt("$",i)]),t.b=jpt(".",[n,jpt(".",i)]),t.k=i[i.length-1]}function mMt(t,e){var n,i,r,o,a;for(a=null,o=new Gf(t.e.a);o.a=0;e-=2)for(n=0;n<=e;n+=2)(t.b[n]>t.b[n+2]||t.b[n]===t.b[n+2]&&t.b[n+1]>t.b[n+3])&&(i=t.b[n+2],t.b[n+2]=t.b[n],t.b[n]=i,i=t.b[n+3],t.b[n+3]=t.b[n+1],t.b[n+1]=i);t.c=!0}}function AMt(t,e){var n,i,r,o,a,s;for(o=(1==e?Gae:Uae).a.ec().Kc();o.Ob();)for(r=jz(o.Pb(),103),s=jz(c6(t.f.c,r),21).Kc();s.Ob();)switch(a=jz(s.Pb(),46),i=jz(a.b,81),n=jz(a.a,189).c,r.g){case 2:case 1:i.g.d+=n;break;case 4:case 3:i.g.c+=n}}function xMt(t,e){var n,i,r,o,a,s,c,l,u;for(l=-1,u=0,s=0,c=(a=t).length;s0&&++u;++l}return u}function EMt(t){var e;return(e=new uL(Q_(t.gm))).a+="@",aI(e,(Jct(t)>>>0).toString(16)),t.kh()?(e.a+=" (eProxyURI: ",oI(e,t.qh()),t.$g()&&(e.a+=" eClass: ",oI(e,t.$g())),e.a+=")"):t.$g()&&(e.a+=" (eClass: ",oI(e,t.$g()),e.a+=")"),e.a}function TMt(t){var e,n,i;if(t.e)throw $b(new Fv((yN(gie),IZt+gie.k+BZt)));for(t.d==(jht(),jTe)&&CUt(t,RTe),n=new Gf(t.a.a);n.a>24}return n}function PMt(t,e,n){var i,r,o;if(!(r=jz(aY(t.i,e),306)))if(r=new fet(t.d,e,n),bq(t.i,e,r),omt(e))yP(t.a,e.c,e.b,r);else switch(o=MTt(e),i=jz(aY(t.p,o),244),o.g){case 1:case 3:r.j=!0,vv(i,e.b,r);break;case 4:case 2:r.k=!0,vv(i,e.c,r)}return r}function LMt(t,e,n,i){var r,o,a,s,c,l;if(s=new mc,c=oOt(t.e.Tg(),e),r=jz(t.g,119),Zx(),jz(e,66).Oj())for(a=0;a=0)return r;for(o=1,a=new Gf(e.j);a.a0&&e.ue((u1(r-1,t.c.length),jz(t.c[r-1],10)),o)>0;)i4(t,r,(u1(r-1,t.c.length),jz(t.c[r-1],10))),--r;u1(r,t.c.length),t.c[r]=o}n.a=new Pb,n.b=new Pb}function RMt(t,e,n){var i,r,o,a,s,c,l;for(l=new YF(i=jz(e.e&&e.e(),9),jz(AR(i,i.length),9),0),a=0,s=(o=vFt(n,"[\\[\\]\\s,]+")).length;a0&&((!fB(t.a.c)||!e.n.d)&&(!gB(t.a.c)||!e.n.b)&&(e.g.d-=i.Math.max(0,r/2-.5)),(!fB(t.a.c)||!e.n.a)&&(!gB(t.a.c)||!e.n.c)&&(e.g.a+=i.Math.max(0,r-1)))}function jMt(t,e,n){var i;if(2==(t.c-t.b&t.a.length-1))e==(vGt(),sDe)||e==aDe?(yet(jz(_ct(t),15),(Gvt(),vSe)),yet(jz(_ct(t),15),ySe)):(yet(jz(_ct(t),15),(Gvt(),ySe)),yet(jz(_ct(t),15),vSe));else for(i=new hY(t);i.a!=i.b;)yet(jz(Fut(i),15),n)}function $Mt(t,e){var n,i,r,o,a,s;for(a=new C2(i=$z(new sb(t)),i.c.length),s=new C2(r=$z(new sb(e)),r.c.length),o=null;a.b>0&&s.b>0&&(xO(a.b>0),n=jz(a.a.Xb(a.c=--a.b),33),xO(s.b>0),n==jz(s.a.Xb(s.c=--s.b),33));)o=n;return o}function zMt(t,e){var n,r,o,a;return o=t.a*oZt+1502*t.b,a=t.b*oZt+11,o+=n=i.Math.floor(a*aZt),a-=n*sZt,o%=sZt,t.a=o,t.b=a,e<=24?i.Math.floor(t.a*Sne[e]):((r=t.a*(1<=2147483648&&(r-=GXt),r)}function VMt(t,e,n){var i,r,o,a;d0(t,e)>d0(t,n)?(i=oft(n,(vGt(),aDe)),t.d=i.dc()?0:oH(jz(i.Xb(0),11)),a=oft(e,EDe),t.b=a.dc()?0:oH(jz(a.Xb(0),11))):(r=oft(n,(vGt(),EDe)),t.d=r.dc()?0:oH(jz(r.Xb(0),11)),o=oft(e,aDe),t.b=o.dc()?0:oH(jz(o.Xb(0),11)))}function HMt(t){var e,n,i,r,o,a,s;if(t&&(e=t.Hh(K8t))&&null!=(a=AN(rpt((!e.b&&(e.b=new XO((pKt(),wMe),qMe,e)),e.b),"conversionDelegates")))){for(s=new Mb,r=0,o=(i=vFt(a,"\\w+")).length;rt.c));a++)r.a>=t.s&&(o<0&&(o=a),s=a);return c=(t.s+t.c)/2,o>=0&&(c=zx((u1(i=XRt(t,e,o,s),e.c.length),jz(e.c[i],329))),hIt(e,i,n)),c}function WMt(){WMt=I,uCe=new UB((cKt(),iEe),1.3),gCe=vEe,TCe=new GB(15),ECe=new UB(UEe,TCe),ICe=new UB(BTe,15),hCe=cEe,vCe=NEe,yCe=jEe,_Ce=zEe,kCe=LEe,CCe=qEe,SCe=lTe,BBt(),xCe=aCe,wCe=rCe,ACe=oCe,DCe=cCe,pCe=iCe,mCe=EEe,bCe=TEe,fCe=nCe,dCe=eCe,BCe=lCe}function KMt(t,e,n){var i,r,o,a,s;for($it(r=new _c,(kK(e),e)),!r.b&&(r.b=new XO((pKt(),wMe),qMe,r)),s=r.b,a=1;a0&&LHt(this,r)}function XMt(t,e,n,i,r,o){var a,s,c;if(!r[e.b]){for(r[e.b]=!0,!(a=i)&&(a=new w6),Gz(a.e,e),c=o[e.b].Kc();c.Ob();)(s=jz(c.Pb(),282)).d!=n&&s.c!=n&&(s.c!=e&&XMt(t,s.c,e,a,r,o),s.d!=e&&XMt(t,s.d,e,a,r,o),Gz(a.c,s),pst(a.d,s.b));return a}return null}function ZMt(t){var e,n,i;for(e=0,n=new Gf(t.e);n.a=2}function QMt(t,e){var n,i,r,o;for(DAt(e,"Self-Loop pre-processing",1),i=new Gf(t.a);i.a1||Tat(SQ(yq(TSe,Est(Vy(VSe,1),BYt,93,0,[ESe,DSe])),t))>1||Tat(SQ(yq(LSe,Est(Vy(VSe,1),BYt,93,0,[PSe,MSe])),t))>1)}function ePt(t,e){var n,i,r;return(n=e.Hh(t.a))&&null!=(r=AN(rpt((!n.b&&(n.b=new XO((pKt(),wMe),qMe,n)),n.b),"affiliation")))?-1==(i=bL(r,XAt(35)))?adt(t,rU(t,Uet(e.Hj())),r):0==i?adt(t,null,r.substr(1)):adt(t,r.substr(0,i),r.substr(i+1)):null}function nPt(t){var e,n;try{return null==t?qKt:$ft(t)}catch(i){if(iP(i=hst(i),102))return e=i,n=Q_(tlt(t))+"@"+(IA(),(ewt(t)>>>0).toString(16)),Rmt(yst(),(ux(),"Exception during lenientFormat for "+n),e),"<"+n+" threw "+Q_(e.gm)+">";throw $b(i)}}function iPt(t){switch(t.g){case 0:return new oh;case 1:return new th;case 2:return new Ix;case 3:return new Io;case 4:return new OR;case 5:return new ah;default:throw $b(new Rv("No implementation is available for the layerer "+(null!=t.f?t.f:""+t.g)))}}function rPt(t,e,n){var i,r,o;for(o=new Gf(t.t);o.a0&&(i.b.n-=i.c,i.b.n<=0&&i.b.u>0&&LV(e,i.b));for(r=new Gf(t.i);r.a0&&(i.a.u-=i.c,i.a.u<=0&&i.a.n>0&&LV(n,i.a))}function oPt(t){var e,n,i;if(null==t.g&&(t.d=t.si(t.f),l8(t,t.d),t.c))return t.f;if(i=(e=jz(t.g[t.i-1],47)).Pb(),t.e=e,(n=t.si(i)).Ob())t.d=n,l8(t,n);else for(t.d=null;!e.Ob()&&(IW(t.g,--t.i,null),0!=t.i);)e=jz(t.g[t.i-1],47);return i}function aPt(t,e){var n,i,r,o,a,s;if(r=(i=e).ak(),BOt(t.e,r)){if(r.hi()&&V3(t,r,i.dd()))return!1}else for(s=oOt(t.e.Tg(),r),n=jz(t.g,119),o=0;o1||n>1)return 2;return e+n==1?2:0}function bPt(t,e,n){var i,r,o,a;for(DAt(n,"ELK Force",1),zv(_N(QBt(e,(uRt(),Goe))))||vQ(new _g((Vx(),new Lv(e)))),vyt(a=uct(e)),qct(t,jz(wxt(a,Voe),424)),r=(o=z$t(t.a,a)).Kc();r.Ob();)i=jz(r.Pb(),231),EFt(t.b,i,wot(n,1/o.gc()));xGt(a=HGt(o)),zEt(n)}function wPt(t,e){var n,i,r;if(DAt(e,"Breaking Point Processor",1),DUt(t),zv(_N(wxt(t,(zWt(),Vbe))))){for(i=new Gf(t.b);i.a=0?t._g(i,!0,!0):rIt(t,o,!0),153),jz(r,215).ml(e,n)}function APt(t,e){var n,i,r,o,a;for(n=new Mb,r=dtt(new OH(null,new d1(t,16)),new Aa),o=dtt(new OH(null,new d1(t,16)),new xa),a=C9($6(BY(xLt(Est(Vy(tie,1),zKt,833,0,[r,o])),new Ea))),i=1;i=2*e&&Gz(n,new kz(a[i-1]+e,a[i]-e));return n}function xPt(t,e,n){DAt(n,"Eades radial",1),n.n&&e&&w0(n,a2(e),($lt(),oIe)),t.d=jz(QBt(e,(dN(),Wye)),33),t.c=Vv(CN(QBt(e,(Uvt(),L_e)))),t.e=_wt(jz(QBt(e,O_e),293)),t.a=hgt(jz(QBt(e,R_e),426)),t.b=V_t(jz(QBt(e,I_e),340)),i_t(t),n.n&&e&&w0(n,a2(e),($lt(),oIe))}function EPt(t,e,n){var i,r,o,a,s;if(n)for(o=((i=new cU(n.a.length)).b-i.a)*i.c<0?(tE(),_Le):new UP(i);o.Ob();)(r=P2(n,jz(o.Pb(),19).a))&&(Bit(a=I3(t,(J_(),s=new yk,!!e&&$Pt(s,e),s),r),O2(r,V6t)),xAt(r,a),DSt(r,a),Lct(t,r,a))}function TPt(t){var e,n,i,r;if(!t.j){if(r=new Dc,null==(e=AMe).a.zc(t,e)){for(i=new DP(kZ(t));i.e!=i.i.gc();)pW(r,TPt(n=jz(vbt(i),26))),l8(r,n);e.a.Bc(t)}rut(r),t.j=new MI((jz(Wet(KX((KW(),QBe).o),11),18),r.i),r.g),x4(t).b&=-33}return t.j}function SPt(t){var e,n,i,r;if(null==t)return null;if(i=jzt(t,!0),r=L9t.length,bF(i.substr(i.length-r,r),L9t))if(4==(n=i.length)){if(h1(0,i.length),43==(e=i.charCodeAt(0)))return zPe;if(45==e)return $Pe}else if(3==n)return zPe;return new Lw(i)}function DPt(t){var e,n,i;return(n=t.l)&n-1||(i=t.m)&i-1||(e=t.h)&e-1||0==e&&0==i&&0==n?-1:0==e&&0==i&&0!=n?pit(n):0==e&&0!=i&&0==n?pit(i)+22:0!=e&&0==i&&0==n?pit(e)+44:-1}function IPt(t,e){var n,i,r,o;for(DAt(e,"Edge joining",1),n=zv(_N(wxt(t,(zWt(),Lbe)))),i=new Gf(t.b);i.a1)for(i=new Gf(t.a);i.a0),o.a.Xb(o.c=--o.b),wR(o,r),xO(o.b3&&ytt(t,0,e-3))}function RPt(t){var e,n,i,r;return VD(wxt(t,(zWt(),sme)))===VD((aht(),pSe))?!t.e&&VD(wxt(t,Ope))!==VD((Rat(),khe)):(i=jz(wxt(t,Npe),292),r=zv(_N(wxt(t,$pe)))||VD(wxt(t,zpe))===VD((Dit(),sue)),e=jz(wxt(t,Lpe),19).a,n=t.a.c.length,!r&&i!=(Rat(),khe)&&(0==e||e>n))}function FPt(t){var e,n;for(n=0;n0);n++);if(n>0&&n0);e++);return e>0&&n>16!=6&&e){if(byt(t,e))throw $b(new Rv(f6t+NIt(t)));i=null,t.Cb&&(i=(n=t.Db>>16)>=0?cyt(t,i):t.Cb.ih(t,-1-n,null,i)),e&&(i=Pbt(e,t,6,i)),(i=KN(t,e,i))&&i.Fi()}else 4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,6,e,e))}function $Pt(t,e){var n,i;if(e!=t.Cb||t.Db>>16!=9&&e){if(byt(t,e))throw $b(new Rv(f6t+URt(t)));i=null,t.Cb&&(i=(n=t.Db>>16)>=0?uyt(t,i):t.Cb.ih(t,-1-n,null,i)),e&&(i=Pbt(e,t,9,i)),(i=YN(t,e,i))&&i.Fi()}else 4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,9,e,e))}function zPt(t,e){var n,i;if(e!=t.Cb||t.Db>>16!=3&&e){if(byt(t,e))throw $b(new Rv(f6t+hVt(t)));i=null,t.Cb&&(i=(n=t.Db>>16)>=0?Ayt(t,i):t.Cb.ih(t,-1-n,null,i)),e&&(i=Pbt(e,t,12,i)),(i=WN(t,e,i))&&i.Fi()}else 4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,3,e,e))}function VPt(t){var e,n,i,r,o;if(i=Syt(t),null==(o=t.j)&&i)return t.$j()?null:i.zj();if(iP(i,148)){if((n=i.Aj())&&(r=n.Nh())!=t.i){if((e=jz(i,148)).Ej())try{t.g=r.Kh(e,o)}catch(e){if(!iP(e=hst(e),78))throw $b(e);t.g=null}t.i=r}return t.g}return null}function HPt(t){var e;return Gz(e=new Mb,new PE(new PS(t.c,t.d),new PS(t.c+t.b,t.d))),Gz(e,new PE(new PS(t.c,t.d),new PS(t.c,t.d+t.a))),Gz(e,new PE(new PS(t.c+t.b,t.d+t.a),new PS(t.c+t.b,t.d))),Gz(e,new PE(new PS(t.c+t.b,t.d+t.a),new PS(t.c,t.d+t.a))),e}function qPt(t,e,n,i){var r,o,a;if(a=I_t(e,n),i.c[i.c.length]=e,-1==t.j[a.p]||2==t.j[a.p]||t.a[e.p])return i;for(t.j[a.p]=-1,o=new aU(ZP(lft(a).a.Kc(),new u));gBt(o);)if(!h4(r=jz(q4(o),17))&&(h4(r)||r.c.i.c!=r.d.i.c)&&r!=e)return qPt(t,r,a,i);return i}function UPt(t,e,n){var i,r;for(r=e.a.ec().Kc();r.Ob();)i=jz(r.Pb(),79),!jz(OW(t.b,i),266)&&(XQ(Ext(i))==XQ(Dxt(i))?tNt(t,i,n):Ext(i)==XQ(Dxt(i))?null==OW(t.c,i)&&null!=OW(t.b,Dxt(i))&&iUt(t,i,n,!1):null==OW(t.d,i)&&null!=OW(t.b,Ext(i))&&iUt(t,i,n,!0))}function GPt(t,e){var n,i,r,o,a,s,c;for(r=t.Kc();r.Ob();)for(i=jz(r.Pb(),10),EJ(s=new TEt,i),VSt(s,(vGt(),aDe)),lct(s,(lKt(),vde),(cL(),!0)),a=e.Kc();a.Ob();)o=jz(a.Pb(),10),EJ(c=new TEt,o),VSt(c,EDe),lct(c,vde,!0),lct(n=new dZ,vde,!0),AJ(n,s),CJ(n,c)}function WPt(t,e,n,i){var r,o,a,s;r=Ipt(t,e,n),o=Ipt(t,n,e),a=jz(OW(t.c,e),112),s=jz(OW(t.c,n),112),ri.b.g&&(o.c[o.c.length]=i);return o}function XPt(){XPt=I,LCe=new vS("CANDIDATE_POSITION_LAST_PLACED_RIGHT",0),PCe=new vS("CANDIDATE_POSITION_LAST_PLACED_BELOW",1),NCe=new vS("CANDIDATE_POSITION_WHOLE_DRAWING_RIGHT",2),OCe=new vS("CANDIDATE_POSITION_WHOLE_DRAWING_BELOW",3),RCe=new vS("WHOLE_DRAWING",4)}function ZPt(t,e){if(iP(e,239))return ldt(t,jz(e,33));if(iP(e,186))return Odt(t,jz(e,118));if(iP(e,354))return JY(t,jz(e,137));if(iP(e,352))return Z$t(t,jz(e,79));if(e)return null;throw $b(new Rv(q6t+Mxt(new Xv(Est(Vy(Ite,1),zKt,1,5,[e])))))}function QPt(t){var e,n,i,r,o,a,s;for(o=new YA,r=new Gf(t.d.a);r.a1)for(e=DL((n=new zw,++t.b,n),t.d),s=cbt(o,0);s.b!=s.d.c;)a=jz(h3(s),121),ULt(rx(ix(ox(nx(new $w,1),0),e),a))}function JPt(t,e){var n,i;if(e!=t.Cb||t.Db>>16!=11&&e){if(byt(t,e))throw $b(new Rv(f6t+qRt(t)));i=null,t.Cb&&(i=(n=t.Db>>16)>=0?xyt(t,i):t.Cb.ih(t,-1-n,null,i)),e&&(i=Pbt(e,t,10,i)),(i=HR(t,e,i))&&i.Fi()}else 4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,11,e,e))}function tLt(t){var e,n,i,r;for(i=new alt(new xf(t.b).a);i.b;)r=jz((n=tnt(i)).cd(),11),lct(e=jz(n.dd(),10),(lKt(),fde),r),lct(r,yde,e),lct(r,tde,(cL(),!0)),VSt(r,jz(wxt(e,Khe),61)),wxt(e,Khe),lct(r.i,(zWt(),tbe),(YCt(),WSe)),jz(wxt(mK(r.i),Zhe),21).Fc((dNt(),fhe))}function eLt(t,e,n){var i,r,o;if(i=0,r=0,t.c)for(o=new Gf(t.d.i.j);o.ao.a)return-1;if(r.a(c=null==t.d?0:t.d.length)){for(u=t.d,t.d=P7(sBe,r8t,63,2*c+4,0,1),o=0;o=0x8000000000000000?(U9(),dee):(i=!1,t<0&&(i=!0,t=-t),n=0,t>=DXt&&(t-=(n=EQ(t/DXt))*DXt),e=0,t>=SXt&&(t-=(e=EQ(t/SXt))*SXt),r=CM(EQ(t),e,n),i&&Dct(r),r)}function mLt(t,e){var n,i,r,o;for(n=!e||!t.u.Hc((hDt(),tDe)),o=0,r=new Gf(t.e.Cf());r.a=-e&&r==e?new nD(ndt(n-1),ndt(r)):new nD(ndt(n),ndt(r-1))}function _Lt(){return hKt(),Est(Vy(ole,1),BYt,77,0,[nce,Jse,ice,kce,Fce,Cce,qce,Sce,Nce,gce,Mce,Tce,Rce,uce,Gce,Wse,Bce,$ce,vce,jce,Kce,Lce,Kse,Oce,Yce,Vce,Wce,yce,sce,_ce,wce,Uce,Zse,oce,xce,Xse,Ece,mce,hce,Dce,fce,tce,Qse,bce,dce,Ice,Hce,Yse,Pce,pce,Ace,cce,ace,zce,rce,lce,ece])}function CLt(t,e,n){t.d=0,t.b=0,e.k==(aEt(),Tse)&&n.k==Tse&&jz(wxt(e,(lKt(),fde)),10)==jz(wxt(n,fde),10)&&(A9(e).j==(vGt(),sDe)?VMt(t,e,n):VMt(t,n,e)),e.k==Tse&&n.k==xse?A9(e).j==(vGt(),sDe)?t.d=1:t.b=1:n.k==Tse&&e.k==xse&&(A9(n).j==(vGt(),sDe)?t.b=1:t.d=1),akt(t,e,n)}function ALt(t){var e,n,i,r,o;return o=IAt(t),null!=t.a&&DV(o,"category",t.a),!GC(new Ef(t.d))&&(net(o,"knownOptions",i=new xd),e=new tb(i),t4(new Ef(t.d),e)),!GC(t.g)&&(net(o,"supportedFeatures",r=new xd),n=new eb(r),t4(t.g,n)),o}function xLt(t){var e,n,i,r,o,a,s,c;for(e=336,n=0,r=new sR(t.length),s=0,c=(a=t).length;s>16!=7&&e){if(byt(t,e))throw $b(new Rv(f6t+rTt(t)));i=null,t.Cb&&(i=(n=t.Db>>16)>=0?lyt(t,i):t.Cb.ih(t,-1-n,null,i)),e&&(i=jz(e,49).gh(t,1,PIe,i)),(i=Wq(t,e,i))&&i.Fi()}else 4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,7,e,e))}function DLt(t,e){var n,i;if(e!=t.Cb||t.Db>>16!=3&&e){if(byt(t,e))throw $b(new Rv(f6t+Kht(t)));i=null,t.Cb&&(i=(n=t.Db>>16)>=0?dyt(t,i):t.Cb.ih(t,-1-n,null,i)),e&&(i=jz(e,49).gh(t,0,FIe,i)),(i=Kq(t,e,i))&&i.Fi()}else 4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,3,e,e))}function ILt(t,e){var n,i,r,o,a,s,c,l,u;return BIt(),e.d>t.d&&(s=t,t=e,e=s),e.d<63?GOt(t,e):(l=H4(t,a=(-2&t.d)<<4),u=H4(e,a),i=azt(t,V4(l,a)),r=azt(e,V4(u,a)),c=ILt(l,u),n=ILt(i,r),o=V4(o=BVt(BVt(o=ILt(azt(l,i),azt(r,u)),c),n),a),BVt(BVt(c=V4(c,a<<1),o),n))}function BLt(t,e,n){var i,r,o,a,s;for(a=Mht(t,n),s=P7(Sse,o1t,10,e.length,0,1),i=0,o=a.Kc();o.Ob();)zv(_N(wxt(r=jz(o.Pb(),11),(lKt(),tde))))&&(s[i++]=jz(wxt(r,yde),10));if(i=0;r+=n?1:-1)o|=e.c.Sf(s,r,n,i&&!zv(_N(wxt(e.j,(lKt(),Xhe))))&&!zv(_N(wxt(e.j,(lKt(),Tde))))),o|=e.q._f(s,r,n),o|=pRt(t,s[r],n,i);return _G(t.c,e),o}function NLt(t,e,n){var i,r,o,a,s,c,l,u;for(l=0,u=(c=T2(t.j)).length;l1&&(t.a=!0),Mq(jz(n.b,65),qR(jM(jz(e.b,65).c),kP(UR(jM(jz(n.b,65).a),jz(e.b,65).a),r))),KJ(t,e),jLt(t,n)}function $Lt(t){var e,n,i,r,o,a;for(r=new Gf(t.a.a);r.a0&&o>0?e++:i>0?n++:o>0?r++:n++}AX(),bM(t.j,new fi)}function VLt(t){var e,n;n=null,e=jz(PH(t.g,0),17);do{if(BO(n=e.d.i,(lKt(),lde)))return jz(wxt(n,lde),11).i;if(n.k!=(aEt(),Ese)&&gBt(new aU(ZP(hft(n).a.Kc(),new u))))e=jz(q4(new aU(ZP(hft(n).a.Kc(),new u))),17);else if(n.k!=Ese)return null}while(n&&n.k!=(aEt(),Ese));return n}function HLt(t,e){var n,i,r,o,a,s,c,l,u;for(s=e.j,a=e.g,c=jz(PH(s,s.c.length-1),113),u1(0,s.c.length),l=Qkt(t,a,c,u=jz(s.c[0],113)),o=1;ol&&(c=n,u=r,l=i);e.a=u,e.c=c}function qLt(t,e){var n;if(!ZG(t.b,e.b))throw $b(new Fv("Invalid hitboxes for scanline constraint calculation."));(vst(e.b,jz(CR(t.b,e.b),57))||vst(e.b,jz(_R(t.b,e.b),57)))&&(IA(),e.b),t.a[e.b.f]=jz(kF(t.b,e.b),57),(n=jz(wF(t.b,e.b),57))&&(t.a[n.f]=e.b)}function ULt(t){if(!t.a.d||!t.a.e)throw $b(new Fv((yN($ie),$ie.k+" must have a source and target "+(yN(zie),zie.k+" specified."))));if(t.a.d==t.a.e)throw $b(new Fv("Network simplex does not support self-loops: "+t.a+" "+t.a.d+" "+t.a.e));return OL(t.a.d.g,t.a),OL(t.a.e.b,t.a),t.a}function GLt(t,e,n){var i,r,o,a,s,c,l;for(l=new fC(new Xp(t)),s=0,c=(a=Est(Vy(Vse,1),a1t,11,0,[e,n])).length;sc-t.b&&sc-t.a&&s0&&++d;++h}return d}function rOt(t,e){var n,i,r,o,a;for(a=jz(wxt(e,(TBt(),Bye)),425),o=cbt(e.b,0);o.b!=o.d.c;)if(r=jz(h3(o),86),0==t.b[r.g]){switch(a.g){case 0:Ywt(t,r);break;case 1:zBt(t,r)}t.b[r.g]=2}for(i=cbt(t.a,0);i.b!=i.d.c;)kgt((n=jz(h3(i),188)).b.d,n,!0),kgt(n.c.b,n,!0);lct(e,(VHt(),uye),t.a)}function oOt(t,e){var n,i,r,o;return Zx(),e?e==(UHt(),OPe)||(e==bPe||e==pPe||e==mPe)&&t!=gPe?new rGt(t,e):((n=(i=jz(e,677)).pk())||(kY(j9((STt(),XMe),e)),n=i.pk()),!n.i&&(n.i=new Pb),!(r=jz(zD(DZ((o=n.i).f,t)),1942))&&WK(o,t,r=new rGt(t,e)),r):iPe}function aOt(t,e){var n,i,r,o,a,s,c,l;for(s=jz(wxt(t,(lKt(),fde)),11),c=Ict(Est(Vy(xxe,1),cYt,8,0,[s.i.n,s.n,s.a])).a,l=t.i.n.b,r=0,o=(i=Z0(t.e)).length;r0?o.a?n>(s=o.b.rf().a)&&(r=(n-s)/2,o.d.b=r,o.d.c=r):o.d.c=t.s+n:$U(t.u)&&((i=FAt(o.b)).c<0&&(o.d.b=-i.c),i.c+i.b>o.b.rf().a&&(o.d.c=i.c+i.b-o.b.rf().a))}function uOt(t,e){var n,i;for(DAt(e,"Semi-Interactive Crossing Minimization Processor",1),n=!1,i=new Gf(t.b);i.a=0){if(e==n)return new nD(ndt(-e-1),ndt(-e-1));if(e==-n)return new nD(ndt(-e),ndt(n+1))}return i.Math.abs(e)>i.Math.abs(n)?new nD(ndt(-e),ndt(e<0?n:n+1)):new nD(ndt(e+1),ndt(n))}function fOt(t){var e,n;n=jz(wxt(t,(zWt(),kme)),163),e=jz(wxt(t,(lKt(),ede)),303),n==(Cft(),Fde)?(lct(t,kme,zde),lct(t,ede,(H9(),Ehe))):n==$de?(lct(t,kme,zde),lct(t,ede,(H9(),Ahe))):e==(H9(),Ehe)?(lct(t,kme,Fde),lct(t,ede,xhe)):e==Ahe&&(lct(t,kme,$de),lct(t,ede,xhe))}function gOt(){gOt=I,vve=new la,mve=fH(new j2,(kxt(),Rae),(hKt(),vce)),kve=Gq(fH(new j2,Rae,Lce),jae,Pce),yve=smt(smt(Fx(Gq(fH(new j2,Oae,qce),jae,Hce),Fae),Vce),Uce),bve=Gq(fH(fH(fH(new j2,Nae,Cce),Fae,xce),Fae,Ece),jae,Ace),wve=Gq(fH(fH(new j2,Fae,Ece),Fae,oce),jae,rce)}function pOt(){pOt=I,Eve=fH(Gq(new j2,(kxt(),jae),(hKt(),cce)),Rae,vce),Ive=smt(smt(Fx(Gq(fH(new j2,Oae,qce),jae,Hce),Fae),Vce),Uce),Tve=Gq(fH(fH(fH(new j2,Nae,Cce),Fae,xce),Fae,Ece),jae,Ace),Dve=fH(fH(new j2,Rae,Lce),jae,Pce),Sve=Gq(fH(fH(new j2,Fae,Ece),Fae,oce),jae,rce)}function mOt(t,e,n,i,r){var o,a;(h4(e)||e.c.i.c!=e.d.i.c)&&Jit(Ict(Est(Vy(xxe,1),cYt,8,0,[r.i.n,r.n,r.a])),n)||h4(e)||(e.c==r?NO(e.a,0,new dB(n)):LV(e.a,new dB(n)),i&&!FA(t.a,n)&&((a=jz(wxt(e,(zWt(),mme)),74))||(a=new kk,lct(e,mme,a)),n4(a,o=new dB(n),a.c.b,a.c),_G(t.a,o)))}function bOt(t){var e;for(e=new aU(ZP(uft(t).a.Kc(),new u));gBt(e);)if(jz(q4(e),17).c.i.k!=(aEt(),Ase))throw $b(new ny(E1t+pvt(t)+"' has its layer constraint set to FIRST, but has at least one incoming edge that does not come from a FIRST_SEPARATE node. That must not happen."))}function wOt(t,e,n){var i,r,o,a,s,c;if(0==(r=mft(254&t.Db)))t.Eb=n;else{if(1==r)a=P7(Ite,zKt,1,2,5,1),0==Nkt(t,e)?(a[0]=n,a[1]=t.Eb):(a[0]=t.Eb,a[1]=n);else for(a=P7(Ite,zKt,1,r+1,5,1),o=ent(t.Eb),i=2,s=0,c=0;i<=128;i<<=1)i==e?a[c++]=n:t.Db&i&&(a[c++]=o[s++]);t.Eb=a}t.Db|=e}function kOt(t,e,n){var r,o,a,s;for(this.b=new Mb,o=0,r=0,s=new Gf(t);s.a0&&(o+=(a=jz(PH(this.b,0),167)).o,r+=a.p),o*=2,r*=2,e>1?o=EQ(i.Math.ceil(o*e)):r=EQ(i.Math.ceil(r/e)),this.a=new Vgt(o,r)}function vOt(t,e,n,r,o,a){var s,c,l,u,h,d,f,g,p,m;for(u=r,e.j&&e.o?(p=(f=jz(OW(t.f,e.A),57)).d.c+f.d.b,--u):p=e.a.c+e.a.b,h=o,n.q&&n.o?(l=(f=jz(OW(t.f,n.C),57)).d.c,++h):l=n.a.c,g=p+(c=(l-p)/i.Math.max(2,h-u)),d=u;d=0;a+=r?1:-1){for(s=e[a],c=i==(vGt(),aDe)?r?oft(s,i):eat(oft(s,i)):r?eat(oft(s,i)):oft(s,i),o&&(t.c[s.p]=c.gc()),h=c.Kc();h.Ob();)u=jz(h.Pb(),11),t.d[u.p]=l++;pst(n,c)}}function _Ot(t,e,n){var i,r,o,a,s,c,l,u;for(o=Vv(CN(t.b.Kc().Pb())),l=Vv(CN(Wat(e.b))),i=kP(jM(t.a),l-n),r=kP(jM(e.a),n-o),kP(u=qR(i,r),1/(l-o)),this.a=u,this.b=new Mb,s=!0,(a=t.b.Kc()).Pb();a.Ob();)c=Vv(CN(a.Pb())),s&&c-n>O3t&&(this.b.Fc(n),s=!1),this.b.Fc(c);s&&this.b.Fc(n)}function COt(t){var e,n,i,r;if(lFt(t,t.n),t.d.c.length>0){for(Qv(t.c);mBt(t,jz(Q1(new Gf(t.e.a)),121))>5,e&=31,i>=t.d)return t.e<0?(DNt(),Xee):(DNt(),ene);if(o=t.d-i,YEt(r=P7(SLe,lXt,25,o+1,15,1),o,t.a,i,e),t.e<0){for(n=0;n0&&t.a[n]<<32-e){for(n=0;n=0)&&(!(n=jHt((STt(),XMe),r,e))||((i=n.Zj())>1||-1==i)&&3!=LK(j9(XMe,n))))}function MOt(t,e,n,i){var r,o,a,s,c;return s=EAt(jz(Wet((!e.b&&(e.b=new cF(OIe,e,4,7)),e.b),0),82)),c=EAt(jz(Wet((!e.c&&(e.c=new cF(OIe,e,5,8)),e.c),0),82)),XQ(s)==XQ(c)||Tet(c,s)?null:(a=UQ(e))==n?i:(o=jz(OW(t.a,a),10))&&(r=o.e)?r:null}function POt(t,e){var n;switch(DAt(e,"Label side selection ("+(n=jz(wxt(t,(zWt(),Xpe)),276))+")",1),n.g){case 0:CBt(t,(Gvt(),vSe));break;case 1:CBt(t,(Gvt(),ySe));break;case 2:czt(t,(Gvt(),vSe));break;case 3:czt(t,(Gvt(),ySe));break;case 4:aNt(t,(Gvt(),vSe));break;case 5:aNt(t,(Gvt(),ySe))}zEt(e)}function LOt(t,e,n){var i,r,o,a,s;if((o=t[u_(n,t.length)])[0].k==(aEt(),Cse))for(r=l_(n,o.length),s=e.j,i=0;i0&&(n[0]+=t.d,s-=n[0]),n[2]>0&&(n[2]+=t.d,s-=n[2]),a=i.Math.max(0,s),n[1]=i.Math.max(n[1],s),Y4(t,Hie,o.c+r.b+n[0]-(n[1]-s)/2,n),e==Hie&&(t.c.b=a,t.c.c=o.c+r.b+(a-s)/2)}function YOt(){this.c=P7(MLe,VXt,25,(vGt(),Est(Vy(FDe,1),XJt,61,0,[xDe,sDe,aDe,ADe,EDe])).length,15,1),this.b=P7(MLe,VXt,25,Est(Vy(FDe,1),XJt,61,0,[xDe,sDe,aDe,ADe,EDe]).length,15,1),this.a=P7(MLe,VXt,25,Est(Vy(FDe,1),XJt,61,0,[xDe,sDe,aDe,ADe,EDe]).length,15,1),bE(this.c,NXt),bE(this.b,RXt),bE(this.a,RXt)}function XOt(t,e,n){var i,r,o,a;if(e<=n?(r=e,o=n):(r=n,o=e),i=0,null==t.b)t.b=P7(SLe,lXt,25,2,15,1),t.b[0]=r,t.b[1]=o,t.c=!0;else{if(i=t.b.length,t.b[i-1]+1==r)return void(t.b[i-1]=o);a=P7(SLe,lXt,25,i+2,15,1),oVt(t.b,0,a,0,i),t.b=a,t.b[i-1]>=r&&(t.c=!1,t.a=!1),t.b[i++]=r,t.b[i]=o,t.c||CMt(t)}}function ZOt(t,e,n){var i,r,o,a,s,c,l;for(l=e.d,t.a=new X6(l.c.length),t.c=new Pb,s=new Gf(l);s.a=0?t._g(l,!1,!0):rIt(t,n,!1),58).Kc();o.Ob();){for(r=jz(o.Pb(),56),u=0;u1;)uNt(r,r.i-1);return i}function oNt(t,e){var n,i,r,o,a,s,c;for(DAt(e,"Comment post-processing",1),o=new Gf(t.b);o.at.d[a.p]&&(n+=Q5(t.b,o),f3(t.a,ndt(o)));for(;!Gv(t.a);)Ctt(t.b,jz(fG(t.a),19).a)}return n}function lNt(t,e,n){var i,r,o,a;for(o=(!e.a&&(e.a=new tG(HIe,e,10,11)),e.a).i,r=new DP((!e.a&&(e.a=new tG(HIe,e,10,11)),e.a));r.e!=r.i.gc();)0==(!(i=jz(vbt(r),33)).a&&(i.a=new tG(HIe,i,10,11)),i.a).i||(o+=lNt(t,i,!1));if(n)for(a=XQ(e);a;)o+=(!a.a&&(a.a=new tG(HIe,a,10,11)),a.a).i,a=XQ(a);return o}function uNt(t,e){var n,i,r,o;return t.ej()?(i=null,r=t.fj(),t.ij()&&(i=t.kj(t.pi(e),null)),n=t.Zi(4,o=Mvt(t,e),null,e,r),t.bj()&&null!=o?(i=t.dj(o,i))?(i.Ei(n),i.Fi()):t.$i(n):i?(i.Ei(n),i.Fi()):t.$i(n),o):(o=Mvt(t,e),t.bj()&&null!=o&&(i=t.dj(o,null))&&i.Fi(),o)}function hNt(t){var e,n,r,o,a,s,c,l,u,h;for(u=t.a,e=new Ow,l=0,r=new Gf(t.d);r.ac.d&&(h=c.d+c.a+u));n.c.d=h,e.a.zc(n,e),l=i.Math.max(l,n.c.d+n.c.a)}return l}function dNt(){dNt=I,che=new BT("COMMENTS",0),uhe=new BT("EXTERNAL_PORTS",1),hhe=new BT("HYPEREDGES",2),dhe=new BT("HYPERNODES",3),fhe=new BT("NON_FREE_PORTS",4),ghe=new BT("NORTH_SOUTH_PORTS",5),mhe=new BT(H1t,6),she=new BT("CENTER_LABELS",7),lhe=new BT("END_LABELS",8),phe=new BT("PARTITIONS",9)}function fNt(t){var e,n,i,r,o;for(r=new Mb,e=new IH((!t.a&&(t.a=new tG(HIe,t,10,11)),t.a)),i=new aU(ZP(gPt(t).a.Kc(),new u));gBt(i);)iP(Wet((!(n=jz(q4(i),79)).b&&(n.b=new cF(OIe,n,4,7)),n.b),0),186)||(o=EAt(jz(Wet((!n.c&&(n.c=new cF(OIe,n,5,8)),n.c),0),82)),e.a._b(o)||(r.c[r.c.length]=o));return r}function gNt(t){var e,n,i,r,o;for(r=new Ow,e=new IH((!t.a&&(t.a=new tG(HIe,t,10,11)),t.a)),i=new aU(ZP(gPt(t).a.Kc(),new u));gBt(i);)iP(Wet((!(n=jz(q4(i),79)).b&&(n.b=new cF(OIe,n,4,7)),n.b),0),186)||(o=EAt(jz(Wet((!n.c&&(n.c=new cF(OIe,n,5,8)),n.c),0),82)),e.a._b(o)||r.a.zc(o,r));return r}function pNt(t,e,n,i,r){return i<0?((i=qAt(t,r,Est(Vy(Yee,1),cYt,2,6,[XYt,ZYt,QYt,JYt,tXt,eXt,nXt,iXt,rXt,oXt,aXt,sXt]),e))<0&&(i=qAt(t,r,Est(Vy(Yee,1),cYt,2,6,["Jan","Feb","Mar","Apr",tXt,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e)),!(i<0||(n.k=i,0))):i>0&&(n.k=i-1,!0)}function mNt(t,e,n,i,r){return i<0?((i=qAt(t,r,Est(Vy(Yee,1),cYt,2,6,[XYt,ZYt,QYt,JYt,tXt,eXt,nXt,iXt,rXt,oXt,aXt,sXt]),e))<0&&(i=qAt(t,r,Est(Vy(Yee,1),cYt,2,6,["Jan","Feb","Mar","Apr",tXt,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e)),!(i<0||(n.k=i,0))):i>0&&(n.k=i-1,!0)}function bNt(t,e,n,i,r,o){var a,s,c;if(s=32,i<0){if(e[0]>=t.length)return!1;if(43!=(s=lY(t,e[0]))&&45!=s)return!1;if(++e[0],(i=UDt(t,e))<0)return!1;45==s&&(i=-i)}return 32==s&&e[0]-n==2&&2==r.b&&(a=(c=(new DA).q.getFullYear()-cXt+cXt-80)%100,o.a=i==a,i+=100*(c/100|0)+(i=u&&(l=r);l&&(h=i.Math.max(h,l.a.o.a)),h>f&&(d=u,f=h)}return d}function ANt(t,e,n){var i,r,o;if(t.e=n,t.d=0,t.b=0,t.f=1,t.i=e,!(16&~t.e)&&(t.i=mFt(t.i)),t.j=t.i.length,YWt(t),o=Kpt(t),t.d!=t.j)throw $b(new ry(vKt((oM(),f7t))));if(t.g){for(i=0;im5t?bM(l,t.b):r<=m5t&&r>b5t?bM(l,t.d):r<=b5t&&r>w5t?bM(l,t.c):r<=w5t&&bM(l,t.a),a=SNt(t,l,a);return o}function DNt(){var t;for(DNt=I,Zee=new U6(1,1),Jee=new U6(1,10),ene=new U6(0,0),Xee=new U6(-1,1),Qee=Est(Vy(sne,1),cYt,91,0,[ene,Zee,new U6(1,2),new U6(1,3),new U6(1,4),new U6(1,5),new U6(1,6),new U6(1,7),new U6(1,8),new U6(1,9),Jee]),tne=P7(sne,cYt,91,32,0,1),t=0;t1&&(i=new PS(r,n.b),LV(e.a,i)),Jnt(e.a,Est(Vy(xxe,1),cYt,8,0,[h,u]))}function NNt(t){Mx(t,new AAt(m_(d_(p_(g_(new ms,F4t),"ELK Randomizer"),'Distributes the nodes randomly on the plane, leading to very obfuscating layouts. Can be useful to demonstrate the power of "real" layout algorithms.'),new Zs))),o2(t,F4t,YQt,BDe),o2(t,F4t,bJt,15),o2(t,F4t,kJt,ndt(0)),o2(t,F4t,KQt,gJt)}function RNt(){var t,e,n,i,r,o;for(RNt=I,WPe=P7(BLe,b6t,25,255,15,1),KPe=P7(TLe,WYt,25,16,15,1),e=0;e<255;e++)WPe[e]=-1;for(n=57;n>=48;n--)WPe[n]=n-48<<24>>24;for(i=70;i>=65;i--)WPe[i]=i-65+10<<24>>24;for(r=102;r>=97;r--)WPe[r]=r-97+10<<24>>24;for(o=0;o<10;o++)KPe[o]=48+o&YYt;for(t=10;t<=15;t++)KPe[t]=65+t-10&YYt}function FNt(t,e,n){var i,r,o,a,s,c,l,u;return s=e.i-t.g/2,c=n.i-t.g/2,l=e.j-t.g/2,u=n.j-t.g/2,o=e.g+t.g/2,a=n.g+t.g/2,i=e.f+t.g/2,r=n.f+t.g/2,s>19)return"-"+HNt(oct(t));for(n=t,i="";0!=n.l||0!=n.m||0!=n.h;){if(n=IHt(n,F4(IXt),!0),e=""+_C(hee),0!=n.l||0!=n.m||0!=n.h)for(r=9-e.length;r>0;r--)e="0"+e;i=e+i}return i}function qNt(){if(!Object.create||!Object.getOwnPropertyNames)return!1;var t="__proto__",e=Object.create(null);return void 0===e[t]&&0==Object.getOwnPropertyNames(e).length&&(e[t]=42,42===e[t]&&0!=Object.getOwnPropertyNames(e).length)}function UNt(t){var e,n,i,r,o,a,s;for(e=!1,n=0,r=new Gf(t.d.b);r.a=t.a)return-1;if(!eAt(e,n))return-1;if(c3(jz(r.Kb(e),20)))return 1;for(o=0,s=jz(r.Kb(e),20).Kc();s.Ob();){if(-1==(c=KNt(t,(a=jz(s.Pb(),17)).c.i==e?a.d.i:a.c.i,n,r)))return-1;if((o=i.Math.max(o,c))>t.c-1)return-1}return o+1}function YNt(t,e){var n,i,r,o,a,s;if(VD(e)===VD(t))return!0;if(!iP(e,15))return!1;if(i=jz(e,15),s=t.gc(),i.gc()!=s)return!1;if(a=i.Kc(),t.ni()){for(n=0;n0)if(t.qj(),null!=e){for(o=0;o>24;case 97:case 98:case 99:case 100:case 101:case 102:return t-97+10<<24>>24;case 65:case 66:case 67:case 68:case 69:case 70:return t-65+10<<24>>24;default:throw $b(new Cy("Invalid hexadecimal"))}}function JNt(t,e,n){var i,r,o,a;for(DAt(n,"Processor order nodes",2),t.a=Vv(CN(wxt(e,(TBt(),Pye)))),r=new YA,a=cbt(e.b,0);a.b!=a.d.c;)zv(_N(wxt(o=jz(h3(a),86),(VHt(),fye))))&&n4(r,o,r.c.b,r.c);xO(0!=r.b),RVt(t,i=jz(r.a.a.c,86)),!n.b&&Vit(n,1),$Rt(t,i,0-Vv(CN(wxt(i,(VHt(),oye))))/2,0),!n.b&&Vit(n,1),zEt(n)}function tRt(){tRt=I,Oie=new $E("SPIRAL",0),Iie=new $E("LINE_BY_LINE",1),Bie=new $E("MANHATTAN",2),Die=new $E("JITTER",3),Pie=new $E("QUADRANTS_LINE_BY_LINE",4),Lie=new $E("QUADRANTS_MANHATTAN",5),Mie=new $E("QUADRANTS_JITTER",6),Sie=new $E("COMBINE_LINE_BY_LINE_MANHATTAN",7),Tie=new $E("COMBINE_JITTER_MANHATTAN",8)}function eRt(t,e,n,i){var r,o,a,s,c,l;for(c=P_t(t,n),l=P_t(e,n),r=!1;c&&l&&(i||wvt(c,l,n));)a=P_t(c,n),s=P_t(l,n),D9(e),D9(t),o=c.c,iqt(c,!1),iqt(l,!1),n?(Yvt(e,l.p,o),e.p=l.p,Yvt(t,c.p+1,o),t.p=c.p):(Yvt(t,c.p,o),t.p=c.p,Yvt(e,l.p+1,o),e.p=l.p),xJ(c,null),xJ(l,null),c=a,l=s,r=!0;return r}function nRt(t,e,n,i){var r,o,a,s,c;for(r=!1,o=!1,s=new Gf(i.j);s.a=e.length)throw $b(new Dv("Greedy SwitchDecider: Free layer not in graph."));this.c=e[t],this.e=new KF(i),krt(this.e,this.c,(vGt(),EDe)),this.i=new KF(i),krt(this.i,this.c,aDe),this.f=new uq(this.c),this.a=!o&&r.i&&!r.s&&this.c[0].k==(aEt(),Cse),this.a&&pTt(this,t,e.length)}function sRt(t,e){var n,i,r,o,a,s;o=!t.B.Hc((JFt(),$De)),a=t.B.Hc(HDe),t.a=new zgt(a,o,t.c),t.n&&kX(t.a.n,t.n),vv(t.g,(Oet(),Hie),t.a),e||((i=new Smt(1,o,t.c)).n.a=t.k,bq(t.p,(vGt(),sDe),i),(r=new Smt(1,o,t.c)).n.d=t.k,bq(t.p,ADe,r),(s=new Smt(0,o,t.c)).n.c=t.k,bq(t.p,EDe,s),(n=new Smt(0,o,t.c)).n.b=t.k,bq(t.p,aDe,n))}function cRt(t){var e,n,i;switch((e=jz(wxt(t.d,(zWt(),Zpe)),218)).g){case 2:n=AWt(t);break;case 3:i=new Mb,XA(DY(IY(dtt(dtt(new OH(null,new d1(t.d.b,16)),new Ir),new Br),new Mr),new br),new Ep(i)),n=i;break;default:throw $b(new Fv("Compaction not supported for "+e+" edges."))}pHt(t,n),t4(new Ef(t.g),new Ap(t))}function lRt(t,e){var n;return n=new Qt,e&&Vat(n,jz(OW(t.a,PIe),94)),iP(e,470)&&Vat(n,jz(OW(t.a,LIe),94)),iP(e,354)?(Vat(n,jz(OW(t.a,VIe),94)),n):(iP(e,82)&&Vat(n,jz(OW(t.a,OIe),94)),iP(e,239)?(Vat(n,jz(OW(t.a,HIe),94)),n):iP(e,186)?(Vat(n,jz(OW(t.a,qIe),94)),n):(iP(e,352)&&Vat(n,jz(OW(t.a,NIe),94)),n))}function uRt(){uRt=I,Zoe=new UB((cKt(),pTe),ndt(1)),iae=new UB(BTe,80),nae=new UB(ATe,5),Foe=new UB(iEe,gJt),Qoe=new UB(mTe,ndt(1)),eae=new UB(kTe,(cL(),!0)),Koe=new GB(50),Woe=new UB(UEe,Koe),$oe=EEe,Yoe=oTe,joe=new UB(fEe,!1),Goe=qEe,Uoe=zEe,qoe=NEe,Hoe=LEe,Xoe=lTe,yEt(),Voe=Toe,rae=Moe,zoe=Eoe,Joe=Doe,tae=Boe}function hRt(t){var e,n,i,r,o,a,s;for(s=new m4,a=new Gf(t.a);a.a0&&e=0)return!1;if(e.p=n.b,Gz(n.e,e),i==(aEt(),xse)||i==Tse)for(r=new Gf(e.j);r.a1||-1==a)&&(o|=16),r.Bb&l6t&&(o|=64)),n.Bb&$Xt&&(o|=A8t),o|=v6t):iP(e,457)?o|=512:(i=e.Bj())&&1&i.i&&(o|=256),512&t.Bb&&(o|=128),o}function BRt(t,e){var n,i,r,o,a;for(t=null==t?qKt:(kK(t),t),r=0;rt.d[s.p]&&(n+=Q5(t.b,o),f3(t.a,ndt(o))):++a;for(n+=t.b.d*a;!Gv(t.a);)Ctt(t.b,jz(fG(t.a),19).a)}return n}function LRt(t,e){var n;return t.f==rPe?(n=LK(j9((STt(),XMe),e)),t.e?4==n&&e!=(CIt(),cPe)&&e!=(CIt(),oPe)&&e!=(CIt(),aPe)&&e!=(CIt(),sPe):2==n):!(!t.d||!(t.d.Hc(e)||t.d.Hc(Z1(j9((STt(),XMe),e)))||t.d.Hc(jHt((STt(),XMe),t.b,e))))||!(!t.f||!oLt((STt(),t.f),vY(j9(XMe,e))))&&(n=LK(j9(XMe,e)),t.e?4==n:2==n)}function ORt(t,e,n,r){var o,a,s,c,l,u,h,d;return l=(s=jz(QBt(n,(cKt(),gTe)),8)).a,h=s.b+t,(o=i.Math.atan2(h,l))<0&&(o+=Q3t),(o+=e)>Q3t&&(o-=Q3t),u=(c=jz(QBt(r,gTe),8)).a,d=c.b+t,(a=i.Math.atan2(d,u))<0&&(a+=Q3t),(a+=e)>Q3t&&(a-=Q3t),cM(),iit(1e-10),i.Math.abs(o-a)<=1e-10||o==a||isNaN(o)&&isNaN(a)?0:oa?1:HI(isNaN(o),isNaN(a))}function NRt(t){var e,n,i,r,o,a,s;for(s=new Pb,i=new Gf(t.a.b);i.a=t.o)throw $b(new Aw);a=e>>5,o=wU(1,fq(wU(31&e,1))),t.n[n][a]=r?e0(t.n[n][a],o):t0(t.n[n][a],oV(o)),o=wU(o,1),t.n[n][a]=i?e0(t.n[n][a],o):t0(t.n[n][a],oV(o))}catch(i){throw iP(i=hst(i),320)?$b(new Dv(AQt+t.o+"*"+t.p+xQt+e+jKt+n+EQt)):$b(i)}}function $Rt(t,e,n,r){var o,a;e&&(o=Vv(CN(wxt(e,(VHt(),lye))))+r,a=n+Vv(CN(wxt(e,oye)))/2,lct(e,gye,ndt(fq(uat(i.Math.round(o))))),lct(e,pye,ndt(fq(uat(i.Math.round(a))))),0==e.d.b||$Rt(t,jz(eP(new dm(cbt(new hm(e).a.d,0))),86),n+Vv(CN(wxt(e,oye)))+t.a,r+Vv(CN(wxt(e,aye)))),null!=wxt(e,dye)&&$Rt(t,jz(wxt(e,dye),86),n,r))}function zRt(t,e){var n,r,o,a,s,c,l,u,h,d,f;for(o=2*Vv(CN(wxt(l=mK(e.a),(zWt(),_be)))),h=Vv(CN(wxt(l,Dbe))),u=i.Math.max(o,h),a=P7(MLe,VXt,25,e.f-e.c+1,15,1),r=-u,n=0,c=e.b.Kc();c.Ob();)s=jz(c.Pb(),10),r+=t.a[s.c.p]+u,a[n++]=r;for(r+=t.a[e.a.c.p]+u,a[n++]=r,f=new Gf(e.e);f.a0&&(!(i=(!t.n&&(t.n=new tG(VIe,t,1,7)),jz(Wet(t.n,0),137)).a)||aI(aI((e.a+=' "',e),i),'"'))),aI(kC(aI(kC(aI(kC(aI(kC((e.a+=" (",e),t.i),","),t.j)," | "),t.g),","),t.f),")"),e.a)}function URt(t){var e,n,i;return 64&t.Db?wEt(t):(e=new uL(t6t),(n=t.k)?aI(aI((e.a+=' "',e),n),'"'):(!t.n&&(t.n=new tG(VIe,t,1,7)),t.n.i>0&&(!(i=(!t.n&&(t.n=new tG(VIe,t,1,7)),jz(Wet(t.n,0),137)).a)||aI(aI((e.a+=' "',e),i),'"'))),aI(kC(aI(kC(aI(kC(aI(kC((e.a+=" (",e),t.i),","),t.j)," | "),t.g),","),t.f),")"),e.a)}function GRt(t,e){var n,i,r,o,a,s;if(null==e||0==e.length)return null;if(!(r=jz(AQ(t.a,e),149))){for(i=new Nf(new Sf(t.b).a.vc().Kc());i.a.Ob();)if(o=jz(i.a.Pb(),42),a=(n=jz(o.dd(),149)).c,s=e.length,bF(a.substr(a.length-s,s),e)&&(e.length==a.length||46==lY(a,a.length-e.length-1))){if(r)return null;r=n}r&&bJ(t.a,e,r)}return r}function WRt(t,e){var n,i,r;return n=new Lt,(i=jz(x5(IY(new OH(null,new d1(t.f,16)),n),P9(new X,new Z,new rt,new ot,Est(Vy(Qne,1),BYt,132,0,[(Vlt(),Une),qne]))),21).gc())<(r=jz(x5(IY(new OH(null,new d1(e.f,16)),n),P9(new X,new Z,new rt,new ot,Est(Vy(Qne,1),BYt,132,0,[Une,qne]))),21).gc())?-1:i==r?0:1}function KRt(t){var e,n,i;BO(t,(zWt(),Ime))&&((i=jz(wxt(t,Ime),21)).dc()||(n=new YF(e=jz(W_(VSe),9),jz(AR(e,e.length),9),0),i.Hc((JBt(),ISe))?srt(n,ISe):srt(n,BSe),i.Hc(SSe)||srt(n,SSe),i.Hc(TSe)?srt(n,LSe):i.Hc(ESe)?srt(n,PSe):i.Hc(DSe)&&srt(n,MSe),i.Hc(LSe)?srt(n,TSe):i.Hc(PSe)?srt(n,ESe):i.Hc(MSe)&&srt(n,DSe),lct(t,Ime,n)))}function YRt(t){var e,n,i,r,o,a,s;for(r=jz(wxt(t,(lKt(),nde)),10),u1(0,(i=t.j).c.length),n=jz(i.c[0],11),a=new Gf(r.j);a.ar.p?(VSt(o,ADe),o.d&&(s=o.o.b,e=o.a.b,o.a.b=s-e)):o.j==ADe&&r.p>t.p&&(VSt(o,sDe),o.d&&(s=o.o.b,e=o.a.b,o.a.b=-(s-e)));break}return r}function XRt(t,e,n,i){var r,o,a,s,c,l,u,h,d,f,g;if(o=n,n1&&(i=new PS(r,n.b),LV(e.a,i)),Jnt(e.a,Est(Vy(xxe,1),cYt,8,0,[h,u]))}function pFt(t,e,n){var i,r,o,a,s,c;if(e){if(n<=-1){if(iP(i=eet(e.Tg(),-1-n),99))return jz(i,18);for(s=0,c=(a=jz(e.ah(i),153)).gc();s0){for(r=c.length;r>0&&""==c[r-1];)--r;r=40)&&_$t(t),$Vt(t),COt(t),n=kdt(t),i=0;n&&i0&&LV(t.f,o)):(t.c[a]-=l+1,t.c[a]<=0&&t.a[a]>0&&LV(t.e,o))))}function XFt(t){var e,n,i,r,o,a,s;for(o=new fC(jz(wW(new Nt),62)),s=RXt,n=new Gf(t.d);n.a=0&&cn?e:n;l<=h;++l)l==n?s=i++:(o=r[l],u=g.rl(o.ak()),l==e&&(c=l!=h||u?i:i-1),u&&++i);return d=jz(Sdt(t,e,n),72),s!=c&&Bw(t,new v8(t.e,7,a,ndt(s),f.dd(),c)),d}return jz(Sdt(t,e,n),72)}function ajt(t,e){var n,i,r,o,a,s;for(DAt(e,"Port order processing",1),s=jz(wxt(t,(zWt(),abe)),421),n=new Gf(t.b);n.a=0&&(!Tvt(t,a)||(c<22?s.l|=1<>>1,a.m=l>>>1|(1&u)<<21,a.l=h>>>1|(1&l)<<21,--c;return n&&Dct(s),o&&(i?(hee=oct(t),r&&(hee=lst(hee,(U9(),gee)))):hee=CM(t.l,t.m,t.h)),s}function ujt(t,e){var n,i,r,o,a,s,c,l,u,h;for(l=t.e[e.c.p][e.p]+1,c=e.c.a.c.length+1,s=new Gf(t.a);s.a0&&(h1(0,t.length),45==t.charCodeAt(0)||(h1(0,t.length),43==t.charCodeAt(0)))?1:0;in)throw $b(new Cy(OXt+t+'"'));return a}function djt(t){var e,n,r,o,a,s;for(a=new YA,o=new Gf(t.a);o.a1)&&1==e&&jz(t.a[t.b],10).k==(aEt(),Ase)?l$t(jz(t.a[t.b],10),(Gvt(),vSe)):i&&(!n||(t.c-t.b&t.a.length-1)>1)&&1==e&&jz(t.a[t.c-1&t.a.length-1],10).k==(aEt(),Ase)?l$t(jz(t.a[t.c-1&t.a.length-1],10),(Gvt(),ySe)):2==(t.c-t.b&t.a.length-1)?(l$t(jz(_ct(t),10),(Gvt(),vSe)),l$t(jz(_ct(t),10),ySe)):cPt(t,r),a5(t)}function bjt(t,e,n){var r,o,a,s,c;for(a=0,o=new DP((!t.a&&(t.a=new tG(HIe,t,10,11)),t.a));o.e!=o.i.gc();)s="",0==(!(r=jz(vbt(o),33)).n&&(r.n=new tG(VIe,r,1,7)),r.n).i||(s=jz(Wet((!r.n&&(r.n=new tG(VIe,r,1,7)),r.n),0),137).a),Vat(c=new rlt(a++,e,s),r),lct(c,(VHt(),sye),r),c.e.b=r.j+r.f/2,c.f.a=i.Math.max(r.g,1),c.e.a=r.i+r.g/2,c.f.b=i.Math.max(r.f,1),LV(e.b,c),ySt(n.f,r,c)}function wjt(t){var e,n,i,r,o;i=jz(wxt(t,(lKt(),fde)),33),o=jz(QBt(i,(zWt(),Fme)),174).Hc((wpt(),RDe)),t.e||(r=jz(wxt(t,Zhe),21),e=new PS(t.f.a+t.d.b+t.d.c,t.f.b+t.d.d+t.d.a),r.Hc((dNt(),uhe))?(Xbt(i,tbe,(YCt(),USe)),RGt(i,e.a,e.b,!1,!0)):zv(_N(QBt(i,jme)))||RGt(i,e.a,e.b,!0,!0)),Xbt(i,Fme,o?Jdt(RDe):new YF(n=jz(W_(YDe),9),jz(AR(n,n.length),9),0))}function kjt(t,e,n){var i,r,o,a;if(e[0]>=t.length)return n.o=0,!0;switch(lY(t,e[0])){case 43:r=1;break;case 45:r=-1;break;default:return n.o=0,!0}if(++e[0],o=e[0],0==(a=UDt(t,e))&&e[0]==o)return!1;if(e[0]=0&&s!=n&&(o=new QU(t,1,s,a,null),i?i.Ei(o):i=o),n>=0&&(o=new QU(t,1,n,s==n?a:null,e),i?i.Ei(o):i=o)),i}function Ajt(t){var e,n,i;if(null==t.b){if(i=new Ay,null!=t.i&&(iI(i,t.i),i.a+=":"),256&t.f){for(256&t.f&&null!=t.a&&(nX(t.i)||(i.a+="//"),iI(i,t.a)),null!=t.d&&(i.a+="/",iI(i,t.d)),16&t.f&&(i.a+="/"),e=0,n=t.j.length;el)&&(c+s+rVt(i,l,!1).a<=e.b&&(p8(n,o-n.s),n.c=!0,p8(i,o-n.s),Cwt(i,n.s,n.t+n.d+s),i.k=!0,Lot(n.q,i),u=!0,r&&(tit(e,i),i.j=e,t.c.length>a&&(Cyt((u1(a,t.c.length),jz(t.c[a],200)),i),0==(u1(a,t.c.length),jz(t.c[a],200)).a.c.length&&s6(t,a)))),u)}function Bjt(t,e){var n,i,r,o,a;if(DAt(e,"Partition midprocessing",1),r=new pQ,XA(DY(new OH(null,new d1(t.a,16)),new pi),new up(r)),0!=r.d){for(a=jz(x5(r1(new OH(null,(r.i||(r.i=new $P(r,r.c))).Nc())),b8(new V,new z,new it,Est(Vy(Qne,1),BYt,132,0,[(Vlt(),qne)]))),15),n=jz((i=a.Kc()).Pb(),19);i.Ob();)o=jz(i.Pb(),19),GPt(jz(c6(r,n),21),jz(c6(r,o),21)),n=o;zEt(e)}}function Mjt(t,e,n){var i,r,o,a,s;if(0==e.p){for(e.p=1,(r=n)||(r=new nD(new Mb,new YF(i=jz(W_(FDe),9),jz(AR(i,i.length),9),0))),jz(r.a,15).Fc(e),e.k==(aEt(),Cse)&&jz(r.b,21).Fc(jz(wxt(e,(lKt(),Khe)),61)),a=new Gf(e.j);a.a0)if(r=jz(t.Ab.g,1934),null==e){for(o=0;o1)for(i=new Gf(r);i.an.s&&ca&&(a=r,l.c=P7(Ite,zKt,1,0,5,1)),r==a&&Gz(l,new nD(n.c.i,n)));AX(),bM(l,t.c),kq(t.b,s.p,l)}}function Vjt(t,e){var n,i,r,o,a,s,c,l;for(o=new Gf(e.b);o.aa&&(a=r,l.c=P7(Ite,zKt,1,0,5,1)),r==a&&Gz(l,new nD(n.d.i,n)));AX(),bM(l,t.c),kq(t.f,s.p,l)}}function Hjt(t){Mx(t,new AAt(m_(d_(p_(g_(new ms,h4t),"ELK Box"),"Algorithm for packing of unconnected boxes, i.e. graphs without edges."),new Ns))),o2(t,h4t,YQt,Hxe),o2(t,h4t,bJt,15),o2(t,h4t,mJt,ndt(0)),o2(t,h4t,I5t,wbt(Rxe)),o2(t,h4t,EJt,wbt(jxe)),o2(t,h4t,xJt,wbt(zxe)),o2(t,h4t,KQt,u4t),o2(t,h4t,yJt,wbt(Fxe)),o2(t,h4t,$Jt,wbt($xe)),o2(t,h4t,d4t,wbt(Oxe)),o2(t,h4t,a3t,wbt(Nxe))}function qjt(t,e){var n,i,r,o,a,s,c,l,u;if(a=(r=t.i).o.a,o=r.o.b,a<=0&&o<=0)return vGt(),xDe;switch(l=t.n.a,u=t.n.b,s=t.o.a,n=t.o.b,e.g){case 2:case 1:if(l<0)return vGt(),EDe;if(l+s>a)return vGt(),aDe;break;case 4:case 3:if(u<0)return vGt(),sDe;if(u+n>o)return vGt(),ADe}return(c=(l+s/2)/a)+(i=(u+n/2)/o)<=1&&c-i<=0?(vGt(),EDe):c+i>=1&&c-i>=0?(vGt(),aDe):i<.5?(vGt(),sDe):(vGt(),ADe)}function Ujt(t,e){var n,i,r,o,a,s,c,l,u,h,d,f;for(n=!1,c=Vv(CN(wxt(e,(zWt(),Sbe)))),d=RYt*c,r=new Gf(e.b);r.aa.n.b-a.d.d+u.a+d&&(f=l.g+u.g,u.a=(u.g*u.a+l.g*l.a)/f,u.g=f,l.f=u,n=!0)),o=a,l=u;return n}function Gjt(t,e,n,i,r,o,a){var s,c,l,u,h;for(h=new hB,c=e.Kc();c.Ob();)for(u=new Gf(jz(c.Pb(),839).wf());u.a0?s.a?r>(l=s.b.rf().b)&&(t.v||1==s.c.d.c.length?(a=(r-l)/2,s.d.d=a,s.d.a=a):(n=(jz(PH(s.c.d,0),181).rf().b-l)/2,s.d.d=i.Math.max(0,n),s.d.a=r-n-l)):s.d.a=t.t+r:$U(t.u)&&((o=FAt(s.b)).d<0&&(s.d.d=-o.d),o.d+o.a>s.b.rf().b&&(s.d.a=o.d+o.a-s.b.rf().b))}function Yjt(t,e){var n;switch(mtt(t)){case 6:return UD(e);case 7:return qD(e);case 8:return HD(e);case 3:return Array.isArray(e)&&!((n=mtt(e))>=14&&n<=16);case 11:return null!=e&&typeof e===LKt;case 12:return null!=e&&(typeof e===IKt||typeof e==LKt);case 0:return Ybt(e,t.__elementTypeId$);case 2:return LG(e)&&!(e.im===D);case 1:return LG(e)&&!(e.im===D)||Ybt(e,t.__elementTypeId$);default:return!0}}function Xjt(t,e){var n,r,o,a;return r=i.Math.min(i.Math.abs(t.c-(e.c+e.b)),i.Math.abs(t.c+t.b-e.c)),a=i.Math.min(i.Math.abs(t.d-(e.d+e.a)),i.Math.abs(t.d+t.a-e.d)),(n=i.Math.abs(t.c+t.b/2-(e.c+e.b/2)))>t.b/2+e.b/2||(o=i.Math.abs(t.d+t.a/2-(e.d+e.a/2)))>t.a/2+e.a/2?1:0==n&&0==o?0:0==n?a/o+1:0==o?r/n+1:i.Math.min(r/n,a/o)+1}function Zjt(t,e){var n,r,o,a,s,c;return(o=nit(t))==(c=nit(e))?t.e==e.e&&t.a<54&&e.a<54?t.fe.f?1:0:(r=t.e-e.e,(n=(t.d>0?t.d:i.Math.floor((t.a-1)*qXt)+1)-(e.d>0?e.d:i.Math.floor((e.a-1)*qXt)+1))>r+1?o:n0&&(s=Mtt(s,vzt(r))),tmt(a,s))):o0&&t.d!=(z9(),Dae)&&(s+=a*(i.d.a+t.a[e.b][i.b]*(e.d.a-i.d.a)/n)),n>0&&t.d!=(z9(),Tae)&&(c+=a*(i.d.b+t.a[e.b][i.b]*(e.d.b-i.d.b)/n)));switch(t.d.g){case 1:return new PS(s/o,e.d.b);case 2:return new PS(e.d.a,c/o);default:return new PS(s/o,c/o)}}function Jjt(t,e){var n,i,r,o;if(qlt(),o=jz(wxt(t.i,(zWt(),tbe)),98),0!=t.j.g-e.j.g||o!=(YCt(),qSe)&&o!=GSe&&o!=USe)return 0;if(o==(YCt(),qSe)&&(n=jz(wxt(t,ebe),19),i=jz(wxt(e,ebe),19),n&&i&&0!=(r=n.a-i.a)))return r;switch(t.j.g){case 1:return Edt(t.n.a,e.n.a);case 2:return Edt(t.n.b,e.n.b);case 3:return Edt(e.n.a,t.n.a);case 4:return Edt(e.n.b,t.n.b);default:throw $b(new Fv(i1t))}}function t$t(t){var e,n,i,r,o;for(Gz(o=new X6((!t.a&&(t.a=new IP(MIe,t,5)),t.a).i+2),new PS(t.j,t.k)),XA(new OH(null,(!t.a&&(t.a=new IP(MIe,t,5)),new d1(t.a,16))),new Tm(o)),Gz(o,new PS(t.b,t.c)),e=1;e0&&(Ust(c,!1,(jht(),RTe)),Ust(c,!0,FTe)),Det(e.g,new sT(t,n)),WK(t.g,e,n)}function n$t(){var t;for(n$t=I,Mee=Est(Vy(SLe,1),lXt,25,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]),Pee=P7(SLe,lXt,25,37,15,1),Lee=Est(Vy(SLe,1),lXt,25,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]),Oee=P7(ILe,jXt,25,37,14,1),t=2;t<=36;t++)Pee[t]=EQ(i.Math.pow(t,Mee[t])),Oee[t]=D_t(dYt,Pee[t])}function i$t(t){var e;if(1!=(!t.a&&(t.a=new tG(RIe,t,6,6)),t.a).i)throw $b(new Rv($4t+(!t.a&&(t.a=new tG(RIe,t,6,6)),t.a).i));return e=new kk,dst(jz(Wet((!t.b&&(t.b=new cF(OIe,t,4,7)),t.b),0),82))&&jrt(e,qWt(t,dst(jz(Wet((!t.b&&(t.b=new cF(OIe,t,4,7)),t.b),0),82)),!1)),dst(jz(Wet((!t.c&&(t.c=new cF(OIe,t,5,8)),t.c),0),82))&&jrt(e,qWt(t,dst(jz(Wet((!t.c&&(t.c=new cF(OIe,t,5,8)),t.c),0),82)),!0)),e}function r$t(t,e){var n,i,r;for(r=!1,i=new aU(ZP((e.d?t.a.c==(gQ(),Jke)?uft(e.b):hft(e.b):t.a.c==(gQ(),Qke)?uft(e.b):hft(e.b)).a.Kc(),new u));gBt(i);)if(n=jz(q4(i),17),(zv(t.a.f[t.a.g[e.b.p].p])||h4(n)||n.c.i.c!=n.d.i.c)&&!zv(t.a.n[t.a.g[e.b.p].p])&&!zv(t.a.n[t.a.g[e.b.p].p])&&(r=!0,FA(t.b,t.a.g[Mkt(n,e.b).p])))return e.c=!0,e.a=n,e;return e.c=r,e.a=null,e}function o$t(t,e,n,i,r){var o,a,s,c,l,u,h;for(AX(),bM(t,new Ks),s=new C2(t,0),h=new Mb,o=0;s.b2*o?(u=new Het(h),l=eq(a)/tq(a),c=kWt(u,e,new hk,n,i,r,l),qR(kI(u.e),c),h.c=P7(Ite,zKt,1,0,5,1),o=0,h.c[h.c.length]=u,h.c[h.c.length]=a,o=eq(u)*tq(u)+eq(a)*tq(a)):(h.c[h.c.length]=a,o+=eq(a)*tq(a));return h}function a$t(t,e,n){var i,r,o,a,s,c,l;if(0==(i=n.gc()))return!1;if(t.ej())if(c=t.fj(),vgt(t,e,n),a=1==i?t.Zi(3,null,n.Kc().Pb(),e,c):t.Zi(5,null,n,e,c),t.bj()){for(s=i<100?null:new F_(i),o=e+i,r=e;r0){for(s=0;s>16==-15&&t.Cb.nh()&&I9(new k8(t.Cb,9,13,n,t.c,awt($9(jz(t.Cb,59)),t))):iP(t.Cb,88)&&t.Db>>16==-23&&t.Cb.nh()&&(iP(e=t.c,88)||(pKt(),e=dMe),iP(n,88)||(pKt(),n=dMe),I9(new k8(t.Cb,9,10,n,e,awt(r5(jz(t.Cb,26)),t)))))),t.c}function d$t(t,e){var n,i,r,o,a,s,c,l;for(DAt(e,"Hypernodes processing",1),i=new Gf(t.b);i.an);return r}function m$t(t,e){var n,i,r;i=0!=zMt(t.d,1),!zv(_N(wxt(e.j,(lKt(),Xhe))))&&!zv(_N(wxt(e.j,Tde)))||VD(wxt(e.j,(zWt(),Bpe)))===VD((wct(),Mwe))?e.c.Tf(e.e,i):i=zv(_N(wxt(e.j,Xhe))),OLt(t,e,i,!0),zv(_N(wxt(e.j,Tde)))&&lct(e.j,Tde,(cL(),!1)),zv(_N(wxt(e.j,Xhe)))&&(lct(e.j,Xhe,(cL(),!1)),lct(e.j,Tde,!0)),n=JTt(t,e);do{if(Brt(t),0==n)return 0;r=n,OLt(t,e,i=!i,!1),n=JTt(t,e)}while(r>n);return r}function b$t(t,e,n){var i,r,o,a,s,c,l;if(e==n)return!0;if(e=dBt(t,e),n=dBt(t,n),i=Vwt(e)){if((c=Vwt(n))!=i)return!!c&&(a=i.Dj())==c.Dj()&&null!=a;if(!e.d&&(e.d=new IP(GBe,e,1)),r=(o=e.d).i,!n.d&&(n.d=new IP(GBe,n,1)),r==(l=n.d).i)for(s=0;s0,s=Pft(e,o),NL(n?s.b:s.g,e),1==vft(s).c.length&&n4(i,s,i.c.b,i.c),r=new nD(o,e),f3(t.o,r),w9(t.e.a,o))}function C$t(t,e){var n,r,o,a;return r=i.Math.abs(zU(t.b).a-zU(e.b).a),a=i.Math.abs(zU(t.b).b-zU(e.b).b),n=1,o=1,r>t.b.b/2+e.b.b/2&&(n=1-i.Math.min(i.Math.abs(t.b.c-(e.b.c+e.b.b)),i.Math.abs(t.b.c+t.b.b-e.b.c))/r),a>t.b.a/2+e.b.a/2&&(o=1-i.Math.min(i.Math.abs(t.b.d-(e.b.d+e.b.a)),i.Math.abs(t.b.d+t.b.a-e.b.d))/a),(1-i.Math.min(n,o))*i.Math.sqrt(r*r+a*a)}function A$t(t){var e,n,i;for(JUt(t,t.e,t.f,(fQ(),Bve),!0,t.c,t.i),JUt(t,t.e,t.f,Bve,!1,t.c,t.i),JUt(t,t.e,t.f,Mve,!0,t.c,t.i),JUt(t,t.e,t.f,Mve,!1,t.c,t.i),S$t(t,t.c,t.e,t.f,t.i),n=new C2(t.i,0);n.b=65;n--)UPe[n]=n-65<<24>>24;for(i=122;i>=97;i--)UPe[i]=i-97+26<<24>>24;for(r=57;r>=48;r--)UPe[r]=r-48+52<<24>>24;for(UPe[43]=62,UPe[47]=63,o=0;o<=25;o++)GPe[o]=65+o&YYt;for(a=26,c=0;a<=51;++a,c++)GPe[a]=97+c&YYt;for(t=52,s=0;t<=61;++t,s++)GPe[t]=48+s&YYt;GPe[62]=43,GPe[63]=47}function T$t(t,e){var n,r,o,a,s,c,l,u,h,d,f;if(t.dc())return new V_;for(l=0,h=0,r=t.Kc();r.Ob();)o=jz(r.Pb(),37).f,l=i.Math.max(l,o.a),h+=o.a*o.b;for(l=i.Math.max(l,i.Math.sqrt(h)*Vv(CN(wxt(jz(t.Kc().Pb(),37),(zWt(),ype))))),d=0,f=0,c=0,n=e,s=t.Kc();s.Ob();)d+(u=(a=jz(s.Pb(),37)).f).a>l&&(d=0,f+=c+e,c=0),QRt(a,d,f),n=i.Math.max(n,d+u.a),c=i.Math.max(c,u.b),d+=u.a+e;return new PS(n+e,f+c+e)}function S$t(t,e,n,i,r){var o,a,s,c,l,u,h;for(a=new Gf(e);a.ao)return vGt(),aDe;break;case 4:case 3:if(c<0)return vGt(),sDe;if(c+t.f>r)return vGt(),ADe}return(a=(s+t.g/2)/o)+(n=(c+t.f/2)/r)<=1&&a-n<=0?(vGt(),EDe):a+n>=1&&a-n>=0?(vGt(),aDe):n<.5?(vGt(),sDe):(vGt(),ADe)}function I$t(t,e,n,i,r){var o,a;if(o=ift(t0(e[0],UXt),t0(i[0],UXt)),t[0]=fq(o),o=kU(o,32),n>=r){for(a=1;a0&&(r.b[a++]=0,r.b[a++]=o.b[0]-1),e=1;e0&&(Gd(c,c.d-r.d),r.c==(S6(),_ve)&&qd(c,c.a-r.d),c.d<=0&&c.i>0&&n4(e,c,e.c.b,e.c));for(o=new Gf(t.f);o.a0&&(Wd(s,s.i-r.d),r.c==(S6(),_ve)&&Ud(s,s.b-r.d),s.i<=0&&s.d>0&&n4(n,s,n.c.b,n.c))}function L$t(t,e,n){var i,r,o,a,s,c,l,u;for(DAt(n,"Processor compute fanout",1),IG(t.b),IG(t.a),s=null,o=cbt(e.b,0);!s&&o.b!=o.d.c;)zv(_N(wxt(l=jz(h3(o),86),(VHt(),fye))))&&(s=l);for(n4(c=new YA,s,c.c.b,c.c),yGt(t,c),u=cbt(e.b,0);u.b!=u.d.c;)a=AN(wxt(l=jz(h3(u),86),(VHt(),nye))),r=null!=AQ(t.b,a)?jz(AQ(t.b,a),19).a:0,lct(l,eye,ndt(r)),i=1+(null!=AQ(t.a,a)?jz(AQ(t.a,a),19).a:0),lct(l,Jve,ndt(i));zEt(n)}function O$t(t,e,n,i,r){var o,a,s,c,l,u,h,d,f;for(h=kCt(t,n),s=0;s0),i.a.Xb(i.c=--i.b),u>h+s&&lK(i);for(o=new Gf(d);o.a0),i.a.Xb(i.c=--i.b)}}function N$t(){var t,e,n,i,r,o;if(fKt(),xLe)return xLe;for(cVt(t=new C0(4),QGt(mte,!0)),Wqt(t,QGt("M",!0)),Wqt(t,QGt("C",!0)),o=new C0(4),i=0;i<11;i++)XOt(o,i,i);return cVt(e=new C0(4),QGt("M",!0)),XOt(e,4448,4607),XOt(e,65438,65439),tHt(r=new nM(2),t),tHt(r,aLe),(n=new nM(2)).$l(gq(o,QGt("L",!0))),n.$l(e),n=new qG(r,n=new c5(3,n)),xLe=n}function R$t(t){var e,n;if(!Xot(e=AN(QBt(t,(cKt(),tEe))),t)&&!x7(t,bTe)&&(0!=(!t.a&&(t.a=new tG(HIe,t,10,11)),t.a).i||zv(_N(QBt(t,AEe))))){if(null!=e&&0!=Nxt(e).length)throw pUt(t,n=aI(aI(new uL("Layout algorithm '"),e),"' not found for ")),$b(new ny(n.a));if(!Xot(f1t,t))throw pUt(t,n=aI(aI(new uL("Unable to load default layout algorithm "),f1t)," for unconfigured node ")),$b(new ny(n.a))}}function F$t(t){var e,n,r,o,a,s,c,l,u,h,d,f,g;if(n=t.i,e=t.n,0==t.b)for(g=n.c+e.b,f=n.b-e.b-e.c,l=0,h=(s=t.a).length;l0&&(d-=r[0]+t.c,r[0]+=t.c),r[2]>0&&(d-=r[2]+t.c),r[1]=i.Math.max(r[1],d),qq(t.a[1],n.c+e.b+r[0]-(r[1]-d)/2,r[1]);for(c=0,u=(a=t.a).length;c0?(t.n.c.length-1)*t.i:0,n=new Gf(t.n);n.a1)for(i=cbt(r,0);i.b!=i.d.c;)for(o=0,s=new Gf((n=jz(h3(i),231)).e);s.a0&&(e[0]+=t.c,d-=e[0]),e[2]>0&&(d-=e[2]+t.c),e[1]=i.Math.max(e[1],d),Uq(t.a[1],r.d+n.d+e[0]-(e[1]-d)/2,e[1]);else for(g=r.d+n.d,f=r.a-n.d-n.a,l=0,h=(s=t.a).length;l=0&&o!=n)throw $b(new Rv(o7t));for(r=0,c=0;c0||0==Sft(o.b.d,t.b.d+t.b.a)&&r.b<0||0==Sft(o.b.d+o.b.a,t.b.d)&&r.b>0){c=0;break}}else c=i.Math.min(c,zSt(t,o,r));c=i.Math.min(c,W$t(t,a,c,r))}return c}function K$t(t,e){var n,i,r,o,a,s;if(t.b<2)throw $b(new Rv("The vector chain must contain at least a source and a target point."));for(xO(0!=t.b),EB(e,(i=jz(t.a.a.c,8)).a,i.b),s=new iO((!e.a&&(e.a=new IP(MIe,e,5)),e.a)),o=cbt(t,1);o.aVv(uP(a.g,a.d[0]).a)?(xO(c.b>0),c.a.Xb(c.c=--c.b),wR(c,a),r=!0):s.e&&s.e.gc()>0&&(o=(!s.e&&(s.e=new Mb),s.e).Mc(e),l=(!s.e&&(s.e=new Mb),s.e).Mc(n),(o||l)&&((!s.e&&(s.e=new Mb),s.e).Fc(a),++a.c));r||(i.c[i.c.length]=a)}function rzt(t){var e,n,i;if(mB(jz(wxt(t,(zWt(),tbe)),98)))for(n=new Gf(t.j);n.a>>0).toString(16),e.length-2,e.length):t>=$Xt?"\\v"+lO(e="0"+(t>>>0).toString(16),e.length-6,e.length):""+String.fromCharCode(t&YYt)}return n}function azt(t,e){var n,i,r,o,a,s,c,l,u,h;if(a=t.e,0==(c=e.e))return t;if(0==a)return 0==e.e?e:new uG(-e.e,e.d,e.a);if((o=t.d)+(s=e.d)==2)return n=t0(t.a[0],UXt),i=t0(e.a[0],UXt),a<0&&(n=v9(n)),c<0&&(i=v9(i)),Jmt(nft(n,i));if(-1==(r=o!=s?o>s?1:-1:Alt(t.a,e.a,o)))h=-c,u=a==c?f6(e.a,s,t.a,o):M7(e.a,s,t.a,o);else if(h=a,a==c){if(0==r)return DNt(),ene;u=f6(t.a,o,e.a,s)}else u=M7(t.a,o,e.a,s);return U0(l=new uG(h,u.length,u)),l}function szt(t){var e,n,i,r,o,a;for(this.e=new Mb,this.a=new Mb,n=t.b-1;n<3;n++)NO(t,0,jz(Obt(t,0),8));if(t.b<4)throw $b(new Rv("At (least dimension + 1) control points are necessary!"));for(this.b=3,this.d=!0,this.c=!1,SMt(this,t.b+this.b-1),a=new Mb,o=new Gf(this.e),e=0;e=e.o&&n.f<=e.f||.5*e.a<=n.f&&1.5*e.a>=n.f){if((o=jz(PH(e.n,e.n.c.length-1),211)).e+o.d+n.g+r<=i&&(jz(PH(e.n,e.n.c.length-1),211).f-t.f+n.f<=t.b||1==t.a.c.length))return kft(e,n),!0;if(e.s+n.g<=i&&(e.t+e.d+n.f+r<=t.b||1==t.a.c.length))return Gz(e.b,n),a=jz(PH(e.n,e.n.c.length-1),211),Gz(e.n,new OQ(e.s,a.f+a.a+e.i,e.i)),ckt(jz(PH(e.n,e.n.c.length-1),211),n),$$t(e,n),!0}return!1}function uzt(t,e,n){var i,r,o,a;return t.ej()?(r=null,o=t.fj(),i=t.Zi(1,a=att(t,e,n),n,e,o),t.bj()&&!(t.ni()&&null!=a?Pht(a,n):VD(a)===VD(n))?(null!=a&&(r=t.dj(a,r)),r=t.cj(n,r),t.ij()&&(r=t.lj(a,n,r)),r?(r.Ei(i),r.Fi()):t.$i(i)):(t.ij()&&(r=t.lj(a,n,r)),r?(r.Ei(i),r.Fi()):t.$i(i)),a):(a=att(t,e,n),t.bj()&&!(t.ni()&&null!=a?Pht(a,n):VD(a)===VD(n))&&(r=null,null!=a&&(r=t.dj(a,null)),(r=t.cj(n,r))&&r.Fi()),a)}function hzt(t,e){var n,r,o,a,s,c,l;e%=24,t.q.getHours()!=e&&((n=new i.Date(t.q.getTime())).setDate(n.getDate()+1),(s=t.q.getTimezoneOffset()-n.getTimezoneOffset())>0&&(c=s/60|0,l=s%60,r=t.q.getDate(),t.q.getHours()+c>=24&&++r,o=new i.Date(t.q.getFullYear(),t.q.getMonth(),r,e+c,t.q.getMinutes()+l,t.q.getSeconds(),t.q.getMilliseconds()),t.q.setTime(o.getTime()))),a=t.q.getTime(),t.q.setTime(a+36e5),t.q.getHours()!=e&&t.q.setTime(a)}function dzt(t,e){var n,i,r,o;if(DAt(e,"Path-Like Graph Wrapping",1),0!=t.b.c.length)if(null==(r=new ABt(t)).i&&(r.i=Wrt(r,new _o)),n=Vv(r.i)*r.f/(null==r.i&&(r.i=Wrt(r,new _o)),Vv(r.i)),r.b>n)zEt(e);else{switch(jz(wxt(t,(zWt(),jbe)),337).g){case 2:o=new xo;break;case 0:o=new po;break;default:o=new Eo}if(i=o.Vf(t,r),!o.Wf())switch(jz(wxt(t,Ube),338).g){case 2:i=GSt(r,i);break;case 1:i=RAt(r,i)}nHt(t,r,i),zEt(e)}else zEt(e)}function fzt(t,e){var n,i,r,o;if(l1(t.d,t.e),t.c.a.$b(),0!=Vv(CN(wxt(e.j,(zWt(),Tpe))))||0!=Vv(CN(wxt(e.j,Tpe))))for(n=QQt,VD(wxt(e.j,Bpe))!==VD((wct(),Mwe))&&lct(e.j,(lKt(),Xhe),(cL(),!0)),o=jz(wxt(e.j,Pbe),19).a,r=0;r(u1(o+1,e.c.length),jz(e.c[o+1],19)).a-i&&++s,Gz(r,(u1(o+s,e.c.length),jz(e.c[o+s],19))),a+=(u1(o+s,e.c.length),jz(e.c[o+s],19)).a-i,++n;n1&&(c>eq(s)*tq(s)/2||0==a.b)&&(h=new Het(d),u=eq(s)/tq(s),l=kWt(h,e,new hk,n,i,r,u),qR(kI(h.e),l),s=h,f.c[f.c.length]=h,c=0,d.c=P7(Ite,zKt,1,0,5,1)));return pst(f,d),f}function wzt(t,e,n,i){var r,o,a,s,c,l,u,h,d,f,g,p;if(n.mh(e)&&(u=(f=e)?jz(i,49).xh(f):null))if(p=n.bh(e,t.a),(g=e.t)>1||-1==g)if(h=jz(p,69),d=jz(u,69),h.dc())d.$b();else for(a=!!Twt(e),o=0,s=t.a?h.Kc():h.Zh();s.Ob();)l=jz(s.Pb(),56),(r=jz(utt(t,l),56))?(a?-1==(c=d.Xc(r))?d.Xh(o,r):o!=c&&d.ji(o,r):d.Xh(o,r),++o):t.b&&!a&&(d.Xh(o,l),++o);else null==p?u.Wb(null):null==(r=utt(t,p))?t.b&&!Twt(e)&&u.Wb(p):u.Wb(r)}function kzt(t,e){var n,r,o,a,s,c,l,h;for(n=new Pn,o=new aU(ZP(uft(e).a.Kc(),new u));gBt(o);)if(!h4(r=jz(q4(o),17))&&eAt(c=r.c.i,Use)){if(-1==(h=KNt(t,c,Use,qse)))continue;n.b=i.Math.max(n.b,h),!n.a&&(n.a=new Mb),Gz(n.a,c)}for(s=new aU(ZP(hft(e).a.Kc(),new u));gBt(s);)if(!h4(a=jz(q4(s),17))&&eAt(l=a.d.i,qse)){if(-1==(h=KNt(t,l,qse,Use)))continue;n.d=i.Math.max(n.d,h),!n.c&&(n.c=new Mb),Gz(n.c,l)}return n}function vzt(t){var e,n,i,r;if(BIt(),e=EQ(t),t1e6)throw $b(new Sv("power of ten too big"));if(t<=OKt)return V4(aIt(one[1],e),e);for(r=i=aIt(one[1],OKt),n=uat(t-OKt),e=EQ(t%OKt);Kut(n,OKt)>0;)r=Mtt(r,i),n=nft(n,OKt);for(r=V4(r=Mtt(r,aIt(one[1],e)),OKt),n=uat(t-OKt);Kut(n,OKt)>0;)r=V4(r,OKt),n=nft(n,OKt);return r=V4(r,e)}function yzt(t,e){var n,i,r,o,a,s,c,l;for(DAt(e,"Hierarchical port dummy size processing",1),s=new Mb,l=new Mb,n=2*Vv(CN(wxt(t,(zWt(),kbe)))),r=new Gf(t.b);r.al&&i>l)){r=!1,n.n&&SV(n,"bk node placement breaks on "+s+" which should have been after "+u);break}u=s,l=Vv(e.p[s.p])+Vv(e.d[s.p])+s.o.b+s.d.a}if(!r)break}return n.n&&SV(n,e+" is feasible: "+r),r}function Dzt(t,e,n,i){var r,o,a,s,c,l,u;for(s=-1,u=new Gf(t);u.a=m&&t.e[l.p]>g*t.b||k>=n*m)&&(d.c[d.c.length]=c,c=new Mb,jrt(s,a),a.a.$b(),u-=h,f=i.Math.max(f,u*t.b+p),u+=k,w=k,k=0,h=0,p=0);return new nD(f,d)}function Pzt(t){var e,n,i,r,o,a,s,c,l,u,h,d;for(n=new Nf(new Sf(t.c.b).a.vc().Kc());n.a.Ob();)s=jz(n.a.Pb(),42),null==(r=(e=jz(s.dd(),149)).a)&&(r=""),!(i=RN(t.c,r))&&0==r.length&&(i=kht(t)),i&&!kgt(i.c,e,!1)&&LV(i.c,e);for(a=cbt(t.a,0);a.b!=a.d.c;)o=jz(h3(a),478),l=_4(t.c,o.a),d=_4(t.c,o.b),l&&d&&LV(l.c,new nD(d,o.c));for(wX(t.a),h=cbt(t.b,0);h.b!=h.d.c;)u=jz(h3(h),478),e=NN(t.c,u.a),c=_4(t.c,u.b),e&&c&&Lx(e,c,u.c);wX(t.b)}function Lzt(t,e,n){var i,r,o,a,s,c,l,u,h,d,f;o=new Ad(t),f4((a=new gyt).g),f4(a.j),IG(a.b),f4(a.d),f4(a.i),IG(a.k),IG(a.c),IG(a.e),f=dDt(a,o,null),DMt(a,o),r=f,e&&(s=eVt(l=new Ad(e)),bEt(r,Est(Vy(QAe,1),zKt,527,0,[s]))),d=!1,h=!1,n&&(l=new Ad(n),h7t in l.a&&(d=HQ(l,h7t).ge().a),d7t in l.a&&(h=HQ(l,d7t).ge().a)),u=I_(jnt(new Uk,d),h),$Et(new us,r,u),h7t in o.a&&net(o,h7t,null),(d||h)&&(J$t(u,c=new pv,d,h),net(o,h7t,c)),i=new Um(a),Uct(new SB(r),i)}function Ozt(t,e,n){var i,r,o,a,s,c,l,u,h;for(a=new Xyt,l=Est(Vy(SLe,1),lXt,25,15,[0]),r=-1,o=0,i=0,c=0;c0)){if(r=-1,32==lY(u.c,0)){if(h=l[0],wtt(e,l),l[0]>h)continue}else if(IZ(e,u.c,l[0])){l[0]+=u.c.length;continue}return 0}if(r<0&&u.a&&(r=c,o=l[0],i=0),r>=0){if(s=u.b,c==r&&0==(s-=i++))return 0;if(!MGt(e,l,u,s,a)){c=r-1,l[0]=o;continue}}else if(r=-1,!MGt(e,l,u,0,a))return 0}return gGt(a,n)?l[0]:0}function Nzt(t){var e,n,i,r,o,a;if(!t.f){if(a=new xc,o=new xc,null==(e=AMe).a.zc(t,e)){for(r=new DP(kZ(t));r.e!=r.i.gc();)pW(a,Nzt(jz(vbt(r),26)));e.a.Bc(t),e.a.gc()}for(!t.s&&(t.s=new tG(RBe,t,21,17)),i=new DP(t.s);i.e!=i.i.gc();)iP(n=jz(vbt(i),170),99)&&l8(o,jz(n,18));rut(o),t.r=new _V(t,(jz(Wet(KX((KW(),QBe).o),6),18),o.i),o.g),pW(a,t.r),rut(a),t.f=new MI((jz(Wet(KX(QBe.o),5),18),a.i),a.g),x4(t).b&=-3}return t.f}function Rzt(t){var e,n,i,r,o,a,s,c,l,u,h,d,f,g;for(a=t.o,i=P7(SLe,lXt,25,a,15,1),r=P7(SLe,lXt,25,a,15,1),n=t.p,e=P7(SLe,lXt,25,n,15,1),o=P7(SLe,lXt,25,n,15,1),l=0;l=0&&!bkt(t,u,h);)--h;r[u]=h}for(f=0;f=0&&!bkt(t,s,g);)--s;o[g]=s}for(c=0;ce[d]&&di[c]&&jRt(t,c,d,!1,!0)}function Fzt(t){var e,n,i,r,o,a,s,c;n=zv(_N(wxt(t,(uRt(),joe)))),o=t.a.c.d,s=t.a.d.d,n?(a=kP(UR(new PS(s.a,s.b),o),.5),c=kP(jM(t.e),.5),e=UR(qR(new PS(o.a,o.b),a),c),$O(t.d,e)):(r=Vv(CN(wxt(t.a,nae))),i=t.d,o.a>=s.a?o.b>=s.b?(i.a=s.a+(o.a-s.a)/2+r,i.b=s.b+(o.b-s.b)/2-r-t.e.b):(i.a=s.a+(o.a-s.a)/2+r,i.b=o.b+(s.b-o.b)/2+r):o.b>=s.b?(i.a=o.a+(s.a-o.a)/2+r,i.b=s.b+(o.b-s.b)/2+r):(i.a=o.a+(s.a-o.a)/2+r,i.b=o.b+(s.b-o.b)/2-r-t.e.b))}function jzt(t,e){var n,i,r,o,a,s,c;if(null==t)return null;if(0==(o=t.length))return"";for(c=P7(TLe,WYt,25,o,15,1),R7(0,o,t.length),R7(0,o,c.length),YG(t,0,o,c,0),n=null,s=e,r=0,a=0;r0?lO(n.a,0,o-1):"":t.substr(0,o-1):n?n.a:t}function $zt(t){Mx(t,new AAt(m_(d_(p_(g_(new ms,UQt),"ELK DisCo"),"Layouter for arranging unconnected subgraphs. The subgraphs themselves are, by default, not laid out."),new oe))),o2(t,UQt,GQt,wbt(yoe)),o2(t,UQt,WQt,wbt(poe)),o2(t,UQt,KQt,wbt(uoe)),o2(t,UQt,YQt,wbt(moe)),o2(t,UQt,GZt,wbt(koe)),o2(t,UQt,WZt,wbt(woe)),o2(t,UQt,UZt,wbt(voe)),o2(t,UQt,KZt,wbt(boe)),o2(t,UQt,$Qt,wbt(doe)),o2(t,UQt,zQt,wbt(hoe)),o2(t,UQt,VQt,wbt(foe)),o2(t,UQt,HQt,wbt(goe))}function zzt(t,e,n,i){var r,o,a,s,c,l,u;if(Fd(o=new Bwt(t),(aEt(),Tse)),lct(o,(zWt(),tbe),(YCt(),USe)),r=0,e){for(lct(a=new TEt,(lKt(),fde),e),lct(o,fde,e.i),VSt(a,(vGt(),EDe)),EJ(a,o),l=0,u=(c=Z0(e.e)).length;l0)if((n-=r.length-e)>=0){for(o.a+="0.";n>Vee.length;n-=Vee.length)MH(o,Vee);gR(o,Vee,EQ(n)),aI(o,r.substr(e))}else aI(o,lO(r,e,EQ(n=e-n))),o.a+=".",aI(o,QD(r,EQ(n)));else{for(aI(o,r.substr(e));n<-Vee.length;n+=Vee.length)MH(o,Vee);gR(o,Vee,EQ(-n))}return o.a}function qzt(t,e,n,r){var o,a,s,c,l,u,h,d,f;return u=(l=UR(new PS(n.a,n.b),t)).a*e.b-l.b*e.a,h=e.a*r.b-e.b*r.a,d=(l.a*r.b-l.b*r.a)/h,f=u/h,0==h?0==u?(a=G7(t,o=qR(new PS(n.a,n.b),kP(new PS(r.a,r.b),.5))),s=G7(qR(new PS(t.a,t.b),e),o),c=.5*i.Math.sqrt(r.a*r.a+r.b*r.b),a=0&&d<=1&&f>=0&&f<=1?qR(new PS(t.a,t.b),kP(new PS(e.a,e.b),d)):null}function Uzt(t,e,n){var i,r,o,a,s;if(i=jz(wxt(t,(zWt(),Mpe)),21),n.a>e.a&&(i.Hc((fCt(),Gxe))?t.c.a+=(n.a-e.a)/2:i.Hc(Kxe)&&(t.c.a+=n.a-e.a)),n.b>e.b&&(i.Hc((fCt(),Xxe))?t.c.b+=(n.b-e.b)/2:i.Hc(Yxe)&&(t.c.b+=n.b-e.b)),jz(wxt(t,(lKt(),Zhe)),21).Hc((dNt(),uhe))&&(n.a>e.a||n.b>e.b))for(s=new Gf(t.a);s.ae.a&&(i.Hc((fCt(),Gxe))?t.c.a+=(n.a-e.a)/2:i.Hc(Kxe)&&(t.c.a+=n.a-e.a)),n.b>e.b&&(i.Hc((fCt(),Xxe))?t.c.b+=(n.b-e.b)/2:i.Hc(Yxe)&&(t.c.b+=n.b-e.b)),jz(wxt(t,(lKt(),Zhe)),21).Hc((dNt(),uhe))&&(n.a>e.a||n.b>e.b))for(a=new Gf(t.a);a.ae&&(r=0,o+=l.b+n,u.c[u.c.length]=l,tit(l=new P0(o,n),i=new olt(0,l.f,l,n)),r=0),0==i.b.c.length||s.f>=i.o&&s.f<=i.f||.5*i.a<=s.f&&1.5*i.a>=s.f?kft(i,s):(tit(l,a=new olt(i.s+i.r+n,l.f,l,n)),kft(a,s)),r=s.i+s.g;return u.c[u.c.length]=l,u}function Xzt(t){var e,n,i,r,o,a;if(!t.a){if(t.o=null,a=new gb(t),e=new Ec,null==(n=AMe).a.zc(t,n)){for(o=new DP(kZ(t));o.e!=o.i.gc();)pW(a,Xzt(jz(vbt(o),26)));n.a.Bc(t),n.a.gc()}for(!t.s&&(t.s=new tG(RBe,t,21,17)),r=new DP(t.s);r.e!=r.i.gc();)iP(i=jz(vbt(r),170),322)&&l8(e,jz(i,34));rut(e),t.k=new yV(t,(jz(Wet(KX((KW(),QBe).o),7),18),e.i),e.g),pW(a,t.k),rut(a),t.a=new MI((jz(Wet(KX(QBe.o),4),18),a.i),a.g),x4(t).b&=-2}return t.a}function Zzt(t,e,n,i,r,o,a){var s,c,l,u,h;return u=!1,s=gLt(n.q,e.f+e.b-n.q.f),!((h=r-(n.q.e+s-a))=(u1(o,t.c.length),jz(t.c[o],200)).e,!((l=rVt(i,h,!1).a)>e.b&&!c)&&((c||l<=e.b)&&(c&&l>e.b?(n.d=l,p8(n,jEt(n,l))):(oCt(n.q,s),n.c=!0),p8(i,r-(n.s+n.r)),Cwt(i,n.q.e+n.q.d,e.f),tit(e,i),t.c.length>o&&(Cyt((u1(o,t.c.length),jz(t.c[o],200)),i),0==(u1(o,t.c.length),jz(t.c[o],200)).a.c.length&&s6(t,o)),u=!0),u))}function Qzt(t,e,n,i){var r,o,a,s,c,l,u;if(u=oOt(t.e.Tg(),e),r=0,o=jz(t.g,119),c=null,Zx(),jz(e,66).Oj()){for(s=0;st.o.a&&(h=(l-t.o.a)/2,c.b=i.Math.max(c.b,h),c.c=i.Math.max(c.c,h))}}function eVt(t){var e,n,i,r,o,a;for(iB(r=new O0,(Pst(),XAe)),i=new Af(new Xv(new _A(t,yrt(t,P7(Yee,cYt,2,0,6,1))).b));i.b0?t.i:0)>e&&l>0&&(a=0,s+=l+t.i,o=i.Math.max(o,f),r+=l+t.i,l=0,f=0,n&&(++d,Gz(t.n,new OQ(t.s,s,t.i))),c=0),f+=u.g+(c>0?t.i:0),l=i.Math.max(l,u.f),n&&ckt(jz(PH(t.n,d),211),u),a+=u.g+(c>0?t.i:0),++c;return o=i.Math.max(o,f),r+=l,n&&(t.r=o,t.d=r,kvt(t.j)),new qY(t.s,t.t,o,r)}function oVt(t,e,n,i,r){var o,a,s,c,l,u,h,d,f;if(IA(),AG(t,"src"),AG(n,"dest"),d=tlt(t),c=tlt(n),pV(!!(4&d.i),"srcType is not an array"),pV(!!(4&c.i),"destType is not an array"),h=d.c,a=c.c,pV(1&h.i?h==a:!(1&a.i),"Array types don't match"),f=t.length,l=n.length,e<0||i<0||r<0||e+r>f||i+r>l)throw $b(new lw);if(1&h.i||d==c)r>0&&FSt(t,e,n,i,r,!0);else if(u=ent(t),o=ent(n),VD(t)===VD(n)&&ei;)IW(o,s,u[--e]);else for(s=i+r;i=t.b.length?(o[r++]=a.b[i++],o[r++]=a.b[i++]):i>=a.b.length?(o[r++]=t.b[n++],o[r++]=t.b[n++]):a.b[i]0?t.i:0)),++e;for(Jft(t.n,l),t.d=n,t.r=r,t.g=0,t.f=0,t.e=0,t.o=NXt,t.p=NXt,a=new Gf(t.b);a.a0&&(!(r=(!t.n&&(t.n=new tG(VIe,t,1,7)),jz(Wet(t.n,0),137)).a)||aI(aI((e.a+=' "',e),r),'"'))),!t.b&&(t.b=new cF(OIe,t,4,7)),n=!(t.b.i<=1&&(!t.c&&(t.c=new cF(OIe,t,5,8)),t.c.i<=1)),e.a+=n?" [":" ",aI(e,XP(new by,new DP(t.b))),n&&(e.a+="]"),e.a+=e1t,n&&(e.a+="["),aI(e,XP(new by,new DP(t.c))),n&&(e.a+="]"),e.a)}function dVt(t,e){var n,i,r,o,a,s,c;if(t.a){if(c=null,null!=(s=t.a.ne())?e.a+=""+s:null!=(a=t.a.Dj())&&(-1!=(o=VI(a,XAt(91)))?(c=a.substr(o),e.a+=""+lO(null==a?qKt:(kK(a),a),0,o)):e.a+=""+a),t.d&&0!=t.d.i){for(r=!0,e.a+="<",i=new DP(t.d);i.e!=i.i.gc();)n=jz(vbt(i),87),r?r=!1:e.a+=jKt,dVt(n,e);e.a+=">"}null!=c&&(e.a+=""+c)}else t.e?null!=(s=t.e.zb)&&(e.a+=""+s):(e.a+="?",t.b?(e.a+=" super ",dVt(t.b,e)):t.f&&(e.a+=" extends ",dVt(t.f,e)))}function fVt(t,e){var n,i,r,o,a,s,c,l,u,h,d,f,g,p,m,b,w,k,v,y,_,C,A,x;for(v=t.c,y=e.c,n=y9(v.a,t,0),i=y9(y.a,e,0),w=jz(Lgt(t,(oit(),$we)).Kc().Pb(),11),A=jz(Lgt(t,zwe).Kc().Pb(),11),k=jz(Lgt(e,$we).Kc().Pb(),11),x=jz(Lgt(e,zwe).Kc().Pb(),11),m=Z0(w.e),_=Z0(A.g),b=Z0(k.e),C=Z0(x.g),Yvt(t,i,y),l=0,f=(o=b).length;lu?new HJ((S6(),Cve),n,e,l-u):l>0&&u>0&&(new HJ((S6(),Cve),e,n,0),new HJ(Cve,n,e,0))),a)}function mVt(t,e){var n,r,o,a,s;for(s=new alt(new xf(t.f.b).a);s.b;){if(o=jz((a=tnt(s)).cd(),594),1==e){if(o.gf()!=(jht(),$Te)&&o.gf()!=NTe)continue}else if(o.gf()!=(jht(),RTe)&&o.gf()!=FTe)continue;switch(r=jz(jz(a.dd(),46).b,81),n=jz(jz(a.dd(),46).a,189).c,o.gf().g){case 2:r.g.c=t.e.a,r.g.b=i.Math.max(1,r.g.b+n);break;case 1:r.g.c=r.g.c+n,r.g.b=i.Math.max(1,r.g.b-n);break;case 4:r.g.d=t.e.b,r.g.a=i.Math.max(1,r.g.a+n);break;case 3:r.g.d=r.g.d+n,r.g.a=i.Math.max(1,r.g.a-n)}}}function bVt(t,e){var n,r,o,a,s,c,l,u,h,d,f,g,p,m;for(c=P7(SLe,lXt,25,e.b.c.length,15,1),u=P7(Ise,BYt,267,e.b.c.length,0,1),l=P7(Sse,o1t,10,e.b.c.length,0,1),f=0,g=(d=t.a).length;f0&&l[r]&&(p=NM(t.b,l[r],o)),m=i.Math.max(m,o.c.c.b+p);for(a=new Gf(h.e);a.a1)throw $b(new Rv(S9t));c||(o=Z3(e,i.Kc().Pb()),a.Fc(o))}return sct(t,_Tt(t,e,n),a)}function _Vt(t,e){var n,i,r,o;for(Yet(e.b.j),XA(IY(new OH(null,new d1(e.d,16)),new oo),new ao),o=new Gf(e.d);o.at.o.b)return!1;if(n=oft(t,aDe),e.d+e.a+(n.gc()-1)*r>t.o.b)return!1}return!0}function BVt(t,e){var n,i,r,o,a,s,c,l,u,h,d,f,g;if(a=t.e,c=e.e,0==a)return e;if(0==c)return t;if((o=t.d)+(s=e.d)==2)return n=t0(t.a[0],UXt),i=t0(e.a[0],UXt),a==c?(g=fq(u=ift(n,i)),0==(f=fq(vU(u,32)))?new U6(a,g):new uG(a,2,Est(Vy(SLe,1),lXt,25,15,[g,f]))):Jmt(a<0?nft(i,n):nft(n,i));if(a==c)d=a,h=o>=s?M7(t.a,o,e.a,s):M7(e.a,s,t.a,o);else{if(0==(r=o!=s?o>s?1:-1:Alt(t.a,e.a,o)))return DNt(),ene;1==r?(d=a,h=f6(t.a,o,e.a,s)):(d=c,h=f6(e.a,s,t.a,o))}return U0(l=new uG(d,h.length,h)),l}function MVt(t,e,n,r,o,a,s){var c,l,u,h,d,f,g;return d=zv(_N(wxt(e,(zWt(),Sme)))),f=null,a==(oit(),$we)&&r.c.i==n?f=r.c:a==zwe&&r.d.i==n&&(f=r.d),(u=s)&&d&&!f?(Gz(u.e,r),g=i.Math.max(Vv(CN(wxt(u.d,rme))),Vv(CN(wxt(r,rme)))),lct(u.d,rme,g)):(vGt(),h=xDe,f?h=f.j:mB(jz(wxt(n,tbe),98))&&(h=a==$we?EDe:aDe),l=LVt(t,e,n,a,h,r),c=G4((mK(n),r)),a==$we?(AJ(c,jz(PH(l.j,0),11)),CJ(c,o)):(AJ(c,o),CJ(c,jz(PH(l.j,0),11))),u=new qht(r,c,l,jz(wxt(l,(lKt(),fde)),11),a,!f)),ZDt(t.a,r,new Bj(u.d,e,a)),u}function PVt(t,e){var n,i,r,o,a,s,c,l,u,h;if(u=null,t.d&&(u=jz(AQ(t.d,e),138)),!u){if(h=(o=t.a.Mh()).i,!t.d||MA(t.d)!=h){for(c=new Pb,t.d&&Cot(c,t.d),s=l=c.f.c+c.g.c;s0?(f=(g-1)*n,s&&(f+=i),u&&(f+=i),f=t.b[r+1])r+=2;else{if(!(n0)for(i=new JF(jz(c6(t.a,o),21)),AX(),bM(i,new Rg(e)),r=new C2(o.b,0);r.by)?(l=2,s=OKt):0==l?(l=1,s=C):(l=0,s=C):(f=C>=s||s-C<_,s=C,f&&--o)}while(!(f&&o<=0))}function XVt(t,e,n){var i,r,o,a,s,c,l,u,h,d,f,g;for(g=new Pb,o=t.a.ec().Kc();o.Ob();)WK(g,i=jz(o.Pb(),168),n.Je(i));for(wW(t),bM(a=t?new JF(t):$z(t.a.ec().Kc()),new yg(g)),s=A5(a),c=new EM(e),ySt((f=new Pb).f,e,c);0!=s.a.gc();){for(l=null,u=null,h=null,r=s.a.ec().Kc();r.Ob();)if(i=jz(r.Pb(),168),Vv(CN(zD(DZ(g.f,i))))<=NXt){if(cG(f,i.a)&&!cG(f,i.b)){u=i.b,h=i.a,l=i;break}if(cG(f,i.b)&&!cG(f,i.a)){u=i.a,h=i.b,l=i;break}}if(!l)break;d=new EM(u),Gz(jz(zD(DZ(f.f,h)),221).a,d),ySt(f.f,u,d),s.a.Bc(l)}return c}function ZVt(t,e,n){var i,r,o,a,s,c,l,u;for(DAt(n,"Depth-first cycle removal",1),c=(l=e.a).c.length,t.c=new Mb,t.d=P7(DLe,QZt,25,c,16,1),t.a=P7(DLe,QZt,25,c,16,1),t.b=new Mb,o=0,s=new Gf(l);s.a0?1:HI(isNaN(r),isNaN(0)))>=0^(iit(I3t),(i.Math.abs(c)<=I3t||0==c||isNaN(c)&&isNaN(0)?0:c<0?-1:c>0?1:HI(isNaN(c),isNaN(0)))>=0)?i.Math.max(c,r):(iit(I3t),(i.Math.abs(r)<=I3t||0==r||isNaN(r)&&isNaN(0)?0:r<0?-1:r>0?1:HI(isNaN(r),isNaN(0)))>0?i.Math.sqrt(c*c+r*r):-i.Math.sqrt(c*c+r*r))}function tHt(t,e){var n,i,r,o,a;if(e)if(!t.a&&(t.a=new Rw),2!=t.e)if(1!=e.e)0!=(a=t.a.a.c.length)?0!=(o=jz(hK(t.a,a-1),117)).e&&10!=o.e||0!=e.e&&10!=e.e?Ew(t.a,e):(0==e.e||e.bm().length,0==o.e?(n=new xy,(i=o._l())>=$Xt?iI(n,Gdt(i)):MW(n,i&YYt),o=new mQ(10,null,0),kG(t.a,o,a-1)):(o.bm().length,iI(n=new xy,o.bm())),0==e.e?(i=e._l())>=$Xt?iI(n,Gdt(i)):MW(n,i&YYt):iI(n,e.bm()),jz(o,521).b=n.a):Ew(t.a,e);else for(r=0;r0&&i>=-6?i>=0?kJ(o,n-EQ(t.e),String.fromCharCode(46)):(o.a=lO(o.a,0,e-1)+"0."+QD(o.a,e-1),kJ(o,e+1,$pt(Vee,0,-EQ(i)-1))):(n-e>=1&&(kJ(o,e,String.fromCharCode(46)),++n),kJ(o,n,String.fromCharCode(69)),i>0&&kJ(o,++n,String.fromCharCode(43)),kJ(o,++n,""+mU(uat(i)))),t.g=o.a,t.g))}function nHt(t,e,n){var i,r,o,a,s,c,l,u,h,d,f;if(!n.dc()){for(a=0,u=0,d=jz((i=n.Kc()).Pb(),19).a;a1&&(c=l.mg(c,t.a,s));return 1==c.c.length?jz(PH(c,c.c.length-1),220):2==c.c.length?jVt((u1(0,c.c.length),jz(c.c[0],220)),(u1(1,c.c.length),jz(c.c[1],220)),a,o):null}function aHt(t){var e,n,r,o,a,s;for(Det(t.a,new Jt),n=new Gf(t.a);n.a=i.Math.abs(r.b)?(r.b=0,a.d+a.a>s.d&&a.ds.c&&a.c0){if(e=new LD(t.i,t.g),o=(n=t.i)<100?null:new F_(n),t.ij())for(i=0;i0){for(s=t.g,l=t.i,r6(t),o=l<100?null:new F_(l),i=0;i>13|(15&t.m)<<9,r=t.m>>4&8191,o=t.m>>17|(255&t.h)<<5,a=(1048320&t.h)>>8,m=i*(s=8191&e.l),b=r*s,w=o*s,k=a*s,0!=(c=e.l>>13|(15&e.m)<<9)&&(m+=n*c,b+=i*c,w+=r*c,k+=o*c),0!=(l=e.m>>4&8191)&&(b+=n*l,w+=i*l,k+=r*l),0!=(u=e.m>>17|(255&e.h)<<5)&&(w+=n*u,k+=i*u),0!=(h=(1048320&e.h)>>8)&&(k+=n*h),f=((p=n*s)>>22)+(m>>9)+((262143&b)<<4)+((31&w)<<17),g=(b>>18)+(w>>5)+((4095&k)<<8),g+=(f+=(d=(p&xXt)+((511&m)<<13))>>22)>>22,CM(d&=xXt,f&=xXt,g&=EXt)}function hHt(t){var e,n,r,o,a,s,c;if(0!=(c=jz(PH(t.j,0),11)).g.c.length&&0!=c.e.c.length)throw $b(new Fv("Interactive layout does not support NORTH/SOUTH ports with incoming _and_ outgoing edges."));if(0!=c.g.c.length){for(a=NXt,n=new Gf(c.g);n.a4){if(!t.wj(e))return!1;if(t.rk()){if(s=(n=(i=jz(e,49)).Ug())==t.e&&(t.Dk()?i.Og(i.Vg(),t.zk())==t.Ak():-1-i.Vg()==t.aj()),t.Ek()&&!s&&!n&&i.Zg())for(r=0;r0&&(l=t.n.a/o);break;case 2:case 4:(r=t.i.o.b)>0&&(l=t.n.b/r)}lct(t,(lKt(),_de),l)}if(c=t.o,a=t.a,i)a.a=i.a,a.b=i.b,t.d=!0;else if(e!=KSe&&e!=YSe&&s!=xDe)switch(s.g){case 1:a.a=c.a/2;break;case 2:a.a=c.a,a.b=c.b/2;break;case 3:a.a=c.a/2,a.b=c.b;break;case 4:a.b=c.b/2}else a.a=c.a/2,a.b=c.b/2}function bHt(t){var e,n,i,r,o,a,s,c,l,u;if(t.ej())if(u=t.Vi(),c=t.fj(),u>0)if(e=new yot(t.Gi()),o=(n=u)<100?null:new F_(n),XN(t,n,e.g),r=1==n?t.Zi(4,Wet(e,0),null,0,c):t.Zi(6,e,null,-1,c),t.bj()){for(i=new DP(e);i.e!=i.i.gc();)o=t.dj(vbt(i),o);o?(o.Ei(r),o.Fi()):t.$i(r)}else o?(o.Ei(r),o.Fi()):t.$i(r);else XN(t,t.Vi(),t.Wi()),t.$i(t.Zi(6,(AX(),cne),null,-1,c));else if(t.bj())if((u=t.Vi())>0){for(s=t.Wi(),l=u,XN(t,u,s),o=l<100?null:new F_(l),i=0;it.d[r.p]&&(n+=Q5(t.b,i)*jz(a.b,19).a,f3(t.a,ndt(i)));for(;!Gv(t.a);)Ctt(t.b,jz(fG(t.a),19).a)}return n}function vHt(t,e,n,r){var o,a,s,c,l,u,h,d,f,g;for((h=new dB(jz(QBt(t,(xxt(),$xe)),8))).a=i.Math.max(h.a-n.b-n.c,0),h.b=i.Math.max(h.b-n.d-n.a,0),(null==(o=CN(QBt(t,Lxe)))||(kK(o),o<=0))&&(o=1.3),s=new Mb,d=new DP((!t.a&&(t.a=new tG(HIe,t,10,11)),t.a));d.e!=d.i.gc();)a=new HO(jz(vbt(d),33)),s.c[s.c.length]=a;switch(jz(QBt(t,Oxe),311).g){case 3:g=o$t(s,e,h.a,h.b,(l=r,kK(o),l));break;case 1:g=bzt(s,e,h.a,h.b,(u=r,kK(o),u));break;default:g=AHt(s,e,h.a,h.b,(c=r,kK(o),c))}RGt(t,(f=kWt(new Het(g),e,n,h.a,h.b,r,(kK(o),o))).a,f.b,!1,!0)}function yHt(t,e){var n,i,r,o;o=new JF((n=e.b).j),r=0,(i=n.j).c=P7(Ite,zKt,1,0,5,1),tW(jz(pat(t.b,(vGt(),sDe),(Trt(),Ole)),15),n),r=Zkt(o,r,new Or,i),tW(jz(pat(t.b,sDe,Lle),15),n),r=Zkt(o,r,new Lr,i),tW(jz(pat(t.b,sDe,Ple),15),n),tW(jz(pat(t.b,aDe,Ole),15),n),tW(jz(pat(t.b,aDe,Lle),15),n),r=Zkt(o,r,new Nr,i),tW(jz(pat(t.b,aDe,Ple),15),n),tW(jz(pat(t.b,ADe,Ole),15),n),r=Zkt(o,r,new Rr,i),tW(jz(pat(t.b,ADe,Lle),15),n),r=Zkt(o,r,new Fr,i),tW(jz(pat(t.b,ADe,Ple),15),n),tW(jz(pat(t.b,EDe,Ole),15),n),r=Zkt(o,r,new Xr,i),tW(jz(pat(t.b,EDe,Lle),15),n),tW(jz(pat(t.b,EDe,Ple),15),n)}function _Ht(t,e){var n,r,o,a,s,c,l,u,h,d,f,g,p,m;for(DAt(e,"Layer size calculation",1),h=NXt,u=RXt,o=!1,c=new Gf(t.b);c.a.5?b-=2*a*(g-.5):g<.5&&(b+=2*o*(.5-g)),b<(r=s.d.b)&&(b=r),p=s.d.c,b>m.a-p-u&&(b=m.a-p-u),s.n.a=e+b}}function AHt(t,e,n,i,r){var o,a,s,c,l,u,h,d,f;for(s=P7(MLe,VXt,25,t.c.length,15,1),nyt(d=new UU(new Ws),t),l=0,f=new Mb;0!=d.b.c.length;)if(a=jz(0==d.b.c.length?null:PH(d.b,0),157),l>1&&eq(a)*tq(a)/2>s[0]){for(o=0;os[o];)++o;h=new Het(new s1(f,0,o+1)),u=eq(a)/tq(a),c=kWt(h,e,new hk,n,i,r,u),qR(kI(h.e),c),F7(ext(d,h)),nyt(d,new s1(f,o+1,f.c.length)),f.c=P7(Ite,zKt,1,0,5,1),l=0,vq(s,s.length,0)}else null!=(0==d.b.c.length?null:PH(d.b,0))&&lrt(d,0),l>0&&(s[l]=s[l-1]),s[l]+=eq(a)*tq(a),++l,f.c[f.c.length]=a;return f}function xHt(t){var e,n,i;if((n=jz(wxt(t,(zWt(),kme)),163))==(Cft(),Fde)){for(e=new aU(ZP(uft(t).a.Kc(),new u));gBt(e);)if(!U4(jz(q4(e),17)))throw $b(new ny(E1t+pvt(t)+"' has its layer constraint set to FIRST_SEPARATE, but has at least one incoming edge. FIRST_SEPARATE nodes must not have incoming edges."))}else if(n==$de)for(i=new aU(ZP(hft(t).a.Kc(),new u));gBt(i);)if(!U4(jz(q4(i),17)))throw $b(new ny(E1t+pvt(t)+"' has its layer constraint set to LAST_SEPARATE, but has at least one outgoing edge. LAST_SEPARATE nodes must not have outgoing edges."))}function EHt(t,e){var n,i,r,o,a,s,c,l,u,h,d,f;for(DAt(e,"Label dummy removal",1),i=Vv(CN(wxt(t,(zWt(),vbe)))),r=Vv(CN(wxt(t,Abe))),c=jz(wxt(t,qpe),103),s=new Gf(t.b);s.a0&&hTt(t,s,u);for(r=new Gf(u);r.a>19&&(e=oct(e),c=!c),a=DPt(e),o=!1,r=!1,i=!1,t.h==TXt&&0==t.m&&0==t.l){if(r=!0,o=!0,-1!=a)return s=yBt(t,a),c&&Dct(s),n&&(hee=CM(0,0,0)),s;t=GI((U9(),dee)),i=!0,c=!c}else t.h>>19&&(o=!0,t=oct(t),i=!0,c=!c);return-1!=a?$ct(t,a,c,o,n):Ryt(t,e)<0?(n&&(hee=o?oct(t):CM(t.l,t.m,t.h)),CM(0,0,0)):ljt(i?t:CM(t.l,t.m,t.h),e,c,o,r,n)}function BHt(t,e){var n,i,r,o,a,s,c,l,u,h,d,f,g;if(t.e&&t.c.ce.f||e.g>t.f)){for(n=0,i=0,a=t.w.a.ec().Kc();a.Ob();)r=jz(a.Pb(),11),mut(Ict(Est(Vy(xxe,1),cYt,8,0,[r.i.n,r.n,r.a])).b,e.g,e.f)&&++n;for(s=t.r.a.ec().Kc();s.Ob();)r=jz(s.Pb(),11),mut(Ict(Est(Vy(xxe,1),cYt,8,0,[r.i.n,r.n,r.a])).b,e.g,e.f)&&--n;for(c=e.w.a.ec().Kc();c.Ob();)r=jz(c.Pb(),11),mut(Ict(Est(Vy(xxe,1),cYt,8,0,[r.i.n,r.n,r.a])).b,t.g,t.f)&&++i;for(o=e.r.a.ec().Kc();o.Ob();)r=jz(o.Pb(),11),mut(Ict(Est(Vy(xxe,1),cYt,8,0,[r.i.n,r.n,r.a])).b,t.g,t.f)&&--i;n=0)return r=gft(t,e.substr(1,o-1)),XGt(t,e.substr(o+1,s-(o+1)),r)}else{if(n=-1,null==_ee&&(_ee=new RegExp("\\d")),_ee.test(String.fromCharCode(a))&&(n=CF(e,XAt(46),s-1))>=0){i=jz(W4(t,Eet(t,e.substr(1,n-1)),!1),58),c=0;try{c=hjt(e.substr(n+1),FYt,OKt)}catch(t){throw iP(t=hst(t),127)?$b(new B9(t)):$b(t)}if(c=0)return n;switch(LK(j9(t,n))){case 2:if(bF("",Tht(t,n.Hj()).ne())){if(c=wMt(t,e,s=vY(j9(t,n)),kY(j9(t,n))))return c;for(a=0,l=(r=yFt(t,e)).gc();a1)throw $b(new Rv(S9t));for(u=oOt(t.e.Tg(),e),i=jz(t.g,119),a=0;a1,u=new b6(f.b);wM(u.a)||wM(u.b);)d=(l=jz(wM(u.a)?Q1(u.a):Q1(u.b),17)).c==f?l.d:l.c,i.Math.abs(Ict(Est(Vy(xxe,1),cYt,8,0,[d.i.n,d.n,d.a])).b-s.b)>1&&mOt(t,l,s,a,f)}}function qHt(t){var e,n,r,o,a,s;if(o=new C2(t.e,0),r=new C2(t.a,0),t.d)for(n=0;nO3t;){for(a=e,s=0;i.Math.abs(e-a)0),o.a.Xb(o.c=--o.b),O$t(t,t.b-s,a,r,o),xO(o.b0),r.a.Xb(r.c=--r.b)}if(!t.d)for(n=0;n0?(t.f[l.p]=d/(l.e.c.length+l.g.c.length),t.c=i.Math.min(t.c,t.f[l.p]),t.b=i.Math.max(t.b,t.f[l.p])):s&&(t.f[l.p]=d)}}function WHt(t){t.b=null,t.bb=null,t.fb=null,t.qb=null,t.a=null,t.c=null,t.d=null,t.e=null,t.f=null,t.n=null,t.M=null,t.L=null,t.Q=null,t.R=null,t.K=null,t.db=null,t.eb=null,t.g=null,t.i=null,t.j=null,t.k=null,t.gb=null,t.o=null,t.p=null,t.q=null,t.r=null,t.$=null,t.ib=null,t.S=null,t.T=null,t.t=null,t.s=null,t.u=null,t.v=null,t.w=null,t.B=null,t.A=null,t.C=null,t.D=null,t.F=null,t.G=null,t.H=null,t.I=null,t.J=null,t.P=null,t.Z=null,t.U=null,t.V=null,t.W=null,t.X=null,t.Y=null,t._=null,t.ab=null,t.cb=null,t.hb=null,t.nb=null,t.lb=null,t.mb=null,t.ob=null,t.pb=null,t.jb=null,t.kb=null,t.N=!1,t.O=!1}function KHt(t,e,n){var i,r;for(DAt(n,"Graph transformation ("+t.a+")",1),r=r0(e.a),i=new Gf(e.b);i.a0&&(t.a=s+(d-1)*r,e.c.b+=t.a,e.f.b+=t.a),0!=f.a.gc()&&(d=Iqt(new lW(1,r),e,f,g,e.f.b+s-e.c.b))>0&&(e.f.b+=s+(d-1)*r)}function XHt(t,e){var n,i,r,o;o=t.F,null==e?(t.F=null,Olt(t,null)):(t.F=(kK(e),e),-1!=(i=VI(e,XAt(60)))?(r=e.substr(0,i),-1==VI(e,XAt(46))&&!bF(r,BKt)&&!bF(r,x8t)&&!bF(r,E8t)&&!bF(r,T8t)&&!bF(r,S8t)&&!bF(r,D8t)&&!bF(r,I8t)&&!bF(r,B8t)&&(r=M8t),-1!=(n=bL(e,XAt(62)))&&(r+=""+e.substr(n+1)),Olt(t,r)):(r=e,-1==VI(e,XAt(46))&&(-1!=(i=VI(e,XAt(91)))&&(r=e.substr(0,i)),bF(r,BKt)||bF(r,x8t)||bF(r,E8t)||bF(r,T8t)||bF(r,S8t)||bF(r,D8t)||bF(r,I8t)||bF(r,B8t)?r=e:(r=M8t,-1!=i&&(r+=""+e.substr(i)))),Olt(t,r),r==e&&(t.F=t.D))),4&t.Db&&!(1&t.Db)&&dat(t,new QU(t,1,5,o,e))}function ZHt(t,e){var n,i,r,o,a,s,c,l,u,h,d,f,g,p,m,b,w,k;if(!((p=e.b.c.length)<3)){for(f=P7(SLe,lXt,25,p,15,1),h=0,u=new Gf(e.b);u.aa)&&_G(t.b,jz(m.b,17));++s}o=a}}}function QHt(t,e){var n;if(null==e||bF(e,qKt))return null;if(0==e.length&&t.k!=(ETt(),pxe))return null;switch(t.k.g){case 1:return wmt(e,o4t)?(cL(),bee):wmt(e,a4t)?(cL(),mee):null;case 2:try{return ndt(hjt(e,FYt,OKt))}catch(t){if(iP(t=hst(t),127))return null;throw $b(t)}case 4:try{return dEt(e)}catch(t){if(iP(t=hst(t),127))return null;throw $b(t)}case 3:return e;case 5:return iut(t),zDt(t,e);case 6:return iut(t),RMt(t,t.a,e);case 7:try{return(n=iBt(t)).Jf(e),n}catch(t){if(iP(t=hst(t),32))return null;throw $b(t)}default:throw $b(new Fv("Invalid type set for this layout option."))}}function JHt(t){var e,n,i,r,o,a,s;for(Ltt(),s=new Ww,n=new Gf(t);n.a=s.b.c)&&(s.b=e),(!s.c||e.c<=s.c.c)&&(s.d=s.c,s.c=e),(!s.e||e.d>=s.e.d)&&(s.e=e),(!s.f||e.d<=s.f.d)&&(s.f=e);return i=new Cbt((Ist(),Zae)),e2(t,ase,new Xv(Est(Vy(Xae,1),zKt,369,0,[i]))),a=new Cbt(tse),e2(t,ose,new Xv(Est(Vy(Xae,1),zKt,369,0,[a]))),r=new Cbt(Qae),e2(t,rse,new Xv(Est(Vy(Xae,1),zKt,369,0,[r]))),o=new Cbt(Jae),e2(t,ise,new Xv(Est(Vy(Xae,1),zKt,369,0,[o]))),LPt(i.c,Zae),LPt(r.c,Qae),LPt(o.c,Jae),LPt(a.c,tse),s.a.c=P7(Ite,zKt,1,0,5,1),pst(s.a,i.c),pst(s.a,eat(r.c)),pst(s.a,o.c),pst(s.a,eat(a.c)),s}function tqt(t){var e;switch(t.d){case 1:if(t.hj())return-2!=t.o;break;case 2:if(t.hj())return-2==t.o;break;case 3:case 5:case 4:case 6:case 7:return t.o>-2;default:return!1}switch(e=t.gj(),t.p){case 0:return null!=e&&zv(_N(e))!=XD(t.k,0);case 1:return null!=e&&jz(e,217).a!=fq(t.k)<<24>>24;case 2:return null!=e&&jz(e,172).a!=(fq(t.k)&YYt);case 6:return null!=e&&XD(jz(e,162).a,t.k);case 5:return null!=e&&jz(e,19).a!=fq(t.k);case 7:return null!=e&&jz(e,184).a!=fq(t.k)<<16>>16;case 3:return null!=e&&Vv(CN(e))!=t.j;case 4:return null!=e&&jz(e,155).a!=t.j;default:return null==e?null!=t.n:!Pht(e,t.n)}}function eqt(t,e,n){var i,r,o,a;return t.Fk()&&t.Ek()&&VD(a=VU(t,jz(n,56)))!==VD(n)?(t.Oi(e),t.Ui(e,j8(t,e,a)),t.rk()&&(r=jz(n,49),o=t.Dk()?t.Bk()?r.ih(t.b,Twt(jz(eet(vZ(t.b),t.aj()),18)).n,jz(eet(vZ(t.b),t.aj()).Yj(),26).Bj(),null):r.ih(t.b,Igt(r.Tg(),Twt(jz(eet(vZ(t.b),t.aj()),18))),null,null):r.ih(t.b,-1-t.aj(),null,null),!jz(a,49).eh()&&(i=jz(a,49),o=t.Dk()?t.Bk()?i.gh(t.b,Twt(jz(eet(vZ(t.b),t.aj()),18)).n,jz(eet(vZ(t.b),t.aj()).Yj(),26).Bj(),o):i.gh(t.b,Igt(i.Tg(),Twt(jz(eet(vZ(t.b),t.aj()),18))),null,o):i.gh(t.b,-1-t.aj(),null,o)),o&&o.Fi()),bB(t.b)&&t.$i(t.Zi(9,n,a,e,!1)),a):n}function nqt(t,e,n){var r,o,a,s,c,l,u,h,d,f,g,p,m,b,w,k,v,y;for(h=Vv(CN(wxt(t,(zWt(),ybe)))),r=Vv(CN(wxt(t,Obe))),lct(f=new Qs,ybe,h+r),w=(u=e).d,m=u.c.i,k=u.d.i,b=JI(m.c),v=JI(k.c),o=new Mb,d=b;d<=v;d++)Fd(c=new Bwt(t),(aEt(),xse)),lct(c,(lKt(),fde),u),lct(c,tbe,(YCt(),USe)),lct(c,Cbe,f),g=jz(PH(t.b,d),29),d==b?Yvt(c,g.a.c.length-n,g):xJ(c,g),(y=Vv(CN(wxt(u,rme))))<0&&lct(u,rme,y=0),c.o.b=y,p=i.Math.floor(y/2),VSt(s=new TEt,(vGt(),EDe)),EJ(s,c),s.n.b=p,VSt(l=new TEt,aDe),EJ(l,c),l.n.b=p,CJ(u,s),Vat(a=new dZ,u),lct(a,mme,null),AJ(a,l),CJ(a,w),qyt(c,u,a),o.c[o.c.length]=a,u=a;return o}function iqt(t,e){var n,i,r,o,a,s,c,l,u,h,d,f,g,p,m;for(s=jz(OEt(t,(vGt(),EDe)).Kc().Pb(),11).e,h=jz(OEt(t,aDe).Kc().Pb(),11).g,a=s.c.length,m=g1(jz(PH(t.j,0),11));a-- >0;){for(u1(0,s.c.length),f=jz(s.c[0],17),u1(0,h.c.length),r=y9((i=jz(h.c[0],17)).d.e,i,0),D2(f,i.d,r),AJ(i,null),CJ(i,null),d=f.a,e&&LV(d,new dB(m)),n=cbt(i.a,0);n.b!=n.d.c;)LV(d,new dB(jz(h3(n),8)));for(p=f.b,u=new Gf(i.b);u.a0&&(s=i.Math.max(s,hot(t.C.b+r.d.b,o))),h=r,d=o,f=a;t.C&&t.C.c>0&&(g=f+t.C.c,u&&(g+=h.d.c),s=i.Math.max(s,(cM(),iit(uQt),i.Math.abs(d-1)<=uQt||1==d||isNaN(d)&&isNaN(1)?0:g/(1-d)))),n.n.b=0,n.a.a=s}function oqt(t,e){var n,r,o,a,s,c,l,u,h,d,f,g;if(n=jz(aY(t.b,e),124),(l=jz(jz(c6(t.r,e),21),84)).dc())return n.n.d=0,void(n.n.a=0);for(u=t.u.Hc((hDt(),tDe)),s=0,t.A.Hc((wpt(),RDe))&&vRt(t,e),c=l.Kc(),h=null,f=0,d=0;c.Ob();)a=Vv(CN((r=jz(c.Pb(),111)).b.We((LL(),Bre)))),o=r.b.rf().b,h?(g=d+h.d.a+t.w+r.d.d,s=i.Math.max(s,(cM(),iit(uQt),i.Math.abs(f-a)<=uQt||f==a||isNaN(f)&&isNaN(a)?0:g/(a-f)))):t.C&&t.C.d>0&&(s=i.Math.max(s,hot(t.C.d+r.d.d,a))),h=r,f=a,d=o;t.C&&t.C.a>0&&(g=d+t.C.a,u&&(g+=h.d.a),s=i.Math.max(s,(cM(),iit(uQt),i.Math.abs(f-1)<=uQt||1==f||isNaN(f)&&isNaN(1)?0:g/(1-f)))),n.n.d=0,n.a.b=s}function aqt(t,e,n){var i,r,o,a,s,c;for(this.g=t,s=e.d.length,c=n.d.length,this.d=P7(Sse,o1t,10,s+c,0,1),a=0;a0?Zet(this,this.f/this.a):null!=uP(e.g,e.d[0]).a&&null!=uP(n.g,n.d[0]).a?Zet(this,(Vv(uP(e.g,e.d[0]).a)+Vv(uP(n.g,n.d[0]).a))/2):null!=uP(e.g,e.d[0]).a?Zet(this,uP(e.g,e.d[0]).a):null!=uP(n.g,n.d[0]).a&&Zet(this,uP(n.g,n.d[0]).a)}function sqt(t,e){var n,i,r,o,a,s,c,l,u;for(t.a=new jW(Bot(GTe)),i=new Gf(e.a);i.a=1&&(m-a>0&&h>=0?(c.n.a+=p,c.n.b+=o*a):m-a<0&&u>=0&&(c.n.a+=p*m,c.n.b+=o));t.o.a=e.a,t.o.b=e.b,lct(t,(zWt(),Fme),(wpt(),new YF(i=jz(W_(YDe),9),jz(AR(i,i.length),9),0)))}function fqt(t,e,n,i,r,o){if(null!=e&&Gft(e,SBe,DBe))throw $b(new Rv("invalid scheme: "+e));if(!(t||null!=n&&-1==VI(n,XAt(35))&&n.length>0&&(h1(0,n.length),47!=n.charCodeAt(0))))throw $b(new Rv("invalid opaquePart: "+n));if(t&&(null==e||!PA(kBe,e.toLowerCase()))&&null!=n&&Gft(n,IBe,BBe))throw $b(new Rv(s8t+n));if(t&&null!=e&&PA(kBe,e.toLowerCase())&&!TCt(n))throw $b(new Rv(s8t+n));if(!Uft(i))throw $b(new Rv("invalid device: "+i));if(!Nut(r))throw $b(new Rv(null==r?"invalid segments: null":"invalid segment: "+cut(r)));if(null!=o&&-1!=VI(o,XAt(35)))throw $b(new Rv("invalid query: "+o))}function gqt(t,e){var n,r,o,a,s,c,l,u,h,d,f,g,p,m,b,w;for(DAt(e,"Calculate Graph Size",1),e.n&&t&&w0(e,a2(t),($lt(),oIe)),c=QQt,l=QQt,a=J3t,s=J3t,d=new DP((!t.a&&(t.a=new tG(HIe,t,10,11)),t.a));d.e!=d.i.gc();)p=(u=jz(vbt(d),33)).i,m=u.j,w=u.g,r=u.f,o=jz(QBt(u,(cKt(),IEe)),142),c=i.Math.min(c,p-o.b),l=i.Math.min(l,m-o.d),a=i.Math.max(a,p+w+o.c),s=i.Math.max(s,m+r+o.a);for(f=new PS(c-(g=jz(QBt(t,(cKt(),UEe)),116)).b,l-g.d),h=new DP((!t.a&&(t.a=new tG(HIe,t,10,11)),t.a));h.e!=h.i.gc();)Ent(u=jz(vbt(h),33),u.i-f.a),Tnt(u,u.j-f.b);b=a-c+(g.b+g.c),n=s-l+(g.d+g.a),xnt(t,b),Ant(t,n),e.n&&t&&w0(e,a2(t),($lt(),oIe))}function pqt(t){var e,n,i,r,o,a,s,c,l,u;for(i=new Mb,a=new Gf(t.e.a);a.a0?(Ebt(t,n,0),n.a+=String.fromCharCode(i),Ebt(t,n,r=rmt(e,o)),o+=r-1):39==i?o+11)for(p=P7(SLe,lXt,25,t.b.b.c.length,15,1),h=0,u=new Gf(t.b.b);u.a=s&&r<=c)s<=r&&o<=c?(n[u++]=r,n[u++]=o,i+=2):s<=r?(n[u++]=r,n[u++]=c,t.b[i]=c+1,a+=2):o<=c?(n[u++]=s,n[u++]=o,i+=2):(n[u++]=s,n[u++]=c,t.b[i]=c+1);else{if(!(cRYt)&&c<10);Jy(t.c,new _e),kqt(t),TG(t.c),uqt(t.f)}function _qt(t,e,n){var i,r,o,a,s,c,l,u,h,d;if(zv(_N(wxt(n,(zWt(),dme)))))for(r=new Gf(n.j);r.a=2){for(a=jz(h3(c=cbt(n,0)),8),s=jz(h3(c),8);s.a0&&Ust(c,!0,(jht(),FTe)),a.k==(aEt(),Cse)&&dY(c),WK(t.f,a,e)):((l=(i=jz(eZ(lft(a)),17)).c.i)==a&&(l=i.d.i),h=new nD(l,UR(jM(a.n),l.n)),WK(t.b,a,h))}function Eqt(t,e,n){var r,o,a,s,c,l,u,h;switch(DAt(n,"Node promotion heuristic",1),t.g=e,kGt(t),t.q=jz(wxt(e,(zWt(),Ame)),260),h=jz(wxt(t.g,Cme),19).a,a=new ui,t.q.g){case 2:case 1:default:FVt(t,a);break;case 3:for(t.q=(cLt(),Swe),FVt(t,a),l=0,c=new Gf(t.a);c.at.j&&(t.q=_we,FVt(t,a));break;case 4:for(t.q=(cLt(),Swe),FVt(t,a),u=0,o=new Gf(t.b);o.at.k&&(t.q=xwe,FVt(t,a));break;case 6:FVt(t,new ap(EQ(i.Math.ceil(t.f.length*h/100))));break;case 5:FVt(t,new sp(EQ(i.Math.ceil(t.d*h/100))))}sNt(t,e),zEt(n)}function Tqt(t,e,n){var i,r,o,a;this.j=t,this.e=VCt(t),this.o=this.j.e,this.i=!!this.o,this.p=this.i?jz(PH(n,mK(this.o).p),214):null,r=jz(wxt(t,(lKt(),Zhe)),21),this.g=r.Hc((dNt(),uhe)),this.b=new Mb,this.d=new fpt(this.e),a=jz(wxt(this.j,Ade),230),this.q=zat(e,a,this.e),this.k=new rJ(this),o=o6(Est(Vy(vle,1),zKt,225,0,[this,this.d,this.k,this.q])),e!=(sit(),Ske)||zv(_N(wxt(t,(zWt(),Ppe))))?e==Ske&&zv(_N(wxt(t,(zWt(),Ppe))))?(i=new UCt(this.e),o.c[o.c.length]=i,this.c=new mrt(i,a,jz(this.q,402))):this.c=new mT(e,this):(i=new UCt(this.e),o.c[o.c.length]=i,this.c=new V2(i,a,jz(this.q,402))),Gz(o,this.c),TVt(o,this.e),this.s=fWt(this.k)}function Sqt(t,e){var n,i,r,o,a,s,c,l,u,h,d,f,g,p,m,b,w;for(d=(l=jz(eP(new dm(cbt(new hm(e).a.d,0))),86))?jz(wxt(l,(VHt(),iye)),86):null,r=1;l&&d;){for(a=0,w=0,n=l,i=d,o=0;o=t.i?(++t.i,Gz(t.a,ndt(1)),Gz(t.b,l)):(i=t.c[e.p][1],i4(t.a,c,ndt(jz(PH(t.a,c),19).a+1-i)),i4(t.b,c,Vv(CN(PH(t.b,c)))+l-i*t.e)),(t.q==(cLt(),_we)&&(jz(PH(t.a,c),19).a>t.j||jz(PH(t.a,c-1),19).a>t.j)||t.q==xwe&&(Vv(CN(PH(t.b,c)))>t.k||Vv(CN(PH(t.b,c-1)))>t.k))&&(s=!1),o=new aU(ZP(uft(e).a.Kc(),new u));gBt(o);)a=jz(q4(o),17).c.i,t.f[a.p]==c&&(r+=jz((h=Dqt(t,a)).a,19).a,s=s&&zv(_N(h.b)));return t.f[e.p]=c,new nD(ndt(r+=t.c[e.p][0]),(cL(),!!s))}function Iqt(t,e,n,r,o){var a,s,c,l,u,h,d,f,g,p,m,b,w;for(d=new Pb,s=new Mb,iDt(t,n,t.d.fg(),s,d),iDt(t,r,t.d.gg(),s,d),t.b=.2*(m=$Bt(dtt(new OH(null,new d1(s,16)),new Ta)),b=$Bt(dtt(new OH(null,new d1(s,16)),new Sa)),i.Math.min(m,b)),a=0,c=0;c=2&&(w=YPt(s,!0,f),!t.e&&(t.e=new um(t)),cmt(t.e,w,s,t.b)),nAt(s,f),rUt(s),g=-1,h=new Gf(s);h.as)}function Pqt(t,e){var n,r,o,a,s,c,l,u,h,d,f,g,p,m;for(n=jz(wxt(t,(zWt(),tbe)),98),s=t.f,a=t.d,c=s.a+a.b+a.c,l=0-a.d-t.c.b,h=s.b+a.d+a.a-t.c.b,u=new Mb,d=new Mb,o=new Gf(e);o.a0),o=jz(l.a.Xb(l.c=--l.b),17);o!=i&&l.b>0;)t.a[o.p]=!0,t.a[i.p]=!0,xO(l.b>0),o=jz(l.a.Xb(l.c=--l.b),17);l.b>0&&lK(l)}}function Vqt(t,e,n){var i,r,o,a,s,c,l,u,h;if(t.a!=e.Aj())throw $b(new Rv(g6t+e.ne()+p6t));if(i=Tht((STt(),XMe),e).$k())return i.Aj().Nh().Ih(i,n);if(a=Tht(XMe,e).al()){if(null==n)return null;if((s=jz(n,15)).dc())return"";for(h=new Ay,o=s.Kc();o.Ob();)r=o.Pb(),iI(h,a.Aj().Nh().Ih(a,r)),h.a+=" ";return NI(h,h.a.length-1)}if(!(u=Tht(XMe,e).bl()).dc()){for(l=u.Kc();l.Ob();)if((c=jz(l.Pb(),148)).wj(n))try{if(null!=(h=c.Aj().Nh().Ih(c,n)))return h}catch(t){if(!iP(t=hst(t),102))throw $b(t)}throw $b(new Rv("Invalid value: '"+n+"' for datatype :"+e.ne()))}return jz(e,834).Fj(),null==n?null:iP(n,172)?""+jz(n,172).a:tlt(n)==wee?$M(TIe[0],jz(n,199)):$ft(n)}function Hqt(t){var e,n,r,o,a,s,c,l,u;for(l=new YA,s=new YA,o=new Gf(t);o.a-1){for(r=cbt(s,0);r.b!=r.d.c;)(n=jz(h3(r),128)).v=a;for(;0!=s.b;)for(e=new Gf((n=jz(tyt(s,0),128)).i);e.a0&&(n+=c.n.a+c.o.a/2,++h),f=new Gf(c.j);f.a0&&(n/=h),m=P7(MLe,VXt,25,i.a.c.length,15,1),s=0,l=new Gf(i.a);l.a=s&&r<=c)s<=r&&o<=c?i+=2:s<=r?(t.b[i]=c+1,a+=2):o<=c?(n[u++]=r,n[u++]=s-1,i+=2):(n[u++]=r,n[u++]=s-1,t.b[i]=c+1,a+=2);else{if(!(c0?r-=864e5:r+=864e5,c=new xN(ift(uat(e.q.getTime()),r))),u=new Ty,l=t.a.length,o=0;o=97&&i<=122||i>=65&&i<=90){for(a=o+1;a=l)throw $b(new Rv("Missing trailing '"));a+10&&0==n.c&&(!e&&(e=new Mb),e.c[e.c.length]=n);if(e)for(;0!=e.c.length;){if((n=jz(s6(e,0),233)).b&&n.b.c.length>0)for(!n.b&&(n.b=new Mb),o=new Gf(n.b);o.ay9(t,n,0))return new nD(r,n)}else if(Vv(uP(r.g,r.d[0]).a)>Vv(uP(n.g,n.d[0]).a))return new nD(r,n);for(s=(!n.e&&(n.e=new Mb),n.e).Kc();s.Ob();)!(a=jz(s.Pb(),233)).b&&(a.b=new Mb),BJ(0,(c=a.b).c.length),CE(c.c,0,n),a.c==c.c.length&&(e.c[e.c.length]=a)}return null}function nUt(t,e){var n,i,r,o,a,s;if(null==t)return qKt;if(null!=e.a.zc(t,e))return"[...]";for(n=new Bat(jKt,"[","]"),o=0,a=(r=t).length;o=14&&s<=16?iP(i,177)?h6(n,NSt(jz(i,177))):iP(i,190)?h6(n,ZCt(jz(i,190))):iP(i,195)?h6(n,vEt(jz(i,195))):iP(i,2012)?h6(n,QCt(jz(i,2012))):iP(i,48)?h6(n,OSt(jz(i,48))):iP(i,364)?h6(n,pDt(jz(i,364))):iP(i,832)?h6(n,LSt(jz(i,832))):iP(i,104)&&h6(n,PSt(jz(i,104))):e.a._b(i)?(n.a?aI(n.a,n.b):n.a=new uL(n.d),rI(n.a,"[...]")):h6(n,nUt(ent(i),new IH(e))):h6(n,null==i?qKt:$ft(i));return n.a?0==n.e.length?n.a.a:n.a.a+""+n.e:n.c}function iUt(t,e,n,r){var o,a,s,c,l,u,h,d,f,g,p,m;for(g=VEt(rNt(e,!1,!1)),r&&(g=Zct(g)),m=Vv(CN(QBt(e,(_bt(),poe)))),xO(0!=g.b),f=jz(g.a.a.c,8),u=jz(Obt(g,1),8),g.b>2?(pst(l=new Mb,new s1(g,1,g.b)),Vat(p=new _Bt(GWt(l,m+t.a)),e),n.c[n.c.length]=p):p=jz(OW(t.b,r?Ext(e):Dxt(e)),266),s=Ext(e),r&&(s=Dxt(e)),a=nTt(f,s),c=m+t.a,a.a?(c+=i.Math.abs(f.b-u.b),d=new PS(u.a,(u.b+f.b)/2)):(c+=i.Math.abs(f.a-u.a),d=new PS((u.a+f.a)/2,u.b)),WK(r?t.d:t.c,e,new Skt(p,a,d,c)),WK(t.b,e,p),!e.n&&(e.n=new tG(VIe,e,1,7)),h=new DP(e.n);h.e!=h.i.gc();)o=ZRt(t,jz(vbt(h),137),!0,0,0),n.c[n.c.length]=o}function rUt(t){var e,n,r,o,a,s,c,l,u;for(l=new Mb,s=new Mb,a=new Gf(t);a.a-1){for(o=new Gf(s);o.a0||(Kd(c,i.Math.min(c.o,r.o-1)),Wd(c,c.i-1),0==c.i&&(s.c[s.c.length]=c))}}function oUt(t,e,n){var i,r,o,a,s;if(s=t.c,!e&&(e=IMe),t.c=e,4&t.Db&&!(1&t.Db)&&(a=new QU(t,1,2,s,t.c),n?n.Ei(a):n=a),s!=e)if(iP(t.Cb,284))t.Db>>16==-10?n=jz(t.Cb,284).nk(e,n):t.Db>>16==-15&&(!e&&(pKt(),e=lMe),!s&&(pKt(),s=lMe),t.Cb.nh()&&(a=new M9(t.Cb,1,13,s,e,awt($9(jz(t.Cb,59)),t),!1),n?n.Ei(a):n=a));else if(iP(t.Cb,88))t.Db>>16==-23&&(iP(e,88)||(pKt(),e=dMe),iP(s,88)||(pKt(),s=dMe),t.Cb.nh()&&(a=new M9(t.Cb,1,10,s,e,awt(r5(jz(t.Cb,26)),t),!1),n?n.Ei(a):n=a));else if(iP(t.Cb,444))for(!(o=jz(t.Cb,836)).b&&(o.b=new _b(new Pk)),r=new Cb(new alt(new xf(o.b.a).a));r.a.b;)n=oUt(i=jz(tnt(r.a).cd(),87),vPt(i,o),n);return n}function aUt(t,e){var n,i,r,o,a,s,c,l,u,h,d;for(a=zv(_N(QBt(t,(zWt(),dme)))),d=jz(QBt(t,ibe),21),c=!1,l=!1,h=new DP((!t.c&&(t.c=new tG(qIe,t,9,9)),t.c));!(h.e==h.i.gc()||c&&l);){for(o=jz(vbt(h),118),s=0,r=MG(Wnt(Est(Vy(Lte,1),zKt,20,0,[(!o.d&&(o.d=new cF(NIe,o,8,5)),o.d),(!o.e&&(o.e=new cF(NIe,o,7,4)),o.e)])));gBt(r)&&(i=jz(q4(r),79),u=a&&YDt(i)&&zv(_N(QBt(i,fme))),n=dHt((!i.b&&(i.b=new cF(OIe,i,4,7)),i.b),o)?t==XQ(EAt(jz(Wet((!i.c&&(i.c=new cF(OIe,i,5,8)),i.c),0),82))):t==XQ(EAt(jz(Wet((!i.b&&(i.b=new cF(OIe,i,4,7)),i.b),0),82))),!((u||n)&&++s>1)););(s>0||d.Hc((hDt(),tDe))&&(!o.n&&(o.n=new tG(VIe,o,1,7)),o.n).i>0)&&(c=!0),s>1&&(l=!0)}c&&e.Fc((dNt(),uhe)),l&&e.Fc((dNt(),hhe))}function sUt(t){var e,n,r,o,a,s,c,l,u,h,d,f;if((f=jz(QBt(t,(cKt(),NEe)),21)).dc())return null;if(c=0,s=0,f.Hc((wpt(),NDe))){for(h=jz(QBt(t,oTe),98),r=2,n=2,o=2,a=2,e=XQ(t)?jz(QBt(XQ(t),hEe),103):jz(QBt(t,hEe),103),u=new DP((!t.c&&(t.c=new tG(qIe,t,9,9)),t.c));u.e!=u.i.gc();)if(l=jz(vbt(u),118),(d=jz(QBt(l,dTe),61))==(vGt(),xDe)&&(d=D$t(l,e),Xbt(l,dTe,d)),h==(YCt(),USe))switch(d.g){case 1:r=i.Math.max(r,l.i+l.g);break;case 2:n=i.Math.max(n,l.j+l.f);break;case 3:o=i.Math.max(o,l.i+l.g);break;case 4:a=i.Math.max(a,l.j+l.f)}else switch(d.g){case 1:r+=l.g+2;break;case 2:n+=l.f+2;break;case 3:o+=l.g+2;break;case 4:a+=l.f+2}c=i.Math.max(r,o),s=i.Math.max(n,a)}return RGt(t,c,s,!0,!0)}function cUt(t,e,n,r,o){var a,s,c,l,u,h,d,f,g,p,m,b,w,k,v,y;for(k=jz(x5(ket(DY(new OH(null,new d1(e.d,16)),new Ip(n)),new Bp(n)),b8(new V,new z,new it,Est(Vy(Qne,1),BYt,132,0,[(Vlt(),qne)]))),15),d=OKt,h=FYt,l=new Gf(e.b.j);l.a0)?l&&(u=p.p,a?++u:--u,h=!(rLt(i=nct(jz(PH(p.c.a,u),10)),v,n[0])||jU(i,v,n[0]))):h=!0),d=!1,(k=e.D.i)&&k.c&&s.e&&(a&&k.p>0||!a&&k.p0&&(e.a+=jKt),pUt(jz(vbt(a),160),e);for(e.a+=e1t,s=new iO((!i.c&&(i.c=new cF(OIe,i,5,8)),i.c));s.e!=s.i.gc();)s.e>0&&(e.a+=jKt),pUt(jz(vbt(s),160),e);e.a+=")"}}}function mUt(t,e,n){var i,r,o,a,s,c,l,u,h,d,f;if(o=jz(wxt(t,(lKt(),fde)),79)){for(i=t.a,qR(r=new dB(n),B_t(t)),fat(t.d.i,t.c.i)?(d=t.c,UR(h=Ict(Est(Vy(xxe,1),cYt,8,0,[d.n,d.a])),n)):h=g1(t.c),n4(i,h,i.a,i.a.a),f=g1(t.d),null!=wxt(t,Ode)&&qR(f,jz(wxt(t,Ode),8)),n4(i,f,i.c.b,i.c),Qet(i,r),Mit(a=rNt(o,!0,!0),jz(Wet((!o.b&&(o.b=new cF(OIe,o,4,7)),o.b),0),82)),Pit(a,jz(Wet((!o.c&&(o.c=new cF(OIe,o,5,8)),o.c),0),82)),K$t(i,a),u=new Gf(t.b);u.a=0){for(c=null,s=new C2(u.a,l+1);s.ba?1:HI(isNaN(0),isNaN(a)))<0&&(iit(I3t),(i.Math.abs(a-1)<=I3t||1==a||isNaN(a)&&isNaN(1)?0:a<1?-1:a>1?1:HI(isNaN(a),isNaN(1)))<0)&&(iit(I3t),(i.Math.abs(0-s)<=I3t||0==s||isNaN(0)&&isNaN(s)?0:0s?1:HI(isNaN(0),isNaN(s)))<0)&&(iit(I3t),(i.Math.abs(s-1)<=I3t||1==s||isNaN(s)&&isNaN(1)?0:s<1?-1:s>1?1:HI(isNaN(s),isNaN(1)))<0))}function kUt(t){var e,n,i,r,o,a,s,c,l,u,h,d,f,g,p,m,b,w,k,v,y,_;for(h=new cK(new eg(t));h.b!=h.c.a.d;)for(s=jz((u=s8(h)).d,56),e=jz(u.e,56),p=0,v=(null==(a=s.Tg()).i&&V$t(a),a.i).length;p=0&&p=l.c.c.length?U3((aEt(),Ese),xse):U3((aEt(),xse),xse),u*=2,o=n.a.g,n.a.g=i.Math.max(o,o+(u-o)),a=n.b.g,n.b.g=i.Math.max(a,a+(u-a)),r=e}else qBt(s),IVt((u1(0,s.c.length),jz(s.c[0],17)).d.i)||Gz(t.o,s)}function _Ut(t,e,n,i,r){var o,a,s,c,l,u,h,d,f,g,p,m,b,w,k;for(k=Vz(t),c=new Mb,l=(o=t.c.length)-1,u=o+1;0!=k.a.c;){for(;0!=n.b;)xO(0!=n.b),b=jz(Iet(n,n.a.a),112),IQ(k.a,b),b.g=l--,P$t(b,e,n,i);for(;0!=e.b;)xO(0!=e.b),w=jz(Iet(e,e.a.a),112),IQ(k.a,w),w.g=u++,P$t(w,e,n,i);for(s=FYt,p=new Ff(new jR(new PL(new Rf(k.a).a).b));rE(p.a.a);){if(g=jz(bO(p.a).cd(),112),!i&&g.b>0&&g.a<=0){c.c=P7(Ite,zKt,1,0,5,1),c.c[c.c.length]=g;break}(f=g.i-g.d)>=s&&(f>s&&(c.c=P7(Ite,zKt,1,0,5,1),s=f),c.c[c.c.length]=g)}0!=c.c.length&&(a=jz(PH(c,mwt(r,c.c.length)),112),IQ(k.a,a),a.g=u++,P$t(a,e,n,i),c.c=P7(Ite,zKt,1,0,5,1))}for(m=t.c.length+1,d=new Gf(t);d.a0&&(f.d+=h.n.d,f.d+=h.d),f.a>0&&(f.a+=h.n.a,f.a+=h.d),f.b>0&&(f.b+=h.n.b,f.b+=h.d),f.c>0&&(f.c+=h.n.c,f.c+=h.d),f}function TUt(t,e,n){var r,o,a,s,c,l,u,h,d,f,g,p;for(f=n.d,d=n.c,s=(a=new PS(n.f.a+n.d.b+n.d.c,n.f.b+n.d.d+n.d.a)).b,u=new Gf(t.a);u.a0&&(t.c[e.c.p][e.p].d+=zMt(t.i,24)*aZt*.07000000029802322-.03500000014901161,t.c[e.c.p][e.p].a=t.c[e.c.p][e.p].d/t.c[e.c.p][e.p].b)}}function OUt(t){var e,n,i,r,o,a,s,c,l,u,h,d,f,g;for(d=new Gf(t);d.ar.d,r.d=i.Math.max(r.d,e),c&&n&&(r.d=i.Math.max(r.d,r.a),r.a=r.d+o);break;case 3:n=e>r.a,r.a=i.Math.max(r.a,e),c&&n&&(r.a=i.Math.max(r.a,r.d),r.d=r.a+o);break;case 2:n=e>r.c,r.c=i.Math.max(r.c,e),c&&n&&(r.c=i.Math.max(r.b,r.c),r.b=r.c+o);break;case 4:n=e>r.b,r.b=i.Math.max(r.b,e),c&&n&&(r.b=i.Math.max(r.b,r.c),r.c=r.b+o)}}}function jUt(t){var e,n,i,r,o,a,s,c,l,u,h;for(l=new Gf(t);l.a0||u.j==EDe&&u.e.c.length-u.g.c.length<0)){e=!1;break}for(r=new Gf(u.g);r.a=u&&_>=b&&(f+=p.n.b+m.n.b+m.a.b-y,++c));if(n)for(s=new Gf(k.e);s.a=u&&_>=b&&(f+=p.n.b+m.n.b+m.a.b-y,++c))}c>0&&(C+=f/c,++g)}g>0?(e.a=o*C/g,e.g=g):(e.a=0,e.g=0)}function zUt(t,e){var n,i,r,o,a,s,c,l,u,h;for(i=new Gf(t.a.b);i.aRXt||e.o==nve&&l0&&Ent(b,v*_),y>0&&Tnt(b,y*C);for(Jot(t.b,new he),e=new Mb,s=new alt(new xf(t.c).a);s.b;)i=jz((a=tnt(s)).cd(),79),n=jz(a.dd(),395).a,r=rNt(i,!1,!1),K$t(h=hAt(Ext(i),VEt(r),n),r),(k=Txt(i))&&-1==y9(e,k,0)&&(e.c[e.c.length]=k,sX(k,(xO(0!=h.b),jz(h.a.a.c,8)),n));for(m=new alt(new xf(t.d).a);m.b;)i=jz((p=tnt(m)).cd(),79),n=jz(p.dd(),395).a,r=rNt(i,!1,!1),h=hAt(Dxt(i),Zct(VEt(r)),n),K$t(h=Zct(h),r),(k=Sxt(i))&&-1==y9(e,k,0)&&(e.c[e.c.length]=k,sX(k,(xO(0!=h.b),jz(h.c.b.c,8)),n))}function GUt(t,e,n,r){var o,a,s,c,l,u,h,d,f,g,p,m,b,w,k,v,y,_,C;if(0!=n.c.length){for(g=new Mb,f=new Gf(n);f.a1)for(t4(k,new sS(t,f=new lHt(g,k,r))),s.c[s.c.length]=f,h=k.a.ec().Kc();h.Ob();)w9(a,jz(h.Pb(),46).b);if(c.a.gc()>1)for(t4(c,new cS(t,f=new lHt(g,c,r))),s.c[s.c.length]=f,h=c.a.ec().Kc();h.Ob();)w9(a,jz(h.Pb(),46).b)}}function tGt(t){Mx(t,new AAt(f_(m_(d_(p_(g_(new ms,f5t),"ELK Radial"),'A radial layout provider which is based on the algorithm of Peter Eades published in "Drawing free trees.", published by International Institute for Advanced Study of Social Information Science, Fujitsu Limited in 1991. The radial layouter takes a tree and places the nodes in radial order around the root. The nodes of the same tree level are placed on the same radius.'),new Ha),f5t))),o2(t,f5t,p3t,wbt(P_e)),o2(t,f5t,bJt,wbt(N_e)),o2(t,f5t,EJt,wbt(E_e)),o2(t,f5t,$Jt,wbt(T_e)),o2(t,f5t,xJt,wbt(S_e)),o2(t,f5t,TJt,wbt(x_e)),o2(t,f5t,AJt,wbt(D_e)),o2(t,f5t,SJt,wbt(M_e)),o2(t,f5t,l5t,wbt(C_e)),o2(t,f5t,c5t,wbt(A_e)),o2(t,f5t,d5t,wbt(I_e)),o2(t,f5t,a5t,wbt(B_e)),o2(t,f5t,s5t,wbt(L_e)),o2(t,f5t,u5t,wbt(O_e)),o2(t,f5t,h5t,wbt(R_e))}function eGt(t){var e;if(this.r=PY(new Et,new Tt),this.b=new zft(jz(wW(FDe),290)),this.p=new zft(jz(wW(FDe),290)),this.i=new zft(jz(wW(Nre),290)),this.e=t,this.o=new dB(t.rf()),this.D=t.Df()||zv(_N(t.We((cKt(),AEe)))),this.A=jz(t.We((cKt(),NEe)),21),this.B=jz(t.We(zEe),21),this.q=jz(t.We(oTe),98),this.u=jz(t.We(lTe),21),!fxt(this.u))throw $b(new ny("Invalid port label placement: "+this.u));if(this.v=zv(_N(t.We(hTe))),this.j=jz(t.We(LEe),21),!tPt(this.j))throw $b(new ny("Invalid node label placement: "+this.j));this.n=jz(Jvt(t,MEe),116),this.k=Vv(CN(Jvt(t,STe))),this.d=Vv(CN(Jvt(t,TTe))),this.w=Vv(CN(Jvt(t,OTe))),this.s=Vv(CN(Jvt(t,DTe))),this.t=Vv(CN(Jvt(t,ITe))),this.C=jz(Jvt(t,PTe),142),this.c=2*this.d,e=!this.B.Hc((JFt(),$De)),this.f=new Smt(0,e,0),this.g=new Smt(1,e,0),vv(this.f,(Oet(),Hie),this.g)}function nGt(t,e,n,r,o){var a,s,c,l,h,d,f,g,p,m,b,w,k,v,y,_,C,A,x,E;for(v=0,m=0,p=0,g=1,k=new DP((!t.a&&(t.a=new tG(HIe,t,10,11)),t.a));k.e!=k.i.gc();)g+=F3(new aU(ZP(gPt(b=jz(vbt(k),33)).a.Kc(),new u))),A=b.g,m=i.Math.max(m,A),f=b.f,p=i.Math.max(p,f),v+=A*f;for(s=v+2*r*r*g*(!t.a&&(t.a=new tG(HIe,t,10,11)),t.a).i,a=i.Math.sqrt(s),l=i.Math.max(a*n,m),c=i.Math.max(a/n,p),w=new DP((!t.a&&(t.a=new tG(HIe,t,10,11)),t.a));w.e!=w.i.gc();)b=jz(vbt(w),33),x=o.b+(zMt(e,26)*iZt+zMt(e,27)*rZt)*(l-b.g),E=o.b+(zMt(e,26)*iZt+zMt(e,27)*rZt)*(c-b.f),Ent(b,x),Tnt(b,E);for(C=l+(o.b+o.c),_=c+(o.d+o.a),y=new DP((!t.a&&(t.a=new tG(HIe,t,10,11)),t.a));y.e!=y.i.gc();)for(d=new aU(ZP(gPt(jz(vbt(y),33)).a.Kc(),new u));gBt(d);)JIt(h=jz(q4(d),79))||$Wt(h,e,C,_);RGt(t,C+=o.b+o.c,_+=o.d+o.a,!1,!0)}function iGt(t){var e,n,i,r,o,a,s,c,l,u,h;if(null==t)throw $b(new Cy(qKt));if(l=t,c=!1,(o=t.length)>0&&(h1(0,t.length),45!=(e=t.charCodeAt(0))&&43!=e||(t=t.substr(1),--o,c=45==e)),0==o)throw $b(new Cy(OXt+l+'"'));for(;t.length>0&&(h1(0,t.length),48==t.charCodeAt(0));)t=t.substr(1),--o;if(o>(n$t(),Lee)[10])throw $b(new Cy(OXt+l+'"'));for(r=0;r0&&(h=-parseInt(t.substr(0,i),10),t=t.substr(i),o-=i,n=!1);o>=a;){if(i=parseInt(t.substr(0,a),10),t=t.substr(a),o-=a,n)n=!1;else{if(Kut(h,s)<0)throw $b(new Cy(OXt+l+'"'));h=rft(h,u)}h=nft(h,i)}if(Kut(h,0)>0)throw $b(new Cy(OXt+l+'"'));if(!c&&Kut(h=v9(h),0)<0)throw $b(new Cy(OXt+l+'"'));return h}function rGt(t,e){var n,i,r,o,a,s,c;if(ZV(),this.a=new UM(this),this.b=t,this.c=e,this.f=SG(j9((STt(),XMe),e)),this.f.dc())if((s=w_t(XMe,t))==e)for(this.e=!0,this.d=new Mb,this.f=new dc,this.f.Fc(x9t),jz(PVt(F9(XMe,Uet(t)),""),26)==t&&this.f.Fc(rU(XMe,Uet(t))),r=_Ft(XMe,t).Kc();r.Ob();)switch(i=jz(r.Pb(),170),LK(j9(XMe,i))){case 4:this.d.Fc(i);break;case 5:this.f.Gc(SG(j9(XMe,i)))}else if(Zx(),jz(e,66).Oj())for(this.e=!0,this.f=null,this.d=new Mb,a=0,c=(null==t.i&&V$t(t),t.i).length;a=0&&a0&&(jz(aY(t.b,e),124).a.b=n)}function aGt(t,e){var n,i,r,o,a,s,c,l,u,h,d,f,g,p,m;for(DAt(e,"Comment pre-processing",1),n=0,c=new Gf(t.a);c.a0&&(h1(0,e.length),64!=(s=e.charCodeAt(0)))){if(37==s&&(c=!1,0!=(u=e.lastIndexOf("%"))&&(u==h-1||(h1(u+1,e.length),c=46==e.charCodeAt(u+1))))){if(w=bF("%",a=e.substr(1,u-1))?null:BGt(a),i=0,c)try{i=hjt(e.substr(u+2),FYt,OKt)}catch(t){throw iP(t=hst(t),127)?$b(new B9(t)):$b(t)}for(p=_rt(t.Wg());p.Ob();)if(iP(f=Aat(p),510)&&(b=(r=jz(f,590)).d,(null==w?null==b:bF(w,b))&&0==i--))return r;return null}if(d=-1==(l=e.lastIndexOf("."))?e:e.substr(0,l),n=0,-1!=l)try{n=hjt(e.substr(l+1),FYt,OKt)}catch(t){if(!iP(t=hst(t),127))throw $b(t);d=e}for(d=bF("%",d)?null:BGt(d),g=_rt(t.Wg());g.Ob();)if(iP(f=Aat(g),191)&&(m=(o=jz(f,191)).ne(),(null==d?null==m:bF(d,m))&&0==n--))return o;return null}return FHt(t,e)}function uGt(t){var e,n,i,r,o,a,s,c,l,u,h,d,f,g,p,m,b,w,k,v,y,_,C,A;for(k=new Mb,h=new Gf(t.b);h.a=t.length)return{done:!0};var i=t[n++];return{value:[i,e.get(i)],done:!1}}}},qNt()||(t.prototype.createObject=function(){return{}},t.prototype.get=function(t){return this.obj[":"+t]},t.prototype.set=function(t,e){this.obj[":"+t]=e},t.prototype[nZt]=function(t){delete this.obj[":"+t]},t.prototype.keys=function(){var t=[];for(var e in this.obj)58==e.charCodeAt(0)&&t.push(e.substring(1));return t}),t}function fGt(t){var e,n,i,r,o,a,s,c,l,u,h,d,f,g,p;if(E$t(),null==t)return null;if(0==(h=8*t.length))return"";for(d=h/24|0,o=null,o=P7(TLe,WYt,25,4*(0!=(s=h%24)?d+1:d),15,1),l=0,u=0,e=0,n=0,i=0,a=0,r=0,c=0;c>24,l=(3&e)<<24>>24,f=-128&e?(e>>2^192)<<24>>24:e>>2<<24>>24,g=-128&n?(n>>4^240)<<24>>24:n>>4<<24>>24,p=-128&(i=t[r++])?(i>>6^252)<<24>>24:i>>6<<24>>24,o[a++]=GPe[f],o[a++]=GPe[g|l<<4],o[a++]=GPe[u<<2|p],o[a++]=GPe[63&i];return 8==s?(l=(3&(e=t[r]))<<24>>24,f=-128&e?(e>>2^192)<<24>>24:e>>2<<24>>24,o[a++]=GPe[f],o[a++]=GPe[l<<4],o[a++]=61,o[a++]=61):16==s&&(e=t[r],u=(15&(n=t[r+1]))<<24>>24,l=(3&e)<<24>>24,f=-128&e?(e>>2^192)<<24>>24:e>>2<<24>>24,g=-128&n?(n>>4^240)<<24>>24:n>>4<<24>>24,o[a++]=GPe[f],o[a++]=GPe[g|l<<4],o[a++]=GPe[u<<2],o[a++]=61),$pt(o,0,o.length)}function gGt(t,e){var n,r,o,a,s,c;if(0==t.e&&t.p>0&&(t.p=-(t.p-1)),t.p>FYt&&t5(e,t.p-cXt),s=e.q.getDate(),FQ(e,1),t.k>=0&&mJ(e,t.k),t.c>=0?FQ(e,t.c):t.k>=0?(r=35-new bct(e.q.getFullYear()-cXt,e.q.getMonth(),35).q.getDate(),FQ(e,i.Math.min(r,s))):FQ(e,s),t.f<0&&(t.f=e.q.getHours()),t.b>0&&t.f<12&&(t.f+=12),rP(e,24==t.f&&t.g?0:t.f),t.j>=0&&g6(e,t.j),t.n>=0&&q7(e,t.n),t.i>=0&&fI(e,ift(rft(D_t(uat(e.q.getTime()),KYt),KYt),t.i)),t.a&&(t5(o=new DA,o.q.getFullYear()-cXt-80),sE(uat(e.q.getTime()),uat(o.q.getTime()))&&t5(e,o.q.getFullYear()-cXt+100)),t.d>=0)if(-1==t.c)(n=(7+t.d-e.q.getDay())%7)>3&&(n-=7),c=e.q.getMonth(),FQ(e,e.q.getDate()+n),e.q.getMonth()!=c&&FQ(e,e.q.getDate()+(n>0?-7:7));else if(e.q.getDay()!=t.d)return!1;return t.o>FYt&&(a=e.q.getTimezoneOffset(),fI(e,ift(uat(e.q.getTime()),60*(t.o-a)*KYt))),!0}function pGt(t,e){var n,i,r,o,a,s,c,l,u,h,d,f,g,p,m,b;if(iP(r=wxt(e,(lKt(),fde)),239)){for(f=jz(r,33),g=e.e,h=new dB(e.c),o=e.d,h.a+=o.b,h.b+=o.d,AL(jz(QBt(f,(zWt(),zme)),174),(JFt(),zDe))&&(Td(d=jz(QBt(f,Hme),116),o.a),Nd(d,o.d),Sd(d,o.b),Rd(d,o.c)),n=new Mb,l=new Gf(e.a);l.a0&&Gz(t.p,d),Gz(t.o,d);p=l+(e-=r),h+=e*t.e,i4(t.a,c,ndt(p)),i4(t.b,c,h),t.j=i.Math.max(t.j,p),t.k=i.Math.max(t.k,h),t.d+=e,e+=b}}function vGt(){var t;vGt=I,xDe=new GS(lQt,0),sDe=new GS(wQt,1),aDe=new GS(kQt,2),ADe=new GS(vQt,3),EDe=new GS(yQt,4),AX(),dDe=new Dy(new YF(t=jz(W_(FDe),9),jz(AR(t,t.length),9),0)),fDe=uht(yq(sDe,Est(Vy(FDe,1),XJt,61,0,[]))),cDe=uht(yq(aDe,Est(Vy(FDe,1),XJt,61,0,[]))),yDe=uht(yq(ADe,Est(Vy(FDe,1),XJt,61,0,[]))),CDe=uht(yq(EDe,Est(Vy(FDe,1),XJt,61,0,[]))),wDe=uht(yq(sDe,Est(Vy(FDe,1),XJt,61,0,[ADe]))),hDe=uht(yq(aDe,Est(Vy(FDe,1),XJt,61,0,[EDe]))),vDe=uht(yq(sDe,Est(Vy(FDe,1),XJt,61,0,[EDe]))),gDe=uht(yq(sDe,Est(Vy(FDe,1),XJt,61,0,[aDe]))),_De=uht(yq(ADe,Est(Vy(FDe,1),XJt,61,0,[EDe]))),lDe=uht(yq(aDe,Est(Vy(FDe,1),XJt,61,0,[ADe]))),bDe=uht(yq(sDe,Est(Vy(FDe,1),XJt,61,0,[aDe,EDe]))),uDe=uht(yq(aDe,Est(Vy(FDe,1),XJt,61,0,[ADe,EDe]))),kDe=uht(yq(sDe,Est(Vy(FDe,1),XJt,61,0,[ADe,EDe]))),pDe=uht(yq(sDe,Est(Vy(FDe,1),XJt,61,0,[aDe,ADe]))),mDe=uht(yq(sDe,Est(Vy(FDe,1),XJt,61,0,[aDe,ADe,EDe])))}function yGt(t,e){var n,r,o,a,s,c,l,u,h,d,f,g,p,m,b,w;if(0!=e.b){for(d=new YA,a=null,f=null,n=EQ(i.Math.floor(i.Math.log(e.b)*i.Math.LOG10E)+1),s=0,w=cbt(e,0);w.b!=w.d.c;)for(m=jz(h3(w),86),VD(f)!==VD(wxt(m,(VHt(),nye)))&&(f=AN(wxt(m,nye)),s=0),a=null!=f?f+f0(s++,n):f0(s++,n),lct(m,nye,a),p=new dm(cbt(new hm(m).a.d,0));yC(p.a);)n4(d,g=jz(h3(p.a),188).c,d.c.b,d.c),lct(g,nye,a);for(h=new Pb,o=0;o=l){xO(w.b>0),w.a.Xb(w.c=--w.b);break}m.a>u&&(o?(pst(o.b,m.b),o.a=i.Math.max(o.a,m.a),lK(w)):(Gz(m.b,d),m.c=i.Math.min(m.c,u),m.a=i.Math.max(m.a,l),o=m))}o||((o=new ek).c=u,o.a=l,wR(w,o),Gz(o.b,d))}for(c=e.b,h=0,b=new Gf(r);b.as?1:0:(t.b&&(t.b._b(o)&&(r=jz(t.b.xc(o),19).a),t.b._b(c)&&(s=jz(t.b.xc(c),19).a)),rs?1:0)):0!=e.e.c.length&&0!=n.g.c.length?1:-1}function AGt(t,e){var n,i,r,o,a,s,c,l,u,h,d,f,g,p,m,b,w,k,v,y;for(DAt(e,D1t,1),g=new Mb,v=new Mb,l=new Gf(t.b);l.a0&&(y-=p),CHt(s,y),d=0,g=new Gf(s.a);g.a0),c.a.Xb(c.c=--c.b)),l=.4*r*d,!a&&c.be.d.c){if((f=t.c[e.a.d])==(m=t.c[h.a.d]))continue;ULt(rx(ix(ox(nx(new $w,1),100),f),m))}}}function BGt(t){var e,n,i,r,o,a,s,c;if(NVt(),null==t)return null;if((r=VI(t,XAt(37)))<0)return t;for(c=new uL(t.substr(0,r)),e=P7(BLe,b6t,25,4,15,1),s=0,i=0,a=t.length;rr+2&&tct((h1(r+1,t.length),t.charCodeAt(r+1)),EBe,TBe)&&tct((h1(r+2,t.length),t.charCodeAt(r+2)),EBe,TBe))if(n=EV((h1(r+1,t.length),t.charCodeAt(r+1)),(h1(r+2,t.length),t.charCodeAt(r+2))),r+=2,i>0?128==(192&n)?e[s++]=n<<24>>24:i=0:n>=128&&(192==(224&n)?(e[s++]=n<<24>>24,i=2):224==(240&n)?(e[s++]=n<<24>>24,i=3):240==(248&n)&&(e[s++]=n<<24>>24,i=4)),i>0){if(s==i){switch(s){case 2:PW(c,((31&e[0])<<6|63&e[1])&YYt);break;case 3:PW(c,((15&e[0])<<12|(63&e[1])<<6|63&e[2])&YYt)}s=0,i=0}}else{for(o=0;o0){if(a+i>t.length)return!1;s=UDt(t.substr(0,a+i),e)}else s=UDt(t,e);switch(o){case 71:return s=qAt(t,a,Est(Vy(Yee,1),cYt,2,6,[uXt,hXt]),e),r.e=s,!0;case 77:return pNt(t,e,r,s,a);case 76:return mNt(t,e,r,s,a);case 69:return iSt(t,e,a,r);case 99:return rSt(t,e,a,r);case 97:return s=qAt(t,a,Est(Vy(Yee,1),cYt,2,6,["AM","PM"]),e),r.b=s,!0;case 121:return bNt(t,e,a,s,n,r);case 100:return!(s<=0||(r.c=s,0));case 83:return!(s<0)&&ygt(s,a,e[0],r);case 104:12==s&&(s=0);case 75:case 72:return!(s<0||(r.f=s,r.g=!1,0));case 107:return!(s<0||(r.f=s,r.g=!0,0));case 109:return!(s<0||(r.j=s,0));case 115:return!(s<0||(r.n=s,0));case 90:if(aC&&(p.c=C-p.b),Gz(s.d,new Pq(p,vdt(s,p))),k=e==sDe?i.Math.max(k,m.b+u.b.rf().b):i.Math.min(k,m.b));for(k+=e==sDe?t.t:-t.t,(v=Egt((s.e=k,s)))>0&&(jz(aY(t.b,e),124).a.b=v),h=f.Kc();h.Ob();)!(u=jz(h.Pb(),111)).c||u.c.d.c.length<=0||((p=u.c.i).c-=u.e.a,p.d-=u.e.b)}else oGt(t,e)}function LGt(t){var e,n,i,r,o,a,s,c,l,h;for(e=new Pb,a=new DP(t);a.e!=a.i.gc();){for(o=jz(vbt(a),33),n=new Ow,WK(Coe,o,n),h=new ae,i=jz(x5(new OH(null,new HG(new aU(ZP(fPt(o).a.Kc(),new u)))),Aq(h,b8(new V,new z,new it,Est(Vy(Qne,1),BYt,132,0,[(Vlt(),qne)])))),83),Znt(n,jz(i.xc((cL(),!0)),14),new se),r=jz(x5(DY(jz(i.xc(!1),15).Lc(),new ce),b8(new V,new z,new it,Est(Vy(Qne,1),BYt,132,0,[qne]))),15).Kc();r.Ob();)(l=Txt(jz(r.Pb(),79)))&&((s=jz(zD(DZ(e.f,l)),21))||(s=DOt(l),ySt(e.f,l,s)),jrt(n,s));for(i=jz(x5(new OH(null,new HG(new aU(ZP(gPt(o).a.Kc(),new u)))),Aq(h,b8(new V,new z,new it,Est(Vy(Qne,1),BYt,132,0,[qne])))),83),Znt(n,jz(i.xc(!0),14),new le),c=jz(x5(DY(jz(i.xc(!1),15).Lc(),new ue),b8(new V,new z,new it,Est(Vy(Qne,1),BYt,132,0,[qne]))),15).Kc();c.Ob();)(l=Sxt(jz(c.Pb(),79)))&&((s=jz(zD(DZ(e.f,l)),21))||(s=DOt(l),ySt(e.f,l,s)),jrt(n,s))}}function OGt(t,e){var n,i,r,o,a,s,c,l,u,h,d,f,g,p;if(aVt(),(c=Kut(t,0)<0)&&(t=v9(t)),0==Kut(t,0))switch(e){case 0:return"0";case 1:return WXt;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return(f=new Ey).a+=e<0?"0E+":"0E",f.a+=e==FYt?"2147483648":""+-e,f.a}h=P7(TLe,WYt,25,1+(u=18),15,1),n=u,p=t;do{l=p,p=D_t(p,10),h[--n]=fq(ift(48,nft(l,rft(p,10))))&YYt}while(0!=Kut(p,0));if(r=nft(nft(nft(u,n),e),1),0==e)return c&&(h[--n]=45),$pt(h,n,u-n);if(e>0&&Kut(r,-6)>=0){if(Kut(r,0)>=0){for(o=n+fq(r),s=u-1;s>=o;s--)h[s+1]=h[s];return h[++o]=46,c&&(h[--n]=45),$pt(h,n,u-n+1)}for(a=2;sE(a,ift(v9(r),1));a++)h[--n]=48;return h[--n]=46,h[--n]=48,c&&(h[--n]=45),$pt(h,n,u-n)}return g=n+1,i=u,d=new Ty,c&&(d.a+="-"),i-g>=1?(PW(d,h[n]),d.a+=".",d.a+=$pt(h,n+1,u-n-1)):d.a+=$pt(h,n,u-n),d.a+="E",Kut(r,0)>0&&(d.a+="+"),d.a+=""+mU(r),d.a}function NGt(t,e,n){var i,r,o,a,s,c,l,u,h,d;if(t.e.a.$b(),t.f.a.$b(),t.c.c=P7(Ite,zKt,1,0,5,1),t.i.c=P7(Ite,zKt,1,0,5,1),t.g.a.$b(),e)for(a=new Gf(e.a);a.a=1&&(_-u>0&&p>=0?(Ent(d,d.i+y),Tnt(d,d.j+l*u)):_-u<0&&g>=0&&(Ent(d,d.i+y*_),Tnt(d,d.j+l)));return Xbt(t,(cKt(),NEe),(wpt(),new YF(a=jz(W_(YDe),9),jz(AR(a,a.length),9),0))),new PS(C,h)}function FGt(t){var e,n,r,o,a,s,c,l,u,h,d;if(h=XQ(EAt(jz(Wet((!t.b&&(t.b=new cF(OIe,t,4,7)),t.b),0),82)))==XQ(EAt(jz(Wet((!t.c&&(t.c=new cF(OIe,t,5,8)),t.c),0),82))),s=new V_,(e=jz(QBt(t,(Glt(),cSe)),74))&&e.b>=2){if(0==(!t.a&&(t.a=new tG(RIe,t,6,6)),t.a).i)J_(),n=new ac,l8((!t.a&&(t.a=new tG(RIe,t,6,6)),t.a),n);else if((!t.a&&(t.a=new tG(RIe,t,6,6)),t.a).i>1)for(d=new iO((!t.a&&(t.a=new tG(RIe,t,6,6)),t.a));d.e!=d.i.gc();)Y_t(d);K$t(e,jz(Wet((!t.a&&(t.a=new tG(RIe,t,6,6)),t.a),0),202))}if(h)for(r=new DP((!t.a&&(t.a=new tG(RIe,t,6,6)),t.a));r.e!=r.i.gc();)for(l=new DP((!(n=jz(vbt(r),202)).a&&(n.a=new IP(MIe,n,5)),n.a));l.e!=l.i.gc();)c=jz(vbt(l),469),s.a=i.Math.max(s.a,c.a),s.b=i.Math.max(s.b,c.b);for(a=new DP((!t.n&&(t.n=new tG(VIe,t,1,7)),t.n));a.e!=a.i.gc();)o=jz(vbt(a),137),(u=jz(QBt(o,gSe),8))&&AB(o,u.a,u.b),h&&(s.a=i.Math.max(s.a,o.i+o.g),s.b=i.Math.max(s.b,o.j+o.f));return s}function jGt(t,e,n){var r,o,a,s,c,l,u,h,d,f,g,p,m,b,w,k,v,y,_,C;for(w=e.c.length,o=new VFt(t.a,n,null,null),C=P7(MLe,VXt,25,w,15,1),g=P7(MLe,VXt,25,w,15,1),f=P7(MLe,VXt,25,w,15,1),p=0,c=0;cC[l]&&(p=l),h=new Gf(t.a.b);h.ag&&(a&&(lI(_,f),lI(A,ndt(u.b-1))),D=n.b,I+=f+e,f=0,h=i.Math.max(h,n.b+n.c+S)),Ent(c,D),Tnt(c,I),h=i.Math.max(h,D+S+n.c),f=i.Math.max(f,d),D+=S+e;if(h=i.Math.max(h,r),(T=I+f+n.a)hJt,E=i.Math.abs(f.b-p.b)>hJt,(!n&&x&&E||n&&(x||E))&&LV(b.a,y)),jrt(b.a,r),0==r.b?f=y:(xO(0!=r.b),f=jz(r.c.b.c,8)),Xat(g,d,m),oot(o)==A&&(mK(A.i)!=o.a&&DTt(m=new V_,mK(A.i),k),lct(b,Ode,m)),AEt(g,b,k),h.a.zc(g,h);AJ(b,_),CJ(b,A)}for(u=h.a.ec().Kc();u.Ob();)AJ(l=jz(u.Pb(),17),null),CJ(l,null);zEt(e)}function HGt(t){var e,n,r,o,a,s,c,l,u,h,d,f,g,p,m,b,w,k,v,y;if(1==t.gc())return jz(t.Xb(0),231);if(t.gc()<=0)return new w6;for(o=t.Kc();o.Ob();){for(n=jz(o.Pb(),231),p=0,h=OKt,d=OKt,l=FYt,u=FYt,g=new Gf(n.e);g.ac&&(v=0,y+=s+w,s=0),KFt(m,n,v,y),e=i.Math.max(e,v+b.a),s=i.Math.max(s,b.b),v+=b.a+w;return m}function qGt(t,e){var n,i,r,o,a,s,c,l,u,h,d,f,g;switch(u=new kk,t.a.g){case 3:d=jz(wxt(e.e,(lKt(),Mde)),15),f=jz(wxt(e.j,Mde),15),g=jz(wxt(e.f,Mde),15),n=jz(wxt(e.e,Ide),15),i=jz(wxt(e.j,Ide),15),r=jz(wxt(e.f,Ide),15),pst(a=new Mb,d),f.Jc(new yo),pst(a,iP(f,152)?a6(jz(f,152)):iP(f,131)?jz(f,131).a:iP(f,54)?new lv(f):new EA(f)),pst(a,g),pst(o=new Mb,n),pst(o,iP(i,152)?a6(jz(i,152)):iP(i,131)?jz(i,131).a:iP(i,54)?new lv(i):new EA(i)),pst(o,r),lct(e.f,Mde,a),lct(e.f,Ide,o),lct(e.f,Pde,e.f),lct(e.e,Mde,null),lct(e.e,Ide,null),lct(e.j,Mde,null),lct(e.j,Ide,null);break;case 1:jrt(u,e.e.a),LV(u,e.i.n),jrt(u,eat(e.j.a)),LV(u,e.a.n),jrt(u,e.f.a);break;default:jrt(u,e.e.a),jrt(u,eat(e.j.a)),jrt(u,e.f.a)}wX(e.f.a),jrt(e.f.a,u),AJ(e.f,e.e.c),s=jz(wxt(e.e,(zWt(),mme)),74),l=jz(wxt(e.j,mme),74),c=jz(wxt(e.f,mme),74),(s||l||c)&&(xG(h=new kk,c),xG(h,l),xG(h,s),lct(e.f,mme,h)),AJ(e.j,null),CJ(e.j,null),AJ(e.e,null),CJ(e.e,null),xJ(e.a,null),xJ(e.i,null),e.g&&qGt(t,e.g)}function UGt(t){var e,n,i,r,o,a,s,c,l,u,h,d,f,g,p,m;if(E$t(),null==t)return null;if((g=ddt(o=W9(t)))%4!=0)return null;if(0==(p=g/4|0))return P7(BLe,b6t,25,0,15,1);for(h=null,e=0,n=0,i=0,r=0,a=0,s=0,c=0,l=0,f=0,d=0,u=0,h=P7(BLe,b6t,25,3*p,15,1);f>4)<<24>>24,h[d++]=((15&n)<<4|i>>2&15)<<24>>24,h[d++]=(i<<6|r)<<24>>24}return WC(a=o[u++])&&WC(s=o[u++])?(e=UPe[a],n=UPe[s],c=o[u++],l=o[u++],-1==UPe[c]||-1==UPe[l]?61==c&&61==l?15&n?null:(oVt(h,0,m=P7(BLe,b6t,25,3*f+1,15,1),0,3*f),m[d]=(e<<2|n>>4)<<24>>24,m):61!=c&&61==l?3&(i=UPe[c])?null:(oVt(h,0,m=P7(BLe,b6t,25,3*f+2,15,1),0,3*f),m[d++]=(e<<2|n>>4)<<24>>24,m[d]=((15&n)<<4|i>>2&15)<<24>>24,m):null:(i=UPe[c],r=UPe[l],h[d++]=(e<<2|n>>4)<<24>>24,h[d++]=((15&n)<<4|i>>2&15)<<24>>24,h[d++]=(i<<6|r)<<24>>24,h)):null}function GGt(t,e){var n,i,r,o,a,s,c,l,u,h,d,f,g,p,m,b,w,k;for(DAt(e,D1t,1),d=jz(wxt(t,(zWt(),Zpe)),218),i=new Gf(t.b);i.a=2){for(f=!0,n=jz(Q1(u=new Gf(r.j)),11),h=null;u.a0&&(o=jz(PH(b.c.a,C-1),10),s=t.i[o.p],x=i.Math.ceil(NM(t.n,o,b)),a=_.a.e-b.d.d-(s.a.e+o.o.b+o.d.a)-x),u=NXt,C0&&A.a.e.e-A.a.a-(A.b.e.e-A.b.a)<0,p=v.a.e.e-v.a.a-(v.b.e.e-v.b.a)<0&&A.a.e.e-A.a.a-(A.b.e.e-A.b.a)>0,g=v.a.e.e+v.b.aA.b.e.e+A.a.a,y=0,!m&&!p&&(f?a+d>0?y=d:u-r>0&&(y=r):g&&(a+c>0?y=c:u-k>0&&(y=k))),_.a.e+=y,_.b&&(_.d.e+=y),1)))}function KGt(t,e,n){var r,o,a,s,c,l,u,h,d,f;if(r=new qY(e.qf().a,e.qf().b,e.rf().a,e.rf().b),o=new hB,t.c)for(s=new Gf(e.wf());s.al&&(i.a+=nP(P7(TLe,WYt,25,-l,15,1))),i.a+="Is",VI(c,XAt(32))>=0)for(r=0;r=i.o.b/2}b?(m=jz(wxt(i,(lKt(),Nde)),15))?d?o=m:(r=jz(wxt(i,Lhe),15))?o=m.gc()<=r.gc()?m:r:(o=new Mb,lct(i,Lhe,o)):(o=new Mb,lct(i,Nde,o)):(r=jz(wxt(i,(lKt(),Lhe)),15))?h?o=r:(m=jz(wxt(i,Nde),15))?o=r.gc()<=m.gc()?r:m:(o=new Mb,lct(i,Nde,o)):(o=new Mb,lct(i,Lhe,o)),o.Fc(t),lct(t,(lKt(),Nhe),n),e.d==n?(CJ(e,null),n.e.c.length+n.g.c.length==0&&EJ(n,null),plt(n)):(AJ(e,null),n.e.c.length+n.g.c.length==0&&EJ(n,null)),wX(e.a)}function tWt(t,e){var n,i,r,o,a,s,c,l,h,d,f,g,p,m,b,w,k,v,y,_,C,A,x,E,T,S,D;for(w=new C2(t.b,0),p=0,l=jz((h=e.Kc()).Pb(),19).a,y=0,n=new Ow,C=new lB;w.b=t.a&&(r=kzt(t,w),d=i.Math.max(d,r.b),v=i.Math.max(v,r.d),Gz(c,new nD(w,r)));for(C=new Mb,h=0;h0),m.a.Xb(m.c=--m.b),wR(m,A=new $W(t.b)),xO(m.b0?(u=0,b&&(u+=c),u+=(x-1)*s,k&&(u+=c),A&&k&&(u=i.Math.max(u,JLt(k,s,w,C))),u0){for(d=u<100?null:new F_(u),g=(l=new yot(e)).g,m=P7(SLe,lXt,25,u,15,1),i=0,k=new pet(u),r=0;r=0;)if(null!=f?Pht(f,g[c]):VD(f)===VD(g[c])){m.length<=i&&oVt(m,0,m=P7(SLe,lXt,25,2*m.length,15,1),0,i),m[i++]=r,l8(k,g[c]);break t}if(VD(f)===VD(s))break}}if(l=k,g=k.g,u=i,i>m.length&&oVt(m,0,m=P7(SLe,lXt,25,i,15,1),0,i),i>0){for(w=!0,o=0;o=0;)Mvt(t,m[a]);if(i!=u){for(r=u;--r>=i;)Mvt(l,r);oVt(m,0,m=P7(SLe,lXt,25,i,15,1),0,i)}e=l}}}else for(e=yvt(t,e),r=t.i;--r>=0;)e.Hc(t.g[r])&&(Mvt(t,r),w=!0);if(w){if(null!=m){for(h=1==(n=e.gc())?wJ(t,4,e.Kc().Pb(),null,m[0],p):wJ(t,6,e,m,m[0],p),d=n<100?null:new F_(n),r=e.Kc();r.Ob();)d=zF(t,jz(f=r.Pb(),72),d);d?(d.Ei(h),d.Fi()):dat(t.e,h)}else{for(d=IF(e.gc()),r=e.Kc();r.Ob();)d=zF(t,jz(f=r.Pb(),72),d);d&&d.Fi()}return!0}return!1}function aWt(t,e){var n,i,r,o,a,s,c,l,h,d,f,g,p,m,b,w,k;for((n=new lwt(e)).a||pjt(e),l=hRt(e),c=new pQ,m=new YOt,p=new Gf(e.a);p.a0||n.o==ive&&o0?(h=jz(PH(d.c.a,a-1),10),A=NM(t.b,d,h),m=d.n.b-d.d.d-(h.n.b+h.o.b+h.d.a+A)):m=d.n.b-d.d.d,l=i.Math.min(m,l),a(a=nCt(t,n))?oFt(t,e,n):oFt(t,n,e),ra?1:0}return(i=jz(wxt(e,(lKt(),dde)),19).a)>(o=jz(wxt(n,dde),19).a)?oFt(t,e,n):oFt(t,n,e),io?1:0}function hWt(t,e,n,i){var r,o,a,s,c,l,u,h,d,f,g,p;if(zv(_N(QBt(e,(cKt(),HEe)))))return AX(),AX(),cne;if(c=0!=(!e.a&&(e.a=new tG(HIe,e,10,11)),e.a).i,l=!(u=kDt(e)).dc(),c||l){if(!(r=jz(QBt(e,bTe),149)))throw $b(new ny("Resolved algorithm is not set; apply a LayoutAlgorithmResolver before computing layout."));if(p=SS(r,(lBt(),ZIe)),Pmt(e),!c&&l&&!p)return AX(),AX(),cne;if(s=new Mb,VD(QBt(e,yEe))===VD((aht(),pSe))&&(SS(r,KIe)||SS(r,WIe)))for(d=mRt(t,e),jrt(f=new YA,(!e.a&&(e.a=new tG(HIe,e,10,11)),e.a));0!=f.b;)Pmt(h=jz(0==f.b?null:(xO(0!=f.b),Iet(f,f.a.a)),33)),VD(QBt(h,yEe))===VD(bSe)||x7(h,tEe)&&!v4(r,QBt(h,bTe))?(pst(s,hWt(t,h,n,i)),Xbt(h,yEe,bSe),RFt(h)):jrt(f,(!h.a&&(h.a=new tG(HIe,h,10,11)),h.a));else for(d=(!e.a&&(e.a=new tG(HIe,e,10,11)),e.a).i,a=new DP((!e.a&&(e.a=new tG(HIe,e,10,11)),e.a));a.e!=a.i.gc();)pst(s,hWt(t,o=jz(vbt(a),33),n,i)),RFt(o);for(g=new Gf(s);g.a=0?lgt(s):Cdt(lgt(s)),t.Ye(obe,f)),l=new V_,d=!1,t.Xe(Qme)?($O(l,jz(t.We(Qme),8)),d=!0):wP(l,a.a/2,a.b/2),f.g){case 4:lct(u,kme,(Cft(),Fde)),lct(u,Vhe,(Zst(),Iue)),u.o.b=a.b,p<0&&(u.o.a=-p),VSt(h,(vGt(),aDe)),d||(l.a=a.a),l.a-=a.a;break;case 2:lct(u,kme,(Cft(),$de)),lct(u,Vhe,(Zst(),Sue)),u.o.b=a.b,p<0&&(u.o.a=-p),VSt(h,(vGt(),EDe)),d||(l.a=0);break;case 1:lct(u,ede,(H9(),Ehe)),u.o.a=a.a,p<0&&(u.o.b=-p),VSt(h,(vGt(),ADe)),d||(l.b=a.b),l.b-=a.b;break;case 3:lct(u,ede,(H9(),Ahe)),u.o.a=a.a,p<0&&(u.o.b=-p),VSt(h,(vGt(),sDe)),d||(l.b=0)}if($O(h.n,l),lct(u,Qme,l),e==qSe||e==GSe||e==USe){if(g=0,e==qSe&&t.Xe(ebe))switch(f.g){case 1:case 2:g=jz(t.We(ebe),19).a;break;case 3:case 4:g=-jz(t.We(ebe),19).a}else switch(f.g){case 4:case 2:g=o.b,e==GSe&&(g/=r.b);break;case 1:case 3:g=o.a,e==GSe&&(g/=r.a)}lct(u,_de,g)}return lct(u,Khe,f),u}function fWt(t){var e,n,i,r,o,a,s,c,l,h,d,f,g,p,m,b,w,k,v,y,_,C;if((n=Vv(CN(wxt(t.a.j,(zWt(),Rpe)))))<-1||!t.a.i||BF(jz(wxt(t.a.o,tbe),98))||oft(t.a.o,(vGt(),aDe)).gc()<2&&oft(t.a.o,EDe).gc()<2)return!0;if(t.a.c.Rf())return!1;for(v=0,k=0,w=new Mb,c=0,l=(s=t.a.e).length;c=n}function gWt(){function t(t){var e=this;this.dispatch=function(e){var n=e.data;switch(n.cmd){case"algorithms":var i=xgt((AX(),new $f(new Sf(lBe.b))));t.postMessage({id:n.id,data:i});break;case"categories":var r=xgt((AX(),new $f(new Sf(lBe.c))));t.postMessage({id:n.id,data:r});break;case"options":var o=xgt((AX(),new $f(new Sf(lBe.d))));t.postMessage({id:n.id,data:o});break;case"register":hqt(n.algorithms),t.postMessage({id:n.id});break;case"layout":Lzt(n.graph,n.layoutOptions||{},n.options||{}),t.postMessage({id:n.id,data:n.graph})}},this.saveDispatch=function(n){try{e.dispatch(n)}catch(e){t.postMessage({id:n.data.id,error:e})}}}function i(e){var n=this;this.dispatcher=new t({postMessage:function(t){n.onmessage({data:t})}}),this.postMessage=function(t){setTimeout((function(){n.dispatcher.saveDispatch({data:t})}),0)}}if(rC(),typeof document===pZt&&typeof self!==pZt){var r=new t(self);self.onmessage=r.saveDispatch}else typeof e!==pZt&&e.exports&&(Object.defineProperty(n,"__esModule",{value:!0}),e.exports={default:i,Worker:i})}function pWt(t){t.N||(t.N=!0,t.b=vat(t,0),Nrt(t.b,0),Nrt(t.b,1),Nrt(t.b,2),t.bb=vat(t,1),Nrt(t.bb,0),Nrt(t.bb,1),t.fb=vat(t,2),Nrt(t.fb,3),Nrt(t.fb,4),Rrt(t.fb,5),t.qb=vat(t,3),Nrt(t.qb,0),Rrt(t.qb,1),Rrt(t.qb,2),Nrt(t.qb,3),Nrt(t.qb,4),Rrt(t.qb,5),Nrt(t.qb,6),t.a=yat(t,4),t.c=yat(t,5),t.d=yat(t,6),t.e=yat(t,7),t.f=yat(t,8),t.g=yat(t,9),t.i=yat(t,10),t.j=yat(t,11),t.k=yat(t,12),t.n=yat(t,13),t.o=yat(t,14),t.p=yat(t,15),t.q=yat(t,16),t.s=yat(t,17),t.r=yat(t,18),t.t=yat(t,19),t.u=yat(t,20),t.v=yat(t,21),t.w=yat(t,22),t.B=yat(t,23),t.A=yat(t,24),t.C=yat(t,25),t.D=yat(t,26),t.F=yat(t,27),t.G=yat(t,28),t.H=yat(t,29),t.J=yat(t,30),t.I=yat(t,31),t.K=yat(t,32),t.M=yat(t,33),t.L=yat(t,34),t.P=yat(t,35),t.Q=yat(t,36),t.R=yat(t,37),t.S=yat(t,38),t.T=yat(t,39),t.U=yat(t,40),t.V=yat(t,41),t.X=yat(t,42),t.W=yat(t,43),t.Y=yat(t,44),t.Z=yat(t,45),t.$=yat(t,46),t._=yat(t,47),t.ab=yat(t,48),t.cb=yat(t,49),t.db=yat(t,50),t.eb=yat(t,51),t.gb=yat(t,52),t.hb=yat(t,53),t.ib=yat(t,54),t.jb=yat(t,55),t.kb=yat(t,56),t.lb=yat(t,57),t.mb=yat(t,58),t.nb=yat(t,59),t.ob=yat(t,60),t.pb=yat(t,61))}function mWt(t,e){var n,r,o,a,s,c,l,u,h,d,f,g,p,m,b,w,k,v,y;if(k=0,0==e.f.a)for(b=new Gf(t);b.al&&0==(u1(l,e.c.length),jz(e.c[l],200)).a.c.length;)w9(e,(u1(l,e.c.length),e.c[l]));if(!c){--o;continue}if(Ijt(e,u,r,c,d,n,l,i)){h=!0;continue}if(d){if(Zzt(e,u,r,c,n,l,i)){h=!0;continue}if(Iut(u,r)){r.c=!0,h=!0;continue}}else if(Iut(u,r)){r.c=!0,h=!0;continue}if(h)continue}Iut(u,r)?(r.c=!0,h=!0,c&&(c.k=!1)):Hkt(r.q)}else IA(),Cyt(u,r),--o,h=!0;return h}function kWt(t,e,n,r,o,a,s){var c,l,u,h,d,f,g,p,m,b,w,k,v,y,_,C,A,x,E,T,S,D,I,B;for(m=0,T=0,u=new Gf(t.b);u.am&&(a&&(lI(C,g),lI(x,ndt(h.b-1)),Gz(t.d,p),c.c=P7(Ite,zKt,1,0,5,1)),I=n.b,B+=g+e,g=0,d=i.Math.max(d,n.b+n.c+D)),c.c[c.c.length]=l,Abt(l,I,B),d=i.Math.max(d,I+D+n.c),g=i.Math.max(g,f),I+=D+e,p=l;if(pst(t.a,c),Gz(t.d,jz(PH(c,c.c.length-1),157)),d=i.Math.max(d,r),(S=B+g+n.a)1&&(s=i.Math.min(s,i.Math.abs(jz(Obt(c.a,1),8).b-h.b)))));else for(p=new Gf(e.j);p.ao&&(a=f.a-o,s=OKt,r.c=P7(Ite,zKt,1,0,5,1),o=f.a),f.a>=o&&(r.c[r.c.length]=c,c.a.b>1&&(s=i.Math.min(s,i.Math.abs(jz(Obt(c.a,c.a.b-2),8).b-f.b)))));if(0!=r.c.length&&a>e.o.a/2&&s>e.o.b/2){for(EJ(g=new TEt,e),VSt(g,(vGt(),sDe)),g.n.a=e.o.a/2,EJ(m=new TEt,e),VSt(m,ADe),m.n.a=e.o.a/2,m.n.b=e.o.b,l=new Gf(r);l.a=u.b?AJ(c,m):AJ(c,g)):(u=jz(gV(c.a),8),(0==c.a.b?g1(c.c):jz(pO(c.a),8)).b>=u.b?CJ(c,m):CJ(c,g)),(d=jz(wxt(c,(zWt(),mme)),74))&&kgt(d,u,!0);e.n.a=o-e.o.a/2}}function _Wt(t,e,n){var i,r,o,a,s,c,l,u,h,d,f;if(l=e,Bit(c=K3(t,B3(n),l),O2(l,V6t)),u=jz(cnt(t.g,vDt(HQ(l,C6t))),33),i=null,(a=HQ(l,"sourcePort"))&&(i=vDt(a)),h=jz(cnt(t.j,i),118),!u)throw $b(new ty("An edge must have a source node (edge id: '"+Ypt(l)+W6t));if(h&&!dK(GQ(h),u))throw $b(new ty("The source port of an edge must be a port of the edge's source node (edge id: '"+O2(l,V6t)+W6t));if(!c.b&&(c.b=new cF(OIe,c,4,7)),l8(c.b,h||u),d=jz(cnt(t.g,vDt(HQ(l,X6t))),33),r=null,(s=HQ(l,"targetPort"))&&(r=vDt(s)),f=jz(cnt(t.j,r),118),!d)throw $b(new ty("An edge must have a target node (edge id: '"+Ypt(l)+W6t));if(f&&!dK(GQ(f),d))throw $b(new ty("The target port of an edge must be a port of the edge's target node (edge id: '"+O2(l,V6t)+W6t));if(!c.c&&(c.c=new cF(OIe,c,5,8)),l8(c.c,f||d),0==(!c.b&&(c.b=new cF(OIe,c,4,7)),c.b).i||0==(!c.c&&(c.c=new cF(OIe,c,5,8)),c.c).i)throw o=O2(l,V6t),$b(new ty(G6t+o+W6t));return xAt(l,c),cMt(l,c),Lct(t,l,c)}function CWt(t,e){var n,i,r,o,a,s,c,l,u,h,d,f,g,p,m,b,w,k,v,y,_,C,A,x,E;return h=T$t($L(t,(vGt(),dDe)),e),g=ovt($L(t,fDe),e),v=ovt($L(t,yDe),e),A=avt($L(t,CDe),e),d=avt($L(t,cDe),e),w=ovt($L(t,vDe),e),p=ovt($L(t,gDe),e),_=ovt($L(t,_De),e),y=ovt($L(t,lDe),e),x=avt($L(t,hDe),e),b=ovt($L(t,wDe),e),k=ovt($L(t,bDe),e),C=ovt($L(t,uDe),e),E=avt($L(t,kDe),e),f=avt($L(t,pDe),e),m=ovt($L(t,mDe),e),n=Mct(Est(Vy(MLe,1),VXt,25,15,[w.a,A.a,_.a,E.a])),i=Mct(Est(Vy(MLe,1),VXt,25,15,[g.a,h.a,v.a,m.a])),r=b.a,o=Mct(Est(Vy(MLe,1),VXt,25,15,[p.a,d.a,y.a,f.a])),l=Mct(Est(Vy(MLe,1),VXt,25,15,[w.b,g.b,p.b,k.b])),c=Mct(Est(Vy(MLe,1),VXt,25,15,[A.b,h.b,d.b,m.b])),u=x.b,s=Mct(Est(Vy(MLe,1),VXt,25,15,[_.b,v.b,y.b,C.b])),d8($L(t,dDe),n+r,l+u),d8($L(t,mDe),n+r,l+u),d8($L(t,fDe),n+r,0),d8($L(t,yDe),n+r,l+u+c),d8($L(t,CDe),0,l+u),d8($L(t,cDe),n+r+i,l+u),d8($L(t,gDe),n+r+i,0),d8($L(t,_De),0,l+u+c),d8($L(t,lDe),n+r+i,l+u+c),d8($L(t,hDe),0,l),d8($L(t,wDe),n,0),d8($L(t,uDe),0,l+u+c),d8($L(t,pDe),n+r+i,0),(a=new V_).a=Mct(Est(Vy(MLe,1),VXt,25,15,[n+i+r+o,x.a,k.a,C.a])),a.b=Mct(Est(Vy(MLe,1),VXt,25,15,[l+c+u+s,b.b,E.b,f.b])),a}function AWt(t){var e,n,i,r,o,a,s,c,l,h,d,f,g,p,m;for(p=new Mb,d=new Gf(t.d.b);d.ar.d.d+r.d.a?h.f.d=!0:(h.f.d=!0,h.f.a=!0))),i.b!=i.d.c&&(e=n);h&&(o=jz(OW(t.f,a.d.i),57),e.bo.d.d+o.d.a?h.f.d=!0:(h.f.d=!0,h.f.a=!0))}for(s=new aU(ZP(uft(f).a.Kc(),new u));gBt(s);)0!=(a=jz(q4(s),17)).a.b&&(e=jz(pO(a.a),8),a.d.j==(vGt(),sDe)&&((m=new Ezt(e,new PS(e.a,r.d.d),r,a)).f.a=!0,m.a=a.d,p.c[p.c.length]=m),a.d.j==ADe&&((m=new Ezt(e,new PS(e.a,r.d.d+r.d.a),r,a)).f.d=!0,m.a=a.d,p.c[p.c.length]=m))}return p}function xWt(t,e,n){var i,r,o,a,s,c,l;if(DAt(n,"Network simplex node placement",1),t.e=e,t.n=jz(wxt(e,(lKt(),Dde)),304),sHt(t),NCt(t),XA(dtt(new OH(null,new d1(t.e.b,16)),new Ho),new im(t)),XA(DY(dtt(DY(dtt(new OH(null,new d1(t.e.b,16)),new na),new ia),new ra),new oa),new nm(t)),zv(_N(wxt(t.e,(zWt(),Pme))))&&(DAt(o=wot(n,1),"Straight Edges Pre-Processing",1),yUt(t),zEt(o)),Awt(t.f),r=jz(wxt(e,Pbe),19).a*t.f.a.c.length,WFt(Ky(Yy(jj(t.f),r),!1),wot(n,1)),0!=t.d.a.gc()){for(DAt(o=wot(n,1),"Flexible Where Space Processing",1),a=jz(IL(SU(IY(new OH(null,new d1(t.f.a,16)),new qo),new Ro)),19).a,s=jz(IL(TU(IY(new OH(null,new d1(t.f.a,16)),new Uo),new Fo)),19).a-a,c=DL(new zw,t.f),l=DL(new zw,t.f),ULt(rx(ix(nx(ox(new $w,2e4),s),c),l)),XA(DY(DY(BG(t.i),new Go),new Wo),new HY(a,c,s,l)),i=t.d.a.ec().Kc();i.Ob();)jz(i.Pb(),213).g=1;WFt(Ky(Yy(jj(t.f),r),!1),wot(o,1)),zEt(o)}zv(_N(wxt(e,Pme)))&&(DAt(o=wot(n,1),"Straight Edges Post-Processing",1),xTt(t),zEt(o)),Yqt(t),t.e=null,t.f=null,t.i=null,t.c=null,IG(t.k),t.j=null,t.a=null,t.o=null,t.d.a.$b(),zEt(n)}function EWt(t,e,n){var r,o,a,s,c,l,u,h,d,f,g,p,m,b,w,k,v,y;for(s=new Gf(t.a.b);s.a0)if(r=h.gc(),l=EQ(i.Math.floor((r+1)/2))-1,o=EQ(i.Math.ceil((r+1)/2))-1,e.o==ive)for(u=o;u>=l;u--)e.a[v.p]==v&&(p=jz(h.Xb(u),46),g=jz(p.a,10),!FA(n,p.b)&&f>t.b.e[g.p]&&(e.a[g.p]=v,e.g[v.p]=e.g[g.p],e.a[v.p]=e.g[v.p],e.f[e.g[v.p].p]=(cL(),!!(zv(e.f[e.g[v.p].p])&v.k==(aEt(),xse))),f=t.b.e[g.p]));else for(u=l;u<=o;u++)e.a[v.p]==v&&(b=jz(h.Xb(u),46),m=jz(b.a,10),!FA(n,b.b)&&f=g&&(w>g&&(f.c=P7(Ite,zKt,1,0,5,1),g=w),f.c[f.c.length]=a);0!=f.c.length&&(d=jz(PH(f,mwt(e,f.c.length)),128),T.a.Bc(d),d.s=p++,rPt(d,x,_),f.c=P7(Ite,zKt,1,0,5,1))}for(v=t.c.length+1,s=new Gf(t);s.aE.s&&(lK(n),w9(E.i,i),i.c>0&&(i.a=E,Gz(E.t,i),i.b=C,Gz(C.i,i)))}function DWt(t){var e,n,i,r,o;switch(e=t.c){case 11:return t.Ml();case 12:return t.Ol();case 14:return t.Ql();case 15:return t.Tl();case 16:return t.Rl();case 17:return t.Ul();case 21:return YWt(t),fKt(),fKt(),aLe;case 10:switch(t.a){case 65:return t.yl();case 90:return t.Dl();case 122:return t.Kl();case 98:return t.El();case 66:return t.zl();case 60:return t.Jl();case 62:return t.Hl()}}switch(o=vWt(t),e=t.c){case 3:return t.Zl(o);case 4:return t.Xl(o);case 5:return t.Yl(o);case 0:if(123==t.a&&t.d=48&&e<=57))throw $b(new ry(vKt((oM(),G7t))));for(i=e-48;r=48&&e<=57;)if((i=10*i+e-48)<0)throw $b(new ry(vKt((oM(),X7t))));if(n=i,44==e){if(r>=t.j)throw $b(new ry(vKt((oM(),K7t))));if((e=lY(t.i,r++))>=48&&e<=57){for(n=e-48;r=48&&e<=57;)if((n=10*n+e-48)<0)throw $b(new ry(vKt((oM(),X7t))));if(i>n)throw $b(new ry(vKt((oM(),Y7t))))}else n=-1}if(125!=e)throw $b(new ry(vKt((oM(),W7t))));t.sl(r)?(fKt(),fKt(),o=new c5(9,o),t.d=r+1):(fKt(),fKt(),o=new c5(3,o),t.d=r),o.dm(i),o.cm(n),YWt(t)}}return o}function IWt(t,e,n,i,r){var o,a,s,c,l,u,h,d,f,g,p,m,b,w,k,v,y,_,C,A,x;for(g=new X6(e.b),w=new X6(e.b),d=new X6(e.b),_=new X6(e.b),p=new X6(e.b),y=cbt(e,0);y.b!=y.d.c;)for(s=new Gf((k=jz(h3(y),11)).g);s.a0,m=k.g.c.length>0,l&&m?d.c[d.c.length]=k:l?g.c[g.c.length]=k:m&&(w.c[w.c.length]=k);for(f=new Gf(g);f.a1)for(f=new iO((!t.a&&(t.a=new tG(RIe,t,6,6)),t.a));f.e!=f.i.gc();)Y_t(f);for(p=S,S>v+k?p=v+k:Sy+g?m=y+g:Dv-k&&py-g&&mS+T?C=S+T:vD+_?A=D+_:yS-T&&CD-_&&An&&(h=n-1),(d=P+zMt(e,24)*aZt*u-u/2)<0?d=1:d>r&&(d=r-1),J_(),ynt(o=new oc,h),_nt(o,d),l8((!s.a&&(s.a=new IP(MIe,s,5)),s.a),o)}function zWt(){zWt=I,cKt(),pbe=vTe,mbe=yTe,bbe=_Te,wbe=CTe,vbe=ATe,ybe=xTe,Abe=TTe,Ebe=DTe,Tbe=ITe,xbe=STe,Sbe=BTe,Ibe=MTe,Mbe=OTe,Cbe=ETe,uKt(),gbe=Rge,kbe=Fge,_be=jge,Dbe=$ge,cbe=new UB(pTe,ndt(0)),lbe=Lge,ube=Oge,hbe=Nge,Hbe=upe,Obe=Hge,Nbe=Gge,jbe=tpe,Rbe=Yge,Fbe=Zge,Ube=ppe,qbe=dpe,zbe=ape,$be=rpe,Vbe=cpe,Ome=xge,Nme=Ege,nme=Nfe,ime=jfe,qme=new GB(12),Hme=new UB(UEe,qme),Aft(),Zpe=new UB(mEe,Qpe=KTe),Jme=new UB(rTe,0),dbe=new UB(mTe,ndt(1)),ype=new UB(iEe,gJt),Vme=HEe,tbe=oTe,obe=dTe,Hpe=uEe,kpe=eEe,sme=yEe,fbe=new UB(kTe,(cL(),!0)),dme=AEe,fme=xEe,Fme=NEe,zme=zEe,jme=FEe,jht(),qpe=new UB(hEe,Gpe=jTe),Ime=LEe,Dme=MEe,ibe=lTe,nbe=cTe,rbe=hTe,rbt(),new UB(ZEe,Wme=zSe),Yme=tTe,Xme=eTe,Zme=nTe,Kme=JEe,Lbe=Vge,xme=uge,Ame=cge,Pbe=zge,kme=tge,Vpe=_fe,zpe=vfe,Ppe=ofe,Lpe=afe,Npe=hfe,Ope=sfe,$pe=wfe,Tme=dge,Sme=fge,pme=Wfe,Rme=Ige,Mme=bge,ome=Vfe,Lme=Cge,tme=Mfe,eme=Lfe,Mpe=cEe,Bme=gge,xpe=Kde,Ape=Gde,Cpe=Ude,lme=Ufe,cme=qfe,ume=Gfe,$me=jEe,mme=SEe,rme=wEe,Ype=gEe,Kpe=fEe,Rpe=gfe,ebe=sTe,_pe=sEe,hme=CEe,Qme=iTe,Ume=WEe,Gme=YEe,yme=ige,_me=oge,sbe=gTe,vpe=qde,Cme=sge,Xpe=Sfe,Wpe=Efe,Eme=IEe,bme=Zfe,Pme=vge,Bbe=PTe,Upe=Afe,abe=Mge,Jpe=Ife,wme=Jfe,Fpe=mfe,gme=TEe,vme=nge,jpe=bfe,Bpe=ife,Dpe=tfe,Tpe=Qde,Spe=Jde,Ipe=nfe,Epe=Xde,ame=Hfe}function VWt(t,e){var n,i,r,o,a,s,c,l,u,h,d,f,g,p,m,b,w,k,v,y,_,C,A,x,E,T,S;if(aVt(),A=t.e,g=t.d,r=t.a,0==A)switch(e){case 0:return"0";case 1:return WXt;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return(_=new Ey).a+=e<0?"0E+":"0E",_.a+=-e,_.a}if(v=P7(TLe,WYt,25,1+(k=10*g+1+7),15,1),n=k,1==g)if((s=r[0])<0){S=t0(s,UXt);do{p=S,S=D_t(S,10),v[--n]=48+fq(nft(p,rft(S,10)))&YYt}while(0!=Kut(S,0))}else{S=s;do{p=S,S=S/10|0,v[--n]=p-10*S+48&YYt}while(0!=S)}else{oVt(r,0,E=P7(SLe,lXt,25,g,15,1),0,T=g);t:for(;;){for(C=0,l=T-1;l>=0;l--)b=uAt(ift(wU(C,32),t0(E[l],UXt))),E[l]=fq(b),C=fq(kU(b,32));w=fq(C),m=n;do{v[--n]=48+w%10&YYt}while(0!=(w=w/10|0)&&0!=n);for(i=9-m+n,c=0;c0;c++)v[--n]=48;for(h=T-1;0==E[h];h--)if(0==h)break t;T=h+1}for(;48==v[n];)++n}if(f=A<0,a=k-n-e-1,0==e)return f&&(v[--n]=45),$pt(v,n,k-n);if(e>0&&a>=-6){if(a>=0){for(u=n+a,d=k-1;d>=u;d--)v[d+1]=v[d];return v[++u]=46,f&&(v[--n]=45),$pt(v,n,k-n+1)}for(h=2;h<1-a;h++)v[--n]=48;return v[--n]=46,v[--n]=48,f&&(v[--n]=45),$pt(v,n,k-n)}return x=n+1,o=k,y=new Ty,f&&(y.a+="-"),o-x>=1?(PW(y,v[n]),y.a+=".",y.a+=$pt(v,n+1,k-n-1)):y.a+=$pt(v,n,k-n),y.a+="E",a>0&&(y.a+="+"),y.a+=""+a,y.a}function HWt(t,e){var n,r,o,a,s,c,l,u,h,d,f,g,p,m,b,w,k,v,y;switch(t.c=e,t.g=new Pb,Vx(),tgt(new xg(new Lv(t.c))),w=AN(QBt(t.c,(Axt(),fAe))),s=jz(QBt(t.c,pAe),316),v=jz(QBt(t.c,mAe),429),o=jz(QBt(t.c,cAe),482),k=jz(QBt(t.c,gAe),430),t.j=Vv(CN(QBt(t.c,bAe))),a=t.a,s.g){case 0:a=t.a;break;case 1:a=t.b;break;case 2:a=t.i;break;case 3:a=t.e;break;case 4:a=t.f;break;default:throw $b(new Rv(P5t+(null!=s.f?s.f:""+s.g)))}if(t.d=new LQ(a,v,o),lct(t.d,(Got(),Kre),_N(QBt(t.c,uAe))),t.d.c=zv(_N(QBt(t.c,lAe))),0==YX(t.c).i)return t.d;for(u=new DP(YX(t.c));u.e!=u.i.gc();){for(d=(l=jz(vbt(u),33)).g/2,h=l.f/2,y=new PS(l.i+d,l.j+h);cG(t.g,y);)RO(y,(i.Math.random()-.5)*hJt,(i.Math.random()-.5)*hJt);g=jz(QBt(l,(cKt(),IEe)),142),p=new DJ(y,new qY(y.a-d-t.j/2-g.b,y.b-h-t.j/2-g.d,l.g+t.j+(g.b+g.c),l.f+t.j+(g.d+g.a))),Gz(t.d.i,p),WK(t.g,y,new nD(p,l))}switch(k.g){case 0:if(null==w)t.d.d=jz(PH(t.d.i,0),65);else for(b=new Gf(t.d.i);b.a1&&n4(h,w,h.c.b,h.c),wet(o)));w=k}return h}function UWt(t,e,n){var i,r,o,a,s,c,l,u,h,d,f,g,p,m,b,w,k,v,y,_,C,A,x,E,T,S,D,I,B;for(DAt(n,"Greedy cycle removal",1),B=(k=e.a).c.length,t.a=P7(SLe,lXt,25,B,15,1),t.c=P7(SLe,lXt,25,B,15,1),t.b=P7(SLe,lXt,25,B,15,1),l=0,b=new Gf(k);b.a0?E+1:1);for(a=new Gf(y.g);a.a0?E+1:1)}0==t.c[l]?LV(t.e,p):0==t.a[l]&&LV(t.f,p),++l}for(g=-1,f=1,h=new Mb,t.d=jz(wxt(e,(lKt(),Ade)),230);B>0;){for(;0!=t.e.b;)S=jz(fV(t.e),10),t.b[S.p]=g--,YFt(t,S),--B;for(;0!=t.f.b;)D=jz(fV(t.f),10),t.b[D.p]=f++,YFt(t,D),--B;if(B>0){for(d=FYt,w=new Gf(k);w.a=d&&(v>d&&(h.c=P7(Ite,zKt,1,0,5,1),d=v),h.c[h.c.length]=p);u=t.Zf(h),t.b[u.p]=f++,YFt(t,u),--B}}for(T=k.c.length+1,l=0;lt.b[I]&&(tzt(i,!0),lct(e,zhe,(cL(),!0)));t.a=null,t.c=null,t.b=null,wX(t.f),wX(t.e),zEt(n)}function GWt(t,e){var n,i,r,o,a,s,c,l,u,h,d,f,g,p,m,b;for(i=new Mb,s=new Mb,m=e/2,f=t.gc(),r=jz(t.Xb(0),8),b=jz(t.Xb(1),8),Gz(i,(u1(0,(g=YBt(r.a,r.b,b.a,b.b,m)).c.length),jz(g.c[0],8))),Gz(s,(u1(1,g.c.length),jz(g.c[1],8))),l=2;l=0;c--)LV(n,(u1(c,a.c.length),jz(a.c[c],8)));return n}function WWt(t){var e,n,i,r,o,a,s,c,l,u,h,d,f;if(a=!0,h=null,i=null,r=null,e=!1,f=wBe,l=null,o=null,(c=Kmt(t,s=0,SBe,DBe))=0&&bF(t.substr(s,2),"//")?(c=Kmt(t,s+=2,IBe,BBe),i=t.substr(s,c-s),s=c):null==h||s!=t.length&&(h1(s,t.length),47==t.charCodeAt(s))||(a=!1,-1==(c=wL(t,XAt(35),s))&&(c=t.length),i=t.substr(s,c-s),s=c);if(!n&&s0&&58==lY(u,u.length-1)&&(r=u,s=c)),s=t.j)return t.a=-1,void(t.c=1);if(e=lY(t.i,t.d++),t.a=e,1!=t.b){switch(e){case 124:i=2;break;case 42:i=3;break;case 43:i=4;break;case 63:i=5;break;case 41:i=7;break;case 46:i=8;break;case 91:i=9;break;case 94:i=11;break;case 36:i=12;break;case 40:if(i=6,t.d>=t.j)break;if(63!=lY(t.i,t.d))break;if(++t.d>=t.j)throw $b(new ry(vKt((oM(),m7t))));switch(e=lY(t.i,t.d++)){case 58:i=13;break;case 61:i=14;break;case 33:i=15;break;case 91:i=19;break;case 62:i=18;break;case 60:if(t.d>=t.j)throw $b(new ry(vKt((oM(),m7t))));if(61==(e=lY(t.i,t.d++)))i=16;else{if(33!=e)throw $b(new ry(vKt((oM(),b7t))));i=17}break;case 35:for(;t.d=t.j)throw $b(new ry(vKt((oM(),p7t))));t.a=lY(t.i,t.d++);break;default:i=0}t.c=i}else{switch(e){case 92:if(i=10,t.d>=t.j)throw $b(new ry(vKt((oM(),p7t))));t.a=lY(t.i,t.d++);break;case 45:!(512&~t.e)&&t.d=_||!Ppt(w,i))&&(i=n1(e,h)),xJ(w,i),o=new aU(ZP(uft(w).a.Kc(),new u));gBt(o);)r=jz(q4(o),17),t.a[r.p]||(m=r.c.i,--t.e[m.p],0==t.e[m.p]&&F7(ext(g,m)));for(l=h.c.length-1;l>=0;--l)Gz(e.b,(u1(l,h.c.length),jz(h.c[l],29)));e.a.c=P7(Ite,zKt,1,0,5,1),zEt(n)}else zEt(n)}function QWt(t){var e,n,i,r,o,a,s,c;for(t.b=1,YWt(t),e=null,0==t.c&&94==t.a?(YWt(t),fKt(),fKt(),XOt(e=new C0(4),0,ate),a=new C0(4)):(fKt(),fKt(),a=new C0(4)),r=!0;1!=(c=t.c);){if(0==c&&93==t.a&&!r){e&&(Wqt(e,a),a=e);break}if(n=t.a,i=!1,10==c)switch(n){case 100:case 68:case 119:case 87:case 115:case 83:cVt(a,gjt(n)),i=!0;break;case 105:case 73:case 99:case 67:cVt(a,gjt(n)),(n=-1)<0&&(i=!0);break;case 112:case 80:if(!(s=ODt(t,n)))throw $b(new ry(vKt((oM(),D7t))));cVt(a,s),i=!0;break;default:n=VNt(t)}else if(24==c&&!r){if(e&&(Wqt(e,a),a=e),Wqt(a,QWt(t)),0!=t.c||93!=t.a)throw $b(new ry(vKt((oM(),P7t))));break}if(YWt(t),!i){if(0==c){if(91==n)throw $b(new ry(vKt((oM(),L7t))));if(93==n)throw $b(new ry(vKt((oM(),O7t))));if(45==n&&!r&&93!=t.a)throw $b(new ry(vKt((oM(),N7t))))}if(0!=t.c||45!=t.a||45==n&&r)XOt(a,n,n);else{if(YWt(t),1==(c=t.c))throw $b(new ry(vKt((oM(),B7t))));if(0==c&&93==t.a)XOt(a,n,n),XOt(a,45,45);else{if(0==c&&93==t.a||24==c)throw $b(new ry(vKt((oM(),N7t))));if(o=t.a,0==c){if(91==o)throw $b(new ry(vKt((oM(),L7t))));if(93==o)throw $b(new ry(vKt((oM(),O7t))));if(45==o)throw $b(new ry(vKt((oM(),N7t))))}else 10==c&&(o=VNt(t));if(YWt(t),n>o)throw $b(new ry(vKt((oM(),j7t))));XOt(a,n,o)}}}r=!1}if(1==t.c)throw $b(new ry(vKt((oM(),B7t))));return CMt(a),VVt(a),t.b=0,YWt(t),a}function JWt(t){KMt(t.c,F8t,Est(Vy(Yee,1),cYt,2,6,[Z8t,"http://www.w3.org/2001/XMLSchema#decimal"])),KMt(t.d,F8t,Est(Vy(Yee,1),cYt,2,6,[Z8t,"http://www.w3.org/2001/XMLSchema#integer"])),KMt(t.e,F8t,Est(Vy(Yee,1),cYt,2,6,[Z8t,"http://www.w3.org/2001/XMLSchema#boolean"])),KMt(t.f,F8t,Est(Vy(Yee,1),cYt,2,6,[Z8t,"EBoolean",t7t,"EBoolean:Object"])),KMt(t.i,F8t,Est(Vy(Yee,1),cYt,2,6,[Z8t,"http://www.w3.org/2001/XMLSchema#byte"])),KMt(t.g,F8t,Est(Vy(Yee,1),cYt,2,6,[Z8t,"http://www.w3.org/2001/XMLSchema#hexBinary"])),KMt(t.j,F8t,Est(Vy(Yee,1),cYt,2,6,[Z8t,"EByte",t7t,"EByte:Object"])),KMt(t.n,F8t,Est(Vy(Yee,1),cYt,2,6,[Z8t,"EChar",t7t,"EChar:Object"])),KMt(t.t,F8t,Est(Vy(Yee,1),cYt,2,6,[Z8t,"http://www.w3.org/2001/XMLSchema#double"])),KMt(t.u,F8t,Est(Vy(Yee,1),cYt,2,6,[Z8t,"EDouble",t7t,"EDouble:Object"])),KMt(t.F,F8t,Est(Vy(Yee,1),cYt,2,6,[Z8t,"http://www.w3.org/2001/XMLSchema#float"])),KMt(t.G,F8t,Est(Vy(Yee,1),cYt,2,6,[Z8t,"EFloat",t7t,"EFloat:Object"])),KMt(t.I,F8t,Est(Vy(Yee,1),cYt,2,6,[Z8t,"http://www.w3.org/2001/XMLSchema#int"])),KMt(t.J,F8t,Est(Vy(Yee,1),cYt,2,6,[Z8t,"EInt",t7t,"EInt:Object"])),KMt(t.N,F8t,Est(Vy(Yee,1),cYt,2,6,[Z8t,"http://www.w3.org/2001/XMLSchema#long"])),KMt(t.O,F8t,Est(Vy(Yee,1),cYt,2,6,[Z8t,"ELong",t7t,"ELong:Object"])),KMt(t.Z,F8t,Est(Vy(Yee,1),cYt,2,6,[Z8t,"http://www.w3.org/2001/XMLSchema#short"])),KMt(t.$,F8t,Est(Vy(Yee,1),cYt,2,6,[Z8t,"EShort",t7t,"EShort:Object"])),KMt(t._,F8t,Est(Vy(Yee,1),cYt,2,6,[Z8t,"http://www.w3.org/2001/XMLSchema#string"]))}function tKt(t){var e,n,r,o,a,s,c,l,u,h,d,f,g,p,m,b,w,k,v,y,_,C,A,x,E,T,S;if(1==t.c.length)return u1(0,t.c.length),jz(t.c[0],135);if(t.c.length<=0)return new x6;for(l=new Gf(t);l.ad&&(T=0,S+=h+C,h=0),_Pt(y,s,T,S),e=i.Math.max(e,T+_.a),h=i.Math.max(h,_.b),T+=_.a+C;for(v=new Pb,n=new Pb,x=new Gf(t);x.abMt(o))&&(h=o);for(!h&&(u1(0,p.c.length),h=jz(p.c[0],180)),g=new Gf(e.b);g.a=-1900?1:0,aI(t,n>=4?Est(Vy(Yee,1),cYt,2,6,[uXt,hXt])[a]:Est(Vy(Yee,1),cYt,2,6,["BC","AD"])[a]);break;case 121:sbt(t,n,i);break;case 77:GFt(t,n,i);break;case 107:ytt(t,0==(s=r.q.getHours())?24:s,n);break;case 83:NPt(t,n,r);break;case 69:c=i.q.getDay(),aI(t,5==n?Est(Vy(Yee,1),cYt,2,6,["S","M","T","W","T","F","S"])[c]:4==n?Est(Vy(Yee,1),cYt,2,6,[dXt,fXt,gXt,pXt,mXt,bXt,wXt])[c]:Est(Vy(Yee,1),cYt,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[c]);break;case 97:r.q.getHours()>=12&&r.q.getHours()<24?aI(t,Est(Vy(Yee,1),cYt,2,6,["AM","PM"])[1]):aI(t,Est(Vy(Yee,1),cYt,2,6,["AM","PM"])[0]);break;case 104:ytt(t,0==(l=r.q.getHours()%12)?12:l,n);break;case 75:ytt(t,r.q.getHours()%12,n);break;case 72:ytt(t,r.q.getHours(),n);break;case 99:u=i.q.getDay(),5==n?aI(t,Est(Vy(Yee,1),cYt,2,6,["S","M","T","W","T","F","S"])[u]):4==n?aI(t,Est(Vy(Yee,1),cYt,2,6,[dXt,fXt,gXt,pXt,mXt,bXt,wXt])[u]):3==n?aI(t,Est(Vy(Yee,1),cYt,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[u]):ytt(t,u,1);break;case 76:h=i.q.getMonth(),5==n?aI(t,Est(Vy(Yee,1),cYt,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[h]):4==n?aI(t,Est(Vy(Yee,1),cYt,2,6,[XYt,ZYt,QYt,JYt,tXt,eXt,nXt,iXt,rXt,oXt,aXt,sXt])[h]):3==n?aI(t,Est(Vy(Yee,1),cYt,2,6,["Jan","Feb","Mar","Apr",tXt,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[h]):ytt(t,h+1,n);break;case 81:d=i.q.getMonth()/3|0,aI(t,n<4?Est(Vy(Yee,1),cYt,2,6,["Q1","Q2","Q3","Q4"])[d]:Est(Vy(Yee,1),cYt,2,6,["1st quarter","2nd quarter","3rd quarter","4th quarter"])[d]);break;case 100:ytt(t,i.q.getDate(),n);break;case 109:ytt(t,r.q.getMinutes(),n);break;case 115:ytt(t,r.q.getSeconds(),n);break;case 122:aI(t,n<4?o.c[0]:o.c[1]);break;case 118:aI(t,o.b);break;case 90:aI(t,n<3?JSt(o):3==n?fDt(o):gDt(o.a));break;default:return!1}return!0}function aKt(t,e,n,i){var r,o,a,s,c,l,u,h,d,f,g,p,m,b,w,k,v,y,_,C,A,x,E,T,S;if(tFt(e),c=jz(Wet((!e.b&&(e.b=new cF(OIe,e,4,7)),e.b),0),82),u=jz(Wet((!e.c&&(e.c=new cF(OIe,e,5,8)),e.c),0),82),s=EAt(c),l=EAt(u),a=0==(!e.a&&(e.a=new tG(RIe,e,6,6)),e.a).i?null:jz(Wet((!e.a&&(e.a=new tG(RIe,e,6,6)),e.a),0),202),_=jz(OW(t.a,s),10),E=jz(OW(t.a,l),10),C=null,T=null,iP(c,186)&&(iP(y=jz(OW(t.a,c),299),11)?C=jz(y,11):iP(y,10)&&(_=jz(y,10),C=jz(PH(_.j,0),11))),iP(u,186)&&(iP(x=jz(OW(t.a,u),299),11)?T=jz(x,11):iP(x,10)&&(E=jz(x,10),T=jz(PH(E.j,0),11))),!_||!E)throw $b(new iy("The source or the target of edge "+e+" could not be found. This usually happens when an edge connects a node laid out by ELK Layered to a node in another level of hierarchy laid out by either another instance of ELK Layered or another layout algorithm alltogether. The former can be solved by setting the hierarchyHandling option to INCLUDE_CHILDREN."));for(Vat(p=new dZ,e),lct(p,(lKt(),fde),e),lct(p,(zWt(),mme),null),f=jz(wxt(i,Zhe),21),_==E&&f.Fc((dNt(),mhe)),C||(oit(),v=zwe,A=null,a&&mB(jz(wxt(_,tbe),98))&&(Y3(A=new PS(a.j,a.k),UQ(e)),J5(A,n),Tet(l,s)&&(v=$we,qR(A,_.n))),C=gVt(_,A,v,i)),T||(oit(),v=$we,S=null,a&&mB(jz(wxt(E,tbe),98))&&(Y3(S=new PS(a.b,a.c),UQ(e)),J5(S,n)),T=gVt(E,S,v,mK(E))),AJ(p,C),CJ(p,T),(C.e.c.length>1||C.g.c.length>1||T.e.c.length>1||T.g.c.length>1)&&f.Fc((dNt(),hhe)),d=new DP((!e.n&&(e.n=new tG(VIe,e,1,7)),e.n));d.e!=d.i.gc();)if(!zv(_N(QBt(h=jz(vbt(d),137),Vme)))&&h.a)switch(m=zut(h),Gz(p.b,m),jz(wxt(m,Ype),272).g){case 1:case 2:f.Fc((dNt(),lhe));break;case 0:f.Fc((dNt(),she)),lct(m,Ype,(Net(),HTe))}if(o=jz(wxt(i,zpe),314),b=jz(wxt(i,Rme),315),r=o==(Dit(),sue)||b==(Pwt(),pwe),a&&0!=(!a.a&&(a.a=new IP(MIe,a,5)),a.a).i&&r){for(w=VEt(a),g=new kk,k=cbt(w,0);k.b!=k.d.c;)LV(g,new dB(jz(h3(k),8)));lct(p,gde,g)}return p}function sKt(t){t.gb||(t.gb=!0,t.b=vat(t,0),Nrt(t.b,18),Rrt(t.b,19),t.a=vat(t,1),Nrt(t.a,1),Rrt(t.a,2),Rrt(t.a,3),Rrt(t.a,4),Rrt(t.a,5),t.o=vat(t,2),Nrt(t.o,8),Nrt(t.o,9),Rrt(t.o,10),Rrt(t.o,11),Rrt(t.o,12),Rrt(t.o,13),Rrt(t.o,14),Rrt(t.o,15),Rrt(t.o,16),Rrt(t.o,17),Rrt(t.o,18),Rrt(t.o,19),Rrt(t.o,20),Rrt(t.o,21),Rrt(t.o,22),Rrt(t.o,23),aet(t.o),aet(t.o),aet(t.o),aet(t.o),aet(t.o),aet(t.o),aet(t.o),aet(t.o),aet(t.o),aet(t.o),t.p=vat(t,3),Nrt(t.p,2),Nrt(t.p,3),Nrt(t.p,4),Nrt(t.p,5),Rrt(t.p,6),Rrt(t.p,7),aet(t.p),aet(t.p),t.q=vat(t,4),Nrt(t.q,8),t.v=vat(t,5),Rrt(t.v,9),aet(t.v),aet(t.v),aet(t.v),t.w=vat(t,6),Nrt(t.w,2),Nrt(t.w,3),Nrt(t.w,4),Rrt(t.w,5),t.B=vat(t,7),Rrt(t.B,1),aet(t.B),aet(t.B),aet(t.B),t.Q=vat(t,8),Rrt(t.Q,0),aet(t.Q),t.R=vat(t,9),Nrt(t.R,1),t.S=vat(t,10),aet(t.S),aet(t.S),aet(t.S),aet(t.S),aet(t.S),aet(t.S),aet(t.S),aet(t.S),aet(t.S),aet(t.S),aet(t.S),aet(t.S),aet(t.S),aet(t.S),aet(t.S),t.T=vat(t,11),Rrt(t.T,10),Rrt(t.T,11),Rrt(t.T,12),Rrt(t.T,13),Rrt(t.T,14),aet(t.T),aet(t.T),t.U=vat(t,12),Nrt(t.U,2),Nrt(t.U,3),Rrt(t.U,4),Rrt(t.U,5),Rrt(t.U,6),Rrt(t.U,7),aet(t.U),t.V=vat(t,13),Rrt(t.V,10),t.W=vat(t,14),Nrt(t.W,18),Nrt(t.W,19),Nrt(t.W,20),Rrt(t.W,21),Rrt(t.W,22),Rrt(t.W,23),t.bb=vat(t,15),Nrt(t.bb,10),Nrt(t.bb,11),Nrt(t.bb,12),Nrt(t.bb,13),Nrt(t.bb,14),Nrt(t.bb,15),Nrt(t.bb,16),Rrt(t.bb,17),aet(t.bb),aet(t.bb),t.eb=vat(t,16),Nrt(t.eb,2),Nrt(t.eb,3),Nrt(t.eb,4),Nrt(t.eb,5),Nrt(t.eb,6),Nrt(t.eb,7),Rrt(t.eb,8),Rrt(t.eb,9),t.ab=vat(t,17),Nrt(t.ab,0),Nrt(t.ab,1),t.H=vat(t,18),Rrt(t.H,0),Rrt(t.H,1),Rrt(t.H,2),Rrt(t.H,3),Rrt(t.H,4),Rrt(t.H,5),aet(t.H),t.db=vat(t,19),Rrt(t.db,2),t.c=yat(t,20),t.d=yat(t,21),t.e=yat(t,22),t.f=yat(t,23),t.i=yat(t,24),t.g=yat(t,25),t.j=yat(t,26),t.k=yat(t,27),t.n=yat(t,28),t.r=yat(t,29),t.s=yat(t,30),t.t=yat(t,31),t.u=yat(t,32),t.fb=yat(t,33),t.A=yat(t,34),t.C=yat(t,35),t.D=yat(t,36),t.F=yat(t,37),t.G=yat(t,38),t.I=yat(t,39),t.J=yat(t,40),t.L=yat(t,41),t.M=yat(t,42),t.N=yat(t,43),t.O=yat(t,44),t.P=yat(t,45),t.X=yat(t,46),t.Y=yat(t,47),t.Z=yat(t,48),t.$=yat(t,49),t._=yat(t,50),t.cb=yat(t,51),t.K=yat(t,52))}function cKt(){var t,e;cKt=I,tEe=new ob(f4t),bTe=new ob(g4t),fwt(),eEe=new II(W2t,nEe=Exe),iEe=new II(KQt,null),rEe=new ob(p4t),fCt(),lEe=yq(Zxe,Est(Vy(zTe,1),BYt,291,0,[Wxe])),cEe=new II(a3t,lEe),uEe=new II(G2t,(cL(),!1)),jht(),hEe=new II(Z2t,dEe=jTe),Aft(),mEe=new II(k2t,bEe=ZTe),vEe=new II(I5t,!1),aht(),yEe=new II(g2t,_Ee=mSe),GEe=new GB(12),UEe=new II(YQt,GEe),EEe=new II(yJt,!1),TEe=new II(w3t,!1),qEe=new II(AJt,!1),YCt(),oTe=new II(_Jt,aTe=YSe),gTe=new ob(p3t),pTe=new ob(mJt),mTe=new ob(kJt),kTe=new ob(vJt),DEe=new kk,SEe=new II(s3t,DEe),sEe=new II(u3t,!1),CEe=new II(h3t,!1),BEe=new uk,IEe=new II(m3t,BEe),HEe=new II(q2t,!1),wTe=new II(b4t,1),new II(w4t,!0),ndt(0),new II(k4t,ndt(100)),new II(v4t,!1),ndt(0),new II(y4t,ndt(4e3)),ndt(0),new II(_4t,ndt(400)),new II(C4t,!1),new II(A4t,!1),new II(x4t,!0),new II(E4t,!1),jgt(),oEe=new II(d4t,aEe=tIe),vTe=new II(M2t,10),yTe=new II(P2t,10),_Te=new II(GQt,20),CTe=new II(L2t,10),ATe=new II(wJt,2),xTe=new II(O2t,10),TTe=new II(N2t,0),STe=new II(j2t,5),DTe=new II(R2t,1),ITe=new II(F2t,1),BTe=new II(bJt,20),MTe=new II($2t,10),OTe=new II(z2t,10),ETe=new ob(V2t),LTe=new uB,PTe=new II(b3t,LTe),YEe=new ob(g3t),WEe=new II(f3t,KEe=!1),PEe=new GB(5),MEe=new II(Q2t,PEe),JBt(),e=jz(W_(VSe),9),OEe=new YF(e,jz(AR(e,e.length),9),0),LEe=new II(TJt,OEe),rbt(),ZEe=new II(e3t,QEe=jSe),tTe=new ob(n3t),eTe=new ob(i3t),nTe=new ob(r3t),JEe=new ob(o3t),t=jz(W_(YDe),9),REe=new YF(t,jz(AR(t,t.length),9),0),NEe=new II(EJt,REe),VEe=Jdt((JFt(),VDe)),zEe=new II(xJt,VEe),$Ee=new PS(0,0),jEe=new II($Jt,$Ee),FEe=new II(X2t,!1),Net(),gEe=new II(c3t,pEe=HTe),fEe=new II(CJt,!1),ndt(1),new II(S4t,null),iTe=new ob(d3t),sTe=new ob(l3t),vGt(),dTe=new II(U2t,fTe=xDe),rTe=new ob(H2t),hDt(),uTe=Jdt(nDe),lTe=new II(SJt,uTe),cTe=new II(J2t,!1),hTe=new II(t3t,!0),AEe=new II(K2t,!1),xEe=new II(Y2t,!1),wEe=new II(WQt,1),JAt(),new II(D4t,kEe=rSe),XEe=!0}function lKt(){var t,e;lKt=I,fde=new ob(DJt),Fhe=new ob("coordinateOrigin"),Cde=new ob("processors"),Rhe=new eR("compoundNode",(cL(),!1)),tde=new eR("insideConnections",!1),gde=new ob("originalBendpoints"),pde=new ob("originalDummyNodePosition"),mde=new ob("originalLabelEdge"),xde=new ob("representedLabels"),Hhe=new ob("endLabels"),qhe=new ob("endLabel.origin"),ode=new eR("labelSide",(Gvt(),CSe)),hde=new eR("maxEdgeThickness",0),Ede=new eR("reversed",!1),Ade=new ob(IJt),cde=new eR("longEdgeSource",null),lde=new eR("longEdgeTarget",null),sde=new eR("longEdgeHasLabelDummies",!1),ade=new eR("longEdgeBeforeLabelDummy",!1),Vhe=new eR("edgeConstraint",(Zst(),Due)),nde=new ob("inLayerLayoutUnit"),ede=new eR("inLayerConstraint",(H9(),xhe)),ide=new eR("inLayerSuccessorConstraint",new Mb),rde=new eR("inLayerSuccessorConstraintBetweenNonDummies",!1),yde=new ob("portDummy"),jhe=new eR("crossingHint",ndt(0)),Zhe=new eR("graphProperties",new YF(e=jz(W_(_he),9),jz(AR(e,e.length),9),0)),Khe=new eR("externalPortSide",(vGt(),xDe)),Yhe=new eR("externalPortSize",new V_),Ghe=new ob("externalPortReplacedDummies"),Whe=new ob("externalPortReplacedDummy"),Uhe=new eR("externalPortConnections",new YF(t=jz(W_(FDe),9),jz(AR(t,t.length),9),0)),_de=new eR(gQt,0),Phe=new ob("barycenterAssociates"),Nde=new ob("TopSideComments"),Lhe=new ob("BottomSideComments"),Nhe=new ob("CommentConnectionPort"),Jhe=new eR("inputCollect",!1),kde=new eR("outputCollect",!1),zhe=new eR("cyclic",!1),$he=new ob("crossHierarchyMap"),Ode=new ob("targetOffset"),new eR("splineLabelSize",new V_),Dde=new ob("spacings"),vde=new eR("partitionConstraint",!1),Ohe=new ob("breakingPoint.info"),Pde=new ob("splines.survivingEdge"),Mde=new ob("splines.route.start"),Ide=new ob("splines.edgeChain"),wde=new ob("originalPortConstraints"),Sde=new ob("selfLoopHolder"),Bde=new ob("splines.nsPortY"),dde=new ob("modelOrder"),ude=new ob("longEdgeTargetNode"),Xhe=new eR(q1t,!1),Tde=new eR(q1t,!1),Qhe=new ob("layerConstraints.hiddenNodes"),bde=new ob("layerConstraints.opposidePort"),Lde=new ob("targetNode.modelOrder")}function uKt(){uKt=I,Rtt(),Afe=new II(U1t,xfe=Aue),Vfe=new II(G1t,(cL(),!1)),H2(),Wfe=new II(W1t,Kfe=Dhe),dge=new II(K1t,!1),fge=new II(Y1t,!0),qde=new II(X1t,!1),q9(),Mge=new II(Z1t,Pge=Nwe),ndt(1),zge=new II(Q1t,ndt(7)),Vge=new II(J1t,!1),Hfe=new II(t0t,!1),Kwt(),_fe=new II(e0t,Cfe=wue),CAt(),uge=new II(n0t,hge=Jbe),Cft(),tge=new II(i0t,ege=zde),ndt(-1),Jfe=new II(r0t,ndt(-1)),ndt(-1),nge=new II(o0t,ndt(-1)),ndt(-1),ige=new II(a0t,ndt(4)),ndt(-1),oge=new II(s0t,ndt(2)),cLt(),cge=new II(c0t,lge=Twe),ndt(0),sge=new II(l0t,ndt(0)),Zfe=new II(u0t,ndt(OKt)),Dit(),vfe=new II(h0t,yfe=cue),ofe=new II(d0t,!1),gfe=new II(f0t,.1),wfe=new II(g0t,!1),ndt(-1),mfe=new II(p0t,ndt(-1)),ndt(-1),bfe=new II(m0t,ndt(-1)),ndt(0),afe=new II(b0t,ndt(40)),Rat(),hfe=new II(w0t,dfe=yhe),sfe=new II(k0t,cfe=khe),Pwt(),Ige=new II(v0t,Bge=gwe),vge=new ob(y0t),g9(),gge=new II(_0t,pge=zue),$_t(),bge=new II(C0t,wge=Kue),Cge=new II(A0t,.3),xge=new ob(x0t),dwt(),Ege=new II(E0t,Tge=uwe),zot(),Mfe=new II(T0t,Pfe=Gwe),D6(),Lfe=new II(S0t,Ofe=Zwe),Ult(),Nfe=new II(D0t,Rfe=nke),jfe=new II(I0t,.2),Ife=new II(B0t,2),Rge=new II(M0t,null),jge=new II(P0t,10),Fge=new II(L0t,10),$ge=new II(O0t,20),ndt(0),Lge=new II(N0t,ndt(0)),ndt(0),Oge=new II(R0t,ndt(0)),ndt(0),Nge=new II(F0t,ndt(0)),Ude=new II(j0t,!1),Zxt(),Kde=new II($0t,Yde=ihe),W7(),Gde=new II(z0t,Wde=rue),Ufe=new II(V0t,!1),ndt(0),qfe=new II(H0t,ndt(16)),ndt(0),Gfe=new II(q0t,ndt(5)),Bst(),upe=new II(U0t,hpe=hke),Hge=new II(G0t,10),Gge=new II(W0t,1),ait(),tpe=new II(K0t,epe=gue),Yge=new ob(Y0t),Qge=ndt(1),ndt(0),Zge=new II(X0t,Qge),got(),ppe=new II(Z0t,mpe=oke),dpe=new ob(Q0t),ape=new II(J0t,!0),rpe=new II(t2t,2),cpe=new II(e2t,!0),pEt(),Sfe=new II(n2t,Dfe=Rue),BTt(),Efe=new II(i2t,Tfe=Zle),wct(),ife=new II(r2t,rfe=Mwe),nfe=new II(o2t,!1),$ht(),Xde=new II(a2t,Zde=dse),Aut(),tfe=new II(s2t,efe=iwe),Qde=new II(c2t,0),Jde=new II(l2t,0),Xfe=vue,Yfe=sue,rge=Qbe,age=Qbe,Qfe=Ybe,aht(),pfe=pSe,kfe=cue,ffe=cue,lfe=cue,ufe=pSe,yge=bwe,_ge=gwe,mge=gwe,kge=gwe,Age=mwe,Dge=bwe,Sge=bwe,Aft(),Ffe=XTe,$fe=XTe,zfe=nke,Bfe=YTe,qge=dke,Uge=uke,Wge=dke,Kge=uke,npe=dke,ipe=uke,Xge=fue,Jge=gue,bpe=dke,wpe=uke,fpe=dke,gpe=uke,spe=uke,ope=uke,lpe=uke}function hKt(){hKt=I,nce=new QE("DIRECTION_PREPROCESSOR",0),Jse=new QE("COMMENT_PREPROCESSOR",1),ice=new QE("EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER",2),kce=new QE("INTERACTIVE_EXTERNAL_PORT_POSITIONER",3),Fce=new QE("PARTITION_PREPROCESSOR",4),Cce=new QE("LABEL_DUMMY_INSERTER",5),qce=new QE("SELF_LOOP_PREPROCESSOR",6),Sce=new QE("LAYER_CONSTRAINT_PREPROCESSOR",7),Nce=new QE("PARTITION_MIDPROCESSOR",8),gce=new QE("HIGH_DEGREE_NODE_LAYER_PROCESSOR",9),Mce=new QE("NODE_PROMOTION",10),Tce=new QE("LAYER_CONSTRAINT_POSTPROCESSOR",11),Rce=new QE("PARTITION_POSTPROCESSOR",12),uce=new QE("HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR",13),Gce=new QE("SEMI_INTERACTIVE_CROSSMIN_PROCESSOR",14),Wse=new QE("BREAKING_POINT_INSERTER",15),Bce=new QE("LONG_EDGE_SPLITTER",16),$ce=new QE("PORT_SIDE_PROCESSOR",17),vce=new QE("INVERTED_PORT_PROCESSOR",18),jce=new QE("PORT_LIST_SORTER",19),Kce=new QE("SORT_BY_INPUT_ORDER_OF_MODEL",20),Lce=new QE("NORTH_SOUTH_PORT_PREPROCESSOR",21),Kse=new QE("BREAKING_POINT_PROCESSOR",22),Oce=new QE(_1t,23),Yce=new QE(C1t,24),Vce=new QE("SELF_LOOP_PORT_RESTORER",25),Wce=new QE("SINGLE_EDGE_GRAPH_WRAPPER",26),yce=new QE("IN_LAYER_CONSTRAINT_PROCESSOR",27),sce=new QE("END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR",28),_ce=new QE("LABEL_AND_NODE_SIZE_PROCESSOR",29),wce=new QE("INNERMOST_NODE_MARGIN_CALCULATOR",30),Uce=new QE("SELF_LOOP_ROUTER",31),Zse=new QE("COMMENT_NODE_MARGIN_CALCULATOR",32),oce=new QE("END_LABEL_PREPROCESSOR",33),xce=new QE("LABEL_DUMMY_SWITCHER",34),Xse=new QE("CENTER_LABEL_MANAGEMENT_PROCESSOR",35),Ece=new QE("LABEL_SIDE_SELECTOR",36),mce=new QE("HYPEREDGE_DUMMY_MERGER",37),hce=new QE("HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR",38),Dce=new QE("LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR",39),fce=new QE("HIERARCHICAL_PORT_POSITION_PROCESSOR",40),tce=new QE("CONSTRAINTS_POSTPROCESSOR",41),Qse=new QE("COMMENT_POSTPROCESSOR",42),bce=new QE("HYPERNODE_PROCESSOR",43),dce=new QE("HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER",44),Ice=new QE("LONG_EDGE_JOINER",45),Hce=new QE("SELF_LOOP_POSTPROCESSOR",46),Yse=new QE("BREAKING_POINT_REMOVER",47),Pce=new QE("NORTH_SOUTH_PORT_POSTPROCESSOR",48),pce=new QE("HORIZONTAL_COMPACTOR",49),Ace=new QE("LABEL_DUMMY_REMOVER",50),cce=new QE("FINAL_SPLINE_BENDPOINTS_CALCULATOR",51),ace=new QE("END_LABEL_SORTER",52),zce=new QE("REVERSED_EDGE_RESTORER",53),rce=new QE("END_LABEL_POSTPROCESSOR",54),lce=new QE("HIERARCHICAL_NODE_RESIZER",55),ece=new QE("DIRECTION_POSTPROCESSOR",56)}function dKt(t,e,n){var r,o,a,s,c,l,u,h,d,f,g,p,m,b,w,k,v,y,_,C,A,x,E,T,S,D,I,B,M,P,L,O,N,R,F,j,$,z,V,H,q,U,G,W,K,Y,X,Z,Q,J,tt,et,nt,it,rt,ot,at,st;for(Q=0,P=0,N=(I=e).length;P0&&(t.a[H.p]=Q++)}for(it=0,L=0,R=(B=n).length;L0;){for(xO(W.b>0),G=0,c=new Gf((H=jz(W.a.Xb(W.c=--W.b),11)).e);c.a0&&(H.j==(vGt(),sDe)?(t.a[H.p]=it,++it):(t.a[H.p]=it+F+$,++$))}it+=$}for(U=new Pb,p=new lB,M=0,O=(D=e).length;Mu.b&&(u.b=K)):H.i.c==Z&&(Ku.c&&(u.c=K));for(H8(m,0,m.length,null),nt=P7(SLe,lXt,25,m.length,15,1),r=P7(SLe,lXt,25,it+1,15,1),w=0;w0;)A%2>0&&(o+=at[A+1]),++at[A=(A-1)/2|0];for(E=P7(zke,zKt,362,2*m.length,0,1),y=0;y'?":bF(b7t,t)?"'(?<' or '(? toIndex: ",vZt=", toIndex: ",yZt="Index: ",_Zt=", Size: ",CZt="org.eclipse.elk.alg.common",AZt={62:1},xZt="org.eclipse.elk.alg.common.compaction",EZt="Scanline/EventHandler",TZt="org.eclipse.elk.alg.common.compaction.oned",SZt="CNode belongs to another CGroup.",DZt="ISpacingsHandler/1",IZt="The ",BZt=" instance has been finished already.",MZt="The direction ",PZt=" is not supported by the CGraph instance.",LZt="OneDimensionalCompactor",OZt="OneDimensionalCompactor/lambda$0$Type",NZt="Quadruplet",RZt="ScanlineConstraintCalculator",FZt="ScanlineConstraintCalculator/ConstraintsScanlineHandler",jZt="ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type",$Zt="ScanlineConstraintCalculator/Timestamp",zZt="ScanlineConstraintCalculator/lambda$0$Type",VZt={169:1,45:1},HZt="org.eclipse.elk.alg.common.compaction.options",qZt="org.eclipse.elk.core.data",UZt="org.eclipse.elk.polyomino.traversalStrategy",GZt="org.eclipse.elk.polyomino.lowLevelSort",WZt="org.eclipse.elk.polyomino.highLevelSort",KZt="org.eclipse.elk.polyomino.fill",YZt={130:1},XZt="polyomino",ZZt="org.eclipse.elk.alg.common.networksimplex",QZt={177:1,3:1,4:1},JZt="org.eclipse.elk.alg.common.nodespacing",tQt="org.eclipse.elk.alg.common.nodespacing.cellsystem",eQt="CENTER",nQt={212:1,326:1},iQt={3:1,4:1,5:1,595:1},rQt="LEFT",oQt="RIGHT",aQt="Vertical alignment cannot be null",sQt="BOTTOM",cQt="org.eclipse.elk.alg.common.nodespacing.internal",lQt="UNDEFINED",uQt=.01,hQt="org.eclipse.elk.alg.common.nodespacing.internal.algorithm",dQt="LabelPlacer/lambda$0$Type",fQt="LabelPlacer/lambda$1$Type",gQt="portRatioOrPosition",pQt="org.eclipse.elk.alg.common.overlaps",mQt="DOWN",bQt="org.eclipse.elk.alg.common.polyomino",wQt="NORTH",kQt="EAST",vQt="SOUTH",yQt="WEST",_Qt="org.eclipse.elk.alg.common.polyomino.structures",CQt="Direction",AQt="Grid is only of size ",xQt=". Requested point (",EQt=") is out of bounds.",TQt=" Given center based coordinates were (",SQt="org.eclipse.elk.graph.properties",DQt="IPropertyHolder",IQt={3:1,94:1,134:1},BQt="org.eclipse.elk.alg.common.spore",MQt="org.eclipse.elk.alg.common.utils",PQt={209:1},LQt="org.eclipse.elk.core",OQt="Connected Components Compaction",NQt="org.eclipse.elk.alg.disco",RQt="org.eclipse.elk.alg.disco.graph",FQt="org.eclipse.elk.alg.disco.options",jQt="CompactionStrategy",$Qt="org.eclipse.elk.disco.componentCompaction.strategy",zQt="org.eclipse.elk.disco.componentCompaction.componentLayoutAlgorithm",VQt="org.eclipse.elk.disco.debug.discoGraph",HQt="org.eclipse.elk.disco.debug.discoPolys",qQt="componentCompaction",UQt="org.eclipse.elk.disco",GQt="org.eclipse.elk.spacing.componentComponent",WQt="org.eclipse.elk.edge.thickness",KQt="org.eclipse.elk.aspectRatio",YQt="org.eclipse.elk.padding",XQt="org.eclipse.elk.alg.disco.transform",ZQt=1.5707963267948966,QQt=17976931348623157e292,JQt={3:1,4:1,5:1,192:1},tJt={3:1,6:1,4:1,5:1,106:1,120:1},eJt="org.eclipse.elk.alg.force",nJt="ComponentsProcessor",iJt="ComponentsProcessor/1",rJt="org.eclipse.elk.alg.force.graph",oJt="Component Layout",aJt="org.eclipse.elk.alg.force.model",sJt="org.eclipse.elk.force.model",cJt="org.eclipse.elk.force.iterations",lJt="org.eclipse.elk.force.repulsivePower",uJt="org.eclipse.elk.force.temperature",hJt=.001,dJt="org.eclipse.elk.force.repulsion",fJt="org.eclipse.elk.alg.force.options",gJt=1.600000023841858,pJt="org.eclipse.elk.force",mJt="org.eclipse.elk.priority",bJt="org.eclipse.elk.spacing.nodeNode",wJt="org.eclipse.elk.spacing.edgeLabel",kJt="org.eclipse.elk.randomSeed",vJt="org.eclipse.elk.separateConnectedComponents",yJt="org.eclipse.elk.interactive",_Jt="org.eclipse.elk.portConstraints",CJt="org.eclipse.elk.edgeLabels.inline",AJt="org.eclipse.elk.omitNodeMicroLayout",xJt="org.eclipse.elk.nodeSize.options",EJt="org.eclipse.elk.nodeSize.constraints",TJt="org.eclipse.elk.nodeLabels.placement",SJt="org.eclipse.elk.portLabels.placement",DJt="origin",IJt="random",BJt="boundingBox.upLeft",MJt="boundingBox.lowRight",PJt="org.eclipse.elk.stress.fixed",LJt="org.eclipse.elk.stress.desiredEdgeLength",OJt="org.eclipse.elk.stress.dimension",NJt="org.eclipse.elk.stress.epsilon",RJt="org.eclipse.elk.stress.iterationLimit",FJt="org.eclipse.elk.stress",jJt="ELK Stress",$Jt="org.eclipse.elk.nodeSize.minimum",zJt="org.eclipse.elk.alg.force.stress",VJt="Layered layout",HJt="org.eclipse.elk.alg.layered",qJt="org.eclipse.elk.alg.layered.compaction.components",UJt="org.eclipse.elk.alg.layered.compaction.oned",GJt="org.eclipse.elk.alg.layered.compaction.oned.algs",WJt="org.eclipse.elk.alg.layered.compaction.recthull",KJt="org.eclipse.elk.alg.layered.components",YJt="NONE",XJt={3:1,6:1,4:1,9:1,5:1,122:1},ZJt={3:1,6:1,4:1,5:1,141:1,106:1,120:1},QJt="org.eclipse.elk.alg.layered.compound",JJt={51:1},t1t="org.eclipse.elk.alg.layered.graph",e1t=" -> ",n1t="Not supported by LGraph",i1t="Port side is undefined",r1t={3:1,6:1,4:1,5:1,474:1,141:1,106:1,120:1},o1t={3:1,6:1,4:1,5:1,141:1,193:1,203:1,106:1,120:1},a1t={3:1,6:1,4:1,5:1,141:1,1943:1,203:1,106:1,120:1},s1t="([{\"' \t\r\n",c1t=")]}\"' \t\r\n",l1t="The given string contains parts that cannot be parsed as numbers.",u1t="org.eclipse.elk.core.math",h1t={3:1,4:1,142:1,207:1,414:1},d1t={3:1,4:1,116:1,207:1,414:1},f1t="org.eclipse.elk.layered",g1t="org.eclipse.elk.alg.layered.graph.transform",p1t="ElkGraphImporter",m1t="ElkGraphImporter/lambda$0$Type",b1t="ElkGraphImporter/lambda$1$Type",w1t="ElkGraphImporter/lambda$2$Type",k1t="ElkGraphImporter/lambda$4$Type",v1t="Node margin calculation",y1t="org.eclipse.elk.alg.layered.intermediate",_1t="ONE_SIDED_GREEDY_SWITCH",C1t="TWO_SIDED_GREEDY_SWITCH",A1t="No implementation is available for the layout processor ",x1t="IntermediateProcessorStrategy",E1t="Node '",T1t="FIRST_SEPARATE",S1t="LAST_SEPARATE",D1t="Odd port side processing",I1t="org.eclipse.elk.alg.layered.intermediate.compaction",B1t="org.eclipse.elk.alg.layered.intermediate.greedyswitch",M1t="org.eclipse.elk.alg.layered.p3order.counting",P1t={225:1},L1t="org.eclipse.elk.alg.layered.intermediate.loops",O1t="org.eclipse.elk.alg.layered.intermediate.loops.ordering",N1t="org.eclipse.elk.alg.layered.intermediate.loops.routing",R1t="org.eclipse.elk.alg.layered.intermediate.preserveorder",F1t="org.eclipse.elk.alg.layered.intermediate.wrapping",j1t="org.eclipse.elk.alg.layered.options",$1t="INTERACTIVE",z1t="DEPTH_FIRST",V1t="EDGE_LENGTH",H1t="SELF_LOOPS",q1t="firstTryWithInitialOrder",U1t="org.eclipse.elk.layered.directionCongruency",G1t="org.eclipse.elk.layered.feedbackEdges",W1t="org.eclipse.elk.layered.interactiveReferencePoint",K1t="org.eclipse.elk.layered.mergeEdges",Y1t="org.eclipse.elk.layered.mergeHierarchyEdges",X1t="org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides",Z1t="org.eclipse.elk.layered.portSortingStrategy",Q1t="org.eclipse.elk.layered.thoroughness",J1t="org.eclipse.elk.layered.unnecessaryBendpoints",t0t="org.eclipse.elk.layered.generatePositionAndLayerIds",e0t="org.eclipse.elk.layered.cycleBreaking.strategy",n0t="org.eclipse.elk.layered.layering.strategy",i0t="org.eclipse.elk.layered.layering.layerConstraint",r0t="org.eclipse.elk.layered.layering.layerChoiceConstraint",o0t="org.eclipse.elk.layered.layering.layerId",a0t="org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth",s0t="org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor",c0t="org.eclipse.elk.layered.layering.nodePromotion.strategy",l0t="org.eclipse.elk.layered.layering.nodePromotion.maxIterations",u0t="org.eclipse.elk.layered.layering.coffmanGraham.layerBound",h0t="org.eclipse.elk.layered.crossingMinimization.strategy",d0t="org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder",f0t="org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness",g0t="org.eclipse.elk.layered.crossingMinimization.semiInteractive",p0t="org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint",m0t="org.eclipse.elk.layered.crossingMinimization.positionId",b0t="org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold",w0t="org.eclipse.elk.layered.crossingMinimization.greedySwitch.type",k0t="org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type",v0t="org.eclipse.elk.layered.nodePlacement.strategy",y0t="org.eclipse.elk.layered.nodePlacement.favorStraightEdges",_0t="org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening",C0t="org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment",A0t="org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening",x0t="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility",E0t="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default",T0t="org.eclipse.elk.layered.edgeRouting.selfLoopDistribution",S0t="org.eclipse.elk.layered.edgeRouting.selfLoopOrdering",D0t="org.eclipse.elk.layered.edgeRouting.splines.mode",I0t="org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor",B0t="org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth",M0t="org.eclipse.elk.layered.spacing.baseValue",P0t="org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers",L0t="org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers",O0t="org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers",N0t="org.eclipse.elk.layered.priority.direction",R0t="org.eclipse.elk.layered.priority.shortness",F0t="org.eclipse.elk.layered.priority.straightness",j0t="org.eclipse.elk.layered.compaction.connectedComponents",$0t="org.eclipse.elk.layered.compaction.postCompaction.strategy",z0t="org.eclipse.elk.layered.compaction.postCompaction.constraints",V0t="org.eclipse.elk.layered.highDegreeNodes.treatment",H0t="org.eclipse.elk.layered.highDegreeNodes.threshold",q0t="org.eclipse.elk.layered.highDegreeNodes.treeHeight",U0t="org.eclipse.elk.layered.wrapping.strategy",G0t="org.eclipse.elk.layered.wrapping.additionalEdgeSpacing",W0t="org.eclipse.elk.layered.wrapping.correctionFactor",K0t="org.eclipse.elk.layered.wrapping.cutting.strategy",Y0t="org.eclipse.elk.layered.wrapping.cutting.cuts",X0t="org.eclipse.elk.layered.wrapping.cutting.msd.freedom",Z0t="org.eclipse.elk.layered.wrapping.validify.strategy",Q0t="org.eclipse.elk.layered.wrapping.validify.forbiddenIndices",J0t="org.eclipse.elk.layered.wrapping.multiEdge.improveCuts",t2t="org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty",e2t="org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges",n2t="org.eclipse.elk.layered.edgeLabels.sideSelection",i2t="org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy",r2t="org.eclipse.elk.layered.considerModelOrder.strategy",o2t="org.eclipse.elk.layered.considerModelOrder.noModelOrder",a2t="org.eclipse.elk.layered.considerModelOrder.components",s2t="org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy",c2t="org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence",l2t="org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence",u2t="layering",h2t="layering.minWidth",d2t="layering.nodePromotion",f2t="crossingMinimization",g2t="org.eclipse.elk.hierarchyHandling",p2t="crossingMinimization.greedySwitch",m2t="nodePlacement",b2t="nodePlacement.bk",w2t="edgeRouting",k2t="org.eclipse.elk.edgeRouting",v2t="spacing",y2t="priority",_2t="compaction",C2t="compaction.postCompaction",A2t="Specifies whether and how post-process compaction is applied.",x2t="highDegreeNodes",E2t="wrapping",T2t="wrapping.cutting",S2t="wrapping.validify",D2t="wrapping.multiEdge",I2t="edgeLabels",B2t="considerModelOrder",M2t="org.eclipse.elk.spacing.commentComment",P2t="org.eclipse.elk.spacing.commentNode",L2t="org.eclipse.elk.spacing.edgeEdge",O2t="org.eclipse.elk.spacing.edgeNode",N2t="org.eclipse.elk.spacing.labelLabel",R2t="org.eclipse.elk.spacing.labelPortHorizontal",F2t="org.eclipse.elk.spacing.labelPortVertical",j2t="org.eclipse.elk.spacing.labelNode",$2t="org.eclipse.elk.spacing.nodeSelfLoop",z2t="org.eclipse.elk.spacing.portPort",V2t="org.eclipse.elk.spacing.individual",H2t="org.eclipse.elk.port.borderOffset",q2t="org.eclipse.elk.noLayout",U2t="org.eclipse.elk.port.side",G2t="org.eclipse.elk.debugMode",W2t="org.eclipse.elk.alignment",K2t="org.eclipse.elk.insideSelfLoops.activate",Y2t="org.eclipse.elk.insideSelfLoops.yo",X2t="org.eclipse.elk.nodeSize.fixedGraphSize",Z2t="org.eclipse.elk.direction",Q2t="org.eclipse.elk.nodeLabels.padding",J2t="org.eclipse.elk.portLabels.nextToPortIfPossible",t3t="org.eclipse.elk.portLabels.treatAsGroup",e3t="org.eclipse.elk.portAlignment.default",n3t="org.eclipse.elk.portAlignment.north",i3t="org.eclipse.elk.portAlignment.south",r3t="org.eclipse.elk.portAlignment.west",o3t="org.eclipse.elk.portAlignment.east",a3t="org.eclipse.elk.contentAlignment",s3t="org.eclipse.elk.junctionPoints",c3t="org.eclipse.elk.edgeLabels.placement",l3t="org.eclipse.elk.port.index",u3t="org.eclipse.elk.commentBox",h3t="org.eclipse.elk.hypernode",d3t="org.eclipse.elk.port.anchor",f3t="org.eclipse.elk.partitioning.activate",g3t="org.eclipse.elk.partitioning.partition",p3t="org.eclipse.elk.position",m3t="org.eclipse.elk.margins",b3t="org.eclipse.elk.spacing.portsSurrounding",w3t="org.eclipse.elk.interactiveLayout",k3t="org.eclipse.elk.core.util",v3t={3:1,4:1,5:1,593:1},y3t="NETWORK_SIMPLEX",_3t={123:1,51:1},C3t="org.eclipse.elk.alg.layered.p1cycles",A3t="org.eclipse.elk.alg.layered.p2layers",x3t={402:1,225:1},E3t={832:1,3:1,4:1},T3t="org.eclipse.elk.alg.layered.p3order",S3t="org.eclipse.elk.alg.layered.p4nodes",D3t={3:1,4:1,5:1,840:1},I3t=1e-5,B3t="org.eclipse.elk.alg.layered.p4nodes.bk",M3t="org.eclipse.elk.alg.layered.p5edges",P3t="org.eclipse.elk.alg.layered.p5edges.orthogonal",L3t="org.eclipse.elk.alg.layered.p5edges.orthogonal.direction",O3t=1e-6,N3t="org.eclipse.elk.alg.layered.p5edges.splines",R3t=.09999999999999998,F3t=1e-8,j3t=4.71238898038469,$3t=3.141592653589793,z3t="org.eclipse.elk.alg.mrtree",V3t="org.eclipse.elk.alg.mrtree.graph",H3t="org.eclipse.elk.alg.mrtree.intermediate",q3t="Set neighbors in level",U3t="DESCENDANTS",G3t="org.eclipse.elk.mrtree.weighting",W3t="org.eclipse.elk.mrtree.searchOrder",K3t="org.eclipse.elk.alg.mrtree.options",Y3t="org.eclipse.elk.mrtree",X3t="org.eclipse.elk.tree",Z3t="org.eclipse.elk.alg.radial",Q3t=6.283185307179586,J3t=5e-324,t5t="org.eclipse.elk.alg.radial.intermediate",e5t="org.eclipse.elk.alg.radial.intermediate.compaction",n5t={3:1,4:1,5:1,106:1},i5t="org.eclipse.elk.alg.radial.intermediate.optimization",r5t="No implementation is available for the layout option ",o5t="org.eclipse.elk.alg.radial.options",a5t="org.eclipse.elk.radial.orderId",s5t="org.eclipse.elk.radial.radius",c5t="org.eclipse.elk.radial.compactor",l5t="org.eclipse.elk.radial.compactionStepSize",u5t="org.eclipse.elk.radial.sorter",h5t="org.eclipse.elk.radial.wedgeCriteria",d5t="org.eclipse.elk.radial.optimizationCriteria",f5t="org.eclipse.elk.radial",g5t="org.eclipse.elk.alg.radial.p1position.wedge",p5t="org.eclipse.elk.alg.radial.sorting",m5t=5.497787143782138,b5t=3.9269908169872414,w5t=2.356194490192345,k5t="org.eclipse.elk.alg.rectpacking",v5t="org.eclipse.elk.alg.rectpacking.firstiteration",y5t="org.eclipse.elk.alg.rectpacking.options",_5t="org.eclipse.elk.rectpacking.optimizationGoal",C5t="org.eclipse.elk.rectpacking.lastPlaceShift",A5t="org.eclipse.elk.rectpacking.currentPosition",x5t="org.eclipse.elk.rectpacking.desiredPosition",E5t="org.eclipse.elk.rectpacking.onlyFirstIteration",T5t="org.eclipse.elk.rectpacking.rowCompaction",S5t="org.eclipse.elk.rectpacking.expandToAspectRatio",D5t="org.eclipse.elk.rectpacking.targetWidth",I5t="org.eclipse.elk.expandNodes",B5t="org.eclipse.elk.rectpacking",M5t="org.eclipse.elk.alg.rectpacking.util",P5t="No implementation available for ",L5t="org.eclipse.elk.alg.spore",O5t="org.eclipse.elk.alg.spore.options",N5t="org.eclipse.elk.sporeCompaction",R5t="org.eclipse.elk.underlyingLayoutAlgorithm",F5t="org.eclipse.elk.processingOrder.treeConstruction",j5t="org.eclipse.elk.processingOrder.spanningTreeCostFunction",$5t="org.eclipse.elk.processingOrder.preferredRoot",z5t="org.eclipse.elk.processingOrder.rootSelection",V5t="org.eclipse.elk.structure.structureExtractionStrategy",H5t="org.eclipse.elk.compaction.compactionStrategy",q5t="org.eclipse.elk.compaction.orthogonal",U5t="org.eclipse.elk.overlapRemoval.maxIterations",G5t="org.eclipse.elk.overlapRemoval.runScanline",W5t="processingOrder",K5t="overlapRemoval",Y5t="org.eclipse.elk.sporeOverlap",X5t="org.eclipse.elk.alg.spore.p1structure",Z5t="org.eclipse.elk.alg.spore.p2processingorder",Q5t="org.eclipse.elk.alg.spore.p3execution",J5t="Invalid index: ",t4t="org.eclipse.elk.core.alg",e4t={331:1},n4t={288:1},i4t="Make sure its type is registered with the ",r4t=" utility class.",o4t="true",a4t="false",s4t="Couldn't clone property '",c4t=.05,l4t="org.eclipse.elk.core.options",u4t=1.2999999523162842,h4t="org.eclipse.elk.box",d4t="org.eclipse.elk.box.packingMode",f4t="org.eclipse.elk.algorithm",g4t="org.eclipse.elk.resolvedAlgorithm",p4t="org.eclipse.elk.bendPoints",m4t="org.eclipse.elk.labelManager",b4t="org.eclipse.elk.scaleFactor",w4t="org.eclipse.elk.animate",k4t="org.eclipse.elk.animTimeFactor",v4t="org.eclipse.elk.layoutAncestors",y4t="org.eclipse.elk.maxAnimTime",_4t="org.eclipse.elk.minAnimTime",C4t="org.eclipse.elk.progressBar",A4t="org.eclipse.elk.validateGraph",x4t="org.eclipse.elk.validateOptions",E4t="org.eclipse.elk.zoomToFit",T4t="org.eclipse.elk.font.name",S4t="org.eclipse.elk.font.size",D4t="org.eclipse.elk.edge.type",I4t="partitioning",B4t="nodeLabels",M4t="portAlignment",P4t="nodeSize",L4t="port",O4t="portLabels",N4t="insideSelfLoops",R4t="org.eclipse.elk.fixed",F4t="org.eclipse.elk.random",j4t="port must have a parent node to calculate the port side",$4t="The edge needs to have exactly one edge section. Found: ",z4t="org.eclipse.elk.core.util.adapters",V4t="org.eclipse.emf.ecore",H4t="org.eclipse.elk.graph",q4t="EMapPropertyHolder",U4t="ElkBendPoint",G4t="ElkGraphElement",W4t="ElkConnectableShape",K4t="ElkEdge",Y4t="ElkEdgeSection",X4t="EModelElement",Z4t="ENamedElement",Q4t="ElkLabel",J4t="ElkNode",t6t="ElkPort",e6t={92:1,90:1},n6t="org.eclipse.emf.common.notify.impl",i6t="The feature '",r6t="' is not a valid changeable feature",o6t="Expecting null",a6t="' is not a valid feature",s6t="The feature ID",c6t=" is not a valid feature ID",l6t=32768,u6t={105:1,92:1,90:1,56:1,49:1,97:1},h6t="org.eclipse.emf.ecore.impl",d6t="org.eclipse.elk.graph.impl",f6t="Recursive containment not allowed for ",g6t="The datatype '",p6t="' is not a valid classifier",m6t="The value '",b6t={190:1,3:1,4:1},w6t="The class '",k6t="http://www.eclipse.org/elk/ElkGraph",v6t=1024,y6t="property",_6t="value",C6t="source",A6t="properties",x6t="identifier",E6t="height",T6t="width",S6t="parent",D6t="text",I6t="children",B6t="hierarchical",M6t="sources",P6t="targets",L6t="sections",O6t="bendPoints",N6t="outgoingShape",R6t="incomingShape",F6t="outgoingSections",j6t="incomingSections",$6t="org.eclipse.emf.common.util",z6t="Severe implementation error in the Json to ElkGraph importer.",V6t="id",H6t="org.eclipse.elk.graph.json",q6t="Unhandled parameter types: ",U6t="startPoint",G6t="An edge must have at least one source and one target (edge id: '",W6t="').",K6t="Referenced edge section does not exist: ",Y6t=" (edge id: '",X6t="target",Z6t="sourcePoint",Q6t="targetPoint",J6t="group",t7t="name",e7t="connectableShape cannot be null",n7t="edge cannot be null",i7t="Passed edge is not 'simple'.",r7t="org.eclipse.elk.graph.util",o7t="The 'no duplicates' constraint is violated",a7t="targetIndex=",s7t=", size=",c7t="sourceIndex=",l7t={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1},u7t={3:1,4:1,20:1,28:1,52:1,14:1,47:1,15:1,54:1,67:1,63:1,58:1,588:1},h7t="logging",d7t="measureExecutionTime",f7t="parser.parse.1",g7t="parser.parse.2",p7t="parser.next.1",m7t="parser.next.2",b7t="parser.next.3",w7t="parser.next.4",k7t="parser.factor.1",v7t="parser.factor.2",y7t="parser.factor.3",_7t="parser.factor.4",C7t="parser.factor.5",A7t="parser.factor.6",x7t="parser.atom.1",E7t="parser.atom.2",T7t="parser.atom.3",S7t="parser.atom.4",D7t="parser.atom.5",I7t="parser.cc.1",B7t="parser.cc.2",M7t="parser.cc.3",P7t="parser.cc.5",L7t="parser.cc.6",O7t="parser.cc.7",N7t="parser.cc.8",R7t="parser.ope.1",F7t="parser.ope.2",j7t="parser.ope.3",$7t="parser.descape.1",z7t="parser.descape.2",V7t="parser.descape.3",H7t="parser.descape.4",q7t="parser.descape.5",U7t="parser.process.1",G7t="parser.quantifier.1",W7t="parser.quantifier.2",K7t="parser.quantifier.3",Y7t="parser.quantifier.4",X7t="parser.quantifier.5",Z7t="org.eclipse.emf.common.notify",Q7t={415:1,672:1},J7t={3:1,4:1,20:1,28:1,52:1,14:1,15:1,67:1,58:1},t8t={366:1,143:1},e8t="index=",n8t={3:1,4:1,5:1,126:1},i8t={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,58:1},r8t={3:1,6:1,4:1,5:1,192:1},o8t={3:1,4:1,5:1,165:1,367:1},a8t=";/?:@&=+$,",s8t="invalid authority: ",c8t="EAnnotation",l8t="ETypedElement",u8t="EStructuralFeature",h8t="EAttribute",d8t="EClassifier",f8t="EEnumLiteral",g8t="EGenericType",p8t="EOperation",m8t="EParameter",b8t="EReference",w8t="ETypeParameter",k8t="org.eclipse.emf.ecore.util",v8t={76:1},y8t={3:1,20:1,14:1,15:1,58:1,589:1,76:1,69:1,95:1},_8t="org.eclipse.emf.ecore.util.FeatureMap$Entry",C8t=8192,A8t=2048,x8t="byte",E8t="char",T8t="double",S8t="float",D8t="int",I8t="long",B8t="short",M8t="java.lang.Object",P8t={3:1,4:1,5:1,247:1},L8t={3:1,4:1,5:1,673:1},O8t={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1,69:1},N8t={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1,76:1,69:1,95:1},R8t="mixed",F8t="http:///org/eclipse/emf/ecore/util/ExtendedMetaData",j8t="kind",$8t={3:1,4:1,5:1,674:1},z8t={3:1,4:1,20:1,28:1,52:1,14:1,15:1,67:1,58:1,76:1,69:1,95:1},V8t={20:1,28:1,52:1,14:1,15:1,58:1,69:1},H8t={47:1,125:1,279:1},q8t={72:1,332:1},U8t="The value of type '",G8t="' must be of type '",W8t=1316,K8t="http://www.eclipse.org/emf/2002/Ecore",Y8t=-32768,X8t="constraints",Z8t="baseType",Q8t="getEStructuralFeature",J8t="getFeatureID",t9t="feature",e9t="getOperationID",n9t="operation",i9t="defaultValue",r9t="eTypeParameters",o9t="isInstance",a9t="getEEnumLiteral",s9t="eContainingClass",c9t={55:1},l9t={3:1,4:1,5:1,119:1},u9t="org.eclipse.emf.ecore.resource",h9t={92:1,90:1,591:1,1935:1},d9t="org.eclipse.emf.ecore.resource.impl",f9t="unspecified",g9t="simple",p9t="attribute",m9t="attributeWildcard",b9t="element",w9t="elementWildcard",k9t="collapse",v9t="itemType",y9t="namespace",_9t="##targetNamespace",C9t="whiteSpace",A9t="wildcards",x9t="http://www.eclipse.org/emf/2003/XMLType",E9t="##any",T9t="uninitialized",S9t="The multiplicity constraint is violated",D9t="org.eclipse.emf.ecore.xml.type",I9t="ProcessingInstruction",B9t="SimpleAnyType",M9t="XMLTypeDocumentRoot",P9t="org.eclipse.emf.ecore.xml.type.impl",L9t="INF",O9t="processing",N9t="ENTITIES_._base",R9t="minLength",F9t="ENTITY",j9t="NCName",$9t="IDREFS_._base",z9t="integer",V9t="token",H9t="pattern",q9t="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",U9t="\\i\\c*",G9t="[\\i-[:]][\\c-[:]]*",W9t="nonPositiveInteger",K9t="maxInclusive",Y9t="NMTOKEN",X9t="NMTOKENS_._base",Z9t="nonNegativeInteger",Q9t="minInclusive",J9t="normalizedString",tte="unsignedByte",ete="unsignedInt",nte="18446744073709551615",ite="unsignedShort",rte="processingInstruction",ote="org.eclipse.emf.ecore.xml.type.internal",ate=1114111,ste="Internal Error: shorthands: \\u",cte="xml:isDigit",lte="xml:isWord",ute="xml:isSpace",hte="xml:isNameChar",dte="xml:isInitialNameChar",fte="09٠٩۰۹०९০৯੦੯૦૯୦୯௧௯౦౯೦೯൦൯๐๙໐໙༠༩",gte="AZazÀÖØöøıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁΆΆΈΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆאתװײءغفيٱڷںھۀێېۓەەۥۦअहऽऽक़ॡঅঌএঐওনপরললশহড়ঢ়য়ৡৰৱਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹਖ਼ੜਫ਼ਫ਼ੲੴઅઋઍઍએઑઓનપરલળવહઽઽૠૠଅଌଏଐଓନପରଲଳଶହଽଽଡ଼ଢ଼ୟୡஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹఅఌఎఐఒనపళవహౠౡಅಌಎಐಒನಪಳವಹೞೞೠೡഅഌഎഐഒനപഹൠൡกฮะะาำเๅກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະະາຳຽຽເໄཀཇཉཀྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅟᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼιιῂῄῆῌῐΐῖΊῠῬῲῴῶῼΩΩKÅ℮℮ↀↂ〇〇〡〩ぁゔァヺㄅㄬ一龥가힣",pte="Private Use",mte="ASSIGNED",bte="\0€ÿĀſƀɏɐʯʰ˿̀ͯͰϿЀӿ԰֏֐׿؀ۿ܀ݏހ޿ऀॿঀ৿਀੿઀૿଀୿஀௿ఀ౿ಀ೿ഀൿ඀෿฀๿຀໿ༀ࿿က႟Ⴀჿᄀᇿሀ፿Ꭰ᏿᐀ᙿ ᚟ᚠ᛿ក៿᠀᢯Ḁỿἀ῿ ⁰₟₠⃏⃐⃿℀⅏⅐↏←⇿∀⋿⌀⏿␀␿⑀⑟①⓿─╿▀▟■◿☀⛿✀➿⠀⣿⺀⻿⼀⿟⿰⿿ 〿぀ゟ゠ヿ㄀ㄯ㄰㆏㆐㆟ㆠㆿ㈀㋿㌀㏿㐀䶵一鿿ꀀ꒏꒐꓏가힣豈﫿ffﭏﭐ﷿︠︯︰﹏﹐﹯ﹰ﻾\ufeff\ufeff＀￯",wte="UNASSIGNED",kte={3:1,117:1},vte="org.eclipse.emf.ecore.xml.type.util",yte={3:1,4:1,5:1,368:1},_te="org.eclipse.xtext.xbase.lib",Cte="Cannot add elements to a Range",Ate="Cannot set elements in a Range",xte="Cannot remove elements from a Range",Ete="locale",Tte="default",Ste="user.agent";i.goog=i.goog||{},i.goog.global=i.goog.global||i,Wxt(),fBt(1,null,{},r),AKt.Fb=function(t){return FI(this,t)},AKt.Gb=function(){return this.gm},AKt.Hb=function(){return xL(this)},AKt.Ib=function(){return Q_(tlt(this))+"@"+(Jct(this)>>>0).toString(16)},AKt.equals=function(t){return this.Fb(t)},AKt.hashCode=function(){return this.Hb()},AKt.toString=function(){return this.Ib()},fBt(290,1,{290:1,2026:1},mct),AKt.le=function(t){var e;return(e=new mct).i=4,e.c=t>1?gJ(this,t-1):this,e},AKt.me=function(){return yN(this),this.b},AKt.ne=function(){return Q_(this)},AKt.oe=function(){return yN(this),this.k},AKt.pe=function(){return!!(4&this.i)},AKt.qe=function(){return!!(1&this.i)},AKt.Ib=function(){return oet(this)},AKt.i=0;var Dte,Ite=mW(NKt,"Object",1),Bte=mW(NKt,"Class",290);fBt(1998,1,RKt),mW(FKt,"Optional",1998),fBt(1170,1998,RKt,o),AKt.Fb=function(t){return t===this},AKt.Hb=function(){return 2040732332},AKt.Ib=function(){return"Optional.absent()"},AKt.Jb=function(t){return wW(t),ev(),Dte},mW(FKt,"Absent",1170),fBt(628,1,{},by),mW(FKt,"Joiner",628);var Mte=hH(FKt,"Predicate");fBt(582,1,{169:1,582:1,3:1,45:1},jh),AKt.Mb=function(t){return Rct(this,t)},AKt.Lb=function(t){return Rct(this,t)},AKt.Fb=function(t){var e;return!!iP(t,582)&&(e=jz(t,582),PBt(this.a,e.a))},AKt.Hb=function(){return jct(this.a)+306654252},AKt.Ib=function(){return fTt(this.a)},mW(FKt,"Predicates/AndPredicate",582),fBt(408,1998,{408:1,3:1},$h),AKt.Fb=function(t){var e;return!!iP(t,408)&&(e=jz(t,408),Pht(this.a,e.a))},AKt.Hb=function(){return 1502476572+Jct(this.a)},AKt.Ib=function(){return HKt+this.a+")"},AKt.Jb=function(t){return new $h(GX(t.Kb(this.a),"the Function passed to Optional.transform() must not return null."))},mW(FKt,"Present",408),fBt(198,1,UKt),AKt.Nb=function(t){lG(this,t)},AKt.Qb=function(){hy()},mW(GKt,"UnmodifiableIterator",198),fBt(1978,198,WKt),AKt.Qb=function(){hy()},AKt.Rb=function(t){throw $b(new pw)},AKt.Wb=function(t){throw $b(new pw)},mW(GKt,"UnmodifiableListIterator",1978),fBt(386,1978,WKt),AKt.Ob=function(){return this.c0},AKt.Pb=function(){if(this.c>=this.d)throw $b(new ww);return this.Xb(this.c++)},AKt.Tb=function(){return this.c},AKt.Ub=function(){if(this.c<=0)throw $b(new ww);return this.Xb(--this.c)},AKt.Vb=function(){return this.c-1},AKt.c=0,AKt.d=0,mW(GKt,"AbstractIndexedListIterator",386),fBt(699,198,UKt),AKt.Ob=function(){return Qit(this)},AKt.Pb=function(){return x9(this)},AKt.e=1,mW(GKt,"AbstractIterator",699),fBt(1986,1,{224:1}),AKt.Zb=function(){return this.f||(this.f=this.ac())},AKt.Fb=function(t){return ylt(this,t)},AKt.Hb=function(){return Jct(this.Zb())},AKt.dc=function(){return 0==this.gc()},AKt.ec=function(){return gU(this)},AKt.Ib=function(){return $ft(this.Zb())},mW(GKt,"AbstractMultimap",1986),fBt(726,1986,KKt),AKt.$b=function(){fit(this)},AKt._b=function(t){return G_(this,t)},AKt.ac=function(){return new pA(this,this.c)},AKt.ic=function(t){return this.hc()},AKt.bc=function(){return new $P(this,this.c)},AKt.jc=function(){return this.mc(this.hc())},AKt.kc=function(){return new $k(this)},AKt.lc=function(){return VAt(this.c.vc().Nc(),new s,64,this.d)},AKt.cc=function(t){return c6(this,t)},AKt.fc=function(t){return Put(this,t)},AKt.gc=function(){return this.d},AKt.mc=function(t){return AX(),new $f(t)},AKt.nc=function(){return new jk(this)},AKt.oc=function(){return VAt(this.c.Cc().Nc(),new a,64,this.d)},AKt.pc=function(t,e){return new G6(this,t,e,null)},AKt.d=0,mW(GKt,"AbstractMapBasedMultimap",726),fBt(1631,726,KKt),AKt.hc=function(){return new X6(this.a)},AKt.jc=function(){return AX(),AX(),cne},AKt.cc=function(t){return jz(c6(this,t),15)},AKt.fc=function(t){return jz(Put(this,t),15)},AKt.Zb=function(){return SX(this)},AKt.Fb=function(t){return ylt(this,t)},AKt.qc=function(t){return jz(c6(this,t),15)},AKt.rc=function(t){return jz(Put(this,t),15)},AKt.mc=function(t){return nZ(jz(t,15))},AKt.pc=function(t,e){return e3(this,t,jz(e,15),null)},mW(GKt,"AbstractListMultimap",1631),fBt(732,1,YKt),AKt.Nb=function(t){lG(this,t)},AKt.Ob=function(){return this.c.Ob()||this.e.Ob()},AKt.Pb=function(){var t;return this.e.Ob()||(t=jz(this.c.Pb(),42),this.b=t.cd(),this.a=jz(t.dd(),14),this.e=this.a.Kc()),this.sc(this.b,this.e.Pb())},AKt.Qb=function(){this.e.Qb(),this.a.dc()&&this.c.Qb(),--this.d.d},mW(GKt,"AbstractMapBasedMultimap/Itr",732),fBt(1099,732,YKt,jk),AKt.sc=function(t,e){return e},mW(GKt,"AbstractMapBasedMultimap/1",1099),fBt(1100,1,{},a),AKt.Kb=function(t){return jz(t,14).Nc()},mW(GKt,"AbstractMapBasedMultimap/1methodref$spliterator$Type",1100),fBt(1101,732,YKt,$k),AKt.sc=function(t,e){return new mA(t,e)},mW(GKt,"AbstractMapBasedMultimap/2",1101);var Pte=hH(XKt,"Map");fBt(1967,1,ZKt),AKt.wc=function(t){Jot(this,t)},AKt.yc=function(t,e,n){return Qdt(this,t,e,n)},AKt.$b=function(){this.vc().$b()},AKt.tc=function(t){return Akt(this,t)},AKt._b=function(t){return!!jCt(this,t,!1)},AKt.uc=function(t){var e,n;for(e=this.vc().Kc();e.Ob();)if(n=jz(e.Pb(),42).dd(),VD(t)===VD(n)||null!=t&&Pht(t,n))return!0;return!1},AKt.Fb=function(t){var e,n,i;if(t===this)return!0;if(!iP(t,83))return!1;if(i=jz(t,83),this.gc()!=i.gc())return!1;for(n=i.vc().Kc();n.Ob();)if(e=jz(n.Pb(),42),!this.tc(e))return!1;return!0},AKt.xc=function(t){return zD(jCt(this,t,!1))},AKt.Hb=function(){return zst(this.vc())},AKt.dc=function(){return 0==this.gc()},AKt.ec=function(){return new Ef(this)},AKt.zc=function(t,e){throw $b(new Jv("Put not supported on this map"))},AKt.Ac=function(t){Cot(this,t)},AKt.Bc=function(t){return zD(jCt(this,t,!0))},AKt.gc=function(){return this.vc().gc()},AKt.Ib=function(){return JCt(this)},AKt.Cc=function(){return new Sf(this)},mW(XKt,"AbstractMap",1967),fBt(1987,1967,ZKt),AKt.bc=function(){return new AA(this)},AKt.vc=function(){return fU(this)},AKt.ec=function(){return this.g||(this.g=this.bc())},AKt.Cc=function(){return this.i||(this.i=new xA(this))},mW(GKt,"Maps/ViewCachingAbstractMap",1987),fBt(389,1987,ZKt,pA),AKt.xc=function(t){return vet(this,t)},AKt.Bc=function(t){return Qlt(this,t)},AKt.$b=function(){this.d==this.e.c?this.e.$b():EH(new SH(this))},AKt._b=function(t){return pht(this.d,t)},AKt.Ec=function(){return new qh(this)},AKt.Dc=function(){return this.Ec()},AKt.Fb=function(t){return this===t||Pht(this.d,t)},AKt.Hb=function(){return Jct(this.d)},AKt.ec=function(){return this.e.ec()},AKt.gc=function(){return this.d.gc()},AKt.Ib=function(){return $ft(this.d)},mW(GKt,"AbstractMapBasedMultimap/AsMap",389);var Lte=hH(NKt,"Iterable");fBt(28,1,QKt),AKt.Jc=function(t){t4(this,t)},AKt.Lc=function(){return this.Oc()},AKt.Nc=function(){return new d1(this,0)},AKt.Oc=function(){return new OH(null,this.Nc())},AKt.Fc=function(t){throw $b(new Jv("Add not supported on this collection"))},AKt.Gc=function(t){return jrt(this,t)},AKt.$b=function(){_Y(this)},AKt.Hc=function(t){return kgt(this,t,!1)},AKt.Ic=function(t){return sst(this,t)},AKt.dc=function(){return 0==this.gc()},AKt.Mc=function(t){return kgt(this,t,!0)},AKt.Pc=function(){return iU(this)},AKt.Qc=function(t){return _kt(this,t)},AKt.Ib=function(){return Mxt(this)},mW(XKt,"AbstractCollection",28);var Ote=hH(XKt,"Set");fBt(JKt,28,tYt),AKt.Nc=function(){return new d1(this,1)},AKt.Fb=function(t){return nmt(this,t)},AKt.Hb=function(){return zst(this)},mW(XKt,"AbstractSet",JKt),fBt(1970,JKt,tYt),mW(GKt,"Sets/ImprovedAbstractSet",1970),fBt(1971,1970,tYt),AKt.$b=function(){this.Rc().$b()},AKt.Hc=function(t){return npt(this,t)},AKt.dc=function(){return this.Rc().dc()},AKt.Mc=function(t){var e;return!!this.Hc(t)&&(e=jz(t,42),this.Rc().ec().Mc(e.cd()))},AKt.gc=function(){return this.Rc().gc()},mW(GKt,"Maps/EntrySet",1971),fBt(1097,1971,tYt,qh),AKt.Hc=function(t){return fht(this.a.d.vc(),t)},AKt.Kc=function(){return new SH(this.a)},AKt.Rc=function(){return this.a},AKt.Mc=function(t){var e;return!!fht(this.a.d.vc(),t)&&(e=jz(t,42),$4(this.a.e,e.cd()),!0)},AKt.Nc=function(){return Oz(this.a.d.vc().Nc(),new Uh(this.a))},mW(GKt,"AbstractMapBasedMultimap/AsMap/AsMapEntries",1097),fBt(1098,1,{},Uh),AKt.Kb=function(t){return e4(this.a,jz(t,42))},mW(GKt,"AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type",1098),fBt(730,1,YKt,SH),AKt.Nb=function(t){lG(this,t)},AKt.Pb=function(){var t;return t=jz(this.b.Pb(),42),this.a=jz(t.dd(),14),e4(this.c,t)},AKt.Ob=function(){return this.b.Ob()},AKt.Qb=function(){lat(!!this.a),this.b.Qb(),this.c.e.d-=this.a.gc(),this.a.$b(),this.a=null},mW(GKt,"AbstractMapBasedMultimap/AsMap/AsMapIterator",730),fBt(532,1970,tYt,AA),AKt.$b=function(){this.b.$b()},AKt.Hc=function(t){return this.b._b(t)},AKt.Jc=function(t){wW(t),this.b.wc(new pd(t))},AKt.dc=function(){return this.b.dc()},AKt.Kc=function(){return new uv(this.b.vc().Kc())},AKt.Mc=function(t){return!!this.b._b(t)&&(this.b.Bc(t),!0)},AKt.gc=function(){return this.b.gc()},mW(GKt,"Maps/KeySet",532),fBt(318,532,tYt,$P),AKt.$b=function(){EH(new tA(this,this.b.vc().Kc()))},AKt.Ic=function(t){return this.b.ec().Ic(t)},AKt.Fb=function(t){return this===t||Pht(this.b.ec(),t)},AKt.Hb=function(){return Jct(this.b.ec())},AKt.Kc=function(){return new tA(this,this.b.vc().Kc())},AKt.Mc=function(t){var e,n;return n=0,(e=jz(this.b.Bc(t),14))&&(n=e.gc(),e.$b(),this.a.d-=n),n>0},AKt.Nc=function(){return this.b.ec().Nc()},mW(GKt,"AbstractMapBasedMultimap/KeySet",318),fBt(731,1,YKt,tA),AKt.Nb=function(t){lG(this,t)},AKt.Ob=function(){return this.c.Ob()},AKt.Pb=function(){return this.a=jz(this.c.Pb(),42),this.a.cd()},AKt.Qb=function(){var t;lat(!!this.a),t=jz(this.a.dd(),14),this.c.Qb(),this.b.a.d-=t.gc(),t.$b(),this.a=null},mW(GKt,"AbstractMapBasedMultimap/KeySet/1",731),fBt(491,389,{83:1,161:1},EN),AKt.bc=function(){return this.Sc()},AKt.ec=function(){return this.Tc()},AKt.Sc=function(){return new QC(this.c,this.Uc())},AKt.Tc=function(){return this.b||(this.b=this.Sc())},AKt.Uc=function(){return jz(this.d,161)},mW(GKt,"AbstractMapBasedMultimap/SortedAsMap",491),fBt(542,491,eYt,TN),AKt.bc=function(){return new JC(this.a,jz(jz(this.d,161),171))},AKt.Sc=function(){return new JC(this.a,jz(jz(this.d,161),171))},AKt.ec=function(){return jz(this.b||(this.b=new JC(this.a,jz(jz(this.d,161),171))),271)},AKt.Tc=function(){return jz(this.b||(this.b=new JC(this.a,jz(jz(this.d,161),171))),271)},AKt.Uc=function(){return jz(jz(this.d,161),171)},mW(GKt,"AbstractMapBasedMultimap/NavigableAsMap",542),fBt(490,318,nYt,QC),AKt.Nc=function(){return this.b.ec().Nc()},mW(GKt,"AbstractMapBasedMultimap/SortedKeySet",490),fBt(388,490,iYt,JC),mW(GKt,"AbstractMapBasedMultimap/NavigableKeySet",388),fBt(541,28,QKt,G6),AKt.Fc=function(t){var e,n;return qft(this),n=this.d.dc(),(e=this.d.Fc(t))&&(++this.f.d,n&&vR(this)),e},AKt.Gc=function(t){var e,n,i;return!t.dc()&&(qft(this),i=this.d.gc(),(e=this.d.Gc(t))&&(n=this.d.gc(),this.f.d+=n-i,0==i&&vR(this)),e)},AKt.$b=function(){var t;qft(this),0!=(t=this.d.gc())&&(this.d.$b(),this.f.d-=t,Iq(this))},AKt.Hc=function(t){return qft(this),this.d.Hc(t)},AKt.Ic=function(t){return qft(this),this.d.Ic(t)},AKt.Fb=function(t){return t===this||(qft(this),Pht(this.d,t))},AKt.Hb=function(){return qft(this),Jct(this.d)},AKt.Kc=function(){return qft(this),new Kz(this)},AKt.Mc=function(t){var e;return qft(this),(e=this.d.Mc(t))&&(--this.f.d,Iq(this)),e},AKt.gc=function(){return JD(this)},AKt.Nc=function(){return qft(this),this.d.Nc()},AKt.Ib=function(){return qft(this),$ft(this.d)},mW(GKt,"AbstractMapBasedMultimap/WrappedCollection",541);var Nte=hH(XKt,"List");fBt(728,541,{20:1,28:1,14:1,15:1},sU),AKt.ad=function(t){Frt(this,t)},AKt.Nc=function(){return qft(this),this.d.Nc()},AKt.Vc=function(t,e){var n;qft(this),n=this.d.dc(),jz(this.d,15).Vc(t,e),++this.a.d,n&&vR(this)},AKt.Wc=function(t,e){var n,i,r;return!e.dc()&&(qft(this),r=this.d.gc(),(n=jz(this.d,15).Wc(t,e))&&(i=this.d.gc(),this.a.d+=i-r,0==r&&vR(this)),n)},AKt.Xb=function(t){return qft(this),jz(this.d,15).Xb(t)},AKt.Xc=function(t){return qft(this),jz(this.d,15).Xc(t)},AKt.Yc=function(){return qft(this),new gM(this)},AKt.Zc=function(t){return qft(this),new gX(this,t)},AKt.$c=function(t){var e;return qft(this),e=jz(this.d,15).$c(t),--this.a.d,Iq(this),e},AKt._c=function(t,e){return qft(this),jz(this.d,15)._c(t,e)},AKt.bd=function(t,e){return qft(this),e3(this.a,this.e,jz(this.d,15).bd(t,e),this.b?this.b:this)},mW(GKt,"AbstractMapBasedMultimap/WrappedList",728),fBt(1096,728,{20:1,28:1,14:1,15:1,54:1},SO),mW(GKt,"AbstractMapBasedMultimap/RandomAccessWrappedList",1096),fBt(620,1,YKt,Kz),AKt.Nb=function(t){lG(this,t)},AKt.Ob=function(){return CY(this),this.b.Ob()},AKt.Pb=function(){return CY(this),this.b.Pb()},AKt.Qb=function(){tL(this)},mW(GKt,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",620),fBt(729,620,rYt,gM,gX),AKt.Qb=function(){tL(this)},AKt.Rb=function(t){var e;e=0==JD(this.a),(CY(this),jz(this.b,125)).Rb(t),++this.a.a.d,e&&vR(this.a)},AKt.Sb=function(){return(CY(this),jz(this.b,125)).Sb()},AKt.Tb=function(){return(CY(this),jz(this.b,125)).Tb()},AKt.Ub=function(){return(CY(this),jz(this.b,125)).Ub()},AKt.Vb=function(){return(CY(this),jz(this.b,125)).Vb()},AKt.Wb=function(t){(CY(this),jz(this.b,125)).Wb(t)},mW(GKt,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",729),fBt(727,541,nYt,MN),AKt.Nc=function(){return qft(this),this.d.Nc()},mW(GKt,"AbstractMapBasedMultimap/WrappedSortedSet",727),fBt(1095,727,iYt,DB),mW(GKt,"AbstractMapBasedMultimap/WrappedNavigableSet",1095),fBt(1094,541,tYt,PN),AKt.Nc=function(){return qft(this),this.d.Nc()},mW(GKt,"AbstractMapBasedMultimap/WrappedSet",1094),fBt(1103,1,{},s),AKt.Kb=function(t){return F6(jz(t,42))},mW(GKt,"AbstractMapBasedMultimap/lambda$1$Type",1103),fBt(1102,1,{},Gh),AKt.Kb=function(t){return new mA(this.a,t)},mW(GKt,"AbstractMapBasedMultimap/lambda$2$Type",1102);var Rte,Fte,jte,$te,zte=hH(XKt,"Map/Entry");fBt(345,1,oYt),AKt.Fb=function(t){var e;return!!iP(t,42)&&(e=jz(t,42),dK(this.cd(),e.cd())&&dK(this.dd(),e.dd()))},AKt.Hb=function(){var t,e;return t=this.cd(),e=this.dd(),(null==t?0:Jct(t))^(null==e?0:Jct(e))},AKt.ed=function(t){throw $b(new pw)},AKt.Ib=function(){return this.cd()+"="+this.dd()},mW(GKt,aYt,345),fBt(1988,28,QKt),AKt.$b=function(){this.fd().$b()},AKt.Hc=function(t){var e;return!!iP(t,42)&&(e=jz(t,42),$0(this.fd(),e.cd(),e.dd()))},AKt.Mc=function(t){var e;return!!iP(t,42)&&(e=jz(t,42),z0(this.fd(),e.cd(),e.dd()))},AKt.gc=function(){return this.fd().d},mW(GKt,"Multimaps/Entries",1988),fBt(733,1988,QKt,Wh),AKt.Kc=function(){return this.a.kc()},AKt.fd=function(){return this.a},AKt.Nc=function(){return this.a.lc()},mW(GKt,"AbstractMultimap/Entries",733),fBt(734,733,tYt,zk),AKt.Nc=function(){return this.a.lc()},AKt.Fb=function(t){return qEt(this,t)},AKt.Hb=function(){return $rt(this)},mW(GKt,"AbstractMultimap/EntrySet",734),fBt(735,28,QKt,Kh),AKt.$b=function(){this.a.$b()},AKt.Hc=function(t){return Slt(this.a,t)},AKt.Kc=function(){return this.a.nc()},AKt.gc=function(){return this.a.d},AKt.Nc=function(){return this.a.oc()},mW(GKt,"AbstractMultimap/Values",735),fBt(1989,28,{835:1,20:1,28:1,14:1}),AKt.Jc=function(t){wW(t),yY(this).Jc(new gd(t))},AKt.Nc=function(){var t;return VAt(t=yY(this).Nc(),new v,64|1296&t.qd(),this.a.d)},AKt.Fc=function(t){return dy(),!0},AKt.Gc=function(t){return wW(this),wW(t),iP(t,543)?u2(jz(t,835)):!t.dc()&<t(this,t.Kc())},AKt.Hc=function(t){var e;return((e=jz(hht(SX(this.a),t),14))?e.gc():0)>0},AKt.Fb=function(t){return lMt(this,t)},AKt.Hb=function(){return Jct(yY(this))},AKt.dc=function(){return yY(this).dc()},AKt.Mc=function(t){return _Dt(this,t,1)>0},AKt.Ib=function(){return $ft(yY(this))},mW(GKt,"AbstractMultiset",1989),fBt(1991,1970,tYt),AKt.$b=function(){fit(this.a.a)},AKt.Hc=function(t){var e;return!(!iP(t,492)||(e=jz(t,416),jz(e.a.dd(),14).gc()<=0||i1(this.a,e.a.cd())!=jz(e.a.dd(),14).gc()))},AKt.Mc=function(t){var e,n,i;return!(!iP(t,492)||(e=(n=jz(t,416)).a.cd(),0==(i=jz(n.a.dd(),14).gc())))&&CDt(this.a,e,i)},mW(GKt,"Multisets/EntrySet",1991),fBt(1109,1991,tYt,Yh),AKt.Kc=function(){return new dv(fU(SX(this.a.a)).Kc())},AKt.gc=function(){return SX(this.a.a).gc()},mW(GKt,"AbstractMultiset/EntrySet",1109),fBt(619,726,KKt),AKt.hc=function(){return this.gd()},AKt.jc=function(){return this.hd()},AKt.cc=function(t){return this.jd(t)},AKt.fc=function(t){return this.kd(t)},AKt.Zb=function(){return this.f||(this.f=this.ac())},AKt.hd=function(){return AX(),AX(),une},AKt.Fb=function(t){return ylt(this,t)},AKt.jd=function(t){return jz(c6(this,t),21)},AKt.kd=function(t){return jz(Put(this,t),21)},AKt.mc=function(t){return AX(),new Dy(jz(t,21))},AKt.pc=function(t,e){return new PN(this,t,jz(e,21))},mW(GKt,"AbstractSetMultimap",619),fBt(1657,619,KKt),AKt.hc=function(){return new fC(this.b)},AKt.gd=function(){return new fC(this.b)},AKt.jc=function(){return TW(new fC(this.b))},AKt.hd=function(){return TW(new fC(this.b))},AKt.cc=function(t){return jz(jz(c6(this,t),21),84)},AKt.jd=function(t){return jz(jz(c6(this,t),21),84)},AKt.fc=function(t){return jz(jz(Put(this,t),21),84)},AKt.kd=function(t){return jz(jz(Put(this,t),21),84)},AKt.mc=function(t){return iP(t,271)?TW(jz(t,271)):(AX(),new fL(jz(t,84)))},AKt.Zb=function(){return this.f||(this.f=iP(this.c,171)?new TN(this,jz(this.c,171)):iP(this.c,161)?new EN(this,jz(this.c,161)):new pA(this,this.c))},AKt.pc=function(t,e){return iP(e,271)?new DB(this,t,jz(e,271)):new MN(this,t,jz(e,84))},mW(GKt,"AbstractSortedSetMultimap",1657),fBt(1658,1657,KKt),AKt.Zb=function(){return jz(jz(this.f||(this.f=iP(this.c,171)?new TN(this,jz(this.c,171)):iP(this.c,161)?new EN(this,jz(this.c,161)):new pA(this,this.c)),161),171)},AKt.ec=function(){return jz(jz(this.i||(this.i=iP(this.c,171)?new JC(this,jz(this.c,171)):iP(this.c,161)?new QC(this,jz(this.c,161)):new $P(this,this.c)),84),271)},AKt.bc=function(){return iP(this.c,171)?new JC(this,jz(this.c,171)):iP(this.c,161)?new QC(this,jz(this.c,161)):new $P(this,this.c)},mW(GKt,"AbstractSortedKeySortedSetMultimap",1658),fBt(2010,1,{1947:1}),AKt.Fb=function(t){return T_t(this,t)},AKt.Hb=function(){return zst(this.g||(this.g=new Xh(this)))},AKt.Ib=function(){return JCt(this.f||(this.f=new qP(this)))},mW(GKt,"AbstractTable",2010),fBt(665,JKt,tYt,Xh),AKt.$b=function(){fy()},AKt.Hc=function(t){var e,n;return!!iP(t,468)&&(e=jz(t,682),!!(n=jz(hht(vW(this.a),GD(e.c.e,e.b)),83))&&fht(n.vc(),new mA(GD(e.c.c,e.a),q6(e.c,e.b,e.a))))},AKt.Kc=function(){return ZX(this.a)},AKt.Mc=function(t){var e,n;return!!iP(t,468)&&(e=jz(t,682),!!(n=jz(hht(vW(this.a),GD(e.c.e,e.b)),83))&&ght(n.vc(),new mA(GD(e.c.c,e.a),q6(e.c,e.b,e.a))))},AKt.gc=function(){return HH(this.a)},AKt.Nc=function(){return x2(this.a)},mW(GKt,"AbstractTable/CellSet",665),fBt(1928,28,QKt,Zh),AKt.$b=function(){fy()},AKt.Hc=function(t){return lAt(this.a,t)},AKt.Kc=function(){return QX(this.a)},AKt.gc=function(){return HH(this.a)},AKt.Nc=function(){return Y0(this.a)},mW(GKt,"AbstractTable/Values",1928),fBt(1632,1631,KKt),mW(GKt,"ArrayListMultimapGwtSerializationDependencies",1632),fBt(513,1632,KKt,ay,a1),AKt.hc=function(){return new X6(this.a)},AKt.a=0,mW(GKt,"ArrayListMultimap",513),fBt(664,2010,{664:1,1947:1,3:1},bIt),mW(GKt,"ArrayTable",664),fBt(1924,386,WKt,zP),AKt.Xb=function(t){return new pct(this.a,t)},mW(GKt,"ArrayTable/1",1924),fBt(1925,1,{},zh),AKt.ld=function(t){return new pct(this.a,t)},mW(GKt,"ArrayTable/1methodref$getCell$Type",1925),fBt(2011,1,{682:1}),AKt.Fb=function(t){var e;return t===this||!!iP(t,468)&&(e=jz(t,682),dK(GD(this.c.e,this.b),GD(e.c.e,e.b))&&dK(GD(this.c.c,this.a),GD(e.c.c,e.a))&&dK(q6(this.c,this.b,this.a),q6(e.c,e.b,e.a)))},AKt.Hb=function(){return uut(Est(Vy(Ite,1),zKt,1,5,[GD(this.c.e,this.b),GD(this.c.c,this.a),q6(this.c,this.b,this.a)]))},AKt.Ib=function(){return"("+GD(this.c.e,this.b)+","+GD(this.c.c,this.a)+")="+q6(this.c,this.b,this.a)},mW(GKt,"Tables/AbstractCell",2011),fBt(468,2011,{468:1,682:1},pct),AKt.a=0,AKt.b=0,AKt.d=0,mW(GKt,"ArrayTable/2",468),fBt(1927,1,{},Vh),AKt.ld=function(t){return Y8(this.a,t)},mW(GKt,"ArrayTable/2methodref$getValue$Type",1927),fBt(1926,386,WKt,VP),AKt.Xb=function(t){return Y8(this.a,t)},mW(GKt,"ArrayTable/3",1926),fBt(1979,1967,ZKt),AKt.$b=function(){EH(this.kc())},AKt.vc=function(){return new md(this)},AKt.lc=function(){return new EY(this.kc(),this.gc())},mW(GKt,"Maps/IteratorBasedAbstractMap",1979),fBt(828,1979,ZKt),AKt.$b=function(){throw $b(new pw)},AKt._b=function(t){return Y_(this.c,t)},AKt.kc=function(){return new HP(this,this.c.b.c.gc())},AKt.lc=function(){return wH(this.c.b.c.gc(),16,new Hh(this))},AKt.xc=function(t){var e;return(e=jz(qF(this.c,t),19))?this.nd(e.a):null},AKt.dc=function(){return this.c.b.c.dc()},AKt.ec=function(){return hU(this.c)},AKt.zc=function(t,e){var n;if(!(n=jz(qF(this.c,t),19)))throw $b(new Rv(this.md()+" "+t+" not in "+hU(this.c)));return this.od(n.a,e)},AKt.Bc=function(t){throw $b(new pw)},AKt.gc=function(){return this.c.b.c.gc()},mW(GKt,"ArrayTable/ArrayMap",828),fBt(1923,1,{},Hh),AKt.ld=function(t){return SW(this.a,t)},mW(GKt,"ArrayTable/ArrayMap/0methodref$getEntry$Type",1923),fBt(1921,345,oYt,sA),AKt.cd=function(){return YP(this.a,this.b)},AKt.dd=function(){return this.a.nd(this.b)},AKt.ed=function(t){return this.a.od(this.b,t)},AKt.b=0,mW(GKt,"ArrayTable/ArrayMap/1",1921),fBt(1922,386,WKt,HP),AKt.Xb=function(t){return SW(this.a,t)},mW(GKt,"ArrayTable/ArrayMap/2",1922),fBt(1920,828,ZKt,iG),AKt.md=function(){return"Column"},AKt.nd=function(t){return q6(this.b,this.a,t)},AKt.od=function(t,e){return xst(this.b,this.a,t,e)},AKt.a=0,mW(GKt,"ArrayTable/Row",1920),fBt(829,828,ZKt,qP),AKt.nd=function(t){return new iG(this.a,t)},AKt.zc=function(t,e){return jz(e,83),gy()},AKt.od=function(t,e){return jz(e,83),py()},AKt.md=function(){return"Row"},mW(GKt,"ArrayTable/RowMap",829),fBt(1120,1,uYt,cA),AKt.qd=function(){return-262&this.a.qd()},AKt.rd=function(){return this.a.rd()},AKt.Nb=function(t){this.a.Nb(new iA(t,this.b))},AKt.sd=function(t){return this.a.sd(new nA(t,this.b))},mW(GKt,"CollectSpliterators/1",1120),fBt(1121,1,hYt,nA),AKt.td=function(t){this.a.td(this.b.Kb(t))},mW(GKt,"CollectSpliterators/1/lambda$0$Type",1121),fBt(1122,1,hYt,iA),AKt.td=function(t){this.a.td(this.b.Kb(t))},mW(GKt,"CollectSpliterators/1/lambda$1$Type",1122),fBt(1123,1,uYt,z2),AKt.qd=function(){return this.a},AKt.rd=function(){return this.d&&(this.b=_M(this.b,this.d.rd())),_M(this.b,0)},AKt.Nb=function(t){this.d&&(this.d.Nb(t),this.d=null),this.c.Nb(new eA(this.e,t)),this.b=0},AKt.sd=function(t){for(;;){if(this.d&&this.d.sd(t))return XD(this.b,dYt)&&(this.b=nft(this.b,1)),!0;if(this.d=null,!this.c.sd(new rA(this,this.e)))return!1}},AKt.a=0,AKt.b=0,mW(GKt,"CollectSpliterators/1FlatMapSpliterator",1123),fBt(1124,1,hYt,rA),AKt.td=function(t){fF(this.a,this.b,t)},mW(GKt,"CollectSpliterators/1FlatMapSpliterator/lambda$0$Type",1124),fBt(1125,1,hYt,eA),AKt.td=function(t){aP(this.b,this.a,t)},mW(GKt,"CollectSpliterators/1FlatMapSpliterator/lambda$1$Type",1125),fBt(1117,1,uYt,dF),AKt.qd=function(){return 16464|this.b},AKt.rd=function(){return this.a.rd()},AKt.Nb=function(t){this.a.xe(new aA(t,this.c))},AKt.sd=function(t){return this.a.ye(new oA(t,this.c))},AKt.b=0,mW(GKt,"CollectSpliterators/1WithCharacteristics",1117),fBt(1118,1,fYt,oA),AKt.ud=function(t){this.a.td(this.b.ld(t))},mW(GKt,"CollectSpliterators/1WithCharacteristics/lambda$0$Type",1118),fBt(1119,1,fYt,aA),AKt.ud=function(t){this.a.td(this.b.ld(t))},mW(GKt,"CollectSpliterators/1WithCharacteristics/lambda$1$Type",1119),fBt(245,1,gYt),AKt.wd=function(t){return this.vd(jz(t,245))},AKt.vd=function(t){var e;return t==(Jk(),Fte)?1:t==(tv(),Rte)?-1:(QV(),0!=(e=Pot(this.a,t.a))?e:iP(this,519)==iP(t,519)?0:iP(this,519)?1:-1)},AKt.zd=function(){return this.a},AKt.Fb=function(t){return Lpt(this,t)},mW(GKt,"Cut",245),fBt(1761,245,gYt,My),AKt.vd=function(t){return t==this?0:1},AKt.xd=function(t){throw $b(new cw)},AKt.yd=function(t){t.a+="+∞)"},AKt.zd=function(){throw $b(new Fv(pYt))},AKt.Hb=function(){return IA(),ewt(this)},AKt.Ad=function(t){return!1},AKt.Ib=function(){return"+∞"},mW(GKt,"Cut/AboveAll",1761),fBt(519,245,{245:1,519:1,3:1,35:1},eL),AKt.xd=function(t){oI((t.a+="(",t),this.a)},AKt.yd=function(t){PW(oI(t,this.a),93)},AKt.Hb=function(){return~Jct(this.a)},AKt.Ad=function(t){return QV(),Pot(this.a,t)<0},AKt.Ib=function(){return"/"+this.a+"\\"},mW(GKt,"Cut/AboveValue",519),fBt(1760,245,gYt,Py),AKt.vd=function(t){return t==this?0:-1},AKt.xd=function(t){t.a+="(-∞"},AKt.yd=function(t){throw $b(new cw)},AKt.zd=function(){throw $b(new Fv(pYt))},AKt.Hb=function(){return IA(),ewt(this)},AKt.Ad=function(t){return!0},AKt.Ib=function(){return"-∞"},mW(GKt,"Cut/BelowAll",1760),fBt(1762,245,gYt,nL),AKt.xd=function(t){oI((t.a+="[",t),this.a)},AKt.yd=function(t){PW(oI(t,this.a),41)},AKt.Hb=function(){return Jct(this.a)},AKt.Ad=function(t){return QV(),Pot(this.a,t)<=0},AKt.Ib=function(){return"\\"+this.a+"/"},mW(GKt,"Cut/BelowValue",1762),fBt(537,1,mYt),AKt.Jc=function(t){t4(this,t)},AKt.Ib=function(){return zdt(jz(GX(this,"use Optional.orNull() instead of Optional.or(null)"),20).Kc())},mW(GKt,"FluentIterable",537),fBt(433,537,mYt,SI),AKt.Kc=function(){return new aU(ZP(this.a.Kc(),new u))},mW(GKt,"FluentIterable/2",433),fBt(1046,537,mYt,DI),AKt.Kc=function(){return MG(this)},mW(GKt,"FluentIterable/3",1046),fBt(708,386,WKt,GP),AKt.Xb=function(t){return this.a[t].Kc()},mW(GKt,"FluentIterable/3/1",708),fBt(1972,1,{}),AKt.Ib=function(){return $ft(this.Bd().b)},mW(GKt,"ForwardingObject",1972),fBt(1973,1972,bYt),AKt.Bd=function(){return this.Cd()},AKt.Jc=function(t){t4(this,t)},AKt.Lc=function(){return this.Oc()},AKt.Nc=function(){return new d1(this,0)},AKt.Oc=function(){return new OH(null,this.Nc())},AKt.Fc=function(t){return this.Cd(),aC()},AKt.Gc=function(t){return this.Cd(),sC()},AKt.$b=function(){this.Cd(),cC()},AKt.Hc=function(t){return this.Cd().Hc(t)},AKt.Ic=function(t){return this.Cd().Ic(t)},AKt.dc=function(){return this.Cd().b.dc()},AKt.Kc=function(){return this.Cd().Kc()},AKt.Mc=function(t){return this.Cd(),lC()},AKt.gc=function(){return this.Cd().b.gc()},AKt.Pc=function(){return this.Cd().Pc()},AKt.Qc=function(t){return this.Cd().Qc(t)},mW(GKt,"ForwardingCollection",1973),fBt(1980,28,wYt),AKt.Kc=function(){return this.Ed()},AKt.Fc=function(t){throw $b(new pw)},AKt.Gc=function(t){throw $b(new pw)},AKt.$b=function(){throw $b(new pw)},AKt.Hc=function(t){return null!=t&&kgt(this,t,!1)},AKt.Dd=function(){switch(this.gc()){case 0:return GW(),GW(),jte;case 1:return GW(),new xH(wW(this.Ed().Pb()));default:return new rG(this,this.Pc())}},AKt.Mc=function(t){throw $b(new pw)},mW(GKt,"ImmutableCollection",1980),fBt(712,1980,wYt,nw),AKt.Kc=function(){return B8(this.a.Kc())},AKt.Hc=function(t){return null!=t&&this.a.Hc(t)},AKt.Ic=function(t){return this.a.Ic(t)},AKt.dc=function(){return this.a.dc()},AKt.Ed=function(){return B8(this.a.Kc())},AKt.gc=function(){return this.a.gc()},AKt.Pc=function(){return this.a.Pc()},AKt.Qc=function(t){return this.a.Qc(t)},AKt.Ib=function(){return $ft(this.a)},mW(GKt,"ForwardingImmutableCollection",712),fBt(152,1980,kYt),AKt.Kc=function(){return this.Ed()},AKt.Yc=function(){return this.Fd(0)},AKt.Zc=function(t){return this.Fd(t)},AKt.ad=function(t){Frt(this,t)},AKt.Nc=function(){return new d1(this,16)},AKt.bd=function(t,e){return this.Gd(t,e)},AKt.Vc=function(t,e){throw $b(new pw)},AKt.Wc=function(t,e){throw $b(new pw)},AKt.Fb=function(t){return VBt(this,t)},AKt.Hb=function(){return Sat(this)},AKt.Xc=function(t){return null==t?-1:Ckt(this,t)},AKt.Ed=function(){return this.Fd(0)},AKt.Fd=function(t){return eO(this,t)},AKt.$c=function(t){throw $b(new pw)},AKt._c=function(t,e){throw $b(new pw)},AKt.Gd=function(t,e){return cht(new s1(new TA(this),t,e))},mW(GKt,"ImmutableList",152),fBt(2006,152,kYt),AKt.Kc=function(){return B8(this.Hd().Kc())},AKt.bd=function(t,e){return cht(this.Hd().bd(t,e))},AKt.Hc=function(t){return null!=t&&this.Hd().Hc(t)},AKt.Ic=function(t){return this.Hd().Ic(t)},AKt.Fb=function(t){return Pht(this.Hd(),t)},AKt.Xb=function(t){return GD(this,t)},AKt.Hb=function(){return Jct(this.Hd())},AKt.Xc=function(t){return this.Hd().Xc(t)},AKt.dc=function(){return this.Hd().dc()},AKt.Ed=function(){return B8(this.Hd().Kc())},AKt.gc=function(){return this.Hd().gc()},AKt.Gd=function(t,e){return cht(this.Hd().bd(t,e))},AKt.Pc=function(){return this.Hd().Qc(P7(Ite,zKt,1,this.Hd().gc(),5,1))},AKt.Qc=function(t){return this.Hd().Qc(t)},AKt.Ib=function(){return $ft(this.Hd())},mW(GKt,"ForwardingImmutableList",2006),fBt(714,1,yYt),AKt.vc=function(){return uU(this)},AKt.wc=function(t){Jot(this,t)},AKt.ec=function(){return hU(this)},AKt.yc=function(t,e,n){return Qdt(this,t,e,n)},AKt.Cc=function(){return this.Ld()},AKt.$b=function(){throw $b(new pw)},AKt._b=function(t){return null!=this.xc(t)},AKt.uc=function(t){return this.Ld().Hc(t)},AKt.Jd=function(){return new iw(this)},AKt.Kd=function(){return new rw(this)},AKt.Fb=function(t){return Blt(this,t)},AKt.Hb=function(){return uU(this).Hb()},AKt.dc=function(){return 0==this.gc()},AKt.zc=function(t,e){return my()},AKt.Bc=function(t){throw $b(new pw)},AKt.Ib=function(){return uEt(this)},AKt.Ld=function(){return this.e?this.e:this.e=this.Kd()},AKt.c=null,AKt.d=null,AKt.e=null,mW(GKt,"ImmutableMap",714),fBt(715,714,yYt),AKt._b=function(t){return Y_(this,t)},AKt.uc=function(t){return RA(this.b,t)},AKt.Id=function(){return lht(new Jh(this))},AKt.Jd=function(){return lht(eY(this.b))},AKt.Kd=function(){return sj(),new nw(JK(this.b))},AKt.Fb=function(t){return jA(this.b,t)},AKt.xc=function(t){return qF(this,t)},AKt.Hb=function(){return Jct(this.b.c)},AKt.dc=function(){return this.b.c.dc()},AKt.gc=function(){return this.b.c.gc()},AKt.Ib=function(){return $ft(this.b.c)},mW(GKt,"ForwardingImmutableMap",715),fBt(1974,1973,_Yt),AKt.Bd=function(){return this.Md()},AKt.Cd=function(){return this.Md()},AKt.Nc=function(){return new d1(this,1)},AKt.Fb=function(t){return t===this||this.Md().Fb(t)},AKt.Hb=function(){return this.Md().Hb()},mW(GKt,"ForwardingSet",1974),fBt(1069,1974,_Yt,Jh),AKt.Bd=function(){return tY(this.a.b)},AKt.Cd=function(){return tY(this.a.b)},AKt.Hc=function(t){if(iP(t,42)&&null==jz(t,42).cd())return!1;try{return NA(tY(this.a.b),t)}catch(t){if(iP(t=hst(t),205))return!1;throw $b(t)}},AKt.Md=function(){return tY(this.a.b)},AKt.Qc=function(t){var e;return e=TZ(tY(this.a.b),t),tY(this.a.b).b.gc()=0?"+":"")+(n/60|0),e=qI(i.Math.abs(n)%60),(mxt(),pne)[this.q.getDay()]+" "+mne[this.q.getMonth()]+" "+qI(this.q.getDate())+" "+qI(this.q.getHours())+":"+qI(this.q.getMinutes())+":"+qI(this.q.getSeconds())+" GMT"+t+e+" "+this.q.getFullYear()};var see,cee,lee,uee,hee,dee,fee,gee,pee,mee,bee,wee=mW(XKt,"Date",199);fBt(1915,199,CXt,Xyt),AKt.a=!1,AKt.b=0,AKt.c=0,AKt.d=0,AKt.e=0,AKt.f=0,AKt.g=!1,AKt.i=0,AKt.j=0,AKt.k=0,AKt.n=0,AKt.o=0,AKt.p=0,mW("com.google.gwt.i18n.shared.impl","DateRecord",1915),fBt(1966,1,{}),AKt.fe=function(){return null},AKt.ge=function(){return null},AKt.he=function(){return null},AKt.ie=function(){return null},AKt.je=function(){return null},mW(AXt,"JSONValue",1966),fBt(216,1966,{216:1},xd,yd),AKt.Fb=function(t){return!!iP(t,216)&&m0(this.a,jz(t,216).a)},AKt.ee=function(){return zb},AKt.Hb=function(){return JX(this.a)},AKt.fe=function(){return this},AKt.Ib=function(){var t,e,n;for(n=new uL("["),e=0,t=this.a.length;e0&&(n.a+=","),oI(n,ftt(this,e));return n.a+="]",n.a},mW(AXt,"JSONArray",216),fBt(483,1966,{483:1},_d),AKt.ee=function(){return Vb},AKt.ge=function(){return this},AKt.Ib=function(){return cL(),""+this.a},AKt.a=!1,mW(AXt,"JSONBoolean",483),fBt(985,60,$Yt,gv),mW(AXt,"JSONException",985),fBt(1023,1966,{},w),AKt.ee=function(){return Wb},AKt.Ib=function(){return qKt},mW(AXt,"JSONNull",1023),fBt(258,1966,{258:1},Cd),AKt.Fb=function(t){return!!iP(t,258)&&this.a==jz(t,258).a},AKt.ee=function(){return Hb},AKt.Hb=function(){return WI(this.a)},AKt.he=function(){return this},AKt.Ib=function(){return this.a+""},AKt.a=0,mW(AXt,"JSONNumber",258),fBt(183,1966,{183:1},pv,Ad),AKt.Fb=function(t){return!!iP(t,183)&&m0(this.a,jz(t,183).a)},AKt.ee=function(){return qb},AKt.Hb=function(){return JX(this.a)},AKt.ie=function(){return this},AKt.Ib=function(){var t,e,n,i,r,o;for(o=new uL("{"),t=!0,i=0,r=(n=yrt(this,P7(Yee,cYt,2,0,6,1))).length;i=0?":"+this.c:"")+")"},AKt.c=0;var jee=mW(NKt,"StackTraceElement",310);DKt={3:1,475:1,35:1,2:1};var $ee,zee,Vee,Hee,qee,Uee,Gee,Wee,Kee,Yee=mW(NKt,VYt,2);fBt(107,418,{475:1},Ay,xy,lL),mW(NKt,"StringBuffer",107),fBt(100,418,{475:1},Ey,Ty,uL),mW(NKt,"StringBuilder",100),fBt(687,73,PXt,Sy),mW(NKt,"StringIndexOutOfBoundsException",687),fBt(2043,1,{}),fBt(844,1,{},O),AKt.Kb=function(t){return jz(t,78).e},mW(NKt,"Throwable/lambda$0$Type",844),fBt(41,60,{3:1,102:1,60:1,78:1,41:1},pw,Jv),mW(NKt,"UnsupportedOperationException",41),fBt(240,236,{3:1,35:1,236:1,240:1},ktt,dC),AKt.wd=function(t){return Zjt(this,jz(t,240))},AKt.ke=function(){return dEt(eHt(this))},AKt.Fb=function(t){var e;return this===t||!!iP(t,240)&&(e=jz(t,240),this.e==e.e&&0==Zjt(this,e))},AKt.Hb=function(){var t;return 0!=this.b?this.b:this.a<54?(t=uat(this.f),this.b=fq(t0(t,-1)),this.b=33*this.b+fq(t0(kU(t,32),-1)),this.b=17*this.b+EQ(this.e),this.b):(this.b=17*Rut(this.c)+EQ(this.e),this.b)},AKt.Ib=function(){return eHt(this)},AKt.a=0,AKt.b=0,AKt.d=0,AKt.e=0,AKt.f=0;var Xee,Zee,Qee,Jee,tne,ene,nne=mW("java.math","BigDecimal",240);fBt(91,236,{3:1,35:1,236:1,91:1},Nbt,U6,uG,bCt,Tmt,IB),AKt.wd=function(t){return tmt(this,jz(t,91))},AKt.ke=function(){return dEt(VWt(this,0))},AKt.Fb=function(t){return cgt(this,t)},AKt.Hb=function(){return Rut(this)},AKt.Ib=function(){return VWt(this,0)},AKt.b=-2,AKt.c=0,AKt.d=0,AKt.e=0;var ine,rne,one,ane,sne=mW("java.math","BigInteger",91);fBt(488,1967,ZKt),AKt.$b=function(){IG(this)},AKt._b=function(t){return cG(this,t)},AKt.uc=function(t){return Mlt(this,t,this.g)||Mlt(this,t,this.f)},AKt.vc=function(){return new xf(this)},AKt.xc=function(t){return OW(this,t)},AKt.zc=function(t,e){return WK(this,t,e)},AKt.Bc=function(t){return m6(this,t)},AKt.gc=function(){return MA(this)},mW(XKt,"AbstractHashMap",488),fBt(261,JKt,tYt,xf),AKt.$b=function(){this.a.$b()},AKt.Hc=function(t){return b2(this,t)},AKt.Kc=function(){return new alt(this.a)},AKt.Mc=function(t){var e;return!!b2(this,t)&&(e=jz(t,42).cd(),this.a.Bc(e),!0)},AKt.gc=function(){return this.a.gc()},mW(XKt,"AbstractHashMap/EntrySet",261),fBt(262,1,YKt,alt),AKt.Nb=function(t){lG(this,t)},AKt.Pb=function(){return tnt(this)},AKt.Ob=function(){return this.b},AKt.Qb=function(){a8(this)},AKt.b=!1,mW(XKt,"AbstractHashMap/EntrySetIterator",262),fBt(417,1,YKt,Af),AKt.Nb=function(t){lG(this,t)},AKt.Ob=function(){return rE(this)},AKt.Pb=function(){return bX(this)},AKt.Qb=function(){lK(this)},AKt.b=0,AKt.c=-1,mW(XKt,"AbstractList/IteratorImpl",417),fBt(96,417,rYt,C2),AKt.Qb=function(){lK(this)},AKt.Rb=function(t){wR(this,t)},AKt.Sb=function(){return this.b>0},AKt.Tb=function(){return this.b},AKt.Ub=function(){return xO(this.b>0),this.a.Xb(this.c=--this.b)},AKt.Vb=function(){return this.b-1},AKt.Wb=function(t){CO(-1!=this.c),this.a._c(this.c,t)},mW(XKt,"AbstractList/ListIteratorImpl",96),fBt(219,52,MYt,s1),AKt.Vc=function(t,e){BJ(t,this.b),this.c.Vc(this.a+t,e),++this.b},AKt.Xb=function(t){return u1(t,this.b),this.c.Xb(this.a+t)},AKt.$c=function(t){var e;return u1(t,this.b),e=this.c.$c(this.a+t),--this.b,e},AKt._c=function(t,e){return u1(t,this.b),this.c._c(this.a+t,e)},AKt.gc=function(){return this.b},AKt.a=0,AKt.b=0,mW(XKt,"AbstractList/SubList",219),fBt(384,JKt,tYt,Ef),AKt.$b=function(){this.a.$b()},AKt.Hc=function(t){return this.a._b(t)},AKt.Kc=function(){return new Tf(this.a.vc().Kc())},AKt.Mc=function(t){return!!this.a._b(t)&&(this.a.Bc(t),!0)},AKt.gc=function(){return this.a.gc()},mW(XKt,"AbstractMap/1",384),fBt(691,1,YKt,Tf),AKt.Nb=function(t){lG(this,t)},AKt.Ob=function(){return this.a.Ob()},AKt.Pb=function(){return jz(this.a.Pb(),42).cd()},AKt.Qb=function(){this.a.Qb()},mW(XKt,"AbstractMap/1/1",691),fBt(226,28,QKt,Sf),AKt.$b=function(){this.a.$b()},AKt.Hc=function(t){return this.a.uc(t)},AKt.Kc=function(){return new Nf(this.a.vc().Kc())},AKt.gc=function(){return this.a.gc()},mW(XKt,"AbstractMap/2",226),fBt(294,1,YKt,Nf),AKt.Nb=function(t){lG(this,t)},AKt.Ob=function(){return this.a.Ob()},AKt.Pb=function(){return jz(this.a.Pb(),42).dd()},AKt.Qb=function(){this.a.Qb()},mW(XKt,"AbstractMap/2/1",294),fBt(484,1,{484:1,42:1}),AKt.Fb=function(t){var e;return!!iP(t,42)&&(e=jz(t,42),iY(this.d,e.cd())&&iY(this.e,e.dd()))},AKt.cd=function(){return this.d},AKt.dd=function(){return this.e},AKt.Hb=function(){return NB(this.d)^NB(this.e)},AKt.ed=function(t){return pR(this,t)},AKt.Ib=function(){return this.d+"="+this.e},mW(XKt,"AbstractMap/AbstractEntry",484),fBt(383,484,{484:1,383:1,42:1},xE),mW(XKt,"AbstractMap/SimpleEntry",383),fBt(1984,1,KXt),AKt.Fb=function(t){var e;return!!iP(t,42)&&(e=jz(t,42),iY(this.cd(),e.cd())&&iY(this.dd(),e.dd()))},AKt.Hb=function(){return NB(this.cd())^NB(this.dd())},AKt.Ib=function(){return this.cd()+"="+this.dd()},mW(XKt,aYt,1984),fBt(1992,1967,eYt),AKt.tc=function(t){return z4(this,t)},AKt._b=function(t){return LF(this,t)},AKt.vc=function(){return new jf(this)},AKt.xc=function(t){return zD(hlt(this,t))},AKt.ec=function(){return new Rf(this)},mW(XKt,"AbstractNavigableMap",1992),fBt(739,JKt,tYt,jf),AKt.Hc=function(t){return iP(t,42)&&z4(this.b,jz(t,42))},AKt.Kc=function(){return new jR(this.b)},AKt.Mc=function(t){var e;return!!iP(t,42)&&(e=jz(t,42),H7(this.b,e))},AKt.gc=function(){return this.b.c},mW(XKt,"AbstractNavigableMap/EntrySet",739),fBt(493,JKt,iYt,Rf),AKt.Nc=function(){return new dE(this)},AKt.$b=function(){bv(this.a)},AKt.Hc=function(t){return LF(this.a,t)},AKt.Kc=function(){return new Ff(new jR(new PL(this.a).b))},AKt.Mc=function(t){return!!LF(this.a,t)&&(IQ(this.a,t),!0)},AKt.gc=function(){return this.a.c},mW(XKt,"AbstractNavigableMap/NavigableKeySet",493),fBt(494,1,YKt,Ff),AKt.Nb=function(t){lG(this,t)},AKt.Ob=function(){return rE(this.a.a)},AKt.Pb=function(){return bO(this.a).cd()},AKt.Qb=function(){tj(this.a)},mW(XKt,"AbstractNavigableMap/NavigableKeySet/1",494),fBt(2004,28,QKt),AKt.Fc=function(t){return F7(ext(this,t)),!0},AKt.Gc=function(t){return kK(t),mV(t!=this,"Can't add a queue to itself"),jrt(this,t)},AKt.$b=function(){for(;null!=btt(this););},mW(XKt,"AbstractQueue",2004),fBt(302,28,{4:1,20:1,28:1,14:1},Bb,f1),AKt.Fc=function(t){return d3(this,t),!0},AKt.$b=function(){a5(this)},AKt.Hc=function(t){return fst(new hY(this),t)},AKt.dc=function(){return Gv(this)},AKt.Kc=function(){return new hY(this)},AKt.Mc=function(t){return VQ(new hY(this),t)},AKt.gc=function(){return this.c-this.b&this.a.length-1},AKt.Nc=function(){return new d1(this,272)},AKt.Qc=function(t){var e;return e=this.c-this.b&this.a.length-1,t.lengthe&&IW(t,e,null),t},AKt.b=0,AKt.c=0,mW(XKt,"ArrayDeque",302),fBt(446,1,YKt,hY),AKt.Nb=function(t){lG(this,t)},AKt.Ob=function(){return this.a!=this.b},AKt.Pb=function(){return Fut(this)},AKt.Qb=function(){eit(this)},AKt.a=0,AKt.b=0,AKt.c=-1,mW(XKt,"ArrayDeque/IteratorImpl",446),fBt(12,52,YXt,Mb,X6,JF),AKt.Vc=function(t,e){kq(this,t,e)},AKt.Fc=function(t){return Gz(this,t)},AKt.Wc=function(t,e){return sut(this,t,e)},AKt.Gc=function(t){return pst(this,t)},AKt.$b=function(){this.c=P7(Ite,zKt,1,0,5,1)},AKt.Hc=function(t){return-1!=y9(this,t,0)},AKt.Jc=function(t){Det(this,t)},AKt.Xb=function(t){return PH(this,t)},AKt.Xc=function(t){return y9(this,t,0)},AKt.dc=function(){return 0==this.c.length},AKt.Kc=function(){return new Gf(this)},AKt.$c=function(t){return s6(this,t)},AKt.Mc=function(t){return w9(this,t)},AKt.Ud=function(t,e){c1(this,t,e)},AKt._c=function(t,e){return i4(this,t,e)},AKt.gc=function(){return this.c.length},AKt.ad=function(t){bM(this,t)},AKt.Pc=function(){return hO(this)},AKt.Qc=function(t){return Ymt(this,t)};var cne,lne,une,hne,dne,fne,gne,pne,mne,bne=mW(XKt,"ArrayList",12);fBt(7,1,YKt,Gf),AKt.Nb=function(t){lG(this,t)},AKt.Ob=function(){return wM(this)},AKt.Pb=function(){return Q1(this)},AKt.Qb=function(){DG(this)},AKt.a=0,AKt.b=-1,mW(XKt,"ArrayList/1",7),fBt(2013,i.Function,{},A),AKt.te=function(t,e){return Edt(t,e)},fBt(154,52,XXt,Xv),AKt.Hc=function(t){return-1!=dit(this,t)},AKt.Jc=function(t){var e,n,i,r;for(kK(t),i=0,r=(n=this.a).length;i>>0).toString(16))},AKt.f=0,AKt.i=RXt;var sie,cie,lie,uie,hie=mW(TZt,"CNode",57);fBt(814,1,{},Gw),mW(TZt,"CNode/CNodeBuilder",814),fBt(1525,1,{},gt),AKt.Oe=function(t,e){return 0},AKt.Pe=function(t,e){return 0},mW(TZt,DZt,1525),fBt(1790,1,{},pt),AKt.Le=function(t){var e,n,r,o,a,s,c,l,u,h,d,f,g,p,m;for(u=NXt,r=new Gf(t.a.b);r.an.d.c||n.d.c==r.d.c&&n.d.b0?t+this.n.d+this.n.a:0},AKt.Se=function(){var t,e,n,r,o;if(o=0,this.e)this.b?o=this.b.a:this.a[1][1]&&(o=this.a[1][1].Se());else if(this.g)o=Xft(this,Dyt(this,null,!0));else for(Oet(),n=0,r=(e=Est(Vy(Wie,1),BYt,232,0,[Vie,Hie,qie])).length;n0?o+this.n.b+this.n.c:0},AKt.Te=function(){var t,e,n,i,r;if(this.g)for(t=Dyt(this,null,!1),Oet(),i=0,r=(n=Est(Vy(Wie,1),BYt,232,0,[Vie,Hie,qie])).length;i0&&(r[0]+=this.d,n-=r[0]),r[2]>0&&(r[2]+=this.d,n-=r[2]),this.c.a=i.Math.max(0,n),this.c.d=e.d+t.d+(this.c.a-n)/2,r[1]=i.Math.max(r[1],n),K4(this,Hie,e.d+t.d+r[0]-(r[1]-n)/2,r)},AKt.b=null,AKt.d=0,AKt.e=!1,AKt.f=!1,AKt.g=!1;var Kie,Yie,Xie,Zie=0,Qie=0;mW(tQt,"GridContainerCell",1473),fBt(461,22,{3:1,35:1,22:1,461:1},VE);var Jie,tre=$nt(tQt,"HorizontalLabelAlignment",461,Ute,b1,gj);fBt(306,212,{212:1,306:1},wQ,fet,NZ),AKt.Re=function(){return GV(this)},AKt.Se=function(){return WV(this)},AKt.a=0,AKt.c=!1;var ere,nre,ire,rre=mW(tQt,"LabelCell",306);fBt(244,326,{212:1,326:1,244:1},Smt),AKt.Re=function(){return ADt(this)},AKt.Se=function(){return xDt(this)},AKt.Te=function(){F$t(this)},AKt.Ue=function(){H$t(this)},AKt.b=0,AKt.c=0,AKt.d=!1,mW(tQt,"StripContainerCell",244),fBt(1626,1,OYt,_t),AKt.Mb=function(t){return Kv(jz(t,212))},mW(tQt,"StripContainerCell/lambda$0$Type",1626),fBt(1627,1,{},Ct),AKt.Fe=function(t){return jz(t,212).Se()},mW(tQt,"StripContainerCell/lambda$1$Type",1627),fBt(1628,1,OYt,At),AKt.Mb=function(t){return Yv(jz(t,212))},mW(tQt,"StripContainerCell/lambda$2$Type",1628),fBt(1629,1,{},xt),AKt.Fe=function(t){return jz(t,212).Re()},mW(tQt,"StripContainerCell/lambda$3$Type",1629),fBt(462,22,{3:1,35:1,22:1,462:1},HE);var ore,are,sre,cre,lre,ure,hre,dre,fre,gre,pre,mre,bre,wre,kre,vre,yre,_re,Cre,Are,xre,Ere,Tre,Sre=$nt(tQt,"VerticalLabelAlignment",462,Ute,w1,pj);fBt(789,1,{},eGt),AKt.c=0,AKt.d=0,AKt.k=0,AKt.s=0,AKt.t=0,AKt.v=!1,AKt.w=0,AKt.D=!1,mW(cQt,"NodeContext",789),fBt(1471,1,AZt,Et),AKt.ue=function(t,e){return YI(jz(t,61),jz(e,61))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(cQt,"NodeContext/0methodref$comparePortSides$Type",1471),fBt(1472,1,AZt,Tt),AKt.ue=function(t,e){return UAt(jz(t,111),jz(e,111))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(cQt,"NodeContext/1methodref$comparePortContexts$Type",1472),fBt(159,22,{3:1,35:1,22:1,159:1},sot);var Dre,Ire,Bre,Mre,Pre,Lre,Ore,Nre=$nt(cQt,"NodeLabelLocation",159,Ute,tbt,mj);fBt(111,1,{111:1},AIt),AKt.a=!1,mW(cQt,"PortContext",111),fBt(1476,1,hYt,St),AKt.td=function(t){EC(jz(t,306))},mW(hQt,dQt,1476),fBt(1477,1,OYt,Dt),AKt.Mb=function(t){return!!jz(t,111).c},mW(hQt,fQt,1477),fBt(1478,1,hYt,It),AKt.td=function(t){EC(jz(t,111).c)},mW(hQt,"LabelPlacer/lambda$2$Type",1478),fBt(1475,1,hYt,Mt),AKt.td=function(t){zN(),Yb(jz(t,111))},mW(hQt,"NodeLabelAndSizeUtilities/lambda$0$Type",1475),fBt(790,1,hYt,Ij),AKt.td=function(t){Ox(this.b,this.c,this.a,jz(t,181))},AKt.a=!1,AKt.c=!1,mW(hQt,"NodeLabelCellCreator/lambda$0$Type",790),fBt(1474,1,hYt,Eg),AKt.td=function(t){Tw(this.a,jz(t,181))},mW(hQt,"PortContextCreator/lambda$0$Type",1474),fBt(1829,1,{},Pt),mW(pQt,"GreedyRectangleStripOverlapRemover",1829),fBt(1830,1,AZt,Bt),AKt.ue=function(t,e){return FL(jz(t,222),jz(e,222))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(pQt,"GreedyRectangleStripOverlapRemover/0methodref$compareByYCoordinate$Type",1830),fBt(1786,1,{},Zw),AKt.a=5,AKt.e=0,mW(pQt,"RectangleStripOverlapRemover",1786),fBt(1787,1,AZt,Ot),AKt.ue=function(t,e){return jL(jz(t,222),jz(e,222))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(pQt,"RectangleStripOverlapRemover/0methodref$compareLeftRectangleBorders$Type",1787),fBt(1789,1,AZt,Nt),AKt.ue=function(t,e){return XG(jz(t,222),jz(e,222))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(pQt,"RectangleStripOverlapRemover/1methodref$compareRightRectangleBorders$Type",1789),fBt(406,22,{3:1,35:1,22:1,406:1},qE);var Rre,Fre,jre,$re,zre,Vre=$nt(pQt,"RectangleStripOverlapRemover/OverlapRemovalDirection",406,Ute,Y2,bj);fBt(222,1,{222:1},Pq),mW(pQt,"RectangleStripOverlapRemover/RectangleNode",222),fBt(1788,1,hYt,Tg),AKt.td=function(t){Tkt(this.a,jz(t,222))},mW(pQt,"RectangleStripOverlapRemover/lambda$1$Type",1788),fBt(1304,1,AZt,Rt),AKt.ue=function(t,e){return qVt(jz(t,167),jz(e,167))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(bQt,"PolyominoCompactor/CornerCasesGreaterThanRestComparator",1304),fBt(1307,1,{},Ft),AKt.Kb=function(t){return jz(t,324).a},mW(bQt,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$0$Type",1307),fBt(1308,1,OYt,jt),AKt.Mb=function(t){return jz(t,323).a},mW(bQt,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$1$Type",1308),fBt(1309,1,OYt,$t),AKt.Mb=function(t){return jz(t,323).a},mW(bQt,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$2$Type",1309),fBt(1302,1,AZt,zt),AKt.ue=function(t,e){return WRt(jz(t,167),jz(e,167))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(bQt,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator",1302),fBt(1305,1,{},Lt),AKt.Kb=function(t){return jz(t,324).a},mW(bQt,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator/lambda$0$Type",1305),fBt(767,1,AZt,Vt),AKt.ue=function(t,e){return Uat(jz(t,167),jz(e,167))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(bQt,"PolyominoCompactor/MinNumOfExtensionsComparator",767),fBt(1300,1,AZt,Ht),AKt.ue=function(t,e){return Yit(jz(t,321),jz(e,321))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(bQt,"PolyominoCompactor/MinPerimeterComparator",1300),fBt(1301,1,AZt,qt),AKt.ue=function(t,e){return owt(jz(t,321),jz(e,321))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(bQt,"PolyominoCompactor/MinPerimeterComparatorWithShape",1301),fBt(1303,1,AZt,Ut),AKt.ue=function(t,e){return $Ft(jz(t,167),jz(e,167))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(bQt,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator",1303),fBt(1306,1,{},Gt),AKt.Kb=function(t){return jz(t,324).a},mW(bQt,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator/lambda$0$Type",1306),fBt(777,1,{},LE),AKt.Ce=function(t,e){return S2(this,jz(t,46),jz(e,167))},mW(bQt,"SuccessorCombination",777),fBt(644,1,{},Wt),AKt.Ce=function(t,e){var n;return GDt((n=jz(t,46),jz(e,167),n))},mW(bQt,"SuccessorJitter",644),fBt(643,1,{},Kt),AKt.Ce=function(t,e){var n;return dOt((n=jz(t,46),jz(e,167),n))},mW(bQt,"SuccessorLineByLine",643),fBt(568,1,{},Yt),AKt.Ce=function(t,e){var n;return uMt((n=jz(t,46),jz(e,167),n))},mW(bQt,"SuccessorManhattan",568),fBt(1356,1,{},Xt),AKt.Ce=function(t,e){var n;return yLt((n=jz(t,46),jz(e,167),n))},mW(bQt,"SuccessorMaxNormWindingInMathPosSense",1356),fBt(400,1,{},Sg),AKt.Ce=function(t,e){return jG(this,t,e)},AKt.c=!1,AKt.d=!1,AKt.e=!1,AKt.f=!1,mW(bQt,"SuccessorQuadrantsGeneric",400),fBt(1357,1,{},Zt),AKt.Kb=function(t){return jz(t,324).a},mW(bQt,"SuccessorQuadrantsGeneric/lambda$0$Type",1357),fBt(323,22,{3:1,35:1,22:1,323:1},RE),AKt.a=!1;var Hre,qre=$nt(_Qt,CQt,323,Ute,Q2,wj);fBt(1298,1,{}),AKt.Ib=function(){var t,e,n,i,r,o;for(n=" ",t=ndt(0),r=0;r=0?"b"+t+"["+o4(this.a)+"]":"b["+o4(this.a)+"]":"b_"+xL(this)},mW(rJt,"FBendpoint",559),fBt(282,134,{3:1,282:1,94:1,134:1},TR),AKt.Ib=function(){return o4(this)},mW(rJt,"FEdge",282),fBt(231,134,{3:1,231:1,94:1,134:1},w6);var Eoe,Toe,Soe,Doe,Ioe,Boe,Moe,Poe,Loe,Ooe,Noe=mW(rJt,"FGraph",231);fBt(447,357,{3:1,447:1,357:1,94:1,134:1},b5),AKt.Ib=function(){return null==this.b||0==this.b.length?"l["+o4(this.a)+"]":"l_"+this.b},mW(rJt,"FLabel",447),fBt(144,357,{3:1,144:1,357:1,94:1,134:1},zW),AKt.Ib=function(){return p0(this)},AKt.b=0,mW(rJt,"FNode",144),fBt(2003,1,{}),AKt.bf=function(t){c$t(this,t)},AKt.cf=function(){Vkt(this)},AKt.d=0,mW(aJt,"AbstractForceModel",2003),fBt(631,2003,{631:1},Mat),AKt.af=function(t,e){var n,r,o,a;return tDt(this.f,t,e),o=UR(jM(e.d),t.d),a=i.Math.sqrt(o.a*o.a+o.b*o.b),r=i.Math.max(0,a-uK(t.e)/2-uK(e.e)/2),kP(o,((n=Vct(this.e,t,e))>0?-RG(r,this.c)*n:PO(r,this.b)*jz(wxt(t,(uRt(),Zoe)),19).a)/a),o},AKt.bf=function(t){c$t(this,t),this.a=jz(wxt(t,(uRt(),zoe)),19).a,this.c=Vv(CN(wxt(t,iae))),this.b=Vv(CN(wxt(t,Joe)))},AKt.df=function(t){return t0&&(a-=Av(r,this.a)*n),kP(o,a*this.b/s),o},AKt.bf=function(t){var e,n,r,o,a,s,c;for(c$t(this,t),this.b=Vv(CN(wxt(t,(uRt(),rae)))),this.c=this.b/jz(wxt(t,zoe),19).a,r=t.e.c.length,a=0,o=0,c=new Gf(t.e);c.a0},AKt.a=0,AKt.b=0,AKt.c=0,mW(aJt,"FruchtermanReingoldModel",632),fBt(849,1,YZt,Hu),AKt.Qe=function(t){Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,sJt),""),"Force Model"),"Determines the model for force calculation."),Soe),(ETt(),gxe)),Iae),Jdt((ibt(),cxe))))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,cJt),""),"Iterations"),"The number of iterations on the force model."),ndt(300)),mxe),Iee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,lJt),""),"Repulsive Power"),"Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model"),ndt(0)),mxe),Iee),Jdt(oxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,uJt),""),"FR Temperature"),"The temperature is used as a scaling factor for particle displacements."),hJt),fxe),Eee),Jdt(cxe)))),r2(t,uJt,sJt,Poe),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,dJt),""),"Eades Repulsion"),"Factor for repulsive forces in Eades' model."),5),fxe),Eee),Jdt(cxe)))),r2(t,dJt,sJt,Ioe),mGt((new qu,t))},mW(fJt,"ForceMetaDataProvider",849),fBt(424,22,{3:1,35:1,22:1,424:1},UE);var Roe,Foe,joe,$oe,zoe,Voe,Hoe,qoe,Uoe,Goe,Woe,Koe,Yoe,Xoe,Zoe,Qoe,Joe,tae,eae,nae,iae,rae,oae,aae,sae,cae,lae,uae,hae,dae,fae,gae,pae,mae,bae,wae,kae,vae,yae,_ae,Cae,Aae,xae,Eae,Tae,Sae,Dae,Iae=$nt(fJt,"ForceModelStrategy",424,Ute,rQ,yj);fBt(988,1,YZt,qu),AKt.Qe=function(t){mGt(t)},mW(fJt,"ForceOptions",988),fBt(989,1,{},ge),AKt.$e=function(){return new Vw},AKt._e=function(t){},mW(fJt,"ForceOptions/ForceFactory",989),fBt(850,1,YZt,Uu),AKt.Qe=function(t){Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,PJt),""),"Fixed Position"),"Prevent that the node is moved by the layout algorithm."),(cL(),!1)),(ETt(),dxe)),vee),Jdt((ibt(),sxe))))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,LJt),""),"Desired Edge Length"),"Either specified for parent nodes or for individual edges, where the latter takes higher precedence."),100),fxe),Eee),yq(cxe,Est(Vy(vxe,1),BYt,175,0,[oxe]))))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,OJt),""),"Layout Dimension"),"Dimensions that are permitted to be altered during layout."),hae),gxe),$ae),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,NJt),""),"Stress Epsilon"),"Termination criterion for the iterative process."),hJt),fxe),Eee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,RJt),""),"Iteration Limit"),"Maximum number of performed iterations. Takes higher precedence than 'epsilon'."),ndt(OKt)),mxe),Iee),Jdt(cxe)))),Uqt((new Gu,t))},mW(fJt,"StressMetaDataProvider",850),fBt(992,1,YZt,Gu),AKt.Qe=function(t){Uqt(t)},mW(fJt,"StressOptions",992),fBt(993,1,{},pe),AKt.$e=function(){return new SR},AKt._e=function(t){},mW(fJt,"StressOptions/StressFactory",993),fBt(1128,209,PQt,SR),AKt.Ze=function(t,e){var n,i,r,o;for(DAt(e,jJt,1),zv(_N(QBt(t,(iyt(),kae))))?zv(_N(QBt(t,xae)))||vQ(new _g((Vx(),new Lv(t)))):bPt(new Vw,t,wot(e,1)),i=uct(t),o=(n=z$t(this.a,i)).Kc();o.Ob();)(r=jz(o.Pb(),231)).e.c.length<=1||(zVt(this.b,r),nMt(this.b),Det(r.d,new me));xGt(i=HGt(n)),zEt(e)},mW(zJt,"StressLayoutProvider",1128),fBt(1129,1,hYt,me),AKt.td=function(t){Fzt(jz(t,447))},mW(zJt,"StressLayoutProvider/lambda$0$Type",1129),fBt(990,1,{},_w),AKt.c=0,AKt.e=0,AKt.g=0,mW(zJt,"StressMajorization",990),fBt(379,22,{3:1,35:1,22:1,379:1},GE);var Bae,Mae,Pae,Lae,Oae,Nae,Rae,Fae,jae,$ae=$nt(zJt,"StressMajorization/Dimension",379,Ute,v1,_j);fBt(991,1,AZt,Pg),AKt.ue=function(t,e){return AF(this.a,jz(t,144),jz(e,144))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(zJt,"StressMajorization/lambda$0$Type",991),fBt(1229,1,{},L0),mW(HJt,"ElkLayered",1229),fBt(1230,1,hYt,be),AKt.td=function(t){NDt(jz(t,37))},mW(HJt,"ElkLayered/lambda$0$Type",1230),fBt(1231,1,hYt,Lg),AKt.td=function(t){xF(this.a,jz(t,37))},mW(HJt,"ElkLayered/lambda$1$Type",1231),fBt(1263,1,{},IM),mW(HJt,"GraphConfigurator",1263),fBt(759,1,hYt,Og),AKt.td=function(t){Kxt(this.a,jz(t,10))},mW(HJt,"GraphConfigurator/lambda$0$Type",759),fBt(760,1,{},we),AKt.Kb=function(t){return t_t(),new OH(null,new d1(jz(t,29).a,16))},mW(HJt,"GraphConfigurator/lambda$1$Type",760),fBt(761,1,hYt,Ng),AKt.td=function(t){Kxt(this.a,jz(t,10))},mW(HJt,"GraphConfigurator/lambda$2$Type",761),fBt(1127,209,PQt,qw),AKt.Ze=function(t,e){var n;n=xzt(new Jw,t),VD(QBt(t,(zWt(),sme)))===VD((aht(),pSe))?igt(this.a,n,e):fIt(this.a,n,e),pGt(new Ku,n)},mW(HJt,"LayeredLayoutProvider",1127),fBt(356,22,{3:1,35:1,22:1,356:1},WE);var zae,Vae,Hae,qae=$nt(HJt,"LayeredPhases",356,Ute,s4,Cj);fBt(1651,1,{},bit),AKt.i=0,mW(qJt,"ComponentsToCGraphTransformer",1651),fBt(1652,1,{},ke),AKt.ef=function(t,e){return i.Math.min(null!=t.a?Vv(t.a):t.c.i,null!=e.a?Vv(e.a):e.c.i)},AKt.ff=function(t,e){return i.Math.min(null!=t.a?Vv(t.a):t.c.i,null!=e.a?Vv(e.a):e.c.i)},mW(qJt,"ComponentsToCGraphTransformer/1",1652),fBt(81,1,{81:1}),AKt.i=0,AKt.k=!0,AKt.o=RXt;var Uae,Gae,Wae,Kae=mW(UJt,"CNode",81);fBt(460,81,{460:1,81:1},ML,xmt),AKt.Ib=function(){return""},mW(qJt,"ComponentsToCGraphTransformer/CRectNode",460),fBt(1623,1,{},ve),mW(qJt,"OneDimensionalComponentsCompaction",1623),fBt(1624,1,{},ye),AKt.Kb=function(t){return PJ(jz(t,46))},AKt.Fb=function(t){return this===t},mW(qJt,"OneDimensionalComponentsCompaction/lambda$0$Type",1624),fBt(1625,1,{},_e),AKt.Kb=function(t){return _gt(jz(t,46))},AKt.Fb=function(t){return this===t},mW(qJt,"OneDimensionalComponentsCompaction/lambda$1$Type",1625),fBt(1654,1,{},jW),mW(UJt,"CGraph",1654),fBt(189,1,{189:1},Emt),AKt.b=0,AKt.c=0,AKt.e=0,AKt.g=!0,AKt.i=RXt,mW(UJt,"CGroup",189),fBt(1653,1,{},Ee),AKt.ef=function(t,e){return i.Math.max(null!=t.a?Vv(t.a):t.c.i,null!=e.a?Vv(e.a):e.c.i)},AKt.ff=function(t,e){return i.Math.max(null!=t.a?Vv(t.a):t.c.i,null!=e.a?Vv(e.a):e.c.i)},mW(UJt,DZt,1653),fBt(1655,1,{},cIt),AKt.d=!1;var Yae=mW(UJt,LZt,1655);fBt(1656,1,{},Te),AKt.Kb=function(t){return kx(),cL(),0!=jz(jz(t,46).a,81).d.e},AKt.Fb=function(t){return this===t},mW(UJt,OZt,1656),fBt(823,1,{},AH),AKt.a=!1,AKt.b=!1,AKt.c=!1,AKt.d=!1,mW(UJt,NZt,823),fBt(1825,1,{},Lq),mW(GJt,RZt,1825);var Xae=hH(WJt,EZt);fBt(1826,1,{369:1},uZ),AKt.Ke=function(t){HOt(this,jz(t,466))},mW(GJt,FZt,1826),fBt(1827,1,AZt,Se),AKt.ue=function(t,e){return aX(jz(t,81),jz(e,81))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(GJt,jZt,1827),fBt(466,1,{466:1},lT),AKt.a=!1,mW(GJt,$Zt,466),fBt(1828,1,AZt,De),AKt.ue=function(t,e){return Jyt(jz(t,466),jz(e,466))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(GJt,zZt,1828),fBt(140,1,{140:1},fT,bV),AKt.Fb=function(t){var e;return null!=t&&ese==tlt(t)&&(e=jz(t,140),iY(this.c,e.c)&&iY(this.d,e.d))},AKt.Hb=function(){return uut(Est(Vy(Ite,1),zKt,1,5,[this.c,this.d]))},AKt.Ib=function(){return"("+this.c+jKt+this.d+(this.a?"cx":"")+this.b+")"},AKt.a=!0,AKt.c=0,AKt.d=0;var Zae,Qae,Jae,tse,ese=mW(WJt,"Point",140);fBt(405,22,{3:1,35:1,22:1,405:1},KE);var nse,ise,rse,ose,ase,sse,cse,lse,use,hse,dse,fse=$nt(WJt,"Point/Quadrant",405,Ute,J2,Aj);fBt(1642,1,{},Ww),AKt.b=null,AKt.c=null,AKt.d=null,AKt.e=null,AKt.f=null,mW(WJt,"RectilinearConvexHull",1642),fBt(574,1,{369:1},Cbt),AKt.Ke=function(t){R8(this,jz(t,140))},AKt.b=0,mW(WJt,"RectilinearConvexHull/MaximalElementsEventHandler",574),fBt(1644,1,AZt,Ae),AKt.ue=function(t,e){return LY(CN(t),CN(e))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(WJt,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",1644),fBt(1643,1,{369:1},uet),AKt.Ke=function(t){ELt(this,jz(t,140))},AKt.a=0,AKt.b=null,AKt.c=null,AKt.d=null,AKt.e=null,mW(WJt,"RectilinearConvexHull/RectangleEventHandler",1643),fBt(1645,1,AZt,xe),AKt.ue=function(t,e){return o0(jz(t,140),jz(e,140))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(WJt,"RectilinearConvexHull/lambda$0$Type",1645),fBt(1646,1,AZt,Ce),AKt.ue=function(t,e){return a0(jz(t,140),jz(e,140))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(WJt,"RectilinearConvexHull/lambda$1$Type",1646),fBt(1647,1,AZt,Ie),AKt.ue=function(t,e){return c0(jz(t,140),jz(e,140))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(WJt,"RectilinearConvexHull/lambda$2$Type",1647),fBt(1648,1,AZt,Be),AKt.ue=function(t,e){return s0(jz(t,140),jz(e,140))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(WJt,"RectilinearConvexHull/lambda$3$Type",1648),fBt(1649,1,AZt,Me),AKt.ue=function(t,e){return yxt(jz(t,140),jz(e,140))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(WJt,"RectilinearConvexHull/lambda$4$Type",1649),fBt(1650,1,{},SJ),mW(WJt,"Scanline",1650),fBt(2005,1,{}),mW(KJt,"AbstractGraphPlacer",2005),fBt(325,1,{325:1},UO),AKt.mf=function(t){return!!this.nf(t)&&(ZDt(this.b,jz(wxt(t,(lKt(),Uhe)),21),t),!0)},AKt.nf=function(t){var e,n,i;for(e=jz(wxt(t,(lKt(),Uhe)),21),i=jz(c6(lse,e),21).Kc();i.Ob();)if(n=jz(i.Pb(),21),!jz(c6(this.b,n),15).dc())return!1;return!0},mW(KJt,"ComponentGroup",325),fBt(765,2005,{},Kw),AKt.of=function(t){var e;for(e=new Gf(this.a);e.af&&(y=0,_+=d+o,d=0),QRt(s,y+(m=s.c).a,_+m.b),kI(m),n=i.Math.max(n,y+w.a),d=i.Math.max(d,w.b),y+=w.a+o;if(e.f.a=n,e.f.b=_+d,zv(_N(wxt(a,Cpe)))){for(RWt(r=new Pe,t,o),h=t.Kc();h.Ob();)qR(kI(jz(h.Pb(),37).c),r.e);qR(kI(e.f),r.a)}f8(e,t)}else(k=jz(t.Xb(0),37))!=e&&(e.a.c=P7(Ite,zKt,1,0,5,1),BFt(e,k,0,0),Vat(e,k),kX(e.d,k.d),e.f.a=k.f.a,e.f.b=k.f.b)},mW(KJt,"SimpleRowGraphPlacer",1291),fBt(1292,1,AZt,Ne),AKt.ue=function(t,e){return qat(jz(t,37),jz(e,37))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(KJt,"SimpleRowGraphPlacer/1",1292),fBt(1262,1,VZt,Re),AKt.Lb=function(t){var e;return!!(e=jz(wxt(jz(t,243).b,(zWt(),mme)),74))&&0!=e.b},AKt.Fb=function(t){return this===t},AKt.Mb=function(t){var e;return!!(e=jz(wxt(jz(t,243).b,(zWt(),mme)),74))&&0!=e.b},mW(QJt,"CompoundGraphPostprocessor/1",1262),fBt(1261,1,JJt,tk),AKt.pf=function(t,e){wwt(this,jz(t,37),e)},mW(QJt,"CompoundGraphPreprocessor",1261),fBt(441,1,{441:1},qht),AKt.c=!1,mW(QJt,"CompoundGraphPreprocessor/ExternalPort",441),fBt(243,1,{243:1},Bj),AKt.Ib=function(){return fO(this.c)+":"+DDt(this.b)},mW(QJt,"CrossHierarchyEdge",243),fBt(763,1,AZt,Rg),AKt.ue=function(t,e){return Kvt(this,jz(t,243),jz(e,243))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(QJt,"CrossHierarchyEdgeComparator",763),fBt(299,134,{3:1,299:1,94:1,134:1}),AKt.p=0,mW(t1t,"LGraphElement",299),fBt(17,299,{3:1,17:1,299:1,94:1,134:1},dZ),AKt.Ib=function(){return DDt(this)};var wse=mW(t1t,"LEdge",17);fBt(37,299,{3:1,20:1,37:1,299:1,94:1,134:1},wit),AKt.Jc=function(t){t4(this,t)},AKt.Kc=function(){return new Gf(this.b)},AKt.Ib=function(){return 0==this.b.c.length?"G-unlayered"+Mxt(this.a):0==this.a.c.length?"G-layered"+Mxt(this.b):"G[layerless"+Mxt(this.a)+", layers"+Mxt(this.b)+"]"};var kse,vse=mW(t1t,"LGraph",37);fBt(657,1,{}),AKt.qf=function(){return this.e.n},AKt.We=function(t){return wxt(this.e,t)},AKt.rf=function(){return this.e.o},AKt.sf=function(){return this.e.p},AKt.Xe=function(t){return BO(this.e,t)},AKt.tf=function(t){this.e.n.a=t.a,this.e.n.b=t.b},AKt.uf=function(t){this.e.o.a=t.a,this.e.o.b=t.b},AKt.vf=function(t){this.e.p=t},mW(t1t,"LGraphAdapters/AbstractLShapeAdapter",657),fBt(577,1,{839:1},Fg),AKt.wf=function(){var t,e;if(!this.b)for(this.b=sO(this.a.b.c.length),e=new Gf(this.a.b);e.a0&&Out((h1(e-1,t.length),t.charCodeAt(e-1)),c1t);)--e;if(r> ",t),mvt(n)),aI(oI((t.a+="[",t),n.i),"]")),t.a},AKt.c=!0,AKt.d=!1;var Fse,jse,$se,zse,Vse=mW(t1t,"LPort",11);fBt(397,1,mYt,$g),AKt.Jc=function(t){t4(this,t)},AKt.Kc=function(){return new zg(new Gf(this.a.e))},mW(t1t,"LPort/1",397),fBt(1290,1,YKt,zg),AKt.Nb=function(t){lG(this,t)},AKt.Pb=function(){return jz(Q1(this.a),17).c},AKt.Ob=function(){return wM(this.a)},AKt.Qb=function(){DG(this.a)},mW(t1t,"LPort/1/1",1290),fBt(359,1,mYt,Vg),AKt.Jc=function(t){t4(this,t)},AKt.Kc=function(){return new Hg(new Gf(this.a.g))},mW(t1t,"LPort/2",359),fBt(762,1,YKt,Hg),AKt.Nb=function(t){lG(this,t)},AKt.Pb=function(){return jz(Q1(this.a),17).d},AKt.Ob=function(){return wM(this.a)},AKt.Qb=function(){DG(this.a)},mW(t1t,"LPort/2/1",762),fBt(1283,1,mYt,cT),AKt.Jc=function(t){t4(this,t)},AKt.Kc=function(){return new b6(this)},mW(t1t,"LPort/CombineIter",1283),fBt(201,1,YKt,b6),AKt.Nb=function(t){lG(this,t)},AKt.Qb=function(){oC()},AKt.Ob=function(){return HL(this)},AKt.Pb=function(){return wM(this.a)?Q1(this.a):Q1(this.b)},mW(t1t,"LPort/CombineIter/1",201),fBt(1285,1,VZt,$e),AKt.Lb=function(t){return DU(t)},AKt.Fb=function(t){return this===t},AKt.Mb=function(t){return pot(),0!=jz(t,11).e.c.length},mW(t1t,"LPort/lambda$0$Type",1285),fBt(1284,1,VZt,ze),AKt.Lb=function(t){return IU(t)},AKt.Fb=function(t){return this===t},AKt.Mb=function(t){return pot(),0!=jz(t,11).g.c.length},mW(t1t,"LPort/lambda$1$Type",1284),fBt(1286,1,VZt,Ve),AKt.Lb=function(t){return pot(),jz(t,11).j==(vGt(),sDe)},AKt.Fb=function(t){return this===t},AKt.Mb=function(t){return pot(),jz(t,11).j==(vGt(),sDe)},mW(t1t,"LPort/lambda$2$Type",1286),fBt(1287,1,VZt,He),AKt.Lb=function(t){return pot(),jz(t,11).j==(vGt(),aDe)},AKt.Fb=function(t){return this===t},AKt.Mb=function(t){return pot(),jz(t,11).j==(vGt(),aDe)},mW(t1t,"LPort/lambda$3$Type",1287),fBt(1288,1,VZt,qe),AKt.Lb=function(t){return pot(),jz(t,11).j==(vGt(),ADe)},AKt.Fb=function(t){return this===t},AKt.Mb=function(t){return pot(),jz(t,11).j==(vGt(),ADe)},mW(t1t,"LPort/lambda$4$Type",1288),fBt(1289,1,VZt,Ue),AKt.Lb=function(t){return pot(),jz(t,11).j==(vGt(),EDe)},AKt.Fb=function(t){return this===t},AKt.Mb=function(t){return pot(),jz(t,11).j==(vGt(),EDe)},mW(t1t,"LPort/lambda$5$Type",1289),fBt(29,299,{3:1,20:1,299:1,29:1,94:1,134:1},$W),AKt.Jc=function(t){t4(this,t)},AKt.Kc=function(){return new Gf(this.a)},AKt.Ib=function(){return"L_"+y9(this.b.b,this,0)+Mxt(this.a)},mW(t1t,"Layer",29),fBt(1342,1,{},Jw),mW(g1t,p1t,1342),fBt(1346,1,{},Ge),AKt.Kb=function(t){return EAt(jz(t,82))},mW(g1t,"ElkGraphImporter/0methodref$connectableShapeToNode$Type",1346),fBt(1349,1,{},We),AKt.Kb=function(t){return EAt(jz(t,82))},mW(g1t,"ElkGraphImporter/1methodref$connectableShapeToNode$Type",1349),fBt(1343,1,hYt,qg),AKt.td=function(t){EIt(this.a,jz(t,118))},mW(g1t,m1t,1343),fBt(1344,1,hYt,Ug),AKt.td=function(t){EIt(this.a,jz(t,118))},mW(g1t,b1t,1344),fBt(1345,1,{},Ke),AKt.Kb=function(t){return new OH(null,new d1(pY(jz(t,79)),16))},mW(g1t,w1t,1345),fBt(1347,1,OYt,Gg),AKt.Mb=function(t){return RB(this.a,jz(t,33))},mW(g1t,k1t,1347),fBt(1348,1,{},Ye),AKt.Kb=function(t){return new OH(null,new d1(mY(jz(t,79)),16))},mW(g1t,"ElkGraphImporter/lambda$5$Type",1348),fBt(1350,1,OYt,Wg),AKt.Mb=function(t){return FB(this.a,jz(t,33))},mW(g1t,"ElkGraphImporter/lambda$7$Type",1350),fBt(1351,1,OYt,Xe),AKt.Mb=function(t){return DX(jz(t,79))},mW(g1t,"ElkGraphImporter/lambda$8$Type",1351),fBt(1278,1,{},Ku),mW(g1t,"ElkGraphLayoutTransferrer",1278),fBt(1279,1,OYt,Kg),AKt.Mb=function(t){return XR(this.a,jz(t,17))},mW(g1t,"ElkGraphLayoutTransferrer/lambda$0$Type",1279),fBt(1280,1,hYt,Yg),AKt.td=function(t){bx(),Gz(this.a,jz(t,17))},mW(g1t,"ElkGraphLayoutTransferrer/lambda$1$Type",1280),fBt(1281,1,OYt,Xg),AKt.Mb=function(t){return qN(this.a,jz(t,17))},mW(g1t,"ElkGraphLayoutTransferrer/lambda$2$Type",1281),fBt(1282,1,hYt,Zg),AKt.td=function(t){bx(),Gz(this.a,jz(t,17))},mW(g1t,"ElkGraphLayoutTransferrer/lambda$3$Type",1282),fBt(1485,1,JJt,Ze),AKt.pf=function(t,e){Krt(jz(t,37),e)},mW(y1t,"CommentNodeMarginCalculator",1485),fBt(1486,1,{},Qe),AKt.Kb=function(t){return new OH(null,new d1(jz(t,29).a,16))},mW(y1t,"CommentNodeMarginCalculator/lambda$0$Type",1486),fBt(1487,1,hYt,Je),AKt.td=function(t){tVt(jz(t,10))},mW(y1t,"CommentNodeMarginCalculator/lambda$1$Type",1487),fBt(1488,1,JJt,tn),AKt.pf=function(t,e){oNt(jz(t,37),e)},mW(y1t,"CommentPostprocessor",1488),fBt(1489,1,JJt,en),AKt.pf=function(t,e){aGt(jz(t,37),e)},mW(y1t,"CommentPreprocessor",1489),fBt(1490,1,JJt,nn),AKt.pf=function(t,e){yPt(jz(t,37),e)},mW(y1t,"ConstraintsPostprocessor",1490),fBt(1491,1,JJt,rn),AKt.pf=function(t,e){rat(jz(t,37),e)},mW(y1t,"EdgeAndLayerConstraintEdgeReverser",1491),fBt(1492,1,JJt,on),AKt.pf=function(t,e){Hgt(jz(t,37),e)},mW(y1t,"EndLabelPostprocessor",1492),fBt(1493,1,{},an),AKt.Kb=function(t){return new OH(null,new d1(jz(t,29).a,16))},mW(y1t,"EndLabelPostprocessor/lambda$0$Type",1493),fBt(1494,1,OYt,sn),AKt.Mb=function(t){return CZ(jz(t,10))},mW(y1t,"EndLabelPostprocessor/lambda$1$Type",1494),fBt(1495,1,hYt,cn),AKt.td=function(t){e_t(jz(t,10))},mW(y1t,"EndLabelPostprocessor/lambda$2$Type",1495),fBt(1496,1,JJt,ln),AKt.pf=function(t,e){QTt(jz(t,37),e)},mW(y1t,"EndLabelPreprocessor",1496),fBt(1497,1,{},un),AKt.Kb=function(t){return new OH(null,new d1(jz(t,29).a,16))},mW(y1t,"EndLabelPreprocessor/lambda$0$Type",1497),fBt(1498,1,hYt,Lj),AKt.td=function(t){Nx(this.a,this.b,this.c,jz(t,10))},AKt.a=0,AKt.b=0,AKt.c=!1,mW(y1t,"EndLabelPreprocessor/lambda$1$Type",1498),fBt(1499,1,OYt,hn),AKt.Mb=function(t){return VD(wxt(jz(t,70),(zWt(),Ype)))===VD((Net(),UTe))},mW(y1t,"EndLabelPreprocessor/lambda$2$Type",1499),fBt(1500,1,hYt,Qg),AKt.td=function(t){LV(this.a,jz(t,70))},mW(y1t,"EndLabelPreprocessor/lambda$3$Type",1500),fBt(1501,1,OYt,dn),AKt.Mb=function(t){return VD(wxt(jz(t,70),(zWt(),Ype)))===VD((Net(),qTe))},mW(y1t,"EndLabelPreprocessor/lambda$4$Type",1501),fBt(1502,1,hYt,Jg),AKt.td=function(t){LV(this.a,jz(t,70))},mW(y1t,"EndLabelPreprocessor/lambda$5$Type",1502),fBt(1551,1,JJt,Wu),AKt.pf=function(t,e){Tdt(jz(t,37),e)},mW(y1t,"EndLabelSorter",1551),fBt(1552,1,AZt,fn),AKt.ue=function(t,e){return zmt(jz(t,456),jz(e,456))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(y1t,"EndLabelSorter/1",1552),fBt(456,1,{456:1},_X),mW(y1t,"EndLabelSorter/LabelGroup",456),fBt(1553,1,{},gn),AKt.Kb=function(t){return yx(),new OH(null,new d1(jz(t,29).a,16))},mW(y1t,"EndLabelSorter/lambda$0$Type",1553),fBt(1554,1,OYt,pn),AKt.Mb=function(t){return yx(),jz(t,10).k==(aEt(),Ese)},mW(y1t,"EndLabelSorter/lambda$1$Type",1554),fBt(1555,1,hYt,mn),AKt.td=function(t){sEt(jz(t,10))},mW(y1t,"EndLabelSorter/lambda$2$Type",1555),fBt(1556,1,OYt,bn),AKt.Mb=function(t){return yx(),VD(wxt(jz(t,70),(zWt(),Ype)))===VD((Net(),qTe))},mW(y1t,"EndLabelSorter/lambda$3$Type",1556),fBt(1557,1,OYt,wn),AKt.Mb=function(t){return yx(),VD(wxt(jz(t,70),(zWt(),Ype)))===VD((Net(),UTe))},mW(y1t,"EndLabelSorter/lambda$4$Type",1557),fBt(1503,1,JJt,kn),AKt.pf=function(t,e){SVt(this,jz(t,37))},AKt.b=0,AKt.c=0,mW(y1t,"FinalSplineBendpointsCalculator",1503),fBt(1504,1,{},vn),AKt.Kb=function(t){return new OH(null,new d1(jz(t,29).a,16))},mW(y1t,"FinalSplineBendpointsCalculator/lambda$0$Type",1504),fBt(1505,1,{},yn),AKt.Kb=function(t){return new OH(null,new HG(new aU(ZP(hft(jz(t,10)).a.Kc(),new u))))},mW(y1t,"FinalSplineBendpointsCalculator/lambda$1$Type",1505),fBt(1506,1,OYt,_n),AKt.Mb=function(t){return!h4(jz(t,17))},mW(y1t,"FinalSplineBendpointsCalculator/lambda$2$Type",1506),fBt(1507,1,OYt,Cn),AKt.Mb=function(t){return BO(jz(t,17),(lKt(),Mde))},mW(y1t,"FinalSplineBendpointsCalculator/lambda$3$Type",1507),fBt(1508,1,hYt,tp),AKt.td=function(t){qFt(this.a,jz(t,128))},mW(y1t,"FinalSplineBendpointsCalculator/lambda$4$Type",1508),fBt(1509,1,hYt,An),AKt.td=function(t){ZTt(jz(t,17).a)},mW(y1t,"FinalSplineBendpointsCalculator/lambda$5$Type",1509),fBt(792,1,JJt,ep),AKt.pf=function(t,e){KHt(this,jz(t,37),e)},mW(y1t,"GraphTransformer",792),fBt(511,22,{3:1,35:1,22:1,511:1},ZE);var Hse,qse,Use,Gse=$nt(y1t,"GraphTransformer/Mode",511,Ute,oQ,J$);fBt(1510,1,JJt,xn),AKt.pf=function(t,e){eOt(jz(t,37),e)},mW(y1t,"HierarchicalNodeResizingProcessor",1510),fBt(1511,1,JJt,En),AKt.pf=function(t,e){hrt(jz(t,37),e)},mW(y1t,"HierarchicalPortConstraintProcessor",1511),fBt(1512,1,AZt,Tn),AKt.ue=function(t,e){return Sbt(jz(t,10),jz(e,10))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(y1t,"HierarchicalPortConstraintProcessor/NodeComparator",1512),fBt(1513,1,JJt,Sn),AKt.pf=function(t,e){yzt(jz(t,37),e)},mW(y1t,"HierarchicalPortDummySizeProcessor",1513),fBt(1514,1,JJt,Dn),AKt.pf=function(t,e){ZNt(this,jz(t,37),e)},AKt.a=0,mW(y1t,"HierarchicalPortOrthogonalEdgeRouter",1514),fBt(1515,1,AZt,In),AKt.ue=function(t,e){return RL(jz(t,10),jz(e,10))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(y1t,"HierarchicalPortOrthogonalEdgeRouter/1",1515),fBt(1516,1,AZt,Bn),AKt.ue=function(t,e){return x8(jz(t,10),jz(e,10))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(y1t,"HierarchicalPortOrthogonalEdgeRouter/2",1516),fBt(1517,1,JJt,Mn),AKt.pf=function(t,e){_xt(jz(t,37),e)},mW(y1t,"HierarchicalPortPositionProcessor",1517),fBt(1518,1,JJt,Yu),AKt.pf=function(t,e){iWt(this,jz(t,37))},AKt.a=0,AKt.c=0,mW(y1t,"HighDegreeNodeLayeringProcessor",1518),fBt(571,1,{571:1},Pn),AKt.b=-1,AKt.d=-1,mW(y1t,"HighDegreeNodeLayeringProcessor/HighDegreeNodeInformation",571),fBt(1519,1,{},Ln),AKt.Kb=function(t){return zj(),uft(jz(t,10))},AKt.Fb=function(t){return this===t},mW(y1t,"HighDegreeNodeLayeringProcessor/lambda$0$Type",1519),fBt(1520,1,{},On),AKt.Kb=function(t){return zj(),hft(jz(t,10))},AKt.Fb=function(t){return this===t},mW(y1t,"HighDegreeNodeLayeringProcessor/lambda$1$Type",1520),fBt(1526,1,JJt,Nn),AKt.pf=function(t,e){g$t(this,jz(t,37),e)},mW(y1t,"HyperedgeDummyMerger",1526),fBt(793,1,{},Oj),AKt.a=!1,AKt.b=!1,AKt.c=!1,mW(y1t,"HyperedgeDummyMerger/MergeState",793),fBt(1527,1,{},Rn),AKt.Kb=function(t){return new OH(null,new d1(jz(t,29).a,16))},mW(y1t,"HyperedgeDummyMerger/lambda$0$Type",1527),fBt(1528,1,{},Fn),AKt.Kb=function(t){return new OH(null,new d1(jz(t,10).j,16))},mW(y1t,"HyperedgeDummyMerger/lambda$1$Type",1528),fBt(1529,1,hYt,jn),AKt.td=function(t){jz(t,11).p=-1},mW(y1t,"HyperedgeDummyMerger/lambda$2$Type",1529),fBt(1530,1,JJt,$n),AKt.pf=function(t,e){d$t(jz(t,37),e)},mW(y1t,"HypernodesProcessor",1530),fBt(1531,1,JJt,zn),AKt.pf=function(t,e){f$t(jz(t,37),e)},mW(y1t,"InLayerConstraintProcessor",1531),fBt(1532,1,JJt,Vn),AKt.pf=function(t,e){Mot(jz(t,37),e)},mW(y1t,"InnermostNodeMarginCalculator",1532),fBt(1533,1,JJt,Hn),AKt.pf=function(t,e){KUt(this,jz(t,37))},AKt.a=RXt,AKt.b=RXt,AKt.c=NXt,AKt.d=NXt;var Wse,Kse,Yse,Xse,Zse,Qse,Jse,tce,ece,nce,ice,rce,oce,ace,sce,cce,lce,uce,hce,dce,fce,gce,pce,mce,bce,wce,kce,vce,yce,_ce,Cce,Ace,xce,Ece,Tce,Sce,Dce,Ice,Bce,Mce,Pce,Lce,Oce,Nce,Rce,Fce,jce,$ce,zce,Vce,Hce,qce,Uce,Gce,Wce,Kce,Yce,Xce=mW(y1t,"InteractiveExternalPortPositioner",1533);fBt(1534,1,{},qn),AKt.Kb=function(t){return jz(t,17).d.i},AKt.Fb=function(t){return this===t},mW(y1t,"InteractiveExternalPortPositioner/lambda$0$Type",1534),fBt(1535,1,{},np),AKt.Kb=function(t){return zL(this.a,CN(t))},AKt.Fb=function(t){return this===t},mW(y1t,"InteractiveExternalPortPositioner/lambda$1$Type",1535),fBt(1536,1,{},Un),AKt.Kb=function(t){return jz(t,17).c.i},AKt.Fb=function(t){return this===t},mW(y1t,"InteractiveExternalPortPositioner/lambda$2$Type",1536),fBt(1537,1,{},ip),AKt.Kb=function(t){return VL(this.a,CN(t))},AKt.Fb=function(t){return this===t},mW(y1t,"InteractiveExternalPortPositioner/lambda$3$Type",1537),fBt(1538,1,{},rp),AKt.Kb=function(t){return GR(this.a,CN(t))},AKt.Fb=function(t){return this===t},mW(y1t,"InteractiveExternalPortPositioner/lambda$4$Type",1538),fBt(1539,1,{},op),AKt.Kb=function(t){return WR(this.a,CN(t))},AKt.Fb=function(t){return this===t},mW(y1t,"InteractiveExternalPortPositioner/lambda$5$Type",1539),fBt(77,22,{3:1,35:1,22:1,77:1,234:1},QE),AKt.Kf=function(){switch(this.g){case 15:return new mo;case 22:return new bo;case 47:return new vo;case 28:case 35:return new ni;case 32:return new Ze;case 42:return new tn;case 1:return new en;case 41:return new nn;case 56:return new ep((xrt(),zse));case 0:return new ep((xrt(),$se));case 2:return new rn;case 54:return new on;case 33:return new ln;case 51:return new kn;case 55:return new xn;case 13:return new En;case 38:return new Sn;case 44:return new Dn;case 40:return new Mn;case 9:return new Yu;case 49:return new aO;case 37:return new Nn;case 43:return new $n;case 27:return new zn;case 30:return new Vn;case 3:return new Hn;case 18:return new Wn;case 29:return new Kn;case 5:return new Xu;case 50:return new Gn;case 34:return new Zu;case 36:return new ii;case 52:return new Wu;case 11:return new oi;case 7:return new Ju;case 39:return new ai;case 45:return new si;case 16:return new ci;case 10:return new li;case 48:return new hi;case 21:return new di;case 23:return new Mv((sit(),Dke));case 8:return new gi;case 12:return new mi;case 4:return new bi;case 19:return new ih;case 17:return new Ti;case 53:return new Si;case 6:return new zi;case 25:return new rk;case 46:return new Li;case 31:return new PR;case 14:return new Yi;case 26:return new To;case 20:return new tr;case 24:return new Mv((sit(),Ike));default:throw $b(new Rv(A1t+(null!=this.f?this.f:""+this.g)))}};var Zce,Qce,Jce,tle,ele,nle,ile,rle,ole=$nt(y1t,x1t,77,Ute,_Lt,Q$);fBt(1540,1,JJt,Wn),AKt.pf=function(t,e){ZUt(jz(t,37),e)},mW(y1t,"InvertedPortProcessor",1540),fBt(1541,1,JJt,Kn),AKt.pf=function(t,e){MFt(jz(t,37),e)},mW(y1t,"LabelAndNodeSizeProcessor",1541),fBt(1542,1,OYt,Yn),AKt.Mb=function(t){return jz(t,10).k==(aEt(),Ese)},mW(y1t,"LabelAndNodeSizeProcessor/lambda$0$Type",1542),fBt(1543,1,OYt,Xn),AKt.Mb=function(t){return jz(t,10).k==(aEt(),Cse)},mW(y1t,"LabelAndNodeSizeProcessor/lambda$1$Type",1543),fBt(1544,1,hYt,Nj),AKt.td=function(t){Rx(this.b,this.a,this.c,jz(t,10))},AKt.a=!1,AKt.c=!1,mW(y1t,"LabelAndNodeSizeProcessor/lambda$2$Type",1544),fBt(1545,1,JJt,Xu),AKt.pf=function(t,e){uUt(jz(t,37),e)},mW(y1t,"LabelDummyInserter",1545),fBt(1546,1,VZt,Zn),AKt.Lb=function(t){return VD(wxt(jz(t,70),(zWt(),Ype)))===VD((Net(),HTe))},AKt.Fb=function(t){return this===t},AKt.Mb=function(t){return VD(wxt(jz(t,70),(zWt(),Ype)))===VD((Net(),HTe))},mW(y1t,"LabelDummyInserter/1",1546),fBt(1547,1,JJt,Gn),AKt.pf=function(t,e){EHt(jz(t,37),e)},mW(y1t,"LabelDummyRemover",1547),fBt(1548,1,OYt,Qn),AKt.Mb=function(t){return zv(_N(wxt(jz(t,70),(zWt(),Kpe))))},mW(y1t,"LabelDummyRemover/lambda$0$Type",1548),fBt(1359,1,JJt,Zu),AKt.pf=function(t,e){Cqt(this,jz(t,37),e)},AKt.a=null,mW(y1t,"LabelDummySwitcher",1359),fBt(286,1,{286:1},rFt),AKt.c=0,AKt.d=null,AKt.f=0,mW(y1t,"LabelDummySwitcher/LabelDummyInfo",286),fBt(1360,1,{},Jn),AKt.Kb=function(t){return Srt(),new OH(null,new d1(jz(t,29).a,16))},mW(y1t,"LabelDummySwitcher/lambda$0$Type",1360),fBt(1361,1,OYt,ti),AKt.Mb=function(t){return Srt(),jz(t,10).k==(aEt(),Ase)},mW(y1t,"LabelDummySwitcher/lambda$1$Type",1361),fBt(1362,1,{},cp),AKt.Kb=function(t){return UN(this.a,jz(t,10))},mW(y1t,"LabelDummySwitcher/lambda$2$Type",1362),fBt(1363,1,hYt,lp),AKt.td=function(t){YW(this.a,jz(t,286))},mW(y1t,"LabelDummySwitcher/lambda$3$Type",1363),fBt(1364,1,AZt,ei),AKt.ue=function(t,e){return BU(jz(t,286),jz(e,286))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(y1t,"LabelDummySwitcher/lambda$4$Type",1364),fBt(791,1,JJt,ni),AKt.pf=function(t,e){Y6(jz(t,37),e)},mW(y1t,"LabelManagementProcessor",791),fBt(1549,1,JJt,ii),AKt.pf=function(t,e){POt(jz(t,37),e)},mW(y1t,"LabelSideSelector",1549),fBt(1550,1,OYt,ri),AKt.Mb=function(t){return zv(_N(wxt(jz(t,70),(zWt(),Kpe))))},mW(y1t,"LabelSideSelector/lambda$0$Type",1550),fBt(1558,1,JJt,oi),AKt.pf=function(t,e){_zt(jz(t,37),e)},mW(y1t,"LayerConstraintPostprocessor",1558),fBt(1559,1,JJt,Ju),AKt.pf=function(t,e){iMt(jz(t,37),e)},mW(y1t,"LayerConstraintPreprocessor",1559),fBt(360,22,{3:1,35:1,22:1,360:1},JE);var ale,sle,cle,lle,ule,hle,dle,fle,gle,ple=$nt(y1t,"LayerConstraintPreprocessor/HiddenNodeConnections",360,Ute,t3,Hj);fBt(1560,1,JJt,ai),AKt.pf=function(t,e){_Ht(jz(t,37),e)},mW(y1t,"LayerSizeAndGraphHeightCalculator",1560),fBt(1561,1,JJt,si),AKt.pf=function(t,e){IPt(jz(t,37),e)},mW(y1t,"LongEdgeJoiner",1561),fBt(1562,1,JJt,ci),AKt.pf=function(t,e){WVt(jz(t,37),e)},mW(y1t,"LongEdgeSplitter",1562),fBt(1563,1,JJt,li),AKt.pf=function(t,e){Eqt(this,jz(t,37),e)},AKt.d=0,AKt.e=0,AKt.i=0,AKt.j=0,AKt.k=0,AKt.n=0,mW(y1t,"NodePromotion",1563),fBt(1564,1,{},ui),AKt.Kb=function(t){return jz(t,46),cL(),!0},AKt.Fb=function(t){return this===t},mW(y1t,"NodePromotion/lambda$0$Type",1564),fBt(1565,1,{},ap),AKt.Kb=function(t){return rY(this.a,jz(t,46))},AKt.Fb=function(t){return this===t},AKt.a=0,mW(y1t,"NodePromotion/lambda$1$Type",1565),fBt(1566,1,{},sp),AKt.Kb=function(t){return oY(this.a,jz(t,46))},AKt.Fb=function(t){return this===t},AKt.a=0,mW(y1t,"NodePromotion/lambda$2$Type",1566),fBt(1567,1,JJt,hi),AKt.pf=function(t,e){GGt(jz(t,37),e)},mW(y1t,"NorthSouthPortPostprocessor",1567),fBt(1568,1,JJt,di),AKt.pf=function(t,e){AGt(jz(t,37),e)},mW(y1t,"NorthSouthPortPreprocessor",1568),fBt(1569,1,AZt,fi),AKt.ue=function(t,e){return Qat(jz(t,11),jz(e,11))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(y1t,"NorthSouthPortPreprocessor/lambda$0$Type",1569),fBt(1570,1,JJt,gi),AKt.pf=function(t,e){Bjt(jz(t,37),e)},mW(y1t,"PartitionMidprocessor",1570),fBt(1571,1,OYt,pi),AKt.Mb=function(t){return BO(jz(t,10),(zWt(),Gme))},mW(y1t,"PartitionMidprocessor/lambda$0$Type",1571),fBt(1572,1,hYt,up),AKt.td=function(t){IX(this.a,jz(t,10))},mW(y1t,"PartitionMidprocessor/lambda$1$Type",1572),fBt(1573,1,JJt,mi),AKt.pf=function(t,e){fLt(jz(t,37),e)},mW(y1t,"PartitionPostprocessor",1573),fBt(1574,1,JJt,bi),AKt.pf=function(t,e){PIt(jz(t,37),e)},mW(y1t,"PartitionPreprocessor",1574),fBt(1575,1,OYt,wi),AKt.Mb=function(t){return BO(jz(t,10),(zWt(),Gme))},mW(y1t,"PartitionPreprocessor/lambda$0$Type",1575),fBt(1576,1,{},ki),AKt.Kb=function(t){return new OH(null,new HG(new aU(ZP(hft(jz(t,10)).a.Kc(),new u))))},mW(y1t,"PartitionPreprocessor/lambda$1$Type",1576),fBt(1577,1,OYt,vi),AKt.Mb=function(t){return Mmt(jz(t,17))},mW(y1t,"PartitionPreprocessor/lambda$2$Type",1577),fBt(1578,1,hYt,yi),AKt.td=function(t){Nst(jz(t,17))},mW(y1t,"PartitionPreprocessor/lambda$3$Type",1578),fBt(1579,1,JJt,ih),AKt.pf=function(t,e){ajt(jz(t,37),e)},mW(y1t,"PortListSorter",1579),fBt(1580,1,{},_i),AKt.Kb=function(t){return qlt(),jz(t,11).e},mW(y1t,"PortListSorter/lambda$0$Type",1580),fBt(1581,1,{},Ci),AKt.Kb=function(t){return qlt(),jz(t,11).g},mW(y1t,"PortListSorter/lambda$1$Type",1581),fBt(1582,1,AZt,Ai),AKt.ue=function(t,e){return _5(jz(t,11),jz(e,11))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(y1t,"PortListSorter/lambda$2$Type",1582),fBt(1583,1,AZt,xi),AKt.ue=function(t,e){return Dvt(jz(t,11),jz(e,11))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(y1t,"PortListSorter/lambda$3$Type",1583),fBt(1584,1,AZt,Ei),AKt.ue=function(t,e){return Jjt(jz(t,11),jz(e,11))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(y1t,"PortListSorter/lambda$4$Type",1584),fBt(1585,1,JJt,Ti),AKt.pf=function(t,e){WBt(jz(t,37),e)},mW(y1t,"PortSideProcessor",1585),fBt(1586,1,JJt,Si),AKt.pf=function(t,e){SRt(jz(t,37),e)},mW(y1t,"ReversedEdgeRestorer",1586),fBt(1591,1,JJt,rk),AKt.pf=function(t,e){Xkt(this,jz(t,37),e)},mW(y1t,"SelfLoopPortRestorer",1591),fBt(1592,1,{},Di),AKt.Kb=function(t){return new OH(null,new d1(jz(t,29).a,16))},mW(y1t,"SelfLoopPortRestorer/lambda$0$Type",1592),fBt(1593,1,OYt,Ii),AKt.Mb=function(t){return jz(t,10).k==(aEt(),Ese)},mW(y1t,"SelfLoopPortRestorer/lambda$1$Type",1593),fBt(1594,1,OYt,Bi),AKt.Mb=function(t){return BO(jz(t,10),(lKt(),Sde))},mW(y1t,"SelfLoopPortRestorer/lambda$2$Type",1594),fBt(1595,1,{},Mi),AKt.Kb=function(t){return jz(wxt(jz(t,10),(lKt(),Sde)),403)},mW(y1t,"SelfLoopPortRestorer/lambda$3$Type",1595),fBt(1596,1,hYt,hp),AKt.td=function(t){xEt(this.a,jz(t,403))},mW(y1t,"SelfLoopPortRestorer/lambda$4$Type",1596),fBt(794,1,hYt,Pi),AKt.td=function(t){JEt(jz(t,101))},mW(y1t,"SelfLoopPortRestorer/lambda$5$Type",794),fBt(1597,1,JJt,Li),AKt.pf=function(t,e){Mbt(jz(t,37),e)},mW(y1t,"SelfLoopPostProcessor",1597),fBt(1598,1,{},Oi),AKt.Kb=function(t){return new OH(null,new d1(jz(t,29).a,16))},mW(y1t,"SelfLoopPostProcessor/lambda$0$Type",1598),fBt(1599,1,OYt,Ni),AKt.Mb=function(t){return jz(t,10).k==(aEt(),Ese)},mW(y1t,"SelfLoopPostProcessor/lambda$1$Type",1599),fBt(1600,1,OYt,Ri),AKt.Mb=function(t){return BO(jz(t,10),(lKt(),Sde))},mW(y1t,"SelfLoopPostProcessor/lambda$2$Type",1600),fBt(1601,1,hYt,Fi),AKt.td=function(t){M_t(jz(t,10))},mW(y1t,"SelfLoopPostProcessor/lambda$3$Type",1601),fBt(1602,1,{},ji),AKt.Kb=function(t){return new OH(null,new d1(jz(t,101).f,1))},mW(y1t,"SelfLoopPostProcessor/lambda$4$Type",1602),fBt(1603,1,hYt,dp),AKt.td=function(t){r3(this.a,jz(t,409))},mW(y1t,"SelfLoopPostProcessor/lambda$5$Type",1603),fBt(1604,1,OYt,$i),AKt.Mb=function(t){return!!jz(t,101).i},mW(y1t,"SelfLoopPostProcessor/lambda$6$Type",1604),fBt(1605,1,hYt,fp),AKt.td=function(t){_v(this.a,jz(t,101))},mW(y1t,"SelfLoopPostProcessor/lambda$7$Type",1605),fBt(1587,1,JJt,zi),AKt.pf=function(t,e){QMt(jz(t,37),e)},mW(y1t,"SelfLoopPreProcessor",1587),fBt(1588,1,{},Vi),AKt.Kb=function(t){return new OH(null,new d1(jz(t,101).f,1))},mW(y1t,"SelfLoopPreProcessor/lambda$0$Type",1588),fBt(1589,1,{},Hi),AKt.Kb=function(t){return jz(t,409).a},mW(y1t,"SelfLoopPreProcessor/lambda$1$Type",1589),fBt(1590,1,hYt,qi),AKt.td=function(t){zM(jz(t,17))},mW(y1t,"SelfLoopPreProcessor/lambda$2$Type",1590),fBt(1606,1,JJt,PR),AKt.pf=function(t,e){cEt(this,jz(t,37),e)},mW(y1t,"SelfLoopRouter",1606),fBt(1607,1,{},Ui),AKt.Kb=function(t){return new OH(null,new d1(jz(t,29).a,16))},mW(y1t,"SelfLoopRouter/lambda$0$Type",1607),fBt(1608,1,OYt,Gi),AKt.Mb=function(t){return jz(t,10).k==(aEt(),Ese)},mW(y1t,"SelfLoopRouter/lambda$1$Type",1608),fBt(1609,1,OYt,Wi),AKt.Mb=function(t){return BO(jz(t,10),(lKt(),Sde))},mW(y1t,"SelfLoopRouter/lambda$2$Type",1609),fBt(1610,1,{},Ki),AKt.Kb=function(t){return jz(wxt(jz(t,10),(lKt(),Sde)),403)},mW(y1t,"SelfLoopRouter/lambda$3$Type",1610),fBt(1611,1,hYt,tT),AKt.td=function(t){KY(this.a,this.b,jz(t,403))},mW(y1t,"SelfLoopRouter/lambda$4$Type",1611),fBt(1612,1,JJt,Yi),AKt.pf=function(t,e){uOt(jz(t,37),e)},mW(y1t,"SemiInteractiveCrossMinProcessor",1612),fBt(1613,1,OYt,Xi),AKt.Mb=function(t){return jz(t,10).k==(aEt(),Ese)},mW(y1t,"SemiInteractiveCrossMinProcessor/lambda$0$Type",1613),fBt(1614,1,OYt,Zi),AKt.Mb=function(t){return VH(jz(t,10))._b((zWt(),sbe))},mW(y1t,"SemiInteractiveCrossMinProcessor/lambda$1$Type",1614),fBt(1615,1,AZt,Qi),AKt.ue=function(t,e){return grt(jz(t,10),jz(e,10))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(y1t,"SemiInteractiveCrossMinProcessor/lambda$2$Type",1615),fBt(1616,1,{},Ji),AKt.Ce=function(t,e){return UX(jz(t,10),jz(e,10))},mW(y1t,"SemiInteractiveCrossMinProcessor/lambda$3$Type",1616),fBt(1618,1,JJt,tr),AKt.pf=function(t,e){Azt(jz(t,37),e)},mW(y1t,"SortByInputModelProcessor",1618),fBt(1619,1,OYt,er),AKt.Mb=function(t){return 0!=jz(t,11).g.c.length},mW(y1t,"SortByInputModelProcessor/lambda$0$Type",1619),fBt(1620,1,hYt,gp),AKt.td=function(t){uTt(this.a,jz(t,11))},mW(y1t,"SortByInputModelProcessor/lambda$1$Type",1620),fBt(1693,803,{},prt),AKt.Me=function(t){var e,n,i,r;switch(this.c=t,this.a.g){case 2:e=new Mb,XA(DY(new OH(null,new d1(this.c.a.b,16)),new pr),new oT(this,e)),mSt(this,new rr),Det(e,new or),e.c=P7(Ite,zKt,1,0,5,1),XA(DY(new OH(null,new d1(this.c.a.b,16)),new ar),new mp(e)),mSt(this,new sr),Det(e,new cr),e.c=P7(Ite,zKt,1,0,5,1),n=vM(not(BY(new OH(null,new d1(this.c.a.b,16)),new bp(this))),new lr),XA(new OH(null,new d1(this.c.a.a,16)),new nT(n,e)),mSt(this,new hr),Det(e,new nr),e.c=P7(Ite,zKt,1,0,5,1);break;case 3:i=new Mb,mSt(this,new ir),r=vM(not(BY(new OH(null,new d1(this.c.a.b,16)),new pp(this))),new ur),XA(DY(new OH(null,new d1(this.c.a.b,16)),new dr),new rT(r,i)),mSt(this,new fr),Det(i,new gr),i.c=P7(Ite,zKt,1,0,5,1);break;default:throw $b(new kw)}},AKt.b=0,mW(I1t,"EdgeAwareScanlineConstraintCalculation",1693),fBt(1694,1,VZt,ir),AKt.Lb=function(t){return iP(jz(t,57).g,145)},AKt.Fb=function(t){return this===t},AKt.Mb=function(t){return iP(jz(t,57).g,145)},mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$0$Type",1694),fBt(1695,1,{},pp),AKt.Fe=function(t){return HSt(this.a,jz(t,57))},mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$1$Type",1695),fBt(1703,1,NYt,eT),AKt.Vd=function(){jyt(this.a,this.b,-1)},AKt.b=0,mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$10$Type",1703),fBt(1705,1,VZt,rr),AKt.Lb=function(t){return iP(jz(t,57).g,145)},AKt.Fb=function(t){return this===t},AKt.Mb=function(t){return iP(jz(t,57).g,145)},mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$11$Type",1705),fBt(1706,1,hYt,or),AKt.td=function(t){jz(t,365).Vd()},mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$12$Type",1706),fBt(1707,1,OYt,ar),AKt.Mb=function(t){return iP(jz(t,57).g,10)},mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$13$Type",1707),fBt(1709,1,hYt,mp),AKt.td=function(t){_ft(this.a,jz(t,57))},mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$14$Type",1709),fBt(1708,1,NYt,uT),AKt.Vd=function(){jyt(this.b,this.a,-1)},AKt.a=0,mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$15$Type",1708),fBt(1710,1,VZt,sr),AKt.Lb=function(t){return iP(jz(t,57).g,10)},AKt.Fb=function(t){return this===t},AKt.Mb=function(t){return iP(jz(t,57).g,10)},mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$16$Type",1710),fBt(1711,1,hYt,cr),AKt.td=function(t){jz(t,365).Vd()},mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$17$Type",1711),fBt(1712,1,{},bp),AKt.Fe=function(t){return qSt(this.a,jz(t,57))},mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$18$Type",1712),fBt(1713,1,{},lr),AKt.De=function(){return 0},mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$19$Type",1713),fBt(1696,1,{},ur),AKt.De=function(){return 0},mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$2$Type",1696),fBt(1715,1,hYt,nT),AKt.td=function(t){$q(this.a,this.b,jz(t,307))},AKt.a=0,mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$20$Type",1715),fBt(1714,1,NYt,iT),AKt.Vd=function(){KBt(this.a,this.b,-1)},AKt.b=0,mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$21$Type",1714),fBt(1716,1,VZt,hr),AKt.Lb=function(t){return jz(t,57),!0},AKt.Fb=function(t){return this===t},AKt.Mb=function(t){return jz(t,57),!0},mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$22$Type",1716),fBt(1717,1,hYt,nr),AKt.td=function(t){jz(t,365).Vd()},mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$23$Type",1717),fBt(1697,1,OYt,dr),AKt.Mb=function(t){return iP(jz(t,57).g,10)},mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$3$Type",1697),fBt(1699,1,hYt,rT),AKt.td=function(t){zq(this.a,this.b,jz(t,57))},AKt.a=0,mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$4$Type",1699),fBt(1698,1,NYt,hT),AKt.Vd=function(){jyt(this.b,this.a,-1)},AKt.a=0,mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$5$Type",1698),fBt(1700,1,VZt,fr),AKt.Lb=function(t){return jz(t,57),!0},AKt.Fb=function(t){return this===t},AKt.Mb=function(t){return jz(t,57),!0},mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$6$Type",1700),fBt(1701,1,hYt,gr),AKt.td=function(t){jz(t,365).Vd()},mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$7$Type",1701),fBt(1702,1,OYt,pr),AKt.Mb=function(t){return iP(jz(t,57).g,145)},mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$8$Type",1702),fBt(1704,1,hYt,oT),AKt.td=function(t){Cet(this.a,this.b,jz(t,57))},mW(I1t,"EdgeAwareScanlineConstraintCalculation/lambda$9$Type",1704),fBt(1521,1,JJt,aO),AKt.pf=function(t,e){rHt(this,jz(t,37),e)},mW(I1t,"HorizontalGraphCompactor",1521),fBt(1522,1,{},wp),AKt.Oe=function(t,e){var n,i;return Z9(t,e)?0:(n=l2(t),i=l2(e),n&&n.k==(aEt(),Cse)||i&&i.k==(aEt(),Cse)?0:qL(jz(wxt(this.a.a,(lKt(),Dde)),304),n?n.k:(aEt(),xse),i?i.k:(aEt(),xse)))},AKt.Pe=function(t,e){var n,i;return Z9(t,e)?1:(n=l2(t),i=l2(e),UL(jz(wxt(this.a.a,(lKt(),Dde)),304),n?n.k:(aEt(),xse),i?i.k:(aEt(),xse)))},mW(I1t,"HorizontalGraphCompactor/1",1522),fBt(1523,1,{},mr),AKt.Ne=function(t,e){return Cx(),0==t.a.i},mW(I1t,"HorizontalGraphCompactor/lambda$0$Type",1523),fBt(1524,1,{},kp),AKt.Ne=function(t,e){return RX(this.a,t,e)},mW(I1t,"HorizontalGraphCompactor/lambda$1$Type",1524),fBt(1664,1,{},T9),mW(I1t,"LGraphToCGraphTransformer",1664),fBt(1672,1,OYt,br),AKt.Mb=function(t){return null!=t},mW(I1t,"LGraphToCGraphTransformer/0methodref$nonNull$Type",1672),fBt(1665,1,{},wr),AKt.Kb=function(t){return Vj(),$ft(wxt(jz(jz(t,57).g,10),(lKt(),fde)))},mW(I1t,"LGraphToCGraphTransformer/lambda$0$Type",1665),fBt(1666,1,{},kr),AKt.Kb=function(t){return Vj(),wht(jz(jz(t,57).g,145))},mW(I1t,"LGraphToCGraphTransformer/lambda$1$Type",1666),fBt(1675,1,OYt,vr),AKt.Mb=function(t){return Vj(),iP(jz(t,57).g,10)},mW(I1t,"LGraphToCGraphTransformer/lambda$10$Type",1675),fBt(1676,1,hYt,yr),AKt.td=function(t){NX(jz(t,57))},mW(I1t,"LGraphToCGraphTransformer/lambda$11$Type",1676),fBt(1677,1,OYt,_r),AKt.Mb=function(t){return Vj(),iP(jz(t,57).g,145)},mW(I1t,"LGraphToCGraphTransformer/lambda$12$Type",1677),fBt(1681,1,hYt,Cr),AKt.td=function(t){bht(jz(t,57))},mW(I1t,"LGraphToCGraphTransformer/lambda$13$Type",1681),fBt(1678,1,hYt,vp),AKt.td=function(t){oB(this.a,jz(t,8))},AKt.a=0,mW(I1t,"LGraphToCGraphTransformer/lambda$14$Type",1678),fBt(1679,1,hYt,yp),AKt.td=function(t){sB(this.a,jz(t,110))},AKt.a=0,mW(I1t,"LGraphToCGraphTransformer/lambda$15$Type",1679),fBt(1680,1,hYt,_p),AKt.td=function(t){aB(this.a,jz(t,8))},AKt.a=0,mW(I1t,"LGraphToCGraphTransformer/lambda$16$Type",1680),fBt(1682,1,{},Ar),AKt.Kb=function(t){return Vj(),new OH(null,new HG(new aU(ZP(hft(jz(t,10)).a.Kc(),new u))))},mW(I1t,"LGraphToCGraphTransformer/lambda$17$Type",1682),fBt(1683,1,OYt,xr),AKt.Mb=function(t){return Vj(),h4(jz(t,17))},mW(I1t,"LGraphToCGraphTransformer/lambda$18$Type",1683),fBt(1684,1,hYt,Cp),AKt.td=function(t){Att(this.a,jz(t,17))},mW(I1t,"LGraphToCGraphTransformer/lambda$19$Type",1684),fBt(1668,1,hYt,Ap),AKt.td=function(t){u0(this.a,jz(t,145))},mW(I1t,"LGraphToCGraphTransformer/lambda$2$Type",1668),fBt(1685,1,{},Er),AKt.Kb=function(t){return Vj(),new OH(null,new d1(jz(t,29).a,16))},mW(I1t,"LGraphToCGraphTransformer/lambda$20$Type",1685),fBt(1686,1,{},Tr),AKt.Kb=function(t){return Vj(),new OH(null,new HG(new aU(ZP(hft(jz(t,10)).a.Kc(),new u))))},mW(I1t,"LGraphToCGraphTransformer/lambda$21$Type",1686),fBt(1687,1,{},Sr),AKt.Kb=function(t){return Vj(),jz(wxt(jz(t,17),(lKt(),Mde)),15)},mW(I1t,"LGraphToCGraphTransformer/lambda$22$Type",1687),fBt(1688,1,OYt,Dr),AKt.Mb=function(t){return JL(jz(t,15))},mW(I1t,"LGraphToCGraphTransformer/lambda$23$Type",1688),fBt(1689,1,hYt,xp),AKt.td=function(t){ESt(this.a,jz(t,15))},mW(I1t,"LGraphToCGraphTransformer/lambda$24$Type",1689),fBt(1667,1,hYt,aT),AKt.td=function(t){$3(this.a,this.b,jz(t,145))},mW(I1t,"LGraphToCGraphTransformer/lambda$3$Type",1667),fBt(1669,1,{},Ir),AKt.Kb=function(t){return Vj(),new OH(null,new d1(jz(t,29).a,16))},mW(I1t,"LGraphToCGraphTransformer/lambda$4$Type",1669),fBt(1670,1,{},Br),AKt.Kb=function(t){return Vj(),new OH(null,new HG(new aU(ZP(hft(jz(t,10)).a.Kc(),new u))))},mW(I1t,"LGraphToCGraphTransformer/lambda$5$Type",1670),fBt(1671,1,{},Mr),AKt.Kb=function(t){return Vj(),jz(wxt(jz(t,17),(lKt(),Mde)),15)},mW(I1t,"LGraphToCGraphTransformer/lambda$6$Type",1671),fBt(1673,1,hYt,Ep),AKt.td=function(t){RDt(this.a,jz(t,15))},mW(I1t,"LGraphToCGraphTransformer/lambda$8$Type",1673),fBt(1674,1,hYt,sT),AKt.td=function(t){PM(this.a,this.b,jz(t,145))},mW(I1t,"LGraphToCGraphTransformer/lambda$9$Type",1674),fBt(1663,1,{},Pr),AKt.Le=function(t){var e,n,i,r,o;for(this.a=t,this.d=new Fw,this.c=P7(zie,zKt,121,this.a.a.a.c.length,0,1),this.b=0,n=new Gf(this.a.a.a);n.a=m&&(Gz(a,ndt(h)),k=i.Math.max(k,v[h-1]-d),c+=p,b+=v[h-1]-b,d=v[h-1],p=l[h]),p=i.Math.max(p,l[h]),++h;c+=p}(g=i.Math.min(1/k,1/e.b/c))>r&&(r=g,n=a)}return n},AKt.Wf=function(){return!1},mW(F1t,"MSDCutIndexHeuristic",802),fBt(1617,1,JJt,To),AKt.pf=function(t,e){dzt(jz(t,37),e)},mW(F1t,"SingleEdgeGraphWrapper",1617),fBt(227,22,{3:1,35:1,22:1,227:1},vT);var nue,iue,rue,oue=$nt(j1t,"CenterEdgeLabelPlacementStrategy",227,Ute,Z7,Gj);fBt(422,22,{3:1,35:1,22:1,422:1},yT);var aue,sue,cue,lue,uue=$nt(j1t,"ConstraintCalculationStrategy",422,Ute,VZ,Wj);fBt(314,22,{3:1,35:1,22:1,314:1,246:1,234:1},_T),AKt.Kf=function(){return cDt(this)},AKt.Xf=function(){return cDt(this)};var hue,due,fue,gue,pue=$nt(j1t,"CrossingMinimizationStrategy",314,Ute,_1,Kj);fBt(337,22,{3:1,35:1,22:1,337:1},CT);var mue,bue,wue,kue,vue,yue,_ue=$nt(j1t,"CuttingStrategy",337,Ute,C1,Zj);fBt(335,22,{3:1,35:1,22:1,335:1,246:1,234:1},AT),AKt.Kf=function(){return NBt(this)},AKt.Xf=function(){return NBt(this)};var Cue,Aue,xue,Eue=$nt(j1t,"CycleBreakingStrategy",335,Ute,B4,Qj);fBt(419,22,{3:1,35:1,22:1,419:1},xT);var Tue,Sue,Due,Iue,Bue=$nt(j1t,"DirectionCongruency",419,Ute,zZ,Jj);fBt(450,22,{3:1,35:1,22:1,450:1},ET);var Mue,Pue,Lue,Oue,Nue,Rue,Fue,jue=$nt(j1t,"EdgeConstraint",450,Ute,A1,t$);fBt(276,22,{3:1,35:1,22:1,276:1},TT);var $ue,zue,Vue,Hue=$nt(j1t,"EdgeLabelSideSelection",276,Ute,e8,e$);fBt(479,22,{3:1,35:1,22:1,479:1},ST);var que,Uue,Gue,Wue,Kue,Yue,Xue,Zue=$nt(j1t,"EdgeStraighteningStrategy",479,Ute,$Z,n$);fBt(274,22,{3:1,35:1,22:1,274:1},DT);var Que,Jue,the,ehe,nhe,ihe,rhe,ohe=$nt(j1t,"FixedAlignment",274,Ute,J7,i$);fBt(275,22,{3:1,35:1,22:1,275:1},IT);var ahe,she,che,lhe,uhe,hhe,dhe,fhe,ghe,phe,mhe,bhe=$nt(j1t,"GraphCompactionStrategy",275,Ute,Q7,r$);fBt(256,22,{3:1,35:1,22:1,256:1},BT);var whe,khe,vhe,yhe,_he=$nt(j1t,"GraphProperties",256,Ute,dot,o$);fBt(292,22,{3:1,35:1,22:1,292:1},MT);var Che,Ahe,xhe,Ehe,The=$nt(j1t,"GreedySwitchType",292,Ute,T1,a$);fBt(303,22,{3:1,35:1,22:1,303:1},PT);var She,Dhe,Ihe,Bhe=$nt(j1t,"InLayerConstraint",303,Ute,E1,s$);fBt(420,22,{3:1,35:1,22:1,420:1},LT);var Mhe,Phe,Lhe,Ohe,Nhe,Rhe,Fhe,jhe,$he,zhe,Vhe,Hhe,qhe,Uhe,Ghe,Whe,Khe,Yhe,Xhe,Zhe,Qhe,Jhe,tde,ede,nde,ide,rde,ode,ade,sde,cde,lde,ude,hde,dde,fde,gde,pde,mde,bde,wde,kde,vde,yde,_de,Cde,Ade,xde,Ede,Tde,Sde,Dde,Ide,Bde,Mde,Pde,Lde,Ode,Nde,Rde,Fde,jde,$de,zde,Vde=$nt(j1t,"InteractiveReferencePoint",420,Ute,HZ,c$);fBt(163,22,{3:1,35:1,22:1,163:1},jT);var Hde,qde,Ude,Gde,Wde,Kde,Yde,Xde,Zde,Qde,Jde,tfe,efe,nfe,ife,rfe,ofe,afe,sfe,cfe,lfe,ufe,hfe,dfe,ffe,gfe,pfe,mfe,bfe,wfe,kfe,vfe,yfe,_fe,Cfe,Afe,xfe,Efe,Tfe,Sfe,Dfe,Ife,Bfe,Mfe,Pfe,Lfe,Ofe,Nfe,Rfe,Ffe,jfe,$fe,zfe,Vfe,Hfe,qfe,Ufe,Gfe,Wfe,Kfe,Yfe,Xfe,Zfe,Qfe,Jfe,tge,ege,nge,ige,rge,oge,age,sge,cge,lge,uge,hge,dge,fge,gge,pge,mge,bge,wge,kge,vge,yge,_ge,Cge,Age,xge,Ege,Tge,Sge,Dge,Ige,Bge,Mge,Pge,Lge,Oge,Nge,Rge,Fge,jge,$ge,zge,Vge,Hge,qge,Uge,Gge,Wge,Kge,Yge,Xge,Zge,Qge,Jge,tpe,epe,npe,ipe,rpe,ope,ape,spe,cpe,lpe,upe,hpe,dpe,fpe,gpe,ppe,mpe,bpe,wpe,kpe,vpe,ype,_pe,Cpe,Ape,xpe,Epe,Tpe,Spe,Dpe,Ipe,Bpe,Mpe,Ppe,Lpe,Ope,Npe,Rpe,Fpe,jpe,$pe,zpe,Vpe,Hpe,qpe,Upe,Gpe,Wpe,Kpe,Ype,Xpe,Zpe,Qpe,Jpe,tme,eme,nme,ime,rme,ome,ame,sme,cme,lme,ume,hme,dme,fme,gme,pme,mme,bme,wme,kme,vme,yme,_me,Cme,Ame,xme,Eme,Tme,Sme,Dme,Ime,Bme,Mme,Pme,Lme,Ome,Nme,Rme,Fme,jme,$me,zme,Vme,Hme,qme,Ume,Gme,Wme,Kme,Yme,Xme,Zme,Qme,Jme,tbe,ebe,nbe,ibe,rbe,obe,abe,sbe,cbe,lbe,ube,hbe,dbe,fbe,gbe,pbe,mbe,bbe,wbe,kbe,vbe,ybe,_be,Cbe,Abe,xbe,Ebe,Tbe,Sbe,Dbe,Ibe,Bbe,Mbe,Pbe,Lbe,Obe,Nbe,Rbe,Fbe,jbe,$be,zbe,Vbe,Hbe,qbe,Ube,Gbe,Wbe,Kbe,Ybe,Xbe,Zbe,Qbe,Jbe,twe,ewe=$nt(j1t,"LayerConstraint",163,Ute,L4,l$);fBt(848,1,YZt,sh),AKt.Qe=function(t){Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,U1t),""),"Direction Congruency"),"Specifies how drawings of the same graph with different layout directions compare to each other: either a natural reading direction is preserved or the drawings are rotated versions of each other."),xfe),(ETt(),gxe)),Bue),Jdt((ibt(),cxe))))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,G1t),""),"Feedback Edges"),"Whether feedback edges should be highlighted by routing around the nodes."),(cL(),!1)),dxe),vee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,W1t),""),"Interactive Reference Point"),"Determines which point of a node is considered by interactive layout phases."),Kfe),gxe),Vde),Jdt(cxe)))),r2(t,W1t,e0t,Xfe),r2(t,W1t,h0t,Yfe),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,K1t),""),"Merge Edges"),"Edges that have no ports are merged so they touch the connected nodes at the same points. When this option is disabled, one port is created for each edge directly connected to a node. When it is enabled, all such incoming edges share an input port, and all outgoing edges share an output port."),!1),dxe),vee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,Y1t),""),"Merge Hierarchy-Crossing Edges"),"If hierarchical layout is active, hierarchy-crossing edges use as few hierarchical ports as possible. They are broken by the algorithm, with hierarchical ports inserted as required. Usually, one such port is created for each edge at each hierarchy crossing point. With this option set to true, we try to create as few hierarchical ports as possible in the process. In particular, all edges that form a hyperedge can share a port."),!0),dxe),vee),Jdt(cxe)))),Ift(t,new dTt(x_(S_(T_(D_(__(y_(E_(C_(A_(new zs,X1t),""),"Allow Non-Flow Ports To Switch Sides"),"Specifies whether non-flow ports may switch sides if their node's port constraints are either FIXED_SIDE or FIXED_ORDER. A non-flow port is a port on a side that is not part of the currently configured layout flow. For instance, given a left-to-right layout direction, north and south ports would be considered non-flow ports. Further note that the underlying criterium whether to switch sides or not solely relies on the minimization of edge crossings. Hence, edge length and other aesthetics criteria are not addressed."),!1),dxe),vee),Jdt(lxe)),Est(Vy(Yee,1),cYt,2,6,["org.eclipse.elk.layered.northOrSouthPort"])))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,Z1t),""),"Port Sorting Strategy"),"Only relevant for nodes with FIXED_SIDE port constraints. Determines the way a node's ports are distributed on the sides of a node if their order is not prescribed. The option is set on parent nodes."),Pge),gxe),Hwe),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,Q1t),""),"Thoroughness"),"How much effort should be spent to produce a nice layout."),ndt(7)),mxe),Iee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,J1t),""),"Add Unnecessary Bendpoints"),"Adds bend points even if an edge does not change direction. If true, each long edge dummy will contribute a bend point to its edges and hierarchy-crossing edges will always get a bend point where they cross hierarchy boundaries. By default, bend points are only added where an edge changes direction."),!1),dxe),vee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,t0t),""),"Generate Position and Layer IDs"),"If enabled position id and layer id are generated, which are usually only used internally when setting the interactiveLayout option. This option should be specified on the root node."),!1),dxe),vee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,e0t),"cycleBreaking"),"Cycle Breaking Strategy"),"Strategy for cycle breaking. Cycle breaking looks for cycles in the graph and determines which edges to reverse to break the cycles. Reversed edges will end up pointing to the opposite direction of regular edges (that is, reversed edges will point left if edges usually point right)."),Cfe),gxe),Eue),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,n0t),u2t),"Node Layering Strategy"),"Strategy for node layering."),hge),gxe),awe),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,i0t),u2t),"Layer Constraint"),"Determines a constraint on the placement of the node regarding the layering."),ege),gxe),ewe),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,r0t),u2t),"Layer Choice Constraint"),"Allows to set a constraint regarding the layer placement of a node. Let i be the value of teh constraint. Assumed the drawing has n layers and i < n. If set to i, it expresses that the node should be placed in i-th layer. Should i>=n be true then the node is placed in the last layer of the drawing. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),ndt(-1)),mxe),Iee),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,o0t),u2t),"Layer ID"),"Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),ndt(-1)),mxe),Iee),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,a0t),h2t),"Upper Bound On Width [MinWidth Layerer]"),"Defines a loose upper bound on the width of the MinWidth layerer. If set to '-1' multiple values are tested and the best result is selected."),ndt(4)),mxe),Iee),Jdt(cxe)))),r2(t,a0t,n0t,rge),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,s0t),h2t),"Upper Layer Estimation Scaling Factor [MinWidth Layerer]"),"Multiplied with Upper Bound On Width for defining an upper bound on the width of layers which haven't been determined yet, but whose maximum width had been (roughly) estimated by the MinWidth algorithm. Compensates for too high estimations. If set to '-1' multiple values are tested and the best result is selected."),ndt(2)),mxe),Iee),Jdt(cxe)))),r2(t,s0t,n0t,age),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,c0t),d2t),"Node Promotion Strategy"),"Reduces number of dummy nodes after layering phase (if possible)."),lge),gxe),Lwe),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,l0t),d2t),"Max Node Promotion Iterations"),"Limits the number of iterations for node promotion."),ndt(0)),mxe),Iee),Jdt(cxe)))),r2(t,l0t,c0t,null),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,u0t),"layering.coffmanGraham"),"Layer Bound"),"The maximum number of nodes allowed per layer."),ndt(OKt)),mxe),Iee),Jdt(cxe)))),r2(t,u0t,n0t,Qfe),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,h0t),f2t),"Crossing Minimization Strategy"),"Strategy for crossing minimization."),yfe),gxe),pue),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,d0t),f2t),"Force Node Model Order"),"The node order given by the model does not change to produce a better layout. E.g. if node A is before node B in the model this is not changed during crossing minimization. This assumes that the node model order is already respected before crossing minimization. This can be achieved by setting considerModelOrder.strategy to NODES_AND_EDGES."),!1),dxe),vee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,f0t),f2t),"Hierarchical Sweepiness"),"How likely it is to use cross-hierarchy (1) vs bottom-up (-1)."),.1),fxe),Eee),Jdt(cxe)))),r2(t,f0t,g2t,pfe),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,g0t),f2t),"Semi-Interactive Crossing Minimization"),"Preserves the order of nodes within a layer but still minimizes crossings between edges connecting long edge dummies. Derives the desired order from positions specified by the 'org.eclipse.elk.position' layout option. Requires a crossing minimization strategy that is able to process 'in-layer' constraints."),!1),dxe),vee),Jdt(cxe)))),r2(t,g0t,h0t,kfe),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,p0t),f2t),"Position Choice Constraint"),"Allows to set a constraint regarding the position placement of a node in a layer. Assumed the layer in which the node placed includes n other nodes and i < n. If set to i, it expresses that the node should be placed at the i-th position. Should i>=n be true then the node is placed at the last position in the layer. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),ndt(-1)),mxe),Iee),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,m0t),f2t),"Position ID"),"Position within a layer that was determined by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),ndt(-1)),mxe),Iee),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,b0t),p2t),"Greedy Switch Activation Threshold"),"By default it is decided automatically if the greedy switch is activated or not. The decision is based on whether the size of the input graph (without dummy nodes) is smaller than the value of this option. A '0' enforces the activation."),ndt(40)),mxe),Iee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,w0t),p2t),"Greedy Switch Crossing Minimization"),"Greedy Switch strategy for crossing minimization. The greedy switch heuristic is executed after the regular crossing minimization as a post-processor. Note that if 'hierarchyHandling' is set to 'INCLUDE_CHILDREN', the 'greedySwitchHierarchical.type' option must be used."),dfe),gxe),The),Jdt(cxe)))),r2(t,w0t,h0t,ffe),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,k0t),"crossingMinimization.greedySwitchHierarchical"),"Greedy Switch Crossing Minimization (hierarchical)"),"Activates the greedy switch heuristic in case hierarchical layout is used. The differences to the non-hierarchical case (see 'greedySwitch.type') are: 1) greedy switch is inactive by default, 3) only the option value set on the node at which hierarchical layout starts is relevant, and 2) if it's activated by the user, it properly addresses hierarchy-crossing edges."),cfe),gxe),The),Jdt(cxe)))),r2(t,k0t,h0t,lfe),r2(t,k0t,g2t,ufe),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,v0t),m2t),"Node Placement Strategy"),"Strategy for node placement."),Bge),gxe),Dwe),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,y0t),m2t),"Favor Straight Edges Over Balancing"),"Favor straight edges over a balanced node placement. The default behavior is determined automatically based on the used 'edgeRouting'. For an orthogonal style it is set to true, for all other styles to false."),dxe),vee),Jdt(cxe)))),r2(t,y0t,v0t,yge),r2(t,y0t,v0t,_ge),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,_0t),b2t),"BK Edge Straightening"),"Specifies whether the Brandes Koepf node placer tries to increase the number of straight edges at the expense of diagram size. There is a subtle difference to the 'favorStraightEdges' option, which decides whether a balanced placement of the nodes is desired, or not. In bk terms this means combining the four alignments into a single balanced one, or not. This option on the other hand tries to straighten additional edges during the creation of each of the four alignments."),pge),gxe),Zue),Jdt(cxe)))),r2(t,_0t,v0t,mge),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,C0t),b2t),"BK Fixed Alignment"),"Tells the BK node placer to use a certain alignment (out of its four) instead of the one producing the smallest height, or the combination of all four."),wge),gxe),ohe),Jdt(cxe)))),r2(t,C0t,v0t,kge),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,A0t),"nodePlacement.linearSegments"),"Linear Segments Deflection Dampening"),"Dampens the movement of nodes to keep the diagram from getting too large."),.3),fxe),Eee),Jdt(cxe)))),r2(t,A0t,v0t,Age),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,x0t),"nodePlacement.networkSimplex"),"Node Flexibility"),"Aims at shorter and straighter edges. Two configurations are possible: (a) allow ports to move freely on the side they are assigned to (the order is always defined beforehand), (b) additionally allow to enlarge a node wherever it helps. If this option is not configured for a node, the 'nodeFlexibility.default' value is used, which is specified for the node's parent."),gxe),kwe),Jdt(sxe)))),r2(t,x0t,v0t,Dge),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,E0t),"nodePlacement.networkSimplex.nodeFlexibility"),"Node Flexibility Default"),"Default value of the 'nodeFlexibility' option for the children of a hierarchical node."),Tge),gxe),kwe),Jdt(cxe)))),r2(t,E0t,v0t,Sge),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,T0t),w2t),"Self-Loop Distribution"),"Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE."),Pfe),gxe),Qwe),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,S0t),w2t),"Self-Loop Ordering"),"Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE."),Ofe),gxe),ike),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,D0t),"edgeRouting.splines"),"Spline Routing Mode"),"Specifies the way control points are assembled for each individual edge. CONSERVATIVE ensures that edges are properly routed around the nodes but feels rather orthogonal at times. SLOPPY uses fewer control points to obtain curvier edge routes but may result in edges overlapping nodes."),Rfe),gxe),cke),Jdt(cxe)))),r2(t,D0t,k2t,Ffe),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,I0t),"edgeRouting.splines.sloppy"),"Sloppy Spline Layer Spacing Factor"),"Spacing factor for routing area between layers when using sloppy spline routing."),.2),fxe),Eee),Jdt(cxe)))),r2(t,I0t,k2t,$fe),r2(t,I0t,D0t,zfe),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,B0t),"edgeRouting.polyline"),"Sloped Edge Zone Width"),"Width of the strip to the left and to the right of each layer where the polyline edge router is allowed to refrain from ensuring that edges are routed horizontally. This prevents awkward bend points for nodes that extent almost to the edge of their layer."),2),fxe),Eee),Jdt(cxe)))),r2(t,B0t,k2t,Bfe),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,M0t),v2t),"Spacing Base Value"),"An optional base value for all other layout options of the 'spacing' group. It can be used to conveniently alter the overall 'spaciousness' of the drawing. Whenever an explicit value is set for the other layout options, this base value will have no effect. The base value is not inherited, i.e. it must be set for each hierarchical node."),fxe),Eee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,P0t),v2t),"Edge Node Between Layers Spacing"),"The spacing to be preserved between nodes and edges that are routed next to the node's layer. For the spacing between nodes and edges that cross the node's layer 'spacing.edgeNode' is used."),10),fxe),Eee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,L0t),v2t),"Edge Edge Between Layer Spacing"),"Spacing to be preserved between pairs of edges that are routed between the same pair of layers. Note that 'spacing.edgeEdge' is used for the spacing between pairs of edges crossing the same layer."),10),fxe),Eee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,O0t),v2t),"Node Node Between Layers Spacing"),"The spacing to be preserved between any pair of nodes of two adjacent layers. Note that 'spacing.nodeNode' is used for the spacing between nodes within the layer itself."),20),fxe),Eee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,N0t),y2t),"Direction Priority"),"Defines how important it is to have a certain edge point into the direction of the overall layout. This option is evaluated during the cycle breaking phase."),ndt(0)),mxe),Iee),Jdt(oxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,R0t),y2t),"Shortness Priority"),"Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase."),ndt(0)),mxe),Iee),Jdt(oxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,F0t),y2t),"Straightness Priority"),"Defines how important it is to keep an edge straight, i.e. aligned with one of the two axes. This option is evaluated during node placement."),ndt(0)),mxe),Iee),Jdt(oxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,j0t),_2t),OQt),"Tries to further compact components (disconnected sub-graphs)."),!1),dxe),vee),Jdt(cxe)))),r2(t,j0t,vJt,!0),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,$0t),C2t),"Post Compaction Strategy"),A2t),Yde),gxe),bhe),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,z0t),C2t),"Post Compaction Constraint Calculation"),A2t),Wde),gxe),uue),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,V0t),x2t),"High Degree Node Treatment"),"Makes room around high degree nodes to place leafs and trees."),!1),dxe),vee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,H0t),x2t),"High Degree Node Threshold"),"Whether a node is considered to have a high degree."),ndt(16)),mxe),Iee),Jdt(cxe)))),r2(t,H0t,V0t,!0),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,q0t),x2t),"High Degree Node Maximum Tree Height"),"Maximum height of a subtree connected to a high degree node to be moved to separate layers."),ndt(5)),mxe),Iee),Jdt(cxe)))),r2(t,q0t,V0t,!0),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,U0t),E2t),"Graph Wrapping Strategy"),"For certain graphs and certain prescribed drawing areas it may be desirable to split the laid out graph into chunks that are placed side by side. The edges that connect different chunks are 'wrapped' around from the end of one chunk to the start of the other chunk. The points between the chunks are referred to as 'cuts'."),hpe),gxe),Ake),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,G0t),E2t),"Additional Wrapped Edges Spacing"),"To visually separate edges that are wrapped from regularly routed edges an additional spacing value can be specified in form of this layout option. The spacing is added to the regular edgeNode spacing."),10),fxe),Eee),Jdt(cxe)))),r2(t,G0t,U0t,qge),r2(t,G0t,U0t,Uge),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,W0t),E2t),"Correction Factor for Wrapping"),"At times and for certain types of graphs the executed wrapping may produce results that are consistently biased in the same fashion: either wrapping to often or to rarely. This factor can be used to correct the bias. Internally, it is simply multiplied with the 'aspect ratio' layout option."),1),fxe),Eee),Jdt(cxe)))),r2(t,W0t,U0t,Wge),r2(t,W0t,U0t,Kge),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,K0t),T2t),"Cutting Strategy"),"The strategy by which the layer indexes are determined at which the layering crumbles into chunks."),epe),gxe),_ue),Jdt(cxe)))),r2(t,K0t,U0t,npe),r2(t,K0t,U0t,ipe),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,Y0t),T2t),"Manually Specified Cuts"),"Allows the user to specify her own cuts for a certain graph."),bxe),Nte),Jdt(cxe)))),r2(t,Y0t,K0t,Xge),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,X0t),"wrapping.cutting.msd"),"MSD Freedom"),"The MSD cutting strategy starts with an initial guess on the number of chunks the graph should be split into. The freedom specifies how much the strategy may deviate from this guess. E.g. if an initial number of 3 is computed, a freedom of 1 allows 2, 3, and 4 cuts."),Qge),mxe),Iee),Jdt(cxe)))),r2(t,X0t,K0t,Jge),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,Z0t),S2t),"Validification Strategy"),"When wrapping graphs, one can specify indices that are not allowed as split points. The validification strategy makes sure every computed split point is allowed."),mpe),gxe),fke),Jdt(cxe)))),r2(t,Z0t,U0t,bpe),r2(t,Z0t,U0t,wpe),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,Q0t),S2t),"Valid Indices for Wrapping"),null),bxe),Nte),Jdt(cxe)))),r2(t,Q0t,U0t,fpe),r2(t,Q0t,U0t,gpe),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,J0t),D2t),"Improve Cuts"),"For general graphs it is important that not too many edges wrap backwards. Thus a compromise between evenly-distributed cuts and the total number of cut edges is sought."),!0),dxe),vee),Jdt(cxe)))),r2(t,J0t,U0t,spe),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,t2t),D2t),"Distance Penalty When Improving Cuts"),null),2),fxe),Eee),Jdt(cxe)))),r2(t,t2t,U0t,ope),r2(t,t2t,J0t,!0),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,e2t),D2t),"Improve Wrapped Edges"),"The initial wrapping is performed in a very simple way. As a consequence, edges that wrap from one chunk to another may be unnecessarily long. Activating this option tries to shorten such edges."),!0),dxe),vee),Jdt(cxe)))),r2(t,e2t,U0t,lpe),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,n2t),I2t),"Edge Label Side Selection"),"Method to decide on edge label sides."),Dfe),gxe),Hue),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,i2t),I2t),"Edge Center Label Placement Strategy"),"Determines in which layer center labels of long edges should be placed."),Tfe),gxe),oue),yq(cxe,Est(Vy(vxe,1),BYt,175,0,[axe]))))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,r2t),B2t),"Consider Model Order"),"Preserves the order of nodes and edges in the model file if this does not lead to additional edge crossings. Depending on the strategy this is not always possible since the node and edge order might be conflicting."),rfe),gxe),Fwe),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,o2t),B2t),"No Model Order"),"Set on a node to not set a model order for this node even though it is a real node."),!1),dxe),vee),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,a2t),B2t),"Consider Model Order for Components"),"If set to NONE the usual ordering strategy (by cumulative node priority and size of nodes) is used. INSIDE_PORT_SIDES orders the components with external ports only inside the groups with the same port side. FORCE_MODEL_ORDER enforces the mode order on components. This option might produce bad alignments and sub optimal drawings in terms of used area since the ordering should be respected."),Zde),gxe),bse),Jdt(cxe)))),r2(t,a2t,vJt,null),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,s2t),B2t),"Long Edge Ordering Strategy"),"Indicates whether long edges are sorted under, over, or equal to nodes that have no connection to a previous layer in a left-to-right or right-to-left layout. Under and over changes to right and left in a vertical layout."),efe),gxe),dwe),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,c2t),B2t),"Crossing Counter Node Order Influence"),"Indicates with what percentage (1 for 100%) violations of the node model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal node order. Defaults to no influence (0)."),0),fxe),Eee),Jdt(cxe)))),r2(t,c2t,r2t,null),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,l2t),B2t),"Crossing Counter Port Order Influence"),"Indicates with what percentage (1 for 100%) violations of the port model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal port order. Defaults to no influence (0)."),0),fxe),Eee),Jdt(cxe)))),r2(t,l2t,r2t,null),bKt((new uh,t))},mW(j1t,"LayeredMetaDataProvider",848),fBt(986,1,YZt,uh),AKt.Qe=function(t){bKt(t)},mW(j1t,"LayeredOptions",986),fBt(987,1,{},Do),AKt.$e=function(){return new qw},AKt._e=function(t){},mW(j1t,"LayeredOptions/LayeredFactory",987),fBt(1372,1,{}),AKt.a=0,mW(k3t,"ElkSpacings/AbstractSpacingsBuilder",1372),fBt(779,1372,{},agt),mW(j1t,"LayeredSpacings/LayeredSpacingsBuilder",779),fBt(313,22,{3:1,35:1,22:1,313:1,246:1,234:1},OT),AKt.Kf=function(){return iPt(this)},AKt.Xf=function(){return iPt(this)};var nwe,iwe,rwe,owe,awe=$nt(j1t,"LayeringStrategy",313,Ute,t8,u$);fBt(378,22,{3:1,35:1,22:1,378:1},NT);var swe,cwe,lwe,uwe,hwe,dwe=$nt(j1t,"LongEdgeOrderingStrategy",378,Ute,y1,h$);fBt(197,22,{3:1,35:1,22:1,197:1},RT);var fwe,gwe,pwe,mwe,bwe,wwe,kwe=$nt(j1t,"NodeFlexibility",197,Ute,k3,d$);fBt(315,22,{3:1,35:1,22:1,315:1,246:1,234:1},FT),AKt.Kf=function(){return OBt(this)},AKt.Xf=function(){return OBt(this)};var vwe,ywe,_we,Cwe,Awe,xwe,Ewe,Twe,Swe,Dwe=$nt(j1t,"NodePlacementStrategy",315,Ute,I4,w$);fBt(260,22,{3:1,35:1,22:1,260:1},$T);var Iwe,Bwe,Mwe,Pwe,Lwe=$nt(j1t,"NodePromotionStrategy",260,Ute,$et,g$);fBt(339,22,{3:1,35:1,22:1,339:1},zT);var Owe,Nwe,Rwe,Fwe=$nt(j1t,"OrderingStrategy",339,Ute,D1,p$);fBt(421,22,{3:1,35:1,22:1,421:1},VT);var jwe,$we,zwe,Vwe,Hwe=$nt(j1t,"PortSortingStrategy",421,Ute,qZ,m$);fBt(452,22,{3:1,35:1,22:1,452:1},HT);var qwe,Uwe,Gwe,Wwe,Kwe=$nt(j1t,"PortType",452,Ute,S1,f$);fBt(375,22,{3:1,35:1,22:1,375:1},qT);var Ywe,Xwe,Zwe,Qwe=$nt(j1t,"SelfLoopDistributionStrategy",375,Ute,I1,b$);fBt(376,22,{3:1,35:1,22:1,376:1},UT);var Jwe,tke,eke,nke,ike=$nt(j1t,"SelfLoopOrderingStrategy",376,Ute,jZ,k$);fBt(304,1,{304:1},cqt),mW(j1t,"Spacings",304),fBt(336,22,{3:1,35:1,22:1,336:1},GT);var rke,oke,ake,ske,cke=$nt(j1t,"SplineRoutingMode",336,Ute,M1,v$);fBt(338,22,{3:1,35:1,22:1,338:1},WT);var lke,uke,hke,dke,fke=$nt(j1t,"ValidifyStrategy",338,Ute,P1,y$);fBt(377,22,{3:1,35:1,22:1,377:1},KT);var gke,pke,mke,bke,wke,kke,vke,yke,_ke,Cke,Ake=$nt(j1t,"WrappingStrategy",377,Ute,B1,_$);fBt(1383,1,_3t,hh),AKt.Yf=function(t){return jz(t,37),pke},AKt.pf=function(t,e){ZVt(this,jz(t,37),e)},mW(C3t,"DepthFirstCycleBreaker",1383),fBt(782,1,_3t,Nq),AKt.Yf=function(t){return jz(t,37),mke},AKt.pf=function(t,e){UWt(this,jz(t,37),e)},AKt.Zf=function(t){return jz(PH(t,mwt(this.d,t.c.length)),10)},mW(C3t,"GreedyCycleBreaker",782),fBt(1386,782,_3t,_D),AKt.Zf=function(t){var e,n,i,r;for(r=null,e=OKt,i=new Gf(t);i.a1&&(zv(_N(wxt(mK((u1(0,t.c.length),jz(t.c[0],10))),(zWt(),Ppe))))?NMt(t,this.d,jz(this,660)):(AX(),bM(t,this.d)),$at(this.e,t))},AKt.Sf=function(t,e,n,i){var r,o,a,s,c,l,u;for(e!=XH(n,t.length)&&(o=t[e-(n?1:-1)],V6(this.f,o,n?(oit(),zwe):(oit(),$we))),r=t[e][0],u=!i||r.k==(aEt(),Cse),l=o6(t[e]),this.ag(l,u,!1,n),a=0,c=new Gf(l);c.a"),t0?oJ(this.a,t[e-1],t[e]):!n&&e1&&(zv(_N(wxt(mK((u1(0,t.c.length),jz(t.c[0],10))),(zWt(),Ppe))))?NMt(t,this.d,this):(AX(),bM(t,this.d)),zv(_N(wxt(mK((u1(0,t.c.length),jz(t.c[0],10))),Ppe)))||$at(this.e,t))},mW(T3t,"ModelOrderBarycenterHeuristic",660),fBt(1803,1,AZt,Gp),AKt.ue=function(t,e){return REt(this.a,jz(t,10),jz(e,10))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(T3t,"ModelOrderBarycenterHeuristic/lambda$0$Type",1803),fBt(1403,1,_3t,kh),AKt.Yf=function(t){var e;return jz(t,37),fH(e=kB(Lke),(kxt(),Rae),(hKt(),jce)),e},AKt.pf=function(t,e){bZ((jz(t,37),e))},mW(T3t,"NoCrossingMinimizer",1403),fBt(796,402,x3t,O_),AKt.$f=function(t,e,n){var i,r,o,a,s,c,l,u,h,d,f;switch(h=this.g,n.g){case 1:for(r=0,o=0,u=new Gf(t.j);u.a1&&(r.j==(vGt(),aDe)?this.b[t]=!0:r.j==EDe&&t>0&&(this.b[t-1]=!0))},AKt.f=0,mW(M1t,"AllCrossingsCounter",1798),fBt(587,1,{},wrt),AKt.b=0,AKt.d=0,mW(M1t,"BinaryIndexedTree",587),fBt(524,1,{},KF),mW(M1t,"CrossingsCounter",524),fBt(1906,1,AZt,Wp),AKt.ue=function(t,e){return UH(this.a,jz(t,11),jz(e,11))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(M1t,"CrossingsCounter/lambda$0$Type",1906),fBt(1907,1,AZt,Kp),AKt.ue=function(t,e){return GH(this.a,jz(t,11),jz(e,11))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(M1t,"CrossingsCounter/lambda$1$Type",1907),fBt(1908,1,AZt,Yp),AKt.ue=function(t,e){return WH(this.a,jz(t,11),jz(e,11))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(M1t,"CrossingsCounter/lambda$2$Type",1908),fBt(1909,1,AZt,Xp),AKt.ue=function(t,e){return KH(this.a,jz(t,11),jz(e,11))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(M1t,"CrossingsCounter/lambda$3$Type",1909),fBt(1910,1,hYt,Zp),AKt.td=function(t){p9(this.a,jz(t,11))},mW(M1t,"CrossingsCounter/lambda$4$Type",1910),fBt(1911,1,OYt,Qp),AKt.Mb=function(t){return wD(this.a,jz(t,11))},mW(M1t,"CrossingsCounter/lambda$5$Type",1911),fBt(1912,1,hYt,Jp),AKt.td=function(t){bD(this,t)},mW(M1t,"CrossingsCounter/lambda$6$Type",1912),fBt(1913,1,hYt,ZT),AKt.td=function(t){var e;cV(),f3(this.b,(e=this.a,jz(t,11),e))},mW(M1t,"CrossingsCounter/lambda$7$Type",1913),fBt(826,1,VZt,No),AKt.Lb=function(t){return cV(),BO(jz(t,11),(lKt(),yde))},AKt.Fb=function(t){return this===t},AKt.Mb=function(t){return cV(),BO(jz(t,11),(lKt(),yde))},mW(M1t,"CrossingsCounter/lambda$8$Type",826),fBt(1905,1,{},tm),mW(M1t,"HyperedgeCrossingsCounter",1905),fBt(467,1,{35:1,467:1},LR),AKt.wd=function(t){return bmt(this,jz(t,467))},AKt.b=0,AKt.c=0,AKt.e=0,AKt.f=0;var Fke=mW(M1t,"HyperedgeCrossingsCounter/Hyperedge",467);fBt(362,1,{35:1,362:1},zY),AKt.wd=function(t){return hMt(this,jz(t,362))},AKt.b=0,AKt.c=0;var jke,$ke,zke=mW(M1t,"HyperedgeCrossingsCounter/HyperedgeCorner",362);fBt(523,22,{3:1,35:1,22:1,523:1},XT);var Vke,Hke,qke,Uke,Gke,Wke=$nt(M1t,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",523,Ute,UZ,A$);fBt(1405,1,_3t,lh),AKt.Yf=function(t){return jz(wxt(jz(t,37),(lKt(),Zhe)),21).Hc((dNt(),uhe))?Hke:null},AKt.pf=function(t,e){h_t(this,jz(t,37),e)},mW(S3t,"InteractiveNodePlacer",1405),fBt(1406,1,_3t,ch),AKt.Yf=function(t){return jz(wxt(jz(t,37),(lKt(),Zhe)),21).Hc((dNt(),uhe))?qke:null},AKt.pf=function(t,e){ykt(this,jz(t,37),e)},mW(S3t,"LinearSegmentsNodePlacer",1406),fBt(257,1,{35:1,257:1},nk),AKt.wd=function(t){return o_(this,jz(t,257))},AKt.Fb=function(t){var e;return!!iP(t,257)&&(e=jz(t,257),this.b==e.b)},AKt.Hb=function(){return this.b},AKt.Ib=function(){return"ls"+Mxt(this.e)},AKt.a=0,AKt.b=0,AKt.c=-1,AKt.d=-1,AKt.g=0;var Kke,Yke=mW(S3t,"LinearSegmentsNodePlacer/LinearSegment",257);fBt(1408,1,_3t,Rq),AKt.Yf=function(t){return jz(wxt(jz(t,37),(lKt(),Zhe)),21).Hc((dNt(),uhe))?Kke:null},AKt.pf=function(t,e){xWt(this,jz(t,37),e)},AKt.b=0,AKt.g=0,mW(S3t,"NetworkSimplexPlacer",1408),fBt(1427,1,AZt,Ro),AKt.ue=function(t,e){return yM(jz(t,19).a,jz(e,19).a)},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(S3t,"NetworkSimplexPlacer/0methodref$compare$Type",1427),fBt(1429,1,AZt,Fo),AKt.ue=function(t,e){return yM(jz(t,19).a,jz(e,19).a)},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(S3t,"NetworkSimplexPlacer/1methodref$compare$Type",1429),fBt(649,1,{649:1},QT);var Xke=mW(S3t,"NetworkSimplexPlacer/EdgeRep",649);fBt(401,1,{401:1},VY),AKt.b=!1;var Zke,Qke,Jke,tve=mW(S3t,"NetworkSimplexPlacer/NodeRep",401);fBt(508,12,{3:1,4:1,20:1,28:1,52:1,12:1,14:1,15:1,54:1,508:1},ok),mW(S3t,"NetworkSimplexPlacer/Path",508),fBt(1409,1,{},jo),AKt.Kb=function(t){return jz(t,17).d.i.k},mW(S3t,"NetworkSimplexPlacer/Path/lambda$0$Type",1409),fBt(1410,1,OYt,$o),AKt.Mb=function(t){return jz(t,267)==(aEt(),xse)},mW(S3t,"NetworkSimplexPlacer/Path/lambda$1$Type",1410),fBt(1411,1,{},zo),AKt.Kb=function(t){return jz(t,17).d.i},mW(S3t,"NetworkSimplexPlacer/Path/lambda$2$Type",1411),fBt(1412,1,OYt,em),AKt.Mb=function(t){return $N(tpt(jz(t,10)))},mW(S3t,"NetworkSimplexPlacer/Path/lambda$3$Type",1412),fBt(1413,1,OYt,Vo),AKt.Mb=function(t){return cH(jz(t,11))},mW(S3t,"NetworkSimplexPlacer/lambda$0$Type",1413),fBt(1414,1,hYt,JT),AKt.td=function(t){LM(this.a,this.b,jz(t,11))},mW(S3t,"NetworkSimplexPlacer/lambda$1$Type",1414),fBt(1423,1,hYt,nm),AKt.td=function(t){WSt(this.a,jz(t,17))},mW(S3t,"NetworkSimplexPlacer/lambda$10$Type",1423),fBt(1424,1,{},Ho),AKt.Kb=function(t){return jJ(),new OH(null,new d1(jz(t,29).a,16))},mW(S3t,"NetworkSimplexPlacer/lambda$11$Type",1424),fBt(1425,1,hYt,im),AKt.td=function(t){$Nt(this.a,jz(t,10))},mW(S3t,"NetworkSimplexPlacer/lambda$12$Type",1425),fBt(1426,1,{},qo),AKt.Kb=function(t){return jJ(),ndt(jz(t,121).e)},mW(S3t,"NetworkSimplexPlacer/lambda$13$Type",1426),fBt(1428,1,{},Uo),AKt.Kb=function(t){return jJ(),ndt(jz(t,121).e)},mW(S3t,"NetworkSimplexPlacer/lambda$15$Type",1428),fBt(1430,1,OYt,Go),AKt.Mb=function(t){return jJ(),jz(t,401).c.k==(aEt(),Ese)},mW(S3t,"NetworkSimplexPlacer/lambda$17$Type",1430),fBt(1431,1,OYt,Wo),AKt.Mb=function(t){return jJ(),jz(t,401).c.j.c.length>1},mW(S3t,"NetworkSimplexPlacer/lambda$18$Type",1431),fBt(1432,1,hYt,HY),AKt.td=function(t){rgt(this.c,this.b,this.d,this.a,jz(t,401))},AKt.c=0,AKt.d=0,mW(S3t,"NetworkSimplexPlacer/lambda$19$Type",1432),fBt(1415,1,{},Ko),AKt.Kb=function(t){return jJ(),new OH(null,new d1(jz(t,29).a,16))},mW(S3t,"NetworkSimplexPlacer/lambda$2$Type",1415),fBt(1433,1,hYt,rm),AKt.td=function(t){MM(this.a,jz(t,11))},AKt.a=0,mW(S3t,"NetworkSimplexPlacer/lambda$20$Type",1433),fBt(1434,1,{},Yo),AKt.Kb=function(t){return jJ(),new OH(null,new d1(jz(t,29).a,16))},mW(S3t,"NetworkSimplexPlacer/lambda$21$Type",1434),fBt(1435,1,hYt,om),AKt.td=function(t){fP(this.a,jz(t,10))},mW(S3t,"NetworkSimplexPlacer/lambda$22$Type",1435),fBt(1436,1,OYt,Xo),AKt.Mb=function(t){return $N(t)},mW(S3t,"NetworkSimplexPlacer/lambda$23$Type",1436),fBt(1437,1,{},Zo),AKt.Kb=function(t){return jJ(),new OH(null,new d1(jz(t,29).a,16))},mW(S3t,"NetworkSimplexPlacer/lambda$24$Type",1437),fBt(1438,1,OYt,am),AKt.Mb=function(t){return yI(this.a,jz(t,10))},mW(S3t,"NetworkSimplexPlacer/lambda$25$Type",1438),fBt(1439,1,hYt,tS),AKt.td=function(t){ATt(this.a,this.b,jz(t,10))},mW(S3t,"NetworkSimplexPlacer/lambda$26$Type",1439),fBt(1440,1,OYt,Qo),AKt.Mb=function(t){return jJ(),!h4(jz(t,17))},mW(S3t,"NetworkSimplexPlacer/lambda$27$Type",1440),fBt(1441,1,OYt,Jo),AKt.Mb=function(t){return jJ(),!h4(jz(t,17))},mW(S3t,"NetworkSimplexPlacer/lambda$28$Type",1441),fBt(1442,1,{},sm),AKt.Ce=function(t,e){return sP(this.a,jz(t,29),jz(e,29))},mW(S3t,"NetworkSimplexPlacer/lambda$29$Type",1442),fBt(1416,1,{},ta),AKt.Kb=function(t){return jJ(),new OH(null,new HG(new aU(ZP(hft(jz(t,10)).a.Kc(),new u))))},mW(S3t,"NetworkSimplexPlacer/lambda$3$Type",1416),fBt(1417,1,OYt,ea),AKt.Mb=function(t){return jJ(),J0(jz(t,17))},mW(S3t,"NetworkSimplexPlacer/lambda$4$Type",1417),fBt(1418,1,hYt,cm),AKt.td=function(t){nzt(this.a,jz(t,17))},mW(S3t,"NetworkSimplexPlacer/lambda$5$Type",1418),fBt(1419,1,{},na),AKt.Kb=function(t){return jJ(),new OH(null,new d1(jz(t,29).a,16))},mW(S3t,"NetworkSimplexPlacer/lambda$6$Type",1419),fBt(1420,1,OYt,ia),AKt.Mb=function(t){return jJ(),jz(t,10).k==(aEt(),Ese)},mW(S3t,"NetworkSimplexPlacer/lambda$7$Type",1420),fBt(1421,1,{},ra),AKt.Kb=function(t){return jJ(),new OH(null,new HG(new aU(ZP(lft(jz(t,10)).a.Kc(),new u))))},mW(S3t,"NetworkSimplexPlacer/lambda$8$Type",1421),fBt(1422,1,OYt,oa),AKt.Mb=function(t){return jJ(),qV(jz(t,17))},mW(S3t,"NetworkSimplexPlacer/lambda$9$Type",1422),fBt(1404,1,_3t,xh),AKt.Yf=function(t){return jz(wxt(jz(t,37),(lKt(),Zhe)),21).Hc((dNt(),uhe))?Zke:null},AKt.pf=function(t,e){vVt(jz(t,37),e)},mW(S3t,"SimpleNodePlacer",1404),fBt(180,1,{180:1},VFt),AKt.Ib=function(){var t;return t="",this.c==(gQ(),Jke)?t+=oQt:this.c==Qke&&(t+=rQt),this.o==(aJ(),nve)?t+=mQt:this.o==ive?t+="UP":t+="BALANCED",t},mW(B3t,"BKAlignedLayout",180),fBt(516,22,{3:1,35:1,22:1,516:1},iS);var eve,nve,ive,rve=$nt(B3t,"BKAlignedLayout/HDirection",516,Ute,WZ,x$);fBt(515,22,{3:1,35:1,22:1,515:1},nS);var ove,ave,sve,cve,lve,uve,hve,dve,fve,gve,pve,mve,bve,wve,kve,vve,yve,_ve,Cve,Ave=$nt(B3t,"BKAlignedLayout/VDirection",515,Ute,KZ,E$);fBt(1634,1,{},eS),mW(B3t,"BKAligner",1634),fBt(1637,1,{},Zvt),mW(B3t,"BKCompactor",1637),fBt(654,1,{654:1},aa),AKt.a=0,mW(B3t,"BKCompactor/ClassEdge",654),fBt(458,1,{458:1},ik),AKt.a=null,AKt.b=0,mW(B3t,"BKCompactor/ClassNode",458),fBt(1407,1,_3t,vD),AKt.Yf=function(t){return jz(wxt(jz(t,37),(lKt(),Zhe)),21).Hc((dNt(),uhe))?ave:null},AKt.pf=function(t,e){iKt(this,jz(t,37),e)},AKt.d=!1,mW(B3t,"BKNodePlacer",1407),fBt(1635,1,{},sa),AKt.d=0,mW(B3t,"NeighborhoodInformation",1635),fBt(1636,1,AZt,lm),AKt.ue=function(t,e){return Aet(this,jz(t,46),jz(e,46))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(B3t,"NeighborhoodInformation/NeighborComparator",1636),fBt(808,1,{}),mW(B3t,"ThresholdStrategy",808),fBt(1763,808,{},fk),AKt.bg=function(t,e,n){return this.a.o==(aJ(),ive)?NXt:RXt},AKt.cg=function(){},mW(B3t,"ThresholdStrategy/NullThresholdStrategy",1763),fBt(579,1,{579:1},rS),AKt.c=!1,AKt.d=!1,mW(B3t,"ThresholdStrategy/Postprocessable",579),fBt(1764,808,{},gk),AKt.bg=function(t,e,n){var i,r,o;return r=e==n,i=this.a.a[n.p]==e,r||i?(o=t,this.a.c,gQ(),r&&(o=CVt(this,e,!0)),!isNaN(o)&&!isFinite(o)&&i&&(o=CVt(this,n,!1)),o):t},AKt.cg=function(){for(var t,e,n;0!=this.d.b;)(e=r$t(this,n=jz(xQ(this.d),579))).a&&(t=e.a,(zv(this.a.f[this.a.g[n.b.p].p])||h4(t)||t.c.i.c!=t.d.i.c)&&(dMt(this,n)||nB(this.e,n)));for(;0!=this.e.a.c.length;)dMt(this,jz(tut(this.e),579))},mW(B3t,"ThresholdStrategy/SimpleThresholdStrategy",1764),fBt(635,1,{635:1,246:1,234:1},ca),AKt.Kf=function(){return Cat(this)},AKt.Xf=function(){return Cat(this)},mW(M3t,"EdgeRouterFactory",635),fBt(1458,1,_3t,Eh),AKt.Yf=function(t){return UOt(jz(t,37))},AKt.pf=function(t,e){OVt(jz(t,37),e)},mW(M3t,"OrthogonalEdgeRouter",1458),fBt(1451,1,_3t,yD),AKt.Yf=function(t){return __t(jz(t,37))},AKt.pf=function(t,e){DGt(this,jz(t,37),e)},mW(M3t,"PolylineEdgeRouter",1451),fBt(1452,1,VZt,la),AKt.Lb=function(t){return Yat(jz(t,10))},AKt.Fb=function(t){return this===t},AKt.Mb=function(t){return Yat(jz(t,10))},mW(M3t,"PolylineEdgeRouter/1",1452),fBt(1809,1,OYt,ua),AKt.Mb=function(t){return jz(t,129).c==(S6(),_ve)},mW(P3t,"HyperEdgeCycleDetector/lambda$0$Type",1809),fBt(1810,1,{},ha),AKt.Ge=function(t){return jz(t,129).d},mW(P3t,"HyperEdgeCycleDetector/lambda$1$Type",1810),fBt(1811,1,OYt,da),AKt.Mb=function(t){return jz(t,129).c==(S6(),_ve)},mW(P3t,"HyperEdgeCycleDetector/lambda$2$Type",1811),fBt(1812,1,{},fa),AKt.Ge=function(t){return jz(t,129).d},mW(P3t,"HyperEdgeCycleDetector/lambda$3$Type",1812),fBt(1813,1,{},ga),AKt.Ge=function(t){return jz(t,129).d},mW(P3t,"HyperEdgeCycleDetector/lambda$4$Type",1813),fBt(1814,1,{},pa),AKt.Ge=function(t){return jz(t,129).d},mW(P3t,"HyperEdgeCycleDetector/lambda$5$Type",1814),fBt(112,1,{35:1,112:1},jat),AKt.wd=function(t){return a_(this,jz(t,112))},AKt.Fb=function(t){var e;return!!iP(t,112)&&(e=jz(t,112),this.g==e.g)},AKt.Hb=function(){return this.g},AKt.Ib=function(){var t,e,n,i;for(t=new uL("{"),i=new Gf(this.n);i.a"+this.b+" ("+dO(this.c)+")"},AKt.d=0,mW(P3t,"HyperEdgeSegmentDependency",129),fBt(520,22,{3:1,35:1,22:1,520:1},oS);var xve,Eve,Tve,Sve,Dve,Ive,Bve,Mve,Pve=$nt(P3t,"HyperEdgeSegmentDependency/DependencyType",520,Ute,GZ,T$);fBt(1815,1,{},um),mW(P3t,"HyperEdgeSegmentSplitter",1815),fBt(1816,1,{},H_),AKt.a=0,AKt.b=0,mW(P3t,"HyperEdgeSegmentSplitter/AreaRating",1816),fBt(329,1,{329:1},kz),AKt.a=0,AKt.b=0,AKt.c=0,mW(P3t,"HyperEdgeSegmentSplitter/FreeArea",329),fBt(1817,1,AZt,Ca),AKt.ue=function(t,e){return SF(jz(t,112),jz(e,112))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(P3t,"HyperEdgeSegmentSplitter/lambda$0$Type",1817),fBt(1818,1,hYt,UY),AKt.td=function(t){Q3(this.a,this.d,this.c,this.b,jz(t,112))},AKt.b=0,mW(P3t,"HyperEdgeSegmentSplitter/lambda$1$Type",1818),fBt(1819,1,{},Aa),AKt.Kb=function(t){return new OH(null,new d1(jz(t,112).e,16))},mW(P3t,"HyperEdgeSegmentSplitter/lambda$2$Type",1819),fBt(1820,1,{},xa),AKt.Kb=function(t){return new OH(null,new d1(jz(t,112).j,16))},mW(P3t,"HyperEdgeSegmentSplitter/lambda$3$Type",1820),fBt(1821,1,{},Ea),AKt.Fe=function(t){return Vv(CN(t))},mW(P3t,"HyperEdgeSegmentSplitter/lambda$4$Type",1821),fBt(655,1,{},lW),AKt.a=0,AKt.b=0,AKt.c=0,mW(P3t,"OrthogonalRoutingGenerator",655),fBt(1638,1,{},Ta),AKt.Kb=function(t){return new OH(null,new d1(jz(t,112).e,16))},mW(P3t,"OrthogonalRoutingGenerator/lambda$0$Type",1638),fBt(1639,1,{},Sa),AKt.Kb=function(t){return new OH(null,new d1(jz(t,112).j,16))},mW(P3t,"OrthogonalRoutingGenerator/lambda$1$Type",1639),fBt(661,1,{}),mW(L3t,"BaseRoutingDirectionStrategy",661),fBt(1807,661,{},pk),AKt.dg=function(t,e,n){var r,o,a,s,c,l,u,h,d,f,g,p,m;if(!t.r||t.q)for(h=e+t.o*n,u=new Gf(t.n);u.ahJt&&(o=t,r=new PS(d,a=h),LV(s.a,r),jjt(this,s,o,r,!1),(f=t.r)&&(r=new PS(g=Vv(CN(Obt(f.e,0))),a),LV(s.a,r),jjt(this,s,o,r,!1),o=f,r=new PS(g,a=e+f.o*n),LV(s.a,r),jjt(this,s,o,r,!1)),r=new PS(m,a),LV(s.a,r),jjt(this,s,o,r,!1)))},AKt.eg=function(t){return t.i.n.a+t.n.a+t.a.a},AKt.fg=function(){return vGt(),ADe},AKt.gg=function(){return vGt(),sDe},mW(L3t,"NorthToSouthRoutingStrategy",1807),fBt(1808,661,{},mk),AKt.dg=function(t,e,n){var r,o,a,s,c,l,u,h,d,f,g,p,m;if(!t.r||t.q)for(h=e-t.o*n,u=new Gf(t.n);u.ahJt&&(o=t,r=new PS(d,a=h),LV(s.a,r),jjt(this,s,o,r,!1),(f=t.r)&&(r=new PS(g=Vv(CN(Obt(f.e,0))),a),LV(s.a,r),jjt(this,s,o,r,!1),o=f,r=new PS(g,a=e-f.o*n),LV(s.a,r),jjt(this,s,o,r,!1)),r=new PS(m,a),LV(s.a,r),jjt(this,s,o,r,!1)))},AKt.eg=function(t){return t.i.n.a+t.n.a+t.a.a},AKt.fg=function(){return vGt(),sDe},AKt.gg=function(){return vGt(),ADe},mW(L3t,"SouthToNorthRoutingStrategy",1808),fBt(1806,661,{},bk),AKt.dg=function(t,e,n){var r,o,a,s,c,l,u,h,d,f,g,p,m;if(!t.r||t.q)for(h=e+t.o*n,u=new Gf(t.n);u.ahJt&&(o=t,r=new PS(a=h,d),LV(s.a,r),jjt(this,s,o,r,!0),(f=t.r)&&(r=new PS(a,g=Vv(CN(Obt(f.e,0)))),LV(s.a,r),jjt(this,s,o,r,!0),o=f,r=new PS(a=e+f.o*n,g),LV(s.a,r),jjt(this,s,o,r,!0)),r=new PS(a,m),LV(s.a,r),jjt(this,s,o,r,!0)))},AKt.eg=function(t){return t.i.n.b+t.n.b+t.a.b},AKt.fg=function(){return vGt(),aDe},AKt.gg=function(){return vGt(),EDe},mW(L3t,"WestToEastRoutingStrategy",1806),fBt(813,1,{},szt),AKt.Ib=function(){return Mxt(this.a)},AKt.b=0,AKt.c=!1,AKt.d=!1,AKt.f=0,mW(N3t,"NubSpline",813),fBt(407,1,{407:1},_Ot,dQ),mW(N3t,"NubSpline/PolarCP",407),fBt(1453,1,_3t,lvt),AKt.Yf=function(t){return iAt(jz(t,37))},AKt.pf=function(t,e){rWt(this,jz(t,37),e)},mW(N3t,"SplineEdgeRouter",1453),fBt(268,1,{268:1},A6),AKt.Ib=function(){return this.a+" ->("+this.c+") "+this.b},AKt.c=0,mW(N3t,"SplineEdgeRouter/Dependency",268),fBt(455,22,{3:1,35:1,22:1,455:1},aS);var Lve,Ove,Nve,Rve,Fve,jve=$nt(N3t,"SplineEdgeRouter/SideToProcess",455,Ute,YZ,S$);fBt(1454,1,OYt,ya),AKt.Mb=function(t){return pOt(),!jz(t,128).o},mW(N3t,"SplineEdgeRouter/lambda$0$Type",1454),fBt(1455,1,{},va),AKt.Ge=function(t){return pOt(),jz(t,128).v+1},mW(N3t,"SplineEdgeRouter/lambda$1$Type",1455),fBt(1456,1,hYt,sS),AKt.td=function(t){eH(this.a,this.b,jz(t,46))},mW(N3t,"SplineEdgeRouter/lambda$2$Type",1456),fBt(1457,1,hYt,cS),AKt.td=function(t){nH(this.a,this.b,jz(t,46))},mW(N3t,"SplineEdgeRouter/lambda$3$Type",1457),fBt(128,1,{35:1,128:1},tSt,lHt),AKt.wd=function(t){return s_(this,jz(t,128))},AKt.b=0,AKt.e=!1,AKt.f=0,AKt.g=0,AKt.j=!1,AKt.k=!1,AKt.n=0,AKt.o=!1,AKt.p=!1,AKt.q=!1,AKt.s=0,AKt.u=0,AKt.v=0,AKt.F=0,mW(N3t,"SplineSegment",128),fBt(459,1,{459:1},_a),AKt.a=0,AKt.b=!1,AKt.c=!1,AKt.d=!1,AKt.e=!1,AKt.f=0,mW(N3t,"SplineSegment/EdgeInformation",459),fBt(1234,1,{},ma),mW(z3t,nJt,1234),fBt(1235,1,AZt,ba),AKt.ue=function(t,e){return SDt(jz(t,135),jz(e,135))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(z3t,iJt,1235),fBt(1233,1,{},DC),mW(z3t,"MrTree",1233),fBt(393,22,{3:1,35:1,22:1,393:1,246:1,234:1},lS),AKt.Kf=function(){return IDt(this)},AKt.Xf=function(){return IDt(this)};var $ve,zve=$nt(z3t,"TreeLayoutPhases",393,Ute,v3,D$);fBt(1130,209,PQt,RR),AKt.Ze=function(t,e){var n,i,r,o,a,s;for(zv(_N(QBt(t,(TBt(),Eye))))||vQ(new _g((Vx(),new Lv(t)))),Vat(a=new x6,t),lct(a,(VHt(),sye),t),bjt(t,a,s=new Pb),Wjt(t,a,s),o=a,i=new Gf(r=Ljt(this.a,o));i.a"+g0(this.c):"e_"+Jct(this)},mW(V3t,"TEdge",188),fBt(135,134,{3:1,135:1,94:1,134:1},x6),AKt.Ib=function(){var t,e,n,i,r;for(r=null,i=cbt(this.b,0);i.b!=i.d.c;)r+=(null==(n=jz(h3(i),86)).c||0==n.c.length?"n_"+n.g:"n_"+n.c)+"\n";for(e=cbt(this.a,0);e.b!=e.d.c;)r+=((t=jz(h3(e),188)).b&&t.c?g0(t.b)+"->"+g0(t.c):"e_"+Jct(t))+"\n";return r};var Vve=mW(V3t,"TGraph",135);fBt(633,502,{3:1,502:1,633:1,94:1,134:1}),mW(V3t,"TShape",633),fBt(86,633,{3:1,502:1,86:1,633:1,94:1,134:1},rlt),AKt.Ib=function(){return g0(this)};var Hve,qve,Uve,Gve,Wve,Kve,Yve=mW(V3t,"TNode",86);fBt(255,1,mYt,hm),AKt.Jc=function(t){t4(this,t)},AKt.Kc=function(){return new dm(cbt(this.a.d,0))},mW(V3t,"TNode/2",255),fBt(358,1,YKt,dm),AKt.Nb=function(t){lG(this,t)},AKt.Pb=function(){return jz(h3(this.a),188).c},AKt.Ob=function(){return yC(this.a)},AKt.Qb=function(){wet(this.a)},mW(V3t,"TNode/2/1",358),fBt(1840,1,JJt,NR),AKt.pf=function(t,e){L$t(this,jz(t,135),e)},mW(H3t,"FanProcessor",1840),fBt(327,22,{3:1,35:1,22:1,327:1,234:1},uS),AKt.Kf=function(){switch(this.g){case 0:return new Kk;case 1:return new NR;case 2:return new Ba;case 3:return new Da;case 4:return new Pa;case 5:return new La;default:throw $b(new Rv(A1t+(null!=this.f?this.f:""+this.g)))}};var Xve,Zve,Qve,Jve,tye,eye,nye,iye,rye,oye,aye,sye,cye,lye,uye,hye,dye,fye,gye,pye,mye,bye,wye,kye,vye,yye,_ye,Cye,Aye,xye,Eye,Tye,Sye,Dye,Iye,Bye,Mye,Pye,Lye,Oye,Nye,Rye=$nt(H3t,x1t,327,Ute,n8,I$);fBt(1843,1,JJt,Da),AKt.pf=function(t,e){aMt(this,jz(t,135),e)},AKt.a=0,mW(H3t,"LevelHeightProcessor",1843),fBt(1844,1,mYt,Ia),AKt.Jc=function(t){t4(this,t)},AKt.Kc=function(){return AX(),BA(),hne},mW(H3t,"LevelHeightProcessor/1",1844),fBt(1841,1,JJt,Ba),AKt.pf=function(t,e){YTt(this,jz(t,135),e)},AKt.a=0,mW(H3t,"NeighborsProcessor",1841),fBt(1842,1,mYt,Ma),AKt.Jc=function(t){t4(this,t)},AKt.Kc=function(){return AX(),BA(),hne},mW(H3t,"NeighborsProcessor/1",1842),fBt(1845,1,JJt,Pa),AKt.pf=function(t,e){oMt(this,jz(t,135),e)},AKt.a=0,mW(H3t,"NodePositionProcessor",1845),fBt(1839,1,JJt,Kk),AKt.pf=function(t,e){QVt(this,jz(t,135))},mW(H3t,"RootProcessor",1839),fBt(1846,1,JJt,La),AKt.pf=function(t,e){gdt(jz(t,135))},mW(H3t,"Untreeifyer",1846),fBt(851,1,YZt,Ah),AKt.Qe=function(t){Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,G3t),""),"Weighting of Nodes"),"Which weighting to use when computing a node order."),kye),(ETt(),gxe)),zye),Jdt((ibt(),cxe))))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,W3t),""),"Search Order"),"Which search order to use when computing a spanning tree."),bye),gxe),Xye),Jdt(cxe)))),Rqt((new Ch,t))},mW(K3t,"MrTreeMetaDataProvider",851),fBt(994,1,YZt,Ch),AKt.Qe=function(t){Rqt(t)},mW(K3t,"MrTreeOptions",994),fBt(995,1,{},Oa),AKt.$e=function(){return new RR},AKt._e=function(t){},mW(K3t,"MrTreeOptions/MrtreeFactory",995),fBt(480,22,{3:1,35:1,22:1,480:1},hS);var Fye,jye,$ye,zye=$nt(K3t,"OrderWeighting",480,Ute,ZZ,B$);fBt(425,22,{3:1,35:1,22:1,425:1},dS);var Vye,Hye,qye,Uye,Gye,Wye,Kye,Yye,Xye=$nt(K3t,"TreeifyingOrder",425,Ute,XZ,P$);fBt(1459,1,_3t,gh),AKt.Yf=function(t){return jz(t,135),Hye},AKt.pf=function(t,e){kot(this,jz(t,135),e)},mW("org.eclipse.elk.alg.mrtree.p1treeify","DFSTreeifyer",1459),fBt(1460,1,_3t,ph),AKt.Yf=function(t){return jz(t,135),qye},AKt.pf=function(t,e){uSt(this,jz(t,135),e)},mW("org.eclipse.elk.alg.mrtree.p2order","NodeOrderer",1460),fBt(1461,1,_3t,fh),AKt.Yf=function(t){return jz(t,135),Uye},AKt.pf=function(t,e){JNt(this,jz(t,135),e)},AKt.a=0,mW("org.eclipse.elk.alg.mrtree.p3place","NodePlacer",1461),fBt(1462,1,_3t,mh),AKt.Yf=function(t){return jz(t,135),Gye},AKt.pf=function(t,e){Lyt(jz(t,135),e)},mW("org.eclipse.elk.alg.mrtree.p4route","EdgeRouter",1462),fBt(495,22,{3:1,35:1,22:1,495:1,246:1,234:1},fS),AKt.Kf=function(){return dgt(this)},AKt.Xf=function(){return dgt(this)};var Zye,Qye,Jye,t_e,e_e=$nt(Z3t,"RadialLayoutPhases",495,Ute,QZ,M$);fBt(1131,209,PQt,SC),AKt.Ze=function(t,e){var n,i,r;if(DAt(e,"Radial layout",_St(this,t).c.length),zv(_N(QBt(t,(Uvt(),D_e))))||vQ(new _g((Vx(),new Lv(t)))),r=aAt(t),Xbt(t,(dN(),Wye),r),!r)throw $b(new Rv("The given graph is not a tree!"));for(0==(n=Vv(CN(QBt(t,L_e))))&&(n=uDt(t)),Xbt(t,L_e,n),i=new Gf(_St(this,t));i.a0&&Lut((h1(e-1,t.length),t.charCodeAt(e-1)),c1t);)--e;if(n>=e)throw $b(new Rv("The given string does not contain any numbers."));if(2!=(i=vFt(t.substr(n,e-n),",|;|\r|\n")).length)throw $b(new Rv("Exactly two numbers are expected, "+i.length+" were found."));try{this.a=dEt(Nxt(i[0])),this.b=dEt(Nxt(i[1]))}catch(t){throw iP(t=hst(t),127)?$b(new Rv(l1t+t)):$b(t)}},AKt.Ib=function(){return"("+this.a+","+this.b+")"},AKt.a=0,AKt.b=0;var xxe=mW(u1t,"KVector",8);fBt(74,68,{3:1,4:1,20:1,28:1,52:1,14:1,68:1,15:1,74:1,414:1},kk,N_,qO),AKt.Pc=function(){return Klt(this)},AKt.Jf=function(t){var e,n,i,r,o;n=vFt(t,",|;|\\(|\\)|\\[|\\]|\\{|\\}| |\t|\n"),wX(this);try{for(e=0,r=0,i=0,o=0;e0&&(r%2==0?i=dEt(n[e]):o=dEt(n[e]),r>0&&r%2!=0&&LV(this,new PS(i,o)),++r),++e}catch(t){throw iP(t=hst(t),127)?$b(new Rv("The given string does not match the expected format for vectors."+t)):$b(t)}},AKt.Ib=function(){var t,e,n;for(t=new uL("("),e=cbt(this,0);e.b!=e.d.c;)aI(t,(n=jz(h3(e),8)).a+","+n.b),e.b!=e.d.c&&(t.a+="; ");return(t.a+=")",t).a};var Exe,Txe,Sxe,Dxe,Ixe,Bxe,Mxe=mW(u1t,"KVectorChain",74);fBt(248,22,{3:1,35:1,22:1,248:1},LS);var Pxe,Lxe,Oxe,Nxe,Rxe,Fxe,jxe,$xe,zxe,Vxe,Hxe,qxe,Uxe,Gxe,Wxe,Kxe,Yxe,Xxe,Zxe,Qxe=$nt(l4t,"Alignment",248,Ute,X7,X$);fBt(979,1,YZt,Ih),AKt.Qe=function(t){Hjt(t)},mW(l4t,"BoxLayouterOptions",979),fBt(980,1,{},Ns),AKt.$e=function(){return new Us},AKt._e=function(t){},mW(l4t,"BoxLayouterOptions/BoxFactory",980),fBt(291,22,{3:1,35:1,22:1,291:1},OS);var Jxe,tEe,eEe,nEe,iEe,rEe,oEe,aEe,sEe,cEe,lEe,uEe,hEe,dEe,fEe,gEe,pEe,mEe,bEe,wEe,kEe,vEe,yEe,_Ee,CEe,AEe,xEe,EEe,TEe,SEe,DEe,IEe,BEe,MEe,PEe,LEe,OEe,NEe,REe,FEe,jEe,$Ee,zEe,VEe,HEe,qEe,UEe,GEe,WEe,KEe,YEe,XEe,ZEe,QEe,JEe,tTe,eTe,nTe,iTe,rTe,oTe,aTe,sTe,cTe,lTe,uTe,hTe,dTe,fTe,gTe,pTe,mTe,bTe,wTe,kTe,vTe,yTe,_Te,CTe,ATe,xTe,ETe,TTe,STe,DTe,ITe,BTe,MTe,PTe,LTe,OTe,NTe,RTe,FTe,jTe,$Te,zTe=$nt(l4t,"ContentAlignment",291,Ute,Y7,Z$);fBt(684,1,YZt,Bh),AKt.Qe=function(t){Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,f4t),""),"Layout Algorithm"),"Select a specific layout algorithm."),(ETt(),wxe)),Yee),Jdt((ibt(),cxe))))),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,g4t),""),"Resolved Layout Algorithm"),"Meta data associated with the selected algorithm."),bxe),rxe),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,W2t),""),"Alignment"),"Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm."),nEe),gxe),Qxe),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,KQt),""),"Aspect Ratio"),"The desired aspect ratio of the drawing, that is the quotient of width by height."),fxe),Eee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,p4t),""),"Bend Points"),"A fixed list of bend points for the edge. This is used by the 'Fixed Layout' algorithm to specify a pre-defined routing for an edge. The vector chain must include the source point, any bend points, and the target point, so it must have at least two points."),bxe),Mxe),Jdt(oxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,a3t),""),"Content Alignment"),"Specifies how the content of a node are aligned. Each node can individually control the alignment of its contents. I.e. if a node should be aligned top left in its parent node, the parent node should specify that option."),lEe),pxe),zTe),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,G2t),""),"Debug Mode"),"Whether additional debug information shall be generated."),(cL(),!1)),dxe),vee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,Z2t),""),CQt),"Overall direction of edges: horizontal (right / left) or vertical (down / up)."),dEe),gxe),GTe),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,k2t),""),"Edge Routing"),"What kind of edge routing style should be applied for the content of a parent node. Algorithms may also set this option to single edges in order to mark them as splines. The bend point list of edges with this option set to SPLINES must be interpreted as control points for a piecewise cubic spline."),bEe),gxe),aSe),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,I5t),""),"Expand Nodes"),"If active, nodes are expanded to fill the area of their parent."),!1),dxe),vee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,g2t),""),"Hierarchy Handling"),"Determines whether separate layout runs are triggered for different compound nodes in a hierarchical graph. Setting a node's hierarchy handling to `INCLUDE_CHILDREN` will lay out that node and all of its descendants in a single layout run, until a descendant is encountered which has its hierarchy handling set to `SEPARATE_CHILDREN`. In general, `SEPARATE_CHILDREN` will ensure that a new layout run is triggered for a node with that setting. Including multiple levels of hierarchy in a single layout run may allow cross-hierarchical edges to be laid out properly. If the root node is set to `INHERIT` (or not set at all), the default behavior is `SEPARATE_CHILDREN`."),_Ee),gxe),ASe),yq(cxe,Est(Vy(vxe,1),BYt,175,0,[sxe]))))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,YQt),""),"Padding"),"The padding to be left to a parent element's border when placing child elements. This can also serve as an output option of a layout algorithm if node size calculation is setup appropriately."),GEe),bxe),Rse),yq(cxe,Est(Vy(vxe,1),BYt,175,0,[sxe]))))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,yJt),""),"Interactive"),"Whether the algorithm should be run in interactive mode for the content of a parent node. What this means exactly depends on how the specific algorithm interprets this option. Usually in the interactive mode algorithms try to modify the current layout as little as possible."),!1),dxe),vee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,w3t),""),"interactive Layout"),"Whether the graph should be changeable interactively and by setting constraints"),!1),dxe),vee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,AJt),""),"Omit Node Micro Layout"),"Node micro layout comprises the computation of node dimensions (if requested), the placement of ports and their labels, and the placement of node labels. The functionality is implemented independent of any specific layout algorithm and shouldn't have any negative impact on the layout algorithm's performance itself. Yet, if any unforeseen behavior occurs, this option allows to deactivate the micro layout."),!1),dxe),vee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,_Jt),""),"Port Constraints"),"Defines constraints of the position of the ports of a node."),aTe),gxe),rDe),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,p3t),""),"Position"),"The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position."),bxe),xxe),yq(sxe,Est(Vy(vxe,1),BYt,175,0,[lxe,axe]))))),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,mJt),""),"Priority"),"Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used."),mxe),Iee),yq(sxe,Est(Vy(vxe,1),BYt,175,0,[oxe]))))),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,kJt),""),"Randomization Seed"),"Seed used for pseudo-random number generators to control the layout algorithm. If the value is 0, the seed shall be determined pseudo-randomly (e.g. from the system time)."),mxe),Iee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,vJt),""),"Separate Connected Components"),"Whether each connected component should be processed separately."),dxe),vee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,s3t),""),"Junction Points"),"This option is not used as option, but as output of the layout algorithms. It is attached to edges and determines the points where junction symbols should be drawn in order to represent hyperedges with orthogonal routing. Whether such points are computed depends on the chosen layout algorithm and edge routing style. The points are put into the vector chain with no specific order."),DEe),bxe),Mxe),Jdt(oxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,u3t),""),"Comment Box"),"Whether the node should be regarded as a comment box instead of a regular node. In that case its placement should be similar to how labels are handled. Any edges incident to a comment box specify to which graph elements the comment is related."),!1),dxe),vee),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,h3t),""),"Hypernode"),"Whether the node should be handled as a hypernode."),!1),dxe),vee),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,m4t),""),"Label Manager"),"Label managers can shorten labels upon a layout algorithm's request."),bxe),OLe),yq(cxe,Est(Vy(vxe,1),BYt,175,0,[axe]))))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,m3t),""),"Margins"),"Margins define additional space around the actual bounds of a graph element. For instance, ports or labels being placed on the outside of a node's border might introduce such a margin. The margin is used to guarantee non-overlap of other graph elements with those ports or labels."),BEe),bxe),yse),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,q2t),""),"No Layout"),"No layout is done for the associated element. This is used to mark parts of a diagram to avoid their inclusion in the layout graph, or to mark parts of the layout graph to prevent layout engines from processing them. If you wish to exclude the contents of a compound node from automatic layout, while the node itself is still considered on its own layer, use the 'Fixed Layout' algorithm for that node."),!1),dxe),vee),yq(sxe,Est(Vy(vxe,1),BYt,175,0,[oxe,lxe,axe]))))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,b4t),""),"Scale Factor"),"The scaling factor to be applied to the corresponding node in recursive layout. It causes the corresponding node's size to be adjusted, and its ports and labels to be sized and placed accordingly after the layout of that node has been determined (and before the node itself and its siblings are arranged). The scaling is not reverted afterwards, so the resulting layout graph contains the adjusted size and position data. This option is currently not supported if 'Layout Hierarchy' is set."),1),fxe),Eee),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,w4t),""),"Animate"),"Whether the shift from the old layout to the new computed layout shall be animated."),!0),dxe),vee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,k4t),""),"Animation Time Factor"),"Factor for computation of animation time. The higher the value, the longer the animation time. If the value is 0, the resulting time is always equal to the minimum defined by 'Minimal Animation Time'."),ndt(100)),mxe),Iee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,v4t),""),"Layout Ancestors"),"Whether the hierarchy levels on the path from the selected element to the root of the diagram shall be included in the layout process."),!1),dxe),vee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,y4t),""),"Maximal Animation Time"),"The maximal time for animations, in milliseconds."),ndt(4e3)),mxe),Iee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,_4t),""),"Minimal Animation Time"),"The minimal time for animations, in milliseconds."),ndt(400)),mxe),Iee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,C4t),""),"Progress Bar"),"Whether a progress bar shall be displayed during layout computations."),!1),dxe),vee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,A4t),""),"Validate Graph"),"Whether the graph shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!1),dxe),vee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,x4t),""),"Validate Options"),"Whether layout options shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!0),dxe),vee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,E4t),""),"Zoom to Fit"),"Whether the zoom level shall be set to view the whole diagram after layout."),!1),dxe),vee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,d4t),"box"),"Box Layout Mode"),"Configures the packing mode used by the {@link BoxLayoutProvider}. If SIMPLE is not required (neither priorities are used nor the interactive mode), GROUP_DEC can improve the packing and decrease the area. GROUP_MIXED and GROUP_INC may, in very specific scenarios, work better."),aEe),gxe),iIe),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,M2t),v2t),"Comment Comment Spacing"),"Spacing to be preserved between a comment box and other comment boxes connected to the same node. The space left between comment boxes of different nodes is controlled by the node-node spacing."),10),fxe),Eee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,P2t),v2t),"Comment Node Spacing"),"Spacing to be preserved between a node and its connected comment boxes. The space left between a node and the comments of another node is controlled by the node-node spacing."),10),fxe),Eee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,GQt),v2t),"Components Spacing"),"Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated."),20),fxe),Eee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,L2t),v2t),"Edge Spacing"),"Spacing to be preserved between any two edges. Note that while this can somewhat easily be satisfied for the segments of orthogonally drawn edges, it is harder for general polylines or splines."),10),fxe),Eee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,wJt),v2t),"Edge Label Spacing"),"The minimal distance to be preserved between a label and the edge it is associated with. Note that the placement of a label is influenced by the 'edgelabels.placement' option."),2),fxe),Eee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,O2t),v2t),"Edge Node Spacing"),"Spacing to be preserved between nodes and edges."),10),fxe),Eee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,N2t),v2t),"Label Spacing"),"Determines the amount of space to be left between two labels of the same graph element."),0),fxe),Eee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,j2t),v2t),"Label Node Spacing"),"Spacing to be preserved between labels and the border of node they are associated with. Note that the placement of a label is influenced by the 'nodelabels.placement' option."),5),fxe),Eee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,R2t),v2t),"Horizontal spacing between Label and Port"),"Horizontal spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),fxe),Eee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,F2t),v2t),"Vertical spacing between Label and Port"),"Vertical spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),fxe),Eee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,bJt),v2t),"Node Spacing"),"The minimal distance to be preserved between each two nodes."),20),fxe),Eee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,$2t),v2t),"Node Self Loop Spacing"),"Spacing to be preserved between a node and its self loops."),10),fxe),Eee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,z2t),v2t),"Port Spacing"),"Spacing between pairs of ports of the same node."),10),fxe),Eee),yq(cxe,Est(Vy(vxe,1),BYt,175,0,[sxe]))))),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,V2t),v2t),"Individual Spacing"),"Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent."),bxe),cIe),yq(sxe,Est(Vy(vxe,1),BYt,175,0,[oxe,lxe,axe]))))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,b3t),v2t),"Additional Port Space"),"Additional space around the sets of ports on each node side. For each side of a node, this option can reserve additional space before and after the ports on each side. For example, a top spacing of 20 makes sure that the first port on the western and eastern side is 20 units away from the northern border."),LTe),bxe),yse),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,g3t),I4t),"Layout Partition"),"Partition to which the node belongs. This requires Layout Partitioning to be active. Nodes with lower partition IDs will appear to the left of nodes with higher partition IDs (assuming a left-to-right layout direction)."),mxe),Iee),yq(cxe,Est(Vy(vxe,1),BYt,175,0,[sxe]))))),r2(t,g3t,f3t,XEe),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,f3t),I4t),"Layout Partitioning"),"Whether to activate partitioned layout. This will allow to group nodes through the Layout Partition option. a pair of nodes with different partition indices is then placed such that the node with lower index is placed to the left of the other node (with left-to-right layout direction). Depending on the layout algorithm, this may only be guaranteed to work if all nodes have a layout partition configured, or at least if edges that cross partitions are not part of a partition-crossing cycle."),KEe),dxe),vee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,Q2t),B4t),"Node Label Padding"),"Define padding for node labels that are placed inside of a node."),PEe),bxe),Rse),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,TJt),B4t),"Node Label Placement"),"Hints for where node labels are to be placed; if empty, the node label's position is not modified."),OEe),pxe),VSe),yq(sxe,Est(Vy(vxe,1),BYt,175,0,[axe]))))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,e3t),M4t),"Port Alignment"),"Defines the default port distribution for a node. May be overridden for each side individually."),QEe),gxe),XSe),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,n3t),M4t),"Port Alignment (North)"),"Defines how ports on the northern side are placed, overriding the node's general port alignment."),gxe),XSe),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,i3t),M4t),"Port Alignment (South)"),"Defines how ports on the southern side are placed, overriding the node's general port alignment."),gxe),XSe),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,r3t),M4t),"Port Alignment (West)"),"Defines how ports on the western side are placed, overriding the node's general port alignment."),gxe),XSe),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,o3t),M4t),"Port Alignment (East)"),"Defines how ports on the eastern side are placed, overriding the node's general port alignment."),gxe),XSe),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,EJt),P4t),"Node Size Constraints"),"What should be taken into account when calculating a node's size. Empty size constraints specify that a node's size is already fixed and should not be changed."),REe),pxe),YDe),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,xJt),P4t),"Node Size Options"),"Options modifying the behavior of the size constraints set on a node. Each member of the set specifies something that should be taken into account when calculating node sizes. The empty set corresponds to no further modifications."),VEe),pxe),eIe),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,$Jt),P4t),"Node Size Minimum"),"The minimal size to which a node can be reduced."),$Ee),bxe),xxe),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,X2t),P4t),"Fixed Graph Size"),"By default, the fixed layout provider will enlarge a graph until it is large enough to contain its children. If this option is set, it won't do so."),!1),dxe),vee),Jdt(cxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,c3t),I2t),"Edge Label Placement"),"Gives a hint on where to put edge labels."),pEe),gxe),QTe),Jdt(axe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,CJt),I2t),"Inline Edge Labels"),"If true, an edge label is placed directly on its edge. May only apply to center edge labels. This kind of label placement is only advisable if the label's rendering is such that it is not crossed by its edge and thus stays legible."),!1),dxe),vee),Jdt(axe)))),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,T4t),"font"),"Font Name"),"Font name used for a label."),wxe),Yee),Jdt(axe)))),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,S4t),"font"),"Font Size"),"Font size used for a label."),mxe),Iee),Jdt(axe)))),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,d3t),L4t),"Port Anchor Offset"),"The offset to the port position where connections shall be attached."),bxe),xxe),Jdt(lxe)))),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,l3t),L4t),"Port Index"),"The index of a port in the fixed order around a node. The order is assumed as clockwise, starting with the leftmost port on the top side. This option must be set if 'Port Constraints' is set to FIXED_ORDER and no specific positions are given for the ports. Additionally, the option 'Port Side' must be defined in this case."),mxe),Iee),Jdt(lxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,U2t),L4t),"Port Side"),"The side of a node on which a port is situated. This option must be set if 'Port Constraints' is set to FIXED_SIDE or FIXED_ORDER and no specific positions are given for the ports."),fTe),gxe),FDe),Jdt(lxe)))),Ift(t,new dTt(S_(T_(D_(y_(E_(C_(A_(new zs,H2t),L4t),"Port Border Offset"),"The offset of ports on the node border. With a positive offset the port is moved outside of the node, while with a negative offset the port is moved towards the inside. An offset of 0 means that the port is placed directly on the node border, i.e. if the port side is north, the port's south border touches the nodes's north border; if the port side is east, the port's west border touches the nodes's east border; if the port side is south, the port's north border touches the node's south border; if the port side is west, the port's east border touches the node's west border."),fxe),Eee),Jdt(lxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,SJt),O4t),"Port Label Placement"),"Decides on a placement method for port labels; if empty, the node label's position is not modified."),uTe),pxe),TDe),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,J2t),O4t),"Port Labels Next to Port"),"Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE."),!1),dxe),vee),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,t3t),O4t),"Treat Port Labels as Group"),"If this option is true (default), the labels of a port will be treated as a group when it comes to centering them next to their port. If this option is false, only the first label will be centered next to the port, with the others being placed below. This only applies to labels of eastern and western ports and will have no effect if labels are not placed next to their port."),!0),dxe),vee),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,K2t),N4t),"Activate Inside Self Loops"),"Whether this node allows to route self loops inside of it instead of around it. If set to true, this will make the node a compound node if it isn't already, and will require the layout algorithm to support compound nodes with hierarchical ports."),!1),dxe),vee),Jdt(sxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,Y2t),N4t),"Inside Self Loop"),"Whether a self loop should be routed inside a node instead of around that node."),!1),dxe),vee),Jdt(oxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,WQt),"edge"),"Edge Thickness"),"The thickness of an edge. This is a hint on the line width used to draw an edge, possibly requiring more space to be reserved for it."),1),fxe),Eee),Jdt(oxe)))),Ift(t,new dTt(S_(T_(D_(__(y_(E_(C_(A_(new zs,D4t),"edge"),"Edge Type"),"The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations."),kEe),gxe),wSe),Jdt(oxe)))),Px(t,new qJ(w_(v_(k_(new ws,f1t),"Layered"),'The layer-based method was introduced by Sugiyama, Tagawa and Toda in 1981. It emphasizes the direction of edges by pointing as many edges as possible into the same direction. The nodes are arranged in layers, which are sometimes called "hierarchies", and then reordered such that the number of edge crossings is minimized. Afterwards, concrete coordinates are computed for the nodes and edge bend points.'))),Px(t,new qJ(w_(v_(k_(new ws,"org.eclipse.elk.orthogonal"),"Orthogonal"),'Orthogonal methods that follow the "topology-shape-metrics" approach by Batini, Nardelli and Tamassia \'86. The first phase determines the topology of the drawing by applying a planarization technique, which results in a planar representation of the graph. The orthogonal shape is computed in the second phase, which aims at minimizing the number of edge bends, and is called orthogonalization. The third phase leads to concrete coordinates for nodes and edge bend points by applying a compaction method, thus defining the metrics.'))),Px(t,new qJ(w_(v_(k_(new ws,pJt),"Force"),"Layout algorithms that follow physical analogies by simulating a system of attractive and repulsive forces. The first successful method of this kind was proposed by Eades in 1984."))),Px(t,new qJ(w_(v_(k_(new ws,"org.eclipse.elk.circle"),"Circle"),"Circular layout algorithms emphasize cycles or biconnected components of a graph by arranging them in circles. This is useful if a drawing is desired where such components are clearly grouped, or where cycles are shown as prominent OPTIONS of the graph."))),Px(t,new qJ(w_(v_(k_(new ws,X3t),"Tree"),"Specialized layout methods for trees, i.e. acyclic graphs. The regular structure of graphs that have no undirected cycles can be emphasized using an algorithm of this type."))),Px(t,new qJ(w_(v_(k_(new ws,"org.eclipse.elk.planar"),"Planar"),"Algorithms that require a planar or upward planar graph. Most of these algorithms are theoretically interesting, but not practically usable."))),Px(t,new qJ(w_(v_(k_(new ws,f5t),"Radial"),"Radial layout algorithms usually position the nodes of the graph on concentric circles."))),dFt((new Mh,t)),Hjt((new Ih,t)),NNt((new Ph,t))},mW(l4t,"CoreOptions",684),fBt(103,22,{3:1,35:1,22:1,103:1},NS);var VTe,HTe,qTe,UTe,GTe=$nt(l4t,CQt,103,Ute,E4,tz);fBt(272,22,{3:1,35:1,22:1,272:1},RS);var WTe,KTe,YTe,XTe,ZTe,QTe=$nt(l4t,"EdgeLabelPlacement",272,Ute,z1,ez);fBt(218,22,{3:1,35:1,22:1,218:1},FS);var JTe,tSe,eSe,nSe,iSe,rSe,oSe,aSe=$nt(l4t,"EdgeRouting",218,Ute,A3,nz);fBt(312,22,{3:1,35:1,22:1,312:1},jS);var sSe,cSe,lSe,uSe,hSe,dSe,fSe,gSe,pSe,mSe,bSe,wSe=$nt(l4t,"EdgeType",312,Ute,r8,iz);fBt(977,1,YZt,Mh),AKt.Qe=function(t){dFt(t)},mW(l4t,"FixedLayouterOptions",977),fBt(978,1,{},Xs),AKt.$e=function(){return new Hs},AKt._e=function(t){},mW(l4t,"FixedLayouterOptions/FixedFactory",978),fBt(334,22,{3:1,35:1,22:1,334:1},$S);var kSe,vSe,ySe,_Se,CSe,ASe=$nt(l4t,"HierarchyHandling",334,Ute,$1,rz);fBt(285,22,{3:1,35:1,22:1,285:1},zS);var xSe,ESe,TSe,SSe,DSe,ISe,BSe,MSe,PSe,LSe,OSe=$nt(l4t,"LabelSide",285,Ute,C3,oz);fBt(93,22,{3:1,35:1,22:1,93:1},VS);var NSe,RSe,FSe,jSe,$Se,zSe,VSe=$nt(l4t,"NodeLabelPlacement",93,Ute,vnt,az);fBt(249,22,{3:1,35:1,22:1,249:1},HS);var HSe,qSe,USe,GSe,WSe,KSe,YSe,XSe=$nt(l4t,"PortAlignment",249,Ute,T4,sz);fBt(98,22,{3:1,35:1,22:1,98:1},qS);var ZSe,QSe,JSe,tDe,eDe,nDe,iDe,rDe=$nt(l4t,"PortConstraints",98,Ute,A7,cz);fBt(273,22,{3:1,35:1,22:1,273:1},US);var oDe,aDe,sDe,cDe,lDe,uDe,hDe,dDe,fDe,gDe,pDe,mDe,bDe,wDe,kDe,vDe,yDe,_De,CDe,ADe,xDe,EDe,TDe=$nt(l4t,"PortLabelPlacement",273,Ute,i8,lz);fBt(61,22,{3:1,35:1,22:1,61:1},GS);var SDe,DDe,IDe,BDe,MDe,PDe,LDe,ODe,NDe,RDe,FDe=$nt(l4t,"PortSide",61,Ute,c4,dz);fBt(981,1,YZt,Ph),AKt.Qe=function(t){NNt(t)},mW(l4t,"RandomLayouterOptions",981),fBt(982,1,{},Zs),AKt.$e=function(){return new ec},AKt._e=function(t){},mW(l4t,"RandomLayouterOptions/RandomFactory",982),fBt(374,22,{3:1,35:1,22:1,374:1},WS);var jDe,$De,zDe,VDe,HDe,qDe,UDe,GDe,WDe,KDe,YDe=$nt(l4t,"SizeConstraint",374,Ute,_3,uz);fBt(259,22,{3:1,35:1,22:1,259:1},KS);var XDe,ZDe,QDe,JDe,tIe,eIe=$nt(l4t,"SizeOptions",259,Ute,_it,hz);fBt(370,1,{1949:1},Uk),AKt.b=!1,AKt.c=0,AKt.d=-1,AKt.e=null,AKt.f=null,AKt.g=-1,AKt.j=!1,AKt.k=!1,AKt.n=!1,AKt.o=0,AKt.q=0,AKt.r=0,mW(k3t,"BasicProgressMonitor",370),fBt(972,209,PQt,Us),AKt.Ze=function(t,e){var n,i,r,o,a,s,c,l,u;DAt(e,"Box layout",2),r=Hv(CN(QBt(t,(xxt(),Uxe)))),o=jz(QBt(t,Vxe),116),n=zv(_N(QBt(t,Rxe))),i=zv(_N(QBt(t,Fxe))),0===jz(QBt(t,Oxe),311).g?(s=new JF((!t.a&&(t.a=new tG(HIe,t,10,11)),t.a)),AX(),bM(s,new Am(i)),a=s,c=GTt(t),(null==(l=CN(QBt(t,Lxe)))||(kK(l),l<=0))&&(l=1.3),RGt(t,(u=zGt(a,r,o,c.a,c.b,n,(kK(l),l))).a,u.b,!1,!0)):vHt(t,r,o,n),zEt(e)},mW(k3t,"BoxLayoutProvider",972),fBt(973,1,AZt,Am),AKt.ue=function(t,e){return lLt(this,jz(t,33),jz(e,33))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},AKt.a=!1,mW(k3t,"BoxLayoutProvider/1",973),fBt(157,1,{157:1},Het,HO),AKt.Ib=function(){return this.c?qRt(this.c):Mxt(this.b)},mW(k3t,"BoxLayoutProvider/Group",157),fBt(311,22,{3:1,35:1,22:1,311:1},YS);var nIe,iIe=$nt(k3t,"BoxLayoutProvider/PackingMode",311,Ute,x3,fz);fBt(974,1,AZt,Gs),AKt.ue=function(t,e){return LX(jz(t,157),jz(e,157))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(k3t,"BoxLayoutProvider/lambda$0$Type",974),fBt(975,1,AZt,Ws),AKt.ue=function(t,e){return iX(jz(t,157),jz(e,157))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(k3t,"BoxLayoutProvider/lambda$1$Type",975),fBt(976,1,AZt,Ks),AKt.ue=function(t,e){return rX(jz(t,157),jz(e,157))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(k3t,"BoxLayoutProvider/lambda$2$Type",976),fBt(1365,1,{831:1},Ys),AKt.qg=function(t,e){return Dx(),!iP(e,160)||AC((Pst(),jz(t,160)),e)},mW(k3t,"ElkSpacings/AbstractSpacingsBuilder/lambda$0$Type",1365),fBt(1366,1,hYt,xm),AKt.td=function(t){Zlt(this.a,jz(t,146))},mW(k3t,"ElkSpacings/AbstractSpacingsBuilder/lambda$1$Type",1366),fBt(1367,1,hYt,qs),AKt.td=function(t){jz(t,94),Dx()},mW(k3t,"ElkSpacings/AbstractSpacingsBuilder/lambda$2$Type",1367),fBt(1371,1,hYt,Em),AKt.td=function(t){Drt(this.a,jz(t,94))},mW(k3t,"ElkSpacings/AbstractSpacingsBuilder/lambda$3$Type",1371),fBt(1369,1,OYt,XS),AKt.Mb=function(t){return Kct(this.a,this.b,jz(t,146))},mW(k3t,"ElkSpacings/AbstractSpacingsBuilder/lambda$4$Type",1369),fBt(1368,1,OYt,ZS),AKt.Mb=function(t){return IO(this.a,this.b,jz(t,831))},mW(k3t,"ElkSpacings/AbstractSpacingsBuilder/lambda$5$Type",1368),fBt(1370,1,hYt,QS),AKt.td=function(t){FU(this.a,this.b,jz(t,146))},mW(k3t,"ElkSpacings/AbstractSpacingsBuilder/lambda$6$Type",1370),fBt(935,1,{},Vs),AKt.Kb=function(t){return wB(t)},AKt.Fb=function(t){return this===t},mW(k3t,"ElkUtil/lambda$0$Type",935),fBt(936,1,hYt,JS),AKt.td=function(t){iIt(this.a,this.b,jz(t,79))},AKt.a=0,AKt.b=0,mW(k3t,"ElkUtil/lambda$1$Type",936),fBt(937,1,hYt,tD),AKt.td=function(t){yv(this.a,this.b,jz(t,202))},AKt.a=0,AKt.b=0,mW(k3t,"ElkUtil/lambda$2$Type",937),fBt(938,1,hYt,eD),AKt.td=function(t){JB(this.a,this.b,jz(t,137))},AKt.a=0,AKt.b=0,mW(k3t,"ElkUtil/lambda$3$Type",938),fBt(939,1,hYt,Tm),AKt.td=function(t){iH(this.a,jz(t,469))},mW(k3t,"ElkUtil/lambda$4$Type",939),fBt(342,1,{35:1,342:1},Ib),AKt.wd=function(t){return mP(this,jz(t,236))},AKt.Fb=function(t){var e;return!!iP(t,342)&&(e=jz(t,342),this.a==e.a)},AKt.Hb=function(){return EQ(this.a)},AKt.Ib=function(){return this.a+" (exclusive)"},AKt.a=0,mW(k3t,"ExclusiveBounds/ExclusiveLowerBound",342),fBt(1138,209,PQt,Hs),AKt.Ze=function(t,e){var n,r,o,a,s,c,l,h,d,f,g,p,m,b,w,k,v,y,_,C,A;for(DAt(e,"Fixed Layout",1),a=jz(QBt(t,(cKt(),mEe)),218),f=0,g=0,w=new DP((!t.a&&(t.a=new tG(HIe,t,10,11)),t.a));w.e!=w.i.gc();){for(m=jz(vbt(w),33),(A=jz(QBt(m,(Glt(),gSe)),8))&&(AB(m,A.a,A.b),jz(QBt(m,lSe),174).Hc((wpt(),LDe))&&(p=jz(QBt(m,hSe),8)).a>0&&p.b>0&&RGt(m,p.a,p.b,!0,!0)),f=i.Math.max(f,m.i+m.g),g=i.Math.max(g,m.j+m.f),h=new DP((!m.n&&(m.n=new tG(VIe,m,1,7)),m.n));h.e!=h.i.gc();)c=jz(vbt(h),137),(A=jz(QBt(c,gSe),8))&&AB(c,A.a,A.b),f=i.Math.max(f,m.i+c.i+c.g),g=i.Math.max(g,m.j+c.j+c.f);for(y=new DP((!m.c&&(m.c=new tG(qIe,m,9,9)),m.c));y.e!=y.i.gc();)for(v=jz(vbt(y),118),(A=jz(QBt(v,gSe),8))&&AB(v,A.a,A.b),_=m.i+v.i,C=m.j+v.j,f=i.Math.max(f,_+v.g),g=i.Math.max(g,C+v.f),l=new DP((!v.n&&(v.n=new tG(VIe,v,1,7)),v.n));l.e!=l.i.gc();)c=jz(vbt(l),137),(A=jz(QBt(c,gSe),8))&&AB(c,A.a,A.b),f=i.Math.max(f,_+c.i+c.g),g=i.Math.max(g,C+c.j+c.f);for(o=new aU(ZP(gPt(m).a.Kc(),new u));gBt(o);)d=FGt(n=jz(q4(o),79)),f=i.Math.max(f,d.a),g=i.Math.max(g,d.b);for(r=new aU(ZP(fPt(m).a.Kc(),new u));gBt(r);)XQ(Ext(n=jz(q4(r),79)))!=t&&(d=FGt(n),f=i.Math.max(f,d.a),g=i.Math.max(g,d.b))}if(a==(Aft(),KTe))for(b=new DP((!t.a&&(t.a=new tG(HIe,t,10,11)),t.a));b.e!=b.i.gc();)for(r=new aU(ZP(gPt(m=jz(vbt(b),33)).a.Kc(),new u));gBt(r);)0==(s=i$t(n=jz(q4(r),79))).b?Xbt(n,SEe,null):Xbt(n,SEe,s);zv(_N(QBt(t,(Glt(),uSe))))||RGt(t,f+(k=jz(QBt(t,dSe),116)).b+k.c,g+k.d+k.a,!0,!0),zEt(e)},mW(k3t,"FixedLayoutProvider",1138),fBt(373,134,{3:1,414:1,373:1,94:1,134:1},Qs,ntt),AKt.Jf=function(t){var e,n,i,r,o,a,s;if(t)try{for(a=vFt(t,";,;"),r=0,o=(i=a).length;r>16&YYt|t^(n&YYt)<<16},AKt.Kc=function(){return new Sm(this)},AKt.Ib=function(){return null==this.a&&null==this.b?"pair(null,null)":null==this.a?"pair(null,"+$ft(this.b)+")":null==this.b?"pair("+$ft(this.a)+",null)":"pair("+$ft(this.a)+","+$ft(this.b)+")"},mW(k3t,"Pair",46),fBt(983,1,YKt,Sm),AKt.Nb=function(t){lG(this,t)},AKt.Ob=function(){return!this.c&&(!this.b&&null!=this.a.a||null!=this.a.b)},AKt.Pb=function(){if(!this.c&&!this.b&&null!=this.a.a)return this.b=!0,this.a.a;if(!this.c&&null!=this.a.b)return this.c=!0,this.a.b;throw $b(new ww)},AKt.Qb=function(){throw this.c&&null!=this.a.b?this.a.b=null:this.b&&null!=this.a.a&&(this.a.a=null),$b(new fw)},AKt.b=!1,AKt.c=!1,mW(k3t,"Pair/1",983),fBt(448,1,{448:1},WY),AKt.Fb=function(t){return iY(this.a,jz(t,448).a)&&iY(this.c,jz(t,448).c)&&iY(this.d,jz(t,448).d)&&iY(this.b,jz(t,448).b)},AKt.Hb=function(){return uut(Est(Vy(Ite,1),zKt,1,5,[this.a,this.c,this.d,this.b]))},AKt.Ib=function(){return"("+this.a+jKt+this.c+jKt+this.d+jKt+this.b+")"},mW(k3t,"Quadruple",448),fBt(1126,209,PQt,ec),AKt.Ze=function(t,e){var n;DAt(e,"Random Layout",1),0!=(!t.a&&(t.a=new tG(HIe,t,10,11)),t.a).i?(nGt(t,(n=jz(QBt(t,(bpt(),MDe)),19))&&0!=n.a?new E5(n.a):new cft,Hv(CN(QBt(t,DDe))),Hv(CN(QBt(t,PDe))),jz(QBt(t,IDe),116)),zEt(e)):zEt(e)},mW(k3t,"RandomLayoutProvider",1126),fBt(553,1,{}),AKt.qf=function(){return new PS(this.f.i,this.f.j)},AKt.We=function(t){return yZ(t,(cKt(),rTe))?QBt(this.f,hIe):QBt(this.f,t)},AKt.rf=function(){return new PS(this.f.g,this.f.f)},AKt.sf=function(){return this.g},AKt.Xe=function(t){return x7(this.f,t)},AKt.tf=function(t){Ent(this.f,t.a),Tnt(this.f,t.b)},AKt.uf=function(t){xnt(this.f,t.a),Ant(this.f,t.b)},AKt.vf=function(t){this.g=t},AKt.g=0,mW(z4t,"ElkGraphAdapters/AbstractElkGraphElementAdapter",553),fBt(554,1,{839:1},Dm),AKt.wf=function(){var t,e;if(!this.b)for(this.b=E2(bY(this.a).i),e=new DP(bY(this.a));e.e!=e.i.gc();)t=jz(vbt(e),137),Gz(this.b,new Ov(t));return this.b},AKt.b=null,mW(z4t,"ElkGraphAdapters/ElkEdgeAdapter",554),fBt(301,553,{},Lv),AKt.xf=function(){return evt(this)},AKt.a=null,mW(z4t,"ElkGraphAdapters/ElkGraphAdapter",301),fBt(630,553,{181:1},Ov),mW(z4t,"ElkGraphAdapters/ElkLabelAdapter",630),fBt(629,553,{680:1},XL),AKt.wf=function(){return Jkt(this)},AKt.Af=function(){var t;return!(t=jz(QBt(this.f,(cKt(),IEe)),142))&&(t=new uk),t},AKt.Cf=function(){return tvt(this)},AKt.Ef=function(t){var e;e=new Dj(t),Xbt(this.f,(cKt(),IEe),e)},AKt.Ff=function(t){Xbt(this.f,(cKt(),UEe),new Sj(t))},AKt.yf=function(){return this.d},AKt.zf=function(){var t,e;if(!this.a)for(this.a=new Mb,e=new aU(ZP(fPt(jz(this.f,33)).a.Kc(),new u));gBt(e);)t=jz(q4(e),79),Gz(this.a,new Dm(t));return this.a},AKt.Bf=function(){var t,e;if(!this.c)for(this.c=new Mb,e=new aU(ZP(gPt(jz(this.f,33)).a.Kc(),new u));gBt(e);)t=jz(q4(e),79),Gz(this.c,new Dm(t));return this.c},AKt.Df=function(){return 0!=YX(jz(this.f,33)).i||zv(_N(jz(this.f,33).We((cKt(),AEe))))},AKt.Gf=function(){R9(this,(Vx(),uIe))},AKt.a=null,AKt.b=null,AKt.c=null,AKt.d=null,AKt.e=null,mW(z4t,"ElkGraphAdapters/ElkNodeAdapter",629),fBt(1266,553,{838:1},ab),AKt.wf=function(){return vvt(this)},AKt.zf=function(){var t,e;if(!this.a)for(this.a=sO(jz(this.f,118).xg().i),e=new DP(jz(this.f,118).xg());e.e!=e.i.gc();)t=jz(vbt(e),79),Gz(this.a,new Dm(t));return this.a},AKt.Bf=function(){var t,e;if(!this.c)for(this.c=sO(jz(this.f,118).yg().i),e=new DP(jz(this.f,118).yg());e.e!=e.i.gc();)t=jz(vbt(e),79),Gz(this.c,new Dm(t));return this.c},AKt.Hf=function(){return jz(jz(this.f,118).We((cKt(),dTe)),61)},AKt.If=function(){var t,e,n,i,r,o,a;for(i=GQ(jz(this.f,118)),n=new DP(jz(this.f,118).yg());n.e!=n.i.gc();)for(a=new DP((!(t=jz(vbt(n),79)).c&&(t.c=new cF(OIe,t,5,8)),t.c));a.e!=a.i.gc();){if(Tet(EAt(o=jz(vbt(a),82)),i))return!0;if(EAt(o)==i&&zv(_N(QBt(t,(cKt(),xEe)))))return!0}for(e=new DP(jz(this.f,118).xg());e.e!=e.i.gc();)for(r=new DP((!(t=jz(vbt(e),79)).b&&(t.b=new cF(OIe,t,4,7)),t.b));r.e!=r.i.gc();)if(Tet(EAt(jz(vbt(r),82)),i))return!0;return!1},AKt.a=null,AKt.b=null,AKt.c=null,mW(z4t,"ElkGraphAdapters/ElkPortAdapter",1266),fBt(1267,1,AZt,nc),AKt.ue=function(t,e){return HRt(jz(t,118),jz(e,118))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(z4t,"ElkGraphAdapters/PortComparator",1267);var fIe,gIe,pIe,mIe,bIe,wIe,kIe,vIe,yIe,_Ie,CIe,AIe,xIe,EIe,TIe,SIe,DIe,IIe=hH(V4t,"EObject"),BIe=hH(H4t,q4t),MIe=hH(H4t,U4t),PIe=hH(H4t,G4t),LIe=hH(H4t,"ElkShape"),OIe=hH(H4t,W4t),NIe=hH(H4t,K4t),RIe=hH(H4t,Y4t),FIe=hH(V4t,X4t),jIe=hH(V4t,"EFactory"),$Ie=hH(V4t,Z4t),zIe=hH(V4t,"EPackage"),VIe=hH(H4t,Q4t),HIe=hH(H4t,J4t),qIe=hH(H4t,t6t);fBt(90,1,e6t),AKt.Jg=function(){return this.Kg(),null},AKt.Kg=function(){return null},AKt.Lg=function(){return this.Kg(),!1},AKt.Mg=function(){return!1},AKt.Ng=function(t){dat(this,t)},mW(n6t,"BasicNotifierImpl",90),fBt(97,90,u6t),AKt.nh=function(){return bB(this)},AKt.Og=function(t,e){return t},AKt.Pg=function(){throw $b(new pw)},AKt.Qg=function(t){var e;return e=Twt(jz(eet(this.Tg(),this.Vg()),18)),this.eh().ih(this,e.n,e.f,t)},AKt.Rg=function(t,e){throw $b(new pw)},AKt.Sg=function(t,e,n){return Cjt(this,t,e,n)},AKt.Tg=function(){var t;return this.Pg()&&(t=this.Pg().ck())?t:this.zh()},AKt.Ug=function(){return rBt(this)},AKt.Vg=function(){throw $b(new pw)},AKt.Wg=function(){var t,e;return!(e=this.ph().dk())&&this.Pg().ik((Kx(),e=null==(t=uQ(V$t(this.Tg())))?BMe:new KL(this,t))),e},AKt.Xg=function(t,e){return t},AKt.Yg=function(t){return t.Gj()?t.aj():Igt(this.Tg(),t)},AKt.Zg=function(){var t;return(t=this.Pg())?t.fk():null},AKt.$g=function(){return this.Pg()?this.Pg().ck():null},AKt._g=function(t,e,n){return Qbt(this,t,e,n)},AKt.ah=function(t){return A8(this,t)},AKt.bh=function(t,e){return W4(this,t,e)},AKt.dh=function(){var t;return!!(t=this.Pg())&&t.gk()},AKt.eh=function(){throw $b(new pw)},AKt.fh=function(){return Xpt(this)},AKt.gh=function(t,e,n,i){return Pbt(this,t,e,i)},AKt.hh=function(t,e,n){return jz(eet(this.Tg(),e),66).Nj().Qj(this,this.yh(),e-this.Ah(),t,n)},AKt.ih=function(t,e,n,i){return aQ(this,t,e,i)},AKt.jh=function(t,e,n){return jz(eet(this.Tg(),e),66).Nj().Rj(this,this.yh(),e-this.Ah(),t,n)},AKt.kh=function(){return!!this.Pg()&&!!this.Pg().ek()},AKt.lh=function(t){return bbt(this,t)},AKt.mh=function(t){return ZQ(this,t)},AKt.oh=function(t){return FHt(this,t)},AKt.ph=function(){throw $b(new pw)},AKt.qh=function(){return this.Pg()?this.Pg().ek():null},AKt.rh=function(){return Xpt(this)},AKt.sh=function(t,e){kSt(this,t,e)},AKt.th=function(t){this.ph().hk(t)},AKt.uh=function(t){this.ph().kk(t)},AKt.vh=function(t){this.ph().jk(t)},AKt.wh=function(t,e){var n,i,r,o;return(o=this.Zg())&&t&&(e=Fbt(o.Vk(),this,e),o.Zk(this)),(i=this.eh())&&(pFt(this,this.eh(),this.Vg()).Bb&$Xt?(r=i.fh())&&(t?!o&&r.Zk(this):r.Yk(this)):(e=(n=this.Vg())>=0?this.Qg(e):this.eh().ih(this,-1-n,null,e),e=this.Sg(null,-1,e))),this.uh(t),e},AKt.xh=function(t){var e,n,i,r,o,a,s;if((o=Igt(n=this.Tg(),t))>=(e=this.Ah()))return jz(t,66).Nj().Uj(this,this.yh(),o-e);if(o<=-1){if(!(a=jHt((STt(),XMe),n,t)))throw $b(new Rv(i6t+t.ne()+a6t));if(Zx(),jz(a,66).Oj()||(a=Z1(j9(XMe,a))),r=jz((i=this.Yg(a))>=0?this._g(i,!0,!0):rIt(this,a,!0),153),(s=a.Zj())>1||-1==s)return jz(jz(r,215).hl(t,!1),76)}else if(t.$j())return jz((i=this.Yg(t))>=0?this._g(i,!1,!0):rIt(this,t,!1),76);return new TD(this,t)},AKt.yh=function(){return K9(this)},AKt.zh=function(){return(KW(),QBe).S},AKt.Ah=function(){return hW(this.zh())},AKt.Bh=function(t){wTt(this,t)},AKt.Ib=function(){return EMt(this)},mW(h6t,"BasicEObjectImpl",97),fBt(114,97,{105:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1}),AKt.Ch=function(t){return Y9(this)[t]},AKt.Dh=function(t,e){IW(Y9(this),t,e)},AKt.Eh=function(t){IW(Y9(this),t,null)},AKt.Jg=function(){return jz(kat(this,4),126)},AKt.Kg=function(){throw $b(new pw)},AKt.Lg=function(){return!!(4&this.Db)},AKt.Pg=function(){throw $b(new pw)},AKt.Fh=function(t){lmt(this,2,t)},AKt.Rg=function(t,e){this.Db=e<<16|255&this.Db,this.Fh(t)},AKt.Tg=function(){return vZ(this)},AKt.Vg=function(){return this.Db>>16},AKt.Wg=function(){var t;return Kx(),null==(t=uQ(V$t(jz(kat(this,16),26)||this.zh())))?BMe:new KL(this,t)},AKt.Mg=function(){return!(1&this.Db)},AKt.Zg=function(){return jz(kat(this,128),1935)},AKt.$g=function(){return jz(kat(this,16),26)},AKt.dh=function(){return!!(32&this.Db)},AKt.eh=function(){return jz(kat(this,2),49)},AKt.kh=function(){return!!(64&this.Db)},AKt.ph=function(){throw $b(new pw)},AKt.qh=function(){return jz(kat(this,64),281)},AKt.th=function(t){lmt(this,16,t)},AKt.uh=function(t){lmt(this,128,t)},AKt.vh=function(t){lmt(this,64,t)},AKt.yh=function(){return umt(this)},AKt.Db=0,mW(h6t,"MinimalEObjectImpl",114),fBt(115,114,{105:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),AKt.Fh=function(t){this.Cb=t},AKt.eh=function(){return this.Cb},mW(h6t,"MinimalEObjectImpl/Container",115),fBt(1985,115,{105:1,413:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),AKt._g=function(t,e,n){return _vt(this,t,e,n)},AKt.jh=function(t,e,n){return eEt(this,t,e,n)},AKt.lh=function(t){return b0(this,t)},AKt.sh=function(t,e){ilt(this,t,e)},AKt.zh=function(){return TWt(),xIe},AKt.Bh=function(t){qst(this,t)},AKt.Ve=function(){return hbt(this)},AKt.We=function(t){return QBt(this,t)},AKt.Xe=function(t){return x7(this,t)},AKt.Ye=function(t,e){return Xbt(this,t,e)},mW(d6t,"EMapPropertyHolderImpl",1985),fBt(567,115,{105:1,469:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},oc),AKt._g=function(t,e,n){switch(t){case 0:return this.a;case 1:return this.b}return Qbt(this,t,e,n)},AKt.lh=function(t){switch(t){case 0:return 0!=this.a;case 1:return 0!=this.b}return bbt(this,t)},AKt.sh=function(t,e){switch(t){case 0:return void ynt(this,Vv(CN(e)));case 1:return void _nt(this,Vv(CN(e)))}kSt(this,t,e)},AKt.zh=function(){return TWt(),pIe},AKt.Bh=function(t){switch(t){case 0:return void ynt(this,0);case 1:return void _nt(this,0)}wTt(this,t)},AKt.Ib=function(){var t;return 64&this.Db?EMt(this):((t=new lL(EMt(this))).a+=" (x: ",mC(t,this.a),t.a+=", y: ",mC(t,this.b),t.a+=")",t.a)},AKt.a=0,AKt.b=0,mW(d6t,"ElkBendPointImpl",567),fBt(723,1985,{105:1,413:1,160:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),AKt._g=function(t,e,n){return Fht(this,t,e,n)},AKt.hh=function(t,e,n){return jAt(this,t,e,n)},AKt.jh=function(t,e,n){return ist(this,t,e,n)},AKt.lh=function(t){return _at(this,t)},AKt.sh=function(t,e){H_t(this,t,e)},AKt.zh=function(){return TWt(),kIe},AKt.Bh=function(t){sht(this,t)},AKt.zg=function(){return this.k},AKt.Ag=function(){return bY(this)},AKt.Ib=function(){return Xdt(this)},AKt.k=null,mW(d6t,"ElkGraphElementImpl",723),fBt(724,723,{105:1,413:1,160:1,470:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),AKt._g=function(t,e,n){return Nft(this,t,e,n)},AKt.lh=function(t){return ugt(this,t)},AKt.sh=function(t,e){q_t(this,t,e)},AKt.zh=function(){return TWt(),AIe},AKt.Bh=function(t){Ogt(this,t)},AKt.Bg=function(){return this.f},AKt.Cg=function(){return this.g},AKt.Dg=function(){return this.i},AKt.Eg=function(){return this.j},AKt.Fg=function(t,e){CB(this,t,e)},AKt.Gg=function(t,e){AB(this,t,e)},AKt.Hg=function(t){Ent(this,t)},AKt.Ig=function(t){Tnt(this,t)},AKt.Ib=function(){return wEt(this)},AKt.f=0,AKt.g=0,AKt.i=0,AKt.j=0,mW(d6t,"ElkShapeImpl",724),fBt(725,724,{105:1,413:1,82:1,160:1,470:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),AKt._g=function(t,e,n){return zwt(this,t,e,n)},AKt.hh=function(t,e,n){return g_t(this,t,e,n)},AKt.jh=function(t,e,n){return p_t(this,t,e,n)},AKt.lh=function(t){return Hct(this,t)},AKt.sh=function(t,e){MBt(this,t,e)},AKt.zh=function(){return TWt(),mIe},AKt.Bh=function(t){Lbt(this,t)},AKt.xg=function(){return!this.d&&(this.d=new cF(NIe,this,8,5)),this.d},AKt.yg=function(){return!this.e&&(this.e=new cF(NIe,this,7,4)),this.e},mW(d6t,"ElkConnectableShapeImpl",725),fBt(352,723,{105:1,413:1,79:1,160:1,352:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},rc),AKt.Qg=function(t){return Ayt(this,t)},AKt._g=function(t,e,n){switch(t){case 3:return UQ(this);case 4:return!this.b&&(this.b=new cF(OIe,this,4,7)),this.b;case 5:return!this.c&&(this.c=new cF(OIe,this,5,8)),this.c;case 6:return!this.a&&(this.a=new tG(RIe,this,6,6)),this.a;case 7:return cL(),!this.b&&(this.b=new cF(OIe,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new cF(OIe,this,5,8)),this.c.i<=1));case 8:return cL(),!!JIt(this);case 9:return cL(),!!YDt(this);case 10:return cL(),!this.b&&(this.b=new cF(OIe,this,4,7)),0!=this.b.i&&(!this.c&&(this.c=new cF(OIe,this,5,8)),0!=this.c.i)}return Fht(this,t,e,n)},AKt.hh=function(t,e,n){var i;switch(e){case 3:return this.Cb&&(n=(i=this.Db>>16)>=0?Ayt(this,n):this.Cb.ih(this,-1-i,null,n)),WN(this,jz(t,33),n);case 4:return!this.b&&(this.b=new cF(OIe,this,4,7)),Xgt(this.b,t,n);case 5:return!this.c&&(this.c=new cF(OIe,this,5,8)),Xgt(this.c,t,n);case 6:return!this.a&&(this.a=new tG(RIe,this,6,6)),Xgt(this.a,t,n)}return jAt(this,t,e,n)},AKt.jh=function(t,e,n){switch(e){case 3:return WN(this,null,n);case 4:return!this.b&&(this.b=new cF(OIe,this,4,7)),Fbt(this.b,t,n);case 5:return!this.c&&(this.c=new cF(OIe,this,5,8)),Fbt(this.c,t,n);case 6:return!this.a&&(this.a=new tG(RIe,this,6,6)),Fbt(this.a,t,n)}return ist(this,t,e,n)},AKt.lh=function(t){switch(t){case 3:return!!UQ(this);case 4:return!!this.b&&0!=this.b.i;case 5:return!!this.c&&0!=this.c.i;case 6:return!!this.a&&0!=this.a.i;case 7:return!this.b&&(this.b=new cF(OIe,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new cF(OIe,this,5,8)),this.c.i<=1));case 8:return JIt(this);case 9:return YDt(this);case 10:return!this.b&&(this.b=new cF(OIe,this,4,7)),0!=this.b.i&&(!this.c&&(this.c=new cF(OIe,this,5,8)),0!=this.c.i)}return _at(this,t)},AKt.sh=function(t,e){switch(t){case 3:return void zPt(this,jz(e,33));case 4:return!this.b&&(this.b=new cF(OIe,this,4,7)),cHt(this.b),!this.b&&(this.b=new cF(OIe,this,4,7)),void pW(this.b,jz(e,14));case 5:return!this.c&&(this.c=new cF(OIe,this,5,8)),cHt(this.c),!this.c&&(this.c=new cF(OIe,this,5,8)),void pW(this.c,jz(e,14));case 6:return!this.a&&(this.a=new tG(RIe,this,6,6)),cHt(this.a),!this.a&&(this.a=new tG(RIe,this,6,6)),void pW(this.a,jz(e,14))}H_t(this,t,e)},AKt.zh=function(){return TWt(),bIe},AKt.Bh=function(t){switch(t){case 3:return void zPt(this,null);case 4:return!this.b&&(this.b=new cF(OIe,this,4,7)),void cHt(this.b);case 5:return!this.c&&(this.c=new cF(OIe,this,5,8)),void cHt(this.c);case 6:return!this.a&&(this.a=new tG(RIe,this,6,6)),void cHt(this.a)}sht(this,t)},AKt.Ib=function(){return hVt(this)},mW(d6t,"ElkEdgeImpl",352),fBt(439,1985,{105:1,413:1,202:1,439:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},ac),AKt.Qg=function(t){return cyt(this,t)},AKt._g=function(t,e,n){switch(t){case 1:return this.j;case 2:return this.k;case 3:return this.b;case 4:return this.c;case 5:return!this.a&&(this.a=new IP(MIe,this,5)),this.a;case 6:return WQ(this);case 7:return e?Ewt(this):this.i;case 8:return e?xwt(this):this.f;case 9:return!this.g&&(this.g=new cF(RIe,this,9,10)),this.g;case 10:return!this.e&&(this.e=new cF(RIe,this,10,9)),this.e;case 11:return this.d}return _vt(this,t,e,n)},AKt.hh=function(t,e,n){var i;switch(e){case 6:return this.Cb&&(n=(i=this.Db>>16)>=0?cyt(this,n):this.Cb.ih(this,-1-i,null,n)),KN(this,jz(t,79),n);case 9:return!this.g&&(this.g=new cF(RIe,this,9,10)),Xgt(this.g,t,n);case 10:return!this.e&&(this.e=new cF(RIe,this,10,9)),Xgt(this.e,t,n)}return jz(eet(jz(kat(this,16),26)||(TWt(),wIe),e),66).Nj().Qj(this,umt(this),e-hW((TWt(),wIe)),t,n)},AKt.jh=function(t,e,n){switch(e){case 5:return!this.a&&(this.a=new IP(MIe,this,5)),Fbt(this.a,t,n);case 6:return KN(this,null,n);case 9:return!this.g&&(this.g=new cF(RIe,this,9,10)),Fbt(this.g,t,n);case 10:return!this.e&&(this.e=new cF(RIe,this,10,9)),Fbt(this.e,t,n)}return eEt(this,t,e,n)},AKt.lh=function(t){switch(t){case 1:return 0!=this.j;case 2:return 0!=this.k;case 3:return 0!=this.b;case 4:return 0!=this.c;case 5:return!!this.a&&0!=this.a.i;case 6:return!!WQ(this);case 7:return!!this.i;case 8:return!!this.f;case 9:return!!this.g&&0!=this.g.i;case 10:return!!this.e&&0!=this.e.i;case 11:return null!=this.d}return b0(this,t)},AKt.sh=function(t,e){switch(t){case 1:return void Snt(this,Vv(CN(e)));case 2:return void Int(this,Vv(CN(e)));case 3:return void Cnt(this,Vv(CN(e)));case 4:return void Dnt(this,Vv(CN(e)));case 5:return!this.a&&(this.a=new IP(MIe,this,5)),cHt(this.a),!this.a&&(this.a=new IP(MIe,this,5)),void pW(this.a,jz(e,14));case 6:return void jPt(this,jz(e,79));case 7:return void Pit(this,jz(e,82));case 8:return void Mit(this,jz(e,82));case 9:return!this.g&&(this.g=new cF(RIe,this,9,10)),cHt(this.g),!this.g&&(this.g=new cF(RIe,this,9,10)),void pW(this.g,jz(e,14));case 10:return!this.e&&(this.e=new cF(RIe,this,10,9)),cHt(this.e),!this.e&&(this.e=new cF(RIe,this,10,9)),void pW(this.e,jz(e,14));case 11:return void rrt(this,AN(e))}ilt(this,t,e)},AKt.zh=function(){return TWt(),wIe},AKt.Bh=function(t){switch(t){case 1:return void Snt(this,0);case 2:return void Int(this,0);case 3:return void Cnt(this,0);case 4:return void Dnt(this,0);case 5:return!this.a&&(this.a=new IP(MIe,this,5)),void cHt(this.a);case 6:return void jPt(this,null);case 7:return void Pit(this,null);case 8:return void Mit(this,null);case 9:return!this.g&&(this.g=new cF(RIe,this,9,10)),void cHt(this.g);case 10:return!this.e&&(this.e=new cF(RIe,this,10,9)),void cHt(this.e);case 11:return void rrt(this,null)}qst(this,t)},AKt.Ib=function(){return NIt(this)},AKt.b=0,AKt.c=0,AKt.d=null,AKt.j=0,AKt.k=0,mW(d6t,"ElkEdgeSectionImpl",439),fBt(150,115,{105:1,92:1,90:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1}),AKt._g=function(t,e,n){return 0==t?(!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),this.Ab):q8(this,t-hW(this.zh()),eet(jz(kat(this,16),26)||this.zh(),t),e,n)},AKt.hh=function(t,e,n){return 0==e?(!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Xgt(this.Ab,t,n)):jz(eet(jz(kat(this,16),26)||this.zh(),e),66).Nj().Qj(this,umt(this),e-hW(this.zh()),t,n)},AKt.jh=function(t,e,n){return 0==e?(!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Fbt(this.Ab,t,n)):jz(eet(jz(kat(this,16),26)||this.zh(),e),66).Nj().Rj(this,umt(this),e-hW(this.zh()),t,n)},AKt.lh=function(t){return 0==t?!!this.Ab&&0!=this.Ab.i:S3(this,t-hW(this.zh()),eet(jz(kat(this,16),26)||this.zh(),t))},AKt.oh=function(t){return lGt(this,t)},AKt.sh=function(t,e){if(0===t)return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),cHt(this.Ab),!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void pW(this.Ab,jz(e,14));Mft(this,t-hW(this.zh()),eet(jz(kat(this,16),26)||this.zh(),t),e)},AKt.uh=function(t){lmt(this,128,t)},AKt.zh=function(){return pKt(),uMe},AKt.Bh=function(t){if(0===t)return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void cHt(this.Ab);Vht(this,t-hW(this.zh()),eet(jz(kat(this,16),26)||this.zh(),t))},AKt.Gh=function(){this.Bb|=1},AKt.Hh=function(t){return Pjt(this,t)},AKt.Bb=0,mW(h6t,"EModelElementImpl",150),fBt(704,150,{105:1,92:1,90:1,471:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1},Lh),AKt.Ih=function(t,e){return Vqt(this,t,e)},AKt.Jh=function(t){var e,n,i,r;if(this.a!=Uet(t)||256&t.Bb)throw $b(new Rv(w6t+t.zb+p6t));for(n=kZ(t);0!=r5(n.a).i;){if(nvt(e=jz(eqt(n,0,iP(r=jz(Wet(r5(n.a),0),87).c,88)?jz(r,26):(pKt(),dMe)),26)))return jz(i=Uet(e).Nh().Jh(e),49).th(t),i;n=kZ(e)}return"java.util.Map$Entry"==(null!=t.D?t.D:t.B)?new lH(t):new vV(t)},AKt.Kh=function(t,e){return LWt(this,t,e)},AKt._g=function(t,e,n){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),this.Ab;case 1:return this.a}return q8(this,t-hW((pKt(),sMe)),eet(jz(kat(this,16),26)||sMe,t),e,n)},AKt.hh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Xgt(this.Ab,t,n);case 1:return this.a&&(n=jz(this.a,49).ih(this,4,zIe,n)),Zut(this,jz(t,235),n)}return jz(eet(jz(kat(this,16),26)||(pKt(),sMe),e),66).Nj().Qj(this,umt(this),e-hW((pKt(),sMe)),t,n)},AKt.jh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Fbt(this.Ab,t,n);case 1:return Zut(this,null,n)}return jz(eet(jz(kat(this,16),26)||(pKt(),sMe),e),66).Nj().Rj(this,umt(this),e-hW((pKt(),sMe)),t,n)},AKt.lh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return!!this.a}return S3(this,t-hW((pKt(),sMe)),eet(jz(kat(this,16),26)||sMe,t))},AKt.sh=function(t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),cHt(this.Ab),!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void pW(this.Ab,jz(e,14));case 1:return void Lxt(this,jz(e,235))}Mft(this,t-hW((pKt(),sMe)),eet(jz(kat(this,16),26)||sMe,t),e)},AKt.zh=function(){return pKt(),sMe},AKt.Bh=function(t){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void cHt(this.Ab);case 1:return void Lxt(this,null)}Vht(this,t-hW((pKt(),sMe)),eet(jz(kat(this,16),26)||sMe,t))},mW(h6t,"EFactoryImpl",704),fBt(v6t,704,{105:1,2014:1,92:1,90:1,471:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1},sc),AKt.Ih=function(t,e){switch(t.yj()){case 12:return jz(e,146).tg();case 13:return $ft(e);default:throw $b(new Rv(g6t+t.ne()+p6t))}},AKt.Jh=function(t){var e;switch(-1==t.G&&(t.G=(e=Uet(t))?awt(e.Mh(),t):-1),t.G){case 4:return new cc;case 6:return new vk;case 7:return new yk;case 8:return new rc;case 9:return new oc;case 10:return new ac;case 11:return new uc;default:throw $b(new Rv(w6t+t.zb+p6t))}},AKt.Kh=function(t,e){switch(t.yj()){case 13:case 12:return null;default:throw $b(new Rv(g6t+t.ne()+p6t))}},mW(d6t,"ElkGraphFactoryImpl",v6t),fBt(438,150,{105:1,92:1,90:1,147:1,191:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1}),AKt.Wg=function(){var t;return null==(t=uQ(V$t(jz(kat(this,16),26)||this.zh())))?(Kx(),Kx(),BMe):new GO(this,t)},AKt._g=function(t,e,n){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),this.Ab;case 1:return this.ne()}return q8(this,t-hW(this.zh()),eet(jz(kat(this,16),26)||this.zh(),t),e,n)},AKt.lh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb}return S3(this,t-hW(this.zh()),eet(jz(kat(this,16),26)||this.zh(),t))},AKt.sh=function(t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),cHt(this.Ab),!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void pW(this.Ab,jz(e,14));case 1:return void this.Lh(AN(e))}Mft(this,t-hW(this.zh()),eet(jz(kat(this,16),26)||this.zh(),t),e)},AKt.zh=function(){return pKt(),hMe},AKt.Bh=function(t){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void cHt(this.Ab);case 1:return void this.Lh(null)}Vht(this,t-hW(this.zh()),eet(jz(kat(this,16),26)||this.zh(),t))},AKt.ne=function(){return this.zb},AKt.Lh=function(t){Prt(this,t)},AKt.Ib=function(){return vht(this)},AKt.zb=null,mW(h6t,"ENamedElementImpl",438),fBt(179,438,{105:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,49:1,97:1,150:1,179:1,114:1,115:1,675:1},mZ),AKt.Qg=function(t){return fyt(this,t)},AKt._g=function(t,e,n){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.yb;case 3:return this.xb;case 4:return this.sb;case 5:return!this.rb&&(this.rb=new XU(this,jBe,this)),this.rb;case 6:return!this.vb&&(this.vb=new tF(zIe,this,6,7)),this.vb;case 7:return e?this.Db>>16==7?jz(this.Cb,235):null:KQ(this)}return q8(this,t-hW((pKt(),pMe)),eet(jz(kat(this,16),26)||pMe,t),e,n)},AKt.hh=function(t,e,n){var i;switch(e){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Xgt(this.Ab,t,n);case 4:return this.sb&&(n=jz(this.sb,49).ih(this,1,jIe,n)),yht(this,jz(t,471),n);case 5:return!this.rb&&(this.rb=new XU(this,jBe,this)),Xgt(this.rb,t,n);case 6:return!this.vb&&(this.vb=new tF(zIe,this,6,7)),Xgt(this.vb,t,n);case 7:return this.Cb&&(n=(i=this.Db>>16)>=0?fyt(this,n):this.Cb.ih(this,-1-i,null,n)),Cjt(this,t,7,n)}return jz(eet(jz(kat(this,16),26)||(pKt(),pMe),e),66).Nj().Qj(this,umt(this),e-hW((pKt(),pMe)),t,n)},AKt.jh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Fbt(this.Ab,t,n);case 4:return yht(this,null,n);case 5:return!this.rb&&(this.rb=new XU(this,jBe,this)),Fbt(this.rb,t,n);case 6:return!this.vb&&(this.vb=new tF(zIe,this,6,7)),Fbt(this.vb,t,n);case 7:return Cjt(this,null,7,n)}return jz(eet(jz(kat(this,16),26)||(pKt(),pMe),e),66).Nj().Rj(this,umt(this),e-hW((pKt(),pMe)),t,n)},AKt.lh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.yb;case 3:return null!=this.xb;case 4:return!!this.sb;case 5:return!!this.rb&&0!=this.rb.i;case 6:return!!this.vb&&0!=this.vb.i;case 7:return!!KQ(this)}return S3(this,t-hW((pKt(),pMe)),eet(jz(kat(this,16),26)||pMe,t))},AKt.oh=function(t){return MLt(this,t)||lGt(this,t)},AKt.sh=function(t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),cHt(this.Ab),!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void pW(this.Ab,jz(e,14));case 1:return void Prt(this,AN(e));case 2:return void Ort(this,AN(e));case 3:return void Lrt(this,AN(e));case 4:return void nEt(this,jz(e,471));case 5:return!this.rb&&(this.rb=new XU(this,jBe,this)),cHt(this.rb),!this.rb&&(this.rb=new XU(this,jBe,this)),void pW(this.rb,jz(e,14));case 6:return!this.vb&&(this.vb=new tF(zIe,this,6,7)),cHt(this.vb),!this.vb&&(this.vb=new tF(zIe,this,6,7)),void pW(this.vb,jz(e,14))}Mft(this,t-hW((pKt(),pMe)),eet(jz(kat(this,16),26)||pMe,t),e)},AKt.vh=function(t){var e,n;if(t&&this.rb)for(n=new DP(this.rb);n.e!=n.i.gc();)iP(e=vbt(n),351)&&(jz(e,351).w=null);lmt(this,64,t)},AKt.zh=function(){return pKt(),pMe},AKt.Bh=function(t){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void cHt(this.Ab);case 1:return void Prt(this,null);case 2:return void Ort(this,null);case 3:return void Lrt(this,null);case 4:return void nEt(this,null);case 5:return!this.rb&&(this.rb=new XU(this,jBe,this)),void cHt(this.rb);case 6:return!this.vb&&(this.vb=new tF(zIe,this,6,7)),void cHt(this.vb)}Vht(this,t-hW((pKt(),pMe)),eet(jz(kat(this,16),26)||pMe,t))},AKt.Gh=function(){Cvt(this)},AKt.Mh=function(){return!this.rb&&(this.rb=new XU(this,jBe,this)),this.rb},AKt.Nh=function(){return this.sb},AKt.Oh=function(){return this.ub},AKt.Ph=function(){return this.xb},AKt.Qh=function(){return this.yb},AKt.Rh=function(t){this.ub=t},AKt.Ib=function(){var t;return 64&this.Db?vht(this):((t=new lL(vht(this))).a+=" (nsURI: ",iI(t,this.yb),t.a+=", nsPrefix: ",iI(t,this.xb),t.a+=")",t.a)},AKt.xb=null,AKt.yb=null,mW(h6t,"EPackageImpl",179),fBt(555,179,{105:1,2016:1,555:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,49:1,97:1,150:1,179:1,114:1,115:1,675:1},cBt),AKt.q=!1,AKt.r=!1;var UIe=!1;mW(d6t,"ElkGraphPackageImpl",555),fBt(354,724,{105:1,413:1,160:1,137:1,470:1,354:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},cc),AKt.Qg=function(t){return lyt(this,t)},AKt._g=function(t,e,n){switch(t){case 7:return YQ(this);case 8:return this.a}return Nft(this,t,e,n)},AKt.hh=function(t,e,n){var i;return 7===e?(this.Cb&&(n=(i=this.Db>>16)>=0?lyt(this,n):this.Cb.ih(this,-1-i,null,n)),Wq(this,jz(t,160),n)):jAt(this,t,e,n)},AKt.jh=function(t,e,n){return 7==e?Wq(this,null,n):ist(this,t,e,n)},AKt.lh=function(t){switch(t){case 7:return!!YQ(this);case 8:return!bF("",this.a)}return ugt(this,t)},AKt.sh=function(t,e){switch(t){case 7:return void SLt(this,jz(e,160));case 8:return void Lit(this,AN(e))}q_t(this,t,e)},AKt.zh=function(){return TWt(),vIe},AKt.Bh=function(t){switch(t){case 7:return void SLt(this,null);case 8:return void Lit(this,"")}Ogt(this,t)},AKt.Ib=function(){return rTt(this)},AKt.a="",mW(d6t,"ElkLabelImpl",354),fBt(239,725,{105:1,413:1,82:1,160:1,33:1,470:1,239:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},vk),AKt.Qg=function(t){return xyt(this,t)},AKt._g=function(t,e,n){switch(t){case 9:return!this.c&&(this.c=new tG(qIe,this,9,9)),this.c;case 10:return!this.a&&(this.a=new tG(HIe,this,10,11)),this.a;case 11:return XQ(this);case 12:return!this.b&&(this.b=new tG(NIe,this,12,3)),this.b;case 13:return cL(),!this.a&&(this.a=new tG(HIe,this,10,11)),this.a.i>0}return zwt(this,t,e,n)},AKt.hh=function(t,e,n){var i;switch(e){case 9:return!this.c&&(this.c=new tG(qIe,this,9,9)),Xgt(this.c,t,n);case 10:return!this.a&&(this.a=new tG(HIe,this,10,11)),Xgt(this.a,t,n);case 11:return this.Cb&&(n=(i=this.Db>>16)>=0?xyt(this,n):this.Cb.ih(this,-1-i,null,n)),HR(this,jz(t,33),n);case 12:return!this.b&&(this.b=new tG(NIe,this,12,3)),Xgt(this.b,t,n)}return g_t(this,t,e,n)},AKt.jh=function(t,e,n){switch(e){case 9:return!this.c&&(this.c=new tG(qIe,this,9,9)),Fbt(this.c,t,n);case 10:return!this.a&&(this.a=new tG(HIe,this,10,11)),Fbt(this.a,t,n);case 11:return HR(this,null,n);case 12:return!this.b&&(this.b=new tG(NIe,this,12,3)),Fbt(this.b,t,n)}return p_t(this,t,e,n)},AKt.lh=function(t){switch(t){case 9:return!!this.c&&0!=this.c.i;case 10:return!!this.a&&0!=this.a.i;case 11:return!!XQ(this);case 12:return!!this.b&&0!=this.b.i;case 13:return!this.a&&(this.a=new tG(HIe,this,10,11)),this.a.i>0}return Hct(this,t)},AKt.sh=function(t,e){switch(t){case 9:return!this.c&&(this.c=new tG(qIe,this,9,9)),cHt(this.c),!this.c&&(this.c=new tG(qIe,this,9,9)),void pW(this.c,jz(e,14));case 10:return!this.a&&(this.a=new tG(HIe,this,10,11)),cHt(this.a),!this.a&&(this.a=new tG(HIe,this,10,11)),void pW(this.a,jz(e,14));case 11:return void JPt(this,jz(e,33));case 12:return!this.b&&(this.b=new tG(NIe,this,12,3)),cHt(this.b),!this.b&&(this.b=new tG(NIe,this,12,3)),void pW(this.b,jz(e,14))}MBt(this,t,e)},AKt.zh=function(){return TWt(),yIe},AKt.Bh=function(t){switch(t){case 9:return!this.c&&(this.c=new tG(qIe,this,9,9)),void cHt(this.c);case 10:return!this.a&&(this.a=new tG(HIe,this,10,11)),void cHt(this.a);case 11:return void JPt(this,null);case 12:return!this.b&&(this.b=new tG(NIe,this,12,3)),void cHt(this.b)}Lbt(this,t)},AKt.Ib=function(){return qRt(this)},mW(d6t,"ElkNodeImpl",239),fBt(186,725,{105:1,413:1,82:1,160:1,118:1,470:1,186:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},yk),AKt.Qg=function(t){return uyt(this,t)},AKt._g=function(t,e,n){return 9==t?GQ(this):zwt(this,t,e,n)},AKt.hh=function(t,e,n){var i;return 9===e?(this.Cb&&(n=(i=this.Db>>16)>=0?uyt(this,n):this.Cb.ih(this,-1-i,null,n)),YN(this,jz(t,33),n)):g_t(this,t,e,n)},AKt.jh=function(t,e,n){return 9==e?YN(this,null,n):p_t(this,t,e,n)},AKt.lh=function(t){return 9==t?!!GQ(this):Hct(this,t)},AKt.sh=function(t,e){9!==t?MBt(this,t,e):$Pt(this,jz(e,33))},AKt.zh=function(){return TWt(),_Ie},AKt.Bh=function(t){9!==t?Lbt(this,t):$Pt(this,null)},AKt.Ib=function(){return URt(this)},mW(d6t,"ElkPortImpl",186);var GIe=hH($6t,"BasicEMap/Entry");fBt(1092,115,{105:1,42:1,92:1,90:1,133:1,56:1,108:1,49:1,97:1,114:1,115:1},uc),AKt.Fb=function(t){return this===t},AKt.cd=function(){return this.b},AKt.Hb=function(){return xL(this)},AKt.Uh=function(t){Oit(this,jz(t,146))},AKt._g=function(t,e,n){switch(t){case 0:return this.b;case 1:return this.c}return Qbt(this,t,e,n)},AKt.lh=function(t){switch(t){case 0:return!!this.b;case 1:return null!=this.c}return bbt(this,t)},AKt.sh=function(t,e){switch(t){case 0:return void Oit(this,jz(e,146));case 1:return void Fit(this,e)}kSt(this,t,e)},AKt.zh=function(){return TWt(),CIe},AKt.Bh=function(t){switch(t){case 0:return void Oit(this,null);case 1:return void Fit(this,null)}wTt(this,t)},AKt.Sh=function(){var t;return-1==this.a&&(t=this.b,this.a=t?Jct(t):0),this.a},AKt.dd=function(){return this.c},AKt.Th=function(t){this.a=t},AKt.ed=function(t){var e;return e=this.c,Fit(this,t),e},AKt.Ib=function(){var t;return 64&this.Db?EMt(this):(aI(aI(aI(t=new Ey,this.b?this.b.tg():qKt),e1t),kL(this.c)),t.a)},AKt.a=-1,AKt.c=null;var WIe,KIe,YIe,XIe,ZIe,QIe,JIe,tBe,eBe=mW(d6t,"ElkPropertyToValueMapEntryImpl",1092);fBt(984,1,{},fc),mW(H6t,"JsonAdapter",984),fBt(210,60,$Yt,ty),mW(H6t,"JsonImportException",210),fBt(857,1,{},gyt),mW(H6t,"JsonImporter",857),fBt(891,1,{},rD),mW(H6t,"JsonImporter/lambda$0$Type",891),fBt(892,1,{},oD),mW(H6t,"JsonImporter/lambda$1$Type",892),fBt(900,1,{},Im),mW(H6t,"JsonImporter/lambda$10$Type",900),fBt(902,1,{},aD),mW(H6t,"JsonImporter/lambda$11$Type",902),fBt(903,1,{},sD),mW(H6t,"JsonImporter/lambda$12$Type",903),fBt(909,1,{},lX),mW(H6t,"JsonImporter/lambda$13$Type",909),fBt(908,1,{},cX),mW(H6t,"JsonImporter/lambda$14$Type",908),fBt(904,1,{},cD),mW(H6t,"JsonImporter/lambda$15$Type",904),fBt(905,1,{},lD),mW(H6t,"JsonImporter/lambda$16$Type",905),fBt(906,1,{},uD),mW(H6t,"JsonImporter/lambda$17$Type",906),fBt(907,1,{},hD),mW(H6t,"JsonImporter/lambda$18$Type",907),fBt(912,1,{},Bm),mW(H6t,"JsonImporter/lambda$19$Type",912),fBt(893,1,{},Mm),mW(H6t,"JsonImporter/lambda$2$Type",893),fBt(910,1,{},Pm),mW(H6t,"JsonImporter/lambda$20$Type",910),fBt(911,1,{},Lm),mW(H6t,"JsonImporter/lambda$21$Type",911),fBt(915,1,{},Om),mW(H6t,"JsonImporter/lambda$22$Type",915),fBt(913,1,{},Nm),mW(H6t,"JsonImporter/lambda$23$Type",913),fBt(914,1,{},Rm),mW(H6t,"JsonImporter/lambda$24$Type",914),fBt(917,1,{},Fm),mW(H6t,"JsonImporter/lambda$25$Type",917),fBt(916,1,{},jm),mW(H6t,"JsonImporter/lambda$26$Type",916),fBt(918,1,hYt,dD),AKt.td=function(t){y8(this.b,this.a,AN(t))},mW(H6t,"JsonImporter/lambda$27$Type",918),fBt(919,1,hYt,fD),AKt.td=function(t){_8(this.b,this.a,AN(t))},mW(H6t,"JsonImporter/lambda$28$Type",919),fBt(920,1,{},gD),mW(H6t,"JsonImporter/lambda$29$Type",920),fBt(896,1,{},$m),mW(H6t,"JsonImporter/lambda$3$Type",896),fBt(921,1,{},pD),mW(H6t,"JsonImporter/lambda$30$Type",921),fBt(922,1,{},zm),mW(H6t,"JsonImporter/lambda$31$Type",922),fBt(923,1,{},Vm),mW(H6t,"JsonImporter/lambda$32$Type",923),fBt(924,1,{},Hm),mW(H6t,"JsonImporter/lambda$33$Type",924),fBt(925,1,{},qm),mW(H6t,"JsonImporter/lambda$34$Type",925),fBt(859,1,{},Um),mW(H6t,"JsonImporter/lambda$35$Type",859),fBt(929,1,{},Cz),mW(H6t,"JsonImporter/lambda$36$Type",929),fBt(926,1,hYt,Gm),AKt.td=function(t){Y5(this.a,jz(t,469))},mW(H6t,"JsonImporter/lambda$37$Type",926),fBt(927,1,hYt,AD),AKt.td=function(t){uI(this.a,this.b,jz(t,202))},mW(H6t,"JsonImporter/lambda$38$Type",927),fBt(928,1,hYt,xD),AKt.td=function(t){hI(this.a,this.b,jz(t,202))},mW(H6t,"JsonImporter/lambda$39$Type",928),fBt(894,1,{},Wm),mW(H6t,"JsonImporter/lambda$4$Type",894),fBt(930,1,hYt,Km),AKt.td=function(t){X5(this.a,jz(t,8))},mW(H6t,"JsonImporter/lambda$40$Type",930),fBt(895,1,{},Ym),mW(H6t,"JsonImporter/lambda$5$Type",895),fBt(899,1,{},Xm),mW(H6t,"JsonImporter/lambda$6$Type",899),fBt(897,1,{},Zm),mW(H6t,"JsonImporter/lambda$7$Type",897),fBt(898,1,{},Qm),mW(H6t,"JsonImporter/lambda$8$Type",898),fBt(901,1,{},Jm),mW(H6t,"JsonImporter/lambda$9$Type",901),fBt(948,1,hYt,tb),AKt.td=function(t){QW(this.a,new VW(AN(t)))},mW(H6t,"JsonMetaDataConverter/lambda$0$Type",948),fBt(949,1,hYt,eb),AKt.td=function(t){RW(this.a,jz(t,237))},mW(H6t,"JsonMetaDataConverter/lambda$1$Type",949),fBt(950,1,hYt,nb),AKt.td=function(t){JJ(this.a,jz(t,149))},mW(H6t,"JsonMetaDataConverter/lambda$2$Type",950),fBt(951,1,hYt,ib),AKt.td=function(t){FW(this.a,jz(t,175))},mW(H6t,"JsonMetaDataConverter/lambda$3$Type",951),fBt(237,22,{3:1,35:1,22:1,237:1},CD);var nBe,iBe=$nt(SQt,"GraphFeature",237,Ute,Ret,pz);fBt(13,1,{35:1,146:1},ob,eR,II,UB),AKt.wd=function(t){return pP(this,jz(t,146))},AKt.Fb=function(t){return yZ(this,t)},AKt.wg=function(){return wbt(this)},AKt.tg=function(){return this.b},AKt.Hb=function(){return bwt(this.b)},AKt.Ib=function(){return this.b},mW(SQt,"Property",13),fBt(818,1,AZt,rb),AKt.ue=function(t,e){return Fdt(this,jz(t,94),jz(e,94))},AKt.Fb=function(t){return this===t},AKt.ve=function(){return new Qf(this)},mW(SQt,"PropertyHolderComparator",818),fBt(695,1,YKt,sb),AKt.Nb=function(t){lG(this,t)},AKt.Pb=function(){return D8(this)},AKt.Qb=function(){oC()},AKt.Ob=function(){return!!this.a},mW(r7t,"ElkGraphUtil/AncestorIterator",695);var rBe=hH($6t,"EList");fBt(67,52,{20:1,28:1,52:1,14:1,15:1,67:1,58:1}),AKt.Vc=function(t,e){cdt(this,t,e)},AKt.Fc=function(t){return l8(this,t)},AKt.Wc=function(t,e){return sct(this,t,e)},AKt.Gc=function(t){return pW(this,t)},AKt.Zh=function(){return new rO(this)},AKt.$h=function(){return new oO(this)},AKt._h=function(t){return cit(this,t)},AKt.ai=function(){return!0},AKt.bi=function(t,e){},AKt.ci=function(){},AKt.di=function(t,e){B7(this,t,e)},AKt.ei=function(t,e,n){},AKt.fi=function(t,e){},AKt.gi=function(t,e,n){},AKt.Fb=function(t){return YNt(this,t)},AKt.Hb=function(){return Ast(this)},AKt.hi=function(){return!1},AKt.Kc=function(){return new DP(this)},AKt.Yc=function(){return new iO(this)},AKt.Zc=function(t){var e;if(e=this.gc(),t<0||t>e)throw $b(new JR(t,e));return new VG(this,t)},AKt.ji=function(t,e){this.ii(t,this.Xc(e))},AKt.Mc=function(t){return stt(this,t)},AKt.li=function(t,e){return e},AKt._c=function(t,e){return swt(this,t,e)},AKt.Ib=function(){return Zft(this)},AKt.ni=function(){return!0},AKt.oi=function(t,e){return Llt(this,e)},mW($6t,"AbstractEList",67),fBt(63,67,l7t,mc,pet,yot),AKt.Vh=function(t,e){return $At(this,t,e)},AKt.Wh=function(t){return dkt(this,t)},AKt.Xh=function(t,e){Sht(this,t,e)},AKt.Yh=function(t){i6(this,t)},AKt.pi=function(t){return F8(this,t)},AKt.$b=function(){r6(this)},AKt.Hc=function(t){return x_t(this,t)},AKt.Xb=function(t){return Wet(this,t)},AKt.qi=function(t){var e,n,i;++this.j,t>(n=null==this.g?0:this.g.length)&&(i=this.g,(e=n+(n/2|0)+4)=0&&(this.$c(e),!0)},AKt.mi=function(t,e){return this.Ui(t,this.oi(t,e))},AKt.gc=function(){return this.Vi()},AKt.Pc=function(){return this.Wi()},AKt.Qc=function(t){return this.Xi(t)},AKt.Ib=function(){return this.Yi()},mW($6t,"DelegatingEList",1995),fBt(1996,1995,J7t),AKt.Vh=function(t,e){return a$t(this,t,e)},AKt.Wh=function(t){return this.Vh(this.Vi(),t)},AKt.Xh=function(t,e){eBt(this,t,e)},AKt.Yh=function(t){DIt(this,t)},AKt.ai=function(){return!this.bj()},AKt.$b=function(){bHt(this)},AKt.Zi=function(t,e,n,i,r){return new MZ(this,t,e,n,i,r)},AKt.$i=function(t){dat(this.Ai(),t)},AKt._i=function(){return null},AKt.aj=function(){return-1},AKt.Ai=function(){return null},AKt.bj=function(){return!1},AKt.cj=function(t,e){return e},AKt.dj=function(t,e){return e},AKt.ej=function(){return!1},AKt.fj=function(){return!this.Ri()},AKt.ii=function(t,e){var n,i;return this.ej()?(i=this.fj(),n=Ixt(this,t,e),this.$i(this.Zi(7,ndt(e),n,t,i)),n):Ixt(this,t,e)},AKt.$c=function(t){var e,n,i,r;return this.ej()?(n=null,i=this.fj(),e=this.Zi(4,r=dH(this,t),null,t,i),this.bj()&&r?(n=this.dj(r,n))?(n.Ei(e),n.Fi()):this.$i(e):n?(n.Ei(e),n.Fi()):this.$i(e),r):(r=dH(this,t),this.bj()&&r&&(n=this.dj(r,null))&&n.Fi(),r)},AKt.mi=function(t,e){return s$t(this,t,e)},mW(n6t,"DelegatingNotifyingListImpl",1996),fBt(143,1,t8t),AKt.Ei=function(t){return RCt(this,t)},AKt.Fi=function(){I9(this)},AKt.xi=function(){return this.d},AKt._i=function(){return null},AKt.gj=function(){return null},AKt.yi=function(t){return-1},AKt.zi=function(){return NOt(this)},AKt.Ai=function(){return null},AKt.Bi=function(){return ROt(this)},AKt.Ci=function(){return this.o<0?this.o<-2?-2-this.o-1:-1:this.o},AKt.hj=function(){return!1},AKt.Di=function(t){var e,n,i,r,o,a,s,c;switch(this.d){case 1:case 2:switch(t.xi()){case 1:case 2:if(VD(t.Ai())===VD(this.Ai())&&this.yi(null)==t.yi(null))return this.g=t.zi(),1==t.xi()&&(this.d=1),!0}case 4:if(4===t.xi()&&VD(t.Ai())===VD(this.Ai())&&this.yi(null)==t.yi(null))return a=tqt(this),o=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,i=t.Ci(),this.d=6,c=new pet(2),o<=i?(l8(c,this.n),l8(c,t.Bi()),this.g=Est(Vy(SLe,1),lXt,25,15,[this.o=o,i+1])):(l8(c,t.Bi()),l8(c,this.n),this.g=Est(Vy(SLe,1),lXt,25,15,[this.o=i,o])),this.n=c,a||(this.o=-2-this.o-1),!0;break;case 6:if(4===t.xi()&&VD(t.Ai())===VD(this.Ai())&&this.yi(null)==t.yi(null)){for(a=tqt(this),i=t.Ci(),s=jz(this.g,48),n=P7(SLe,lXt,25,s.length+1,15,1),e=0;e>>0).toString(16))).a+=" (eventType: ",this.d){case 1:n.a+="SET";break;case 2:n.a+="UNSET";break;case 3:n.a+="ADD";break;case 5:n.a+="ADD_MANY";break;case 4:n.a+="REMOVE";break;case 6:n.a+="REMOVE_MANY";break;case 7:n.a+="MOVE";break;case 8:n.a+="REMOVING_ADAPTER";break;case 9:n.a+="RESOLVE";break;default:bC(n,this.d)}if(hFt(this)&&(n.a+=", touch: true"),n.a+=", position: ",bC(n,this.o<0?this.o<-2?-2-this.o-1:-1:this.o),n.a+=", notifier: ",nI(n,this.Ai()),n.a+=", feature: ",nI(n,this._i()),n.a+=", oldValue: ",nI(n,ROt(this)),n.a+=", newValue: ",6==this.d&&iP(this.g,48)){for(e=jz(this.g,48),n.a+="[",t=0;t10?(this.b&&this.c.j==this.a||(this.b=new IH(this),this.a=this.j),FA(this.b,t)):x_t(this,t)},AKt.ni=function(){return!0},AKt.a=0,mW($6t,"AbstractEList/1",953),fBt(295,73,PXt,JR),mW($6t,"AbstractEList/BasicIndexOutOfBoundsException",295),fBt(40,1,YKt,DP),AKt.Nb=function(t){lG(this,t)},AKt.mj=function(){if(this.i.j!=this.f)throw $b(new mw)},AKt.nj=function(){return vbt(this)},AKt.Ob=function(){return this.e!=this.i.gc()},AKt.Pb=function(){return this.nj()},AKt.Qb=function(){Y_t(this)},AKt.e=0,AKt.f=0,AKt.g=-1,mW($6t,"AbstractEList/EIterator",40),fBt(278,40,rYt,iO,VG),AKt.Qb=function(){Y_t(this)},AKt.Rb=function(t){spt(this,t)},AKt.oj=function(){var t;try{return t=this.d.Xb(--this.e),this.mj(),this.g=this.e,t}catch(t){throw iP(t=hst(t),73)?(this.mj(),$b(new ww)):$b(t)}},AKt.pj=function(t){vkt(this,t)},AKt.Sb=function(){return 0!=this.e},AKt.Tb=function(){return this.e},AKt.Ub=function(){return this.oj()},AKt.Vb=function(){return this.e-1},AKt.Wb=function(t){this.pj(t)},mW($6t,"AbstractEList/EListIterator",278),fBt(341,40,YKt,rO),AKt.nj=function(){return ybt(this)},AKt.Qb=function(){throw $b(new pw)},mW($6t,"AbstractEList/NonResolvingEIterator",341),fBt(385,278,rYt,oO,OF),AKt.Rb=function(t){throw $b(new pw)},AKt.nj=function(){var t;try{return t=this.c.ki(this.e),this.mj(),this.g=this.e++,t}catch(t){throw iP(t=hst(t),73)?(this.mj(),$b(new ww)):$b(t)}},AKt.oj=function(){var t;try{return t=this.c.ki(--this.e),this.mj(),this.g=this.e,t}catch(t){throw iP(t=hst(t),73)?(this.mj(),$b(new ww)):$b(t)}},AKt.Qb=function(){throw $b(new pw)},AKt.Wb=function(t){throw $b(new pw)},mW($6t,"AbstractEList/NonResolvingEListIterator",385),fBt(1982,67,i8t),AKt.Vh=function(t,e){var n,i,r,o,a,s,c,l,u;if(0!=(i=e.gc())){for(n=Elt(this,(l=null==(c=jz(kat(this.a,4),126))?0:c.length)+i),(u=l-t)>0&&oVt(c,t,n,t+i,u),s=e.Kc(),o=0;on)throw $b(new JR(t,n));return new jK(this,t)},AKt.$b=function(){var t,e;++this.j,e=null==(t=jz(kat(this.a,4),126))?0:t.length,jmt(this,null),B7(this,e,t)},AKt.Hc=function(t){var e,n,i,r;if(null!=(e=jz(kat(this.a,4),126)))if(null!=t){for(i=0,r=(n=e).length;i=(n=null==(e=jz(kat(this.a,4),126))?0:e.length))throw $b(new JR(t,n));return e[t]},AKt.Xc=function(t){var e,n,i;if(null!=(e=jz(kat(this.a,4),126)))if(null!=t){for(n=0,i=e.length;nn)throw $b(new JR(t,n));return new FK(this,t)},AKt.ii=function(t,e){var n,i,r;if(t>=(r=null==(n=Bpt(this))?0:n.length))throw $b(new Dv(a7t+t+s7t+r));if(e>=r)throw $b(new Dv(c7t+e+s7t+r));return i=n[e],t!=e&&(t0&&oVt(t,0,e,0,n),e},AKt.Qc=function(t){var e,n;return(n=null==(e=jz(kat(this.a,4),126))?0:e.length)>0&&(t.lengthn&&IW(t,n,null),t},mW($6t,"ArrayDelegatingEList",1982),fBt(1038,40,YKt,C4),AKt.mj=function(){if(this.b.j!=this.f||VD(jz(kat(this.b.a,4),126))!==VD(this.a))throw $b(new mw)},AKt.Qb=function(){Y_t(this),this.a=jz(kat(this.b.a,4),126)},mW($6t,"ArrayDelegatingEList/EIterator",1038),fBt(706,278,rYt,KU,FK),AKt.mj=function(){if(this.b.j!=this.f||VD(jz(kat(this.b.a,4),126))!==VD(this.a))throw $b(new mw)},AKt.pj=function(t){vkt(this,t),this.a=jz(kat(this.b.a,4),126)},AKt.Qb=function(){Y_t(this),this.a=jz(kat(this.b.a,4),126)},mW($6t,"ArrayDelegatingEList/EListIterator",706),fBt(1039,341,YKt,A4),AKt.mj=function(){if(this.b.j!=this.f||VD(jz(kat(this.b.a,4),126))!==VD(this.a))throw $b(new mw)},mW($6t,"ArrayDelegatingEList/NonResolvingEIterator",1039),fBt(707,385,rYt,YU,jK),AKt.mj=function(){if(this.b.j!=this.f||VD(jz(kat(this.b.a,4),126))!==VD(this.a))throw $b(new mw)},mW($6t,"ArrayDelegatingEList/NonResolvingEListIterator",707),fBt(606,295,PXt,BI),mW($6t,"BasicEList/BasicIndexOutOfBoundsException",606),fBt(696,63,l7t,LD),AKt.Vc=function(t,e){throw $b(new pw)},AKt.Fc=function(t){throw $b(new pw)},AKt.Wc=function(t,e){throw $b(new pw)},AKt.Gc=function(t){throw $b(new pw)},AKt.$b=function(){throw $b(new pw)},AKt.qi=function(t){throw $b(new pw)},AKt.Kc=function(){return this.Zh()},AKt.Yc=function(){return this.$h()},AKt.Zc=function(t){return this._h(t)},AKt.ii=function(t,e){throw $b(new pw)},AKt.ji=function(t,e){throw $b(new pw)},AKt.$c=function(t){throw $b(new pw)},AKt.Mc=function(t){throw $b(new pw)},AKt._c=function(t,e){throw $b(new pw)},mW($6t,"BasicEList/UnmodifiableEList",696),fBt(705,1,{3:1,20:1,14:1,15:1,58:1,589:1}),AKt.Vc=function(t,e){KM(this,t,jz(e,42))},AKt.Fc=function(t){return rN(this,jz(t,42))},AKt.Jc=function(t){t4(this,t)},AKt.Xb=function(t){return jz(Wet(this.c,t),133)},AKt.ii=function(t,e){return jz(this.c.ii(t,e),42)},AKt.ji=function(t,e){YM(this,t,jz(e,42))},AKt.Lc=function(){return new OH(null,new d1(this,16))},AKt.$c=function(t){return jz(this.c.$c(t),42)},AKt._c=function(t,e){return oW(this,t,jz(e,42))},AKt.ad=function(t){Frt(this,t)},AKt.Nc=function(){return new d1(this,16)},AKt.Oc=function(){return new OH(null,new d1(this,16))},AKt.Wc=function(t,e){return this.c.Wc(t,e)},AKt.Gc=function(t){return this.c.Gc(t)},AKt.$b=function(){this.c.$b()},AKt.Hc=function(t){return this.c.Hc(t)},AKt.Ic=function(t){return sst(this.c,t)},AKt.qj=function(){var t,e;if(null==this.d){for(this.d=P7(sBe,r8t,63,2*this.f+1,0,1),e=this.e,this.f=0,t=this.c.Kc();t.e!=t.i.gc();)Swt(this,jz(t.nj(),133));this.e=e}},AKt.Fb=function(t){return MF(this,t)},AKt.Hb=function(){return Ast(this.c)},AKt.Xc=function(t){return this.c.Xc(t)},AKt.rj=function(){this.c=new cb(this)},AKt.dc=function(){return 0==this.f},AKt.Kc=function(){return this.c.Kc()},AKt.Yc=function(){return this.c.Yc()},AKt.Zc=function(t){return this.c.Zc(t)},AKt.sj=function(){return D7(this)},AKt.tj=function(t,e,n){return new Az(t,e,n)},AKt.uj=function(){return new wc},AKt.Mc=function(t){return lit(this,t)},AKt.gc=function(){return this.f},AKt.bd=function(t,e){return new s1(this.c,t,e)},AKt.Pc=function(){return this.c.Pc()},AKt.Qc=function(t){return this.c.Qc(t)},AKt.Ib=function(){return Zft(this.c)},AKt.e=0,AKt.f=0,mW($6t,"BasicEMap",705),fBt(1033,63,l7t,cb),AKt.bi=function(t,e){Dw(this,jz(e,133))},AKt.ei=function(t,e,n){var i;++(i=this,jz(e,133),i).a.e},AKt.fi=function(t,e){Iw(this,jz(e,133))},AKt.gi=function(t,e,n){WL(this,jz(e,133),jz(n,133))},AKt.di=function(t,e){oat(this.a)},mW($6t,"BasicEMap/1",1033),fBt(1034,63,l7t,wc),AKt.ri=function(t){return P7(pBe,o8t,612,t,0,1)},mW($6t,"BasicEMap/2",1034),fBt(1035,JKt,tYt,lb),AKt.$b=function(){this.a.c.$b()},AKt.Hc=function(t){return ipt(this.a,t)},AKt.Kc=function(){return 0==this.a.f?(fN(),gBe.a):new j_(this.a)},AKt.Mc=function(t){var e;return e=this.a.f,Wpt(this.a,t),this.a.f!=e},AKt.gc=function(){return this.a.f},mW($6t,"BasicEMap/3",1035),fBt(1036,28,QKt,ub),AKt.$b=function(){this.a.c.$b()},AKt.Hc=function(t){return XNt(this.a,t)},AKt.Kc=function(){return 0==this.a.f?(fN(),gBe.a):new $_(this.a)},AKt.gc=function(){return this.a.f},mW($6t,"BasicEMap/4",1036),fBt(1037,JKt,tYt,hb),AKt.$b=function(){this.a.c.$b()},AKt.Hc=function(t){var e,n,i,r,o,a,s,c,l;if(this.a.f>0&&iP(t,42)&&(this.a.qj(),r=null==(s=(c=jz(t,42)).cd())?0:Jct(s),o=tR(this.a,r),e=this.a.d[o]))for(n=jz(e.g,367),l=e.i,a=0;a"+this.c},AKt.a=0;var gBe,pBe=mW($6t,"BasicEMap/EntryImpl",612);fBt(536,1,{},lc),mW($6t,"BasicEMap/View",536),fBt(768,1,{}),AKt.Fb=function(t){return PBt((AX(),cne),t)},AKt.Hb=function(){return jct((AX(),cne))},AKt.Ib=function(){return Mxt((AX(),cne))},mW($6t,"ECollections/BasicEmptyUnmodifiableEList",768),fBt(1312,1,rYt,kc),AKt.Nb=function(t){lG(this,t)},AKt.Rb=function(t){throw $b(new pw)},AKt.Ob=function(){return!1},AKt.Sb=function(){return!1},AKt.Pb=function(){throw $b(new ww)},AKt.Tb=function(){return 0},AKt.Ub=function(){throw $b(new ww)},AKt.Vb=function(){return-1},AKt.Qb=function(){throw $b(new pw)},AKt.Wb=function(t){throw $b(new pw)},mW($6t,"ECollections/BasicEmptyUnmodifiableEList/1",1312),fBt(1310,768,{20:1,14:1,15:1,58:1},_k),AKt.Vc=function(t,e){MC()},AKt.Fc=function(t){return PC()},AKt.Wc=function(t,e){return LC()},AKt.Gc=function(t){return OC()},AKt.$b=function(){NC()},AKt.Hc=function(t){return!1},AKt.Ic=function(t){return!1},AKt.Jc=function(t){t4(this,t)},AKt.Xb=function(t){return wI((AX(),t)),null},AKt.Xc=function(t){return-1},AKt.dc=function(){return!0},AKt.Kc=function(){return this.a},AKt.Yc=function(){return this.a},AKt.Zc=function(t){return this.a},AKt.ii=function(t,e){return RC()},AKt.ji=function(t,e){FC()},AKt.Lc=function(){return new OH(null,new d1(this,16))},AKt.$c=function(t){return jC()},AKt.Mc=function(t){return $C()},AKt._c=function(t,e){return zC()},AKt.gc=function(){return 0},AKt.ad=function(t){Frt(this,t)},AKt.Nc=function(){return new d1(this,16)},AKt.Oc=function(){return new OH(null,new d1(this,16))},AKt.bd=function(t,e){return AX(),new s1(cne,t,e)},AKt.Pc=function(){return iU((AX(),cne))},AKt.Qc=function(t){return AX(),_kt(cne,t)},mW($6t,"ECollections/EmptyUnmodifiableEList",1310),fBt(1311,768,{20:1,14:1,15:1,58:1,589:1},Ck),AKt.Vc=function(t,e){MC()},AKt.Fc=function(t){return PC()},AKt.Wc=function(t,e){return LC()},AKt.Gc=function(t){return OC()},AKt.$b=function(){NC()},AKt.Hc=function(t){return!1},AKt.Ic=function(t){return!1},AKt.Jc=function(t){t4(this,t)},AKt.Xb=function(t){return wI((AX(),t)),null},AKt.Xc=function(t){return-1},AKt.dc=function(){return!0},AKt.Kc=function(){return this.a},AKt.Yc=function(){return this.a},AKt.Zc=function(t){return this.a},AKt.ii=function(t,e){return RC()},AKt.ji=function(t,e){FC()},AKt.Lc=function(){return new OH(null,new d1(this,16))},AKt.$c=function(t){return jC()},AKt.Mc=function(t){return $C()},AKt._c=function(t,e){return zC()},AKt.gc=function(){return 0},AKt.ad=function(t){Frt(this,t)},AKt.Nc=function(){return new d1(this,16)},AKt.Oc=function(){return new OH(null,new d1(this,16))},AKt.bd=function(t,e){return AX(),new s1(cne,t,e)},AKt.Pc=function(){return iU((AX(),cne))},AKt.Qc=function(t){return AX(),_kt(cne,t)},AKt.sj=function(){return AX(),AX(),lne},mW($6t,"ECollections/EmptyUnmodifiableEMap",1311);var mBe,bBe=hH($6t,"Enumerator");fBt(281,1,{281:1},iRt),AKt.Fb=function(t){var e;return this===t||!!iP(t,281)&&(e=jz(t,281),this.f==e.f&&mq(this.i,e.i)&&pq(this.a,256&this.f?256&e.f?e.a:null:256&e.f?null:e.a)&&pq(this.d,e.d)&&pq(this.g,e.g)&&pq(this.e,e.e)&&xbt(this,e))},AKt.Hb=function(){return this.f},AKt.Ib=function(){return Ajt(this)},AKt.f=0;var wBe,kBe,vBe,yBe=0,_Be=0,CBe=0,ABe=0,xBe=0,EBe=0,TBe=0,SBe=0,DBe=0,IBe=0,BBe=0,MBe=0,PBe=0;mW($6t,"URI",281),fBt(1091,43,tZt,Ak),AKt.zc=function(t,e){return jz(bJ(this,AN(t),jz(e,281)),281)},mW($6t,"URI/URICache",1091),fBt(497,63,l7t,dc,nq),AKt.hi=function(){return!0},mW($6t,"UniqueEList",497),fBt(581,60,$Yt,B9),mW($6t,"WrappedException",581);var LBe,OBe=hH(V4t,c8t),NBe=hH(V4t,l8t),RBe=hH(V4t,u8t),FBe=hH(V4t,h8t),jBe=hH(V4t,d8t),$Be=hH(V4t,"EClass"),zBe=hH(V4t,"EDataType");fBt(1183,43,tZt,xk),AKt.xc=function(t){return UD(t)?AQ(this,t):zD(DZ(this.f,t))},mW(V4t,"EDataType/Internal/ConversionDelegate/Factory/Registry/Impl",1183);var VBe,HBe,qBe=hH(V4t,"EEnum"),UBe=hH(V4t,f8t),GBe=hH(V4t,g8t),WBe=hH(V4t,p8t),KBe=hH(V4t,m8t),YBe=hH(V4t,b8t);fBt(1029,1,{},hc),AKt.Ib=function(){return"NIL"},mW(V4t,"EStructuralFeature/Internal/DynamicValueHolder/1",1029),fBt(1028,43,tZt,Ek),AKt.xc=function(t){return UD(t)?AQ(this,t):zD(DZ(this.f,t))},mW(V4t,"EStructuralFeature/Internal/SettingDelegate/Factory/Registry/Impl",1028);var XBe,ZBe,QBe,JBe,tMe,eMe,nMe,iMe,rMe,oMe,aMe,sMe,cMe,lMe,uMe,hMe,dMe,fMe,gMe,pMe,mMe,bMe,wMe,kMe,vMe,yMe,_Me,CMe,AMe,xMe,EMe,TMe=hH(V4t,w8t),SMe=hH(V4t,"EValidator/PatternMatcher"),DMe=hH(k8t,"FeatureMap/Entry");fBt(535,1,{72:1},ED),AKt.ak=function(){return this.a},AKt.dd=function(){return this.b},mW(h6t,"BasicEObjectImpl/1",535),fBt(1027,1,v8t,TD),AKt.Wj=function(t){return W4(this.a,this.b,t)},AKt.fj=function(){return ZQ(this.a,this.b)},AKt.Wb=function(t){MQ(this.a,this.b,t)},AKt.Xj=function(){xK(this.a,this.b)},mW(h6t,"BasicEObjectImpl/4",1027),fBt(1983,1,{108:1}),AKt.bk=function(t){this.e=0==t?_Me:P7(Ite,zKt,1,t,5,1)},AKt.Ch=function(t){return this.e[t]},AKt.Dh=function(t,e){this.e[t]=e},AKt.Eh=function(t){this.e[t]=null},AKt.ck=function(){return this.c},AKt.dk=function(){throw $b(new pw)},AKt.ek=function(){throw $b(new pw)},AKt.fk=function(){return this.d},AKt.gk=function(){return null!=this.e},AKt.hk=function(t){this.c=t},AKt.ik=function(t){throw $b(new pw)},AKt.jk=function(t){throw $b(new pw)},AKt.kk=function(t){this.d=t},mW(h6t,"BasicEObjectImpl/EPropertiesHolderBaseImpl",1983),fBt(185,1983,{108:1},Oh),AKt.dk=function(){return this.a},AKt.ek=function(){return this.b},AKt.ik=function(t){this.a=t},AKt.jk=function(t){this.b=t},mW(h6t,"BasicEObjectImpl/EPropertiesHolderImpl",185),fBt(506,97,u6t,vc),AKt.Kg=function(){return this.f},AKt.Pg=function(){return this.k},AKt.Rg=function(t,e){this.g=t,this.i=e},AKt.Tg=function(){return 2&this.j?this.ph().ck():this.zh()},AKt.Vg=function(){return this.i},AKt.Mg=function(){return!!(1&this.j)},AKt.eh=function(){return this.g},AKt.kh=function(){return!!(4&this.j)},AKt.ph=function(){return!this.k&&(this.k=new Oh),this.k},AKt.th=function(t){this.ph().hk(t),t?this.j|=2:this.j&=-3},AKt.vh=function(t){this.ph().jk(t),t?this.j|=4:this.j&=-5},AKt.zh=function(){return(KW(),QBe).S},AKt.i=0,AKt.j=1,mW(h6t,"EObjectImpl",506),fBt(780,506,{105:1,92:1,90:1,56:1,108:1,49:1,97:1},vV),AKt.Ch=function(t){return this.e[t]},AKt.Dh=function(t,e){this.e[t]=e},AKt.Eh=function(t){this.e[t]=null},AKt.Tg=function(){return this.d},AKt.Yg=function(t){return Igt(this.d,t)},AKt.$g=function(){return this.d},AKt.dh=function(){return null!=this.e},AKt.ph=function(){return!this.k&&(this.k=new yc),this.k},AKt.th=function(t){this.d=t},AKt.yh=function(){var t;return null==this.e&&(t=hW(this.d),this.e=0==t?CMe:P7(Ite,zKt,1,t,5,1)),this},AKt.Ah=function(){return 0},mW(h6t,"DynamicEObjectImpl",780),fBt(1376,780,{105:1,42:1,92:1,90:1,133:1,56:1,108:1,49:1,97:1},lH),AKt.Fb=function(t){return this===t},AKt.Hb=function(){return xL(this)},AKt.th=function(t){this.d=t,this.b=PLt(t,"key"),this.c=PLt(t,_6t)},AKt.Sh=function(){var t;return-1==this.a&&(t=X9(this,this.b),this.a=null==t?0:Jct(t)),this.a},AKt.cd=function(){return X9(this,this.b)},AKt.dd=function(){return X9(this,this.c)},AKt.Th=function(t){this.a=t},AKt.Uh=function(t){MQ(this,this.b,t)},AKt.ed=function(t){var e;return e=X9(this,this.c),MQ(this,this.c,t),e},AKt.a=0,mW(h6t,"DynamicEObjectImpl/BasicEMapEntry",1376),fBt(1377,1,{108:1},yc),AKt.bk=function(t){throw $b(new pw)},AKt.Ch=function(t){throw $b(new pw)},AKt.Dh=function(t,e){throw $b(new pw)},AKt.Eh=function(t){throw $b(new pw)},AKt.ck=function(){throw $b(new pw)},AKt.dk=function(){return this.a},AKt.ek=function(){return this.b},AKt.fk=function(){return this.c},AKt.gk=function(){throw $b(new pw)},AKt.hk=function(t){throw $b(new pw)},AKt.ik=function(t){this.a=t},AKt.jk=function(t){this.b=t},AKt.kk=function(t){this.c=t},mW(h6t,"DynamicEObjectImpl/DynamicEPropertiesHolderImpl",1377),fBt(510,150,{105:1,92:1,90:1,590:1,147:1,56:1,108:1,49:1,97:1,510:1,150:1,114:1,115:1},_c),AKt.Qg=function(t){return dyt(this,t)},AKt._g=function(t,e,n){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),this.Ab;case 1:return this.d;case 2:return n?(!this.b&&(this.b=new XO((pKt(),wMe),qMe,this)),this.b):(!this.b&&(this.b=new XO((pKt(),wMe),qMe,this)),D7(this.b));case 3:return hJ(this);case 4:return!this.a&&(this.a=new IP(IIe,this,4)),this.a;case 5:return!this.c&&(this.c=new OP(IIe,this,5)),this.c}return q8(this,t-hW((pKt(),JBe)),eet(jz(kat(this,16),26)||JBe,t),e,n)},AKt.hh=function(t,e,n){var i;switch(e){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Xgt(this.Ab,t,n);case 3:return this.Cb&&(n=(i=this.Db>>16)>=0?dyt(this,n):this.Cb.ih(this,-1-i,null,n)),Kq(this,jz(t,147),n)}return jz(eet(jz(kat(this,16),26)||(pKt(),JBe),e),66).Nj().Qj(this,umt(this),e-hW((pKt(),JBe)),t,n)},AKt.jh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Fbt(this.Ab,t,n);case 2:return!this.b&&(this.b=new XO((pKt(),wMe),qMe,this)),jF(this.b,t,n);case 3:return Kq(this,null,n);case 4:return!this.a&&(this.a=new IP(IIe,this,4)),Fbt(this.a,t,n)}return jz(eet(jz(kat(this,16),26)||(pKt(),JBe),e),66).Nj().Rj(this,umt(this),e-hW((pKt(),JBe)),t,n)},AKt.lh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.d;case 2:return!!this.b&&0!=this.b.f;case 3:return!!hJ(this);case 4:return!!this.a&&0!=this.a.i;case 5:return!!this.c&&0!=this.c.i}return S3(this,t-hW((pKt(),JBe)),eet(jz(kat(this,16),26)||JBe,t))},AKt.sh=function(t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),cHt(this.Ab),!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void pW(this.Ab,jz(e,14));case 1:return void pH(this,AN(e));case 2:return!this.b&&(this.b=new XO((pKt(),wMe),qMe,this)),void tat(this.b,e);case 3:return void DLt(this,jz(e,147));case 4:return!this.a&&(this.a=new IP(IIe,this,4)),cHt(this.a),!this.a&&(this.a=new IP(IIe,this,4)),void pW(this.a,jz(e,14));case 5:return!this.c&&(this.c=new OP(IIe,this,5)),cHt(this.c),!this.c&&(this.c=new OP(IIe,this,5)),void pW(this.c,jz(e,14))}Mft(this,t-hW((pKt(),JBe)),eet(jz(kat(this,16),26)||JBe,t),e)},AKt.zh=function(){return pKt(),JBe},AKt.Bh=function(t){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void cHt(this.Ab);case 1:return void $it(this,null);case 2:return!this.b&&(this.b=new XO((pKt(),wMe),qMe,this)),void this.b.c.$b();case 3:return void DLt(this,null);case 4:return!this.a&&(this.a=new IP(IIe,this,4)),void cHt(this.a);case 5:return!this.c&&(this.c=new OP(IIe,this,5)),void cHt(this.c)}Vht(this,t-hW((pKt(),JBe)),eet(jz(kat(this,16),26)||JBe,t))},AKt.Ib=function(){return Kht(this)},AKt.d=null,mW(h6t,"EAnnotationImpl",510),fBt(151,705,y8t,w8),AKt.Xh=function(t,e){QB(this,t,jz(e,42))},AKt.lk=function(t,e){return FF(this,jz(t,42),e)},AKt.pi=function(t){return jz(jz(this.c,69).pi(t),133)},AKt.Zh=function(){return jz(this.c,69).Zh()},AKt.$h=function(){return jz(this.c,69).$h()},AKt._h=function(t){return jz(this.c,69)._h(t)},AKt.mk=function(t,e){return jF(this,t,e)},AKt.Wj=function(t){return jz(this.c,76).Wj(t)},AKt.rj=function(){},AKt.fj=function(){return jz(this.c,76).fj()},AKt.tj=function(t,e,n){var i;return(i=jz(Uet(this.b).Nh().Jh(this.b),133)).Th(t),i.Uh(e),i.ed(n),i},AKt.uj=function(){return new Tb(this)},AKt.Wb=function(t){tat(this,t)},AKt.Xj=function(){jz(this.c,76).Xj()},mW(k8t,"EcoreEMap",151),fBt(158,151,y8t,XO),AKt.qj=function(){var t,e,n,i,r;if(null==this.d){for(r=P7(sBe,r8t,63,2*this.f+1,0,1),n=this.c.Kc();n.e!=n.i.gc();)!(t=r[i=((e=jz(n.nj(),133)).Sh()&OKt)%r.length])&&(t=r[i]=new Tb(this)),t.Fc(e);this.d=r}},mW(h6t,"EAnnotationImpl/1",158),fBt(284,438,{105:1,92:1,90:1,147:1,191:1,56:1,108:1,472:1,49:1,97:1,150:1,284:1,114:1,115:1}),AKt._g=function(t,e,n){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),this.Ab;case 1:return this.zb;case 2:return cL(),!!(256&this.Bb);case 3:return cL(),!!(512&this.Bb);case 4:return ndt(this.s);case 5:return ndt(this.t);case 6:return cL(),!!this.$j();case 7:return cL(),this.s>=1;case 8:return e?Syt(this):this.r;case 9:return this.q}return q8(this,t-hW(this.zh()),eet(jz(kat(this,16),26)||this.zh(),t),e,n)},AKt.jh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Fbt(this.Ab,t,n);case 9:return gW(this,n)}return jz(eet(jz(kat(this,16),26)||this.zh(),e),66).Nj().Rj(this,umt(this),e-hW(this.zh()),t,n)},AKt.lh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return!(256&this.Bb);case 3:return!(512&this.Bb);case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return this.$j();case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==wK(this.q).i;case 9:return!(!this.q||this.r&&!this.q.e&&0==wK(this.q).i)}return S3(this,t-hW(this.zh()),eet(jz(kat(this,16),26)||this.zh(),t))},AKt.sh=function(t,e){var n;switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),cHt(this.Ab),!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void pW(this.Ab,jz(e,14));case 1:return void this.Lh(AN(e));case 2:return void Xht(this,zv(_N(e)));case 3:return void Jht(this,zv(_N(e)));case 4:return void Mnt(this,jz(e,19).a);case 5:return void this.ok(jz(e,19).a);case 8:return void Sut(this,jz(e,138));case 9:return void((n=zAt(this,jz(e,87),null))&&n.Fi())}Mft(this,t-hW(this.zh()),eet(jz(kat(this,16),26)||this.zh(),t),e)},AKt.zh=function(){return pKt(),vMe},AKt.Bh=function(t){var e;switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void cHt(this.Ab);case 1:return void this.Lh(null);case 2:return void Xht(this,!0);case 3:return void Jht(this,!0);case 4:return void Mnt(this,0);case 5:return void this.ok(1);case 8:return void Sut(this,null);case 9:return void((e=zAt(this,null,null))&&e.Fi())}Vht(this,t-hW(this.zh()),eet(jz(kat(this,16),26)||this.zh(),t))},AKt.Gh=function(){Syt(this),this.Bb|=1},AKt.Yj=function(){return Syt(this)},AKt.Zj=function(){return this.t},AKt.$j=function(){var t;return(t=this.t)>1||-1==t},AKt.hi=function(){return!!(512&this.Bb)},AKt.nk=function(t,e){return Eht(this,t,e)},AKt.ok=function(t){Pnt(this,t)},AKt.Ib=function(){return RIt(this)},AKt.s=0,AKt.t=1,mW(h6t,"ETypedElementImpl",284),fBt(449,284,{105:1,92:1,90:1,147:1,191:1,56:1,170:1,66:1,108:1,472:1,49:1,97:1,150:1,449:1,284:1,114:1,115:1,677:1}),AKt.Qg=function(t){return Pvt(this,t)},AKt._g=function(t,e,n){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),this.Ab;case 1:return this.zb;case 2:return cL(),!!(256&this.Bb);case 3:return cL(),!!(512&this.Bb);case 4:return ndt(this.s);case 5:return ndt(this.t);case 6:return cL(),!!this.$j();case 7:return cL(),this.s>=1;case 8:return e?Syt(this):this.r;case 9:return this.q;case 10:return cL(),!!(this.Bb&v6t);case 11:return cL(),!!(this.Bb&A8t);case 12:return cL(),!!(this.Bb&FXt);case 13:return this.j;case 14:return VPt(this);case 15:return cL(),!!(this.Bb&C8t);case 16:return cL(),!!(this.Bb&lYt);case 17:return fJ(this)}return q8(this,t-hW(this.zh()),eet(jz(kat(this,16),26)||this.zh(),t),e,n)},AKt.hh=function(t,e,n){var i;switch(e){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Xgt(this.Ab,t,n);case 17:return this.Cb&&(n=(i=this.Db>>16)>=0?Pvt(this,n):this.Cb.ih(this,-1-i,null,n)),Cjt(this,t,17,n)}return jz(eet(jz(kat(this,16),26)||this.zh(),e),66).Nj().Qj(this,umt(this),e-hW(this.zh()),t,n)},AKt.jh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Fbt(this.Ab,t,n);case 9:return gW(this,n);case 17:return Cjt(this,null,17,n)}return jz(eet(jz(kat(this,16),26)||this.zh(),e),66).Nj().Rj(this,umt(this),e-hW(this.zh()),t,n)},AKt.lh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return!(256&this.Bb);case 3:return!(512&this.Bb);case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return this.$j();case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==wK(this.q).i;case 9:return!(!this.q||this.r&&!this.q.e&&0==wK(this.q).i);case 10:return!(this.Bb&v6t);case 11:return!!(this.Bb&A8t);case 12:return!!(this.Bb&FXt);case 13:return null!=this.j;case 14:return null!=VPt(this);case 15:return!!(this.Bb&C8t);case 16:return!!(this.Bb&lYt);case 17:return!!fJ(this)}return S3(this,t-hW(this.zh()),eet(jz(kat(this,16),26)||this.zh(),t))},AKt.sh=function(t,e){var n;switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),cHt(this.Ab),!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void pW(this.Ab,jz(e,14));case 1:return void XJ(this,AN(e));case 2:return void Xht(this,zv(_N(e)));case 3:return void Jht(this,zv(_N(e)));case 4:return void Mnt(this,jz(e,19).a);case 5:return void this.ok(jz(e,19).a);case 8:return void Sut(this,jz(e,138));case 9:return void((n=zAt(this,jz(e,87),null))&&n.Fi());case 10:return void Idt(this,zv(_N(e)));case 11:return void Pdt(this,zv(_N(e)));case 12:return void Bdt(this,zv(_N(e)));case 13:return void RD(this,AN(e));case 15:return void Mdt(this,zv(_N(e)));case 16:return void Vdt(this,zv(_N(e)))}Mft(this,t-hW(this.zh()),eet(jz(kat(this,16),26)||this.zh(),t),e)},AKt.zh=function(){return pKt(),kMe},AKt.Bh=function(t){var e;switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void cHt(this.Ab);case 1:return iP(this.Cb,88)&&ISt(x4(jz(this.Cb,88)),4),void Prt(this,null);case 2:return void Xht(this,!0);case 3:return void Jht(this,!0);case 4:return void Mnt(this,0);case 5:return void this.ok(1);case 8:return void Sut(this,null);case 9:return void((e=zAt(this,null,null))&&e.Fi());case 10:return void Idt(this,!0);case 11:return void Pdt(this,!1);case 12:return void Bdt(this,!1);case 13:return this.i=null,void ort(this,null);case 15:return void Mdt(this,!1);case 16:return void Vdt(this,!1)}Vht(this,t-hW(this.zh()),eet(jz(kat(this,16),26)||this.zh(),t))},AKt.Gh=function(){kY(j9((STt(),XMe),this)),Syt(this),this.Bb|=1},AKt.Gj=function(){return this.f},AKt.zj=function(){return VPt(this)},AKt.Hj=function(){return fJ(this)},AKt.Lj=function(){return null},AKt.pk=function(){return this.k},AKt.aj=function(){return this.n},AKt.Mj=function(){return sCt(this)},AKt.Nj=function(){var t,e,n,i,r,o,a,s,c;return this.p||((null==(n=fJ(this)).i&&V$t(n),n.i).length,(i=this.Lj())&&hW(fJ(i)),t=(a=(r=Syt(this)).Bj())?1&a.i?a==DLe?vee:a==SLe?Iee:a==PLe?Tee:a==MLe?Eee:a==ILe?Nee:a==LLe?Fee:a==BLe?Cee:xee:a:null,e=VPt(this),s=r.zj(),dft(this),this.Bb&lYt&&((o=w_t((STt(),XMe),n))&&o!=this||(o=Z1(j9(XMe,this))))?this.p=new DD(this,o):this.$j()?this.rk()?i?this.Bb&C8t?t?this.sk()?this.p=new uX(47,t,this,i):this.p=new uX(5,t,this,i):this.sk()?this.p=new d5(46,this,i):this.p=new d5(4,this,i):t?this.sk()?this.p=new uX(49,t,this,i):this.p=new uX(7,t,this,i):this.sk()?this.p=new d5(48,this,i):this.p=new d5(6,this,i):this.Bb&C8t?t?t==zte?this.p=new xz(50,GIe,this):this.sk()?this.p=new xz(43,t,this):this.p=new xz(1,t,this):this.sk()?this.p=new OZ(42,this):this.p=new OZ(0,this):t?t==zte?this.p=new xz(41,GIe,this):this.sk()?this.p=new xz(45,t,this):this.p=new xz(3,t,this):this.sk()?this.p=new OZ(44,this):this.p=new OZ(2,this):iP(r,148)?t==DMe?this.p=new OZ(40,this):512&this.Bb?this.Bb&C8t?this.p=t?new xz(9,t,this):new OZ(8,this):this.p=t?new xz(11,t,this):new OZ(10,this):this.Bb&C8t?this.p=t?new xz(13,t,this):new OZ(12,this):this.p=t?new xz(15,t,this):new OZ(14,this):i?(c=i.t)>1||-1==c?this.sk()?this.Bb&C8t?this.p=t?new uX(25,t,this,i):new d5(24,this,i):this.p=t?new uX(27,t,this,i):new d5(26,this,i):this.Bb&C8t?this.p=t?new uX(29,t,this,i):new d5(28,this,i):this.p=t?new uX(31,t,this,i):new d5(30,this,i):this.sk()?this.Bb&C8t?this.p=t?new uX(33,t,this,i):new d5(32,this,i):this.p=t?new uX(35,t,this,i):new d5(34,this,i):this.Bb&C8t?this.p=t?new uX(37,t,this,i):new d5(36,this,i):this.p=t?new uX(39,t,this,i):new d5(38,this,i):this.sk()?this.Bb&C8t?this.p=t?new xz(17,t,this):new OZ(16,this):this.p=t?new xz(19,t,this):new OZ(18,this):this.Bb&C8t?this.p=t?new xz(21,t,this):new OZ(20,this):this.p=t?new xz(23,t,this):new OZ(22,this):this.qk()?this.sk()?this.p=new Ez(jz(r,26),this,i):this.p=new bQ(jz(r,26),this,i):iP(r,148)?t==DMe?this.p=new OZ(40,this):this.Bb&C8t?this.p=t?new Qq(e,s,this,($gt(),a==SLe?$Me:a==DLe?OMe:a==ILe?zMe:a==PLe?jMe:a==MLe?FMe:a==LLe?HMe:a==BLe?NMe:a==TLe?RMe:VMe)):new fX(jz(r,148),e,s,this):this.p=t?new Zq(e,s,this,($gt(),a==SLe?$Me:a==DLe?OMe:a==ILe?zMe:a==PLe?jMe:a==MLe?FMe:a==LLe?HMe:a==BLe?NMe:a==TLe?RMe:VMe)):new dX(jz(r,148),e,s,this):this.rk()?i?this.Bb&C8t?this.sk()?this.p=new Mz(jz(r,26),this,i):this.p=new Bz(jz(r,26),this,i):this.sk()?this.p=new Iz(jz(r,26),this,i):this.p=new Tz(jz(r,26),this,i):this.Bb&C8t?this.sk()?this.p=new tN(jz(r,26),this):this.p=new JO(jz(r,26),this):this.sk()?this.p=new QO(jz(r,26),this):this.p=new ZO(jz(r,26),this):this.sk()?i?this.Bb&C8t?this.p=new Pz(jz(r,26),this,i):this.p=new Sz(jz(r,26),this,i):this.Bb&C8t?this.p=new nN(jz(r,26),this):this.p=new eN(jz(r,26),this):i?this.Bb&C8t?this.p=new Lz(jz(r,26),this,i):this.p=new Dz(jz(r,26),this,i):this.Bb&C8t?this.p=new iN(jz(r,26),this):this.p=new iq(jz(r,26),this)),this.p},AKt.Ij=function(){return!!(this.Bb&v6t)},AKt.qk=function(){return!1},AKt.rk=function(){return!1},AKt.Jj=function(){return!!(this.Bb&lYt)},AKt.Oj=function(){return ctt(this)},AKt.sk=function(){return!1},AKt.Kj=function(){return!!(this.Bb&C8t)},AKt.tk=function(t){this.k=t},AKt.Lh=function(t){XJ(this,t)},AKt.Ib=function(){return _Rt(this)},AKt.e=!1,AKt.n=0,mW(h6t,"EStructuralFeatureImpl",449),fBt(322,449,{105:1,92:1,90:1,34:1,147:1,191:1,56:1,170:1,66:1,108:1,472:1,49:1,97:1,322:1,150:1,449:1,284:1,114:1,115:1,677:1},Sk),AKt._g=function(t,e,n){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),this.Ab;case 1:return this.zb;case 2:return cL(),!!(256&this.Bb);case 3:return cL(),!!(512&this.Bb);case 4:return ndt(this.s);case 5:return ndt(this.t);case 6:return cL(),!!PDt(this);case 7:return cL(),this.s>=1;case 8:return e?Syt(this):this.r;case 9:return this.q;case 10:return cL(),!!(this.Bb&v6t);case 11:return cL(),!!(this.Bb&A8t);case 12:return cL(),!!(this.Bb&FXt);case 13:return this.j;case 14:return VPt(this);case 15:return cL(),!!(this.Bb&C8t);case 16:return cL(),!!(this.Bb&lYt);case 17:return fJ(this);case 18:return cL(),!!(this.Bb&l6t);case 19:return e?ast(this):P6(this)}return q8(this,t-hW((pKt(),tMe)),eet(jz(kat(this,16),26)||tMe,t),e,n)},AKt.lh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return!(256&this.Bb);case 3:return!(512&this.Bb);case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return PDt(this);case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==wK(this.q).i;case 9:return!(!this.q||this.r&&!this.q.e&&0==wK(this.q).i);case 10:return!(this.Bb&v6t);case 11:return!!(this.Bb&A8t);case 12:return!!(this.Bb&FXt);case 13:return null!=this.j;case 14:return null!=VPt(this);case 15:return!!(this.Bb&C8t);case 16:return!!(this.Bb&lYt);case 17:return!!fJ(this);case 18:return!!(this.Bb&l6t);case 19:return!!P6(this)}return S3(this,t-hW((pKt(),tMe)),eet(jz(kat(this,16),26)||tMe,t))},AKt.sh=function(t,e){var n;switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),cHt(this.Ab),!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void pW(this.Ab,jz(e,14));case 1:return void XJ(this,AN(e));case 2:return void Xht(this,zv(_N(e)));case 3:return void Jht(this,zv(_N(e)));case 4:return void Mnt(this,jz(e,19).a);case 5:return void q_(this,jz(e,19).a);case 8:return void Sut(this,jz(e,138));case 9:return void((n=zAt(this,jz(e,87),null))&&n.Fi());case 10:return void Idt(this,zv(_N(e)));case 11:return void Pdt(this,zv(_N(e)));case 12:return void Bdt(this,zv(_N(e)));case 13:return void RD(this,AN(e));case 15:return void Mdt(this,zv(_N(e)));case 16:return void Vdt(this,zv(_N(e)));case 18:return void Hdt(this,zv(_N(e)))}Mft(this,t-hW((pKt(),tMe)),eet(jz(kat(this,16),26)||tMe,t),e)},AKt.zh=function(){return pKt(),tMe},AKt.Bh=function(t){var e;switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void cHt(this.Ab);case 1:return iP(this.Cb,88)&&ISt(x4(jz(this.Cb,88)),4),void Prt(this,null);case 2:return void Xht(this,!0);case 3:return void Jht(this,!0);case 4:return void Mnt(this,0);case 5:return this.b=0,void Pnt(this,1);case 8:return void Sut(this,null);case 9:return void((e=zAt(this,null,null))&&e.Fi());case 10:return void Idt(this,!0);case 11:return void Pdt(this,!1);case 12:return void Bdt(this,!1);case 13:return this.i=null,void ort(this,null);case 15:return void Mdt(this,!1);case 16:return void Vdt(this,!1);case 18:return void Hdt(this,!1)}Vht(this,t-hW((pKt(),tMe)),eet(jz(kat(this,16),26)||tMe,t))},AKt.Gh=function(){ast(this),kY(j9((STt(),XMe),this)),Syt(this),this.Bb|=1},AKt.$j=function(){return PDt(this)},AKt.nk=function(t,e){return this.b=0,this.a=null,Eht(this,t,e)},AKt.ok=function(t){q_(this,t)},AKt.Ib=function(){var t;return 64&this.Db?_Rt(this):((t=new lL(_Rt(this))).a+=" (iD: ",wC(t,!!(this.Bb&l6t)),t.a+=")",t.a)},AKt.b=0,mW(h6t,"EAttributeImpl",322),fBt(351,438,{105:1,92:1,90:1,138:1,147:1,191:1,56:1,108:1,49:1,97:1,351:1,150:1,114:1,115:1,676:1}),AKt.uk=function(t){return t.Tg()==this},AKt.Qg=function(t){return uvt(this,t)},AKt.Rg=function(t,e){this.w=null,this.Db=e<<16|255&this.Db,this.Cb=t},AKt._g=function(t,e,n){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),this.Ab;case 1:return this.zb;case 2:return null!=this.D?this.D:this.B;case 3:return nvt(this);case 4:return this.zj();case 5:return this.F;case 6:return e?Uet(this):dJ(this);case 7:return!this.A&&(this.A=new MP(TMe,this,7)),this.A}return q8(this,t-hW(this.zh()),eet(jz(kat(this,16),26)||this.zh(),t),e,n)},AKt.hh=function(t,e,n){var i;switch(e){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Xgt(this.Ab,t,n);case 6:return this.Cb&&(n=(i=this.Db>>16)>=0?uvt(this,n):this.Cb.ih(this,-1-i,null,n)),Cjt(this,t,6,n)}return jz(eet(jz(kat(this,16),26)||this.zh(),e),66).Nj().Qj(this,umt(this),e-hW(this.zh()),t,n)},AKt.jh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Fbt(this.Ab,t,n);case 6:return Cjt(this,null,6,n);case 7:return!this.A&&(this.A=new MP(TMe,this,7)),Fbt(this.A,t,n)}return jz(eet(jz(kat(this,16),26)||this.zh(),e),66).Nj().Rj(this,umt(this),e-hW(this.zh()),t,n)},AKt.lh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.D&&this.D==this.F;case 3:return!!nvt(this);case 4:return null!=this.zj();case 5:return null!=this.F&&this.F!=this.D&&this.F!=this.B;case 6:return!!dJ(this);case 7:return!!this.A&&0!=this.A.i}return S3(this,t-hW(this.zh()),eet(jz(kat(this,16),26)||this.zh(),t))},AKt.sh=function(t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),cHt(this.Ab),!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void pW(this.Ab,jz(e,14));case 1:return void ZJ(this,AN(e));case 2:return void TB(this,AN(e));case 5:return void XHt(this,AN(e));case 7:return!this.A&&(this.A=new MP(TMe,this,7)),cHt(this.A),!this.A&&(this.A=new MP(TMe,this,7)),void pW(this.A,jz(e,14))}Mft(this,t-hW(this.zh()),eet(jz(kat(this,16),26)||this.zh(),t),e)},AKt.zh=function(){return pKt(),nMe},AKt.Bh=function(t){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void cHt(this.Ab);case 1:return iP(this.Cb,179)&&(jz(this.Cb,179).tb=null),void Prt(this,null);case 2:return Olt(this,null),void Lnt(this,this.D);case 5:return void XHt(this,null);case 7:return!this.A&&(this.A=new MP(TMe,this,7)),void cHt(this.A)}Vht(this,t-hW(this.zh()),eet(jz(kat(this,16),26)||this.zh(),t))},AKt.yj=function(){var t;return-1==this.G&&(this.G=(t=Uet(this))?awt(t.Mh(),this):-1),this.G},AKt.zj=function(){return null},AKt.Aj=function(){return Uet(this)},AKt.vk=function(){return this.v},AKt.Bj=function(){return nvt(this)},AKt.Cj=function(){return null!=this.D?this.D:this.B},AKt.Dj=function(){return this.F},AKt.wj=function(t){return x$t(this,t)},AKt.wk=function(t){this.v=t},AKt.xk=function(t){Urt(this,t)},AKt.yk=function(t){this.C=t},AKt.Lh=function(t){ZJ(this,t)},AKt.Ib=function(){return Tgt(this)},AKt.C=null,AKt.D=null,AKt.G=-1,mW(h6t,"EClassifierImpl",351),fBt(88,351,{105:1,92:1,90:1,26:1,138:1,147:1,191:1,56:1,108:1,49:1,97:1,88:1,351:1,150:1,473:1,114:1,115:1,676:1},Nh),AKt.uk=function(t){return KR(this,t.Tg())},AKt._g=function(t,e,n){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),this.Ab;case 1:return this.zb;case 2:return null!=this.D?this.D:this.B;case 3:return nvt(this);case 4:return null;case 5:return this.F;case 6:return e?Uet(this):dJ(this);case 7:return!this.A&&(this.A=new MP(TMe,this,7)),this.A;case 8:return cL(),!!(256&this.Bb);case 9:return cL(),!!(512&this.Bb);case 10:return kZ(this);case 11:return!this.q&&(this.q=new tG(WBe,this,11,10)),this.q;case 12:return Xzt(this);case 13:return Nzt(this);case 14:return Nzt(this),this.r;case 15:return Xzt(this),this.k;case 16:return WTt(this);case 17:return pzt(this);case 18:return V$t(this);case 19:return TPt(this);case 20:return Xzt(this),this.o;case 21:return!this.s&&(this.s=new tG(RBe,this,21,17)),this.s;case 22:return r5(this);case 23:return zNt(this)}return q8(this,t-hW((pKt(),eMe)),eet(jz(kat(this,16),26)||eMe,t),e,n)},AKt.hh=function(t,e,n){var i;switch(e){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Xgt(this.Ab,t,n);case 6:return this.Cb&&(n=(i=this.Db>>16)>=0?uvt(this,n):this.Cb.ih(this,-1-i,null,n)),Cjt(this,t,6,n);case 11:return!this.q&&(this.q=new tG(WBe,this,11,10)),Xgt(this.q,t,n);case 21:return!this.s&&(this.s=new tG(RBe,this,21,17)),Xgt(this.s,t,n)}return jz(eet(jz(kat(this,16),26)||(pKt(),eMe),e),66).Nj().Qj(this,umt(this),e-hW((pKt(),eMe)),t,n)},AKt.jh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Fbt(this.Ab,t,n);case 6:return Cjt(this,null,6,n);case 7:return!this.A&&(this.A=new MP(TMe,this,7)),Fbt(this.A,t,n);case 11:return!this.q&&(this.q=new tG(WBe,this,11,10)),Fbt(this.q,t,n);case 21:return!this.s&&(this.s=new tG(RBe,this,21,17)),Fbt(this.s,t,n);case 22:return Fbt(r5(this),t,n)}return jz(eet(jz(kat(this,16),26)||(pKt(),eMe),e),66).Nj().Rj(this,umt(this),e-hW((pKt(),eMe)),t,n)},AKt.lh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.D&&this.D==this.F;case 3:return!!nvt(this);case 4:return!1;case 5:return null!=this.F&&this.F!=this.D&&this.F!=this.B;case 6:return!!dJ(this);case 7:return!!this.A&&0!=this.A.i;case 8:return!!(256&this.Bb);case 9:return!!(512&this.Bb);case 10:return!(!this.u||0==r5(this.u.a).i||this.n&&Nwt(this.n));case 11:return!!this.q&&0!=this.q.i;case 12:return 0!=Xzt(this).i;case 13:return 0!=Nzt(this).i;case 14:return Nzt(this),0!=this.r.i;case 15:return Xzt(this),0!=this.k.i;case 16:return 0!=WTt(this).i;case 17:return 0!=pzt(this).i;case 18:return 0!=V$t(this).i;case 19:return 0!=TPt(this).i;case 20:return Xzt(this),!!this.o;case 21:return!!this.s&&0!=this.s.i;case 22:return!!this.n&&Nwt(this.n);case 23:return 0!=zNt(this).i}return S3(this,t-hW((pKt(),eMe)),eet(jz(kat(this,16),26)||eMe,t))},AKt.oh=function(t){return(null==this.i||this.q&&0!=this.q.i?null:PLt(this,t))||lGt(this,t)},AKt.sh=function(t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),cHt(this.Ab),!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void pW(this.Ab,jz(e,14));case 1:return void ZJ(this,AN(e));case 2:return void TB(this,AN(e));case 5:return void XHt(this,AN(e));case 7:return!this.A&&(this.A=new MP(TMe,this,7)),cHt(this.A),!this.A&&(this.A=new MP(TMe,this,7)),void pW(this.A,jz(e,14));case 8:return void Zht(this,zv(_N(e)));case 9:return void tdt(this,zv(_N(e)));case 10:return bHt(kZ(this)),void pW(kZ(this),jz(e,14));case 11:return!this.q&&(this.q=new tG(WBe,this,11,10)),cHt(this.q),!this.q&&(this.q=new tG(WBe,this,11,10)),void pW(this.q,jz(e,14));case 21:return!this.s&&(this.s=new tG(RBe,this,21,17)),cHt(this.s),!this.s&&(this.s=new tG(RBe,this,21,17)),void pW(this.s,jz(e,14));case 22:return cHt(r5(this)),void pW(r5(this),jz(e,14))}Mft(this,t-hW((pKt(),eMe)),eet(jz(kat(this,16),26)||eMe,t),e)},AKt.zh=function(){return pKt(),eMe},AKt.Bh=function(t){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void cHt(this.Ab);case 1:return iP(this.Cb,179)&&(jz(this.Cb,179).tb=null),void Prt(this,null);case 2:return Olt(this,null),void Lnt(this,this.D);case 5:return void XHt(this,null);case 7:return!this.A&&(this.A=new MP(TMe,this,7)),void cHt(this.A);case 8:return void Zht(this,!1);case 9:return void tdt(this,!1);case 10:return void(this.u&&bHt(this.u));case 11:return!this.q&&(this.q=new tG(WBe,this,11,10)),void cHt(this.q);case 21:return!this.s&&(this.s=new tG(RBe,this,21,17)),void cHt(this.s);case 22:return void(this.n&&cHt(this.n))}Vht(this,t-hW((pKt(),eMe)),eet(jz(kat(this,16),26)||eMe,t))},AKt.Gh=function(){var t,e;if(Xzt(this),Nzt(this),WTt(this),pzt(this),V$t(this),TPt(this),zNt(this),r6(Uz(x4(this))),this.s)for(t=0,e=this.s.i;t=0;--e)Wet(this,e);return Ygt(this,t)},AKt.Xj=function(){cHt(this)},AKt.oi=function(t,e){return Fnt(this,t,e)},mW(k8t,"EcoreEList",622),fBt(496,622,N8t,wV),AKt.ai=function(){return!1},AKt.aj=function(){return this.c},AKt.bj=function(){return!1},AKt.Fk=function(){return!0},AKt.hi=function(){return!0},AKt.li=function(t,e){return e},AKt.ni=function(){return!1},AKt.c=0,mW(k8t,"EObjectEList",496),fBt(85,496,N8t,IP),AKt.bj=function(){return!0},AKt.Dk=function(){return!1},AKt.rk=function(){return!0},mW(k8t,"EObjectContainmentEList",85),fBt(545,85,N8t,BP),AKt.ci=function(){this.b=!0},AKt.fj=function(){return this.b},AKt.Xj=function(){var t;cHt(this),bB(this.e)?(t=this.b,this.b=!1,dat(this.e,new J4(this.e,2,this.c,t,!1))):this.b=!1},AKt.b=!1,mW(k8t,"EObjectContainmentEList/Unsettable",545),fBt(1140,545,N8t,Yq),AKt.ii=function(t,e){var n,i;return n=jz(Sdt(this,t,e),87),bB(this.e)&&Bw(this,new v8(this.a,7,(pKt(),iMe),ndt(e),iP(i=n.c,88)?jz(i,26):dMe,t)),n},AKt.jj=function(t,e){return Qgt(this,jz(t,87),e)},AKt.kj=function(t,e){return Zgt(this,jz(t,87),e)},AKt.lj=function(t,e,n){return F_t(this,jz(t,87),jz(e,87),n)},AKt.Zi=function(t,e,n,i,r){switch(t){case 3:return wJ(this,t,e,n,i,this.i>1);case 5:return wJ(this,t,e,n,i,this.i-jz(n,15).gc()>0);default:return new M9(this.e,t,this.c,e,n,i,!0)}},AKt.ij=function(){return!0},AKt.fj=function(){return Nwt(this)},AKt.Xj=function(){cHt(this)},mW(h6t,"EClassImpl/1",1140),fBt(1154,1153,Q7t),AKt.ui=function(t){var e,n,i,r,o,a,s;if(8!=(n=t.xi())){if(0==(i=obt(t)))switch(n){case 1:case 9:null!=(s=t.Bi())&&(!(e=x4(jz(s,473))).c&&(e.c=new zc),stt(e.c,t.Ai())),null!=(a=t.zi())&&(1&(r=jz(a,473)).Bb||(!(e=x4(r)).c&&(e.c=new zc),l8(e.c,jz(t.Ai(),26))));break;case 3:null!=(a=t.zi())&&(1&(r=jz(a,473)).Bb||(!(e=x4(r)).c&&(e.c=new zc),l8(e.c,jz(t.Ai(),26))));break;case 5:if(null!=(a=t.zi()))for(o=jz(a,14).Kc();o.Ob();)1&(r=jz(o.Pb(),473)).Bb||(!(e=x4(r)).c&&(e.c=new zc),l8(e.c,jz(t.Ai(),26)));break;case 4:null!=(s=t.Bi())&&(1&(r=jz(s,473)).Bb||(!(e=x4(r)).c&&(e.c=new zc),stt(e.c,t.Ai())));break;case 6:if(null!=(s=t.Bi()))for(o=jz(s,14).Kc();o.Ob();)1&(r=jz(o.Pb(),473)).Bb||(!(e=x4(r)).c&&(e.c=new zc),stt(e.c,t.Ai()))}this.Hk(i)}},AKt.Hk=function(t){gRt(this,t)},AKt.b=63,mW(h6t,"ESuperAdapter",1154),fBt(1155,1154,Q7t,fb),AKt.Hk=function(t){ISt(this,t)},mW(h6t,"EClassImpl/10",1155),fBt(1144,696,N8t),AKt.Vh=function(t,e){return $At(this,t,e)},AKt.Wh=function(t){return dkt(this,t)},AKt.Xh=function(t,e){Sht(this,t,e)},AKt.Yh=function(t){i6(this,t)},AKt.pi=function(t){return F8(this,t)},AKt.mi=function(t,e){return att(this,t,e)},AKt.lk=function(t,e){throw $b(new pw)},AKt.Zh=function(){return new rO(this)},AKt.$h=function(){return new oO(this)},AKt._h=function(t){return cit(this,t)},AKt.mk=function(t,e){throw $b(new pw)},AKt.Wj=function(t){return this},AKt.fj=function(){return 0!=this.i},AKt.Wb=function(t){throw $b(new pw)},AKt.Xj=function(){throw $b(new pw)},mW(k8t,"EcoreEList/UnmodifiableEList",1144),fBt(319,1144,N8t,MI),AKt.ni=function(){return!1},mW(k8t,"EcoreEList/UnmodifiableEList/FastCompare",319),fBt(1147,319,N8t,gct),AKt.Xc=function(t){var e,n;if(iP(t,170)&&-1!=(e=jz(t,170).aj()))for(n=this.i;e4){if(!this.wj(t))return!1;if(this.rk()){if(a=(e=(n=jz(t,49)).Ug())==this.b&&(this.Dk()?n.Og(n.Vg(),jz(eet(vZ(this.b),this.aj()).Yj(),26).Bj())==Twt(jz(eet(vZ(this.b),this.aj()),18)).n:-1-n.Vg()==this.aj()),this.Ek()&&!a&&!e&&n.Zg())for(i=0;i1||-1==n)},AKt.Dk=function(){var t;return!!iP(t=eet(vZ(this.b),this.aj()),99)&&!!Twt(jz(t,18))},AKt.Ek=function(){var t;return!!iP(t=eet(vZ(this.b),this.aj()),99)&&!!(jz(t,18).Bb&$Xt)},AKt.Xc=function(t){var e,n,i;if((n=this.Qi(t))>=0)return n;if(this.Fk())for(e=0,i=this.Vi();e=0;--t)eqt(this,t,this.Oi(t));return this.Wi()},AKt.Qc=function(t){var e;if(this.Ek())for(e=this.Vi()-1;e>=0;--e)eqt(this,e,this.Oi(e));return this.Xi(t)},AKt.Xj=function(){bHt(this)},AKt.oi=function(t,e){return j8(this,t,e)},mW(k8t,"DelegatingEcoreEList",742),fBt(1150,742,z8t,oR),AKt.Hi=function(t,e){uN(this,t,jz(e,26))},AKt.Ii=function(t){tM(this,jz(t,26))},AKt.Oi=function(t){var e;return iP(e=jz(Wet(r5(this.a),t),87).c,88)?jz(e,26):(pKt(),dMe)},AKt.Ti=function(t){var e;return iP(e=jz(uNt(r5(this.a),t),87).c,88)?jz(e,26):(pKt(),dMe)},AKt.Ui=function(t,e){return gkt(this,t,jz(e,26))},AKt.ai=function(){return!1},AKt.Zi=function(t,e,n,i,r){return null},AKt.Ji=function(){return new pb(this)},AKt.Ki=function(){cHt(r5(this.a))},AKt.Li=function(t){return Uht(this,t)},AKt.Mi=function(t){var e;for(e=t.Kc();e.Ob();)if(!Uht(this,e.Pb()))return!1;return!0},AKt.Ni=function(t){var e,n,i;if(iP(t,15)&&(i=jz(t,15)).gc()==r5(this.a).i){for(e=i.Kc(),n=new DP(this);e.Ob();)if(VD(e.Pb())!==VD(vbt(n)))return!1;return!0}return!1},AKt.Pi=function(){var t,e,n,i;for(e=1,t=new DP(r5(this.a));t.e!=t.i.gc();)e=31*e+((n=iP(i=jz(vbt(t),87).c,88)?jz(i,26):(pKt(),dMe))?xL(n):0);return e},AKt.Qi=function(t){var e,n,i,r;for(i=0,n=new DP(r5(this.a));n.e!=n.i.gc();){if(e=jz(vbt(n),87),VD(t)===VD(iP(r=e.c,88)?jz(r,26):(pKt(),dMe)))return i;++i}return-1},AKt.Ri=function(){return 0==r5(this.a).i},AKt.Si=function(){return null},AKt.Vi=function(){return r5(this.a).i},AKt.Wi=function(){var t,e,n,i,r,o;for(o=r5(this.a).i,r=P7(Ite,zKt,1,o,5,1),n=0,e=new DP(r5(this.a));e.e!=e.i.gc();)t=jz(vbt(e),87),r[n++]=iP(i=t.c,88)?jz(i,26):(pKt(),dMe);return r},AKt.Xi=function(t){var e,n,i,r;for(r=r5(this.a).i,t.lengthr&&IW(t,r,null),n=0,e=new DP(r5(this.a));e.e!=e.i.gc();)IW(t,n++,iP(i=jz(vbt(e),87).c,88)?jz(i,26):(pKt(),dMe));return t},AKt.Yi=function(){var t,e,n,i,r;for((r=new Ay).a+="[",t=r5(this.a),e=0,i=r5(this.a).i;e>16)>=0?uvt(this,n):this.Cb.ih(this,-1-i,null,n)),Cjt(this,t,6,n);case 9:return!this.a&&(this.a=new tG(UBe,this,9,5)),Xgt(this.a,t,n)}return jz(eet(jz(kat(this,16),26)||(pKt(),oMe),e),66).Nj().Qj(this,umt(this),e-hW((pKt(),oMe)),t,n)},AKt.jh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Fbt(this.Ab,t,n);case 6:return Cjt(this,null,6,n);case 7:return!this.A&&(this.A=new MP(TMe,this,7)),Fbt(this.A,t,n);case 9:return!this.a&&(this.a=new tG(UBe,this,9,5)),Fbt(this.a,t,n)}return jz(eet(jz(kat(this,16),26)||(pKt(),oMe),e),66).Nj().Rj(this,umt(this),e-hW((pKt(),oMe)),t,n)},AKt.lh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.D&&this.D==this.F;case 3:return!!nvt(this);case 4:return!!Ylt(this);case 5:return null!=this.F&&this.F!=this.D&&this.F!=this.B;case 6:return!!dJ(this);case 7:return!!this.A&&0!=this.A.i;case 8:return!(256&this.Bb);case 9:return!!this.a&&0!=this.a.i}return S3(this,t-hW((pKt(),oMe)),eet(jz(kat(this,16),26)||oMe,t))},AKt.sh=function(t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),cHt(this.Ab),!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void pW(this.Ab,jz(e,14));case 1:return void ZJ(this,AN(e));case 2:return void TB(this,AN(e));case 5:return void XHt(this,AN(e));case 7:return!this.A&&(this.A=new MP(TMe,this,7)),cHt(this.A),!this.A&&(this.A=new MP(TMe,this,7)),void pW(this.A,jz(e,14));case 8:return void Qht(this,zv(_N(e)));case 9:return!this.a&&(this.a=new tG(UBe,this,9,5)),cHt(this.a),!this.a&&(this.a=new tG(UBe,this,9,5)),void pW(this.a,jz(e,14))}Mft(this,t-hW((pKt(),oMe)),eet(jz(kat(this,16),26)||oMe,t),e)},AKt.zh=function(){return pKt(),oMe},AKt.Bh=function(t){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void cHt(this.Ab);case 1:return iP(this.Cb,179)&&(jz(this.Cb,179).tb=null),void Prt(this,null);case 2:return Olt(this,null),void Lnt(this,this.D);case 5:return void XHt(this,null);case 7:return!this.A&&(this.A=new MP(TMe,this,7)),void cHt(this.A);case 8:return void Qht(this,!0);case 9:return!this.a&&(this.a=new tG(UBe,this,9,5)),void cHt(this.a)}Vht(this,t-hW((pKt(),oMe)),eet(jz(kat(this,16),26)||oMe,t))},AKt.Gh=function(){var t,e;if(this.a)for(t=0,e=this.a.i;t>16==5?jz(this.Cb,671):null}return q8(this,t-hW((pKt(),aMe)),eet(jz(kat(this,16),26)||aMe,t),e,n)},AKt.hh=function(t,e,n){var i;switch(e){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Xgt(this.Ab,t,n);case 5:return this.Cb&&(n=(i=this.Db>>16)>=0?hyt(this,n):this.Cb.ih(this,-1-i,null,n)),Cjt(this,t,5,n)}return jz(eet(jz(kat(this,16),26)||(pKt(),aMe),e),66).Nj().Qj(this,umt(this),e-hW((pKt(),aMe)),t,n)},AKt.jh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Fbt(this.Ab,t,n);case 5:return Cjt(this,null,5,n)}return jz(eet(jz(kat(this,16),26)||(pKt(),aMe),e),66).Nj().Rj(this,umt(this),e-hW((pKt(),aMe)),t,n)},AKt.lh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return 0!=this.d;case 3:return!!this.b;case 4:return null!=this.c;case 5:return!(this.Db>>16!=5||!jz(this.Cb,671))}return S3(this,t-hW((pKt(),aMe)),eet(jz(kat(this,16),26)||aMe,t))},AKt.sh=function(t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),cHt(this.Ab),!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void pW(this.Ab,jz(e,14));case 1:return void Prt(this,AN(e));case 2:return void Bnt(this,jz(e,19).a);case 3:return void pIt(this,jz(e,1940));case 4:return void jit(this,AN(e))}Mft(this,t-hW((pKt(),aMe)),eet(jz(kat(this,16),26)||aMe,t),e)},AKt.zh=function(){return pKt(),aMe},AKt.Bh=function(t){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void cHt(this.Ab);case 1:return void Prt(this,null);case 2:return void Bnt(this,0);case 3:return void pIt(this,null);case 4:return void jit(this,null)}Vht(this,t-hW((pKt(),aMe)),eet(jz(kat(this,16),26)||aMe,t))},AKt.Ib=function(){var t;return null==(t=this.c)?this.zb:t},AKt.b=null,AKt.c=null,AKt.d=0,mW(h6t,"EEnumLiteralImpl",573);var IMe,BMe,MMe,PMe=hH(h6t,"EFactoryImpl/InternalEDateTimeFormat");fBt(489,1,{2015:1},mb),mW(h6t,"EFactoryImpl/1ClientInternalEDateTimeFormat",489),fBt(241,115,{105:1,92:1,90:1,87:1,56:1,108:1,49:1,97:1,241:1,114:1,115:1},Nb),AKt.Sg=function(t,e,n){var i;return n=Cjt(this,t,e,n),this.e&&iP(t,170)&&(i=vPt(this,this.e))!=this.c&&(n=oUt(this,i,n)),n},AKt._g=function(t,e,n){switch(t){case 0:return this.f;case 1:return!this.d&&(this.d=new IP(GBe,this,1)),this.d;case 2:return e?h$t(this):this.c;case 3:return this.b;case 4:return this.e;case 5:return e?Vwt(this):this.a}return q8(this,t-hW((pKt(),cMe)),eet(jz(kat(this,16),26)||cMe,t),e,n)},AKt.jh=function(t,e,n){switch(e){case 0:return Jut(this,null,n);case 1:return!this.d&&(this.d=new IP(GBe,this,1)),Fbt(this.d,t,n);case 3:return Qut(this,null,n)}return jz(eet(jz(kat(this,16),26)||(pKt(),cMe),e),66).Nj().Rj(this,umt(this),e-hW((pKt(),cMe)),t,n)},AKt.lh=function(t){switch(t){case 0:return!!this.f;case 1:return!!this.d&&0!=this.d.i;case 2:return!!this.c;case 3:return!!this.b;case 4:return!!this.e;case 5:return!!this.a}return S3(this,t-hW((pKt(),cMe)),eet(jz(kat(this,16),26)||cMe,t))},AKt.sh=function(t,e){switch(t){case 0:return void yCt(this,jz(e,87));case 1:return!this.d&&(this.d=new IP(GBe,this,1)),cHt(this.d),!this.d&&(this.d=new IP(GBe,this,1)),void pW(this.d,jz(e,14));case 3:return void vCt(this,jz(e,87));case 4:return void Oxt(this,jz(e,836));case 5:return void rnt(this,jz(e,138))}Mft(this,t-hW((pKt(),cMe)),eet(jz(kat(this,16),26)||cMe,t),e)},AKt.zh=function(){return pKt(),cMe},AKt.Bh=function(t){switch(t){case 0:return void yCt(this,null);case 1:return!this.d&&(this.d=new IP(GBe,this,1)),void cHt(this.d);case 3:return void vCt(this,null);case 4:return void Oxt(this,null);case 5:return void rnt(this,null)}Vht(this,t-hW((pKt(),cMe)),eet(jz(kat(this,16),26)||cMe,t))},AKt.Ib=function(){var t;return(t=new uL(EMt(this))).a+=" (expression: ",dVt(this,t),t.a+=")",t.a},mW(h6t,"EGenericTypeImpl",241),fBt(1969,1964,V8t),AKt.Xh=function(t,e){QN(this,t,e)},AKt.lk=function(t,e){return QN(this,this.gc(),t),e},AKt.pi=function(t){return Obt(this.Gi(),t)},AKt.Zh=function(){return this.$h()},AKt.Gi=function(){return new xb(this)},AKt.$h=function(){return this._h(0)},AKt._h=function(t){return this.Gi().Zc(t)},AKt.mk=function(t,e){return kgt(this,t,!0),e},AKt.ii=function(t,e){var n;return n=tyt(this,e),this.Zc(t).Rb(n),n},AKt.ji=function(t,e){kgt(this,e,!0),this.Zc(t).Rb(e)},mW(k8t,"AbstractSequentialInternalEList",1969),fBt(486,1969,V8t,KL),AKt.pi=function(t){return Obt(this.Gi(),t)},AKt.Zh=function(){return null==this.b?(Yx(),Yx(),MMe):this.Jk()},AKt.Gi=function(){return new LI(this.a,this.b)},AKt.$h=function(){return null==this.b?(Yx(),Yx(),MMe):this.Jk()},AKt._h=function(t){var e,n;if(null==this.b){if(t<0||t>1)throw $b(new Dv(e8t+t+", size=0"));return Yx(),Yx(),MMe}for(n=this.Jk(),e=0;e0;)if(e=this.c[--this.d],(!this.e||e.Gj()!=BIe||0!=e.aj())&&(!this.Mk()||this.b.mh(e)))if(o=this.b.bh(e,this.Lk()),this.f=(Zx(),jz(e,66).Oj()),this.f||e.$j()){if(this.Lk()?(i=jz(o,15),this.k=i):(i=jz(o,69),this.k=this.j=i),iP(this.k,54)?(this.o=this.k.gc(),this.n=this.o):this.p=this.j?this.j._h(this.k.gc()):this.k.Zc(this.k.gc()),this.p?yTt(this,this.p):fSt(this))return r=this.p?this.p.Ub():this.j?this.j.pi(--this.n):this.k.Xb(--this.n),this.f?((t=jz(r,72)).ak(),n=t.dd(),this.i=n):(n=r,this.i=n),this.g=-3,!0}else if(null!=o)return this.k=null,this.p=null,n=o,this.i=n,this.g=-2,!0;return this.k=null,this.p=null,this.g=-1,!1}},AKt.Pb=function(){return Aat(this)},AKt.Tb=function(){return this.a},AKt.Ub=function(){var t;if(this.g<-1||this.Sb())return--this.a,this.g=0,t=this.i,this.Sb(),t;throw $b(new ww)},AKt.Vb=function(){return this.a-1},AKt.Qb=function(){throw $b(new pw)},AKt.Lk=function(){return!1},AKt.Wb=function(t){throw $b(new pw)},AKt.Mk=function(){return!0},AKt.a=0,AKt.d=0,AKt.f=!1,AKt.g=0,AKt.n=0,AKt.o=0,mW(k8t,"EContentsEList/FeatureIteratorImpl",279),fBt(697,279,H8t,WO),AKt.Lk=function(){return!0},mW(k8t,"EContentsEList/ResolvingFeatureIteratorImpl",697),fBt(1157,697,H8t,YO),AKt.Mk=function(){return!1},mW(h6t,"ENamedElementImpl/1/1",1157),fBt(1158,279,H8t,KO),AKt.Mk=function(){return!1},mW(h6t,"ENamedElementImpl/1/2",1158),fBt(36,143,t8t,l5,u5,QU,k8,M9,J4,znt,A0,Vnt,x0,X4,E0,Unt,T0,Z4,S0,Hnt,D0,JU,v8,VX,qnt,I0,Q4,B0),AKt._i=function(){return c8(this)},AKt.gj=function(){var t;return(t=c8(this))?t.zj():null},AKt.yi=function(t){return-1==this.b&&this.a&&(this.b=this.c.Xg(this.a.aj(),this.a.Gj())),this.c.Og(this.b,t)},AKt.Ai=function(){return this.c},AKt.hj=function(){var t;return!!(t=c8(this))&&t.Kj()},AKt.b=-1,mW(h6t,"ENotificationImpl",36),fBt(399,284,{105:1,92:1,90:1,147:1,191:1,56:1,59:1,108:1,472:1,49:1,97:1,150:1,399:1,284:1,114:1,115:1},Ik),AKt.Qg=function(t){return Eyt(this,t)},AKt._g=function(t,e,n){var i;switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),this.Ab;case 1:return this.zb;case 2:return cL(),!!(256&this.Bb);case 3:return cL(),!!(512&this.Bb);case 4:return ndt(this.s);case 5:return ndt(this.t);case 6:return cL(),(i=this.t)>1||-1==i;case 7:return cL(),this.s>=1;case 8:return e?Syt(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?jz(this.Cb,26):null;case 11:return!this.d&&(this.d=new MP(TMe,this,11)),this.d;case 12:return!this.c&&(this.c=new tG(KBe,this,12,10)),this.c;case 13:return!this.a&&(this.a=new aR(this,this)),this.a;case 14:return $9(this)}return q8(this,t-hW((pKt(),fMe)),eet(jz(kat(this,16),26)||fMe,t),e,n)},AKt.hh=function(t,e,n){var i;switch(e){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Xgt(this.Ab,t,n);case 10:return this.Cb&&(n=(i=this.Db>>16)>=0?Eyt(this,n):this.Cb.ih(this,-1-i,null,n)),Cjt(this,t,10,n);case 12:return!this.c&&(this.c=new tG(KBe,this,12,10)),Xgt(this.c,t,n)}return jz(eet(jz(kat(this,16),26)||(pKt(),fMe),e),66).Nj().Qj(this,umt(this),e-hW((pKt(),fMe)),t,n)},AKt.jh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Fbt(this.Ab,t,n);case 9:return gW(this,n);case 10:return Cjt(this,null,10,n);case 11:return!this.d&&(this.d=new MP(TMe,this,11)),Fbt(this.d,t,n);case 12:return!this.c&&(this.c=new tG(KBe,this,12,10)),Fbt(this.c,t,n);case 14:return Fbt($9(this),t,n)}return jz(eet(jz(kat(this,16),26)||(pKt(),fMe),e),66).Nj().Rj(this,umt(this),e-hW((pKt(),fMe)),t,n)},AKt.lh=function(t){var e;switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return!(256&this.Bb);case 3:return!(512&this.Bb);case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return(e=this.t)>1||-1==e;case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==wK(this.q).i;case 9:return!(!this.q||this.r&&!this.q.e&&0==wK(this.q).i);case 10:return!(this.Db>>16!=10||!jz(this.Cb,26));case 11:return!!this.d&&0!=this.d.i;case 12:return!!this.c&&0!=this.c.i;case 13:return!(!this.a||0==$9(this.a.a).i||this.b&&Rwt(this.b));case 14:return!!this.b&&Rwt(this.b)}return S3(this,t-hW((pKt(),fMe)),eet(jz(kat(this,16),26)||fMe,t))},AKt.sh=function(t,e){var n;switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),cHt(this.Ab),!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void pW(this.Ab,jz(e,14));case 1:return void Prt(this,AN(e));case 2:return void Xht(this,zv(_N(e)));case 3:return void Jht(this,zv(_N(e)));case 4:return void Mnt(this,jz(e,19).a);case 5:return void Pnt(this,jz(e,19).a);case 8:return void Sut(this,jz(e,138));case 9:return void((n=zAt(this,jz(e,87),null))&&n.Fi());case 11:return!this.d&&(this.d=new MP(TMe,this,11)),cHt(this.d),!this.d&&(this.d=new MP(TMe,this,11)),void pW(this.d,jz(e,14));case 12:return!this.c&&(this.c=new tG(KBe,this,12,10)),cHt(this.c),!this.c&&(this.c=new tG(KBe,this,12,10)),void pW(this.c,jz(e,14));case 13:return!this.a&&(this.a=new aR(this,this)),bHt(this.a),!this.a&&(this.a=new aR(this,this)),void pW(this.a,jz(e,14));case 14:return cHt($9(this)),void pW($9(this),jz(e,14))}Mft(this,t-hW((pKt(),fMe)),eet(jz(kat(this,16),26)||fMe,t),e)},AKt.zh=function(){return pKt(),fMe},AKt.Bh=function(t){var e;switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void cHt(this.Ab);case 1:return void Prt(this,null);case 2:return void Xht(this,!0);case 3:return void Jht(this,!0);case 4:return void Mnt(this,0);case 5:return void Pnt(this,1);case 8:return void Sut(this,null);case 9:return void((e=zAt(this,null,null))&&e.Fi());case 11:return!this.d&&(this.d=new MP(TMe,this,11)),void cHt(this.d);case 12:return!this.c&&(this.c=new tG(KBe,this,12,10)),void cHt(this.c);case 13:return void(this.a&&bHt(this.a));case 14:return void(this.b&&cHt(this.b))}Vht(this,t-hW((pKt(),fMe)),eet(jz(kat(this,16),26)||fMe,t))},AKt.Gh=function(){var t,e;if(this.c)for(t=0,e=this.c.i;ti&&IW(t,i,null),n=0,e=new DP($9(this.a));e.e!=e.i.gc();)IW(t,n++,jz(vbt(e),87).c||(pKt(),lMe));return t},AKt.Yi=function(){var t,e,n,i;for((i=new Ay).a+="[",t=$9(this.a),e=0,n=$9(this.a).i;e1);case 5:return wJ(this,t,e,n,i,this.i-jz(n,15).gc()>0);default:return new M9(this.e,t,this.c,e,n,i,!0)}},AKt.ij=function(){return!0},AKt.fj=function(){return Rwt(this)},AKt.Xj=function(){cHt(this)},mW(h6t,"EOperationImpl/2",1341),fBt(498,1,{1938:1,498:1},SD),mW(h6t,"EPackageImpl/1",498),fBt(16,85,N8t,tG),AKt.zk=function(){return this.d},AKt.Ak=function(){return this.b},AKt.Dk=function(){return!0},AKt.b=0,mW(k8t,"EObjectContainmentWithInverseEList",16),fBt(353,16,N8t,tF),AKt.Ek=function(){return!0},AKt.li=function(t,e){return HIt(this,t,jz(e,56))},mW(k8t,"EObjectContainmentWithInverseEList/Resolving",353),fBt(298,353,N8t,XU),AKt.ci=function(){this.a.tb=null},mW(h6t,"EPackageImpl/2",298),fBt(1228,1,{},Ic),mW(h6t,"EPackageImpl/3",1228),fBt(718,43,tZt,Mk),AKt._b=function(t){return UD(t)?tZ(this,t):!!DZ(this.f,t)},mW(h6t,"EPackageRegistryImpl",718),fBt(509,284,{105:1,92:1,90:1,147:1,191:1,56:1,2017:1,108:1,472:1,49:1,97:1,150:1,509:1,284:1,114:1,115:1},Bk),AKt.Qg=function(t){return Tyt(this,t)},AKt._g=function(t,e,n){var i;switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),this.Ab;case 1:return this.zb;case 2:return cL(),!!(256&this.Bb);case 3:return cL(),!!(512&this.Bb);case 4:return ndt(this.s);case 5:return ndt(this.t);case 6:return cL(),(i=this.t)>1||-1==i;case 7:return cL(),this.s>=1;case 8:return e?Syt(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?jz(this.Cb,59):null}return q8(this,t-hW((pKt(),mMe)),eet(jz(kat(this,16),26)||mMe,t),e,n)},AKt.hh=function(t,e,n){var i;switch(e){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Xgt(this.Ab,t,n);case 10:return this.Cb&&(n=(i=this.Db>>16)>=0?Tyt(this,n):this.Cb.ih(this,-1-i,null,n)),Cjt(this,t,10,n)}return jz(eet(jz(kat(this,16),26)||(pKt(),mMe),e),66).Nj().Qj(this,umt(this),e-hW((pKt(),mMe)),t,n)},AKt.jh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Fbt(this.Ab,t,n);case 9:return gW(this,n);case 10:return Cjt(this,null,10,n)}return jz(eet(jz(kat(this,16),26)||(pKt(),mMe),e),66).Nj().Rj(this,umt(this),e-hW((pKt(),mMe)),t,n)},AKt.lh=function(t){var e;switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return!(256&this.Bb);case 3:return!(512&this.Bb);case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return(e=this.t)>1||-1==e;case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==wK(this.q).i;case 9:return!(!this.q||this.r&&!this.q.e&&0==wK(this.q).i);case 10:return!(this.Db>>16!=10||!jz(this.Cb,59))}return S3(this,t-hW((pKt(),mMe)),eet(jz(kat(this,16),26)||mMe,t))},AKt.zh=function(){return pKt(),mMe},mW(h6t,"EParameterImpl",509),fBt(99,449,{105:1,92:1,90:1,147:1,191:1,56:1,18:1,170:1,66:1,108:1,472:1,49:1,97:1,150:1,99:1,449:1,284:1,114:1,115:1,677:1},pN),AKt._g=function(t,e,n){var i,r;switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),this.Ab;case 1:return this.zb;case 2:return cL(),!!(256&this.Bb);case 3:return cL(),!!(512&this.Bb);case 4:return ndt(this.s);case 5:return ndt(this.t);case 6:return cL(),(r=this.t)>1||-1==r;case 7:return cL(),this.s>=1;case 8:return e?Syt(this):this.r;case 9:return this.q;case 10:return cL(),!!(this.Bb&v6t);case 11:return cL(),!!(this.Bb&A8t);case 12:return cL(),!!(this.Bb&FXt);case 13:return this.j;case 14:return VPt(this);case 15:return cL(),!!(this.Bb&C8t);case 16:return cL(),!!(this.Bb&lYt);case 17:return fJ(this);case 18:return cL(),!!(this.Bb&l6t);case 19:return cL(),!!((i=Twt(this))&&i.Bb&l6t);case 20:return cL(),!!(this.Bb&$Xt);case 21:return e?Twt(this):this.b;case 22:return e?Sct(this):N4(this);case 23:return!this.a&&(this.a=new OP(FBe,this,23)),this.a}return q8(this,t-hW((pKt(),bMe)),eet(jz(kat(this,16),26)||bMe,t),e,n)},AKt.lh=function(t){var e,n;switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return!(256&this.Bb);case 3:return!(512&this.Bb);case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return(n=this.t)>1||-1==n;case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==wK(this.q).i;case 9:return!(!this.q||this.r&&!this.q.e&&0==wK(this.q).i);case 10:return!(this.Bb&v6t);case 11:return!!(this.Bb&A8t);case 12:return!!(this.Bb&FXt);case 13:return null!=this.j;case 14:return null!=VPt(this);case 15:return!!(this.Bb&C8t);case 16:return!!(this.Bb&lYt);case 17:return!!fJ(this);case 18:return!!(this.Bb&l6t);case 19:return!!(e=Twt(this))&&!!(e.Bb&l6t);case 20:return!(this.Bb&$Xt);case 21:return!!this.b;case 22:return!!N4(this);case 23:return!!this.a&&0!=this.a.i}return S3(this,t-hW((pKt(),bMe)),eet(jz(kat(this,16),26)||bMe,t))},AKt.sh=function(t,e){var n;switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),cHt(this.Ab),!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void pW(this.Ab,jz(e,14));case 1:return void XJ(this,AN(e));case 2:return void Xht(this,zv(_N(e)));case 3:return void Jht(this,zv(_N(e)));case 4:return void Mnt(this,jz(e,19).a);case 5:return void Pnt(this,jz(e,19).a);case 8:return void Sut(this,jz(e,138));case 9:return void((n=zAt(this,jz(e,87),null))&&n.Fi());case 10:return void Idt(this,zv(_N(e)));case 11:return void Pdt(this,zv(_N(e)));case 12:return void Bdt(this,zv(_N(e)));case 13:return void RD(this,AN(e));case 15:return void Mdt(this,zv(_N(e)));case 16:return void Vdt(this,zv(_N(e)));case 18:return void YJ(this,zv(_N(e)));case 20:return void Udt(this,zv(_N(e)));case 21:return void irt(this,jz(e,18));case 23:return!this.a&&(this.a=new OP(FBe,this,23)),cHt(this.a),!this.a&&(this.a=new OP(FBe,this,23)),void pW(this.a,jz(e,14))}Mft(this,t-hW((pKt(),bMe)),eet(jz(kat(this,16),26)||bMe,t),e)},AKt.zh=function(){return pKt(),bMe},AKt.Bh=function(t){var e;switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void cHt(this.Ab);case 1:return iP(this.Cb,88)&&ISt(x4(jz(this.Cb,88)),4),void Prt(this,null);case 2:return void Xht(this,!0);case 3:return void Jht(this,!0);case 4:return void Mnt(this,0);case 5:return void Pnt(this,1);case 8:return void Sut(this,null);case 9:return void((e=zAt(this,null,null))&&e.Fi());case 10:return void Idt(this,!0);case 11:return void Pdt(this,!1);case 12:return void Bdt(this,!1);case 13:return this.i=null,void ort(this,null);case 15:return void Mdt(this,!1);case 16:return void Vdt(this,!1);case 18:return qdt(this,!1),void(iP(this.Cb,88)&&ISt(x4(jz(this.Cb,88)),2));case 20:return void Udt(this,!0);case 21:return void irt(this,null);case 23:return!this.a&&(this.a=new OP(FBe,this,23)),void cHt(this.a)}Vht(this,t-hW((pKt(),bMe)),eet(jz(kat(this,16),26)||bMe,t))},AKt.Gh=function(){Sct(this),kY(j9((STt(),XMe),this)),Syt(this),this.Bb|=1},AKt.Lj=function(){return Twt(this)},AKt.qk=function(){var t;return!!(t=Twt(this))&&!!(t.Bb&l6t)},AKt.rk=function(){return!!(this.Bb&l6t)},AKt.sk=function(){return!!(this.Bb&$Xt)},AKt.nk=function(t,e){return this.c=null,Eht(this,t,e)},AKt.Ib=function(){var t;return 64&this.Db?_Rt(this):((t=new lL(_Rt(this))).a+=" (containment: ",wC(t,!!(this.Bb&l6t)),t.a+=", resolveProxies: ",wC(t,!!(this.Bb&$Xt)),t.a+=")",t.a)},mW(h6t,"EReferenceImpl",99),fBt(548,115,{105:1,42:1,92:1,90:1,133:1,56:1,108:1,49:1,97:1,548:1,114:1,115:1},Bc),AKt.Fb=function(t){return this===t},AKt.cd=function(){return this.b},AKt.dd=function(){return this.c},AKt.Hb=function(){return xL(this)},AKt.Uh=function(t){mH(this,AN(t))},AKt.ed=function(t){return IV(this,AN(t))},AKt._g=function(t,e,n){switch(t){case 0:return this.b;case 1:return this.c}return q8(this,t-hW((pKt(),wMe)),eet(jz(kat(this,16),26)||wMe,t),e,n)},AKt.lh=function(t){switch(t){case 0:return null!=this.b;case 1:return null!=this.c}return S3(this,t-hW((pKt(),wMe)),eet(jz(kat(this,16),26)||wMe,t))},AKt.sh=function(t,e){switch(t){case 0:return void bH(this,AN(e));case 1:return void Rit(this,AN(e))}Mft(this,t-hW((pKt(),wMe)),eet(jz(kat(this,16),26)||wMe,t),e)},AKt.zh=function(){return pKt(),wMe},AKt.Bh=function(t){switch(t){case 0:return void Nit(this,null);case 1:return void Rit(this,null)}Vht(this,t-hW((pKt(),wMe)),eet(jz(kat(this,16),26)||wMe,t))},AKt.Sh=function(){var t;return-1==this.a&&(t=this.b,this.a=null==t?0:bwt(t)),this.a},AKt.Th=function(t){this.a=t},AKt.Ib=function(){var t;return 64&this.Db?EMt(this):((t=new lL(EMt(this))).a+=" (key: ",iI(t,this.b),t.a+=", value: ",iI(t,this.c),t.a+=")",t.a)},AKt.a=-1,AKt.b=null,AKt.c=null;var LMe,OMe,NMe,RMe,FMe,jMe,$Me,zMe,VMe,HMe,qMe=mW(h6t,"EStringToStringMapEntryImpl",548),UMe=hH(k8t,"FeatureMap/Entry/Internal");fBt(565,1,q8t),AKt.Ok=function(t){return this.Pk(jz(t,49))},AKt.Pk=function(t){return this.Ok(t)},AKt.Fb=function(t){var e,n;return this===t||!!iP(t,72)&&(e=jz(t,72)).ak()==this.c&&(null==(n=this.dd())?null==e.dd():Pht(n,e.dd()))},AKt.ak=function(){return this.c},AKt.Hb=function(){var t;return t=this.dd(),Jct(this.c)^(null==t?0:Jct(t))},AKt.Ib=function(){var t,e;return e=Uet((t=this.c).Hj()).Ph(),t.ne(),(null!=e&&0!=e.length?e+":"+t.ne():t.ne())+"="+this.dd()},mW(h6t,"EStructuralFeatureImpl/BasicFeatureMapEntry",565),fBt(776,565,q8t,nR),AKt.Pk=function(t){return new nR(this.c,t)},AKt.dd=function(){return this.a},AKt.Qk=function(t,e,n){return xot(this,t,this.a,e,n)},AKt.Rk=function(t,e,n){return Eot(this,t,this.a,e,n)},mW(h6t,"EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry",776),fBt(1314,1,{},DD),AKt.Pj=function(t,e,n,i,r){return jz(A8(t,this.b),215).nl(this.a).Wj(i)},AKt.Qj=function(t,e,n,i,r){return jz(A8(t,this.b),215).el(this.a,i,r)},AKt.Rj=function(t,e,n,i,r){return jz(A8(t,this.b),215).fl(this.a,i,r)},AKt.Sj=function(t,e,n){return jz(A8(t,this.b),215).nl(this.a).fj()},AKt.Tj=function(t,e,n,i){jz(A8(t,this.b),215).nl(this.a).Wb(i)},AKt.Uj=function(t,e,n){return jz(A8(t,this.b),215).nl(this.a)},AKt.Vj=function(t,e,n){jz(A8(t,this.b),215).nl(this.a).Xj()},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator",1314),fBt(89,1,{},xz,uX,OZ,d5),AKt.Pj=function(t,e,n,i,r){var o;if(null==(o=e.Ch(n))&&e.Dh(n,o=nKt(this,t)),!r)switch(this.e){case 50:case 41:return jz(o,589).sj();case 40:return jz(o,215).kl()}return o},AKt.Qj=function(t,e,n,i,r){var o;return null==(o=e.Ch(n))&&e.Dh(n,o=nKt(this,t)),jz(o,69).lk(i,r)},AKt.Rj=function(t,e,n,i,r){var o;return null!=(o=e.Ch(n))&&(r=jz(o,69).mk(i,r)),r},AKt.Sj=function(t,e,n){var i;return null!=(i=e.Ch(n))&&jz(i,76).fj()},AKt.Tj=function(t,e,n,i){var r;!(r=jz(e.Ch(n),76))&&e.Dh(n,r=nKt(this,t)),r.Wb(i)},AKt.Uj=function(t,e,n){var i;return null==(i=e.Ch(n))&&e.Dh(n,i=nKt(this,t)),iP(i,76)?jz(i,76):new yb(jz(e.Ch(n),15))},AKt.Vj=function(t,e,n){var i;!(i=jz(e.Ch(n),76))&&e.Dh(n,i=nKt(this,t)),i.Xj()},AKt.b=0,AKt.e=0,mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateMany",89),fBt(504,1,{}),AKt.Qj=function(t,e,n,i,r){throw $b(new pw)},AKt.Rj=function(t,e,n,i,r){throw $b(new pw)},AKt.Uj=function(t,e,n){return new hX(this,t,e,n)},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingle",504),fBt(1331,1,v8t,hX),AKt.Wj=function(t){return this.a.Pj(this.c,this.d,this.b,t,!0)},AKt.fj=function(){return this.a.Sj(this.c,this.d,this.b)},AKt.Wb=function(t){this.a.Tj(this.c,this.d,this.b,t)},AKt.Xj=function(){this.a.Vj(this.c,this.d,this.b)},AKt.b=0,mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingle/1",1331),fBt(769,504,{},bQ),AKt.Pj=function(t,e,n,i,r){return pFt(t,t.eh(),t.Vg())==this.b?this.sk()&&i?rBt(t):t.eh():null},AKt.Qj=function(t,e,n,i,r){var o,a;return t.eh()&&(r=(o=t.Vg())>=0?t.Qg(r):t.eh().ih(t,-1-o,null,r)),a=Igt(t.Tg(),this.e),t.Sg(i,a,r)},AKt.Rj=function(t,e,n,i,r){var o;return o=Igt(t.Tg(),this.e),t.Sg(null,o,r)},AKt.Sj=function(t,e,n){var i;return i=Igt(t.Tg(),this.e),!!t.eh()&&t.Vg()==i},AKt.Tj=function(t,e,n,i){var r,o,a,s,c;if(null!=i&&!x$t(this.a,i))throw $b(new Nv(U8t+(iP(i,56)?gCt(jz(i,56).Tg()):oet(tlt(i)))+G8t+this.a+"'"));if(r=t.eh(),a=Igt(t.Tg(),this.e),VD(i)!==VD(r)||t.Vg()!=a&&null!=i){if(byt(t,jz(i,56)))throw $b(new Rv(f6t+t.Ib()));c=null,r&&(c=(o=t.Vg())>=0?t.Qg(c):t.eh().ih(t,-1-o,null,c)),(s=jz(i,49))&&(c=s.gh(t,Igt(s.Tg(),this.b),null,c)),(c=t.Sg(s,a,c))&&c.Fi()}else t.Lg()&&t.Mg()&&dat(t,new QU(t,1,a,i,i))},AKt.Vj=function(t,e,n){var i,r,o;t.eh()?(o=(i=t.Vg())>=0?t.Qg(null):t.eh().ih(t,-1-i,null,null),r=Igt(t.Tg(),this.e),(o=t.Sg(null,r,o))&&o.Fi()):t.Lg()&&t.Mg()&&dat(t,new JU(t,1,this.e,null,null))},AKt.sk=function(){return!1},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainer",769),fBt(1315,769,{},Ez),AKt.sk=function(){return!0},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving",1315),fBt(563,504,{}),AKt.Pj=function(t,e,n,i,r){var o;return null==(o=e.Ch(n))?this.b:VD(o)===VD(LMe)?null:o},AKt.Sj=function(t,e,n){var i;return null!=(i=e.Ch(n))&&(VD(i)===VD(LMe)||!Pht(i,this.b))},AKt.Tj=function(t,e,n,i){var r,o;t.Lg()&&t.Mg()?(r=null==(o=e.Ch(n))?this.b:VD(o)===VD(LMe)?null:o,null==i?null!=this.c?(e.Dh(n,null),i=this.b):null!=this.b?e.Dh(n,LMe):e.Dh(n,null):(this.Sk(i),e.Dh(n,i)),dat(t,this.d.Tk(t,1,this.e,r,i))):null==i?null!=this.c?e.Dh(n,null):null!=this.b?e.Dh(n,LMe):e.Dh(n,null):(this.Sk(i),e.Dh(n,i))},AKt.Vj=function(t,e,n){var i,r;t.Lg()&&t.Mg()?(i=null==(r=e.Ch(n))?this.b:VD(r)===VD(LMe)?null:r,e.Eh(n),dat(t,this.d.Tk(t,1,this.e,i,this.b))):e.Eh(n)},AKt.Sk=function(t){throw $b(new hw)},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleData",563),fBt(W8t,1,{},Mc),AKt.Tk=function(t,e,n,i,r){return new JU(t,e,n,i,r)},AKt.Uk=function(t,e,n,i,r,o){return new VX(t,e,n,i,r,o)},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator",W8t),fBt(1332,W8t,{},Pc),AKt.Tk=function(t,e,n,i,r){return new Q4(t,e,n,zv(_N(i)),zv(_N(r)))},AKt.Uk=function(t,e,n,i,r,o){return new B0(t,e,n,zv(_N(i)),zv(_N(r)),o)},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1",1332),fBt(1333,W8t,{},Lc),AKt.Tk=function(t,e,n,i,r){return new znt(t,e,n,jz(i,217).a,jz(r,217).a)},AKt.Uk=function(t,e,n,i,r,o){return new A0(t,e,n,jz(i,217).a,jz(r,217).a,o)},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2",1333),fBt(1334,W8t,{},Oc),AKt.Tk=function(t,e,n,i,r){return new Vnt(t,e,n,jz(i,172).a,jz(r,172).a)},AKt.Uk=function(t,e,n,i,r,o){return new x0(t,e,n,jz(i,172).a,jz(r,172).a,o)},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3",1334),fBt(1335,W8t,{},Nc),AKt.Tk=function(t,e,n,i,r){return new X4(t,e,n,Vv(CN(i)),Vv(CN(r)))},AKt.Uk=function(t,e,n,i,r,o){return new E0(t,e,n,Vv(CN(i)),Vv(CN(r)),o)},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4",1335),fBt(1336,W8t,{},Rc),AKt.Tk=function(t,e,n,i,r){return new Unt(t,e,n,jz(i,155).a,jz(r,155).a)},AKt.Uk=function(t,e,n,i,r,o){return new T0(t,e,n,jz(i,155).a,jz(r,155).a,o)},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5",1336),fBt(1337,W8t,{},Fc),AKt.Tk=function(t,e,n,i,r){return new Z4(t,e,n,jz(i,19).a,jz(r,19).a)},AKt.Uk=function(t,e,n,i,r,o){return new S0(t,e,n,jz(i,19).a,jz(r,19).a,o)},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6",1337),fBt(1338,W8t,{},jc),AKt.Tk=function(t,e,n,i,r){return new Hnt(t,e,n,jz(i,162).a,jz(r,162).a)},AKt.Uk=function(t,e,n,i,r,o){return new D0(t,e,n,jz(i,162).a,jz(r,162).a,o)},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7",1338),fBt(1339,W8t,{},$c),AKt.Tk=function(t,e,n,i,r){return new qnt(t,e,n,jz(i,184).a,jz(r,184).a)},AKt.Uk=function(t,e,n,i,r,o){return new I0(t,e,n,jz(i,184).a,jz(r,184).a,o)},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8",1339),fBt(1317,563,{},dX),AKt.Sk=function(t){if(!this.a.wj(t))throw $b(new Nv(U8t+tlt(t)+G8t+this.a+"'"))},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic",1317),fBt(1318,563,{},Zq),AKt.Sk=function(t){},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic",1318),fBt(770,563,{}),AKt.Sj=function(t,e,n){return null!=e.Ch(n)},AKt.Tj=function(t,e,n,i){var r,o;t.Lg()&&t.Mg()?(r=!0,null==(o=e.Ch(n))?(r=!1,o=this.b):VD(o)===VD(LMe)&&(o=null),null==i?null!=this.c?(e.Dh(n,null),i=this.b):e.Dh(n,LMe):(this.Sk(i),e.Dh(n,i)),dat(t,this.d.Uk(t,1,this.e,o,i,!r))):null==i?null!=this.c?e.Dh(n,null):e.Dh(n,LMe):(this.Sk(i),e.Dh(n,i))},AKt.Vj=function(t,e,n){var i,r;t.Lg()&&t.Mg()?(i=!0,null==(r=e.Ch(n))?(i=!1,r=this.b):VD(r)===VD(LMe)&&(r=null),e.Eh(n),dat(t,this.d.Uk(t,2,this.e,r,this.b,i))):e.Eh(n)},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable",770),fBt(1319,770,{},fX),AKt.Sk=function(t){if(!this.a.wj(t))throw $b(new Nv(U8t+tlt(t)+G8t+this.a+"'"))},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic",1319),fBt(1320,770,{},Qq),AKt.Sk=function(t){},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic",1320),fBt(398,504,{},iq),AKt.Pj=function(t,e,n,i,r){var o,a,s,c,l;if(l=e.Ch(n),this.Kj()&&VD(l)===VD(LMe))return null;if(this.sk()&&i&&null!=l){if((s=jz(l,49)).kh()&&s!=(c=tht(t,s))){if(!x$t(this.a,c))throw $b(new Nv(U8t+tlt(c)+G8t+this.a+"'"));e.Dh(n,l=c),this.rk()&&(o=jz(c,49),a=s.ih(t,this.b?Igt(s.Tg(),this.b):-1-Igt(t.Tg(),this.e),null,null),!o.eh()&&(a=o.gh(t,this.b?Igt(o.Tg(),this.b):-1-Igt(t.Tg(),this.e),null,a)),a&&a.Fi()),t.Lg()&&t.Mg()&&dat(t,new JU(t,9,this.e,s,c))}return l}return l},AKt.Qj=function(t,e,n,i,r){var o,a;return VD(a=e.Ch(n))===VD(LMe)&&(a=null),e.Dh(n,i),this.bj()?VD(a)!==VD(i)&&null!=a&&(r=(o=jz(a,49)).ih(t,Igt(o.Tg(),this.b),null,r)):this.rk()&&null!=a&&(r=jz(a,49).ih(t,-1-Igt(t.Tg(),this.e),null,r)),t.Lg()&&t.Mg()&&(!r&&(r=new F_(4)),r.Ei(new JU(t,1,this.e,a,i))),r},AKt.Rj=function(t,e,n,i,r){var o;return VD(o=e.Ch(n))===VD(LMe)&&(o=null),e.Eh(n),t.Lg()&&t.Mg()&&(!r&&(r=new F_(4)),this.Kj()?r.Ei(new JU(t,2,this.e,o,null)):r.Ei(new JU(t,1,this.e,o,null))),r},AKt.Sj=function(t,e,n){return null!=e.Ch(n)},AKt.Tj=function(t,e,n,i){var r,o,a,s,c;if(null!=i&&!x$t(this.a,i))throw $b(new Nv(U8t+(iP(i,56)?gCt(jz(i,56).Tg()):oet(tlt(i)))+G8t+this.a+"'"));s=null!=(c=e.Ch(n)),this.Kj()&&VD(c)===VD(LMe)&&(c=null),a=null,this.bj()?VD(c)!==VD(i)&&(null!=c&&(a=(r=jz(c,49)).ih(t,Igt(r.Tg(),this.b),null,a)),null!=i&&(a=(r=jz(i,49)).gh(t,Igt(r.Tg(),this.b),null,a))):this.rk()&&VD(c)!==VD(i)&&(null!=c&&(a=jz(c,49).ih(t,-1-Igt(t.Tg(),this.e),null,a)),null!=i&&(a=jz(i,49).gh(t,-1-Igt(t.Tg(),this.e),null,a))),null==i&&this.Kj()?e.Dh(n,LMe):e.Dh(n,i),t.Lg()&&t.Mg()?(o=new VX(t,1,this.e,c,i,this.Kj()&&!s),a?(a.Ei(o),a.Fi()):dat(t,o)):a&&a.Fi()},AKt.Vj=function(t,e,n){var i,r,o,a,s;a=null!=(s=e.Ch(n)),this.Kj()&&VD(s)===VD(LMe)&&(s=null),o=null,null!=s&&(this.bj()?o=(i=jz(s,49)).ih(t,Igt(i.Tg(),this.b),null,o):this.rk()&&(o=jz(s,49).ih(t,-1-Igt(t.Tg(),this.e),null,o))),e.Eh(n),t.Lg()&&t.Mg()?(r=new VX(t,this.Kj()?2:1,this.e,s,null,a),o?(o.Ei(r),o.Fi()):dat(t,r)):o&&o.Fi()},AKt.bj=function(){return!1},AKt.rk=function(){return!1},AKt.sk=function(){return!1},AKt.Kj=function(){return!1},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObject",398),fBt(564,398,{},ZO),AKt.rk=function(){return!0},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment",564),fBt(1323,564,{},QO),AKt.sk=function(){return!0},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving",1323),fBt(772,564,{},JO),AKt.Kj=function(){return!0},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable",772),fBt(1325,772,{},tN),AKt.sk=function(){return!0},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving",1325),fBt(640,564,{},Tz),AKt.bj=function(){return!0},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse",640),fBt(1324,640,{},Iz),AKt.sk=function(){return!0},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving",1324),fBt(773,640,{},Bz),AKt.Kj=function(){return!0},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable",773),fBt(1326,773,{},Mz),AKt.sk=function(){return!0},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving",1326),fBt(641,398,{},eN),AKt.sk=function(){return!0},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving",641),fBt(1327,641,{},nN),AKt.Kj=function(){return!0},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable",1327),fBt(774,641,{},Sz),AKt.bj=function(){return!0},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse",774),fBt(1328,774,{},Pz),AKt.Kj=function(){return!0},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable",1328),fBt(1321,398,{},iN),AKt.Kj=function(){return!0},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable",1321),fBt(771,398,{},Dz),AKt.bj=function(){return!0},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse",771),fBt(1322,771,{},Lz),AKt.Kj=function(){return!0},mW(h6t,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable",1322),fBt(775,565,q8t,rK),AKt.Pk=function(t){return new rK(this.a,this.c,t)},AKt.dd=function(){return this.b},AKt.Qk=function(t,e,n){return L7(this,t,this.b,n)},AKt.Rk=function(t,e,n){return O7(this,t,this.b,n)},mW(h6t,"EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry",775),fBt(1329,1,v8t,yb),AKt.Wj=function(t){return this.a},AKt.fj=function(){return iP(this.a,95)?jz(this.a,95).fj():!this.a.dc()},AKt.Wb=function(t){this.a.$b(),this.a.Gc(jz(t,15))},AKt.Xj=function(){iP(this.a,95)?jz(this.a,95).Xj():this.a.$b()},mW(h6t,"EStructuralFeatureImpl/SettingMany",1329),fBt(1330,565,q8t,g5),AKt.Ok=function(t){return new iR((UHt(),RPe),this.b.Ih(this.a,t))},AKt.dd=function(){return null},AKt.Qk=function(t,e,n){return n},AKt.Rk=function(t,e,n){return n},mW(h6t,"EStructuralFeatureImpl/SimpleContentFeatureMapEntry",1330),fBt(642,565,q8t,iR),AKt.Ok=function(t){return new iR(this.c,t)},AKt.dd=function(){return this.a},AKt.Qk=function(t,e,n){return n},AKt.Rk=function(t,e,n){return n},mW(h6t,"EStructuralFeatureImpl/SimpleFeatureMapEntry",642),fBt(391,497,l7t,zc),AKt.ri=function(t){return P7($Be,zKt,26,t,0,1)},AKt.ni=function(){return!1},mW(h6t,"ESuperAdapter/1",391),fBt(444,438,{105:1,92:1,90:1,147:1,191:1,56:1,108:1,836:1,49:1,97:1,150:1,444:1,114:1,115:1},Vc),AKt._g=function(t,e,n){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),this.Ab;case 1:return this.zb;case 2:return!this.a&&(this.a=new rq(this,GBe,this)),this.a}return q8(this,t-hW((pKt(),yMe)),eet(jz(kat(this,16),26)||yMe,t),e,n)},AKt.jh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),Fbt(this.Ab,t,n);case 2:return!this.a&&(this.a=new rq(this,GBe,this)),Fbt(this.a,t,n)}return jz(eet(jz(kat(this,16),26)||(pKt(),yMe),e),66).Nj().Rj(this,umt(this),e-hW((pKt(),yMe)),t,n)},AKt.lh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return!!this.a&&0!=this.a.i}return S3(this,t-hW((pKt(),yMe)),eet(jz(kat(this,16),26)||yMe,t))},AKt.sh=function(t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),cHt(this.Ab),!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void pW(this.Ab,jz(e,14));case 1:return void Prt(this,AN(e));case 2:return!this.a&&(this.a=new rq(this,GBe,this)),cHt(this.a),!this.a&&(this.a=new rq(this,GBe,this)),void pW(this.a,jz(e,14))}Mft(this,t-hW((pKt(),yMe)),eet(jz(kat(this,16),26)||yMe,t),e)},AKt.zh=function(){return pKt(),yMe},AKt.Bh=function(t){switch(t){case 0:return!this.Ab&&(this.Ab=new tG(OBe,this,0,3)),void cHt(this.Ab);case 1:return void Prt(this,null);case 2:return!this.a&&(this.a=new rq(this,GBe,this)),void cHt(this.a)}Vht(this,t-hW((pKt(),yMe)),eet(jz(kat(this,16),26)||yMe,t))},mW(h6t,"ETypeParameterImpl",444),fBt(445,85,N8t,rq),AKt.cj=function(t,e){return MAt(this,jz(t,87),e)},AKt.dj=function(t,e){return PAt(this,jz(t,87),e)},mW(h6t,"ETypeParameterImpl/1",445),fBt(634,43,tZt,Pk),AKt.ec=function(){return new _b(this)},mW(h6t,"ETypeParameterImpl/2",634),fBt(556,JKt,tYt,_b),AKt.Fc=function(t){return YR(this,jz(t,87))},AKt.Gc=function(t){var e,n,i;for(i=!1,n=t.Kc();n.Ob();)e=jz(n.Pb(),87),null==WK(this.a,e,"")&&(i=!0);return i},AKt.$b=function(){IG(this.a)},AKt.Hc=function(t){return cG(this.a,t)},AKt.Kc=function(){return new Cb(new alt(new xf(this.a).a))},AKt.Mc=function(t){return R6(this,t)},AKt.gc=function(){return MA(this.a)},mW(h6t,"ETypeParameterImpl/2/1",556),fBt(557,1,YKt,Cb),AKt.Nb=function(t){lG(this,t)},AKt.Pb=function(){return jz(tnt(this.a).cd(),87)},AKt.Ob=function(){return this.a.b},AKt.Qb=function(){a8(this.a)},mW(h6t,"ETypeParameterImpl/2/1/1",557),fBt(1276,43,tZt,Lk),AKt._b=function(t){return UD(t)?tZ(this,t):!!DZ(this.f,t)},AKt.xc=function(t){var e;return iP(e=UD(t)?AQ(this,t):zD(DZ(this.f,t)),837)?(e=jz(e,837)._j(),WK(this,jz(t,235),e),e):null!=e?e:null==t?(Xx(),ePe):null},mW(h6t,"EValidatorRegistryImpl",1276),fBt(1313,704,{105:1,92:1,90:1,471:1,147:1,56:1,108:1,1941:1,49:1,97:1,150:1,114:1,115:1},Hc),AKt.Ih=function(t,e){switch(t.yj()){case 21:case 22:case 23:case 24:case 26:case 31:case 32:case 37:case 38:case 39:case 40:case 43:case 44:case 48:case 49:case 20:return null==e?null:$ft(e);case 25:return Get(e);case 27:return U8(e);case 28:return G8(e);case 29:return null==e?null:$M(TIe[0],jz(e,199));case 41:return null==e?"":Q_(jz(e,290));case 42:return $ft(e);case 50:return AN(e);default:throw $b(new Rv(g6t+t.ne()+p6t))}},AKt.Jh=function(t){var e;switch(-1==t.G&&(t.G=(e=Uet(t))?awt(e.Mh(),t):-1),t.G){case 0:return new Sk;case 1:return new _c;case 2:return new Nh;case 4:return new yw;case 5:return new Dk;case 6:return new vw;case 7:return new Lh;case 10:return new vc;case 11:return new Ik;case 12:return new mZ;case 13:return new Bk;case 14:return new pN;case 17:return new Bc;case 18:return new Nb;case 19:return new Vc;default:throw $b(new Rv(w6t+t.zb+p6t))}},AKt.Kh=function(t,e){switch(t.yj()){case 20:return null==e?null:new dC(e);case 21:return null==e?null:new IB(e);case 23:case 22:return null==e?null:Qpt(e);case 26:case 24:return null==e?null:xtt(hjt(e,-128,127)<<24>>24);case 25:return gMt(e);case 27:return xvt(e);case 28:return Evt(e);case 29:return pxt(e);case 32:case 31:return null==e?null:dEt(e);case 38:case 37:return null==e?null:new Lw(e);case 40:case 39:return null==e?null:ndt(hjt(e,FYt,OKt));case 41:case 42:return null;case 44:case 43:return null==e?null:ymt(iGt(e));case 49:case 48:return null==e?null:idt(hjt(e,Y8t,32767)<<16>>16);case 50:return e;default:throw $b(new Rv(g6t+t.ne()+p6t))}},mW(h6t,"EcoreFactoryImpl",1313),fBt(547,179,{105:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,1939:1,49:1,97:1,150:1,179:1,547:1,114:1,115:1,675:1},qK),AKt.gb=!1,AKt.hb=!1;var GMe,WMe=!1;mW(h6t,"EcorePackageImpl",547),fBt(1184,1,{837:1},qc),AKt._j=function(){return sL(),nPe},mW(h6t,"EcorePackageImpl/1",1184),fBt(1193,1,c9t,Uc),AKt.wj=function(t){return iP(t,147)},AKt.xj=function(t){return P7(FIe,zKt,147,t,0,1)},mW(h6t,"EcorePackageImpl/10",1193),fBt(1194,1,c9t,Gc),AKt.wj=function(t){return iP(t,191)},AKt.xj=function(t){return P7($Ie,zKt,191,t,0,1)},mW(h6t,"EcorePackageImpl/11",1194),fBt(1195,1,c9t,Wc),AKt.wj=function(t){return iP(t,56)},AKt.xj=function(t){return P7(IIe,zKt,56,t,0,1)},mW(h6t,"EcorePackageImpl/12",1195),fBt(1196,1,c9t,Kc),AKt.wj=function(t){return iP(t,399)},AKt.xj=function(t){return P7(WBe,L8t,59,t,0,1)},mW(h6t,"EcorePackageImpl/13",1196),fBt(1197,1,c9t,Yc),AKt.wj=function(t){return iP(t,235)},AKt.xj=function(t){return P7(zIe,zKt,235,t,0,1)},mW(h6t,"EcorePackageImpl/14",1197),fBt(1198,1,c9t,Xc),AKt.wj=function(t){return iP(t,509)},AKt.xj=function(t){return P7(KBe,zKt,2017,t,0,1)},mW(h6t,"EcorePackageImpl/15",1198),fBt(1199,1,c9t,Zc),AKt.wj=function(t){return iP(t,99)},AKt.xj=function(t){return P7(YBe,P8t,18,t,0,1)},mW(h6t,"EcorePackageImpl/16",1199),fBt(1200,1,c9t,Qc),AKt.wj=function(t){return iP(t,170)},AKt.xj=function(t){return P7(RBe,P8t,170,t,0,1)},mW(h6t,"EcorePackageImpl/17",1200),fBt(1201,1,c9t,Jc),AKt.wj=function(t){return iP(t,472)},AKt.xj=function(t){return P7(NBe,zKt,472,t,0,1)},mW(h6t,"EcorePackageImpl/18",1201),fBt(1202,1,c9t,tl),AKt.wj=function(t){return iP(t,548)},AKt.xj=function(t){return P7(qMe,o8t,548,t,0,1)},mW(h6t,"EcorePackageImpl/19",1202),fBt(1185,1,c9t,el),AKt.wj=function(t){return iP(t,322)},AKt.xj=function(t){return P7(FBe,P8t,34,t,0,1)},mW(h6t,"EcorePackageImpl/2",1185),fBt(1203,1,c9t,nl),AKt.wj=function(t){return iP(t,241)},AKt.xj=function(t){return P7(GBe,$8t,87,t,0,1)},mW(h6t,"EcorePackageImpl/20",1203),fBt(1204,1,c9t,il),AKt.wj=function(t){return iP(t,444)},AKt.xj=function(t){return P7(TMe,zKt,836,t,0,1)},mW(h6t,"EcorePackageImpl/21",1204),fBt(1205,1,c9t,rl),AKt.wj=function(t){return HD(t)},AKt.xj=function(t){return P7(vee,cYt,476,t,8,1)},mW(h6t,"EcorePackageImpl/22",1205),fBt(1206,1,c9t,ol),AKt.wj=function(t){return iP(t,190)},AKt.xj=function(t){return P7(BLe,cYt,190,t,0,2)},mW(h6t,"EcorePackageImpl/23",1206),fBt(1207,1,c9t,al),AKt.wj=function(t){return iP(t,217)},AKt.xj=function(t){return P7(Cee,cYt,217,t,0,1)},mW(h6t,"EcorePackageImpl/24",1207),fBt(1208,1,c9t,sl),AKt.wj=function(t){return iP(t,172)},AKt.xj=function(t){return P7(xee,cYt,172,t,0,1)},mW(h6t,"EcorePackageImpl/25",1208),fBt(1209,1,c9t,cl),AKt.wj=function(t){return iP(t,199)},AKt.xj=function(t){return P7(wee,cYt,199,t,0,1)},mW(h6t,"EcorePackageImpl/26",1209),fBt(1210,1,c9t,ll),AKt.wj=function(t){return!1},AKt.xj=function(t){return P7(NLe,zKt,2110,t,0,1)},mW(h6t,"EcorePackageImpl/27",1210),fBt(1211,1,c9t,ul),AKt.wj=function(t){return qD(t)},AKt.xj=function(t){return P7(Eee,cYt,333,t,7,1)},mW(h6t,"EcorePackageImpl/28",1211),fBt(1212,1,c9t,hl),AKt.wj=function(t){return iP(t,58)},AKt.xj=function(t){return P7(rBe,JQt,58,t,0,1)},mW(h6t,"EcorePackageImpl/29",1212),fBt(1186,1,c9t,dl),AKt.wj=function(t){return iP(t,510)},AKt.xj=function(t){return P7(OBe,{3:1,4:1,5:1,1934:1},590,t,0,1)},mW(h6t,"EcorePackageImpl/3",1186),fBt(1213,1,c9t,fl),AKt.wj=function(t){return iP(t,573)},AKt.xj=function(t){return P7(bBe,zKt,1940,t,0,1)},mW(h6t,"EcorePackageImpl/30",1213),fBt(1214,1,c9t,gl),AKt.wj=function(t){return iP(t,153)},AKt.xj=function(t){return P7(uPe,JQt,153,t,0,1)},mW(h6t,"EcorePackageImpl/31",1214),fBt(1215,1,c9t,pl),AKt.wj=function(t){return iP(t,72)},AKt.xj=function(t){return P7(DMe,l9t,72,t,0,1)},mW(h6t,"EcorePackageImpl/32",1215),fBt(1216,1,c9t,ml),AKt.wj=function(t){return iP(t,155)},AKt.xj=function(t){return P7(Tee,cYt,155,t,0,1)},mW(h6t,"EcorePackageImpl/33",1216),fBt(1217,1,c9t,bl),AKt.wj=function(t){return iP(t,19)},AKt.xj=function(t){return P7(Iee,cYt,19,t,0,1)},mW(h6t,"EcorePackageImpl/34",1217),fBt(1218,1,c9t,wl),AKt.wj=function(t){return iP(t,290)},AKt.xj=function(t){return P7(Bte,zKt,290,t,0,1)},mW(h6t,"EcorePackageImpl/35",1218),fBt(1219,1,c9t,kl),AKt.wj=function(t){return iP(t,162)},AKt.xj=function(t){return P7(Nee,cYt,162,t,0,1)},mW(h6t,"EcorePackageImpl/36",1219),fBt(1220,1,c9t,vl),AKt.wj=function(t){return iP(t,83)},AKt.xj=function(t){return P7(Pte,zKt,83,t,0,1)},mW(h6t,"EcorePackageImpl/37",1220),fBt(1221,1,c9t,yl),AKt.wj=function(t){return iP(t,591)},AKt.xj=function(t){return P7(tPe,zKt,591,t,0,1)},mW(h6t,"EcorePackageImpl/38",1221),fBt(1222,1,c9t,_l),AKt.wj=function(t){return!1},AKt.xj=function(t){return P7(RLe,zKt,2111,t,0,1)},mW(h6t,"EcorePackageImpl/39",1222),fBt(1187,1,c9t,Cl),AKt.wj=function(t){return iP(t,88)},AKt.xj=function(t){return P7($Be,zKt,26,t,0,1)},mW(h6t,"EcorePackageImpl/4",1187),fBt(1223,1,c9t,Al),AKt.wj=function(t){return iP(t,184)},AKt.xj=function(t){return P7(Fee,cYt,184,t,0,1)},mW(h6t,"EcorePackageImpl/40",1223),fBt(1224,1,c9t,xl),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(h6t,"EcorePackageImpl/41",1224),fBt(1225,1,c9t,El),AKt.wj=function(t){return iP(t,588)},AKt.xj=function(t){return P7(cBe,zKt,588,t,0,1)},mW(h6t,"EcorePackageImpl/42",1225),fBt(1226,1,c9t,Tl),AKt.wj=function(t){return!1},AKt.xj=function(t){return P7(FLe,cYt,2112,t,0,1)},mW(h6t,"EcorePackageImpl/43",1226),fBt(1227,1,c9t,Sl),AKt.wj=function(t){return iP(t,42)},AKt.xj=function(t){return P7(zte,vYt,42,t,0,1)},mW(h6t,"EcorePackageImpl/44",1227),fBt(1188,1,c9t,Dl),AKt.wj=function(t){return iP(t,138)},AKt.xj=function(t){return P7(jBe,zKt,138,t,0,1)},mW(h6t,"EcorePackageImpl/5",1188),fBt(1189,1,c9t,Il),AKt.wj=function(t){return iP(t,148)},AKt.xj=function(t){return P7(zBe,zKt,148,t,0,1)},mW(h6t,"EcorePackageImpl/6",1189),fBt(1190,1,c9t,Bl),AKt.wj=function(t){return iP(t,457)},AKt.xj=function(t){return P7(qBe,zKt,671,t,0,1)},mW(h6t,"EcorePackageImpl/7",1190),fBt(1191,1,c9t,Ml),AKt.wj=function(t){return iP(t,573)},AKt.xj=function(t){return P7(UBe,zKt,678,t,0,1)},mW(h6t,"EcorePackageImpl/8",1191),fBt(1192,1,c9t,Pl),AKt.wj=function(t){return iP(t,471)},AKt.xj=function(t){return P7(jIe,zKt,471,t,0,1)},mW(h6t,"EcorePackageImpl/9",1192),fBt(1025,1982,i8t,Pv),AKt.bi=function(t,e){Iht(this,jz(e,415))},AKt.fi=function(t,e){eSt(this,t,jz(e,415))},mW(h6t,"MinimalEObjectImpl/1ArrayDelegatingAdapterList",1025),fBt(1026,143,t8t,oK),AKt.Ai=function(){return this.a.a},mW(h6t,"MinimalEObjectImpl/1ArrayDelegatingAdapterList/1",1026),fBt(1053,1052,{},aM),mW("org.eclipse.emf.ecore.plugin","EcorePlugin",1053);var KMe,YMe,XMe,ZMe,QMe,JMe,tPe=hH(u9t,"Resource");fBt(781,1378,h9t),AKt.Yk=function(t){},AKt.Zk=function(t){},AKt.Vk=function(){return!this.a&&(this.a=new Ab(this)),this.a},AKt.Wk=function(t){var e,n,i,r,o;if((i=t.length)>0){if(h1(0,t.length),47==t.charCodeAt(0)){for(o=new X6(4),r=1,e=1;e0&&(t=t.substr(0,n))}return yDt(this,t)},AKt.Xk=function(){return this.c},AKt.Ib=function(){return Q_(this.gm)+"@"+(Jct(this)>>>0).toString(16)+" uri='"+this.d+"'"},AKt.b=!1,mW(d9t,"ResourceImpl",781),fBt(1379,781,h9t,Eb),mW(d9t,"BinaryResourceImpl",1379),fBt(1169,694,u7t),AKt.si=function(t){return iP(t,56)?_Z(this,jz(t,56)):iP(t,591)?new DP(jz(t,591).Vk()):VD(t)===VD(this.f)?jz(t,14).Kc():(fN(),gBe.a)},AKt.Ob=function(){return dIt(this)},AKt.a=!1,mW(k8t,"EcoreUtil/ContentTreeIterator",1169),fBt(1380,1169,u7t,nG),AKt.si=function(t){return VD(t)===VD(this.f)?jz(t,15).Kc():new F2(jz(t,56))},mW(d9t,"ResourceImpl/5",1380),fBt(648,1994,O8t,Ab),AKt.Hc=function(t){return this.i<=4?x_t(this,t):iP(t,49)&&jz(t,49).Zg()==this.a},AKt.bi=function(t,e){t==this.i-1&&(this.a.b||(this.a.b=!0))},AKt.di=function(t,e){0==t?this.a.b||(this.a.b=!0):B7(this,t,e)},AKt.fi=function(t,e){},AKt.gi=function(t,e,n){},AKt.aj=function(){return 2},AKt.Ai=function(){return this.a},AKt.bj=function(){return!0},AKt.cj=function(t,e){return e=jz(t,49).wh(this.a,e)},AKt.dj=function(t,e){return jz(t,49).wh(null,e)},AKt.ej=function(){return!1},AKt.hi=function(){return!0},AKt.ri=function(t){return P7(IIe,zKt,56,t,0,1)},AKt.ni=function(){return!1},mW(d9t,"ResourceImpl/ContentsEList",648),fBt(957,1964,MYt,xb),AKt.Zc=function(t){return this.a._h(t)},AKt.gc=function(){return this.a.gc()},mW(k8t,"AbstractSequentialInternalEList/1",957),fBt(624,1,{},AV),mW(k8t,"BasicExtendedMetaData",624),fBt(1160,1,{},ID),AKt.$k=function(){return null},AKt._k=function(){return-2==this.a&&af(this,oxt(this.d,this.b)),this.a},AKt.al=function(){return null},AKt.bl=function(){return AX(),AX(),cne},AKt.ne=function(){return this.c==T9t&&cf(this,_mt(this.d,this.b)),this.c},AKt.cl=function(){return 0},AKt.a=-2,AKt.c=T9t,mW(k8t,"BasicExtendedMetaData/EClassExtendedMetaDataImpl",1160),fBt(1161,1,{},R0),AKt.$k=function(){return this.a==(O4(),QMe)&&sf(this,bLt(this.f,this.b)),this.a},AKt._k=function(){return 0},AKt.al=function(){return this.c==(O4(),QMe)&&lf(this,wLt(this.f,this.b)),this.c},AKt.bl=function(){return!this.d&&uf(this,xFt(this.f,this.b)),this.d},AKt.ne=function(){return this.e==T9t&&hf(this,_mt(this.f,this.b)),this.e},AKt.cl=function(){return-2==this.g&&df(this,XCt(this.f,this.b)),this.g},AKt.e=T9t,AKt.g=-2,mW(k8t,"BasicExtendedMetaData/EDataTypeExtendedMetaDataImpl",1161),fBt(1159,1,{},OD),AKt.b=!1,AKt.c=!1,mW(k8t,"BasicExtendedMetaData/EPackageExtendedMetaDataImpl",1159),fBt(1162,1,{},N0),AKt.c=-2,AKt.e=T9t,AKt.f=T9t,mW(k8t,"BasicExtendedMetaData/EStructuralFeatureExtendedMetaDataImpl",1162),fBt(585,622,N8t,CV),AKt.aj=function(){return this.c},AKt.Fk=function(){return!1},AKt.li=function(t,e){return e},AKt.c=0,mW(k8t,"EDataTypeEList",585);var ePe,nPe,iPe,rPe,oPe,aPe,sPe,cPe,lPe,uPe=hH(k8t,"FeatureMap");fBt(75,585,{3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1,76:1,153:1,215:1,1937:1,69:1,95:1},_ot),AKt.Vc=function(t,e){hLt(this,t,jz(e,72))},AKt.Fc=function(t){return aPt(this,jz(t,72))},AKt.Yh=function(t){fW(this,jz(t,72))},AKt.cj=function(t,e){return $F(this,jz(t,72),e)},AKt.dj=function(t,e){return zF(this,jz(t,72),e)},AKt.ii=function(t,e){return ojt(this,t,e)},AKt.li=function(t,e){return lqt(this,t,jz(e,72))},AKt._c=function(t,e){return EOt(this,t,jz(e,72))},AKt.jj=function(t,e){return VF(this,jz(t,72),e)},AKt.kj=function(t,e){return HF(this,jz(t,72),e)},AKt.lj=function(t,e,n){return pCt(this,jz(t,72),jz(e,72),n)},AKt.oi=function(t,e){return cAt(this,t,jz(e,72))},AKt.dl=function(t,e){return LFt(this,t,e)},AKt.Wc=function(t,e){var n,i,r,o,a,s,c,l,u;for(l=new pet(e.gc()),r=e.Kc();r.Ob();)if(o=(i=jz(r.Pb(),72)).ak(),BOt(this.e,o))(!o.hi()||!V3(this,o,i.dd())&&!x_t(l,i))&&l8(l,i);else{for(u=oOt(this.e.Tg(),o),n=jz(this.g,119),a=!0,s=0;s=0;)if(e=t[this.c],this.k.rl(e.ak()))return this.j=this.f?e:e.dd(),this.i=-2,!0;return this.i=-1,this.g=-1,!1},mW(k8t,"BasicFeatureMap/FeatureEIterator",410),fBt(662,410,rYt,PI),AKt.Lk=function(){return!0},mW(k8t,"BasicFeatureMap/ResolvingFeatureEIterator",662),fBt(955,486,V8t,HM),AKt.Gi=function(){return this},mW(k8t,"EContentsEList/1",955),fBt(956,486,V8t,LI),AKt.Lk=function(){return!1},mW(k8t,"EContentsEList/2",956),fBt(954,279,H8t,qM),AKt.Nk=function(t){},AKt.Ob=function(){return!1},AKt.Sb=function(){return!1},mW(k8t,"EContentsEList/FeatureIteratorImpl/1",954),fBt(825,585,N8t,NP),AKt.ci=function(){this.a=!0},AKt.fj=function(){return this.a},AKt.Xj=function(){var t;cHt(this),bB(this.e)?(t=this.a,this.a=!1,dat(this.e,new J4(this.e,2,this.c,t,!1))):this.a=!1},AKt.a=!1,mW(k8t,"EDataTypeEList/Unsettable",825),fBt(1849,585,N8t,RP),AKt.hi=function(){return!0},mW(k8t,"EDataTypeUniqueEList",1849),fBt(1850,825,N8t,FP),AKt.hi=function(){return!0},mW(k8t,"EDataTypeUniqueEList/Unsettable",1850),fBt(139,85,N8t,MP),AKt.Ek=function(){return!0},AKt.li=function(t,e){return HIt(this,t,jz(e,56))},mW(k8t,"EObjectContainmentEList/Resolving",139),fBt(1163,545,N8t,PP),AKt.Ek=function(){return!0},AKt.li=function(t,e){return HIt(this,t,jz(e,56))},mW(k8t,"EObjectContainmentEList/Unsettable/Resolving",1163),fBt(748,16,N8t,eF),AKt.ci=function(){this.a=!0},AKt.fj=function(){return this.a},AKt.Xj=function(){var t;cHt(this),bB(this.e)?(t=this.a,this.a=!1,dat(this.e,new J4(this.e,2,this.c,t,!1))):this.a=!1},AKt.a=!1,mW(k8t,"EObjectContainmentWithInverseEList/Unsettable",748),fBt(1173,748,N8t,nF),AKt.Ek=function(){return!0},AKt.li=function(t,e){return HIt(this,t,jz(e,56))},mW(k8t,"EObjectContainmentWithInverseEList/Unsettable/Resolving",1173),fBt(743,496,N8t,LP),AKt.ci=function(){this.a=!0},AKt.fj=function(){return this.a},AKt.Xj=function(){var t;cHt(this),bB(this.e)?(t=this.a,this.a=!1,dat(this.e,new J4(this.e,2,this.c,t,!1))):this.a=!1},AKt.a=!1,mW(k8t,"EObjectEList/Unsettable",743),fBt(328,496,N8t,OP),AKt.Ek=function(){return!0},AKt.li=function(t,e){return HIt(this,t,jz(e,56))},mW(k8t,"EObjectResolvingEList",328),fBt(1641,743,N8t,jP),AKt.Ek=function(){return!0},AKt.li=function(t,e){return HIt(this,t,jz(e,56))},mW(k8t,"EObjectResolvingEList/Unsettable",1641),fBt(1381,1,{},Ll),mW(k8t,"EObjectValidator",1381),fBt(546,496,N8t,eG),AKt.zk=function(){return this.d},AKt.Ak=function(){return this.b},AKt.bj=function(){return!0},AKt.Dk=function(){return!0},AKt.b=0,mW(k8t,"EObjectWithInverseEList",546),fBt(1176,546,N8t,iF),AKt.Ck=function(){return!0},mW(k8t,"EObjectWithInverseEList/ManyInverse",1176),fBt(625,546,N8t,rF),AKt.ci=function(){this.a=!0},AKt.fj=function(){return this.a},AKt.Xj=function(){var t;cHt(this),bB(this.e)?(t=this.a,this.a=!1,dat(this.e,new J4(this.e,2,this.c,t,!1))):this.a=!1},AKt.a=!1,mW(k8t,"EObjectWithInverseEList/Unsettable",625),fBt(1175,625,N8t,aF),AKt.Ck=function(){return!0},mW(k8t,"EObjectWithInverseEList/Unsettable/ManyInverse",1175),fBt(749,546,N8t,oF),AKt.Ek=function(){return!0},AKt.li=function(t,e){return HIt(this,t,jz(e,56))},mW(k8t,"EObjectWithInverseResolvingEList",749),fBt(31,749,N8t,cF),AKt.Ck=function(){return!0},mW(k8t,"EObjectWithInverseResolvingEList/ManyInverse",31),fBt(750,625,N8t,sF),AKt.Ek=function(){return!0},AKt.li=function(t,e){return HIt(this,t,jz(e,56))},mW(k8t,"EObjectWithInverseResolvingEList/Unsettable",750),fBt(1174,750,N8t,lF),AKt.Ck=function(){return!0},mW(k8t,"EObjectWithInverseResolvingEList/Unsettable/ManyInverse",1174),fBt(1164,622,N8t),AKt.ai=function(){return!(1792&this.b)},AKt.ci=function(){this.b|=1},AKt.Bk=function(){return!!(4&this.b)},AKt.bj=function(){return!!(40&this.b)},AKt.Ck=function(){return!!(16&this.b)},AKt.Dk=function(){return!!(8&this.b)},AKt.Ek=function(){return!!(this.b&A8t)},AKt.rk=function(){return!!(32&this.b)},AKt.Fk=function(){return!!(this.b&v6t)},AKt.wj=function(t){return this.d?P3(this.d,t):this.ak().Yj().wj(t)},AKt.fj=function(){return 2&this.b?!!(1&this.b):0!=this.i},AKt.hi=function(){return!!(128&this.b)},AKt.Xj=function(){var t;cHt(this),2&this.b&&(bB(this.e)?(t=!!(1&this.b),this.b&=-2,Bw(this,new J4(this.e,2,Igt(this.e.Tg(),this.ak()),t,!1))):this.b&=-2)},AKt.ni=function(){return!(1536&this.b)},AKt.b=0,mW(k8t,"EcoreEList/Generic",1164),fBt(1165,1164,N8t,HX),AKt.ak=function(){return this.a},mW(k8t,"EcoreEList/Dynamic",1165),fBt(747,63,l7t,Tb),AKt.ri=function(t){return Ont(this.a.a,t)},mW(k8t,"EcoreEMap/1",747),fBt(746,85,N8t,ZU),AKt.bi=function(t,e){Swt(this.b,jz(e,133))},AKt.di=function(t,e){oat(this.b)},AKt.ei=function(t,e,n){var i;++(i=this.b,jz(e,133),i).e},AKt.fi=function(t,e){Ddt(this.b,jz(e,133))},AKt.gi=function(t,e,n){Ddt(this.b,jz(n,133)),VD(n)===VD(e)&&jz(n,133).Th(iM(jz(e,133).cd())),Swt(this.b,jz(e,133))},mW(k8t,"EcoreEMap/DelegateEObjectContainmentEList",746),fBt(1171,151,y8t,kit),mW(k8t,"EcoreEMap/Unsettable",1171),fBt(1172,746,N8t,uF),AKt.ci=function(){this.a=!0},AKt.fj=function(){return this.a},AKt.Xj=function(){var t;cHt(this),bB(this.e)?(t=this.a,this.a=!1,dat(this.e,new J4(this.e,2,this.c,t,!1))):this.a=!1},AKt.a=!1,mW(k8t,"EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList",1172),fBt(1168,228,tZt,uW),AKt.a=!1,AKt.b=!1,mW(k8t,"EcoreUtil/Copier",1168),fBt(745,1,YKt,F2),AKt.Nb=function(t){lG(this,t)},AKt.Ob=function(){return apt(this)},AKt.Pb=function(){var t;return apt(this),t=this.b,this.b=null,t},AKt.Qb=function(){this.a.Qb()},mW(k8t,"EcoreUtil/ProperContentIterator",745),fBt(1382,1381,{},Rh),mW(k8t,"EcoreValidator",1382),hH(k8t,"FeatureMapUtil/Validator"),fBt(1260,1,{1942:1},Ol),AKt.rl=function(t){return!0},mW(k8t,"FeatureMapUtil/1",1260),fBt(757,1,{1942:1},rGt),AKt.rl=function(t){var e;return this.c==t||(null==(e=_N(OW(this.a,t)))?LRt(this,t)?(n6(this.a,t,(cL(),bee)),!0):(n6(this.a,t,(cL(),mee)),!1):e==(cL(),bee))},AKt.e=!1,mW(k8t,"FeatureMapUtil/BasicValidator",757),fBt(758,43,tZt,UM),mW(k8t,"FeatureMapUtil/BasicValidator/Cache",758),fBt(501,52,{20:1,28:1,52:1,14:1,15:1,58:1,76:1,69:1,95:1},PD),AKt.Vc=function(t,e){IOt(this.c,this.b,t,e)},AKt.Fc=function(t){return LFt(this.c,this.b,t)},AKt.Wc=function(t,e){return yVt(this.c,this.b,t,e)},AKt.Gc=function(t){return ZM(this,t)},AKt.Xh=function(t,e){cet(this.c,this.b,t,e)},AKt.lk=function(t,e){return ERt(this.c,this.b,t,e)},AKt.pi=function(t){return nVt(this.c,this.b,t,!1)},AKt.Zh=function(){return vB(this.c,this.b)},AKt.$h=function(){return yB(this.c,this.b)},AKt._h=function(t){return I7(this.c,this.b,t)},AKt.mk=function(t,e){return JN(this,t,e)},AKt.$b=function(){Mw(this)},AKt.Hc=function(t){return V3(this.c,this.b,t)},AKt.Ic=function(t){return Aot(this.c,this.b,t)},AKt.Xb=function(t){return nVt(this.c,this.b,t,!0)},AKt.Wj=function(t){return this},AKt.Xc=function(t){return H3(this.c,this.b,t)},AKt.dc=function(){return $D(this)},AKt.fj=function(){return!opt(this.c,this.b)},AKt.Kc=function(){return itt(this.c,this.b)},AKt.Yc=function(){return rtt(this.c,this.b)},AKt.Zc=function(t){return hdt(this.c,this.b,t)},AKt.ii=function(t,e){return w$t(this.c,this.b,t,e)},AKt.ji=function(t,e){K6(this.c,this.b,t,e)},AKt.$c=function(t){return oTt(this.c,this.b,t)},AKt.Mc=function(t){return TFt(this.c,this.b,t)},AKt._c=function(t,e){return G$t(this.c,this.b,t,e)},AKt.Wb=function(t){IIt(this.c,this.b),ZM(this,jz(t,15))},AKt.gc=function(){return Rdt(this.c,this.b)},AKt.Pc=function(){return V1(this.c,this.b)},AKt.Qc=function(t){return q3(this.c,this.b,t)},AKt.Ib=function(){var t,e;for((e=new Ay).a+="[",t=vB(this.c,this.b);Rlt(t);)iI(e,kL(rwt(t))),Rlt(t)&&(e.a+=jKt);return e.a+="]",e.a},AKt.Xj=function(){IIt(this.c,this.b)},mW(k8t,"FeatureMapUtil/FeatureEList",501),fBt(627,36,t8t,h5),AKt.yi=function(t){return edt(this,t)},AKt.Di=function(t){var e,n,i,r;switch(this.d){case 1:case 2:if(VD(t.Ai())===VD(this.c)&&edt(this,null)==t.yi(null))return this.g=t.zi(),1==t.xi()&&(this.d=1),!0;break;case 3:if(3===t.xi()&&VD(t.Ai())===VD(this.c)&&edt(this,null)==t.yi(null))return this.d=5,l8(e=new pet(2),this.g),l8(e,t.zi()),this.g=e,!0;break;case 5:if(3===t.xi()&&VD(t.Ai())===VD(this.c)&&edt(this,null)==t.yi(null))return jz(this.g,14).Fc(t.zi()),!0;break;case 4:switch(t.xi()){case 3:if(VD(t.Ai())===VD(this.c)&&edt(this,null)==t.yi(null))return this.d=1,this.g=t.zi(),!0;break;case 4:if(VD(t.Ai())===VD(this.c)&&edt(this,null)==t.yi(null))return this.d=6,l8(r=new pet(2),this.n),l8(r,t.Bi()),this.n=r,i=Est(Vy(SLe,1),lXt,25,15,[this.o,t.Ci()]),this.g=i,!0}break;case 6:if(4===t.xi()&&VD(t.Ai())===VD(this.c)&&edt(this,null)==t.yi(null))return jz(this.n,14).Fc(t.Bi()),oVt(i=jz(this.g,48),0,n=P7(SLe,lXt,25,i.length+1,15,1),0,i.length),n[i.length]=t.Ci(),this.g=n,!0}return!1},mW(k8t,"FeatureMapUtil/FeatureENotificationImpl",627),fBt(552,501,{20:1,28:1,52:1,14:1,15:1,58:1,76:1,153:1,215:1,1937:1,69:1,95:1},uH),AKt.dl=function(t,e){return LFt(this.c,t,e)},AKt.el=function(t,e,n){return ERt(this.c,t,e,n)},AKt.fl=function(t,e,n){return Qzt(this.c,t,e,n)},AKt.gl=function(){return this},AKt.hl=function(t,e){return iVt(this.c,t,e)},AKt.il=function(t){return jz(nVt(this.c,this.b,t,!1),72).ak()},AKt.jl=function(t){return jz(nVt(this.c,this.b,t,!1),72).dd()},AKt.kl=function(){return this.a},AKt.ll=function(t){return!opt(this.c,t)},AKt.ml=function(t,e){AVt(this.c,t,e)},AKt.nl=function(t){return qit(this.c,t)},AKt.ol=function(t){Rkt(this.c,t)},mW(k8t,"FeatureMapUtil/FeatureFeatureMap",552),fBt(1259,1,v8t,ND),AKt.Wj=function(t){return nVt(this.b,this.a,-1,t)},AKt.fj=function(){return!opt(this.b,this.a)},AKt.Wb=function(t){AVt(this.b,this.a,t)},AKt.Xj=function(){IIt(this.b,this.a)},mW(k8t,"FeatureMapUtil/FeatureValue",1259);var hPe=hH(D9t,"AnyType");fBt(666,60,$Yt,ey),mW(D9t,"InvalidDatatypeValueException",666);var dPe,fPe,gPe,pPe,mPe,bPe,wPe,kPe,vPe,yPe,_Pe,CPe,APe,xPe,EPe,TPe,SPe,DPe,IPe,BPe,MPe,PPe,LPe,OPe,NPe,RPe,FPe,jPe,$Pe,zPe,VPe=hH(D9t,I9t),HPe=hH(D9t,B9t),qPe=hH(D9t,M9t);fBt(830,506,{105:1,92:1,90:1,56:1,49:1,97:1,843:1},Ok),AKt._g=function(t,e,n){switch(t){case 0:return n?(!this.c&&(this.c=new _ot(this,0)),this.c):(!this.c&&(this.c=new _ot(this,0)),this.c.b);case 1:return n?(!this.c&&(this.c=new _ot(this,0)),jz(QJ(this.c,(UHt(),pPe)),153)):(!this.c&&(this.c=new _ot(this,0)),jz(jz(QJ(this.c,(UHt(),pPe)),153),215)).kl();case 2:return n?(!this.b&&(this.b=new _ot(this,2)),this.b):(!this.b&&(this.b=new _ot(this,2)),this.b.b)}return q8(this,t-hW(this.zh()),eet(2&this.j?(!this.k&&(this.k=new Oh),this.k).ck():this.zh(),t),e,n)},AKt.jh=function(t,e,n){switch(e){case 0:return!this.c&&(this.c=new _ot(this,0)),CFt(this.c,t,n);case 1:return(!this.c&&(this.c=new _ot(this,0)),jz(jz(QJ(this.c,(UHt(),pPe)),153),69)).mk(t,n);case 2:return!this.b&&(this.b=new _ot(this,2)),CFt(this.b,t,n)}return jz(eet(2&this.j?(!this.k&&(this.k=new Oh),this.k).ck():this.zh(),e),66).Nj().Rj(this,K9(this),e-hW(this.zh()),t,n)},AKt.lh=function(t){switch(t){case 0:return!!this.c&&0!=this.c.i;case 1:return!(!this.c&&(this.c=new _ot(this,0)),jz(QJ(this.c,(UHt(),pPe)),153)).dc();case 2:return!!this.b&&0!=this.b.i}return S3(this,t-hW(this.zh()),eet(2&this.j?(!this.k&&(this.k=new Oh),this.k).ck():this.zh(),t))},AKt.sh=function(t,e){switch(t){case 0:return!this.c&&(this.c=new _ot(this,0)),void JG(this.c,e);case 1:return void(!this.c&&(this.c=new _ot(this,0)),jz(jz(QJ(this.c,(UHt(),pPe)),153),215)).Wb(e);case 2:return!this.b&&(this.b=new _ot(this,2)),void JG(this.b,e)}Mft(this,t-hW(this.zh()),eet(2&this.j?(!this.k&&(this.k=new Oh),this.k).ck():this.zh(),t),e)},AKt.zh=function(){return UHt(),gPe},AKt.Bh=function(t){switch(t){case 0:return!this.c&&(this.c=new _ot(this,0)),void cHt(this.c);case 1:return void(!this.c&&(this.c=new _ot(this,0)),jz(QJ(this.c,(UHt(),pPe)),153)).$b();case 2:return!this.b&&(this.b=new _ot(this,2)),void cHt(this.b)}Vht(this,t-hW(this.zh()),eet(2&this.j?(!this.k&&(this.k=new Oh),this.k).ck():this.zh(),t))},AKt.Ib=function(){var t;return 4&this.j?EMt(this):((t=new lL(EMt(this))).a+=" (mixed: ",nI(t,this.c),t.a+=", anyAttribute: ",nI(t,this.b),t.a+=")",t.a)},mW(P9t,"AnyTypeImpl",830),fBt(667,506,{105:1,92:1,90:1,56:1,49:1,97:1,2021:1,667:1},Rl),AKt._g=function(t,e,n){switch(t){case 0:return this.a;case 1:return this.b}return q8(this,t-hW((UHt(),TPe)),eet(2&this.j?(!this.k&&(this.k=new Oh),this.k).ck():TPe,t),e,n)},AKt.lh=function(t){switch(t){case 0:return null!=this.a;case 1:return null!=this.b}return S3(this,t-hW((UHt(),TPe)),eet(2&this.j?(!this.k&&(this.k=new Oh),this.k).ck():TPe,t))},AKt.sh=function(t,e){switch(t){case 0:return void kf(this,AN(e));case 1:return void vf(this,AN(e))}Mft(this,t-hW((UHt(),TPe)),eet(2&this.j?(!this.k&&(this.k=new Oh),this.k).ck():TPe,t),e)},AKt.zh=function(){return UHt(),TPe},AKt.Bh=function(t){switch(t){case 0:return void(this.a=null);case 1:return void(this.b=null)}Vht(this,t-hW((UHt(),TPe)),eet(2&this.j?(!this.k&&(this.k=new Oh),this.k).ck():TPe,t))},AKt.Ib=function(){var t;return 4&this.j?EMt(this):((t=new lL(EMt(this))).a+=" (data: ",iI(t,this.a),t.a+=", target: ",iI(t,this.b),t.a+=")",t.a)},AKt.a=null,AKt.b=null,mW(P9t,"ProcessingInstructionImpl",667),fBt(668,830,{105:1,92:1,90:1,56:1,49:1,97:1,843:1,2022:1,668:1},Rk),AKt._g=function(t,e,n){switch(t){case 0:return n?(!this.c&&(this.c=new _ot(this,0)),this.c):(!this.c&&(this.c=new _ot(this,0)),this.c.b);case 1:return n?(!this.c&&(this.c=new _ot(this,0)),jz(QJ(this.c,(UHt(),pPe)),153)):(!this.c&&(this.c=new _ot(this,0)),jz(jz(QJ(this.c,(UHt(),pPe)),153),215)).kl();case 2:return n?(!this.b&&(this.b=new _ot(this,2)),this.b):(!this.b&&(this.b=new _ot(this,2)),this.b.b);case 3:return!this.c&&(this.c=new _ot(this,0)),AN(iVt(this.c,(UHt(),IPe),!0));case 4:return gF(this.a,(!this.c&&(this.c=new _ot(this,0)),AN(iVt(this.c,(UHt(),IPe),!0))));case 5:return this.a}return q8(this,t-hW((UHt(),DPe)),eet(2&this.j?(!this.k&&(this.k=new Oh),this.k).ck():DPe,t),e,n)},AKt.lh=function(t){switch(t){case 0:return!!this.c&&0!=this.c.i;case 1:return!(!this.c&&(this.c=new _ot(this,0)),jz(QJ(this.c,(UHt(),pPe)),153)).dc();case 2:return!!this.b&&0!=this.b.i;case 3:return!this.c&&(this.c=new _ot(this,0)),null!=AN(iVt(this.c,(UHt(),IPe),!0));case 4:return null!=gF(this.a,(!this.c&&(this.c=new _ot(this,0)),AN(iVt(this.c,(UHt(),IPe),!0))));case 5:return!!this.a}return S3(this,t-hW((UHt(),DPe)),eet(2&this.j?(!this.k&&(this.k=new Oh),this.k).ck():DPe,t))},AKt.sh=function(t,e){switch(t){case 0:return!this.c&&(this.c=new _ot(this,0)),void JG(this.c,e);case 1:return void(!this.c&&(this.c=new _ot(this,0)),jz(jz(QJ(this.c,(UHt(),pPe)),153),215)).Wb(e);case 2:return!this.b&&(this.b=new _ot(this,2)),void JG(this.b,e);case 3:return void F0(this,AN(e));case 4:return void F0(this,pF(this.a,e));case 5:return void yf(this,jz(e,148))}Mft(this,t-hW((UHt(),DPe)),eet(2&this.j?(!this.k&&(this.k=new Oh),this.k).ck():DPe,t),e)},AKt.zh=function(){return UHt(),DPe},AKt.Bh=function(t){switch(t){case 0:return!this.c&&(this.c=new _ot(this,0)),void cHt(this.c);case 1:return void(!this.c&&(this.c=new _ot(this,0)),jz(QJ(this.c,(UHt(),pPe)),153)).$b();case 2:return!this.b&&(this.b=new _ot(this,2)),void cHt(this.b);case 3:return!this.c&&(this.c=new _ot(this,0)),void AVt(this.c,(UHt(),IPe),null);case 4:return void F0(this,pF(this.a,null));case 5:return void(this.a=null)}Vht(this,t-hW((UHt(),DPe)),eet(2&this.j?(!this.k&&(this.k=new Oh),this.k).ck():DPe,t))},mW(P9t,"SimpleAnyTypeImpl",668),fBt(669,506,{105:1,92:1,90:1,56:1,49:1,97:1,2023:1,669:1},Nk),AKt._g=function(t,e,n){switch(t){case 0:return n?(!this.a&&(this.a=new _ot(this,0)),this.a):(!this.a&&(this.a=new _ot(this,0)),this.a.b);case 1:return n?(!this.b&&(this.b=new w8((pKt(),wMe),qMe,this,1)),this.b):(!this.b&&(this.b=new w8((pKt(),wMe),qMe,this,1)),D7(this.b));case 2:return n?(!this.c&&(this.c=new w8((pKt(),wMe),qMe,this,2)),this.c):(!this.c&&(this.c=new w8((pKt(),wMe),qMe,this,2)),D7(this.c));case 3:return!this.a&&(this.a=new _ot(this,0)),QJ(this.a,(UHt(),PPe));case 4:return!this.a&&(this.a=new _ot(this,0)),QJ(this.a,(UHt(),LPe));case 5:return!this.a&&(this.a=new _ot(this,0)),QJ(this.a,(UHt(),NPe));case 6:return!this.a&&(this.a=new _ot(this,0)),QJ(this.a,(UHt(),RPe))}return q8(this,t-hW((UHt(),MPe)),eet(2&this.j?(!this.k&&(this.k=new Oh),this.k).ck():MPe,t),e,n)},AKt.jh=function(t,e,n){switch(e){case 0:return!this.a&&(this.a=new _ot(this,0)),CFt(this.a,t,n);case 1:return!this.b&&(this.b=new w8((pKt(),wMe),qMe,this,1)),jF(this.b,t,n);case 2:return!this.c&&(this.c=new w8((pKt(),wMe),qMe,this,2)),jF(this.c,t,n);case 5:return!this.a&&(this.a=new _ot(this,0)),JN(QJ(this.a,(UHt(),NPe)),t,n)}return jz(eet(2&this.j?(!this.k&&(this.k=new Oh),this.k).ck():(UHt(),MPe),e),66).Nj().Rj(this,K9(this),e-hW((UHt(),MPe)),t,n)},AKt.lh=function(t){switch(t){case 0:return!!this.a&&0!=this.a.i;case 1:return!!this.b&&0!=this.b.f;case 2:return!!this.c&&0!=this.c.f;case 3:return!this.a&&(this.a=new _ot(this,0)),!$D(QJ(this.a,(UHt(),PPe)));case 4:return!this.a&&(this.a=new _ot(this,0)),!$D(QJ(this.a,(UHt(),LPe)));case 5:return!this.a&&(this.a=new _ot(this,0)),!$D(QJ(this.a,(UHt(),NPe)));case 6:return!this.a&&(this.a=new _ot(this,0)),!$D(QJ(this.a,(UHt(),RPe)))}return S3(this,t-hW((UHt(),MPe)),eet(2&this.j?(!this.k&&(this.k=new Oh),this.k).ck():MPe,t))},AKt.sh=function(t,e){switch(t){case 0:return!this.a&&(this.a=new _ot(this,0)),void JG(this.a,e);case 1:return!this.b&&(this.b=new w8((pKt(),wMe),qMe,this,1)),void tat(this.b,e);case 2:return!this.c&&(this.c=new w8((pKt(),wMe),qMe,this,2)),void tat(this.c,e);case 3:return!this.a&&(this.a=new _ot(this,0)),Mw(QJ(this.a,(UHt(),PPe))),!this.a&&(this.a=new _ot(this,0)),void ZM(QJ(this.a,PPe),jz(e,14));case 4:return!this.a&&(this.a=new _ot(this,0)),Mw(QJ(this.a,(UHt(),LPe))),!this.a&&(this.a=new _ot(this,0)),void ZM(QJ(this.a,LPe),jz(e,14));case 5:return!this.a&&(this.a=new _ot(this,0)),Mw(QJ(this.a,(UHt(),NPe))),!this.a&&(this.a=new _ot(this,0)),void ZM(QJ(this.a,NPe),jz(e,14));case 6:return!this.a&&(this.a=new _ot(this,0)),Mw(QJ(this.a,(UHt(),RPe))),!this.a&&(this.a=new _ot(this,0)),void ZM(QJ(this.a,RPe),jz(e,14))}Mft(this,t-hW((UHt(),MPe)),eet(2&this.j?(!this.k&&(this.k=new Oh),this.k).ck():MPe,t),e)},AKt.zh=function(){return UHt(),MPe},AKt.Bh=function(t){switch(t){case 0:return!this.a&&(this.a=new _ot(this,0)),void cHt(this.a);case 1:return!this.b&&(this.b=new w8((pKt(),wMe),qMe,this,1)),void this.b.c.$b();case 2:return!this.c&&(this.c=new w8((pKt(),wMe),qMe,this,2)),void this.c.c.$b();case 3:return!this.a&&(this.a=new _ot(this,0)),void Mw(QJ(this.a,(UHt(),PPe)));case 4:return!this.a&&(this.a=new _ot(this,0)),void Mw(QJ(this.a,(UHt(),LPe)));case 5:return!this.a&&(this.a=new _ot(this,0)),void Mw(QJ(this.a,(UHt(),NPe)));case 6:return!this.a&&(this.a=new _ot(this,0)),void Mw(QJ(this.a,(UHt(),RPe)))}Vht(this,t-hW((UHt(),MPe)),eet(2&this.j?(!this.k&&(this.k=new Oh),this.k).ck():MPe,t))},AKt.Ib=function(){var t;return 4&this.j?EMt(this):((t=new lL(EMt(this))).a+=" (mixed: ",nI(t,this.a),t.a+=")",t.a)},mW(P9t,"XMLTypeDocumentRootImpl",669),fBt(1919,704,{105:1,92:1,90:1,471:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1,2024:1},Nl),AKt.Ih=function(t,e){switch(t.yj()){case 7:case 8:case 9:case 10:case 16:case 22:case 23:case 24:case 25:case 26:case 32:case 33:case 34:case 36:case 37:case 44:case 45:case 50:case 51:case 53:case 55:case 56:case 57:case 58:case 60:case 61:case 4:return null==e?null:$ft(e);case 19:case 28:case 29:case 35:case 38:case 39:case 41:case 46:case 52:case 54:case 5:return AN(e);case 6:return bN(jz(e,190));case 12:case 47:case 49:case 11:return Vqt(this,t,e);case 13:return null==e?null:Hzt(jz(e,240));case 15:case 14:return null==e?null:OG(Vv(CN(e)));case 17:return _Ct((UHt(),e));case 18:return _Ct(e);case 21:case 20:return null==e?null:NG(jz(e,155).a);case 27:return wN(jz(e,190));case 30:return Fkt((UHt(),jz(e,15)));case 31:return Fkt(jz(e,15));case 40:return vN((UHt(),e));case 42:return CCt((UHt(),e));case 43:return CCt(e);case 59:case 48:return kN((UHt(),e));default:throw $b(new Rv(g6t+t.ne()+p6t))}},AKt.Jh=function(t){var e;switch(-1==t.G&&(t.G=(e=Uet(t))?awt(e.Mh(),t):-1),t.G){case 0:return new Ok;case 1:return new Rl;case 2:return new Rk;case 3:return new Nk;default:throw $b(new Rv(w6t+t.zb+p6t))}},AKt.Kh=function(t,e){var n,i,r,o,a,s,c,l,u,h,d,f,g,p,m,b;switch(t.yj()){case 5:case 52:case 4:return e;case 6:return kbt(e);case 8:case 7:return null==e?null:FCt(e);case 9:return null==e?null:xtt(hjt((i=jzt(e,!0)).length>0&&(h1(0,i.length),43==i.charCodeAt(0))?i.substr(1):i,-128,127)<<24>>24);case 10:return null==e?null:xtt(hjt((r=jzt(e,!0)).length>0&&(h1(0,r.length),43==r.charCodeAt(0))?r.substr(1):r,-128,127)<<24>>24);case 11:return AN(LWt(this,(UHt(),wPe),e));case 12:return AN(LWt(this,(UHt(),kPe),e));case 13:return null==e?null:new dC(jzt(e,!0));case 15:case 14:return pPt(e);case 16:return AN(LWt(this,(UHt(),vPe),e));case 17:return zpt((UHt(),e));case 18:return zpt(e);case 28:case 29:case 35:case 38:case 39:case 41:case 54:case 19:return jzt(e,!0);case 21:case 20:return SPt(e);case 22:return AN(LWt(this,(UHt(),yPe),e));case 23:return AN(LWt(this,(UHt(),_Pe),e));case 24:return AN(LWt(this,(UHt(),CPe),e));case 25:return AN(LWt(this,(UHt(),APe),e));case 26:return AN(LWt(this,(UHt(),xPe),e));case 27:return Qmt(e);case 30:return Vpt((UHt(),e));case 31:return Vpt(e);case 32:return null==e?null:ndt(hjt((u=jzt(e,!0)).length>0&&(h1(0,u.length),43==u.charCodeAt(0))?u.substr(1):u,FYt,OKt));case 33:return null==e?null:new IB((h=jzt(e,!0)).length>0&&(h1(0,h.length),43==h.charCodeAt(0))?h.substr(1):h);case 34:return null==e?null:ndt(hjt((d=jzt(e,!0)).length>0&&(h1(0,d.length),43==d.charCodeAt(0))?d.substr(1):d,FYt,OKt));case 36:return null==e?null:ymt(iGt((f=jzt(e,!0)).length>0&&(h1(0,f.length),43==f.charCodeAt(0))?f.substr(1):f));case 37:return null==e?null:ymt(iGt((g=jzt(e,!0)).length>0&&(h1(0,g.length),43==g.charCodeAt(0))?g.substr(1):g));case 40:return Kgt((UHt(),e));case 42:return Hpt((UHt(),e));case 43:return Hpt(e);case 44:return null==e?null:new IB((p=jzt(e,!0)).length>0&&(h1(0,p.length),43==p.charCodeAt(0))?p.substr(1):p);case 45:return null==e?null:new IB((m=jzt(e,!0)).length>0&&(h1(0,m.length),43==m.charCodeAt(0))?m.substr(1):m);case 46:return jzt(e,!1);case 47:return AN(LWt(this,(UHt(),EPe),e));case 59:case 48:return Wgt((UHt(),e));case 49:return AN(LWt(this,(UHt(),SPe),e));case 50:return null==e?null:idt(hjt((b=jzt(e,!0)).length>0&&(h1(0,b.length),43==b.charCodeAt(0))?b.substr(1):b,Y8t,32767)<<16>>16);case 51:return null==e?null:idt(hjt((o=jzt(e,!0)).length>0&&(h1(0,o.length),43==o.charCodeAt(0))?o.substr(1):o,Y8t,32767)<<16>>16);case 53:return AN(LWt(this,(UHt(),BPe),e));case 55:return null==e?null:idt(hjt((a=jzt(e,!0)).length>0&&(h1(0,a.length),43==a.charCodeAt(0))?a.substr(1):a,Y8t,32767)<<16>>16);case 56:return null==e?null:idt(hjt((s=jzt(e,!0)).length>0&&(h1(0,s.length),43==s.charCodeAt(0))?s.substr(1):s,Y8t,32767)<<16>>16);case 57:return null==e?null:ymt(iGt((c=jzt(e,!0)).length>0&&(h1(0,c.length),43==c.charCodeAt(0))?c.substr(1):c));case 58:return null==e?null:ymt(iGt((l=jzt(e,!0)).length>0&&(h1(0,l.length),43==l.charCodeAt(0))?l.substr(1):l));case 60:return null==e?null:ndt(hjt((n=jzt(e,!0)).length>0&&(h1(0,n.length),43==n.charCodeAt(0))?n.substr(1):n,FYt,OKt));case 61:return null==e?null:ndt(hjt(jzt(e,!0),FYt,OKt));default:throw $b(new Rv(g6t+t.ne()+p6t))}},mW(P9t,"XMLTypeFactoryImpl",1919),fBt(586,179,{105:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,49:1,97:1,150:1,179:1,114:1,115:1,675:1,1945:1,586:1},HK),AKt.N=!1,AKt.O=!1;var UPe,GPe,WPe,KPe,YPe,XPe=!1;mW(P9t,"XMLTypePackageImpl",586),fBt(1852,1,{837:1},Fl),AKt._j=function(){return u$t(),yLe},mW(P9t,"XMLTypePackageImpl/1",1852),fBt(1861,1,c9t,jl),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/10",1861),fBt(1862,1,c9t,$l),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/11",1862),fBt(1863,1,c9t,zl),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/12",1863),fBt(1864,1,c9t,Vl),AKt.wj=function(t){return qD(t)},AKt.xj=function(t){return P7(Eee,cYt,333,t,7,1)},mW(P9t,"XMLTypePackageImpl/13",1864),fBt(1865,1,c9t,Hl),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/14",1865),fBt(1866,1,c9t,ql),AKt.wj=function(t){return iP(t,15)},AKt.xj=function(t){return P7(Nte,JQt,15,t,0,1)},mW(P9t,"XMLTypePackageImpl/15",1866),fBt(1867,1,c9t,Ul),AKt.wj=function(t){return iP(t,15)},AKt.xj=function(t){return P7(Nte,JQt,15,t,0,1)},mW(P9t,"XMLTypePackageImpl/16",1867),fBt(1868,1,c9t,Gl),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/17",1868),fBt(1869,1,c9t,Wl),AKt.wj=function(t){return iP(t,155)},AKt.xj=function(t){return P7(Tee,cYt,155,t,0,1)},mW(P9t,"XMLTypePackageImpl/18",1869),fBt(1870,1,c9t,Kl),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/19",1870),fBt(1853,1,c9t,Yl),AKt.wj=function(t){return iP(t,843)},AKt.xj=function(t){return P7(hPe,zKt,843,t,0,1)},mW(P9t,"XMLTypePackageImpl/2",1853),fBt(1871,1,c9t,Xl),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/20",1871),fBt(1872,1,c9t,Zl),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/21",1872),fBt(1873,1,c9t,Ql),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/22",1873),fBt(1874,1,c9t,Jl),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/23",1874),fBt(1875,1,c9t,tu),AKt.wj=function(t){return iP(t,190)},AKt.xj=function(t){return P7(BLe,cYt,190,t,0,2)},mW(P9t,"XMLTypePackageImpl/24",1875),fBt(1876,1,c9t,eu),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/25",1876),fBt(1877,1,c9t,nu),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/26",1877),fBt(1878,1,c9t,iu),AKt.wj=function(t){return iP(t,15)},AKt.xj=function(t){return P7(Nte,JQt,15,t,0,1)},mW(P9t,"XMLTypePackageImpl/27",1878),fBt(1879,1,c9t,ru),AKt.wj=function(t){return iP(t,15)},AKt.xj=function(t){return P7(Nte,JQt,15,t,0,1)},mW(P9t,"XMLTypePackageImpl/28",1879),fBt(1880,1,c9t,ou),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/29",1880),fBt(1854,1,c9t,au),AKt.wj=function(t){return iP(t,667)},AKt.xj=function(t){return P7(VPe,zKt,2021,t,0,1)},mW(P9t,"XMLTypePackageImpl/3",1854),fBt(1881,1,c9t,su),AKt.wj=function(t){return iP(t,19)},AKt.xj=function(t){return P7(Iee,cYt,19,t,0,1)},mW(P9t,"XMLTypePackageImpl/30",1881),fBt(1882,1,c9t,cu),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/31",1882),fBt(1883,1,c9t,lu),AKt.wj=function(t){return iP(t,162)},AKt.xj=function(t){return P7(Nee,cYt,162,t,0,1)},mW(P9t,"XMLTypePackageImpl/32",1883),fBt(1884,1,c9t,uu),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/33",1884),fBt(1885,1,c9t,hu),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/34",1885),fBt(1886,1,c9t,du),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/35",1886),fBt(1887,1,c9t,fu),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/36",1887),fBt(1888,1,c9t,gu),AKt.wj=function(t){return iP(t,15)},AKt.xj=function(t){return P7(Nte,JQt,15,t,0,1)},mW(P9t,"XMLTypePackageImpl/37",1888),fBt(1889,1,c9t,pu),AKt.wj=function(t){return iP(t,15)},AKt.xj=function(t){return P7(Nte,JQt,15,t,0,1)},mW(P9t,"XMLTypePackageImpl/38",1889),fBt(1890,1,c9t,mu),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/39",1890),fBt(1855,1,c9t,bu),AKt.wj=function(t){return iP(t,668)},AKt.xj=function(t){return P7(HPe,zKt,2022,t,0,1)},mW(P9t,"XMLTypePackageImpl/4",1855),fBt(1891,1,c9t,wu),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/40",1891),fBt(1892,1,c9t,ku),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/41",1892),fBt(1893,1,c9t,vu),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/42",1893),fBt(1894,1,c9t,yu),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/43",1894),fBt(1895,1,c9t,_u),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/44",1895),fBt(1896,1,c9t,Cu),AKt.wj=function(t){return iP(t,184)},AKt.xj=function(t){return P7(Fee,cYt,184,t,0,1)},mW(P9t,"XMLTypePackageImpl/45",1896),fBt(1897,1,c9t,Au),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/46",1897),fBt(1898,1,c9t,xu),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/47",1898),fBt(1899,1,c9t,Eu),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/48",1899),fBt(cXt,1,c9t,Tu),AKt.wj=function(t){return iP(t,184)},AKt.xj=function(t){return P7(Fee,cYt,184,t,0,1)},mW(P9t,"XMLTypePackageImpl/49",cXt),fBt(1856,1,c9t,Su),AKt.wj=function(t){return iP(t,669)},AKt.xj=function(t){return P7(qPe,zKt,2023,t,0,1)},mW(P9t,"XMLTypePackageImpl/5",1856),fBt(1901,1,c9t,Du),AKt.wj=function(t){return iP(t,162)},AKt.xj=function(t){return P7(Nee,cYt,162,t,0,1)},mW(P9t,"XMLTypePackageImpl/50",1901),fBt(1902,1,c9t,Iu),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/51",1902),fBt(1903,1,c9t,Bu),AKt.wj=function(t){return iP(t,19)},AKt.xj=function(t){return P7(Iee,cYt,19,t,0,1)},mW(P9t,"XMLTypePackageImpl/52",1903),fBt(1857,1,c9t,Mu),AKt.wj=function(t){return UD(t)},AKt.xj=function(t){return P7(Yee,cYt,2,t,6,1)},mW(P9t,"XMLTypePackageImpl/6",1857),fBt(1858,1,c9t,Pu),AKt.wj=function(t){return iP(t,190)},AKt.xj=function(t){return P7(BLe,cYt,190,t,0,2)},mW(P9t,"XMLTypePackageImpl/7",1858),fBt(1859,1,c9t,Lu),AKt.wj=function(t){return HD(t)},AKt.xj=function(t){return P7(vee,cYt,476,t,8,1)},mW(P9t,"XMLTypePackageImpl/8",1859),fBt(1860,1,c9t,Ou),AKt.wj=function(t){return iP(t,217)},AKt.xj=function(t){return P7(Cee,cYt,217,t,0,1)},mW(P9t,"XMLTypePackageImpl/9",1860),fBt(50,60,$Yt,ry),mW(ote,"RegEx/ParseException",50),fBt(820,1,{},Nu),AKt.sl=function(t){return t16*n)throw $b(new ry(vKt((oM(),z7t))));n=16*n+r}if(125!=this.a)throw $b(new ry(vKt((oM(),V7t))));if(n>ate)throw $b(new ry(vKt((oM(),H7t))));t=n}else{if(r=0,0!=this.c||(r=Hwt(this.a))<0)throw $b(new ry(vKt((oM(),$7t))));if(n=r,YWt(this),0!=this.c||(r=Hwt(this.a))<0)throw $b(new ry(vKt((oM(),$7t))));t=n=16*n+r}break;case 117:if(i=0,YWt(this),0!=this.c||(i=Hwt(this.a))<0)throw $b(new ry(vKt((oM(),$7t))));if(e=i,YWt(this),0!=this.c||(i=Hwt(this.a))<0)throw $b(new ry(vKt((oM(),$7t))));if(e=16*e+i,YWt(this),0!=this.c||(i=Hwt(this.a))<0)throw $b(new ry(vKt((oM(),$7t))));if(e=16*e+i,YWt(this),0!=this.c||(i=Hwt(this.a))<0)throw $b(new ry(vKt((oM(),$7t))));t=e=16*e+i;break;case 118:if(YWt(this),0!=this.c||(i=Hwt(this.a))<0)throw $b(new ry(vKt((oM(),$7t))));if(e=i,YWt(this),0!=this.c||(i=Hwt(this.a))<0)throw $b(new ry(vKt((oM(),$7t))));if(e=16*e+i,YWt(this),0!=this.c||(i=Hwt(this.a))<0)throw $b(new ry(vKt((oM(),$7t))));if(e=16*e+i,YWt(this),0!=this.c||(i=Hwt(this.a))<0)throw $b(new ry(vKt((oM(),$7t))));if(e=16*e+i,YWt(this),0!=this.c||(i=Hwt(this.a))<0)throw $b(new ry(vKt((oM(),$7t))));if(e=16*e+i,YWt(this),0!=this.c||(i=Hwt(this.a))<0)throw $b(new ry(vKt((oM(),$7t))));if((e=16*e+i)>ate)throw $b(new ry(vKt((oM(),"parser.descappe.4"))));t=e;break;case 65:case 90:case 122:throw $b(new ry(vKt((oM(),q7t))))}return t},AKt.ul=function(t){var e;switch(t){case 100:e=32&~this.e?(fKt(),rLe):QGt("Nd",!0);break;case 68:e=32&~this.e?(fKt(),lLe):QGt("Nd",!1);break;case 119:e=32&~this.e?(fKt(),wLe):QGt("IsWord",!0);break;case 87:e=32&~this.e?(fKt(),hLe):QGt("IsWord",!1);break;case 115:e=32&~this.e?(fKt(),fLe):QGt("IsSpace",!0);break;case 83:e=32&~this.e?(fKt(),uLe):QGt("IsSpace",!1);break;default:throw $b(new fv(ste+t.toString(16)))}return e},AKt.vl=function(t){var e,n,i,r,o,a,s,c,l,u,h;for(this.b=1,YWt(this),e=null,0==this.c&&94==this.a?(YWt(this),t?(fKt(),fKt(),l=new C0(5)):(fKt(),fKt(),XOt(e=new C0(4),0,ate),l=new C0(4))):(fKt(),fKt(),l=new C0(4)),r=!0;1!=(h=this.c)&&(0!=h||93!=this.a||r);){if(r=!1,n=this.a,i=!1,10==h)switch(n){case 100:case 68:case 119:case 87:case 115:case 83:cVt(l,this.ul(n)),i=!0;break;case 105:case 73:case 99:case 67:(n=this.Ll(l,n))<0&&(i=!0);break;case 112:case 80:if(!(u=ODt(this,n)))throw $b(new ry(vKt((oM(),D7t))));cVt(l,u),i=!0;break;default:n=this.tl()}else if(20==h){if((o=uO(this.i,58,this.d))<0)throw $b(new ry(vKt((oM(),I7t))));if(a=!0,94==lY(this.i,this.d)&&(++this.d,a=!1),!(s=h8(lO(this.i,this.d,o),a,!(512&~this.e))))throw $b(new ry(vKt((oM(),M7t))));if(cVt(l,s),i=!0,o+1>=this.j||93!=lY(this.i,o+1))throw $b(new ry(vKt((oM(),I7t))));this.d=o+2}if(YWt(this),!i)if(0!=this.c||45!=this.a)XOt(l,n,n);else{if(YWt(this),1==(h=this.c))throw $b(new ry(vKt((oM(),B7t))));0==h&&93==this.a?(XOt(l,n,n),XOt(l,45,45)):(c=this.a,10==h&&(c=this.tl()),YWt(this),XOt(l,n,c))}(this.e&v6t)==v6t&&0==this.c&&44==this.a&&YWt(this)}if(1==this.c)throw $b(new ry(vKt((oM(),B7t))));return e&&(Wqt(e,l),l=e),CMt(l),VVt(l),this.b=0,YWt(this),l},AKt.wl=function(){var t,e,n,i;for(n=this.vl(!1);7!=(i=this.c);){if(t=this.a,(0!=i||45!=t&&38!=t)&&4!=i)throw $b(new ry(vKt((oM(),F7t))));if(YWt(this),9!=this.c)throw $b(new ry(vKt((oM(),R7t))));if(e=this.vl(!1),4==i)cVt(n,e);else if(45==t)Wqt(n,e);else{if(38!=t)throw $b(new fv("ASSERT"));vqt(n,e)}}return YWt(this),n},AKt.xl=function(){var t,e;return t=this.a-48,fKt(),fKt(),e=new mQ(12,null,t),!this.g&&(this.g=new Rw),Ew(this.g,new Sb(t)),YWt(this),e},AKt.yl=function(){return YWt(this),fKt(),gLe},AKt.zl=function(){return YWt(this),fKt(),dLe},AKt.Al=function(){throw $b(new ry(vKt((oM(),U7t))))},AKt.Bl=function(){throw $b(new ry(vKt((oM(),U7t))))},AKt.Cl=function(){return YWt(this),ult()},AKt.Dl=function(){return YWt(this),fKt(),mLe},AKt.El=function(){return YWt(this),fKt(),kLe},AKt.Fl=function(){var t;if(this.d>=this.j||64!=(65504&(t=lY(this.i,this.d++))))throw $b(new ry(vKt((oM(),x7t))));return YWt(this),fKt(),fKt(),new aq(0,t-64)},AKt.Gl=function(){return YWt(this),N$t()},AKt.Hl=function(){return YWt(this),fKt(),vLe},AKt.Il=function(){var t;return fKt(),fKt(),t=new aq(0,105),YWt(this),t},AKt.Jl=function(){return YWt(this),fKt(),bLe},AKt.Kl=function(){return YWt(this),fKt(),pLe},AKt.Ll=function(t,e){return this.tl()},AKt.Ml=function(){return YWt(this),fKt(),sLe},AKt.Nl=function(){var t,e,n,i,r;if(this.d+1>=this.j)throw $b(new ry(vKt((oM(),_7t))));if(i=-1,e=null,49<=(t=lY(this.i,this.d))&&t<=57){if(i=t-48,!this.g&&(this.g=new Rw),Ew(this.g,new Sb(i)),++this.d,41!=lY(this.i,this.d))throw $b(new ry(vKt((oM(),k7t))));++this.d}else switch(63==t&&--this.d,YWt(this),(e=DWt(this)).e){case 20:case 21:case 22:case 23:break;case 8:if(7!=this.c)throw $b(new ry(vKt((oM(),k7t))));break;default:throw $b(new ry(vKt((oM(),C7t))))}if(YWt(this),n=null,2==(r=Kpt(this)).e){if(2!=r.em())throw $b(new ry(vKt((oM(),A7t))));n=r.am(1),r=r.am(0)}if(7!=this.c)throw $b(new ry(vKt((oM(),k7t))));return YWt(this),fKt(),fKt(),new vtt(i,e,r,n)},AKt.Ol=function(){return YWt(this),fKt(),cLe},AKt.Pl=function(){var t;if(YWt(this),t=oG(24,Kpt(this)),7!=this.c)throw $b(new ry(vKt((oM(),k7t))));return YWt(this),t},AKt.Ql=function(){var t;if(YWt(this),t=oG(20,Kpt(this)),7!=this.c)throw $b(new ry(vKt((oM(),k7t))));return YWt(this),t},AKt.Rl=function(){var t;if(YWt(this),t=oG(22,Kpt(this)),7!=this.c)throw $b(new ry(vKt((oM(),k7t))));return YWt(this),t},AKt.Sl=function(){var t,e,n,i,r;for(t=0,n=0,e=-1;this.d=this.j)throw $b(new ry(vKt((oM(),v7t))));if(45==e){for(++this.d;this.d=this.j)throw $b(new ry(vKt((oM(),v7t))))}if(58==e){if(++this.d,YWt(this),i=DW(Kpt(this),t,n),7!=this.c)throw $b(new ry(vKt((oM(),k7t))));YWt(this)}else{if(41!=e)throw $b(new ry(vKt((oM(),y7t))));++this.d,YWt(this),i=DW(Kpt(this),t,n)}return i},AKt.Tl=function(){var t;if(YWt(this),t=oG(21,Kpt(this)),7!=this.c)throw $b(new ry(vKt((oM(),k7t))));return YWt(this),t},AKt.Ul=function(){var t;if(YWt(this),t=oG(23,Kpt(this)),7!=this.c)throw $b(new ry(vKt((oM(),k7t))));return YWt(this),t},AKt.Vl=function(){var t,e;if(YWt(this),t=this.f++,e=aG(Kpt(this),t),7!=this.c)throw $b(new ry(vKt((oM(),k7t))));return YWt(this),e},AKt.Wl=function(){var t;if(YWt(this),t=aG(Kpt(this),0),7!=this.c)throw $b(new ry(vKt((oM(),k7t))));return YWt(this),t},AKt.Xl=function(t){return YWt(this),5==this.c?(YWt(this),gq(t,(fKt(),fKt(),new c5(9,t)))):gq(t,(fKt(),fKt(),new c5(3,t)))},AKt.Yl=function(t){var e;return YWt(this),fKt(),fKt(),e=new nM(2),5==this.c?(YWt(this),tHt(e,aLe),tHt(e,t)):(tHt(e,t),tHt(e,aLe)),e},AKt.Zl=function(t){return YWt(this),5==this.c?(YWt(this),fKt(),fKt(),new c5(9,t)):(fKt(),fKt(),new c5(3,t))},AKt.a=0,AKt.b=0,AKt.c=0,AKt.d=0,AKt.e=0,AKt.f=1,AKt.g=null,AKt.j=0,mW(ote,"RegEx/RegexParser",820),fBt(1824,820,{},Fk),AKt.sl=function(t){return!1},AKt.tl=function(){return VNt(this)},AKt.ul=function(t){return gjt(t)},AKt.vl=function(t){return QWt(this)},AKt.wl=function(){throw $b(new ry(vKt((oM(),U7t))))},AKt.xl=function(){throw $b(new ry(vKt((oM(),U7t))))},AKt.yl=function(){throw $b(new ry(vKt((oM(),U7t))))},AKt.zl=function(){throw $b(new ry(vKt((oM(),U7t))))},AKt.Al=function(){return YWt(this),gjt(67)},AKt.Bl=function(){return YWt(this),gjt(73)},AKt.Cl=function(){throw $b(new ry(vKt((oM(),U7t))))},AKt.Dl=function(){throw $b(new ry(vKt((oM(),U7t))))},AKt.El=function(){throw $b(new ry(vKt((oM(),U7t))))},AKt.Fl=function(){return YWt(this),gjt(99)},AKt.Gl=function(){throw $b(new ry(vKt((oM(),U7t))))},AKt.Hl=function(){throw $b(new ry(vKt((oM(),U7t))))},AKt.Il=function(){return YWt(this),gjt(105)},AKt.Jl=function(){throw $b(new ry(vKt((oM(),U7t))))},AKt.Kl=function(){throw $b(new ry(vKt((oM(),U7t))))},AKt.Ll=function(t,e){return cVt(t,gjt(e)),-1},AKt.Ml=function(){return YWt(this),fKt(),fKt(),new aq(0,94)},AKt.Nl=function(){throw $b(new ry(vKt((oM(),U7t))))},AKt.Ol=function(){return YWt(this),fKt(),fKt(),new aq(0,36)},AKt.Pl=function(){throw $b(new ry(vKt((oM(),U7t))))},AKt.Ql=function(){throw $b(new ry(vKt((oM(),U7t))))},AKt.Rl=function(){throw $b(new ry(vKt((oM(),U7t))))},AKt.Sl=function(){throw $b(new ry(vKt((oM(),U7t))))},AKt.Tl=function(){throw $b(new ry(vKt((oM(),U7t))))},AKt.Ul=function(){throw $b(new ry(vKt((oM(),U7t))))},AKt.Vl=function(){var t;if(YWt(this),t=aG(Kpt(this),0),7!=this.c)throw $b(new ry(vKt((oM(),k7t))));return YWt(this),t},AKt.Wl=function(){throw $b(new ry(vKt((oM(),U7t))))},AKt.Xl=function(t){return YWt(this),gq(t,(fKt(),fKt(),new c5(3,t)))},AKt.Yl=function(t){var e;return YWt(this),fKt(),fKt(),tHt(e=new nM(2),t),tHt(e,aLe),e},AKt.Zl=function(t){return YWt(this),fKt(),fKt(),new c5(3,t)};var ZPe=null,QPe=null;mW(ote,"RegEx/ParserForXMLSchema",1824),fBt(117,1,kte,Db),AKt.$l=function(t){throw $b(new fv("Not supported."))},AKt._l=function(){return-1},AKt.am=function(t){return null},AKt.bm=function(){return null},AKt.cm=function(t){},AKt.dm=function(t){},AKt.em=function(){return 0},AKt.Ib=function(){return this.fm(0)},AKt.fm=function(t){return 11==this.e?".":""},AKt.e=0;var JPe,tLe,eLe,nLe,iLe,rLe,oLe,aLe,sLe,cLe,lLe,uLe,hLe,dLe,fLe,gLe,pLe,mLe,bLe,wLe,kLe,vLe,yLe,_Le,CLe=null,ALe=null,xLe=null,ELe=mW(ote,"RegEx/Token",117);fBt(136,117,{3:1,136:1,117:1},C0),AKt.fm=function(t){var e,n,i;if(4==this.e)if(this==oLe)n=".";else if(this==rLe)n="\\d";else if(this==wLe)n="\\w";else if(this==fLe)n="\\s";else{for((i=new Ay).a+="[",e=0;e0&&(i.a+=","),this.b[e]===this.b[e+1]?iI(i,ozt(this.b[e])):(iI(i,ozt(this.b[e])),i.a+="-",iI(i,ozt(this.b[e+1])));i.a+="]",n=i.a}else if(this==lLe)n="\\D";else if(this==hLe)n="\\W";else if(this==uLe)n="\\S";else{for((i=new Ay).a+="[^",e=0;e0&&(i.a+=","),this.b[e]===this.b[e+1]?iI(i,ozt(this.b[e])):(iI(i,ozt(this.b[e])),i.a+="-",iI(i,ozt(this.b[e+1])));i.a+="]",n=i.a}return n},AKt.a=!1,AKt.c=!1,mW(ote,"RegEx/RangeToken",136),fBt(584,1,{584:1},Sb),AKt.a=0,mW(ote,"RegEx/RegexParser/ReferencePosition",584),fBt(583,1,{3:1,583:1},UC),AKt.Fb=function(t){var e;return null!=t&&!!iP(t,583)&&(e=jz(t,583),bF(this.b,e.b)&&this.a==e.a)},AKt.Hb=function(){return bwt(this.b+"/"+tOt(this.a))},AKt.Ib=function(){return this.c.fm(this.a)},AKt.a=0,mW(ote,"RegEx/RegularExpression",583),fBt(223,117,kte,aq),AKt._l=function(){return this.a},AKt.fm=function(t){var e,n;switch(this.e){case 0:switch(this.a){case 124:case 42:case 43:case 63:case 40:case 41:case 46:case 91:case 123:case 92:n="\\"+xR(this.a&YYt);break;case 12:n="\\f";break;case 10:n="\\n";break;case 13:n="\\r";break;case 9:n="\\t";break;case 27:n="\\e";break;default:n=this.a>=$Xt?"\\v"+lO(e="0"+(this.a>>>0).toString(16),e.length-6,e.length):""+xR(this.a&YYt)}break;case 8:n=this==sLe||this==cLe?""+xR(this.a&YYt):"\\"+xR(this.a&YYt);break;default:n=null}return n},AKt.a=0,mW(ote,"RegEx/Token/CharToken",223),fBt(309,117,kte,c5),AKt.am=function(t){return this.a},AKt.cm=function(t){this.b=t},AKt.dm=function(t){this.c=t},AKt.em=function(){return 1},AKt.fm=function(t){var e;if(3==this.e)if(this.c<0&&this.b<0)e=this.a.fm(t)+"*";else if(this.c==this.b)e=this.a.fm(t)+"{"+this.c+"}";else if(this.c>=0&&this.b>=0)e=this.a.fm(t)+"{"+this.c+","+this.b+"}";else{if(!(this.c>=0&&this.b<0))throw $b(new fv("Token#toString(): CLOSURE "+this.c+jKt+this.b));e=this.a.fm(t)+"{"+this.c+",}"}else if(this.c<0&&this.b<0)e=this.a.fm(t)+"*?";else if(this.c==this.b)e=this.a.fm(t)+"{"+this.c+"}?";else if(this.c>=0&&this.b>=0)e=this.a.fm(t)+"{"+this.c+","+this.b+"}?";else{if(!(this.c>=0&&this.b<0))throw $b(new fv("Token#toString(): NONGREEDYCLOSURE "+this.c+jKt+this.b));e=this.a.fm(t)+"{"+this.c+",}?"}return e},AKt.b=0,AKt.c=0,mW(ote,"RegEx/Token/ClosureToken",309),fBt(821,117,kte,qG),AKt.am=function(t){return 0==t?this.a:this.b},AKt.em=function(){return 2},AKt.fm=function(t){return 3==this.b.e&&this.b.am(0)==this.a?this.a.fm(t)+"+":9==this.b.e&&this.b.am(0)==this.a?this.a.fm(t)+"+?":this.a.fm(t)+""+this.b.fm(t)},mW(ote,"RegEx/Token/ConcatToken",821),fBt(1822,117,kte,vtt),AKt.am=function(t){if(0==t)return this.d;if(1==t)return this.b;throw $b(new fv("Internal Error: "+t))},AKt.em=function(){return this.b?2:1},AKt.fm=function(t){var e;return e=this.c>0?"(?("+this.c+")":8==this.a.e?"(?("+this.a+")":"(?"+this.a,this.b?e+=this.d+"|"+this.b+")":e+=this.d+")",e},AKt.c=0,mW(ote,"RegEx/Token/ConditionToken",1822),fBt(1823,117,kte,_0),AKt.am=function(t){return this.b},AKt.em=function(){return 1},AKt.fm=function(t){return"(?"+(0==this.a?"":tOt(this.a))+(0==this.c?"":tOt(this.c))+":"+this.b.fm(t)+")"},AKt.a=0,AKt.c=0,mW(ote,"RegEx/Token/ModifierToken",1823),fBt(822,117,kte,iK),AKt.am=function(t){return this.a},AKt.em=function(){return 1},AKt.fm=function(t){var e;switch(e=null,this.e){case 6:e=0==this.b?"(?:"+this.a.fm(t)+")":"("+this.a.fm(t)+")";break;case 20:e="(?="+this.a.fm(t)+")";break;case 21:e="(?!"+this.a.fm(t)+")";break;case 22:e="(?<="+this.a.fm(t)+")";break;case 23:e="(?"+this.a.fm(t)+")"}return e},AKt.b=0,mW(ote,"RegEx/Token/ParenToken",822),fBt(521,117,{3:1,117:1,521:1},mQ),AKt.bm=function(){return this.b},AKt.fm=function(t){return 12==this.e?"\\"+this.a:nBt(this.b)},AKt.a=0,mW(ote,"RegEx/Token/StringToken",521),fBt(465,117,kte,nM),AKt.$l=function(t){tHt(this,t)},AKt.am=function(t){return jz(hK(this.a,t),117)},AKt.em=function(){return this.a?this.a.a.c.length:0},AKt.fm=function(t){var e,n,i,r,o;if(1==this.e){if(2==this.a.a.c.length)e=jz(hK(this.a,0),117),r=3==(n=jz(hK(this.a,1),117)).e&&n.am(0)==e?e.fm(t)+"+":9==n.e&&n.am(0)==e?e.fm(t)+"+?":e.fm(t)+""+n.fm(t);else{for(o=new Ay,i=0;i=this.c.b:this.a<=this.c.b},AKt.Sb=function(){return this.b>0},AKt.Tb=function(){return this.b},AKt.Vb=function(){return this.b-1},AKt.Qb=function(){throw $b(new Jv(xte))},AKt.a=0,AKt.b=0,mW(_te,"ExclusiveRange/RangeIterator",254);var TLe=OK(E8t,"C"),SLe=OK(D8t,"I"),DLe=OK(BKt,"Z"),ILe=OK(I8t,"J"),BLe=OK(x8t,"B"),MLe=OK(T8t,"D"),PLe=OK(S8t,"F"),LLe=OK(B8t,"S"),OLe=hH("org.eclipse.elk.core.labels","ILabelManager"),NLe=hH($6t,"DiagnosticChain"),RLe=hH(u9t,"ResourceSet"),FLe=mW($6t,"InvocationTargetException",null),jLe=(Ly(),l4),$Le=$Le=lCt;Qnt(Kb),cot("permProps",[[[Ete,Tte],[Ste,"gecko1_8"]],[[Ete,Tte],[Ste,"ie10"]],[[Ete,Tte],[Ste,"ie8"]],[[Ete,Tte],[Ste,"ie9"]],[[Ete,Tte],[Ste,"safari"]]]),$Le(null,"elk",null)}).call(this)}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],3:[function(t,e,n){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var a=function(e){function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,n);var o=Object.assign({},e),a=!1;try{t.resolve("web-worker"),a=!0}catch(t){}if(e.workerUrl)if(a){var s=t("web-worker");o.workerFactory=function(t){return new s(t)}}else console.warn("Web worker requested but 'web-worker' package not installed. \nConsider installing the package or pass your own 'workerFactory' to ELK's constructor.\n... Falling back to non-web worker version.");if(!o.workerFactory){var c=t("./elk-worker.min.js").Worker;o.workerFactory=function(t){return new c(t)}}return r(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,o))}return o(n,e),n}(t("./elk-api.js").default);Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports=a,a.default=a},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(t,e,n){e.exports=Worker},{}]},{},[3])(3)},t.exports=e()}({get exports(){return OH},set exports(t){OH=t}});const NH=new(o(OH)),RH={},FH={};let jH={};const $H=function(t,e,n,i,r,o,a){const s=n.select(`[id="${e}"]`),c=s.insert("g").attr("class","nodes");return Object.keys(t).forEach((function(e){const n=t[e];let a="default";n.classes.length>0&&(a=n.classes.join(" "));const l=eb(n.styles);let u,h=void 0!==n.text?n.text:n.id;const d={width:0,height:0};if(Zh(_w().flowchart.htmlLabels)){const t={label:h.replace(/fa[blrs]?:fa-[\w-]+/g,(t=>``))};u=kO(s,t).node();const e=u.getBBox();d.width=e.width,d.height=e.height,d.labelNode=u,u.parentNode.removeChild(u)}else{const t=i.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",l.labelStyle.replace("color:","fill:"));const e=h.split(Jh.lineBreakRegex);for(const n of e){const e=i.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),e.setAttribute("dy","1em"),e.setAttribute("x","1"),e.textContent=n,t.appendChild(e)}u=t;const n=u.getBBox();d.width=n.width,d.height=n.height,d.labelNode=u}const f=[{id:n.id+"-west",layoutOptions:{"port.side":"WEST"}},{id:n.id+"-east",layoutOptions:{"port.side":"EAST"}},{id:n.id+"-south",layoutOptions:{"port.side":"SOUTH"}},{id:n.id+"-north",layoutOptions:{"port.side":"NORTH"}}];let g=0,p="",m={};switch(n.type){case"round":g=5,p="rect";break;case"square":case"group":default:p="rect";break;case"diamond":p="question",m={portConstraints:"FIXED_SIDE"};break;case"hexagon":p="hexagon";break;case"odd":case"odd_right":p="rect_left_inv_arrow";break;case"lean_right":p="lean_right";break;case"lean_left":p="lean_left";break;case"trapezoid":p="trapezoid";break;case"inv_trapezoid":p="inv_trapezoid";break;case"circle":p="circle";break;case"ellipse":p="ellipse";break;case"stadium":p="stadium";break;case"subroutine":p="subroutine";break;case"cylinder":p="cylinder";break;case"doublecircle":p="doublecircle"}const b={labelStyle:l.labelStyle,shape:p,labelText:h,rx:g,ry:g,class:a,style:l.style,id:n.id,link:n.link,linkTarget:n.linkTarget,tooltip:r.db.getTooltip(n.id)||"",domId:r.db.lookUpDomId(n.id),haveCallback:n.haveCallback,width:"group"===n.type?500:void 0,dir:n.dir,type:n.type,props:n.props,padding:_w().flowchart.padding};let w,k;"group"!==b.type&&(k=qM(c,b,n.dir),w=k.node().getBBox());const v={id:n.id,ports:"diamond"===n.type?f:[],layoutOptions:m,labelText:h,labelData:d,domId:r.db.lookUpDomId(n.id),width:null==w?void 0:w.width,height:null==w?void 0:w.height,type:n.type,el:k,parent:o.parentById[n.id]};jH[b.id]=v})),a},zH=(t,e,n)=>{const i={TB:{in:{north:"north"},out:{south:"west",west:"east",east:"south"}},LR:{in:{west:"west"},out:{east:"south",south:"north",north:"east"}},RL:{in:{east:"east"},out:{west:"north",north:"south",south:"west"}},BT:{in:{south:"south"},out:{north:"east",east:"west",west:"north"}}};return i.TD=i.TB,h.info("abc88",n,e,t),i[n][e][t]},VH=(t,e,n)=>{if(h.info("getNextPort abc88",{node:t,edgeDirection:e,graphDirection:n}),!RH[t])switch(n){case"TB":case"TD":RH[t]={inPosition:"north",outPosition:"south"};break;case"BT":RH[t]={inPosition:"south",outPosition:"north"};break;case"RL":RH[t]={inPosition:"east",outPosition:"west"};break;case"LR":RH[t]={inPosition:"west",outPosition:"east"}}const i="in"===e?RH[t].inPosition:RH[t].outPosition;return"in"===e?RH[t].inPosition=zH(RH[t].inPosition,e,n):RH[t].outPosition=zH(RH[t].outPosition,e,n),i},HH=(t,e)=>{let n=t.start,i=t.end;const r=jH[n],o=jH[i];return r&&o?("diamond"===r.type&&(n=`${n}-${VH(n,"out",e)}`),"diamond"===o.type&&(i=`${i}-${VH(i,"in",e)}`),{source:n,target:i}):{source:n,target:i}},qH=function(t,e,n,i){h.info("abc78 edges = ",t);const r=i.insert("g").attr("class","edgeLabels");let o,a,s={},c=e.db.getDirection();if(void 0!==t.defaultStyle){const e=eb(t.defaultStyle);o=e.style,a=e.labelStyle}return t.forEach((function(e){var i="L-"+e.start+"-"+e.end;void 0===s[i]?(s[i]=0,h.info("abc78 new entry",i,s[i])):(s[i]++,h.info("abc78 new entry",i,s[i]));let l=i+"-"+s[i];h.info("abc78 new link id to be used is",i,l,s[i]);var u="LS-"+e.start,d="LE-"+e.end;const f={style:"",labelStyle:""};switch(f.minlen=e.length||1,"arrow_open"===e.type?f.arrowhead="none":f.arrowhead="normal",f.arrowTypeStart="arrow_open",f.arrowTypeEnd="arrow_open",e.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 g="",p="";switch(e.stroke){case"normal":g="fill:none;",void 0!==o&&(g=o),void 0!==a&&(p=a),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;"}if(void 0!==e.style){const t=eb(e.style);g=t.style,p=t.labelStyle}f.style=f.style+=g,f.labelStyle=f.labelStyle+=p,void 0!==e.interpolate?f.curve=Wm(e.interpolate,Rl):void 0!==t.defaultInterpolate?f.curve=Wm(t.defaultInterpolate,Rl):f.curve=Wm(FH.curve,Rl),void 0===e.text?void 0!==e.style&&(f.arrowheadStyle="fill: #333"):(f.arrowheadStyle="fill: #333",f.labelpos="c"),f.labelType="text",f.label=e.text.replace(Jh.lineBreakRegex,"\n"),void 0===e.style&&(f.style=f.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),f.labelStyle=f.labelStyle.replace("color:","fill:"),f.id=l,f.classes="flowchart-link "+u+" "+d;const m=eP(r,f),{source:b,target:w}=HH(e,c);h.debug("abc78 source and target",b,w),n.edges.push({id:"e"+e.start+e.end,sources:[b],targets:[w],labelEl:m,labels:[{width:f.width,height:f.height,orgWidth:f.width,orgHeight:f.height,text:f.label,layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}],edgeData:f})})),n},UH=function(t,e,n,i){let r="";switch(i&&(r=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,r=r.replace(/\(/g,"\\("),r=r.replace(/\)/g,"\\)")),e.arrowTypeStart){case"arrow_cross":t.attr("marker-start","url("+r+"#"+n+"-crossStart)");break;case"arrow_point":t.attr("marker-start","url("+r+"#"+n+"-pointStart)");break;case"arrow_barb":t.attr("marker-start","url("+r+"#"+n+"-barbStart)");break;case"arrow_circle":t.attr("marker-start","url("+r+"#"+n+"-circleStart)");break;case"aggregation":t.attr("marker-start","url("+r+"#"+n+"-aggregationStart)");break;case"extension":t.attr("marker-start","url("+r+"#"+n+"-extensionStart)");break;case"composition":t.attr("marker-start","url("+r+"#"+n+"-compositionStart)");break;case"dependency":t.attr("marker-start","url("+r+"#"+n+"-dependencyStart)");break;case"lollipop":t.attr("marker-start","url("+r+"#"+n+"-lollipopStart)")}switch(e.arrowTypeEnd){case"arrow_cross":t.attr("marker-end","url("+r+"#"+n+"-crossEnd)");break;case"arrow_point":t.attr("marker-end","url("+r+"#"+n+"-pointEnd)");break;case"arrow_barb":t.attr("marker-end","url("+r+"#"+n+"-barbEnd)");break;case"arrow_circle":t.attr("marker-end","url("+r+"#"+n+"-circleEnd)");break;case"aggregation":t.attr("marker-end","url("+r+"#"+n+"-aggregationEnd)");break;case"extension":t.attr("marker-end","url("+r+"#"+n+"-extensionEnd)");break;case"composition":t.attr("marker-end","url("+r+"#"+n+"-compositionEnd)");break;case"dependency":t.attr("marker-end","url("+r+"#"+n+"-dependencyEnd)");break;case"lollipop":t.attr("marker-end","url("+r+"#"+n+"-lollipopEnd)")}},GH=function(t){const e={parentById:{},childrenById:{}},n=t.getSubGraphs();return h.info("Subgraphs - ",n),n.forEach((function(t){t.nodes.forEach((function(n){e.parentById[n]=t.id,void 0===e.childrenById[t.id]&&(e.childrenById[t.id]=[]),e.childrenById[t.id].push(n)}))})),n.forEach((function(t){t.id,void 0!==e.parentById[t.id]&&e.parentById[t.id]})),e},WH=function(t,e,n){const i=PH(t,e,n);if(void 0===i||"root"===i)return{x:0,y:0};const r=jH[i].offset;return{x:r.posX,y:r.posY}},KH=function(t,e,n,i,r){const o=WH(e.sources[0],e.targets[0],r),a=e.sections[0].startPoint,s=e.sections[0].endPoint,c=(e.sections[0].bendPoints?e.sections[0].bendPoints:[]).map((t=>[t.x+o.x,t.y+o.y])),l=[[a.x+o.x,a.y+o.y],...c,[s.x+o.x,s.y+o.y]],u=$l().curve(Rl),h=t.insert("path").attr("d",u(l)).attr("class","path").attr("fill","none"),d=t.insert("g").attr("class","edgeLabel"),f=un(d.node().appendChild(e.labelEl)),g=f.node().firstChild.getBoundingClientRect();f.attr("width",g.width),f.attr("height",g.height),d.attr("transform",`translate(${e.labels[0].x+o.x}, ${e.labels[0].y+o.y})`),UH(h,n,i.type,i.arrowMarkerAbsolute)},YH=(t,e)=>{t.forEach((t=>{t.children||(t.children=[]);const n=e.childrenById[t.id];n&&n.forEach((e=>{t.children.push(jH[e])})),YH(t.children,e)}))},XH=async function(t,e,n,i){var r;i.db.clear(),jH={},i.db.setGen("gen-2"),i.parser.parse(t);const o=un("body").append("div").attr("style","height:400px").attr("id","cy");let a={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","org.eclipse.elk.padding":"[top=100, left=100, bottom=110, right=110]","elk.layered.spacing.edgeNodeBetweenLayers":"30","elk.direction":"DOWN"},children:[],edges:[]};switch(h.info("Drawing flowchart using v3 renderer",NH),i.db.getDirection()){case"BT":a.layoutOptions["elk.direction"]="UP";break;case"TB":a.layoutOptions["elk.direction"]="DOWN";break;case"LR":a.layoutOptions["elk.direction"]="RIGHT";break;case"RL":a.layoutOptions["elk.direction"]="LEFT"}const{securityLevel:s,flowchart:c}=_w();let l;"sandbox"===s&&(l=un("#i"+e));const u=un("sandbox"===s?l.nodes()[0].contentDocument.body:"body"),d="sandbox"===s?l.nodes()[0].contentDocument:document,f=u.select(`[id="${e}"]`);uM(f,["point","circle","cross"],i.type,i.arrowMarkerAbsolute);const g=i.db.getVertices();let p;const m=i.db.getSubGraphs();h.info("Subgraphs - ",m);for(let t=m.length-1;t>=0;t--)p=m[t],i.db.addVertex(p.id,p.title,"group",void 0,p.classes,p.dir);const b=f.insert("g").attr("class","subgraphs"),w=GH(i.db);a=$H(g,e,u,d,i,w,a);const k=f.insert("g").attr("class","edges edgePath"),v=i.db.getEdges();a=qH(v,i,a,f),Object.keys(jH).forEach((t=>{const e=jH[t];e.parent||a.children.push(e),void 0!==w.childrenById[t]&&(e.labels=[{text:e.labelText,layoutOptions:{"nodeLabels.placement":"[H_CENTER, V_TOP, INSIDE]"},width:e.labelData.width,height:e.labelData.height}],delete e.x,delete e.y,delete e.width,delete e.height)})),YH(a.children,w),h.info("after layout",JSON.stringify(a,null,2));const y=await NH.layout(a);ZH(0,0,y.children,f,b,i,0),h.info("after layout",y),null==(r=y.edges)||r.map((t=>{KH(k,t,t.edgeData,i,w)})),Pw({},f,c.diagramPadding,c.useMaxWidth),o.remove()},ZH=(t,e,n,i,r,o,a)=>{n.forEach((function(n){if(n)if(jH[n.id].offset={posX:n.x+t,posY:n.y+e,x:t,y:e,depth:a,width:n.width,height:n.height},"group"===n.type){const i=r.insert("g").attr("class","subgraph");i.insert("rect").attr("class","subgraph subgraph-lvl-"+a%5+" node").attr("x",n.x+t).attr("y",n.y+e).attr("width",n.width).attr("height",n.height);const o=i.insert("g").attr("class","label");o.attr("transform",`translate(${n.labels[0].x+t+n.x}, ${n.labels[0].y+e+n.y})`),o.node().appendChild(n.labelData.labelNode),h.info("Id (UGH)= ",n.type,n.labels)}else h.info("Id (UGH)= ",n.id),n.el.attr("transform",`translate(${n.x+t+n.width/2}, ${n.y+e+n.height/2})`)})),n.forEach((function(n){n&&"group"===n.type&&ZH(t+n.x,e+n.y,n.children,i,r,o,a+1)}))},QH=t=>{let e="";for(let n=0;n<5;n++)e+=`\n .subgraph-lvl-${n} {\n fill: ${t[`surface${n}`]};\n stroke: ${t[`surfacePeer${n}`]};\n }\n `;return e},JH={db:aO,renderer:{getClasses:function(t,e){h.info("Extracting classes"),e.db.clear("ver-2");try{return e.parse(t),e.db.getClasses()}catch(t){return{}}},draw:XH},parser:eL,styles:t=>`.label {\n font-family: ${t.fontFamily};\n color: ${t.nodeTextColor||t.textColor};\n }\n .cluster-label text {\n fill: ${t.titleColor};\n }\n .cluster-label span {\n color: ${t.titleColor};\n }\n\n .label text,span {\n fill: ${t.nodeTextColor||t.textColor};\n color: ${t.nodeTextColor||t.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${t.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${t.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${t.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${t.edgeLabelBackground};\n rect {\n opacity: 0.5;\n background-color: ${t.edgeLabelBackground};\n fill: ${t.edgeLabelBackground};\n }\n text-align: center;\n }\n\n .cluster rect {\n fill: ${t.clusterBkg};\n stroke: ${t.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${t.titleColor};\n }\n\n .cluster span {\n color: ${t.titleColor};\n }\n /* .cluster div {\n color: ${t.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${t.fontFamily};\n font-size: 12px;\n background: ${t.tertiaryColor};\n border: 1px solid ${t.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n }\n .subgraph {\n stroke-width:2;\n rx:3;\n }\n // .subgraph-lvl-1 {\n // fill:#ccc;\n // // stroke:black;\n // }\n ${QH(t)}\n`},tq=Object.freeze(Object.defineProperty({__proto__:null,diagram:JH},Symbol.toStringTag,{value:"Module"}));var eq=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,26,27,28],r=[1,15],o=[1,16],a=[1,17],s=[1,18],c=[1,19],l=[1,23],u=[1,24],h=[1,27],d=[4,6,9,11,17,18,20,22,23,26,27,28],f={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline: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,period_statement:24,event_statement:25,period:26,event:27,open_directive:28,type_directive:29,arg_directive:30,close_directive:31,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",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",26:"period",27:"event",28:"open_directive",29:"type_directive",30:"arg_directive",31:"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,1],[10,1],[10,1],[24,1],[25,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(t,e,n,i,r,o,a){var s=o.length-1;switch(r){case 1:return o[s-1];case 3:case 7:case 8:this.$=[];break;case 4:o[s-1].push(o[s]),this.$=o[s-1];break;case 5:case 6:this.$=o[s];break;case 11:i.getCommonDb().setDiagramTitle(o[s].substr(6)),this.$=o[s].substr(6);break;case 12:this.$=o[s].trim(),i.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=o[s].trim(),i.getCommonDb().setAccDescription(this.$);break;case 15:i.addSection(o[s].substr(8)),this.$=o[s].substr(8);break;case 19:i.addTask(o[s],0,""),this.$=o[s];break;case 20:i.addEvent(o[s].substr(2)),this.$=o[s];break;case 21:i.parseDirective("%%{","open_directive");break;case 22:i.parseDirective(o[s],"type_directive");break;case 23:o[s]=o[s].trim().replace(/'/g,'"'),i.parseDirective(o[s],"arg_directive");break;case 24:i.parseDirective("}%%","close_directive","timeline")}},table:[{3:1,4:e,7:3,12:4,28:n},{1:[3]},t(i,[2,3],{5:6}),{3:7,4:e,7:3,12:4,28:n},{13:8,29:[1,9]},{29:[2,21]},{6:[1,10],7:22,8:11,9:[1,12],10:13,11:[1,14],12:4,17:r,18:o,20:a,22:s,23:c,24:20,25:21,26:l,27:u,28:n},{1:[2,2]},{14:25,15:[1,26],31:h},t([15,31],[2,22]),t(i,[2,8],{1:[2,1]}),t(i,[2,4]),{7:22,10:28,12:4,17:r,18:o,20:a,22:s,23:c,24:20,25:21,26:l,27:u,28:n},t(i,[2,6]),t(i,[2,7]),t(i,[2,11]),{19:[1,29]},{21:[1,30]},t(i,[2,14]),t(i,[2,15]),t(i,[2,16]),t(i,[2,17]),t(i,[2,18]),t(i,[2,19]),t(i,[2,20]),{11:[1,31]},{16:32,30:[1,33]},{11:[2,24]},t(i,[2,5]),t(i,[2,12]),t(i,[2,13]),t(d,[2,9]),{14:34,31:h},{31:[2,23]},{11:[1,35]},t(d,[2,10])],defaultActions:{5:[2,21],7:[2,2],27:[2,24],33:[2,23]},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=this,n=[0],i=[],r=[null],o=[],a=this.table,s="",c=0,l=0,u=2,h=1,d=o.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(g.yy[p]=this.yy[p]);f.setInput(t,g.yy),g.yy.lexer=f,g.yy.parser=this,void 0===f.yylloc&&(f.yylloc={});var m=f.yylloc;o.push(m);var b=f.options&&f.options.ranges;function w(){var t;return"number"!=typeof(t=i.pop()||f.lex()||h)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var k,v,y,_,C,A,x,E,T={};;){if(v=n[n.length-1],this.defaultActions[v]?y=this.defaultActions[v]:(null==k&&(k=w()),y=a[v]&&a[v][k]),void 0===y||!y.length||!y[0]){var S="";for(C in E=[],a[v])this.terminals_[C]&&C>u&&E.push("'"+this.terminals_[C]+"'");S=f.showPosition?"Parse error on line "+(c+1)+":\n"+f.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(c+1)+": Unexpected "+(k==h?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(S,{text:f.match,token:this.terminals_[k]||k,line:f.yylineno,loc:m,expected:E})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+k);switch(y[0]){case 1:n.push(k),r.push(f.yytext),o.push(f.yylloc),n.push(y[1]),k=null,l=f.yyleng,s=f.yytext,c=f.yylineno,m=f.yylloc;break;case 2:if(A=this.productions_[y[1]][1],T.$=r[r.length-A],T._$={first_line:o[o.length-(A||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(A||1)].first_column,last_column:o[o.length-1].last_column},b&&(T._$.range=[o[o.length-(A||1)].range[0],o[o.length-1].range[1]]),void 0!==(_=this.performAction.apply(T,[s,l,c,g.yy,y[1],r,o].concat(d))))return _;A&&(n=n.slice(0,-1*A*2),r=r.slice(0,-1*A),o=o.slice(0,-1*A)),n.push(this.productions_[y[1]][0]),r.push(T.$),o.push(T._$),x=a[n[n.length-2]][n[n.length-1]],n.push(x);break;case 3:return!0}}return!0}},g={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 o in r)this[o]=r[o];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(),o=0;oe[0].length)){if(e=n,i=o,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[o])))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(){var t=this.next();return t||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"),28;case 1:return this.begin("type_directive"),29;case 2:return this.popState(),this.begin("arg_directive"),15;case 3:return this.popState(),this.popState(),31;case 4:return 30;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 27;case 21:return 26;case 22:return 6;case 23:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?::\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{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],inclusive:!0}}};function p(){this.yy={}}return f.lexer=g,p.prototype=f,f.Parser=p,new p}();eq.parser=eq;const nq=eq;let iq="",rq=0;const oq=[],aq=[],sq=[],cq=()=>sk,lq=(t,e,n)=>{lk(globalThis,t,e,n)},uq=function(){oq.length=0,aq.length=0,iq="",sq.length=0,Jw()},hq=function(t){iq=t,oq.push(t)},dq=function(){return oq},fq=function(){let t=bq();const e=100;let n=0;for(;!t&&nt.id===rq-1)).events.push(t)},mq=function(t){const e={section:iq,type:iq,description:t,task:t,classes:[]};aq.push(e)},bq=function(){const t=function(t){return sq[t].processed};let e=!0;for(const[n,i]of sq.entries())t(n),e=e&&i.processed;return e},wq={clear:uq,getCommonDb:cq,addSection:hq,getSections:dq,getTasks:fq,addTask:gq,addTaskOrg:mq,addEvent:pq,parseDirective:lq},kq=Object.freeze(Object.defineProperty({__proto__:null,addEvent:pq,addSection:hq,addTask:gq,addTaskOrg:mq,clear:uq,default:wq,getCommonDb:cq,getSections:dq,getTasks:fq,parseDirective:lq},Symbol.toStringTag,{value:"Module"})),vq=12,yq=function(t,e){const n=t.append("rect");return 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),void 0!==e.class&&n.attr("class",e.class),n},_q=function(t,e){const n=15,i=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",n).attr("stroke-width",2).attr("overflow","visible"),r=t.append("g");function o(t){const i=Ll().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(n/2).outerRadius(n/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function a(t){const i=Ll().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(n/2).outerRadius(n/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function s(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return r.append("circle").attr("cx",e.cx-n/3).attr("cy",e.cy-n/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),r.append("circle").attr("cx",e.cx+n/3).attr("cy",e.cy-n/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),e.score>3?o(r):e.score<3?a(r):s(r),i},Cq=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},Aq=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},xq=function(t,e){function n(t,e,n,i,r){return t+","+e+" "+(t+n)+","+e+" "+(t+n)+","+(e+i-r)+" "+(t+n-1.2*r)+","+(e+i)+" "+t+","+(e+i)}const i=t.append("polygon");i.attr("points",n(e.x,e.y,50,20,7)),i.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Aq(t,e)},Eq=function(t,e,n){const i=t.append("g"),r=Bq();r.x=e.x,r.y=e.y,r.fill=e.fill,r.width=n.width,r.height=n.height,r.class="journey-section section-type-"+e.num,r.rx=3,r.ry=3,yq(i,r),Mq(n)(e.text,i,r.x,r.y,r.width,r.height,{class:"journey-section section-type-"+e.num},n,e.colour)};let Tq=-1;const Sq=function(t,e,n){const i=e.x+n.width/2,r=t.append("g");Tq++;const o=450;r.append("line").attr("id","task"+Tq).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",o).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),_q(r,{cx:i,cy:300+30*(5-e.score),score:e.score});const a=Bq();a.x=e.x,a.y=e.y,a.fill=e.fill,a.width=n.width,a.height=n.height,a.class="task task-type-"+e.num,a.rx=3,a.ry=3,yq(r,a),e.x,Mq(n)(e.task,r,a.x,a.y,a.width,a.height,{class:"task"},n,e.colour)},Dq=function(t,e){yq(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},Iq=function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},Bq=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},Mq=function(){function t(t,e,n,r,o,a,s,c){i(e.append("text").attr("x",n+o/2).attr("y",r+a/2+5).style("font-color",c).style("text-anchor","middle").text(t),s)}function e(t,e,n,r,o,a,s,c,l){const{taskFontSize:u,taskFontFamily:h}=c,d=t.split(//gi);for(let t=0;t)/).reverse(),r=[],o=1.1,a=n.attr("y"),s=parseFloat(n.attr("dy")),c=n.text(null).append("tspan").attr("x",0).attr("y",a).attr("dy",s+"em");for(let s=0;se||"
"===t)&&(r.pop(),c.text(r.join(" ").trim()),r="
"===t?[""]:[t],c=n.append("tspan").attr("x",0).attr("y",a).attr("dy",o+"em").text(t))}))}const Lq=function(t,e,n,i){const r=n%vq-1,o=t.append("g");e.section=r,o.attr("class",(e.class?e.class+" ":"")+"timeline-node section-"+r);const a=o.append("g"),s=o.append("g"),c=s.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(Pq,e.width).node().getBBox(),l=i.fontSize&&i.fontSize.replace?i.fontSize.replace("px",""):i.fontSize;return e.height=c.height+1.1*l*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,s.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),Oq(a,e,r),e},Oq=function(t,e,n){const i=5;t.append("path").attr("id","node-"+e.id).attr("class","node-bkg node-"+e.type).attr("d",`M0 ${e.height-i} v${-e.height+2*i} q0,-5 5,-5 h${e.width-2*i} q5,0 5,5 v${e.height-i} H0 Z`),t.append("line").attr("class","node-line-"+n).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},Nq={drawRect:yq,drawCircle:Cq,drawSection:Eq,drawText:Aq,drawLabel:xq,drawTask:Sq,drawBackgroundRect:Dq,getTextObj:Iq,getNoteRect:Bq,initGraphics:function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},drawNode:Lq,getVirtualNodeHeight:function(t,e,n){const i=t.append("g"),r=i.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(Pq,e.width).node().getBBox(),o=n.fontSize&&n.fontSize.replace?n.fontSize.replace("px",""):n.fontSize;return i.remove(),r.height+1.1*o*.5+e.padding}},Rq=function(t,e,n,i){const r=_w(),o=r.leftMargin?r.leftMargin:50;i.db.clear(),i.parser.parse(t+"\n"),h.debug("timeline",i.db);const a=r.securityLevel;let s;"sandbox"===a&&(s=un("#i"+e));const c=un("sandbox"===a?s.nodes()[0].contentDocument.body:"body").select("#"+e);c.append("g");const l=i.db.getTasks(),u=i.db.getCommonDb().getDiagramTitle();h.debug("task",l),Nq.initGraphics(c);const d=i.db.getSections();h.debug("sections",d);let f=0,g=0,p=0,m=0,b=50+o,w=50;m=50;let k=0,v=!0;d.forEach((function(t){const e={number:k,descr:t,section:k,width:150,padding:20,maxHeight:f},n=Nq.getVirtualNodeHeight(c,e,r);h.debug("sectionHeight before draw",n),f=Math.max(f,n+20)}));let y=0,_=0;h.debug("tasks.length",l.length);for(const[t,e]of l.entries()){const n={number:t,descr:e,section:e.section,width:150,padding:20,maxHeight:g},i=Nq.getVirtualNodeHeight(c,n,r);h.debug("taskHeight before draw",i),g=Math.max(g,i+20),y=Math.max(y,e.events.length);let o=0;for(let t=0;t0?d.forEach((t=>{const e={number:k,descr:t,section:k,width:150,padding:20,maxHeight:f};h.debug("sectionNode",e);const n=c.append("g"),i=Nq.drawNode(n,e,k,r);h.debug("sectionNode output",i),n.attr("transform",`translate(${b}, ${m})`),w+=f+50;const o=l.filter((e=>e.section===t));o.length>0&&Fq(c,o,k,b,w,g,r,y,_,f,!1),b+=200*Math.max(o.length,1),w=m,k++})):(v=!1,Fq(c,l,k,b,w,g,r,y,_,f,!0));const C=c.node().getBBox();h.debug("bounds",C),u&&c.append("text").text(u).attr("x",C.width/2-o).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),p=v?f+g+150:g+100,c.append("g").attr("class","lineWrapper").append("line").attr("x1",o).attr("y1",p).attr("x2",C.width+3*o).attr("y2",p).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),Pw(void 0,c,r.timeline.padding?r.timeline.padding:50,!!r.timeline.useMaxWidth&&r.timeline.useMaxWidth)},Fq=function(t,e,n,i,r,o,a,s,c,l,u){for(const s of e){const e={descr:s.task,section:n,number:n,width:150,padding:20,maxHeight:o};h.debug("taskNode",e);const d=t.append("g").attr("class","taskWrapper"),f=Nq.drawNode(d,e,n,a).height;if(h.debug("taskHeight after draw",f),d.attr("transform",`translate(${i}, ${r})`),o=Math.max(o,f),s.events){const e=t.append("g").attr("class","lineWrapper");let h=o;r+=100,h+=jq(t,s.events,n,i,r,a),r-=100,e.append("line").attr("x1",i+95).attr("y1",r+o).attr("x2",i+95).attr("y2",r+o+(u?o:l)+c+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}i+=200,u&&!_w().timeline.disableMulticolor&&n++}r-=10},jq=function(t,e,n,i,r,o){let a=0;const s=r;r+=100;for(const s of e){const e={descr:s,section:n,number:n,width:150,padding:20,maxHeight:50};h.debug("eventNode",e);const c=t.append("g").attr("class","eventWrapper"),l=Nq.drawNode(c,e,n,o).height;a+=l,c.attr("transform",`translate(${i}, ${r})`),r=r+10+l}return r=s,a},$q=t=>{let e="";for(let e=0;e`\n .edge {\n stroke-width: 3;\n }\n ${$q(t)}\n .section-root rect, .section-root path, .section-root circle {\n fill: ${t.git0};\n }\n .section-root text {\n fill: ${t.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .eventWrapper {\n filter: brightness(120%);\n }\n`},Vq=Object.freeze(Object.defineProperty({__proto__:null,diagram:zq},Symbol.toStringTag,{value:"Module"}));var Hq=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,4],n=[1,13],i=[1,12],r=[1,15],o=[1,16],a=[1,20],s=[1,19],c=[6,7,8],l=[1,26],u=[1,24],h=[1,25],d=[6,7,11],f=[1,6,13,15,16,19,22],g=[1,33],p=[1,34],m=[1,6,7,11,13,15,16,19,22],b={trace:function(){},yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:function(t,e,n,i,r,o,a){var s=o.length-1;switch(r){case 6:case 7:return i;case 8:i.getLogger().trace("Stop NL ");break;case 9:i.getLogger().trace("Stop EOF ");break;case 11:i.getLogger().trace("Stop NL2 ");break;case 12:i.getLogger().trace("Stop EOF2 ");break;case 15:i.getLogger().info("Node: ",o[s].id),i.addNode(o[s-1].length,o[s].id,o[s].descr,o[s].type);break;case 16:i.getLogger().trace("Icon: ",o[s]),i.decorateNode({icon:o[s]});break;case 17:case 21:i.decorateNode({class:o[s]});break;case 18:i.getLogger().trace("SPACELIST");break;case 19:i.getLogger().trace("Node: ",o[s].id),i.addNode(0,o[s].id,o[s].descr,o[s].type);break;case 20:i.decorateNode({icon:o[s]});break;case 25:i.getLogger().trace("node found ..",o[s-2]),this.$={id:o[s-1],descr:o[s-1],type:i.getType(o[s-2],o[s])};break;case 26:this.$={id:o[s],descr:o[s],type:i.nodeType.DEFAULT};break;case 27:i.getLogger().trace("node found ..",o[s-3]),this.$={id:o[s-3],descr:o[s-1],type:i.getType(o[s-2],o[s])}}},table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:n,7:[1,10],9:9,12:11,13:i,14:14,15:r,16:o,17:17,18:18,19:a,22:s},t(c,[2,3]),{1:[2,2]},t(c,[2,4]),t(c,[2,5]),{1:[2,6],6:n,12:21,13:i,14:14,15:r,16:o,17:17,18:18,19:a,22:s},{6:n,9:22,12:11,13:i,14:14,15:r,16:o,17:17,18:18,19:a,22:s},{6:l,7:u,10:23,11:h},t(d,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:a,22:s}),t(d,[2,18]),t(d,[2,19]),t(d,[2,20]),t(d,[2,21]),t(d,[2,23]),t(d,[2,24]),t(d,[2,26],{19:[1,30]}),{20:[1,31]},{6:l,7:u,10:32,11:h},{1:[2,7],6:n,12:21,13:i,14:14,15:r,16:o,17:17,18:18,19:a,22:s},t(f,[2,14],{7:g,11:p}),t(m,[2,8]),t(m,[2,9]),t(m,[2,10]),t(d,[2,15]),t(d,[2,16]),t(d,[2,17]),{20:[1,35]},{21:[1,36]},t(f,[2,13],{7:g,11:p}),t(m,[2,11]),t(m,[2,12]),{21:[1,37]},t(d,[2,25]),t(d,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],i=[],r=[null],o=[],a=this.table,s="",c=0,l=0,u=2,h=1,d=o.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(g.yy[p]=this.yy[p]);f.setInput(t,g.yy),g.yy.lexer=f,g.yy.parser=this,void 0===f.yylloc&&(f.yylloc={});var m=f.yylloc;o.push(m);var b=f.options&&f.options.ranges;function w(){var t;return"number"!=typeof(t=i.pop()||f.lex()||h)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var k,v,y,_,C,A,x,E,T={};;){if(v=n[n.length-1],this.defaultActions[v]?y=this.defaultActions[v]:(null==k&&(k=w()),y=a[v]&&a[v][k]),void 0===y||!y.length||!y[0]){var S="";for(C in E=[],a[v])this.terminals_[C]&&C>u&&E.push("'"+this.terminals_[C]+"'");S=f.showPosition?"Parse error on line "+(c+1)+":\n"+f.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(c+1)+": Unexpected "+(k==h?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(S,{text:f.match,token:this.terminals_[k]||k,line:f.yylineno,loc:m,expected:E})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+k);switch(y[0]){case 1:n.push(k),r.push(f.yytext),o.push(f.yylloc),n.push(y[1]),k=null,l=f.yyleng,s=f.yytext,c=f.yylineno,m=f.yylloc;break;case 2:if(A=this.productions_[y[1]][1],T.$=r[r.length-A],T._$={first_line:o[o.length-(A||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(A||1)].first_column,last_column:o[o.length-1].last_column},b&&(T._$.range=[o[o.length-(A||1)].range[0],o[o.length-1].range[1]]),void 0!==(_=this.performAction.apply(T,[s,l,c,g.yy,y[1],r,o].concat(d))))return _;A&&(n=n.slice(0,-1*A*2),r=r.slice(0,-1*A),o=o.slice(0,-1*A)),n.push(this.productions_[y[1]][0]),r.push(T.$),o.push(T._$),x=a[n[n.length-2]][n[n.length-1]],n.push(x);break;case 3:return!0}}return!0}},w={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var o in r)this[o]=r[o];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(),o=0;oe[0].length)){if(e=n,i=o,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[o])))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(){var t=this.next();return t||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:t.getLogger().trace("Found comment",e.yytext);break;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:case 23:this.popState();break;case 5:t.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return t.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:t.getLogger().trace("end icon"),this.popState();break;case 10:return t.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return t.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return t.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return t.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:case 15:case 16:case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:t.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 22:return t.getLogger().trace("description:",e.yytext),"NODE_DESCR";case 24:return this.popState(),t.getLogger().trace("node end ))"),"NODE_DEND";case 25:return this.popState(),t.getLogger().trace("node end )"),"NODE_DEND";case 26:return this.popState(),t.getLogger().trace("node end ...",e.yytext),"NODE_DEND";case 27:case 30:case 31:return this.popState(),t.getLogger().trace("node end (("),"NODE_DEND";case 28:case 29:return this.popState(),t.getLogger().trace("node end (-"),"NODE_DEND";case 32:case 33:return t.getLogger().trace("Long description:",e.yytext),20}},rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\-\)\{\}]+)/i,/^(?:$)/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR:{rules:[22,23],inclusive:!1},NODE:{rules:[21,24,25,26,27,28,29,30,31,32,33],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};function k(){this.yy={}}return b.lexer=w,k.prototype=b,b.Parser=k,new k}();Hq.parser=Hq;const qq=Hq,Uq=t=>Gh(t,_w());let Gq=[],Wq=0,Kq={};const Yq=()=>{Gq=[],Wq=0,Kq={}},Xq=function(t){for(let e=Gq.length-1;e>=0;e--)if(Gq[e].levelGq.length>0?Gq[0]:null,Qq=(t,e,n,i)=>{h.info("addNode",t,e,n,i);const r=_w(),o={id:Wq++,nodeId:Uq(e),level:t,descr:Uq(n),type:i,children:[],width:_w().mindmap.maxNodeWidth};switch(o.type){case Jq.ROUNDED_RECT:case Jq.RECT:case Jq.HEXAGON:o.padding=2*r.mindmap.padding;break;default:o.padding=r.mindmap.padding}const a=Xq(t);if(a)a.children.push(o),Gq.push(o);else{if(0!==Gq.length){let t=new Error('There can be only one root. No parent could be found for ("'+o.descr+'")');throw t.hash={text:"branch "+name,token:"branch "+name,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+name+'"']},t}Gq.push(o)}},Jq={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},tU=(t,e)=>{switch(h.debug("In get type",t,e),t){case"[":return Jq.RECT;case"(":return")"===e?Jq.ROUNDED_RECT:Jq.CLOUD;case"((":return Jq.CIRCLE;case")":return Jq.CLOUD;case"))":return Jq.BANG;case"{{":return Jq.HEXAGON;default:return Jq.DEFAULT}},eU=(t,e)=>{Kq[t]=e},nU=t=>{const e=Gq[Gq.length-1];t&&t.icon&&(e.icon=Uq(t.icon)),t&&t.class&&(e.class=Uq(t.class))},iU=t=>{switch(t){case Jq.DEFAULT:return"no-border";case Jq.RECT:return"rect";case Jq.ROUNDED_RECT:return"rounded-rect";case Jq.CIRCLE:return"circle";case Jq.CLOUD:return"cloud";case Jq.BANG:return"bang";case Jq.HEXAGON:return"hexgon";default:return"no-border"}};let rU;const oU=t=>{rU=t},aU=()=>h,sU=t=>Gq[t],cU=t=>Kq[t],lU=Object.freeze(Object.defineProperty({__proto__:null,addNode:Qq,clear:Yq,decorateNode:nU,getElementById:cU,getLogger:aU,getMindmap:Zq,getNodeById:sU,getType:tU,nodeType:Jq,get parseError(){return rU},sanitizeText:Uq,setElementForId:eU,setErrorHandler:oU,type2Str:iU},Symbol.toStringTag,{value:"Module"})),uU=12;function hU(t,e){t.each((function(){var t,n=un(this),i=n.text().split(/(\s+|
)/).reverse(),r=[],o=1.1,a=n.attr("y"),s=parseFloat(n.attr("dy")),c=n.text(null).append("tspan").attr("x",0).attr("y",a).attr("dy",s+"em");for(let s=0;se||"
"===t)&&(r.pop(),c.text(r.join(" ").trim()),r="
"===t?[""]:[t],c=n.append("tspan").attr("x",0).attr("y",a).attr("dy",o+"em").text(t))}))}const dU=function(t,e,n){const i=5;t.append("path").attr("id","node-"+e.id).attr("class","node-bkg node-"+iU(e.type)).attr("d",`M0 ${e.height-i} v${-e.height+2*i} q0,-5 5,-5 h${e.width-2*i} q5,0 5,5 v${e.height-i} H0 Z`),t.append("line").attr("class","node-line-"+n).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},fU=function(t,e){t.append("rect").attr("id","node-"+e.id).attr("class","node-bkg node-"+iU(e.type)).attr("height",e.height).attr("width",e.width)},gU=function(t,e){const n=e.width,i=e.height,r=.15*n,o=.25*n,a=.35*n,s=.2*n;t.append("path").attr("id","node-"+e.id).attr("class","node-bkg node-"+iU(e.type)).attr("d",`M0 0 a${r},${r} 0 0,1 ${.25*n},${-1*n*.1}\n a${a},${a} 1 0,1 ${.4*n},${-1*n*.1}\n a${o},${o} 1 0,1 ${.35*n},${1*n*.2}\n\n a${r},${r} 1 0,1 ${.15*n},${1*i*.35}\n a${s},${s} 1 0,1 ${-1*n*.15},${1*i*.65}\n\n a${o},${r} 1 0,1 ${-1*n*.25},${.15*n}\n a${a},${a} 1 0,1 ${-1*n*.5},0\n a${r},${r} 1 0,1 ${-1*n*.25},${-1*n*.15}\n\n a${r},${r} 1 0,1 ${-1*n*.1},${-1*i*.35}\n a${s},${s} 1 0,1 ${.1*n},${-1*i*.65}\n\n H0 V0 Z`)},pU=function(t,e){const n=e.width,i=e.height,r=.15*n;t.append("path").attr("id","node-"+e.id).attr("class","node-bkg node-"+iU(e.type)).attr("d",`M0 0 a${r},${r} 1 0,0 ${.25*n},${-1*i*.1}\n a${r},${r} 1 0,0 ${.25*n},0\n a${r},${r} 1 0,0 ${.25*n},0\n a${r},${r} 1 0,0 ${.25*n},${1*i*.1}\n\n a${r},${r} 1 0,0 ${.15*n},${1*i*.33}\n a${.8*r},${.8*r} 1 0,0 0,${1*i*.34}\n a${r},${r} 1 0,0 ${-1*n*.15},${1*i*.33}\n\n a${r},${r} 1 0,0 ${-1*n*.25},${.15*i}\n a${r},${r} 1 0,0 ${-1*n*.25},0\n a${r},${r} 1 0,0 ${-1*n*.25},0\n a${r},${r} 1 0,0 ${-1*n*.25},${-1*i*.15}\n\n a${r},${r} 1 0,0 ${-1*n*.1},${-1*i*.33}\n a${.8*r},${.8*r} 1 0,0 0,${-1*i*.34}\n a${r},${r} 1 0,0 ${.1*n},${-1*i*.33}\n\n H0 V0 Z`)},mU=function(t,e){t.append("circle").attr("id","node-"+e.id).attr("class","node-bkg node-"+iU(e.type)).attr("r",e.width/2)};function bU(t,e,n,i,r){return t.insert("polygon",":first-child").attr("points",i.map((function(t){return t.x+","+t.y})).join(" ")).attr("transform","translate("+(r.width-e)/2+", "+n+")")}const wU=function(t,e){const n=e.height,i=n/4,r=e.width-e.padding+2*i;bU(t,r,n,[{x:i,y:0},{x:r-i,y:0},{x:r,y:-n/2},{x:r-i,y:-n},{x:i,y:-n},{x:0,y:-n/2}],e)},kU=function(t,e){t.append("rect").attr("id","node-"+e.id).attr("class","node-bkg node-"+iU(e.type)).attr("height",e.height).attr("rx",e.padding).attr("ry",e.padding).attr("width",e.width)},vU={drawNode:function(t,e,n,i){const r=n%(uU-1),o=t.append("g");e.section=r;let a="section-"+r;r<0&&(a+=" section-root"),o.attr("class",(e.class?e.class+" ":"")+"mindmap-node "+a);const s=o.append("g"),c=o.append("g"),l=c.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(hU,e.width).node().getBBox(),u=i.fontSize.replace?i.fontSize.replace("px",""):i.fontSize;if(e.height=l.height+1.1*u*.5+e.padding,e.width=l.width+2*e.padding,e.icon)if(e.type===Jq.CIRCLE)e.height+=50,e.width+=50,o.append("foreignObject").attr("height","50px").attr("width",e.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+r+" "+e.icon),c.attr("transform","translate("+e.width/2+", "+(e.height/2-1.5*e.padding)+")");else{e.width+=50;const t=e.height;e.height=Math.max(t,60);const n=Math.abs(e.height-t);o.append("foreignObject").attr("width","60px").attr("height",e.height).attr("style","text-align: center;margin-top:"+n/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+r+" "+e.icon),c.attr("transform","translate("+(25+e.width/2)+", "+(n/2+e.padding/2)+")")}else c.attr("transform","translate("+e.width/2+", "+e.padding/2+")");switch(e.type){case Jq.DEFAULT:dU(s,e,r);break;case Jq.ROUNDED_RECT:kU(s,e);break;case Jq.RECT:fU(s,e);break;case Jq.CIRCLE:s.attr("transform","translate("+e.width/2+", "+ +e.height/2+")"),mU(s,e);break;case Jq.CLOUD:gU(s,e);break;case Jq.BANG:pU(s,e);break;case Jq.HEXAGON:wU(s,e)}return eU(e.id,o),e.height},positionNode:function(t){const e=cU(t.id),n=t.x||0,i=t.y||0;e.attr("transform","translate("+n+","+i+")")},drawEdge:function(t,e,n,i,r){const o=r%(uU-1),a=n.x+n.width/2,s=n.y+n.height/2,c=e.x+e.width/2,l=e.y+e.height/2,u=c>a?a+Math.abs(a-c)/2:a-Math.abs(a-c)/2,h=l>s?s+Math.abs(s-l)/2:s-Math.abs(s-l)/2,d=c>a?Math.abs(a-u)/2+a:-Math.abs(a-u)/2+a,f=l>s?Math.abs(s-h)/2+s:-Math.abs(s-h)/2+s;t.append("path").attr("d","TB"===n.direction||"BT"===n.direction?`M${a},${s} Q${a},${f} ${u},${h} T${c},${l}`:`M${a},${s} Q${d},${s} ${u},${h} T${c},${l}`).attr("class","edge section-edge-"+o+" edge-depth-"+i)}};var yU={};!function(t){!function(e,n){t.exports=n()}(0,(function(){function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(e)}function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,i=new Array(e);ne?1:0},Z=function(t,e){return-1*X(t,e)},Q=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments,n=1;n1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}var u=new RegExp("^"+G+"$").exec(t);if(u){if((n=parseInt(u[1]))<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,(i=parseFloat(u[2]))<0||i>100)return;if(i/=100,(r=parseFloat(u[3]))<0||r>100)return;if(r/=100,void 0!==(o=u[4])&&((o=parseFloat(o))<0||o>1))return;if(0===i)a=s=c=Math.round(255*r);else{var h=r<.5?r*(1+i):r+i-r*i,d=2*r-h;a=Math.round(255*l(d,h,n+1/3)),s=Math.round(255*l(d,h,n)),c=Math.round(255*l(d,h,n-1/3))}e=[a,s,c,o]}return e},et=function(t){var e,n=new RegExp("^"+q+"$").exec(t);if(n){e=[];for(var i=[],r=1;r<=3;r++){var o=n[r];if("%"===o[o.length-1]&&(i[r]=!0),o=parseFloat(o),i[r]&&(o=o/100*255),o<0||o>255)return;e.push(Math.floor(o))}var a=i[1]||i[2]||i[3],s=i[1]&&i[2]&&i[3];if(a&&!s)return;var c=n[4];if(void 0!==c){if((c=parseFloat(c))<0||c>1)return;e.push(c)}}return e},nt=function(t){return rt[t.toLowerCase()]},it=function(t){return(y(t)?t:null)||nt(t)||J(t)||et(t)||tt(t)},rt={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},ot=function(t){for(var e=t.map,n=t.keys,i=n.length,r=0;r=e||n<0||h&&t-l>=o}function b(){var t=gt();if(m(t))return w(t);s=setTimeout(b,p(t))}function w(t){return s=void 0,d&&i?f(t):(i=r=void 0,a)}function k(){void 0!==s&&clearTimeout(s),l=0,i=c=r=s=void 0}function v(){return void 0===s?a:w(gt())}function y(){var t=gt(),n=m(t);if(i=arguments,r=this,c=t,n){if(void 0===s)return g(c);if(h)return clearTimeout(s),s=setTimeout(b,e),f(c)}return void 0===s&&(s=setTimeout(b,e)),a}return e=Wt(e)||0,ct(n)&&(u=!!n.leading,o=(h="maxWait"in n)?Yt(Wt(n.maxWait)||0,e):o,d="trailing"in n?!!n.trailing:d),y.cancel=k,y.flush=v,y}var Qt=Zt,Jt=d?d.performance:null,te=Jt&&Jt.now?function(){return Jt.now()}:function(){return Date.now()},ee=function(){if(d){if(d.requestAnimationFrame)return function(t){d.requestAnimationFrame(t)};if(d.mozRequestAnimationFrame)return function(t){d.mozRequestAnimationFrame(t)};if(d.webkitRequestAnimationFrame)return function(t){d.webkitRequestAnimationFrame(t)};if(d.msRequestAnimationFrame)return function(t){d.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout((function(){t(te())}),1e3/60)}}(),ne=function(t){return ee(t)},ie=te,re=9261,oe=65599,ae=5381,se=function(t){for(var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:re;!(e=t.next()).done;)n=n*oe+e.value|0;return n},ce=function(t){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:re)*oe+t|0},le=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ae;return(e<<5)+e+t|0},ue=function(t,e){return 2097152*t+e},he=function(t){return 2097152*t[0]+t[1]},de=function(t,e){return[ce(t[0],e[0]),le(t[1],e[1])]},fe=function(t,e){var n={value:0,done:!1},i=0,r=t.length;return se({next:function(){return i=0&&(t[i]!==e||(t.splice(i,1),!n));i--);},Ne=function(t){t.splice(0,t.length)},Re=function(t,e){for(var n=0;n2&&void 0!==arguments[2])||arguments[2];if(void 0!==t&&void 0!==e&&I(t)){var i=e.group;if(null==i&&(i=e.data&&null!=e.data.source&&null!=e.data.target?"edges":"nodes"),"nodes"===i||"edges"===i){this.length=1,this[0]=this;var r=this._private={cy:t,single:!0,data:e.data||{},position:e.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!e.selected,selectable:void 0===e.selectable||!!e.selectable,locked:!!e.locked,grabbed:!1,grabbable:void 0===e.grabbable||!!e.grabbable,pannable:void 0===e.pannable?"edges"===i:!!e.pannable,active:!1,classes:new He,animation:{current:[],queue:[]},rscratch:{},scratch:e.scratch||{},edges:[],children:[],parent:e.parent&&e.parent.isNode()?e.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==r.position.x&&(r.position.x=0),null==r.position.y&&(r.position.y=0),e.renderedPosition){var o=e.renderedPosition,a=t.pan(),s=t.zoom();r.position={x:(o.x-a.x)/s,y:(o.y-a.y)/s}}var c=[];y(e.classes)?c=e.classes:k(e.classes)&&(c=e.classes.split(/\s+/));for(var l=0,u=c.length;le?1:0},l=function(t,e,r,o,a){var s;if(null==r&&(r=0),null==a&&(a=n),r<0)throw new Error("lo must be non-negative");for(null==o&&(o=t.length);rn;0<=n?e++:e--)l.push(e);return l}.apply(this).reverse()).length;op;0<=p?++d:--d)m.push(o(t,i));return m},g=function(t,e,i,r){var o,a,s;for(null==r&&(r=n),o=t[i];i>e&&r(o,a=t[s=i-1>>1])<0;)t[i]=a,i=s;return t[i]=o},p=function(t,e,i){var r,o,a,s,c;for(null==i&&(i=n),o=t.length,c=e,a=t[e],r=2*e+1;r0;){var C=b.pop(),A=p(C),x=C.id();if(h[x]=A,A!==1/0)for(var E=C.neighborhood().intersect(f),T=0;T0)for(n.unshift(e);u[r];){var o=u[r];n.unshift(o.edge),n.unshift(o.node),r=(i=o.node).id()}return a.spawn(n)}}}},Ze={kruskal:function(t){t=t||function(t){return 1};for(var e=this.byGroup(),n=e.nodes,i=e.edges,r=n.length,o=new Array(r),a=n,s=function(t){for(var e=0;e0;){if(v(),_++,l===h){for(var C=[],A=r,x=h,E=w[x];C.unshift(A),null!=E&&C.unshift(E),null!=(A=b[x]);)E=w[x=A.id()];return{found:!0,distance:d[l],path:this.spawn(C),steps:_}}g[l]=!0;for(var T=c._private.edges,S=0;ST&&(f[E]=T,b[E]=x,w[E]=y),!r){var S=x*l+A;!r&&f[S]>T&&(f[S]=T,b[S]=A,w[S]=y)}}}for(var D=0;D1&&void 0!==arguments[1]?arguments[1]:o,i=[],r=w(t);;){if(null==r)return e.spawn();var a=b(r),c=a.edge,l=a.pred;if(i.unshift(r[0]),r.same(n)&&i.length>0)break;null!=c&&i.unshift(c),r=l}return s.spawn(i)},_=0;_=0;l--){var u=c[l],h=u[1],d=u[2];(e[h]===a&&e[d]===s||e[h]===s&&e[d]===a)&&c.splice(l,1)}for(var f=0;fi;){var r=Math.floor(Math.random()*e.length);e=an(r,t,e),n--}return e},cn={kargerStein:function(){var t=this,e=this.byGroup(),n=e.nodes,i=e.edges;i.unmergeBy((function(t){return t.isLoop()}));var r=n.length,o=i.length,a=Math.ceil(Math.pow(Math.log(r)/Math.LN2,2)),s=Math.floor(r/on);if(!(r<2)){for(var c=[],l=0;l1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,i=1/0,r=e;r1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,i=-1/0,r=e;r1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,i=0,r=0,o=e;o1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(n0&&t.splice(0,e)):t=t.slice(e,n);for(var o=0,a=t.length-1;a>=0;a--){var s=t[a];r?isFinite(s)||(t[a]=-1/0,o++):t.splice(a,1)}i&&t.sort((function(t,e){return t-e}));var c=t.length,l=Math.floor(c/2);return c%2!=0?t[l+1+o]:(t[l-1+o]+t[l+o])/2},bn=function(t){return Math.PI*t/180},wn=function(t,e){return Math.atan2(e,t)-Math.PI/2},kn=Math.log2||function(t){return Math.log(t)/Math.log(2)},vn=function(t){return t>0?1:t<0?-1:0},yn=function(t,e){return Math.sqrt(_n(t,e))},_n=function(t,e){var n=e.x-t.x,i=e.y-t.y;return n*n+i*i},Cn=function(t){for(var e=t.length,n=0,i=0;i=t.x1&&t.y2>=t.y1)return{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,w:t.x2-t.x1,h:t.y2-t.y1};if(null!=t.w&&null!=t.h&&t.w>=0&&t.h>=0)return{x1:t.x1,y1:t.y1,x2:t.x1+t.w,y2:t.y1+t.h,w:t.w,h:t.h}}},Dn=function(t){return{x1:t.x1,x2:t.x2,w:t.w,y1:t.y1,y2:t.y2,h:t.h}},In=function(t){t.x1=1/0,t.y1=1/0,t.x2=-1/0,t.y2=-1/0,t.w=0,t.h=0},Bn=function(t,e){t.x1=Math.min(t.x1,e.x1),t.x2=Math.max(t.x2,e.x2),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,e.y1),t.y2=Math.max(t.y2,e.y2),t.h=t.y2-t.y1},Mn=function(t,e,n){t.x1=Math.min(t.x1,e),t.x2=Math.max(t.x2,e),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,n),t.y2=Math.max(t.y2,n),t.h=t.y2-t.y1},Pn=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t.x1-=e,t.x2+=e,t.y1-=e,t.y2+=e,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t},Ln=function(t){var e,n,i,r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===o.length)e=n=i=r=o[0];else if(2===o.length)e=i=o[0],r=n=o[1];else if(4===o.length){var s=a(o,4);e=s[0],n=s[1],i=s[2],r=s[3]}return t.x1-=r,t.x2+=n,t.y1-=e,t.y2+=i,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t},On=function(t,e){t.x1=e.x1,t.y1=e.y1,t.x2=e.x2,t.y2=e.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1},Nn=function(t,e){return!(t.x1>e.x2||e.x1>t.x2||t.x2e.y2||e.y1>t.y2)},Rn=function(t,e,n){return t.x1<=e&&e<=t.x2&&t.y1<=n&&n<=t.y2},Fn=function(t,e){return Rn(t,e.x,e.y)},jn=function(t,e){return Rn(t,e.x1,e.y1)&&Rn(t,e.x2,e.y2)},$n=function(t,e,n,i,r,o,a){var s,c=li(r,o),l=r/2,u=o/2,h=i-u-a;if((s=ni(t,e,n,i,n-l+c-a,h,n+l-c+a,h,!1)).length>0)return s;var d=n+l+a;if((s=ni(t,e,n,i,d,i-u+c-a,d,i+u-c+a,!1)).length>0)return s;var f=i+u+a;if((s=ni(t,e,n,i,n-l+c-a,f,n+l-c+a,f,!1)).length>0)return s;var g,p=n-l-a;if((s=ni(t,e,n,i,p,i-u+c-a,p,i+u-c+a,!1)).length>0)return s;var m=n-l+c,b=i-u+c;if((g=ti(t,e,n,i,m,b,c+a)).length>0&&g[0]<=m&&g[1]<=b)return[g[0],g[1]];var w=n+l-c,k=i-u+c;if((g=ti(t,e,n,i,w,k,c+a)).length>0&&g[0]>=w&&g[1]<=k)return[g[0],g[1]];var v=n+l-c,y=i+u-c;if((g=ti(t,e,n,i,v,y,c+a)).length>0&&g[0]>=v&&g[1]>=y)return[g[0],g[1]];var _=n-l+c,C=i+u-c;return(g=ti(t,e,n,i,_,C,c+a)).length>0&&g[0]<=_&&g[1]>=C?[g[0],g[1]]:[]},zn=function(t,e,n,i,r,o,a){var s=a,c=Math.min(n,r),l=Math.max(n,r),u=Math.min(i,o),h=Math.max(i,o);return c-s<=t&&t<=l+s&&u-s<=e&&e<=h+s},Vn=function(t,e,n,i,r,o,a,s,c){var l={x1:Math.min(n,a,r)-c,x2:Math.max(n,a,r)+c,y1:Math.min(i,s,o)-c,y2:Math.max(i,s,o)+c};return!(tl.x2||el.y2)},Hn=function(t,e,n,i){var r=e*e-4*t*(n-=i);if(r<0)return[];var o=Math.sqrt(r),a=2*t;return[(-e+o)/a,(-e-o)/a]},qn=function(t,e,n,i,r){var o,a,s,c,l,u,h,d;return 0===t&&(t=1e-5),s=-27*(i/=t)+(e/=t)*(9*(n/=t)-e*e*2),o=(a=(3*n-e*e)/9)*a*a+(s/=54)*s,r[1]=0,h=e/3,o>0?(l=(l=s+Math.sqrt(o))<0?-Math.pow(-l,1/3):Math.pow(l,1/3),u=(u=s-Math.sqrt(o))<0?-Math.pow(-u,1/3):Math.pow(u,1/3),r[0]=-h+l+u,h+=(l+u)/2,r[4]=r[2]=-h,h=Math.sqrt(3)*(-u+l)/2,r[3]=h,void(r[5]=-h)):(r[5]=r[3]=0,0===o?(d=s<0?-Math.pow(-s,1/3):Math.pow(s,1/3),r[0]=2*d-h,void(r[4]=r[2]=-(d+h))):(c=(a=-a)*a*a,c=Math.acos(s/Math.sqrt(c)),d=2*Math.sqrt(a),r[0]=-h+d*Math.cos(c/3),r[2]=-h+d*Math.cos((c+2*Math.PI)/3),void(r[4]=-h+d*Math.cos((c+4*Math.PI)/3))))},Un=function(t,e,n,i,r,o,a,s){var c=[];qn(1*n*n-4*n*r+2*n*a+4*r*r-4*r*a+a*a+i*i-4*i*o+2*i*s+4*o*o-4*o*s+s*s,9*n*r-3*n*n-3*n*a-6*r*r+3*r*a+9*i*o-3*i*i-3*i*s-6*o*o+3*o*s,3*n*n-6*n*r+n*a-n*t+2*r*r+2*r*t-a*t+3*i*i-6*i*o+i*s-i*e+2*o*o+2*o*e-s*e,1*n*r-n*n+n*t-r*t+i*o-i*i+i*e-o*e,c);for(var l=1e-7,u=[],h=0;h<6;h+=2)Math.abs(c[h+1])=0&&c[h]<=1&&u.push(c[h]);u.push(1),u.push(0);for(var d,f,g,p=-1,m=0;m=0?gc?(t-r)*(t-r)+(e-o)*(e-o):l-h},Wn=function(t,e,n){for(var i,r,o,a,s=0,c=0;c=t&&t>=o||i<=t&&t<=o))continue;(t-i)/(o-i)*(a-r)+r>e&&s++}return s%2!=0},Kn=function(t,e,n,i,r,o,a,s,c){var l,u=new Array(n.length);null!=s[0]?(l=Math.atan(s[1]/s[0]),s[0]<0?l+=Math.PI/2:l=-l-Math.PI/2):l=s;for(var h,d=Math.cos(-l),f=Math.sin(-l),g=0;g0){var p=Zn(u,-c);h=Xn(p)}else h=u;return Wn(t,e,h)},Yn=function(t,e,n,i,r,o,a){for(var s=new Array(n.length),c=o/2,l=a/2,u=ui(o,a),h=u*u,d=0;d=0&&g<=1&&m.push(g),p>=0&&p<=1&&m.push(p),0===m.length)return[];var b=m[0]*s[0]+t,w=m[0]*s[1]+e;return m.length>1?m[0]==m[1]?[b,w]:[b,w,m[1]*s[0]+t,m[1]*s[1]+e]:[b,w]},ei=function(t,e,n){return e<=t&&t<=n||n<=t&&t<=e?t:t<=e&&e<=n||n<=e&&e<=t?e:n},ni=function(t,e,n,i,r,o,a,s,c){var l=t-r,u=n-t,h=a-r,d=e-o,f=i-e,g=s-o,p=h*d-g*l,m=u*d-f*l,b=g*u-h*f;if(0!==b){var w=p/b,k=m/b,v=.001,y=0-v,_=1+v;return y<=w&&w<=_&&y<=k&&k<=_||c?[t+w*u,e+w*f]:[]}return 0===p||0===m?ei(t,n,a)===a?[a,s]:ei(t,n,r)===r?[r,o]:ei(r,a,n)===n?[n,i]:[]:[]},ii=function(t,e,n,i,r,o,a,s){var c,l,u,h,d,f,g=[],p=new Array(n.length),m=!0;if(null==o&&(m=!1),m){for(var b=0;b0){var w=Zn(p,-s);l=Xn(w)}else l=p}else l=n;for(var k=0;k2){for(var S=[l[0],l[1]],D=Math.pow(S[0]-t,2)+Math.pow(S[1]-e,2),I=1;Il&&(l=e)},get:function(t){return c[t]}},h=0;h0?w.edgesTo(b)[0]:b.edgesTo(w)[0];var v=i(k);b=b.id(),h[b]>h[p]+v&&(h[b]=h[p]+v,d.nodes.indexOf(b)<0?d.push(b):d.updateItem(b),l[b]=0,c[b]=[]),h[b]==h[p]+v&&(l[b]=l[b]+l[p],c[b].push(p))}else for(var y=0;y0;){for(var x=n.pop(),E=0;E0&&a.push(n[s]);0!==a.length&&r.push(i.collection(a))}return r},Mi=function(t,e){for(var n=0;n5&&void 0!==arguments[5]?arguments[5]:Ni,a=i,s=0;s=2?Vi(t,e,n,0,ji,$i):Vi(t,e,n,0,Fi)},squaredEuclidean:function(t,e,n){return Vi(t,e,n,0,ji)},manhattan:function(t,e,n){return Vi(t,e,n,0,Fi)},max:function(t,e,n){return Vi(t,e,n,-1/0,zi)}};function qi(t,e,n,i,r,o){var a;return a=v(t)?t:Hi[t]||Hi.euclidean,0===e&&v(t)?a(r,o):a(e,n,i,r,o)}Hi["squared-euclidean"]=Hi.squaredEuclidean,Hi.squaredeuclidean=Hi.squaredEuclidean;var Ui=Le({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),Gi=function(t){return Ui(t)},Wi=function(t,e,n,i,r){var o="kMedoids"!==r?function(t){return n[t]}:function(t){return i[t](n)},a=function(t){return i[t](e)},s=n,c=e;return qi(t,i.length,o,a,s,c)},Ki=function(t,e,n){for(var i=n.length,r=new Array(i),o=new Array(i),a=new Array(e),s=null,c=0;cn)return!1;return!0},Ji=function(t,e,n){for(var i=0;ir&&(r=e[c][l],o=l);a[o].push(t[c])}for(var u=0;u=r.threshold||"dendrogram"===r.mode&&1===t.length)return!1;var f,g=e[a],p=e[i[a]];f="dendrogram"===r.mode?{left:g,right:p,key:g.key}:{value:g.value.concat(p.value),key:g.key},t[g.index]=f,t.splice(p.index,1),e[g.key]=f;for(var m=0;mn[p.key][b.key]&&(o=n[p.key][b.key])):"max"===r.linkage?(o=n[g.key][b.key],n[g.key][b.key]0&&i.push(r);return i},yr=function(t,e,n){for(var i=[],r=0;ra&&(o=c,a=e[r*t+c])}o>0&&i.push(o)}for(var l=0;lc&&(s=l,c=u)}n[r]=o[s]}return i=yr(t,e,n)},Cr=function(t){for(var e,n,i,r,o,a,s=this.cy(),c=this.nodes(),l=br(t),u={},h=0;h=E?(T=E,E=D,S=I):D>T&&(T=D);for(var B=0;B0?1:0;C[_%l.minIterations*e+R]=F,N+=F}if(N>0&&(_>=l.minIterations-1||_==l.maxIterations-1)){for(var j=0,$=0;$1||a>1)&&(l=!0),u[e]=[],t.outgoers().forEach((function(t){t.isEdge()&&u[e].push(t.id())}))}else h[e]=[void 0,t.target().id()]})):c.forEach((function(t){var e=t.id();t.isNode()?(t.degree(!0)%2&&(n?i?l=!0:i=e:n=e),u[e]=[],t.connectedEdges().forEach((function(t){return u[e].push(t.id())}))):h[e]=[t.source().id(),t.target().id()]}));var d={found:!1,trail:void 0};if(l)return d;if(i&&n)if(s){if(r&&i!=r)return d;r=i}else{if(r&&i!=r&&n!=r)return d;r||(r=i)}else r||(r=c[0].id());var f=function(t){for(var e,n,i,r=t,o=[t];u[r].length;)e=u[r].shift(),n=h[e][0],r!=(i=h[e][1])?(u[i]=u[i].filter((function(t){return t!=e})),r=i):s||r==n||(u[n]=u[n].filter((function(t){return t!=e})),r=n),o.unshift(e),o.unshift(r);return o},g=[],p=[];for(p=f(r);1!=p.length;)0==u[p[0]].length?(g.unshift(c.getElementById(p.shift())),g.unshift(c.getElementById(p.shift()))):p=f(p.shift()).concat(p);for(var m in g.unshift(c.getElementById(p.shift())),u)if(u[m].length)return d;return d.found=!0,d.trail=this.spawn(g,!0),d}},Tr=function(){var t=this,e={},n=0,i=0,r=[],o=[],a={},s=function(n,i){for(var a=o.length-1,s=[],c=t.spawn();o[a].x!=n||o[a].y!=i;)s.push(o.pop().edge),a--;s.push(o.pop().edge),s.forEach((function(n){var i=n.connectedNodes().intersection(t);c.merge(n),i.forEach((function(n){var i=n.id(),r=n.connectedEdges().intersection(t);c.merge(n),e[i].cutVertex?c.merge(r.filter((function(t){return t.isLoop()}))):c.merge(r)}))})),r.push(c)},c=function c(l,u,h){l===h&&(i+=1),e[u]={id:n,low:n++,cutVertex:!1};var d,f,g,p,m=t.getElementById(u).connectedEdges().intersection(t);0===m.size()?r.push(t.spawn(t.getElementById(u))):m.forEach((function(t){d=t.source().id(),f=t.target().id(),(g=d===u?f:d)!==h&&(p=t.id(),a[p]||(a[p]=!0,o.push({x:u,y:g,edge:t})),g in e?e[u].low=Math.min(e[u].low,e[g].id):(c(l,g,u),e[u].low=Math.min(e[u].low,e[g].low),e[u].id<=e[g].low&&(e[u].cutVertex=!0,s(u,g))))}))};t.forEach((function(t){if(t.isNode()){var n=t.id();n in e||(i=0,c(n,n),e[n].cutVertex=i>1)}}));var l=Object.keys(e).filter((function(t){return e[t].cutVertex})).map((function(e){return t.getElementById(e)}));return{cut:t.spawn(l),components:r}},Sr=function(){var t=this,e={},n=0,i=[],r=[],o=t.spawn(t),a=function a(s){if(r.push(s),e[s]={index:n,low:n++,explored:!1},t.getElementById(s).connectedEdges().intersection(t).forEach((function(t){var n=t.target().id();n!==s&&(n in e||a(n),e[n].explored||(e[s].low=Math.min(e[s].low,e[n].low)))})),e[s].index===e[s].low){for(var c=t.spawn();;){var l=r.pop();if(c.merge(t.getElementById(l)),e[l].low=e[s].index,e[l].explored=!0,l===s)break}var u=c.edgesWith(c),h=c.merge(u);i.push(h),o=o.difference(h)}};return t.forEach((function(t){if(t.isNode()){var n=t.id();n in e||a(n)}})),{cut:o,components:i}},Dr={};[Ge,Xe,Ze,Je,en,rn,cn,pi,bi,ki,yi,Oi,ar,pr,Ar,Er,{hopcroftTarjanBiconnected:Tr,htbc:Tr,htb:Tr,hopcroftTarjanBiconnectedComponents:Tr},{tarjanStronglyConnected:Sr,tsc:Sr,tscc:Sr,tarjanStronglyConnectedComponents:Sr}].forEach((function(t){Q(Dr,t)})); +/*! + Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable + Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) + Licensed under The MIT License (http://opensource.org/licenses/MIT) + */ +var Ir=0,Br=1,Mr=2,Pr=function t(e){if(!(this instanceof t))return new t(e);this.id="Thenable/1.0.7",this.state=Ir,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof e&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};Pr.prototype={fulfill:function(t){return Lr(this,Br,"fulfillValue",t)},reject:function(t){return Lr(this,Mr,"rejectReason",t)},then:function(t,e){var n=this,i=new Pr;return n.onFulfilled.push(Rr(t,i,"fulfill")),n.onRejected.push(Rr(e,i,"reject")),Or(n),i.proxy}};var Lr=function(t,e,n,i){return t.state===Ir&&(t.state=e,t[n]=i,Or(t)),t},Or=function(t){t.state===Br?Nr(t,"onFulfilled",t.fulfillValue):t.state===Mr&&Nr(t,"onRejected",t.rejectReason)},Nr=function(t,e,n){if(0!==t[e].length){var i=t[e];t[e]=[];var r=function(){for(var t=0;t0:void 0}},clearQueue:function(){return function(){var t=this,e=void 0!==t.length?t:[t];if(!(this._private.cy||this).styleEnabled())return this;for(var n=0;n-1}var Xo=Yo;function Zo(t,e){var n=this.__data__,i=Ho(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}var Qo=Zo;function Jo(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e-1&&t%1==0&&t0&&this.spawn(i).updateStyle().emit("class"),e},addClass:function(t){return this.toggleClass(t,!0)},hasClass:function(t){var e=this[0];return null!=e&&e._private.classes.has(t)},toggleClass:function(t,e){y(t)||(t=t.match(/\S+/g)||[]);for(var n=this,i=void 0===e,r=[],o=0,a=n.length;o0&&this.spawn(r).updateStyle().emit("class"),n},removeClass:function(t){return this.toggleClass(t,!1)},flashClass:function(t,e){var n=this;if(null==e)e=250;else if(0===e)return n;return n.addClass(t),setTimeout((function(){n.removeClass(t)}),e),n}};hs.className=hs.classNames=hs.classes;var ds={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:H,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};ds.variable="(?:[\\w-.]|(?:\\\\"+ds.metaChar+"))+",ds.className="(?:[\\w-]|(?:\\\\"+ds.metaChar+"))+",ds.value=ds.string+"|"+ds.number,ds.id=ds.variable,function(){var t,e,n;for(t=ds.comparatorOp.split("|"),n=0;n=0||"="!==e&&(ds.comparatorOp+="|\\!"+e)}();var fs=function(){return{checks:[]}},gs={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},ps=[{selector:":selected",matches:function(t){return t.selected()}},{selector:":unselected",matches:function(t){return!t.selected()}},{selector:":selectable",matches:function(t){return t.selectable()}},{selector:":unselectable",matches:function(t){return!t.selectable()}},{selector:":locked",matches:function(t){return t.locked()}},{selector:":unlocked",matches:function(t){return!t.locked()}},{selector:":visible",matches:function(t){return t.visible()}},{selector:":hidden",matches:function(t){return!t.visible()}},{selector:":transparent",matches:function(t){return t.transparent()}},{selector:":grabbed",matches:function(t){return t.grabbed()}},{selector:":free",matches:function(t){return!t.grabbed()}},{selector:":removed",matches:function(t){return t.removed()}},{selector:":inside",matches:function(t){return!t.removed()}},{selector:":grabbable",matches:function(t){return t.grabbable()}},{selector:":ungrabbable",matches:function(t){return!t.grabbable()}},{selector:":animated",matches:function(t){return t.animated()}},{selector:":unanimated",matches:function(t){return!t.animated()}},{selector:":parent",matches:function(t){return t.isParent()}},{selector:":childless",matches:function(t){return t.isChildless()}},{selector:":child",matches:function(t){return t.isChild()}},{selector:":orphan",matches:function(t){return t.isOrphan()}},{selector:":nonorphan",matches:function(t){return t.isChild()}},{selector:":compound",matches:function(t){return t.isNode()?t.isParent():t.source().isParent()||t.target().isParent()}},{selector:":loop",matches:function(t){return t.isLoop()}},{selector:":simple",matches:function(t){return t.isSimple()}},{selector:":active",matches:function(t){return t.active()}},{selector:":inactive",matches:function(t){return!t.active()}},{selector:":backgrounding",matches:function(t){return t.backgrounding()}},{selector:":nonbackgrounding",matches:function(t){return!t.backgrounding()}}].sort((function(t,e){return Z(t.selector,e.selector)})),ms=function(){for(var t,e={},n=0;n0&&l.edgeCount>0)return Te("The selector `"+t+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(l.edgeCount>1)return Te("The selector `"+t+"` is invalid because it uses multiple edge selectors"),!1;1===l.edgeCount&&Te("The selector `"+t+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var t=function(t){return null==t?"":t},e=function(e){return k(e)?'"'+e+'"':t(e)},n=function(t){return" "+t+" "},i=function(i,o){var a=i.type,s=i.value;switch(a){case gs.GROUP:var c=t(s);return c.substring(0,c.length-1);case gs.DATA_COMPARE:var l=i.field,u=i.operator;return"["+l+n(t(u))+e(s)+"]";case gs.DATA_BOOL:var h=i.operator,d=i.field;return"["+t(h)+d+"]";case gs.DATA_EXIST:return"["+i.field+"]";case gs.META_COMPARE:var f=i.operator;return"[["+i.field+n(t(f))+e(s)+"]]";case gs.STATE:return s;case gs.ID:return"#"+s;case gs.CLASS:return"."+s;case gs.PARENT:case gs.CHILD:return r(i.parent,o)+n(">")+r(i.child,o);case gs.ANCESTOR:case gs.DESCENDANT:return r(i.ancestor,o)+" "+r(i.descendant,o);case gs.COMPOUND_SPLIT:var g=r(i.left,o),p=r(i.subject,o),m=r(i.right,o);return g+(g.length>0?" ":"")+p+m;case gs.TRUE:return""}},r=function(t,e){return t.checks.reduce((function(n,r,o){return n+(e===t&&0===o?"$":"")+i(r,e)}),"")},o="",a=0;a1&&a=0&&(e=e.replace("!",""),u=!0),e.indexOf("@")>=0&&(e=e.replace("@",""),l=!0),(a||c||l)&&(r=a||s?""+t:"",o=""+n),l&&(t=r=r.toLowerCase(),n=o=o.toLowerCase()),e){case"*=":i=r.indexOf(o)>=0;break;case"$=":i=r.indexOf(o,r.length-o.length)>=0;break;case"^=":i=0===r.indexOf(o);break;case"=":i=t===n;break;case">":h=!0,i=t>n;break;case">=":h=!0,i=t>=n;break;case"<":h=!0,i=t0;){var l=r.shift();e(l),o.add(l.id()),a&&i(r,o,l)}return t}function zs(t,e,n){if(n.isParent())for(var i=n._private.children,r=0;r1&&void 0!==arguments[1])||arguments[1],zs)},js.forEachUp=function(t){return $s(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Vs)},js.forEachUpAndDown=function(t){return $s(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Hs)},js.ancestors=js.parents,(Ns=Rs={data:ls.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:ls.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:ls.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:ls.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:ls.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:ls.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var t=this[0];if(t)return t._private.data.id}}).attr=Ns.data,Ns.removeAttr=Ns.removeData;var qs,Us,Gs=Rs,Ws={};function Ks(t){return function(e){var n=this;if(void 0===e&&(e=!0),0!==n.length&&n.isNode()&&!n.removed()){for(var i=0,r=n[0],o=r._private.edges,a=0;ae})),minIndegree:Ys("indegree",(function(t,e){return te})),minOutdegree:Ys("outdegree",(function(t,e){return te}))}),Q(Ws,{totalDegree:function(t){for(var e=0,n=this.nodes(),i=0;i0,u=l;l&&(c=c[0]);var h=u?c.position():{x:0,y:0};return r={x:s.x-h.x,y:s.y-h.y},void 0===t?r:r[t]}for(var d=0;d0,m=p;p&&(g=g[0]);var b=m?g.position():{x:0,y:0};void 0!==e?f.position(t,e+b[t]):void 0!==r&&f.position({x:r.x+b.x,y:r.y+b.y})}}else if(!o)return;return this}}).modelPosition=qs.point=qs.position,qs.modelPositions=qs.points=qs.positions,qs.renderedPoint=qs.renderedPosition,qs.relativePoint=qs.relativePosition;var Qs,Js,tc=Us;Qs=Js={},Js.renderedBoundingBox=function(t){var e=this.boundingBox(t),n=this.cy(),i=n.zoom(),r=n.pan(),o=e.x1*i+r.x,a=e.x2*i+r.x,s=e.y1*i+r.y,c=e.y2*i+r.y;return{x1:o,x2:a,y1:s,y2:c,w:a-o,h:c-s}},Js.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.cy();return e.styleEnabled()&&e.hasCompoundNodes()?(this.forEachUp((function(e){if(e.isParent()){var n=e._private;n.compoundBoundsClean=!1,n.bbCache=null,t||e.emitAndNotify("bounds")}})),this):this},Js.updateCompoundBounds=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function n(t){if(t.isParent()){var e=t._private,n=t.children(),i="include"===t.pstyle("compound-sizing-wrt-labels").value,r={width:{val:t.pstyle("min-width").pfValue,left:t.pstyle("min-width-bias-left"),right:t.pstyle("min-width-bias-right")},height:{val:t.pstyle("min-height").pfValue,top:t.pstyle("min-height-bias-top"),bottom:t.pstyle("min-height-bias-bottom")}},o=n.boundingBox({includeLabels:i,includeOverlays:!1,useCache:!1}),a=e.position;0!==o.w&&0!==o.h||((o={w:t.pstyle("width").pfValue,h:t.pstyle("height").pfValue}).x1=a.x-o.w/2,o.x2=a.x+o.w/2,o.y1=a.y-o.h/2,o.y2=a.y+o.h/2);var s=r.width.left.value;"px"===r.width.left.units&&r.width.val>0&&(s=100*s/r.width.val);var c=r.width.right.value;"px"===r.width.right.units&&r.width.val>0&&(c=100*c/r.width.val);var l=r.height.top.value;"px"===r.height.top.units&&r.height.val>0&&(l=100*l/r.height.val);var u=r.height.bottom.value;"px"===r.height.bottom.units&&r.height.val>0&&(u=100*u/r.height.val);var h=b(r.width.val-o.w,s,c),d=h.biasDiff,f=h.biasComplementDiff,g=b(r.height.val-o.h,l,u),p=g.biasDiff,m=g.biasComplementDiff;e.autoPadding=w(o.w,o.h,t.pstyle("padding"),t.pstyle("padding-relative-to").value),e.autoWidth=Math.max(o.w,r.width.val),a.x=(-d+o.x1+o.x2+f)/2,e.autoHeight=Math.max(o.h,r.height.val),a.y=(-p+o.y1+o.y2+m)/2}function b(t,e,n){var i=0,r=0,o=e+n;return t>0&&o>0&&(i=e/o*t,r=n/o*t),{biasDiff:i,biasComplementDiff:r}}function w(t,e,n,i){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(i){case"width":return t>0?n.pfValue*t:0;case"height":return e>0?n.pfValue*e:0;case"average":return t>0&&e>0?n.pfValue*(t+e)/2:0;case"min":return t>0&&e>0?t>e?n.pfValue*e:n.pfValue*t:0;case"max":return t>0&&e>0?t>e?n.pfValue*t:n.pfValue*e:0;default:return 0}}}for(var i=0;it.x2?i:t.x2,t.y1=nt.y2?r:t.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1)},ic=function(t,e){return null==e?t:nc(t,e.x1,e.y1,e.x2,e.y2)},rc=function(t,e,n){return Fe(t,e,n)},oc=function(t,e,n){if(!e.cy().headless()){var i,r,o=e._private,a=o.rstyle,s=a.arrowWidth/2;if("none"!==e.pstyle(n+"-arrow-shape").value){"source"===n?(i=a.srcX,r=a.srcY):"target"===n?(i=a.tgtX,r=a.tgtY):(i=a.midX,r=a.midY);var c=o.arrowBounds=o.arrowBounds||{},l=c[n]=c[n]||{};l.x1=i-s,l.y1=r-s,l.x2=i+s,l.y2=r+s,l.w=l.x2-l.x1,l.h=l.y2-l.y1,Pn(l,1),nc(t,l.x1,l.y1,l.x2,l.y2)}}},ac=function(t,e,n){if(!e.cy().headless()){var i;i=n?n+"-":"";var r=e._private,o=r.rstyle;if(e.pstyle(i+"label").strValue){var a,s,c,l,u=e.pstyle("text-halign"),h=e.pstyle("text-valign"),d=rc(o,"labelWidth",n),f=rc(o,"labelHeight",n),g=rc(o,"labelX",n),p=rc(o,"labelY",n),m=e.pstyle(i+"text-margin-x").pfValue,b=e.pstyle(i+"text-margin-y").pfValue,w=e.isEdge(),k=e.pstyle(i+"text-rotation"),v=e.pstyle("text-outline-width").pfValue,y=e.pstyle("text-border-width").pfValue/2,_=e.pstyle("text-background-padding").pfValue,C=2,A=f,x=d,E=x/2,T=A/2;if(w)a=g-E,s=g+E,c=p-T,l=p+T;else{switch(u.value){case"left":a=g-x,s=g;break;case"center":a=g-E,s=g+E;break;case"right":a=g,s=g+x}switch(h.value){case"top":c=p-A,l=p;break;case"center":c=p-T,l=p+T;break;case"bottom":c=p,l=p+A}}a+=m-Math.max(v,y)-_-C,s+=m+Math.max(v,y)+_+C,c+=b-Math.max(v,y)-_-C,l+=b+Math.max(v,y)+_+C;var S=n||"main",D=r.labelBounds,I=D[S]=D[S]||{};I.x1=a,I.y1=c,I.x2=s,I.y2=l,I.w=s-a,I.h=l-c;var B=w&&"autorotate"===k.strValue,M=null!=k.pfValue&&0!==k.pfValue;if(B||M){var P=B?rc(r.rstyle,"labelAngle",n):k.pfValue,L=Math.cos(P),O=Math.sin(P),N=(a+s)/2,R=(c+l)/2;if(!w){switch(u.value){case"left":N=s;break;case"right":N=a}switch(h.value){case"top":R=l;break;case"bottom":R=c}}var F=function(t,e){return{x:(t-=N)*L-(e-=R)*O+N,y:t*O+e*L+R}},j=F(a,c),$=F(a,l),z=F(s,c),V=F(s,l);a=Math.min(j.x,$.x,z.x,V.x),s=Math.max(j.x,$.x,z.x,V.x),c=Math.min(j.y,$.y,z.y,V.y),l=Math.max(j.y,$.y,z.y,V.y)}var H=S+"Rot",q=D[H]=D[H]||{};q.x1=a,q.y1=c,q.x2=s,q.y2=l,q.w=s-a,q.h=l-c,nc(t,a,c,s,l),nc(r.labelBounds.all,a,c,s,l)}return t}},sc=function(t,e){var n,i,r,o,a,s,c=t._private.cy,l=c.styleEnabled(),u=c.headless(),h=Sn(),d=t._private,f=t.isNode(),g=t.isEdge(),p=d.rstyle,m=f&&l?t.pstyle("bounds-expansion").pfValue:[0],b=function(t){return"none"!==t.pstyle("display").value},w=!l||b(t)&&(!g||b(t.source())&&b(t.target()));if(w){var k=0;l&&e.includeOverlays&&0!==t.pstyle("overlay-opacity").value&&(k=t.pstyle("overlay-padding").value);var v=0;l&&e.includeUnderlays&&0!==t.pstyle("underlay-opacity").value&&(v=t.pstyle("underlay-padding").value);var y=Math.max(k,v),_=0;if(l&&(_=t.pstyle("width").pfValue/2),f&&e.includeNodes){var C=t.position();a=C.x,s=C.y;var A=t.outerWidth()/2,x=t.outerHeight()/2;nc(h,n=a-A,r=s-x,i=a+A,o=s+x)}else if(g&&e.includeEdges)if(l&&!u){var E=t.pstyle("curve-style").strValue;if(n=Math.min(p.srcX,p.midX,p.tgtX),i=Math.max(p.srcX,p.midX,p.tgtX),r=Math.min(p.srcY,p.midY,p.tgtY),o=Math.max(p.srcY,p.midY,p.tgtY),nc(h,n-=_,r-=_,i+=_,o+=_),"haystack"===E){var T=p.haystackPts;if(T&&2===T.length){if(n=T[0].x,r=T[0].y,n>(i=T[1].x)){var S=n;n=i,i=S}if(r>(o=T[1].y)){var D=r;r=o,o=D}nc(h,n-_,r-_,i+_,o+_)}}else if("bezier"===E||"unbundled-bezier"===E||"segments"===E||"taxi"===E){var I;switch(E){case"bezier":case"unbundled-bezier":I=p.bezierPts;break;case"segments":case"taxi":I=p.linePts}if(null!=I)for(var B=0;B(i=L.x)){var O=n;n=i,i=O}if((r=P.y)>(o=L.y)){var N=r;r=o,o=N}nc(h,n-=_,r-=_,i+=_,o+=_)}if(l&&e.includeEdges&&g&&(oc(h,t,"mid-source"),oc(h,t,"mid-target"),oc(h,t,"source"),oc(h,t,"target")),l&&"yes"===t.pstyle("ghost").value){var R=t.pstyle("ghost-offset-x").pfValue,F=t.pstyle("ghost-offset-y").pfValue;nc(h,h.x1+R,h.y1+F,h.x2+R,h.y2+F)}var j=d.bodyBounds=d.bodyBounds||{};On(j,h),Ln(j,m),Pn(j,1),l&&(n=h.x1,i=h.x2,r=h.y1,o=h.y2,nc(h,n-y,r-y,i+y,o+y));var $=d.overlayBounds=d.overlayBounds||{};On($,h),Ln($,m),Pn($,1);var z=d.labelBounds=d.labelBounds||{};null!=z.all?In(z.all):z.all=Sn(),l&&e.includeLabels&&(e.includeMainLabels&&ac(h,t,null),g&&(e.includeSourceLabels&&ac(h,t,"source"),e.includeTargetLabels&&ac(h,t,"target")))}return h.x1=ec(h.x1),h.y1=ec(h.y1),h.x2=ec(h.x2),h.y2=ec(h.y2),h.w=ec(h.x2-h.x1),h.h=ec(h.y2-h.y1),h.w>0&&h.h>0&&w&&(Ln(h,m),Pn(h,1)),h},cc=function(t){var e=0,n=function(t){return(t?1:0)<0&&void 0!==arguments[0]?arguments[0]:Pc,e=arguments.length>1?arguments[1]:void 0,n=0;n=0;s--)a(s);return this},Oc.removeAllListeners=function(){return this.removeListener("*")},Oc.emit=Oc.trigger=function(t,e,n){var i=this.listeners,r=i.length;return this.emitting++,y(e)||(e=[e]),Fc(this,(function(t,o){null!=n&&(i=[{event:o.event,type:o.type,namespace:o.namespace,callback:n}],r=i.length);for(var a=function(n){var r=i[n];if(r.type===o.type&&(!r.namespace||r.namespace===o.namespace||r.namespace===Ic)&&t.eventMatches(t.context,r,o)){var a=[o];null!=e&&Re(a,e),t.beforeEmit(t.context,r,o),r.conf&&r.conf.one&&(t.listeners=t.listeners.filter((function(t){return t!==r})));var s=t.callbackContext(t.context,r,o),c=r.callback.apply(s,a);t.afterEmit(t.context,r,o),!1===c&&(o.stopPropagation(),o.preventDefault())}},s=0;s1&&!i){var r=this.length-1,o=this[r],a=o._private.data.id;this[r]=void 0,this[t]=o,n.set(a,{ele:o,index:t})}return this.length--,this},unmergeOne:function(t){t=t[0];var e=this._private,n=t._private.data.id,i=e.map.get(n);if(!i)return this;var r=i.index;return this.unmergeAt(r),this},unmerge:function(t){var e=this._private.cy;if(!t)return this;if(t&&k(t)){var n=t;t=e.mutableElements().filter(n)}for(var i=0;i=0;e--)t(this[e])&&this.unmergeAt(e);return this},map:function(t,e){for(var n=[],i=this,r=0;ri&&(i=s,n=a)}return{value:i,ele:n}},min:function(t,e){for(var n,i=1/0,r=this,o=0;o=0&&r1&&void 0!==arguments[1])||arguments[1],n=this[0],i=n.cy();if(i.styleEnabled()&&n){this.cleanStyle();var r=n._private.style[t];return null!=r?r:e?i.style().getDefaultProperty(t):null}},numericStyle:function(t){var e=this[0];if(e.cy().styleEnabled()&&e){var n=e.pstyle(t);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(t){var e=this[0];if(e.cy().styleEnabled())return e?e.pstyle(t).units:void 0},renderedStyle:function(t){var e=this.cy();if(!e.styleEnabled())return this;var n=this[0];return n?e.style().getRenderedStyle(n,t):void 0},style:function(t,e){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,r=n.style();if(_(t)){var o=t;r.applyBypass(this,o,i),this.emitAndNotify("style")}else if(k(t)){if(void 0===e){var a=this[0];return a?r.getStylePropertyValue(a,t):void 0}r.applyBypass(this,t,e,i),this.emitAndNotify("style")}else if(void 0===t){var s=this[0];return s?r.getRawStyle(s):void 0}return this},removeStyle:function(t){var e=this.cy();if(!e.styleEnabled())return this;var n=!1,i=e.style(),r=this;if(void 0===t)for(var o=0;o0&&e.push(u[0]),e.push(s[0])}return this.spawn(e,!0).filter(t)}),"neighborhood"),closedNeighborhood:function(t){return this.neighborhood().add(this).filter(t)},openNeighborhood:function(t){return this.neighborhood(t)}}),ul.neighbourhood=ul.neighborhood,ul.closedNeighbourhood=ul.closedNeighborhood,ul.openNeighbourhood=ul.openNeighborhood,Q(ul,{source:Fs((function(t){var e,n=this[0];return n&&(e=n._private.source||n.cy().collection()),e&&t?e.filter(t):e}),"source"),target:Fs((function(t){var e,n=this[0];return n&&(e=n._private.target||n.cy().collection()),e&&t?e.filter(t):e}),"target"),sources:gl({attr:"source"}),targets:gl({attr:"target"})}),Q(ul,{edgesWith:Fs(pl(),"edgesWith"),edgesTo:Fs(pl({thisIsSrc:!0}),"edgesTo")}),Q(ul,{connectedEdges:Fs((function(t){for(var e=[],n=this,i=0;i0);return o},component:function(){var t=this[0];return t.cy().mutableElements().components(t)[0]}}),ul.componentsOf=ul.components;var bl=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==t){var r=new $e,o=!1;if(e){if(e.length>0&&_(e[0])&&!S(e[0])){o=!0;for(var a=[],s=new He,c=0,l=e.length;c0&&void 0!==arguments[0])||arguments[0],i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=this,o=r.cy(),a=o._private,s=[],c=[],l=0,u=r.length;l0){for(var R=t.length===r.length?r:new bl(o,t),F=0;F0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,i=[],r={},o=n._private.cy;function a(t){for(var e=t._private.edges,n=0;n0&&(t?x.emitAndNotify("remove"):e&&x.emit("remove"));for(var E=0;E0?r=c:i=c}while(Math.abs(o)>a&&++l=o?w(e,s):0===u?s:v(e,i,i+l)}var _=!1;function C(){_=!0,t===e&&n===i||k()}var A=function(r){return _||C(),t===e&&n===i?r:0===r?0:1===r?1:m(y(r),e,i)};A.getControlPoints=function(){return[{x:t,y:e},{x:n,y:i}]};var x="generateBezier("+[t,e,n,i]+")";return A.toString=function(){return x},A} +/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var yl=function(){function t(t){return-t.tension*t.x-t.friction*t.v}function e(e,n,i){var r={x:e.x+i.dx*n,v:e.v+i.dv*n,tension:e.tension,friction:e.friction};return{dx:r.v,dv:t(r)}}function n(n,i){var r={dx:n.v,dv:t(n)},o=e(n,.5*i,r),a=e(n,.5*i,o),s=e(n,i,a),c=1/6*(r.dx+2*(o.dx+a.dx)+s.dx),l=1/6*(r.dv+2*(o.dv+a.dv)+s.dv);return n.x=n.x+c*i,n.v=n.v+l*i,n}return function t(e,i,r){var o,a,s,c={x:-1,v:0,tension:null,friction:null},l=[0],u=0,h=1e-4,d=.016;for(e=parseFloat(e)||500,i=parseFloat(i)||20,r=r||null,c.tension=e,c.friction=i,a=(o=null!==r)?(u=t(e,i))/r*d:d;s=n(s||c,a),l.push(1+s.x),u+=16,Math.abs(s.x)>h&&Math.abs(s.v)>h;);return o?function(t){return l[t*(l.length-1)|0]}:u}}(),_l=function(t,e,n,i){var r=vl(t,e,n,i);return function(t,e,n){return t+(e-t)*r(n)}},Cl={linear:function(t,e,n){return t+(e-t)*n},ease:_l(.25,.1,.25,1),"ease-in":_l(.42,0,1,1),"ease-out":_l(0,0,.58,1),"ease-in-out":_l(.42,0,.58,1),"ease-in-sine":_l(.47,0,.745,.715),"ease-out-sine":_l(.39,.575,.565,1),"ease-in-out-sine":_l(.445,.05,.55,.95),"ease-in-quad":_l(.55,.085,.68,.53),"ease-out-quad":_l(.25,.46,.45,.94),"ease-in-out-quad":_l(.455,.03,.515,.955),"ease-in-cubic":_l(.55,.055,.675,.19),"ease-out-cubic":_l(.215,.61,.355,1),"ease-in-out-cubic":_l(.645,.045,.355,1),"ease-in-quart":_l(.895,.03,.685,.22),"ease-out-quart":_l(.165,.84,.44,1),"ease-in-out-quart":_l(.77,0,.175,1),"ease-in-quint":_l(.755,.05,.855,.06),"ease-out-quint":_l(.23,1,.32,1),"ease-in-out-quint":_l(.86,0,.07,1),"ease-in-expo":_l(.95,.05,.795,.035),"ease-out-expo":_l(.19,1,.22,1),"ease-in-out-expo":_l(1,0,0,1),"ease-in-circ":_l(.6,.04,.98,.335),"ease-out-circ":_l(.075,.82,.165,1),"ease-in-out-circ":_l(.785,.135,.15,.86),spring:function(t,e,n){if(0===n)return Cl.linear;var i=yl(t,e,n);return function(t,e,n){return t+(e-t)*i(n)}},"cubic-bezier":_l};function Al(t,e,n,i,r){if(1===i)return n;if(e===n)return n;var o=r(e,n,i);return null==t||((t.roundValue||t.color)&&(o=Math.round(o)),void 0!==t.min&&(o=Math.max(o,t.min)),void 0!==t.max&&(o=Math.min(o,t.max))),o}function xl(t,e){return null!=t.pfValue||null!=t.value?null==t.pfValue||null!=e&&"%"===e.type.units?t.value:t.pfValue:t}function El(t,e,n,i,r){var o=null!=r?r.type:null;n<0?n=0:n>1&&(n=1);var a=xl(t,r),s=xl(e,r);if(A(a)&&A(s))return Al(o,a,s,n,i);if(y(a)&&y(s)){for(var c=[],l=0;l0?("spring"===h&&d.push(a.duration),a.easingImpl=Cl[h].apply(null,d)):a.easingImpl=Cl[h]}var f,g=a.easingImpl;if(f=0===a.duration?1:(n-c)/a.duration,a.applying&&(f=a.progress),f<0?f=0:f>1&&(f=1),null==a.delay){var p=a.startPosition,m=a.position;if(m&&r&&!t.locked()){var b={};Sl(p.x,m.x)&&(b.x=El(p.x,m.x,f,g)),Sl(p.y,m.y)&&(b.y=El(p.y,m.y,f,g)),t.position(b)}var w=a.startPan,v=a.pan,y=o.pan,_=null!=v&&i;_&&(Sl(w.x,v.x)&&(y.x=El(w.x,v.x,f,g)),Sl(w.y,v.y)&&(y.y=El(w.y,v.y,f,g)),t.emit("pan"));var C=a.startZoom,A=a.zoom,x=null!=A&&i;x&&(Sl(C,A)&&(o.zoom=Tn(o.minZoom,El(C,A,f,g),o.maxZoom)),t.emit("zoom")),(_||x)&&t.emit("viewport");var E=a.style;if(E&&E.length>0&&r){for(var T=0;T=0;e--)(0,t[e])();t.splice(0,t.length)},u=o.length-1;u>=0;u--){var h=o[u],d=h._private;d.stopped?(o.splice(u,1),d.hooked=!1,d.playing=!1,d.started=!1,l(d.frames)):(d.playing||d.applying)&&(d.playing&&d.applying&&(d.applying=!1),d.started||Dl(e,h,t),Tl(e,h,t,n),d.applying&&(d.applying=!1),l(d.frames),null!=d.step&&d.step(t),h.completed()&&(o.splice(u,1),d.hooked=!1,d.playing=!1,d.started=!1,l(d.completes)),s=!0)}return n||0!==o.length||0!==a.length||i.push(e),s}for(var o=!1,a=0;a0?e.notify("draw",n):e.notify("draw")),n.unmerge(i),e.emit("step")}var Bl={animate:ls.animate(),animation:ls.animation(),animated:ls.animated(),clearQueue:ls.clearQueue(),delay:ls.delay(),delayAnimation:ls.delayAnimation(),stop:ls.stop(),addToAnimationPool:function(t){var e=this;e.styleEnabled()&&e._private.aniEles.merge(t)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var t=this;if(t._private.animationsRunning=!0,t.styleEnabled()){var e=t.renderer();e&&e.beforeRender?e.beforeRender((function(e,n){Il(n,t)}),e.beforeRenderPriorities.animations):n()}function n(){t._private.animationsRunning&&ne((function(e){Il(e,t),n()}))}}},Ml={qualifierCompare:function(t,e){return null==t||null==e?null==t&&null==e:t.sameText(e)},eventMatches:function(t,e,n){var i=e.qualifier;return null==i||t!==n.target&&S(n.target)&&i.matches(n.target)},addEventFields:function(t,e){e.cy=t,e.target=t},callbackContext:function(t,e,n){return null!=e.qualifier?n.target:t}},Pl=function(t){return k(t)?new Ps(t):t},Ll={createEmitter:function(){var t=this._private;return t.emitter||(t.emitter=new Lc(Ml,this)),this},emitter:function(){return this._private.emitter},on:function(t,e,n){return this.emitter().on(t,Pl(e),n),this},removeListener:function(t,e,n){return this.emitter().removeListener(t,Pl(e),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(t,e,n){return this.emitter().one(t,Pl(e),n),this},once:function(t,e,n){return this.emitter().one(t,Pl(e),n),this},emit:function(t,e){return this.emitter().emit(t,e),this},emitAndNotify:function(t,e){return this.emit(t),this.notify(t,e),this}};ls.eventAliasesOn(Ll);var Ol={png:function(t){return t=t||{},this._private.renderer.png(t)},jpg:function(t){var e=this._private.renderer;return(t=t||{}).bg=t.bg||"#fff",e.jpg(t)}};Ol.jpeg=Ol.jpg;var Nl={layout:function(t){var e=this;if(null!=t)if(null!=t.name){var n,i=t.name,r=e.extension("layout",i);if(null!=r)return n=k(t.eles)?e.$(t.eles):null!=t.eles?t.eles:e.$(),new r(Q({},t,{cy:e,eles:n}));xe("No such layout `"+i+"` found. Did you forget to import it and `cytoscape.use()` it?")}else xe("A `name` must be specified to make a layout");else xe("Layout options must be specified to make a layout")}};Nl.createLayout=Nl.makeLayout=Nl.layout;var Rl={notify:function(t,e){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[t]=n.batchNotifications[t]||this.collection();null!=e&&i.merge(e)}else if(n.notificationsEnabled){var r=this.renderer();!this.destroyed()&&r&&r.notify(t,e)}},notifications:function(t){var e=this._private;return void 0===t?e.notificationsEnabled:(e.notificationsEnabled=!!t,this)},noNotifications:function(t){this.notifications(!1),t(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var t=this._private;return null==t.batchCount&&(t.batchCount=0),0===t.batchCount&&(t.batchStyleEles=this.collection(),t.batchNotifications={}),t.batchCount++,this},endBatch:function(){var t=this._private;if(0===t.batchCount)return this;if(t.batchCount--,0===t.batchCount){t.batchStyleEles.updateStyle();var e=this.renderer();Object.keys(t.batchNotifications).forEach((function(n){var i=t.batchNotifications[n];i.empty()?e.notify(n):e.notify(n,i)}))}return this},batch:function(t){return this.startBatch(),t(),this.endBatch(),this},batchData:function(t){var e=this;return this.batch((function(){for(var n=Object.keys(t),i=0;i0;)e.removeChild(e.childNodes[0]);t._private.renderer=null,t.mutableElements().forEach((function(t){var e=t._private;e.rscratch={},e.rstyle={},e.animation.current=[],e.animation.queue=[]}))},onRender:function(t){return this.on("render",t)},offRender:function(t){return this.off("render",t)}};jl.invalidateDimensions=jl.resize;var $l={collection:function(t,e){return k(t)?this.$(t):T(t)?t.collection():y(t)?(e||(e={}),new bl(this,t,e.unique,e.removed)):new bl(this)},nodes:function(t){var e=this.$((function(t){return t.isNode()}));return t?e.filter(t):e},edges:function(t){var e=this.$((function(t){return t.isEdge()}));return t?e.filter(t):e},$:function(t){var e=this._private.elements;return t?e.filter(t):e.spawnSelf()},mutableElements:function(){return this._private.elements}};$l.elements=$l.filter=$l.$;var zl={},Vl="t",Hl="f";zl.apply=function(t){for(var e=this,n=e._private.cy.collection(),i=0;i0;if(d||h&&f){var g=void 0;d&&f||d?g=l.properties:f&&(g=l.mappedProperties);for(var p=0;p1&&(m=1),s.color){var y=r.valueMin[0],_=r.valueMax[0],C=r.valueMin[1],x=r.valueMax[1],E=r.valueMin[2],T=r.valueMax[2],S=null==r.valueMin[3]?1:r.valueMin[3],D=null==r.valueMax[3]?1:r.valueMax[3],I=[Math.round(y+(_-y)*m),Math.round(C+(x-C)*m),Math.round(E+(T-E)*m),Math.round(S+(D-S)*m)];n={bypass:r.bypass,name:r.name,value:I,strValue:"rgb("+I[0]+", "+I[1]+", "+I[2]+")"}}else{if(!s.number)return!1;var B=r.valueMin+(r.valueMax-r.valueMin)*m;n=this.parse(r.name,B,r.bypass,d)}if(!n)return p(),!1;n.mapping=r,r=n;break;case a.data:for(var M=r.field.split("."),P=h.data,L=0;L0&&o>0){for(var s={},c=!1,l=0;l0?t.delayAnimation(a).play().promise().then(e):e()})).then((function(){return t.animation({style:s,duration:o,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(t,r),t.emitAndNotify("style"),i.transitioning=!1}))}else i.transitioning&&(this.removeBypasses(t,r),t.emitAndNotify("style"),i.transitioning=!1)},zl.checkTrigger=function(t,e,n,i,r,o){var a=this.properties[e],s=r(a);null!=s&&s(n,i)&&o(a)},zl.checkZOrderTrigger=function(t,e,n,i){var r=this;this.checkTrigger(t,e,n,i,(function(t){return t.triggersZOrder}),(function(){r._private.cy.notify("zorder",t)}))},zl.checkBoundsTrigger=function(t,e,n,i){this.checkTrigger(t,e,n,i,(function(t){return t.triggersBounds}),(function(r){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache(),!r.triggersBoundsOfParallelBeziers||("curve-style"!==e||"bezier"!==n&&"bezier"!==i)&&("display"!==e||"none"!==n&&"none"!==i)||t.parallelEdges().forEach((function(t){t.isBundledBezier()&&t.dirtyBoundingBoxCache()}))}))},zl.checkTriggers=function(t,e,n,i){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,n,i),this.checkBoundsTrigger(t,e,n,i)};var ql={applyBypass:function(t,e,n,i){var r=this,o=[],a=!0;if("*"===e||"**"===e){if(void 0!==n)for(var s=0;se.length?a.substr(e.length):""}function c(){n=n.length>i.length?n.substr(i.length):""}for(a=a.replace(/[/][*](\s|.)+?[*][/]/g,"");!a.match(/^\s*$/);){var l=a.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!l){Te("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+a);break}e=l[0];var u=l[1];if("core"!==u&&new Ps(u).invalid)Te("Skipping parsing of block: Invalid selector found in string stylesheet: "+u),s();else{var h=l[2],d=!1;n=h;for(var f=[];!n.match(/^\s*$/);){var g=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!g){Te("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+h),d=!0;break}i=g[0];var p=g[1],m=g[2];r.properties[p]?o.parse(p,m)?(f.push({name:p,val:m}),c()):(Te("Skipping property: Invalid property definition in: "+i),c()):(Te("Skipping property: Invalid property name in: "+i),c())}if(d){s();break}o.selector(u);for(var b=0;b=7&&"d"===e[0]&&(l=new RegExp(s.data.regex).exec(e))){if(n)return!1;var d=s.data;return{name:t,value:l,strValue:""+e,mapped:d,field:l[1],bypass:n}}if(e.length>=10&&"m"===e[0]&&(u=new RegExp(s.mapData.regex).exec(e))){if(n)return!1;if(h.multiple)return!1;var f=s.mapData;if(!h.color&&!h.number)return!1;var g=this.parse(t,u[4]);if(!g||g.mapped)return!1;var p=this.parse(t,u[5]);if(!p||p.mapped)return!1;if(g.pfValue===p.pfValue||g.strValue===p.strValue)return Te("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+g.strValue+"`"),this.parse(t,g.strValue);if(h.color){var m=g.value,b=p.value;if(!(m[0]!==b[0]||m[1]!==b[1]||m[2]!==b[2]||m[3]!==b[3]&&(null!=m[3]&&1!==m[3]||null!=b[3]&&1!==b[3])))return!1}return{name:t,value:u,strValue:""+e,mapped:f,field:u[1],fieldMin:parseFloat(u[2]),fieldMax:parseFloat(u[3]),valueMin:g.value,valueMax:p.value,bypass:n}}}if(h.multiple&&"multiple"!==i){var w;if(w=c?e.split(/\s+/):y(e)?e:[e],h.evenMultiple&&w.length%2!=0)return null;for(var _=[],C=[],A=[],E="",T=!1,S=0;S0?" ":"")+D.strValue}return h.validate&&!h.validate(_,C)?null:h.singleEnum&&T?1===_.length&&k(_[0])?{name:t,value:_[0],strValue:_[0],bypass:n}:null:{name:t,value:_,pfValue:A,strValue:E,bypass:n,units:C}}var I=function(){for(var i=0;ih.max||h.strictMax&&e===h.max))return null;var O={name:t,value:e,strValue:""+e+(B||""),units:B,bypass:n};return h.unitless||"px"!==B&&"em"!==B?O.pfValue=e:O.pfValue="px"!==B&&B?this.getEmSizeInPixels()*e:e,"ms"!==B&&"s"!==B||(O.pfValue="ms"===B?e:1e3*e),"deg"!==B&&"rad"!==B||(O.pfValue="rad"===B?e:bn(e)),"%"===B&&(O.pfValue=e/100),O}if(h.propList){var N=[],R=""+e;if("none"===R);else{for(var F=R.split(/\s*,\s*|\s+/),$=0;$0&&s>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:o=(o=(o=Math.min((a-2*e)/n.w,(s-2*e)/n.h))>this._private.maxZoom?this._private.maxZoom:o)=n.minZoom&&(n.maxZoom=e),this},minZoom:function(t){return void 0===t?this._private.minZoom:this.zoomRange({min:t})},maxZoom:function(t){return void 0===t?this._private.maxZoom:this.zoomRange({max:t})},getZoomedViewport:function(t){var e,n,i=this._private,r=i.pan,o=i.zoom,a=!1;if(i.zoomingEnabled||(a=!0),A(t)?n=t:_(t)&&(n=t.level,null!=t.position?e=un(t.position,o,r):null!=t.renderedPosition&&(e=t.renderedPosition),null==e||i.panningEnabled||(a=!0)),n=(n=n>i.maxZoom?i.maxZoom:n)e.maxZoom||!e.zoomingEnabled?o=!0:(e.zoom=s,r.push("zoom"))}if(i&&(!o||!t.cancelOnFailedZoom)&&e.panningEnabled){var c=t.pan;A(c.x)&&(e.pan.x=c.x,a=!1),A(c.y)&&(e.pan.y=c.y,a=!1),a||r.push("pan")}return r.length>0&&(r.push("viewport"),this.emit(r.join(" ")),this.notify("viewport")),this},center:function(t){var e=this.getCenterPan(t);return e&&(this._private.pan=e,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(t,e){if(this._private.panningEnabled){if(k(t)){var n=t;t=this.mutableElements().filter(n)}else T(t)||(t=this.mutableElements());if(0!==t.length){var i=t.boundingBox(),r=this.width(),o=this.height();return{x:(r-(e=void 0===e?this._private.zoom:e)*(i.x1+i.x2))/2,y:(o-e*(i.y1+i.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var t,e,n=this._private,i=n.container;return n.sizeCache=n.sizeCache||(i?(t=d.getComputedStyle(i),e=function(e){return parseFloat(t.getPropertyValue(e))},{width:i.clientWidth-e("padding-left")-e("padding-right"),height:i.clientHeight-e("padding-top")-e("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var t=this._private.pan,e=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-t.x)/e,x2:(n.x2-t.x)/e,y1:(n.y1-t.y)/e,y2:(n.y2-t.y)/e};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},renderedExtent:function(){var t=this.width(),e=this.height();return{x1:0,y1:0,x2:t,y2:e,w:t,h:e}},multiClickDebounceTime:function(t){return t?(this._private.multiClickDebounceTime=t,this):this._private.multiClickDebounceTime}};eu.centre=eu.center,eu.autolockNodes=eu.autolock,eu.autoungrabifyNodes=eu.autoungrabify;var nu={data:ls.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:ls.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:ls.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:ls.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};nu.attr=nu.data,nu.removeAttr=nu.removeData;var iu=function(t){var e=this,n=(t=Q({},t)).container;n&&!E(n)&&E(n[0])&&(n=n[0]);var i=n?n._cyreg:null;(i=i||{})&&i.cy&&(i.cy.destroy(),i={});var r=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=e;var o=void 0!==d&&void 0!==n&&!t.headless,a=t;a.layout=Q({name:o?"grid":"null"},a.layout),a.renderer=Q({name:o?"canvas":"null"},a.renderer);var s=function(t,e,n){return void 0!==e?e:void 0!==n?n:t},c=this._private={container:n,ready:!1,options:a,elements:new bl(this),listeners:[],aniEles:new bl(this),data:a.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,a.zoomingEnabled),userZoomingEnabled:s(!0,a.userZoomingEnabled),panningEnabled:s(!0,a.panningEnabled),userPanningEnabled:s(!0,a.userPanningEnabled),boxSelectionEnabled:s(!0,a.boxSelectionEnabled),autolock:s(!1,a.autolock,a.autolockNodes),autoungrabify:s(!1,a.autoungrabify,a.autoungrabifyNodes),autounselectify:s(!1,a.autounselectify),styleEnabled:void 0===a.styleEnabled?o:a.styleEnabled,zoom:A(a.zoom)?a.zoom:1,pan:{x:_(a.pan)&&A(a.pan.x)?a.pan.x:0,y:_(a.pan)&&A(a.pan.y)?a.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,a.multiClickDebounceTime)};this.createEmitter(),this.selectionType(a.selectionType),this.zoomRange({min:a.minZoom,max:a.maxZoom});var l=function(t,e){if(t.some(N))return jr.all(t).then(e);e(t)};c.styleEnabled&&e.setStyle([]);var u=Q({},a,a.renderer);e.initRenderer(u);var h=function(t,n,i){e.notifications(!1);var r=e.mutableElements();r.length>0&&r.remove(),null!=t&&(_(t)||y(t))&&e.add(t),e.one("layoutready",(function(t){e.notifications(!0),e.emit(t),e.one("load",n),e.emitAndNotify("load")})).one("layoutstop",(function(){e.one("done",i),e.emit("done")}));var o=Q({},e._private.options.layout);o.eles=e.elements(),e.layout(o).run()};l([a.style,a.elements],(function(t){var n=t[0],o=t[1];c.styleEnabled&&e.style().append(n),h(o,(function(){e.startAnimationLoop(),c.ready=!0,v(a.ready)&&e.on("ready",a.ready);for(var t=0;t0,l=Sn(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:i.width(),h:i.height()});if(T(n.roots))t=n.roots;else if(y(n.roots)){for(var u=[],h=0;h0;){var L=P(),O=D(L,B);if(O)L.outgoers().filter((function(t){return t.isNode()&&r.has(t)})).forEach(M);else if(null===O){Te("Detected double maximal shift for node `"+L.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}S();var N=0;if(n.avoidOverlap)for(var R=0;R0&&b[0].length<=3?c/2:0),h=2*Math.PI/b[i].length*r;return 0===i&&1===b[0].length&&(u=1),{x:Y.x+u*Math.cos(h),y:Y.y+u*Math.sin(h)}}return{x:Y.x+(r+1-(o+1)/2)*a,y:(i+1)*s}};return r.nodes().layoutPositions(this,n,Q),this};var lu={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function uu(t){this.options=Q({},lu,t)}uu.prototype.run=function(){var t=this.options,e=t,n=t.cy,i=e.eles,r=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,o=i.nodes().not(":parent");e.sort&&(o=o.sort(e.sort));for(var a,s=Sn(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),c={x:s.x1+s.w/2,y:s.y1+s.h/2},l=(void 0===e.sweep?2*Math.PI-2*Math.PI/o.length:e.sweep)/Math.max(1,o.length-1),u=0,h=0;h1&&e.avoidOverlap){u*=1.75;var p=Math.cos(l)-Math.cos(0),m=Math.sin(l)-Math.sin(0),b=Math.sqrt(u*u/(p*p+m*m));a=Math.max(b,a)}var w=function(t,n){var i=e.startAngle+n*l*(r?1:-1),o=a*Math.cos(i),s=a*Math.sin(i);return{x:c.x+o,y:c.y+s}};return i.nodes().layoutPositions(this,e,w),this};var hu,du={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(t){return t.degree()},levelWidth:function(t){return t.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function fu(t){this.options=Q({},du,t)}fu.prototype.run=function(){for(var t=this.options,e=t,n=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,i=t.cy,r=e.eles,o=r.nodes().not(":parent"),a=Sn(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:i.width(),h:i.height()}),s={x:a.x1+a.w/2,y:a.y1+a.h/2},c=[],l=0,u=0;u0&&Math.abs(b[0].value-k.value)>=p&&(b=[],m.push(b)),b.push(k)}var v=l+e.minNodeSpacing;if(!e.avoidOverlap){var y=m.length>0&&m[0].length>1,_=(Math.min(a.w,a.h)/2-v)/(m.length+y?1:0);v=Math.min(v,_)}for(var C=0,A=0;A1&&e.avoidOverlap){var S=Math.cos(T)-Math.cos(0),D=Math.sin(T)-Math.sin(0),I=Math.sqrt(v*v/(S*S+D*D));C=Math.max(I,C)}x.r=C,C+=v}if(e.equidistant){for(var B=0,M=0,P=0;P=t.numIter||(Cu(i,t),i.temperature=i.temperature*t.coolingFactor,i.temperature=t.animationThreshold&&o(),ne(e)):(Ou(i,t),s())}();else{for(;l;)l=a(c),c++;Ou(i,t),s()}return this},pu.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},pu.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var mu,bu=function(t,e,n){for(var i=n.eles.edges(),r=n.eles.nodes(),o={isCompound:t.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:r.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:t.width(),clientHeight:t.width(),boundingBox:Sn(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()})},a=n.eles.components(),s={},c=0;c0)for(o.graphSet.push(y),c=0;ci.count?0:i.graph},ku=function t(e,n,i,r){var o=r.graphSet[i];if(-10)var c=(u=i.nodeOverlap*s)*r/(m=Math.sqrt(r*r+o*o)),l=u*o/m;else{var u,h=Su(t,r,o),d=Su(e,-1*r,-1*o),f=d.x-h.x,g=d.y-h.y,p=f*f+g*g,m=Math.sqrt(p);c=(u=(t.nodeRepulsion+e.nodeRepulsion)/p)*f/m,l=u*g/m}t.isLocked||(t.offsetX-=c,t.offsetY-=l),e.isLocked||(e.offsetX+=c,e.offsetY+=l)}},Tu=function(t,e,n,i){if(n>0)var r=t.maxX-e.minX;else r=e.maxX-t.minX;if(i>0)var o=t.maxY-e.minY;else o=e.maxY-t.minY;return r>=0&&o>=0?Math.sqrt(r*r+o*o):0},Su=function(t,e,n){var i=t.positionX,r=t.positionY,o=t.height||1,a=t.width||1,s=n/e,c=o/a,l={};return 0===e&&0n?(l.x=i,l.y=r+o/2,l):0e&&-1*c<=s&&s<=c?(l.x=i-a/2,l.y=r-a*n/2/e,l):0=c)?(l.x=i+o*e/2/n,l.y=r+o/2,l):0>n&&(s<=-1*c||s>=c)?(l.x=i-o*e/2/n,l.y=r-o/2,l):l},Du=function(t,e){for(var n=0;nn){var p=e.gravity*d/g,m=e.gravity*f/g;h.offsetX+=p,h.offsetY+=m}}}}},Bu=function(t,e){var n=[],i=0,r=-1;for(n.push.apply(n,t.graphSet[0]),r+=t.graphSet[0].length;i<=r;){var o=n[i++],a=t.idToIndex[o],s=t.layoutNodes[a],c=s.children;if(0n)var r={x:n*t/i,y:n*e/i};else r={x:t,y:e};return r},Lu=function t(e,n){var i=e.parentId;if(null!=i){var r=n.layoutNodes[n.idToIndex[i]],o=!1;return(null==r.maxX||e.maxX+r.padRight>r.maxX)&&(r.maxX=e.maxX+r.padRight,o=!0),(null==r.minX||e.minX-r.padLeftr.maxY)&&(r.maxY=e.maxY+r.padBottom,o=!0),(null==r.minY||e.minY-r.padTopg&&(h+=f+e.componentSpacing,u=0,d=0,f=0)}}},Nu={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(t){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function Ru(t){this.options=Q({},Nu,t)}Ru.prototype.run=function(){var t=this.options,e=t,n=t.cy,i=e.eles,r=i.nodes().not(":parent");e.sort&&(r=r.sort(e.sort));var o=Sn(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===o.h||0===o.w)i.nodes().layoutPositions(this,e,(function(t){return{x:o.x1,y:o.y1}}));else{var a=r.size(),s=Math.sqrt(a*o.h/o.w),c=Math.round(s),l=Math.round(o.w/o.h*s),u=function(t){if(null==t)return Math.min(c,l);Math.min(c,l)==c?c=t:l=t},h=function(t){if(null==t)return Math.max(c,l);Math.max(c,l)==c?c=t:l=t},d=e.rows,f=null!=e.cols?e.cols:e.columns;if(null!=d&&null!=f)c=d,l=f;else if(null!=d&&null==f)c=d,l=Math.ceil(a/c);else if(null==d&&null!=f)l=f,c=Math.ceil(a/l);else if(l*c>a){var g=u(),p=h();(g-1)*p>=a?u(g-1):(p-1)*g>=a&&h(p-1)}else for(;l*c=a?h(b+1):u(m+1)}var w=o.w/l,k=o.h/c;if(e.condense&&(w=0,k=0),e.avoidOverlap)for(var v=0;v=l&&(B=0,I++)},P={},L=0;L(i=Gn(t,e,v[y],v[y+1],v[y+2],v[y+3])))return m(n,i),!0}else if("bezier"===o.edgeType||"multibezier"===o.edgeType||"self"===o.edgeType||"compound"===o.edgeType)for(v=o.allpts,y=0;y+5(i=Un(t,e,v[y],v[y+1],v[y+2],v[y+3],v[y+4],v[y+5])))return m(n,i),!0;w=w||r.source,k=k||r.target;var _=a.getArrowWidth(c,u),C=[{name:"source",x:o.arrowStartX,y:o.arrowStartY,angle:o.srcArrowAngle},{name:"target",x:o.arrowEndX,y:o.arrowEndY,angle:o.tgtArrowAngle},{name:"mid-source",x:o.midX,y:o.midY,angle:o.midsrcArrowAngle},{name:"mid-target",x:o.midX,y:o.midY,angle:o.midtgtArrowAngle}];for(y=0;y0&&(b(w),b(k))}function k(t,e,n){return Fe(t,e,n)}function v(n,i){var r,o=n._private,a=g;r=i?i+"-":"",n.boundingBox();var s=o.labelBounds[i||"main"],c=n.pstyle(r+"label").value;if("yes"===n.pstyle("text-events").strValue&&c){var l=k(o.rscratch,"labelX",i),u=k(o.rscratch,"labelY",i),h=k(o.rscratch,"labelAngle",i),d=n.pstyle(r+"text-margin-x").pfValue,f=n.pstyle(r+"text-margin-y").pfValue,p=s.x1-a-d,b=s.x2+a-d,w=s.y1-a-f,v=s.y2+a-f;if(h){var y=Math.cos(h),_=Math.sin(h),C=function(t,e){return{x:(t-=l)*y-(e-=u)*_+l,y:t*_+e*y+u}},A=C(p,w),x=C(p,v),E=C(b,w),T=C(b,v),S=[A.x+d,A.y+f,E.x+d,E.y+f,T.x+d,T.y+f,x.x+d,x.y+f];if(Wn(t,e,S))return m(n),!0}else if(Rn(s,t,e))return m(n),!0}}n&&(c=c.interactive);for(var y=c.length-1;y>=0;y--){var _=c[y];_.isNode()?b(_)||v(_):w(_)||v(_)||v(_,"source")||v(_,"target")}return l},getAllInBox:function(t,e,n,i){for(var r=this.getCachedZSortedEles().interactive,o=[],a=Math.min(t,n),s=Math.max(t,n),c=Math.min(e,i),l=Math.max(e,i),u=Sn({x1:t=a,y1:e=c,x2:n=s,y2:i=l}),h=0;h0?Math.max(t-e,0):Math.min(t+e,0)},S=T(x,C),D=T(E,A),I=!1;b===l?m=Math.abs(S)>Math.abs(D)?r:i:b===c||b===s?(m=i,I=!0):b!==o&&b!==a||(m=r,I=!0);var B,M=m===i,P=M?D:S,L=M?E:x,O=vn(L),N=!1;I&&(k||y)||!(b===s&&L<0||b===c&&L>0||b===o&&L>0||b===a&&L<0)||(P=(O*=-1)*Math.abs(P),N=!0);var R=function(t){return Math.abs(t)<_||Math.abs(t)>=Math.abs(P)},F=R(B=k?(v<0?1+v:v)*P:(v<0?P:0)+v*O),j=R(Math.abs(P)-Math.abs(B));if(!F&&!j||N)if(M){var $=u.y1+B+(p?d/2*O:0),z=u.x1,V=u.x2;n.segpts=[z,$,V,$]}else{var H=u.x1+B+(p?h/2*O:0),q=u.y1,U=u.y2;n.segpts=[H,q,H,U]}else if(M){var G=Math.abs(L)<=d/2,W=Math.abs(x)<=f/2;if(G){var K=(u.x1+u.x2)/2,Y=u.y1,X=u.y2;n.segpts=[K,Y,K,X]}else if(W){var Z=(u.y1+u.y2)/2,Q=u.x1,J=u.x2;n.segpts=[Q,Z,J,Z]}else n.segpts=[u.x1,u.y2]}else{var tt=Math.abs(L)<=h/2,et=Math.abs(E)<=g/2;if(tt){var nt=(u.y1+u.y2)/2,it=u.x1,rt=u.x2;n.segpts=[it,nt,rt,nt]}else if(et){var ot=(u.x1+u.x2)/2,at=u.y1,st=u.y2;n.segpts=[ot,at,ot,st]}else n.segpts=[u.x2,u.y1]}},Zu.tryToCorrectInvalidPoints=function(t,e){var n=t._private.rscratch;if("bezier"===n.edgeType){var i=e.srcPos,r=e.tgtPos,o=e.srcW,a=e.srcH,s=e.tgtW,c=e.tgtH,l=e.srcShape,u=e.tgtShape,h=!A(n.startX)||!A(n.startY),d=!A(n.arrowStartX)||!A(n.arrowStartY),f=!A(n.endX)||!A(n.endY),g=!A(n.arrowEndX)||!A(n.arrowEndY),p=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth*3,m=yn({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),b=md.poolIndex()){var f=h;h=d,d=f}var g=s.srcPos=h.position(),p=s.tgtPos=d.position(),m=s.srcW=h.outerWidth(),b=s.srcH=h.outerHeight(),w=s.tgtW=d.outerWidth(),k=s.tgtH=d.outerHeight(),v=s.srcShape=n.nodeShapes[e.getNodeShape(h)],y=s.tgtShape=n.nodeShapes[e.getNodeShape(d)];s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var _=0;_0){var V=l,H=_n(V,dn(e)),q=_n(V,dn(z)),U=H;q2&&_n(V,{x:z[2],y:z[3]})0){var rt=u,ot=_n(rt,dn(e)),at=_n(rt,dn(it)),st=ot;at2&&_n(rt,{x:it[2],y:it[3]})=l||w){u={cp:p,segment:b};break}}if(u)break}var k=u.cp,v=u.segment,y=(l-d)/v.length,_=v.t1-v.t0,C=s?v.t0+_*y:v.t1-_*y;C=Tn(0,C,1),e=xn(k.p0,k.p1,k.p2,C),r=oh(k.p0,k.p1,k.p2,C);break;case"straight":case"segments":case"haystack":for(var A,x,E,T,S=0,D=i.allpts.length,I=0;I+3=l));I+=2);var B=(l-x)/A;B=Tn(0,B,1),e=En(E,T,B),r=rh(E,T)}a("labelX",n,e.x),a("labelY",n,e.y),a("labelAutoAngle",n,r)}};l("source"),l("target"),this.applyLabelDimensions(t)}},nh.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))},nh.applyPrefixedLabelDimensions=function(t,e){var n=t._private,i=this.getLabelText(t,e),r=this.calculateLabelDimensions(t,i),o=t.pstyle("line-height").pfValue,a=t.pstyle("text-wrap").strValue,s=Fe(n.rscratch,"labelWrapCachedLines",e)||[],c="wrap"!==a?1:Math.max(s.length,1),l=r.height/c,u=l*o,h=r.width,d=r.height+(c-1)*(o-1)*l;je(n.rstyle,"labelWidth",e,h),je(n.rscratch,"labelWidth",e,h),je(n.rstyle,"labelHeight",e,d),je(n.rscratch,"labelHeight",e,d),je(n.rscratch,"labelLineHeight",e,u)},nh.getLabelText=function(t,e){var n=t._private,i=e?e+"-":"",r=t.pstyle(i+"label").strValue,o=t.pstyle("text-transform").value,a=function(t,i){return i?(je(n.rscratch,t,e,i),i):Fe(n.rscratch,t,e)};if(!r)return"";"none"==o||("uppercase"==o?r=r.toUpperCase():"lowercase"==o&&(r=r.toLowerCase()));var s=t.pstyle("text-wrap").value;if("wrap"===s){var c=a("labelKey");if(null!=c&&a("labelWrapKey")===c)return a("labelWrapCachedText");for(var l="​",u=r.split("\n"),h=t.pstyle("text-max-width").pfValue,d="anywhere"===t.pstyle("text-overflow-wrap").value,f=[],g=/[\s\u200b]+/,p=d?"":" ",m=0;mh){for(var v=b.split(g),y="",_=0;_x);D++)E+=r[D],D===r.length-1&&(S=!0);return S||(E+=T),E}return r},nh.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,n=t.pstyle("text-halign").strValue;if("auto"!==e)return e;if(!t.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},nh.calculateLabelDimensions=function(t,e){var n=this,i=ge(e,t._private.labelDimsKey),r=n.labelDimCache||(n.labelDimCache=[]),o=r[i];if(null!=o)return o;var a=0,s=t.pstyle("font-style").strValue,c=t.pstyle("font-size").pfValue,l=t.pstyle("font-family").strValue,u=t.pstyle("font-weight").strValue,h=this.labelCalcCanvas,d=this.labelCalcCanvasContext;if(!h){h=this.labelCalcCanvas=document.createElement("canvas"),d=this.labelCalcCanvasContext=h.getContext("2d");var f=h.style;f.position="absolute",f.left="-9999px",f.top="-9999px",f.zIndex="-1",f.visibility="hidden",f.pointerEvents="none"}d.font="".concat(s," ").concat(u," ").concat(c,"px ").concat(l);for(var g=0,p=0,m=e.split("\n"),b=0;b1&&void 0!==arguments[1])||arguments[1];if(e.merge(t),n)for(var i=0;i=t.desktopTapThreshold2}var E=i(e);m&&(t.hoverData.tapholdCancelled=!0);var S=function(){var e=t.hoverData.dragDelta=t.hoverData.dragDelta||[];0===e.length?(e.push(k[0]),e.push(k[1])):(e[0]+=k[0],e[1]+=k[1])};o=!0,n(g,["mousemove","vmousemove","tapdrag"],e,{x:l[0],y:l[1]});var D=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||a.emit({originalEvent:e,type:"boxstart",position:{x:l[0],y:l[1]}}),d[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(3===t.hoverData.which){if(m){var I={originalEvent:e,type:"cxtdrag",position:{x:l[0],y:l[1]}};w?w.emit(I):a.emit(I),t.hoverData.cxtDragged=!0,t.hoverData.cxtOver&&g===t.hoverData.cxtOver||(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:l[0],y:l[1]}}),t.hoverData.cxtOver=g,g&&g.emit({originalEvent:e,type:"cxtdragover",position:{x:l[0],y:l[1]}}))}}else if(t.hoverData.dragging){if(o=!0,a.panningEnabled()&&a.userPanningEnabled()){var B;if(t.hoverData.justStartedPan){var M=t.hoverData.mdownPos;B={x:(l[0]-M[0])*s,y:(l[1]-M[1])*s},t.hoverData.justStartedPan=!1}else B={x:k[0]*s,y:k[1]*s};a.panBy(B),a.emit("dragpan"),t.hoverData.dragged=!0}l=t.projectIntoViewport(e.clientX,e.clientY)}else if(1!=d[4]||null!=w&&!w.pannable()){if(w&&w.pannable()&&w.active()&&w.unactivate(),w&&w.grabbed()||g==b||(b&&n(b,["mouseout","tapdragout"],e,{x:l[0],y:l[1]}),g&&n(g,["mouseover","tapdragover"],e,{x:l[0],y:l[1]}),t.hoverData.last=g),w)if(m){if(a.boxSelectionEnabled()&&E)w&&w.grabbed()&&(p(v),w.emit("freeon"),v.emit("free"),t.dragData.didDrag&&(w.emit("dragfreeon"),v.emit("dragfree"))),D();else if(w&&w.grabbed()&&t.nodeIsDraggable(w)){var P=!t.dragData.didDrag;P&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||f(v,{inDragLayer:!0});var L={x:0,y:0};if(A(k[0])&&A(k[1])&&(L.x+=k[0],L.y+=k[1],P)){var O=t.hoverData.dragDelta;O&&A(O[0])&&A(O[1])&&(L.x+=O[0],L.y+=O[1])}t.hoverData.draggingEles=!0,v.silentShift(L).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else S();o=!0}else m&&(t.hoverData.dragging||!a.boxSelectionEnabled()||!E&&a.panningEnabled()&&a.userPanningEnabled()?!t.hoverData.selecting&&a.panningEnabled()&&a.userPanningEnabled()&&r(w,t.hoverData.downs)&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,d[4]=0,t.data.bgActivePosistion=dn(u),t.redrawHint("select",!0),t.redraw()):D(),w&&w.pannable()&&w.active()&&w.unactivate());return d[2]=l[0],d[3]=l[1],o?(e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),!1):void 0}}),!1),t.registerBinding(window,"mouseup",(function(r){if(t.hoverData.capture){t.hoverData.capture=!1;var o=t.cy,a=t.projectIntoViewport(r.clientX,r.clientY),s=t.selection,c=t.findNearestElement(a[0],a[1],!0,!1),l=t.dragData.possibleDragElements,u=t.hoverData.down,h=i(r);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,u&&u.unactivate(),3===t.hoverData.which){var d={originalEvent:r,type:"cxttapend",position:{x:a[0],y:a[1]}};if(u?u.emit(d):o.emit(d),!t.hoverData.cxtDragged){var f={originalEvent:r,type:"cxttap",position:{x:a[0],y:a[1]}};u?u.emit(f):o.emit(f)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(1===t.hoverData.which){if(n(c,["mouseup","tapend","vmouseup"],r,{x:a[0],y:a[1]}),t.dragData.didDrag||t.hoverData.dragged||t.hoverData.selecting||t.hoverData.isOverThresholdDrag||(n(u,["click","tap","vclick"],r,{x:a[0],y:a[1]}),C=!1,r.timeStamp-x<=o.multiClickDebounceTime()?(_&&clearTimeout(_),C=!0,x=null,n(u,["dblclick","dbltap","vdblclick"],r,{x:a[0],y:a[1]})):(_=setTimeout((function(){C||n(u,["oneclick","onetap","voneclick"],r,{x:a[0],y:a[1]})}),o.multiClickDebounceTime()),x=r.timeStamp)),null!=u||t.dragData.didDrag||t.hoverData.selecting||t.hoverData.dragged||i(r)||(o.$(e).unselect(["tapunselect"]),l.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=l=o.collection()),c!=u||t.dragData.didDrag||t.hoverData.selecting||null!=c&&c._private.selectable&&(t.hoverData.dragging||("additive"===o.selectionType()||h?c.selected()?c.unselect(["tapunselect"]):c.select(["tapselect"]):h||(o.$(e).unmerge(c).unselect(["tapunselect"]),c.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var g=o.collection(t.getAllInBox(s[0],s[1],s[2],s[3]));t.redrawHint("select",!0),g.length>0&&t.redrawHint("eles",!0),o.emit({type:"boxend",originalEvent:r,position:{x:a[0],y:a[1]}});var m=function(t){return t.selectable()&&!t.selected()};"additive"===o.selectionType()||h||o.$(e).unmerge(g).unselect(),g.emit("box").stdFilter(m).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!s[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var b=u&&u.grabbed();p(l),b&&(u.emit("freeon"),l.emit("free"),t.dragData.didDrag&&(u.emit("dragfreeon"),l.emit("dragfree")))}}s[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null}}),!1);var S,D,I,B,M,P,L,O,N,R,F,j,$,z=function(e){if(!t.scrollingPage){var n=t.cy,i=n.zoom(),r=n.pan(),o=t.projectIntoViewport(e.clientX,e.clientY),a=[o[0]*i+r.x,o[1]*i+r.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||E())e.preventDefault();else if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){var s;e.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout((function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()}),150),s=null!=e.deltaY?e.deltaY/-250:null!=e.wheelDeltaY?e.wheelDeltaY/1e3:e.wheelDelta/1e3,s*=t.wheelSensitivity,1===e.deltaMode&&(s*=33);var c=n.zoom()*Math.pow(10,s);"gesturechange"===e.type&&(c=t.gestureStartZoom*e.scale),n.zoom({level:c,renderedPosition:{x:a[0],y:a[1]}}),n.emit("gesturechange"===e.type?"pinchzoom":"scrollzoom")}}};t.registerBinding(t.container,"wheel",z,!0),t.registerBinding(window,"scroll",(function(e){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout((function(){t.scrollingPage=!1}),250)}),!0),t.registerBinding(t.container,"gesturestart",(function(e){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||e.preventDefault()}),!0),t.registerBinding(t.container,"gesturechange",(function(e){t.hasTouchStarted||z(e)}),!0),t.registerBinding(t.container,"mouseout",(function(e){var n=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),t.registerBinding(t.container,"mouseover",(function(e){var n=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var V,H,q,U,G,W,K,Y=function(t,e,n,i){return Math.sqrt((n-t)*(n-t)+(i-e)*(i-e))},X=function(t,e,n,i){return(n-t)*(n-t)+(i-e)*(i-e)};if(t.registerBinding(t.container,"touchstart",V=function(e){if(t.hasTouchStarted=!0,T(e)){b(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var i=t.cy,r=t.touchData.now,o=t.touchData.earlier;if(e.touches[0]){var a=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);r[0]=a[0],r[1]=a[1]}if(e.touches[1]&&(a=t.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY),r[2]=a[0],r[3]=a[1]),e.touches[2]&&(a=t.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY),r[4]=a[0],r[5]=a[1]),e.touches[1]){t.touchData.singleTouchMoved=!0,p(t.dragData.touchDragEles);var s=t.findContainerClientCoords();N=s[0],R=s[1],F=s[2],j=s[3],S=e.touches[0].clientX-N,D=e.touches[0].clientY-R,I=e.touches[1].clientX-N,B=e.touches[1].clientY-R,$=0<=S&&S<=F&&0<=I&&I<=F&&0<=D&&D<=j&&0<=B&&B<=j;var c=i.pan(),u=i.zoom();M=Y(S,D,I,B),P=X(S,D,I,B),O=[((L=[(S+I)/2,(D+B)/2])[0]-c.x)/u,(L[1]-c.y)/u];var h=200;if(P=1){for(var C=t.touchData.startPosition=[],A=0;A=t.touchTapThreshold2}if(i&&t.touchData.cxt){e.preventDefault();var v=e.touches[0].clientX-N,y=e.touches[0].clientY-R,_=e.touches[1].clientX-N,C=e.touches[1].clientY-R,x=X(v,y,_,C),E=150,L=1.5;if(x/P>=L*L||x>=E*E){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var F={originalEvent:e,type:"cxttapend",position:{x:s[0],y:s[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(F),t.touchData.start=null):a.emit(F)}}if(i&&t.touchData.cxt){F={originalEvent:e,type:"cxtdrag",position:{x:s[0],y:s[1]}},t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(F):a.emit(F),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var j=t.findNearestElement(s[0],s[1],!0,!0);t.touchData.cxtOver&&j===t.touchData.cxtOver||(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:s[0],y:s[1]}}),t.touchData.cxtOver=j,j&&j.emit({originalEvent:e,type:"cxtdragover",position:{x:s[0],y:s[1]}}))}else if(i&&e.touches[2]&&a.boxSelectionEnabled())e.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||a.emit({originalEvent:e,type:"boxstart",position:{x:s[0],y:s[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,o[4]=1,o&&0!==o.length&&void 0!==o[0]?(o[2]=(s[0]+s[2]+s[4])/3,o[3]=(s[1]+s[3]+s[5])/3):(o[0]=(s[0]+s[2]+s[4])/3,o[1]=(s[1]+s[3]+s[5])/3,o[2]=(s[0]+s[2]+s[4])/3+1,o[3]=(s[1]+s[3]+s[5])/3+1),t.redrawHint("select",!0),t.redraw();else if(i&&e.touches[1]&&!t.touchData.didSelect&&a.zoomingEnabled()&&a.panningEnabled()&&a.userZoomingEnabled()&&a.userPanningEnabled()){if(e.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),nt=t.dragData.touchDragEles){t.redrawHint("drag",!0);for(var z=0;z0&&!t.hoverData.draggingEles&&!t.swipePanning&&null!=t.data.bgActivePosistion&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1),t.registerBinding(window,"touchcancel",q=function(e){var n=t.touchData.start;t.touchData.capture=!1,n&&n.unactivate()}),t.registerBinding(window,"touchend",U=function(i){var r=t.touchData.start;if(t.touchData.capture){0===i.touches.length&&(t.touchData.capture=!1),i.preventDefault();var o=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var a,s=t.cy,c=s.zoom(),l=t.touchData.now,u=t.touchData.earlier;if(i.touches[0]){var h=t.projectIntoViewport(i.touches[0].clientX,i.touches[0].clientY);l[0]=h[0],l[1]=h[1]}if(i.touches[1]&&(h=t.projectIntoViewport(i.touches[1].clientX,i.touches[1].clientY),l[2]=h[0],l[3]=h[1]),i.touches[2]&&(h=t.projectIntoViewport(i.touches[2].clientX,i.touches[2].clientY),l[4]=h[0],l[5]=h[1]),r&&r.unactivate(),t.touchData.cxt){if(a={originalEvent:i,type:"cxttapend",position:{x:l[0],y:l[1]}},r?r.emit(a):s.emit(a),!t.touchData.cxtDragged){var d={originalEvent:i,type:"cxttap",position:{x:l[0],y:l[1]}};r?r.emit(d):s.emit(d)}return t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,void t.redraw()}if(!i.touches[2]&&s.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var f=s.collection(t.getAllInBox(o[0],o[1],o[2],o[3]));o[0]=void 0,o[1]=void 0,o[2]=void 0,o[3]=void 0,o[4]=0,t.redrawHint("select",!0),s.emit({type:"boxend",originalEvent:i,position:{x:l[0],y:l[1]}});var g=function(t){return t.selectable()&&!t.selected()};f.emit("box").stdFilter(g).select().emit("boxselect"),f.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(null!=r&&r.unactivate(),i.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(i.touches[1]);else if(i.touches[0]);else if(!i.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var m=t.dragData.touchDragEles;if(null!=r){var b=r._private.grabbed;p(m),t.redrawHint("drag",!0),t.redrawHint("eles",!0),b&&(r.emit("freeon"),m.emit("free"),t.dragData.didDrag&&(r.emit("dragfreeon"),m.emit("dragfree"))),n(r,["touchend","tapend","vmouseup","tapdragout"],i,{x:l[0],y:l[1]}),r.unactivate(),t.touchData.start=null}else{var w=t.findNearestElement(l[0],l[1],!0,!0);n(w,["touchend","tapend","vmouseup","tapdragout"],i,{x:l[0],y:l[1]})}var k=t.touchData.startPosition[0]-l[0],v=k*k,y=t.touchData.startPosition[1]-l[1],_=(v+y*y)*c*c;t.touchData.singleTouchMoved||(r||s.$(":selected").unselect(["tapunselect"]),n(r,["tap","vclick"],i,{x:l[0],y:l[1]}),G=!1,i.timeStamp-K<=s.multiClickDebounceTime()?(W&&clearTimeout(W),G=!0,K=null,n(r,["dbltap","vdblclick"],i,{x:l[0],y:l[1]})):(W=setTimeout((function(){G||n(r,["onetap","voneclick"],i,{x:l[0],y:l[1]})}),s.multiClickDebounceTime()),K=i.timeStamp)),null!=r&&!t.dragData.didDrag&&r._private.selectable&&_0)return f[0]}return null},d=Object.keys(u),f=0;f0?c:$n(r,o,t,e,n,i,a)},checkPoint:function(t,e,n,i,r,o,a){var s=li(i,r),c=2*s;if(Kn(t,e,this.points,o,a,i,r-c,[0,-1],n))return!0;if(Kn(t,e,this.points,o,a,i-c,r,[0,-1],n))return!0;var l=i/2+2*n,u=r/2+2*n;return!!Wn(t,e,[o-l,a-u,o-l,a,o+l,a,o+l,a-u])||!!Jn(t,e,c,c,o+i/2-s,a+r/2-s,n)||!!Jn(t,e,c,c,o-i/2+s,a+r/2-s,n)}}},registerNodeShapes:function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",ai(3,0)),this.generateRoundPolygon("round-triangle",ai(3,0)),this.generatePolygon("rectangle",ai(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",ai(5,0)),this.generateRoundPolygon("round-pentagon",ai(5,0)),this.generatePolygon("hexagon",ai(6,0)),this.generateRoundPolygon("round-hexagon",ai(6,0)),this.generatePolygon("heptagon",ai(7,0)),this.generateRoundPolygon("round-heptagon",ai(7,0)),this.generatePolygon("octagon",ai(8,0)),this.generateRoundPolygon("round-octagon",ai(8,0));var i=new Array(20),r=ci(5,0),o=ci(5,Math.PI/5),a=.5*(3-Math.sqrt(5));a*=1.57;for(var s=0;s=t.deqFastCost*p)break}else if(r){if(f>=t.deqCost*c||f>=t.deqAvgCost*s)break}else if(g>=t.deqNoDrawCost*kh)break;var m=t.deq(e,h,u);if(!(m.length>0))break;for(var b=0;b0&&(t.onDeqd(e,l),!r&&t.shouldRedraw(e,l,h,u)&&i())},o=t.priority||Ae;n.beforeRender(r,o(e))}}}},yh=function(){function t(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_e;e(this,t),this.idsByKey=new $e,this.keyForId=new $e,this.cachesByLvl=new $e,this.lvls=[],this.getKey=n,this.doesEleInvalidateKey=i}return i(t,[{key:"getIdsFor",value:function(t){null==t&&xe("Can not get id list for null key");var e=this.idsByKey,n=this.idsByKey.get(t);return n||(n=new He,e.set(t,n)),n}},{key:"addIdForKey",value:function(t,e){null!=t&&this.getIdsFor(t).add(e)}},{key:"deleteIdForKey",value:function(t,e){null!=t&&this.getIdsFor(t).delete(e)}},{key:"getNumberOfIdsForKey",value:function(t){return null==t?0:this.getIdsFor(t).size}},{key:"updateKeyMappingFor",value:function(t){var e=t.id(),n=this.keyForId.get(e),i=this.getKey(t);this.deleteIdForKey(n,e),this.addIdForKey(i,e),this.keyForId.set(e,i)}},{key:"deleteKeyMappingFor",value:function(t){var e=t.id(),n=this.keyForId.get(e);this.deleteIdForKey(n,e),this.keyForId.delete(e)}},{key:"keyHasChangedFor",value:function(t){var e=t.id();return this.keyForId.get(e)!==this.getKey(t)}},{key:"isInvalid",value:function(t){return this.keyHasChangedFor(t)||this.doesEleInvalidateKey(t)}},{key:"getCachesAt",value:function(t){var e=this.cachesByLvl,n=this.lvls,i=e.get(t);return i||(i=new $e,e.set(t,i),n.push(t)),i}},{key:"getCache",value:function(t,e){return this.getCachesAt(e).get(t)}},{key:"get",value:function(t,e){var n=this.getKey(t),i=this.getCache(n,e);return null!=i&&this.updateKeyMappingFor(t),i}},{key:"getForCachedKey",value:function(t,e){var n=this.keyForId.get(t.id());return this.getCache(n,e)}},{key:"hasCache",value:function(t,e){return this.getCachesAt(e).has(t)}},{key:"has",value:function(t,e){var n=this.getKey(t);return this.hasCache(n,e)}},{key:"setCache",value:function(t,e,n){n.key=t,this.getCachesAt(e).set(t,n)}},{key:"set",value:function(t,e,n){var i=this.getKey(t);this.setCache(i,e,n),this.updateKeyMappingFor(t)}},{key:"deleteCache",value:function(t,e){this.getCachesAt(e).delete(t)}},{key:"delete",value:function(t,e){var n=this.getKey(t);this.deleteCache(n,e)}},{key:"invalidateKey",value:function(t){var e=this;this.lvls.forEach((function(n){return e.deleteCache(t,n)}))}},{key:"invalidate",value:function(t){var e=t.id(),n=this.keyForId.get(e);this.deleteKeyMappingFor(t);var i=this.doesEleInvalidateKey(t);return i&&this.invalidateKey(n),i||0===this.getNumberOfIdsForKey(n)}}]),t}(),_h=25,Ch=50,Ah=-4,xh=3,Eh=7.99,Th=8,Sh=1024,Dh=1024,Ih=1024,Bh=.2,Mh=.8,Ph=10,Lh=.15,Oh=.1,Nh=.9,Rh=.9,Fh=100,jh=1,$h={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},zh=Le({getKey:null,doesEleInvalidateKey:_e,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:ye,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),Vh=function(t,e){var n=this;n.renderer=t,n.onDequeues=[];var i=zh(e);Q(n,i),n.lookup=new yh(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},Hh=Vh.prototype;Hh.reasons=$h,Hh.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]},Hh.getRetiredTextureQueue=function(t){var e=this,n=e.eleImgCaches.retired=e.eleImgCaches.retired||{};return n[t]=n[t]||[]},Hh.getElementQueue=function(){var t=this;return t.eleCacheQueue=t.eleCacheQueue||new Ke((function(t,e){return e.reqs-t.reqs}))},Hh.getElementKeyToQueue=function(){var t=this;return t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{}},Hh.getElement=function(t,e,n,i,r){var o=this,a=this.renderer,s=a.cy.zoom(),c=this.lookup;if(!e||0===e.w||0===e.h||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed())return null;if(!o.allowEdgeTxrCaching&&t.isEdge()||!o.allowParentTxrCaching&&t.isParent())return null;if(null==i&&(i=Math.ceil(kn(s*n))),i=Eh||i>xh)return null;var l=Math.pow(2,i),u=e.h*l,h=e.w*l,d=a.eleTextBiggerThanMin(t,l);if(!this.isVisible(t,d))return null;var f,g=c.get(t,i);if(g&&g.invalidated&&(g.invalidated=!1,g.texture.invalidatedWidth-=g.width),g)return g;if(f=u<=_h?_h:u<=Ch?Ch:Math.ceil(u/Ch)*Ch,u>Ih||h>Dh)return null;var p=o.getTextureQueue(f),m=p[p.length-2],b=function(){return o.recycleTexture(f,h)||o.addTexture(f,h)};m||(m=p[p.length-1]),m||(m=b()),m.width-m.usedWidthi;T--)x=o.getElement(t,e,n,T,$h.downscale);E()}else{var S;if(!v&&!y&&!_)for(var D=i-1;D>=Ah;D--){var I=c.get(t,D);if(I){S=I;break}}if(k(S))return o.queueElement(t,i),S;m.context.translate(m.usedWidth,0),m.context.scale(l,l),this.drawElement(m.context,t,e,d,!1),m.context.scale(1/l,1/l),m.context.translate(-m.usedWidth,0)}return g={x:m.usedWidth,texture:m,level:i,scale:l,width:h,height:u,scaledLabelShown:d},m.usedWidth+=Math.ceil(h+Th),m.eleCaches.push(g),c.set(t,i,g),o.checkTextureFullness(m),g},Hh.invalidateElements=function(t){for(var e=0;e=Bh*t.width&&this.retireTexture(t)},Hh.checkTextureFullness=function(t){var e=this.getTextureQueue(t.height);t.usedWidth/t.width>Mh&&t.fullnessChecks>=Ph?Oe(e,t):t.fullnessChecks++},Hh.retireTexture=function(t){var e=this,n=t.height,i=e.getTextureQueue(n),r=this.lookup;Oe(i,t),t.retired=!0;for(var o=t.eleCaches,a=0;a=e)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,Ne(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),Oe(r,a),i.push(a),a}},Hh.queueElement=function(t,e){var n=this,i=n.getElementQueue(),r=n.getElementKeyToQueue(),o=this.getKey(t),a=r[o];if(a)a.level=Math.max(a.level,e),a.eles.merge(t),a.reqs++,i.updateItem(a);else{var s={eles:t.spawn().merge(t),level:e,reqs:1,key:o};i.push(s),r[o]=s}},Hh.dequeue=function(t){for(var e=this,n=e.getElementQueue(),i=e.getElementKeyToQueue(),r=[],o=e.lookup,a=0;a0;a++){var s=n.pop(),c=s.key,l=s.eles[0],u=o.hasCache(l,s.level);if(i[c]=null,!u){r.push(s);var h=e.getBoundingBox(l);e.getElement(l,h,t,s.level,$h.dequeue)}}return r},Hh.removeFromQueue=function(t){var e=this,n=e.getElementQueue(),i=e.getElementKeyToQueue(),r=this.getKey(t),o=i[r];null!=o&&(1===o.eles.length?(o.reqs=ve,n.updateItem(o),n.pop(),i[r]=null):o.eles.unmerge(t))},Hh.onDequeue=function(t){this.onDequeues.push(t)},Hh.offDequeue=function(t){Oe(this.onDequeues,t)},Hh.setupDequeueing=vh.setupDequeueing({deqRedrawThreshold:Fh,deqCost:Lh,deqAvgCost:Oh,deqNoDrawCost:Nh,deqFastCost:Rh,deq:function(t,e,n){return t.dequeue(e,n)},onDeqd:function(t,e){for(var n=0;n=Wh||n>Gh)return null;i.validateLayersElesOrdering(n,t);var a,s,c=i.layersByLevel,l=Math.pow(2,n),u=c[n]=c[n]||[];if(i.levelIsComplete(n,t))return u;!function(){var e=function(e){if(i.validateLayersElesOrdering(e,t),i.levelIsComplete(e,t))return s=c[e],!0},r=function(t){if(!s)for(var i=n+t;Uh<=i&&i<=Gh&&!e(i);i+=t);};r(1),r(-1);for(var o=u.length-1;o>=0;o--){var a=u[o];a.invalid&&Oe(u,a)}}();var h=function(){if(!a){a=Sn();for(var e=0;end)return null;var r=i.makeLayer(a,n);if(null!=e){var o=u.indexOf(e)+1;u.splice(o,0,r)}else(void 0===t.insert||t.insert)&&u.unshift(r);return r};if(i.skipping&&!o)return null;for(var f=null,g=t.length/qh,p=!o,m=0;m=g||!jn(f.bb,b.boundingBox()))&&!(f=d({insert:!0,after:f})))return null;s||p?i.queueLayer(f,b):i.drawEleInLayer(f,b,n,e),f.eles.push(b),k[n]=f}}return s||(p?null:u)},od.getEleLevelForLayerLevel=function(t,e){return t},od.drawEleInLayer=function(t,e,n,i){var r=this,o=this.renderer,a=t.context,s=e.boundingBox();0!==s.w&&0!==s.h&&e.visible()&&(n=r.getEleLevelForLayerLevel(n,i),o.setImgSmoothing(a,!1),o.drawCachedElement(a,e,null,null,n,id),o.setImgSmoothing(a,!0))},od.levelIsComplete=function(t,e){var n=this.layersByLevel[t];if(!n||0===n.length)return!1;for(var i=0,r=0;r0)return!1;if(o.invalid)return!1;i+=o.eles.length}return i===e.length},od.validateLayersElesOrdering=function(t,e){var n=this.layersByLevel[t];if(n)for(var i=0;i0){e=!0;break}}return e},od.invalidateElements=function(t){var e=this;0!==t.length&&(e.lastInvalidationTime=ie(),0!==t.length&&e.haveLayers()&&e.updateElementsInLayers(t,(function(t,n,i){e.invalidateLayer(t)})))},od.invalidateLayer=function(t){if(this.lastInvalidationTime=ie(),!t.invalid){var e=t.level,n=t.eles,i=this.layersByLevel[e];Oe(i,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var r=0;r3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],a=this,s=e._private.rscratch;if((!o||e.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var c;n&&(c=n,t.translate(-c.x1,-c.y1));var l=o?e.pstyle("opacity").value:1,u=o?e.pstyle("line-opacity").value:1,h=e.pstyle("curve-style").value,d=e.pstyle("line-style").value,f=e.pstyle("width").pfValue,g=e.pstyle("line-cap").value,p=l*u,m=l*u,b=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p;"straight-triangle"===h?(a.eleStrokeStyle(t,e,n),a.drawEdgeTrianglePath(e,t,s.allpts)):(t.lineWidth=f,t.lineCap=g,a.eleStrokeStyle(t,e,n),a.drawEdgePath(e,t,s.allpts,d),t.lineCap="butt")},w=function(){r&&a.drawEdgeOverlay(t,e)},k=function(){r&&a.drawEdgeUnderlay(t,e)},v=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:m;a.drawArrowheads(t,e,n)},y=function(){a.drawElementText(t,e,null,i)};if(t.lineJoin="round","yes"===e.pstyle("ghost").value){var _=e.pstyle("ghost-offset-x").pfValue,C=e.pstyle("ghost-offset-y").pfValue,A=e.pstyle("ghost-opacity").value,x=p*A;t.translate(_,C),b(x),v(x),t.translate(-_,-C)}k(),b(),v(),w(),y(),n&&t.translate(c.x1,c.y1)}}},Cd=function(t){if(!["overlay","underlay"].includes(t))throw new Error("Invalid state");return function(e,n){if(n.visible()){var i=n.pstyle("".concat(t,"-opacity")).value;if(0!==i){var r=this,o=r.usePaths(),a=n._private.rscratch,s=2*n.pstyle("".concat(t,"-padding")).pfValue,c=n.pstyle("".concat(t,"-color")).value;e.lineWidth=s,"self"!==a.edgeType||o?e.lineCap="round":e.lineCap="butt",r.colorStrokeStyle(e,c[0],c[1],c[2],i),r.drawEdgePath(n,e,a.allpts,"solid")}}}};_d.drawEdgeOverlay=Cd("overlay"),_d.drawEdgeUnderlay=Cd("underlay"),_d.drawEdgePath=function(t,e,n,i){var r,o=t._private.rscratch,a=e,s=!1,c=this.usePaths(),l=t.pstyle("line-dash-pattern").pfValue,u=t.pstyle("line-dash-offset").pfValue;if(c){var h=n.join("$");o.pathCacheKey&&o.pathCacheKey===h?(r=e=o.pathCache,s=!0):(r=e=new Path2D,o.pathCacheKey=h,o.pathCache=r)}if(a.setLineDash)switch(i){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(l),a.lineDashOffset=u;break;case"solid":a.setLineDash([])}if(!s&&!o.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(n[0],n[1]),o.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var d=2;d+35&&void 0!==arguments[5]?arguments[5]:5;t.beginPath(),t.moveTo(e+o,n),t.lineTo(e+i-o,n),t.quadraticCurveTo(e+i,n,e+i,n+o),t.lineTo(e+i,n+r-o),t.quadraticCurveTo(e+i,n+r,e+i-o,n+r),t.lineTo(e+o,n+r),t.quadraticCurveTo(e,n+r,e,n+r-o),t.lineTo(e,n+o),t.quadraticCurveTo(e,n,e+o,n),t.closePath(),t.fill()}xd.eleTextBiggerThanMin=function(t,e){if(!e){var n=t.cy().zoom(),i=this.getPixelRatio(),r=Math.ceil(kn(n*i));e=Math.pow(2,r)}return!(t.pstyle("font-size").pfValue*e5&&void 0!==arguments[5])||arguments[5],a=this;if(null==i){if(o&&!a.eleTextBiggerThanMin(e))return}else if(!1===i)return;if(e.isNode()){var s=e.pstyle("label");if(!s||!s.value)return;var c=a.getLabelJustification(e);t.textAlign=c,t.textBaseline="bottom"}else{var l=e.element()._private.rscratch.badLine,u=e.pstyle("label"),h=e.pstyle("source-label"),d=e.pstyle("target-label");if(l||(!u||!u.value)&&(!h||!h.value)&&(!d||!d.value))return;t.textAlign="center",t.textBaseline="bottom"}var f,g=!n;n&&(f=n,t.translate(-f.x1,-f.y1)),null==r?(a.drawText(t,e,null,g,o),e.isEdge()&&(a.drawText(t,e,"source",g,o),a.drawText(t,e,"target",g,o))):a.drawText(t,e,r,g,o),n&&t.translate(f.x1,f.y1)},xd.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var n=0;n2&&void 0!==arguments[2])||arguments[2],i=e.pstyle("font-style").strValue,r=e.pstyle("font-size").pfValue+"px",o=e.pstyle("font-family").strValue,a=e.pstyle("font-weight").strValue,s=n?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,c=e.pstyle("text-outline-opacity").value*s,l=e.pstyle("color").value,u=e.pstyle("text-outline-color").value;t.font=i+" "+a+" "+r+" "+o,t.lineJoin="round",this.colorFillStyle(t,l[0],l[1],l[2],s),this.colorStrokeStyle(t,u[0],u[1],u[2],c)},xd.getTextAngle=function(t,e){var n=t._private.rscratch,i=e?e+"-":"",r=t.pstyle(i+"text-rotation"),o=Fe(n,"labelAngle",e);return"autorotate"===r.strValue?t.isEdge()?o:0:"none"===r.strValue?0:r.pfValue},xd.drawText=function(t,e,n){var i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=e._private.rscratch,a=r?e.effectiveOpacity():1;if(!r||0!==a&&0!==e.pstyle("text-opacity").value){"main"===n&&(n=null);var s,c,l=Fe(o,"labelX",n),u=Fe(o,"labelY",n),h=this.getLabelText(e,n);if(null!=h&&""!==h&&!isNaN(l)&&!isNaN(u)){this.setupTextStyle(t,e,r);var d,f=n?n+"-":"",g=Fe(o,"labelWidth",n),p=Fe(o,"labelHeight",n),m=e.pstyle(f+"text-margin-x").pfValue,b=e.pstyle(f+"text-margin-y").pfValue,w=e.isEdge(),k=e.pstyle("text-halign").value,v=e.pstyle("text-valign").value;switch(w&&(k="center",v="center"),l+=m,u+=b,0!==(d=i?this.getTextAngle(e,n):0)&&(s=l,c=u,t.translate(s,c),t.rotate(d),l=0,u=0),v){case"top":break;case"center":u+=p/2;break;case"bottom":u+=p}var y=e.pstyle("text-background-opacity").value,_=e.pstyle("text-border-opacity").value,C=e.pstyle("text-border-width").pfValue,A=e.pstyle("text-background-padding").pfValue;if(y>0||C>0&&_>0){var x=l-A;switch(k){case"left":x-=g;break;case"center":x-=g/2}var E=u-p-A,T=g+2*A,S=p+2*A;if(y>0){var D=t.fillStyle,I=e.pstyle("text-background-color").value;t.fillStyle="rgba("+I[0]+","+I[1]+","+I[2]+","+y*a+")",0===e.pstyle("text-background-shape").strValue.indexOf("round")?Ed(t,x,E,T,S,2):t.fillRect(x,E,T,S),t.fillStyle=D}if(C>0&&_>0){var B=t.strokeStyle,M=t.lineWidth,P=e.pstyle("text-border-color").value,L=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+P[0]+","+P[1]+","+P[2]+","+_*a+")",t.lineWidth=C,t.setLineDash)switch(L){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=C/4,t.setLineDash([]);break;case"solid":t.setLineDash([])}if(t.strokeRect(x,E,T,S),"double"===L){var O=C/2;t.strokeRect(x+O,E+O,T-2*O,S-2*O)}t.setLineDash&&t.setLineDash([]),t.lineWidth=M,t.strokeStyle=B}}var N=2*e.pstyle("text-outline-width").pfValue;if(N>0&&(t.lineWidth=N),"wrap"===e.pstyle("text-wrap").value){var R=Fe(o,"labelWrapCachedLines",n),F=Fe(o,"labelLineHeight",n),j=g/2,$=this.getLabelJustification(e);switch("auto"===$||("left"===k?"left"===$?l+=-g:"center"===$&&(l+=-j):"center"===k?"left"===$?l+=-j:"right"===$&&(l+=j):"right"===k&&("center"===$?l+=j:"right"===$&&(l+=g))),v){case"top":case"center":case"bottom":u-=(R.length-1)*F}for(var z=0;z0&&t.strokeText(R[z],l,u),t.fillText(R[z],l,u),u+=F}else N>0&&t.strokeText(h,l,u),t.fillText(h,l,u);0!==d&&(t.rotate(-d),t.translate(-s,-c))}}};var Td={drawNode:function(t,e,n){var i,r,o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],c=this,l=e._private,u=l.rscratch,h=e.position();if(A(h.x)&&A(h.y)&&(!s||e.visible())){var d,f,g=s?e.effectiveOpacity():1,p=c.usePaths(),m=!1,b=e.padding();i=e.width()+2*b,r=e.height()+2*b,n&&(f=n,t.translate(-f.x1,-f.y1));for(var w=e.pstyle("background-image").value,k=new Array(w.length),v=new Array(w.length),y=0,_=0;_0&&void 0!==arguments[0]?arguments[0]:S;c.eleFillStyle(t,e,n)},P=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:B;c.colorStrokeStyle(t,D[0],D[1],D[2],e)},L=e.pstyle("shape").strValue,O=e.pstyle("shape-polygon-points").pfValue;if(p){t.translate(h.x,h.y);var N=c.nodePathCache=c.nodePathCache||[],R=pe("polygon"===L?L+","+O.join(","):L,""+r,""+i),F=N[R];null!=F?(d=F,m=!0,u.pathCache=d):(d=new Path2D,N[R]=u.pathCache=d)}var j=function(){if(!m){var n=h;p&&(n={x:0,y:0}),c.nodeShapes[c.getNodeShape(e)].draw(d||t,n.x,n.y,i,r)}p?t.fill(d):t.fill()},$=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=l.backgrounding,o=0,a=0;a0&&void 0!==arguments[0]&&arguments[0],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:g;c.hasPie(e)&&(c.drawPie(t,e,o),n&&(p||c.nodeShapes[c.getNodeShape(e)].draw(t,h.x,h.y,i,r)))},V=function(){var e=(E>0?E:-E)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:g),n=E>0?0:255;0!==E&&(c.colorFillStyle(t,n,n,n,e),p?t.fill(d):t.fill())},H=function(){if(T>0){if(t.lineWidth=T,t.lineCap="butt",t.setLineDash)switch(I){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([])}if(p?t.stroke(d):t.stroke(),"double"===I){t.lineWidth=T/3;var e=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",p?t.stroke(d):t.stroke(),t.globalCompositeOperation=e}t.setLineDash&&t.setLineDash([])}},q=function(){a&&c.drawNodeOverlay(t,e,h,i,r)},U=function(){a&&c.drawNodeUnderlay(t,e,h,i,r)},G=function(){c.drawElementText(t,e,null,o)};if("yes"===e.pstyle("ghost").value){var W=e.pstyle("ghost-offset-x").pfValue,K=e.pstyle("ghost-offset-y").pfValue,Y=e.pstyle("ghost-opacity").value,X=Y*g;t.translate(W,K),M(Y*S),j(),$(X,!0),P(Y*B),H(),z(0!==E||0!==T),$(X,!1),V(X),t.translate(-W,-K)}p&&t.translate(-h.x,-h.y),U(),p&&t.translate(h.x,h.y),M(),j(),$(g,!0),P(),H(),z(0!==E||0!==T),$(g,!1),V(),p&&t.translate(-h.x,-h.y),G(),q(),n&&t.translate(f.x1,f.y1)}}},Sd=function(t){if(!["overlay","underlay"].includes(t))throw new Error("Invalid state");return function(e,n,i,r,o){var a=this;if(n.visible()){var s=n.pstyle("".concat(t,"-padding")).pfValue,c=n.pstyle("".concat(t,"-opacity")).value,l=n.pstyle("".concat(t,"-color")).value,u=n.pstyle("".concat(t,"-shape")).value;if(c>0){if(i=i||n.position(),null==r||null==o){var h=n.padding();r=n.width()+2*h,o=n.height()+2*h}a.colorFillStyle(e,l[0],l[1],l[2],c),a.nodeShapes[u].draw(e,i.x,i.y,r+2*s,o+2*s),e.fill()}}}};Td.drawNodeOverlay=Sd("overlay"),Td.drawNodeUnderlay=Sd("underlay"),Td.hasPie=function(t){return(t=t[0])._private.hasPie},Td.drawPie=function(t,e,n,i){e=e[0],i=i||e.position();var r=e.cy().style(),o=e.pstyle("pie-size"),a=i.x,s=i.y,c=e.width(),l=e.height(),u=Math.min(c,l)/2,h=0;this.usePaths()&&(a=0,s=0),"%"===o.units?u*=o.pfValue:void 0!==o.pfValue&&(u=o.pfValue/2);for(var d=1;d<=r.pieBackgroundN;d++){var f=e.pstyle("pie-"+d+"-background-size").value,g=e.pstyle("pie-"+d+"-background-color").value,p=e.pstyle("pie-"+d+"-background-opacity").value*n,m=f/100;m+h>1&&(m=1-h);var b=1.5*Math.PI+2*Math.PI*h,w=b+2*Math.PI*m;0===f||h>=1||h+m>1||(t.beginPath(),t.moveTo(a,s),t.arc(a,s,u,b,w),t.closePath(),this.colorFillStyle(t,g[0],g[1],g[2],p),t.fill(),h+=m)}};var Dd={},Id=100;Dd.getPixelRatio=function(){var t=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var e=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/e},Dd.paintCache=function(t){for(var e,n=this.paintCaches=this.paintCaches||[],i=!0,r=0;ra.minMbLowQualFrames&&(a.motionBlurPxRatio=a.mbPxRBlurry)),a.clearingMotionBlur&&(a.motionBlurPxRatio=1),a.textureDrawLastFrame&&!h&&(u[a.NODE]=!0,u[a.SELECT_BOX]=!0);var w=c.style(),k=c.zoom(),v=void 0!==r?r:k,y=c.pan(),_={x:y.x,y:y.y},C={zoom:k,pan:{x:y.x,y:y.y}},A=a.prevViewport;void 0===A||C.zoom!==A.zoom||C.pan.x!==A.pan.x||C.pan.y!==A.pan.y||p&&!g||(a.motionBlurPxRatio=1),o&&(_=o),v*=s,_.x*=s,_.y*=s;var x=a.getCachedZSortedEles();function E(t,e,n,i,r){var o=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",a.colorFillStyle(t,255,255,255,a.motionBlurTransparency),t.fillRect(e,n,i,r),t.globalCompositeOperation=o}function T(t,i){var s,c,u,h;a.clearingMotionBlur||t!==l.bufferContexts[a.MOTIONBLUR_BUFFER_NODE]&&t!==l.bufferContexts[a.MOTIONBLUR_BUFFER_DRAG]?(s=_,c=v,u=a.canvasWidth,h=a.canvasHeight):(s={x:y.x*f,y:y.y*f},c=k*f,u=a.canvasWidth*f,h=a.canvasHeight*f),t.setTransform(1,0,0,1,0,0),"motionBlur"===i?E(t,0,0,u,h):e||void 0!==i&&!i||t.clearRect(0,0,u,h),n||(t.translate(s.x,s.y),t.scale(c,c)),o&&t.translate(o.x,o.y),r&&t.scale(r,r)}if(h||(a.textureDrawLastFrame=!1),h){if(a.textureDrawLastFrame=!0,!a.textureCache){a.textureCache={},a.textureCache.bb=c.mutableElements().boundingBox(),a.textureCache.texture=a.data.bufferCanvases[a.TEXTURE_BUFFER];var S=a.data.bufferContexts[a.TEXTURE_BUFFER];S.setTransform(1,0,0,1,0,0),S.clearRect(0,0,a.canvasWidth*a.textureMult,a.canvasHeight*a.textureMult),a.render({forcedContext:S,drawOnlyNodeLayer:!0,forcedPxRatio:s*a.textureMult}),(C=a.textureCache.viewport={zoom:c.zoom(),pan:c.pan(),width:a.canvasWidth,height:a.canvasHeight}).mpan={x:(0-C.pan.x)/C.zoom,y:(0-C.pan.y)/C.zoom}}u[a.DRAG]=!1,u[a.NODE]=!1;var D=l.contexts[a.NODE],I=a.textureCache.texture;C=a.textureCache.viewport,D.setTransform(1,0,0,1,0,0),d?E(D,0,0,C.width,C.height):D.clearRect(0,0,C.width,C.height);var B=w.core("outside-texture-bg-color").value,M=w.core("outside-texture-bg-opacity").value;a.colorFillStyle(D,B[0],B[1],B[2],M),D.fillRect(0,0,C.width,C.height),k=c.zoom(),T(D,!1),D.clearRect(C.mpan.x,C.mpan.y,C.width/C.zoom/s,C.height/C.zoom/s),D.drawImage(I,C.mpan.x,C.mpan.y,C.width/C.zoom/s,C.height/C.zoom/s)}else a.textureOnViewport&&!e&&(a.textureCache=null);var P=c.extent(),L=a.pinching||a.hoverData.dragging||a.swipePanning||a.data.wheelZooming||a.hoverData.draggingEles||a.cy.animated(),O=a.hideEdgesOnViewport&&L,N=[];if(N[a.NODE]=!u[a.NODE]&&d&&!a.clearedForMotionBlur[a.NODE]||a.clearingMotionBlur,N[a.NODE]&&(a.clearedForMotionBlur[a.NODE]=!0),N[a.DRAG]=!u[a.DRAG]&&d&&!a.clearedForMotionBlur[a.DRAG]||a.clearingMotionBlur,N[a.DRAG]&&(a.clearedForMotionBlur[a.DRAG]=!0),u[a.NODE]||n||i||N[a.NODE]){var R=d&&!N[a.NODE]&&1!==f;T(D=e||(R?a.data.bufferContexts[a.MOTIONBLUR_BUFFER_NODE]:l.contexts[a.NODE]),d&&!R?"motionBlur":void 0),O?a.drawCachedNodes(D,x.nondrag,s,P):a.drawLayeredElements(D,x.nondrag,s,P),a.debug&&a.drawDebugPoints(D,x.nondrag),n||d||(u[a.NODE]=!1)}if(!i&&(u[a.DRAG]||n||N[a.DRAG])&&(R=d&&!N[a.DRAG]&&1!==f,T(D=e||(R?a.data.bufferContexts[a.MOTIONBLUR_BUFFER_DRAG]:l.contexts[a.DRAG]),d&&!R?"motionBlur":void 0),O?a.drawCachedNodes(D,x.drag,s,P):a.drawCachedElements(D,x.drag,s,P),a.debug&&a.drawDebugPoints(D,x.drag),n||d||(u[a.DRAG]=!1)),a.showFps||!i&&u[a.SELECT_BOX]&&!n){if(T(D=e||l.contexts[a.SELECT_BOX]),1==a.selection[4]&&(a.hoverData.selecting||a.touchData.selecting)){k=a.cy.zoom();var F=w.core("selection-box-border-width").value/k;D.lineWidth=F,D.fillStyle="rgba("+w.core("selection-box-color").value[0]+","+w.core("selection-box-color").value[1]+","+w.core("selection-box-color").value[2]+","+w.core("selection-box-opacity").value+")",D.fillRect(a.selection[0],a.selection[1],a.selection[2]-a.selection[0],a.selection[3]-a.selection[1]),F>0&&(D.strokeStyle="rgba("+w.core("selection-box-border-color").value[0]+","+w.core("selection-box-border-color").value[1]+","+w.core("selection-box-border-color").value[2]+","+w.core("selection-box-opacity").value+")",D.strokeRect(a.selection[0],a.selection[1],a.selection[2]-a.selection[0],a.selection[3]-a.selection[1]))}if(l.bgActivePosistion&&!a.hoverData.selecting){k=a.cy.zoom();var j=l.bgActivePosistion;D.fillStyle="rgba("+w.core("active-bg-color").value[0]+","+w.core("active-bg-color").value[1]+","+w.core("active-bg-color").value[2]+","+w.core("active-bg-opacity").value+")",D.beginPath(),D.arc(j.x,j.y,w.core("active-bg-size").pfValue/k,0,2*Math.PI),D.fill()}var $=a.lastRedrawTime;if(a.showFps&&$){$=Math.round($);var z=Math.round(1e3/$);D.setTransform(1,0,0,1,0,0),D.fillStyle="rgba(255, 0, 0, 0.75)",D.strokeStyle="rgba(255, 0, 0, 0.75)",D.lineWidth=1,D.fillText("1 frame = "+$+" ms = "+z+" fps",0,20);var V=60;D.strokeRect(0,30,250,20),D.fillRect(0,30,250*Math.min(z/V,1),20)}n||(u[a.SELECT_BOX]=!1)}if(d&&1!==f){var H=l.contexts[a.NODE],q=a.data.bufferCanvases[a.MOTIONBLUR_BUFFER_NODE],U=l.contexts[a.DRAG],G=a.data.bufferCanvases[a.MOTIONBLUR_BUFFER_DRAG],W=function(t,e,n){t.setTransform(1,0,0,1,0,0),n||!b?t.clearRect(0,0,a.canvasWidth,a.canvasHeight):E(t,0,0,a.canvasWidth,a.canvasHeight);var i=f;t.drawImage(e,0,0,a.canvasWidth*i,a.canvasHeight*i,0,0,a.canvasWidth,a.canvasHeight)};(u[a.NODE]||N[a.NODE])&&(W(H,q,N[a.NODE]),u[a.NODE]=!1),(u[a.DRAG]||N[a.DRAG])&&(W(U,G,N[a.DRAG]),u[a.DRAG]=!1)}a.prevViewport=C,a.clearingMotionBlur&&(a.clearingMotionBlur=!1,a.motionBlurCleared=!0,a.motionBlur=!0),d&&(a.motionBlurTimeout=setTimeout((function(){a.motionBlurTimeout=null,a.clearedForMotionBlur[a.NODE]=!1,a.clearedForMotionBlur[a.DRAG]=!1,a.motionBlur=!1,a.clearingMotionBlur=!h,a.mbFrames=0,u[a.NODE]=!0,u[a.DRAG]=!0,a.redraw()}),Id)),e||c.emit("render")};for(var Bd={drawPolygonPath:function(t,e,n,i,r,o){var a=i/2,s=r/2;t.beginPath&&t.beginPath(),t.moveTo(e+a*o[0],n+s*o[1]);for(var c=1;c0&&o>0){d.clearRect(0,0,r,o),d.globalCompositeOperation="source-over";var f=this.getCachedZSortedEles();if(t.full)d.translate(-n.x1*c,-n.y1*c),d.scale(c,c),this.drawElements(d,f),d.scale(1/c,1/c),d.translate(n.x1*c,n.y1*c);else{var g=e.pan(),p={x:g.x*c,y:g.y*c};c*=e.zoom(),d.translate(p.x,p.y),d.scale(c,c),this.drawElements(d,f),d.scale(1/c,1/c),d.translate(-p.x,-p.y)}t.bg&&(d.globalCompositeOperation="destination-over",d.fillStyle=t.bg,d.rect(0,0,r,o),d.fill())}return h},Fd.png=function(t){return zd(t,this.bufferCanvasImage(t),"image/png")},Fd.jpg=function(t){return zd(t,this.bufferCanvasImage(t),"image/jpeg")};var Vd={nodeShapeImpl:function(t,e,n,i,r,o,a){switch(t){case"ellipse":return this.drawEllipsePath(e,n,i,r,o);case"polygon":return this.drawPolygonPath(e,n,i,r,o,a);case"round-polygon":return this.drawRoundPolygonPath(e,n,i,r,o,a);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(e,n,i,r,o);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(e,n,i,r,o);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(e,n,i,r,o);case"barrel":return this.drawBarrelPath(e,n,i,r,o)}}},Hd=Ud,qd=Ud.prototype;function Ud(t){var e=this;e.data={canvases:new Array(qd.CANVAS_LAYERS),contexts:new Array(qd.CANVAS_LAYERS),canvasNeedsRedraw:new Array(qd.CANVAS_LAYERS),bufferCanvases:new Array(qd.BUFFER_COUNT),bufferContexts:new Array(qd.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color",i="rgba(0,0,0,0)";e.data.canvasContainer=document.createElement("div");var r=e.data.canvasContainer.style;e.data.canvasContainer.style[n]=i,r.position="relative",r.zIndex="0",r.overflow="hidden";var o=t.cy.container();o.appendChild(e.data.canvasContainer),o.style[n]=i;var a={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};R()&&(a["-ms-touch-action"]="none",a["touch-action"]="none");for(var s=0;se&&(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)),this.labelHeight>n&&("center"==this.labelPos?this.rect.y-=(this.labelHeight-n)/2:"top"==this.labelPos&&(this.rect.y-=this.labelHeight-n),this.setHeight(this.labelHeight))}}},l.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==r.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},l.prototype.transform=function(t){var e=this.rect.x;e>a.WORLD_BOUNDARY?e=a.WORLD_BOUNDARY:e<-a.WORLD_BOUNDARY&&(e=-a.WORLD_BOUNDARY);var n=this.rect.y;n>a.WORLD_BOUNDARY?n=a.WORLD_BOUNDARY:n<-a.WORLD_BOUNDARY&&(n=-a.WORLD_BOUNDARY);var i=new c(e,n),r=t.inverseTransformPoint(i);this.setLocation(r.x,r.y)},l.prototype.getLeft=function(){return this.rect.x},l.prototype.getRight=function(){return this.rect.x+this.rect.width},l.prototype.getTop=function(){return this.rect.y},l.prototype.getBottom=function(){return this.rect.y+this.rect.height},l.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=l},function(t,e,n){function i(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}i.prototype.getX=function(){return this.x},i.prototype.getY=function(){return this.y},i.prototype.setX=function(t){this.x=t},i.prototype.setY=function(t){this.y=t},i.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},i.prototype.getCopy=function(){return new i(this.x,this.y)},i.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=i},function(t,e,n){var i=n(2),r=n(10),o=n(0),a=n(6),s=n(3),c=n(1),l=n(13),u=n(12),h=n(11);function d(t,e,n){i.call(this,n),this.estimatedSize=r.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof a?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var f in d.prototype=Object.create(i.prototype),i)d[f]=i[f];d.prototype.getNodes=function(){return this.nodes},d.prototype.getEdges=function(){return this.edges},d.prototype.getGraphManager=function(){return this.graphManager},d.prototype.getParent=function(){return this.parent},d.prototype.getLeft=function(){return this.left},d.prototype.getRight=function(){return this.right},d.prototype.getTop=function(){return this.top},d.prototype.getBottom=function(){return this.bottom},d.prototype.isConnected=function(){return this.isConnected},d.prototype.add=function(t,e,n){if(null==e&&null==n){var i=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(i)>-1)throw"Node already in graph!";return i.owner=this,this.getNodes().push(i),i}var r=t;if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(n)>-1))throw"Source or target not in graph!";if(e.owner!=n.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=n.owner?null:(r.source=e,r.target=n,r.isInterGraph=!1,this.getEdges().push(r),e.edges.push(r),n!=e&&n.edges.push(r),r)},d.prototype.remove=function(t){var e=t;if(t instanceof s){if(null==e)throw"Node is null!";if(null==e.owner||e.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var n=e.edges.slice(),i=n.length,r=0;r-1&&u>-1))throw"Source and/or target doesn't know this edge!";if(o.source.edges.splice(l,1),o.target!=o.source&&o.target.edges.splice(u,1),-1==(a=o.source.owner.getEdges().indexOf(o)))throw"Not in owner's edge list!";o.source.owner.getEdges().splice(a,1)}},d.prototype.updateLeftTop=function(){for(var t,e,n,i=r.MAX_VALUE,o=r.MAX_VALUE,a=this.getNodes(),s=a.length,c=0;c(t=l.getTop())&&(i=t),o>(e=l.getLeft())&&(o=e)}return i==r.MAX_VALUE?null:(n=null!=a[0].getParent().paddingLeft?a[0].getParent().paddingLeft:this.margin,this.left=o-n,this.top=i-n,new u(this.left,this.top))},d.prototype.updateBounds=function(t){for(var e,n,i,o,a,s=r.MAX_VALUE,c=-r.MAX_VALUE,u=r.MAX_VALUE,h=-r.MAX_VALUE,d=this.nodes,f=d.length,g=0;g(e=p.getLeft())&&(s=e),c<(n=p.getRight())&&(c=n),u>(i=p.getTop())&&(u=i),h<(o=p.getBottom())&&(h=o)}var m=new l(s,u,c-s,h-u);s==r.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),a=null!=d[0].getParent().paddingLeft?d[0].getParent().paddingLeft:this.margin,this.left=m.x-a,this.right=m.x+m.width+a,this.top=m.y-a,this.bottom=m.y+m.height+a},d.calculateBounds=function(t){for(var e,n,i,o,a=r.MAX_VALUE,s=-r.MAX_VALUE,c=r.MAX_VALUE,u=-r.MAX_VALUE,h=t.length,d=0;d(e=f.getLeft())&&(a=e),s<(n=f.getRight())&&(s=n),c>(i=f.getTop())&&(c=i),u<(o=f.getBottom())&&(u=o)}return new l(a,c,s-a,u-c)},d.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},d.prototype.getEstimatedSize=function(){if(this.estimatedSize==r.MIN_VALUE)throw"assert failed";return this.estimatedSize},d.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,n=e.length,i=0;i=this.nodes.length){var c=0;r.forEach((function(e){e.owner==t&&c++})),c==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=d},function(t,e,n){var i,r=n(1);function o(t){i=n(5),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),n=this.add(t,e);return this.setRootGraph(n),this.rootGraph},o.prototype.add=function(t,e,n,i,r){if(null==n&&null==i&&null==r){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}r=n,n=t;var o=(i=e).getOwner(),a=r.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==a||a.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==a)return n.isInterGraph=!1,o.add(n,i,r);if(n.isInterGraph=!0,n.source=i,n.target=r,this.edges.indexOf(n)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(n),null==n.source||null==n.target)throw"Edge source and/or target is null!";if(-1!=n.source.edges.indexOf(n)||-1!=n.target.edges.indexOf(n))throw"Edge already in source and/or target incidency list!";return n.source.edges.push(n),n.target.edges.push(n),n},o.prototype.remove=function(t){if(t instanceof i){var e=t;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(e!=this.rootGraph&&(null==e.parent||e.parent.graphManager!=this))throw"Invalid parent node!";for(var n,o=[],a=(o=o.concat(e.getEdges())).length,s=0;s=e.getRight()?n[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(n[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?n[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(n[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var a=o*n[0],s=n[1]/o;n[0]a)return n[0]=i,n[1]=c,n[2]=o,n[3]=k,!1;if(ro)return n[0]=s,n[1]=r,n[2]=b,n[3]=a,!1;if(io?(n[0]=u,n[1]=h,C=!0):(n[0]=l,n[1]=c,C=!0):x===T&&(i>o?(n[0]=s,n[1]=c,C=!0):(n[0]=d,n[1]=h,C=!0)),-E===T?o>i?(n[2]=w,n[3]=k,A=!0):(n[2]=b,n[3]=m,A=!0):E===T&&(o>i?(n[2]=p,n[3]=m,A=!0):(n[2]=v,n[3]=k,A=!0)),C&&A)return!1;if(i>o?r>a?(S=this.getCardinalDirection(x,T,4),D=this.getCardinalDirection(E,T,2)):(S=this.getCardinalDirection(-x,T,3),D=this.getCardinalDirection(-E,T,1)):r>a?(S=this.getCardinalDirection(-x,T,1),D=this.getCardinalDirection(-E,T,3)):(S=this.getCardinalDirection(x,T,2),D=this.getCardinalDirection(E,T,4)),!C)switch(S){case 1:B=c,I=i+-g/T,n[0]=I,n[1]=B;break;case 2:I=d,B=r+f*T,n[0]=I,n[1]=B;break;case 3:B=h,I=i+g/T,n[0]=I,n[1]=B;break;case 4:I=u,B=r+-f*T,n[0]=I,n[1]=B}if(!A)switch(D){case 1:P=m,M=o+-_/T,n[2]=M,n[3]=P;break;case 2:M=v,P=a+y*T,n[2]=M,n[3]=P;break;case 3:P=k,M=o+_/T,n[2]=M,n[3]=P;break;case 4:M=w,P=a+-y*T,n[2]=M,n[3]=P}}return!1},r.getCardinalDirection=function(t,e,n){return t>e?n:1+n%4},r.getIntersection=function(t,e,n,r){if(null==r)return this.getIntersection2(t,e,n);var o=t.x,a=t.y,s=e.x,c=e.y,l=n.x,u=n.y,h=r.x,d=r.y,f=void 0,g=void 0,p=void 0,m=void 0,b=void 0,w=void 0,k=void 0;return 0==(k=(f=c-a)*(m=l-h)-(g=d-u)*(p=o-s))?null:new i((p*(w=h*u-l*d)-m*(b=s*a-o*c))/k,(g*b-f*w)/k)},r.angleOfVector=function(t,e,n,i){var r=void 0;return t!==n?(r=Math.atan((i-e)/(n-t)),n0?1:t<0?-1:0},i.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},i.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=i},function(t,e,n){function i(){}i.MAX_VALUE=2147483647,i.MIN_VALUE=-2147483648,t.exports=i},function(t,e,n){var i=function(){function t(t,e){for(var n=0;n0&&e;){for(s.push(l[0]);s.length>0&&e;){var u=s[0];s.splice(0,1),a.add(u);var h=u.getEdges();for(o=0;o-1&&l.splice(p,1)}a=new Set,c=new Map}else t=[]}return t},d.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],n=t.source,i=this.graphManager.calcLowestCommonAncestor(t.source,t.target),r=0;r0){for(var r=this.edgeToDummyNodes.get(n),o=0;o=0&&e.splice(h,1),u.getNeighborsList().forEach((function(t){if(n.indexOf(t)<0){var e=i.get(t)-1;1==e&&c.push(t),i.set(t,e)}}))}n=n.concat(c),1!=e.length&&2!=e.length||(r=!0,o=e[0])}return o},d.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=d},function(t,e,n){function i(){}i.seed=1,i.x=0,i.nextDouble=function(){return i.x=1e4*Math.sin(i.seed++),i.x-Math.floor(i.x)},t.exports=i},function(t,e,n){var i=n(4);function r(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}r.prototype.getWorldOrgX=function(){return this.lworldOrgX},r.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},r.prototype.getWorldOrgY=function(){return this.lworldOrgY},r.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},r.prototype.getWorldExtX=function(){return this.lworldExtX},r.prototype.setWorldExtX=function(t){this.lworldExtX=t},r.prototype.getWorldExtY=function(){return this.lworldExtY},r.prototype.setWorldExtY=function(t){this.lworldExtY=t},r.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},r.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},r.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},r.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},r.prototype.getDeviceExtX=function(){return this.ldeviceExtX},r.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},r.prototype.getDeviceExtY=function(){return this.ldeviceExtY},r.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},r.prototype.transformX=function(t){var e=0,n=this.lworldExtX;return 0!=n&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/n),e},r.prototype.transformY=function(t){var e=0,n=this.lworldExtY;return 0!=n&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/n),e},r.prototype.inverseTransformX=function(t){var e=0,n=this.ldeviceExtX;return 0!=n&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/n),e},r.prototype.inverseTransformY=function(t){var e=0,n=this.ldeviceExtY;return 0!=n&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/n),e},r.prototype.inverseTransformPoint=function(t){return new i(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=r},function(t,e,n){function i(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);eo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(t-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},l.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),n=0;n0&&void 0!==arguments[0])||arguments[0],s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&a&&this.updateGrid(),r=new Set,t=0;t(c=e.getEstimatedSize()*this.gravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*r,t.gravitationForceY=-this.gravityConstant*o):(a>(c=e.getEstimatedSize()*this.compoundGravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*r*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},l.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=c.length||u>=c[0].length))for(var h=0;ht}}]),t}();t.exports=a},function(t,e,n){var i=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:1,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;r(this,t),this.sequence1=e,this.sequence2=n,this.match_score=i,this.mismatch_penalty=o,this.gap_penalty=a,this.iMax=e.length+1,this.jMax=n.length+1,this.grid=new Array(this.iMax);for(var s=0;s=0;n--){var i=this.listeners[n];i.event===t&&i.callback===e&&this.listeners.splice(n,1)}},r.emit=function(t,e){for(var n=0;nt.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*r.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*r.sign(this.displacementY)),null==this.child||0==this.child.getNodes().length?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),t.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},o.prototype.propogateDisplacementToChildren=function(t,e){for(var n,i=this.getChild().getNodes(),r=0;r0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)}));this.graphManager.setAllNodesToApplyGravitation(n),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},w.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var n=!this.isTreeGrowing&&!this.isGrowthFinished,i=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(n,i),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},w.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},n=0;n1)for(s=0;si&&(i=Math.floor(a.y)),o=Math.floor(a.x+c.DEFAULT_COMPONENT_SEPERATION)}this.transform(new d(u.WORLD_CENTER_X-a.x/2,u.WORLD_CENTER_Y-a.y/2))},w.radialLayout=function(t,e,n){var i=Math.max(this.maxDiagonalInTree(t),c.DEFAULT_RADIAL_SEPARATION);w.branchRadialLayout(e,null,0,359,0,i);var r=m.calculateBounds(t),o=new b;o.setDeviceOrgX(r.getMinX()),o.setDeviceOrgY(r.getMinY()),o.setWorldOrgX(n.x),o.setWorldOrgY(n.y);for(var a=0;a1;){var b=m[0];m.splice(0,1);var k=u.indexOf(b);k>=0&&u.splice(k,1),g--,h--}d=null!=e?(u.indexOf(m[0])+1)%g:0;for(var v=Math.abs(i-n)/h,y=d;f!=h;y=++y%g){var _=u[y].getOtherEnd(t);if(_!=e){var C=(n+f*v)%360,A=(C+v)%360;w.branchRadialLayout(_,t,C,A,r+o,o),f++}}},w.maxDiagonalInTree=function(t){for(var e=g.MIN_VALUE,n=0;ne&&(e=i)}return e},w.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},w.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var n=[],i=this.graphManager.getAllNodes(),r=0;r1){var i="DummyCompound_"+n;t.memberGroups[i]=e[n];var r=e[n][0].getParent(),o=new a(t.graphManager);o.id=i,o.paddingLeft=r.paddingLeft||0,o.paddingRight=r.paddingRight||0,o.paddingBottom=r.paddingBottom||0,o.paddingTop=r.paddingTop||0,t.idToDummyNode[i]=o;var s=t.getGraphManager().add(t.newGraph(),o),c=r.getChild();c.add(o);for(var l=0;l=0;t--){var e=this.compoundOrder[t],n=e.id,i=e.paddingLeft,r=e.paddingTop;this.adjustLocations(this.tiledMemberPack[n],e.rect.x,e.rect.y,i,r)}},w.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach((function(n){var i=t.idToDummyNode[n],r=i.paddingLeft,o=i.paddingTop;t.adjustLocations(e[n],i.rect.x,i.rect.y,r,o)}))},w.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var n=t.getChild();if(null==n)return this.toBeTiled[e]=!1,!1;for(var i=n.getNodes(),r=0;r0)return this.toBeTiled[e]=!1,!1;if(null!=o.getChild()){if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}else this.toBeTiled[o.id]=!1}return this.toBeTiled[e]=!0,!0},w.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),n=0,i=0;ic&&(c=u.rect.height)}n+=c+t.verticalPadding}},w.prototype.tileCompoundMembers=function(t,e){var n=this;this.tiledMemberPack=[],Object.keys(t).forEach((function(i){var r=e[i];n.tiledMemberPack[i]=n.tileNodes(t[i],r.paddingLeft+r.paddingRight),r.rect.width=n.tiledMemberPack[i].width,r.rect.height=n.tiledMemberPack[i].height}))},w.prototype.tileNodes=function(t,e){var n={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:c.TILING_PADDING_VERTICAL,horizontalPadding:c.TILING_PADDING_HORIZONTAL};t.sort((function(t,e){return t.rect.width*t.rect.height>e.rect.width*e.rect.height?-1:t.rect.width*t.rect.height0&&(a+=t.horizontalPadding),t.rowWidth[n]=a,t.width0&&(s+=t.verticalPadding);var c=0;s>t.rowHeight[n]&&(c=t.rowHeight[n],t.rowHeight[n]=s,c=t.rowHeight[n]-c),t.height+=c,t.rows[n].push(e)},w.prototype.getShortestRowIndex=function(t){for(var e=-1,n=Number.MAX_VALUE,i=0;in&&(e=i,n=t.rowWidth[i]);return e},w.prototype.canAddHorizontal=function(t,e,n){var i=this.getShortestRowIndex(t);if(i<0)return!0;var r=t.rowWidth[i];if(r+t.horizontalPadding+e<=t.width)return!0;var o,a,s=0;return t.rowHeight[i]0&&(s=n+t.verticalPadding-t.rowHeight[i]),o=t.width-r>=e+t.horizontalPadding?(t.height+s)/(r+e+t.horizontalPadding):(t.height+s)/t.width,s=n+t.verticalPadding,(a=t.widtho&&e!=n){i.splice(-1,1),t.rows[n].push(r),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[n]=t.rowWidth[n]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var a=Number.MIN_VALUE,s=0;sa&&(a=i[s].height);e>0&&(a+=t.verticalPadding);var c=t.rowHeight[e]+t.rowHeight[n];t.rowHeight[e]=a,t.rowHeight[n]0)for(var u=r;u<=o;u++)c[0]+=this.grid[u][a-1].length+this.grid[u][a].length-1;if(o0)for(u=a;u<=s;u++)c[3]+=this.grid[r-1][u].length+this.grid[r][u].length-1;for(var h,d,f=g.MAX_VALUE,p=0;p0&&(a=n.getGraphManager().add(n.newGraph(),o),this.processChildrenList(a,h,n))}},d.prototype.stop=function(){return this.stopped=!0,this};var g=function(t){t("layout","cose-bilkent",d)};"undefined"!=typeof cytoscape&&g(cytoscape),t.exports=g}])}))}(EU);const PU=o(xU);function LU(t,e,n,i){vU.drawNode(t,e,n,i),e.children&&e.children.forEach(((e,r)=>{LU(t,e,n<0?r:n,i)}))}function OU(t,e){e.edges().map(((e,n)=>{const i=e.data();if(e[0]._private.bodyBounds){const r=e[0]._private.rscratch;h.trace("Edge: ",n,i),t.insert("path").attr("d",`M ${r.startX},${r.startY} L ${r.midX},${r.midY} L${r.endX},${r.endY} `).attr("class","edge section-edge-"+i.section+" edge-depth-"+i.depth)}}))}function NU(t,e,n,i){e.add({group:"nodes",data:{id:t.id,labelText:t.descr,height:t.height,width:t.width,level:i,nodeId:t.id,padding:t.padding,type:t.type},position:{x:t.x,y:t.y}}),t.children&&t.children.forEach((r=>{NU(r,e,n,i+1),e.add({group:"edges",data:{id:`${t.id}_${r.id}`,source:t.id,target:r.id,depth:i,section:r.section}})}))}function RU(t,e){return new Promise((n=>{const i=un("body").append("div").attr("id","cy").attr("style","display:none"),r=_U({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});i.remove(),NU(t,r,e,0),r.nodes().forEach((function(t){t.layoutDimensions=()=>{const e=t.data();return{w:e.width,h:e.height}}})),r.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),r.ready((t=>{h.info("Ready",t),n(r)}))}))}function FU(t){t.nodes().map(((t,e)=>{const n=t.data();n.x=t.position().x,n.y=t.position().y,vU.positionNode(n);const i=cU(n.nodeId);h.info("Id:",e,"Position: (",t.position().x,", ",t.position().y,")",n),i.attr("transform",`translate(${t.position().x-n.width/2}, ${t.position().y-n.height/2})`),i.attr("attr",`apa-${e})`)}))}_U.use(PU);const jU=t=>{let e="";for(let e=0;e{const r=_w();i.db.clear(),i.parser.parse(t),h.debug("Renering info diagram\n"+t);const o=_w().securityLevel;let a;"sandbox"===o&&(a=un("#i"+e));const s=un("sandbox"===o?a.nodes()[0].contentDocument.body:"body").select("#"+e);s.append("g");const c=i.db.getMindmap(),l=s.append("g");l.attr("class","mindmap-edges");const u=s.append("g");u.attr("class","mindmap-nodes"),LU(u,c,-1,r);const d=await RU(c,r);OU(l,d),FU(d),Pw(void 0,s,r.mindmap.padding,r.mindmap.useMaxWidth)}},parser:qq,styles:t=>`\n .edge {\n stroke-width: 3;\n }\n ${jU(t)}\n .section-root rect, .section-root path, .section-root circle, .section-root polygon {\n fill: ${t.git0};\n }\n .section-root text {\n fill: ${t.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n`},zU=Object.freeze(Object.defineProperty({__proto__:null,diagram:$U},Symbol.toStringTag,{value:"Module"}));return MH}()},2591:(t,e,n)=>{"use strict";var i,r=function(){return void 0===i&&(i=Boolean(window&&document&&document.all&&!window.atob)),i},o=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),a=[];function s(t){for(var e=-1,n=0;n{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),n.nc=void 0;var i={};return(()=>{"use strict";n.d(i,{default:()=>MO});class t{crashes=[];state="initializing";_crashNumberLimit;_now=Date.now;_minimumNonErrorTimePeriod;_boundErrorHandler;_listeners;constructor(t){if(this.crashes=[],this._crashNumberLimit="number"==typeof t.crashNumberLimit?t.crashNumberLimit:3,this._minimumNonErrorTimePeriod="number"==typeof t.minimumNonErrorTimePeriod?t.minimumNonErrorTimePeriod:5e3,this._boundErrorHandler=t=>{const e="error"in t?t.error:t.reason;e instanceof Error&&this._handleError(e,t)},this._listeners={},!this._restart)throw new Error("The Watchdog class was split into the abstract `Watchdog` class and the `EditorWatchdog` class. Please, use `EditorWatchdog` if you have used the `Watchdog` class previously.")}destroy(){this._stopErrorHandling(),this._listeners={}}on(t,e){this._listeners[t]||(this._listeners[t]=[]),this._listeners[t].push(e)}off(t,e){this._listeners[t]=this._listeners[t].filter((t=>t!==e))}_fire(t,...e){const n=this._listeners[t]||[];for(const t of n)t.apply(this,[null,...e])}_startErrorHandling(){window.addEventListener("error",this._boundErrorHandler),window.addEventListener("unhandledrejection",this._boundErrorHandler)}_stopErrorHandling(){window.removeEventListener("error",this._boundErrorHandler),window.removeEventListener("unhandledrejection",this._boundErrorHandler)}_handleError(t,e){if(this._shouldReactToError(t)){this.crashes.push({message:t.message,stack:t.stack,filename:e instanceof ErrorEvent?e.filename:void 0,lineno:e instanceof ErrorEvent?e.lineno:void 0,colno:e instanceof ErrorEvent?e.colno:void 0,date:this._now()});const n=this._shouldRestart();this.state="crashed",this._fire("stateChange"),this._fire("error",{error:t,causesRestart:n}),n?this._restart():(this.state="crashedPermanently",this._fire("stateChange"))}}_shouldReactToError(t){return t.is&&t.is("CKEditorError")&&void 0!==t.context&&null!==t.context&&"ready"===this.state&&this._isErrorComingFromThisItem(t)}_shouldRestart(){if(this.crashes.length<=this._crashNumberLimit)return!0;return(this.crashes[this.crashes.length-1].date-this.crashes[this.crashes.length-1-this._crashNumberLimit].date)/this._crashNumberLimit>this._minimumNonErrorTimePeriod}}function e(t,e=new Set){const n=[t],i=new Set;let o=0;for(;n.length>o;){const t=n[o++];if(!i.has(t)&&r(t)&&!e.has(t))if(i.add(t),Symbol.iterator in t)try{for(const e of t)n.push(e)}catch(t){}else for(const e in t)"defaultValue"!==e&&n.push(t[e])}return i}function r(t){const e=Object.prototype.toString.call(t),n=typeof t;return!("number"===n||"boolean"===n||"string"===n||"symbol"===n||"function"===n||"[object Date]"===e||"[object RegExp]"===e||"[object Module]"===e||null==t||t._watchdogExcluded||t instanceof EventTarget||t instanceof Event)}function o(t,n,i=new Set){if(t===n&&("object"==typeof(r=t)&&null!==r))return!0;var r;const o=e(t,i),a=e(n,i);for(const t of o)if(a.has(t))return!0;return!1}const a=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)};const s="object"==typeof global&&global&&global.Object===Object&&global;var c="object"==typeof self&&self&&self.Object===Object&&self;const l=s||c||Function("return this")();const u=function(){return l.Date.now()};var h=/\s/;const d=function(t){for(var e=t.length;e--&&h.test(t.charAt(e)););return e};var f=/^\s+/;const g=function(t){return t?t.slice(0,d(t)+1).replace(f,""):t};const p=l.Symbol;var m=Object.prototype,b=m.hasOwnProperty,w=m.toString,k=p?p.toStringTag:void 0;const v=function(t){var e=b.call(t,k),n=t[k];try{t[k]=void 0;var i=!0}catch(t){}var r=w.call(t);return i&&(e?t[k]=n:delete t[k]),r};var y=Object.prototype.toString;const _=function(t){return y.call(t)};var C=p?p.toStringTag:void 0;const A=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":C&&C in Object(t)?v(t):_(t)};const x=function(t){return null!=t&&"object"==typeof t};const E=function(t){return"symbol"==typeof t||x(t)&&"[object Symbol]"==A(t)};var T=/^[-+]0x[0-9a-f]+$/i,S=/^0b[01]+$/i,D=/^0o[0-7]+$/i,I=parseInt;const B=function(t){if("number"==typeof t)return t;if(E(t))return NaN;if(a(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=a(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=g(t);var n=S.test(t);return n||D.test(t)?I(t.slice(2),n?2:8):T.test(t)?NaN:+t};var M=Math.max,P=Math.min;const L=function(t,e,n){var i,r,o,s,c,l,h=0,d=!1,f=!1,g=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function p(e){var n=i,o=r;return i=r=void 0,h=e,s=t.apply(o,n)}function m(t){var n=t-l;return void 0===l||n>=e||n<0||f&&t-h>=o}function b(){var t=u();if(m(t))return w(t);c=setTimeout(b,function(t){var n=e-(t-l);return f?P(n,o-(t-h)):n}(t))}function w(t){return c=void 0,g&&i?p(t):(i=r=void 0,s)}function k(){var t=u(),n=m(t);if(i=arguments,r=this,l=t,n){if(void 0===c)return function(t){return h=t,c=setTimeout(b,e),d?p(t):s}(l);if(f)return clearTimeout(c),c=setTimeout(b,e),p(l)}return void 0===c&&(c=setTimeout(b,e)),s}return e=B(e)||0,a(n)&&(d=!!n.leading,o=(f="maxWait"in n)?M(B(n.maxWait)||0,e):o,g="trailing"in n?!!n.trailing:g),k.cancel=function(){void 0!==c&&clearTimeout(c),h=0,i=l=r=c=void 0},k.flush=function(){return void 0===c?s:w(u())},k};const O=function(t,e,n){var i=!0,r=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return a(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),L(t,e,{leading:i,maxWait:e,trailing:r})};const N=function(t,e){return function(n){return t(e(n))}};const R=N(Object.getPrototypeOf,Object);var F=Function.prototype,j=Object.prototype,z=F.toString,V=j.hasOwnProperty,H=z.call(Object);const q=function(t){if(!x(t)||"[object Object]"!=A(t))return!1;var e=R(t);if(null===e)return!0;var n=V.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&z.call(n)==H};const U=function(t){return x(t)&&1===t.nodeType&&!q(t)};const G=function(){this.__data__=[],this.size=0};const W=function(t,e){return t===e||t!=t&&e!=e};const K=function(t,e){for(var n=t.length;n--;)if(W(t[n][0],e))return n;return-1};var Y=Array.prototype.splice;const X=function(t){var e=this.__data__,n=K(e,t);return!(n<0)&&(n==e.length-1?e.pop():Y.call(e,n,1),--this.size,!0)};const Z=function(t){var e=this.__data__,n=K(e,t);return n<0?void 0:e[n][1]};const Q=function(t){return K(this.__data__,t)>-1};const J=function(t,e){var n=this.__data__,i=K(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this};function tt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991};var he={};he["[object Float32Array]"]=he["[object Float64Array]"]=he["[object Int8Array]"]=he["[object Int16Array]"]=he["[object Int32Array]"]=he["[object Uint8Array]"]=he["[object Uint8ClampedArray]"]=he["[object Uint16Array]"]=he["[object Uint32Array]"]=!0,he["[object Arguments]"]=he["[object Array]"]=he["[object ArrayBuffer]"]=he["[object Boolean]"]=he["[object DataView]"]=he["[object Date]"]=he["[object Error]"]=he["[object Function]"]=he["[object Map]"]=he["[object Number]"]=he["[object Object]"]=he["[object RegExp]"]=he["[object Set]"]=he["[object String]"]=he["[object WeakMap]"]=!1;const de=function(t){return x(t)&&ue(t.length)&&!!he[A(t)]};const fe=function(t){return function(e){return t(e)}};var ge="object"==typeof exports&&exports&&!exports.nodeType&&exports,pe=ge&&"object"==typeof module&&module&&!module.nodeType&&module,me=pe&&pe.exports===ge&&s.process;const be=function(){try{var t=pe&&pe.require&&pe.require("util").types;return t||me&&me.binding&&me.binding("util")}catch(t){}}();var we=be&&be.isTypedArray;const ke=we?fe(we):de;var ve=Object.prototype.hasOwnProperty;const ye=function(t,e){var n=ne(t),i=!n&&ee(t),r=!n&&!i&&se(t),o=!n&&!i&&!r&&ke(t),a=n||i||r||o,s=a?Xt(t.length,String):[],c=s.length;for(var l in t)!e&&!ve.call(t,l)||a&&("length"==l||r&&("offset"==l||"parent"==l)||o&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||le(l,c))||s.push(l);return s};var _e=Object.prototype;const Ce=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||_e)};const Ae=N(Object.keys,Object);var xe=Object.prototype.hasOwnProperty;const Ee=function(t){if(!Ce(t))return Ae(t);var e=[];for(var n in Object(t))xe.call(t,n)&&"constructor"!=n&&e.push(n);return e};const Te=function(t){return null!=t&&ue(t.length)&&!at(t)};const Se=function(t){return Te(t)?ye(t):Ee(t)};const De=function(t,e){return t&&Yt(e,Se(e),t)};const Ie=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e};var Be=Object.prototype.hasOwnProperty;const Me=function(t){if(!a(t))return Ie(t);var e=Ce(t),n=[];for(var i in t)("constructor"!=i||!e&&Be.call(t,i))&&n.push(i);return n};const Pe=function(t){return Te(t)?ye(t,!0):Me(t)};const Le=function(t,e){return t&&Yt(e,Pe(e),t)};var Oe="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ne=Oe&&"object"==typeof module&&module&&!module.nodeType&&module,Re=Ne&&Ne.exports===Oe?l.Buffer:void 0,Fe=Re?Re.allocUnsafe:void 0;const je=function(t,e){if(e)return t.slice();var n=t.length,i=Fe?Fe(n):new t.constructor(n);return t.copy(i),i};const $e=function(t,e){var n=-1,i=t.length;for(e||(e=Array(i));++nt.create(e,n)),this._destructor=t=>t.destroy()}get editor(){return this._editor}get _item(){return this._editor}setCreator(t){this._creator=t}setDestructor(t){this._destructor=t}_restart(){return Promise.resolve().then((()=>(this.state="initializing",this._fire("stateChange"),this._destroy()))).catch((t=>{console.error("An error happened during the editor destroying.",t)})).then((()=>{const t={},e=[],n=this._config.rootsAttributes||{},i={};for(const[r,o]of Object.entries(this._data.roots))o.isLoaded?(t[r]="",i[r]=n[r]||{}):e.push(r);const r={...this._config,extraPlugins:this._config.extraPlugins||[],lazyRoots:e,rootsAttributes:i,_watchdogInitialData:this._data};return delete r.initialData,r.extraPlugins.push(qn),this._initUsingData?this.create(t,r,r.context):U(this._elementOrData)?this.create(this._elementOrData,r,r.context):this.create(this._editables,r,r.context)})).then((()=>{this._fire("restart")}))}create(t=this._elementOrData,e=this._config,n){return this._lifecyclePromise=Promise.resolve(this._lifecyclePromise).then((()=>(super._startErrorHandling(),this._elementOrData=t,this._initUsingData="string"==typeof t||Object.keys(t).length>0&&"string"==typeof Object.values(t)[0],this._config=this._cloneEditorConfiguration(e)||{},this._config.context=n,this._creator(t,this._config)))).then((t=>{this._editor=t,t.model.document.on("change:data",this._throttledSave),this._lastDocumentVersion=t.model.document.version,this._data=this._getData(),this._initUsingData||(this._editables=this._getEditables()),this.state="ready",this._fire("stateChange")})).finally((()=>{this._lifecyclePromise=null})),this._lifecyclePromise}destroy(){return this._lifecyclePromise=Promise.resolve(this._lifecyclePromise).then((()=>(this.state="destroyed",this._fire("stateChange"),super.destroy(),this._destroy()))).finally((()=>{this._lifecyclePromise=null})),this._lifecyclePromise}_destroy(){return Promise.resolve().then((()=>{this._stopErrorHandling(),this._throttledSave.cancel();const t=this._editor;return this._editor=null,t.model.document.off("change:data",this._throttledSave),this._destructor(t)}))}_save(){const t=this._editor.model.document.version;try{this._data=this._getData(),this._initUsingData||(this._editables=this._getEditables()),this._lastDocumentVersion=t}catch(t){console.error(t,"An error happened during restoring editor data. Editor will be restored from the previously saved data.")}}_setExcludedProperties(t){this._excludedProps=t}_getData(){const t=this._editor,e=t.model.document.roots.filter((t=>t.isAttached()&&"$graveyard"!=t.rootName)),{plugins:n}=t,i=n.has("CommentsRepository")&&n.get("CommentsRepository"),r=n.has("TrackChanges")&&n.get("TrackChanges"),o={roots:{},markers:{},commentThreads:JSON.stringify([]),suggestions:JSON.stringify([])};e.forEach((t=>{o.roots[t.rootName]={content:JSON.stringify(Array.from(t.getChildren())),attributes:JSON.stringify(Array.from(t.getAttributes())),isLoaded:t._isLoaded}}));for(const e of t.model.markers)e._affectsData&&(o.markers[e.name]={rangeJSON:e.getRange().toJSON(),usingOperation:e._managedUsingOperations,affectsData:e._affectsData});return i&&(o.commentThreads=JSON.stringify(i.getCommentThreads({toJSON:!0,skipNotAttached:!0}))),r&&(o.suggestions=JSON.stringify(r.getSuggestions({toJSON:!0,skipNotAttached:!0}))),o}_getEditables(){const t={};for(const e of this.editor.model.document.getRootNames()){const n=this.editor.ui.getEditableElement(e);n&&(t[e]=n)}return t}_isErrorComingFromThisItem(t){return o(this._editor,t.context,this._excludedProps)}_cloneEditorConfiguration(t){return Vn(t,((t,e)=>U(t)||"context"===e?t:void 0))}}class qn{editor;_data;constructor(t){this.editor=t,this._data=t.config.get("_watchdogInitialData")}init(){this.editor.data.on("init",(t=>{t.stop(),this.editor.model.enqueueChange({isUndoable:!1},(t=>{this._restoreCollaborationData(),this._restoreEditorData(t)})),this.editor.data.fire("ready")}),{priority:999})}_createNode(t,e){if("name"in e){const n=t.createElement(e.name,e.attributes);if(e.children)for(const i of e.children)n._appendChild(this._createNode(t,i));return n}return t.createText(e.data,e.attributes)}_restoreEditorData(t){const e=this.editor;Object.entries(this._data.roots).forEach((([n,{content:i,attributes:r}])=>{const o=JSON.parse(i),a=JSON.parse(r),s=e.model.document.getRoot(n);for(const[e,n]of a)t.setAttribute(e,n,s);for(const e of o){const n=this._createNode(t,e);t.insert(n,s,"end")}})),Object.entries(this._data.markers).forEach((([n,i])=>{const{document:r}=e.model,{rangeJSON:{start:o,end:a},...s}=i,c=r.getRoot(o.root),l=t.createPositionFromPath(c,o.path,o.stickiness),u=t.createPositionFromPath(c,a.path,a.stickiness),h=t.createRange(l,u);t.addMarker(n,{range:h,...s})}))}_restoreCollaborationData(){const t=JSON.parse(this._data.commentThreads),e=JSON.parse(this._data.suggestions);t.forEach((t=>{const e=this.editor.config.get("collaboration.channelId"),n=this.editor.plugins.get("CommentsRepository");if(n.hasCommentThread(t.threadId)){n.getCommentThread(t.threadId).remove()}n.addCommentThread({channelId:e,...t})})),e.forEach((t=>{const e=this.editor.plugins.get("TrackChangesEditing");if(e.hasSuggestion(t.id)){e.getSuggestion(t.id).attributes=t.attributes}else e.addSuggestionData(t)}))}}const Un=Symbol("MainQueueId");class Gn extends t{_watchdogs=new Map;_watchdogConfig;_context=null;_contextProps=new Set;_actionQueues=new Wn;_contextConfig;_item;constructor(t,e={}){super(e),this._watchdogConfig=e,this._creator=e=>t.create(e),this._destructor=t=>t.destroy(),this._actionQueues.onEmpty((()=>{"initializing"===this.state&&(this.state="ready",this._fire("stateChange"))}))}setCreator(t){this._creator=t}setDestructor(t){this._destructor=t}get context(){return this._context}create(t={}){return this._actionQueues.enqueue(Un,(()=>(this._contextConfig=t,this._create())))}getItem(t){return this._getWatchdog(t)._item}getItemState(t){return this._getWatchdog(t).state}add(t){const e=Kn(t);return Promise.all(e.map((t=>this._actionQueues.enqueue(t.id,(()=>{if("destroyed"===this.state)throw new Error("Cannot add items to destroyed watchdog.");if(!this._context)throw new Error("Context was not created yet. You should call the `ContextWatchdog#create()` method first.");let e;if(this._watchdogs.has(t.id))throw new Error(`Item with the given id is already added: '${t.id}'.`);if("editor"===t.type)return e=new Hn(null,this._watchdogConfig),e.setCreator(t.creator),e._setExcludedProperties(this._contextProps),t.destructor&&e.setDestructor(t.destructor),this._watchdogs.set(t.id,e),e.on("error",((n,{error:i,causesRestart:r})=>{this._fire("itemError",{itemId:t.id,error:i}),r&&this._actionQueues.enqueue(t.id,(()=>new Promise((n=>{const i=()=>{e.off("restart",i),this._fire("itemRestart",{itemId:t.id}),n()};e.on("restart",i)}))))})),e.create(t.sourceElementOrData,t.config,this._context);throw new Error(`Not supported item type: '${t.type}'.`)})))))}remove(t){const e=Kn(t);return Promise.all(e.map((t=>this._actionQueues.enqueue(t,(()=>{const e=this._getWatchdog(t);return this._watchdogs.delete(t),e.destroy()})))))}destroy(){return this._actionQueues.enqueue(Un,(()=>(this.state="destroyed",this._fire("stateChange"),super.destroy(),this._destroy())))}_restart(){return this._actionQueues.enqueue(Un,(()=>(this.state="initializing",this._fire("stateChange"),this._destroy().catch((t=>{console.error("An error happened during destroying the context or items.",t)})).then((()=>this._create())).then((()=>this._fire("restart"))))))}_create(){return Promise.resolve().then((()=>(this._startErrorHandling(),this._creator(this._contextConfig)))).then((t=>(this._context=t,this._contextProps=e(this._context),Promise.all(Array.from(this._watchdogs.values()).map((t=>(t._setExcludedProperties(this._contextProps),t.create(void 0,void 0,this._context))))))))}_destroy(){return Promise.resolve().then((()=>{this._stopErrorHandling();const t=this._context;return this._context=null,this._contextProps=new Set,Promise.all(Array.from(this._watchdogs.values()).map((t=>t.destroy()))).then((()=>this._destructor(t)))}))}_getWatchdog(t){const e=this._watchdogs.get(t);if(!e)throw new Error(`Item with the given id was not registered: ${t}.`);return e}_isErrorComingFromThisItem(t){for(const e of this._watchdogs.values())if(e._isErrorComingFromThisItem(t))return!1;return o(this._context,t.context)}}class Wn{_onEmptyCallbacks=[];_queues=new Map;_activeActions=0;onEmpty(t){this._onEmptyCallbacks.push(t)}enqueue(t,e){const n=t===Un;this._activeActions++,this._queues.get(t)||this._queues.set(t,Promise.resolve());const i=(n?Promise.all(this._queues.values()):Promise.all([this._queues.get(Un),this._queues.get(t)])).then(e),r=i.catch((()=>{}));return this._queues.set(t,r),i.finally((()=>{this._activeActions--,this._queues.get(t)===r&&0===this._activeActions&&this._onEmptyCallbacks.forEach((t=>t()))}))}}function Kn(t){return Array.isArray(t)?t:[t]}let Yn;try{Yn={window,document}}catch(t){Yn={window:{},document:{}}}const Xn=Yn;function Zn(){try{return navigator.userAgent.toLowerCase()}catch(t){return""}}const Qn=Zn(),Jn={isMac:ti(Qn),isWindows:ei(Qn),isGecko:ni(Qn),isSafari:ii(Qn),isiOS:ri(Qn),isAndroid:oi(Qn),isBlink:ai(Qn),get isMediaForcedColors(){return!!Xn.window.matchMedia&&Xn.window.matchMedia("(forced-colors: active)").matches},get isMotionReduced(){return!!Xn.window.matchMedia&&Xn.window.matchMedia("(prefers-reduced-motion)").matches},features:{isRegExpUnicodePropertySupported:si()}};function ti(t){return t.indexOf("macintosh")>-1}function ei(t){return t.indexOf("windows")>-1}function ni(t){return!!t.match(/gecko\/\d+/)}function ii(t){return t.indexOf(" applewebkit/")>-1&&-1===t.indexOf("chrome")}function ri(t){return!!t.match(/iphone|ipad/i)||ti(t)&&navigator.maxTouchPoints>0}function oi(t){return t.indexOf("android")>-1}function ai(t){return t.indexOf("chrome/")>-1&&t.indexOf("edge/")<0}function si(){let t=!1;try{t=0==="ć".search(new RegExp("[\\p{L}]","u"))}catch(t){}return t}function ci(t,e,n,i){n=n||function(t,e){return t===e};const r=Array.isArray(t)?t:Array.prototype.slice.call(t),o=Array.isArray(e)?e:Array.prototype.slice.call(e),a=function(t,e,n){const i=li(t,e,n);if(-1===i)return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1};const r=ui(t,i),o=ui(e,i),a=li(r,o,n),s=t.length-a,c=e.length-a;return{firstIndex:i,lastIndexOld:s,lastIndexNew:c}}(r,o,n),s=i?function(t,e){const{firstIndex:n,lastIndexOld:i,lastIndexNew:r}=t;if(-1===n)return Array(e).fill("equal");let o=[];n>0&&(o=o.concat(Array(n).fill("equal")));r-n>0&&(o=o.concat(Array(r-n).fill("insert")));i-n>0&&(o=o.concat(Array(i-n).fill("delete")));r0&&n.push({index:i,type:"insert",values:t.slice(i,o)});r-i>0&&n.push({index:i+(o-i),type:"delete",howMany:r-i});return n}(o,a);return s}function li(t,e,n){for(let i=0;i200||r>200||i+r>300)return hi.fastDiff(t,e,n,!0);let o,a;if(rl?-1:1;u[i+d]&&(u[i]=u[i+d].slice(0)),u[i]||(u[i]=[]),u[i].push(r>l?o:a);let f=Math.max(r,l),g=f-i;for(;gl;f--)h[f]=d(f);h[l]=d(l),g++}while(h[l]!==c);return u[l].slice(1)}hi.fastDiff=ci;const di=function(){return function t(){t.called=!0}};class fi{source;name;path;stop;off;return;constructor(t,e){this.source=t,this.name=e,this.path=[],this.stop=di(),this.off=di()}}const gi=new Array(256).fill("").map(((t,e)=>("0"+e.toString(16)).slice(-2)));function pi(){const[t,e,n,i]=crypto.getRandomValues(new Uint32Array(4));return"e"+gi[255&t]+gi[t>>8&255]+gi[t>>16&255]+gi[t>>24&255]+gi[255&e]+gi[e>>8&255]+gi[e>>16&255]+gi[e>>24&255]+gi[255&n]+gi[n>>8&255]+gi[n>>16&255]+gi[n>>24&255]+gi[255&i]+gi[i>>8&255]+gi[i>>16&255]+gi[i>>24&255]}const mi={get(t="normal"){return"number"!=typeof t?this[t]||this.normal:t},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};function bi(t,e){const n=mi.get(e.priority);for(let i=0;i{if("object"==typeof e&&null!==e){if(n.has(e))return`[object ${e.constructor.name}]`;n.add(e)}return e},r=e?` ${JSON.stringify(e,i)}`:"",o=vi(t);return t+r+o}(t,n)),this.name="CKEditorError",this.context=e,this.data=n}is(t){return"CKEditorError"===t}static rethrowUnexpectedError(t,e){if(t.is&&t.is("CKEditorError"))throw t;const n=new wi(t.message,e);throw n.stack=t.stack,n}}function ki(t,e){console.warn(...yi(t,e))}function vi(t){return`\nRead more: https://ckeditor.com/docs/ckeditor5/latest/support/error-codes.html#error-${t}`}function yi(t,e){const n=vi(t);return e?[t,e,n]:[t,n]}const _i="43.2.0",Ci=new Date(2024,9,2);if(globalThis.CKEDITOR_VERSION)throw new wi("ckeditor-duplicated-modules",null);globalThis.CKEDITOR_VERSION=_i;const Ai=Symbol("listeningTo"),xi=Symbol("emitterId"),Ei=Symbol("delegations"),Ti=Si(Object);function Si(t){if(!t)return Ti;return class extends t{on(t,e,n){this.listenTo(this,t,e,n)}once(t,e,n){let i=!1;this.listenTo(this,t,((t,...n)=>{i||(i=!0,t.off(),e.call(this,t,...n))}),n)}off(t,e){this.stopListening(this,t,e)}listenTo(t,e,n,i={}){let r,o;this[Ai]||(this[Ai]={});const a=this[Ai];Ii(t)||Di(t);const s=Ii(t);(r=a[s])||(r=a[s]={emitter:t,callbacks:{}}),(o=r.callbacks[e])||(o=r.callbacks[e]=[]),o.push(n),function(t,e,n,i,r){e._addEventListener?e._addEventListener(n,i,r):t._addEventListener.call(e,n,i,r)}(this,t,e,n,i)}stopListening(t,e,n){const i=this[Ai];let r=t&&Ii(t);const o=i&&r?i[r]:void 0,a=o&&e?o.callbacks[e]:void 0;if(!(!i||t&&!o||e&&!a))if(n){Oi(this,t,e,n);-1!==a.indexOf(n)&&(1===a.length?delete o.callbacks[e]:Oi(this,t,e,n))}else if(a){for(;n=a.pop();)Oi(this,t,e,n);delete o.callbacks[e]}else if(o){for(e in o.callbacks)this.stopListening(t,e);delete i[r]}else{for(r in i)this.stopListening(i[r].emitter);delete this[Ai]}}fire(t,...e){try{const n=t instanceof fi?t:new fi(this,t),i=n.name;let r=Pi(this,i);if(n.path.push(this),r){const t=[n,...e];r=Array.from(r);for(let e=0;e{this[Ei]||(this[Ei]=new Map),t.forEach((t=>{const i=this[Ei].get(t);i?i.set(e,n):this[Ei].set(t,new Map([[e,n]]))}))}}}stopDelegating(t,e){if(this[Ei])if(t)if(e){const n=this[Ei].get(t);n&&n.delete(e)}else this[Ei].delete(t);else this[Ei].clear()}_addEventListener(t,e,n){!function(t,e){const n=Bi(t);if(n[e])return;let i=e,r=null;const o=[];for(;""!==i&&!n[i];)n[i]={callbacks:[],childEvents:[]},o.push(n[i]),r&&n[i].childEvents.push(r),r=i,i=i.substr(0,i.lastIndexOf(":"));if(""!==i){for(const t of o)t.callbacks=n[i].callbacks.slice();n[i].childEvents.push(r)}}(this,t);const i=Mi(this,t),r={callback:e,priority:mi.get(n.priority)};for(const t of i)bi(t,r)}_removeEventListener(t,e){const n=Mi(this,t);for(const t of n)for(let n=0;n-1?Pi(t,e.substr(0,e.lastIndexOf(":"))):null}function Li(t,e,n){for(let[i,r]of t){r?"function"==typeof r&&(r=r(e.name)):r=e.name;const t=new fi(e.source,r);t.path=[...e.path],i.fire(t,...n)}}function Oi(t,e,n,i){e._removeEventListener?e._removeEventListener(n,i):t._removeEventListener.call(e,n,i)}["on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach((t=>{Si[t]=Ti.prototype[t]}));const Ni=Symbol("observableProperties"),Ri=Symbol("boundObservables"),Fi=Symbol("boundProperties"),ji=Symbol("decoratedMethods"),$i=Symbol("decoratedOriginal"),zi=Vi(Si());function Vi(t){if(!t)return zi;return class extends t{set(t,e){if(a(t))return void Object.keys(t).forEach((e=>{this.set(e,t[e])}),this);Hi(this);const n=this[Ni];if(t in this&&!n.has(t))throw new wi("observable-set-cannot-override",this);Object.defineProperty(this,t,{enumerable:!0,configurable:!0,get:()=>n.get(t),set(e){const i=n.get(t);let r=this.fire(`set:${t}`,t,e,i);void 0===r&&(r=e),i===r&&n.has(t)||(n.set(t,r),this.fire(`change:${t}`,t,r,i))}}),this[t]=e}bind(...t){if(!t.length||!Gi(t))throw new wi("observable-bind-wrong-properties",this);if(new Set(t).size!==t.length)throw new wi("observable-bind-duplicate-properties",this);Hi(this);const e=this[Fi];t.forEach((t=>{if(e.has(t))throw new wi("observable-bind-rebind",this)}));const n=new Map;return t.forEach((t=>{const i={property:t,to:[]};e.set(t,i),n.set(t,i)})),{to:qi,toMany:Ui,_observable:this,_bindProperties:t,_to:[],_bindings:n}}unbind(...t){if(!this[Ni])return;const e=this[Fi],n=this[Ri];if(t.length){if(!Gi(t))throw new wi("observable-unbind-wrong-properties",this);t.forEach((t=>{const i=e.get(t);i&&(i.to.forEach((([t,e])=>{const r=n.get(t),o=r[e];o.delete(i),o.size||delete r[e],Object.keys(r).length||(n.delete(t),this.stopListening(t,"change"))})),e.delete(t))}))}else n.forEach(((t,e)=>{this.stopListening(e,"change")})),n.clear(),e.clear()}decorate(t){Hi(this);const e=this[t];if(!e)throw new wi("observablemixin-cannot-decorate-undefined",this,{object:this,methodName:t});this.on(t,((t,n)=>{t.return=e.apply(this,n)})),this[t]=function(...e){return this.fire(t,e)},this[t][$i]=e,this[ji]||(this[ji]=[]),this[ji].push(t)}stopListening(t,e,n){if(!t&&this[ji]){for(const t of this[ji])this[t]=this[t][$i];delete this[ji]}super.stopListening(t,e,n)}[Ni];[ji];[Fi];[Ri]}}function Hi(t){t[Ni]||(Object.defineProperty(t,Ni,{value:new Map}),Object.defineProperty(t,Ri,{value:new Map}),Object.defineProperty(t,Fi,{value:new Map}))}function qi(...t){const e=function(...t){if(!t.length)throw new wi("observable-bind-to-parse-error",null);const e={to:[]};let n;"function"==typeof t[t.length-1]&&(e.callback=t.pop());return t.forEach((t=>{if("string"==typeof t)n.properties.push(t);else{if("object"!=typeof t)throw new wi("observable-bind-to-parse-error",null);n={observable:t,properties:[]},e.to.push(n)}})),e}(...t),n=Array.from(this._bindings.keys()),i=n.length;if(!e.callback&&e.to.length>1)throw new wi("observable-bind-to-no-callback",this);if(i>1&&e.callback)throw new wi("observable-bind-to-extra-callback",this);var r;e.to.forEach((t=>{if(t.properties.length&&t.properties.length!==i)throw new wi("observable-bind-to-properties-length",this);t.properties.length||(t.properties=this._bindProperties)})),this._to=e.to,e.callback&&(this._bindings.get(n[0]).callback=e.callback),r=this._observable,this._to.forEach((t=>{const e=r[Ri];let n;e.get(t.observable)||r.listenTo(t.observable,"change",((i,o)=>{n=e.get(t.observable)[o],n&&n.forEach((t=>{Wi(r,t.property)}))}))})),function(t){let e;t._bindings.forEach(((n,i)=>{t._to.forEach((r=>{e=r.properties[n.callback?0:t._bindProperties.indexOf(i)],n.to.push([r.observable,e]),function(t,e,n,i){const r=t[Ri],o=r.get(n),a=o||{};a[i]||(a[i]=new Set);a[i].add(e),o||r.set(n,a)}(t._observable,n,r.observable,e)}))}))}(this),this._bindProperties.forEach((t=>{Wi(this._observable,t)}))}function Ui(t,e,n){if(this._bindings.size>1)throw new wi("observable-bind-to-many-not-one-binding",this);this.to(...function(t,e){const n=t.map((t=>[t,e]));return Array.prototype.concat.apply([],n)}(t,e),n)}function Gi(t){return t.every((t=>"string"==typeof t))}function Wi(t,e){const n=t[Fi].get(e);let i;n.callback?i=n.callback.apply(t,n.to.map((t=>t[0][t[1]]))):(i=n.to[0],i=i[0][i[1]]),Object.prototype.hasOwnProperty.call(t,e)?t[e]=i:t.set(e,i)}function Ki(t){let e=0;for(const n of t)e++;return e}function Yi(t,e){const n=Math.min(t.length,e.length);for(let i=0;i{Vi[t]=zi.prototype[t]}));const Zi=function(t){return"string"==typeof t||!ne(t)&&x(t)&&"[object String]"==A(t)};function Qi(t,e,n={},i=[]){const r=n&&n.xmlns,o=r?t.createElementNS(r,e):t.createElement(e);for(const t in n)o.setAttribute(t,n[t]);!Zi(i)&&Xi(i)||(i=[i]);for(let e of i)Zi(e)&&(e=t.createTextNode(e)),o.appendChild(e);return o}class Ji{_config;constructor(t,e){this._config=Object.create(null),e&&this.define(tr(e)),t&&this._setObjectToTarget(this._config,t)}set(t,e){this._setToTarget(this._config,t,e)}define(t,e){this._setToTarget(this._config,t,e,!0)}get(t){return this._getFromSource(this._config,t)}*names(){for(const t of Object.keys(this._config))yield t}_setToTarget(t,e,n,i=!1){if(q(e))return void this._setObjectToTarget(t,e,i);const r=e.split(".");e=r.pop();for(const e of r)q(t[e])||(t[e]=Object.create(null)),t=t[e];if(q(n))return q(t[e])||(t[e]=Object.create(null)),t=t[e],void this._setObjectToTarget(t,n,i);i&&void 0!==t[e]||(t[e]=n)}_getFromSource(t,e){const n=e.split(".");e=n.pop();for(const e of n){if(!q(t[e])){t=null;break}t=t[e]}return t?tr(t[e]):void 0}_setObjectToTarget(t,e,n){Object.keys(e).forEach((i=>{this._setToTarget(t,i,e[i],n)}))}}function tr(t){return Vn(t,er)}function er(t){return U(t)||"function"==typeof t?t:void 0}function nr(t){if(t){if(t.defaultView)return t instanceof t.defaultView.Document;if(t.ownerDocument&&t.ownerDocument.defaultView)return t instanceof t.ownerDocument.defaultView.Node}return!1}function ir(t){const e=Object.prototype.toString.apply(t);return"[object Window]"==e||"[object global]"==e}const rr=or(Si());function or(t){if(!t)return rr;return class extends t{listenTo(t,e,n,i={}){if(nr(t)||ir(t)){const r={capture:!!i.useCapture,passive:!!i.usePassive},o=this._getProxyEmitter(t,r)||new ar(t,r);this.listenTo(o,e,n,i)}else super.listenTo(t,e,n,i)}stopListening(t,e,n){if(nr(t)||ir(t)){const i=this._getAllProxyEmitters(t);for(const t of i)this.stopListening(t,e,n)}else super.stopListening(t,e,n)}_getProxyEmitter(t,e){return function(t,e){const n=t[Ai];return n&&n[e]?n[e].emitter:null}(this,sr(t,e))}_getAllProxyEmitters(t){return[{capture:!1,passive:!1},{capture:!1,passive:!0},{capture:!0,passive:!1},{capture:!0,passive:!0}].map((e=>this._getProxyEmitter(t,e))).filter((t=>!!t))}}}["_getProxyEmitter","_getAllProxyEmitters","on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach((t=>{or[t]=rr.prototype[t]}));class ar extends(Si()){_domNode;_options;constructor(t,e){super(),Di(this,sr(t,e)),this._domNode=t,this._options=e}_domListeners;attach(t){if(this._domListeners&&this._domListeners[t])return;const e=this._createDomListener(t);this._domNode.addEventListener(t,e,this._options),this._domListeners||(this._domListeners={}),this._domListeners[t]=e}detach(t){let e;!this._domListeners[t]||(e=this._events[t])&&e.callbacks.length||this._domListeners[t].removeListener()}_addEventListener(t,e,n){this.attach(t),Si().prototype._addEventListener.call(this,t,e,n)}_removeEventListener(t,e){Si().prototype._removeEventListener.call(this,t,e),this.detach(t)}_createDomListener(t){const e=e=>{this.fire(t,e)};return e.removeListener=()=>{this._domNode.removeEventListener(t,e,this._options),delete this._domListeners[t]},e}}function sr(t,e){let n=function(t){return t["data-ck-expando"]||(t["data-ck-expando"]=pi())}(t);for(const t of Object.keys(e).sort())e[t]&&(n+="-"+t);return n}function cr(t){const e=[];let n=t;for(;n&&n.nodeType!=Node.DOCUMENT_NODE;)e.unshift(n),n=n.parentNode;return e}function lr(t){return t instanceof HTMLTextAreaElement?t.value:t.innerHTML}function ur(t){const e=t.ownerDocument.defaultView.getComputedStyle(t);return{top:parseInt(e.borderTopWidth,10),right:parseInt(e.borderRightWidth,10),bottom:parseInt(e.borderBottomWidth,10),left:parseInt(e.borderLeftWidth,10)}}function hr(t){if(!t.target)return null;const e=t.target.ownerDocument,n=t.clientX,i=t.clientY;let r=null;return e.caretRangeFromPoint&&e.caretRangeFromPoint(n,i)?r=e.caretRangeFromPoint(n,i):t.rangeParent&&(r=e.createRange(),r.setStart(t.rangeParent,t.rangeOffset),r.collapse(!0)),r}function dr(t){return"[object Text]"==Object.prototype.toString.call(t)}function fr(t){return"[object Range]"==Object.prototype.toString.apply(t)}function gr(t){return t&&t.parentNode?t.offsetParent===Xn.document.body?null:t.offsetParent:null}const pr=["top","right","bottom","left","width","height"];class mr{top;right;bottom;left;width;height;_source;constructor(t){const e=fr(t);if(Object.defineProperty(this,"_source",{value:t._source||t,writable:!0,enumerable:!1}),kr(t)||e)if(e){const e=mr.getDomRangeRects(t);br(this,mr.getBoundingRect(e))}else br(this,t.getBoundingClientRect());else if(ir(t)){const{innerWidth:e,innerHeight:n}=t;br(this,{top:0,right:e,bottom:n,left:0,width:e,height:n})}else br(this,t)}clone(){return new mr(this)}moveTo(t,e){return this.top=e,this.right=t+this.width,this.bottom=e+this.height,this.left=t,this}moveBy(t,e){return this.top+=e,this.right+=t,this.left+=t,this.bottom+=e,this}getIntersection(t){const e={top:Math.max(this.top,t.top),right:Math.min(this.right,t.right),bottom:Math.min(this.bottom,t.bottom),left:Math.max(this.left,t.left),width:0,height:0};if(e.width=e.right-e.left,e.height=e.bottom-e.top,e.width<0||e.height<0)return null;{const t=new mr(e);return t._source=this._source,t}}getIntersectionArea(t){const e=this.getIntersection(t);return e?e.getArea():0}getArea(){return this.width*this.height}getVisible(){const t=this._source;let e=this.clone();if(wr(t))return e;let n,i=t,r=t.parentNode||t.commonAncestorContainer;for(;r&&!wr(r);){const t="visible"===((o=r)instanceof HTMLElement?o.ownerDocument.defaultView.getComputedStyle(o).overflow:"visible");i instanceof HTMLElement&&"absolute"===vr(i)&&(n=i);const a=vr(r);if(t||n&&("relative"===a&&t||"relative"!==a)){i=r,r=r.parentNode;continue}const s=new mr(r),c=e.getIntersection(s);if(!c)return null;c.getArea(){for(const e of t){const t=yr._getElementCallbacks(e.target);if(t)for(const n of t)n(e)}}))}}function _r(t,e){t instanceof HTMLTextAreaElement&&(t.value=e),t.innerHTML=e}function Cr(t){return e=>e+t}function Ar(t){let e=0;for(;t.previousSibling;)t=t.previousSibling,e++;return e}function xr(t,e,n){t.insertBefore(n,t.childNodes[e]||null)}function Er(t){return t&&t.nodeType===Node.COMMENT_NODE}function Tr(t){try{Xn.document.createAttribute(t)}catch(t){return!1}return!0}function Sr(t){return!!t&&(dr(t)?Sr(t.parentElement):!!t.getClientRects&&!!t.getClientRects().length)}function Dr({element:t,target:e,positions:n,limiter:i,fitInViewport:r,viewportOffsetConfig:o}){at(e)&&(e=e()),at(i)&&(i=i());const a=gr(t),s=function(t){t=Object.assign({top:0,bottom:0,left:0,right:0},t);const e=new mr(Xn.window);return e.top+=t.top,e.height-=t.top,e.bottom-=t.bottom,e.height-=t.bottom,e}(o),c=new mr(t),l=Ir(e,s);let u;if(!l||!s.getIntersection(l))return null;const h={targetRect:l,elementRect:c,positionedElementAncestor:a,viewportRect:s};if(i||r){if(i){const t=Ir(i,s);t&&(h.limiterRect=t)}u=function(t,e){const{elementRect:n}=e,i=n.getArea(),r=t.map((t=>new Br(t,e))).filter((t=>!!t.name));let o=0,a=null;for(const t of r){const{limiterIntersectionArea:e,viewportIntersectionArea:n}=t;if(e===i)return t;const r=n**2+e**2;r>o&&(o=r,a=t)}return a}(n,h)}else u=new Br(n[0],h);return u}function Ir(t,e){const n=new mr(t).getVisible();return n?n.getIntersection(e):null}class Br{name;config;_positioningFunctionCoordinates;_options;_cachedRect;_cachedAbsoluteRect;constructor(t,e){const n=t(e.targetRect,e.elementRect,e.viewportRect,e.limiterRect);if(!n)return;const{left:i,top:r,name:o,config:a}=n;this.name=o,this.config=a,this._positioningFunctionCoordinates={left:i,top:r},this._options=e}get left(){return this._absoluteRect.left}get top(){return this._absoluteRect.top}get limiterIntersectionArea(){const t=this._options.limiterRect;return t?t.getIntersectionArea(this._rect):0}get viewportIntersectionArea(){return this._options.viewportRect.getIntersectionArea(this._rect)}get _rect(){return this._cachedRect||(this._cachedRect=this._options.elementRect.clone().moveTo(this._positioningFunctionCoordinates.left,this._positioningFunctionCoordinates.top)),this._cachedRect}get _absoluteRect(){return this._cachedAbsoluteRect||(this._cachedAbsoluteRect=this._rect.toAbsoluteRect()),this._cachedAbsoluteRect}}function Mr(t){const e=t.parentNode;e&&e.removeChild(t)}function Pr({target:t,viewportOffset:e=0,ancestorOffset:n=0,alignToTop:i,forceScroll:r}){const o=$r(t);let a=o,s=null;for(e=function(t){if("number"==typeof t)return{top:t,bottom:t,left:t,right:t};return t}(e);a;){let c;c=zr(a==o?t:s),Or({parent:c,getRect:()=>Vr(t,a),alignToTop:i,ancestorOffset:n,forceScroll:r});const l=Vr(t,a);if(Lr({window:a,rect:l,viewportOffset:e,alignToTop:i,forceScroll:r}),a.parent!=a){if(s=a.frameElement,a=a.parent,!s)return}else a=null}}function Lr({window:t,rect:e,alignToTop:n,forceScroll:i,viewportOffset:r}){const o=e.clone().moveBy(0,r.bottom),a=e.clone().moveBy(0,-r.top),s=new mr(t).excludeScrollbarsAndBorders(),c=n&&i,l=[a,o].every((t=>s.contains(t)));let{scrollX:u,scrollY:h}=t;const d=u,f=h;c?h-=s.top-e.top+r.top:l||(Rr(a,s)?h-=s.top-e.top+r.top:Nr(o,s)&&(h+=n?e.top-s.top-r.top:e.bottom-s.bottom+r.bottom)),l||(Fr(e,s)?u-=s.left-e.left+r.left:jr(e,s)&&(u+=e.right-s.right+r.right)),u==d&&h===f||t.scrollTo(u,h)}function Or({parent:t,getRect:e,alignToTop:n,forceScroll:i,ancestorOffset:r=0,limiterElement:o}){const a=$r(t),s=n&&i;let c,l,u;const h=o||a.document.body;for(;t!=h;)l=e(),c=new mr(t).excludeScrollbarsAndBorders(),u=c.contains(l),s?t.scrollTop-=c.top-l.top+r:u||(Rr(l,c)?t.scrollTop-=c.top-l.top+r:Nr(l,c)&&(t.scrollTop+=n?l.top-c.top-r:l.bottom-c.bottom+r)),u||(Fr(l,c)?t.scrollLeft-=c.left-l.left+r:jr(l,c)&&(t.scrollLeft+=l.right-c.right+r)),t=t.parentNode}function Nr(t,e){return t.bottom>e.bottom}function Rr(t,e){return t.tope.right}function $r(t){return fr(t)?t.startContainer.ownerDocument.defaultView:t.ownerDocument.defaultView}function zr(t){if(fr(t)){let e=t.commonAncestorContainer;return dr(e)&&(e=e.parentNode),e}return t.parentNode}function Vr(t,e){const n=$r(t),i=new mr(t);if(n===e)return i;{let t=n;for(;t!=e;){const e=t.frameElement,n=new mr(e).excludeScrollbarsAndBorders();i.moveBy(n.left,n.top),t=t.parent}}return i}const Hr={ctrl:"⌃",cmd:"⌘",alt:"⌥",shift:"⇧"},qr={ctrl:"Ctrl+",alt:"Alt+",shift:"Shift+"},Ur={37:"←",38:"↑",39:"→",40:"↓",9:"⇥",33:"Page Up",34:"Page Down"},Gr=Qr(),Wr=Object.fromEntries(Object.entries(Gr).map((([t,e])=>{let n;return n=e in Ur?Ur[e]:t.charAt(0).toUpperCase()+t.slice(1),[e,n]})));function Kr(t){let e;if("string"==typeof t){if(e=Gr[t.toLowerCase()],!e)throw new wi("keyboard-unknown-key",null,{key:t})}else e=t.keyCode+(t.altKey?Gr.alt:0)+(t.ctrlKey?Gr.ctrl:0)+(t.shiftKey?Gr.shift:0)+(t.metaKey?Gr.cmd:0);return e}function Yr(t){return"string"==typeof t&&(t=function(t){return t.split("+").map((t=>t.trim()))}(t)),t.map((t=>"string"==typeof t?function(t){if(t.endsWith("!"))return Kr(t.slice(0,-1));const e=Kr(t);return(Jn.isMac||Jn.isiOS)&&e==Gr.ctrl?Gr.cmd:e}(t):t)).reduce(((t,e)=>e+t),0)}function Xr(t){let e=Yr(t);return Object.entries(Jn.isMac||Jn.isiOS?Hr:qr).reduce(((t,[n,i])=>(e&Gr[n]&&(e&=~Gr[n],t+=i),t)),"")+(e?Wr[e]:"")}function Zr(t,e){const n="ltr"===e;switch(t){case Gr.arrowleft:return n?"left":"right";case Gr.arrowright:return n?"right":"left";case Gr.arrowup:return"up";case Gr.arrowdown:return"down"}}function Qr(){const t={pageup:33,pagedown:34,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,backspace:8,delete:46,enter:13,space:32,esc:27,tab:9,ctrl:1114112,shift:2228224,alt:4456448,cmd:8912896};for(let e=65;e<=90;e++){t[String.fromCharCode(e).toLowerCase()]=e}for(let e=48;e<=57;e++)t[e-48]=e;for(let e=112;e<=123;e++)t["f"+(e-111)]=e;return Object.assign(t,{"'":222,",":108,"-":109,".":110,"/":111,";":186,"=":187,"[":219,"\\":220,"]":221,"`":223}),t}function Jr(t){return Array.isArray(t)?t:[t]}const to=function(t,e,n){(void 0!==n&&!W(t[e],n)||void 0===n&&!(e in t))&&Gt(t,e,n)};const eo=function(t){return function(e,n,i){for(var r=-1,o=Object(e),a=i(e),s=a.length;s--;){var c=a[t?s:++r];if(!1===n(o[c],c,o))break}return e}}();const no=function(t){return x(t)&&Te(t)};const io=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]};const ro=function(t){return Yt(t,Pe(t))};const oo=function(t,e,n,i,r,o,s){var c=io(t,n),l=io(e,n),u=s.get(l);if(u)to(t,n,u);else{var h=o?o(c,l,n+"",t,e,s):void 0,d=void 0===h;if(d){var f=ne(l),g=!f&&se(l),p=!f&&!g&&ke(l);h=l,f||g||p?ne(c)?h=c:no(c)?h=$e(c):g?(d=!1,h=je(l,!0)):p?(d=!1,h=En(l,!0)):h=[]:q(l)||ee(l)?(h=c,ee(c)?h=ro(c):a(c)&&!at(c)||(h=In(l))):d=!1}d&&(s.set(l,h),r(h,l,i,o,s),s.delete(l)),to(t,n,h)}};const ao=function t(e,n,i,r,o){e!==n&&eo(n,(function(s,c){if(o||(o=new Ht),a(s))oo(e,n,c,i,t,r,o);else{var l=r?r(io(e,c),s,c+"",e,n,o):void 0;void 0===l&&(l=s),to(e,c,l)}}),Pe)};const so=function(t){return t};const co=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)};var lo=Math.max;const uo=function(t,e,n){return e=lo(void 0===e?t.length-1:e,0),function(){for(var i=arguments,r=-1,o=lo(i.length-e,0),a=Array(o);++r0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(fo);const mo=function(t,e){return po(uo(t,e,so),t+"")};const bo=function(t,e,n){if(!a(n))return!1;var i=typeof e;return!!("number"==i?Te(n)&&le(e,n.length):"string"==i&&e in n)&&W(n[e],t)};const wo=function(t){return mo((function(e,n){var i=-1,r=n.length,o=r>1?n[r-1]:void 0,a=r>2?n[2]:void 0;for(o=t.length>3&&"function"==typeof o?(r--,o):void 0,a&&bo(n[0],n[1],a)&&(o=r<3?void 0:o,r=1),e=Object(e);++i1===t?0:1),l=s[a];if("string"==typeof l)return l;return l[Number(c(n))]}Xn.window.CKEDITOR_TRANSLATIONS||(Xn.window.CKEDITOR_TRANSLATIONS={});const yo=["ar","ara","dv","div","fa","per","fas","he","heb","ku","kur","ug","uig"];function _o(t){return yo.includes(t)?"rtl":"ltr"}class Co{uiLanguage;uiLanguageDirection;contentLanguage;contentLanguageDirection;t;translations;constructor({uiLanguage:t="en",contentLanguage:e,translations:n}={}){this.uiLanguage=t,this.contentLanguage=e||this.uiLanguage,this.uiLanguageDirection=_o(this.uiLanguage),this.contentLanguageDirection=_o(this.contentLanguage),this.translations=function(t){return Array.isArray(t)?t.reduce(((t,e)=>ko(t,e))):t}(n),this.t=(t,e)=>this._t(t,e)}get language(){return console.warn("locale-deprecated-language-property: The Locale#language property has been deprecated and will be removed in the near future. Please use #uiLanguage and #contentLanguage properties instead."),this.uiLanguage}_t(t,e=[]){e=Jr(e),"string"==typeof t&&(t={string:t});const n=!!t.plural?e[0]:1;return function(t,e){return t.replace(/%(\d+)/g,((t,n)=>nthis._items.length||e<0)throw new wi("collection-add-item-invalid-index",this);let n=0;for(const i of t){const t=this._getItemIdBeforeAdding(i),r=e+n;this._items.splice(r,0,i),this._itemMap.set(t,i),this.fire("add",i,r),n++}return this.fire("change",{added:t,removed:[],index:e}),this}get(t){let e;if("string"==typeof t)e=this._itemMap.get(t);else{if("number"!=typeof t)throw new wi("collection-get-invalid-arg",this);e=this._items[t]}return e||null}has(t){if("string"==typeof t)return this._itemMap.has(t);{const e=t[this._idProperty];return e&&this._itemMap.has(e)}}getIndex(t){let e;return e="string"==typeof t?this._itemMap.get(t):t,e?this._items.indexOf(e):-1}remove(t){const[e,n]=this._remove(t);return this.fire("change",{added:[],removed:[e],index:n}),e}map(t,e){return this._items.map(t,e)}forEach(t,e){this._items.forEach(t,e)}find(t,e){return this._items.find(t,e)}filter(t,e){return this._items.filter(t,e)}clear(){this._bindToCollection&&(this.stopListening(this._bindToCollection),this._bindToCollection=null);const t=Array.from(this._items);for(;this.length;)this._remove(0);this.fire("change",{added:[],removed:t,index:0})}bindTo(t){if(this._bindToCollection)throw new wi("collection-bind-to-rebind",this);return this._bindToCollection=t,{as:t=>{this._setUpBindToBinding((e=>new t(e)))},using:t=>{"function"==typeof t?this._setUpBindToBinding(t):this._setUpBindToBinding((e=>e[t]))}}}_setUpBindToBinding(t){const e=this._bindToCollection,n=(n,i,r)=>{const o=e._bindToCollection==this,a=e._bindToInternalToExternalMap.get(i);if(o&&a)this._bindToExternalToInternalMap.set(i,a),this._bindToInternalToExternalMap.set(a,i);else{const n=t(i);if(!n)return void this._skippedIndexesFromExternal.push(r);let o=r;for(const t of this._skippedIndexesFromExternal)r>t&&o--;for(const t of e._skippedIndexesFromExternal)o>=t&&o++;this._bindToExternalToInternalMap.set(i,n),this._bindToInternalToExternalMap.set(n,i),this.add(n,o);for(let t=0;t{const i=this._bindToExternalToInternalMap.get(e);i&&this.remove(i),this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce(((t,e)=>(ne&&t.push(e),t)),[])}))}_getItemIdBeforeAdding(t){const e=this._idProperty;let n;if(e in t){if(n=t[e],"string"!=typeof n)throw new wi("collection-add-invalid-id",this);if(this.get(n))throw new wi("collection-add-item-already-exists",this)}else t[e]=n=pi();return n}_remove(t){let e,n,i,r=!1;const o=this._idProperty;if("string"==typeof t?(n=t,i=this._itemMap.get(n),r=!i,i&&(e=this._items.indexOf(i))):"number"==typeof t?(e=t,i=this._items[e],r=!i,i&&(n=i[o])):(i=t,n=i[o],e=this._items.indexOf(i),r=-1==e||!this._itemMap.get(n)),r)throw new wi("collection-remove-404",this);this._items.splice(e,1),this._itemMap.delete(n);const a=this._bindToInternalToExternalMap.get(i);return this._bindToInternalToExternalMap.delete(i),this._bindToExternalToInternalMap.delete(a),this.fire("remove",i,e),[i,e]}[Symbol.iterator](){return this._items[Symbol.iterator]()}}function xo(t){const e=t.next();return e.done?null:e.value}class Eo extends(or(Vi())){_elements=new Set;_nextEventLoopTimeout=null;constructor(){super(),this.set("isFocused",!1),this.set("focusedElement",null)}get elements(){return Array.from(this._elements.values())}add(t){if(this._elements.has(t))throw new wi("focustracker-add-element-already-exist",this);this.listenTo(t,"focus",(()=>this._focus(t)),{useCapture:!0}),this.listenTo(t,"blur",(()=>this._blur()),{useCapture:!0}),this._elements.add(t)}remove(t){t===this.focusedElement&&this._blur(),this._elements.has(t)&&(this.stopListening(t),this._elements.delete(t))}destroy(){this.stopListening()}_focus(t){clearTimeout(this._nextEventLoopTimeout),this.focusedElement=t,this.isFocused=!0}_blur(){clearTimeout(this._nextEventLoopTimeout),this._nextEventLoopTimeout=setTimeout((()=>{this.focusedElement=null,this.isFocused=!1}),0)}}class To{_listener;constructor(){this._listener=new(or())}listenTo(t){this._listener.listenTo(t,"keydown",((t,e)=>{this._listener.fire("_keydown:"+Kr(e),e)}))}set(t,e,n={}){const i=Yr(t),r=n.priority;this._listener.listenTo(this._listener,"_keydown:"+i,((t,i)=>{n.filter&&!n.filter(i)||(e(i,(()=>{i.preventDefault(),i.stopPropagation(),t.stop()})),t.return=!0)}),{priority:r})}press(t){return!!this._listener.fire("_keydown:"+Kr(t),t)}stopListening(t){this._listener.stopListening(t)}destroy(){this.stopListening()}}function So(t){return Xi(t)?new Map(t):function(t){const e=new Map;for(const n in t)e.set(n,t[n]);return e}(t)}function Do(t,e){let n;function i(...r){i.cancel(),n=setTimeout((()=>t(...r)),e)}return i.cancel=()=>{clearTimeout(n)},i}function Io(t,e){return!!(n=t.charAt(e-1))&&1==n.length&&/[\ud800-\udbff]/.test(n)&&function(t){return!!t&&1==t.length&&/[\udc00-\udfff]/.test(t)}(t.charAt(e));var n}function Bo(t,e){return!!(n=t.charAt(e))&&1==n.length&&/[\u0300-\u036f\u1ab0-\u1aff\u1dc0-\u1dff\u20d0-\u20ff\ufe20-\ufe2f]/.test(n);var n}const Mo=Lo();function Po(t,e){const n=String(t).matchAll(Mo);return Array.from(n).some((t=>t.indext.source)).join("|")+")";return new RegExp(`${t}|${e}(?:‍${e})*`,"ug")}class Oo extends(Vi()){editor;_disableStack=new Set;constructor(t){super(),this.editor=t,this.set("isEnabled",!0)}forceDisabled(t){this._disableStack.add(t),1==this._disableStack.size&&(this.on("set:isEnabled",No,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(t){this._disableStack.delete(t),0==this._disableStack.size&&(this.off("set:isEnabled",No),this.isEnabled=!0)}destroy(){this.stopListening()}static get isContextPlugin(){return!1}}function No(t){t.return=!1,t.stop()}class Ro extends(Vi()){editor;_isEnabledBasedOnSelection;_affectsData;_disableStack;constructor(t){super(),this.editor=t,this.set("value",void 0),this.set("isEnabled",!1),this._affectsData=!0,this._isEnabledBasedOnSelection=!0,this._disableStack=new Set,this.decorate("execute"),this.listenTo(this.editor.model.document,"change",(()=>{this.refresh()})),this.listenTo(t,"change:isReadOnly",(()=>{this.refresh()})),this.on("set:isEnabled",(e=>{if(!this.affectsData)return;const n=t.model.document.selection,i=!("$graveyard"==n.getFirstPosition().root.rootName)&&t.model.canEditAt(n);(t.isReadOnly||this._isEnabledBasedOnSelection&&!i)&&(e.return=!1,e.stop())}),{priority:"highest"}),this.on("execute",(t=>{this.isEnabled||t.stop()}),{priority:"high"})}get affectsData(){return this._affectsData}set affectsData(t){this._affectsData=t}refresh(){this.isEnabled=!0}forceDisabled(t){this._disableStack.add(t),1==this._disableStack.size&&(this.on("set:isEnabled",Fo,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(t){this._disableStack.delete(t),0==this._disableStack.size&&(this.off("set:isEnabled",Fo),this.refresh())}execute(...t){}destroy(){this.stopListening()}}function Fo(t){t.return=!1,t.stop()}class jo extends Ro{_childCommandsDefinitions=[];refresh(){}execute(...t){const e=this._getFirstEnabledCommand();return!!e&&e.execute(t)}registerChildCommand(t,e={}){bi(this._childCommandsDefinitions,{command:t,priority:e.priority||"normal"}),t.on("change:isEnabled",(()=>this._checkEnabled())),this._checkEnabled()}_checkEnabled(){this.isEnabled=!!this._getFirstEnabledCommand()}_getFirstEnabledCommand(){const t=this._childCommandsDefinitions.find((({command:t})=>t.isEnabled));return t&&t.command}}class $o extends(Si()){_context;_plugins=new Map;_availablePlugins;_contextPlugins;constructor(t,e=[],n=[]){super(),this._context=t,this._availablePlugins=new Map;for(const t of e)t.pluginName&&this._availablePlugins.set(t.pluginName,t);this._contextPlugins=new Map;for(const[t,e]of n)this._contextPlugins.set(t,e),this._contextPlugins.set(e,t),t.pluginName&&this._availablePlugins.set(t.pluginName,t)}*[Symbol.iterator](){for(const t of this._plugins)"function"==typeof t[0]&&(yield t)}get(t){const e=this._plugins.get(t);if(!e){let e=t;throw"function"==typeof t&&(e=t.pluginName||t.name),new wi("plugincollection-plugin-not-loaded",this._context,{plugin:e})}return e}has(t){return this._plugins.has(t)}init(t,e=[],n=[]){const i=this,r=this._context;!function t(e,n=new Set){e.forEach((e=>{s(e)&&(n.has(e)||(n.add(e),e.pluginName&&!i._availablePlugins.has(e.pluginName)&&i._availablePlugins.set(e.pluginName,e),e.requires&&t(e.requires,n)))}))}(t),h(t);const o=[...function t(e,n=new Set){return e.map((t=>s(t)?t:i._availablePlugins.get(t))).reduce(((e,i)=>n.has(i)?e:(n.add(i),i.requires&&(h(i.requires,i),t(i.requires,n).forEach((t=>e.add(t)))),e.add(i))),new Set)}(t.filter((t=>!l(t,e))))];!function(t,e){for(const n of e){if("function"!=typeof n)throw new wi("plugincollection-replace-plugin-invalid-type",null,{pluginItem:n});const e=n.pluginName;if(!e)throw new wi("plugincollection-replace-plugin-missing-name",null,{pluginItem:n});if(n.requires&&n.requires.length)throw new wi("plugincollection-plugin-for-replacing-cannot-have-dependencies",null,{pluginName:e});const r=i._availablePlugins.get(e);if(!r)throw new wi("plugincollection-plugin-for-replacing-not-exist",null,{pluginName:e});const o=t.indexOf(r);if(-1===o){if(i._contextPlugins.has(r))return;throw new wi("plugincollection-plugin-for-replacing-not-loaded",null,{pluginName:e})}if(r.requires&&r.requires.length)throw new wi("plugincollection-replaced-plugin-cannot-have-dependencies",null,{pluginName:e});t.splice(o,1,n),i._availablePlugins.set(e,n)}}(o,n);const a=o.map((t=>{let e=i._contextPlugins.get(t);return e=e||new t(r),i._add(t,e),e}));return d(a,"init").then((()=>d(a,"afterInit"))).then((()=>a));function s(t){return"function"==typeof t}function c(t){return s(t)&&!!t.isContextPlugin}function l(t,e){return e.some((e=>e===t||(u(t)===e||u(e)===t)))}function u(t){return s(t)?t.pluginName||t.name:t}function h(t,n=null){t.map((t=>s(t)?t:i._availablePlugins.get(t)||t)).forEach((t=>{!function(t,e){if(s(t))return;if(e)throw new wi("plugincollection-soft-required",r,{missingPlugin:t,requiredBy:u(e)});throw new wi("plugincollection-plugin-not-found",r,{plugin:t})}(t,n),function(t,e){if(!c(e))return;if(c(t))return;throw new wi("plugincollection-context-required",r,{plugin:u(t),requiredBy:u(e)})}(t,n),function(t,n){if(!n)return;if(!l(t,e))return;throw new wi("plugincollection-required",r,{plugin:u(t),requiredBy:u(n)})}(t,n)}))}function d(t,e){return t.reduce(((t,n)=>n[e]?i._contextPlugins.has(n)?t:t.then(n[e].bind(n)):t),Promise.resolve())}}destroy(){const t=[];for(const[,e]of this)"function"!=typeof e.destroy||this._contextPlugins.has(e)||t.push(e.destroy());return Promise.all(t)}_add(t,e){this._plugins.set(t,e);const n=t.pluginName;if(n){if(this._plugins.has(n))throw new wi("plugincollection-plugin-name-conflict",null,{pluginName:n,plugin1:this._plugins.get(n).constructor,plugin2:t});this._plugins.set(n,e)}}}class zo{config;plugins;locale;t;editors;static defaultConfig;static builtinPlugins;_contextOwner=null;constructor(t){const{translations:e,...n}=t||{};this.config=new Ji(n,this.constructor.defaultConfig);const i=this.constructor.builtinPlugins;this.config.define("plugins",i),this.plugins=new $o(this,i);const r=this.config.get("language")||{};this.locale=new Co({uiLanguage:"string"==typeof r?r:r.ui,contentLanguage:this.config.get("language.content"),translations:e}),this.t=this.locale.t,this.editors=new Ao}initPlugins(){const t=this.config.get("plugins")||[],e=this.config.get("substitutePlugins")||[];for(const n of t.concat(e)){if("function"!=typeof n)throw new wi("context-initplugins-constructor-only",null,{Plugin:n});if(!0!==n.isContextPlugin)throw new wi("context-initplugins-invalid-plugin",null,{Plugin:n})}return this.plugins.init(t,[],e)}destroy(){return Promise.all(Array.from(this.editors,(t=>t.destroy()))).then((()=>this.plugins.destroy()))}_addEditor(t,e){if(this._contextOwner)throw new wi("context-addeditor-private-context");this.editors.add(t),e&&(this._contextOwner=t)}_removeEditor(t){return this.editors.has(t)&&this.editors.remove(t),this._contextOwner===t?this.destroy():Promise.resolve()}_getEditorConfig(){const t={};for(const e of this.config.names())["plugins","removePlugins","extraPlugins"].includes(e)||(t[e]=this.config.get(e));return t}static create(t){return new Promise((e=>{const n=new this(t);e(n.initPlugins().then((()=>n)))}))}}class Vo extends(Vi()){context;constructor(t){super(),this.context=t}destroy(){this.stopListening()}static get isContextPlugin(){return!0}}class Ho extends To{editor;constructor(t){super(),this.editor=t}set(t,e,n={}){if("string"==typeof e){const t=e;e=(e,n)=>{this.editor.execute(t),n()}}super.set(t,e,n)}}var qo=n(2591),Uo=n.n(qo),Go=n(4098),Wo={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Go.A,Wo);Go.A.locals;const Ko=new WeakMap;let Yo=!1;function Xo({view:t,element:e,text:n,isDirectHost:i=!0,keepOnFocus:r=!1}){const o=t.document;function a(n){Ko.get(o).set(e,{text:n,isDirectHost:i,keepOnFocus:r,hostElement:i?e:null}),t.change((t=>Qo(o,t)))}Ko.has(o)||(Ko.set(o,new Map),o.registerPostFixer((t=>Qo(o,t))),o.on("change:isComposing",(()=>{t.change((t=>Qo(o,t)))}),{priority:"high"})),e.is("editableElement")&&e.on("change:placeholder",((t,e,n)=>{a(n)})),e.placeholder?a(e.placeholder):n&&a(n),n&&function(){Yo||ki("enableplaceholder-deprecated-text-option");Yo=!0}()}function Zo(t,e){return!!e.hasClass("ck-placeholder")&&(t.removeClass("ck-placeholder",e),!0)}function Qo(t,e){const n=Ko.get(t),i=[];let r=!1;for(const[t,o]of n)o.isDirectHost&&(i.push(t),Jo(e,t,o)&&(r=!0));for(const[t,o]of n){if(o.isDirectHost)continue;const n=ta(t);n&&(i.includes(n)||(o.hostElement=n,Jo(e,t,o)&&(r=!0)))}return r}function Jo(t,e,n){const{text:i,isDirectHost:r,hostElement:o}=n;let a=!1;o.getAttribute("data-placeholder")!==i&&(t.setAttribute("data-placeholder",i,o),a=!0);return(r||1==e.childCount)&&function(t,e){if(!t.isAttached())return!1;if(Array.from(t.getChildren()).some((t=>!t.is("uiElement"))))return!1;const n=t.document,i=n.selection.anchor;return!(n.isComposing&&i&&i.parent===t||!e&&n.isFocused&&(!i||i.parent===t))}(o,n.keepOnFocus)?function(t,e){return!e.hasClass("ck-placeholder")&&(t.addClass("ck-placeholder",e),!0)}(t,o)&&(a=!0):Zo(t,o)&&(a=!0),a}function ta(t){if(t.childCount){const e=t.getChild(0);if(e.is("element")&&!e.is("uiElement")&&!e.is("attributeElement"))return e}return null}class ea{is(){throw new Error("is() method is abstract")}}const na=function(t){return zn(t,4)};class ia extends(Si(ea)){document;parent;constructor(t){super(),this.document=t,this.parent=null}get index(){let t;if(!this.parent)return null;if(-1==(t=this.parent.getChildIndex(this)))throw new wi("view-node-not-found-in-parent",this);return t}get nextSibling(){const t=this.index;return null!==t&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return null!==t&&this.parent.getChild(t-1)||null}get root(){let t=this;for(;t.parent;)t=t.parent;return t}isAttached(){return this.root.is("rootElement")}getPath(){const t=[];let e=this;for(;e.parent;)t.unshift(e.index),e=e.parent;return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e),i=t.getAncestors(e);let r=0;for(;n[r]==i[r]&&n[r];)r++;return 0===r?null:n[r-1]}isBefore(t){if(this==t)return!1;if(this.root!==t.root)return!1;const e=this.getPath(),n=t.getPath(),i=Yi(e,n);switch(i){case"prefix":return!0;case"extension":return!1;default:return e[i]t.data.length)throw new wi("view-textproxy-wrong-offsetintext",this);if(n<0||e+n>t.data.length)throw new wi("view-textproxy-wrong-length",this);this.data=t.data.substring(e,e+n),this.offsetInText=e}get offsetSize(){return this.data.length}get isPartial(){return this.data.length!==this.textNode.data.length}get parent(){return this.textNode.parent}get root(){return this.textNode.root}get document(){return this.textNode.document}getAncestors(t={}){const e=[];let n=t.includeSelf?this.textNode:this.parent;for(;null!==n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}}oa.prototype.is=function(t){return"$textProxy"===t||"view:$textProxy"===t||"textProxy"===t||"view:textProxy"===t};class aa{_patterns=[];constructor(...t){this.add(...t)}add(...t){for(let e of t)("string"==typeof e||e instanceof RegExp)&&(e={name:e}),this._patterns.push(e)}match(...t){for(const e of t)for(const t of this._patterns){const n=sa(e,t);if(n)return{element:e,pattern:t,match:n}}return null}matchAll(...t){const e=[];for(const n of t)for(const t of this._patterns){const i=sa(n,t);i&&e.push({element:n,pattern:t,match:i})}return e.length>0?e:null}getElementName(){if(1!==this._patterns.length)return null;const t=this._patterns[0],e=t.name;return"function"==typeof t||!e||e instanceof RegExp?null:e}}function sa(t,e){if("function"==typeof e)return e(t);const n={};return e.name&&(n.name=function(t,e){if(t instanceof RegExp)return!!e.match(t);return t===e}(e.name,t.name),!n.name)||e.attributes&&(n.attributes=function(t,e){const n=new Set(e.getAttributeKeys());q(t)?(void 0!==t.style&&ki("matcher-pattern-deprecated-attributes-style-key",t),void 0!==t.class&&ki("matcher-pattern-deprecated-attributes-class-key",t)):(n.delete("style"),n.delete("class"));return ca(t,n,(t=>e.getAttribute(t)))}(e.attributes,t),!n.attributes)||e.classes&&(n.classes=function(t,e){return ca(t,e.getClassNames(),(()=>{}))}(e.classes,t),!n.classes)||e.styles&&(n.styles=function(t,e){return ca(t,e.getStyleNames(!0),(t=>e.getStyle(t)))}(e.styles,t),!n.styles)?null:n}function ca(t,e,n){const i=function(t){if(Array.isArray(t))return t.map((t=>q(t)?(void 0!==t.key&&void 0!==t.value||ki("matcher-pattern-missing-key-or-value",t),[t.key,t.value]):[t,!0]));if(q(t))return Object.entries(t);return[[t,!0]]}(t),r=Array.from(e),o=[];if(i.forEach((([t,e])=>{r.forEach((i=>{(function(t,e){return!0===t||t===e||t instanceof RegExp&&e.match(t)})(t,i)&&function(t,e,n){if(!0===t)return!0;const i=n(e);return t===i||t instanceof RegExp&&!!String(i).match(t)}(e,i,n)&&o.push(i)}))})),i.length&&!(o.lengthr?0:r+e),(n=n>r?r:n)<0&&(n+=r),r=e>n?0:n-e>>>0,e>>>=0;for(var o=Array(r);++ie===t));return Array.isArray(e)}set(t,e){if(a(t))for(const[e,n]of Object.entries(t))this._styleProcessor.toNormalizedForm(e,n,this._styles);else this._styleProcessor.toNormalizedForm(t,e,this._styles)}remove(t){const e=Oa(t);Da(this._styles,e),delete this._styles[t],this._cleanEmptyObjectsOnPath(e)}getNormalized(t){return this._styleProcessor.getNormalized(t,this._styles)}toString(){return this.isEmpty?"":this.getStylesEntries().map((t=>t.join(":"))).sort().join(";")+";"}getAsString(t){if(this.isEmpty)return;if(this._styles[t]&&!a(this._styles[t]))return this._styles[t];const e=this._styleProcessor.getReducedForm(t,this._styles).find((([e])=>e===t));return Array.isArray(e)?e[1]:void 0}getStyleNames(t=!1){if(this.isEmpty)return[];if(t)return this._styleProcessor.getStyleNames(this._styles);return this.getStylesEntries().map((([t])=>t))}clear(){this._styles={}}getStylesEntries(){const t=[],e=Object.keys(this._styles);for(const n of e)t.push(...this._styleProcessor.getReducedForm(n,this._styles));return t}_cleanEmptyObjectsOnPath(t){const e=t.split(".");if(!(e.length>1))return;const n=e.splice(0,e.length-1).join("."),i=Ia(this._styles,n);if(!i)return;!Object.keys(i).length&&this.remove(n)}}class La{_normalizers;_extractors;_reducers;_consumables;constructor(){this._normalizers=new Map,this._extractors=new Map,this._reducers=new Map,this._consumables=new Map}toNormalizedForm(t,e,n){if(a(e))Na(n,Oa(t),e);else if(this._normalizers.has(t)){const i=this._normalizers.get(t),{path:r,value:o}=i(e);Na(n,r,o)}else Na(n,t,e)}getNormalized(t,e){if(!t)return ko({},e);if(void 0!==e[t])return e[t];if(this._extractors.has(t)){const n=this._extractors.get(t);if("string"==typeof n)return Ia(e,n);const i=n(t,e);if(i)return i}return Ia(e,Oa(t))}getReducedForm(t,e){const n=this.getNormalized(t,e);if(void 0===n)return[];if(this._reducers.has(t)){return this._reducers.get(t)(n)}return[[t,n]]}getStyleNames(t){const e=new Set;for(const n of this._consumables.keys()){const i=this.getNormalized(n,t);i&&("object"!=typeof i||Object.keys(i).length)&&e.add(n)}for(const n of Object.keys(t))e.add(n);return Array.from(e)}getRelatedStyles(t){return this._consumables.get(t)||[]}setNormalizer(t,e){this._normalizers.set(t,e)}setExtractor(t,e){this._extractors.set(t,e)}setReducer(t,e){this._reducers.set(t,e)}setStyleRelation(t,e){this._mapStyleNames(t,e);for(const n of e)this._mapStyleNames(n,[t])}_mapStyleNames(t,e){this._consumables.has(t)||this._consumables.set(t,[]),this._consumables.get(t).push(...e)}}function Oa(t){return t.replace("-",".")}function Na(t,e,n){let i=n;a(n)&&(i=ko({},Ia(t,e),n)),Ma(t,e,i)}class Ra extends ia{name;_unsafeAttributesToRender=[];_attrs;_children;_classes;_styles;_customProperties=new Map;constructor(t,e,n,i){if(super(t),this.name=e,this._attrs=function(t){const e=So(t);for(const[t,n]of e)null===n?e.delete(t):"string"!=typeof n&&e.set(t,String(n));return e}(n),this._children=[],i&&this._insertChild(0,i),this._classes=new Set,this._attrs.has("class")){const t=this._attrs.get("class");Fa(this._classes,t),this._attrs.delete("class")}this._styles=new Pa(this.document.stylesProcessor),this._attrs.has("style")&&(this._styles.setTo(this._attrs.get("style")),this._attrs.delete("style"))}get childCount(){return this._children.length}get isEmpty(){return 0===this._children.length}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}*getAttributeKeys(){this._classes.size>0&&(yield"class"),this._styles.isEmpty||(yield"style"),yield*this._attrs.keys()}*getAttributes(){yield*this._attrs.entries(),this._classes.size>0&&(yield["class",this.getAttribute("class")]),this._styles.isEmpty||(yield["style",this.getAttribute("style")])}getAttribute(t){if("class"==t)return this._classes.size>0?[...this._classes].join(" "):void 0;if("style"==t){const t=this._styles.toString();return""==t?void 0:t}return this._attrs.get(t)}hasAttribute(t){return"class"==t?this._classes.size>0:"style"==t?!this._styles.isEmpty:this._attrs.has(t)}isSimilar(t){if(!(t instanceof Ra))return!1;if(this===t)return!0;if(this.name!=t.name)return!1;if(this._attrs.size!==t._attrs.size||this._classes.size!==t._classes.size||this._styles.size!==t._styles.size)return!1;for(const[e,n]of this._attrs)if(!t._attrs.has(e)||t._attrs.get(e)!==n)return!1;for(const e of this._classes)if(!t._classes.has(e))return!1;for(const e of this._styles.getStyleNames())if(!t._styles.has(e)||t._styles.getAsString(e)!==this._styles.getAsString(e))return!1;return!0}hasClass(...t){for(const e of t)if(!this._classes.has(e))return!1;return!0}getClassNames(){return this._classes.keys()}getStyle(t){return this._styles.getAsString(t)}getNormalizedStyle(t){return this._styles.getNormalized(t)}getStyleNames(t){return this._styles.getStyleNames(t)}hasStyle(...t){for(const e of t)if(!this._styles.has(e))return!1;return!0}findAncestor(...t){const e=new aa(...t);let n=this.parent;for(;n&&!n.is("documentFragment");){if(e.match(n))return n;n=n.parent}return null}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const t=Array.from(this._classes).sort().join(","),e=this._styles.toString(),n=Array.from(this._attrs).map((t=>`${t[0]}="${t[1]}"`)).sort().join(" ");return this.name+(""==t?"":` class="${t}"`)+(e?` style="${e}"`:"")+(""==n?"":` ${n}`)}shouldRenderUnsafeAttribute(t){return this._unsafeAttributesToRender.includes(t)}_clone(t=!1){const e=[];if(t)for(const n of this.getChildren())e.push(n._clone(t));const n=new this.constructor(this.document,this.name,this._attrs,e);return n._classes=new Set(this._classes),n._styles.set(this._styles.getNormalized()),n._customProperties=new Map(this._customProperties),n.getFillerOffset=this.getFillerOffset,n._unsafeAttributesToRender=this._unsafeAttributesToRender,n}_appendChild(t){return this._insertChild(this.childCount,t)}_insertChild(t,e){this._fireChange("children",this);let n=0;const i=function(t,e){if("string"==typeof e)return[new ra(t,e)];Xi(e)||(e=[e]);return Array.from(e).map((e=>"string"==typeof e?new ra(t,e):e instanceof oa?new ra(t,e.data):e))}(this.document,e);for(const e of i)null!==e.parent&&e._remove(),e.parent=this,e.document=this.document,this._children.splice(t,0,e),t++,n++;return n}_removeChildren(t,e=1){this._fireChange("children",this);for(let n=t;n0&&(this._classes.clear(),!0):"style"==t?!this._styles.isEmpty&&(this._styles.clear(),!0):this._attrs.delete(t)}_addClass(t){this._fireChange("attributes",this);for(const e of Jr(t))this._classes.add(e)}_removeClass(t){this._fireChange("attributes",this);for(const e of Jr(t))this._classes.delete(e)}_setStyle(t,e){this._fireChange("attributes",this),"string"!=typeof t?this._styles.set(t):this._styles.set(t,e)}_removeStyle(t){this._fireChange("attributes",this);for(const e of Jr(t))this._styles.remove(e)}_setCustomProperty(t,e){this._customProperties.set(t,e)}_removeCustomProperty(t){return this._customProperties.delete(t)}}function Fa(t,e){const n=e.split(/\s+/);t.clear(),n.forEach((e=>t.add(e)))}Ra.prototype.is=function(t,e){return e?e===this.name&&("element"===t||"view:element"===t):"element"===t||"view:element"===t||"node"===t||"view:node"===t};class ja extends Ra{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=$a}}function $a(){const t=[...this.getChildren()],e=t[this.childCount-1];if(e&&e.is("element","br"))return this.childCount;for(const e of t)if(!e.is("uiElement"))return null;return this.childCount}ja.prototype.is=function(t,e){return e?e===this.name&&("containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t):"containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class za extends(Vi(ja)){constructor(t,e,n,i){super(t,e,n,i),this.set("isReadOnly",!1),this.set("isFocused",!1),this.set("placeholder",void 0),this.bind("isReadOnly").to(t),this.bind("isFocused").to(t,"isFocused",(e=>e&&t.selection.editableElement==this)),this.listenTo(t.selection,"change",(()=>{this.isFocused=t.isFocused&&t.selection.editableElement==this}))}destroy(){this.stopListening()}}za.prototype.is=function(t,e){return e?e===this.name&&("editableElement"===t||"view:editableElement"===t||"containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t):"editableElement"===t||"view:editableElement"===t||"containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};const Va=Symbol("rootName");class Ha extends za{constructor(t,e){super(t,e),this.rootName="main"}get rootName(){return this.getCustomProperty(Va)}set rootName(t){this._setCustomProperty(Va,t)}set _name(t){this.name=t}}Ha.prototype.is=function(t,e){return e?e===this.name&&("rootElement"===t||"view:rootElement"===t||"editableElement"===t||"view:editableElement"===t||"containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t):"rootElement"===t||"view:rootElement"===t||"editableElement"===t||"view:editableElement"===t||"containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class qa{direction;boundaries;singleCharacters;shallow;ignoreElementEnd;_position;_boundaryStartParent;_boundaryEndParent;constructor(t={}){if(!t.boundaries&&!t.startPosition)throw new wi("view-tree-walker-no-start-position",null);if(t.direction&&"forward"!=t.direction&&"backward"!=t.direction)throw new wi("view-tree-walker-unknown-direction",t.startPosition,{direction:t.direction});this.boundaries=t.boundaries||null,t.startPosition?this._position=Ua._createAt(t.startPosition):this._position=Ua._createAt(t.boundaries["backward"==t.direction?"end":"start"]),this.direction=t.direction||"forward",this.singleCharacters=!!t.singleCharacters,this.shallow=!!t.shallow,this.ignoreElementEnd=!!t.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}get position(){return this._position}skip(t){let e,n;do{n=this.position,e=this.next()}while(!e.done&&t(e.value));e.done||(this._position=n)}next(){return"forward"==this.direction?this._next():this._previous()}_next(){let t=this.position.clone();const e=this.position,n=t.parent;if(null===n.parent&&t.offset===n.childCount)return{done:!0,value:void 0};if(n===this._boundaryEndParent&&t.offset==this.boundaries.end.offset)return{done:!0,value:void 0};let i;if(n instanceof ra){if(t.isAtEnd)return this._position=Ua._createAfter(n),this._next();i=n.data[t.offset]}else i=n.getChild(t.offset);if(i instanceof Ra){if(this.shallow){if(this.boundaries&&this.boundaries.end.isBefore(t))return{done:!0,value:void 0};t.offset++}else t=new Ua(i,0);return this._position=t,this._formatReturnValue("elementStart",i,e,t,1)}if(i instanceof ra){if(this.singleCharacters)return t=new Ua(i,0),this._position=t,this._next();let n,r=i.data.length;return i==this._boundaryEndParent?(r=this.boundaries.end.offset,n=new oa(i,0,r),t=Ua._createAfter(n)):(n=new oa(i,0,i.data.length),t.offset++),this._position=t,this._formatReturnValue("text",n,e,t,r)}if("string"==typeof i){let i;if(this.singleCharacters)i=1;else{i=(n===this._boundaryEndParent?this.boundaries.end.offset:n.data.length)-t.offset}const r=new oa(n,t.offset,i);return t.offset+=i,this._position=t,this._formatReturnValue("text",r,e,t,i)}return t=Ua._createAfter(n),this._position=t,this.ignoreElementEnd?this._next():this._formatReturnValue("elementEnd",n,e,t)}_previous(){let t=this.position.clone();const e=this.position,n=t.parent;if(null===n.parent&&0===t.offset)return{done:!0,value:void 0};if(n==this._boundaryStartParent&&t.offset==this.boundaries.start.offset)return{done:!0,value:void 0};let i;if(n instanceof ra){if(t.isAtStart)return this._position=Ua._createBefore(n),this._previous();i=n.data[t.offset-1]}else i=n.getChild(t.offset-1);if(i instanceof Ra)return this.shallow?(t.offset--,this._position=t,this._formatReturnValue("elementStart",i,e,t,1)):(t=new Ua(i,i.childCount),this._position=t,this.ignoreElementEnd?this._previous():this._formatReturnValue("elementEnd",i,e,t));if(i instanceof ra){if(this.singleCharacters)return t=new Ua(i,i.data.length),this._position=t,this._previous();let n,r=i.data.length;if(i==this._boundaryStartParent){const e=this.boundaries.start.offset;n=new oa(i,e,i.data.length-e),r=n.data.length,t=Ua._createBefore(n)}else n=new oa(i,0,i.data.length),t.offset--;return this._position=t,this._formatReturnValue("text",n,e,t,r)}if("string"==typeof i){let i;if(this.singleCharacters)i=1;else{const e=n===this._boundaryStartParent?this.boundaries.start.offset:0;i=t.offset-e}t.offset-=i;const r=new oa(n,t.offset,i);return this._position=t,this._formatReturnValue("text",r,e,t,i)}return t=Ua._createBefore(n),this._position=t,this._formatReturnValue("elementStart",n,e,t,1)}_formatReturnValue(t,e,n,i,r){return e instanceof oa&&(e.offsetInText+e.data.length==e.textNode.data.length&&("forward"!=this.direction||this.boundaries&&this.boundaries.end.isEqual(this.position)?n=Ua._createAfter(e.textNode):(i=Ua._createAfter(e.textNode),this._position=i)),0===e.offsetInText&&("backward"!=this.direction||this.boundaries&&this.boundaries.start.isEqual(this.position)?n=Ua._createBefore(e.textNode):(i=Ua._createBefore(e.textNode),this._position=i))),{done:!1,value:{type:t,item:e,previousPosition:n,nextPosition:i,length:r}}}}class Ua extends ea{parent;offset;constructor(t,e){super(),this.parent=t,this.offset=e}get nodeAfter(){return this.parent.is("$text")?null:this.parent.getChild(this.offset)||null}get nodeBefore(){return this.parent.is("$text")?null:this.parent.getChild(this.offset-1)||null}get isAtStart(){return 0===this.offset}get isAtEnd(){const t=this.parent.is("$text")?this.parent.data.length:this.parent.childCount;return this.offset===t}get root(){return this.parent.root}get editableElement(){let t=this.parent;for(;!(t instanceof za);){if(!t.parent)return null;t=t.parent}return t}getShiftedBy(t){const e=Ua._createAt(this),n=e.offset+t;return e.offset=n<0?0:n,e}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new qa(e);return n.skip(t),n.position}getAncestors(){return this.parent.is("documentFragment")?[this.parent]:this.parent.getAncestors({includeSelf:!0})}getCommonAncestor(t){const e=this.getAncestors(),n=t.getAncestors();let i=0;for(;e[i]==n[i]&&e[i];)i++;return 0===i?null:e[i-1]}isEqual(t){return this.parent==t.parent&&this.offset==t.offset}isBefore(t){return"before"==this.compareWith(t)}isAfter(t){return"after"==this.compareWith(t)}compareWith(t){if(this.root!==t.root)return"different";if(this.isEqual(t))return"same";const e=this.parent.is("node")?this.parent.getPath():[],n=t.parent.is("node")?t.parent.getPath():[];e.push(this.offset),n.push(t.offset);const i=Yi(e,n);switch(i){case"prefix":return"before";case"extension":return"after";default:return e[i]0?new this(n,i):new this(i,n)}static _createIn(t){return this._createFromParentsAndOffsets(t,0,t,t.childCount)}static _createOn(t){const e=t.is("$textProxy")?t.offsetSize:1;return this._createFromPositionAndShift(Ua._createBefore(t),e)}}function Wa(t){return!(!t.item.is("attributeElement")&&!t.item.is("uiElement"))}Ga.prototype.is=function(t){return"range"===t||"view:range"===t};class Ka extends(Si(ea)){_ranges;_lastRangeBackward;_isFake;_fakeSelectionLabel;constructor(...t){super(),this._ranges=[],this._lastRangeBackward=!1,this._isFake=!1,this._fakeSelectionLabel="",t.length&&this.setTo(...t)}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length)return null;const t=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?t.end:t.start).clone()}get focus(){if(!this._ranges.length)return null;const t=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?t.start:t.end).clone()}get isCollapsed(){return 1===this.rangeCount&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){return this.anchor?this.anchor.editableElement:null}*getRanges(){for(const t of this._ranges)yield t.clone()}getFirstRange(){let t=null;for(const e of this._ranges)t&&!e.start.isBefore(t.start)||(t=e);return t?t.clone():null}getLastRange(){let t=null;for(const e of this._ranges)t&&!e.end.isAfter(t.end)||(t=e);return t?t.clone():null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}isEqual(t){if(this.isFake!=t.isFake)return!1;if(this.isFake&&this.fakeSelectionLabel!=t.fakeSelectionLabel)return!1;if(this.rangeCount!=t.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus))return!1;for(const e of this._ranges){let n=!1;for(const i of t._ranges)if(e.isEqual(i)){n=!0;break}if(!n)return!1}return!0}isSimilar(t){if(this.isBackward!=t.isBackward)return!1;const e=Ki(this.getRanges());if(e!=Ki(t.getRanges()))return!1;if(0==e)return!0;for(let e of this.getRanges()){e=e.getTrimmed();let n=!1;for(let i of t.getRanges())if(i=i.getTrimmed(),e.start.isEqual(i.start)&&e.end.isEqual(i.end)){n=!0;break}if(!n)return!1}return!0}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}setTo(...t){let[e,n,i]=t;if("object"==typeof n&&(i=n,n=void 0),null===e)this._setRanges([]),this._setFakeOptions(i);else if(e instanceof Ka||e instanceof Ya)this._setRanges(e.getRanges(),e.isBackward),this._setFakeOptions({fake:e.isFake,label:e.fakeSelectionLabel});else if(e instanceof Ga)this._setRanges([e],i&&i.backward),this._setFakeOptions(i);else if(e instanceof Ua)this._setRanges([new Ga(e)]),this._setFakeOptions(i);else if(e instanceof ia){const t=!!i&&!!i.backward;let r;if(void 0===n)throw new wi("view-selection-setto-required-second-parameter",this);r="in"==n?Ga._createIn(e):"on"==n?Ga._createOn(e):new Ga(Ua._createAt(e,n)),this._setRanges([r],t),this._setFakeOptions(i)}else{if(!Xi(e))throw new wi("view-selection-setto-not-selectable",this);this._setRanges(e,i&&i.backward),this._setFakeOptions(i)}this.fire("change")}setFocus(t,e){if(null===this.anchor)throw new wi("view-selection-setfocus-no-ranges",this);const n=Ua._createAt(t,e);if("same"==n.compareWith(this.focus))return;const i=this.anchor;this._ranges.pop(),"before"==n.compareWith(i)?this._addRange(new Ga(n,i),!0):this._addRange(new Ga(i,n)),this.fire("change")}_setRanges(t,e=!1){t=Array.from(t),this._ranges=[];for(const e of t)this._addRange(e);this._lastRangeBackward=!!e}_setFakeOptions(t={}){this._isFake=!!t.fake,this._fakeSelectionLabel=t.fake&&t.label||""}_addRange(t,e=!1){if(!(t instanceof Ga))throw new wi("view-selection-add-range-not-range",this);this._pushRange(t),this._lastRangeBackward=!!e}_pushRange(t){for(const e of this._ranges)if(t.isIntersecting(e))throw new wi("view-selection-range-intersects",this,{addedRange:t,intersectingRange:e});this._ranges.push(new Ga(t.start,t.end))}}Ka.prototype.is=function(t){return"selection"===t||"view:selection"===t};class Ya extends(Si(ea)){_selection;constructor(...t){super(),this._selection=new Ka,this._selection.delegate("change").to(this),t.length&&this._selection.setTo(...t)}get isFake(){return this._selection.isFake}get fakeSelectionLabel(){return this._selection.fakeSelectionLabel}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get isCollapsed(){return this._selection.isCollapsed}get rangeCount(){return this._selection.rangeCount}get isBackward(){return this._selection.isBackward}get editableElement(){return this._selection.editableElement}get _ranges(){return this._selection._ranges}*getRanges(){yield*this._selection.getRanges()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getSelectedElement(){return this._selection.getSelectedElement()}isEqual(t){return this._selection.isEqual(t)}isSimilar(t){return this._selection.isSimilar(t)}_setTo(...t){this._selection.setTo(...t)}_setFocus(t,e){this._selection.setFocus(t,e)}}Ya.prototype.is=function(t){return"selection"===t||"documentSelection"==t||"view:selection"==t||"view:documentSelection"==t};class Xa extends fi{startRange;_eventPhase;_currentTarget;constructor(t,e,n){super(t,e),this.startRange=n,this._eventPhase="none",this._currentTarget=null}get eventPhase(){return this._eventPhase}get currentTarget(){return this._currentTarget}}const Za=Symbol("bubbling contexts");function Qa(t){return class extends t{fire(t,...e){try{const n=t instanceof fi?t:new fi(this,t),i=ns(this);if(!i.size)return;if(Ja(n,"capturing",this),ts(i,"$capture",n,...e))return n.return;const r=n.startRange||this.selection.getFirstRange(),o=r?r.getContainedElement():null,a=!!o&&Boolean(es(i,o));let s=o||function(t){if(!t)return null;const e=t.start.parent,n=t.end.parent,i=e.getPath(),r=n.getPath();return i.length>r.length?e:n}(r);if(Ja(n,"atTarget",s),!a){if(ts(i,"$text",n,...e))return n.return;Ja(n,"bubbling",s)}for(;s;){if(s.is("rootElement")){if(ts(i,"$root",n,...e))return n.return}else if(s.is("element")&&ts(i,s.name,n,...e))return n.return;if(ts(i,s,n,...e))return n.return;s=s.parent,Ja(n,"bubbling",s)}return Ja(n,"bubbling",this),ts(i,"$document",n,...e),n.return}catch(t){wi.rethrowUnexpectedError(t,this)}}_addEventListener(t,e,n){const i=Jr(n.context||"$document"),r=ns(this);for(const o of i){let i=r.get(o);i||(i=new(Si()),r.set(o,i)),this.listenTo(i,t,e,n)}}_removeEventListener(t,e){const n=ns(this);for(const i of n.values())this.stopListening(i,t,e)}}}{const t=Qa(Object);["fire","_addEventListener","_removeEventListener"].forEach((e=>{Qa[e]=t.prototype[e]}))}function Ja(t,e,n){t instanceof Xa&&(t._eventPhase=e,t._currentTarget=n)}function ts(t,e,n,...i){const r="string"==typeof e?t.get(e):es(t,e);return!!r&&(r.fire(n,...i),n.stop.called)}function es(t,e){for(const[n,i]of t)if("function"==typeof n&&n(e))return i;return null}function ns(t){return t[Za]||(t[Za]=new Map),t[Za]}class is extends(Qa(Vi())){selection;roots;stylesProcessor;_postFixers=new Set;constructor(t){super(),this.selection=new Ya,this.roots=new Ao({idProperty:"rootName"}),this.stylesProcessor=t,this.set("isReadOnly",!1),this.set("isFocused",!1),this.set("isSelecting",!1),this.set("isComposing",!1)}getRoot(t="main"){return this.roots.get(t)}registerPostFixer(t){this._postFixers.add(t)}destroy(){this.roots.forEach((t=>t.destroy())),this.stopListening()}_callPostFixers(t){let e=!1;do{for(const n of this._postFixers)if(e=n(t),e)break}while(e)}}class rs extends Ra{static DEFAULT_PRIORITY=10;_priority=10;_id=null;_clonesGroup=null;constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=os}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(null===this.id)throw new wi("attribute-element-get-elements-with-same-id-no-id",this);return new Set(this._clonesGroup)}isSimilar(t){return null!==this.id||null!==t.id?this.id===t.id:super.isSimilar(t)&&this.priority==t.priority}_clone(t=!1){const e=super._clone(t);return e._priority=this._priority,e._id=this._id,e}}function os(){if(as(this))return null;let t=this.parent;for(;t&&t.is("attributeElement");){if(as(t)>1)return null;t=t.parent}return!t||as(t)>1?null:this.childCount}function as(t){return Array.from(t.getChildren()).filter((t=>!t.is("uiElement"))).length}rs.prototype.is=function(t,e){return e?e===this.name&&("attributeElement"===t||"view:attributeElement"===t||"element"===t||"view:element"===t):"attributeElement"===t||"view:attributeElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class ss extends Ra{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=cs}_insertChild(t,e){if(e&&(e instanceof ia||Array.from(e).length>0))throw new wi("view-emptyelement-cannot-add",[this,e]);return 0}}function cs(){return null}ss.prototype.is=function(t,e){return e?e===this.name&&("emptyElement"===t||"view:emptyElement"===t||"element"===t||"view:element"===t):"emptyElement"===t||"view:emptyElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class ls extends Ra{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=hs}_insertChild(t,e){if(e&&(e instanceof ia||Array.from(e).length>0))throw new wi("view-uielement-cannot-add",[this,e]);return 0}render(t,e){return this.toDomElement(t)}toDomElement(t){const e=t.createElement(this.name);for(const t of this.getAttributeKeys())e.setAttribute(t,this.getAttribute(t));return e}}function us(t){t.document.on("arrowKey",((e,n)=>function(t,e,n){if(e.keyCode==Gr.arrowright){const t=e.domTarget.ownerDocument.defaultView.getSelection(),i=1==t.rangeCount&&t.getRangeAt(0).collapsed;if(i||e.shiftKey){const e=t.focusNode,r=t.focusOffset,o=n.domPositionToView(e,r);if(null===o)return;let a=!1;const s=o.getLastMatchingPosition((t=>(t.item.is("uiElement")&&(a=!0),!(!t.item.is("uiElement")&&!t.item.is("attributeElement")))));if(a){const e=n.viewPositionToDom(s);i?t.collapse(e.parent,e.offset):t.extend(e.parent,e.offset)}}}}(0,n,t.domConverter)),{priority:"low"})}function hs(){return null}ls.prototype.is=function(t,e){return e?e===this.name&&("uiElement"===t||"view:uiElement"===t||"element"===t||"view:element"===t):"uiElement"===t||"view:uiElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class ds extends Ra{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=fs}_insertChild(t,e){if(e&&(e instanceof ia||Array.from(e).length>0))throw new wi("view-rawelement-cannot-add",[this,e]);return 0}render(t,e){}}function fs(){return null}ds.prototype.is=function(t,e){return e?e===this.name&&("rawElement"===t||"view:rawElement"===t||"element"===t||"view:element"===t):"rawElement"===t||"view:rawElement"===t||t===this.name||t==="view:"+this.name||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class gs extends(Si(ea)){document;_children=[];_customProperties=new Map;constructor(t,e){super(),this.document=t,e&&this._insertChild(0,e)}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return 0===this.childCount}get root(){return this}get parent(){return null}get name(){}get getFillerOffset(){}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}_appendChild(t){return this._insertChild(this.childCount,t)}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(t,e){this._fireChange("children",this);let n=0;const i=function(t,e){if("string"==typeof e)return[new ra(t,e)];Xi(e)||(e=[e]);return Array.from(e).map((e=>"string"==typeof e?new ra(t,e):e instanceof oa?new ra(t,e.data):e))}(this.document,e);for(const e of i)null!==e.parent&&e._remove(),e.parent=this,this._children.splice(t,0,e),t++,n++;return n}_removeChildren(t,e=1){this._fireChange("children",this);for(let n=t;n{const n=t[t.length-1],i=!e.is("uiElement");return n&&n.breakAttributes==i?n.nodes.push(e):t.push({breakAttributes:i,nodes:[e]}),t}),[]);let i=null,r=t;for(const{nodes:t,breakAttributes:e}of n){const n=this._insertNodes(r,t,e);i||(i=n.start),r=n.end}return i?new Ga(i,r):new Ga(t)}remove(t){const e=t instanceof Ga?t:Ga._createOn(t);if(As(e,this.document),e.isCollapsed)return new gs(this.document);const{start:n,end:i}=this._breakAttributesRange(e,!0),r=n.parent,o=i.offset-n.offset,a=r._removeChildren(n.offset,o);for(const t of a)this._removeFromClonedElementsGroup(t);const s=this.mergeAttributes(n);return e.start=s,e.end=s.clone(),new gs(this.document,a)}clear(t,e){As(t,this.document);const n=t.getWalker({direction:"backward",ignoreElementEnd:!0});for(const i of n){const n=i.item;let r;if(n.is("element")&&e.isSimilar(n))r=Ga._createOn(n);else if(!i.nextPosition.isAfter(t.start)&&n.is("$textProxy")){const t=n.getAncestors().find((t=>t.is("element")&&e.isSimilar(t)));t&&(r=Ga._createIn(t))}r&&(r.end.isAfter(t.end)&&(r.end=t.end),r.start.isBefore(t.start)&&(r.start=t.start),this.remove(r))}}move(t,e){let n;if(e.isAfter(t.end)){const i=(e=this._breakAttributes(e,!0)).parent,r=i.childCount;t=this._breakAttributesRange(t,!0),n=this.remove(t),e.offset+=i.childCount-r}else n=this.remove(t);return this.insert(e,n)}wrap(t,e){if(!(e instanceof rs))throw new wi("view-writer-wrap-invalid-attribute",this.document);if(As(t,this.document),t.isCollapsed){let i=t.start;i.parent.is("element")&&(n=i.parent,!Array.from(n.getChildren()).some((t=>!t.is("uiElement"))))&&(i=i.getLastMatchingPosition((t=>t.item.is("uiElement")))),i=this._wrapPosition(i,e);const r=this.document.selection;return r.isCollapsed&&r.getFirstPosition().isEqual(t.start)&&this.setSelection(i),new Ga(i)}return this._wrapRange(t,e);var n}unwrap(t,e){if(!(e instanceof rs))throw new wi("view-writer-unwrap-invalid-attribute",this.document);if(As(t,this.document),t.isCollapsed)return t;const{start:n,end:i}=this._breakAttributesRange(t,!0),r=n.parent,o=this._unwrapChildren(r,n.offset,i.offset,e),a=this.mergeAttributes(o.start);a.isEqual(o.start)||o.end.offset--;const s=this.mergeAttributes(o.end);return new Ga(a,s)}rename(t,e){const n=new ja(this.document,t,e.getAttributes());return this.insert(Ua._createAfter(e),n),this.move(Ga._createIn(e),Ua._createAt(n,0)),this.remove(Ga._createOn(e)),n}clearClonedElementsGroup(t){this._cloneGroups.delete(t)}createPositionAt(t,e){return Ua._createAt(t,e)}createPositionAfter(t){return Ua._createAfter(t)}createPositionBefore(t){return Ua._createBefore(t)}createRange(t,e){return new Ga(t,e)}createRangeOn(t){return Ga._createOn(t)}createRangeIn(t){return Ga._createIn(t)}createSelection(...t){return new Ka(...t)}createSlot(t="children"){if(!this._slotFactory)throw new wi("view-writer-invalid-create-slot-context",this.document);return this._slotFactory(this,t)}_registerSlotFactory(t){this._slotFactory=t}_clearSlotFactory(){this._slotFactory=null}_insertNodes(t,e,n){let i,r;if(i=n?ms(t):t.parent.is("$text")?t.parent.parent:t.parent,!i)throw new wi("view-writer-invalid-position-container",this.document);r=n?this._breakAttributes(t,!0):t.parent.is("$text")?ks(t):t;const o=i._insertChild(r.offset,e);for(const t of e)this._addToClonedElementsGroup(t);const a=r.getShiftedBy(o),s=this.mergeAttributes(r);s.isEqual(r)||a.offset--;const c=this.mergeAttributes(a);return new Ga(s,c)}_wrapChildren(t,e,n,i){let r=e;const o=[];for(;r!1,t.parent._insertChild(t.offset,n);const i=new Ga(t,t.getShiftedBy(1));this.wrap(i,e);const r=new Ua(n.parent,n.index);n._remove();const o=r.nodeBefore,a=r.nodeAfter;return o instanceof ra&&a instanceof ra?vs(o,a):ws(r)}_wrapAttributeElement(t,e){if(!xs(t,e))return!1;if(t.name!==e.name||t.priority!==e.priority)return!1;for(const n of t.getAttributeKeys())if("class"!==n&&"style"!==n&&e.hasAttribute(n)&&e.getAttribute(n)!==t.getAttribute(n))return!1;for(const n of t.getStyleNames())if(e.hasStyle(n)&&e.getStyle(n)!==t.getStyle(n))return!1;for(const n of t.getAttributeKeys())"class"!==n&&"style"!==n&&(e.hasAttribute(n)||this.setAttribute(n,t.getAttribute(n),e));for(const n of t.getStyleNames())e.hasStyle(n)||this.setStyle(n,t.getStyle(n),e);for(const n of t.getClassNames())e.hasClass(n)||this.addClass(n,e);return!0}_unwrapAttributeElement(t,e){if(!xs(t,e))return!1;if(t.name!==e.name||t.priority!==e.priority)return!1;for(const n of t.getAttributeKeys())if("class"!==n&&"style"!==n&&(!e.hasAttribute(n)||e.getAttribute(n)!==t.getAttribute(n)))return!1;if(!e.hasClass(...t.getClassNames()))return!1;for(const n of t.getStyleNames())if(!e.hasStyle(n)||e.getStyle(n)!==t.getStyle(n))return!1;for(const n of t.getAttributeKeys())"class"!==n&&"style"!==n&&this.removeAttribute(n,e);return this.removeClass(Array.from(t.getClassNames()),e),this.removeStyle(Array.from(t.getStyleNames()),e),!0}_breakAttributesRange(t,e=!1){const n=t.start,i=t.end;if(As(t,this.document),t.isCollapsed){const n=this._breakAttributes(t.start,e);return new Ga(n,n)}const r=this._breakAttributes(i,e),o=r.parent.childCount,a=this._breakAttributes(n,e);return r.offset+=r.parent.childCount-o,new Ga(a,r)}_breakAttributes(t,e=!1){const n=t.offset,i=t.parent;if(t.parent.is("emptyElement"))throw new wi("view-writer-cannot-break-empty-element",this.document);if(t.parent.is("uiElement"))throw new wi("view-writer-cannot-break-ui-element",this.document);if(t.parent.is("rawElement"))throw new wi("view-writer-cannot-break-raw-element",this.document);if(!e&&i.is("$text")&&Cs(i.parent))return t.clone();if(Cs(i))return t.clone();if(i.is("$text"))return this._breakAttributes(ks(t),e);if(n==i.childCount){const t=new Ua(i.parent,i.index+1);return this._breakAttributes(t,e)}if(0===n){const t=new Ua(i.parent,i.index);return this._breakAttributes(t,e)}{const t=i.index+1,r=i._clone();i.parent._insertChild(t,r),this._addToClonedElementsGroup(r);const o=i.childCount-n,a=i._removeChildren(n,o);r._appendChild(a);const s=new Ua(i.parent,t);return this._breakAttributes(s,e)}}_addToClonedElementsGroup(t){if(!t.root.is("rootElement"))return;if(t.is("element"))for(const e of t.getChildren())this._addToClonedElementsGroup(e);const e=t.id;if(!e)return;let n=this._cloneGroups.get(e);n||(n=new Set,this._cloneGroups.set(e,n)),n.add(t),t._clonesGroup=n}_removeFromClonedElementsGroup(t){if(t.is("element"))for(const e of t.getChildren())this._removeFromClonedElementsGroup(e);const e=t.id;if(!e)return;const n=this._cloneGroups.get(e);n&&n.delete(t)}}function ms(t){let e=t.parent;for(;!Cs(e);){if(!e)return;e=e.parent}return e}function bs(t,e){return t.prioritye.priority)&&t.getIdentity()n instanceof t)))throw new wi("view-writer-insert-invalid-node-type",e);n.is("$text")||_s(n.getChildren(),e)}}function Cs(t){return t&&(t.is("containerElement")||t.is("documentFragment"))}function As(t,e){const n=ms(t.start),i=ms(t.end);if(!n||!i||n!==i)throw new wi("view-writer-invalid-range-container",e)}function xs(t,e){return null===t.id&&null===e.id}const Es=t=>t.createTextNode(" "),Ts=t=>{const e=t.createElement("span");return e.dataset.ckeFiller="true",e.innerText=" ",e},Ss=t=>{const e=t.createElement("br");return e.dataset.ckeFiller="true",e},Ds="⁠".repeat(7);function Is(t){return"string"==typeof t?t.substr(0,7)===Ds:dr(t)&&t.data.substr(0,7)===Ds}function Bs(t){return 7==t.data.length&&Is(t)}function Ms(t){const e="string"==typeof t?t:t.data;return Is(t)?e.slice(7):e}function Ps(t,e){if(e.keyCode==Gr.arrowleft){const t=e.domTarget.ownerDocument.defaultView.getSelection();if(1==t.rangeCount&&t.getRangeAt(0).collapsed){const e=t.getRangeAt(0).startContainer,n=t.getRangeAt(0).startOffset;Is(e)&&n<=7&&t.collapse(e,0)}}}var Ls=n(8264),Os={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Ls.A,Os);Ls.A.locals;class Ns extends(Vi()){domDocuments=new Set;domConverter;markedAttributes=new Set;markedChildren=new Set;markedTexts=new Set;selection;_inlineFiller=null;_fakeSelectionContainer=null;constructor(t,e){super(),this.domConverter=t,this.selection=e,this.set("isFocused",!1),this.set("isSelecting",!1),this.set("isComposing",!1),Jn.isBlink&&!Jn.isAndroid&&this.on("change:isSelecting",(()=>{this.isSelecting||this.render()}))}markToSync(t,e){if("text"===t)this.domConverter.mapViewToDom(e.parent)&&this.markedTexts.add(e);else{if(!this.domConverter.mapViewToDom(e))return;if("attributes"===t)this.markedAttributes.add(e);else{if("children"!==t){throw new wi("view-renderer-unknown-type",this)}this.markedChildren.add(e)}}}render(){if(this.isComposing&&!Jn.isAndroid)return;let t=null;const e=!(Jn.isBlink&&!Jn.isAndroid)||!this.isSelecting;for(const t of this.markedChildren)this._updateChildrenMappings(t);e?(this._inlineFiller&&!this._isSelectionInInlineFiller()&&this._removeInlineFiller(),this._inlineFiller?t=this._getInlineFillerPosition():this._needsInlineFillerAtSelection()&&(t=this.selection.getFirstPosition(),this.markedChildren.add(t.parent))):this._inlineFiller&&this._inlineFiller.parentNode&&(t=this.domConverter.domPositionToView(this._inlineFiller),t&&t.parent.is("$text")&&(t=Ua._createBefore(t.parent)));for(const t of this.markedAttributes)this._updateAttrs(t);for(const e of this.markedChildren)this._updateChildren(e,{inlineFillerPosition:t});for(const e of this.markedTexts)!this.markedChildren.has(e.parent)&&this.domConverter.mapViewToDom(e.parent)&&this._updateText(e,{inlineFillerPosition:t});if(e)if(t){const e=this.domConverter.viewPositionToDom(t),n=e.parent.ownerDocument;Is(e.parent)?this._inlineFiller=e.parent:this._inlineFiller=Rs(n,e.parent,e.offset)}else this._inlineFiller=null;this._updateFocus(),this._updateSelection(),this.domConverter._clearTemporaryCustomProperties(),this.markedTexts.clear(),this.markedAttributes.clear(),this.markedChildren.clear()}_updateChildrenMappings(t){const e=this.domConverter.mapViewToDom(t);if(!e)return;const n=Array.from(e.childNodes),i=Array.from(this.domConverter.viewChildrenToDom(t,{withChildren:!1})),r=this._diffNodeLists(n,i),o=this._findUpdateActions(r,n,i,Fs);if(-1!==o.indexOf("update")){const e={equal:0,insert:0,delete:0};for(const r of o)if("update"===r){const r=e.equal+e.insert,o=e.equal+e.delete,a=t.getChild(r);!a||a.is("uiElement")||a.is("rawElement")||this._updateElementMappings(a,n[o]),Mr(i[r]),e.equal++}else e[r]++}}_updateElementMappings(t,e){this.domConverter.unbindDomElement(e),this.domConverter.bindElements(e,t),this.markedChildren.add(t),this.markedAttributes.add(t)}_getInlineFillerPosition(){const t=this.selection.getFirstPosition();return t.parent.is("$text")?Ua._createBefore(t.parent):t}_isSelectionInInlineFiller(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const t=this.selection.getFirstPosition(),e=this.domConverter.viewPositionToDom(t);return!!(e&&dr(e.parent)&&Is(e.parent))}_removeInlineFiller(){const t=this._inlineFiller;if(!Is(t))throw new wi("view-renderer-filler-was-lost",this);Bs(t)?t.remove():t.data=t.data.substr(7),this._inlineFiller=null}_needsInlineFillerAtSelection(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const t=this.selection.getFirstPosition(),e=t.parent,n=t.offset;if(!this.domConverter.mapViewToDom(e.root))return!1;if(!e.is("element"))return!1;if(!function(t){if("false"==t.getAttribute("contenteditable"))return!1;const e=t.findAncestor((t=>t.hasAttribute("contenteditable")));return!e||"true"==e.getAttribute("contenteditable")}(e))return!1;const i=t.nodeBefore,r=t.nodeAfter;return!(i instanceof ra||r instanceof ra)&&(!!(n!==e.getFillerOffset()||i&&i.is("element","br"))&&(!Jn.isAndroid||!i&&!r))}_updateText(t,e){const n=this.domConverter.findCorrespondingDomText(t);let i=this.domConverter.viewToDom(t).data;const r=e.inlineFillerPosition;r&&r.parent==t.parent&&r.offset==t.index&&(i=Ds+i),this._updateTextNode(n,i)}_updateAttrs(t){const e=this.domConverter.mapViewToDom(t);if(e){for(const n of e.attributes){const i=n.name;t.hasAttribute(i)||this.domConverter.removeDomElementAttribute(e,i)}for(const n of t.getAttributeKeys())this.domConverter.setDomElementAttribute(e,n,t.getAttribute(n),t)}}_updateChildren(t,e){const n=this.domConverter.mapViewToDom(t);if(!n)return;if(Jn.isAndroid){let t=null;for(const e of Array.from(n.childNodes)){if(t&&dr(t)&&dr(e)){n.normalize();break}t=e}}const i=e.inlineFillerPosition,r=n.childNodes,o=Array.from(this.domConverter.viewChildrenToDom(t,{bind:!0}));i&&i.parent===t&&Rs(n.ownerDocument,o,i.offset);const a=this._diffNodeLists(r,o),s=this._findUpdateActions(a,r,o,js);let c=0;const l=new Set;for(const t of s)"delete"===t?(l.add(r[c]),Mr(r[c])):"equal"!==t&&"update"!==t||c++;c=0;for(const t of s)"insert"===t?(xr(n,c,o[c]),c++):"update"===t?(this._updateTextNode(r[c],o[c].data),c++):"equal"===t&&(this._markDescendantTextToSync(this.domConverter.domToView(o[c])),c++);for(const t of l)t.parentNode||this.domConverter.unbindDomElement(t)}_diffNodeLists(t,e){return hi(t=function(t,e){const n=Array.from(t);if(0==n.length||!e)return n;n[n.length-1]==e&&n.pop();return n}(t,this._fakeSelectionContainer),e,$s.bind(null,this.domConverter))}_findUpdateActions(t,e,n,i){if(-1===t.indexOf("insert")||-1===t.indexOf("delete"))return t;let r=[],o=[],a=[];const s={equal:0,insert:0,delete:0};for(const c of t)"insert"===c?a.push(n[s.equal+s.insert]):"delete"===c?o.push(e[s.equal+s.delete]):(r=r.concat(hi(o,a,i).map((t=>"equal"===t?"update":t))),r.push("equal"),o=[],a=[]),s[c]++;return r.concat(hi(o,a,i).map((t=>"equal"===t?"update":t)))}_updateTextNode(t,e){const n=t.data;n!=e&&(Jn.isAndroid&&this.isComposing&&n.replace(/\u00A0/g," ")==e.replace(/\u00A0/g," ")||this._updateTextNodeInternal(t,e))}_updateTextNodeInternal(t,e){const n=ci(t.data,e);for(const e of n)"insert"===e.type?t.insertData(e.index,e.values.join("")):t.deleteData(e.index,e.howMany)}_markDescendantTextToSync(t){if(t)if(t.is("$text"))this.markedTexts.add(t);else if(t.is("element"))for(const e of t.getChildren())this._markDescendantTextToSync(e)}_updateSelection(){if(Jn.isBlink&&!Jn.isAndroid&&this.isSelecting&&!this.markedChildren.size)return;if(0===this.selection.rangeCount)return this._removeDomSelection(),void this._removeFakeSelection();const t=this.domConverter.mapViewToDom(this.selection.editableElement);this.isFocused&&t&&(this.selection.isFake?this._updateFakeSelection(t):this._fakeSelectionContainer&&this._fakeSelectionContainer.isConnected?(this._removeFakeSelection(),this._updateDomSelection(t)):this.isComposing&&Jn.isAndroid||this._updateDomSelection(t))}_updateFakeSelection(t){const e=t.ownerDocument;this._fakeSelectionContainer||(this._fakeSelectionContainer=function(t){const e=t.createElement("div");return e.className="ck-fake-selection-container",Object.assign(e.style,{position:"fixed",top:0,left:"-9999px",width:"42px"}),e.textContent=" ",e}(e));const n=this._fakeSelectionContainer;if(this.domConverter.bindFakeSelection(n,this.selection),!this._fakeSelectionNeedsUpdate(t))return;n.parentElement&&n.parentElement==t||t.appendChild(n),n.textContent=this.selection.fakeSelectionLabel||" ";const i=e.getSelection(),r=e.createRange();i.removeAllRanges(),r.selectNodeContents(n),i.addRange(r)}_updateDomSelection(t){const e=t.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(e))return;const n=this.domConverter.viewPositionToDom(this.selection.anchor),i=this.domConverter.viewPositionToDom(this.selection.focus);e.setBaseAndExtent(n.parent,n.offset,i.parent,i.offset),Jn.isGecko&&function(t,e){let n=t.parent,i=t.offset;dr(n)&&Bs(n)&&(i=Ar(n)+1,n=n.parentNode);if(n.nodeType!=Node.ELEMENT_NODE||i!=n.childNodes.length-1)return;const r=n.childNodes[i];r&&"BR"==r.tagName&&e.addRange(e.getRangeAt(0))}(i,e)}_domSelectionNeedsUpdate(t){if(!this.domConverter.isDomSelectionCorrect(t))return!0;const e=t&&this.domConverter.domSelectionToView(t);return(!e||!this.selection.isEqual(e))&&!(!this.selection.isCollapsed&&this.selection.isSimilar(e))}_fakeSelectionNeedsUpdate(t){const e=this._fakeSelectionContainer,n=t.ownerDocument.getSelection();return!e||e.parentElement!==t||(n.anchorNode!==e&&!e.contains(n.anchorNode)||e.textContent!==this.selection.fakeSelectionLabel)}_removeDomSelection(){for(const t of this.domDocuments){const e=t.getSelection();if(e.rangeCount){const n=t.activeElement,i=this.domConverter.mapDomToView(n);n&&i&&e.removeAllRanges()}}}_removeFakeSelection(){const t=this._fakeSelectionContainer;t&&t.remove()}_updateFocus(){if(this.isFocused){const t=this.selection.editableElement;t&&this.domConverter.focus(t)}}}function Rs(t,e,n){const i=e instanceof Array?e:e.childNodes,r=i[n];if(dr(r))return r.data=Ds+r.data,r;{const r=t.createTextNode(Ds);return Array.isArray(e)?i.splice(n,0,r):xr(e,n,r),r}}function Fs(t,e){return nr(t)&&nr(e)&&!dr(t)&&!dr(e)&&!Er(t)&&!Er(e)&&t.tagName.toLowerCase()===e.tagName.toLowerCase()}function js(t,e){return nr(t)&&nr(e)&&dr(t)&&dr(e)}function $s(t,e,n){return e===n||(dr(e)&&dr(n)?e.data===n.data:!(!t.isBlockFiller(e)||!t.isBlockFiller(n)))}const zs=Ss(Xn.document),Vs=Es(Xn.document),Hs=Ts(Xn.document),qs="data-ck-unsafe-attribute-",Us="data-ck-unsafe-element";class Gs{document;renderingMode;blockFillerMode;preElements;blockElements;inlineObjectElements;unsafeElements;_domDocument;_domToViewMapping=new WeakMap;_viewToDomMapping=new WeakMap;_fakeSelectionMapping=new WeakMap;_rawContentElementMatcher=new aa;_inlineObjectElementMatcher=new aa;_elementsWithTemporaryCustomProperties=new Set;constructor(t,{blockFillerMode:e,renderingMode:n="editing"}={}){this.document=t,this.renderingMode=n,this.blockFillerMode=e||("editing"===n?"br":"nbsp"),this.preElements=["pre"],this.blockElements=["address","article","aside","blockquote","caption","center","dd","details","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","legend","li","main","menu","nav","ol","p","pre","section","summary","table","tbody","td","tfoot","th","thead","tr","ul"],this.inlineObjectElements=["object","iframe","input","button","textarea","select","option","video","embed","audio","img","canvas"],this.unsafeElements=["script","style"],this._domDocument="editing"===this.renderingMode?Xn.document:Xn.document.implementation.createHTMLDocument("")}bindFakeSelection(t,e){this._fakeSelectionMapping.set(t,new Ka(e))}fakeSelectionToView(t){return this._fakeSelectionMapping.get(t)}bindElements(t,e){this._domToViewMapping.set(t,e),this._viewToDomMapping.set(e,t)}unbindDomElement(t){const e=this._domToViewMapping.get(t);if(e){this._domToViewMapping.delete(t),this._viewToDomMapping.delete(e);for(const e of t.children)this.unbindDomElement(e)}}bindDocumentFragments(t,e){this._domToViewMapping.set(t,e),this._viewToDomMapping.set(e,t)}shouldRenderAttribute(t,e,n){return"data"===this.renderingMode||!(t=t.toLowerCase()).startsWith("on")&&(("srcdoc"!==t||!e.match(/\bon\S+\s*=|javascript:|<\s*\/*script/i))&&("img"===n&&("src"===t||"srcset"===t)||("source"===n&&"srcset"===t||!e.match(/^\s*(javascript:|data:(image\/svg|text\/x?html))/i))))}setContentOf(t,e){if("data"===this.renderingMode)return void(t.innerHTML=e);const n=(new DOMParser).parseFromString(e,"text/html"),i=n.createDocumentFragment(),r=n.body.childNodes;for(;r.length>0;)i.appendChild(r[0]);const o=n.createTreeWalker(i,NodeFilter.SHOW_ELEMENT),a=[];let s;for(;s=o.nextNode();)a.push(s);for(const t of a){for(const e of t.getAttributeNames())this.setDomElementAttribute(t,e,t.getAttribute(e));const e=t.tagName.toLowerCase();this._shouldRenameElement(e)&&(Ys(e),t.replaceWith(this._createReplacementDomElement(e,t)))}for(;t.firstChild;)t.firstChild.remove();t.append(i)}viewToDom(t,e={}){if(t.is("$text")){const e=this._processDataFromViewText(t);return this._domDocument.createTextNode(e)}{const n=t;if(this.mapViewToDom(n)){if(!n.getCustomProperty("editingPipeline:doNotReuseOnce"))return this.mapViewToDom(n);this._elementsWithTemporaryCustomProperties.add(n)}let i;if(n.is("documentFragment"))i=this._domDocument.createDocumentFragment(),e.bind&&this.bindDocumentFragments(i,n);else{if(n.is("uiElement"))return i="$comment"===n.name?this._domDocument.createComment(n.getCustomProperty("$rawContent")):n.render(this._domDocument,this),e.bind&&this.bindElements(i,n),i;this._shouldRenameElement(n.name)?(Ys(n.name),i=this._createReplacementDomElement(n.name)):i=n.hasAttribute("xmlns")?this._domDocument.createElementNS(n.getAttribute("xmlns"),n.name):this._domDocument.createElement(n.name),n.is("rawElement")&&n.render(i,this),e.bind&&this.bindElements(i,n);for(const t of n.getAttributeKeys())this.setDomElementAttribute(i,t,n.getAttribute(t),n)}if(!1!==e.withChildren)for(const t of this.viewChildrenToDom(n,e))i instanceof HTMLTemplateElement?i.content.appendChild(t):i.appendChild(t);return i}}setDomElementAttribute(t,e,n,i){const r=this.shouldRenderAttribute(e,n,t.tagName.toLowerCase())||i&&i.shouldRenderUnsafeAttribute(e);r||ki("domconverter-unsafe-attribute-detected",{domElement:t,key:e,value:n}),Tr(e)?(t.hasAttribute(e)&&!r?t.removeAttribute(e):t.hasAttribute(qs+e)&&r&&t.removeAttribute(qs+e),t.setAttribute(r?e:qs+e,n)):ki("domconverter-invalid-attribute-detected",{domElement:t,key:e,value:n})}removeDomElementAttribute(t,e){e!=Us&&(t.removeAttribute(e),t.removeAttribute(qs+e))}*viewChildrenToDom(t,e={}){const n=t.getFillerOffset&&t.getFillerOffset();let i=0;for(const r of t.getChildren()){n===i&&(yield this._getBlockFiller());const t=r.is("element")&&!!r.getCustomProperty("dataPipeline:transparentRendering")&&!xo(r.getAttributes());if(t&&"data"==this.renderingMode)if(r.is("rawElement")){const t=this._domDocument.createElement(r.name);r.render(t,this),yield*[...t.childNodes]}else yield*this.viewChildrenToDom(r,e);else t&&ki("domconverter-transparent-rendering-unsupported-in-editing-pipeline",{viewElement:r}),yield this.viewToDom(r,e);i++}n===i&&(yield this._getBlockFiller())}viewRangeToDom(t){const e=this.viewPositionToDom(t.start),n=this.viewPositionToDom(t.end),i=this._domDocument.createRange();return i.setStart(e.parent,e.offset),i.setEnd(n.parent,n.offset),i}viewPositionToDom(t){const e=t.parent;if(e.is("$text")){const n=this.findCorrespondingDomText(e);if(!n)return null;let i=t.offset;return Is(n)&&(i+=7),{parent:n,offset:i}}{let n,i,r;if(0===t.offset){if(n=this.mapViewToDom(e),!n)return null;r=n.childNodes[0]}else{const e=t.nodeBefore;if(i=e.is("$text")?this.findCorrespondingDomText(e):this.mapViewToDom(e),!i)return null;n=i.parentNode,r=i.nextSibling}if(dr(r)&&Is(r))return{parent:r,offset:7};return{parent:n,offset:i?Ar(i)+1:0}}}domToView(t,e={}){const n=[],i=this._domToView(t,e,n),r=i.next().value;return r?(i.next(),this._processDomInlineNodes(null,n,e),r.is("$text")&&0==r.data.length?null:r):null}*domChildrenToView(t,e={},n=[]){let i=[];i=t instanceof HTMLTemplateElement?[...t.content.childNodes]:[...t.childNodes];for(let r=0;r{const{scrollLeft:e,scrollTop:n}=t;i.push([e,n])})),e.focus(),Ws(e,(t=>{const[e,n]=i.shift();t.scrollLeft=e,t.scrollTop=n})),Xn.window.scrollTo(t,n)}}_clearDomSelection(){const t=this.mapViewToDom(this.document.selection.editableElement);if(!t)return;const e=t.ownerDocument.defaultView.getSelection(),n=this.domSelectionToView(e);n&&n.rangeCount>0&&e.removeAllRanges()}isElement(t){return t&&t.nodeType==Node.ELEMENT_NODE}isDocumentFragment(t){return t&&t.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isBlockFiller(t){return"br"==this.blockFillerMode?t.isEqualNode(zs):!("BR"!==t.tagName||!Ks(t,this.blockElements)||1!==t.parentNode.childNodes.length)||(t.isEqualNode(Hs)||function(t,e){const n=t.isEqualNode(Vs);return n&&Ks(t,e)&&1===t.parentNode.childNodes.length}(t,this.blockElements))}isDomSelectionBackward(t){if(t.isCollapsed)return!1;const e=this._domDocument.createRange();try{e.setStart(t.anchorNode,t.anchorOffset),e.setEnd(t.focusNode,t.focusOffset)}catch(t){return!1}const n=e.collapsed;return e.detach(),n}getHostViewElement(t){const e=cr(t);for(e.pop();e.length;){const t=e.pop(),n=this._domToViewMapping.get(t);if(n&&(n.is("uiElement")||n.is("rawElement")))return n}return null}isDomSelectionCorrect(t){return this._isDomSelectionPositionCorrect(t.anchorNode,t.anchorOffset)&&this._isDomSelectionPositionCorrect(t.focusNode,t.focusOffset)}registerRawContentMatcher(t){this._rawContentElementMatcher.add(t)}registerInlineObjectMatcher(t){this._inlineObjectElementMatcher.add(t)}_clearTemporaryCustomProperties(){for(const t of this._elementsWithTemporaryCustomProperties)t._removeCustomProperty("editingPipeline:doNotReuseOnce");this._elementsWithTemporaryCustomProperties.clear()}_getBlockFiller(){switch(this.blockFillerMode){case"nbsp":return Es(this._domDocument);case"markedNbsp":return Ts(this._domDocument);case"br":return Ss(this._domDocument)}}_isDomSelectionPositionCorrect(t,e){if(dr(t)&&Is(t)&&e<7)return!1;if(this.isElement(t)&&Is(t.childNodes[e]))return!1;const n=this.mapDomToView(t);return!n||!n.is("uiElement")&&!n.is("rawElement")}*_domToView(t,e,n){if(this.isBlockFiller(t))return null;const i=this.getHostViewElement(t);if(i)return i;if(Er(t)&&e.skipComments)return null;if(dr(t)){if(Bs(t))return null;{const e=t.data;if(""===e)return null;const i=new ra(this.document,e);return n.push(i),i}}{let i=this.mapDomToView(t);if(i)return this._isInlineObjectElement(i)&&n.push(i),i;if(this.isDocumentFragment(t))i=new gs(this.document),e.bind&&this.bindDocumentFragments(t,i);else{i=this._createViewElement(t,e),e.bind&&this.bindElements(t,i);const r=t.attributes;if(r)for(let t=r.length,e=0;e0?e[t-1]:null,c=t+1t.is("element")&&e.includes(t.name)))}(t,this.preElements))return!0;for(const e of t.getAncestors({parentFirst:!0}))if(e.is("element")&&e.hasStyle("white-space")&&"inherit"!==e.getStyle("white-space"))return["pre","pre-wrap","break-spaces"].includes(e.getStyle("white-space"));return!1}_getTouchingInlineViewNode(t,e){const n=new qa({startPosition:e?Ua._createAfter(t):Ua._createBefore(t),direction:e?"forward":"backward"});for(const{item:t}of n){if(t.is("$textProxy"))return t;if(!t.is("element")||!t.getCustomProperty("dataPipeline:transparentRendering")){if(t.is("element","br"))return null;if(this._isInlineObjectElement(t))return t;if(t.is("containerElement"))return null}}return null}_isBlockDomElement(t){return this.isElement(t)&&this.blockElements.includes(t.tagName.toLowerCase())}_isBlockViewElement(t){return t.is("element")&&this.blockElements.includes(t.name)}_isInlineObjectElement(t){return!!t.is("element")&&("br"==t.name||this.inlineObjectElements.includes(t.name)||!!this._inlineObjectElementMatcher.match(t))}_createViewElement(t,e){if(Er(t))return new ls(this.document,"$comment");const n=e.keepOriginalCase?t.tagName:t.tagName.toLowerCase();return new Ra(this.document,n)}_isViewElementWithRawContent(t,e){return!1!==e.withChildren&&t.is("element")&&!!this._rawContentElementMatcher.match(t)}_shouldRenameElement(t){const e=t.toLowerCase();return"editing"===this.renderingMode&&this.unsafeElements.includes(e)}_createReplacementDomElement(t,e){const n=this._domDocument.createElement("span");if(n.setAttribute(Us,t),e){for(;e.firstChild;)n.appendChild(e.firstChild);for(const t of e.getAttributeNames())n.setAttribute(t,e.getAttribute(t))}return n}}function Ws(t,e){let n=t;for(;n;)e(n),n=n.parentElement}function Ks(t,e){const n=t.parentNode;return!!n&&!!n.tagName&&e.includes(n.tagName.toLowerCase())}function Ys(t){"script"===t&&ki("domconverter-unsafe-script-element-detected"),"style"===t&&ki("domconverter-unsafe-style-element-detected")}class Xs extends(or()){view;document;_isEnabled=!1;constructor(t){super(),this.view=t,this.document=t.document}get isEnabled(){return this._isEnabled}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}destroy(){this.disable(),this.stopListening()}checkShouldIgnoreEventFromTarget(t){return t&&3===t.nodeType&&(t=t.parentNode),!(!t||1!==t.nodeType)&&t.matches("[data-cke-ignore-events], [data-cke-ignore-events] *")}}const Zs=wo((function(t,e){Yt(e,Pe(e),t)}));class Qs{view;document;domEvent;domTarget;constructor(t,e,n){this.view=t,this.document=t.document,this.domEvent=e,this.domTarget=e.target,Zs(this,n)}get target(){return this.view.domConverter.mapDomToView(this.domTarget)}preventDefault(){this.domEvent.preventDefault()}stopPropagation(){this.domEvent.stopPropagation()}}class Js extends Xs{useCapture=!1;usePassive=!1;observe(t){("string"==typeof this.domEventType?[this.domEventType]:this.domEventType).forEach((e=>{this.listenTo(t,e,((t,e)=>{this.isEnabled&&!this.checkShouldIgnoreEventFromTarget(e.target)&&this.onDomEvent(e)}),{useCapture:this.useCapture,usePassive:this.usePassive})}))}stopObserving(t){this.stopListening(t)}fire(t,e,n){this.isEnabled&&this.document.fire(t,new Qs(this.view,e,n))}}class tc extends Js{domEventType=["keydown","keyup"];onDomEvent(t){const e={keyCode:t.keyCode,altKey:t.altKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,metaKey:t.metaKey,get keystroke(){return Kr(this)}};this.fire(t.type,t,e)}}class ec extends Xs{_fireSelectionChangeDoneDebounced;constructor(t){super(t),this._fireSelectionChangeDoneDebounced=L((t=>{this.document.fire("selectionChangeDone",t)}),200)}observe(){const t=this.document;t.on("arrowKey",((e,n)=>{t.selection.isFake&&this.isEnabled&&n.preventDefault()}),{context:"$capture"}),t.on("arrowKey",((e,n)=>{t.selection.isFake&&this.isEnabled&&this._handleSelectionMove(n.keyCode)}),{priority:"lowest"})}stopObserving(){}destroy(){super.destroy(),this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(t){const e=this.document.selection,n=new Ka(e.getRanges(),{backward:e.isBackward,fake:!1});t!=Gr.arrowleft&&t!=Gr.arrowup||n.setTo(n.getFirstPosition()),t!=Gr.arrowright&&t!=Gr.arrowdown||n.setTo(n.getLastPosition());const i={oldSelection:e,newSelection:n,domSelection:null};this.document.fire("selectionChange",i),this._fireSelectionChangeDoneDebounced(i)}}const nc=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this};const ic=function(t){return this.__data__.has(t)};function rc(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new $t;++es))return!1;var l=o.get(t),u=o.get(e);if(l&&u)return l==e&&u==t;var h=-1,d=!0,f=2&n?new oc:void 0;for(o.set(t,e),o.set(e,t);++hthis._handleFocus())),e.on("blur",((t,e)=>this._handleBlur(e))),e.on("beforeinput",(()=>{e.isFocused||this._handleFocus()}),{priority:"highest"})}flush(){this._isFocusChanging&&(this._isFocusChanging=!1,this.document.isFocused=!0)}onDomEvent(t){this.fire(t.type,t)}destroy(){this._clearTimeout(),super.destroy()}_handleFocus(){this._clearTimeout(),this._isFocusChanging=!0,this._renderTimeoutId=setTimeout((()=>{this._renderTimeoutId=null,this.flush(),this.view.change((()=>{}))}),50)}_handleBlur(t){const e=this.document.selection.editableElement;null!==e&&e!==t.target||(this.document.isFocused=!1,this._isFocusChanging=!1,this.view.change((()=>{})))}_clearTimeout(){this._renderTimeoutId&&(clearTimeout(this._renderTimeoutId),this._renderTimeoutId=null)}}class Ec extends Xs{mutationObserver;focusObserver;selection;domConverter;_documents;_fireSelectionChangeDoneDebounced;_clearInfiniteLoopInterval;_documentIsSelectingInactivityTimeoutDebounced;_loopbackCounter;constructor(t){super(t),this.mutationObserver=t.getObserver(Cc),this.focusObserver=t.getObserver(xc),this.selection=this.document.selection,this.domConverter=t.domConverter,this._documents=new WeakSet,this._fireSelectionChangeDoneDebounced=L((t=>{this.document.fire("selectionChangeDone",t)}),200),this._clearInfiniteLoopInterval=setInterval((()=>this._clearInfiniteLoop()),1e3),this._documentIsSelectingInactivityTimeoutDebounced=L((()=>this.document.isSelecting=!1),5e3),this._loopbackCounter=0}observe(t){const e=t.ownerDocument,n=()=>{this.document.isSelecting&&(this._handleSelectionChange(e),this.document.isSelecting=!1,this._documentIsSelectingInactivityTimeoutDebounced.cancel())};this.listenTo(t,"selectstart",(()=>{this.document.isSelecting=!0,this._documentIsSelectingInactivityTimeoutDebounced()}),{priority:"highest"}),this.listenTo(t,"keydown",n,{priority:"highest",useCapture:!0}),this.listenTo(t,"keyup",n,{priority:"highest",useCapture:!0}),this._documents.has(e)||(this.listenTo(e,"mouseup",n,{priority:"highest",useCapture:!0}),this.listenTo(e,"selectionchange",(()=>{this.document.isComposing&&!Jn.isAndroid||(this._handleSelectionChange(e),this._documentIsSelectingInactivityTimeoutDebounced())})),this.listenTo(this.view.document,"compositionstart",(()=>{this._handleSelectionChange(e)}),{priority:"lowest"}),this._documents.add(e))}stopObserving(t){this.stopListening(t)}destroy(){super.destroy(),clearInterval(this._clearInfiniteLoopInterval),this._fireSelectionChangeDoneDebounced.cancel(),this._documentIsSelectingInactivityTimeoutDebounced.cancel()}_reportInfiniteLoop(){}_handleSelectionChange(t){if(!this.isEnabled)return;const e=t.defaultView.getSelection();if(this.checkShouldIgnoreEventFromTarget(e.anchorNode))return;this.mutationObserver.flush();const n=this.domConverter.domSelectionToView(e);if(0!=n.rangeCount){if(this.view.hasDomSelection=!0,this.focusObserver.flush(),!this.selection.isEqual(n)||!this.domConverter.isDomSelectionCorrect(e))if(++this._loopbackCounter>60)this._reportInfiniteLoop();else if(this.selection.isSimilar(n))this.view.forceRender();else{const t={oldSelection:this.selection,newSelection:n,domSelection:e};this.document.fire("selectionChange",t),this._fireSelectionChangeDoneDebounced(t)}}else this.view.hasDomSelection=!1}_clearInfiniteLoop(){this._loopbackCounter=0}}class Tc extends Js{domEventType=["compositionstart","compositionupdate","compositionend"];constructor(t){super(t);const e=this.document;e.on("compositionstart",(()=>{e.isComposing=!0}),{priority:"low"}),e.on("compositionend",(()=>{e.isComposing=!1}),{priority:"low"})}onDomEvent(t){this.fire(t.type,t,{data:t.data})}}class Sc{_files;_native;constructor(t,e={}){this._files=e.cacheFiles?Dc(t):null,this._native=t}get files(){return this._files||(this._files=Dc(this._native)),this._files}get types(){return this._native.types}getData(t){return this._native.getData(t)}setData(t,e){this._native.setData(t,e)}set effectAllowed(t){this._native.effectAllowed=t}get effectAllowed(){return this._native.effectAllowed}set dropEffect(t){this._native.dropEffect=t}get dropEffect(){return this._native.dropEffect}setDragImage(t,e,n){this._native.setDragImage(t,e,n)}get isCanceled(){return"none"==this._native.dropEffect||!!this._native.mozUserCancelled}}function Dc(t){const e=Array.from(t.files||[]),n=Array.from(t.items||[]);return e.length?e:n.filter((t=>"file"===t.kind)).map((t=>t.getAsFile()))}class Ic extends Js{domEventType="beforeinput";onDomEvent(t){const e=t.getTargetRanges(),n=this.view,i=n.document;let r=null,o=null,a=[];if(t.dataTransfer&&(r=new Sc(t.dataTransfer)),null!==t.data?o=t.data:r&&(o=r.getData("text/plain")),i.selection.isFake)a=Array.from(i.selection.getRanges());else if(e.length)a=e.map((t=>{const e=n.domConverter.domPositionToView(t.startContainer,t.startOffset),i=n.domConverter.domPositionToView(t.endContainer,t.endOffset);return e?n.createRange(e,i):i?n.createRange(i):void 0})).filter((t=>!!t));else if(Jn.isAndroid){const e=t.target.ownerDocument.defaultView.getSelection();a=Array.from(n.domConverter.domSelectionToView(e).getRanges())}if(Jn.isAndroid&&"insertCompositionText"==t.inputType&&o&&o.endsWith("\n"))this.fire(t.type,t,{inputType:"insertParagraph",targetRanges:[n.createRange(a[0].end)]});else if("insertText"==t.inputType&&o&&o.includes("\n")){const e=o.split(/\n{1,2}/g);let n=a;for(let o=0;o{if(this.isEnabled&&((n=e.keyCode)==Gr.arrowright||n==Gr.arrowleft||n==Gr.arrowup||n==Gr.arrowdown)){const n=new Xa(this.document,"arrowKey",this.document.selection.getFirstRange());this.document.fire(n,e),n.stop.called&&t.stop()}var n}))}observe(){}stopObserving(){}}class Mc extends Xs{constructor(t){super(t);const e=this.document;e.on("keydown",((t,n)=>{if(!this.isEnabled||n.keyCode!=Gr.tab||n.ctrlKey)return;const i=new Xa(e,"tab",e.selection.getFirstRange());e.fire(i,n),i.stop.called&&t.stop()}))}observe(){}stopObserving(){}}const Pc=function(t){return zn(t,5)};class Lc extends(Vi()){document;domConverter;domRoots=new Map;_renderer;_initialDomRootAttributes=new WeakMap;_observers=new Map;_writer;_ongoingChange=!1;_postFixersInProgress=!1;_renderingDisabled=!1;_hasChangedSinceTheLastRendering=!1;constructor(t){super(),this.document=new is(t),this.domConverter=new Gs(this.document),this.set("isRenderingInProgress",!1),this.set("hasDomSelection",!1),this._renderer=new Ns(this.domConverter,this.document.selection),this._renderer.bind("isFocused","isSelecting","isComposing").to(this.document,"isFocused","isSelecting","isComposing"),this._writer=new ps(this.document),this.addObserver(Cc),this.addObserver(xc),this.addObserver(Ec),this.addObserver(tc),this.addObserver(ec),this.addObserver(Tc),this.addObserver(Bc),this.addObserver(Ic),this.addObserver(Mc),this.document.on("arrowKey",Ps,{priority:"low"}),us(this),this.on("render",(()=>{this._render(),this.document.fire("layoutChanged"),this._hasChangedSinceTheLastRendering=!1})),this.listenTo(this.document.selection,"change",(()=>{this._hasChangedSinceTheLastRendering=!0})),this.listenTo(this.document,"change:isFocused",(()=>{this._hasChangedSinceTheLastRendering=!0})),Jn.isiOS&&this.listenTo(this.document,"blur",((t,e)=>{this.domConverter.mapDomToView(e.domEvent.relatedTarget)||this.domConverter._clearDomSelection()})),this.listenTo(this.document,"mutations",((t,{mutations:e})=>{e.forEach((t=>this._renderer.markToSync(t.type,t.node)))}),{priority:"low"}),this.listenTo(this.document,"mutations",(()=>{this.forceRender()}),{priority:"lowest"})}attachDomRoot(t,e="main"){const n=this.document.getRoot(e);n._name=t.tagName.toLowerCase();const i={};for(const{name:e,value:r}of Array.from(t.attributes))i[e]=r,"class"===e?this._writer.addClass(r.split(" "),n):n.hasAttribute(e)||this._writer.setAttribute(e,r,n);this._initialDomRootAttributes.set(t,i);const r=()=>{this._writer.setAttribute("contenteditable",(!n.isReadOnly).toString(),n),n.isReadOnly?this._writer.addClass("ck-read-only",n):this._writer.removeClass("ck-read-only",n)};r(),this.domRoots.set(e,t),this.domConverter.bindElements(t,n),this._renderer.markToSync("children",n),this._renderer.markToSync("attributes",n),this._renderer.domDocuments.add(t.ownerDocument),n.on("change:children",((t,e)=>this._renderer.markToSync("children",e))),n.on("change:attributes",((t,e)=>this._renderer.markToSync("attributes",e))),n.on("change:text",((t,e)=>this._renderer.markToSync("text",e))),n.on("change:isReadOnly",(()=>this.change(r))),n.on("change",(()=>{this._hasChangedSinceTheLastRendering=!0}));for(const n of this._observers.values())n.observe(t,e)}detachDomRoot(t){const e=this.domRoots.get(t);Array.from(e.attributes).forEach((({name:t})=>e.removeAttribute(t)));const n=this._initialDomRootAttributes.get(e);for(const t in n)e.setAttribute(t,n[t]);this.domRoots.delete(t),this.domConverter.unbindDomElement(e);for(const t of this._observers.values())t.stopObserving(e)}getDomRoot(t="main"){return this.domRoots.get(t)}addObserver(t){let e=this._observers.get(t);if(e)return e;e=new t(this),this._observers.set(t,e);for(const[t,n]of this.domRoots)e.observe(n,t);return e.enable(),e}getObserver(t){return this._observers.get(t)}disableObservers(){for(const t of this._observers.values())t.disable()}enableObservers(){for(const t of this._observers.values())t.enable()}scrollToTheSelection({alignToTop:t,forceScroll:e,viewportOffset:n=20,ancestorOffset:i=20}={}){const r=this.document.selection.getFirstRange();if(!r)return;const o=Pc({alignToTop:t,forceScroll:e,viewportOffset:n,ancestorOffset:i});"number"==typeof n&&(n={top:n,bottom:n,left:n,right:n});const a={target:this.domConverter.viewRangeToDom(r),viewportOffset:n,ancestorOffset:i,alignToTop:t,forceScroll:e};this.fire("scrollToTheSelection",a,o),Pr(a)}focus(){if(!this.document.isFocused){const t=this.document.selection.editableElement;t&&(this.domConverter.focus(t),this.forceRender())}}change(t){if(this.isRenderingInProgress||this._postFixersInProgress)throw new wi("cannot-change-view-tree",this);try{if(this._ongoingChange)return t(this._writer);this._ongoingChange=!0;const e=t(this._writer);return this._ongoingChange=!1,!this._renderingDisabled&&this._hasChangedSinceTheLastRendering&&(this._postFixersInProgress=!0,this.document._callPostFixers(this._writer),this._postFixersInProgress=!1,this.fire("render")),e}catch(t){wi.rethrowUnexpectedError(t,this)}}forceRender(){this._hasChangedSinceTheLastRendering=!0,this.getObserver(xc).flush(),this.change((()=>{}))}destroy(){for(const t of this._observers.values())t.destroy();this.document.destroy(),this.stopListening()}createPositionAt(t,e){return Ua._createAt(t,e)}createPositionAfter(t){return Ua._createAfter(t)}createPositionBefore(t){return Ua._createBefore(t)}createRange(t,e){return new Ga(t,e)}createRangeOn(t){return Ga._createOn(t)}createRangeIn(t){return Ga._createIn(t)}createSelection(...t){return new Ka(...t)}_disableRendering(t){this._renderingDisabled=t,0==t&&this.change((()=>{}))}_render(){this.isRenderingInProgress=!0,this.disableObservers(),this._renderer.render(),this.enableObservers(),this.isRenderingInProgress=!1}}class Oc{is(){throw new Error("is() method is abstract")}}class Nc extends Oc{parent=null;_attrs;constructor(t){super(),this._attrs=So(t)}get document(){return null}get index(){let t;if(!this.parent)return null;if(null===(t=this.parent.getChildIndex(this)))throw new wi("model-node-not-found-in-parent",this);return t}get startOffset(){let t;if(!this.parent)return null;if(null===(t=this.parent.getChildStartOffset(this)))throw new wi("model-node-not-found-in-parent",this);return t}get offsetSize(){return 1}get endOffset(){return this.parent?this.startOffset+this.offsetSize:null}get nextSibling(){const t=this.index;return null!==t&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return null!==t&&this.parent.getChild(t-1)||null}get root(){let t=this;for(;t.parent;)t=t.parent;return t}isAttached(){return null!==this.parent&&this.root.isAttached()}getPath(){const t=[];let e=this;for(;e.parent;)t.unshift(e.startOffset),e=e.parent;return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e),i=t.getAncestors(e);let r=0;for(;n[r]==i[r]&&n[r];)r++;return 0===r?null:n[r-1]}isBefore(t){if(this==t)return!1;if(this.root!==t.root)return!1;const e=this.getPath(),n=t.getPath(),i=Yi(e,n);switch(i){case"prefix":return!0;case"extension":return!1;default:return e[i](t[e[0]]=e[1],t)),{})),t}_clone(t){return new this.constructor(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(t,e){this._attrs.set(t,e)}_setAttributesTo(t){this._attrs=So(t)}_removeAttribute(t){return this._attrs.delete(t)}_clearAttributes(){this._attrs.clear()}}Nc.prototype.is=function(t){return"node"===t||"model:node"===t};class Rc{_nodes=[];constructor(t){t&&this._insertNodes(0,t)}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._nodes.reduce(((t,e)=>t+e.offsetSize),0)}getNode(t){return this._nodes[t]||null}getNodeIndex(t){const e=this._nodes.indexOf(t);return-1==e?null:e}getNodeStartOffset(t){const e=this.getNodeIndex(t);if(null===e)return null;let n=0;for(let t=0;t=e&&t1e4)return t.slice(0,n).concat(e).concat(t.slice(n+i,t.length));{const r=Array.from(t);return r.splice(n,i,...e),r}}(this._nodes,Array.from(e),t,0)}_removeNodes(t,e=1){return this._nodes.splice(t,e)}toJSON(){return this._nodes.map((t=>t.toJSON()))}}class Fc extends Nc{_data;constructor(t,e){super(e),this._data=t||""}get offsetSize(){return this.data.length}get data(){return this._data}toJSON(){const t=super.toJSON();return t.data=this.data,t}_clone(){return new Fc(this.data,this.getAttributes())}static fromJSON(t){return new Fc(t.data,t.attributes)}}Fc.prototype.is=function(t){return"$text"===t||"model:$text"===t||"text"===t||"model:text"===t||"node"===t||"model:node"===t};class jc extends Oc{textNode;data;offsetInText;constructor(t,e,n){if(super(),this.textNode=t,e<0||e>t.offsetSize)throw new wi("model-textproxy-wrong-offsetintext",this);if(n<0||e+n>t.offsetSize)throw new wi("model-textproxy-wrong-length",this);this.data=t.data.substring(e,e+n),this.offsetInText=e}get startOffset(){return null!==this.textNode.startOffset?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return null!==this.startOffset?this.startOffset+this.offsetSize:null}get isPartial(){return this.offsetSize!==this.textNode.offsetSize}get parent(){return this.textNode.parent}get root(){return this.textNode.root}getPath(){const t=this.textNode.getPath();return t.length>0&&(t[t.length-1]+=this.offsetInText),t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}hasAttribute(t){return this.textNode.hasAttribute(t)}getAttribute(t){return this.textNode.getAttribute(t)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}jc.prototype.is=function(t){return"$textProxy"===t||"model:$textProxy"===t||"textProxy"===t||"model:textProxy"===t};class $c extends Nc{name;_children=new Rc;constructor(t,e,n){super(e),this.name=t,n&&this._insertChild(0,n)}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}offsetToIndex(t){return this._children.offsetToIndex(t)}getNodeByPath(t){let e=this;for(const n of t)e=e.getChild(e.offsetToIndex(n));return e}findAncestor(t,e={}){let n=e.includeSelf?this:this.parent;for(;n;){if(n.name===t)return n;n=n.parent}return null}toJSON(){const t=super.toJSON();if(t.name=this.name,this._children.length>0){t.children=[];for(const e of this._children)t.children.push(e.toJSON())}return t}_clone(t=!1){const e=t?Array.from(this._children).map((t=>t._clone(!0))):void 0;return new $c(this.name,this.getAttributes(),e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=function(t){if("string"==typeof t)return[new Fc(t)];Xi(t)||(t=[t]);return Array.from(t).map((t=>"string"==typeof t?new Fc(t):t instanceof jc?new Fc(t.data,t.getAttributes()):t))}(e);for(const t of n)null!==t.parent&&t._remove(),t.parent=this;this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n)t.parent=null;return n}static fromJSON(t){let e;if(t.children){e=[];for(const n of t.children)n.name?e.push($c.fromJSON(n)):e.push(Fc.fromJSON(n))}return new $c(t.name,t.attributes,e)}}$c.prototype.is=function(t,e){return e?e===this.name&&("element"===t||"model:element"===t):"element"===t||"model:element"===t||"node"===t||"model:node"===t};class zc{direction;boundaries;singleCharacters;shallow;ignoreElementEnd;_position;_boundaryStartParent;_boundaryEndParent;_visitedParent;constructor(t){if(!t||!t.boundaries&&!t.startPosition)throw new wi("model-tree-walker-no-start-position",null);const e=t.direction||"forward";if("forward"!=e&&"backward"!=e)throw new wi("model-tree-walker-unknown-direction",t,{direction:e});this.direction=e,this.boundaries=t.boundaries||null,t.startPosition?this._position=t.startPosition.clone():this._position=Hc._createAt(this.boundaries["backward"==this.direction?"end":"start"]),this.position.stickiness="toNone",this.singleCharacters=!!t.singleCharacters,this.shallow=!!t.shallow,this.ignoreElementEnd=!!t.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null,this._visitedParent=this.position.parent}[Symbol.iterator](){return this}get position(){return this._position}skip(t){let e,n,i,r;do{i=this.position,r=this._visitedParent,({done:e,value:n}=this.next())}while(!e&&t(n));e||(this._position=i,this._visitedParent=r)}next(){return"forward"==this.direction?this._next():this._previous()}_next(){const t=this.position,e=this.position.clone(),n=this._visitedParent;if(null===n.parent&&e.offset===n.maxOffset)return{done:!0,value:void 0};if(n===this._boundaryEndParent&&e.offset==this.boundaries.end.offset)return{done:!0,value:void 0};const i=qc(e,n),r=i||Uc(e,n,i);if(r instanceof $c){if(this.shallow){if(this.boundaries&&this.boundaries.end.isBefore(e))return{done:!0,value:void 0};e.offset++}else e.path.push(0),this._visitedParent=r;return this._position=e,Vc("elementStart",r,t,e,1)}if(r instanceof Fc){let i;if(this.singleCharacters)i=1;else{let t=r.endOffset;this._boundaryEndParent==n&&this.boundaries.end.offsett&&(t=this.boundaries.start.offset),i=e.offset-t}const r=e.offset-o.startOffset,a=new jc(o,r-i,i);return e.offset-=i,this._position=e,Vc("text",a,t,e,i)}return e.path.pop(),this._position=e,this._visitedParent=n.parent,Vc("elementStart",n,t,e,1)}}function Vc(t,e,n,i,r){return{done:!1,value:{type:t,item:e,previousPosition:n,nextPosition:i,length:r}}}class Hc extends Oc{root;path;stickiness;constructor(t,e,n="toNone"){if(super(),!t.is("element")&&!t.is("documentFragment"))throw new wi("model-position-root-invalid",t);if(!(e instanceof Array)||0===e.length)throw new wi("model-position-path-incorrect-format",t,{path:e});t.is("rootElement")?e=e.slice():(e=[...t.getPath(),...e],t=t.root),this.root=t,this.path=e,this.stickiness=n}get offset(){return this.path[this.path.length-1]}set offset(t){this.path[this.path.length-1]=t}get parent(){let t=this.root;for(let e=0;e1)return!1;if(1===e)return Wc(t,this,n);if(-1===e)return Wc(this,t,n)}return this.path.length===t.path.length||(this.path.length>t.path.length?Kc(this.path,e):Kc(t.path,e))}hasSameParentAs(t){if(this.root!==t.root)return!1;return"same"==Yi(this.getParentPath(),t.getParentPath())}getTransformedByOperation(t){let e;switch(t.type){case"insert":e=this._getTransformedByInsertOperation(t);break;case"move":case"remove":case"reinsert":e=this._getTransformedByMoveOperation(t);break;case"split":e=this._getTransformedBySplitOperation(t);break;case"merge":e=this._getTransformedByMergeOperation(t);break;default:e=Hc._createAt(this)}return e}_getTransformedByInsertOperation(t){return this._getTransformedByInsertion(t.position,t.howMany)}_getTransformedByMoveOperation(t){return this._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany)}_getTransformedBySplitOperation(t){const e=t.movedRange;return e.containsPosition(this)||e.start.isEqual(this)&&"toNext"==this.stickiness?this._getCombined(t.splitPosition,t.moveTargetPosition):t.graveyardPosition?this._getTransformedByMove(t.graveyardPosition,t.insertionPosition,1):this._getTransformedByInsertion(t.insertionPosition,1)}_getTransformedByMergeOperation(t){const e=t.movedRange;let n;return e.containsPosition(this)||e.start.isEqual(this)?(n=this._getCombined(t.sourcePosition,t.targetPosition),t.sourcePosition.isBefore(t.targetPosition)&&(n=n._getTransformedByDeletion(t.deletionPosition,1))):n=this.isEqual(t.deletionPosition)?Hc._createAt(t.deletionPosition):this._getTransformedByMove(t.deletionPosition,t.graveyardPosition,1),n}_getTransformedByDeletion(t,e){const n=Hc._createAt(this);if(this.root!=t.root)return n;if("same"==Yi(t.getParentPath(),this.getParentPath())){if(t.offsetthis.offset)return null;n.offset-=e}}else if("prefix"==Yi(t.getParentPath(),this.getParentPath())){const i=t.path.length-1;if(t.offset<=this.path[i]){if(t.offset+e>this.path[i])return null;n.path[i]-=e}}return n}_getTransformedByInsertion(t,e){const n=Hc._createAt(this);if(this.root!=t.root)return n;if("same"==Yi(t.getParentPath(),this.getParentPath()))(t.offset=e;){if(t.path[i]+r!==n.maxOffset)return!1;r=1,i--,n=n.parent}return!0}(t,n+1))}function Kc(t,e){for(;ee+1;){const e=i.maxOffset-n.offset;0!==e&&t.push(new Yc(n,n.getShiftedBy(e))),n.path=n.path.slice(0,-1),n.offset++,i=i.parent}for(;n.path.length<=this.end.path.length;){const e=this.end.path[n.path.length-1],i=e-n.offset;0!==i&&t.push(new Yc(n,n.getShiftedBy(i))),n.offset=e,n.path.push(0)}return t}getWalker(t={}){return t.boundaries=this,new zc(t)}*getItems(t={}){t.boundaries=this,t.ignoreElementEnd=!0;const e=new zc(t);for(const t of e)yield t.item}*getPositions(t={}){t.boundaries=this;const e=new zc(t);yield e.position;for(const t of e)yield t.nextPosition}getTransformedByOperation(t){switch(t.type){case"insert":return this._getTransformedByInsertOperation(t);case"move":case"remove":case"reinsert":return this._getTransformedByMoveOperation(t);case"split":return[this._getTransformedBySplitOperation(t)];case"merge":return[this._getTransformedByMergeOperation(t)]}return[new Yc(this.start,this.end)]}getTransformedByOperations(t){const e=[new Yc(this.start,this.end)];for(const n of t)for(let t=0;t0?new this(n,i):new this(i,n)}static _createIn(t){return new this(Hc._createAt(t,0),Hc._createAt(t,t.maxOffset))}static _createOn(t){return this._createFromPositionAndShift(Hc._createBefore(t),t.offsetSize)}static _createFromRanges(t){if(0===t.length)throw new wi("range-create-from-ranges-empty-array",null);if(1==t.length)return t[0].clone();const e=t[0];t.sort(((t,e)=>t.start.isAfter(e.start)?1:-1));const n=t.indexOf(e),i=new this(e.start,e.end);for(let e=n-1;e>=0&&t[e].end.isEqual(i.start);e--)i.start=Hc._createAt(t[e].start);for(let e=n+1;e{if(e.viewPosition)return;const n=this._modelToViewMapping.get(e.modelPosition.parent);if(!n)throw new wi("mapping-model-position-view-parent-not-found",this,{modelPosition:e.modelPosition});e.viewPosition=this.findPositionIn(n,e.modelPosition.offset)}),{priority:"low"}),this.on("viewToModelPosition",((t,e)=>{if(e.modelPosition)return;const n=this.findMappedViewAncestor(e.viewPosition),i=this._viewToModelMapping.get(n),r=this._toModelOffset(e.viewPosition.parent,e.viewPosition.offset,n);e.modelPosition=Hc._createAt(i,r)}),{priority:"low"})}bindElements(t,e){this._modelToViewMapping.set(t,e),this._viewToModelMapping.set(e,t)}unbindViewElement(t,e={}){const n=this.toModelElement(t);if(this._elementToMarkerNames.has(t))for(const e of this._elementToMarkerNames.get(t))this._unboundMarkerNames.add(e);e.defer?this._deferredBindingRemovals.set(t,t.root):(this._viewToModelMapping.delete(t),this._modelToViewMapping.get(n)==t&&this._modelToViewMapping.delete(n))}unbindModelElement(t){const e=this.toViewElement(t);this._modelToViewMapping.delete(t),this._viewToModelMapping.get(e)==t&&this._viewToModelMapping.delete(e)}bindElementToMarker(t,e){const n=this._markerNameToElements.get(e)||new Set;n.add(t);const i=this._elementToMarkerNames.get(t)||new Set;i.add(e),this._markerNameToElements.set(e,n),this._elementToMarkerNames.set(t,i)}unbindElementFromMarkerName(t,e){const n=this._markerNameToElements.get(e);n&&(n.delete(t),0==n.size&&this._markerNameToElements.delete(e));const i=this._elementToMarkerNames.get(t);i&&(i.delete(e),0==i.size&&this._elementToMarkerNames.delete(t))}flushUnboundMarkerNames(){const t=Array.from(this._unboundMarkerNames);return this._unboundMarkerNames.clear(),t}flushDeferredBindings(){for(const[t,e]of this._deferredBindingRemovals)t.root==e&&this.unbindViewElement(t);this._deferredBindingRemovals=new Map}clearBindings(){this._modelToViewMapping=new WeakMap,this._viewToModelMapping=new WeakMap,this._markerNameToElements=new Map,this._elementToMarkerNames=new Map,this._unboundMarkerNames=new Set,this._deferredBindingRemovals=new Map}toModelElement(t){return this._viewToModelMapping.get(t)}toViewElement(t){return this._modelToViewMapping.get(t)}toModelRange(t){return new Yc(this.toModelPosition(t.start),this.toModelPosition(t.end))}toViewRange(t){return new Ga(this.toViewPosition(t.start),this.toViewPosition(t.end))}toModelPosition(t){const e={viewPosition:t,mapper:this};return this.fire("viewToModelPosition",e),e.modelPosition}toViewPosition(t,e={}){const n={modelPosition:t,mapper:this,isPhantom:e.isPhantom};return this.fire("modelToViewPosition",n),n.viewPosition}markerNameToElements(t){const e=this._markerNameToElements.get(t);if(!e)return null;const n=new Set;for(const t of e)if(t.is("attributeElement"))for(const e of t.getElementsWithSameId())n.add(e);else n.add(t);return n}registerViewToModelLength(t,e){this._viewToModelLengthCallbacks.set(t,e)}findMappedViewAncestor(t){let e=t.parent;for(;!this._viewToModelMapping.has(e);)e=e.parent;return e}_toModelOffset(t,e,n){if(n!=t){return this._toModelOffset(t.parent,t.index,n)+this._toModelOffset(t,e,t)}if(t.is("$text"))return e;let i=0;for(let n=0;n1?e[0]+":"+e[1]:e[0]}class Jc extends(Si()){_conversionApi;_firedEventsMap;constructor(t){super(),this._conversionApi={dispatcher:this,...t},this._firedEventsMap=new WeakMap}convertChanges(t,e,n){const i=this._createConversionApi(n,t.getRefreshedItems());for(const e of t.getMarkersToRemove())this._convertMarkerRemove(e.name,e.range,i);const r=this._reduceChanges(t.getChanges());for(const t of r)"insert"===t.type?this._convertInsert(Yc._createFromPositionAndShift(t.position,t.length),i):"reinsert"===t.type?this._convertReinsert(Yc._createFromPositionAndShift(t.position,t.length),i):"remove"===t.type?this._convertRemove(t.position,t.length,t.name,i):this._convertAttribute(t.range,t.attributeKey,t.attributeOldValue,t.attributeNewValue,i);i.mapper.flushDeferredBindings();for(const t of i.mapper.flushUnboundMarkerNames()){const n=e.get(t).getRange();this._convertMarkerRemove(t,n,i),this._convertMarkerAdd(t,n,i)}for(const e of t.getMarkersToAdd())this._convertMarkerAdd(e.name,e.range,i);i.consumable.verifyAllConsumed("insert")}convert(t,e,n,i={}){const r=this._createConversionApi(n,void 0,i);this._convertInsert(t,r);for(const[t,n]of e)this._convertMarkerAdd(t,n,r);r.consumable.verifyAllConsumed("insert")}convertSelection(t,e,n){const i=this._createConversionApi(n);this.fire("cleanSelection",{selection:t},i);const r=t.getFirstPosition().root;if(!i.mapper.toViewElement(r))return;const o=Array.from(e.getMarkersAtPosition(t.getFirstPosition()));if(this._addConsumablesForSelection(i.consumable,t,o),this.fire("selection",{selection:t},i),t.isCollapsed){for(const e of o)if(i.consumable.test(t,"addMarker:"+e.name)){const n=e.getRange();if(!tl(t.getFirstPosition(),e,i.mapper))continue;const r={item:t,markerName:e.name,markerRange:n};this.fire(`addMarker:${e.name}`,r,i)}for(const e of t.getAttributeKeys())if(i.consumable.test(t,"attribute:"+e)){const n={item:t,range:t.getFirstRange(),attributeKey:e,attributeOldValue:null,attributeNewValue:t.getAttribute(e)};this.fire(`attribute:${e}:$text`,n,i)}}}_convertInsert(t,e,n={}){n.doNotAddConsumables||this._addConsumablesForInsert(e.consumable,t);for(const n of Array.from(t.getWalker({shallow:!0})).map(el))this._testAndFire("insert",n,e)}_convertRemove(t,e,n,i){this.fire(`remove:${n}`,{position:t,length:e},i)}_convertAttribute(t,e,n,i,r){this._addConsumablesForRange(r.consumable,t,`attribute:${e}`);for(const o of t){const t={item:o.item,range:Yc._createFromPositionAndShift(o.previousPosition,o.length),attributeKey:e,attributeOldValue:n,attributeNewValue:i};this._testAndFire(`attribute:${e}`,t,r)}}_convertReinsert(t,e){const n=Array.from(t.getWalker({shallow:!0}));this._addConsumablesForInsert(e.consumable,n);for(const t of n.map(el))this._testAndFire("insert",{...t,reconversion:!0},e)}_convertMarkerAdd(t,e,n){if("$graveyard"==e.root.rootName)return;const i=`addMarker:${t}`;if(n.consumable.add(e,i),this.fire(i,{markerName:t,markerRange:e},n),n.consumable.consume(e,i)){this._addConsumablesForRange(n.consumable,e,i);for(const r of e.getItems()){if(!n.consumable.test(r,i))continue;const o={item:r,range:Yc._createOn(r),markerName:t,markerRange:e};this.fire(i,o,n)}}}_convertMarkerRemove(t,e,n){"$graveyard"!=e.root.rootName&&this.fire(`removeMarker:${t}`,{markerName:t,markerRange:e},n)}_reduceChanges(t){const e={changes:t};return this.fire("reduceChanges",e),e.changes}_addConsumablesForInsert(t,e){for(const n of e){const e=n.item;if(null===t.test(e,"insert")){t.add(e,"insert");for(const n of e.getAttributeKeys())t.add(e,"attribute:"+n)}}return t}_addConsumablesForRange(t,e,n){for(const i of e.getItems())t.add(i,n);return t}_addConsumablesForSelection(t,e,n){t.add(e,"selection");for(const i of n)t.add(e,"addMarker:"+i.name);for(const n of e.getAttributeKeys())t.add(e,"attribute:"+n);return t}_testAndFire(t,e,n){const i=function(t,e){const n=e.item.is("element")?e.item.name:"$text";return`${t}:${n}`}(t,e),r=e.item.is("$textProxy")?n.consumable._getSymbolForTextProxy(e.item):e.item,o=this._firedEventsMap.get(n),a=o.get(r);if(a){if(a.has(i))return;a.add(i)}else o.set(r,new Set([i]));this.fire(i,e,n)}_testAndFireAddAttributes(t,e){const n={item:t,range:Yc._createOn(t)};for(const t of n.item.getAttributeKeys())n.attributeKey=t,n.attributeOldValue=null,n.attributeNewValue=n.item.getAttribute(t),this._testAndFire(`attribute:${t}`,n,e)}_createConversionApi(t,e=new Set,n={}){const i={...this._conversionApi,consumable:new Zc,writer:t,options:n,convertItem:t=>this._convertInsert(Yc._createOn(t),i),convertChildren:t=>this._convertInsert(Yc._createIn(t),i,{doNotAddConsumables:!0}),convertAttributes:t=>this._testAndFireAddAttributes(t,i),canReuseView:t=>!e.has(i.mapper.toModelElement(t))};return this._firedEventsMap.set(i,new Map),i}}function tl(t,e,n){const i=e.getRange(),r=Array.from(t.getAncestors());r.shift(),r.reverse();return!r.some((t=>{if(i.containsItem(t)){return!!n.toViewElement(t).getCustomProperty("addHighlight")}}))}function el(t){return{item:t.item,range:Yc._createFromPositionAndShift(t.previousPosition,t.length)}}class nl extends(Si(Oc)){_lastRangeBackward=!1;_attrs=new Map;_ranges=[];constructor(...t){super(),t.length&&this.setTo(...t)}get anchor(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.end:t.start}return null}get focus(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.start:t.end}return null}get isCollapsed(){return 1===this._ranges.length&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(t){if(this.rangeCount!=t.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus))return!1;for(const e of this._ranges){let n=!1;for(const i of t._ranges)if(e.isEqual(i)){n=!0;break}if(!n)return!1}return!0}*getRanges(){for(const t of this._ranges)yield new Yc(t.start,t.end)}getFirstRange(){let t=null;for(const e of this._ranges)t&&!e.start.isBefore(t.start)||(t=e);return t?new Yc(t.start,t.end):null}getLastRange(){let t=null;for(const e of this._ranges)t&&!e.end.isAfter(t.end)||(t=e);return t?new Yc(t.start,t.end):null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}setTo(...t){let[e,n,i]=t;if("object"==typeof n&&(i=n,n=void 0),null===e)this._setRanges([]);else if(e instanceof nl)this._setRanges(e.getRanges(),e.isBackward);else if(e&&"function"==typeof e.getRanges)this._setRanges(e.getRanges(),e.isBackward);else if(e instanceof Yc)this._setRanges([e],!!i&&!!i.backward);else if(e instanceof Hc)this._setRanges([new Yc(e)]);else if(e instanceof Nc){const t=!!i&&!!i.backward;let r;if("in"==n)r=Yc._createIn(e);else if("on"==n)r=Yc._createOn(e);else{if(void 0===n)throw new wi("model-selection-setto-required-second-parameter",[this,e]);r=new Yc(Hc._createAt(e,n))}this._setRanges([r],t)}else{if(!Xi(e))throw new wi("model-selection-setto-not-selectable",[this,e]);this._setRanges(e,i&&!!i.backward)}}_setRanges(t,e=!1){const n=Array.from(t),i=n.some((e=>{if(!(e instanceof Yc))throw new wi("model-selection-set-ranges-not-range",[this,t]);return this._ranges.every((t=>!t.isEqual(e)))}));(n.length!==this._ranges.length||i)&&(this._replaceAllRanges(n),this._lastRangeBackward=!!e,this.fire("change:range",{directChange:!0}))}setFocus(t,e){if(null===this.anchor)throw new wi("model-selection-setfocus-no-ranges",[this,t]);const n=Hc._createAt(t,e);if("same"==n.compareWith(this.focus))return;const i=this.anchor;this._ranges.length&&this._popRange(),"before"==n.compareWith(i)?(this._pushRange(new Yc(n,i)),this._lastRangeBackward=!0):(this._pushRange(new Yc(i,n)),this._lastRangeBackward=!1),this.fire("change:range",{directChange:!0})}getAttribute(t){return this._attrs.get(t)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(t){return this._attrs.has(t)}removeAttribute(t){this.hasAttribute(t)&&(this._attrs.delete(t),this.fire("change:attribute",{attributeKeys:[t],directChange:!0}))}setAttribute(t,e){this.getAttribute(t)!==e&&(this._attrs.set(t,e),this.fire("change:attribute",{attributeKeys:[t],directChange:!0}))}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}*getSelectedBlocks(){const t=new WeakSet;for(const e of this.getRanges()){const n=ol(e.start,t);sl(n,e)&&(yield n);for(const n of e.getWalker()){const i=n.item;"elementEnd"==n.type&&rl(i,t,e)&&(yield i)}const i=ol(e.end,t);cl(i,e)&&(yield i)}}containsEntireContent(t=this.anchor.root){const e=Hc._createAt(t,0),n=Hc._createAt(t,"end");return e.isTouching(this.getFirstPosition())&&n.isTouching(this.getLastPosition())}_pushRange(t){this._checkRange(t),this._ranges.push(new Yc(t.start,t.end))}_checkRange(t){for(let e=0;e0;)this._popRange()}_popRange(){this._ranges.pop()}}function il(t,e){return!e.has(t)&&(e.add(t),t.root.document.model.schema.isBlock(t)&&!!t.parent)}function rl(t,e,n){return il(t,e)&&al(t,n)}function ol(t,e){const n=t.parent.root.document.model.schema,i=t.parent.getAncestors({parentFirst:!0,includeSelf:!0});let r=!1;const o=i.find((t=>!r&&(r=n.isLimit(t),!r&&il(t,e))));return i.forEach((t=>e.add(t))),o}function al(t,e){const n=function(t){const e=t.root.document.model.schema;let n=t.parent;for(;n;){if(e.isBlock(n))return n;n=n.parent}}(t);if(!n)return!0;return!e.containsRange(Yc._createOn(n),!0)}function sl(t,e){return!!t&&(!(!e.isCollapsed&&!t.isEmpty)||!e.start.isTouching(Hc._createAt(t,t.maxOffset))&&al(t,e))}function cl(t,e){return!!t&&(!(!e.isCollapsed&&!t.isEmpty)||!e.end.isTouching(Hc._createAt(t,0))&&al(t,e))}nl.prototype.is=function(t){return"selection"===t||"model:selection"===t};class ll extends(Si(Yc)){constructor(t,e){super(t,e),ul.call(this)}detach(){this.stopListening()}toRange(){return new Yc(this.start,this.end)}static fromRange(t){return new ll(t.start,t.end)}}function ul(){this.listenTo(this.root.document.model,"applyOperation",((t,e)=>{const n=e[0];n.isDocumentOperation&&hl.call(this,n)}),{priority:"low"})}function hl(t){const e=this.getTransformedByOperation(t),n=Yc._createFromRanges(e),i=!n.isEqual(this),r=function(t,e){switch(e.type){case"insert":return t.containsPosition(e.position);case"move":case"remove":case"reinsert":case"merge":return t.containsPosition(e.sourcePosition)||t.start.isEqual(e.sourcePosition)||t.containsPosition(e.targetPosition);case"split":return t.containsPosition(e.splitPosition)||t.containsPosition(e.insertionPosition)}return!1}(this,t);let o=null;if(i){"$graveyard"==n.root.rootName&&(o="remove"==t.type?t.sourcePosition:t.deletionPosition);const e=this.toRange();this.start=n.start,this.end=n.end,this.fire("change:range",e,{deletionPosition:o})}else r&&this.fire("change:content",this.toRange(),{deletionPosition:o})}ll.prototype.is=function(t){return"liveRange"===t||"model:liveRange"===t||"range"==t||"model:range"===t};const dl="selection:";class fl extends(Si(Oc)){_selection;constructor(t){super(),this._selection=new gl(t),this._selection.delegate("change:range").to(this),this._selection.delegate("change:attribute").to(this),this._selection.delegate("change:marker").to(this)}get isCollapsed(){return this._selection.isCollapsed}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get rangeCount(){return this._selection.rangeCount}get hasOwnRange(){return this._selection.hasOwnRange}get isBackward(){return this._selection.isBackward}get isGravityOverridden(){return this._selection.isGravityOverridden}get markers(){return this._selection.markers}get _ranges(){return this._selection._ranges}getRanges(){return this._selection.getRanges()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getSelectedBlocks(){return this._selection.getSelectedBlocks()}getSelectedElement(){return this._selection.getSelectedElement()}containsEntireContent(t){return this._selection.containsEntireContent(t)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(t){return this._selection.getAttribute(t)}hasAttribute(t){return this._selection.hasAttribute(t)}refresh(){this._selection.updateMarkers(),this._selection._updateAttributes(!1)}observeMarkers(t){this._selection.observeMarkers(t)}_setFocus(t,e){this._selection.setFocus(t,e)}_setTo(...t){this._selection.setTo(...t)}_setAttribute(t,e){this._selection.setAttribute(t,e)}_removeAttribute(t){this._selection.removeAttribute(t)}_getStoredAttributes(){return this._selection.getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(t){this._selection.restoreGravity(t)}static _getStoreAttributeKey(t){return dl+t}static _isStoreAttributeKey(t){return t.startsWith(dl)}}fl.prototype.is=function(t){return"selection"===t||"model:selection"==t||"documentSelection"==t||"model:documentSelection"==t};class gl extends nl{markers=new Ao({idProperty:"name"});_model;_document;_attributePriority=new Map;_selectionRestorePosition=null;_hasChangedRange=!1;_overriddenGravityRegister=new Set;_observedMarkers=new Set;constructor(t){super(),this._model=t.model,this._document=t,this.listenTo(this._model,"applyOperation",((t,e)=>{const n=e[0];n.isDocumentOperation&&"marker"!=n.type&&"rename"!=n.type&&"noop"!=n.type&&(0==this._ranges.length&&this._selectionRestorePosition&&this._fixGraveyardSelection(this._selectionRestorePosition),this._selectionRestorePosition=null,this._hasChangedRange&&(this._hasChangedRange=!1,this.fire("change:range",{directChange:!1})))}),{priority:"lowest"}),this.on("change:range",(()=>{this._validateSelectionRanges(this.getRanges())})),this.listenTo(this._model.markers,"update",((t,e,n,i)=>{this._updateMarker(e,i)})),this.listenTo(this._document,"change",((t,e)=>{!function(t,e){const n=t.document.differ;for(const i of n.getChanges()){if("insert"!=i.type)continue;const n=i.position.parent;i.length===n.maxOffset&&t.enqueueChange(e,(t=>{const e=Array.from(n.getAttributeKeys()).filter((t=>t.startsWith(dl)));for(const i of e)t.removeAttribute(i,n)}))}}(this._model,e)}))}get isCollapsed(){return 0===this._ranges.length?this._document._getDefaultRange().isCollapsed:super.isCollapsed}get anchor(){return super.anchor||this._document._getDefaultRange().start}get focus(){return super.focus||this._document._getDefaultRange().end}get rangeCount(){return this._ranges.length?this._ranges.length:1}get hasOwnRange(){return this._ranges.length>0}get isGravityOverridden(){return!!this._overriddenGravityRegister.size}destroy(){for(let t=0;t{if(this._hasChangedRange=!0,e.root==this._document.graveyard){this._selectionRestorePosition=i.deletionPosition;const t=this._ranges.indexOf(e);this._ranges.splice(t,1),e.detach()}})),e}updateMarkers(){if(!this._observedMarkers.size)return;const t=[];let e=!1;for(const e of this._model.markers){const n=e.name.split(":",1)[0];if(!this._observedMarkers.has(n))continue;const i=e.getRange();for(const n of this.getRanges())i.containsRange(n,!n.isCollapsed)&&t.push(e)}const n=Array.from(this.markers);for(const n of t)this.markers.has(n)||(this.markers.add(n),e=!0);for(const n of Array.from(this.markers))t.includes(n)||(this.markers.remove(n),e=!0);e&&this.fire("change:marker",{oldMarkers:n,directChange:!1})}_updateMarker(t,e){const n=t.name.split(":",1)[0];if(!this._observedMarkers.has(n))return;let i=!1;const r=Array.from(this.markers),o=this.markers.has(t);if(e){let n=!1;for(const t of this.getRanges())if(e.containsRange(t,!t.isCollapsed)){n=!0;break}n&&!o?(this.markers.add(t),i=!0):!n&&o&&(this.markers.remove(t),i=!0)}else o&&(this.markers.remove(t),i=!0);i&&this.fire("change:marker",{oldMarkers:r,directChange:!1})}_updateAttributes(t){const e=So(this._getSurroundingAttributes()),n=So(this.getAttributes());if(t)this._attributePriority=new Map,this._attrs=new Map;else for(const[t,e]of this._attributePriority)"low"==e&&(this._attrs.delete(t),this._attributePriority.delete(t));this._setAttributesTo(e);const i=[];for(const[t,e]of this.getAttributes())n.has(t)&&n.get(t)===e||i.push(t);for(const[t]of n)this.hasAttribute(t)||i.push(t);i.length>0&&this.fire("change:attribute",{attributeKeys:i,directChange:!1})}_setAttribute(t,e,n=!0){const i=n?"normal":"low";if("low"==i&&"normal"==this._attributePriority.get(t))return!1;return super.getAttribute(t)!==e&&(this._attrs.set(t,e),this._attributePriority.set(t,i),!0)}_removeAttribute(t,e=!0){const n=e?"normal":"low";return("low"!=n||"normal"!=this._attributePriority.get(t))&&(this._attributePriority.set(t,n),!!super.hasAttribute(t)&&(this._attrs.delete(t),!0))}_setAttributesTo(t){const e=new Set;for(const[e,n]of this.getAttributes())t.get(e)!==n&&this._removeAttribute(e,!1);for(const[n,i]of t){this._setAttribute(n,i,!1)&&e.add(n)}return e}*getStoredAttributes(){const t=this.getFirstPosition().parent;if(this.isCollapsed&&t.isEmpty)for(const e of t.getAttributeKeys())if(e.startsWith(dl)){const n=e.substr(10);yield[n,t.getAttribute(e)]}}_getSurroundingAttributes(){const t=this.getFirstPosition(),e=this._model.schema;if("$graveyard"==t.root.rootName)return null;let n=null;if(this.isCollapsed){const i=t.textNode?t.textNode:t.nodeBefore,r=t.textNode?t.textNode:t.nodeAfter;if(this.isGravityOverridden||(n=pl(i,e)),n||(n=pl(r,e)),!this.isGravityOverridden&&!n){let t=i;for(;t&&!n;)t=t.previousSibling,n=pl(t,e)}if(!n){let t=r;for(;t&&!n;)t=t.nextSibling,n=pl(t,e)}n||(n=this.getStoredAttributes())}else{const t=this.getFirstRange();for(const i of t){if(i.item.is("element")&&e.isObject(i.item)){n=pl(i.item,e);break}if("text"==i.type){n=i.item.getAttributes();break}}}return n}_fixGraveyardSelection(t){const e=this._model.schema.getNearestSelectionRange(t);e&&this._pushRange(e)}}function pl(t,e){if(!t)return null;if(t instanceof jc||t instanceof Fc)return t.getAttributes();if(!e.isInline(t))return null;if(!e.isObject(t))return[];const n=[];for(const[i,r]of t.getAttributes())e.checkAttribute("$text",i)&&!1!==e.getAttributeProperties(i).copyFromObject&&n.push([i,r]);return n}class ml{_dispatchers;constructor(t){this._dispatchers=t}add(t){for(const e of this._dispatchers)t(e);return this}}class bl extends ml{elementToElement(t){return this.add(function(t){const e=Cl(t.model),n=Al(t.view,"container");e.attributes.length&&(e.children=!0);return i=>{i.on(`insert:${e.name}`,vl(n,Dl(e)),{priority:t.converterPriority||"normal"}),(e.children||e.attributes.length)&&i.on("reduceChanges",Sl(e),{priority:"low"})}}(t))}elementToStructure(t){return this.add(function(t){const e=Cl(t.model),n=Al(t.view,"container");return e.children=!0,i=>{if(i._conversionApi.schema.checkChild(e.name,"$text"))throw new wi("conversion-element-to-structure-disallowed-text",i,{elementName:e.name});var r,o;i.on(`insert:${e.name}`,(r=n,o=Dl(e),(t,e,n)=>{if(!o(e.item,n.consumable,{preflight:!0}))return;const i=new Map;n.writer._registerSlotFactory(function(t,e,n){return(i,r)=>{const o=i.createContainerElement("$slot");let a=null;if("children"===r)a=Array.from(t.getChildren());else{if("function"!=typeof r)throw new wi("conversion-slot-mode-unknown",n.dispatcher,{modeOrFilter:r});a=Array.from(t.getChildren()).filter((t=>r(t)))}return e.set(o,a),o}}(e.item,i,n));const a=r(e.item,n,e);if(n.writer._clearSlotFactory(),!a)return;!function(t,e,n){const i=Array.from(e.values()).flat(),r=new Set(i);if(r.size!=i.length)throw new wi("conversion-slot-filter-overlap",n.dispatcher,{element:t});if(r.size!=t.childCount)throw new wi("conversion-slot-filter-incomplete",n.dispatcher,{element:t})}(e.item,i,n),o(e.item,n.consumable);const s=n.mapper.toViewPosition(e.range.start);n.mapper.bindElements(e.item,a),n.writer.insert(s,a),n.convertAttributes(e.item),function(t,e,n,i){n.mapper.on("modelToViewPosition",a,{priority:"highest"});let r=null,o=null;for([r,o]of e)Il(t,o,n,i),n.writer.move(n.writer.createRangeIn(r),n.writer.createPositionBefore(r)),n.writer.remove(r);function a(t,e){const n=e.modelPosition.nodeAfter,i=o.indexOf(n);i<0||(e.viewPosition=e.mapper.findPositionIn(r,i))}n.mapper.off("modelToViewPosition",a)}(a,i,n,{reconversion:e.reconversion})}),{priority:t.converterPriority||"normal"}),i.on("reduceChanges",Sl(e),{priority:"low"})}}(t))}attributeToElement(t){return this.add(function(t){t=Pc(t);let e=t.model;"string"==typeof e&&(e={key:e});let n=`attribute:${e.key}`;e.name&&(n+=":"+e.name);if(e.values)for(const n of e.values)t.view[n]=Al(t.view[n],"attribute");else t.view=Al(t.view,"attribute");const i=xl(t);return e=>{e.on(n,kl(i),{priority:t.converterPriority||"normal"})}}(t))}attributeToAttribute(t){return this.add(function(t){t=Pc(t);let e=t.model;"string"==typeof e&&(e={key:e});let n=`attribute:${e.key}`;e.name&&(n+=":"+e.name);if(e.values)for(const n of e.values)t.view[n]=El(t.view[n]);else t.view=El(t.view);const i=xl(t);return e=>{var r;e.on(n,(r=i,(t,e,n)=>{if(!n.consumable.test(e.item,t.name))return;const i=r(e.attributeOldValue,n,e),o=r(e.attributeNewValue,n,e);if(!i&&!o)return;n.consumable.consume(e.item,t.name);const a=n.mapper.toViewElement(e.item),s=n.writer;if(!a)throw new wi("conversion-attribute-to-attribute-on-text",n.dispatcher,e);if(null!==e.attributeOldValue&&i)if("class"==i.key){const t="string"==typeof i.value?i.value.split(/\s+/):i.value;for(const e of t)s.removeClass(e,a)}else if("style"==i.key)if("string"==typeof i.value){const t=new Pa(s.document.stylesProcessor);t.setTo(i.value);for(const[e]of t.getStylesEntries())s.removeStyle(e,a)}else{const t=Object.keys(i.value);for(const e of t)s.removeStyle(e,a)}else s.removeAttribute(i.key,a);if(null!==e.attributeNewValue&&o)if("class"==o.key){const t="string"==typeof o.value?o.value.split(/\s+/):o.value;for(const e of t)s.addClass(e,a)}else if("style"==o.key)if("string"==typeof o.value){const t=new Pa(s.document.stylesProcessor);t.setTo(o.value);for(const[e,n]of t.getStylesEntries())s.setStyle(e,n,a)}else{const t=Object.keys(o.value);for(const e of t)s.setStyle(e,o.value[e],a)}else s.setAttribute(o.key,o.value,a)}),{priority:t.converterPriority||"normal"})}}(t))}markerToElement(t){return this.add(function(t){const e=Al(t.view,"ui");return n=>{n.on(`addMarker:${t.model}`,yl(e),{priority:t.converterPriority||"normal"}),n.on(`removeMarker:${t.model}`,((t,e,n)=>{const i=n.mapper.markerNameToElements(e.markerName);if(i){for(const t of i)n.mapper.unbindElementFromMarkerName(t,e.markerName),n.writer.clear(n.writer.createRangeOn(t),t);n.writer.clearClonedElementsGroup(e.markerName),t.stop()}}),{priority:t.converterPriority||"normal"})}}(t))}markerToHighlight(t){return this.add(function(t){return e=>{var n;e.on(`addMarker:${t.model}`,(n=t.view,(t,e,i)=>{if(!e.item)return;if(!(e.item instanceof nl||e.item instanceof fl||e.item.is("$textProxy")))return;const r=Tl(n,e,i);if(!r)return;if(!i.consumable.consume(e.item,t.name))return;const o=i.writer,a=wl(o,r),s=o.document.selection;if(e.item instanceof nl||e.item instanceof fl)o.wrap(s.getFirstRange(),a);else{const t=i.mapper.toViewRange(e.range),n=o.wrap(t,a);for(const t of n.getItems())if(t.is("attributeElement")&&t.isSimilar(a)){i.mapper.bindElementToMarker(t,e.markerName);break}}}),{priority:t.converterPriority||"normal"}),e.on(`addMarker:${t.model}`,function(t){return(e,n,i)=>{if(!n.item)return;if(!(n.item instanceof $c))return;const r=Tl(t,n,i);if(!r)return;if(!i.consumable.test(n.item,e.name))return;const o=i.mapper.toViewElement(n.item);if(o&&o.getCustomProperty("addHighlight")){i.consumable.consume(n.item,e.name);for(const t of Yc._createIn(n.item))i.consumable.consume(t.item,e.name);o.getCustomProperty("addHighlight")(o,r,i.writer),i.mapper.bindElementToMarker(o,n.markerName)}}}(t.view),{priority:t.converterPriority||"normal"}),e.on(`removeMarker:${t.model}`,function(t){return(e,n,i)=>{if(n.markerRange.isCollapsed)return;const r=Tl(t,n,i);if(!r)return;const o=wl(i.writer,r),a=i.mapper.markerNameToElements(n.markerName);if(a){for(const t of a)if(i.mapper.unbindElementFromMarkerName(t,n.markerName),t.is("attributeElement"))i.writer.unwrap(i.writer.createRangeOn(t),o);else{t.getCustomProperty("removeHighlight")(t,r.id,i.writer)}i.writer.clearClonedElementsGroup(n.markerName),e.stop()}}}(t.view),{priority:t.converterPriority||"normal"})}}(t))}markerToData(t){return this.add(function(t){t=Pc(t);const e=t.model;let n=t.view;n||(n=n=>({group:e,name:n.substr(t.model.length+1)}));return i=>{var r;i.on(`addMarker:${e}`,(r=n,(t,e,n)=>{const i=r(e.markerName,n);if(!i)return;const o=e.markerRange;n.consumable.consume(o,t.name)&&(_l(o,!1,n,e,i),_l(o,!0,n,e,i),t.stop())}),{priority:t.converterPriority||"normal"}),i.on(`removeMarker:${e}`,function(t){return(e,n,i)=>{const r=t(n.markerName,i);if(!r)return;const o=i.mapper.markerNameToElements(n.markerName);if(o){for(const t of o)i.mapper.unbindElementFromMarkerName(t,n.markerName),t.is("containerElement")?(a(`data-${r.group}-start-before`,t),a(`data-${r.group}-start-after`,t),a(`data-${r.group}-end-before`,t),a(`data-${r.group}-end-after`,t)):i.writer.clear(i.writer.createRangeOn(t),t);i.writer.clearClonedElementsGroup(n.markerName),e.stop()}function a(t,e){if(e.hasAttribute(t)){const n=new Set(e.getAttribute(t).split(","));n.delete(r.name),0==n.size?i.writer.removeAttribute(t,e):i.writer.setAttribute(t,Array.from(n).join(","),e)}}}}(n),{priority:t.converterPriority||"normal"})}}(t))}}function wl(t,e){const n=t.createAttributeElement("span",e.attributes);return e.classes&&n._addClass(e.classes),"number"==typeof e.priority&&(n._priority=e.priority),n._id=e.id,n}function kl(t){return(e,n,i)=>{if(!i.consumable.test(n.item,e.name))return;const r=t(n.attributeOldValue,i,n),o=t(n.attributeNewValue,i,n);if(!r&&!o)return;i.consumable.consume(n.item,e.name);const a=i.writer,s=a.document.selection;if(n.item instanceof nl||n.item instanceof fl)a.wrap(s.getFirstRange(),o);else{let t=i.mapper.toViewRange(n.range);null!==n.attributeOldValue&&r&&(t=a.unwrap(t,r)),null!==n.attributeNewValue&&o&&a.wrap(t,o)}}}function vl(t,e=Ml){return(n,i,r)=>{if(!e(i.item,r.consumable,{preflight:!0}))return;const o=t(i.item,r,i);if(!o)return;e(i.item,r.consumable);const a=r.mapper.toViewPosition(i.range.start);r.mapper.bindElements(i.item,o),r.writer.insert(a,o),r.convertAttributes(i.item),Il(o,i.item.getChildren(),r,{reconversion:i.reconversion})}}function yl(t){return(e,n,i)=>{n.isOpening=!0;const r=t(n,i);n.isOpening=!1;const o=t(n,i);if(!r||!o)return;const a=n.markerRange;if(a.isCollapsed&&!i.consumable.consume(a,e.name))return;for(const t of a)if(!i.consumable.consume(t.item,e.name))return;const s=i.mapper,c=i.writer;c.insert(s.toViewPosition(a.start),r),i.mapper.bindElementToMarker(r,n.markerName),a.isCollapsed||(c.insert(s.toViewPosition(a.end),o),i.mapper.bindElementToMarker(o,n.markerName)),e.stop()}}function _l(t,e,n,i,r){const o=e?t.start:t.end,a=o.nodeAfter&&o.nodeAfter.is("element")?o.nodeAfter:null,s=o.nodeBefore&&o.nodeBefore.is("element")?o.nodeBefore:null;if(a||s){let t,o;e&&a||!e&&!s?(t=a,o=!0):(t=s,o=!1);const c=n.mapper.toViewElement(t);if(c)return void function(t,e,n,i,r,o){const a=`data-${o.group}-${e?"start":"end"}-${n?"before":"after"}`,s=t.hasAttribute(a)?t.getAttribute(a).split(","):[];s.unshift(o.name),i.writer.setAttribute(a,s.join(","),t),i.mapper.bindElementToMarker(t,r.markerName)}(c,e,o,n,i,r)}!function(t,e,n,i,r){const o=`${r.group}-${e?"start":"end"}`,a=r.name?{name:r.name}:null,s=n.writer.createUIElement(o,a);n.writer.insert(t,s),n.mapper.bindElementToMarker(s,i.markerName)}(n.mapper.toViewPosition(o),e,n,i,r)}function Cl(t){return"string"==typeof t&&(t={name:t}),{name:t.name,attributes:t.attributes?Jr(t.attributes):[],children:!!t.children}}function Al(t,e){return"function"==typeof t?t:(n,i)=>function(t,e,n){"string"==typeof t&&(t={name:t});let i;const r=e.writer,o=Object.assign({},t.attributes);if("container"==n)i=r.createContainerElement(t.name,o);else if("attribute"==n){const e={priority:t.priority||rs.DEFAULT_PRIORITY};i=r.createAttributeElement(t.name,o,e)}else i=r.createUIElement(t.name,o);if(t.styles){const e=Object.keys(t.styles);for(const n of e)r.setStyle(n,t.styles[n],i)}if(t.classes){const e=t.classes;if("string"==typeof e)r.addClass(e,i);else for(const t of e)r.addClass(t,i)}return i}(t,i,e)}function xl(t){return t.model.values?(e,n,i)=>{const r=t.view[e];return r?r(e,n,i):null}:t.view}function El(t){return"string"==typeof t?e=>({key:t,value:e}):"object"==typeof t?t.value?()=>t:e=>({key:t.key,value:e}):t}function Tl(t,e,n){const i="function"==typeof t?t(e,n):t;return i?(i.priority||(i.priority=10),i.id||(i.id=e.markerName),i):null}function Sl(t){const e=function(t){return(e,n)=>{if(!e.is("element",t.name))return!1;if("attribute"==n.type){if(t.attributes.includes(n.attributeKey))return!0}else if(t.children)return!0;return!1}}(t);return(t,n)=>{const i=[];n.reconvertedElements||(n.reconvertedElements=new Set);for(const t of n.changes){const r="attribute"==t.type?t.range.start.nodeAfter:t.position.parent;if(r&&e(r,t)){if(!n.reconvertedElements.has(r)){n.reconvertedElements.add(r);const t=Hc._createBefore(r);let e=i.length;for(let n=i.length-1;n>=0;n--){const r=i[n],o=("attribute"==r.type?r.range.start:r.position).compareWith(t);if("before"==o||"remove"==r.type&&"same"==o)break;e=n}i.splice(e,0,{type:"remove",name:r.name,position:t,length:1},{type:"reinsert",name:r.name,position:t,length:1})}}else i.push(t)}n.changes=i}}function Dl(t){return(e,n,i={})=>{const r=["insert"];for(const n of t.attributes)e.hasAttribute(n)&&r.push(`attribute:${n}`);return!!r.every((t=>n.test(e,t)))&&(i.preflight||r.forEach((t=>n.consume(e,t))),!0)}}function Il(t,e,n,i){for(const r of e)Bl(t.root,r,n,i)||n.convertItem(r)}function Bl(t,e,n,i){const{writer:r,mapper:o}=n;if(!i.reconversion)return!1;const a=o.toViewElement(e);return!(!a||a.root==t)&&(!!n.canReuseView(a)&&(r.move(r.createRangeOn(a),o.toViewPosition(Hc._createBefore(e))),!0))}function Ml(t,e,{preflight:n}={}){return n?e.test(t,"insert"):e.consume(t,"insert")}function Pl(t){const{schema:e,document:n}=t.model;for(const i of n.getRoots())if(i.isEmpty&&!e.checkChild(i,"$text")&&e.checkChild(i,"paragraph"))return t.insertElement("paragraph",i),!0;return!1}function Ll(t,e,n){const i=n.createContext(t);return!!n.checkChild(i,"paragraph")&&!!n.checkChild(i.push("paragraph"),e)}function Ol(t,e){const n=e.createElement("paragraph");return e.insert(n,t),e.createPositionAt(n,0)}class Nl extends ml{elementToElement(t){return this.add(Rl(t))}elementToAttribute(t){return this.add(function(t){t=Pc(t),$l(t);const e=zl(t,!1),n=Fl(t.view),i=n?`element:${n}`:"element";return n=>{n.on(i,e,{priority:t.converterPriority||"low"})}}(t))}attributeToAttribute(t){return this.add(function(t){t=Pc(t);let e=null;("string"==typeof t.view||t.view.key)&&(e=function(t){"string"==typeof t.view&&(t.view={key:t.view});const e=t.view.key,n=void 0===t.view.value?/[\s\S]*/:t.view.value;let i;if("class"==e||"style"==e){const t="class"==e?"classes":"styles";i={[t]:n}}else i={attributes:{[e]:n}};t.view.name&&(i.name=t.view.name);return t.view=i,e}(t));$l(t,e);const n=zl(t,!0);return e=>{e.on("element",n,{priority:t.converterPriority||"low"})}}(t))}elementToMarker(t){return this.add(function(t){const e=function(t){return(e,n)=>{const i="string"==typeof t?t:t(e,n);return n.writer.createElement("$marker",{"data-name":i})}}(t.model);return Rl({...t,model:e})}(t))}dataToMarker(t){return this.add(function(t){t=Pc(t),t.model||(t.model=e=>e?t.view+":"+e:t.view);const e={view:t.view,model:t.model},n=jl(Vl(e,"start")),i=jl(Vl(e,"end"));return r=>{r.on(`element:${t.view}-start`,n,{priority:t.converterPriority||"normal"}),r.on(`element:${t.view}-end`,i,{priority:t.converterPriority||"normal"});const o=mi.low,a=mi.highest,s=mi.get(t.converterPriority)/a;r.on("element",function(t){return(e,n,i)=>{const r=`data-${t.view}`;function o(e,r){for(const o of r){const r=t.model(o,i),a=i.writer.createElement("$marker",{"data-name":r});i.writer.insert(a,e),n.modelCursor.isEqual(e)?n.modelCursor=n.modelCursor.getShiftedBy(1):n.modelCursor=n.modelCursor._getTransformedByInsertion(e,1),n.modelRange=n.modelRange._getTransformedByInsertion(e,1)[0]}}(i.consumable.test(n.viewItem,{attributes:r+"-end-after"})||i.consumable.test(n.viewItem,{attributes:r+"-start-after"})||i.consumable.test(n.viewItem,{attributes:r+"-end-before"})||i.consumable.test(n.viewItem,{attributes:r+"-start-before"}))&&(n.modelRange||Object.assign(n,i.convertChildren(n.viewItem,n.modelCursor)),i.consumable.consume(n.viewItem,{attributes:r+"-end-after"})&&o(n.modelRange.end,n.viewItem.getAttribute(r+"-end-after").split(",")),i.consumable.consume(n.viewItem,{attributes:r+"-start-after"})&&o(n.modelRange.end,n.viewItem.getAttribute(r+"-start-after").split(",")),i.consumable.consume(n.viewItem,{attributes:r+"-end-before"})&&o(n.modelRange.start,n.viewItem.getAttribute(r+"-end-before").split(",")),i.consumable.consume(n.viewItem,{attributes:r+"-start-before"})&&o(n.modelRange.start,n.viewItem.getAttribute(r+"-start-before").split(",")))}}(e),{priority:o+s})}}(t))}}function Rl(t){const e=jl(t=Pc(t)),n=Fl(t.view),i=n?`element:${n}`:"element";return n=>{n.on(i,e,{priority:t.converterPriority||"normal"})}}function Fl(t){return"string"==typeof t?t:"object"==typeof t&&"string"==typeof t.name?t.name:null}function jl(t){const e=new aa(t.view);return(n,i,r)=>{const o=e.match(i.viewItem);if(!o)return;const a=o.match;if(a.name=!0,!r.consumable.test(i.viewItem,a))return;const s=function(t,e,n){return t instanceof Function?t(e,n):n.writer.createElement(t)}(t.model,i.viewItem,r);s&&r.safeInsert(s,i.modelCursor)&&(r.consumable.consume(i.viewItem,a),r.convertChildren(i.viewItem,s),r.updateConversionResult(s,i))}}function $l(t,e=null){const n=null===e||(t=>t.getAttribute(e)),i="object"!=typeof t.model?t.model:t.model.key,r="object"!=typeof t.model||void 0===t.model.value?n:t.model.value;t.model={key:i,value:r}}function zl(t,e){const n=new aa(t.view);return(i,r,o)=>{if(!r.modelRange&&e)return;const a=n.match(r.viewItem);if(!a)return;if(!function(t,e){const n="function"==typeof t?t(e):t;if("object"==typeof n&&!Fl(n))return!1;return!n.classes&&!n.attributes&&!n.styles}(t.view,r.viewItem)?delete a.match.name:a.match.name=!0,!o.consumable.test(r.viewItem,a.match))return;const s=t.model.key,c="function"==typeof t.model.value?t.model.value(r.viewItem,o):t.model.value;if(null===c)return;r.modelRange||Object.assign(r,o.convertChildren(r.viewItem,r.modelCursor));const l=function(t,e,n,i){let r=!1;for(const o of Array.from(t.getItems({shallow:n})))i.schema.checkAttribute(o,e.key)&&(r=!0,o.hasAttribute(e.key)||i.writer.setAttribute(e.key,e.value,o));return r}(r.modelRange,{key:s,value:c},e,o);l&&(o.consumable.test(r.viewItem,{name:!0})&&(a.match.name=!0),o.consumable.consume(r.viewItem,a.match))}}function Vl(t,e){return{view:`${t.view}-${e}`,model:(e,n)=>{const i=e.getAttribute("name"),r=t.model(i,n);return n.writer.createElement("$marker",{"data-name":r})}}}function Hl(t){t.document.registerPostFixer((e=>function(t,e){const n=e.document.selection,i=e.schema,r=[];let o=!1;for(const t of n.getRanges()){const e=ql(t,i);e&&!e.isEqual(t)?(r.push(e),o=!0):r.push(t)}o&&t.setSelection(function(t){const e=[...t],n=new Set;let i=1;for(;i!n.has(e)))}(r),{backward:n.isBackward});return!1}(e,t)))}function ql(t,e){return t.isCollapsed?function(t,e){const n=t.start,i=e.getNearestSelectionRange(n);if(!i){const t=n.getAncestors().reverse().find((t=>e.isObject(t)));return t?Yc._createOn(t):null}if(!i.isCollapsed)return i;const r=i.start;if(n.isEqual(r))return null;return new Yc(r)}(t,e):function(t,e){const{start:n,end:i}=t,r=e.checkChild(n,"$text"),o=e.checkChild(i,"$text"),a=e.getLimitElement(n),s=e.getLimitElement(i);if(a===s){if(r&&o)return null;if(function(t,e,n){const i=t.nodeAfter&&!n.isLimit(t.nodeAfter)||n.checkChild(t,"$text"),r=e.nodeBefore&&!n.isLimit(e.nodeBefore)||n.checkChild(e,"$text");return i||r}(n,i,e)){const t=n.nodeAfter&&e.isSelectable(n.nodeAfter)?null:e.getNearestSelectionRange(n,"forward"),r=i.nodeBefore&&e.isSelectable(i.nodeBefore)?null:e.getNearestSelectionRange(i,"backward"),o=t?t.start:n,a=r?r.end:i;return new Yc(o,a)}}const c=a&&!a.is("rootElement"),l=s&&!s.is("rootElement");if(c||l){const t=n.nodeAfter&&i.nodeBefore&&n.nodeAfter.parent===i.nodeBefore.parent,r=c&&(!t||!Gl(n.nodeAfter,e)),o=l&&(!t||!Gl(i.nodeBefore,e));let u=n,h=i;return r&&(u=Hc._createBefore(Ul(a,e))),o&&(h=Hc._createAfter(Ul(s,e))),new Yc(u,h)}return null}(t,e)}function Ul(t,e){let n=t,i=n;for(;e.isLimit(i)&&i.parent;)n=i,i=i.parent;return n}function Gl(t,e){return t&&e.isSelectable(t)}class Wl extends(Vi()){model;view;mapper;downcastDispatcher;constructor(t,e){super(),this.model=t,this.view=new Lc(e),this.mapper=new Xc,this.downcastDispatcher=new Jc({mapper:this.mapper,schema:t.schema});const n=this.model.document,i=n.selection,r=this.model.markers;var o,a,s;this.listenTo(this.model,"_beforeChanges",(()=>{this.view._disableRendering(!0)}),{priority:"highest"}),this.listenTo(this.model,"_afterChanges",(()=>{this.view._disableRendering(!1)}),{priority:"lowest"}),this.listenTo(n,"change",(()=>{this.view.change((t=>{this.downcastDispatcher.convertChanges(n.differ,r,t),this.downcastDispatcher.convertSelection(i,r,t)}))}),{priority:"low"}),this.listenTo(this.view.document,"selectionChange",function(t,e){return(n,i)=>{const r=i.newSelection,o=[];for(const t of r.getRanges())o.push(e.toModelRange(t));const a=t.createSelection(o,{backward:r.isBackward});a.isEqual(t.document.selection)||t.change((t=>{t.setSelection(a)}))}}(this.model,this.mapper)),this.listenTo(this.view.document,"beforeinput",(o=this.mapper,a=this.model.schema,s=this.view,(t,e)=>{if(!s.document.isComposing||Jn.isAndroid)for(let t=0;t{if(!n.consumable.consume(e.item,t.name))return;const i=n.writer,r=n.mapper.toViewPosition(e.range.start),o=i.createText(e.item.data);i.insert(r,o)}),{priority:"lowest"}),this.downcastDispatcher.on("insert",((t,e,n)=>{n.convertAttributes(e.item),e.reconversion||!e.item.is("element")||e.item.isEmpty||n.convertChildren(e.item)}),{priority:"lowest"}),this.downcastDispatcher.on("remove",((t,e,n)=>{const i=n.mapper.toViewPosition(e.position),r=e.position.getShiftedBy(e.length),o=n.mapper.toViewPosition(r,{isPhantom:!0}),a=n.writer.createRange(i,o),s=n.writer.remove(a.getTrimmed());for(const t of n.writer.createRangeIn(s).getItems())n.mapper.unbindViewElement(t,{defer:!0})}),{priority:"low"}),this.downcastDispatcher.on("cleanSelection",((t,e,n)=>{const i=n.writer,r=i.document.selection;for(const t of r.getRanges())t.isCollapsed&&t.end.parent.isAttached()&&n.writer.mergeAttributes(t.start);i.setSelection(null)})),this.downcastDispatcher.on("selection",((t,e,n)=>{const i=e.selection;if(i.isCollapsed)return;if(!n.consumable.consume(i,"selection"))return;const r=[];for(const t of i.getRanges())r.push(n.mapper.toViewRange(t));n.writer.setSelection(r,{backward:i.isBackward})}),{priority:"low"}),this.downcastDispatcher.on("selection",((t,e,n)=>{const i=e.selection;if(!i.isCollapsed)return;if(!n.consumable.consume(i,"selection"))return;const r=n.writer,o=i.getFirstPosition(),a=n.mapper.toViewPosition(o),s=r.breakAttributes(a);r.setSelection(s)}),{priority:"low"}),this.view.document.roots.bindTo(this.model.document.roots).using((t=>{if("$graveyard"==t.rootName)return null;const e=new Ha(this.view.document,t.name);return e.rootName=t.rootName,this.mapper.bindElements(t,e),e}))}destroy(){this.view.destroy(),this.stopListening()}reconvertMarker(t){const e="string"==typeof t?t:t.name,n=this.model.markers.get(e);if(!n)throw new wi("editingcontroller-reconvertmarker-marker-not-exist",this,{markerName:e});this.model.change((()=>{this.model.markers._refresh(n)}))}reconvertItem(t){this.model.change((()=>{this.model.document.differ._refreshItem(t)}))}}class Kl{_consumables=new Map;add(t,e){let n;t.is("$text")||t.is("documentFragment")?this._consumables.set(t,!0):(this._consumables.has(t)?n=this._consumables.get(t):(n=new Xl(t),this._consumables.set(t,n)),n.add(e))}test(t,e){const n=this._consumables.get(t);return void 0===n?null:t.is("$text")||t.is("documentFragment")?n:n.test(e)}consume(t,e){return!!this.test(t,e)&&(t.is("$text")||t.is("documentFragment")?this._consumables.set(t,!1):this._consumables.get(t).consume(e),!0)}revert(t,e){const n=this._consumables.get(t);void 0!==n&&(t.is("$text")||t.is("documentFragment")?this._consumables.set(t,!0):n.revert(e))}static consumablesFromElement(t){const e={element:t,name:!0,attributes:[],classes:[],styles:[]},n=t.getAttributeKeys();for(const t of n)"style"!=t&&"class"!=t&&e.attributes.push(t);const i=t.getClassNames();for(const t of i)e.classes.push(t);const r=t.getStyleNames();for(const t of r)e.styles.push(t);return e}static createFrom(t,e){if(e||(e=new Kl),t.is("$text"))return e.add(t),e;t.is("element")&&e.add(t,Kl.consumablesFromElement(t)),t.is("documentFragment")&&e.add(t);for(const n of t.getChildren())e=Kl.createFrom(n,e);return e}}const Yl=["attributes","classes","styles"];class Xl{element;_canConsumeName;_consumables;constructor(t){this.element=t,this._canConsumeName=null,this._consumables={attributes:new Map,styles:new Map,classes:new Map}}add(t){t.name&&(this._canConsumeName=!0);for(const e of Yl)e in t&&this._add(e,t[e])}test(t){if(t.name&&!this._canConsumeName)return this._canConsumeName;for(const e of Yl)if(e in t){const n=this._test(e,t[e]);if(!0!==n)return n}return!0}consume(t){t.name&&(this._canConsumeName=!1);for(const e of Yl)e in t&&this._consume(e,t[e])}revert(t){t.name&&(this._canConsumeName=!0);for(const e of Yl)e in t&&this._revert(e,t[e])}_add(t,e){const n=Jr(e),i=this._consumables[t];for(const e of n){if("attributes"===t&&("class"===e||"style"===e))throw new wi("viewconsumable-invalid-attribute",this);if(i.set(e,!0),"styles"===t)for(const t of this.element.document.stylesProcessor.getRelatedStyles(e))i.set(t,!0)}}_test(t,e){const n=Jr(e),i=this._consumables[t];for(const e of n)if("attributes"!==t||"class"!==e&&"style"!==e){const t=i.get(e);if(void 0===t)return null;if(!t)return!1}else{const t="class"==e?"classes":"styles",n=this._test(t,[...this._consumables[t].keys()]);if(!0!==n)return n}return!0}_consume(t,e){const n=Jr(e),i=this._consumables[t];for(const e of n)if("attributes"!==t||"class"!==e&&"style"!==e){if(i.set(e,!1),"styles"==t)for(const t of this.element.document.stylesProcessor.getRelatedStyles(e))i.set(t,!1)}else{const t="class"==e?"classes":"styles";this._consume(t,[...this._consumables[t].keys()])}}_revert(t,e){const n=Jr(e),i=this._consumables[t];for(const e of n)if("attributes"!==t||"class"!==e&&"style"!==e){!1===i.get(e)&&i.set(e,!0)}else{const t="class"==e?"classes":"styles";this._revert(t,[...this._consumables[t].keys()])}}}class Zl extends(Vi()){_sourceDefinitions={};_attributeProperties=Object.create(null);_customChildChecks=new Map;_customAttributeChecks=new Map;_genericCheckSymbol=Symbol("$generic");_compiledDefinitions;constructor(){super(),this.decorate("checkChild"),this.decorate("checkAttribute"),this.on("checkAttribute",((t,e)=>{e[0]=new Ql(e[0])}),{priority:"highest"}),this.on("checkChild",((t,e)=>{e[0]=new Ql(e[0]),e[1]=this.getDefinition(e[1])}),{priority:"highest"})}register(t,e){if(this._sourceDefinitions[t])throw new wi("schema-cannot-register-item-twice",this,{itemName:t});this._sourceDefinitions[t]=[Object.assign({},e)],this._clearCache()}extend(t,e){if(!this._sourceDefinitions[t])throw new wi("schema-cannot-extend-missing-item",this,{itemName:t});this._sourceDefinitions[t].push(Object.assign({},e)),this._clearCache()}getDefinitions(){return this._compiledDefinitions||this._compile(),this._compiledDefinitions}getDefinition(t){let e;return e="string"==typeof t?t:"is"in t&&(t.is("$text")||t.is("$textProxy"))?"$text":t.name,this.getDefinitions()[e]}isRegistered(t){return!!this.getDefinition(t)}isBlock(t){const e=this.getDefinition(t);return!(!e||!e.isBlock)}isLimit(t){const e=this.getDefinition(t);return!!e&&!(!e.isLimit&&!e.isObject)}isObject(t){const e=this.getDefinition(t);return!!e&&!!(e.isObject||e.isLimit&&e.isSelectable&&e.isContent)}isInline(t){const e=this.getDefinition(t);return!(!e||!e.isInline)}isSelectable(t){const e=this.getDefinition(t);return!!e&&!(!e.isSelectable&&!e.isObject)}isContent(t){const e=this.getDefinition(t);return!!e&&!(!e.isContent&&!e.isObject)}checkChild(t,e){return!!e&&this._checkContextMatch(t,e)}checkAttribute(t,e){const n=this.getDefinition(t.last);if(!n)return!1;const i=this._evaluateAttributeChecks(t,e);return void 0!==i?i:n.allowAttributes.includes(e)}checkMerge(t,e){if(t instanceof Hc){const e=t.nodeBefore,n=t.nodeAfter;if(!(e instanceof $c))throw new wi("schema-check-merge-no-element-before",this);if(!(n instanceof $c))throw new wi("schema-check-merge-no-element-after",this);return this.checkMerge(e,n)}if(this.isLimit(t)||this.isLimit(e))return!1;for(const n of e.getChildren())if(!this.checkChild(t,n))return!1;return!0}addChildCheck(t,e){const n=void 0!==e?e:this._genericCheckSymbol,i=this._customChildChecks.get(n)||[];i.push(t),this._customChildChecks.set(n,i)}addAttributeCheck(t,e){const n=void 0!==e?e:this._genericCheckSymbol,i=this._customAttributeChecks.get(n)||[];i.push(t),this._customAttributeChecks.set(n,i)}setAttributeProperties(t,e){this._attributeProperties[t]=Object.assign(this.getAttributeProperties(t),e)}getAttributeProperties(t){return this._attributeProperties[t]||Object.create(null)}getLimitElement(t){let e;if(t instanceof Hc)e=t.parent;else{e=(t instanceof Yc?[t]:Array.from(t.getRanges())).reduce(((t,e)=>{const n=e.getCommonAncestor();return t?t.getCommonAncestor(n,{includeSelf:!0}):n}),null)}for(;!this.isLimit(e)&&e.parent;)e=e.parent;return e}checkAttributeInSelection(t,e){if(t.isCollapsed){const n=[...t.getFirstPosition().getAncestors(),new Fc("",t.getAttributes())];return this.checkAttribute(n,e)}{const n=t.getRanges();for(const t of n)for(const n of t)if(this.checkAttribute(n.item,e))return!0}return!1}*getValidRanges(t,e){t=function*(t){for(const e of t)yield*e.getMinimalFlatRanges()}(t);for(const n of t)yield*this._getValidRangesForRange(n,e)}getNearestSelectionRange(t,e="both"){if("$graveyard"==t.root.rootName)return null;if(this.checkChild(t,"$text"))return new Yc(t);let n,i;const r=t.getAncestors().reverse().find((t=>this.isLimit(t)))||t.root;"both"!=e&&"backward"!=e||(n=new zc({boundaries:Yc._createIn(r),startPosition:t,direction:"backward"})),"both"!=e&&"forward"!=e||(i=new zc({boundaries:Yc._createIn(r),startPosition:t}));for(const t of function*(t,e){let n=!1;for(;!n;){if(n=!0,t){const e=t.next();e.done||(n=!1,yield{walker:t,value:e.value})}if(e){const t=e.next();t.done||(n=!1,yield{walker:e,value:t.value})}}}(n,i)){const e=t.walker==n?"elementEnd":"elementStart",i=t.value;if(i.type==e&&this.isObject(i.item))return Yc._createOn(i.item);if(this.checkChild(i.nextPosition,"$text"))return new Yc(i.nextPosition)}return null}findAllowedParent(t,e){let n=t.parent;for(;n;){if(this.checkChild(n,e))return n;if(this.isLimit(n))return null;n=n.parent}return null}setAllowedAttributes(t,e,n){const i=n.model;for(const[r,o]of Object.entries(e))i.schema.checkAttribute(t,r)&&n.setAttribute(r,o,t)}removeDisallowedAttributes(t,e){for(const n of t)if(n.is("$text"))hu(this,n,e);else{const t=Yc._createIn(n).getPositions();for(const n of t){hu(this,n.nodeBefore||n.parent,e)}}}getAttributesWithProperty(t,e,n){const i={};for(const[r,o]of t.getAttributes()){const t=this.getAttributeProperties(r);void 0!==t[e]&&(void 0!==n&&n!==t[e]||(i[r]=o))}return i}createContext(t){return new Ql(t)}_clearCache(){this._compiledDefinitions=null}_compile(){const t={},e=this._sourceDefinitions,n=Object.keys(e);for(const i of n)t[i]=Jl(e[i],i);const i=Object.values(t);for(const e of i)tu(t,e),eu(t,e),nu(t,e),iu(t,e);for(const e of i)ru(t,e);for(const e of i)ou(t,e);for(const e of i)au(t,e);for(const e of i)su(t,e);for(const e of i)cu(t,e);this._compiledDefinitions=function(t){const e={};for(const n of Object.values(t))e[n.name]={name:n.name,isBlock:!!n.isBlock,isContent:!!n.isContent,isInline:!!n.isInline,isLimit:!!n.isLimit,isObject:!!n.isObject,isSelectable:!!n.isSelectable,allowIn:Array.from(n.allowIn).filter((e=>!!t[e])),allowChildren:Array.from(n.allowChildren).filter((e=>!!t[e])),allowAttributes:Array.from(n.allowAttributes)};return e}(t)}_checkContextMatch(t,e){const n=t.last;let i=this._evaluateChildChecks(t,e);if(i=void 0!==i?i:e.allowIn.includes(n.name),!i)return!1;const r=this.getDefinition(n),o=t.trimLast();return!!r&&(0==o.length||this._checkContextMatch(o,r))}_evaluateChildChecks(t,e){const n=this._customChildChecks.get(this._genericCheckSymbol)||[],i=this._customChildChecks.get(e.name)||[];for(const r of[...n,...i]){const n=r(t,e);if(void 0!==n)return n}}_evaluateAttributeChecks(t,e){const n=this._customAttributeChecks.get(this._genericCheckSymbol)||[],i=this._customAttributeChecks.get(e)||[];for(const r of[...n,...i]){const n=r(t,e);if(void 0!==n)return n}}*_getValidRangesForRange(t,e){let n=t.start,i=t.start;for(const r of t.getItems({shallow:!0}))r.is("element")&&(yield*this._getValidRangesForRange(Yc._createIn(r),e)),this.checkAttribute(r,e)||(n.isEqual(i)||(yield new Yc(n,i)),n=Hc._createAfter(r)),i=Hc._createAfter(r);n.isEqual(i)||(yield new Yc(n,i))}findOptimalInsertionRange(t,e){const n=t.getSelectedElement();if(n&&this.isObject(n)&&!this.isInline(n))return"before"==e||"after"==e?new Yc(Hc._createAt(n,e)):Yc._createOn(n);const i=xo(t.getSelectedBlocks());if(!i)return new Yc(t.focus);if(i.isEmpty)return new Yc(Hc._createAt(i,0));const r=Hc._createAfter(i);return t.focus.isTouching(r)?new Yc(r):new Yc(Hc._createBefore(i))}}class Ql{_items;constructor(t){if(t instanceof Ql)return t;let e;e="string"==typeof t?[t]:Array.isArray(t)?t:t.getAncestors({includeSelf:!0}),this._items=e.map(uu)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(t){const e=new Ql([t]);return e._items=[...this._items,...e._items],e}trimLast(){const t=new Ql([]);return t._items=this._items.slice(0,-1),t}getItem(t){return this._items[t]}*getNames(){yield*this._items.map((t=>t.name))}endsWith(t){return Array.from(this.getNames()).join(" ").endsWith(t)}startsWith(t){return Array.from(this.getNames()).join(" ").startsWith(t)}}function Jl(t,e){const n={name:e,allowIn:new Set,allowChildren:new Set,disallowIn:new Set,disallowChildren:new Set,allowContentOf:new Set,allowWhere:new Set,allowAttributes:new Set,disallowAttributes:new Set,allowAttributesOf:new Set,inheritTypesFrom:new Set};return function(t,e){for(const n of t){const t=Object.keys(n).filter((t=>t.startsWith("is")));for(const i of t)e[i]=!!n[i]}}(t,n),lu(t,n,"allowIn"),lu(t,n,"allowChildren"),lu(t,n,"disallowIn"),lu(t,n,"disallowChildren"),lu(t,n,"allowContentOf"),lu(t,n,"allowWhere"),lu(t,n,"allowAttributes"),lu(t,n,"disallowAttributes"),lu(t,n,"allowAttributesOf"),lu(t,n,"inheritTypesFrom"),function(t,e){for(const n of t){const t=n.inheritAllFrom;t&&(e.allowContentOf.add(t),e.allowWhere.add(t),e.allowAttributesOf.add(t),e.inheritTypesFrom.add(t))}}(t,n),n}function tu(t,e){for(const n of e.allowIn){const i=t[n];i?i.allowChildren.add(e.name):e.allowIn.delete(n)}}function eu(t,e){for(const n of e.allowChildren){const i=t[n];i?i.allowIn.add(e.name):e.allowChildren.delete(n)}}function nu(t,e){for(const n of e.disallowIn){const i=t[n];i?i.disallowChildren.add(e.name):e.disallowIn.delete(n)}}function iu(t,e){for(const n of e.disallowChildren){const i=t[n];i?i.disallowIn.add(e.name):e.disallowChildren.delete(n)}}function ru(t,e){for(const t of e.disallowChildren)e.allowChildren.delete(t);for(const t of e.disallowIn)e.allowIn.delete(t);for(const t of e.disallowAttributes)e.allowAttributes.delete(t)}function ou(t,e){for(const n of e.allowContentOf){const i=t[n];i&&(i.disallowChildren.forEach((n=>{e.allowChildren.has(n)||(e.disallowChildren.add(n),t[n].disallowIn.add(e.name))})),i.allowChildren.forEach((n=>{e.disallowChildren.has(n)||(e.allowChildren.add(n),t[n].allowIn.add(e.name))})))}}function au(t,e){for(const n of e.allowWhere){const i=t[n];i&&(i.disallowIn.forEach((n=>{e.allowIn.has(n)||(e.disallowIn.add(n),t[n].disallowChildren.add(e.name))})),i.allowIn.forEach((n=>{e.disallowIn.has(n)||(e.allowIn.add(n),t[n].allowChildren.add(e.name))})))}}function su(t,e){for(const n of e.allowAttributesOf){const i=t[n];if(!i)return;i.allowAttributes.forEach((t=>{e.disallowAttributes.has(t)||e.allowAttributes.add(t)}))}}function cu(t,e){for(const n of e.inheritTypesFrom){const i=t[n];if(i){const t=Object.keys(i).filter((t=>t.startsWith("is")));for(const n of t)n in e||(e[n]=i[n])}}}function lu(t,e,n){for(const i of t){let t=i[n];"string"==typeof t&&(t=[t]),Array.isArray(t)&&t.forEach((t=>e[n].add(t)))}}function uu(t){return"string"==typeof t||t.is("documentFragment")?{name:"string"==typeof t?t:"$documentFragment",*getAttributeKeys(){},getAttribute(){}}:{name:t.is("element")?t.name:"$text",*getAttributeKeys(){yield*t.getAttributeKeys()},getAttribute:e=>t.getAttribute(e)}}function hu(t,e,n){for(const i of e.getAttributeKeys())t.checkAttribute(e,i)||n.removeAttribute(i,e)}class du extends(Si()){conversionApi;_splitParts=new Map;_cursorParents=new Map;_modelCursor=null;_emptyElementsToKeep=new Set;constructor(t){super(),this.conversionApi={...t,consumable:null,writer:null,store:null,convertItem:(t,e)=>this._convertItem(t,e),convertChildren:(t,e)=>this._convertChildren(t,e),safeInsert:(t,e)=>this._safeInsert(t,e),updateConversionResult:(t,e)=>this._updateConversionResult(t,e),splitToAllowedParent:(t,e)=>this._splitToAllowedParent(t,e),getSplitParts:t=>this._getSplitParts(t),keepEmptyElement:t=>this._keepEmptyElement(t)}}convert(t,e,n=["$root"]){this.fire("viewCleanup",t),this._modelCursor=function(t,e){let n;for(const i of new Ql(t)){const t={};for(const e of i.getAttributeKeys())t[e]=i.getAttribute(e);const r=e.createElement(i.name,t);n&&e.insert(r,n),n=Hc._createAt(r,0)}return n}(n,e),this.conversionApi.writer=e,this.conversionApi.consumable=Kl.createFrom(t),this.conversionApi.store={};const{modelRange:i}=this._convertItem(t,this._modelCursor),r=e.createDocumentFragment();if(i){this._removeEmptyElements();for(const t of Array.from(this._modelCursor.parent.getChildren()))e.append(t,r);r.markers=function(t,e){const n=new Set,i=new Map,r=Yc._createIn(t).getItems();for(const t of r)t.is("element","$marker")&&n.add(t);for(const t of n){const n=t.getAttribute("data-name"),r=e.createPositionBefore(t);i.has(n)?i.get(n).end=r.clone():i.set(n,new Yc(r.clone())),e.remove(t)}return i}(r,e)}return this._modelCursor=null,this._splitParts.clear(),this._cursorParents.clear(),this._emptyElementsToKeep.clear(),this.conversionApi.writer=null,this.conversionApi.store=null,r}_convertItem(t,e){const n={viewItem:t,modelCursor:e,modelRange:null};if(t.is("element")?this.fire(`element:${t.name}`,n,this.conversionApi):t.is("$text")?this.fire("text",n,this.conversionApi):this.fire("documentFragment",n,this.conversionApi),n.modelRange&&!(n.modelRange instanceof Yc))throw new wi("view-conversion-dispatcher-incorrect-result",this);return{modelRange:n.modelRange,modelCursor:n.modelCursor}}_convertChildren(t,e){let n=e.is("position")?e:Hc._createAt(e,0);const i=new Yc(n);for(const e of Array.from(t.getChildren())){const t=this._convertItem(e,n);t.modelRange instanceof Yc&&(i.end=t.modelRange.end,n=t.modelCursor)}return{modelRange:i,modelCursor:n}}_safeInsert(t,e){const n=this._splitToAllowedParent(t,e);return!!n&&(this.conversionApi.writer.insert(t,n.position),!0)}_updateConversionResult(t,e){const n=this._getSplitParts(t),i=this.conversionApi.writer;e.modelRange||(e.modelRange=i.createRange(i.createPositionBefore(t),i.createPositionAfter(n[n.length-1])));const r=this._cursorParents.get(t);e.modelCursor=r?i.createPositionAt(r,0):e.modelRange.end}_splitToAllowedParent(t,e){const{schema:n,writer:i}=this.conversionApi;let r=n.findAllowedParent(e,t);if(r){if(r===e.parent)return{position:e};this._modelCursor.parent.getAncestors().includes(r)&&(r=null)}if(!r)return Ll(e,t,n)?{position:Ol(e,i)}:null;const o=this.conversionApi.writer.split(e,r),a=[];for(const t of o.range.getWalker())if("elementEnd"==t.type)a.push(t.item);else{const e=a.pop(),n=t.item;this._registerSplitPair(e,n)}const s=o.range.end.parent;return this._cursorParents.set(t,s),{position:o.position,cursorParent:s}}_registerSplitPair(t,e){this._splitParts.has(t)||this._splitParts.set(t,[t]);const n=this._splitParts.get(t);this._splitParts.set(e,n),n.push(e)}_getSplitParts(t){let e;return e=this._splitParts.has(t)?this._splitParts.get(t):[t],e}_keepEmptyElement(t){this._emptyElementsToKeep.add(t)}_removeEmptyElements(){let t=!1;for(const e of this._splitParts.keys())e.isEmpty&&!this._emptyElementsToKeep.has(e)&&(this.conversionApi.writer.remove(e),this._splitParts.delete(e),t=!0);t&&this._removeEmptyElements()}}class fu{getHtml(t){const e=Xn.document.implementation.createHTMLDocument("").createElement("div");return e.appendChild(t),e.innerHTML}}class gu{domParser;domConverter;htmlWriter;skipComments=!0;constructor(t){this.domParser=new DOMParser,this.domConverter=new Gs(t,{renderingMode:"data"}),this.htmlWriter=new fu}toData(t){const e=this.domConverter.viewToDom(t);return this.htmlWriter.getHtml(e)}toView(t){const e=this._toDom(t);return this.domConverter.domToView(e,{skipComments:this.skipComments})}registerRawContentMatcher(t){this.domConverter.registerRawContentMatcher(t)}useFillerType(t){this.domConverter.blockFillerMode="marked"==t?"markedNbsp":"nbsp"}_toDom(t){/<(?:html|body|head|meta)(?:\s[^>]*)?>/i.test(t.trim().slice(0,1e4))||(t=`${t}`);const e=this.domParser.parseFromString(t,"text/html"),n=e.createDocumentFragment(),i=e.body.childNodes;for(;i.length>0;)n.appendChild(i[0]);return n}}class pu extends(Si()){model;mapper;downcastDispatcher;upcastDispatcher;viewDocument;stylesProcessor;htmlProcessor;processor;_viewWriter;constructor(t,e){super(),this.model=t,this.mapper=new Xc,this.downcastDispatcher=new Jc({mapper:this.mapper,schema:t.schema}),this.downcastDispatcher.on("insert:$text",((t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const i=n.writer,r=n.mapper.toViewPosition(e.range.start),o=i.createText(e.item.data);i.insert(r,o)}),{priority:"lowest"}),this.downcastDispatcher.on("insert",((t,e,n)=>{n.convertAttributes(e.item),e.reconversion||!e.item.is("element")||e.item.isEmpty||n.convertChildren(e.item)}),{priority:"lowest"}),this.upcastDispatcher=new du({schema:t.schema}),this.viewDocument=new is(e),this.stylesProcessor=e,this.htmlProcessor=new gu(this.viewDocument),this.processor=this.htmlProcessor,this._viewWriter=new ps(this.viewDocument),this.upcastDispatcher.on("text",((t,e,{schema:n,consumable:i,writer:r})=>{let o=e.modelCursor;if(!i.test(e.viewItem))return;if(!n.checkChild(o,"$text")){if(!Ll(o,"$text",n))return;if(0==e.viewItem.data.trim().length)return;o=Ol(o,r)}i.consume(e.viewItem);const a=r.createText(e.viewItem.data);r.insert(a,o),e.modelRange=r.createRange(o,o.getShiftedBy(a.offsetSize)),e.modelCursor=e.modelRange.end}),{priority:"lowest"}),this.upcastDispatcher.on("element",((t,e,n)=>{if(!e.modelRange&&n.consumable.consume(e.viewItem,{name:!0})){const{modelRange:t,modelCursor:i}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=t,e.modelCursor=i}}),{priority:"lowest"}),this.upcastDispatcher.on("documentFragment",((t,e,n)=>{if(!e.modelRange&&n.consumable.consume(e.viewItem,{name:!0})){const{modelRange:t,modelCursor:i}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=t,e.modelCursor=i}}),{priority:"lowest"}),Vi().prototype.decorate.call(this,"init"),Vi().prototype.decorate.call(this,"set"),Vi().prototype.decorate.call(this,"get"),Vi().prototype.decorate.call(this,"toView"),Vi().prototype.decorate.call(this,"toModel"),this.on("init",(()=>{this.fire("ready")}),{priority:"lowest"}),this.on("ready",(()=>{this.model.enqueueChange({isUndoable:!1},Pl)}),{priority:"lowest"})}get(t={}){const{rootName:e="main",trim:n="empty"}=t;if(!this._checkIfRootsExists([e]))throw new wi("datacontroller-get-non-existent-root",this);const i=this.model.document.getRoot(e);return i.isAttached()||ki("datacontroller-get-detached-root",this),"empty"!==n||this.model.hasContent(i,{ignoreWhitespaces:!0})?this.stringify(i,t):""}stringify(t,e={}){const n=this.toView(t,e);return this.processor.toData(n)}toView(t,e={}){const n=this.viewDocument,i=this._viewWriter;this.mapper.clearBindings();const r=Yc._createIn(t),o=new gs(n);this.mapper.bindElements(t,o);const a=t.is("documentFragment")?t.markers:function(t){const e=[],n=t.root.document;if(!n)return new Map;const i=Yc._createIn(t);for(const t of n.model.markers){const n=t.getRange(),r=n.isCollapsed,o=n.start.isEqual(i.start)||n.end.isEqual(i.end);if(r&&o)e.push([t.name,n]);else{const r=i.getIntersection(n);r&&e.push([t.name,r])}}return e.sort((([t,e],[n,i])=>{if("after"!==e.end.compareWith(i.start))return 1;if("before"!==e.start.compareWith(i.end))return-1;switch(e.start.compareWith(i.start)){case"before":return 1;case"after":return-1;default:switch(e.end.compareWith(i.end)){case"before":return 1;case"after":return-1;default:return n.localeCompare(t)}}})),new Map(e)}(t);return this.downcastDispatcher.convert(r,a,i,e),o}init(t){if(this.model.document.version)throw new wi("datacontroller-init-document-not-empty",this);let e={};if("string"==typeof t?e.main=t:e=t,!this._checkIfRootsExists(Object.keys(e)))throw new wi("datacontroller-init-non-existent-root",this);return this.model.enqueueChange({isUndoable:!1},(t=>{for(const n of Object.keys(e)){const i=this.model.document.getRoot(n);t.insert(this.parse(e[n],i),i,0)}})),Promise.resolve()}set(t,e={}){let n={};if("string"==typeof t?n.main=t:n=t,!this._checkIfRootsExists(Object.keys(n)))throw new wi("datacontroller-set-non-existent-root",this);this.model.enqueueChange(e.batchType||{},(t=>{t.setSelection(null),t.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const e of Object.keys(n)){const i=this.model.document.getRoot(e);t.remove(t.createRangeIn(i)),t.insert(this.parse(n[e],i),i,0)}}))}parse(t,e="$root"){const n=this.processor.toView(t);return this.toModel(n,e)}toModel(t,e="$root"){return this.model.change((n=>this.upcastDispatcher.convert(t,n,e)))}addStyleProcessorRules(t){t(this.stylesProcessor)}registerRawContentMatcher(t){this.processor&&this.processor!==this.htmlProcessor&&this.processor.registerRawContentMatcher(t),this.htmlProcessor.registerRawContentMatcher(t)}destroy(){this.stopListening()}_checkIfRootsExists(t){for(const e of t)if(!this.model.document.getRoot(e))return!1;return!0}}class mu{_helpers=new Map;_downcast;_upcast;constructor(t,e){this._downcast=Jr(t),this._createConversionHelpers({name:"downcast",dispatchers:this._downcast,isDowncast:!0}),this._upcast=Jr(e),this._createConversionHelpers({name:"upcast",dispatchers:this._upcast,isDowncast:!1})}addAlias(t,e){const n=this._downcast.includes(e);if(!this._upcast.includes(e)&&!n)throw new wi("conversion-add-alias-dispatcher-not-registered",this);this._createConversionHelpers({name:t,dispatchers:[e],isDowncast:n})}for(t){if(!this._helpers.has(t))throw new wi("conversion-for-unknown-group",this);return this._helpers.get(t)}elementToElement(t){this.for("downcast").elementToElement(t);for(const{model:e,view:n}of bu(t))this.for("upcast").elementToElement({model:e,view:n,converterPriority:t.converterPriority})}attributeToElement(t){this.for("downcast").attributeToElement(t);for(const{model:e,view:n}of bu(t))this.for("upcast").elementToAttribute({view:n,model:e,converterPriority:t.converterPriority})}attributeToAttribute(t){this.for("downcast").attributeToAttribute(t);for(const{model:e,view:n}of bu(t))this.for("upcast").attributeToAttribute({view:n,model:e})}_createConversionHelpers({name:t,dispatchers:e,isDowncast:n}){if(this._helpers.has(t))throw new wi("conversion-group-exists",this);const i=n?new bl(e):new Nl(e);this._helpers.set(t,i)}}function*bu(t){if(t.model.values)for(const e of t.model.values){const n={key:t.model.key,value:e},i=t.view[e],r=t.upcastAlso?t.upcastAlso[e]:void 0;yield*wu(n,i,r)}else yield*wu(t.model,t.view,t.upcastAlso)}function*wu(t,e,n){if(yield{model:t,view:e},n)for(const e of Jr(n))yield{model:t,view:e}}class ku{baseVersion;isDocumentOperation;batch;constructor(t){this.baseVersion=t,this.isDocumentOperation=null!==this.baseVersion,this.batch=null}_validate(){}toJSON(){const t=Object.assign({},this);return t.__className=this.constructor.className,delete t.batch,delete t.isDocumentOperation,t}static get className(){return"Operation"}static fromJSON(t,e){return new this(t.baseVersion)}}function vu(t,e){const n=Cu(e),i=n.reduce(((t,e)=>t+e.offsetSize),0),r=t.parent;xu(t);const o=t.index;return r._insertChild(o,n),Au(r,o+n.length),Au(r,o),new Yc(t,t.getShiftedBy(i))}function yu(t){if(!t.isFlat)throw new wi("operation-utils-remove-range-not-flat",this);const e=t.start.parent;xu(t.start),xu(t.end);const n=e._removeChildren(t.start.index,t.end.index-t.start.index);return Au(e,t.start.index),n}function _u(t,e){if(!t.isFlat)throw new wi("operation-utils-move-range-not-flat",this);const n=yu(t);return vu(e=e._getTransformedByDeletion(t.start,t.end.offset-t.start.offset),n)}function Cu(t){const e=[];!function t(n){if("string"==typeof n)e.push(new Fc(n));else if(n instanceof jc)e.push(new Fc(n.data,n.getAttributes()));else if(n instanceof Nc)e.push(n);else if(Xi(n))for(const e of n)t(e);else{}}(t);for(let t=1;tt.maxOffset)throw new wi("move-operation-nodes-do-not-exist",this);if(t===e&&n=n&&this.targetPosition.path[t]t._clone(!0)))),e=new Su(this.position,t,this.baseVersion);return e.shouldReceiveAttributes=this.shouldReceiveAttributes,e}getReversed(){const t=this.position.root.document.graveyard,e=new Hc(t,[0]);return new Tu(this.position,this.nodes.maxOffset,e,this.baseVersion+1)}_validate(){const t=this.position.parent;if(!t||t.maxOffsett._clone(!0)))),vu(this.position,t)}toJSON(){const t=super.toJSON();return t.position=this.position.toJSON(),t.nodes=this.nodes.toJSON(),t}static get className(){return"InsertOperation"}static fromJSON(t,e){const n=[];for(const e of t.nodes)e.name?n.push($c.fromJSON(e)):n.push(Fc.fromJSON(e));const i=new Su(Hc.fromJSON(t.position,e),n,t.baseVersion);return i.shouldReceiveAttributes=t.shouldReceiveAttributes,i}}class Du extends ku{splitPosition;howMany;insertionPosition;graveyardPosition;constructor(t,e,n,i,r){super(r),this.splitPosition=t.clone(),this.splitPosition.stickiness="toNext",this.howMany=e,this.insertionPosition=n,this.graveyardPosition=i?i.clone():null,this.graveyardPosition&&(this.graveyardPosition.stickiness="toNext")}get type(){return"split"}get moveTargetPosition(){const t=this.insertionPosition.path.slice();return t.push(0),new Hc(this.insertionPosition.root,t)}get movedRange(){const t=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new Yc(this.splitPosition,t)}get affectedSelectable(){const t=[Yc._createFromPositionAndShift(this.splitPosition,0),Yc._createFromPositionAndShift(this.insertionPosition,0)];return this.graveyardPosition&&t.push(Yc._createFromPositionAndShift(this.graveyardPosition,0)),t}clone(){return new Du(this.splitPosition,this.howMany,this.insertionPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const t=this.splitPosition.root.document.graveyard,e=new Hc(t,[0]);return new Iu(this.moveTargetPosition,this.howMany,this.splitPosition,e,this.baseVersion+1)}_validate(){const t=this.splitPosition.parent,e=this.splitPosition.offset;if(!t||t.maxOffset0&&(t.sourcePosition.isEqual(e.sourcePosition.getShiftedBy(e.howMany))&&this._setRelation(t,e,"mergeSourceAffected"),t.targetPosition.isEqual(e.sourcePosition)&&this._setRelation(t,e,"mergeTargetWasBefore"));else if(t instanceof Bu){const n=t.newRange;if(!n)return;if(e instanceof Iu){const i=n.start.isEqual(e.targetPosition),r=n.start.isEqual(e.deletionPosition),o=n.end.isEqual(e.deletionPosition),a=n.end.isEqual(e.sourcePosition);(i||r||o||a)&&this._setRelation(t,e,{wasInLeftElement:i,wasStartBeforeMergedElement:r,wasEndBeforeMergedElement:o,wasInRightElement:a})}}}getContext(t,e,n){return{aIsStrong:n,aWasUndone:this._wasUndone(t),bWasUndone:this._wasUndone(e),abRelation:this._useRelations?this._getRelation(t,e):null,baRelation:this._useRelations?this._getRelation(e,t):null,forceWeakRemove:this._forceWeakRemove}}_wasUndone(t){const e=this.originalOperations.get(t);return e.wasUndone||this._history.isUndoneOperation(e)}_getRelation(t,e){const n=this.originalOperations.get(e),i=this._history.getUndoneOperation(n);if(!i)return null;const r=this.originalOperations.get(t),o=this._relations.get(r);return o&&o.get(i)||null}_setRelation(t,e,n){const i=this.originalOperations.get(t),r=this.originalOperations.get(e);let o=this._relations.get(i);o||(o=new Map,this._relations.set(i,o)),o.set(r,n)}}function Gu(t,e){for(const n of t)n.baseVersion=e++}function Wu(t,e){for(let n=0;n{if(t.key===e.key&&t.range.start.hasSameParentAs(e.range.start)){const i=t.range.getDifference(e.range).map((e=>new Pu(e,t.key,t.oldValue,t.newValue,0))),r=t.range.getIntersection(e.range);return r&&n.aIsStrong&&i.push(new Pu(r,e.key,e.newValue,t.newValue,0)),0==i.length?[new Lu(0)]:i}return[t]})),zu(Pu,Su,((t,e)=>{if(t.range.start.hasSameParentAs(e.position)&&t.range.containsPosition(e.position)){const n=t.range._getTransformedByInsertion(e.position,e.howMany,!e.shouldReceiveAttributes).map((e=>new Pu(e,t.key,t.oldValue,t.newValue,t.baseVersion)));if(e.shouldReceiveAttributes){const i=Yu(e,t.key,t.oldValue);i&&n.unshift(i)}return n}return t.range=t.range._getTransformedByInsertion(e.position,e.howMany,!1)[0],[t]})),zu(Pu,Iu,((t,e)=>{const n=[];t.range.start.hasSameParentAs(e.deletionPosition)&&(t.range.containsPosition(e.deletionPosition)||t.range.start.isEqual(e.deletionPosition))&&n.push(Yc._createFromPositionAndShift(e.graveyardPosition,1));const i=t.range._getTransformedByMergeOperation(e);return i.isCollapsed||n.push(i),n.map((e=>new Pu(e,t.key,t.oldValue,t.newValue,t.baseVersion)))})),zu(Pu,Tu,((t,e)=>function(t,e){const n=Yc._createFromPositionAndShift(e.sourcePosition,e.howMany);let i=null,r=[];n.containsRange(t,!0)?i=t:t.start.hasSameParentAs(n.start)?(r=t.getDifference(n),i=t.getIntersection(n)):r=[t];const o=[];for(let t of r){t=t._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=e.getMovedRangeStart(),i=t.start.hasSameParentAs(n),r=t._getTransformedByInsertion(n,e.howMany,i);o.push(...r)}i&&o.push(i._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany,!1)[0]);return o}(t.range,e).map((e=>new Pu(e,t.key,t.oldValue,t.newValue,t.baseVersion))))),zu(Pu,Du,((t,e)=>{if(t.range.end.isEqual(e.insertionPosition))return e.graveyardPosition||t.range.end.offset++,[t];if(t.range.start.hasSameParentAs(e.splitPosition)&&t.range.containsPosition(e.splitPosition)){const n=t.clone();return n.range=new Yc(e.moveTargetPosition.clone(),t.range.end._getCombined(e.splitPosition,e.moveTargetPosition)),t.range.end=e.splitPosition.clone(),t.range.end.stickiness="toPrevious",[t,n]}return t.range=t.range._getTransformedBySplitOperation(e),[t]})),zu(Su,Pu,((t,e)=>{const n=[t];if(t.shouldReceiveAttributes&&t.position.hasSameParentAs(e.range.start)&&e.range.containsPosition(t.position)){const i=Yu(t,e.key,e.newValue);i&&n.push(i)}return n})),zu(Su,Su,((t,e,n)=>(t.position.isEqual(e.position)&&n.aIsStrong||(t.position=t.position._getTransformedByInsertOperation(e)),[t]))),zu(Su,Tu,((t,e)=>(t.position=t.position._getTransformedByMoveOperation(e),[t]))),zu(Su,Du,((t,e)=>(t.position=t.position._getTransformedBySplitOperation(e),[t]))),zu(Su,Iu,((t,e)=>(t.position=t.position._getTransformedByMergeOperation(e),[t]))),zu(Bu,Su,((t,e)=>(t.oldRange&&(t.oldRange=t.oldRange._getTransformedByInsertOperation(e)[0]),t.newRange&&(t.newRange=t.newRange._getTransformedByInsertOperation(e)[0]),[t]))),zu(Bu,Bu,((t,e,n)=>{if(t.name==e.name){if(!n.aIsStrong)return[new Lu(0)];t.oldRange=e.newRange?e.newRange.clone():null}return[t]})),zu(Bu,Iu,((t,e)=>(t.oldRange&&(t.oldRange=t.oldRange._getTransformedByMergeOperation(e)),t.newRange&&(t.newRange=t.newRange._getTransformedByMergeOperation(e)),[t]))),zu(Bu,Tu,((t,e)=>{const n=[t];if(t.oldRange&&(t.oldRange=Yc._createFromRanges(t.oldRange._getTransformedByMoveOperation(e))),t.newRange){const i=t.newRange._getTransformedByMoveOperation(e);t.newRange=i[0];for(let e=1;e{if(t.oldRange&&(t.oldRange=t.oldRange._getTransformedBySplitOperation(e)),t.newRange){if(n.abRelation){const i=t.newRange._getTransformedBySplitOperation(e);return t.newRange.start.isEqual(e.splitPosition)&&n.abRelation.wasStartBeforeMergedElement?t.newRange.start=Hc._createAt(e.insertionPosition):t.newRange.start.isEqual(e.splitPosition)&&!n.abRelation.wasInLeftElement?t.newRange.start=Hc._createAt(e.moveTargetPosition):t.newRange.start=i.start,t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasInRightElement?t.newRange.end=Hc._createAt(e.moveTargetPosition):t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasEndBeforeMergedElement?t.newRange.end=Hc._createAt(e.insertionPosition):t.newRange.end=i.end,[t]}t.newRange=t.newRange._getTransformedBySplitOperation(e)}return[t]})),zu(Iu,Su,((t,e)=>(t.sourcePosition.hasSameParentAs(e.position)&&(t.howMany+=e.howMany),t.sourcePosition=t.sourcePosition._getTransformedByInsertOperation(e),t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e),[t]))),zu(Iu,Iu,((t,e,n)=>{if(t.sourcePosition.isEqual(e.sourcePosition)&&t.targetPosition.isEqual(e.targetPosition)){if(n.bWasUndone){const n=e.graveyardPosition.path.slice();return n.push(0),t.sourcePosition=new Hc(e.graveyardPosition.root,n),t.howMany=0,[t]}return[new Lu(0)]}if(t.sourcePosition.isEqual(e.sourcePosition)&&!t.targetPosition.isEqual(e.targetPosition)&&!n.bWasUndone&&"splitAtSource"!=n.abRelation){const i="$graveyard"==t.targetPosition.root.rootName,r="$graveyard"==e.targetPosition.root.rootName;if(r&&!i||!(i&&!r)&&n.aIsStrong){const n=e.targetPosition._getTransformedByMergeOperation(e),i=t.targetPosition._getTransformedByMergeOperation(e);return[new Tu(n,t.howMany,i,0)]}return[new Lu(0)]}return t.sourcePosition.hasSameParentAs(e.targetPosition)&&(t.howMany+=e.howMany),t.sourcePosition=t.sourcePosition._getTransformedByMergeOperation(e),t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e),t.graveyardPosition.isEqual(e.graveyardPosition)&&n.aIsStrong||(t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)),[t]})),zu(Iu,Tu,((t,e,n)=>{const i=Yc._createFromPositionAndShift(e.sourcePosition,e.howMany);return"remove"==e.type&&!n.bWasUndone&&t.deletionPosition.hasSameParentAs(e.sourcePosition)&&i.containsPosition(t.sourcePosition)?[new Lu(0)]:(e.sourcePosition.getShiftedBy(e.howMany).isEqual(t.sourcePosition)?t.sourcePosition.stickiness="toNone":e.targetPosition.isEqual(t.sourcePosition)&&"mergeSourceAffected"==n.abRelation?t.sourcePosition.stickiness="toNext":e.sourcePosition.isEqual(t.targetPosition)?(t.targetPosition.stickiness="toNone",t.howMany-=e.howMany):e.targetPosition.isEqual(t.targetPosition)&&"mergeTargetWasBefore"==n.abRelation?(t.targetPosition.stickiness="toPrevious",t.howMany+=e.howMany):(t.sourcePosition.hasSameParentAs(e.targetPosition)&&(t.howMany+=e.howMany),t.sourcePosition.hasSameParentAs(e.sourcePosition)&&(t.howMany-=e.howMany)),t.sourcePosition=t.sourcePosition._getTransformedByMoveOperation(e),t.targetPosition=t.targetPosition._getTransformedByMoveOperation(e),t.sourcePosition.stickiness="toPrevious",t.targetPosition.stickiness="toNext",t.graveyardPosition.isEqual(e.targetPosition)||(t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)),[t])})),zu(Iu,Du,((t,e,n)=>{if(e.graveyardPosition&&(t.graveyardPosition=t.graveyardPosition._getTransformedByDeletion(e.graveyardPosition,1),t.deletionPosition.isEqual(e.graveyardPosition)&&(t.howMany=e.howMany)),t.targetPosition.isEqual(e.splitPosition)){if(e.graveyardPosition&&t.deletionPosition.isEqual(e.graveyardPosition)||"mergeTargetNotMoved"==n.abRelation)return t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e),[t]}if(t.sourcePosition.isEqual(e.splitPosition)){if("mergeSourceNotMoved"==n.abRelation)return t.howMany=0,t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e),[t];if("mergeSameElement"==n.abRelation||t.sourcePosition.offset>0)return t.sourcePosition=e.moveTargetPosition.clone(),t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e),[t]}return t.sourcePosition.hasSameParentAs(e.splitPosition)&&(t.howMany=e.splitPosition.offset),t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e),t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e),[t]})),zu(Tu,Su,((t,e)=>{const n=Yc._createFromPositionAndShift(t.sourcePosition,t.howMany)._getTransformedByInsertOperation(e,!1)[0];return t.sourcePosition=n.start,t.howMany=n.end.offset-n.start.offset,t.targetPosition.isEqual(e.position)||(t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e)),[t]})),zu(Tu,Tu,((t,e,n)=>{const i=Yc._createFromPositionAndShift(t.sourcePosition,t.howMany),r=Yc._createFromPositionAndShift(e.sourcePosition,e.howMany);let o,a=n.aIsStrong,s=!n.aIsStrong;if("insertBefore"==n.abRelation||"insertAfter"==n.baRelation?s=!0:"insertAfter"!=n.abRelation&&"insertBefore"!=n.baRelation||(s=!1),o=t.targetPosition.isEqual(e.targetPosition)&&s?t.targetPosition._getTransformedByDeletion(e.sourcePosition,e.howMany):t.targetPosition._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),Xu(t,e)&&Xu(e,t))return[e.getReversed()];if(i.containsPosition(e.targetPosition)&&i.containsRange(r,!0))return i.start=i.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),i.end=i.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),Zu([i],o);if(r.containsPosition(t.targetPosition)&&r.containsRange(i,!0))return i.start=i.start._getCombined(e.sourcePosition,e.getMovedRangeStart()),i.end=i.end._getCombined(e.sourcePosition,e.getMovedRangeStart()),Zu([i],o);const c=Yi(t.sourcePosition.getParentPath(),e.sourcePosition.getParentPath());if("prefix"==c||"extension"==c)return i.start=i.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),i.end=i.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),Zu([i],o);"remove"!=t.type||"remove"==e.type||n.aWasUndone||n.forceWeakRemove?"remove"==t.type||"remove"!=e.type||n.bWasUndone||n.forceWeakRemove||(a=!1):a=!0;const l=[],u=i.getDifference(r);for(const t of u){t.start=t.start._getTransformedByDeletion(e.sourcePosition,e.howMany),t.end=t.end._getTransformedByDeletion(e.sourcePosition,e.howMany);const n="same"==Yi(t.start.getParentPath(),e.getMovedRangeStart().getParentPath()),i=t._getTransformedByInsertion(e.getMovedRangeStart(),e.howMany,n);l.push(...i)}const h=i.getIntersection(r);return null!==h&&a&&(h.start=h.start._getCombined(e.sourcePosition,e.getMovedRangeStart()),h.end=h.end._getCombined(e.sourcePosition,e.getMovedRangeStart()),0===l.length?l.push(h):1==l.length?r.start.isBefore(i.start)||r.start.isEqual(i.start)?l.unshift(h):l.push(h):l.splice(1,0,h)),0===l.length?[new Lu(t.baseVersion)]:Zu(l,o)})),zu(Tu,Du,((t,e,n)=>{let i=t.targetPosition.clone();t.targetPosition.isEqual(e.insertionPosition)&&e.graveyardPosition&&"moveTargetAfter"!=n.abRelation||(i=t.targetPosition._getTransformedBySplitOperation(e));const r=Yc._createFromPositionAndShift(t.sourcePosition,t.howMany);if(r.end.isEqual(e.insertionPosition))return e.graveyardPosition||t.howMany++,t.targetPosition=i,[t];if(r.start.hasSameParentAs(e.splitPosition)&&r.containsPosition(e.splitPosition)){let t=new Yc(e.splitPosition,r.end);t=t._getTransformedBySplitOperation(e);return Zu([new Yc(r.start,e.splitPosition),t],i)}t.targetPosition.isEqual(e.splitPosition)&&"insertAtSource"==n.abRelation&&(i=e.moveTargetPosition),t.targetPosition.isEqual(e.insertionPosition)&&"insertBetween"==n.abRelation&&(i=t.targetPosition);const o=[r._getTransformedBySplitOperation(e)];if(e.graveyardPosition){const i=r.start.isEqual(e.graveyardPosition)||r.containsPosition(e.graveyardPosition);t.howMany>1&&i&&!n.aWasUndone&&o.push(Yc._createFromPositionAndShift(e.insertionPosition,1))}return Zu(o,i)})),zu(Tu,Iu,((t,e,n)=>{const i=Yc._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.deletionPosition.hasSameParentAs(t.sourcePosition)&&i.containsPosition(e.sourcePosition))if("remove"!=t.type||n.forceWeakRemove){if(1==t.howMany)return n.bWasUndone?(t.sourcePosition=e.graveyardPosition.clone(),t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e),[t]):[new Lu(0)]}else if(!n.aWasUndone){const n=[];let i=e.graveyardPosition.clone(),r=e.targetPosition._getTransformedByMergeOperation(e);const o=t.targetPosition.getTransformedByOperation(e);t.howMany>1&&(n.push(new Tu(t.sourcePosition,t.howMany-1,o,0)),i=i._getTransformedByMove(t.sourcePosition,o,t.howMany-1),r=r._getTransformedByMove(t.sourcePosition,o,t.howMany-1));const a=e.deletionPosition._getCombined(t.sourcePosition,o),s=new Tu(i,1,a,0),c=s.getMovedRangeStart().path.slice();c.push(0);const l=new Hc(s.targetPosition.root,c);r=r._getTransformedByMove(i,a,1);const u=new Tu(r,e.howMany,l,0);return n.push(s),n.push(u),n}const r=Yc._createFromPositionAndShift(t.sourcePosition,t.howMany)._getTransformedByMergeOperation(e);return t.sourcePosition=r.start,t.howMany=r.end.offset-r.start.offset,t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e),[t]})),zu(Ou,Su,((t,e)=>(t.position=t.position._getTransformedByInsertOperation(e),[t]))),zu(Ou,Iu,((t,e)=>t.position.isEqual(e.deletionPosition)?(t.position=e.graveyardPosition.clone(),t.position.stickiness="toNext",[t]):(t.position=t.position._getTransformedByMergeOperation(e),[t]))),zu(Ou,Tu,((t,e)=>(t.position=t.position._getTransformedByMoveOperation(e),[t]))),zu(Ou,Ou,((t,e,n)=>{if(t.position.isEqual(e.position)){if(!n.aIsStrong)return[new Lu(0)];t.oldName=e.newName}return[t]})),zu(Ou,Du,((t,e)=>{if("same"==Yi(t.position.path,e.splitPosition.getParentPath())&&!e.graveyardPosition){const e=new Ou(t.position.getShiftedBy(1),t.oldName,t.newName,0);return[t,e]}return t.position=t.position._getTransformedBySplitOperation(e),[t]})),zu(Nu,Nu,((t,e,n)=>{if(t.root===e.root&&t.key===e.key){if(!n.aIsStrong||t.newValue===e.newValue)return[new Lu(0)];t.oldValue=e.newValue}return[t]})),zu(Ru,Ru,((t,e)=>t.rootName===e.rootName&&t.isAdd===e.isAdd?[new Lu(0)]:[t])),zu(Du,Su,((t,e)=>(t.splitPosition.hasSameParentAs(e.position)&&t.splitPosition.offset{if(!t.graveyardPosition&&!n.bWasUndone&&t.splitPosition.hasSameParentAs(e.sourcePosition)){const n=e.graveyardPosition.path.slice();n.push(0);const i=new Hc(e.graveyardPosition.root,n),r=Du.getInsertionPosition(new Hc(e.graveyardPosition.root,n)),o=new Du(i,0,r,null,0);return t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e),t.insertionPosition=Du.getInsertionPosition(t.splitPosition),t.graveyardPosition=o.insertionPosition.clone(),t.graveyardPosition.stickiness="toNext",[o,t]}return t.splitPosition.hasSameParentAs(e.deletionPosition)&&!t.splitPosition.isAfter(e.deletionPosition)&&t.howMany--,t.splitPosition.hasSameParentAs(e.targetPosition)&&(t.howMany+=e.howMany),t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e),t.insertionPosition=Du.getInsertionPosition(t.splitPosition),t.graveyardPosition&&(t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)),[t]})),zu(Du,Tu,((t,e,n)=>{const i=Yc._createFromPositionAndShift(e.sourcePosition,e.howMany);if(t.graveyardPosition){const r=i.start.isEqual(t.graveyardPosition)||i.containsPosition(t.graveyardPosition);if(!n.bWasUndone&&r){const n=t.splitPosition._getTransformedByMoveOperation(e),i=t.graveyardPosition._getTransformedByMoveOperation(e),r=i.path.slice();r.push(0);const o=new Hc(i.root,r);return[new Tu(n,t.howMany,o,0)]}t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}const r=t.splitPosition.isEqual(e.targetPosition);if(r&&("insertAtSource"==n.baRelation||"splitBefore"==n.abRelation))return t.howMany+=e.howMany,t.splitPosition=t.splitPosition._getTransformedByDeletion(e.sourcePosition,e.howMany),t.insertionPosition=Du.getInsertionPosition(t.splitPosition),[t];if(r&&n.abRelation&&n.abRelation.howMany){const{howMany:e,offset:i}=n.abRelation;return t.howMany+=e,t.splitPosition=t.splitPosition.getShiftedBy(i),[t]}if(t.splitPosition.hasSameParentAs(e.sourcePosition)&&i.containsPosition(t.splitPosition)){const n=e.howMany-(t.splitPosition.offset-e.sourcePosition.offset);return t.howMany-=n,t.splitPosition.hasSameParentAs(e.targetPosition)&&t.splitPosition.offset{if(t.splitPosition.isEqual(e.splitPosition)){if(!t.graveyardPosition&&!e.graveyardPosition)return[new Lu(0)];if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition))return[new Lu(0)];if("splitBefore"==n.abRelation)return t.howMany=0,t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e),[t]}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){const i="$graveyard"==t.splitPosition.root.rootName,r="$graveyard"==e.splitPosition.root.rootName;if(r&&!i||!(i&&!r)&&n.aIsStrong){const n=[];return e.howMany&&n.push(new Tu(e.moveTargetPosition,e.howMany,e.splitPosition,0)),t.howMany&&n.push(new Tu(t.splitPosition,t.howMany,t.moveTargetPosition,0)),n}return[new Lu(0)]}if(t.graveyardPosition&&(t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e)),t.splitPosition.isEqual(e.insertionPosition)&&"splitBefore"==n.abRelation)return t.howMany++,[t];if(e.splitPosition.isEqual(t.insertionPosition)&&"splitBefore"==n.baRelation){const n=e.insertionPosition.path.slice();n.push(0);const i=new Hc(e.insertionPosition.root,n);return[t,new Tu(t.insertionPosition,1,i,0)]}return t.splitPosition.hasSameParentAs(e.splitPosition)&&t.splitPosition.offset{const n=e[0];n.isDocumentOperation&&th.call(this,n)}),{priority:"low"})}function th(t){const e=this.getTransformedByOperation(t);if(!this.isEqual(e)){const t=this.toPosition();this.path=e.path,this.root=e.root,this.fire("change",t)}}Qu.prototype.is=function(t){return"livePosition"===t||"model:livePosition"===t||"position"==t||"model:position"===t};class eh{operations;isUndoable;isLocal;isUndo;isTyping;constructor(t={}){"string"==typeof t&&(t="transparent"===t?{isUndoable:!1}:{},ki("batch-constructor-deprecated-string-type"));const{isUndoable:e=!0,isLocal:n=!0,isUndo:i=!1,isTyping:r=!1}=t;this.operations=[],this.isUndoable=e,this.isLocal=n,this.isUndo=i,this.isTyping=r}get type(){return ki("batch-type-deprecated"),"default"}get baseVersion(){for(const t of this.operations)if(null!==t.baseVersion)return t.baseVersion;return null}addOperation(t){return t.batch=this,this.operations.push(t),t}}class nh{static _statesPriority=[void 0,"refresh","rename","move"];_markerCollection;_changesInElement=new Map;_elementsSnapshots=new Map;_elementChildrenSnapshots=new Map;_elementState=new Map;_changedMarkers=new Map;_changedRoots=new Map;_changeCount=0;_cachedChanges=null;_cachedChangesWithGraveyard=null;_refreshedItems=new Set;constructor(t){this._markerCollection=t}get isEmpty(){return 0==this._changesInElement.size&&0==this._changedMarkers.size&&0==this._changedRoots.size}bufferOperation(t){const e=t;switch(e.type){case"insert":if(this._isInInsertedElement(e.position.parent))return;this._markInsert(e.position.parent,e.position.offset,e.nodes.maxOffset);break;case"addAttribute":case"removeAttribute":case"changeAttribute":for(const t of e.range.getItems({shallow:!0}))this._isInInsertedElement(t.parent)||this._markAttribute(t);break;case"remove":case"move":case"reinsert":{if(e.sourcePosition.isEqual(e.targetPosition)||e.sourcePosition.getShiftedBy(e.howMany).isEqual(e.targetPosition))return;const t=this._isInInsertedElement(e.sourcePosition.parent),n=this._isInInsertedElement(e.targetPosition.parent);t||this._markRemove(e.sourcePosition.parent,e.sourcePosition.offset,e.howMany),n||this._markInsert(e.targetPosition.parent,e.getMovedRangeStart().offset,e.howMany);const i=Yc._createFromPositionAndShift(e.sourcePosition,e.howMany);for(const t of i.getItems({shallow:!0}))this._setElementState(t,"move");break}case"rename":{if(this._isInInsertedElement(e.position.parent))return;this._markRemove(e.position.parent,e.position.offset,1),this._markInsert(e.position.parent,e.position.offset,1);const t=Yc._createFromPositionAndShift(e.position,1);for(const e of this._markerCollection.getMarkersIntersectingRange(t)){const t=e.getData();this.bufferMarkerChange(e.name,t,t)}this._setElementState(e.position.nodeAfter,"rename");break}case"split":{const t=e.splitPosition.parent;if(!this._isInInsertedElement(t)){this._markRemove(t,e.splitPosition.offset,e.howMany);const n=Yc._createFromPositionAndShift(e.splitPosition,e.howMany);for(const t of n.getItems({shallow:!0}))this._setElementState(t,"move")}this._isInInsertedElement(e.insertionPosition.parent)||this._markInsert(e.insertionPosition.parent,e.insertionPosition.offset,1),e.graveyardPosition&&(this._markRemove(e.graveyardPosition.parent,e.graveyardPosition.offset,1),this._setElementState(e.graveyardPosition.nodeAfter,"move"));break}case"merge":{const t=e.sourcePosition.parent;this._isInInsertedElement(t.parent)||this._markRemove(t.parent,t.startOffset,1);const n=e.graveyardPosition.parent;this._markInsert(n,e.graveyardPosition.offset,1),this._setElementState(t,"move");const i=e.targetPosition.parent;if(!this._isInInsertedElement(i)){this._markInsert(i,e.targetPosition.offset,t.maxOffset);const n=Yc._createFromPositionAndShift(e.sourcePosition,e.howMany);for(const t of n.getItems({shallow:!0}))this._setElementState(t,"move")}break}case"detachRoot":case"addRoot":{const t=e.affectedSelectable;if(!t._isLoaded)return;if(t.isAttached()==e.isAdd)return;this._bufferRootStateChange(e.rootName,e.isAdd);break}case"addRootAttribute":case"removeRootAttribute":case"changeRootAttribute":{if(!e.root._isLoaded)return;const t=e.root.rootName;this._bufferRootAttributeChange(t,e.key,e.oldValue,e.newValue);break}}this._cachedChanges=null}bufferMarkerChange(t,e,n){e.range&&e.range.root.is("rootElement")&&!e.range.root._isLoaded&&(e.range=null),n.range&&n.range.root.is("rootElement")&&!n.range.root._isLoaded&&(n.range=null);let i=this._changedMarkers.get(t);i?i.newMarkerData=n:(i={newMarkerData:n,oldMarkerData:e},this._changedMarkers.set(t,i)),null==i.oldMarkerData.range&&null==n.range&&this._changedMarkers.delete(t)}getMarkersToRemove(){const t=[];for(const[e,n]of this._changedMarkers)null!=n.oldMarkerData.range&&t.push({name:e,range:n.oldMarkerData.range});return t}getMarkersToAdd(){const t=[];for(const[e,n]of this._changedMarkers)null!=n.newMarkerData.range&&t.push({name:e,range:n.newMarkerData.range});return t}getChangedMarkers(){return Array.from(this._changedMarkers).map((([t,e])=>({name:t,data:{oldRange:e.oldMarkerData.range,newRange:e.newMarkerData.range}})))}hasDataChanges(){if(this.getChanges().length)return!0;if(this._changedRoots.size>0)return!0;for(const{newMarkerData:t,oldMarkerData:e}of this._changedMarkers.values()){if(t.affectsData!==e.affectsData)return!0;if(t.affectsData){const n=t.range&&!e.range,i=!t.range&&e.range,r=t.range&&e.range&&!t.range.isEqual(e.range);if(n||i||r)return!0}}return!1}getChanges(t={}){if(this._cachedChanges)return t.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice();let e=[];for(const t of this._changesInElement.keys()){const n=this._changesInElement.get(t).sort(((t,e)=>t.offset===e.offset?t.type!=e.type?"remove"==t.type?-1:1:0:t.offsett.position.root!=e.position.root?t.position.root.rootNamet));for(const t of e)delete t.changeCount,"attribute"==t.type&&(delete t.position,delete t.length);return this._changeCount=0,this._cachedChangesWithGraveyard=e,this._cachedChanges=e.filter(ah),t.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice()}getChangedRoots(){return Array.from(this._changedRoots.values()).map((t=>{const e={...t};return void 0!==e.state&&delete e.attributes,e}))}getRefreshedItems(){return new Set(this._refreshedItems)}reset(){this._changesInElement.clear(),this._elementChildrenSnapshots.clear(),this._elementsSnapshots.clear(),this._elementState.clear(),this._changedMarkers.clear(),this._changedRoots.clear(),this._refreshedItems.clear(),this._cachedChanges=null}_refreshItem(t){if(this._isInInsertedElement(t.parent))return;this._markRemove(t.parent,t.startOffset,t.offsetSize),this._markInsert(t.parent,t.startOffset,t.offsetSize),this._refreshedItems.add(t),this._setElementState(t,"refresh");const e=Yc._createOn(t);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getData();this.bufferMarkerChange(t.name,e,e)}this._cachedChanges=null}_bufferRootLoad(t){if(t.isAttached()){this._bufferRootStateChange(t.rootName,!0),this._markInsert(t,0,t.maxOffset);for(const e of t.getAttributeKeys())this._bufferRootAttributeChange(t.rootName,e,null,t.getAttribute(e));for(const e of this._markerCollection)if(e.getRange().root==t){const t=e.getData();this.bufferMarkerChange(e.name,{...t,range:null},t)}}}_bufferRootStateChange(t,e){if(!this._changedRoots.has(t))return void this._changedRoots.set(t,{name:t,state:e?"attached":"detached"});const n=this._changedRoots.get(t);void 0!==n.state?(delete n.state,void 0===n.attributes&&this._changedRoots.delete(t)):n.state=e?"attached":"detached"}_bufferRootAttributeChange(t,e,n,i){const r=this._changedRoots.get(t)||{name:t},o=r.attributes||{};if(o[e]){const t=o[e];i===t.oldValue?delete o[e]:t.newValue=i}else o[e]={oldValue:n,newValue:i};0===Object.entries(o).length?(delete r.attributes,void 0===r.state&&this._changedRoots.delete(t)):(r.attributes=o,this._changedRoots.set(t,r))}_markInsert(t,e,n){if(t.root.is("rootElement")&&!t.root._isLoaded)return;const i={type:"insert",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i)}_markRemove(t,e,n){if(t.root.is("rootElement")&&!t.root._isLoaded)return;const i={type:"remove",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i),this._removeAllNestedChanges(t,e,n)}_markAttribute(t){if(t.root.is("rootElement")&&!t.root._isLoaded)return;const e={type:"attribute",offset:t.startOffset,howMany:t.offsetSize,count:this._changeCount++};this._markChange(t.parent,e)}_markChange(t,e){this._makeSnapshots(t);const n=this._getChangesForElement(t);this._handleChange(e,n),n.push(e);for(let t=0;tn&&this._elementState.set(t,e)}_getDiffActionForNode(t,e){if(!t.is("element"))return e;if(!this._elementsSnapshots.has(t))return e;const n=this._elementState.get(t);return n&&"move"!=n?n:e}_getChangesForElement(t){let e;return this._changesInElement.has(t)?e=this._changesInElement.get(t):(e=[],this._changesInElement.set(t,e)),e}_makeSnapshots(t){if(this._elementChildrenSnapshots.has(t))return;const e=rh(t.getChildren());this._elementChildrenSnapshots.set(t,e);for(const t of e)this._elementsSnapshots.set(t.node,t)}_handleChange(t,e){t.nodesToHandle=t.howMany;for(const n of e){const i=t.offset+t.howMany,r=n.offset+n.howMany;if("insert"==t.type&&("insert"==n.type&&(t.offset<=n.offset?n.offset+=t.howMany:t.offsetn.offset){if(i>r){const t={type:"attribute",offset:r,howMany:i-r,count:this._changeCount++};this._handleChange(t,e),e.push(t)}t.nodesToHandle=n.offset-t.offset,t.howMany=t.nodesToHandle}else t.offset>=n.offset&&t.offsetr?(t.nodesToHandle=i-r,t.offset=r):t.nodesToHandle=0);if("remove"==n.type&&t.offsetn.offset){const r={type:"attribute",offset:n.offset,howMany:i-n.offset,count:this._changeCount++};this._handleChange(r,e),e.push(r),t.nodesToHandle=n.offset-t.offset,t.howMany=t.nodesToHandle}"attribute"==n.type&&(t.offset>=n.offset&&i<=r?(t.nodesToHandle=0,t.howMany=0,t.offset=0):t.offset<=n.offset&&i>=r&&(n.howMany=0))}}t.howMany=t.nodesToHandle,delete t.nodesToHandle}_getInsertDiff(t,e,n,i,r){const o={type:"insert",position:Hc._createAt(t,e),name:i.name,attributes:new Map(i.attributes),length:1,changeCount:this._changeCount++,action:n};return"insert"!=n&&r&&(o.before={name:r.name,attributes:new Map(r.attributes)}),o}_getRemoveDiff(t,e,n,i){return{type:"remove",action:n,position:Hc._createAt(t,e),name:i.name,attributes:new Map(i.attributes),length:1,changeCount:this._changeCount++}}_getAttributesDiff(t,e,n){const i=[];n=new Map(n);for(const[r,o]of e){const e=n.has(r)?n.get(r):null;e!==o&&i.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:r,attributeOldValue:o,attributeNewValue:e,changeCount:this._changeCount++}),n.delete(r)}for(const[e,r]of n)i.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:e,attributeOldValue:null,attributeNewValue:r,changeCount:this._changeCount++});return i}_isInInsertedElement(t){const e=t.parent;if(!e)return!1;const n=this._changesInElement.get(e),i=t.startOffset;if(n)for(const t of n)if("insert"==t.type&&i>=t.offset&&ii){for(let e=0;e1500)for(let e=0;ethis._version+1&&this._gaps.set(this._version,t),this._version=t}get lastOperation(){return this._operations[this._operations.length-1]}addOperation(t){if(t.baseVersion!==this.version)throw new wi("model-document-history-addoperation-incorrect-version",this,{operation:t,historyVersion:this.version});this._operations.push(t),this._version++,this._baseVersionToOperationIndex.set(t.baseVersion,this._operations.length-1)}getOperations(t,e=this.version){if(!this._operations.length)return[];const n=this._operations[0];void 0===t&&(t=n.baseVersion);let i=e-1;for(const[e,n]of this._gaps)t>e&&te&&ithis.lastOperation.baseVersion)return[];let r=this._baseVersionToOperationIndex.get(t);void 0===r&&(r=0);let o=this._baseVersionToOperationIndex.get(i);return void 0===o&&(o=this._operations.length-1),this._operations.slice(r,o+1)}getOperation(t){const e=this._baseVersionToOperationIndex.get(t);if(void 0!==e)return this._operations[e]}setOperationAsUndone(t,e){this._undoPairs.set(e,t),this._undoneOperations.add(t)}isUndoingOperation(t){return this._undoPairs.has(t)}isUndoneOperation(t){return this._undoneOperations.has(t)}getUndoneOperation(t){return this._undoPairs.get(t)}reset(){this._version=0,this._undoPairs=new Map,this._operations=[],this._undoneOperations=new Set,this._gaps=new Map,this._baseVersionToOperationIndex=new Map}}class ch extends $c{rootName;_document;_isAttached=!0;_isLoaded=!0;constructor(t,e,n="main"){super(e),this._document=t,this.rootName=n}get document(){return this._document}isAttached(){return this._isAttached}toJSON(){return this.rootName}}ch.prototype.is=function(t,e){return e?e===this.name&&("rootElement"===t||"model:rootElement"===t||"element"===t||"model:element"===t):"rootElement"===t||"model:rootElement"===t||"element"===t||"model:element"===t||"node"===t||"model:node"===t};const lh="$graveyard";class uh extends(Si()){model;history;selection;roots;differ;isReadOnly;_postFixers;_hasSelectionChangedFromTheLastChangeBlock;constructor(t){super(),this.model=t,this.history=new sh,this.selection=new fl(this),this.roots=new Ao({idProperty:"rootName"}),this.differ=new nh(t.markers),this.isReadOnly=!1,this._postFixers=new Set,this._hasSelectionChangedFromTheLastChangeBlock=!1,this.createRoot("$root",lh),this.listenTo(t,"applyOperation",((t,e)=>{const n=e[0];n.isDocumentOperation&&this.differ.bufferOperation(n)}),{priority:"high"}),this.listenTo(t,"applyOperation",((t,e)=>{const n=e[0];n.isDocumentOperation&&this.history.addOperation(n)}),{priority:"low"}),this.listenTo(this.selection,"change",(()=>{this._hasSelectionChangedFromTheLastChangeBlock=!0})),this.listenTo(t.markers,"update",((t,e,n,i,r)=>{const o={...e.getData(),range:i};this.differ.bufferMarkerChange(e.name,r,o),null===n&&e.on("change",((t,n)=>{const i=e.getData();this.differ.bufferMarkerChange(e.name,{...i,range:n},i)}))})),this.registerPostFixer((t=>{let e=!1;for(const n of this.roots)n.isAttached()||n.isEmpty||(t.remove(t.createRangeIn(n)),e=!0);for(const n of this.model.markers)n.getRange().root.isAttached()||(t.removeMarker(n),e=!0);return e}))}get version(){return this.history.version}set version(t){this.history.version=t}get graveyard(){return this.getRoot(lh)}createRoot(t="$root",e="main"){if(this.roots.get(e))throw new wi("model-document-createroot-name-exists",this,{name:e});const n=new ch(this,t,e);return this.roots.add(n),n}destroy(){this.selection.destroy(),this.stopListening()}getRoot(t="main"){return this.roots.get(t)}getRootNames(t=!1){return this.getRoots(t).map((t=>t.rootName))}getRoots(t=!1){return this.roots.filter((e=>e!=this.graveyard&&(t||e.isAttached())&&e._isLoaded))}registerPostFixer(t){this._postFixers.add(t)}toJSON(){const t=na(this);return t.selection="[engine.model.DocumentSelection]",t.model="[engine.model.Model]",t}_handleChangeBlock(t){this._hasDocumentChangedFromTheLastChangeBlock()&&(this._callPostFixers(t),this.selection.refresh(),this.differ.hasDataChanges()?this.fire("change:data",t.batch):this.fire("change",t.batch),this.selection.refresh(),this.differ.reset()),this._hasSelectionChangedFromTheLastChangeBlock=!1}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){const t=this.getRoots();return t.length?t[0]:this.graveyard}_getDefaultRange(){const t=this._getDefaultRoot(),e=this.model,n=e.schema,i=e.createPositionFromPath(t,[0]);return n.getNearestSelectionRange(i)||e.createRange(i)}_validateSelectionRange(t){return hh(t.start)&&hh(t.end)}_callPostFixers(t){let e=!1;do{for(const n of this._postFixers)if(this.selection.refresh(),e=n(t),e)break}while(e)}}function hh(t){const e=t.textNode;if(e){const n=e.data,i=t.offset-e.startOffset;return!Io(n,i)&&!Bo(n,i)}return!0}class dh extends(Si()){_markers=new Map;[Symbol.iterator](){return this._markers.values()}has(t){const e=t instanceof fh?t.name:t;return this._markers.has(e)}get(t){return this._markers.get(t)||null}_set(t,e,n=!1,i=!1){const r=t instanceof fh?t.name:t;if(r.includes(","))throw new wi("markercollection-incorrect-marker-name",this);const o=this._markers.get(r);if(o){const t=o.getData(),a=o.getRange();let s=!1;return a.isEqual(e)||(o._attachLiveRange(ll.fromRange(e)),s=!0),n!=o.managedUsingOperations&&(o._managedUsingOperations=n,s=!0),"boolean"==typeof i&&i!=o.affectsData&&(o._affectsData=i,s=!0),s&&this.fire(`update:${r}`,o,a,e,t),o}const a=ll.fromRange(e),s=new fh(r,a,n,i);return this._markers.set(r,s),this.fire(`update:${r}`,s,null,e,{...s.getData(),range:null}),s}_remove(t){const e=t instanceof fh?t.name:t,n=this._markers.get(e);return!!n&&(this._markers.delete(e),this.fire(`update:${e}`,n,n.getRange(),null,n.getData()),this._destroyMarker(n),!0)}_refresh(t){const e=t instanceof fh?t.name:t,n=this._markers.get(e);if(!n)throw new wi("markercollection-refresh-marker-not-exists",this);const i=n.getRange();this.fire(`update:${e}`,n,i,i,n.getData())}*getMarkersAtPosition(t){for(const e of this)e.getRange().containsPosition(t)&&(yield e)}*getMarkersIntersectingRange(t){for(const e of this)null!==e.getRange().getIntersection(t)&&(yield e)}destroy(){for(const t of this._markers.values())this._destroyMarker(t);this._markers=null,this.stopListening()}*getMarkersGroup(t){for(const e of this._markers.values())e.name.startsWith(t+":")&&(yield e)}_destroyMarker(t){t.stopListening(),t._detachLiveRange()}}class fh extends(Si(Oc)){name;_managedUsingOperations;_affectsData;_liveRange;constructor(t,e,n,i){super(),this.name=t,this._liveRange=this._attachLiveRange(e),this._managedUsingOperations=n,this._affectsData=i}get managedUsingOperations(){if(!this._liveRange)throw new wi("marker-destroyed",this);return this._managedUsingOperations}get affectsData(){if(!this._liveRange)throw new wi("marker-destroyed",this);return this._affectsData}getData(){return{range:this.getRange(),affectsData:this.affectsData,managedUsingOperations:this.managedUsingOperations}}getStart(){if(!this._liveRange)throw new wi("marker-destroyed",this);return this._liveRange.start.clone()}getEnd(){if(!this._liveRange)throw new wi("marker-destroyed",this);return this._liveRange.end.clone()}getRange(){if(!this._liveRange)throw new wi("marker-destroyed",this);return this._liveRange.toRange()}_attachLiveRange(t){return this._liveRange&&this._detachLiveRange(),t.delegate("change:range").to(this),t.delegate("change:content").to(this),this._liveRange=t,t}_detachLiveRange(){this._liveRange.stopDelegating("change:range",this),this._liveRange.stopDelegating("change:content",this),this._liveRange.detach(),this._liveRange=null}}fh.prototype.is=function(t){return"marker"===t||"model:marker"===t};class gh extends ku{sourcePosition;howMany;constructor(t,e){super(null),this.sourcePosition=t.clone(),this.howMany=e}get type(){return"detach"}get affectedSelectable(){return null}toJSON(){const t=super.toJSON();return t.sourcePosition=this.sourcePosition.toJSON(),t}_validate(){if(this.sourcePosition.root.document)throw new wi("detach-operation-on-document-node",this)}_execute(){yu(Yc._createFromPositionAndShift(this.sourcePosition,this.howMany))}static get className(){return"DetachOperation"}}class ph extends Oc{markers=new Map;_children=new Rc;constructor(t){super(),t&&this._insertChild(0,t)}[Symbol.iterator](){return this.getChildren()}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}get nextSibling(){return null}get previousSibling(){return null}get root(){return this}get parent(){return null}get document(){return null}isAttached(){return!1}getAncestors(){return[]}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}getPath(){return[]}getNodeByPath(t){let e=this;for(const n of t)e=e.getChild(e.offsetToIndex(n));return e}offsetToIndex(t){return this._children.offsetToIndex(t)}toJSON(){const t=[];for(const e of this._children)t.push(e.toJSON());return t}static fromJSON(t){const e=[];for(const n of t)n.name?e.push($c.fromJSON(n)):e.push(Fc.fromJSON(n));return new ph(e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=function(t){if("string"==typeof t)return[new Fc(t)];Xi(t)||(t=[t]);return Array.from(t).map((t=>"string"==typeof t?new Fc(t):t instanceof jc?new Fc(t.data,t.getAttributes()):t))}(e);for(const t of n)null!==t.parent&&t._remove(),t.parent=this;this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n)t.parent=null;return n}}ph.prototype.is=function(t){return"documentFragment"===t||"model:documentFragment"===t};class mh{model;batch;constructor(t,e){this.model=t,this.batch=e}createText(t,e){return new Fc(t,e)}createElement(t,e){return new $c(t,e)}createDocumentFragment(){return new ph}cloneElement(t,e=!0){return t._clone(e)}insert(t,e,n=0){if(this._assertWriterUsedCorrectly(),t instanceof Fc&&""==t.data)return;const i=Hc._createAt(e,n);if(t.parent){if(yh(t.root,i.root))return void this.move(Yc._createOn(t),i);if(t.root.document)throw new wi("model-writer-insert-forbidden-move",this);this.remove(t)}const r=i.root.document?i.root.document.version:null,o=new Su(i,t,r);if(t instanceof Fc&&(o.shouldReceiveAttributes=!0),this.batch.addOperation(o),this.model.applyOperation(o),t instanceof ph)for(const[e,n]of t.markers){const t=Hc._createAt(n.root,0),r={range:new Yc(n.start._getCombined(t,i),n.end._getCombined(t,i)),usingOperation:!0,affectsData:!0};this.model.markers.has(e)?this.updateMarker(e,r):this.addMarker(e,r)}}insertText(t,e,n,i){e instanceof ph||e instanceof $c||e instanceof Hc?this.insert(this.createText(t),e,n):this.insert(this.createText(t,e),n,i)}insertElement(t,e,n,i){e instanceof ph||e instanceof $c||e instanceof Hc?this.insert(this.createElement(t),e,n):this.insert(this.createElement(t,e),n,i)}append(t,e){this.insert(t,e,"end")}appendText(t,e,n){e instanceof ph||e instanceof $c?this.insert(this.createText(t),e,"end"):this.insert(this.createText(t,e),n,"end")}appendElement(t,e,n){e instanceof ph||e instanceof $c?this.insert(this.createElement(t),e,"end"):this.insert(this.createElement(t,e),n,"end")}setAttribute(t,e,n){if(this._assertWriterUsedCorrectly(),n instanceof Yc){const i=n.getMinimalFlatRanges();for(const n of i)bh(this,t,e,n)}else wh(this,t,e,n)}setAttributes(t,e){for(const[n,i]of So(t))this.setAttribute(n,i,e)}removeAttribute(t,e){if(this._assertWriterUsedCorrectly(),e instanceof Yc){const n=e.getMinimalFlatRanges();for(const e of n)bh(this,t,null,e)}else wh(this,t,null,e)}clearAttributes(t){this._assertWriterUsedCorrectly();const e=t=>{for(const e of t.getAttributeKeys())this.removeAttribute(e,t)};if(t instanceof Yc)for(const n of t.getItems())e(n);else e(t)}move(t,e,n){if(this._assertWriterUsedCorrectly(),!(t instanceof Yc))throw new wi("writer-move-invalid-range",this);if(!t.isFlat)throw new wi("writer-move-range-not-flat",this);const i=Hc._createAt(e,n);if(i.isEqual(t.start))return;if(this._addOperationForAffectedMarkers("move",t),!yh(t.root,i.root))throw new wi("writer-move-different-document",this);const r=t.root.document?t.root.document.version:null,o=new Tu(t.start,t.end.offset-t.start.offset,i,r);this.batch.addOperation(o),this.model.applyOperation(o)}remove(t){this._assertWriterUsedCorrectly();const e=(t instanceof Yc?t:Yc._createOn(t)).getMinimalFlatRanges().reverse();for(const t of e)this._addOperationForAffectedMarkers("move",t),vh(t.start,t.end.offset-t.start.offset,this.batch,this.model)}merge(t){this._assertWriterUsedCorrectly();const e=t.nodeBefore,n=t.nodeAfter;if(this._addOperationForAffectedMarkers("merge",t),!(e instanceof $c))throw new wi("writer-merge-no-element-before",this);if(!(n instanceof $c))throw new wi("writer-merge-no-element-after",this);t.root.document?this._merge(t):this._mergeDetached(t)}createPositionFromPath(t,e,n){return this.model.createPositionFromPath(t,e,n)}createPositionAt(t,e){return this.model.createPositionAt(t,e)}createPositionAfter(t){return this.model.createPositionAfter(t)}createPositionBefore(t){return this.model.createPositionBefore(t)}createRange(t,e){return this.model.createRange(t,e)}createRangeIn(t){return this.model.createRangeIn(t)}createRangeOn(t){return this.model.createRangeOn(t)}createSelection(...t){return this.model.createSelection(...t)}_mergeDetached(t){const e=t.nodeBefore,n=t.nodeAfter;this.move(Yc._createIn(n),Hc._createAt(e,"end")),this.remove(n)}_merge(t){const e=Hc._createAt(t.nodeBefore,"end"),n=Hc._createAt(t.nodeAfter,0),i=t.root.document.graveyard,r=new Hc(i,[0]),o=t.root.document.version,a=new Iu(n,t.nodeAfter.maxOffset,e,r,o);this.batch.addOperation(a),this.model.applyOperation(a)}rename(t,e){if(this._assertWriterUsedCorrectly(),!(t instanceof $c))throw new wi("writer-rename-not-element-instance",this);const n=t.root.document?t.root.document.version:null,i=new Ou(Hc._createBefore(t),t.name,e,n);this.batch.addOperation(i),this.model.applyOperation(i)}split(t,e){this._assertWriterUsedCorrectly();let n,i,r=t.parent;if(!r.parent)throw new wi("writer-split-element-no-parent",this);if(e||(e=r.parent),!t.parent.getAncestors({includeSelf:!0}).includes(e))throw new wi("writer-split-invalid-limit-element",this);do{const e=r.root.document?r.root.document.version:null,o=r.maxOffset-t.offset,a=Du.getInsertionPosition(t),s=new Du(t,o,a,null,e);this.batch.addOperation(s),this.model.applyOperation(s),n||i||(n=r,i=t.parent.nextSibling),r=(t=this.createPositionAfter(t.parent)).parent}while(r!==e);return{position:t,range:new Yc(Hc._createAt(n,"end"),Hc._createAt(i,0))}}wrap(t,e){if(this._assertWriterUsedCorrectly(),!t.isFlat)throw new wi("writer-wrap-range-not-flat",this);const n=e instanceof $c?e:new $c(e);if(n.childCount>0)throw new wi("writer-wrap-element-not-empty",this);if(null!==n.parent)throw new wi("writer-wrap-element-attached",this);this.insert(n,t.start);const i=new Yc(t.start.getShiftedBy(1),t.end.getShiftedBy(1));this.move(i,Hc._createAt(n,0))}unwrap(t){if(this._assertWriterUsedCorrectly(),null===t.parent)throw new wi("writer-unwrap-element-no-parent",this);this.move(Yc._createIn(t),this.createPositionAfter(t)),this.remove(t)}addMarker(t,e){if(this._assertWriterUsedCorrectly(),!e||"boolean"!=typeof e.usingOperation)throw new wi("writer-addmarker-no-usingoperation",this);const n=e.usingOperation,i=e.range,r=void 0!==e.affectsData&&e.affectsData;if(this.model.markers.has(t))throw new wi("writer-addmarker-marker-exists",this);if(!i)throw new wi("writer-addmarker-no-range",this);return n?(kh(this,t,null,i,r),this.model.markers.get(t)):this.model.markers._set(t,i,n,r)}updateMarker(t,e){this._assertWriterUsedCorrectly();const n="string"==typeof t?t:t.name,i=this.model.markers.get(n);if(!i)throw new wi("writer-updatemarker-marker-not-exists",this);if(!e)return ki("writer-updatemarker-reconvert-using-editingcontroller",{markerName:n}),void this.model.markers._refresh(i);const r="boolean"==typeof e.usingOperation,o="boolean"==typeof e.affectsData,a=o?e.affectsData:i.affectsData;if(!r&&!e.range&&!o)throw new wi("writer-updatemarker-wrong-options",this);const s=i.getRange(),c=e.range?e.range:s;r&&e.usingOperation!==i.managedUsingOperations?e.usingOperation?kh(this,n,null,c,a):(kh(this,n,s,null,a),this.model.markers._set(n,c,void 0,a)):i.managedUsingOperations?kh(this,n,s,c,a):this.model.markers._set(n,c,void 0,a)}removeMarker(t){this._assertWriterUsedCorrectly();const e="string"==typeof t?t:t.name;if(!this.model.markers.has(e))throw new wi("writer-removemarker-no-marker",this);const n=this.model.markers.get(e);if(!n.managedUsingOperations)return void this.model.markers._remove(e);kh(this,e,n.getRange(),null,n.affectsData)}addRoot(t,e="$root"){this._assertWriterUsedCorrectly();const n=this.model.document.getRoot(t);if(n&&n.isAttached())throw new wi("writer-addroot-root-exists",this);const i=this.model.document,r=new Ru(t,e,!0,i,i.version);return this.batch.addOperation(r),this.model.applyOperation(r),this.model.document.getRoot(t)}detachRoot(t){this._assertWriterUsedCorrectly();const e="string"==typeof t?this.model.document.getRoot(t):t;if(!e||!e.isAttached())throw new wi("writer-detachroot-no-root",this);for(const t of this.model.markers)t.getRange().root===e&&this.removeMarker(t);for(const t of e.getAttributeKeys())this.removeAttribute(t,e);this.remove(this.createRangeIn(e));const n=this.model.document,i=new Ru(e.rootName,e.name,!1,n,n.version);this.batch.addOperation(i),this.model.applyOperation(i)}setSelection(...t){this._assertWriterUsedCorrectly(),this.model.document.selection._setTo(...t)}setSelectionFocus(t,e){this._assertWriterUsedCorrectly(),this.model.document.selection._setFocus(t,e)}setSelectionAttribute(t,e){if(this._assertWriterUsedCorrectly(),"string"==typeof t)this._setSelectionAttribute(t,e);else for(const[e,n]of So(t))this._setSelectionAttribute(e,n)}removeSelectionAttribute(t){if(this._assertWriterUsedCorrectly(),"string"==typeof t)this._removeSelectionAttribute(t);else for(const e of t)this._removeSelectionAttribute(e)}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(t){this.model.document.selection._restoreGravity(t)}_setSelectionAttribute(t,e){const n=this.model.document.selection;if(n.isCollapsed&&n.anchor.parent.isEmpty){const i=fl._getStoreAttributeKey(t);this.setAttribute(i,e,n.anchor.parent)}n._setAttribute(t,e)}_removeSelectionAttribute(t){const e=this.model.document.selection;if(e.isCollapsed&&e.anchor.parent.isEmpty){const n=fl._getStoreAttributeKey(t);this.removeAttribute(n,e.anchor.parent)}e._removeAttribute(t)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this)throw new wi("writer-incorrect-use",this)}_addOperationForAffectedMarkers(t,e){for(const n of this.model.markers){if(!n.managedUsingOperations)continue;const i=n.getRange();let r=!1;if("move"===t){const t=e;r=t.containsPosition(i.start)||t.start.isEqual(i.start)||t.containsPosition(i.end)||t.end.isEqual(i.end)}else{const t=e,n=t.nodeBefore,o=t.nodeAfter,a=i.start.parent==n&&i.start.isAtEnd,s=i.end.parent==o&&0==i.end.offset,c=i.end.nodeAfter==o,l=i.start.nodeAfter==o;r=a||s||c||l}r&&this.updateMarker(n.name,{range:i})}}}function bh(t,e,n,i){const r=t.model,o=r.document;let a,s,c,l=i.start;for(const t of i.getWalker({shallow:!0}))c=t.item.getAttribute(e),a&&s!=c&&(s!=n&&u(),l=a),a=t.nextPosition,s=c;function u(){const i=new Yc(l,a),c=i.root.document?o.version:null,u=new Pu(i,e,s,n,c);t.batch.addOperation(u),r.applyOperation(u)}a instanceof Hc&&a!=l&&s!=n&&u()}function wh(t,e,n,i){const r=t.model,o=r.document,a=i.getAttribute(e);let s,c;if(a!=n){if(i.root===i){const t=i.document?o.version:null;c=new Nu(i,e,a,n,t)}else{s=new Yc(Hc._createBefore(i),t.createPositionAfter(i));const r=s.root.document?o.version:null;c=new Pu(s,e,a,n,r)}t.batch.addOperation(c),r.applyOperation(c)}}function kh(t,e,n,i,r){const o=t.model,a=o.document,s=new Bu(e,n,i,o.markers,!!r,a.version);t.batch.addOperation(s),o.applyOperation(s)}function vh(t,e,n,i){let r;if(t.root.document){const n=i.document,o=new Hc(n.graveyard,[0]);r=new Tu(t,e,o,n.version)}else r=new gh(t,e);n.addOperation(r),i.applyOperation(r)}function yh(t,e){return t===e||t instanceof ch&&e instanceof ch}function _h(t,e,n={}){if(e.isCollapsed)return;const i=e.getFirstRange();if("$graveyard"==i.root.rootName)return;const r=t.schema;t.change((t=>{if(!n.doNotResetEntireContent&&function(t,e){const n=t.getLimitElement(e);if(!e.containsEntireContent(n))return!1;const i=e.getFirstRange();if(i.start.parent==i.end.parent)return!1;return t.checkChild(n,"paragraph")}(r,e))return void function(t,e){const n=t.model.schema.getLimitElement(e);t.remove(t.createRangeIn(n)),Eh(t,t.createPositionAt(n,0),e)}(t,e);const o={};if(!n.doNotAutoparagraph){const t=e.getSelectedElement();t&&Object.assign(o,r.getAttributesWithProperty(t,"copyOnReplace",!0))}const[a,s]=function(t){const e=t.root.document.model,n=t.start;let i=t.end;if(e.hasContent(t,{ignoreMarkers:!0})){const n=function(t){const e=t.parent,n=e.root.document.model.schema,i=e.getAncestors({parentFirst:!0,includeSelf:!0});for(const t of i){if(n.isLimit(t))return null;if(n.isBlock(t))return t}}(i);if(n&&i.isTouching(e.createPositionAt(n,0))){const n=e.createSelection(t);e.modifySelection(n,{direction:"backward"});const r=n.getLastPosition(),o=e.createRange(r,i);e.hasContent(o,{ignoreMarkers:!0})||(i=r)}}return[Qu.fromPosition(n,"toPrevious"),Qu.fromPosition(i,"toNext")]}(i);a.isTouching(s)||t.remove(t.createRange(a,s)),n.leaveUnmerged||(!function(t,e,n){const i=t.model;if(!xh(t.model.schema,e,n))return;const[r,o]=function(t,e){const n=t.getAncestors(),i=e.getAncestors();let r=0;for(;n[r]&&n[r]==i[r];)r++;return[n[r],i[r]]}(e,n);if(!r||!o)return;!i.hasContent(r,{ignoreMarkers:!0})&&i.hasContent(o,{ignoreMarkers:!0})?Ah(t,e,n,r.parent):Ch(t,e,n,r.parent)}(t,a,s),r.removeDisallowedAttributes(a.parent.getChildren(),t)),Th(t,e,a),!n.doNotAutoparagraph&&function(t,e){const n=t.checkChild(e,"$text"),i=t.checkChild(e,"paragraph");return!n&&i}(r,a)&&Eh(t,a,e,o),a.detach(),s.detach()}))}function Ch(t,e,n,i){const r=e.parent,o=n.parent;if(r!=i&&o!=i){for(e=t.createPositionAfter(r),(n=t.createPositionBefore(o)).isEqual(e)||t.insert(o,e),t.merge(e);n.parent.isEmpty;){const e=n.parent;n=t.createPositionBefore(e),t.remove(e)}xh(t.model.schema,e,n)&&Ch(t,e,n,i)}}function Ah(t,e,n,i){const r=e.parent,o=n.parent;if(r!=i&&o!=i){for(e=t.createPositionAfter(r),(n=t.createPositionBefore(o)).isEqual(e)||t.insert(r,n);e.parent.isEmpty;){const n=e.parent;e=t.createPositionBefore(n),t.remove(n)}n=t.createPositionBefore(o),function(t,e){const n=e.nodeBefore,i=e.nodeAfter;n.name!=i.name&&t.rename(n,i.name);t.clearAttributes(n),t.setAttributes(Object.fromEntries(i.getAttributes()),n),t.merge(e)}(t,n),xh(t.model.schema,e,n)&&Ah(t,e,n,i)}}function xh(t,e,n){const i=e.parent,r=n.parent;return i!=r&&(!t.isLimit(i)&&!t.isLimit(r)&&function(t,e,n){const i=new Yc(t,e);for(const t of i.getWalker())if(n.isLimit(t.item))return!1;return!0}(e,n,t))}function Eh(t,e,n,i={}){const r=t.createElement("paragraph");t.model.schema.setAllowedAttributes(r,i,t),t.insert(r,e),Th(t,n,t.createPositionAt(r,0))}function Th(t,e,n){e instanceof fl?t.setSelection(n):e.setTo(n)}function Sh(t,e){const n=[];Array.from(t.getItems({direction:"backward"})).map((t=>e.createRangeOn(t))).filter((e=>(e.start.isAfter(t.start)||e.start.isEqual(t.start))&&(e.end.isBefore(t.end)||e.end.isEqual(t.end)))).forEach((t=>{n.push(t.start.parent),e.remove(t)})),n.forEach((t=>{let n=t;for(;n.parent&&n.isEmpty;){const t=e.createRangeOn(n);n=n.parent,e.remove(t)}}))}class Dh{model;writer;position;canMergeWith;schema;_documentFragment;_documentFragmentPosition;_firstNode=null;_lastNode=null;_lastAutoParagraph=null;_filterAttributesOf=[];_affectedStart=null;_affectedEnd=null;_nodeToSelect=null;constructor(t,e,n){this.model=t,this.writer=e,this.position=n,this.canMergeWith=new Set([this.position.parent]),this.schema=t.schema,this._documentFragment=e.createDocumentFragment(),this._documentFragmentPosition=e.createPositionAt(this._documentFragment,0)}handleNodes(t){for(const e of Array.from(t))this._handleNode(e);this._insertPartialFragment(),this._lastAutoParagraph&&this._updateLastNodeFromAutoParagraph(this._lastAutoParagraph),this._mergeOnRight(),this.schema.removeDisallowedAttributes(this._filterAttributesOf,this.writer),this._filterAttributesOf=[]}_updateLastNodeFromAutoParagraph(t){const e=this.writer.createPositionAfter(this._lastNode),n=this.writer.createPositionAfter(t);if(n.isAfter(e)){if(this._lastNode=t,this.position.parent!=t||!this.position.isAtEnd)throw new wi("insertcontent-invalid-insertion-position",this);this.position=n,this._setAffectedBoundaries(this.position)}}getSelectionRange(){return this._nodeToSelect?Yc._createOn(this._nodeToSelect):this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){return this._affectedStart?new Yc(this._affectedStart,this._affectedEnd):null}destroy(){this._affectedStart&&this._affectedStart.detach(),this._affectedEnd&&this._affectedEnd.detach()}_handleNode(t){this._checkAndSplitToAllowedPosition(t)?(this._appendToFragment(t),this._firstNode||(this._firstNode=t),this._lastNode=t):this.schema.isObject(t)||this._handleDisallowedNode(t)}_insertPartialFragment(){if(this._documentFragment.isEmpty)return;const t=Qu.fromPosition(this.position,"toNext");this._setAffectedBoundaries(this.position),this._documentFragment.getChild(0)==this._firstNode&&(this.writer.insert(this._firstNode,this.position),this._mergeOnLeft(),this.position=t.toPosition()),this._documentFragment.isEmpty||this.writer.insert(this._documentFragment,this.position),this._documentFragmentPosition=this.writer.createPositionAt(this._documentFragment,0),this.position=t.toPosition(),t.detach()}_handleDisallowedNode(t){t.is("element")&&this.handleNodes(t.getChildren())}_appendToFragment(t){if(!this.schema.checkChild(this.position,t))throw new wi("insertcontent-wrong-position",this,{node:t,position:this.position});this.writer.insert(t,this._documentFragmentPosition),this._documentFragmentPosition=this._documentFragmentPosition.getShiftedBy(t.offsetSize),this.schema.isObject(t)&&!this.schema.checkChild(this.position,"$text")?this._nodeToSelect=t:this._nodeToSelect=null,this._filterAttributesOf.push(t)}_setAffectedBoundaries(t){this._affectedStart||(this._affectedStart=Qu.fromPosition(t,"toPrevious")),this._affectedEnd&&!this._affectedEnd.isBefore(t)||(this._affectedEnd&&this._affectedEnd.detach(),this._affectedEnd=Qu.fromPosition(t,"toNext"))}_mergeOnLeft(){const t=this._firstNode;if(!(t instanceof $c))return;if(!this._canMergeLeft(t))return;const e=Qu._createBefore(t);e.stickiness="toNext";const n=Qu.fromPosition(this.position,"toNext");this._affectedStart.isEqual(e)&&(this._affectedStart.detach(),this._affectedStart=Qu._createAt(e.nodeBefore,"end","toPrevious")),this._firstNode===this._lastNode&&(this._firstNode=e.nodeBefore,this._lastNode=e.nodeBefore),this.writer.merge(e),e.isEqual(this._affectedEnd)&&this._firstNode===this._lastNode&&(this._affectedEnd.detach(),this._affectedEnd=Qu._createAt(e.nodeBefore,"end","toNext")),this.position=n.toPosition(),n.detach(),this._filterAttributesOf.push(this.position.parent),e.detach()}_mergeOnRight(){const t=this._lastNode;if(!(t instanceof $c))return;if(!this._canMergeRight(t))return;const e=Qu._createAfter(t);if(e.stickiness="toNext",!this.position.isEqual(e))throw new wi("insertcontent-invalid-insertion-position",this);this.position=Hc._createAt(e.nodeBefore,"end");const n=Qu.fromPosition(this.position,"toPrevious");this._affectedEnd.isEqual(e)&&(this._affectedEnd.detach(),this._affectedEnd=Qu._createAt(e.nodeBefore,"end","toNext")),this._firstNode===this._lastNode&&(this._firstNode=e.nodeBefore,this._lastNode=e.nodeBefore),this.writer.merge(e),e.getShiftedBy(-1).isEqual(this._affectedStart)&&this._firstNode===this._lastNode&&(this._affectedStart.detach(),this._affectedStart=Qu._createAt(e.nodeBefore,0,"toPrevious")),this.position=n.toPosition(),n.detach(),this._filterAttributesOf.push(this.position.parent),e.detach()}_canMergeLeft(t){const e=t.previousSibling;return e instanceof $c&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(e,t)}_canMergeRight(t){const e=t.nextSibling;return e instanceof $c&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(t,e)}_insertAutoParagraph(){this._insertPartialFragment();const t=this.writer.createElement("paragraph");this.writer.insert(t,this.position),this._setAffectedBoundaries(this.position),this._lastAutoParagraph=t,this.position=this.writer.createPositionAt(t,0)}_checkAndSplitToAllowedPosition(t){const e=this._getAllowedIn(this.position.parent,t);if(!e)return!1;for(e!=this.position.parent&&this._insertPartialFragment();e!=this.position.parent;)if(this.position.isAtStart){const t=this.position.parent;this.position=this.writer.createPositionBefore(t),t.isEmpty&&t.parent===e&&this.writer.remove(t)}else if(this.position.isAtEnd)this.position=this.writer.createPositionAfter(this.position.parent);else{const t=this.writer.createPositionAfter(this.position.parent);this._setAffectedBoundaries(this.position),this.writer.split(this.position),this.position=t,this.canMergeWith.add(this.position.nodeAfter)}return this.schema.checkChild(this.position.parent,t)||this._insertAutoParagraph(),!0}_getAllowedIn(t,e){return this.schema.checkChild(t,e)||this.schema.checkChild(t,"paragraph")&&this.schema.checkChild("paragraph",e)?t:this.schema.isLimit(t)?null:this._getAllowedIn(t.parent,e)}}function Ih(t,e,n,i={}){if(!t.schema.isObject(e))throw new wi("insertobject-element-not-an-object",t,{object:e});const r=n||t.document.selection;let o=r;i.findOptimalPosition&&t.schema.isBlock(e)&&(o=t.createSelection(t.schema.findOptimalInsertionRange(r,i.findOptimalPosition)));const a=xo(r.getSelectedBlocks()),s={};return a&&Object.assign(s,t.schema.getAttributesWithProperty(a,"copyOnReplace",!0)),t.change((n=>{o.isCollapsed||t.deleteContent(o,{doNotAutoparagraph:!0});let r=e;const a=o.anchor.parent;!t.schema.checkChild(a,e)&&t.schema.checkChild(a,"paragraph")&&t.schema.checkChild("paragraph",e)&&(r=n.createElement("paragraph"),n.insert(e,r)),t.schema.setAllowedAttributes(r,s,n);const c=t.insertContent(r,o);return c.isCollapsed||i.setSelection&&function(t,e,n,i){const r=t.model;if("on"==n)return void t.setSelection(e,"on");if("after"!=n)throw new wi("insertobject-invalid-place-parameter-value",r);let o=e.nextSibling;if(r.schema.isInline(e))return void t.setSelection(e,"after");const a=o&&r.schema.checkChild(o,"$text");!a&&r.schema.checkChild(e.parent,"paragraph")&&(o=t.createElement("paragraph"),r.schema.setAllowedAttributes(o,i,t),r.insertContent(o,t.createPositionAfter(e)));o&&t.setSelection(o,0)}(n,e,i.setSelection,s),c}))}function Bh(t,e){const{isForward:n,walker:i,unit:r,schema:o,treatEmojiAsSingleUnit:a}=t,{type:s,item:c,nextPosition:l}=e;if("text"==s)return"word"===t.unit?function(t,e){let n=t.position.textNode;n||(n=e?t.position.nodeAfter:t.position.nodeBefore);for(;n&&n.is("$text");){const i=t.position.offset-n.startOffset;if(Lh(n,i,e))n=e?t.position.nodeAfter:t.position.nodeBefore;else{if(Ph(n.data,i,e))break;t.next()}}return t.position}(i,n):function(t,e,n){const i=t.position.textNode;if(i){const r=i.data;let o=t.position.offset-i.startOffset;for(;Io(r,o)||"character"==e&&Bo(r,o)||n&&Po(r,o);)t.next(),o=t.position.offset-i.startOffset}return t.position}(i,r,a);if(s==(n?"elementStart":"elementEnd")){if(o.isSelectable(c))return Hc._createAt(c,n?"after":"before");if(o.checkChild(l,"$text"))return l}else{if(o.isLimit(c))return void i.skip((()=>!0));if(o.checkChild(l,"$text"))return l}}function Mh(t,e){const n=t.root,i=Hc._createAt(n,e?"end":0);return e?new Yc(t,i):new Yc(i,t)}function Ph(t,e,n){const i=e+(n?0:-1);return' ,.?!:;"-()'.includes(t.charAt(i))}function Lh(t,e,n){return e===(n?t.offsetSize:0)}class Oh extends(Vi()){markers;document;schema;_pendingChanges;_currentWriter;constructor(){super(),this.markers=new dh,this.document=new uh(this),this.schema=new Zl,this._pendingChanges=[],this._currentWriter=null,["deleteContent","modifySelection","getSelectedContent","applyOperation"].forEach((t=>this.decorate(t))),this.on("applyOperation",((t,e)=>{e[0]._validate()}),{priority:"highest"}),this.schema.register("$root",{isLimit:!0}),this.schema.register("$container",{allowIn:["$root","$container"]}),this.schema.register("$block",{allowIn:["$root","$container"],isBlock:!0}),this.schema.register("$blockObject",{allowWhere:"$block",isBlock:!0,isObject:!0}),this.schema.register("$inlineObject",{allowWhere:"$text",allowAttributesOf:"$text",isInline:!0,isObject:!0}),this.schema.register("$text",{allowIn:"$block",isInline:!0,isContent:!0}),this.schema.register("$clipboardHolder",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$documentFragment",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$marker"),this.schema.addChildCheck((()=>!0),"$marker"),Hl(this),this.document.registerPostFixer(Pl),this.on("insertContent",((t,[e,n])=>{t.return=function(t,e,n){return t.change((i=>{const r=n||t.document.selection;r.isCollapsed||t.deleteContent(r,{doNotAutoparagraph:!0});const o=new Dh(t,i,r.anchor),a=[];let s;if(e.is("documentFragment")){if(e.markers.size){const t=[];for(const[n,i]of e.markers){const{start:e,end:r}=i,o=e.isEqual(r);t.push({position:e,name:n,isCollapsed:o},{position:r,name:n,isCollapsed:o})}t.sort((({position:t},{position:e})=>t.isBefore(e)?1:-1));for(const{position:n,name:r,isCollapsed:o}of t){let t=null,s=null;const c=n.parent===e&&n.isAtStart,l=n.parent===e&&n.isAtEnd;c||l?o&&(s=c?"start":"end"):(t=i.createElement("$marker"),i.insert(t,n)),a.push({name:r,element:t,collapsed:s})}}s=e.getChildren()}else s=[e];o.handleNodes(s);let c=o.getSelectionRange();if(e.is("documentFragment")&&a.length){const t=c?ll.fromRange(c):null,e={};for(let t=a.length-1;t>=0;t--){const{name:n,element:r,collapsed:s}=a[t],c=!e[n];if(c&&(e[n]=[]),r){const t=i.createPositionAt(r,"before");e[n].push(t),i.remove(r)}else{const t=o.getAffectedRange();if(!t){s&&e[n].push(o.position);continue}s?e[n].push(t[s]):e[n].push(c?t.start:t.end)}}for(const[t,[n,r]]of Object.entries(e))n&&r&&n.root===r.root&&n.root.document&&!i.model.markers.has(t)&&i.addMarker(t,{usingOperation:!0,affectsData:!0,range:new Yc(n,r)});t&&(c=t.toRange(),t.detach())}c&&(r instanceof fl?i.setSelection(c):r.setTo(c));const l=o.getAffectedRange()||t.createRange(r.anchor);return o.destroy(),l}))}(this,e,n)})),this.on("insertObject",((t,[e,n,i])=>{t.return=Ih(this,e,n,i)})),this.on("canEditAt",(t=>{const e=!this.document.isReadOnly;t.return=e,e||t.stop()}))}change(t){try{return 0===this._pendingChanges.length?(this._pendingChanges.push({batch:new eh,callback:t}),this._runPendingChanges()[0]):t(this._currentWriter)}catch(t){wi.rethrowUnexpectedError(t,this)}}enqueueChange(t,e){try{t?"function"==typeof t?(e=t,t=new eh):t instanceof eh||(t=new eh(t)):t=new eh,this._pendingChanges.push({batch:t,callback:e}),1==this._pendingChanges.length&&this._runPendingChanges()}catch(t){wi.rethrowUnexpectedError(t,this)}}applyOperation(t){t._execute()}insertContent(t,e,n,...i){const r=Nh(e,n);return this.fire("insertContent",[t,r,n,...i])}insertObject(t,e,n,i,...r){const o=Nh(e,n);return this.fire("insertObject",[t,o,i,i,...r])}deleteContent(t,e){_h(this,t,e)}modifySelection(t,e){!function(t,e,n={}){const i=t.schema,r="backward"!=n.direction,o=n.unit?n.unit:"character",a=!!n.treatEmojiAsSingleUnit,s=e.focus,c=new zc({boundaries:Mh(s,r),singleCharacters:!0,direction:r?"forward":"backward"}),l={walker:c,schema:i,isForward:r,unit:o,treatEmojiAsSingleUnit:a};let u;for(;u=c.next();){if(u.done)return;const n=Bh(l,u.value);if(n)return void(e instanceof fl?t.change((t=>{t.setSelectionFocus(n)})):e.setFocus(n))}}(this,t,e)}getSelectedContent(t){return function(t,e){return t.change((t=>{const n=t.createDocumentFragment(),i=e.getFirstRange();if(!i||i.isCollapsed)return n;const r=i.start.root,o=i.start.getCommonPath(i.end),a=r.getNodeByPath(o);let s;s=i.start.parent==i.end.parent?i:t.createRange(t.createPositionAt(a,i.start.path[o.length]),t.createPositionAt(a,i.end.path[o.length]+1));const c=s.end.offset-s.start.offset;for(const e of s.getItems({shallow:!0}))e.is("$textProxy")?t.appendText(e.data,e.getAttributes(),n):t.append(t.cloneElement(e,!0),n);if(s!=i){const e=i._getTransformedByMove(s.start,t.createPositionAt(n,0),c)[0],r=t.createRange(t.createPositionAt(n,0),e.start);Sh(t.createRange(e.end,t.createPositionAt(n,"end")),t),Sh(r,t)}return n}))}(this,t)}hasContent(t,e={}){const n=t instanceof Yc?t:Yc._createIn(t);if(n.isCollapsed)return!1;const{ignoreWhitespaces:i=!1,ignoreMarkers:r=!1}=e;if(!r)for(const t of this.markers.getMarkersIntersectingRange(n))if(t.affectsData)return!0;for(const t of n.getItems())if(this.schema.isContent(t)){if(!t.is("$textProxy"))return!0;if(!i)return!0;if(-1!==t.data.search(/\S/))return!0}return!1}canEditAt(t){const e=Nh(t);return this.fire("canEditAt",[e])}createPositionFromPath(t,e,n){return new Hc(t,e,n)}createPositionAt(t,e){return Hc._createAt(t,e)}createPositionAfter(t){return Hc._createAfter(t)}createPositionBefore(t){return Hc._createBefore(t)}createRange(t,e){return new Yc(t,e)}createRangeIn(t){return Yc._createIn(t)}createRangeOn(t){return Yc._createOn(t)}createSelection(...t){return new nl(...t)}createBatch(t){return new eh(t)}createOperationFromJSON(t){return ju.fromJSON(t,this.document)}destroy(){this.document.destroy(),this.stopListening()}_runPendingChanges(){const t=[];this.fire("_beforeChanges");try{for(;this._pendingChanges.length;){const e=this._pendingChanges[0].batch;this._currentWriter=new mh(this,e);const n=this._pendingChanges[0].callback(this._currentWriter);t.push(n),this.document._handleChangeBlock(this._currentWriter),this._pendingChanges.shift(),this._currentWriter=null}}finally{this._pendingChanges.length=0,this._currentWriter=null,this.fire("_afterChanges")}return t}}function Nh(t,e){if(t)return t instanceof nl||t instanceof fl?t:t instanceof Nc?e||0===e?new nl(t,e):t.is("rootElement")?new nl(t,"in"):new nl(t,"on"):new nl(t)}class Rh extends Js{domEventType="click";onDomEvent(t){this.fire(t.type,t)}}class Fh extends Js{domEventType=["mousedown","mouseup","mouseover","mouseout"];onDomEvent(t){this.fire(t.type,t)}}class jh{document;constructor(t){this.document=t}createDocumentFragment(t){return new gs(this.document,t)}createElement(t,e,n){return new Ra(this.document,t,e,n)}createText(t){return new ra(this.document,t)}clone(t,e=!1){return t._clone(e)}appendChild(t,e){return e._appendChild(t)}insertChild(t,e,n){return n._insertChild(t,e)}removeChildren(t,e,n){return n._removeChildren(t,e)}remove(t){const e=t.parent;return e?this.removeChildren(e.getChildIndex(t),1,e):[]}replace(t,e){const n=t.parent;if(n){const i=n.getChildIndex(t);return this.removeChildren(i,1,n),this.insertChild(i,e,n),!0}return!1}unwrapElement(t){const e=t.parent;if(e){const n=e.getChildIndex(t);this.remove(t),this.insertChild(n,t.getChildren(),e)}}rename(t,e){const n=new Ra(this.document,t,e.getAttributes(),e.getChildren());return this.replace(e,n)?n:null}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){q(t)&&void 0===n?e._setStyle(t):n._setStyle(t,e)}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}createPositionAt(t,e){return Ua._createAt(t,e)}createPositionAfter(t){return Ua._createAfter(t)}createPositionBefore(t){return Ua._createBefore(t)}createRange(t,e){return new Ga(t,e)}createRangeOn(t){return Ga._createOn(t)}createRangeIn(t){return Ga._createIn(t)}createSelection(...t){return new Ka(...t)}}const $h=/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,zh=/^rgb\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}[0-9]{1,3}[ %]?\)$/i,Vh=/^rgba\([ ]?([0-9]{1,3}[ %]?,[ ]?){3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i,Hh=/^hsl\([ ]?([0-9]{1,3}[ %]?[,]?[ ]*){3}(1|[0-9]+%|[0]?\.?[0-9]+)?\)$/i,qh=/^hsla\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i,Uh=/\w+\((?:[^()]|\([^()]*\))*\)|\S+/gi,Gh=new Set(["black","silver","gray","white","maroon","red","purple","fuchsia","green","lime","olive","yellow","navy","blue","teal","aqua","orange","aliceblue","antiquewhite","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","gainsboro","ghostwhite","gold","goldenrod","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","limegreen","linen","magenta","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","oldlace","olivedrab","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellowgreen","activeborder","activecaption","appworkspace","background","buttonface","buttonhighlight","buttonshadow","buttontext","captiontext","graytext","highlight","highlighttext","inactiveborder","inactivecaption","inactivecaptiontext","infobackground","infotext","menu","menutext","scrollbar","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","window","windowframe","windowtext","rebeccapurple","currentcolor","transparent"]);function Wh(t){return t.startsWith("#")?$h.test(t):t.startsWith("rgb")?zh.test(t)||Vh.test(t):t.startsWith("hsl")?Hh.test(t)||qh.test(t):Gh.has(t.toLowerCase())}const Kh=["none","hidden","dotted","dashed","solid","double","groove","ridge","inset","outset"];function Yh(t){return Kh.includes(t)}const Xh=/^([+-]?[0-9]*([.][0-9]+)?(px|cm|mm|in|pc|pt|ch|em|ex|rem|vh|vw|vmin|vmax)|0)$/;function Zh(t){return Xh.test(t)}const Qh=/^[+-]?[0-9]*([.][0-9]+)?%$/;function Jh(t){return Qh.test(t)}const td=["repeat-x","repeat-y","repeat","space","round","no-repeat"];function ed(t){return td.includes(t)}const nd=["center","top","bottom","left","right"];function id(t){return nd.includes(t)}const rd=["fixed","scroll","local"];function od(t){return rd.includes(t)}const ad=/^url\(/;function sd(t){return ad.test(t)}function cd(t=""){if(""===t)return{top:void 0,right:void 0,bottom:void 0,left:void 0};const e=dd(t),n=e[0],i=e[2]||n,r=e[1]||n;return{top:n,bottom:i,right:r,left:e[3]||r}}function ld(t){return e=>{const{top:n,right:i,bottom:r,left:o}=e,a=[];return[n,i,o,r].every((t=>!!t))?a.push([t,ud(e)]):(n&&a.push([t+"-top",n]),i&&a.push([t+"-right",i]),r&&a.push([t+"-bottom",r]),o&&a.push([t+"-left",o])),a}}function ud({top:t,right:e,bottom:n,left:i}){const r=[];return i!==e?r.push(t,e,n,i):n!==t?r.push(t,e,n):e!==t?r.push(t,e):r.push(t),r.join(" ")}function hd(t){return e=>({path:t,value:cd(e)})}function dd(t){const e=t.trim().slice(0,1500).matchAll(Uh);return Array.from(e).map((t=>t[0]))}function fd(t){t.setNormalizer("background",(t=>{const e={},n=dd(t);for(const t of n)ed(t)?(e.repeat=e.repeat||[],e.repeat.push(t)):id(t)?(e.position=e.position||[],e.position.push(t)):od(t)?e.attachment=t:Wh(t)?e.color=t:sd(t)&&(e.image=t);return{path:"background",value:e}})),t.setNormalizer("background-color",(t=>({path:"background.color",value:t}))),t.setReducer("background",(t=>{const e=[];return e.push(["background-color",t.color]),e})),t.setStyleRelation("background",["background-color"])}function gd(t){t.setNormalizer("border",(t=>{const{color:e,style:n,width:i}=yd(t);return{path:"border",value:{color:cd(e),style:cd(n),width:cd(i)}}})),t.setNormalizer("border-top",pd("top")),t.setNormalizer("border-right",pd("right")),t.setNormalizer("border-bottom",pd("bottom")),t.setNormalizer("border-left",pd("left")),t.setNormalizer("border-color",md("color")),t.setNormalizer("border-width",md("width")),t.setNormalizer("border-style",md("style")),t.setNormalizer("border-top-color",wd("color","top")),t.setNormalizer("border-top-style",wd("style","top")),t.setNormalizer("border-top-width",wd("width","top")),t.setNormalizer("border-right-color",wd("color","right")),t.setNormalizer("border-right-style",wd("style","right")),t.setNormalizer("border-right-width",wd("width","right")),t.setNormalizer("border-bottom-color",wd("color","bottom")),t.setNormalizer("border-bottom-style",wd("style","bottom")),t.setNormalizer("border-bottom-width",wd("width","bottom")),t.setNormalizer("border-left-color",wd("color","left")),t.setNormalizer("border-left-style",wd("style","left")),t.setNormalizer("border-left-width",wd("width","left")),t.setExtractor("border-top",kd("top")),t.setExtractor("border-right",kd("right")),t.setExtractor("border-bottom",kd("bottom")),t.setExtractor("border-left",kd("left")),t.setExtractor("border-top-color","border.color.top"),t.setExtractor("border-right-color","border.color.right"),t.setExtractor("border-bottom-color","border.color.bottom"),t.setExtractor("border-left-color","border.color.left"),t.setExtractor("border-top-width","border.width.top"),t.setExtractor("border-right-width","border.width.right"),t.setExtractor("border-bottom-width","border.width.bottom"),t.setExtractor("border-left-width","border.width.left"),t.setExtractor("border-top-style","border.style.top"),t.setExtractor("border-right-style","border.style.right"),t.setExtractor("border-bottom-style","border.style.bottom"),t.setExtractor("border-left-style","border.style.left"),t.setReducer("border-color",ld("border-color")),t.setReducer("border-style",ld("border-style")),t.setReducer("border-width",ld("border-width")),t.setReducer("border-top",_d("top")),t.setReducer("border-right",_d("right")),t.setReducer("border-bottom",_d("bottom")),t.setReducer("border-left",_d("left")),t.setReducer("border",function(){return e=>{const n=vd(e,"top"),i=vd(e,"right"),r=vd(e,"bottom"),o=vd(e,"left"),a=[n,i,r,o],s={width:t(a,"width"),style:t(a,"style"),color:t(a,"color")},c=Cd(s,"all");if(c.length)return c;return[...Object.entries(s).reduce(((t,[e,n])=>(n&&(t.push([`border-${e}`,n]),a.forEach((t=>delete t[e]))),t)),[]),...Cd(n,"top"),...Cd(i,"right"),...Cd(r,"bottom"),...Cd(o,"left")]};function t(t,e){return t.map((t=>t[e])).reduce(((t,e)=>t==e?t:null))}}()),t.setStyleRelation("border",["border-color","border-style","border-width","border-top","border-right","border-bottom","border-left","border-top-color","border-right-color","border-bottom-color","border-left-color","border-top-style","border-right-style","border-bottom-style","border-left-style","border-top-width","border-right-width","border-bottom-width","border-left-width"]),t.setStyleRelation("border-color",["border-top-color","border-right-color","border-bottom-color","border-left-color"]),t.setStyleRelation("border-style",["border-top-style","border-right-style","border-bottom-style","border-left-style"]),t.setStyleRelation("border-width",["border-top-width","border-right-width","border-bottom-width","border-left-width"]),t.setStyleRelation("border-top",["border-top-color","border-top-style","border-top-width"]),t.setStyleRelation("border-right",["border-right-color","border-right-style","border-right-width"]),t.setStyleRelation("border-bottom",["border-bottom-color","border-bottom-style","border-bottom-width"]),t.setStyleRelation("border-left",["border-left-color","border-left-style","border-left-width"])}function pd(t){return e=>{const{color:n,style:i,width:r}=yd(e),o={};return void 0!==n&&(o.color={[t]:n}),void 0!==i&&(o.style={[t]:i}),void 0!==r&&(o.width={[t]:r}),{path:"border",value:o}}}function md(t){return e=>({path:"border",value:bd(e,t)})}function bd(t,e){return{[e]:cd(t)}}function wd(t,e){return n=>({path:"border",value:{[t]:{[e]:n}}})}function kd(t){return(e,n)=>{if(n.border)return vd(n.border,t)}}function vd(t,e){const n={};return t.width&&t.width[e]&&(n.width=t.width[e]),t.style&&t.style[e]&&(n.style=t.style[e]),t.color&&t.color[e]&&(n.color=t.color[e]),n}function yd(t){const e={},n=dd(t);for(const t of n)Zh(t)||/thin|medium|thick/.test(t)?e.width=t:Yh(t)?e.style=t:e.color=t;return e}function _d(t){return e=>Cd(e,t)}function Cd(t,e){const n=[];if(t&&t.width&&n.push("width"),t&&t.style&&n.push("style"),t&&t.color&&n.push("color"),3==n.length){const i=n.map((e=>t[e])).join(" ");return["all"==e?["border",i]:[`border-${e}`,i]]}return"all"==e?[]:n.map((n=>[`border-${e}-${n}`,t[n]]))}function Ad(t){t.setNormalizer("margin",hd("margin")),t.setNormalizer("margin-top",(t=>({path:"margin.top",value:t}))),t.setNormalizer("margin-right",(t=>({path:"margin.right",value:t}))),t.setNormalizer("margin-bottom",(t=>({path:"margin.bottom",value:t}))),t.setNormalizer("margin-left",(t=>({path:"margin.left",value:t}))),t.setReducer("margin",ld("margin")),t.setStyleRelation("margin",["margin-top","margin-right","margin-bottom","margin-left"])}function xd(t){t.setNormalizer("padding",hd("padding")),t.setNormalizer("padding-top",(t=>({path:"padding.top",value:t}))),t.setNormalizer("padding-right",(t=>({path:"padding.right",value:t}))),t.setNormalizer("padding-bottom",(t=>({path:"padding.bottom",value:t}))),t.setNormalizer("padding-left",(t=>({path:"padding.left",value:t}))),t.setReducer("padding",ld("padding")),t.setStyleRelation("padding",["padding-top","padding-right","padding-bottom","padding-left"])}class Ed{_commands;constructor(){this._commands=new Map}add(t,e){this._commands.set(t,e)}get(t){return this._commands.get(t)}execute(t,...e){const n=this.get(t);if(!n)throw new wi("commandcollection-command-not-found",this,{commandName:t});return n.execute(...e)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const t of this.commands())t.destroy()}}const Td="contentEditing",Sd="common";class Dd{keystrokeInfos=new Map;_editor;constructor(t){this._editor=t;const e=t.config.get("menuBar.isVisible"),n=t.locale.t;this.addKeystrokeInfoCategory({id:Td,label:n("Content editing keystrokes"),description:n("These keyboard shortcuts allow for quick access to content editing features.")});const i=[{label:n("Close contextual balloons, dropdowns, and dialogs"),keystroke:"Esc"},{label:n("Open the accessibility help dialog"),keystroke:"Alt+0"},{label:n("Move focus between form fields (inputs, buttons, etc.)"),keystroke:[["Tab"],["Shift+Tab"]]},{label:n("Move focus to the toolbar, navigate between toolbars"),keystroke:"Alt+F10",mayRequireFn:!0},{label:n("Navigate through the toolbar or menu bar"),keystroke:[["arrowup"],["arrowright"],["arrowdown"],["arrowleft"]]},{label:n("Execute the currently focused button. Executing buttons that interact with the editor content moves the focus back to the content."),keystroke:[["Enter"],["Space"]]}];e&&i.push({label:n("Move focus to the menu bar, navigate between menu bars"),keystroke:"Alt+F9",mayRequireFn:!0}),this.addKeystrokeInfoCategory({id:"navigation",label:n("User interface and content navigation keystrokes"),description:n("Use the following keystrokes for more efficient navigation in the CKEditor 5 user interface."),groups:[{id:"common",keystrokes:i}]})}addKeystrokeInfoCategory({id:t,label:e,description:n,groups:i}){this.keystrokeInfos.set(t,{id:t,label:e,description:n,groups:new Map}),this.addKeystrokeInfoGroup({categoryId:t,id:Sd}),i&&i.forEach((e=>{this.addKeystrokeInfoGroup({categoryId:t,...e})}))}addKeystrokeInfoGroup({categoryId:t=Td,id:e,label:n,keystrokes:i}){const r=this.keystrokeInfos.get(t);if(!r)throw new wi("accessibility-unknown-keystroke-info-category",this._editor,{groupId:e,categoryId:t});r.groups.set(e,{id:e,label:n,keystrokes:i||[]})}addKeystrokeInfos({categoryId:t=Td,groupId:e=Sd,keystrokes:n}){if(!this.keystrokeInfos.has(t))throw new wi("accessibility-unknown-keystroke-info-category",this._editor,{categoryId:t,keystrokes:n});const i=this.keystrokeInfos.get(t);if(!i.groups.has(e))throw new wi("accessibility-unknown-keystroke-info-group",this._editor,{groupId:e,categoryId:t,keystrokes:n});i.groups.get(e).keystrokes.push(...n)}}class Id extends(Vi()){accessibility;commands;config;conversion;data;editing;locale;model;plugins;keystrokes;t;static defaultConfig;static builtinPlugins;_context;_readOnlyLocks;constructor(t={}){if(super(),"sanitizeHtml"in t)throw new wi("editor-config-sanitizehtml-not-supported");const e=this.constructor,{translations:n,...i}=e.defaultConfig||{},{translations:r=n,...o}=t,a=t.language||i.language;this._context=t.context||new zo({language:a,translations:r}),this._context._addEditor(this,!t.context);const s=Array.from(e.builtinPlugins||[]);this.config=new Ji(o,i),this.config.define("plugins",s),this.config.define(this._context._getEditorConfig()),this.plugins=new $o(this,s,this._context.plugins),this.locale=this._context.locale,this.t=this.locale.t,this._readOnlyLocks=new Set,this.commands=new Ed,this.set("state","initializing"),this.once("ready",(()=>this.state="ready"),{priority:"high"}),this.once("destroy",(()=>this.state="destroyed"),{priority:"high"}),this.model=new Oh,this.on("change:isReadOnly",(()=>{this.model.document.isReadOnly=this.isReadOnly}));const c=new La;this.data=new pu(this.model,c),this.editing=new Wl(this.model,c),this.editing.view.document.bind("isReadOnly").to(this),this.conversion=new mu([this.editing.downcastDispatcher,this.data.downcastDispatcher],this.data.upcastDispatcher),this.conversion.addAlias("dataDowncast",this.data.downcastDispatcher),this.conversion.addAlias("editingDowncast",this.editing.downcastDispatcher),this.keystrokes=new Ho(this),this.keystrokes.listenTo(this.editing.view.document),this.accessibility=new Dd(this)}get isReadOnly(){return this._readOnlyLocks.size>0}set isReadOnly(t){throw new wi("editor-isreadonly-has-no-setter")}enableReadOnlyMode(t){if("string"!=typeof t&&"symbol"!=typeof t)throw new wi("editor-read-only-lock-id-invalid",null,{lockId:t});this._readOnlyLocks.has(t)||(this._readOnlyLocks.add(t),1===this._readOnlyLocks.size&&this.fire("change:isReadOnly","isReadOnly",!0,!1))}disableReadOnlyMode(t){if("string"!=typeof t&&"symbol"!=typeof t)throw new wi("editor-read-only-lock-id-invalid",null,{lockId:t});this._readOnlyLocks.has(t)&&(this._readOnlyLocks.delete(t),0===this._readOnlyLocks.size&&this.fire("change:isReadOnly","isReadOnly",!1,!0))}setData(t){this.data.set(t)}getData(t){return this.data.get(t)}initPlugins(){const t=this.config,e=t.get("plugins"),n=t.get("removePlugins")||[],i=t.get("extraPlugins")||[],r=t.get("substitutePlugins")||[];return this.plugins.init(e.concat(i),n,r)}destroy(){let t=Promise.resolve();return"initializing"==this.state&&(t=new Promise((t=>this.once("ready",t)))),t.then((()=>{this.fire("destroy"),this.stopListening(),this.commands.destroy()})).then((()=>this.plugins.destroy())).then((()=>{this.model.destroy(),this.data.destroy(),this.editing.destroy(),this.keystrokes.destroy()})).then((()=>this._context._removeEditor(this)))}execute(t,...e){try{return this.commands.execute(t,...e)}catch(t){wi.rethrowUnexpectedError(t,this)}}focus(){this.editing.view.focus()}static create(...t){throw new Error("This is an abstract method.")}static Context=zo;static EditorWatchdog=Hn;static ContextWatchdog=Gn}function Bd(t){return class extends t{sourceElement;updateSourceElement(t){if(!this.sourceElement)throw new wi("editor-missing-sourceelement",this);const e=this.config.get("updateSourceElementOnDestroy"),n=this.sourceElement instanceof HTMLTextAreaElement;if(!e&&!n)return void _r(this.sourceElement,"");const i="string"==typeof t?t:this.data.get();_r(this.sourceElement,i)}}}function Md(t,e){if(e.ckeditorInstance)throw new wi("editor-source-element-already-used",t);e.ckeditorInstance=t,t.once("destroy",(()=>{delete e.ckeditorInstance}))}Bd.updateSourceElement=Bd(Object).prototype.updateSourceElement;class Pd extends Vo{_actions;static get pluginName(){return"PendingActions"}init(){this.set("hasAny",!1),this._actions=new Ao({idProperty:"_id"}),this._actions.delegate("add","remove").to(this)}add(t){if("string"!=typeof t)throw new wi("pendingactions-add-invalid-message",this);const e=new(Vi());return e.set("message",t),this._actions.add(e),this.hasAny=!0,e}remove(t){this._actions.remove(t),this.hasAny=!!this._actions.length}get first(){return this._actions.get(0)}[Symbol.iterator](){return this._actions[Symbol.iterator]()}}const Ld={bold:'',cancel:'',caption:'',check:'',cog:'',colorPalette:'',eraser:'',history:'',image:'',imageUpload:'',imageAssetManager:'',imageUrl:'',lowVision:'',textAlternative:'',loupe:'',previousArrow:'',nextArrow:'',importExport:'',paragraph:'',plus:'',text:'',alignBottom:'',alignMiddle:'',alignTop:'',alignLeft:'',alignCenter:'',alignRight:'',alignJustify:'',objectLeft:'',objectCenter:'',objectRight:'',objectFullWidth:'',objectInline:'',objectBlockLeft:'',objectBlockRight:'',objectSizeCustom:'',objectSizeFull:'',objectSizeLarge:'',objectSizeSmall:'',objectSizeMedium:'',pencil:'',pilcrow:'',quote:'',threeVerticalDots:'',dragIndicator:'',redo:'',undo:'',bulletedList:'',numberedList:'',todoList:'',codeBlock:'',browseFiles:'',heading1:'',heading2:'',heading3:'',heading4:'',heading5:'',heading6:'',horizontalLine:'',html:'',indent:'',outdent:'',table:''};class Od extends Ao{_parentElement;constructor(t=[]){super(t,{idProperty:"viewUid"}),this.on("add",((t,e,n)=>{this._renderViewIntoCollectionParent(e,n)})),this.on("remove",((t,e)=>{e.element&&this._parentElement&&e.element.remove()})),this._parentElement=null}destroy(){this.map((t=>t.destroy()))}setParent(t){this._parentElement=t;for(const t of this)this._renderViewIntoCollectionParent(t)}delegate(...t){if(!t.length||!t.every((t=>"string"==typeof t)))throw new wi("ui-viewcollection-delegate-wrong-events",this);return{to:e=>{for(const n of this)for(const i of t)n.delegate(i).to(e);this.on("add",((n,i)=>{for(const n of t)i.delegate(n).to(e)})),this.on("remove",((n,i)=>{for(const n of t)i.stopDelegating(n,e)}))}}}_renderViewIntoCollectionParent(t,e){t.isRendered||t.render(),t.element&&this._parentElement&&this._parentElement.insertBefore(t.element,this._parentElement.children[e])}remove(t){return super.remove(t)}}class Nd extends(Si()){ns;tag;text;attributes;children;eventListeners;_isRendered;_revertData;constructor(t){super(),Object.assign(this,Gd(Ud(t))),this._isRendered=!1,this._revertData=null}render(){const t=this._renderNode({intoFragment:!0});return this._isRendered=!0,t}apply(t){return this._revertData={children:[],bindings:[],attributes:{}},this._renderNode({node:t,intoFragment:!1,isApplying:!0,revertData:this._revertData}),t}revert(t){if(!this._revertData)throw new wi("ui-template-revert-not-applied",[this,t]);this._revertTemplateFromNode(t,this._revertData)}*getViews(){yield*function*t(e){if(e.children)for(const n of e.children)Qd(n)?yield n:Jd(n)&&(yield*t(n))}(this)}static bind(t,e){return{to:(n,i)=>new Fd({eventNameOrFunction:n,attribute:n,observable:t,emitter:e,callback:i}),if:(n,i,r)=>new jd({observable:t,emitter:e,attribute:n,valueIfTrue:i,callback:r})}}static extend(t,e){if(t._isRendered)throw new wi("template-extend-render",[this,t]);Xd(t,Gd(Ud(e)))}_renderNode(t){let e;if(e=t.node?this.tag&&this.text:this.tag?this.text:!this.text,e)throw new wi("ui-template-wrong-syntax",this);return this.text?this._renderText(t):this._renderElement(t)}_renderElement(t){let e=t.node;return e||(e=t.node=document.createElementNS(this.ns||"http://www.w3.org/1999/xhtml",this.tag)),this._renderAttributes(t),this._renderElementChildren(t),this._setUpListeners(t),e}_renderText(t){let e=t.node;return e?t.revertData.text=e.textContent:e=t.node=document.createTextNode(""),$d(this.text)?this._bindToObservable({schema:this.text,updater:Vd(e),data:t}):e.textContent=this.text.join(""),e}_renderAttributes(t){if(!this.attributes)return;const e=t.node,n=t.revertData;for(const i in this.attributes){const r=e.getAttribute(i),o=this.attributes[i];n&&(n.attributes[i]=r);const a=ef(o)?o[0].ns:null;if($d(o)){const s=ef(o)?o[0].value:o;n&&nf(i)&&s.unshift(r),this._bindToObservable({schema:s,updater:Hd(e,i,a),data:t})}else if("style"==i&&"string"!=typeof o[0])this._renderStyleAttribute(o[0],t);else{n&&r&&nf(i)&&o.unshift(r);const t=o.map((t=>t&&t.value||t)).reduce(((t,e)=>t.concat(e)),[]).reduce(Kd,"");Zd(t)||e.setAttributeNS(a,i,t)}}}_renderStyleAttribute(t,e){const n=e.node;for(const i in t){const r=t[i];$d(r)?this._bindToObservable({schema:[r],updater:qd(n,i),data:e}):n.style[i]=r}}_renderElementChildren(t){const e=t.node,n=t.intoFragment?document.createDocumentFragment():e,i=t.isApplying;let r=0;for(const o of this.children)if(tf(o)){if(!i){o.setParent(e);for(const t of o)n.appendChild(t.element)}}else if(Qd(o))i||(o.isRendered||o.render(),n.appendChild(o.element));else if(nr(o))n.appendChild(o);else if(i){const e={children:[],bindings:[],attributes:{}};t.revertData.children.push(e),o._renderNode({intoFragment:!1,node:n.childNodes[r++],isApplying:!0,revertData:e})}else n.appendChild(o.render());t.intoFragment&&e.appendChild(n)}_setUpListeners(t){if(this.eventListeners)for(const e in this.eventListeners){const n=this.eventListeners[e].map((n=>{const[i,r]=e.split("@");return n.activateDomEventListener(i,r,t)}));t.revertData&&t.revertData.bindings.push(n)}}_bindToObservable({schema:t,updater:e,data:n}){const i=n.revertData;zd(t,e,n);const r=t.filter((t=>!Zd(t))).filter((t=>t.observable)).map((i=>i.activateAttributeListener(t,e,n)));i&&i.bindings.push(r)}_revertTemplateFromNode(t,e){for(const t of e.bindings)for(const e of t)e();if(e.text)return void(t.textContent=e.text);const n=t;for(const t in e.attributes){const i=e.attributes[t];null===i?n.removeAttribute(t):n.setAttribute(t,i)}for(let t=0;tzd(t,e,n);return this.emitter.listenTo(this.observable,`change:${this.attribute}`,i),()=>{this.emitter.stopListening(this.observable,`change:${this.attribute}`,i)}}}class Fd extends Rd{eventNameOrFunction;constructor(t){super(t),this.eventNameOrFunction=t.eventNameOrFunction}activateDomEventListener(t,e,n){const i=(t,n)=>{e&&!n.target.matches(e)||("function"==typeof this.eventNameOrFunction?this.eventNameOrFunction(n):this.observable.fire(this.eventNameOrFunction,n))};return this.emitter.listenTo(n.node,t,i),()=>{this.emitter.stopListening(n.node,t,i)}}}class jd extends Rd{valueIfTrue;constructor(t){super(t),this.valueIfTrue=t.valueIfTrue}getValue(t){return!Zd(super.getValue(t))&&(this.valueIfTrue||!0)}}function $d(t){return!!t&&(t.value&&(t=t.value),Array.isArray(t)?t.some($d):t instanceof Rd)}function zd(t,e,{node:n}){const i=function(t,e){return t.map((t=>t instanceof Rd?t.getValue(e):t))}(t,n);let r;r=1==t.length&&t[0]instanceof jd?i[0]:i.reduce(Kd,""),Zd(r)?e.remove():e.set(r)}function Vd(t){return{set(e){t.textContent=e},remove(){t.textContent=""}}}function Hd(t,e,n){return{set(i){t.setAttributeNS(n,e,i)},remove(){t.removeAttributeNS(n,e)}}}function qd(t,e){return{set(n){t.style[e]=n},remove(){t.style[e]=null}}}function Ud(t){return Vn(t,(t=>{if(t&&(t instanceof Rd||Jd(t)||Qd(t)||tf(t)))return t}))}function Gd(t){if("string"==typeof t?t=function(t){return{text:[t]}}(t):t.text&&function(t){t.text=Jr(t.text)}(t),t.on&&(t.eventListeners=function(t){for(const e in t)Wd(t,e);return t}(t.on),delete t.on),!t.text){t.attributes&&function(t){for(const e in t)t[e].value&&(t[e].value=Jr(t[e].value)),Wd(t,e)}(t.attributes);const e=[];if(t.children)if(tf(t.children))e.push(t.children);else for(const n of t.children)Jd(n)||Qd(n)||nr(n)?e.push(n):e.push(new Nd(n));t.children=e}return t}function Wd(t,e){t[e]=Jr(t[e])}function Kd(t,e){return Zd(e)?t:Zd(t)?e:`${t} ${e}`}function Yd(t,e){for(const n in e)t[n]?t[n].push(...e[n]):t[n]=e[n]}function Xd(t,e){if(e.attributes&&(t.attributes||(t.attributes={}),Yd(t.attributes,e.attributes)),e.eventListeners&&(t.eventListeners||(t.eventListeners={}),Yd(t.eventListeners,e.eventListeners)),e.text&&t.text.push(...e.text),e.children&&e.children.length){if(t.children.length!=e.children.length)throw new wi("ui-template-extend-children-mismatch",t);let n=0;for(const i of e.children)Xd(t.children[n++],i)}}function Zd(t){return!t&&0!==t}function Qd(t){return t instanceof af}function Jd(t){return t instanceof Nd}function tf(t){return t instanceof Od}function ef(t){return a(t[0])&&t[0].ns}function nf(t){return"class"==t||"style"==t}var rf=n(7676),of={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(rf.A,of);rf.A.locals;class af extends(or(Vi())){element;isRendered;locale;t;template;_viewCollections;_unboundChildren;_bindTemplate;constructor(t){super(),this.element=null,this.isRendered=!1,this.locale=t,this.t=t&&t.t,this._viewCollections=new Ao,this._unboundChildren=this.createCollection(),this._viewCollections.on("add",((e,n)=>{n.locale=t,n.t=t&&t.t})),this.decorate("render")}get bindTemplate(){return this._bindTemplate?this._bindTemplate:this._bindTemplate=Nd.bind(this,this)}createCollection(t){const e=new Od(t);return this._viewCollections.add(e),e}registerChild(t){Xi(t)||(t=[t]);for(const e of t)this._unboundChildren.add(e)}deregisterChild(t){Xi(t)||(t=[t]);for(const e of t)this._unboundChildren.remove(e)}setTemplate(t){this.template=new Nd(t)}extendTemplate(t){Nd.extend(this.template,t)}render(){if(this.isRendered)throw new wi("ui-view-render-already-rendered",this);this.template&&(this.element=this.template.render(),this.registerChild(this.template.getViews())),this.isRendered=!0}destroy(){this.stopListening(),this._viewCollections.map((t=>t.destroy())),this.template&&this.template._revertData&&this.template.revert(this.element)}}function sf({emitter:t,activator:e,callback:n,contextElements:i,listenerOptions:r}){t.listenTo(document,"mousedown",((t,r)=>{if(!e())return;const o="function"==typeof r.composedPath?r.composedPath():[],a="function"==typeof i?i():i;for(const t of a)if(t.contains(r.target)||o.includes(t))return;n()}),r)}function cf(t){return class extends t{disableCssTransitions(){this._isCssTransitionsDisabled=!0}enableCssTransitions(){this._isCssTransitionsDisabled=!1}constructor(...t){super(...t),this.set("_isCssTransitionsDisabled",!1),this.initializeCssTransitionDisablerMixin()}initializeCssTransitionDisablerMixin(){this.extendTemplate({attributes:{class:[this.bindTemplate.if("_isCssTransitionsDisabled","ck-transitions-disabled")]}})}}}function lf({view:t}){t.listenTo(t.element,"submit",((e,n)=>{n.preventDefault(),t.fire("submit")}),{useCapture:!0})}function uf({keystrokeHandler:t,focusTracker:e,gridItems:n,numberOfColumns:i,uiLanguageDirection:r}){const o="number"==typeof i?()=>i:i;function a(t){return i=>{const r=n.find((t=>t.element===e.focusedElement)),o=n.getIndex(r),a=t(o,n);n.get(a).focus(),i.stopPropagation(),i.preventDefault()}}function s(t,e){return t===e-1?0:t+1}function c(t,e){return 0===t?e-1:t-1}t.set("arrowright",a(((t,e)=>"rtl"===r?c(t,e.length):s(t,e.length)))),t.set("arrowleft",a(((t,e)=>"rtl"===r?s(t,e.length):c(t,e.length)))),t.set("arrowup",a(((t,e)=>{let n=t-o();return n<0&&(n=t+o()*Math.floor(e.length/o()),n>e.length-1&&(n-=o())),n}))),t.set("arrowdown",a(((t,e)=>{let n=t+o();return n>e.length-1&&(n=t%o()),n})))}var hf=n(7621),df={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(hf.A,df);hf.A.locals;class ff extends af{static presentationalAttributeNames=["alignment-baseline","baseline-shift","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-rendering","cursor","direction","display","dominant-baseline","fill","fill-opacity","fill-rule","filter","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","image-rendering","letter-spacing","lighting-color","marker-end","marker-mid","marker-start","mask","opacity","overflow","paint-order","pointer-events","shape-rendering","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-anchor","text-decoration","text-overflow","text-rendering","transform","unicode-bidi","vector-effect","visibility","white-space","word-spacing","writing-mode"];constructor(){super();const t=this.bindTemplate;this.set("content",""),this.set("viewBox","0 0 20 20"),this.set("fillColor",""),this.set("isColorInherited",!0),this.set("isVisible",!0),this.setTemplate({tag:"svg",ns:"http://www.w3.org/2000/svg",attributes:{class:["ck","ck-icon",t.if("isVisible","ck-hidden",(t=>!t)),"ck-reset_all-excluded",t.if("isColorInherited","ck-icon_inherit-color")],viewBox:t.to("viewBox")}})}render(){super.render(),this._updateXMLContent(),this._colorFillPaths(),this.on("change:content",(()=>{this._updateXMLContent(),this._colorFillPaths()})),this.on("change:fillColor",(()=>{this._colorFillPaths()}))}_updateXMLContent(){if(this.content){const t=(new DOMParser).parseFromString(this.content.trim(),"image/svg+xml").querySelector("svg"),e=t.getAttribute("viewBox");e&&(this.viewBox=e);for(const{name:e,value:n}of Array.from(t.attributes))ff.presentationalAttributeNames.includes(e)&&this.element.setAttribute(e,n);for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);for(;t.childNodes.length>0;)this.element.appendChild(t.childNodes[0])}}_colorFillPaths(){this.fillColor&&this.element.querySelectorAll(".ck-icon__fill").forEach((t=>{t.style.fill=this.fillColor}))}}class gf extends af{constructor(){super(),this.set({style:void 0,text:void 0,id:void 0});const t=this.bindTemplate;this.setTemplate({tag:"span",attributes:{class:["ck","ck-button__label"],style:t.to("style"),id:t.to("id")},children:[{text:t.to("text")}]})}}var pf=n(9715),mf={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(pf.A,mf);pf.A.locals;class bf extends af{children;labelView;iconView;keystrokeView;_focusDelayed=null;constructor(t,e=new gf){super(t);const n=this.bindTemplate,i=pi();this.set("_ariaPressed",!1),this.set("_ariaChecked",!1),this.set("ariaLabel",void 0),this.set("ariaLabelledBy",`ck-editor__aria-label_${i}`),this.set("class",void 0),this.set("labelStyle",void 0),this.set("icon",void 0),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isVisible",!0),this.set("isToggleable",!1),this.set("keystroke",void 0),this.set("label",void 0),this.set("role",void 0),this.set("tabindex",-1),this.set("tooltip",!1),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.set("withKeystroke",!1),this.children=this.createCollection(),this.labelView=this._setupLabelView(e),this.iconView=new ff,this.iconView.extendTemplate({attributes:{class:"ck-button__icon"}}),this.keystrokeView=this._createKeystrokeView(),this.bind("_tooltipString").to(this,"tooltip",this,"label",this,"keystroke",this._getTooltipString.bind(this));const r={tag:"button",attributes:{class:["ck","ck-button",n.to("class"),n.if("isEnabled","ck-disabled",(t=>!t)),n.if("isVisible","ck-hidden",(t=>!t)),n.to("isOn",(t=>t?"ck-on":"ck-off")),n.if("withText","ck-button_with-text"),n.if("withKeystroke","ck-button_with-keystroke")],role:n.to("role"),type:n.to("type",(t=>t||"button")),tabindex:n.to("tabindex"),"aria-checked":n.to("_ariaChecked"),"aria-pressed":n.to("_ariaPressed"),"aria-label":n.to("ariaLabel"),"aria-labelledby":n.to("ariaLabelledBy"),"aria-disabled":n.if("isEnabled",!0,(t=>!t)),"data-cke-tooltip-text":n.to("_tooltipString"),"data-cke-tooltip-position":n.to("tooltipPosition")},children:this.children,on:{click:n.to((t=>{this.isEnabled?this.fire("execute"):t.preventDefault()}))}};this.bind("_ariaPressed").to(this,"isOn",this,"isToggleable",this,"role",((t,e,n)=>!(!e||wf(n))&&String(!!t))),this.bind("_ariaChecked").to(this,"isOn",this,"isToggleable",this,"role",((t,e,n)=>!(!e||!wf(n))&&String(!!t))),Jn.isSafari&&(this._focusDelayed||(this._focusDelayed=Do((()=>this.focus()),0)),r.on.mousedown=n.to((()=>{this._focusDelayed()})),r.on.mouseup=n.to((()=>{this._focusDelayed.cancel()}))),this.setTemplate(r)}render(){super.render(),this.icon&&(this.iconView.bind("content").to(this,"icon"),this.children.add(this.iconView)),this.children.add(this.labelView),this.withKeystroke&&this.keystroke&&this.children.add(this.keystrokeView)}focus(){this.element.focus()}destroy(){this._focusDelayed&&this._focusDelayed.cancel(),super.destroy()}_setupLabelView(t){return t.bind("text","style","id").to(this,"label","labelStyle","ariaLabelledBy"),t}_createKeystrokeView(){const t=new af;return t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__keystroke"]},children:[{text:this.bindTemplate.to("keystroke",(t=>Xr(t)))}]}),t}_getTooltipString(t,e,n){return t?"string"==typeof t?t:(n&&(n=Xr(n)),t instanceof Function?t(e,n):`${e}${n?` (${n})`:""}`):""}}function wf(t){switch(t){case"radio":case"checkbox":case"option":case"switch":case"menuitemcheckbox":case"menuitemradio":return!0;default:return!1}}var kf=n(7913),vf={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(kf.A,vf);kf.A.locals;class yf extends af{children;iconView;constructor(t,e={}){super(t);const n=this.bindTemplate;this.set("label",e.label||""),this.set("class",e.class||null),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__header",n.to("class")]},children:this.children}),e.icon&&(this.iconView=new ff,this.iconView.content=e.icon,this.children.add(this.iconView));const i=new af(t);i.setTemplate({tag:"h2",attributes:{class:["ck","ck-form__header__label"],role:"presentation"},children:[{text:n.to("label")}]}),this.children.add(i)}}class _f extends(Si()){focusables;focusTracker;keystrokeHandler;actions;constructor(t){if(super(),this.focusables=t.focusables,this.focusTracker=t.focusTracker,this.keystrokeHandler=t.keystrokeHandler,this.actions=t.actions,t.actions&&t.keystrokeHandler)for(const e in t.actions){let n=t.actions[e];"string"==typeof n&&(n=[n]);for(const i of n)t.keystrokeHandler.set(i,((t,n)=>{this[e](),n()}),t.keystrokeHandlerOptions)}this.on("forwardCycle",(()=>this.focusFirst()),{priority:"low"}),this.on("backwardCycle",(()=>this.focusLast()),{priority:"low"})}get first(){return this.focusables.find(Cf)||null}get last(){return this.focusables.filter(Cf).slice(-1)[0]||null}get next(){return this._getDomFocusableItem(1)}get previous(){return this._getDomFocusableItem(-1)}get current(){let t=null;return null===this.focusTracker.focusedElement?null:(this.focusables.find(((e,n)=>{const i=e.element===this.focusTracker.focusedElement;return i&&(t=n),i})),t)}focusFirst(){this._focus(this.first,1)}focusLast(){this._focus(this.last,-1)}focusNext(){const t=this.next;t&&this.focusables.getIndex(t)===this.current||t===this.first?this.fire("forwardCycle"):this._focus(t,1)}focusPrevious(){const t=this.previous;t&&this.focusables.getIndex(t)===this.current||t===this.last?this.fire("backwardCycle"):this._focus(t,-1)}chain(t){const e=()=>null===this.current?null:this.focusables.get(this.current);this.listenTo(t,"forwardCycle",(t=>{const n=e();this.focusNext(),n!==e()&&t.stop()}),{priority:"low"}),this.listenTo(t,"backwardCycle",(t=>{const n=e();this.focusPrevious(),n!==e()&&t.stop()}),{priority:"low"})}unchain(t){this.stopListening(t)}_focus(t,e){t&&this.focusTracker.focusedElement!==t.element&&t.focus(e)}_getDomFocusableItem(t){const e=this.focusables.length;if(!e)return null;const n=this.current;if(null===n)return this[1===t?"first":"last"];let i=this.focusables.get(n),r=(n+e+t)%e;do{const n=this.focusables.get(r);if(Cf(n)){i=n;break}r=(r+e+t)%e}while(r!==n);return i}}function Cf(t){return Af(t)&&Sr(t.element)}function Af(t){return!(!("focus"in t)||"function"!=typeof t.focus)}function xf(t){return class extends t{_onDragBound=this._onDrag.bind(this);_onDragEndBound=this._onDragEnd.bind(this);_lastDraggingCoordinates={x:0,y:0};constructor(...t){super(...t),this.on("render",(()=>{this._attachListeners()})),this.set("isDragging",!1)}_attachListeners(){this.listenTo(this.element,"mousedown",this._onDragStart.bind(this)),this.listenTo(this.element,"touchstart",this._onDragStart.bind(this))}_attachDragListeners(){this.listenTo(Xn.document,"mouseup",this._onDragEndBound),this.listenTo(Xn.document,"touchend",this._onDragEndBound),this.listenTo(Xn.document,"mousemove",this._onDragBound),this.listenTo(Xn.document,"touchmove",this._onDragBound)}_detachDragListeners(){this.stopListening(Xn.document,"mouseup",this._onDragEndBound),this.stopListening(Xn.document,"touchend",this._onDragEndBound),this.stopListening(Xn.document,"mousemove",this._onDragBound),this.stopListening(Xn.document,"touchmove",this._onDragBound)}_onDragStart(t,e){if(!this._isHandleElementPressed(e))return;this._attachDragListeners();let n=0,i=0;e instanceof MouseEvent?(n=e.clientX,i=e.clientY):(n=e.touches[0].clientX,i=e.touches[0].clientY),this._lastDraggingCoordinates={x:n,y:i},this.isDragging=!0}_onDrag(t,e){if(!this.isDragging)return void this._detachDragListeners();let n=0,i=0;e instanceof MouseEvent?(n=e.clientX,i=e.clientY):(n=e.touches[0].clientX,i=e.touches[0].clientY),e.preventDefault(),this.fire("drag",{deltaX:Math.round(n-this._lastDraggingCoordinates.x),deltaY:Math.round(i-this._lastDraggingCoordinates.y)}),this._lastDraggingCoordinates={x:n,y:i}}_onDragEnd(){this._detachDragListeners(),this.isDragging=!1}_isHandleElementPressed(t){return!!this.dragHandleElement&&(this.dragHandleElement===t.target||t.target instanceof HTMLElement&&this.dragHandleElement.contains(t.target))}}}var Ef=n(9822),Tf={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Ef.A,Tf);Ef.A.locals;class Sf extends af{children;keystrokes;focusCycler;_focusTracker;_focusables;constructor(t){super(t),this.children=this.createCollection(),this.keystrokes=new To,this._focusTracker=new Eo,this._focusables=new Od,this.focusCycler=new _f({focusables:this._focusables,focusTracker:this._focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-dialog__actions"]},children:this.children})}render(){super.render(),this.keystrokes.listenTo(this.element)}setButtons(t){for(const e of t){const t=new bf(this.locale);let n;for(n in t.on("execute",(()=>e.onExecute())),e.onCreate&&e.onCreate(t),e)"onExecute"!=n&&"onCreate"!=n&&t.set(n,e[n]);this.children.add(t)}this._updateFocusCyclableItems()}focus(t){-1===t?this.focusCycler.focusLast():this.focusCycler.focusFirst()}_updateFocusCyclableItems(){Array.from(this.children).forEach((t=>{this._focusables.add(t),this._focusTracker.add(t.element)}))}}class Df extends af{children;constructor(t){super(t),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-dialog__content"]},children:this.children})}reset(){for(;this.children.length;)this.children.remove(0)}}var If=n(9819),Bf={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(If.A,Bf);If.A.locals;const Mf="screen-center",Pf="editor-center",Lf="editor-top-side",Of="editor-top-center",Nf="editor-bottom-center",Rf="editor-above-center",Ff="editor-below-center",jf=Cr("px");class $f extends(xf(af)){parts;headerView;closeButtonView;actionsView;static defaultOffset=15;contentView;keystrokes;focusTracker;wasMoved=!1;_getCurrentDomRoot;_getViewportOffset;_focusables;_focusCycler;constructor(t,{getCurrentDomRoot:e,getViewportOffset:n}){super(t);const i=this.bindTemplate,r=t.t;this.set("className",""),this.set("ariaLabel",r("Editor dialog")),this.set("isModal",!1),this.set("position",Mf),this.set("_isVisible",!1),this.set("_isTransparent",!1),this.set("_top",0),this.set("_left",0),this._getCurrentDomRoot=e,this._getViewportOffset=n,this.decorate("moveTo"),this.parts=this.createCollection(),this.keystrokes=new To,this.focusTracker=new Eo,this._focusables=new Od,this._focusCycler=new _f({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-dialog-overlay",i.if("isModal","ck-dialog-overlay__transparent",(t=>!t)),i.if("_isVisible","ck-hidden",(t=>!t))],tabindex:"-1"},children:[{tag:"div",attributes:{tabindex:"-1",class:["ck","ck-dialog",i.to("className")],role:"dialog","aria-label":i.to("ariaLabel"),style:{top:i.to("_top",(t=>jf(t))),left:i.to("_left",(t=>jf(t))),visibility:i.if("_isTransparent","hidden")}},children:this.parts}]})}render(){super.render(),this.keystrokes.set("Esc",((t,e)=>{this.fire("close",{source:"escKeyPress"}),e()})),this.on("drag",((t,{deltaX:e,deltaY:n})=>{this.wasMoved=!0,this.moveBy(e,n)})),this.listenTo(Xn.window,"resize",(()=>{this._isVisible&&!this.wasMoved&&this.updatePosition()})),this.listenTo(Xn.document,"scroll",(()=>{this._isVisible&&!this.wasMoved&&this.updatePosition()})),this.on("change:_isVisible",((t,e,n)=>{n&&(this._isTransparent=!0,setTimeout((()=>{this.updatePosition(),this._isTransparent=!1,this.focus()}),10))})),this.keystrokes.listenTo(this.element)}get dragHandleElement(){return this.headerView?this.headerView.element:null}setupParts({icon:t,title:e,hasCloseButton:n=!0,content:i,actionButtons:r}){e&&(this.headerView=new yf(this.locale,{icon:t}),n&&(this.closeButtonView=this._createCloseButton(),this.headerView.children.add(this.closeButtonView)),this.headerView.label=e,this.ariaLabel=e,this.parts.add(this.headerView,0)),i&&(i instanceof af&&(i=[i]),this.contentView=new Df(this.locale),this.contentView.children.addMany(i),this.parts.add(this.contentView)),r&&(this.actionsView=new Sf(this.locale),this.actionsView.setButtons(r),this.parts.add(this.actionsView)),this._updateFocusCyclableItems()}focus(){this._focusCycler.focusFirst()}moveTo(t,e){const n=this._getViewportRect(),i=this._getDialogRect();t+i.width>n.right&&(t=n.right-i.width),t{var e;this._focusables.add(t),this.focusTracker.add(t.element),Af(e=t)&&"focusCycler"in e&&e.focusCycler instanceof _f&&this._focusCycler.chain(t.focusCycler)}))}_createCloseButton(){const t=new bf(this.locale),e=this.locale.t;return t.set({label:e("Close"),tooltip:!0,icon:Ld.cancel}),t.on("execute",(()=>this.fire("close",{source:"closeButton"}))),t}}class zf extends Oo{view;static _visibleDialogPlugin;_onHide;static get pluginName(){return"Dialog"}constructor(t){super(t);const e=t.t;this._initShowHideListeners(),this._initFocusToggler(),this._initMultiRootIntegration(),this.set({id:null,isOpen:!1}),t.accessibility.addKeystrokeInfos({categoryId:"navigation",keystrokes:[{label:e("Move focus in and out of an active dialog window"),keystroke:"Ctrl+F6",mayRequireFn:!0}]})}_initShowHideListeners(){this.on("show",((t,e)=>{this._show(e)})),this.on("show",((t,e)=>{e.onShow&&e.onShow(this)}),{priority:"low"}),this.on("hide",(()=>{zf._visibleDialogPlugin&&zf._visibleDialogPlugin._hide()})),this.on("hide",(()=>{this._onHide&&(this._onHide(this),this._onHide=void 0)}),{priority:"low"})}_initFocusToggler(){const t=this.editor;t.keystrokes.set("Ctrl+F6",((e,n)=>{this.isOpen&&!this.view.isModal&&(this.view.focusTracker.isFocused?t.editing.view.focus():this.view.focus(),n())}))}_initMultiRootIntegration(){const t=this.editor.model;t.document.on("change:data",(()=>{if(!this.view)return;const e=t.document.differ.getChangedRoots();for(const t of e)t.state&&this.view.updatePosition()}))}show(t){this.hide(),this.fire(`show:${t.id}`,t)}_show({id:t,icon:e,title:n,hasCloseButton:i=!0,content:r,actionButtons:o,className:a,isModal:s,position:c,onHide:l}){const u=this.editor;this.view=new $f(u.locale,{getCurrentDomRoot:()=>u.editing.view.getDomRoot(u.model.document.selection.anchor.root.rootName),getViewportOffset:()=>u.ui.viewportOffset});const h=this.view;h.on("close",(()=>{this.hide()})),u.ui.view.body.add(h),u.keystrokes.listenTo(h.element),c||(c=s?Mf:Pf),h.set({position:c,_isVisible:!0,className:a,isModal:s}),h.setupParts({icon:e,title:n,hasCloseButton:i,content:r,actionButtons:o}),this.id=t,l&&(this._onHide=l),this.isOpen=!0,zf._visibleDialogPlugin=this}hide(){zf._visibleDialogPlugin&&zf._visibleDialogPlugin.fire(`hide:${zf._visibleDialogPlugin.id}`)}_hide(){if(!this.view)return;const t=this.editor,e=this.view;e.contentView&&e.contentView.reset(),t.ui.view.body.remove(e),t.ui.focusTracker.remove(e.element),t.keystrokes.stopListening(e.element),e.destroy(),t.editing.view.focus(),this.id=null,this.isOpen=!1,zf._visibleDialogPlugin=null}}var Vf=n(278),Hf={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Vf.A,Hf);Vf.A.locals;class qf extends bf{_checkIconHolderView=new Uf;constructor(t,e=new gf){super(t,e),this.set({hasCheckSpace:!1,_hasCheck:this.isToggleable});const n=this.bindTemplate;this.extendTemplate({attributes:{class:["ck-list-item-button",n.if("isToggleable","ck-list-item-button_toggleable")]}}),this.bind("_hasCheck").to(this,"hasCheckSpace",this,"isToggleable",((t,e)=>t||e))}render(){super.render(),this._hasCheck&&this.children.add(this._checkIconHolderView,0),this._watchCheckIconHolderMount()}_watchCheckIconHolderMount(){this._checkIconHolderView.bind("isOn").to(this,"isOn",(t=>this.isToggleable&&t)),this.on("change:_hasCheck",((t,e,n)=>{const{children:i,_checkIconHolderView:r}=this;n?i.add(r,0):i.remove(r)}))}}class Uf extends af{children;_checkIconView=this._createCheckIconView();constructor(){super();const t=this.bindTemplate;this.children=this.createCollection(),this.set("isOn",!1),this.setTemplate({tag:"span",children:this.children,attributes:{class:["ck","ck-list-item-button__check-holder",t.to("isOn",(t=>t?"ck-on":"ck-off"))]}})}render(){super.render(),this.isOn&&this.children.add(this._checkIconView,0),this._watchCheckIconMount()}_watchCheckIconMount(){this.on("change:isOn",((t,e,n)=>{const{children:i,_checkIconView:r}=this;n&&!i.has(r)?i.add(r):!n&&i.has(r)&&i.remove(r)}))}_createCheckIconView(){const t=new ff;return t.content=Ld.check,t.extendTemplate({attributes:{class:"ck-list-item-button__check-icon"}}),t}}var Gf=n(977),Wf={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Gf.A,Wf);Gf.A.locals;class Kf extends qf{constructor(t){super(t),this.set({withText:!0,withKeystroke:!0,tooltip:!1,role:"menuitem"}),this.extendTemplate({attributes:{class:["ck-menu-bar__menu__item__button"]}})}}var Yf=n(7801),Xf={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Yf.A,Xf);Yf.A.locals;class Zf extends af{id;constructor(t){super(t),this.set("text",void 0),this.set("for",void 0),this.id=`ck-editor__label_${pi()}`;const e=this.bindTemplate;this.setTemplate({tag:"label",attributes:{class:["ck","ck-label"],id:this.id,for:e.to("for")},children:[{text:e.to("text")}]})}}var Qf=n(8527),Jf={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Qf.A,Jf);Qf.A.locals;class tg extends Od{locale;_bodyCollectionContainer;constructor(t,e=[]){super(e),this.locale=t}get bodyCollectionContainer(){return this._bodyCollectionContainer}attachToDom(){this._bodyCollectionContainer=new Nd({tag:"div",attributes:{class:["ck","ck-reset_all","ck-body","ck-rounded-corners"],dir:this.locale.uiLanguageDirection,role:"application"},children:this}).render();let t=document.querySelector(".ck-body-wrapper");t||(t=Qi(document,"div",{class:"ck-body-wrapper"}),document.body.appendChild(t)),t.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy(),this._bodyCollectionContainer&&this._bodyCollectionContainer.remove();const t=document.querySelector(".ck-body-wrapper");t&&0==t.childElementCount&&t.remove()}}var eg=n(4391),ng={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(eg.A,ng);eg.A.locals;class ig extends bf{toggleSwitchView;constructor(t){super(t),this.isToggleable=!0,this.toggleSwitchView=this._createToggleView(),this.extendTemplate({attributes:{class:"ck-switchbutton"}})}render(){super.render(),this.children.add(this.toggleSwitchView)}_createToggleView(){const t=new af;return t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__toggle"]},children:[{tag:"span",attributes:{class:["ck","ck-button__toggle__inner"]}}]}),t}}class rg extends(ag(bf)){}class og extends(ag(qf)){}function ag(t){return class extends t{buttonView;_fileInputView;constructor(...t){super(...t),this.buttonView=this,this._fileInputView=new sg(this.locale),this._fileInputView.bind("acceptedType").to(this),this._fileInputView.bind("allowMultipleFiles").to(this),this._fileInputView.delegate("done").to(this),this.on("execute",(()=>{this._fileInputView.open()})),this.extendTemplate({attributes:{class:"ck-file-dialog-button"}})}render(){super.render(),this.children.add(this._fileInputView)}}}class sg extends af{constructor(t){super(t),this.set("acceptedType",void 0),this.set("allowMultipleFiles",!1);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:e.to("acceptedType"),multiple:e.to("allowMultipleFiles")},on:{change:e.to((()=>{this.element&&this.element.files&&this.element.files.length&&this.fire("done",this.element.files),this.element.value=""}))}})}open(){this.element.click()}}const cg='';var lg=n(25),ug={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(lg.A,ug);lg.A.locals;class hg extends af{buttonView;children;constructor(t,e){super(t);const n=this.bindTemplate;this.set("isCollapsed",!1),this.set("label",""),this.buttonView=this._createButtonView(),this.children=this.createCollection(),this.set("_collapsibleAriaLabelUid",void 0),e&&this.children.addMany(e),this.setTemplate({tag:"div",attributes:{class:["ck","ck-collapsible",n.if("isCollapsed","ck-collapsible_collapsed")]},children:[this.buttonView,{tag:"div",attributes:{class:["ck","ck-collapsible__children"],role:"region",hidden:n.if("isCollapsed","hidden"),"aria-labelledby":n.to("_collapsibleAriaLabelUid")},children:this.children}]})}render(){super.render(),this._collapsibleAriaLabelUid=this.buttonView.labelView.element.id}focus(){this.buttonView.focus()}_createButtonView(){const t=new bf(this.locale),e=t.bindTemplate;return t.set({withText:!0,icon:cg}),t.extendTemplate({attributes:{"aria-expanded":e.to("isOn",(t=>String(t)))}}),t.bind("label").to(this),t.bind("isOn").to(this,"isCollapsed",(t=>!t)),t.on("execute",(()=>{this.isCollapsed=!this.isCollapsed})),t}}function dg(t,e){const n=t.t,i={Black:n("Black"),"Dim grey":n("Dim grey"),Grey:n("Grey"),"Light grey":n("Light grey"),White:n("White"),Red:n("Red"),Orange:n("Orange"),Yellow:n("Yellow"),"Light green":n("Light green"),Green:n("Green"),Aquamarine:n("Aquamarine"),Turquoise:n("Turquoise"),"Light blue":n("Light blue"),Blue:n("Blue"),Purple:n("Purple")};return e.map((t=>{const e=i[t.label];return e&&e!=t.label&&(t.label=e),t}))}function fg(t){return t.map(gg).filter((t=>!!t))}function gg(t){return"string"==typeof t?{model:t,label:t,hasBorder:!1,view:{name:"span",styles:{color:t}}}:{model:t.color,label:t.label||t.color,hasBorder:void 0!==t.hasBorder&&t.hasBorder,view:{name:"span",styles:{color:`${t.color}`}}}}class pg extends bf{constructor(t){super(t);const e=this.bindTemplate;this.set("color",void 0),this.set("hasBorder",!1),this.icon='',this.extendTemplate({attributes:{style:{backgroundColor:e.to("color",(t=>Jn.isMediaForcedColors?null:t))},class:["ck","ck-color-grid__tile",e.if("hasBorder","ck-color-selector__color-tile_bordered")]}})}render(){super.render(),this.iconView.fillColor="hsl(0, 0%, 100%)"}}var mg=n(7317),bg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(mg.A,bg);mg.A.locals;class wg extends af{columns;items;focusTracker;keystrokes;constructor(t,e){super(t);const n=e&&e.colorDefinitions?e.colorDefinitions:[];this.columns=e&&e.columns?e.columns:5;const i={gridTemplateColumns:`repeat( ${this.columns}, 1fr)`};this.set("selectedColor",void 0),this.items=this.createCollection(),this.focusTracker=new Eo,this.keystrokes=new To,this.items.on("add",((t,e)=>{e.isOn=e.color===this.selectedColor})),n.forEach((t=>{const e=new pg;e.set({color:t.color,label:t.label,tooltip:!0,hasBorder:t.options.hasBorder}),e.on("execute",(()=>{this.fire("execute",{value:t.color,hasBorder:t.options.hasBorder,label:t.label})})),this.items.add(e)})),this.setTemplate({tag:"div",children:this.items,attributes:{class:["ck","ck-color-grid"],style:i}}),this.on("change:selectedColor",((t,e,n)=>{for(const t of this.items)t.isOn=t.color===n}))}focus(){this.items.length&&this.items.first.focus()}focusLast(){this.items.length&&this.items.last.focus()}render(){super.render();for(const t of this.items)this.focusTracker.add(t.element);this.items.on("add",((t,e)=>{this.focusTracker.add(e.element)})),this.items.on("remove",((t,e)=>{this.focusTracker.remove(e.element)})),this.keystrokes.listenTo(this.element),uf({keystrokeHandler:this.keystrokes,focusTracker:this.focusTracker,gridItems:this.items,numberOfColumns:this.columns,uiLanguageDirection:this.locale&&this.locale.uiLanguageDirection})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}}var kg=n(6931);const vg=function(t){var e,n,i=[],r=1;if("string"==typeof t)if(kg[t])i=kg[t].slice(),n="rgb";else if("transparent"===t)r=0,n="rgb",i=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var o=t.slice(1);r=1,(c=o.length)<=4?(i=[parseInt(o[0]+o[0],16),parseInt(o[1]+o[1],16),parseInt(o[2]+o[2],16)],4===c&&(r=parseInt(o[3]+o[3],16)/255)):(i=[parseInt(o[0]+o[1],16),parseInt(o[2]+o[3],16),parseInt(o[4]+o[5],16)],8===c&&(r=parseInt(o[6]+o[7],16)/255)),i[0]||(i[0]=0),i[1]||(i[1]=0),i[2]||(i[2]=0),n="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var a=e[1],s="rgb"===a;n=o=a.replace(/a$/,"");var c="cmyk"===o?4:"gray"===o?1:3;i=e[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(t,e){if(/%$/.test(t))return e===c?parseFloat(t)/100:"rgb"===o?255*parseFloat(t)/100:parseFloat(t);if("h"===o[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==yg[t])return yg[t]}return parseFloat(t)})),a===o&&i.push(1),r=s||void 0===i[c]?1:i[c],i=i.slice(0,c)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(i=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),n=t.match(/([a-z])/gi).join("").toLowerCase());else isNaN(t)?Array.isArray(t)||t.length?(i=[t[0],t[1],t[2]],n="rgb",r=4===t.length?t[3]:1):t instanceof Object&&(null!=t.r||null!=t.red||null!=t.R?(n="rgb",i=[t.r||t.red||t.R||0,t.g||t.green||t.G||0,t.b||t.blue||t.B||0]):(n="hsl",i=[t.h||t.hue||t.H||0,t.s||t.saturation||t.S||0,t.l||t.lightness||t.L||t.b||t.brightness]),r=t.a||t.alpha||t.opacity||1,null!=t.opacity&&(r/=100)):(n="rgb",i=[t>>>16,(65280&t)>>>8,255&t]);return{space:n,values:i,alpha:r}};var yg={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};var _g=n(9047);function Cg(t,e){if(!t)return"";const n=Ag(t);if(!n)return"";if(n.space===e)return t;if(i=n,!Object.keys(_g).includes(i.space))return"";var i;const r=_g[n.space][e];if(!r)return"";return function(t,e){switch(e){case"hex":return`#${t}`;case"rgb":return`rgb( ${t[0]}, ${t[1]}, ${t[2]} )`;case"hsl":return`hsl( ${t[0]}, ${t[1]}%, ${t[2]}% )`;case"hwb":return`hwb( ${t[0]}, ${t[1]}, ${t[2]} )`;case"lab":return`lab( ${t[0]}% ${t[1]} ${t[2]} )`;case"lch":return`lch( ${t[0]}% ${t[1]} ${t[2]} )`;default:return""}}(r("hex"===n.space?n.hexValue:n.values),e)}function Ag(t){if(t.startsWith("#")){const e=vg(t);return{space:"hex",values:e.values,hexValue:t,alpha:e.alpha}}const e=vg(t);return e.space?e:null}var xg=n(4962),Eg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(xg.A,Eg);xg.A.locals;class Tg extends af{fieldView;labelView;statusView;fieldWrapperChildren;constructor(t,e){super(t);const n=`ck-labeled-field-view-${pi()}`,i=`ck-labeled-field-view-status-${pi()}`;this.fieldView=e(this,n,i),this.set("label",void 0),this.set("isEnabled",!0),this.set("isEmpty",!0),this.set("isFocused",!1),this.set("errorText",null),this.set("infoText",null),this.set("class",void 0),this.set("placeholder",void 0),this.labelView=this._createLabelView(n),this.statusView=this._createStatusView(i),this.fieldWrapperChildren=this.createCollection([this.fieldView,this.labelView]),this.bind("_statusText").to(this,"errorText",this,"infoText",((t,e)=>t||e));const r=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view",r.to("class"),r.if("isEnabled","ck-disabled",(t=>!t)),r.if("isEmpty","ck-labeled-field-view_empty"),r.if("isFocused","ck-labeled-field-view_focused"),r.if("placeholder","ck-labeled-field-view_placeholder"),r.if("errorText","ck-error")]},children:[{tag:"div",attributes:{class:["ck","ck-labeled-field-view__input-wrapper"]},children:this.fieldWrapperChildren},this.statusView]})}_createLabelView(t){const e=new Zf(this.locale);return e.for=t,e.bind("text").to(this,"label"),e}_createStatusView(t){const e=new af(this.locale),n=this.bindTemplate;return e.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view__status",n.if("errorText","ck-labeled-field-view__status_error"),n.if("_statusText","ck-hidden",(t=>!t))],id:t,role:n.if("errorText","alert")},children:[{text:n.to("_statusText")}]}),e}focus(t){this.fieldView.focus(t)}}class Sg extends af{focusTracker;constructor(t){super(t),this.set("value",void 0),this.set("id",void 0),this.set("placeholder",void 0),this.set("tabIndex",void 0),this.set("isReadOnly",!1),this.set("hasError",!1),this.set("ariaDescribedById",void 0),this.set("ariaLabel",void 0),this.focusTracker=new Eo,this.bind("isFocused").to(this.focusTracker),this.set("isEmpty",!0);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck","ck-input",e.if("isFocused","ck-input_focused"),e.if("isEmpty","ck-input-text_empty"),e.if("hasError","ck-error")],id:e.to("id"),placeholder:e.to("placeholder"),tabindex:e.to("tabIndex"),readonly:e.to("isReadOnly"),"aria-invalid":e.if("hasError",!0),"aria-describedby":e.to("ariaDescribedById"),"aria-label":e.to("ariaLabel")},on:{input:e.to(((...t)=>{this.fire("input",...t),this._updateIsEmpty()})),change:e.to(this._updateIsEmpty.bind(this))}})}render(){super.render(),this.focusTracker.add(this.element),this._setDomElementValue(this.value),this._updateIsEmpty(),this.on("change:value",((t,e,n)=>{this._setDomElementValue(n),this._updateIsEmpty()}))}destroy(){super.destroy(),this.focusTracker.destroy()}select(){this.element.select()}focus(){this.element.focus()}reset(){this.value=this.element.value="",this._updateIsEmpty()}_updateIsEmpty(){this.isEmpty=!this.element.value}_setDomElementValue(t){this.element.value=t||0===t?t:""}}var Dg=n(253),Ig={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Dg.A,Ig);Dg.A.locals;class Bg extends Sg{constructor(t){super(t),this.set("inputMode","text");const e=this.bindTemplate;this.extendTemplate({attributes:{inputmode:e.to("inputMode")}})}}class Mg extends Bg{constructor(t){super(t),this.extendTemplate({attributes:{type:"text",class:["ck-input-text"]}})}}class Pg extends Bg{constructor(t,{min:e,max:n,step:i}={}){super(t);const r=this.bindTemplate;this.set("min",e),this.set("max",n),this.set("step",i),this.extendTemplate({attributes:{type:"number",class:["ck-input-number"],min:r.to("min"),max:r.to("max"),step:r.to("step")}})}}var Lg=n(1671),Og={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Lg.A,Og);Lg.A.locals;class Ng extends af{children;constructor(t){super(t);const e=this.bindTemplate;this.set("isVisible",!1),this.set("position","se"),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-dropdown__panel",e.to("position",(t=>`ck-dropdown__panel_${t}`)),e.if("isVisible","ck-dropdown__panel-visible")],tabindex:"-1"},children:this.children,on:{selectstart:e.to((t=>{"input"!==t.target.tagName.toLocaleLowerCase()&&t.preventDefault()}))}})}focus(){if(this.children.length){const t=this.children.first;"function"==typeof t.focus?t.focus():ki("ui-dropdown-panel-focus-child-missing-focus",{childView:this.children.first,dropdownPanel:this})}}focusLast(){if(this.children.length){const t=this.children.last;"function"==typeof t.focusLast?t.focusLast():t.focus()}}}var Rg=n(8149),Fg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Rg.A,Fg);Rg.A.locals;class jg extends af{buttonView;panelView;focusTracker;keystrokes;listView;toolbarView;menuView;constructor(t,e,n){super(t);const i=this.bindTemplate;this.buttonView=e,this.panelView=n,this.set("isOpen",!1),this.set("isEnabled",!0),this.set("class",void 0),this.set("id",void 0),this.set("panelPosition","auto"),this.panelView.bind("isVisible").to(this,"isOpen"),this.keystrokes=new To,this.focusTracker=new Eo,this.setTemplate({tag:"div",attributes:{class:["ck","ck-dropdown",i.to("class"),i.if("isEnabled","ck-disabled",(t=>!t))],id:i.to("id"),"aria-describedby":i.to("ariaDescribedById")},children:[e,n]}),e.extendTemplate({attributes:{class:["ck-dropdown__button"],"data-cke-tooltip-disabled":i.to("isOpen")}})}render(){super.render(),this.focusTracker.add(this.buttonView.element),this.focusTracker.add(this.panelView.element),this.listenTo(this.buttonView,"open",(()=>{this.isOpen=!this.isOpen})),this.on("change:isOpen",((t,e,n)=>{if(n)if("auto"===this.panelPosition){const t=jg._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:!0,positions:this._panelPositions});this.panelView.position=t?t.name:this._panelPositions[0].name}else this.panelView.position=this.panelPosition})),this.keystrokes.listenTo(this.element);const t=(t,e)=>{this.isOpen&&(this.isOpen=!1,e())};this.keystrokes.set("arrowdown",((t,e)=>{this.buttonView.isEnabled&&!this.isOpen&&(this.isOpen=!0,e())})),this.keystrokes.set("arrowright",((t,e)=>{this.isOpen&&e()})),this.keystrokes.set("arrowleft",t),this.keystrokes.set("esc",t)}focus(){this.buttonView.focus()}get _panelPositions(){const{south:t,north:e,southEast:n,southWest:i,northEast:r,northWest:o,southMiddleEast:a,southMiddleWest:s,northMiddleEast:c,northMiddleWest:l}=jg.defaultPanelPositions;return"rtl"!==this.locale.uiLanguageDirection?[n,i,a,s,t,r,o,c,l,e]:[i,n,s,a,t,o,r,l,c,e]}static defaultPanelPositions={south:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)/2,name:"s"}),southEast:t=>({top:t.bottom,left:t.left,name:"se"}),southWest:(t,e)=>({top:t.bottom,left:t.left-e.width+t.width,name:"sw"}),southMiddleEast:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)/4,name:"sme"}),southMiddleWest:(t,e)=>({top:t.bottom,left:t.left-3*(e.width-t.width)/4,name:"smw"}),north:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)/2,name:"n"}),northEast:(t,e)=>({top:t.top-e.height,left:t.left,name:"ne"}),northWest:(t,e)=>({top:t.top-e.height,left:t.left-e.width+t.width,name:"nw"}),northMiddleEast:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)/4,name:"nme"}),northMiddleWest:(t,e)=>({top:t.top-e.height,left:t.left-3*(e.width-t.width)/4,name:"nmw"})};static _getOptimalPosition=Dr}class $g extends bf{arrowView;constructor(t){super(t),this.arrowView=this._createArrowView(),this.extendTemplate({attributes:{"aria-haspopup":!0,"aria-expanded":this.bindTemplate.to("isOn",(t=>String(t)))}}),this.delegate("execute").to(this,"open")}render(){super.render(),this.children.add(this.arrowView)}_createArrowView(){const t=new ff;return t.content=cg,t.extendTemplate({attributes:{class:"ck-dropdown__arrow"}}),t}}var zg=n(4767),Vg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(zg.A,Vg);zg.A.locals;var Hg=n(9554),qg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Hg.A,qg);Hg.A.locals;class Ug extends af{children;constructor(t){super(t);const e=this.bindTemplate;this.set("isVisible",!0),this.children=this.createCollection(),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__item",e.if("isVisible","ck-hidden",(t=>!t))],role:"presentation"},children:this.children})}focus(){this.children.first&&this.children.first.focus()}}class Gg extends af{constructor(t){super(t),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__separator"]}})}}class Wg extends af{labelView;items;children;constructor(t,e=new Zf){super(t);const n=this.bindTemplate,i=new Xg(t);this.set({label:"",isVisible:!0}),this.labelView=e,this.labelView.bind("text").to(this,"label"),this.children=this.createCollection(),this.children.addMany([this.labelView,i]),i.set({role:"group",ariaLabelledBy:e.id}),i.focusTracker.destroy(),i.keystrokes.destroy(),this.items=i.items,this.setTemplate({tag:"li",attributes:{role:"presentation",class:["ck","ck-list__group",n.if("isVisible","ck-hidden",(t=>!t))]},children:this.children})}focus(){if(this.items){const t=this.items.find((t=>!(t instanceof Gg)));t&&t.focus()}}}var Kg=n(5199),Yg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Kg.A,Yg);Kg.A.locals;class Xg extends af{focusables;items;focusTracker;keystrokes;_focusCycler;_listItemGroupToChangeListeners=new WeakMap;constructor(t){super(t);const e=this.bindTemplate;this.focusables=new Od,this.items=this.createCollection(),this.focusTracker=new Eo,this.keystrokes=new To,this._focusCycler=new _f({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"arrowup",focusNext:"arrowdown"}}),this.set("ariaLabel",void 0),this.set("ariaLabelledBy",void 0),this.set("role",void 0),this.setTemplate({tag:"ul",attributes:{class:["ck","ck-reset","ck-list"],role:e.to("role"),"aria-label":e.to("ariaLabel"),"aria-labelledby":e.to("ariaLabelledBy")},children:this.items})}render(){super.render();for(const t of this.items)t instanceof Wg?this._registerFocusableItemsGroup(t):t instanceof Ug&&this._registerFocusableListItem(t);this.items.on("change",((t,e)=>{for(const t of e.removed)t instanceof Wg?this._deregisterFocusableItemsGroup(t):t instanceof Ug&&this._deregisterFocusableListItem(t);for(const t of Array.from(e.added).reverse())t instanceof Wg?this._registerFocusableItemsGroup(t,e.index):this._registerFocusableListItem(t,e.index)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}focusFirst(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}_registerFocusableListItem(t,e){this.focusTracker.add(t.element),this.focusables.add(t,e)}_deregisterFocusableListItem(t){this.focusTracker.remove(t.element),this.focusables.remove(t)}_getOnGroupItemsChangeCallback(t){return(e,n)=>{for(const t of n.removed)this._deregisterFocusableListItem(t);for(const e of Array.from(n.added).reverse())this._registerFocusableListItem(e,this.items.getIndex(t)+n.index)}}_registerFocusableItemsGroup(t,e){Array.from(t.items).forEach(((t,n)=>{const i=void 0!==e?e+n:void 0;this._registerFocusableListItem(t,i)}));const n=this._getOnGroupItemsChangeCallback(t);this._listItemGroupToChangeListeners.set(t,n),t.items.on("change",n)}_deregisterFocusableItemsGroup(t){for(const e of t.items)this._deregisterFocusableListItem(e);t.items.off("change",this._listItemGroupToChangeListeners.get(t)),this._listItemGroupToChangeListeners.delete(t)}}var Zg=n(2171),Qg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Zg.A,Qg);Zg.A.locals;var Jg=n(3710),tp={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Jg.A,tp);Jg.A.locals;const ep=Cr("px"),np={top:-99999,left:-99999,name:"arrowless",config:{withArrow:!1}};class ip extends af{content;_pinWhenIsVisibleCallback;_resizeObserver;constructor(t){super(t);const e=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("position","arrow_nw"),this.set("isVisible",!1),this.set("withArrow",!0),this.set("class",void 0),this._pinWhenIsVisibleCallback=null,this._resizeObserver=null,this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-panel",e.to("position",(t=>`ck-balloon-panel_${t}`)),e.if("isVisible","ck-balloon-panel_visible"),e.if("withArrow","ck-balloon-panel_with-arrow"),e.to("class")],style:{top:e.to("top",ep),left:e.to("left",ep)}},children:this.content})}destroy(){this.hide(),super.destroy()}show(){this.isVisible=!0}hide(){this.isVisible=!1}attachTo(t){const e=rp(t.target);if(e&&!Sr(e))return!1;this.show();const n=ip.defaultPositions,i=Object.assign({},{element:this.element,positions:[n.southArrowNorth,n.southArrowNorthMiddleWest,n.southArrowNorthMiddleEast,n.southArrowNorthWest,n.southArrowNorthEast,n.northArrowSouth,n.northArrowSouthMiddleWest,n.northArrowSouthMiddleEast,n.northArrowSouthWest,n.northArrowSouthEast,n.viewportStickyNorth],limiter:Xn.document.body,fitInViewport:!0},t),r=ip._getOptimalPosition(i)||np,o=parseInt(r.left),a=parseInt(r.top),s=r.name,c=r.config||{},{withArrow:l=!0}=c;return this.top=a,this.left=o,this.position=s,this.withArrow=l,!0}pin(t){this.unpin(),this._startPinning(t)&&(this._pinWhenIsVisibleCallback=()=>{this.isVisible?this._startPinning(t):this._stopPinning()},this.listenTo(this,"change:isVisible",this._pinWhenIsVisibleCallback))}unpin(){this._pinWhenIsVisibleCallback&&(this._stopPinning(),this.stopListening(this,"change:isVisible",this._pinWhenIsVisibleCallback),this._pinWhenIsVisibleCallback=null,this.hide())}_startPinning(t){if(!this.attachTo(t))return!1;let e=rp(t.target);const n=t.limiter?rp(t.limiter):Xn.document.body;if(this.listenTo(Xn.document,"scroll",((i,r)=>{const o=r.target,a=e&&o.contains(e),s=n&&o.contains(n);!a&&!s&&e&&n||this.attachTo(t)}),{useCapture:!0}),this.listenTo(Xn.window,"resize",(()=>{this.attachTo(t)})),!this._resizeObserver&&(e&&dr(e)&&(e=e.parentElement),e)){const t=()=>{Sr(e)||this.unpin()};this._resizeObserver=new yr(e,t)}return!0}_stopPinning(){this.stopListening(Xn.document,"scroll"),this.stopListening(Xn.window,"resize"),this._resizeObserver&&(this._resizeObserver.destroy(),this._resizeObserver=null)}static generatePositions(t={}){const{sideOffset:e=ip.arrowSideOffset,heightOffset:n=ip.arrowHeightOffset,stickyVerticalOffset:i=ip.stickyVerticalOffset,config:r}=t;return{northWestArrowSouthWest:(t,n)=>({top:o(t,n),left:t.left-e,name:"arrow_sw",...r&&{config:r}}),northWestArrowSouthMiddleWest:(t,n)=>({top:o(t,n),left:t.left-.25*n.width-e,name:"arrow_smw",...r&&{config:r}}),northWestArrowSouth:(t,e)=>({top:o(t,e),left:t.left-e.width/2,name:"arrow_s",...r&&{config:r}}),northWestArrowSouthMiddleEast:(t,n)=>({top:o(t,n),left:t.left-.75*n.width+e,name:"arrow_sme",...r&&{config:r}}),northWestArrowSouthEast:(t,n)=>({top:o(t,n),left:t.left-n.width+e,name:"arrow_se",...r&&{config:r}}),northArrowSouthWest:(t,n)=>({top:o(t,n),left:t.left+t.width/2-e,name:"arrow_sw",...r&&{config:r}}),northArrowSouthMiddleWest:(t,n)=>({top:o(t,n),left:t.left+t.width/2-.25*n.width-e,name:"arrow_smw",...r&&{config:r}}),northArrowSouth:(t,e)=>({top:o(t,e),left:t.left+t.width/2-e.width/2,name:"arrow_s",...r&&{config:r}}),northArrowSouthMiddleEast:(t,n)=>({top:o(t,n),left:t.left+t.width/2-.75*n.width+e,name:"arrow_sme",...r&&{config:r}}),northArrowSouthEast:(t,n)=>({top:o(t,n),left:t.left+t.width/2-n.width+e,name:"arrow_se",...r&&{config:r}}),northEastArrowSouthWest:(t,n)=>({top:o(t,n),left:t.right-e,name:"arrow_sw",...r&&{config:r}}),northEastArrowSouthMiddleWest:(t,n)=>({top:o(t,n),left:t.right-.25*n.width-e,name:"arrow_smw",...r&&{config:r}}),northEastArrowSouth:(t,e)=>({top:o(t,e),left:t.right-e.width/2,name:"arrow_s",...r&&{config:r}}),northEastArrowSouthMiddleEast:(t,n)=>({top:o(t,n),left:t.right-.75*n.width+e,name:"arrow_sme",...r&&{config:r}}),northEastArrowSouthEast:(t,n)=>({top:o(t,n),left:t.right-n.width+e,name:"arrow_se",...r&&{config:r}}),southWestArrowNorthWest:t=>({top:a(t),left:t.left-e,name:"arrow_nw",...r&&{config:r}}),southWestArrowNorthMiddleWest:(t,n)=>({top:a(t),left:t.left-.25*n.width-e,name:"arrow_nmw",...r&&{config:r}}),southWestArrowNorth:(t,e)=>({top:a(t),left:t.left-e.width/2,name:"arrow_n",...r&&{config:r}}),southWestArrowNorthMiddleEast:(t,n)=>({top:a(t),left:t.left-.75*n.width+e,name:"arrow_nme",...r&&{config:r}}),southWestArrowNorthEast:(t,n)=>({top:a(t),left:t.left-n.width+e,name:"arrow_ne",...r&&{config:r}}),southArrowNorthWest:t=>({top:a(t),left:t.left+t.width/2-e,name:"arrow_nw",...r&&{config:r}}),southArrowNorthMiddleWest:(t,n)=>({top:a(t),left:t.left+t.width/2-.25*n.width-e,name:"arrow_nmw",...r&&{config:r}}),southArrowNorth:(t,e)=>({top:a(t),left:t.left+t.width/2-e.width/2,name:"arrow_n",...r&&{config:r}}),southArrowNorthMiddleEast:(t,n)=>({top:a(t),left:t.left+t.width/2-.75*n.width+e,name:"arrow_nme",...r&&{config:r}}),southArrowNorthEast:(t,n)=>({top:a(t),left:t.left+t.width/2-n.width+e,name:"arrow_ne",...r&&{config:r}}),southEastArrowNorthWest:t=>({top:a(t),left:t.right-e,name:"arrow_nw",...r&&{config:r}}),southEastArrowNorthMiddleWest:(t,n)=>({top:a(t),left:t.right-.25*n.width-e,name:"arrow_nmw",...r&&{config:r}}),southEastArrowNorth:(t,e)=>({top:a(t),left:t.right-e.width/2,name:"arrow_n",...r&&{config:r}}),southEastArrowNorthMiddleEast:(t,n)=>({top:a(t),left:t.right-.75*n.width+e,name:"arrow_nme",...r&&{config:r}}),southEastArrowNorthEast:(t,n)=>({top:a(t),left:t.right-n.width+e,name:"arrow_ne",...r&&{config:r}}),westArrowEast:(t,e)=>({top:t.top+t.height/2-e.height/2,left:t.left-e.width-n,name:"arrow_e",...r&&{config:r}}),eastArrowWest:(t,e)=>({top:t.top+t.height/2-e.height/2,left:t.right+n,name:"arrow_w",...r&&{config:r}}),viewportStickyNorth:(t,e,n,o)=>{const a=o||n;return t.getIntersection(a)?a.height-t.height>i?null:{top:a.top+i,left:t.left+t.width/2-e.width/2,name:"arrowless",config:{withArrow:!1,...r}}:null}};function o(t,e){return t.top-e.height-n}function a(t){return t.bottom+n}}static arrowSideOffset=25;static arrowHeightOffset=10;static stickyVerticalOffset=20;static _getOptimalPosition=Dr;static defaultPositions=ip.generatePositions()}function rp(t){return U(t)?t:fr(t)?t.commonAncestorContainer:"function"==typeof t?rp(t()):null}var op=n(3610),ap={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(op.A,ap);op.A.locals;var sp=n(7218),cp={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(sp.A,cp);sp.A.locals;class lp extends af{constructor(t){super(t),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__separator"]}})}}class up extends af{constructor(t){super(t),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__line-break"]}})}}function hp(t){if(Array.isArray(t))return{items:t,removeItems:[]};const e={items:[],removeItems:[]};return t?{...e,...t}:e}var dp=n(9677),fp={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(dp.A,fp);dp.A.locals;const gp=(()=>({alignLeft:Ld.alignLeft,bold:Ld.bold,importExport:Ld.importExport,paragraph:Ld.paragraph,plus:Ld.plus,text:Ld.text,threeVerticalDots:Ld.threeVerticalDots,pilcrow:Ld.pilcrow,dragIndicator:Ld.dragIndicator}))();class pp extends af{options;items;focusTracker;keystrokes;itemsView;children;focusables;_focusCycler;_behavior;constructor(t,e){super(t);const n=this.bindTemplate,i=this.t;this.options=e||{},this.set("ariaLabel",i("Editor toolbar")),this.set("maxWidth","auto"),this.items=this.createCollection(),this.focusTracker=new Eo,this.keystrokes=new To,this.set("class",void 0),this.set("isCompact",!1),this.itemsView=new mp(t),this.children=this.createCollection(),this.children.add(this.itemsView),this.focusables=this.createCollection();const r="rtl"===t.uiLanguageDirection;this._focusCycler=new _f({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[r?"arrowright":"arrowleft","arrowup"],focusNext:[r?"arrowleft":"arrowright","arrowdown"]}});const o=["ck","ck-toolbar",n.to("class"),n.if("isCompact","ck-toolbar_compact")];var a;this.options.shouldGroupWhenFull&&this.options.isFloating&&o.push("ck-toolbar_floating"),this.setTemplate({tag:"div",attributes:{class:o,role:"toolbar","aria-label":n.to("ariaLabel"),style:{maxWidth:n.to("maxWidth")},tabindex:-1},children:this.children,on:{mousedown:(a=this,a.bindTemplate.to((t=>{t.target===a.element&&t.preventDefault()})))}}),this._behavior=this.options.shouldGroupWhenFull?new wp(this):new bp(this)}render(){super.render(),this.focusTracker.add(this.element);for(const t of this.items)this.focusTracker.add(t.element);this.items.on("add",((t,e)=>{this.focusTracker.add(e.element)})),this.items.on("remove",((t,e)=>{this.focusTracker.remove(e.element)})),this.keystrokes.listenTo(this.element),this._behavior.render(this)}destroy(){return this._behavior.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy(),super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(t,e,n){this.items.addMany(this._buildItemsFromConfig(t,e,n))}_buildItemsFromConfig(t,e,n){const i=hp(t),r=n||i.removeItems;return this._cleanItemsConfiguration(i.items,e,r).map((t=>a(t)?this._createNestedToolbarDropdown(t,e,r):"|"===t?new lp:"-"===t?new up:e.create(t))).filter((t=>!!t))}_cleanItemsConfiguration(t,e,n){const i=t.filter(((t,i,r)=>"|"===t||-1===n.indexOf(t)&&("-"===t?!this.options.shouldGroupWhenFull||(ki("toolbarview-line-break-ignored-when-grouping-items",r),!1):!(!a(t)&&!e.has(t))||(ki("toolbarview-item-unavailable",{item:t}),!1))));return this._cleanSeparatorsAndLineBreaks(i)}_cleanSeparatorsAndLineBreaks(t){const e=t=>"-"!==t&&"|"!==t,n=t.length,i=t.findIndex(e);if(-1===i)return[];const r=n-t.slice().reverse().findIndex(e);return t.slice(i,r).filter(((t,n,i)=>{if(e(t))return!0;return!(n>0&&i[n-1]===t)}))}_createNestedToolbarDropdown(t,e,n){let{label:i,icon:r,items:o,tooltip:a=!0,withText:s=!1}=t;if(o=this._cleanItemsConfiguration(o,e,n),!o.length)return null;const c=Ep(this.locale);return i||ki("toolbarview-nested-toolbar-dropdown-missing-label",t),c.class="ck-toolbar__nested-toolbar-dropdown",c.buttonView.set({label:i,tooltip:a,withText:!!s}),!1!==r?c.buttonView.icon=gp[r]||r||Ld.threeVerticalDots:c.buttonView.withText=!0,Tp(c,(()=>c.toolbarView._buildItemsFromConfig(o,e,n))),c}}class mp extends af{children;constructor(t){super(t),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-toolbar__items"]},children:this.children})}}class bp{constructor(t){const e=t.bindTemplate;t.set("isVertical",!1),t.itemsView.children.bindTo(t.items).using((t=>t)),t.focusables.bindTo(t.items).using((t=>Af(t)?t:null)),t.extendTemplate({attributes:{class:[e.if("isVertical","ck-toolbar_vertical")]}})}render(){}destroy(){}}class wp{view;viewChildren;viewFocusables;viewItemsView;viewFocusTracker;viewLocale;ungroupedItems;groupedItems;groupedItemsDropdown;resizeObserver=null;cachedPadding=null;shouldUpdateGroupingOnNextResize=!1;viewElement;constructor(t){this.view=t,this.viewChildren=t.children,this.viewFocusables=t.focusables,this.viewItemsView=t.itemsView,this.viewFocusTracker=t.focusTracker,this.viewLocale=t.locale,this.ungroupedItems=t.createCollection(),this.groupedItems=t.createCollection(),this.groupedItemsDropdown=this._createGroupedItemsDropdown(),t.itemsView.children.bindTo(this.ungroupedItems).using((t=>t)),this.ungroupedItems.on("change",this._updateFocusCyclableItems.bind(this)),t.children.on("change",this._updateFocusCyclableItems.bind(this)),t.items.on("change",((t,e)=>{const n=e.index,i=Array.from(e.added);for(const t of e.removed)n>=this.ungroupedItems.length?this.groupedItems.remove(t):this.ungroupedItems.remove(t);for(let t=n;tthis.ungroupedItems.length?this.groupedItems.add(e,t-this.ungroupedItems.length):this.ungroupedItems.add(e,t)}this._updateGrouping()})),t.extendTemplate({attributes:{class:["ck-toolbar_grouping"]}})}render(t){this.viewElement=t.element,this._enableGroupingOnResize(),this._enableGroupingOnMaxWidthChange(t)}destroy(){this.groupedItemsDropdown.destroy(),this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement))return;if(!Sr(this.viewElement))return void(this.shouldUpdateGroupingOnNextResize=!0);const t=this.groupedItems.length;let e;for(;this._areItemsOverflowing;)this._groupLastItem(),e=!0;if(!e&&this.groupedItems.length){for(;this.groupedItems.length&&!this._areItemsOverflowing;)this._ungroupFirstItem();this._areItemsOverflowing&&this._groupLastItem()}this.groupedItems.length!==t&&this.view.fire("groupedItemsUpdate")}get _areItemsOverflowing(){if(!this.ungroupedItems.length)return!1;const t=this.viewElement,e=this.viewLocale.uiLanguageDirection,n=new mr(t.lastChild),i=new mr(t);if(!this.cachedPadding){const n=Xn.window.getComputedStyle(t),i="ltr"===e?"paddingRight":"paddingLeft";this.cachedPadding=Number.parseInt(n[i])}return"ltr"===e?n.right>i.right-this.cachedPadding:n.left{t&&t===e.contentRect.width&&!this.shouldUpdateGroupingOnNextResize||(this.shouldUpdateGroupingOnNextResize=!1,this._updateGrouping(),t=e.contentRect.width)})),this._updateGrouping()}_enableGroupingOnMaxWidthChange(t){t.on("change:maxWidth",(()=>{this._updateGrouping()}))}_groupLastItem(){this.groupedItems.length||(this.viewChildren.add(new lp),this.viewChildren.add(this.groupedItemsDropdown),this.viewFocusTracker.add(this.groupedItemsDropdown.element)),this.groupedItems.add(this.ungroupedItems.remove(this.ungroupedItems.last),0)}_ungroupFirstItem(){this.ungroupedItems.add(this.groupedItems.remove(this.groupedItems.first)),this.groupedItems.length||(this.viewChildren.remove(this.groupedItemsDropdown),this.viewChildren.remove(this.viewChildren.last),this.viewFocusTracker.remove(this.groupedItemsDropdown.element))}_createGroupedItemsDropdown(){const t=this.viewLocale,e=t.t,n=Ep(t);return n.class="ck-toolbar__grouped-dropdown",n.panelPosition="ltr"===t.uiLanguageDirection?"sw":"se",Tp(n,this.groupedItems),n.buttonView.set({label:e("Show more items"),tooltip:!0,tooltipPosition:"rtl"===t.uiLanguageDirection?"se":"sw",icon:Ld.threeVerticalDots}),n}_updateFocusCyclableItems(){this.viewFocusables.clear(),this.ungroupedItems.map((t=>{Af(t)&&this.viewFocusables.add(t)})),this.groupedItems.length&&this.viewFocusables.add(this.groupedItemsDropdown)}}var kp=n(1792),vp={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(kp.A,vp);kp.A.locals;class yp extends af{children;actionView;arrowView;keystrokes;focusTracker;constructor(t,e){super(t);const n=this.bindTemplate;this.set("class",void 0),this.set("labelStyle",void 0),this.set("icon",void 0),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isToggleable",!1),this.set("isVisible",!0),this.set("keystroke",void 0),this.set("withKeystroke",!1),this.set("label",void 0),this.set("tabindex",-1),this.set("tooltip",!1),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.children=this.createCollection(),this.actionView=this._createActionView(e),this.arrowView=this._createArrowView(),this.keystrokes=new To,this.focusTracker=new Eo,this.setTemplate({tag:"div",attributes:{class:["ck","ck-splitbutton",n.to("class"),n.if("isVisible","ck-hidden",(t=>!t)),this.arrowView.bindTemplate.if("isOn","ck-splitbutton_open")]},children:this.children})}render(){super.render(),this.children.add(this.actionView),this.children.add(this.arrowView),this.focusTracker.add(this.actionView.element),this.focusTracker.add(this.arrowView.element),this.keystrokes.listenTo(this.element),this.keystrokes.set("arrowright",((t,e)=>{this.focusTracker.focusedElement===this.actionView.element&&(this.arrowView.focus(),e())})),this.keystrokes.set("arrowleft",((t,e)=>{this.focusTracker.focusedElement===this.arrowView.element&&(this.actionView.focus(),e())}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this.actionView.focus()}_createActionView(t){const e=t||new bf;return t||e.bind("icon","isEnabled","isOn","isToggleable","keystroke","label","tabindex","tooltip","tooltipPosition","type","withText").to(this),e.extendTemplate({attributes:{class:"ck-splitbutton__action"}}),e.delegate("execute").to(this),e}_createArrowView(){const t=new bf,e=t.bindTemplate;return t.icon=cg,t.extendTemplate({attributes:{class:["ck-splitbutton__arrow"],"data-cke-tooltip-disabled":e.to("isOn"),"aria-haspopup":!0,"aria-expanded":e.to("isOn",(t=>String(t)))}}),t.bind("isEnabled").to(this),t.bind("label").to(this),t.bind("tooltip").to(this),t.delegate("execute").to(this,"open"),t}}var _p=n(1666),Cp={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(_p.A,Cp);_p.A.locals;var Ap=n(3629),xp={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Ap.A,xp);Ap.A.locals;function Ep(t,e=$g){const n="function"==typeof e?new e(t):e,i=new Ng(t),r=new jg(t,n,i);return n.bind("isEnabled").to(r),n instanceof yp?n.arrowView.bind("isOn").to(r,"isOpen"):n.bind("isOn").to(r,"isOpen"),function(t){(function(t){sf({emitter:t,activator:()=>t.isRendered&&t.isOpen,callback:()=>{t.isOpen=!1},contextElements:()=>[t.element,...t.focusTracker.elements]})})(t),function(t){t.on("execute",(e=>{e.source instanceof ig||(t.isOpen=!1)}))}(t),function(t){t.focusTracker.on("change:isFocused",((e,n,i)=>{!i&&t.isOpen&&(t.isOpen=!1)}))}(t),function(t){t.keystrokes.set("arrowdown",((e,n)=>{t.isOpen&&(t.panelView.focus(),n())})),t.keystrokes.set("arrowup",((e,n)=>{t.isOpen&&(t.panelView.focusLast(),n())}))}(t),function(t){t.on("change:isOpen",((e,n,i)=>{if(i)return;t.focusTracker.elements.some((t=>t.contains(Xn.document.activeElement)))&&t.buttonView.focus()}))}(t),function(t){t.on("change:isOpen",((e,n,i)=>{i&&t.panelView.focus()}),{priority:"low"})}(t)}(r),r}function Tp(t,e,n={}){t.extendTemplate({attributes:{class:["ck-toolbar-dropdown"]}}),t.isOpen?Sp(t,e,n):t.once("change:isOpen",(()=>Sp(t,e,n)),{priority:"highest"}),n.enableActiveItemFocusOnDropdownOpen&&Bp(t,(()=>t.toolbarView.items.find((t=>t.isOn))))}function Sp(t,e,n){const i=t.locale,r=i.t,o=t.toolbarView=new pp(i),a="function"==typeof e?e():e;o.ariaLabel=n.ariaLabel||r("Dropdown toolbar"),n.maxWidth&&(o.maxWidth=n.maxWidth),n.class&&(o.class=n.class),n.isCompact&&(o.isCompact=n.isCompact),n.isVertical&&(o.isVertical=!0),a instanceof Od?o.items.bindTo(a).using((t=>t)):o.items.addMany(a),t.panelView.children.add(o),o.items.delegate("execute").to(t)}function Dp(t,e,n={}){t.isOpen?Ip(t,e,n):t.once("change:isOpen",(()=>Ip(t,e,n)),{priority:"highest"}),Bp(t,(()=>t.listView.items.find((t=>t instanceof Ug&&t.children.first.isOn))))}function Ip(t,e,n){const i=t.locale,r=t.listView=new Xg(i),o="function"==typeof e?e():e;r.ariaLabel=n.ariaLabel,r.role=n.role,Mp(t,r.items,o,i),t.panelView.children.add(r),r.items.delegate("execute").to(t)}function Bp(t,e){t.on("change:isOpen",(()=>{if(!t.isOpen)return;const n=e();n&&("function"==typeof n.focus?n.focus():ki("ui-dropdown-focus-child-on-open-child-missing-focus",{view:n}))}),{priority:mi.low-10})}function Mp(t,e,n,i){e.on("change",(()=>{const t=[...e].reduce(((t,e)=>(e instanceof Ug&&e.children.first instanceof qf&&t.push(e.children.first),t)),[]),n=t.some((t=>t.isToggleable));t.forEach((t=>{t.hasCheckSpace=n}))})),e.bindTo(n).using((e=>{if("separator"===e.type)return new Gg(i);if("group"===e.type){const n=new Wg(i);return n.set({label:e.label}),Mp(t,n.items,e.items,i),n.items.delegate("execute").to(t),n}if("button"===e.type||"switchbutton"===e.type){const t="menuitemcheckbox"===e.model.role||"menuitemradio"===e.model.role,n=new Ug(i);let r;return"button"===e.type?(r=new qf(i),r.set({isToggleable:t})):r=new ig(i),r.bind(...Object.keys(e.model)).to(e.model),r.delegate("execute").to(n),n.children.add(r),n}return null}))}const Pp=(t,e,n)=>{const i=new Mg(t.locale);return i.set({id:e,ariaDescribedById:n}),i.bind("isReadOnly").to(t,"isEnabled",(t=>!t)),i.bind("hasError").to(t,"errorText",(t=>!!t)),i.on("input",(()=>{t.errorText=null})),t.bind("isEmpty","isFocused","placeholder").to(i),i},Lp=(t,e,n)=>{const i=new Pg(t.locale);return i.set({id:e,ariaDescribedById:n,inputMode:"numeric"}),i.bind("isReadOnly").to(t,"isEnabled",(t=>!t)),i.bind("hasError").to(t,"errorText",(t=>!!t)),i.on("input",(()=>{t.errorText=null})),t.bind("isEmpty","isFocused","placeholder").to(i),i},Op=(t,e,n)=>{const i=Ep(t.locale);return i.set({id:e,ariaDescribedById:n}),i.bind("isEnabled").to(t),i},Np=(t,e=0,n=1)=>t>n?n:tMath.round(n*t)/n,Fp=(Math.PI,t=>("#"===t[0]&&(t=t.substring(1)),t.length<6?{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16),a:4===t.length?Rp(parseInt(t[3]+t[3],16)/255,2):1}:{r:parseInt(t.substring(0,2),16),g:parseInt(t.substring(2,4),16),b:parseInt(t.substring(4,6),16),a:8===t.length?Rp(parseInt(t.substring(6,8),16)/255,2):1})),jp=({h:t,s:e,v:n,a:i})=>{const r=(200-e)*n/100;return{h:Rp(t),s:Rp(r>0&&r<200?e*n/100/(r<=100?r:200-r)*100:0),l:Rp(r/2),a:Rp(i,2)}},$p=t=>{const{h:e,s:n,l:i}=jp(t);return`hsl(${e}, ${n}%, ${i}%)`},zp=({h:t,s:e,v:n,a:i})=>{t=t/360*6,e/=100,n/=100;const r=Math.floor(t),o=n*(1-e),a=n*(1-(t-r)*e),s=n*(1-(1-t+r)*e),c=r%6;return{r:Rp(255*[n,a,o,o,s,n][c]),g:Rp(255*[s,n,n,a,o,o][c]),b:Rp(255*[o,o,s,n,n,a][c]),a:Rp(i,2)}},Vp=t=>{const e=t.toString(16);return e.length<2?"0"+e:e},Hp=({r:t,g:e,b:n,a:i})=>{const r=i<1?Vp(Rp(255*i)):"";return"#"+Vp(t)+Vp(e)+Vp(n)+r},qp=({r:t,g:e,b:n,a:i})=>{const r=Math.max(t,e,n),o=r-Math.min(t,e,n),a=o?r===t?(e-n)/o:r===e?2+(n-t)/o:4+(t-e)/o:0;return{h:Rp(60*(a<0?a+6:a)),s:Rp(r?o/r*100:0),v:Rp(r/255*100),a:i}},Up=(t,e)=>{if(t===e)return!0;for(const n in t)if(t[n]!==e[n])return!1;return!0},Gp={},Wp=t=>{let e=Gp[t];return e||(e=document.createElement("template"),e.innerHTML=t,Gp[t]=e),e},Kp=(t,e,n)=>{t.dispatchEvent(new CustomEvent(e,{bubbles:!0,detail:n}))};let Yp=!1;const Xp=t=>"touches"in t,Zp=(t,e)=>{const n=Xp(e)?e.touches[0]:e,i=t.el.getBoundingClientRect();Kp(t.el,"move",t.getMove({x:Np((n.pageX-(i.left+window.pageXOffset))/i.width),y:Np((n.pageY-(i.top+window.pageYOffset))/i.height)}))};class Qp{constructor(t,e,n,i){const r=Wp(`
`);t.appendChild(r.content.cloneNode(!0));const o=t.querySelector(`[part=${e}]`);o.addEventListener("mousedown",this),o.addEventListener("touchstart",this),o.addEventListener("keydown",this),this.el=o,this.xy=i,this.nodes=[o.firstChild,o]}set dragging(t){const e=t?document.addEventListener:document.removeEventListener;e(Yp?"touchmove":"mousemove",this),e(Yp?"touchend":"mouseup",this)}handleEvent(t){switch(t.type){case"mousedown":case"touchstart":if(t.preventDefault(),!(t=>!(Yp&&!Xp(t)||(Yp||(Yp=Xp(t)),0)))(t)||!Yp&&0!=t.button)return;this.el.focus(),Zp(this,t),this.dragging=!0;break;case"mousemove":case"touchmove":t.preventDefault(),Zp(this,t);break;case"mouseup":case"touchend":this.dragging=!1;break;case"keydown":((t,e)=>{const n=e.keyCode;n>40||t.xy&&n<37||n<33||(e.preventDefault(),Kp(t.el,"move",t.getMove({x:39===n?.01:37===n?-.01:34===n?.05:33===n?-.05:35===n?1:36===n?-1:0,y:40===n?.01:38===n?-.01:0},!0)))})(this,t)}}style(t){t.forEach(((t,e)=>{for(const n in t)this.nodes[e].style.setProperty(n,t[n])}))}}class Jp extends Qp{constructor(t){super(t,"hue",'aria-label="Hue" aria-valuemin="0" aria-valuemax="360"',!1)}update({h:t}){this.h=t,this.style([{left:t/360*100+"%",color:$p({h:t,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuenow",`${Rp(t)}`)}getMove(t,e){return{h:e?Np(this.h+360*t.x,0,360):360*t.x}}}class tm extends Qp{constructor(t){super(t,"saturation",'aria-label="Color"',!0)}update(t){this.hsva=t,this.style([{top:100-t.v+"%",left:`${t.s}%`,color:$p(t)},{"background-color":$p({h:t.h,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuetext",`Saturation ${Rp(t.s)}%, Brightness ${Rp(t.v)}%`)}getMove(t,e){return{s:e?Np(this.hsva.s+100*t.x,0,100):100*t.x,v:e?Np(this.hsva.v-100*t.y,0,100):Math.round(100-100*t.y)}}}const em=Symbol("same"),nm=Symbol("color"),im=Symbol("hsva"),rm=Symbol("update"),om=Symbol("parts"),am=Symbol("css"),sm=Symbol("sliders");class cm extends HTMLElement{static get observedAttributes(){return["color"]}get[am](){return[':host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;display:flex;place-content:center center;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{content:"";width:100%;height:100%;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}',"[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}","[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}"]}get[sm](){return[tm,Jp]}get color(){return this[nm]}set color(t){if(!this[em](t)){const e=this.colorModel.toHsva(t);this[rm](e),this[nm]=t}}constructor(){super();const t=Wp(``),e=this.attachShadow({mode:"open"});e.appendChild(t.content.cloneNode(!0)),e.addEventListener("move",this),this[om]=this[sm].map((t=>new t(e)))}connectedCallback(){if(this.hasOwnProperty("color")){const t=this.color;delete this.color,this.color=t}else this.color||(this.color=this.colorModel.defaultColor)}attributeChangedCallback(t,e,n){const i=this.colorModel.fromAttr(n);this[em](i)||(this.color=i)}handleEvent(t){const e=this[im],n={...e,...t.detail};let i;this[rm](n),Up(n,e)||this[em](i=this.colorModel.fromHsva(n))||(this[nm]=i,Kp(this,"color-changed",{value:i}))}[em](t){return this.color&&this.colorModel.equal(t,this.color)}[rm](t){this[im]=t,this[om].forEach((e=>e.update(t)))}}const lm={defaultColor:"#000",toHsva:t=>qp(Fp(t)),fromHsva:({h:t,s:e,v:n})=>Hp(zp({h:t,s:e,v:n,a:1})),equal:(t,e)=>t.toLowerCase()===e.toLowerCase()||Up(Fp(t),Fp(e)),fromAttr:t=>t};class um extends cm{get colorModel(){return lm}}var hm=n(1905),dm={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(hm.A,dm);hm.A.locals;class fm extends af{hexInputRow;_debounceColorPickerEvent;_config;constructor(t,e={}){super(t),this.set({color:"",_hexColor:""}),this.hexInputRow=this._createInputRow();const n=this.createCollection();e.hideInput||n.add(this.hexInputRow),this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker"],tabindex:-1},children:n}),this._config=e,this._debounceColorPickerEvent=L((t=>{this.set("color",t),this.fire("colorSelected",{color:this.color})}),150,{leading:!0}),this.on("set:color",((t,e,n)=>{t.return=Cg(n,this._config.format||"hsl")})),this.on("change:color",(()=>{this._hexColor=gm(this.color)})),this.on("change:_hexColor",(()=>{document.activeElement!==this.picker&&this.picker.setAttribute("color",this._hexColor),gm(this.color)!=gm(this._hexColor)&&(this.color=this._hexColor)}))}render(){var t,e;if(super.render(),t="hex-color-picker",e=um,void 0===customElements.get(t)&&customElements.define(t,e),this.picker=Xn.document.createElement("hex-color-picker"),this.picker.setAttribute("class","hex-color-picker"),this.picker.setAttribute("tabindex","-1"),this._createSlidersView(),this.element){this.hexInputRow.element?this.element.insertBefore(this.picker,this.hexInputRow.element):this.element.appendChild(this.picker);const t=document.createElement("style");t.textContent='[role="slider"]:focus [part$="pointer"] {border: 1px solid #fff;outline: 1px solid var(--ck-color-focus-border);box-shadow: 0 0 0 2px #fff;}',this.picker.shadowRoot.appendChild(t)}this.picker.addEventListener("color-changed",(t=>{const e=t.detail.value;this._debounceColorPickerEvent(e)}))}focus(){if(!this._config.hideInput&&(Jn.isGecko||Jn.isiOS||Jn.isSafari)){this.hexInputRow.children.get(1).focus()}this.slidersView.first.focus()}_createSlidersView(){const t=[...this.picker.shadowRoot.children].filter((t=>"slider"===t.getAttribute("role"))).map((t=>new pm(t)));this.slidersView=this.createCollection(),t.forEach((t=>{this.slidersView.add(t)}))}_createInputRow(){const t=this._createColorInput();return new bm(this.locale,t)}_createColorInput(){const t=new Tg(this.locale,Pp),{t:e}=this.locale;return t.set({label:e("HEX"),class:"color-picker-hex-input"}),t.fieldView.bind("value").to(this,"_hexColor",(e=>t.isFocused?t.fieldView.value:e.startsWith("#")?e.substring(1):e)),t.fieldView.on("input",(()=>{const e=t.fieldView.element.value;if(e){const t=wm(e);t&&this._debounceColorPickerEvent(t)}})),t}isValid(){const{t}=this.locale;return!!this._config.hideInput||(this.resetValidationStatus(),!!this.hexInputRow.getParsedColor()||(this.hexInputRow.inputView.errorText=t('Please enter a valid color (e.g. "ff0000").'),!1))}resetValidationStatus(){this.hexInputRow.inputView.errorText=null}}function gm(t){let e=function(t){if(!t)return"";const e=Ag(t);return e?"hex"===e.space?e.hexValue:Cg(t,"hex"):"#000"}(t);return e||(e="#000"),4===e.length&&(e="#"+[e[1],e[1],e[2],e[2],e[3],e[3]].join("")),e.toLowerCase()}class pm extends af{constructor(t){super(),this.element=t}focus(){this.element.focus()}}class mm extends af{constructor(t){super(t),this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker__hash-view"]},children:"#"})}}class bm extends af{children;inputView;constructor(t,e){super(t),this.inputView=e,this.children=this.createCollection([new mm,this.inputView]),this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker__row"]},children:this.children})}getParsedColor(){return wm(this.inputView.fieldView.element.value)}}function wm(t){if(!t)return null;const e=t.trim().replace(/^#/,"");return[3,4,6,8].includes(e.length)&&/^(([0-9a-fA-F]{2}){3,4}|([0-9a-fA-F]){3,4})$/.test(e)?`#${e}`:null}class km extends(Vi(Ao)){constructor(t){super(t),this.set("isEmpty",!0),this.on("change",(()=>{this.set("isEmpty",0===this.length)}))}add(t,e){return this.find((e=>e.color===t.color))?this:super.add(t,e)}hasColor(t){return!!this.find((e=>e.color===t))}}class vm extends af{items;colorDefinitions;focusTracker;columns;documentColors;documentColorsCount;staticColorsGrid;documentColorsGrid;colorPickerButtonView;removeColorButtonView;_focusables;_documentColorsLabel;_removeButtonLabel;_colorPickerLabel;constructor(t,{colors:e,columns:n,removeButtonLabel:i,documentColorsLabel:r,documentColorsCount:o,colorPickerLabel:a,focusTracker:s,focusables:c}){super(t);const l=this.bindTemplate;this.set("isVisible",!0),this.focusTracker=s,this.items=this.createCollection(),this.colorDefinitions=e,this.columns=n,this.documentColors=new km,this.documentColorsCount=o,this._focusables=c,this._removeButtonLabel=i,this._colorPickerLabel=a,this._documentColorsLabel=r,this.setTemplate({tag:"div",attributes:{class:["ck-color-grids-fragment",l.if("isVisible","ck-hidden",(t=>!t))]},children:this.items}),this.removeColorButtonView=this._createRemoveColorButton(),this.items.add(this.removeColorButtonView)}updateDocumentColors(t,e){const n=t.document,i=this.documentColorsCount;this.documentColors.clear();for(const r of n.getRoots()){const n=t.createRangeIn(r);for(const t of n.getItems())if(t.is("$textProxy")&&t.hasAttribute(e)&&(this._addColorToDocumentColors(t.getAttribute(e)),this.documentColors.length>=i))return}}updateSelectedColors(){const t=this.documentColorsGrid,e=this.staticColorsGrid,n=this.selectedColor;e.selectedColor=n,t&&(t.selectedColor=n)}render(){if(super.render(),this.staticColorsGrid=this._createStaticColorsGrid(),this.items.add(this.staticColorsGrid),this.documentColorsCount){const t=Nd.bind(this.documentColors,this.documentColors),e=new af(this.locale);e.setTemplate({tag:"span",attributes:{class:["ck","ck-color-grid__label",t.if("isEmpty","ck-hidden")]},children:[{text:this._documentColorsLabel}]}),this.items.add(e),this.documentColorsGrid=this._createDocumentColorsGrid(),this.items.add(this.documentColorsGrid)}this._createColorPickerButton(),this._addColorSelectorElementsToFocusTracker()}focus(){this.removeColorButtonView.focus()}destroy(){super.destroy()}addColorPickerButton(){this.colorPickerButtonView&&(this.items.add(this.colorPickerButtonView),this.focusTracker.add(this.colorPickerButtonView.element),this._focusables.add(this.colorPickerButtonView))}_addColorSelectorElementsToFocusTracker(){this.focusTracker.add(this.removeColorButtonView.element),this._focusables.add(this.removeColorButtonView),this.staticColorsGrid&&(this.focusTracker.add(this.staticColorsGrid.element),this._focusables.add(this.staticColorsGrid)),this.documentColorsGrid&&(this.focusTracker.add(this.documentColorsGrid.element),this._focusables.add(this.documentColorsGrid))}_createColorPickerButton(){this.colorPickerButtonView=new bf,this.colorPickerButtonView.set({label:this._colorPickerLabel,withText:!0,icon:Ld.colorPalette,class:"ck-color-selector__color-picker"}),this.colorPickerButtonView.on("execute",(()=>{this.fire("colorPicker:show")}))}_createRemoveColorButton(){const t=new bf;return t.set({withText:!0,icon:Ld.eraser,label:this._removeButtonLabel}),t.class="ck-color-selector__remove-color",t.on("execute",(()=>{this.fire("execute",{value:null,source:"removeColorButton"})})),t.render(),t}_createStaticColorsGrid(){const t=new wg(this.locale,{colorDefinitions:this.colorDefinitions,columns:this.columns});return t.on("execute",((t,e)=>{this.fire("execute",{value:e.value,source:"staticColorsGrid"})})),t}_createDocumentColorsGrid(){const t=Nd.bind(this.documentColors,this.documentColors),e=new wg(this.locale,{columns:this.columns});return e.extendTemplate({attributes:{class:t.if("isEmpty","ck-hidden")}}),e.items.bindTo(this.documentColors).using((t=>{const e=new pg;return e.set({color:t.color,hasBorder:t.options&&t.options.hasBorder}),t.label&&e.set({label:t.label,tooltip:!0}),e.on("execute",(()=>{this.fire("execute",{value:t.color,source:"documentColorsGrid"})})),e})),this.documentColors.on("change:isEmpty",((t,n,i)=>{i&&(e.selectedColor=null)})),e}_addColorToDocumentColors(t){const e=this.colorDefinitions.find((e=>e.color===t));e?this.documentColors.add(Object.assign({},e)):this.documentColors.add({color:t,label:t,options:{hasBorder:!1}})}}class ym extends af{items;colorPickerView;saveButtonView;cancelButtonView;actionBarView;focusTracker;keystrokes;_focusables;_colorPickerViewConfig;constructor(t,{focusTracker:e,focusables:n,keystrokes:i,colorPickerViewConfig:r}){super(t),this.items=this.createCollection(),this.focusTracker=e,this.keystrokes=i,this.set("isVisible",!1),this.set("selectedColor",void 0),this._focusables=n,this._colorPickerViewConfig=r;const o=this.bindTemplate,{saveButtonView:a,cancelButtonView:s}=this._createActionButtons();this.saveButtonView=a,this.cancelButtonView=s,this.actionBarView=this._createActionBarView({saveButtonView:a,cancelButtonView:s}),this.setTemplate({tag:"div",attributes:{class:["ck-color-picker-fragment",o.if("isVisible","ck-hidden",(t=>!t))]},children:this.items})}render(){super.render();const t=new fm(this.locale,{...this._colorPickerViewConfig});this.colorPickerView=t,this.colorPickerView.render(),this.selectedColor&&(t.color=this.selectedColor),this.listenTo(this,"change:selectedColor",((e,n,i)=>{t.color=i})),this.items.add(this.colorPickerView),this.items.add(this.actionBarView),this._addColorPickersElementsToFocusTracker(),this._stopPropagationOnArrowsKeys(),this._executeOnEnterPress(),this._executeUponColorChange()}destroy(){super.destroy()}focus(){this.colorPickerView.focus()}resetValidationStatus(){this.colorPickerView.resetValidationStatus()}_executeOnEnterPress(){this.keystrokes.set("enter",(t=>{this.isVisible&&this.focusTracker.focusedElement!==this.cancelButtonView.element&&this.colorPickerView.isValid()&&(this.fire("execute",{value:this.selectedColor}),t.stopPropagation(),t.preventDefault())}))}_stopPropagationOnArrowsKeys(){const t=t=>t.stopPropagation();this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t)}_addColorPickersElementsToFocusTracker(){for(const t of this.colorPickerView.slidersView)this.focusTracker.add(t.element),this._focusables.add(t);const t=this.colorPickerView.hexInputRow.children.get(1);t.element&&(this.focusTracker.add(t.element),this._focusables.add(t)),this.focusTracker.add(this.saveButtonView.element),this._focusables.add(this.saveButtonView),this.focusTracker.add(this.cancelButtonView.element),this._focusables.add(this.cancelButtonView)}_createActionBarView({saveButtonView:t,cancelButtonView:e}){const n=new af,i=this.createCollection();return i.add(t),i.add(e),n.setTemplate({tag:"div",attributes:{class:["ck","ck-color-selector_action-bar"]},children:i}),n}_createActionButtons(){const t=this.locale,e=t.t,n=new bf(t),i=new bf(t);return n.set({icon:Ld.check,class:"ck-button-save",type:"button",withText:!1,label:e("Accept")}),i.set({icon:Ld.cancel,class:"ck-button-cancel",type:"button",withText:!1,label:e("Cancel")}),n.on("execute",(()=>{this.colorPickerView.isValid()&&this.fire("execute",{source:"colorPickerSaveButton",value:this.selectedColor})})),i.on("execute",(()=>{this.fire("colorPicker:cancel")})),{saveButtonView:n,cancelButtonView:i}}_executeUponColorChange(){this.colorPickerView.on("colorSelected",((t,e)=>{this.fire("execute",{value:e.color,source:"colorPicker"}),this.set("selectedColor",e.color)}))}}var _m=n(6309),Cm={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(_m.A,Cm);_m.A.locals;class Am extends af{focusTracker;keystrokes;items;colorGridsFragmentView;colorPickerFragmentView;_focusCycler;_focusables;_colorPickerViewConfig;constructor(t,{colors:e,columns:n,removeButtonLabel:i,documentColorsLabel:r,documentColorsCount:o,colorPickerLabel:a,colorPickerViewConfig:s}){super(t),this.items=this.createCollection(),this.focusTracker=new Eo,this.keystrokes=new To,this._focusables=new Od,this._colorPickerViewConfig=s,this._focusCycler=new _f({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.colorGridsFragmentView=new vm(t,{colors:e,columns:n,removeButtonLabel:i,documentColorsLabel:r,documentColorsCount:o,colorPickerLabel:a,focusTracker:this.focusTracker,focusables:this._focusables}),this.colorPickerFragmentView=new ym(t,{focusables:this._focusables,focusTracker:this.focusTracker,keystrokes:this.keystrokes,colorPickerViewConfig:s}),this.set("_isColorGridsFragmentVisible",!0),this.set("_isColorPickerFragmentVisible",!1),this.set("selectedColor",void 0),this.colorGridsFragmentView.bind("isVisible").to(this,"_isColorGridsFragmentVisible"),this.colorPickerFragmentView.bind("isVisible").to(this,"_isColorPickerFragmentVisible"),this.on("change:selectedColor",((t,e,n)=>{this.colorGridsFragmentView.set("selectedColor",n),this.colorPickerFragmentView.set("selectedColor",n)})),this.colorGridsFragmentView.on("change:selectedColor",((t,e,n)=>{this.set("selectedColor",n)})),this.colorPickerFragmentView.on("change:selectedColor",((t,e,n)=>{this.set("selectedColor",n)})),this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-selector"]},children:this.items})}render(){super.render(),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}appendUI(){this._appendColorGridsFragment(),this._colorPickerViewConfig&&this._appendColorPickerFragment()}showColorPickerFragment(){this.colorPickerFragmentView.colorPickerView&&!this._isColorPickerFragmentVisible&&(this._isColorPickerFragmentVisible=!0,this.colorPickerFragmentView.focus(),this.colorPickerFragmentView.resetValidationStatus(),this._isColorGridsFragmentVisible=!1)}showColorGridsFragment(){this._isColorGridsFragmentVisible||(this._isColorGridsFragmentVisible=!0,this.colorGridsFragmentView.focus(),this._isColorPickerFragmentVisible=!1)}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}updateDocumentColors(t,e){this.colorGridsFragmentView.updateDocumentColors(t,e)}updateSelectedColors(){this.colorGridsFragmentView.updateSelectedColors()}_appendColorGridsFragment(){this.items.length||(this.items.add(this.colorGridsFragmentView),this.colorGridsFragmentView.delegate("execute").to(this),this.colorGridsFragmentView.delegate("colorPicker:show").to(this))}_appendColorPickerFragment(){2!==this.items.length&&(this.items.add(this.colorPickerFragmentView),this.colorGridsFragmentView.colorPickerButtonView&&this.colorGridsFragmentView.colorPickerButtonView.on("execute",(()=>{this.showColorPickerFragment()})),this.colorGridsFragmentView.addColorPickerButton(),this.colorPickerFragmentView.delegate("execute").to(this),this.colorPickerFragmentView.delegate("colorPicker:cancel").to(this))}}class xm{editor;_components=new Map;constructor(t){this.editor=t}*names(){for(const t of this._components.values())yield t.originalName}add(t,e){this._components.set(Em(t),{callback:e,originalName:t})}create(t){if(!this.has(t))throw new wi("componentfactory-item-missing",this,{name:t});return this._components.get(Em(t)).callback(this.editor.locale)}has(t){return this._components.has(Em(t))}}function Em(t){return String(t).toLowerCase()}var Tm=n(9205),Sm={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Tm.A,Sm);Tm.A.locals;const Dm="ck-tooltip";class Im extends(or()){tooltipTextView;balloonPanelView;static defaultBalloonPositions=ip.generatePositions({heightOffset:5,sideOffset:13});_currentElementWithTooltip=null;_currentTooltipPosition=null;_mutationObserver=null;_pinTooltipDebounced;_unpinTooltipDebounced;_watchdogExcluded;static _editors=new Set;static _instance=null;constructor(t){if(super(),Im._editors.add(t),Im._instance)return Im._instance;Im._instance=this,this.tooltipTextView=new af(t.locale),this.tooltipTextView.set("text",""),this.tooltipTextView.setTemplate({tag:"span",attributes:{class:["ck","ck-tooltip__text"]},children:[{text:this.tooltipTextView.bindTemplate.to("text")}]}),this.balloonPanelView=new ip(t.locale),this.balloonPanelView.class=Dm,this.balloonPanelView.content.add(this.tooltipTextView),this._mutationObserver=function(t){const e=new MutationObserver((()=>{t()}));return{attach(t){e.observe(t,{attributes:!0,attributeFilter:["data-cke-tooltip-text","data-cke-tooltip-position"]})},detach(){e.disconnect()}}}((()=>{this._updateTooltipPosition()})),this._pinTooltipDebounced=L(this._pinTooltip,600),this._unpinTooltipDebounced=L(this._unpinTooltip,400),this.listenTo(Xn.document,"keydown",this._onKeyDown.bind(this),{useCapture:!0}),this.listenTo(Xn.document,"mouseenter",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(Xn.document,"mouseleave",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(Xn.document,"focus",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(Xn.document,"blur",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(Xn.document,"scroll",this._onScroll.bind(this),{useCapture:!0}),this._watchdogExcluded=!0}destroy(t){const e=t.ui.view&&t.ui.view.body;Im._editors.delete(t),this.stopListening(t.ui),e&&e.has(this.balloonPanelView)&&e.remove(this.balloonPanelView),Im._editors.size||(this._unpinTooltip(),this.balloonPanelView.destroy(),this.stopListening(),Im._instance=null)}static getPositioningFunctions(t){const e=Im.defaultBalloonPositions;return{s:[e.southArrowNorth,e.southArrowNorthEast,e.southArrowNorthWest],n:[e.northArrowSouth],e:[e.eastArrowWest],w:[e.westArrowEast],sw:[e.southArrowNorthEast],se:[e.southArrowNorthWest]}[t]}_onKeyDown(t,e){"Escape"===e.key&&this._currentElementWithTooltip&&(this._unpinTooltip(),e.stopPropagation())}_onEnterOrFocus(t,{target:e}){const n=Bm(e);n?n!==this._currentElementWithTooltip&&(this._unpinTooltip(),"focus"!==t.name||n.matches(":hover")?this._pinTooltipDebounced(n,Mm(n)):this._pinTooltip(n,Mm(n))):"focus"===t.name&&this._unpinTooltip()}_onLeaveOrBlur(t,{target:e,relatedTarget:n}){if("mouseleave"===t.name){if(!U(e))return;const t=this.balloonPanelView.element,i=t&&(t===n||t.contains(n)),r=!i&&e===t;if(i)return void this._unpinTooltipDebounced.cancel();if(!r&&this._currentElementWithTooltip&&e!==this._currentElementWithTooltip)return;const o=Bm(e),a=Bm(n);(r||o&&o!==a)&&this._unpinTooltipDebounced()}else{if(this._currentElementWithTooltip&&e!==this._currentElementWithTooltip)return;this._unpinTooltipDebounced()}}_onScroll(t,{target:e}){this._currentElementWithTooltip&&(e.contains(this.balloonPanelView.element)&&e.contains(this._currentElementWithTooltip)||this._unpinTooltip())}_pinTooltip(t,{text:e,position:n,cssClass:i}){this._unpinTooltip();const r=xo(Im._editors.values()).ui.view.body;r.has(this.balloonPanelView)||r.add(this.balloonPanelView),this.tooltipTextView.text=e,this.balloonPanelView.class=[Dm,i].filter((t=>t)).join(" "),this.balloonPanelView.pin({target:t,positions:Im.getPositioningFunctions(n)}),this._mutationObserver.attach(t);for(const t of Im._editors)this.listenTo(t.ui,"update",this._updateTooltipPosition.bind(this),{priority:"low"});this._currentElementWithTooltip=t,this._currentTooltipPosition=n}_unpinTooltip(){this._unpinTooltipDebounced.cancel(),this._pinTooltipDebounced.cancel(),this.balloonPanelView.unpin();for(const t of Im._editors)this.stopListening(t.ui,"update");this._currentElementWithTooltip=null,this._currentTooltipPosition=null,this.tooltipTextView.text="",this._mutationObserver.detach()}_updateTooltipPosition(){if(!this._currentElementWithTooltip)return;const t=Mm(this._currentElementWithTooltip);Sr(this._currentElementWithTooltip)&&t.text?this.balloonPanelView.pin({target:this._currentElementWithTooltip,positions:Im.getPositioningFunctions(t.position)}):this._unpinTooltip()}}function Bm(t){return U(t)?t.closest("[data-cke-tooltip-text]:not([data-cke-tooltip-disabled])"):null}function Mm(t){return{text:t.dataset.ckeTooltipText,position:t.dataset.ckeTooltipPosition||"s",cssClass:t.dataset.ckeTooltipClass||""}}class Pm extends(or()){editor;_balloonView;_showBalloonThrottled;_lastFocusedEditableElement;constructor(t){super(),this.editor=t,this._balloonView=null,this._lastFocusedEditableElement=null,this._showBalloonThrottled=O(this._showBalloon.bind(this),50,{leading:!0}),t.on("ready",this._handleEditorReady.bind(this))}destroy(){const t=this._balloonView;t&&(t.unpin(),this._balloonView=null),this._showBalloonThrottled.cancel(),this.stopListening()}_handleEditorReady(){const t=this.editor;(!!t.config.get("ui.poweredBy.forceVisible")||"VALID"!==function(t){function e(t){return t.length>=40&&t.length<=255?"VALID":"INVALID"}if(!t)return"INVALID";let n="";try{n=atob(t)}catch(t){return"INVALID"}const i=n.split("-"),r=i[0],o=i[1];if(!o)return e(t);try{atob(o)}catch(n){try{if(atob(r),!atob(r).length)return e(t)}catch(n){return e(t)}}if(r.length<40||r.length>255)return"INVALID";let a="";try{atob(r),a=atob(o)}catch(t){return"INVALID"}if(8!==a.length)return"INVALID";const s=Number(a.substring(0,4)),c=Number(a.substring(4,6))-1,l=Number(a.substring(6,8)),u=new Date(s,c,l);return u{this._updateLastFocusedEditableElement(),n?this._showBalloon():this._hideBalloon()})),t.ui.focusTracker.on("change:focusedElement",((t,e,n)=>{this._updateLastFocusedEditableElement(),n&&this._showBalloon()})),t.ui.on("update",(()=>{this._showBalloonThrottled()})))}_createBalloonView(){const t=this.editor,e=this._balloonView=new ip,n=Nm(t),i=new Lm(t.locale,n.label);e.content.add(i),e.set({class:"ck-powered-by-balloon"}),t.ui.view.body.add(e),this._balloonView=e}_showBalloon(){if(!this._lastFocusedEditableElement)return;const t=function(t,e){const n=Nm(t),i="right"===n.side?function(t,e){return Om(t,e,((t,n)=>t.left+t.width-n.width-e.horizontalOffset))}(e,n):function(t,e){return Om(t,e,(t=>t.left+e.horizontalOffset))}(e,n);return{target:e,positions:[i]}}(this.editor,this._lastFocusedEditableElement);t&&(this._balloonView||this._createBalloonView(),this._balloonView.pin(t))}_hideBalloon(){this._balloonView&&this._balloonView.unpin()}_updateLastFocusedEditableElement(){const t=this.editor,e=t.ui.focusTracker.isFocused,n=t.ui.focusTracker.focusedElement;if(!e||!n)return void(this._lastFocusedEditableElement=null);const i=Array.from(t.ui.getEditableElementsNames()).map((e=>t.ui.getEditableElement(e)));i.includes(n)?this._lastFocusedEditableElement=n:this._lastFocusedEditableElement=i[0]}}class Lm extends af{constructor(t,e){super(t);const n=new ff,i=this.bindTemplate;n.set({content:'\n',isColorInherited:!1}),n.extendTemplate({attributes:{style:{width:"53px",height:"10px"}}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-powered-by"],"aria-hidden":!0},children:[{tag:"a",attributes:{href:"https://ckeditor.com/powered-by-ckeditor/?utm_source=ckeditor&utm_medium=referral&utm_campaign=701Dn000000hVgmIAE_powered_by_ckeditor_logo",target:"_blank",tabindex:"-1"},children:[...e?[{tag:"span",attributes:{class:["ck","ck-powered-by__label"]},children:[e]}]:[],n],on:{dragstart:i.to((t=>t.preventDefault()))}}]})}}function Om(t,e,n){return(i,r)=>{const o=new mr(t);if(o.width<350||o.height<50)return null;let a;a="inside"===e.position?o.bottom-r.height:o.bottom-r.height/2,a-=e.verticalOffset;const s=n(o,r),c=i.clone().moveTo(s,a).getIntersection(r.clone().moveTo(s,a)).getVisible();return!c||c.getArea(){for(const t of Object.values(jm))this.announce("",t)}))}announce(t,e=jm.POLITE){const n=this.editor;if(!n.ui.view)return;this.view||(this.view=new zm(n.locale),n.ui.view.body.add(this.view));const{politeness:i,isUnsafeHTML:r}="string"==typeof e?{politeness:e}:e;let o=this.view.regionViews.find((t=>t.politeness===i));o||(o=new Vm(n,i),this.view.regionViews.add(o)),o.announce({announcement:t,isUnsafeHTML:r})}}class zm extends af{regionViews;constructor(t){super(t),this.regionViews=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-aria-live-announcer"]},children:this.regionViews})}}class Vm extends af{politeness;_domConverter;_pruneAnnouncementsInterval;constructor(t,e){super(t.locale),this.setTemplate({tag:"div",attributes:{"aria-live":e,"aria-relevant":"additions"},children:[{tag:"ul",attributes:{class:["ck","ck-aria-live-region-list"]}}]}),t.on("destroy",(()=>{null!==this._pruneAnnouncementsInterval&&(clearInterval(this._pruneAnnouncementsInterval),this._pruneAnnouncementsInterval=null)})),this.politeness=e,this._domConverter=t.data.htmlProcessor.domConverter,this._pruneAnnouncementsInterval=setInterval((()=>{this.element&&this._listElement.firstChild&&this._listElement.firstChild.remove()}),5e3)}announce({announcement:t,isUnsafeHTML:e}){if(!t.trim().length)return;const n=document.createElement("li");e?this._domConverter.setContentOf(n,t):n.innerText=t,this._listElement.appendChild(n)}get _listElement(){return this.element.querySelector("ul")}}var Hm=n(9481),qm={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Hm.A,qm);Hm.A.locals;class Um extends Ug{constructor(t,e){super(t);const n=this.bindTemplate;this.extendTemplate({attributes:{class:["ck-menu-bar__menu__item"]},on:{mouseenter:n.to("mouseenter")}}),this.delegate("mouseenter").to(e)}}const Gm={toggleMenusAndFocusItemsOnHover(t){t.on("menu:mouseenter",(e=>{if(t.isFocusBorderEnabled||t.isOpen){if(t.isOpen)for(const n of t.menus){const t=e.path[0],i=t instanceof Um&&t.children.first===n;n.isOpen=(e.path.includes(n)||i)&&n.isEnabled}e.source.focus()}}))},focusCycleMenusOnArrows(t){const e="rtl"===t.locale.uiLanguageDirection;function n(e,n){const i=t.children.getIndex(e),r=e.isOpen,o=t.children.length,a=t.children.get((i+o+n)%o);e.isOpen=!1,r&&(a.isOpen=!0),a.buttonView.focus()}t.on("menu:arrowright",(t=>{n(t.source,e?-1:1)})),t.on("menu:arrowleft",(t=>{n(t.source,e?1:-1)}))},closeMenusWhenTheBarCloses(t){t.on("change:isOpen",(()=>{t.isOpen||t.menus.forEach((t=>{t.isOpen=!1}))}))},closeMenuWhenAnotherOnTheSameLevelOpens(t){t.on("menu:change:isOpen",((e,n,i)=>{i&&t.menus.filter((t=>e.source.parentMenuView===t.parentMenuView&&e.source!==t&&t.isOpen)).forEach((t=>{t.isOpen=!1}))}))},closeOnClickOutside(t){sf({emitter:t,activator:()=>t.isOpen,callback:()=>t.close(),contextElements:()=>t.children.map((t=>t.element))})},enableFocusHighlightOnInteraction(t){let e=!1;t.on("change:isOpen",((n,i,r)=>{r||(e||(t.isFocusBorderEnabled=!1),e=!1)})),t.listenTo(t.element,"keydown",(()=>{e=!0}),{useCapture:!0}),t.listenTo(t.element,"keyup",(()=>{e=!1}),{useCapture:!0}),t.listenTo(t.element,"focus",(()=>{e&&(t.isFocusBorderEnabled=!0)}),{useCapture:!0})}},Wm={openAndFocusPanelOnArrowDownKey(t){t.keystrokes.set("arrowdown",((e,n)=>{t.focusTracker.focusedElement===t.buttonView.element&&(t.isOpen||(t.isOpen=!0),t.panelView.focus(),n())}))},openOnArrowRightKey(t){const e="rtl"===t.locale.uiLanguageDirection?"arrowleft":"arrowright";t.keystrokes.set(e,((e,n)=>{t.focusTracker.focusedElement===t.buttonView.element&&t.isEnabled&&(t.isOpen||(t.isOpen=!0),t.panelView.focus(),n())}))},openOnButtonClick(t){t.buttonView.on("execute",(()=>{t.isOpen=!0}))},toggleOnButtonClick(t){t.buttonView.on("execute",(()=>{t.isOpen=!t.isOpen}))},openAndFocusOnEnterKeyPress(t){t.keystrokes.set("enter",((e,n)=>{t.focusTracker.focusedElement===t.buttonView.element&&(t.isOpen=!0,t.panelView.focus(),n())}))},closeOnArrowLeftKey(t){const e="rtl"===t.locale.uiLanguageDirection?"arrowright":"arrowleft";t.keystrokes.set(e,((e,n)=>{t.isOpen&&(t.isOpen=!1,t.focus(),n())}))},closeOnEscKey(t){t.keystrokes.set("esc",((e,n)=>{t.isOpen&&(t.isOpen=!1,t.focus(),n())}))},closeOnParentClose(t){t.parentMenuView.on("change:isOpen",((e,n,i)=>{i||e.source!==t.parentMenuView||(t.isOpen=!1)}))}},Km={southEast:t=>({top:t.bottom,left:t.left,name:"se"}),southWest:(t,e)=>({top:t.bottom,left:t.left-e.width+t.width,name:"sw"}),northEast:(t,e)=>({top:t.top-e.height,left:t.left,name:"ne"}),northWest:(t,e)=>({top:t.top-e.height,left:t.left-e.width+t.width,name:"nw"}),eastSouth:t=>({top:t.top,left:t.right-5,name:"es"}),eastNorth:(t,e)=>({top:t.top-e.height,left:t.right-5,name:"en"}),westSouth:(t,e)=>({top:t.top,left:t.left-e.width+5,name:"ws"}),westNorth:(t,e)=>({top:t.top-e.height,left:t.left-e.width+5,name:"wn"})},Ym=[{menuId:"file",label:"File",groups:[{groupId:"export",items:["menuBar:exportPdf","menuBar:exportWord"]},{groupId:"import",items:["menuBar:importWord"]},{groupId:"revisionHistory",items:["menuBar:revisionHistory"]}]},{menuId:"edit",label:"Edit",groups:[{groupId:"undo",items:["menuBar:undo","menuBar:redo"]},{groupId:"selectAll",items:["menuBar:selectAll"]},{groupId:"findAndReplace",items:["menuBar:findAndReplace"]}]},{menuId:"view",label:"View",groups:[{groupId:"sourceEditing",items:["menuBar:sourceEditing"]},{groupId:"showBlocks",items:["menuBar:showBlocks"]},{groupId:"previewMergeFields",items:["menuBar:previewMergeFields"]},{groupId:"restrictedEditing",items:["menuBar:restrictedEditing"]}]},{menuId:"insert",label:"Insert",groups:[{groupId:"insertMainWidgets",items:["menuBar:insertImage","menuBar:ckbox","menuBar:ckfinder","menuBar:insertTable"]},{groupId:"insertInline",items:["menuBar:link","menuBar:comment","menuBar:insertMergeField"]},{groupId:"insertMinorWidgets",items:["menuBar:mediaEmbed","menuBar:insertTemplate","menuBar:specialCharacters","menuBar:blockQuote","menuBar:codeBlock","menuBar:htmlEmbed"]},{groupId:"insertStructureWidgets",items:["menuBar:horizontalLine","menuBar:pageBreak","menuBar:tableOfContents"]},{groupId:"restrictedEditingException",items:["menuBar:restrictedEditingException"]}]},{menuId:"format",label:"Format",groups:[{groupId:"textAndFont",items:[{menuId:"text",label:"Text",groups:[{groupId:"basicStyles",items:["menuBar:bold","menuBar:italic","menuBar:underline","menuBar:strikethrough","menuBar:superscript","menuBar:subscript","menuBar:code"]},{groupId:"textPartLanguage",items:["menuBar:textPartLanguage"]}]},{menuId:"font",label:"Font",groups:[{groupId:"fontProperties",items:["menuBar:fontSize","menuBar:fontFamily"]},{groupId:"fontColors",items:["menuBar:fontColor","menuBar:fontBackgroundColor"]},{groupId:"highlight",items:["menuBar:highlight"]}]},"menuBar:heading"]},{groupId:"list",items:["menuBar:bulletedList","menuBar:numberedList","menuBar:multiLevelList","menuBar:todoList"]},{groupId:"indent",items:["menuBar:alignment","menuBar:indent","menuBar:outdent"]},{groupId:"caseChange",items:["menuBar:caseChange"]},{groupId:"removeFormat",items:["menuBar:removeFormat"]}]},{menuId:"tools",label:"Tools",groups:[{groupId:"aiTools",items:["menuBar:aiAssistant","menuBar:aiCommands"]},{groupId:"tools",items:["menuBar:trackChanges","menuBar:commentsArchive"]}]},{menuId:"help",label:"Help",groups:[{groupId:"help",items:["menuBar:accessibilityHelp"]}]}];function Xm({normalizedConfig:t,locale:e,componentFactory:n,extraItems:i}){const r=Pc(t);return Zm(t,r,i),function(t,e){const n=e.removeItems,i=[];e.items=e.items.filter((({menuId:t})=>!n.includes(t)||(i.push(t),!1))),eb(e.items,(t=>{t.groups=t.groups.filter((({groupId:t})=>!n.includes(t)||(i.push(t),!1)));for(const e of t.groups)e.items=e.items.filter((t=>{const e=ob(t);return!n.includes(e)||(i.push(e),!1)}))}));for(const e of n)i.includes(e)||ki("menu-bar-item-could-not-be-removed",{menuBarConfig:t,itemName:e})}(t,r),Zm(t,r,r.addItems),function(t,e,n){eb(e.items,(i=>{for(const r of i.groups)r.items=r.items.filter((r=>{const o="string"==typeof r&&!n.has(r);return o&&!e.isUsingDefaultConfig&&ki("menu-bar-item-unavailable",{menuBarConfig:t,parentMenuConfig:Pc(i),componentName:r}),!o}))}))}(t,r,n),Jm(t,r),function(t,e){const n=e.t,i={File:n({string:"File",id:"MENU_BAR_MENU_FILE"}),Edit:n({string:"Edit",id:"MENU_BAR_MENU_EDIT"}),View:n({string:"View",id:"MENU_BAR_MENU_VIEW"}),Insert:n({string:"Insert",id:"MENU_BAR_MENU_INSERT"}),Format:n({string:"Format",id:"MENU_BAR_MENU_FORMAT"}),Tools:n({string:"Tools",id:"MENU_BAR_MENU_TOOLS"}),Help:n({string:"Help",id:"MENU_BAR_MENU_HELP"}),Text:n({string:"Text",id:"MENU_BAR_MENU_TEXT"}),Font:n({string:"Font",id:"MENU_BAR_MENU_FONT"})};eb(t.items,(t=>{t.label in i&&(t.label=i[t.label])}))}(r,e),r}function Zm(t,e,n){const i=[];if(0!=n.length){for(const t of n){const n=ib(t.position),o=rb(t.position);if("object"==typeof(r=t)&&"menu"in r)if(o){const r=e.items.findIndex((t=>t.menuId===o));if(-1!=r)"before"===n?(e.items.splice(r,0,t.menu),i.push(t)):"after"===n&&(e.items.splice(r+1,0,t.menu),i.push(t));else{Qm(e,t.menu,o,n)&&i.push(t)}}else"start"===n?(e.items.unshift(t.menu),i.push(t)):"end"===n&&(e.items.push(t.menu),i.push(t));else if(nb(t))eb(e.items,(e=>{if(e.menuId===o)"start"===n?(e.groups.unshift(t.group),i.push(t)):"end"===n&&(e.groups.push(t.group),i.push(t));else{const r=e.groups.findIndex((t=>t.groupId===o));-1!==r&&("before"===n?(e.groups.splice(r,0,t.group),i.push(t)):"after"===n&&(e.groups.splice(r+1,0,t.group),i.push(t)))}}));else{Qm(e,t.item,o,n)&&i.push(t)}}var r;for(const e of n)i.includes(e)||ki("menu-bar-item-could-not-be-added",{menuBarConfig:t,addedItemConfig:e})}}function Qm(t,e,n,i){let r=!1;return eb(t.items,(t=>{for(const{groupId:o,items:a}of t.groups){if(r)return;if(o===n)"start"===i?(a.unshift(e),r=!0):"end"===i&&(a.push(e),r=!0);else{const t=a.findIndex((t=>ob(t)===n));-1!==t&&("before"===i?(a.splice(t,0,e),r=!0):"after"===i&&(a.splice(t+1,0,e),r=!0))}}})),r}function Jm(t,e){const n=e.isUsingDefaultConfig;let i=!1;e.items=e.items.filter((e=>!!e.groups.length||(tb(t,e,n),!1))),e.items.length?(eb(e.items,(e=>{e.groups=e.groups.filter((t=>!!t.items.length||(i=!0,!1)));for(const r of e.groups)r.items=r.items.filter((e=>!(ab(e)&&!e.groups.length)||(tb(t,e,n),i=!0,!1)))})),i&&Jm(t,e)):tb(t,t,n)}function tb(t,e,n){n||ki("menu-bar-menu-empty",{menuBarConfig:t,emptyMenuConfig:e})}function eb(t,e){if(Array.isArray(t))for(const e of t)n(e);function n(t){e(t);for(const e of t.groups)for(const t of e.items)ab(t)&&n(t)}}function nb(t){return"object"==typeof t&&"group"in t}function ib(t){return t.startsWith("start")?"start":t.startsWith("end")?"end":t.startsWith("after")?"after":"before"}function rb(t){const e=t.match(/^[^:]+:(.+)/);return e?e[1]:null}function ob(t){return"string"==typeof t?t:t.menuId}function ab(t){return"object"==typeof t&&"menuId"in t}class sb extends(Vi()){editor;componentFactory;focusTracker;tooltipManager;poweredBy;ariaLiveAnnouncer;isReady=!1;_editableElementsMap=new Map;_focusableToolbarDefinitions=[];_extraMenuBarElements=[];_lastFocusedForeignElement=null;constructor(t){super();const e=t.editing.view;this.editor=t,this.componentFactory=new xm(t),this.focusTracker=new Eo,this.tooltipManager=new Im(t),this.poweredBy=new Pm(t),this.ariaLiveAnnouncer=new $m(t),this.set("viewportOffset",this._readViewportOffsetFromConfig()),this.once("ready",(()=>{this._bindBodyCollectionWithFocusTracker(),this.isReady=!0})),this.listenTo(e.document,"layoutChanged",this.update.bind(this)),this.listenTo(e,"scrollToTheSelection",this._handleScrollToTheSelection.bind(this)),this._initFocusTracking()}get element(){return null}update(){this.fire("update")}destroy(){this.stopListening(),this.focusTracker.destroy(),this.tooltipManager.destroy(this.editor),this.poweredBy.destroy();for(const t of this._editableElementsMap.values())t.ckeditorInstance=null,this.editor.keystrokes.stopListening(t);this._editableElementsMap=new Map,this._focusableToolbarDefinitions=[]}setEditableElement(t,e){this._editableElementsMap.set(t,e),e.ckeditorInstance||(e.ckeditorInstance=this.editor),this.focusTracker.add(e);const n=()=>{this.editor.editing.view.getDomRoot(t)||this.editor.keystrokes.listenTo(e)};this.isReady?n():this.once("ready",n)}removeEditableElement(t){const e=this._editableElementsMap.get(t);e&&(this._editableElementsMap.delete(t),this.editor.keystrokes.stopListening(e),this.focusTracker.remove(e),e.ckeditorInstance=null)}getEditableElement(t="main"){return this._editableElementsMap.get(t)}getEditableElementsNames(){return this._editableElementsMap.keys()}addToolbar(t,e={}){t.isRendered?(this.focusTracker.add(t.element),this.editor.keystrokes.listenTo(t.element)):t.once("render",(()=>{this.focusTracker.add(t.element),this.editor.keystrokes.listenTo(t.element)})),this._focusableToolbarDefinitions.push({toolbarView:t,options:e})}extendMenuBar(t){this._extraMenuBarElements.push(t)}get _editableElements(){return console.warn("editor-ui-deprecated-editable-elements: The EditorUI#_editableElements property has been deprecated and will be removed in the near future.",{editorUI:this}),this._editableElementsMap}_initMenuBar(t){const e=t.element;this.focusTracker.add(e),this.editor.keystrokes.listenTo(e);const n=function(t){let e;return e="items"in t&&t.items?{items:t.items,removeItems:[],addItems:[],isVisible:!0,isUsingDefaultConfig:!1,...t}:{items:Pc(Ym),addItems:[],removeItems:[],isVisible:!0,isUsingDefaultConfig:!0,...t},e}(this.editor.config.get("menuBar")||{});t.fillFromConfig(n,this.componentFactory,this._extraMenuBarElements),this.editor.keystrokes.set("Esc",((t,n)=>{e.contains(this.editor.ui.focusTracker.focusedElement)&&(this._lastFocusedForeignElement?(this._lastFocusedForeignElement.focus(),this._lastFocusedForeignElement=null):this.editor.editing.view.focus(),n())})),this.editor.keystrokes.set("Alt+F9",((n,i)=>{e.contains(this.editor.ui.focusTracker.focusedElement)||(this._saveLastFocusedForeignElement(),t.isFocusBorderEnabled=!0,t.focus(),i())}))}_readViewportOffsetFromConfig(){const t=this.editor,e=t.config.get("ui.viewportOffset");if(e)return e;const n=t.config.get("toolbar.viewportTopOffset");return n?(console.warn("editor-ui-deprecated-viewport-offset-config: The `toolbar.vieportTopOffset` configuration option is deprecated. It will be removed from future CKEditor versions. Use `ui.viewportOffset.top` instead."),{top:n}):{top:0}}_initFocusTracking(){const t=this.editor;let e;t.keystrokes.set("Alt+F10",((t,n)=>{this._saveLastFocusedForeignElement();const i=this._getCurrentFocusedToolbarDefinition();i&&e||(e=this._getFocusableCandidateToolbarDefinitions());for(let t=0;t{const i=this._getCurrentFocusedToolbarDefinition();i&&(this._lastFocusedForeignElement?(this._lastFocusedForeignElement.focus(),this._lastFocusedForeignElement=null):t.editing.view.focus(),i.options.afterBlur&&i.options.afterBlur(),n())}))}_saveLastFocusedForeignElement(){const t=this.focusTracker.focusedElement;Array.from(this._editableElementsMap.values()).includes(t)&&!Array.from(this.editor.editing.view.domRoots.values()).includes(t)&&(this._lastFocusedForeignElement=t)}_getFocusableCandidateToolbarDefinitions(){const t=[];for(const e of this._focusableToolbarDefinitions){const{toolbarView:n,options:i}=e;(Sr(n.element)||i.beforeFocus)&&t.push(e)}return t.sort(((t,e)=>cb(t)-cb(e))),t}_getCurrentFocusedToolbarDefinition(){for(const t of this._focusableToolbarDefinitions)if(t.toolbarView.element&&t.toolbarView.element.contains(this.focusTracker.focusedElement))return t;return null}_focusFocusableCandidateToolbar(t){const{toolbarView:e,options:{beforeFocus:n}}=t;return n&&n(),!!Sr(e.element)&&(e.focus(),!0)}_handleScrollToTheSelection(t,e){const n={top:0,bottom:0,left:0,right:0,...this.viewportOffset};e.viewportOffset.top+=n.top,e.viewportOffset.bottom+=n.bottom,e.viewportOffset.left+=n.left,e.viewportOffset.right+=n.right}_bindBodyCollectionWithFocusTracker(){const t=this.view.body;for(const e of t)this.focusTracker.add(e.element);t.on("add",((t,e)=>{this.focusTracker.add(e.element)})),t.on("remove",((t,e)=>{this.focusTracker.remove(e.element)}))}}function cb(t){const{toolbarView:e,options:n}=t;let i=10;return Sr(e.element)&&i--,n.isContextual&&i--,i}var lb=n(1185),ub={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(lb.A,ub);lb.A.locals;class hb extends af{body;menuBarView;constructor(t){super(t),this.body=new tg(t)}render(){super.render(),this.body.attachToDom()}destroy(){return this.body.detachFromDom(),super.destroy()}}class db extends af{name=null;_editingView;_editableElement;_hasExternalElement;constructor(t,e,n){super(t),this.setTemplate({tag:"div",attributes:{class:["ck","ck-content","ck-editor__editable","ck-rounded-corners"],lang:t.contentLanguage,dir:t.contentLanguageDirection}}),this.set("isFocused",!1),this._editableElement=n,this._hasExternalElement=!!this._editableElement,this._editingView=e}render(){super.render(),this._hasExternalElement?this.template.apply(this.element=this._editableElement):this._editableElement=this.element,this.on("change:isFocused",(()=>this._updateIsFocusedClasses())),this._updateIsFocusedClasses()}destroy(){this._hasExternalElement&&this.template.revert(this._editableElement),super.destroy()}get hasExternalElement(){return this._hasExternalElement}_updateIsFocusedClasses(){const t=this._editingView;function e(e){t.change((n=>{const i=t.document.getRoot(e.name);n.addClass(e.isFocused?"ck-focused":"ck-blurred",i),n.removeClass(e.isFocused?"ck-blurred":"ck-focused",i)}))}t.isRenderingInProgress?function n(i){t.once("change:isRenderingInProgress",((t,r,o)=>{o?n(i):e(i)}))}(this):e(this)}}class fb extends db{_options;constructor(t,e,n,i={}){super(t,e,n),this._options=i,this.extendTemplate({attributes:{role:"textbox",class:"ck-editor__editable_inline"}})}render(){super.render();const t=this._editingView;t.change((e=>{const n=t.document.getRoot(this.name);e.setAttribute("aria-label",this.getEditableAriaLabel(),n)}))}getEditableAriaLabel(){const t=this.locale.t,e=this._options.label,n=this._editableElement,i=this.name;if("string"==typeof e)return e;if("object"==typeof e)return e[i];if("function"==typeof e)return e(this);if(n){const t=n.getAttribute("aria-label");if(t)return t}return t("Rich Text Editor. Editing area: %0",i)}}class gb extends Vo{static get pluginName(){return"Notification"}init(){this.on("show:warning",((t,e)=>{window.alert(e.message)}),{priority:"lowest"})}showSuccess(t,e={}){this._showNotification({message:t,type:"success",namespace:e.namespace,title:e.title})}showInfo(t,e={}){this._showNotification({message:t,type:"info",namespace:e.namespace,title:e.title})}showWarning(t,e={}){this._showNotification({message:t,type:"warning",namespace:e.namespace,title:e.title})}_showNotification(t){const e=t.namespace?`show:${t.type}:${t.namespace}`:`show:${t.type}`;this.fire(e,{message:t.message,type:t.type,title:t.title||""})}}class pb extends(Vi()){constructor(t,e){super(),e&&Zs(this,e),t&&this.set(t)}}var mb=n(991),bb={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(mb.A,bb);mb.A.locals;var wb=n(5380),kb={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(wb.A,kb);wb.A.locals;const vb=Cr("px");class yb extends Oo{positionLimiter;visibleStack;_viewToStack=new Map;_idToStack=new Map;_view=null;_rotatorView=null;_fakePanelsView=null;static get pluginName(){return"ContextualBalloon"}constructor(t){super(t),this.positionLimiter=()=>{const t=this.editor.editing.view,e=t.document.selection.editableElement;return e?t.domConverter.mapViewToDom(e.root):null},this.decorate("getPositionOptions"),this.set("visibleView",null),this.set("_numberOfStacks",0),this.set("_singleViewMode",!1)}destroy(){super.destroy(),this._view&&this._view.destroy(),this._rotatorView&&this._rotatorView.destroy(),this._fakePanelsView&&this._fakePanelsView.destroy()}get view(){return this._view||this._createPanelView(),this._view}hasView(t){return Array.from(this._viewToStack.keys()).includes(t)}add(t){if(this._view||this._createPanelView(),this.hasView(t.view))throw new wi("contextualballoon-add-view-exist",[this,t]);const e=t.stackId||"main";if(!this._idToStack.has(e))return this._idToStack.set(e,new Map([[t.view,t]])),this._viewToStack.set(t.view,this._idToStack.get(e)),this._numberOfStacks=this._idToStack.size,void(this._visibleStack&&!t.singleViewMode||this.showStack(e));const n=this._idToStack.get(e);t.singleViewMode&&this.showStack(e),n.set(t.view,t),this._viewToStack.set(t.view,n),n===this._visibleStack&&this._showView(t)}remove(t){if(!this.hasView(t))throw new wi("contextualballoon-remove-view-not-exist",[this,t]);const e=this._viewToStack.get(t);this._singleViewMode&&this.visibleView===t&&(this._singleViewMode=!1),this.visibleView===t&&(1===e.size?this._idToStack.size>1?this._showNextStack():(this.view.hide(),this.visibleView=null,this._rotatorView.hideView()):this._showView(Array.from(e.values())[e.size-2])),1===e.size?(this._idToStack.delete(this._getStackId(e)),this._numberOfStacks=this._idToStack.size):e.delete(t),this._viewToStack.delete(t)}updatePosition(t){t&&(this._visibleStack.get(this.visibleView).position=t),this.view.pin(this.getPositionOptions()),this._fakePanelsView.updatePosition()}getPositionOptions(){let t=Array.from(this._visibleStack.values()).pop().position;return t&&(t.limiter||(t=Object.assign({},t,{limiter:this.positionLimiter})),t=Object.assign({},t,{viewportOffsetConfig:this.editor.ui.viewportOffset})),t}showStack(t){this.visibleStack=t;const e=this._idToStack.get(t);if(!e)throw new wi("contextualballoon-showstack-stack-not-exist",this);this._visibleStack!==e&&this._showView(Array.from(e.values()).pop())}_createPanelView(){this._view=new ip(this.editor.locale),this.editor.ui.view.body.add(this._view),this._rotatorView=this._createRotatorView(),this._fakePanelsView=this._createFakePanelsView()}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(t){return Array.from(this._idToStack.entries()).find((e=>e[1]===t))[0]}_showNextStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)+1;t[e]||(e=0),this.showStack(this._getStackId(t[e]))}_showPrevStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)-1;t[e]||(e=t.length-1),this.showStack(this._getStackId(t[e]))}_createRotatorView(){const t=new _b(this.editor.locale),e=this.editor.locale.t;return this.view.content.add(t),t.bind("isNavigationVisible").to(this,"_numberOfStacks",this,"_singleViewMode",((t,e)=>!e&&t>1)),t.on("change:isNavigationVisible",(()=>this.updatePosition()),{priority:"low"}),t.bind("counter").to(this,"visibleView",this,"_numberOfStacks",((t,n)=>{if(n<2)return"";const i=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return e("%0 of %1",[i,n])})),t.buttonNextView.on("execute",(()=>{t.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showNextStack()})),t.buttonPrevView.on("execute",(()=>{t.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showPrevStack()})),t}_createFakePanelsView(){const t=new Cb(this.editor.locale,this.view);return t.bind("numberOfPanels").to(this,"_numberOfStacks",this,"_singleViewMode",((t,e)=>!e&&t>=2?Math.min(t-1,2):0)),t.listenTo(this.view,"change:top",(()=>t.updatePosition())),t.listenTo(this.view,"change:left",(()=>t.updatePosition())),this.editor.ui.view.body.add(t),t}_showView({view:t,balloonClassName:e="",withArrow:n=!0,singleViewMode:i=!1}){this.view.class=e,this.view.withArrow=n,this._rotatorView.showView(t),this.visibleView=t,this.view.pin(this.getPositionOptions()),this._fakePanelsView.updatePosition(),i&&(this._singleViewMode=!0)}}class _b extends af{focusTracker;buttonPrevView;buttonNextView;content;constructor(t){super(t);const e=t.t,n=this.bindTemplate;this.set("isNavigationVisible",!0),this.focusTracker=new Eo,this.buttonPrevView=this._createButtonView(e("Previous"),Ld.previousArrow),this.buttonNextView=this._createButtonView(e("Next"),Ld.nextArrow),this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-rotator"],"z-index":"-1"},children:[{tag:"div",attributes:{class:["ck-balloon-rotator__navigation",n.to("isNavigationVisible",(t=>t?"":"ck-hidden"))]},children:[this.buttonPrevView,{tag:"span",attributes:{class:["ck-balloon-rotator__counter"]},children:[{text:n.to("counter")}]},this.buttonNextView]},{tag:"div",attributes:{class:"ck-balloon-rotator__content"},children:this.content}]})}render(){super.render(),this.focusTracker.add(this.element)}destroy(){super.destroy(),this.focusTracker.destroy()}showView(t){this.hideView(),this.content.add(t)}hideView(){this.content.clear()}_createButtonView(t,e){const n=new bf(this.locale);return n.set({label:t,icon:e,tooltip:!0}),n}}class Cb extends af{content;_balloonPanelView;constructor(t,e){super(t);const n=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("height",0),this.set("width",0),this.set("numberOfPanels",0),this.content=this.createCollection(),this._balloonPanelView=e,this.setTemplate({tag:"div",attributes:{class:["ck-fake-panel",n.to("numberOfPanels",(t=>t?"":"ck-hidden"))],style:{top:n.to("top",vb),left:n.to("left",vb),width:n.to("width",vb),height:n.to("height",vb)}},children:this.content}),this.on("change:numberOfPanels",((t,e,n,i)=>{n>i?this._addPanels(n-i):this._removePanels(i-n),this.updatePosition()}))}_addPanels(t){for(;t--;){const t=new af;t.setTemplate({tag:"div"}),this.content.add(t),this.registerChild(t)}}_removePanels(t){for(;t--;){const t=this.content.last;this.content.remove(t),this.deregisterChild(t),t.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:t,left:e}=this._balloonPanelView,{width:n,height:i}=new mr(this._balloonPanelView.element);Object.assign(this,{top:t,left:e,width:n,height:i})}}}var Ab=n(8298),xb={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Ab.A,xb);Ab.A.locals;var Eb=/[\\^$.*+?()[\]{}|]/g,Tb=RegExp(Eb.source);const Sb=function(t){return(t=ya(t))&&Tb.test(t)?t.replace(Eb,"\\$&"):t};var Db=n(8107),Ib={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Db.A,Ib);Db.A.locals;var Bb=n(5727),Mb={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Bb.A,Mb);Bb.A.locals;const Pb=function(t){return function(e){return null==t?void 0:t[e]}};Pb({"&":"&","<":"<",">":">",'"':""","'":"'"});var Lb=/[&<>"']/g;RegExp(Lb.source);var Ob=n(9529),Nb={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Ob.A,Nb);Ob.A.locals;var Rb=n(109),Fb={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Rb.A,Fb);Rb.A.locals;const jb=Cr("px");class $b extends Oo{toolbarView;focusTracker;_balloonConfig;_resizeObserver=null;_balloon;_fireSelectionChangeDebounced;static get pluginName(){return"BalloonToolbar"}static get requires(){return[yb]}constructor(t){super(t),this._balloonConfig=hp(t.config.get("balloonToolbar")),this.toolbarView=this._createToolbarView(),this.focusTracker=new Eo,this._trackFocusableEditableElements(),this.focusTracker.add(this.toolbarView.element),t.ui.addToolbar(this.toolbarView,{beforeFocus:()=>this.show(!0),afterBlur:()=>this.hide(),isContextual:!0}),this._balloon=t.plugins.get(yb),this._fireSelectionChangeDebounced=L((()=>this.fire("_selectionChangeDebounced")),200),this.decorate("show")}init(){const t=this.editor,e=t.model.document.selection;this.listenTo(this.focusTracker,"change:isFocused",((t,e,n)=>{const i=this._balloon.visibleView===this.toolbarView;!n&&i?this.hide():n&&this.show()})),this.listenTo(e,"change:range",((t,n)=>{(n.directChange||e.isCollapsed)&&this.hide(),this._fireSelectionChangeDebounced()})),this.listenTo(this,"_selectionChangeDebounced",(()=>{this.editor.editing.view.document.isFocused&&this.show()})),this._balloonConfig.shouldNotGroupWhenFull||this.listenTo(t,"ready",(()=>{const e=t.ui.view.editable.element;this._resizeObserver=new yr(e,(t=>{this.toolbarView.maxWidth=jb(.9*t.contentRect.width)}))})),this.listenTo(this.toolbarView,"groupedItemsUpdate",(()=>{this._updatePosition()})),t.ui.once("ready",(()=>{this.toolbarView.fillFromConfig(this._balloonConfig,this.editor.ui.componentFactory)}))}_createToolbarView(){const t=this.editor.locale.t,e=!this._balloonConfig.shouldNotGroupWhenFull,n=new pp(this.editor.locale,{shouldGroupWhenFull:e,isFloating:!0});return n.ariaLabel=t("Editor contextual toolbar"),n.render(),n}show(t=!1){const e=this.editor,n=e.model.document.selection,i=e.model.schema;this._balloon.hasView(this.toolbarView)||n.isCollapsed&&!t||function(t,e){if(1===t.rangeCount)return!1;return[...t.getRanges()].every((t=>{const n=t.getContainedElement();return n&&e.isSelectable(n)}))}(n,i)||Array.from(this.toolbarView.items).every((t=>void 0!==t.isEnabled&&!t.isEnabled))||(this.listenTo(this.editor.ui,"update",(()=>{this._updatePosition()})),this._balloon.add({view:this.toolbarView,position:this._getBalloonPositionData(),balloonClassName:"ck-toolbar-container"}))}hide(){this._balloon.hasView(this.toolbarView)&&(this.stopListening(this.editor.ui,"update"),this._balloon.remove(this.toolbarView))}_trackFocusableEditableElements(){const{editor:t,focusTracker:e}=this,{editing:n}=t;n.view.addObserver(class extends Xs{observe(t){e.add(t)}stopObserving(t){e.remove(t)}})}_getBalloonPositionData(){const t=this.editor.editing.view,e=t.document,n=e.selection,i=e.selection.isBackward;return{target:()=>{const e=i?n.getFirstRange():n.getLastRange(),r=mr.getDomRangeRects(t.domConverter.viewRangeToDom(e));return i?r[0]:(r.length>1&&0===r[r.length-1].width&&r.pop(),r[r.length-1])},positions:this._getBalloonPositions(i)}}_updatePosition(){this._balloon.updatePosition(this._getBalloonPositionData())}destroy(){super.destroy(),this.stopListening(),this._fireSelectionChangeDebounced.cancel(),this.toolbarView.destroy(),this.focusTracker.destroy(),this._resizeObserver&&this._resizeObserver.destroy()}_getBalloonPositions(t){const e=Jn.isSafari&&Jn.isiOS?ip.generatePositions({heightOffset:Math.max(ip.arrowHeightOffset,Math.round(20/Xn.window.visualViewport.scale))}):ip.defaultPositions;return t?[e.northWestArrowSouth,e.northWestArrowSouthWest,e.northWestArrowSouthEast,e.northWestArrowSouthMiddleEast,e.northWestArrowSouthMiddleWest,e.southWestArrowNorth,e.southWestArrowNorthWest,e.southWestArrowNorthEast,e.southWestArrowNorthMiddleWest,e.southWestArrowNorthMiddleEast]:[e.southEastArrowNorth,e.southEastArrowNorthEast,e.southEastArrowNorthWest,e.southEastArrowNorthMiddleEast,e.southEastArrowNorthMiddleWest,e.northEastArrowSouth,e.northEastArrowSouthEast,e.northEastArrowSouthWest,e.northEastArrowSouthMiddleEast,e.northEastArrowSouthMiddleWest]}}var zb=n(2710),Vb={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(zb.A,Vb);zb.A.locals;const Hb=Cr("px");class qb extends bf{constructor(t){super(t);const e=this.bindTemplate;this.isVisible=!1,this.isToggleable=!0,this.set("top",0),this.set("left",0),this.extendTemplate({attributes:{class:"ck-block-toolbar-button",style:{top:e.to("top",(t=>Hb(t))),left:e.to("left",(t=>Hb(t)))}}})}}const Ub=Cr("px");class Gb extends Oo{toolbarView;panelView;buttonView;_resizeObserver=null;_blockToolbarConfig;static get pluginName(){return"BlockToolbar"}constructor(t){super(t),this._blockToolbarConfig=hp(this.editor.config.get("blockToolbar")),this.toolbarView=this._createToolbarView(),this.panelView=this._createPanelView(),this.buttonView=this._createButtonView(),sf({emitter:this.panelView,contextElements:[this.panelView.element,this.buttonView.element],activator:()=>this.panelView.isVisible,callback:()=>this._hidePanel()})}init(){const t=this.editor,e=t.t,n=e("Click to edit block"),i=e("Drag to move"),r=e("Edit block"),o=t.plugins.has("DragDropBlockToolbar"),a=o?`${n}\n${i}`:r;this.buttonView.label=a,o&&(this.buttonView.element.dataset.ckeTooltipClass="ck-tooltip_multi-line"),this.listenTo(t.model.document.selection,"change:range",((t,e)=>{e.directChange&&this._hidePanel()})),this.listenTo(t.ui,"update",(()=>this._updateButton())),this.listenTo(t,"change:isReadOnly",(()=>this._updateButton()),{priority:"low"}),this.listenTo(t.ui.focusTracker,"change:isFocused",(()=>this._updateButton())),this.listenTo(this.buttonView,"change:isVisible",((t,e,n)=>{n?this.buttonView.listenTo(window,"resize",(()=>this._updateButton())):(this.buttonView.stopListening(window,"resize"),this._hidePanel())})),this._repositionButtonOnScroll(),t.ui.addToolbar(this.toolbarView,{beforeFocus:()=>this._showPanel(),afterBlur:()=>this._hidePanel()}),t.ui.once("ready",(()=>{this.toolbarView.fillFromConfig(this._blockToolbarConfig,this.editor.ui.componentFactory);for(const t of this.toolbarView.items)t.on("execute",(()=>this._hidePanel(!0)),{priority:"high"})}))}destroy(){super.destroy(),this.panelView.destroy(),this.buttonView.destroy(),this.toolbarView.destroy(),this._resizeObserver&&this._resizeObserver.destroy()}_createToolbarView(){const t=this.editor.locale.t,e=!this._blockToolbarConfig.shouldNotGroupWhenFull,n=new pp(this.editor.locale,{shouldGroupWhenFull:e,isFloating:!0});return n.ariaLabel=t("Editor block content toolbar"),n}_createPanelView(){const t=this.editor,e=new ip(t.locale);return e.content.add(this.toolbarView),e.class="ck-toolbar-container",t.ui.view.body.add(e),this.toolbarView.keystrokes.set("Esc",((t,e)=>{this._hidePanel(!0),e()})),e}_createButtonView(){const t=this.editor,e=t.t,n=new qb(t.locale),i=this._blockToolbarConfig.icon,r=gp[i]||i||gp.dragIndicator;return n.set({label:e("Edit block"),icon:r,withText:!1}),n.bind("isOn").to(this.panelView,"isVisible"),n.bind("tooltip").to(this.panelView,"isVisible",(t=>!t)),this.listenTo(n,"execute",(()=>{this.panelView.isVisible?this._hidePanel(!0):this._showPanel()})),this.listenTo(n,"change:isEnabled",((t,e,n)=>{!n&&this.panelView.isVisible&&this._hidePanel(!1)})),t.ui.view.body.add(n),n}_updateButton(){const t=this.editor,e=t.model,n=t.editing.view;if(!t.ui.focusTracker.isFocused)return void this._hideButton();if(!t.model.canEditAt(t.model.document.selection))return void this._hideButton();const i=Array.from(e.document.selection.getSelectedBlocks())[0];if(!i||Array.from(this.toolbarView.items).every((t=>!t.isEnabled)))return void this._hideButton();const r=n.domConverter.mapViewToDom(t.editing.mapper.toViewElement(i));this.buttonView.isVisible=!0,this._setupToolbarResize(),this._attachButtonToElement(r),this.panelView.isVisible&&this._showPanel()}_hideButton(){this.buttonView.isVisible=!1}_showPanel(){if(!this.buttonView.isVisible)return;const t=this.panelView.isVisible;this.panelView.show();const e=this._getSelectedEditableElement();this.toolbarView.maxWidth=this._getToolbarMaxWidth(e),this.panelView.pin({target:this.buttonView.element,limiter:e}),t||this.toolbarView.items.get(0).focus()}_getSelectedEditableElement(){const t=this.editor.model.document.selection.getFirstRange().root.rootName;return this.editor.ui.getEditableElement(t)}_hidePanel(t){this.panelView.isVisible=!1,t&&this.editor.editing.view.focus()}_repositionButtonOnScroll(){const{buttonView:t}=this;let e=!1;const n=(t,n)=>{if(e)return;const i=this._getSelectedEditableElement();(n.target===Xn.document||cr(i).includes(n.target))&&(e=!0,Xn.window.requestAnimationFrame((()=>{this._updateButton(),e=!1})))};t.on("change:isVisible",((e,i,r)=>{r?t.listenTo(Xn.document,"scroll",n,{useCapture:!0,usePassive:!0}):t.stopListening(Xn.document,"scroll",n)}))}_attachButtonToElement(t){const e=this.buttonView.element,n=this._getSelectedEditableElement(),i=window.getComputedStyle(t),r=new mr(n),o=parseInt(i.paddingTop,10),a=parseInt(i.lineHeight,10)||1.2*parseInt(i.fontSize,10),s=new mr(e),c=new mr(t);let l;l="ltr"===this.editor.locale.uiLanguageDirection?r.left-s.width:r.right;const u=c.top+o+(a-s.height)/2;s.moveTo(l,u);const h=s.toAbsoluteRect();this.buttonView.top=h.top,this.buttonView.left=h.left,this._clipButtonToViewport(this.buttonView,n)}_clipButtonToViewport(t,e){const n=new mr(t.element),i=new mr(e).getVisible(),r=(...e)=>{t.element.style.clipPath=e.length?`polygon(${e.join(",")})`:""},o=e=>{t.isEnabled=!e,t.element.style.pointerEvents=e?"none":""};if(i&&i.bottom=n.height),r("0 0","100% 0",`100% calc(100% - ${Ub(t)})`,`0 calc(100% - ${Ub(t)}`)}else if(i&&i.top>n.top){const t=Math.min(n.height,i.top-n.top);o(t>=n.height),r(`0 ${Ub(t)}`,`100% ${Ub(t)}`,"100% 100%","0 100%")}else o(!1),r()}_setupToolbarResize(){const t=this._getSelectedEditableElement();this._blockToolbarConfig.shouldNotGroupWhenFull||(this._resizeObserver&&this._resizeObserver.element!==t&&(this._resizeObserver.destroy(),this._resizeObserver=null),this._resizeObserver||(this._resizeObserver=new yr(t,(()=>{this.toolbarView.maxWidth=this._getToolbarMaxWidth(t)}))))}_getToolbarMaxWidth(t){const e=new mr(t),n=new mr(this.buttonView.element),i="rtl"===this.editor.locale.uiLanguageDirection?n.left-e.right+n.width:e.left-n.left;return Ub(e.width+i)}}var Wb=n(3344),Kb={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Wb.A,Kb);Wb.A.locals;class Yb extends qf{arrowView;constructor(t){super(t);const e=this.bindTemplate;this.set({withText:!0,role:"menuitem"}),this.arrowView=this._createArrowView(),this.extendTemplate({attributes:{class:["ck-menu-bar__menu__button"],"aria-haspopup":!0,"aria-expanded":this.bindTemplate.to("isOn",(t=>String(t))),"data-cke-tooltip-disabled":e.to("isOn")},on:{mouseenter:e.to("mouseenter")}})}render(){super.render(),this.children.add(this.arrowView)}_createArrowView(){const t=new ff;return t.content=cg,t.extendTemplate({attributes:{class:"ck-menu-bar__menu__button__arrow"}}),t}}var Xb=n(9108),Zb={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Xb.A,Zb);Xb.A.locals;class Qb extends af{children;constructor(t){super(t);const e=this.bindTemplate;this.set("isVisible",!1),this.set("position","se"),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-menu-bar__menu__panel",e.to("position",(t=>`ck-menu-bar__menu__panel_position_${t}`)),e.if("isVisible","ck-hidden",(t=>!t))],tabindex:"-1"},children:this.children,on:{selectstart:e.to((t=>{"input"!==t.target.tagName.toLocaleLowerCase()&&t.preventDefault()}))}})}focus(t=1){this.children.length&&(1===t?this.children.first.focus():this.children.last.focus())}}var Jb=n(4),tw={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Jb.A,tw);Jb.A.locals;class ew extends af{buttonView;panelView;focusTracker;keystrokes;constructor(t){super(t);const e=this.bindTemplate;this.buttonView=new Yb(t),this.buttonView.delegate("mouseenter").to(this),this.buttonView.bind("isOn","isEnabled").to(this,"isOpen","isEnabled"),this.panelView=new Qb(t),this.panelView.bind("isVisible").to(this,"isOpen"),this.keystrokes=new To,this.focusTracker=new Eo,this.set("isOpen",!1),this.set("isEnabled",!0),this.set("panelPosition","w"),this.set("class",void 0),this.set("parentMenuView",null),this.setTemplate({tag:"div",attributes:{class:["ck","ck-menu-bar__menu",e.to("class"),e.if("isEnabled","ck-disabled",(t=>!t)),e.if("parentMenuView","ck-menu-bar__menu_top-level",(t=>!t))]},children:[this.buttonView,this.panelView]})}render(){super.render(),this.focusTracker.add(this.buttonView.element),this.focusTracker.add(this.panelView.element),this.keystrokes.listenTo(this.element),Wm.closeOnEscKey(this),this._repositionPanelOnOpen()}_attachBehaviors(){this.parentMenuView?(Wm.openOnButtonClick(this),Wm.openOnArrowRightKey(this),Wm.closeOnArrowLeftKey(this),Wm.openAndFocusOnEnterKeyPress(this),Wm.closeOnParentClose(this)):(this._propagateArrowKeystrokeEvents(),Wm.openAndFocusPanelOnArrowDownKey(this),Wm.toggleOnButtonClick(this))}_propagateArrowKeystrokeEvents(){this.keystrokes.set("arrowright",((t,e)=>{this.fire("arrowright"),e()})),this.keystrokes.set("arrowleft",((t,e)=>{this.fire("arrowleft"),e()}))}_repositionPanelOnOpen(){this.on("change:isOpen",((t,e,n)=>{if(!n)return;const i=ew._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:!0,positions:this._panelPositions});this.panelView.position=i?i.name:this._panelPositions[0].name}))}focus(){this.buttonView.focus()}get _panelPositions(){const{southEast:t,southWest:e,northEast:n,northWest:i,westSouth:r,eastSouth:o,westNorth:a,eastNorth:s}=Km;return"ltr"===this.locale.uiLanguageDirection?this.parentMenuView?[o,s,r,a]:[t,e,n,i]:this.parentMenuView?[r,a,o,s]:[e,t,i,n]}static _getOptimalPosition=Dr}class nw extends Xg{constructor(t){super(t),this.role="menu",this.items.on("change",this._setItemsCheckSpace.bind(this))}_setItemsCheckSpace(){const t=Array.from(this.items).some((t=>{const e=iw(t);return e&&e.isToggleable}));this.items.forEach((e=>{const n=iw(e);n&&(n.hasCheckSpace=t)}))}}function iw(t){return t instanceof Ug?t.children.map((t=>function(t){return"object"==typeof t&&"buttonView"in t&&t.buttonView instanceof bf}(t)?t.buttonView:t)).find((t=>t instanceof qf)):null}class rw extends og{constructor(t){super(t),this.set({withText:!0,withKeystroke:!0,tooltip:!1,role:"menuitem"}),this.extendTemplate({attributes:{class:["ck-menu-bar__menu__item__button"]}})}}var ow=n(497),aw={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(ow.A,aw);ow.A.locals;const sw=["mouseenter","arrowleft","arrowright","change:isOpen"];class cw extends af{children;menus=[];constructor(t){super(t);const e=t.t,n=this.bindTemplate;this.set({isOpen:!1,isFocusBorderEnabled:!1}),this._setupIsOpenUpdater(),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-menu-bar",n.if("isFocusBorderEnabled","ck-menu-bar_focus-border-enabled")],"aria-label":e("Editor menu bar"),role:"menubar"},children:this.children})}fillFromConfig(t,e,n=[]){const i=Xm({normalizedConfig:t,locale:this.locale,componentFactory:e,extraItems:n}).items.map((t=>this._createMenu({componentFactory:e,menuDefinition:t})));this.children.addMany(i)}render(){super.render(),Gm.toggleMenusAndFocusItemsOnHover(this),Gm.closeMenusWhenTheBarCloses(this),Gm.closeMenuWhenAnotherOnTheSameLevelOpens(this),Gm.focusCycleMenusOnArrows(this),Gm.closeOnClickOutside(this),Gm.enableFocusHighlightOnInteraction(this)}focus(){this.children.first&&this.children.first.focus()}close(){for(const t of this.children)t.isOpen=!1}registerMenu(t,e=null){e?(t.delegate(...sw).to(e),t.parentMenuView=e):t.delegate(...sw).to(this,(t=>"menu:"+t)),t._attachBehaviors(),this.menus.push(t)}_createMenu({componentFactory:t,menuDefinition:e,parentMenuView:n}){const i=this.locale,r=new ew(i);return this.registerMenu(r,n),r.buttonView.set({label:e.label}),r.once("change:isOpen",(()=>{const n=new nw(i);n.ariaLabel=e.label,r.panelView.children.add(n),n.items.addMany(this._createMenuItems({menuDefinition:e,parentMenuView:r,componentFactory:t}))})),r}_createMenuItems({menuDefinition:t,parentMenuView:e,componentFactory:n}){const i=this.locale,r=[];for(const o of t.groups){for(const t of o.items){const o=new Um(i,e);if(a(t))o.children.add(this._createMenu({componentFactory:n,menuDefinition:t,parentMenuView:e}));else{const i=this._createMenuItemContentFromFactory({componentName:t,componentFactory:n,parentMenuView:e});if(!i)continue;o.children.add(i)}r.push(o)}o!==t.groups[t.groups.length-1]&&r.push(new Gg(i))}return r}_createMenuItemContentFromFactory({componentName:t,parentMenuView:e,componentFactory:n}){const i=n.create(t);return i instanceof ew||i instanceof Kf||i instanceof rw?(this._registerMenuTree(i,e),i.on("execute",(()=>{this.close()})),i):(ki("menu-bar-component-unsupported",{componentName:t,componentView:i}),null)}_registerMenuTree(t,e){if(!(t instanceof ew))return void t.delegate("mouseenter").to(e);this.registerMenu(t,e);const n=t.panelView.children.filter((t=>t instanceof nw))[0];if(!n)return void t.delegate("mouseenter").to(e);const i=n.items.filter((t=>t instanceof Ug));for(const e of i)this._registerMenuTree(e.children.get(0),t)}_setupIsOpenUpdater(){let t;this.on("menu:change:isOpen",((e,n,i)=>{clearTimeout(t),i?this.isOpen=!0:t=setTimeout((()=>{this.isOpen=Array.from(this.children).some((t=>t.isOpen))}),0)}))}}class lw extends sb{view;constructor(t,e){super(t),this.view=e}get element(){return this.view.editable.element}init(){const t=this.editor,e=this.view,n=t.editing.view,i=e.editable,r=n.document.getRoot();i.name=r.rootName,e.render();const o=i.element;this.setEditableElement(i.name,o),i.bind("isFocused").to(this.focusTracker),n.attachDomRoot(o),this._initPlaceholder(),this._initMenuBar(this.view.menuBarView),this.fire("ready")}destroy(){super.destroy();const t=this.view,e=this.editor.editing.view;e.getDomRoot(t.editable.name)&&e.detachDomRoot(t.editable.name),t.destroy()}_initPlaceholder(){const t=this.editor,e=t.editing.view,n=e.document.getRoot(),i=t.config.get("placeholder");if(i){const t="string"==typeof i?i:i[n.rootName];t&&(n.placeholder=t)}Xo({view:e,element:n,isDirectHost:!1,keepOnFocus:!0})}}class uw extends hb{editable;menuBarView;constructor(t,e,n,i){super(t),this.editable=new fb(t,e,n,{label:i}),this.menuBarView=new cw(t),this.menuBarView.extendTemplate({attributes:{class:["ck-reset_all","ck-rounded-corners"],dir:t.uiLanguageDirection}})}render(){super.render(),this.registerChild(this.editable),this.registerChild(this.menuBarView)}}class hw extends(Bd(Id)){ui;constructor(t,e={}){if(!dw(t)&&void 0!==e.initialData)throw new wi("editor-create-initial-data",null);super(e),void 0===this.config.get("initialData")&&this.config.set("initialData",function(t){return dw(t)?lr(t):t}(t)),dw(t)&&(this.sourceElement=t,Md(this,t));const n=this.config.get("plugins");n.push($b),this.config.set("plugins",n),this.config.define("balloonToolbar",this.config.get("toolbar")),this.model.document.createRoot();const i=new uw(this.locale,this.editing.view,this.sourceElement,this.config.get("label"));this.ui=new lw(this,i),function(t){if(!at(t.updateSourceElement))throw new wi("attachtoform-missing-elementapi-interface",t);const e=t.sourceElement;if(function(t){return!!t&&"textarea"===t.tagName.toLowerCase()}(e)&&e.form){let n;const i=e.form,r=()=>t.updateSourceElement();at(i.submit)&&(n=i.submit,i.submit=()=>{r(),n.apply(i)}),i.addEventListener("submit",r),t.on("destroy",(()=>{i.removeEventListener("submit",r),n&&(i.submit=n)}))}}(this)}destroy(){const t=this.getData();return this.ui.destroy(),super.destroy().then((()=>{this.sourceElement&&this.updateSourceElement(t)}))}static create(t,e={}){return new Promise((n=>{if(dw(t)&&"TEXTAREA"===t.tagName)throw new wi("editor-wrong-element",null);const i=new this(t,e);n(i.initPlugins().then((()=>i.ui.init())).then((()=>i.data.init(i.config.get("initialData")))).then((()=>i.fire("ready"))).then((()=>i)))}))}}function dw(t){return U(t)}var fw=n(9826),gw={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(fw.A,gw);fw.A.locals;var pw=n(2722),mw={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(pw.A,mw);pw.A.locals;var bw=n(9627),ww={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(bw.A,ww);bw.A.locals;class kw extends af{children;_findInputView;_replaceInputView;_findButtonView;_findPrevButtonView;_findNextButtonView;_advancedOptionsCollapsibleView;_matchCaseSwitchView;_wholeWordsOnlySwitchView;_replaceButtonView;_replaceAllButtonView;_inputsDivView;_actionButtonsDivView;_focusTracker;_keystrokes;_focusables;focusCycler;constructor(t){super(t);const e=t.t;this.children=this.createCollection(),this.set("matchCount",0),this.set("highlightOffset",0),this.set("isDirty",!1),this.set("_areCommandsEnabled",{}),this.set("_resultsCounterText",""),this.set("_matchCase",!1),this.set("_wholeWordsOnly",!1),this.bind("_searchResultsFound").to(this,"matchCount",this,"isDirty",((t,e)=>t>0&&!e)),this._findInputView=this._createInputField(e("Find in text…")),this._findPrevButtonView=this._createButton({label:e("Previous result"),class:"ck-button-prev",icon:Ld.previousArrow,keystroke:"Shift+F3",tooltip:!0}),this._findNextButtonView=this._createButton({label:e("Next result"),class:"ck-button-next",icon:Ld.previousArrow,keystroke:"F3",tooltip:!0}),this._replaceInputView=this._createInputField(e("Replace with…"),"ck-labeled-field-replace"),this._inputsDivView=this._createInputsDiv(),this._matchCaseSwitchView=this._createMatchCaseSwitch(),this._wholeWordsOnlySwitchView=this._createWholeWordsOnlySwitch(),this._advancedOptionsCollapsibleView=this._createAdvancedOptionsCollapsible(),this._replaceAllButtonView=this._createButton({label:e("Replace all"),class:"ck-button-replaceall",withText:!0}),this._replaceButtonView=this._createButton({label:e("Replace"),class:"ck-button-replace",withText:!0}),this._findButtonView=this._createButton({label:e("Find"),class:"ck-button-find ck-button-action",withText:!0}),this._actionButtonsDivView=this._createActionButtonsDiv(),this._focusTracker=new Eo,this._keystrokes=new To,this._focusables=new Od,this.focusCycler=new _f({focusables:this._focusables,focusTracker:this._focusTracker,keystrokeHandler:this._keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.children.addMany([this._inputsDivView,this._advancedOptionsCollapsibleView,this._actionButtonsDivView]),this.setTemplate({tag:"form",attributes:{class:["ck","ck-find-and-replace-form"],tabindex:"-1"},children:this.children})}render(){super.render(),lf({view:this}),this._initFocusCycling(),this._initKeystrokeHandling()}destroy(){super.destroy(),this._focusTracker.destroy(),this._keystrokes.destroy()}focus(t){-1===t?this.focusCycler.focusLast():this.focusCycler.focusFirst()}reset(){this._findInputView.errorText=null,this.isDirty=!0}get _textToFind(){return this._findInputView.fieldView.element.value}get _textToReplace(){return this._replaceInputView.fieldView.element.value}_createInputsDiv(){const t=this.locale,e=t.t,n=new af(t);return this._findInputView.fieldView.on("input",(()=>{this.isDirty=!0})),this._findPrevButtonView.delegate("execute").to(this,"findPrevious"),this._findNextButtonView.delegate("execute").to(this,"findNext"),this._findPrevButtonView.bind("isEnabled").to(this,"_areCommandsEnabled",(({findPrevious:t})=>t)),this._findNextButtonView.bind("isEnabled").to(this,"_areCommandsEnabled",(({findNext:t})=>t)),this._injectFindResultsCounter(),this._replaceInputView.bind("isEnabled").to(this,"_areCommandsEnabled",this,"_searchResultsFound",(({replace:t},e)=>t&&e)),this._replaceInputView.bind("infoText").to(this._replaceInputView,"isEnabled",this._replaceInputView,"isFocused",((t,n)=>t||!n?"":e("Tip: Find some text first in order to replace it."))),n.setTemplate({tag:"div",attributes:{class:["ck","ck-find-and-replace-form__inputs"]},children:[this._findInputView,this._findPrevButtonView,this._findNextButtonView,this._replaceInputView]}),n}_onFindButtonExecute(){if(this._textToFind)this.isDirty=!1,this.fire("findNext",{searchText:this._textToFind,matchCase:this._matchCase,wholeWords:this._wholeWordsOnly});else{const t=this.t;this._findInputView.errorText=t("Text to find must not be empty.")}}_injectFindResultsCounter(){const t=this.locale,e=t.t,n=this.bindTemplate,i=new af(this.locale);this.bind("_resultsCounterText").to(this,"highlightOffset",this,"matchCount",((t,n)=>e("%0 of %1",[t,n]))),i.setTemplate({tag:"span",attributes:{class:["ck","ck-results-counter",n.if("isDirty","ck-hidden")]},children:[{text:n.to("_resultsCounterText")}]});const r=()=>{const e=this._findInputView.fieldView.element;if(!e||!Sr(e))return;const n=new mr(i.element).width,r="ltr"===t.uiLanguageDirection?"paddingRight":"paddingLeft";e.style[r]=n?`calc( 2 * var(--ck-spacing-standard) + ${n}px )`:""};this.on("change:_resultsCounterText",r,{priority:"low"}),this.on("change:isDirty",r,{priority:"low"}),this._findInputView.template.children[0].children.push(i)}_createAdvancedOptionsCollapsible(){const t=this.locale.t,e=new hg(this.locale,[this._matchCaseSwitchView,this._wholeWordsOnlySwitchView]);return e.set({label:t("Advanced options"),isCollapsed:!0}),e}_createActionButtonsDiv(){const t=new af(this.locale);return this._replaceButtonView.bind("isEnabled").to(this,"_areCommandsEnabled",this,"_searchResultsFound",(({replace:t},e)=>t&&e)),this._replaceAllButtonView.bind("isEnabled").to(this,"_areCommandsEnabled",this,"_searchResultsFound",(({replaceAll:t},e)=>t&&e)),this._replaceButtonView.on("execute",(()=>{this.fire("replace",{searchText:this._textToFind,replaceText:this._textToReplace})})),this._replaceAllButtonView.on("execute",(()=>{this.fire("replaceAll",{searchText:this._textToFind,replaceText:this._textToReplace}),this.focus()})),this._findButtonView.on("execute",this._onFindButtonExecute.bind(this)),t.setTemplate({tag:"div",attributes:{class:["ck","ck-find-and-replace-form__actions"]},children:[this._replaceAllButtonView,this._replaceButtonView,this._findButtonView]}),t}_createMatchCaseSwitch(){const t=this.locale.t,e=new ig(this.locale);return e.set({label:t("Match case"),withText:!0}),e.bind("isOn").to(this,"_matchCase"),e.on("execute",(()=>{this._matchCase=!this._matchCase,this.isDirty=!0})),e}_createWholeWordsOnlySwitch(){const t=this.locale.t,e=new ig(this.locale);return e.set({label:t("Whole words only"),withText:!0}),e.bind("isOn").to(this,"_wholeWordsOnly"),e.on("execute",(()=>{this._wholeWordsOnly=!this._wholeWordsOnly,this.isDirty=!0})),e}_initFocusCycling(){[this._findInputView,this._findPrevButtonView,this._findNextButtonView,this._replaceInputView,this._advancedOptionsCollapsibleView.buttonView,this._matchCaseSwitchView,this._wholeWordsOnlySwitchView,this._replaceAllButtonView,this._replaceButtonView,this._findButtonView].forEach((t=>{this._focusables.add(t),this._focusTracker.add(t.element)}))}_initKeystrokeHandling(){const t=t=>t.stopPropagation(),e=t=>{t.stopPropagation(),t.preventDefault()};this._keystrokes.listenTo(this.element),this._keystrokes.set("f3",(t=>{e(t),this._findNextButtonView.fire("execute")})),this._keystrokes.set("shift+f3",(t=>{e(t),this._findPrevButtonView.fire("execute")})),this._keystrokes.set("enter",(t=>{const n=t.target;n===this._findInputView.fieldView.element?(this._areCommandsEnabled.findNext?this._findNextButtonView.fire("execute"):this._findButtonView.fire("execute"),e(t)):n!==this._replaceInputView.fieldView.element||this.isDirty||(this._replaceButtonView.fire("execute"),e(t))})),this._keystrokes.set("shift+enter",(t=>{t.target===this._findInputView.fieldView.element&&(this._areCommandsEnabled.findPrevious?this._findPrevButtonView.fire("execute"):this._findButtonView.fire("execute"),e(t))})),this._keystrokes.set("arrowright",t),this._keystrokes.set("arrowleft",t),this._keystrokes.set("arrowup",t),this._keystrokes.set("arrowdown",t)}_createButton(t){const e=new bf(this.locale);return e.set(t),e}_createInputField(t,e){const n=new Tg(this.locale,Pp);return n.label=t,n.class=e,n}}const vw='';class yw extends Oo{static get requires(){return[zf]}static get pluginName(){return"FindAndReplaceUI"}formView;constructor(t){super(t),t.config.define("findAndReplace.uiType","dialog"),this.formView=null}init(){const t=this.editor,e="dropdown"===t.config.get("findAndReplace.uiType"),n=t.commands.get("find"),i=this.editor.t;t.ui.componentFactory.add("findAndReplace",(()=>{let i;return e?(i=this._createDropdown(),i.bind("isEnabled").to(n)):i=this._createDialogButtonForToolbar(),t.keystrokes.set("Ctrl+F",((e,r)=>{if(n.isEnabled){if(i instanceof jg){const t=i.buttonView;t.isOn||t.fire("execute")}else i.isOn?t.plugins.get("Dialog").view.focus():i.fire("execute");r()}})),i})),e||t.ui.componentFactory.add("menuBar:findAndReplace",(()=>this._createDialogButtonForMenuBar())),t.accessibility.addKeystrokeInfos({keystrokes:[{label:i("Find in the document"),keystroke:"CTRL+F"}]})}_createDropdown(){const t=this.editor,e=t.locale.t,n=Ep(t.locale);return n.once("change:isOpen",(()=>{this.formView=this._createFormView(),this.formView.children.add(new yf(t.locale,{label:e("Find and replace")}),0),n.panelView.children.add(this.formView)})),n.on("change:isOpen",((t,e,n)=>{n?this._setupFormView():this.fire("searchReseted")}),{priority:"low"}),n.buttonView.set({icon:vw,label:e("Find and replace"),keystroke:"CTRL+F",tooltip:!0}),n}_createDialogButtonForToolbar(){const t=this.editor,e=this._createButton(bf),n=t.plugins.get("Dialog");return e.set({tooltip:!0}),e.bind("isOn").to(n,"id",(t=>"findAndReplace"===t)),e.on("execute",(()=>{e.isOn?n.hide():this._showDialog()})),e}_createDialogButtonForMenuBar(){const t=this._createButton(Kf),e=this.editor.plugins.get("Dialog"),n=this.editor.plugins.get("Dialog");return t.set({role:"menuitemcheckbox",isToggleable:!0}),t.bind("isOn").to(n,"id",(t=>"findAndReplace"===t)),t.on("execute",(()=>{"findAndReplace"!==e.id?this._showDialog():e.hide()})),t}_createButton(t){const e=this.editor,n=e.commands.get("find"),i=new t(e.locale),r=e.locale.t;return i.bind("isEnabled").to(n),i.set({icon:vw,label:r("Find and replace"),keystroke:"CTRL+F"}),i}_showDialog(){const t=this.editor,e=t.plugins.get("Dialog"),n=t.locale.t;this.formView||(this.formView=this._createFormView()),e.show({id:"findAndReplace",title:n("Find and replace"),content:this.formView,position:Lf,onShow:()=>{this._setupFormView()},onHide:()=>{this.fire("searchReseted")}})}_createFormView(){const t=this.editor,e=new(cf(kw))(t.locale),n=t.commands,i=this.editor.plugins.get("FindAndReplaceEditing").state;e.bind("highlightOffset").to(i,"highlightedOffset"),e.listenTo(i.results,"change",(()=>{e.matchCount=i.results.length}));const r=n.get("findNext"),o=n.get("findPrevious"),a=n.get("replace"),s=n.get("replaceAll");return e.bind("_areCommandsEnabled").to(r,"isEnabled",o,"isEnabled",a,"isEnabled",s,"isEnabled",((t,e,n,i)=>({findNext:t,findPrevious:e,replace:n,replaceAll:i}))),e.delegate("findNext","findPrevious","replace","replaceAll").to(this),e.on("change:isDirty",((t,e,n)=>{n&&this.fire("searchReseted")})),e}_setupFormView(){this.formView.disableCssTransitions(),this.formView.reset(),this.formView._findInputView.fieldView.select(),this.formView.enableCssTransitions()}}class _w extends Ro{_state;constructor(t,e){super(t),this.isEnabled=!0,this.affectsData=!1,this._state=e}execute(t,{matchCase:e,wholeWords:n}={}){const{editor:i}=this,{model:r}=i,o=i.plugins.get("FindAndReplaceUtils");let a,s="";a="string"==typeof t?(...i)=>({results:o.findByTextCallback(t,{matchCase:e,wholeWords:n})(...i),searchText:t}):t;const c=a;a=(...t)=>{const e=c(...t);return e&&"searchText"in e&&(s=e.searchText),e};const l=r.document.getRootNames().reduce(((t,e)=>o.updateFindResultFromRange(r.createRangeIn(r.document.getRoot(e)),r,a,t)),null);return this._state.clear(r),this._state.results.addMany(l),this._state.highlightedResult=l.get(0),this._state.searchText=s,a&&(this._state.lastSearchCallback=a),a&&(this._state.lastSearchCallback=a),this._state.matchCase=!!e,this._state.matchWholeWords=!!n,{results:l,findCallback:a}}}class Cw extends Ro{_state;constructor(t,e){super(t),this.isEnabled=!0,this._state=e,this._isEnabledBasedOnSelection=!1}_replace(t,e){const{model:n}=this.editor,i=e.marker.getRange();n.canEditAt(i)&&n.change((r=>{if("$graveyard"===i.root.rootName)return void this._state.results.remove(e);let o={};for(const t of i.getItems())if(t.is("$text")||t.is("$textProxy")){o=t.getAttributes();break}n.insertContent(r.createText(t,o),i),this._state.results.has(e)&&this._state.results.remove(e)}))}}class Aw extends Cw{execute(t,e){this._replace(t,e)}}class xw extends Cw{execute(t,e){const{editor:n}=this,{model:i}=n,r=n.plugins.get("FindAndReplaceUtils"),o=e instanceof Ao?e:i.document.getRootNames().reduce(((t,n)=>r.updateFindResultFromRange(i.createRangeIn(i.document.getRoot(n)),i,r.findByTextCallback(e,this._state),t)),null);o.length&&i.change((()=>{[...o].forEach((e=>{this._replace(t,e)}))}))}}class Ew extends Ro{_state;constructor(t,e){super(t),this.affectsData=!1,this._state=e,this.isEnabled=!1,this.listenTo(this._state.results,"change",(()=>{this.isEnabled=this._state.results.length>1}))}refresh(){this.isEnabled=this._state.results.length>1}execute(){const t=this._state.results,e=t.getIndex(this._state.highlightedResult),n=e+1>=t.length?0:e+1;this._state.highlightedResult=this._state.results.get(n)}}class Tw extends Ew{execute(){const t=this._state.results.getIndex(this._state.highlightedResult),e=t-1<0?this._state.results.length-1:t-1;this._state.highlightedResult=this._state.results.get(e)}}class Sw extends(Vi()){constructor(t){super(),this.set("results",new Ao),this.set("highlightedResult",null),this.set("highlightedOffset",0),this.set("searchText",""),this.set("replaceText",""),this.set("lastSearchCallback",null),this.set("matchCase",!1),this.set("matchWholeWords",!1),this.results.on("change",((e,{removed:n,index:i})=>{if(Array.from(n).length){let e=!1;if(t.change((i=>{for(const r of n)this.highlightedResult===r&&(e=!0),t.markers.has(r.marker.name)&&i.removeMarker(r.marker)})),e){const t=i>=this.results.length?0:i;this.highlightedResult=this.results.get(t)}}})),this.on("change:highlightedResult",(()=>{this.refreshHighlightOffset()}))}clear(t){this.searchText="",t.change((e=>{if(this.highlightedResult){const n=this.highlightedResult.marker.name.split(":")[1],i=t.markers.get(`findResultHighlighted:${n}`);i&&e.removeMarker(i)}[...this.results].forEach((({marker:t})=>{e.removeMarker(t)}))})),this.results.clear()}refreshHighlightOffset(){const{highlightedResult:t,results:e}=this,n={before:-1,same:0,after:1,different:1};this.highlightedOffset=t?Array.from(e).sort(((t,e)=>n[t.marker.getStart().compareWith(e.marker.getStart())])).indexOf(t)+1:0}}class Dw extends Oo{static get pluginName(){return"FindAndReplaceUtils"}updateFindResultFromRange(t,e,n,i){const r=i||new Ao;return e.change((i=>{[...t].forEach((({type:t,item:o})=>{if("elementStart"===t&&e.schema.checkChild(o,"$text")){let t=n({item:o,text:this.rangeToText(e.createRangeIn(o))});if(!t)return;"results"in t&&(t=t.results),t.forEach((t=>{const e=`findResult:${pi()}`,n=i.addMarker(e,{usingOperation:!1,affectsData:!1,range:i.createRange(i.createPositionAt(o,t.start),i.createPositionAt(o,t.end))}),a=function(t,e){const n=t.find((({marker:t})=>e.getStart().isBefore(t.getStart())));return n?t.getIndex(n):t.length}(r,n);(t=>r.find((e=>{const{marker:n}=e,i=n.getRange(),r=t.getRange();return i.isEqual(r)})))(n)||r.add({id:e,label:t.label,marker:n},a)}))}}))})),r}rangeToText(t){return Array.from(t.getItems()).reduce(((t,e)=>e.is("$text")||e.is("$textProxy")?t+e.data:`${t}\n`),"")}findByTextCallback(t,e){let n="gu";e.matchCase||(n+="i");let i=`(${Sb(t)})`;if(e.wholeWords){const e="[^a-zA-ZÀ-ɏḀ-ỿ]";new RegExp("^"+e).test(t)||(i=`(^|${e}|_)${i}`),new RegExp(e+"$").test(t)||(i=`${i}(?=_|${e}|$)`)}const r=new RegExp(i,n);return function({text:t}){return[...t.matchAll(r)].map(Iw)}}}function Iw(t){const e=t.length-1;let n=t.index;return 3===t.length&&(n+=t[1].length),{label:t[e],start:n,end:n+t[e].length}}var Bw=n(4341),Mw={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Bw.A,Mw);Bw.A.locals;class Pw extends Oo{static get requires(){return[Dw]}static get pluginName(){return"FindAndReplaceEditing"}state;init(){this.state=new Sw(this.editor.model),this.set("_isSearchActive",!1),this._defineConverters(),this._defineCommands(),this.listenTo(this.state,"change:highlightedResult",((t,e,n,i)=>{const{model:r}=this.editor;r.change((t=>{if(i){const e=i.marker.name.split(":")[1],n=r.markers.get(`findResultHighlighted:${e}`);n&&t.removeMarker(n)}if(n){const e=n.marker.name.split(":")[1];t.addMarker(`findResultHighlighted:${e}`,{usingOperation:!1,affectsData:!1,range:n.marker.getRange()})}}))}));const t=L(((t,e,n)=>{if(n){const t=this.editor.editing.view.domConverter,e=this.editor.editing.mapper.toViewRange(n.marker.getRange());Pr({target:t.viewRangeToDom(e),viewportOffset:40})}}).bind(this),32);this.listenTo(this.state,"change:highlightedResult",t,{priority:"low"}),this.listenTo(this.editor,"destroy",t.cancel),this.on("change:_isSearchActive",((t,e,n)=>{n?this.listenTo(this.editor.model.document,"change:data",this._onDocumentChange):this.stopListening(this.editor.model.document,"change:data",this._onDocumentChange)}))}find(t,e){return this._isSearchActive=!0,this.editor.execute("find",t,e),this.state.results}stop(){this.state.clear(this.editor.model),this._isSearchActive=!1}_defineCommands(){this.editor.commands.add("find",new _w(this.editor,this.state)),this.editor.commands.add("findNext",new Ew(this.editor,this.state)),this.editor.commands.add("findPrevious",new Tw(this.editor,this.state)),this.editor.commands.add("replace",new Aw(this.editor,this.state)),this.editor.commands.add("replaceAll",new xw(this.editor,this.state))}_defineConverters(){const{editor:t}=this;t.conversion.for("editingDowncast").markerToHighlight({model:"findResult",view:({markerName:t})=>{const[,e]=t.split(":");return{name:"span",classes:["ck-find-result"],attributes:{"data-find-result":e}}}}),t.conversion.for("editingDowncast").markerToHighlight({model:"findResultHighlighted",view:({markerName:t})=>{const[,e]=t.split(":");return{name:"span",classes:["ck-find-result_selected"],attributes:{"data-find-result":e}}}})}_onDocumentChange=()=>{const t=new Set,e=new Set,n=this.editor.model,{results:i}=this.state,r=n.document.differ.getChanges(),o=n.document.differ.getChangedMarkers();r.forEach((i=>{i.position&&("$text"===i.name||i.position.nodeAfter&&n.schema.isInline(i.position.nodeAfter)?(t.add(i.position.parent),[...n.markers.getMarkersAtPosition(i.position)].forEach((t=>{e.add(t.name)}))):"insert"===i.type&&i.position.nodeAfter&&t.add(i.position.nodeAfter))})),o.forEach((({name:t,data:{newRange:n}})=>{n&&"$graveyard"===n.start.root.rootName&&e.add(t)})),t.forEach((t=>{[...n.markers.getMarkersIntersectingRange(n.createRangeIn(t))].forEach((t=>e.add(t.name)))})),e.forEach((t=>{i.has(t)&&(i.get(t)===this.state.highlightedResult&&(this.state.highlightedResult=null),i.remove(t))}));const a=[],s=this.editor.plugins.get("FindAndReplaceUtils");t.forEach((t=>{const e=s.updateFindResultFromRange(n.createRangeOn(t),n,this.state.lastSearchCallback,i);a.push(...e)})),o.forEach((t=>{if(t.data.newRange){const e=s.updateFindResultFromRange(t.data.newRange,n,this.state.lastSearchCallback,i);a.push(...e)}})),!this.state.highlightedResult&&a.length?this.state.highlightedResult=a[0]:this.state.refreshHighlightOffset()}}class Lw extends(Vi()){total;_reader;_data;constructor(){super();const t=new window.FileReader;this._reader=t,this._data=void 0,this.set("loaded",0),t.onprogress=t=>{this.loaded=t.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;return t?(this.total=t.size,new Promise(((n,i)=>{e.onload=()=>{const t=e.result;this._data=t,n(t)},e.onerror=()=>{i("error")},e.onabort=()=>{i("aborted")},this._reader.readAsDataURL(t)}))):new Promise(((t,e)=>{e("error")}))}abort(){this._reader.abort()}}class Ow extends Oo{loaders=new Ao;_loadersMap=new Map;_pendingAction=null;static get pluginName(){return"FileRepository"}static get requires(){return[Pd]}init(){this.loaders.on("change",(()=>this._updatePendingAction())),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",((t,e)=>e?t/e*100:0))}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter)return ki("filerepository-no-upload-adapter"),null;const e=new Nw(Promise.resolve(t),this.createUploadAdapter);return this.loaders.add(e),this._loadersMap.set(t,e),t instanceof Promise&&e.file.then((t=>{this._loadersMap.set(t,e)})).catch((()=>{})),e.on("change:uploaded",(()=>{let t=0;for(const e of this.loaders)t+=e.uploaded;this.uploaded=t})),e.on("change:uploadTotal",(()=>{let t=0;for(const e of this.loaders)e.uploadTotal&&(t+=e.uploadTotal);this.uploadTotal=t})),e}destroyLoader(t){const e=t instanceof Nw?t:this.getLoader(t);e._destroy(),this.loaders.remove(e),this._loadersMap.forEach(((t,n)=>{t===e&&this._loadersMap.delete(n)}))}_updatePendingAction(){const t=this.editor.plugins.get(Pd);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t,n=t=>`${e("Upload in progress")} ${parseInt(t)}%.`;this._pendingAction=t.add(n(this.uploadedPercent)),this._pendingAction.bind("message").to(this,"uploadedPercent",n)}}else t.remove(this._pendingAction),this._pendingAction=null}}class Nw extends(Vi()){id;_filePromiseWrapper;_adapter;_reader;constructor(t,e){super(),this.id=pi(),this._filePromiseWrapper=this._createFilePromiseWrapper(t),this._adapter=e(this),this._reader=new Lw,this.set("status","idle"),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",((t,e)=>e?t/e*100:0)),this.set("uploadResponse",null)}get file(){return this._filePromiseWrapper?this._filePromiseWrapper.promise.then((t=>this._filePromiseWrapper?t:null)):Promise.resolve(null)}get data(){return this._reader.data}read(){if("idle"!=this.status)throw new wi("filerepository-read-wrong-status",this);return this.status="reading",this.file.then((t=>this._reader.read(t))).then((t=>{if("reading"!==this.status)throw this.status;return this.status="idle",t})).catch((t=>{if("aborted"===t)throw this.status="aborted","aborted";throw this.status="error",this._reader.error?this._reader.error:t}))}upload(){if("idle"!=this.status)throw new wi("filerepository-upload-wrong-status",this);return this.status="uploading",this.file.then((()=>this._adapter.upload())).then((t=>(this.uploadResponse=t,this.status="idle",t))).catch((t=>{if("aborted"===this.status)throw"aborted";throw this.status="error",t}))}abort(){const t=this.status;this.status="aborted",this._filePromiseWrapper.isFulfilled?"reading"==t?this._reader.abort():"uploading"==t&&this._adapter.abort&&this._adapter.abort():(this._filePromiseWrapper.promise.catch((()=>{})),this._filePromiseWrapper.rejecter("aborted")),this._destroy()}_destroy(){this._filePromiseWrapper=void 0,this._reader=void 0,this._adapter=void 0,this.uploadResponse=void 0}_createFilePromiseWrapper(t){const e={};return e.promise=new Promise(((n,i)=>{e.rejecter=i,e.isFulfilled=!1,t.then((t=>{e.isFulfilled=!0,n(t)})).catch((t=>{e.isFulfilled=!0,i(t)}))})),e}}const Rw="ckCsrfToken",Fw="abcdefghijklmnopqrstuvwxyz0123456789";function jw(){let t=function(t){t=t.toLowerCase();const e=document.cookie.split(";");for(const n of e){const e=n.split("=");if(decodeURIComponent(e[0].trim().toLowerCase())===t)return decodeURIComponent(e[1])}return null}(Rw);return t&&40==t.length||(t=function(t){let e="";const n=new Uint8Array(t);window.crypto.getRandomValues(n);for(let t=0;t.5?i.toUpperCase():i}return e}(40),function(t,e){document.cookie=encodeURIComponent(t)+"="+encodeURIComponent(e)+";path=/"}(Rw,t)),t}class $w{loader;url;t;xhr;constructor(t,e,n){this.loader=t,this.url=e,this.t=n}upload(){return this.loader.file.then((t=>new Promise(((e,n)=>{this._initRequest(),this._initListeners(e,n,t),this._sendRequest(t)}))))}abort(){this.xhr&&this.xhr.abort()}_initRequest(){const t=this.xhr=new XMLHttpRequest;t.open("POST",this.url,!0),t.responseType="json"}_initListeners(t,e,n){const i=this.xhr,r=this.loader,o=(0,this.t)("Cannot upload file:")+` ${n.name}.`;i.addEventListener("error",(()=>e(o))),i.addEventListener("abort",(()=>e())),i.addEventListener("load",(()=>{const n=i.response;if(!n||!n.uploaded)return e(n&&n.error&&n.error.message?n.error.message:o);t({default:n.url})})),i.upload&&i.upload.addEventListener("progress",(t=>{t.lengthComputable&&(r.uploadTotal=t.total,r.uploaded=t.loaded)}))}_sendRequest(t){const e=new FormData;e.append("upload",t),e.append("ckCsrfToken",jw()),this.xhr.send(e)}}class zw{model;limit;_isLocked;_size;_batch=null;_changeCallback;_selectionChangeCallback;constructor(t,e=20){this.model=t,this._size=0,this.limit=e,this._isLocked=!1,this._changeCallback=(t,e)=>{e.isLocal&&e.isUndoable&&e!==this._batch&&this._reset(!0)},this._selectionChangeCallback=()=>{this._reset()},this.model.document.on("change",this._changeCallback),this.model.document.selection.on("change:range",this._selectionChangeCallback),this.model.document.selection.on("change:attribute",this._selectionChangeCallback)}get batch(){return this._batch||(this._batch=this.model.createBatch({isTyping:!0})),this._batch}get size(){return this._size}input(t){this._size+=t,this._size>=this.limit&&this._reset(!0)}get isLocked(){return this._isLocked}lock(){this._isLocked=!0}unlock(){this._isLocked=!1}destroy(){this.model.document.off("change",this._changeCallback),this.model.document.selection.off("change:range",this._selectionChangeCallback),this.model.document.selection.off("change:attribute",this._selectionChangeCallback)}_reset(t=!1){this.isLocked&&!t||(this._batch=null,this._size=0)}}class Vw extends Ro{_buffer;constructor(t,e){super(t),this._buffer=new zw(t.model,e),this._isEnabledBasedOnSelection=!1}get buffer(){return this._buffer}destroy(){super.destroy(),this._buffer.destroy()}execute(t={}){const e=this.editor.model,n=e.document,i=t.text||"",r=i.length;let o=n.selection;if(t.selection?o=t.selection:t.range&&(o=e.createSelection(t.range)),!e.canEditAt(o))return;const a=t.resultRange;e.enqueueChange(this._buffer.batch,(t=>{this._buffer.lock();const s=Array.from(n.selection.getAttributes());e.deleteContent(o),i&&e.insertContent(t.createText(i,s),o),a?t.setSelection(a):o.is("documentSelection")||t.setSelection(o),this._buffer.unlock(),this._buffer.input(r)}))}}const Hw=["insertText","insertReplacementText"],qw=[...Hw,"insertCompositionText"];class Uw extends Xs{focusObserver;constructor(t){super(t),this.focusObserver=t.getObserver(xc);const e=Jn.isAndroid?qw:Hw,n=t.document;n.on("beforeinput",((i,r)=>{if(!this.isEnabled)return;const{data:o,targetRanges:a,inputType:s,domEvent:c}=r;if(!e.includes(s))return;this.focusObserver.flush();const l=new fi(n,"insertText");n.fire(l,new Qs(t,c,{text:o,selection:t.createSelection(a)})),l.stop.called&&i.stop()})),Jn.isAndroid||n.on("compositionend",((e,{data:i,domEvent:r})=>{this.isEnabled&&i&&n.fire("insertText",new Qs(t,r,{text:i}))}),{priority:"lowest"})}observe(){}stopObserving(){}}class Gw extends Oo{_compositionQueue;static get pluginName(){return"Input"}init(){const t=this.editor,e=t.model,n=t.editing.view,i=t.editing.mapper,r=e.document.selection;this._compositionQueue=new Ww(t),n.addObserver(Uw);const o=new Vw(t,t.config.get("typing.undoStep")||20);t.commands.add("insertText",o),t.commands.add("input",o),this.listenTo(n.document,"insertText",((o,a)=>{n.document.isComposing||a.preventDefault(),Jn.isAndroid&&n.document.isComposing&&this._compositionQueue.flush("next beforeinput");const{text:s,selection:c}=a;let l;l=c?Array.from(c.getRanges()).map((t=>i.toModelRange(t))):Array.from(r.getRanges());let u=s;if(Jn.isAndroid){const t=Array.from(l[0].getItems()).reduce(((t,e)=>t+(e.is("$textProxy")?e.data:"")),"");if(t&&(t.length<=u.length?u.startsWith(t)&&(u=u.substring(t.length),l[0].start=l[0].start.getShiftedBy(t.length)):t.startsWith(u)&&(l[0].start=l[0].start.getShiftedBy(u.length),u="")),0==u.length&&l[0].isCollapsed)return}const h={text:u,selection:e.createSelection(l)};Jn.isAndroid&&n.document.isComposing?this._compositionQueue.push(h):(t.execute("insertText",h),n.scrollToTheSelection())})),Jn.isAndroid?this.listenTo(n.document,"keydown",((t,i)=>{!r.isCollapsed&&229==i.keyCode&&n.document.isComposing&&Kw(e,o)})):this.listenTo(n.document,"compositionstart",(()=>{r.isCollapsed||Kw(e,o)})),Jn.isAndroid?(this.listenTo(n.document,"mutations",((t,{mutations:e})=>{if(n.document.isComposing)for(const{node:t}of e){const e=Yw(t,i),n=i.toModelElement(e);if(this._compositionQueue.isComposedElement(n))return void this._compositionQueue.flush("mutations")}})),this.listenTo(n.document,"compositionend",(()=>{this._compositionQueue.flush("composition end")})),this.listenTo(n.document,"compositionend",(()=>{const t=[];for(const e of this._compositionQueue.flushComposedElements()){const n=i.toViewElement(e);n&&t.push({type:"children",node:n})}t.length&&n.document.fire("mutations",{mutations:t})}),{priority:"lowest"})):this.listenTo(n.document,"compositionend",(()=>{n.document.fire("mutations",{mutations:[]})}),{priority:"lowest"})}destroy(){super.destroy(),this._compositionQueue.destroy()}}class Ww{editor;flushDebounced=L((()=>this.flush("timeout")),50);_queue=[];_compositionElements=new Set;constructor(t){this.editor=t}destroy(){for(this.flushDebounced.cancel(),this._compositionElements.clear();this._queue.length;)this.shift()}get length(){return this._queue.length}push(t){const e={text:t.text};if(t.selection){e.selectionRanges=[];for(const n of t.selection.getRanges())e.selectionRanges.push(ll.fromRange(n)),this._compositionElements.add(n.start.parent)}this._queue.push(e),this.flushDebounced()}shift(){const t=this._queue.shift(),e={text:t.text};if(t.selectionRanges){const n=t.selectionRanges.map((t=>function(t){const e=t.toRange();if(t.detach(),"$graveyard"==e.root.rootName)return null;return e}(t))).filter((t=>!!t));n.length&&(e.selection=this.editor.model.createSelection(n))}return e}flush(t){const e=this.editor,n=e.model,i=e.editing.view;if(this.flushDebounced.cancel(),!this._queue.length)return;const r=e.commands.get("insertText").buffer;n.enqueueChange(r.batch,(()=>{for(r.lock();this._queue.length;){const t=this.shift();e.execute("insertText",t)}r.unlock()})),i.scrollToTheSelection()}isComposedElement(t){return this._compositionElements.has(t)}flushComposedElements(){const t=Array.from(this._compositionElements);return this._compositionElements.clear(),t}}function Kw(t,e){if(!e.isEnabled)return;const n=e.buffer;n.lock(),t.enqueueChange(n.batch,(()=>{t.deleteContent(t.document.selection)})),n.unlock()}function Yw(t,e){let n=t.is("$text")?t.parent:t;for(;!e.toModelElement(n);)n=n.parent;return n}class Xw extends Ro{direction;_buffer;constructor(t,e){super(t),this.direction=e,this._buffer=new zw(t.model,t.config.get("typing.undoStep")),this._isEnabledBasedOnSelection=!1}get buffer(){return this._buffer}execute(t={}){const e=this.editor.model,n=e.document;e.enqueueChange(this._buffer.batch,(i=>{this._buffer.lock();const r=i.createSelection(t.selection||n.selection);if(!e.canEditAt(r))return;const o=t.sequence||1,a=r.isCollapsed;if(r.isCollapsed&&e.modifySelection(r,{direction:this.direction,unit:t.unit,treatEmojiAsSingleUnit:!0}),this._shouldEntireContentBeReplacedWithParagraph(o))return void this._replaceEntireContentWithParagraph(i);if(this._shouldReplaceFirstBlockWithParagraph(r,o))return void this.editor.execute("paragraph",{selection:r});if(r.isCollapsed)return;let s=0;r.getFirstRange().getMinimalFlatRanges().forEach((t=>{s+=Ki(t.getWalker({singleCharacters:!0,ignoreElementEnd:!0,shallow:!0}))})),e.deleteContent(r,{doNotResetEntireContent:a,direction:this.direction}),this._buffer.input(s),i.setSelection(r),this._buffer.unlock()}))}_shouldEntireContentBeReplacedWithParagraph(t){if(t>1)return!1;const e=this.editor.model,n=e.document.selection,i=e.schema.getLimitElement(n);if(!(n.isCollapsed&&n.containsEntireContent(i)))return!1;if(!e.schema.checkChild(i,"paragraph"))return!1;const r=i.getChild(0);return!r||!r.is("element","paragraph")}_replaceEntireContentWithParagraph(t){const e=this.editor.model,n=e.document.selection,i=e.schema.getLimitElement(n),r=t.createElement("paragraph");t.remove(t.createRangeIn(i)),t.insert(r,i),t.setSelection(r,0)}_shouldReplaceFirstBlockWithParagraph(t,e){const n=this.editor.model;if(e>1||"backward"!=this.direction)return!1;if(!t.isCollapsed)return!1;const i=t.getFirstPosition(),r=n.schema.getLimitElement(i),o=r.getChild(0);return i.parent==o&&(!!t.containsEntireContent(o)&&(!!n.schema.checkChild(r,"paragraph")&&"paragraph"!=o.name))}}const Zw="word",Qw="selection",Jw="backward",tk="forward",ek={deleteContent:{unit:Qw,direction:Jw},deleteContentBackward:{unit:"codePoint",direction:Jw},deleteWordBackward:{unit:Zw,direction:Jw},deleteHardLineBackward:{unit:Qw,direction:Jw},deleteSoftLineBackward:{unit:Qw,direction:Jw},deleteContentForward:{unit:"character",direction:tk},deleteWordForward:{unit:Zw,direction:tk},deleteHardLineForward:{unit:Qw,direction:tk},deleteSoftLineForward:{unit:Qw,direction:tk}};class nk extends Xs{constructor(t){super(t);const e=t.document;let n=0;e.on("keydown",(()=>{n++})),e.on("keyup",(()=>{n=0})),e.on("beforeinput",((i,r)=>{if(!this.isEnabled)return;const{targetRanges:o,domEvent:a,inputType:s}=r,c=ek[s];if(!c)return;const l={direction:c.direction,unit:c.unit,sequence:n};l.unit==Qw&&(l.selectionToRemove=t.createSelection(o[0])),"deleteContentBackward"===s&&(Jn.isAndroid&&(l.sequence=1),function(t){if(1!=t.length||t[0].isCollapsed)return!1;const e=t[0].getWalker({direction:"backward",singleCharacters:!0,ignoreElementEnd:!0});let n=0;for(const{nextPosition:t,item:i}of e){if(t.parent.is("$text")){const e=t.parent.data,i=t.offset;if(Io(e,i)||Bo(e,i)||Po(e,i))continue;n++}else(i.is("containerElement")||i.is("emptyElement"))&&n++;if(n>1)return!0}return!1}(o)&&(l.unit=Qw,l.selectionToRemove=t.createSelection(o)));const u=new Xa(e,"delete",o[0]);e.fire(u,new Qs(t,a,l)),u.stop.called&&i.stop()})),Jn.isBlink&&function(t){const e=t.view,n=e.document;let i=null,r=!1;function o(t){return t==Gr.backspace||t==Gr.delete}function a(t){return t==Gr.backspace?Jw:tk}n.on("keydown",((t,{keyCode:e})=>{i=e,r=!1})),n.on("keyup",((s,{keyCode:c,domEvent:l})=>{const u=n.selection,h=t.isEnabled&&c==i&&o(c)&&!u.isCollapsed&&!r;if(i=null,h){const t=u.getFirstRange(),i=new Xa(n,"delete",t),r={unit:Qw,direction:a(c),selectionToRemove:u};n.fire(i,new Qs(e,l,r))}})),n.on("beforeinput",((t,{inputType:e})=>{const n=ek[e];o(i)&&n&&n.direction==a(i)&&(r=!0)}),{priority:"high"}),n.on("beforeinput",((t,{inputType:e,data:n})=>{i==Gr.delete&&"insertText"==e&&""==n&&t.stop()}),{priority:"high"})}(this)}observe(){}stopObserving(){}}class ik extends Oo{_undoOnBackspace;static get pluginName(){return"Delete"}init(){const t=this.editor,e=t.editing.view,n=e.document,i=t.model.document;e.addObserver(nk),this._undoOnBackspace=!1;const r=new Xw(t,"forward");t.commands.add("deleteForward",r),t.commands.add("forwardDelete",r),t.commands.add("delete",new Xw(t,"backward")),this.listenTo(n,"delete",((i,r)=>{n.isComposing||r.preventDefault();const{direction:o,sequence:a,selectionToRemove:s,unit:c}=r,l="forward"===o?"deleteForward":"delete",u={sequence:a};if("selection"==c){const e=Array.from(s.getRanges()).map((e=>t.editing.mapper.toModelRange(e)));u.selection=t.model.createSelection(e)}else u.unit=c;t.execute(l,u),e.scrollToTheSelection()}),{priority:"low"}),this.editor.plugins.has("UndoEditing")&&(this.listenTo(n,"delete",((e,n)=>{this._undoOnBackspace&&"backward"==n.direction&&1==n.sequence&&"codePoint"==n.unit&&(this._undoOnBackspace=!1,t.execute("undo"),n.preventDefault(),e.stop())}),{context:"$capture"}),this.listenTo(i,"change",(()=>{this._undoOnBackspace=!1})))}requestUndoOnBackspace(){this.editor.plugins.has("UndoEditing")&&(this._undoOnBackspace=!0)}}class rk extends Oo{static get requires(){return[Gw,ik]}static get pluginName(){return"Typing"}}function ok(t,e){let n=t.start;return{text:Array.from(t.getWalker({ignoreElementEnd:!1})).reduce(((t,{item:i})=>i.is("$text")||i.is("$textProxy")?t+i.data:(n=e.createPositionAfter(i),"")),""),range:e.createRange(n,t.end)}}class ak extends(Vi()){model;testCallback;_hasMatch;constructor(t,e){super(),this.model=t,this.testCallback=e,this._hasMatch=!1,this.set("isEnabled",!0),this.on("change:isEnabled",(()=>{this.isEnabled?this._startListening():(this.stopListening(t.document.selection),this.stopListening(t.document))})),this._startListening()}get hasMatch(){return this._hasMatch}_startListening(){const t=this.model.document;this.listenTo(t.selection,"change:range",((e,{directChange:n})=>{n&&(t.selection.isCollapsed?this._evaluateTextBeforeSelection("selection"):this.hasMatch&&(this.fire("unmatched"),this._hasMatch=!1))})),this.listenTo(t,"change:data",((t,e)=>{!e.isUndo&&e.isLocal&&this._evaluateTextBeforeSelection("data",{batch:e})}))}_evaluateTextBeforeSelection(t,e={}){const n=this.model,i=n.document.selection,r=n.createRange(n.createPositionAt(i.focus.parent,0),i.focus),{text:o,range:a}=ok(r,n),s=this.testCallback(o);if(!s&&this.hasMatch&&this.fire("unmatched"),this._hasMatch=!!s,s){const n=Object.assign(e,{text:o,range:a});"object"==typeof s&&Object.assign(n,s),this.fire(`matched:${t}`,n)}}}class sk extends Oo{attributes;_overrideUid;_isNextGravityRestorationSkipped=!1;static get pluginName(){return"TwoStepCaretMovement"}constructor(t){super(t),this.attributes=new Set,this._overrideUid=null}init(){const t=this.editor,e=t.model,n=t.editing.view,i=t.locale,r=e.document.selection;this.listenTo(n.document,"arrowKey",((t,e)=>{if(!r.isCollapsed)return;if(e.shiftKey||e.altKey||e.ctrlKey)return;const n=e.keyCode==Gr.arrowright,o=e.keyCode==Gr.arrowleft;if(!n&&!o)return;const a=i.contentLanguageDirection;let s=!1;s="ltr"===a&&n||"rtl"===a&&o?this._handleForwardMovement(e):this._handleBackwardMovement(e),!0===s&&t.stop()}),{context:"$text",priority:"highest"}),this.listenTo(r,"change:range",((t,e)=>{this._isNextGravityRestorationSkipped?this._isNextGravityRestorationSkipped=!1:this._isGravityOverridden&&(!e.directChange&&fk(r.getFirstPosition(),this.attributes)||this._restoreGravity())})),this._enableClickingAfterNode(),this._enableInsertContentSelectionAttributesFixer(),this._handleDeleteContentAfterNode()}registerAttribute(t){this.attributes.add(t)}_handleForwardMovement(t){const e=this.attributes,n=this.editor.model,i=n.document.selection,r=i.getFirstPosition();return!this._isGravityOverridden&&((!r.isAtStart||!ck(i,e))&&(!!fk(r,e)&&(hk(t),ck(i,e)&&fk(r,e,!0)?uk(n,e):this._overrideGravity(),!0)))}_handleBackwardMovement(t){const e=this.attributes,n=this.editor.model,i=n.document.selection,r=i.getFirstPosition();return this._isGravityOverridden?(hk(t),this._restoreGravity(),fk(r,e,!0)?uk(n,e):lk(n,e,r),!0):r.isAtStart?!!ck(i,e)&&(hk(t),lk(n,e,r),!0):!ck(i,e)&&fk(r,e,!0)?(hk(t),lk(n,e,r),!0):!!dk(r,e)&&(r.isAtEnd&&!ck(i,e)&&fk(r,e)?(hk(t),lk(n,e,r),!0):(this._isNextGravityRestorationSkipped=!0,this._overrideGravity(),!1))}_enableClickingAfterNode(){const t=this.editor,e=t.model,n=e.document.selection,i=t.editing.view.document;t.editing.view.addObserver(Fh);let r=!1;this.listenTo(i,"mousedown",(()=>{r=!0})),this.listenTo(i,"selectionChange",(()=>{const t=this.attributes;if(!r)return;if(r=!1,!n.isCollapsed)return;if(!ck(n,t))return;const i=n.getFirstPosition();fk(i,t)&&(i.isAtStart||fk(i,t,!0)?uk(e,t):this._isGravityOverridden||this._overrideGravity())}))}_enableInsertContentSelectionAttributesFixer(){const t=this.editor.model,e=t.document.selection,n=this.attributes;this.listenTo(t,"insertContent",(()=>{const i=e.getFirstPosition();ck(e,n)&&fk(i,n)&&uk(t,n)}),{priority:"low"})}_handleDeleteContentAfterNode(){const t=this.editor,e=t.model,n=e.document.selection,i=t.editing.view;let r=!1,o=!1;this.listenTo(i.document,"delete",((t,e)=>{r="backward"===e.direction}),{priority:"high"}),this.listenTo(e,"deleteContent",(()=>{if(!r)return;const t=n.getFirstPosition();o=ck(n,this.attributes)&&!dk(t,this.attributes)}),{priority:"high"}),this.listenTo(e,"deleteContent",(()=>{r&&(r=!1,o||t.model.enqueueChange((()=>{const t=n.getFirstPosition();ck(n,this.attributes)&&fk(t,this.attributes)&&(t.isAtStart||fk(t,this.attributes,!0)?uk(e,this.attributes):this._isGravityOverridden||this._overrideGravity())})))}),{priority:"low"})}get _isGravityOverridden(){return!!this._overrideUid}_overrideGravity(){this._overrideUid=this.editor.model.change((t=>t.overrideSelectionGravity()))}_restoreGravity(){this.editor.model.change((t=>{t.restoreSelectionGravity(this._overrideUid),this._overrideUid=null}))}}function ck(t,e){for(const n of e)if(t.hasAttribute(n))return!0;return!1}function lk(t,e,n){const i=n.nodeBefore;t.change((n=>{if(i){const e=[],r=t.schema.isObject(i)&&t.schema.isInline(i);for(const[n,o]of i.getAttributes())!t.schema.checkAttribute("$text",n)||r&&!1===t.schema.getAttributeProperties(n).copyFromObject||e.push([n,o]);n.setSelectionAttribute(e)}else n.removeSelectionAttribute(e)}))}function uk(t,e){t.change((t=>{t.removeSelectionAttribute(e)}))}function hk(t){t.preventDefault()}function dk(t,e){return fk(t.getShiftedBy(-1),e)}function fk(t,e,n=!1){const{nodeBefore:i,nodeAfter:r}=t;for(const t of e){const e=i?i.getAttribute(t):void 0,o=r?r.getAttribute(t):void 0;if((!n||void 0!==e&&void 0!==o)&&o!==e)return!0}return!1}const gk={copyright:{from:"(c)",to:"©"},registeredTrademark:{from:"(r)",to:"®"},trademark:{from:"(tm)",to:"™"},oneHalf:{from:/(^|[^/a-z0-9])(1\/2)([^/a-z0-9])$/i,to:[null,"½",null]},oneThird:{from:/(^|[^/a-z0-9])(1\/3)([^/a-z0-9])$/i,to:[null,"⅓",null]},twoThirds:{from:/(^|[^/a-z0-9])(2\/3)([^/a-z0-9])$/i,to:[null,"⅔",null]},oneForth:{from:/(^|[^/a-z0-9])(1\/4)([^/a-z0-9])$/i,to:[null,"¼",null]},threeQuarters:{from:/(^|[^/a-z0-9])(3\/4)([^/a-z0-9])$/i,to:[null,"¾",null]},lessThanOrEqual:{from:"<=",to:"≤"},greaterThanOrEqual:{from:">=",to:"≥"},notEqual:{from:"!=",to:"≠"},arrowLeft:{from:"<-",to:"←"},arrowRight:{from:"->",to:"→"},horizontalEllipsis:{from:"...",to:"…"},enDash:{from:/(^| )(--)( )$/,to:[null,"–",null]},emDash:{from:/(^| )(---)( )$/,to:[null,"—",null]},quotesPrimary:{from:vk('"'),to:[null,"“",null,"”"]},quotesSecondary:{from:vk("'"),to:[null,"‘",null,"’"]},quotesPrimaryEnGb:{from:vk("'"),to:[null,"‘",null,"’"]},quotesSecondaryEnGb:{from:vk('"'),to:[null,"“",null,"”"]},quotesPrimaryPl:{from:vk('"'),to:[null,"„",null,"”"]},quotesSecondaryPl:{from:vk("'"),to:[null,"‚",null,"’"]}},pk={symbols:["copyright","registeredTrademark","trademark"],mathematical:["oneHalf","oneThird","twoThirds","oneForth","threeQuarters","lessThanOrEqual","greaterThanOrEqual","notEqual","arrowLeft","arrowRight"],typography:["horizontalEllipsis","enDash","emDash"],quotes:["quotesPrimary","quotesSecondary"]},mk=["symbols","mathematical","typography","quotes"];function bk(t){return"string"==typeof t?new RegExp(`(${Sb(t)})$`):t}function wk(t){return"string"==typeof t?()=>[t]:t instanceof Array?()=>t:t}function kk(t){return(t.textNode?t.textNode:t.nodeAfter).getAttributes()}function vk(t){return new RegExp(`(^|\\s)(${t})([^${t}]*)(${t})$`)}function yk(t,e,n,i){return i.createRange(_k(t,e,n,!0,i),_k(t,e,n,!1,i))}function _k(t,e,n,i,r){let o=t.textNode||(i?t.nodeBefore:t.nodeAfter),a=null;for(;o&&o.getAttribute(e)==n;)a=o,o=i?o.previousSibling:o.nextSibling;return a?r.createPositionAt(a,i?"before":"after"):t}function Ck(t,e,n,i){const r=t.editing.view,o=new Set;r.document.registerPostFixer((r=>{const a=t.model.document.selection;let s=!1;if(a.hasAttribute(e)){const c=yk(a.getFirstPosition(),e,a.getAttribute(e),t.model),l=t.editing.mapper.toViewRange(c);for(const t of l.getItems())t.is("element",n)&&!t.hasClass(i)&&(r.addClass(i,t),o.add(t),s=!0)}return s})),t.conversion.for("editingDowncast").add((t=>{function e(){r.change((t=>{for(const e of o.values())t.removeClass(i,e),o.delete(e)}))}t.on("insert",e,{priority:"highest"}),t.on("remove",e,{priority:"highest"}),t.on("attribute",e,{priority:"highest"}),t.on("selection",e,{priority:"highest"})}))}function Ak(t,e,n,i){let r,o=null;"function"==typeof i?r=i:(o=t.commands.get(i),r=()=>{t.execute(i)}),t.model.document.on("change:data",((a,s)=>{if(o&&!o.isEnabled||!e.isEnabled)return;const c=xo(t.model.document.selection.getRanges());if(!c.isCollapsed)return;if(s.isUndo||!s.isLocal)return;const l=Array.from(t.model.document.differ.getChanges()),u=l[0];if(1!=l.length||"insert"!==u.type||"$text"!=u.name||1!=u.length)return;const h=u.position.parent;if(h.is("element","codeBlock"))return;if(h.is("element","listItem")&&"function"!=typeof i&&!["numberedList","bulletedList","todoList"].includes(i))return;if(o&&!0===o.value)return;const d=h.getChild(0),f=t.model.createRangeOn(d);if(!f.containsRange(c)&&!c.end.isEqual(f.end))return;const g=n.exec(d.data.substr(0,c.end.offset));g&&t.model.enqueueChange((e=>{const n=e.createPositionAt(h,0),i=e.createPositionAt(h,g[0].length),o=new ll(n,i);if(!1!==r({match:g})){e.remove(o);const n=t.model.document.selection.getFirstRange(),i=e.createRangeIn(h);!h.isEmpty||i.isEqual(n)||i.containsRange(n,!0)||e.remove(h)}o.detach(),t.model.enqueueChange((()=>{t.plugins.get("Delete").requestUndoOnBackspace()}))}))}))}function xk(t,e,n,i){let r,o;n instanceof RegExp?r=n:o=n,o=o||(t=>{let e;const n=[],i=[];for(;null!==(e=r.exec(t))&&!(e&&e.length<4);){let{index:t,1:r,2:o,3:a}=e;const s=r+o+a;t+=e[0].length-s.length;const c=[t,t+r.length],l=[t+r.length+o.length,t+r.length+o.length+a.length];n.push(c),n.push(l),i.push([t+r.length,t+r.length+o.length])}return{remove:n,format:i}}),t.model.document.on("change:data",((n,r)=>{if(r.isUndo||!r.isLocal||!e.isEnabled)return;const a=t.model,s=a.document.selection;if(!s.isCollapsed)return;const c=Array.from(a.document.differ.getChanges()),l=c[0];if(1!=c.length||"insert"!==l.type||"$text"!=l.name||1!=l.length)return;const u=s.focus,h=u.parent,{text:d,range:f}=function(t,e){let n=t.start;const i=Array.from(t.getItems()).reduce(((t,i)=>!i.is("$text")&&!i.is("$textProxy")||i.getAttribute("code")?(n=e.createPositionAfter(i),""):t+i.data),"");return{text:i,range:e.createRange(n,t.end)}}(a.createRange(a.createPositionAt(h,0),u),a),g=o(d),p=Ek(f.start,g.format,a),m=Ek(f.start,g.remove,a);p.length&&m.length&&a.enqueueChange((e=>{if(!1!==i(e,p)){for(const t of m.reverse())e.remove(t);a.enqueueChange((()=>{t.plugins.get("Delete").requestUndoOnBackspace()}))}}))}))}function Ek(t,e,n){return e.filter((t=>void 0!==t[0]&&void 0!==t[1])).map((e=>n.createRange(t.getShiftedBy(e[0]),t.getShiftedBy(e[1]))))}class Tk extends Oo{static get requires(){return[ik]}static get pluginName(){return"Autoformat"}afterInit(){const t=this.editor,e=this.editor.t;this._addListAutoformats(),this._addBasicStylesAutoformats(),this._addHeadingAutoformats(),this._addBlockQuoteAutoformats(),this._addCodeBlockAutoformats(),this._addHorizontalLineAutoformats(),t.accessibility.addKeystrokeInfos({keystrokes:[{label:e("Revert autoformatting action"),keystroke:"Backspace"}]})}_addListAutoformats(){const t=this.editor.commands;t.get("bulletedList")&&Ak(this.editor,this,/^[*-]\s$/,"bulletedList"),t.get("numberedList")&&Ak(this.editor,this,/^1[.|)]\s$/,"numberedList"),t.get("todoList")&&Ak(this.editor,this,/^\[\s?\]\s$/,"todoList"),t.get("checkTodoList")&&Ak(this.editor,this,/^\[\s?x\s?\]\s$/,(()=>{this.editor.execute("todoList"),this.editor.execute("checkTodoList")}))}_addBasicStylesAutoformats(){const t=this.editor.commands;if(t.get("bold")){const t=Sk(this.editor,"bold");xk(this.editor,this,/(?:^|\s)(\*\*)([^*]+)(\*\*)$/g,t),xk(this.editor,this,/(?:^|\s)(__)([^_]+)(__)$/g,t)}if(t.get("italic")){const t=Sk(this.editor,"italic");xk(this.editor,this,/(?:^|\s)(\*)([^*_]+)(\*)$/g,t),xk(this.editor,this,/(?:^|\s)(_)([^_]+)(_)$/g,t)}if(t.get("code")){const t=Sk(this.editor,"code");xk(this.editor,this,/(`)([^`]+)(`)$/g,t)}if(t.get("strikethrough")){const t=Sk(this.editor,"strikethrough");xk(this.editor,this,/(~~)([^~]+)(~~)$/g,t)}}_addHeadingAutoformats(){const t=this.editor.commands.get("heading");t&&t.modelElements.filter((t=>t.match(/^heading[1-6]$/))).forEach((e=>{const n=e[7],i=new RegExp(`^(#{${n}})\\s$`);Ak(this.editor,this,i,(()=>{if(!t.isEnabled||t.value===e)return!1;this.editor.execute("heading",{value:e})}))}))}_addBlockQuoteAutoformats(){this.editor.commands.get("blockQuote")&&Ak(this.editor,this,/^>\s$/,"blockQuote")}_addCodeBlockAutoformats(){const t=this.editor,e=t.model.document.selection;t.commands.get("codeBlock")&&Ak(t,this,/^```$/,(()=>{if(e.getFirstPosition().parent.is("element","listItem"))return!1;this.editor.execute("codeBlock",{usePreviousLanguageChoice:!0})}))}_addHorizontalLineAutoformats(){this.editor.commands.get("horizontalLine")&&Ak(this.editor,this,/^---$/,"horizontalLine")}}function Sk(t,e){return(n,i)=>{if(!t.commands.get(e).isEnabled)return!1;const r=t.model.schema.getValidRanges(i,e);for(const t of r)n.setAttribute(e,!0,t);n.removeSelectionAttribute(e)}}class Dk extends Ro{attributeKey;constructor(t,e){super(t),this.attributeKey=e}refresh(){const t=this.editor.model,e=t.document;this.value=this._getValueFromFirstAllowedNode(),this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model,n=e.document.selection,i=void 0===t.forceValue?!this.value:t.forceValue;e.change((t=>{if(n.isCollapsed)i?t.setSelectionAttribute(this.attributeKey,!0):t.removeSelectionAttribute(this.attributeKey);else{const r=e.schema.getValidRanges(n.getRanges(),this.attributeKey);for(const e of r)i?t.setAttribute(this.attributeKey,i,e):t.removeAttribute(this.attributeKey,e)}}))}_getValueFromFirstAllowedNode(){const t=this.editor.model,e=t.schema,n=t.document.selection;if(n.isCollapsed)return n.hasAttribute(this.attributeKey);for(const t of n.getRanges())for(const n of t.getItems())if(e.checkAttribute(n,this.attributeKey))return n.hasAttribute(this.attributeKey);return!1}}const Ik="bold";class Bk extends Oo{static get pluginName(){return"BoldEditing"}init(){const t=this.editor,e=this.editor.t;t.model.schema.extend("$text",{allowAttributes:Ik}),t.model.schema.setAttributeProperties(Ik,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:Ik,view:"strong",upcastAlso:["b",t=>{const e=t.getStyle("font-weight");return e&&("bold"==e||Number(e)>=600)?{name:!0,styles:["font-weight"]}:null}]}),t.commands.add(Ik,new Dk(t,Ik)),t.keystrokes.set("CTRL+B",Ik),t.accessibility.addKeystrokeInfos({keystrokes:[{label:e("Bold text"),keystroke:"CTRL+B"}]})}}function Mk({editor:t,commandName:e,plugin:n,icon:i,label:r,keystroke:o}){return a=>{const s=t.commands.get(e),c=new a(t.locale);return c.set({label:r,icon:i,keystroke:o,isToggleable:!0}),c.bind("isEnabled").to(s,"isEnabled"),c.bind("isOn").to(s,"value"),c instanceof Kf?c.set({role:"menuitemcheckbox"}):c.set({tooltip:!0}),n.listenTo(c,"execute",(()=>{t.execute(e),t.editing.view.focus()})),c}}const Pk="bold";class Lk extends Oo{static get pluginName(){return"BoldUI"}init(){const t=this.editor,e=t.locale.t,n=Mk({editor:t,commandName:Pk,plugin:this,icon:Ld.bold,label:e("Bold"),keystroke:"CTRL+B"});t.ui.componentFactory.add(Pk,(()=>n(bf))),t.ui.componentFactory.add("menuBar:"+Pk,(()=>n(Kf)))}}const Ok="code";class Nk extends Oo{static get pluginName(){return"CodeEditing"}static get requires(){return[sk]}init(){const t=this.editor,e=this.editor.t;t.model.schema.extend("$text",{allowAttributes:Ok}),t.model.schema.setAttributeProperties(Ok,{isFormatting:!0,copyOnEnter:!1}),t.conversion.attributeToElement({model:Ok,view:"code",upcastAlso:{styles:{"word-wrap":"break-word"}}}),t.commands.add(Ok,new Dk(t,Ok)),t.plugins.get(sk).registerAttribute(Ok),Ck(t,Ok,"code","ck-code_selected"),t.accessibility.addKeystrokeInfos({keystrokes:[{label:e("Move out of an inline code style"),keystroke:[["arrowleft","arrowleft"],["arrowright","arrowright"]]}]})}}var Rk=n(4199),Fk={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Rk.A,Fk);Rk.A.locals;const jk="code";class $k extends Oo{static get pluginName(){return"CodeUI"}init(){const t=this.editor,e=t.locale.t,n=Mk({editor:t,commandName:jk,plugin:this,icon:'',label:e("Code")});t.ui.componentFactory.add(jk,(()=>n(bf))),t.ui.componentFactory.add("menuBar:"+jk,(()=>n(Kf)))}}const zk="italic";class Vk extends Oo{static get pluginName(){return"ItalicEditing"}init(){const t=this.editor,e=this.editor.t;t.model.schema.extend("$text",{allowAttributes:zk}),t.model.schema.setAttributeProperties(zk,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:zk,view:"i",upcastAlso:["em",{styles:{"font-style":"italic"}}]}),t.commands.add(zk,new Dk(t,zk)),t.keystrokes.set("CTRL+I",zk),t.accessibility.addKeystrokeInfos({keystrokes:[{label:e("Italic text"),keystroke:"CTRL+I"}]})}}const Hk="italic";class qk extends Oo{static get pluginName(){return"ItalicUI"}init(){const t=this.editor,e=t.locale.t,n=Mk({editor:t,commandName:Hk,plugin:this,icon:'',keystroke:"CTRL+I",label:e("Italic")});t.ui.componentFactory.add(Hk,(()=>n(bf))),t.ui.componentFactory.add("menuBar:"+Hk,(()=>n(Kf)))}}const Uk="strikethrough";class Gk extends Oo{static get pluginName(){return"StrikethroughEditing"}init(){const t=this.editor,e=this.editor.t;t.model.schema.extend("$text",{allowAttributes:Uk}),t.model.schema.setAttributeProperties(Uk,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:Uk,view:"s",upcastAlso:["del","strike",{styles:{"text-decoration":"line-through"}}]}),t.commands.add(Uk,new Dk(t,Uk)),t.keystrokes.set("CTRL+SHIFT+X","strikethrough"),t.accessibility.addKeystrokeInfos({keystrokes:[{label:e("Strikethrough text"),keystroke:"CTRL+SHIFT+X"}]})}}const Wk="strikethrough";class Kk extends Oo{static get pluginName(){return"StrikethroughUI"}init(){const t=this.editor,e=t.locale.t,n=Mk({editor:t,commandName:Wk,plugin:this,icon:'',keystroke:"CTRL+SHIFT+X",label:e("Strikethrough")});t.ui.componentFactory.add(Wk,(()=>n(bf))),t.ui.componentFactory.add("menuBar:"+Wk,(()=>n(Kf)))}}const Yk="subscript";class Xk extends Oo{static get pluginName(){return"SubscriptEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:Yk}),t.model.schema.setAttributeProperties(Yk,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:Yk,view:"sub",upcastAlso:[{styles:{"vertical-align":"sub"}}]}),t.commands.add(Yk,new Dk(t,Yk))}}const Zk="subscript";class Qk extends Oo{static get pluginName(){return"SubscriptUI"}init(){const t=this.editor,e=t.locale.t,n=Mk({editor:t,commandName:Zk,plugin:this,icon:'',label:e("Subscript")});t.ui.componentFactory.add(Zk,(()=>n(bf))),t.ui.componentFactory.add("menuBar:"+Zk,(()=>n(Kf)))}}const Jk="superscript";class tv extends Oo{static get pluginName(){return"SuperscriptEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:Jk}),t.model.schema.setAttributeProperties(Jk,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:Jk,view:"sup",upcastAlso:[{styles:{"vertical-align":"super"}}]}),t.commands.add(Jk,new Dk(t,Jk))}}const ev="superscript";class nv extends Oo{static get pluginName(){return"SuperscriptUI"}init(){const t=this.editor,e=t.locale.t,n=Mk({editor:t,commandName:ev,plugin:this,icon:'',label:e("Superscript")});t.ui.componentFactory.add(ev,(()=>n(bf))),t.ui.componentFactory.add("menuBar:"+ev,(()=>n(Kf)))}}const iv="underline";class rv extends Oo{static get pluginName(){return"UnderlineEditing"}init(){const t=this.editor,e=this.editor.t;t.model.schema.extend("$text",{allowAttributes:iv}),t.model.schema.setAttributeProperties(iv,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:iv,view:"u",upcastAlso:{styles:{"text-decoration":"underline"}}}),t.commands.add(iv,new Dk(t,iv)),t.keystrokes.set("CTRL+U","underline"),t.accessibility.addKeystrokeInfos({keystrokes:[{label:e("Underline text"),keystroke:"CTRL+U"}]})}}const ov="underline";class av extends Oo{static get pluginName(){return"UnderlineUI"}init(){const t=this.editor,e=t.locale.t,n=Mk({editor:t,commandName:ov,plugin:this,icon:'',label:e("Underline"),keystroke:"CTRL+U"});t.ui.componentFactory.add(ov,(()=>n(bf))),t.ui.componentFactory.add("menuBar:"+ov,(()=>n(Kf)))}}function*sv(t,e){for(const n of e)n&&t.getAttributeProperties(n[0]).copyOnEnter&&(yield n)}class cv extends Ro{execute(){this.editor.model.change((t=>{this.enterBlock(t),this.fire("afterExecute",{writer:t})}))}enterBlock(t){const e=this.editor.model,n=e.document.selection,i=e.schema,r=n.isCollapsed,o=n.getFirstRange(),a=o.start.parent,s=o.end.parent;if(i.isLimit(a)||i.isLimit(s))return r||a!=s||e.deleteContent(n),!1;if(r){const e=sv(t.model.schema,n.getAttributes());return lv(t,o.start),t.setSelectionAttribute(e),!0}{const i=!(o.start.isAtStart&&o.end.isAtEnd),r=a==s;if(e.deleteContent(n,{leaveUnmerged:i}),i){if(r)return lv(t,n.focus),!0;t.setSelection(s,0)}}return!1}}function lv(t,e){t.split(e),t.setSelection(e.parent.nextSibling,0)}const uv={insertParagraph:{isSoft:!1},insertLineBreak:{isSoft:!0}};class hv extends Xs{constructor(t){super(t);const e=this.document;let n=!1;e.on("keydown",((t,e)=>{n=e.shiftKey})),e.on("beforeinput",((i,r)=>{if(!this.isEnabled)return;let o=r.inputType;Jn.isSafari&&n&&"insertParagraph"==o&&(o="insertLineBreak");const a=r.domEvent,s=uv[o];if(!s)return;const c=new Xa(e,"enter",r.targetRanges[0]);e.fire(c,new Qs(t,a,{isSoft:s.isSoft})),c.stop.called&&i.stop()}))}observe(){}stopObserving(){}}class dv extends Oo{static get pluginName(){return"Enter"}init(){const t=this.editor,e=t.editing.view,n=e.document,i=this.editor.t;e.addObserver(hv),t.commands.add("enter",new cv(t)),this.listenTo(n,"enter",((i,r)=>{n.isComposing||r.preventDefault(),r.isSoft||(t.execute("enter"),e.scrollToTheSelection())}),{priority:"low"}),t.accessibility.addKeystrokeInfos({keystrokes:[{label:i("Insert a hard break (a new paragraph)"),keystroke:"Enter"}]})}}class fv extends Ro{execute(){const t=this.editor.model,e=t.document;t.change((n=>{!function(t,e,n){const i=n.isCollapsed,r=n.getFirstRange(),o=r.start.parent,a=r.end.parent,s=o==a;if(i){const i=sv(t.schema,n.getAttributes());gv(t,e,r.end),e.removeSelectionAttribute(n.getAttributeKeys()),e.setSelectionAttribute(i)}else{const i=!(r.start.isAtStart&&r.end.isAtEnd);t.deleteContent(n,{leaveUnmerged:i}),s?gv(t,e,n.focus):i&&e.setSelection(a,0)}}(t,n,e.selection),this.fire("afterExecute",{writer:n})}))}refresh(){const t=this.editor.model,e=t.document;this.isEnabled=function(t,e){if(e.rangeCount>1)return!1;const n=e.anchor;if(!n||!t.checkChild(n,"softBreak"))return!1;const i=e.getFirstRange(),r=i.start.parent,o=i.end.parent;if((pv(r,t)||pv(o,t))&&r!==o)return!1;return!0}(t.schema,e.selection)}}function gv(t,e,n){const i=e.createElement("softBreak");t.insertContent(i,n),e.setSelection(i,"after")}function pv(t,e){return!t.is("rootElement")&&(e.isLimit(t)||pv(t.parent,e))}class mv extends Oo{static get pluginName(){return"ShiftEnter"}init(){const t=this.editor,e=t.model.schema,n=t.conversion,i=t.editing.view,r=i.document,o=this.editor.t;e.register("softBreak",{allowWhere:"$text",isInline:!0}),n.for("upcast").elementToElement({model:"softBreak",view:"br"}),n.for("downcast").elementToElement({model:"softBreak",view:(t,{writer:e})=>e.createEmptyElement("br")}),i.addObserver(hv),t.commands.add("shiftEnter",new fv(t)),this.listenTo(r,"enter",((e,n)=>{r.isComposing||n.preventDefault(),n.isSoft&&(t.execute("shiftEnter"),i.scrollToTheSelection())}),{priority:"low"}),t.accessibility.addKeystrokeInfos({keystrokes:[{label:o("Insert a soft break (a <br> element)"),keystroke:"Shift+Enter"}]})}}class bv extends Ro{refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,n=e.schema,i=e.document.selection,r=Array.from(i.getSelectedBlocks()),o=void 0===t.forceValue?!this.value:t.forceValue;e.change((t=>{if(o){const e=r.filter((t=>wv(t)||vv(n,t)));this._applyQuote(t,e)}else this._removeQuote(t,r.filter(wv))}))}_getValue(){const t=xo(this.editor.model.document.selection.getSelectedBlocks());return!(!t||!wv(t))}_checkEnabled(){if(this.value)return!0;const t=this.editor.model.document.selection,e=this.editor.model.schema,n=xo(t.getSelectedBlocks());return!!n&&vv(e,n)}_removeQuote(t,e){kv(t,e).reverse().forEach((e=>{if(e.start.isAtStart&&e.end.isAtEnd)return void t.unwrap(e.start.parent);if(e.start.isAtStart){const n=t.createPositionBefore(e.start.parent);return void t.move(e,n)}e.end.isAtEnd||t.split(e.end);const n=t.createPositionAfter(e.end.parent);t.move(e,n)}))}_applyQuote(t,e){const n=[];kv(t,e).reverse().forEach((e=>{let i=wv(e.start);i||(i=t.createElement("blockQuote"),t.wrap(e,i)),n.push(i)})),n.reverse().reduce(((e,n)=>e.nextSibling==n?(t.merge(t.createPositionAfter(e)),e):n))}}function wv(t){return"blockQuote"==t.parent.name?t.parent:null}function kv(t,e){let n,i=0;const r=[];for(;i{const i=t.model.document.differ.getChanges();for(const t of i)if("insert"==t.type){const i=t.position.nodeAfter;if(!i)continue;if(i.is("element","blockQuote")&&i.isEmpty)return n.remove(i),!0;if(i.is("element","blockQuote")&&!e.checkChild(t.position,i))return n.unwrap(i),!0;if(i.is("element")){const t=n.createRangeIn(i);for(const i of t.getItems())if(i.is("element","blockQuote")&&!e.checkChild(n.createPositionBefore(i),i))return n.unwrap(i),!0}}else if("remove"==t.type){const e=t.position.parent;if(e.is("element","blockQuote")&&e.isEmpty)return n.remove(e),!0}return!1}));const n=this.editor.editing.view.document,i=t.model.document.selection,r=t.commands.get("blockQuote");this.listenTo(n,"enter",((e,n)=>{if(!i.isCollapsed||!r.value)return;i.getLastPosition().parent.isEmpty&&(t.execute("blockQuote"),t.editing.view.scrollToTheSelection(),n.preventDefault(),e.stop())}),{context:"blockquote"}),this.listenTo(n,"delete",((e,n)=>{if("backward"!=n.direction||!i.isCollapsed||!r.value)return;const o=i.getLastPosition().parent;o.isEmpty&&!o.previousSibling&&(t.execute("blockQuote"),t.editing.view.scrollToTheSelection(),n.preventDefault(),e.stop())}),{context:"blockquote"})}}var _v=n(8708),Cv={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(_v.A,Cv);_v.A.locals;class Av extends Oo{static get pluginName(){return"BlockQuoteUI"}init(){const t=this.editor;t.ui.componentFactory.add("blockQuote",(()=>{const t=this._createButton(bf);return t.set({tooltip:!0}),t})),t.ui.componentFactory.add("menuBar:blockQuote",(()=>{const t=this._createButton(Kf);return t.set({role:"menuitemcheckbox"}),t}))}_createButton(t){const e=this.editor,n=e.locale,i=e.commands.get("blockQuote"),r=new t(e.locale),o=n.t;return r.set({label:o("Block quote"),icon:Ld.quote,isToggleable:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value"),this.listenTo(r,"execute",(()=>{e.execute("blockQuote"),e.editing.view.focus()})),r}}class xv extends Ro{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}refresh(){const t=this.editor.model,e=xo(t.document.selection.getSelectedBlocks());this.value=!!e&&e.is("element","paragraph"),this.isEnabled=!!e&&Ev(e,t.schema)}execute(t={}){const e=this.editor.model,n=e.document,i=t.selection||n.selection;e.canEditAt(i)&&e.change((t=>{const n=i.getSelectedBlocks();for(const i of n)!i.is("element","paragraph")&&Ev(i,e.schema)&&t.rename(i,"paragraph")}))}}function Ev(t,e){return e.checkChild(t.parent,"paragraph")&&!e.isObject(t)}class Tv extends Ro{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}execute(t){const e=this.editor.model,n=t.attributes;let i=t.position;e.canEditAt(i)&&e.change((t=>{if(i=this._findPositionToInsertParagraph(i,t),!i)return;const r=t.createElement("paragraph");n&&e.schema.setAllowedAttributes(r,n,t),e.insertContent(r,i),t.setSelection(r,"in")}))}_findPositionToInsertParagraph(t,e){const n=this.editor.model;if(n.schema.checkChild(t,"paragraph"))return t;const i=n.schema.findAllowedParent(t,"paragraph");if(!i)return null;const r=t.parent,o=n.schema.checkChild(r,"$text");return r.isEmpty||o&&t.isAtEnd?n.createPositionAfter(r):!r.isEmpty&&o&&t.isAtStart?n.createPositionBefore(r):e.split(t,i).position}}class Sv extends Oo{static get pluginName(){return"Paragraph"}init(){const t=this.editor,e=t.model;t.commands.add("paragraph",new xv(t)),t.commands.add("insertParagraph",new Tv(t)),e.schema.register("paragraph",{inheritAllFrom:"$block"}),t.conversion.elementToElement({model:"paragraph",view:"p"}),t.conversion.for("upcast").elementToElement({model:(t,{writer:e})=>Sv.paragraphLikeElements.has(t.name)?t.isEmpty?null:e.createElement("paragraph"):null,view:/.+/,converterPriority:"low"})}static paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"])}class Dv extends Ro{modelElements;constructor(t,e){super(t),this.modelElements=e}refresh(){const t=xo(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name,this.isEnabled=!!t&&this.modelElements.some((e=>Iv(t,e,this.editor.model.schema)))}execute(t){const e=this.editor.model,n=e.document,i=t.value;e.change((t=>{const r=Array.from(n.selection.getSelectedBlocks()).filter((t=>Iv(t,i,e.schema)));for(const e of r)e.is("element",i)||t.rename(e,i)}))}}function Iv(t,e,n){return n.checkChild(t.parent,e)&&!n.isObject(t)}const Bv="paragraph";class Mv extends Oo{static get pluginName(){return"HeadingEditing"}constructor(t){super(t),t.config.define("heading",{options:[{model:"paragraph",title:"Paragraph",class:"ck-heading_paragraph"},{model:"heading1",view:"h2",title:"Heading 1",class:"ck-heading_heading1"},{model:"heading2",view:"h3",title:"Heading 2",class:"ck-heading_heading2"},{model:"heading3",view:"h4",title:"Heading 3",class:"ck-heading_heading3"}]})}static get requires(){return[Sv]}init(){const t=this.editor,e=t.config.get("heading.options"),n=[];for(const i of e)"paragraph"!==i.model&&(t.model.schema.register(i.model,{inheritAllFrom:"$block"}),t.conversion.elementToElement(i),n.push(i.model));this._addDefaultH1Conversion(t),t.commands.add("heading",new Dv(t,n))}afterInit(){const t=this.editor,e=t.commands.get("enter"),n=t.config.get("heading.options");e&&this.listenTo(e,"afterExecute",((e,i)=>{const r=t.model.document.selection.getFirstPosition().parent;n.some((t=>r.is("element",t.model)))&&!r.is("element",Bv)&&0===r.childCount&&i.writer.rename(r,Bv)}))}_addDefaultH1Conversion(t){t.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:mi.low+1})}}function Pv(t){const e=t.t,n={Paragraph:e("Paragraph"),"Heading 1":e("Heading 1"),"Heading 2":e("Heading 2"),"Heading 3":e("Heading 3"),"Heading 4":e("Heading 4"),"Heading 5":e("Heading 5"),"Heading 6":e("Heading 6")};return t.config.get("heading.options").map((t=>{const e=n[t.title];return e&&e!=t.title&&(t.title=e),t}))}var Lv=n(6269),Ov={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Lv.A,Ov);Lv.A.locals;class Nv extends Oo{static get pluginName(){return"HeadingUI"}init(){const t=this.editor,e=t.t,n=Pv(t),i=e("Choose heading"),r=e("Heading");t.ui.componentFactory.add("heading",(e=>{const o={},a=new Ao,s=t.commands.get("heading"),c=t.commands.get("paragraph"),l=[s];for(const t of n){const e={type:"button",model:new pb({label:t.title,class:t.class,role:"menuitemradio",withText:!0})};"paragraph"===t.model?(e.model.bind("isOn").to(c,"value"),e.model.set("commandName","paragraph"),l.push(c)):(e.model.bind("isOn").to(s,"value",(e=>e===t.model)),e.model.set({commandName:"heading",commandValue:t.model})),a.add(e),o[t.model]=t.title}const u=Ep(e);return Dp(u,a,{ariaLabel:r,role:"menu"}),u.buttonView.set({ariaLabel:r,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:r}),u.extendTemplate({attributes:{class:["ck-heading-dropdown"]}}),u.bind("isEnabled").toMany(l,"isEnabled",((...t)=>t.some((t=>t)))),u.buttonView.bind("label").to(s,"value",c,"value",((t,e)=>{const n=e?"paragraph":t;return"boolean"==typeof n?i:o[n]?o[n]:i})),u.buttonView.bind("ariaLabel").to(s,"value",c,"value",((t,e)=>{const n=e?"paragraph":t;return"boolean"==typeof n?r:o[n]?`${o[n]}, ${r}`:r})),this.listenTo(u,"execute",(e=>{const{commandName:n,commandValue:i}=e.source;t.execute(n,i?{value:i}:void 0),t.editing.view.focus()})),u})),t.ui.componentFactory.add("menuBar:heading",(i=>{const r=new ew(i),o=t.commands.get("heading"),a=t.commands.get("paragraph"),s=[o],c=new nw(i);r.set({class:"ck-heading-dropdown"}),c.set({ariaLabel:e("Heading"),role:"menu"}),r.buttonView.set({label:e("Heading")}),r.panelView.children.add(c);for(const e of n){const n=new Um(i,r),l=new Kf(i);n.children.add(l),c.items.add(n),l.set({isToggleable:!0,label:e.title,role:"menuitemradio",class:e.class}),l.delegate("execute").to(r),l.on("execute",(()=>{const n="paragraph"===e.model?"paragraph":"heading";t.execute(n,{value:e.model}),t.editing.view.focus()})),"paragraph"===e.model?(l.bind("isOn").to(a,"value"),s.push(a)):l.bind("isOn").to(o,"value",(t=>t===e.model))}return r.bind("isEnabled").toMany(s,"isEnabled",((...t)=>t.some((t=>t)))),r}))}}const Rv=(()=>({heading1:Ld.heading1,heading2:Ld.heading2,heading3:Ld.heading3,heading4:Ld.heading4,heading5:Ld.heading5,heading6:Ld.heading6}))();class Fv extends Js{domEventType=["paste","copy","cut","drop","dragover","dragstart","dragend","dragenter","dragleave"];constructor(t){super(t);const e=this.document;function n(t){return(n,i)=>{i.preventDefault();const r=i.dropRange?[i.dropRange]:null,o=new fi(e,t);e.fire(o,{dataTransfer:i.dataTransfer,method:n.name,targetRanges:r,target:i.target,domEvent:i.domEvent}),o.stop.called&&i.stopPropagation()}}this.listenTo(e,"paste",n("clipboardInput"),{priority:"low"}),this.listenTo(e,"drop",n("clipboardInput"),{priority:"low"}),this.listenTo(e,"dragover",n("dragging"),{priority:"low"})}onDomEvent(t){const e="clipboardData"in t?t.clipboardData:t.dataTransfer,n="drop"==t.type||"paste"==t.type,i={dataTransfer:new Sc(e,{cacheFiles:n})};if("drop"==t.type||"dragover"==t.type){const e=hr(t);i.dropRange=e&&this.view.domConverter.domRangeToView(e)}this.fire(t.type,t,i)}}const jv=["figcaption","li"],$v=["ol","ul"];function zv(t){if(t.is("$text")||t.is("$textProxy"))return t.data;if(t.is("element","img")&&t.hasAttribute("alt"))return t.getAttribute("alt");if(t.is("element","br"))return"\n";let e="",n=null;for(const i of t.getChildren())e+=Vv(i,n)+zv(i),n=i;return e}function Vv(t,e){return e?t.is("element","li")&&!t.isEmpty&&t.getChild(0).is("containerElement")||$v.includes(t.name)&&$v.includes(e.name)?"\n\n":t.is("containerElement")||e.is("containerElement")?jv.includes(t.name)||jv.includes(e.name)?"\n":t.is("element")&&t.getCustomProperty("dataPipeline:transparentRendering")||e.is("element")&&e.getCustomProperty("dataPipeline:transparentRendering")?"":"\n\n":"":""}const Hv=function(t,e){return t&&eo(t,e,Se)};const qv=function(t,e,n,i){var r=n.length,o=r,a=!i;if(null==t)return!o;for(t=Object(t);r--;){var s=n[r];if(a&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++rt.model.getSelectedContent(t.model.document.selection)){return this.editor.model.change((i=>{const r=i.model.document.selection;i.setSelection(e);const o=this._insertFakeMarkersIntoSelection(i,i.model.document.selection,t),a=n(i),s=this._removeFakeMarkersInsideElement(i,a);for(const[t,e]of Object.entries(o)){s[t]||=i.createRangeIn(a);for(const t of e)i.remove(t)}a.markers.clear();for(const[t,e]of Object.entries(s))a.markers.set(t,e);return i.setSelection(r),a}))}_pasteMarkersIntoTransformedElement(t,e){const n=this._getPasteMarkersFromRangeMap(t);return this.editor.model.change((t=>{const i=this._insertFakeMarkersElements(t,n),r=e(t),o=this._removeFakeMarkersInsideElement(t,r);for(const e of Object.values(i).flat())t.remove(e);for(const[e,n]of Object.entries(o))t.model.markers.has(e)||t.addMarker(e,{usingOperation:!0,affectsData:!0,range:n});return r}))}_pasteFragmentWithMarkers(t){const e=this._getPasteMarkersFromRangeMap(t.markers);t.markers.clear();for(const n of e)t.markers.set(n.name,n.range);return this.editor.model.insertContent(t)}_forceMarkersCopy(t,e,n={allowedActions:"all",copyPartiallySelected:!0,duplicateOnPaste:!0}){const i=this._markersToCopy.get(t);this._markersToCopy.set(t,n),e(),i?this._markersToCopy.set(t,i):this._markersToCopy.delete(t)}_isMarkerCopyable(t,e){const n=this._getMarkerClipboardConfig(t);if(!n)return!1;if(!e)return!0;const{allowedActions:i}=n;return"all"===i||i.includes(e)}_hasMarkerConfiguration(t){return!!this._getMarkerClipboardConfig(t)}_getMarkerClipboardConfig(t){const[e]=t.split(":");return this._markersToCopy.get(e)||null}_insertFakeMarkersIntoSelection(t,e,n){const i=this._getCopyableMarkersFromSelection(t,e,n);return this._insertFakeMarkersElements(t,i)}_getCopyableMarkersFromSelection(t,e,n){const i=Array.from(e.getRanges()),r=new Set(i.flatMap((e=>Array.from(t.model.markers.getMarkersIntersectingRange(e)))));return Array.from(r).filter((t=>{if(!this._isMarkerCopyable(t.name,n))return!1;const{copyPartiallySelected:e}=this._getMarkerClipboardConfig(t.name);if(!e){const e=t.getRange();return i.some((t=>t.containsRange(e,!0)))}return!0})).map((t=>({name:"dragstart"===n?this._getUniqueMarkerName(t.name):t.name,range:t.getRange()})))}_getPasteMarkersFromRangeMap(t,e=null){const{model:n}=this.editor;return(t instanceof Map?Array.from(t.entries()):Object.entries(t)).flatMap((([t,i])=>{if(!this._hasMarkerConfiguration(t))return[{name:t,range:i}];if(this._isMarkerCopyable(t,e)){const e=this._getMarkerClipboardConfig(t),r=n.markers.has(t)&&"$graveyard"===n.markers.get(t).getRange().root.rootName;return(e.duplicateOnPaste||r)&&(t=this._getUniqueMarkerName(t)),[{name:t,range:i}]}return[]}))}_insertFakeMarkersElements(t,e){const n={},i=e.flatMap((t=>{const{start:e,end:n}=t.range;return[{position:e,marker:t,type:"start"},{position:n,marker:t,type:"end"}]})).sort((({position:t},{position:e})=>t.isBefore(e)?1:-1));for(const{position:e,marker:r,type:o}of i){const i=t.createElement("$marker",{"data-name":r.name,"data-type":o});n[r.name]||(n[r.name]=[]),n[r.name].push(i),t.insert(i,e)}return n}_removeFakeMarkersInsideElement(t,e){const n=this._getAllFakeMarkersFromElement(t,e).reduce(((e,n)=>{const i=n.markerElement&&t.createPositionBefore(n.markerElement);let r=e[n.name],o=!1;if(r&&r.start&&r.end){this._getMarkerClipboardConfig(n.name).duplicateOnPaste?e[this._getUniqueMarkerName(n.name)]=e[n.name]:o=!0,r=null}return o||(e[n.name]={...r,[n.type]:i}),n.markerElement&&t.remove(n.markerElement),e}),{});return iy(n,(n=>new Yc(n.start||t.createPositionFromPath(e,[0]),n.end||t.createPositionAt(e,"end"))))}_getAllFakeMarkersFromElement(t,e){const n=Array.from(t.createRangeIn(e)).flatMap((({item:t})=>{if(!t.is("element","$marker"))return[];const e=t.getAttribute("data-name"),n=t.getAttribute("data-type");return[{markerElement:t,name:e,type:n}]})),i=[],r=[];for(const t of n){if("end"===t.type){n.some((e=>e.name===t.name&&"start"===e.type))||i.push({markerElement:null,name:t.name,type:"start"})}if("start"===t.type){n.some((e=>e.name===t.name&&"end"===e.type))||r.unshift({markerElement:null,name:t.name,type:"end"})}}return[...i,...n,...r]}_getUniqueMarkerName(t){const e=t.split(":"),n=pi().substring(1,6);return 3===e.length?`${e.slice(0,2).join(":")}:${n}`:`${e.join(":")}:${n}`}}class oy extends Oo{static get pluginName(){return"ClipboardPipeline"}static get requires(){return[ry]}init(){this.editor.editing.view.addObserver(Fv),this._setupPasteDrop(),this._setupCopyCut()}_fireOutputTransformationEvent(t,e,n){const i=this.editor.plugins.get("ClipboardMarkersUtils");this.editor.model.enqueueChange({isUndoable:"cut"===n},(()=>{const r=i._copySelectedFragmentWithMarkers(n,e);this.fire("outputTransformation",{dataTransfer:t,content:r,method:n})}))}_setupPasteDrop(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,r=this.editor.plugins.get("ClipboardMarkersUtils");this.listenTo(i,"clipboardInput",((e,n)=>{"paste"!=n.method||t.model.canEditAt(t.model.document.selection)||e.stop()}),{priority:"highest"}),this.listenTo(i,"clipboardInput",((t,e)=>{const i=e.dataTransfer;let r;if(e.content)r=e.content;else{let t="";i.getData("text/html")?t=function(t){return t.replace(/(\s+)<\/span>/g,((t,e)=>1==e.length?" ":e)).replace(//g,"")}(i.getData("text/html")):i.getData("text/plain")&&(((o=(o=i.getData("text/plain")).replace(/&/g,"&").replace(//g,">").replace(/\r?\n\r?\n/g,"

").replace(/\r?\n/g,"
").replace(/\t/g,"    ").replace(/^\s/," ").replace(/\s$/," ").replace(/\s\s/g,"  ")).includes("

")||o.includes("
"))&&(o=`

${o}

`),t=o),r=this.editor.data.htmlProcessor.toView(t)}var o;const a=new fi(this,"inputTransformation");this.fire(a,{content:r,dataTransfer:i,targetRanges:e.targetRanges,method:e.method}),a.stop.called&&t.stop(),n.scrollToTheSelection()}),{priority:"low"}),this.listenTo(this,"inputTransformation",((t,n)=>{if(n.content.isEmpty)return;const i=this.editor.data.toModel(n.content,"$clipboardHolder");0!=i.childCount&&(t.stop(),e.change((()=>{this.fire("contentInsertion",{content:i,method:n.method,dataTransfer:n.dataTransfer,targetRanges:n.targetRanges})})))}),{priority:"low"}),this.listenTo(this,"contentInsertion",((t,e)=>{e.resultRange=r._pasteFragmentWithMarkers(e.content)}),{priority:"low"})}_setupCopyCut(){const t=this.editor,e=t.model.document,n=t.editing.view.document,i=(t,n)=>{const i=n.dataTransfer;n.preventDefault(),this._fireOutputTransformationEvent(i,e.selection,t.name)};this.listenTo(n,"copy",i,{priority:"low"}),this.listenTo(n,"cut",((e,n)=>{t.model.canEditAt(t.model.document.selection)?i(e,n):n.preventDefault()}),{priority:"low"}),this.listenTo(this,"outputTransformation",((e,i)=>{const r=t.data.toView(i.content);n.fire("clipboardOutput",{dataTransfer:i.dataTransfer,content:r,method:i.method})}),{priority:"low"}),this.listenTo(n,"clipboardOutput",((n,i)=>{i.content.isEmpty||(i.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(i.content)),i.dataTransfer.setData("text/plain",zv(i.content))),"cut"==i.method&&t.model.deleteContent(e.selection)}),{priority:"low"})}}class ay extends(Si()){_stack=[];add(t,e){const n=this._stack,i=n[0];this._insertDescriptor(t);const r=n[0];i===r||sy(i,r)||this.fire("change:top",{oldDescriptor:i,newDescriptor:r,writer:e})}remove(t,e){const n=this._stack,i=n[0];this._removeDescriptor(t);const r=n[0];i===r||sy(i,r)||this.fire("change:top",{oldDescriptor:i,newDescriptor:r,writer:e})}_insertDescriptor(t){const e=this._stack,n=e.findIndex((e=>e.id===t.id));if(sy(t,e[n]))return;n>-1&&e.splice(n,1);let i=0;for(;e[i]&&cy(e[i],t);)i++;e.splice(i,0,t)}_removeDescriptor(t){const e=this._stack,n=e.findIndex((e=>e.id===t));n>-1&&e.splice(n,1)}}function sy(t,e){return t&&e&&t.priority==e.priority&&ly(t.classes)==ly(e.classes)}function cy(t,e){return t.priority>e.priority||!(t.priorityly(e.classes)}function ly(t){return Array.isArray(t)?t.sort().join(","):t}const uy='',hy="ck-widget_selected";function dy(t){return!!t.is("element")&&!!t.getCustomProperty("widget")}function fy(t,e,n={}){if(!t.is("containerElement"))throw new wi("widget-to-widget-wrong-element-type",null,{element:t});return e.setAttribute("contenteditable","false",t),e.addClass("ck-widget",t),e.setCustomProperty("widget",!0,t),t.getFillerOffset=vy,e.setCustomProperty("widgetLabel",[],t),n.label&&function(t,e){const n=t.getCustomProperty("widgetLabel");n.push(e)}(t,n.label),n.hasSelectionHandle&&function(t,e){const n=e.createUIElement("div",{class:"ck ck-widget__selection-handle"},(function(t){const e=this.toDomElement(t),n=new ff;return n.set("content",uy),n.render(),e.appendChild(n.element),e}));e.insert(e.createPositionAt(t,0),n),e.addClass(["ck-widget_with-selection-handle"],t)}(t,e),my(t,e),t}function gy(t,e,n){if(e.classes&&n.addClass(Jr(e.classes),t),e.attributes)for(const i in e.attributes)n.setAttribute(i,e.attributes[i],t)}function py(t,e,n){if(e.classes&&n.removeClass(Jr(e.classes),t),e.attributes)for(const i in e.attributes)n.removeAttribute(i,t)}function my(t,e,n=gy,i=py){const r=new ay;r.on("change:top",((e,r)=>{r.oldDescriptor&&i(t,r.oldDescriptor,r.writer),r.newDescriptor&&n(t,r.newDescriptor,r.writer)}));e.setCustomProperty("addHighlight",((t,e,n)=>r.add(e,n)),t),e.setCustomProperty("removeHighlight",((t,e,n)=>r.remove(e,n)),t)}function by(t,e,n={}){return e.addClass(["ck-editor__editable","ck-editor__nested-editable"],t),e.setAttribute("role","textbox",t),e.setAttribute("tabindex","-1",t),n.label&&e.setAttribute("aria-label",n.label,t),e.setAttribute("contenteditable",t.isReadOnly?"false":"true",t),t.on("change:isReadOnly",((n,i,r)=>{e.setAttribute("contenteditable",r?"false":"true",t)})),t.on("change:isFocused",((n,i,r)=>{r?e.addClass("ck-editor__nested-editable_focused",t):e.removeClass("ck-editor__nested-editable_focused",t)})),my(t,e),t}function wy(t,e){const n=t.getSelectedElement();if(n){const i=Ay(t);if(i)return e.createRange(e.createPositionAt(n,i))}return e.schema.findOptimalInsertionRange(t)}function ky(t,e){return(n,i)=>{const{mapper:r,viewPosition:o}=i,a=r.findMappedViewAncestor(o);if(!e(a))return;const s=r.toModelElement(a);i.modelPosition=t.createPositionAt(s,o.isAtStart?"before":"after")}}function vy(){return null}function yy(t){const e=t=>{const{width:e,paddingLeft:n,paddingRight:i}=t.ownerDocument.defaultView.getComputedStyle(t);return parseFloat(e)-(parseFloat(n)||0)-(parseFloat(i)||0)},n=t.parentElement;if(!n)return 0;let i=e(n);let r=0,o=n;for(;isNaN(i);){if(o=o.parentElement,++r>5)return 0;i=e(o)}return i}const _y="widget-type-around";function Cy(t,e,n){return!!t&&dy(t)&&!n.isInline(e)}function Ay(t){return t.getAttribute(_y)}var xy=n(8508),Ey={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(xy.A,Ey);xy.A.locals;const Ty=["before","after"],Sy=(new DOMParser).parseFromString('',"image/svg+xml").firstChild,Dy="ck-widget__type-around_disabled";class Iy extends Oo{_currentFakeCaretModelElement=null;static get pluginName(){return"WidgetTypeAround"}static get requires(){return[dv,ik]}init(){const t=this.editor,e=t.editing.view;this.on("change:isEnabled",((n,i,r)=>{e.change((t=>{for(const n of e.document.roots)r?t.removeClass(Dy,n):t.addClass(Dy,n)})),r||t.model.change((t=>{t.removeSelectionAttribute(_y)}))})),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableInsertObjectIntegration(),this._enableDeleteContentIntegration()}destroy(){super.destroy(),this._currentFakeCaretModelElement=null}_insertParagraph(t,e){const n=this.editor,i=n.editing.view,r=n.model.schema.getAttributesWithProperty(t,"copyOnReplace",!0);n.execute("insertParagraph",{position:n.model.createPositionAt(t,e),attributes:r}),i.focus(),i.scrollToTheSelection()}_listenToIfEnabled(t,e,n,i){this.listenTo(t,e,((...t)=>{this.isEnabled&&n(...t)}),i)}_insertParagraphAccordingToFakeCaretPosition(){const t=this.editor.model.document.selection,e=Ay(t);if(!e)return!1;const n=t.getSelectedElement();return this._insertParagraph(n,e),!0}_enableTypeAroundUIInjection(){const t=this.editor,e=t.model.schema,n=t.locale.t,i={before:n("Insert paragraph before block"),after:n("Insert paragraph after block")};t.editing.downcastDispatcher.on("insert",((t,r,o)=>{const a=o.mapper.toViewElement(r.item);if(a&&Cy(a,r.item,e)){!function(t,e,n){const i=t.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},(function(t){const n=this.toDomElement(t);return function(t,e){for(const n of Ty){const i=new Nd({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${n}`],title:e[n],"aria-hidden":"true"},children:[t.ownerDocument.importNode(Sy,!0)]});t.appendChild(i.render())}}(n,e),function(t){const e=new Nd({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});t.appendChild(e.render())}(n),n}));t.insert(t.createPositionAt(n,"end"),i)}(o.writer,i,a);a.getCustomProperty("widgetLabel").push((()=>this.isEnabled?n("Press Enter to type after or press Shift + Enter to type before the widget"):""))}}),{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const t=this.editor,e=t.model,n=e.document.selection,i=e.schema,r=t.editing.view;function o(t){return`ck-widget_type-around_show-fake-caret_${t}`}this._listenToIfEnabled(r.document,"arrowKey",((t,e)=>{this._handleArrowKeyPress(t,e)}),{context:[dy,"$text"],priority:"high"}),this._listenToIfEnabled(n,"change:range",((e,n)=>{n.directChange&&t.model.change((t=>{t.removeSelectionAttribute(_y)}))})),this._listenToIfEnabled(e.document,"change:data",(()=>{const e=n.getSelectedElement();if(e){if(Cy(t.editing.mapper.toViewElement(e),e,i))return}t.model.change((t=>{t.removeSelectionAttribute(_y)}))})),this._listenToIfEnabled(t.editing.downcastDispatcher,"selection",((t,e,n)=>{const r=n.writer;if(this._currentFakeCaretModelElement){const t=n.mapper.toViewElement(this._currentFakeCaretModelElement);t&&(r.removeClass(Ty.map(o),t),this._currentFakeCaretModelElement=null)}const a=e.selection.getSelectedElement();if(!a)return;const s=n.mapper.toViewElement(a);if(!Cy(s,a,i))return;const c=Ay(e.selection);c&&(r.addClass(o(c),s),this._currentFakeCaretModelElement=a)})),this._listenToIfEnabled(t.ui.focusTracker,"change:isFocused",((e,n,i)=>{i||t.model.change((t=>{t.removeSelectionAttribute(_y)}))}))}_handleArrowKeyPress(t,e){const n=this.editor,i=n.model,r=i.document.selection,o=i.schema,a=n.editing.view,s=function(t,e){const n=Zr(t,e);return"down"===n||"right"===n}(e.keyCode,n.locale.contentLanguageDirection),c=a.document.selection.getSelectedElement();let l;Cy(c,n.editing.mapper.toModelElement(c),o)?l=this._handleArrowKeyPressOnSelectedWidget(s):r.isCollapsed?l=this._handleArrowKeyPressWhenSelectionNextToAWidget(s):e.shiftKey||(l=this._handleArrowKeyPressWhenNonCollapsedSelection(s)),l&&(e.preventDefault(),t.stop())}_handleArrowKeyPressOnSelectedWidget(t){const e=this.editor.model,n=Ay(e.document.selection);return e.change((e=>{if(!n)return e.setSelectionAttribute(_y,t?"after":"before"),!0;if(!(n===(t?"after":"before")))return e.removeSelectionAttribute(_y),!0;return!1}))}_handleArrowKeyPressWhenSelectionNextToAWidget(t){const e=this.editor,n=e.model,i=n.schema,r=e.plugins.get("Widget"),o=r._getObjectElementNextToSelection(t);return!!Cy(e.editing.mapper.toViewElement(o),o,i)&&(n.change((e=>{r._setSelectionOverElement(o),e.setSelectionAttribute(_y,t?"before":"after")})),!0)}_handleArrowKeyPressWhenNonCollapsedSelection(t){const e=this.editor,n=e.model,i=n.schema,r=e.editing.mapper,o=n.document.selection,a=t?o.getLastPosition().nodeBefore:o.getFirstPosition().nodeAfter;return!!Cy(r.toViewElement(a),a,i)&&(n.change((e=>{e.setSelection(a,"on"),e.setSelectionAttribute(_y,t?"after":"before")})),!0)}_enableInsertingParagraphsOnButtonClick(){const t=this.editor,e=t.editing.view;this._listenToIfEnabled(e.document,"mousedown",((n,i)=>{const r=i.domTarget.closest(".ck-widget__type-around__button");if(!r)return;const o=function(t){return t.classList.contains("ck-widget__type-around__button_before")?"before":"after"}(r),a=function(t,e){const n=t.closest(".ck-widget");return e.mapDomToView(n)}(r,e.domConverter),s=t.editing.mapper.toModelElement(a);this._insertParagraph(s,o),i.preventDefault(),n.stop()}))}_enableInsertingParagraphsOnEnterKeypress(){const t=this.editor,e=t.model.document.selection,n=t.editing.view;this._listenToIfEnabled(n.document,"enter",((n,i)=>{if("atTarget"!=n.eventPhase)return;const r=e.getSelectedElement(),o=t.editing.mapper.toViewElement(r),a=t.model.schema;let s;this._insertParagraphAccordingToFakeCaretPosition()?s=!0:Cy(o,r,a)&&(this._insertParagraph(r,i.isSoft?"before":"after"),s=!0),s&&(i.preventDefault(),n.stop())}),{context:dy})}_enableInsertingParagraphsOnTypingKeystroke(){const t=this.editor.editing.view.document;this._listenToIfEnabled(t,"insertText",((e,n)=>{this._insertParagraphAccordingToFakeCaretPosition()&&(n.selection=t.selection)}),{priority:"high"}),Jn.isAndroid?this._listenToIfEnabled(t,"keydown",((t,e)=>{229==e.keyCode&&this._insertParagraphAccordingToFakeCaretPosition()})):this._listenToIfEnabled(t,"compositionstart",(()=>{this._insertParagraphAccordingToFakeCaretPosition()}),{priority:"high"})}_enableDeleteIntegration(){const t=this.editor,e=t.editing.view,n=t.model,i=n.schema;this._listenToIfEnabled(e.document,"delete",((e,r)=>{if("atTarget"!=e.eventPhase)return;const o=Ay(n.document.selection);if(!o)return;const a=r.direction,s=n.document.selection.getSelectedElement(),c="forward"==a;if("before"===o===c)t.execute("delete",{selection:n.createSelection(s,"on")});else{const e=i.getNearestSelectionRange(n.createPositionAt(s,o),a);if(e)if(e.isCollapsed){const r=n.createSelection(e.start);if(n.modifySelection(r,{direction:a}),r.focus.isEqual(e.start)){const t=function(t,e){let n=e;for(const i of e.getAncestors({parentFirst:!0})){if(i.childCount>1||t.isLimit(i))break;n=i}return n}(i,e.start.parent);n.deleteContent(n.createSelection(t,"on"),{doNotAutoparagraph:!0})}else n.change((n=>{n.setSelection(e),t.execute(c?"deleteForward":"delete")}))}else n.change((n=>{n.setSelection(e),t.execute(c?"deleteForward":"delete")}))}r.preventDefault(),e.stop()}),{context:dy})}_enableInsertContentIntegration(){const t=this.editor,e=this.editor.model,n=e.document.selection;this._listenToIfEnabled(t.model,"insertContent",((t,[i,r])=>{if(r&&!r.is("documentSelection"))return;const o=Ay(n);return o?(t.stop(),e.change((t=>{const r=n.getSelectedElement(),a=e.createPositionAt(r,o),s=t.createSelection(a),c=e.insertContent(i,s);return t.setSelection(s),c}))):void 0}),{priority:"high"})}_enableInsertObjectIntegration(){const t=this.editor,e=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"insertObject",((t,n)=>{const[,i,r={}]=n;if(i&&!i.is("documentSelection"))return;const o=Ay(e);o&&(r.findOptimalPosition=o,n[3]=r)}),{priority:"high"})}_enableDeleteContentIntegration(){const t=this.editor,e=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"deleteContent",((t,[n])=>{if(n&&!n.is("documentSelection"))return;Ay(e)&&t.stop()}),{priority:"high"})}}function By(t){const e=t.model;return(n,i)=>{const r=i.keyCode==Gr.arrowup,o=i.keyCode==Gr.arrowdown,a=i.shiftKey,s=e.document.selection;if(!r&&!o)return;const c=o;if(a&&function(t,e){return!t.isCollapsed&&t.isBackward==e}(s,c))return;const l=function(t,e,n){const i=t.model;if(n){const t=e.isCollapsed?e.focus:e.getLastPosition(),n=My(i,t,"forward");if(!n)return null;const r=i.createRange(t,n),o=Py(i.schema,r,"backward");return o?i.createRange(t,o):null}{const t=e.isCollapsed?e.focus:e.getFirstPosition(),n=My(i,t,"backward");if(!n)return null;const r=i.createRange(n,t),o=Py(i.schema,r,"forward");return o?i.createRange(o,t):null}}(t,s,c);if(l){if(l.isCollapsed){if(s.isCollapsed)return;if(a)return}(l.isCollapsed||function(t,e,n){const i=t.model,r=t.view.domConverter;if(n){const t=i.createSelection(e.start);i.modifySelection(t),t.focus.isAtEnd||e.start.isEqual(t.focus)||(e=i.createRange(t.focus,e.end))}const o=t.mapper.toViewRange(e),a=r.viewRangeToDom(o),s=mr.getDomRangeRects(a);let c;for(const t of s)if(void 0!==c){if(Math.round(t.top)>=c)return!1;c=Math.max(c,Math.round(t.bottom))}else c=Math.round(t.bottom);return!0}(t,l,c))&&(e.change((t=>{const n=c?l.end:l.start;if(a){const i=e.createSelection(s.anchor);i.setFocus(n),t.setSelection(i)}else t.setSelection(n)})),n.stop(),i.preventDefault(),i.stopPropagation())}}}function My(t,e,n){const i=t.schema,r=t.createRangeIn(e.root),o="forward"==n?"elementStart":"elementEnd";for(const{previousPosition:t,item:a,type:s}of r.getWalker({startPosition:e,direction:n})){if(i.isLimit(a)&&!i.isInline(a))return t;if(s==o&&i.isBlock(a))return null}return null}function Py(t,e,n){const i="backward"==n?e.end:e.start;if(t.checkChild(i,"$text"))return i;for(const{nextPosition:i}of e.getWalker({direction:n}))if(t.checkChild(i,"$text"))return i;return null}var Ly=n(695),Oy={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Ly.A,Oy);Ly.A.locals;class Ny extends Oo{_previouslySelected=new Set;static get pluginName(){return"Widget"}static get requires(){return[Iy,ik]}init(){const t=this.editor,e=t.editing.view,n=e.document,i=t.t;this.editor.editing.downcastDispatcher.on("selection",((e,n,i)=>{const r=i.writer,o=n.selection;if(o.isCollapsed)return;const a=o.getSelectedElement();if(!a)return;const s=t.editing.mapper.toViewElement(a);var c;dy(s)&&(i.consumable.consume(o,"selection")&&r.setSelection(r.createRangeOn(s),{fake:!0,label:(c=s,c.getCustomProperty("widgetLabel").reduce(((t,e)=>"function"==typeof e?t?t+". "+e():e():t?t+". "+e:e),""))}))})),this.editor.editing.downcastDispatcher.on("selection",((t,e,n)=>{this._clearPreviouslySelectedWidgets(n.writer);const i=n.writer,r=i.document.selection;let o=null;for(const t of r.getRanges())for(const e of t){const t=e.item;dy(t)&&!Ry(t,o)&&(i.addClass(hy,t),this._previouslySelected.add(t),o=t)}}),{priority:"low"}),e.addObserver(Fh),this.listenTo(n,"mousedown",((...t)=>this._onMousedown(...t))),this.listenTo(n,"arrowKey",((...t)=>{this._handleSelectionChangeOnArrowKeyPress(...t)}),{context:[dy,"$text"]}),this.listenTo(n,"arrowKey",((...t)=>{this._preventDefaultOnArrowKeyPress(...t)}),{context:"$root"}),this.listenTo(n,"arrowKey",By(this.editor.editing),{context:"$text"}),this.listenTo(n,"delete",((t,e)=>{this._handleDelete("forward"==e.direction)&&(e.preventDefault(),t.stop())}),{context:"$root"}),this.listenTo(n,"tab",((t,e)=>{"atTarget"==t.eventPhase&&(e.shiftKey||this._selectFirstNestedEditable()&&(e.preventDefault(),t.stop()))}),{context:dy,priority:"low"}),this.listenTo(n,"tab",((t,e)=>{e.shiftKey&&this._selectAncestorWidget()&&(e.preventDefault(),t.stop())}),{priority:"low"}),this.listenTo(n,"keydown",((t,e)=>{e.keystroke==Gr.esc&&this._selectAncestorWidget()&&(e.preventDefault(),t.stop())}),{priority:"low"}),t.accessibility.addKeystrokeInfoGroup({id:"widget",label:i("Keystrokes that can be used when a widget is selected (for example: image, table, etc.)"),keystrokes:[{label:i("Move focus from an editable area back to the parent widget"),keystroke:"Esc"},{label:i("Insert a new paragraph directly after a widget"),keystroke:"Enter"},{label:i("Insert a new paragraph directly before a widget"),keystroke:"Shift+Enter"},{label:i("Move the caret to allow typing directly before a widget"),keystroke:[["arrowup"],["arrowleft"]]},{label:i("Move the caret to allow typing directly after a widget"),keystroke:[["arrowdown"],["arrowright"]]}]})}_onMousedown(t,e){const n=this.editor,i=n.editing.view,r=i.document;let o=e.target;if(!o)return;if(e.domEvent.detail>=3)return void(this._selectBlockContent(o)&&e.preventDefault());if(!dy(o)){const t=function(t){let e=t;for(;e;){if(e.is("editableElement")||dy(e))return e;e=e.parent}return null}(o);if(!t)return;if(dy(t))o=t;else{const t=function(t,e){const n=hr(e.domEvent);let i=null;i=n?t.domConverter.domRangeToView(n):t.createRange(t.createPositionAt(e.target,0));if(!i)return null;const r=i.start;if(!r.parent)return null;let o=r.parent;r.parent.is("editableElement")&&(r.isAtEnd&&r.nodeBefore?o=r.nodeBefore:r.isAtStart&&r.nodeAfter&&(o=r.nodeAfter));if(o.is("$text"))return o.parent;return o}(i,e);if(!t||!dy(t))return;o=t}}Jn.isAndroid&&e.preventDefault(),r.isFocused||i.focus();const a=n.editing.mapper.toModelElement(o);this._setSelectionOverElement(a)}_selectBlockContent(t){const e=this.editor,n=e.model,i=e.editing.mapper,r=n.schema,o=i.findMappedViewAncestor(this.editor.editing.view.createPositionAt(t,0)),a=function(t,e){for(const n of t.getAncestors({includeSelf:!0,parentFirst:!0})){if(e.checkChild(n,"$text"))return n;if(e.isLimit(n)&&!e.isObject(n))break}return null}(i.toModelElement(o),n.schema);return!!a&&(n.change((t=>{const e=r.isLimit(a)?null:function(t,e){const n=new zc({startPosition:t});for(const{item:t}of n){if(e.isLimit(t)||!t.is("element"))return null;if(e.checkChild(t,"$text"))return t}return null}(t.createPositionAfter(a),r),n=t.createPositionAt(a,0),i=e?t.createPositionAt(e,0):t.createPositionAt(a,"end");t.setSelection(t.createRange(n,i))})),!0)}_handleSelectionChangeOnArrowKeyPress(t,e){const n=e.keyCode,i=this.editor.model,r=i.schema,o=i.document.selection,a=o.getSelectedElement(),s=Zr(n,this.editor.locale.contentLanguageDirection),c="down"==s||"right"==s,l="up"==s||"down"==s;if(a&&r.isObject(a)){const n=c?o.getLastPosition():o.getFirstPosition(),a=r.getNearestSelectionRange(n,c?"forward":"backward");return void(a&&(i.change((t=>{t.setSelection(a)})),e.preventDefault(),t.stop()))}if(!o.isCollapsed&&!e.shiftKey){const n=o.getFirstPosition(),a=o.getLastPosition(),s=n.nodeAfter,l=a.nodeBefore;return void((s&&r.isObject(s)||l&&r.isObject(l))&&(i.change((t=>{t.setSelection(c?a:n)})),e.preventDefault(),t.stop()))}if(!o.isCollapsed)return;const u=this._getObjectElementNextToSelection(c);if(u&&r.isObject(u)){if(r.isInline(u)&&l)return;this._setSelectionOverElement(u),e.preventDefault(),t.stop()}}_preventDefaultOnArrowKeyPress(t,e){const n=this.editor.model,i=n.schema,r=n.document.selection.getSelectedElement();r&&i.isObject(r)&&(e.preventDefault(),t.stop())}_handleDelete(t){const e=this.editor.model.document.selection;if(!this.editor.model.canEditAt(e))return;if(!e.isCollapsed)return;const n=this._getObjectElementNextToSelection(t);return n?(this.editor.model.change((t=>{let i=e.anchor.parent;for(;i.isEmpty;){const e=i;i=e.parent,t.remove(e)}this._setSelectionOverElement(n)})),!0):void 0}_setSelectionOverElement(t){this.editor.model.change((e=>{e.setSelection(e.createRangeOn(t))}))}_getObjectElementNextToSelection(t){const e=this.editor.model,n=e.schema,i=e.document.selection,r=e.createSelection(i);if(e.modifySelection(r,{direction:t?"forward":"backward"}),r.isEqual(i))return null;const o=t?r.focus.nodeBefore:r.focus.nodeAfter;return o&&n.isObject(o)?o:null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected)t.removeClass(hy,e);this._previouslySelected.clear()}_selectFirstNestedEditable(){const t=this.editor,e=this.editor.editing.view.document;for(const n of e.selection.getFirstRange().getItems())if(n.is("editableElement")){const e=t.editing.mapper.toModelElement(n);if(!e)continue;const i=t.model.createPositionAt(e,0),r=t.model.schema.getNearestSelectionRange(i,"forward");return t.model.change((t=>{t.setSelection(r)})),!0}return!1}_selectAncestorWidget(){const t=this.editor,e=t.editing.mapper,n=t.editing.view.document.selection.getFirstPosition().parent,i=(n.is("$text")?n.parent:n).findAncestor(dy);if(!i)return!1;const r=e.toModelElement(i);return!!r&&(t.model.change((t=>{t.setSelection(r,"on")})),!0)}}function Ry(t,e){return!!e&&Array.from(t.getAncestors()).includes(e)}class Fy extends Oo{_toolbarDefinitions=new Map;_balloon;static get requires(){return[yb]}static get pluginName(){return"WidgetToolbarRepository"}init(){const t=this.editor;if(t.plugins.has("BalloonToolbar")){const e=t.plugins.get("BalloonToolbar");this.listenTo(e,"show",(e=>{(function(t){const e=t.getSelectedElement();return!(!e||!dy(e))})(t.editing.view.document.selection)&&e.stop()}),{priority:"high"})}this._balloon=this.editor.plugins.get("ContextualBalloon"),this.on("change:isEnabled",(()=>{this._updateToolbarsVisibility()})),this.listenTo(t.ui,"update",(()=>{this._updateToolbarsVisibility()})),this.listenTo(t.ui.focusTracker,"change:isFocused",(()=>{this._updateToolbarsVisibility()}),{priority:"low"})}destroy(){super.destroy();for(const t of this._toolbarDefinitions.values())t.view.destroy()}register(t,{ariaLabel:e,items:n,getRelatedElement:i,balloonClassName:r="ck-toolbar-container"}){if(!n.length)return void ki("widget-toolbar-no-items",{toolbarId:t});const o=this.editor,a=o.t,s=new pp(o.locale);if(s.ariaLabel=e||a("Widget toolbar"),this._toolbarDefinitions.has(t))throw new wi("widget-toolbar-duplicated",this,{toolbarId:t});const c={view:s,getRelatedElement:i,balloonClassName:r,itemsConfig:n,initialized:!1};o.ui.addToolbar(s,{isContextual:!0,beforeFocus:()=>{const t=i(o.editing.view.document.selection);t&&this._showToolbar(c,t)},afterBlur:()=>{this._hideToolbar(c)}}),this._toolbarDefinitions.set(t,c)}_updateToolbarsVisibility(){let t=0,e=null,n=null;for(const i of this._toolbarDefinitions.values()){const r=i.getRelatedElement(this.editor.editing.view.document.selection);if(this.isEnabled&&r)if(this.editor.ui.focusTracker.isFocused){const o=r.getAncestors().length;o>t&&(t=o,e=r,n=i)}else this._isToolbarVisible(i)&&this._hideToolbar(i);else this._isToolbarInBalloon(i)&&this._hideToolbar(i)}n&&this._showToolbar(n,e)}_hideToolbar(t){this._balloon.remove(t.view),this.stopListening(this._balloon,"change:visibleView")}_showToolbar(t,e){this._isToolbarVisible(t)?jy(this.editor,e):this._isToolbarInBalloon(t)||(t.initialized||(t.initialized=!0,t.view.fillFromConfig(t.itemsConfig,this.editor.ui.componentFactory)),this._balloon.add({view:t.view,position:$y(this.editor,e),balloonClassName:t.balloonClassName}),this.listenTo(this._balloon,"change:visibleView",(()=>{for(const t of this._toolbarDefinitions.values())if(this._isToolbarVisible(t)){const e=t.getRelatedElement(this.editor.editing.view.document.selection);jy(this.editor,e)}})))}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function jy(t,e){const n=t.plugins.get("ContextualBalloon"),i=$y(t,e);n.updatePosition(i)}function $y(t,e){const n=t.editing.view,i=ip.defaultPositions;return{target:n.domConverter.mapViewToDom(e),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast,i.viewportStickyNorth]}}class zy extends(Vi()){_referenceCoordinates;_options;_originalWidth;_originalHeight;_originalWidthPercents;_aspectRatio;constructor(t){super(),this.set("activeHandlePosition",null),this.set("proposedWidthPercents",null),this.set("proposedWidth",null),this.set("proposedHeight",null),this.set("proposedHandleHostWidth",null),this.set("proposedHandleHostHeight",null),this._options=t,this._referenceCoordinates=null}get originalWidth(){return this._originalWidth}get originalHeight(){return this._originalHeight}get originalWidthPercents(){return this._originalWidthPercents}get aspectRatio(){return this._aspectRatio}begin(t,e,n){const i=new mr(e);this.activeHandlePosition=function(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const n of e)if(t.classList.contains(Vy(n)))return n}(t),this._referenceCoordinates=function(t,e){const n=new mr(t),i=e.split("-"),r={x:"right"==i[1]?n.right:n.left,y:"bottom"==i[0]?n.bottom:n.top};return r.x+=t.ownerDocument.defaultView.scrollX,r.y+=t.ownerDocument.defaultView.scrollY,r}(e,function(t){const e=t.split("-"),n={top:"bottom",bottom:"top",left:"right",right:"left"};return`${n[e[0]]}-${n[e[1]]}`}(this.activeHandlePosition)),this._originalWidth=i.width,this._originalHeight=i.height,this._aspectRatio=i.width/i.height;const r=n.style.width;r&&r.match(/^\d+(\.\d*)?%$/)?this._originalWidthPercents=parseFloat(r):this._originalWidthPercents=function(t,e=new mr(t)){const n=yy(t);return n?e.width/n*100:0}(n,i)}update(t){this.proposedWidth=t.width,this.proposedHeight=t.height,this.proposedWidthPercents=t.widthPercents,this.proposedHandleHostWidth=t.handleHostWidth,this.proposedHandleHostHeight=t.handleHostHeight}}function Vy(t){return`ck-widget__resizer__handle-${t}`}class Hy extends af{constructor(){super();const t=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",t.to("_viewPosition",(t=>t?`ck-orientation-${t}`:""))],style:{display:t.if("_isVisible","none",(t=>!t))}},children:[{text:t.to("_label")}]})}_bindToState(t,e){this.bind("_isVisible").to(e,"proposedWidth",e,"proposedHeight",((t,e)=>null!==t&&null!==e)),this.bind("_label").to(e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",e,"proposedWidthPercents",((e,n,i)=>"px"===t.unit?`${e}×${n}`:`${i}%`)),this.bind("_viewPosition").to(e,"activeHandlePosition",e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",((t,e,n)=>e<50||n<50?"above-center":t))}_dismiss(){this.unbind(),this._isVisible=!1}}class qy extends(Vi()){_state;_sizeView;_options;_viewResizerWrapper=null;_initialViewWidth;constructor(t){super(),this._options=t,this.set("isEnabled",!0),this.set("isSelected",!1),this.bind("isVisible").to(this,"isEnabled",this,"isSelected",((t,e)=>t&&e)),this.decorate("begin"),this.decorate("cancel"),this.decorate("commit"),this.decorate("updateSize"),this.on("commit",(t=>{this.state.proposedWidth||this.state.proposedWidthPercents||(this._cleanup(),t.stop())}),{priority:"high"})}get state(){return this._state}show(){this._options.editor.editing.view.change((t=>{t.removeClass("ck-hidden",this._viewResizerWrapper)}))}hide(){this._options.editor.editing.view.change((t=>{t.addClass("ck-hidden",this._viewResizerWrapper)}))}attach(){const t=this,e=this._options.viewElement;this._options.editor.editing.view.change((n=>{const i=n.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},(function(e){const n=this.toDomElement(e);return t._appendHandles(n),t._appendSizeUI(n),n}));n.insert(n.createPositionAt(e,"end"),i),n.addClass("ck-widget_with-resizer",e),this._viewResizerWrapper=i,this.isVisible||this.hide()})),this.on("change:isVisible",(()=>{this.isVisible?(this.show(),this.redraw()):this.hide()}))}begin(t){this._state=new zy(this._options),this._sizeView._bindToState(this._options,this.state),this._initialViewWidth=this._options.viewElement.getStyle("width"),this.state.begin(t,this._getHandleHost(),this._getResizeHost())}updateSize(t){const e=this._proposeNewSize(t);this._options.editor.editing.view.change((t=>{const n=this._options.unit||"%",i=("%"===n?e.widthPercents:e.width)+n;t.setStyle("width",i,this._options.viewElement)}));const n=this._getHandleHost(),i=new mr(n),r=Math.round(i.width),o=Math.round(i.height),a=new mr(n);e.width=Math.round(a.width),e.height=Math.round(a.height),this.redraw(i),this.state.update({...e,handleHostWidth:r,handleHostHeight:o})}commit(){const t=this._options.unit||"%",e=("%"===t?this.state.proposedWidthPercents:this.state.proposedWidth)+t;this._options.editor.editing.view.change((()=>{this._cleanup(),this._options.onCommit(e)}))}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(t){const e=this._domResizerWrapper;if(!((n=e)&&n.ownerDocument&&n.ownerDocument.contains(n)))return;var n;const i=e.parentElement,r=this._getHandleHost(),o=this._viewResizerWrapper,a=[o.getStyle("width"),o.getStyle("height"),o.getStyle("left"),o.getStyle("top")];let s;if(i.isSameNode(r)){const e=t||new mr(r);s=[e.width+"px",e.height+"px",void 0,void 0]}else s=[r.offsetWidth+"px",r.offsetHeight+"px",r.offsetLeft+"px",r.offsetTop+"px"];"same"!==Yi(a,s)&&this._options.editor.editing.view.change((t=>{t.setStyle({width:s[0],height:s[1],left:s[2],top:s[3]},o)}))}containsHandle(t){return this._domResizerWrapper.contains(t)}static isResizeHandle(t){return t.classList.contains("ck-widget__resizer__handle")}_cleanup(){this._sizeView._dismiss();this._options.editor.editing.view.change((t=>{t.setStyle("width",this._initialViewWidth,this._options.viewElement)}))}_proposeNewSize(t){const e=this.state,n={x:(i=t).pageX,y:i.pageY};var i;const r=!this._options.isCentered||this._options.isCentered(this),o={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};r&&e.activeHandlePosition.endsWith("-right")&&(o.x=n.x-(e._referenceCoordinates.x+e.originalWidth)),r&&(o.x*=2);let a=Math.abs(e.originalWidth+o.x),s=Math.abs(e.originalHeight+o.y);return"width"==(a/e.aspectRatio>s?"width":"height")?s=a/e.aspectRatio:a=s*e.aspectRatio,{width:Math.round(a),height:Math.round(s),widthPercents:Math.min(Math.round(e.originalWidthPercents/e.originalWidth*a*100)/100,100)}}_getResizeHost(){const t=this._domResizerWrapper.parentElement;return this._options.getResizeHost(t)}_getHandleHost(){const t=this._domResizerWrapper.parentElement;return this._options.getHandleHost(t)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const i of e)t.appendChild(new Nd({tag:"div",attributes:{class:"ck-widget__resizer__handle "+(n=i,`ck-widget__resizer__handle-${n}`)}}).render());var n}_appendSizeUI(t){this._sizeView=new Hy,this._sizeView.render(),t.appendChild(this._sizeView.element)}}var Uy=n(4095),Gy={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Uy.A,Gy);Uy.A.locals;class Wy extends Oo{_resizers=new Map;_observer;_redrawSelectedResizerThrottled;static get pluginName(){return"WidgetResize"}init(){const t=this.editor.editing,e=Xn.window.document;this.set("selectedResizer",null),this.set("_activeResizer",null),t.view.addObserver(Fh),this._observer=new(or()),this.listenTo(t.view.document,"mousedown",this._mouseDownListener.bind(this),{priority:"high"}),this._observer.listenTo(e,"mousemove",this._mouseMoveListener.bind(this)),this._observer.listenTo(e,"mouseup",this._mouseUpListener.bind(this)),this._redrawSelectedResizerThrottled=O((()=>this.redrawSelectedResizer()),200),this.editor.ui.on("update",this._redrawSelectedResizerThrottled),this.editor.model.document.on("change",(()=>{for(const[t,e]of this._resizers)t.isAttached()||(this._resizers.delete(t),e.destroy())}),{priority:"lowest"}),this._observer.listenTo(Xn.window,"resize",this._redrawSelectedResizerThrottled);const n=this.editor.editing.view.document.selection;n.on("change",(()=>{const t=n.getSelectedElement(),e=this.getResizerByViewElement(t)||null;e?this.select(e):this.deselect()}))}redrawSelectedResizer(){this.selectedResizer&&this.selectedResizer.isVisible&&this.selectedResizer.redraw()}destroy(){super.destroy(),this._observer.stopListening();for(const t of this._resizers.values())t.destroy();this._redrawSelectedResizerThrottled.cancel()}select(t){this.deselect(),this.selectedResizer=t,this.selectedResizer.isSelected=!0}deselect(){this.selectedResizer&&(this.selectedResizer.isSelected=!1),this.selectedResizer=null}attachTo(t){const e=new qy(t),n=this.editor.plugins;if(e.attach(),n.has("WidgetToolbarRepository")){const t=n.get("WidgetToolbarRepository");e.on("begin",(()=>{t.forceDisabled("resize")}),{priority:"lowest"}),e.on("cancel",(()=>{t.clearForceDisabled("resize")}),{priority:"highest"}),e.on("commit",(()=>{t.clearForceDisabled("resize")}),{priority:"highest"})}this._resizers.set(t.viewElement,e);const i=this.editor.editing.view.document.selection.getSelectedElement();return this.getResizerByViewElement(i)==e&&this.select(e),e}getResizerByViewElement(t){return this._resizers.get(t)}_getResizerByHandle(t){for(const e of this._resizers.values())if(e.containsHandle(t))return e}_mouseDownListener(t,e){const n=e.domTarget;qy.isResizeHandle(n)&&(this._activeResizer=this._getResizerByHandle(n)||null,this._activeResizer&&(this._activeResizer.begin(n),t.stop(),e.preventDefault()))}_mouseMoveListener(t,e){this._activeResizer&&this._activeResizer.updateSize(e)}_mouseUpListener(){this._activeResizer&&(this._activeResizer.commit(),this._activeResizer=null)}}const Ky=Cr("px");class Yy extends af{constructor(){super();const t=this.bindTemplate;this.set({isVisible:!1,left:null,top:null,width:null}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-clipboard-drop-target-line",t.if("isVisible","ck-hidden",(t=>!t))],style:{left:t.to("left",(t=>Ky(t))),top:t.to("top",(t=>Ky(t))),width:t.to("width",(t=>Ky(t)))}}})}}class Xy extends Oo{removeDropMarkerDelayed=Do((()=>this.removeDropMarker()),40);_updateDropMarkerThrottled=O((t=>this._updateDropMarker(t)),40);_reconvertMarkerThrottled=O((()=>{this.editor.model.markers.has("drop-target")&&this.editor.editing.reconvertMarker("drop-target")}),0);_dropTargetLineView=new Yy;_domEmitter=new(or());_scrollables=new Map;static get pluginName(){return"DragDropTarget"}init(){this._setupDropMarker()}destroy(){this._domEmitter.stopListening();for(const{resizeObserver:t}of this._scrollables.values())t.destroy();return this._updateDropMarkerThrottled.cancel(),this.removeDropMarkerDelayed.cancel(),this._reconvertMarkerThrottled.cancel(),super.destroy()}updateDropMarker(t,e,n,i,r,o){this.removeDropMarkerDelayed.cancel();const a=Zy(this.editor,t,e,n,i,r,o);if(a)return o&&o.containsRange(a)?this.removeDropMarker():void this._updateDropMarkerThrottled(a)}getFinalDropRange(t,e,n,i,r,o){const a=Zy(this.editor,t,e,n,i,r,o);return this.removeDropMarker(),a}removeDropMarker(){const t=this.editor.model;this.removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),this._dropTargetLineView.isVisible=!1,t.markers.has("drop-target")&&t.change((t=>{t.removeMarker("drop-target")}))}_setupDropMarker(){const t=this.editor;t.ui.view.body.add(this._dropTargetLineView),t.conversion.for("editingDowncast").markerToHighlight({model:"drop-target",view:{classes:["ck-clipboard-drop-target-range"]}}),t.conversion.for("editingDowncast").markerToElement({model:"drop-target",view:(e,{writer:n})=>{if(t.model.schema.checkChild(e.markerRange.start,"$text"))return this._dropTargetLineView.isVisible=!1,this._createDropTargetPosition(n);e.markerRange.isCollapsed?this._updateDropTargetLine(e.markerRange):this._dropTargetLineView.isVisible=!1}})}_updateDropMarker(t){const e=this.editor,n=e.model.markers;e.model.change((e=>{n.has("drop-target")?n.get("drop-target").getRange().isEqual(t)||e.updateMarker("drop-target",{range:t}):e.addMarker("drop-target",{range:t,usingOperation:!1,affectsData:!1})}))}_createDropTargetPosition(t){return t.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},(function(t){const e=this.toDomElement(t);return e.append("⁠",t.createElement("span"),"⁠"),e}))}_updateDropTargetLine(t){const e=this.editor.editing,n=t.start.nodeBefore,i=t.start.nodeAfter,r=t.start.parent,o=n?e.mapper.toViewElement(n):null,a=o?e.view.domConverter.mapViewToDom(o):null,s=i?e.mapper.toViewElement(i):null,c=s?e.view.domConverter.mapViewToDom(s):null,l=e.mapper.toViewElement(r);if(!l)return;const u=e.view.domConverter.mapViewToDom(l),h=this._getScrollableRect(l),{scrollX:d,scrollY:f}=Xn.window,g=a?new mr(a):null,p=c?new mr(c):null,m=new mr(u).excludeScrollbarsAndBorders(),b=g?g.bottom:m.top,w=p?p.top:m.bottom,k=Xn.window.getComputedStyle(u),v=b<=w?(b+w)/2:w;if(h.tops.schema.checkChild(o,t)))){if(s.schema.checkChild(o,"$text"))return s.createRange(o);if(e)return Jy(t,e_(t,e.parent),i,r)}}}else if(s.schema.isInline(l))return Jy(t,l,i,r);if(s.schema.isBlock(l))return Jy(t,l,i,r);if(s.schema.checkChild(l,"$block")){const e=Array.from(l.getChildren()).filter((e=>e.is("element")&&!Qy(t,e)));let n=0,o=e.length;if(0==o)return s.createRange(s.createPositionAt(l,"end"));for(;n{n?(this.forceDisabled("readOnlyMode"),this._isBlockDragging=!1):this.clearForceDisabled("readOnlyMode")})),Jn.isAndroid&&this.forceDisabled("noAndroidSupport"),t.plugins.has("BlockToolbar")){const e=t.plugins.get("BlockToolbar").buttonView.element;this._domEmitter.listenTo(e,"dragstart",((t,e)=>this._handleBlockDragStart(e))),this._domEmitter.listenTo(Xn.document,"dragover",((t,e)=>this._handleBlockDragging(e))),this._domEmitter.listenTo(Xn.document,"drop",((t,e)=>this._handleBlockDragging(e))),this._domEmitter.listenTo(Xn.document,"dragend",(()=>this._handleBlockDragEnd()),{useCapture:!0}),this.isEnabled&&e.setAttribute("draggable","true"),this.on("change:isEnabled",((t,n,i)=>{e.setAttribute("draggable",i?"true":"false")}))}}destroy(){return this._domEmitter.stopListening(),super.destroy()}_handleBlockDragStart(t){if(!this.isEnabled)return;const e=this.editor.model,n=e.document.selection,i=this.editor.editing.view,r=Array.from(n.getSelectedBlocks()),o=e.createRange(e.createPositionBefore(r[0]),e.createPositionAfter(r[r.length-1]));e.change((t=>t.setSelection(o))),this._isBlockDragging=!0,i.focus(),i.getObserver(Fv).onDomEvent(t)}_handleBlockDragging(t){if(!this.isEnabled||!this._isBlockDragging)return;const e=t.clientX+("ltr"==this.editor.locale.contentLanguageDirection?100:-100),n=t.clientY,i=document.elementFromPoint(e,n),r=this.editor.editing.view;i&&i.closest(".ck-editor__editable")&&r.getObserver(Fv).onDomEvent({...t,type:t.type,dataTransfer:t.dataTransfer,target:i,clientX:e,clientY:n,preventDefault:()=>t.preventDefault(),stopPropagation:()=>t.stopPropagation()})}_handleBlockDragEnd(){this._isBlockDragging=!1}}var i_=n(7793),r_={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(i_.A,r_);i_.A.locals;class o_ extends Oo{_draggedRange;_draggingUid;_draggableElement;_clearDraggableAttributesDelayed=Do((()=>this._clearDraggableAttributes()),40);_blockMode=!1;_domEmitter=new(or());_previewContainer;static get pluginName(){return"DragDrop"}static get requires(){return[oy,Ny,Xy,n_]}init(){const t=this.editor,e=t.editing.view;this._draggedRange=null,this._draggingUid="",this._draggableElement=null,e.addObserver(Fv),e.addObserver(Fh),this._setupDragging(),this._setupContentInsertionIntegration(),this._setupClipboardInputIntegration(),this._setupDraggableAttributeHandling(),this.listenTo(t,"change:isReadOnly",((t,e,n)=>{n?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")})),this.on("change:isEnabled",((t,e,n)=>{n||this._finalizeDragging(!1)})),Jn.isAndroid&&this.forceDisabled("noAndroidSupport")}destroy(){return this._draggedRange&&(this._draggedRange.detach(),this._draggedRange=null),this._previewContainer&&this._previewContainer.remove(),this._domEmitter.stopListening(),this._clearDraggableAttributesDelayed.cancel(),super.destroy()}_setupDragging(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,r=t.plugins.get(Xy);this.listenTo(i,"dragstart",((t,n)=>{if(n.target&&n.target.is("editableElement"))return void n.preventDefault();if(this._prepareDraggedRange(n.target),!this._draggedRange)return void n.preventDefault();this._draggingUid=pi(),n.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy",n.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const i=e.createSelection(this._draggedRange.toRange());this.editor.plugins.get("ClipboardPipeline")._fireOutputTransformationEvent(n.dataTransfer,i,"dragstart");const{dataTransfer:r,domTarget:o,domEvent:a}=n,{clientX:s}=a;this._updatePreview({dataTransfer:r,domTarget:o,clientX:s}),n.stopPropagation(),this.isEnabled||(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="")}),{priority:"low"}),this.listenTo(i,"dragend",((t,e)=>{this._finalizeDragging(!e.dataTransfer.isCanceled&&"move"==e.dataTransfer.dropEffect)}),{priority:"low"}),this._domEmitter.listenTo(Xn.document,"dragend",(()=>{this._blockMode=!1}),{useCapture:!0}),this.listenTo(i,"dragenter",(()=>{this.isEnabled&&n.focus()})),this.listenTo(i,"dragleave",(()=>{r.removeDropMarkerDelayed()})),this.listenTo(i,"dragging",((t,e)=>{if(!this.isEnabled)return void(e.dataTransfer.dropEffect="none");const{clientX:n,clientY:i}=e.domEvent;r.updateDropMarker(e.target,e.targetRanges,n,i,this._blockMode,this._draggedRange),this._draggedRange||(e.dataTransfer.dropEffect="copy"),Jn.isGecko||("copy"==e.dataTransfer.effectAllowed?e.dataTransfer.dropEffect="copy":["all","copyMove"].includes(e.dataTransfer.effectAllowed)&&(e.dataTransfer.dropEffect="move")),t.stop()}),{priority:"low"})}_setupClipboardInputIntegration(){const t=this.editor,e=t.editing.view.document,n=t.plugins.get(Xy);this.listenTo(e,"clipboardInput",((e,i)=>{if("drop"!=i.method)return;const{clientX:r,clientY:o}=i.domEvent,a=n.getFinalDropRange(i.target,i.targetRanges,r,o,this._blockMode,this._draggedRange);if(!a)return this._finalizeDragging(!1),void e.stop();this._draggedRange&&this._draggingUid!=i.dataTransfer.getData("application/ckeditor5-dragging-uid")&&(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="");if("move"==a_(i.dataTransfer)&&this._draggedRange&&this._draggedRange.containsRange(a,!0))return this._finalizeDragging(!1),void e.stop();i.targetRanges=[t.editing.mapper.toViewRange(a)]}),{priority:"high"})}_setupContentInsertionIntegration(){const t=this.editor.plugins.get(oy);t.on("contentInsertion",((t,e)=>{if(!this.isEnabled||"drop"!==e.method)return;const n=e.targetRanges.map((t=>this.editor.editing.mapper.toModelRange(t)));this.editor.model.change((t=>t.setSelection(n)))}),{priority:"high"}),t.on("contentInsertion",((t,e)=>{if(!this.isEnabled||"drop"!==e.method)return;const n="move"==a_(e.dataTransfer),i=!e.resultRange||!e.resultRange.isCollapsed;this._finalizeDragging(i&&n)}),{priority:"lowest"})}_setupDraggableAttributeHandling(){const t=this.editor,e=t.editing.view,n=e.document;this.listenTo(n,"mousedown",((i,r)=>{if(Jn.isAndroid||!r)return;this._clearDraggableAttributesDelayed.cancel();let o=s_(r.target);if(Jn.isBlink&&!t.isReadOnly&&!o&&!n.selection.isCollapsed){const t=n.selection.getSelectedElement();t&&dy(t)||(o=n.selection.editableElement)}o&&(e.change((t=>{t.setAttribute("draggable","true",o)})),this._draggableElement=t.editing.mapper.toModelElement(o))})),this.listenTo(n,"mouseup",(()=>{Jn.isAndroid||this._clearDraggableAttributesDelayed()}))}_clearDraggableAttributes(){const t=this.editor.editing;t.view.change((e=>{this._draggableElement&&"$graveyard"!=this._draggableElement.root.rootName&&e.removeAttribute("draggable",t.mapper.toViewElement(this._draggableElement)),this._draggableElement=null}))}_finalizeDragging(t){const e=this.editor,n=e.model;if(e.plugins.get(Xy).removeDropMarker(),this._clearDraggableAttributes(),e.plugins.has("WidgetToolbarRepository")){e.plugins.get("WidgetToolbarRepository").clearForceDisabled("dragDrop")}this._draggingUid="",this._previewContainer&&(this._previewContainer.remove(),this._previewContainer=void 0),this._draggedRange&&(t&&this.isEnabled&&n.change((t=>{const e=n.createSelection(this._draggedRange);n.deleteContent(e,{doNotAutoparagraph:!0});const i=e.getFirstPosition().parent;i.isEmpty&&!n.schema.checkChild(i,"$text")&&n.schema.checkChild(i,"paragraph")&&t.insertElement("paragraph",i,0)})),this._draggedRange.detach(),this._draggedRange=null)}_prepareDraggedRange(t){const e=this.editor,n=e.model,i=n.document.selection,r=t?s_(t):null;if(r){const t=e.editing.mapper.toModelElement(r);if(this._draggedRange=ll.fromRange(n.createRangeOn(t)),this._blockMode=n.schema.isBlock(t),e.plugins.has("WidgetToolbarRepository")){e.plugins.get("WidgetToolbarRepository").forceDisabled("dragDrop")}return}if(i.isCollapsed&&!i.getFirstPosition().parent.isEmpty)return;const o=Array.from(i.getSelectedBlocks()),a=i.getFirstRange();if(0==o.length)return void(this._draggedRange=ll.fromRange(a));const s=c_(n,o);if(o.length>1)this._draggedRange=ll.fromRange(s),this._blockMode=!0;else if(1==o.length){const t=a.start.isTouching(s.start)&&a.end.isTouching(s.end);this._draggedRange=ll.fromRange(t?s:a),this._blockMode=t}n.change((t=>t.setSelection(this._draggedRange.toRange())))}_updatePreview({dataTransfer:t,domTarget:e,clientX:n}){const i=this.editor.editing.view,r=i.document.selection.editableElement,o=i.domConverter.mapViewToDom(r),a=Xn.window.getComputedStyle(o);this._previewContainer?this._previewContainer.firstElementChild&&this._previewContainer.removeChild(this._previewContainer.firstElementChild):(this._previewContainer=Qi(Xn.document,"div",{style:"position: fixed; left: -999999px;"}),Xn.document.body.appendChild(this._previewContainer));const s=new mr(o);if(o.contains(e))return;const c=parseFloat(a.paddingLeft),l=Qi(Xn.document,"div");l.className="ck ck-content",l.style.width=a.width,l.style.paddingLeft=`${s.left-n+c}px`,Jn.isiOS&&(l.style.backgroundColor="white"),i.domConverter.setContentOf(l,t.getData("text/html")),t.setDragImage(l,0,0),this._previewContainer.appendChild(l)}}function a_(t){return Jn.isGecko?t.dropEffect:["all","copyMove"].includes(t.effectAllowed)?"move":"copy"}function s_(t){if(t.is("editableElement"))return null;if(t.hasClass("ck-widget__selection-handle"))return t.findAncestor(dy);if(dy(t))return t;const e=t.findAncestor((t=>dy(t)||t.is("editableElement")));return dy(e)?e:null}function c_(t,e){const n=e[0],i=e[e.length-1],r=n.getCommonAncestor(i),o=t.createPositionBefore(n),a=t.createPositionAfter(i);if(r&&r.is("element")&&!t.schema.isLimit(r)){const e=t.createRangeOn(r),n=o.isTouching(e.start),i=a.isTouching(e.end);if(n&&i)return c_(t,[r])}return t.createRange(o,a)}class l_ extends Oo{static get pluginName(){return"PastePlainText"}static get requires(){return[oy]}init(){const t=this.editor,e=t.model,n=t.editing.view,i=e.document.selection;n.addObserver(Fv),t.plugins.get(oy).on("contentInsertion",((t,n)=>{(function(t,e){let n=e.createRangeIn(t);if(1==t.childCount){const i=t.getChild(0);i.is("element")&&e.schema.isBlock(i)&&!e.schema.isObject(i)&&!e.schema.isLimit(i)&&(n=e.createRangeIn(i))}for(const t of n.getItems()){if(!e.schema.isInline(t))return!1;if(Array.from(t.getAttributeKeys()).find((t=>e.schema.getAttributeProperties(t).isFormatting)))return!1}return!0})(n.content,e)&&e.change((t=>{const r=Array.from(i.getAttributes()).filter((([t])=>e.schema.getAttributeProperties(t).isFormatting));i.isCollapsed||e.deleteContent(i,{doNotAutoparagraph:!0}),r.push(...i.getAttributes());const o=t.createRangeIn(n.content);for(const n of o.getItems())for(const i of r)e.schema.checkAttribute(n,i[0])&&t.setAttribute(i[0],i[1],n)}))}))}}class u_ extends Oo{static get pluginName(){return"Clipboard"}static get requires(){return[ry,oy,o_,l_]}init(){const t=this.editor,e=this.editor.t;t.accessibility.addKeystrokeInfos({keystrokes:[{label:e("Copy selected content"),keystroke:"CTRL+C"},{label:e("Paste content"),keystroke:"CTRL+V"},{label:e("Paste content as plain text"),keystroke:"CTRL+SHIFT+V"}]})}}class h_ extends Ro{_stack=[];_createdBatches=new WeakSet;constructor(t){super(t),this.refresh(),this._isEnabledBasedOnSelection=!1,this.listenTo(t.data,"set",((t,e)=>{e[1]={...e[1]};const n=e[1];n.batchType||(n.batchType={isUndoable:!1})}),{priority:"high"}),this.listenTo(t.data,"set",((t,e)=>{e[1].batchType.isUndoable||this.clearStack()}))}refresh(){this.isEnabled=this._stack.length>0}get createdBatches(){return this._createdBatches}addBatch(t){const e=this.editor.model.document.selection,n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n}),this.refresh()}clearStack(){this._stack=[],this.refresh()}_restoreSelection(t,e,n){const i=this.editor.model,r=i.document,o=[],a=t.map((t=>t.getTransformedByOperations(n))),s=a.flat();for(const t of a){const e=t.filter((t=>t.root!=r.graveyard)).filter((t=>!f_(t,s)));e.length&&(d_(e),o.push(e[0]))}o.length&&i.change((t=>{t.setSelection(o,{backward:e})}))}_undo(t,e){const n=this.editor.model,i=n.document;this._createdBatches.add(e);const r=t.operations.slice().filter((t=>t.isDocumentOperation));r.reverse();for(const t of r){const r=t.baseVersion+1,o=Array.from(i.history.getOperations(r)),a=qu([t.getReversed()],o,{useRelations:!0,document:this.editor.model.document,padWithNoOps:!1,forceWeakRemove:!0}).operationsA;for(let r of a){const o=r.affectedSelectable;o&&!n.canEditAt(o)&&(r=new Lu(r.baseVersion)),e.addOperation(r),n.applyOperation(r),i.history.setOperationAsUndone(t,r)}}}}function d_(t){t.sort(((t,e)=>t.start.isBefore(e.start)?-1:1));for(let e=1;ee!==t&&e.containsRange(t,!0)))}class g_ extends h_{execute(t=null){const e=t?this._stack.findIndex((e=>e.batch==t)):this._stack.length-1,n=this._stack.splice(e,1)[0],i=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(i,(()=>{this._undo(n.batch,i);const t=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,t)})),this.fire("revert",n.batch,i),this.refresh()}}class p_ extends h_{execute(){const t=this._stack.pop(),e=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(e,(()=>{const n=t.batch.operations[t.batch.operations.length-1].baseVersion+1,i=this.editor.model.document.history.getOperations(n);this._restoreSelection(t.selection.ranges,t.selection.isBackward,i),this._undo(t.batch,e)})),this.refresh()}}class m_ extends Oo{_undoCommand;_redoCommand;_batchRegistry=new WeakSet;static get pluginName(){return"UndoEditing"}init(){const t=this.editor,e=t.t;this._undoCommand=new g_(t),this._redoCommand=new p_(t),t.commands.add("undo",this._undoCommand),t.commands.add("redo",this._redoCommand),this.listenTo(t.model,"applyOperation",((t,e)=>{const n=e[0];if(!n.isDocumentOperation)return;const i=n.batch,r=this._redoCommand.createdBatches.has(i),o=this._undoCommand.createdBatches.has(i);this._batchRegistry.has(i)||(this._batchRegistry.add(i),i.isUndoable&&(r?this._undoCommand.addBatch(i):o||(this._undoCommand.addBatch(i),this._redoCommand.clearStack())))}),{priority:"highest"}),this.listenTo(this._undoCommand,"revert",((t,e,n)=>{this._redoCommand.addBatch(n)})),t.keystrokes.set("CTRL+Z","undo"),t.keystrokes.set("CTRL+Y","redo"),t.keystrokes.set("CTRL+SHIFT+Z","redo"),t.accessibility.addKeystrokeInfos({keystrokes:[{label:e("Undo"),keystroke:"CTRL+Z"},{label:e("Redo"),keystroke:[["CTRL+Y"],["CTRL+SHIFT+Z"]]}]})}}class b_ extends Oo{static get pluginName(){return"UndoUI"}init(){const t=this.editor,e=t.locale,n=t.t,i="ltr"==e.uiLanguageDirection?Ld.undo:Ld.redo,r="ltr"==e.uiLanguageDirection?Ld.redo:Ld.undo;this._addButtonsToFactory("undo",n("Undo"),"CTRL+Z",i),this._addButtonsToFactory("redo",n("Redo"),"CTRL+Y",r)}_addButtonsToFactory(t,e,n,i){const r=this.editor;r.ui.componentFactory.add(t,(()=>{const r=this._createButton(bf,t,e,n,i);return r.set({tooltip:!0}),r})),r.ui.componentFactory.add("menuBar:"+t,(()=>this._createButton(Kf,t,e,n,i)))}_createButton(t,e,n,i,r){const o=this.editor,a=o.locale,s=o.commands.get(e),c=new t(a);return c.set({label:n,icon:r,keystroke:i}),c.bind("isEnabled").to(s,"isEnabled"),this.listenTo(c,"execute",(()=>{o.execute(e),o.editing.view.focus()})),c}}class w_ extends Oo{static get requires(){return[m_,b_]}static get pluginName(){return"Undo"}}function k_(t){return t.createContainerElement("figure",{class:"image"},[t.createEmptyElement("img"),t.createSlot("children")])}function v_(t,e){const n=t.plugins.get("ImageUtils"),i=t.plugins.has("ImageInlineEditing")&&t.plugins.has("ImageBlockEditing");return t=>{if(!n.isInlineImageView(t))return null;if(!i)return r(t);return("block"==t.getStyle("display")||t.findAncestor(n.isBlockImageView)?"imageBlock":"imageInline")!==e?null:r(t)};function r(t){const e={name:!0};return t.hasAttribute("src")&&(e.attributes=["src"]),e}}function y_(t,e){const n=xo(e.getSelectedBlocks());return!n||t.isObject(n)||n.isEmpty&&"listItem"!=n.name?"imageBlock":"imageInline"}function __(t){return t&&t.endsWith("px")?parseInt(t):null}function C_(t){const e=__(t.getStyle("width")),n=__(t.getStyle("height"));return!(!e||!n)}const A_=/^(image|image-inline)$/;class x_ extends Oo{_domEmitter=new(or());static get pluginName(){return"ImageUtils"}isImage(t){return this.isInlineImage(t)||this.isBlockImage(t)}isInlineImageView(t){return!!t&&t.is("element","img")}isBlockImageView(t){return!!t&&t.is("element","figure")&&t.hasClass("image")}insertImage(t={},e=null,n=null,i={}){const r=this.editor,o=r.model,a=o.document.selection,s=E_(r,e||a,n);t={...Object.fromEntries(a.getAttributes()),...t};for(const e in t)o.schema.checkAttribute(s,e)||delete t[e];return o.change((n=>{const{setImageSizes:r=!0}=i,a=n.createElement(s,t);return o.insertObject(a,e,null,{setSelection:"on",findOptimalPosition:e||"imageInline"==s?void 0:"auto"}),a.parent?(r&&this.setImageNaturalSizeAttributes(a),a):null}))}setImageNaturalSizeAttributes(t){const e=t.getAttribute("src");e&&(t.getAttribute("width")||t.getAttribute("height")||this.editor.model.change((n=>{const i=new Xn.window.Image;this._domEmitter.listenTo(i,"load",(()=>{t.getAttribute("width")||t.getAttribute("height")||this.editor.model.enqueueChange(n.batch,(e=>{e.setAttribute("width",i.naturalWidth,t),e.setAttribute("height",i.naturalHeight,t)})),this._domEmitter.stopListening(i,"load")})),i.src=e})))}getClosestSelectedImageWidget(t){const e=t.getFirstPosition();if(!e)return null;const n=t.getSelectedElement();if(n&&this.isImageWidget(n))return n;let i=e.parent;for(;i;){if(i.is("element")&&this.isImageWidget(i))return i;i=i.parent}return null}getClosestSelectedImageElement(t){const e=t.getSelectedElement();return this.isImage(e)?e:t.getFirstPosition().findAncestor("imageBlock")}getImageWidgetFromImageView(t){return t.findAncestor({classes:A_})}isImageAllowed(){const t=this.editor.model.document.selection;return function(t,e){const n=E_(t,e,null);if("imageBlock"==n){const n=function(t,e){const n=wy(t,e),i=n.start.parent;if(i.isEmpty&&!i.is("element","$root"))return i.parent;return i}(e,t.model);if(t.model.schema.checkChild(n,"imageBlock"))return!0}else if(t.model.schema.checkChild(e.focus,"imageInline"))return!0;return!1}(this.editor,t)&&function(t){return[...t.focus.getAncestors()].every((t=>!t.is("element","imageBlock")))}(t)}toImageWidget(t,e,n){e.setCustomProperty("image",!0,t);return fy(t,e,{label:()=>{const e=this.findViewImgElement(t).getAttribute("alt");return e?`${e} ${n}`:n}})}isImageWidget(t){return!!t.getCustomProperty("image")&&dy(t)}isBlockImage(t){return!!t&&t.is("element","imageBlock")}isInlineImage(t){return!!t&&t.is("element","imageInline")}findViewImgElement(t){if(this.isInlineImageView(t))return t;const e=this.editor.editing.view;for(const{item:n}of e.createRangeIn(t))if(this.isInlineImageView(n))return n}destroy(){return this._domEmitter.stopListening(),super.destroy()}}function E_(t,e,n){const i=t.model.schema,r=t.config.get("image.insert.type");return t.plugins.has("ImageBlockEditing")?t.plugins.has("ImageInlineEditing")?n||("inline"===r?"imageInline":"auto"!==r?"imageBlock":e.is("selection")?y_(i,e):i.checkChild(e,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}new RegExp(String(/^(http(s)?:\/\/)?[\w-]+\.[\w.~:/[\]@!$&'()*+,;=%-]+/.source+/\.(jpg|jpeg|png|gif|ico|webp|JPG|JPEG|PNG|GIF|ICO|WEBP)/.source+/(\?[\w.~:/[\]@!$&'()*+,;=%-]*)?/.source+/(#[\w.~:/[\]@!$&'()*+,;=%-]*)?$/.source));class T_ extends Ro{refresh(){const t=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!t,this.isEnabled&&t.hasAttribute("alt")?this.value=t.getAttribute("alt"):this.value=!1}execute(t){const e=this.editor,n=e.plugins.get("ImageUtils"),i=e.model,r=n.getClosestSelectedImageElement(i.document.selection);i.change((e=>{e.setAttribute("alt",t.newValue,r)}))}}class S_ extends Oo{static get requires(){return[x_]}static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new T_(this.editor))}}var D_=n(4062),I_={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(D_.A,I_);D_.A.locals;class B_ extends af{focusTracker;keystrokes;labeledInput;saveButtonView;cancelButtonView;_focusables;_focusCycler;constructor(t){super(t);const e=this.locale.t;this.focusTracker=new Eo,this.keystrokes=new To,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(e("Save"),Ld.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(e("Cancel"),Ld.cancel,"ck-button-cancel","cancel"),this._focusables=new Od,this._focusCycler=new _f({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-text-alternative-form","ck-responsive-form"],tabindex:"-1"},children:[this.labeledInput,this.saveButtonView,this.cancelButtonView]})}render(){super.render(),this.keystrokes.listenTo(this.element),lf({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createButton(t,e,n,i){const r=new bf(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}_createLabeledInputView(){const t=this.locale.t,e=new Tg(this.locale,Pp);return e.label=t("Text alternative"),e}}function M_(t){const e=t.editing.view,n=ip.defaultPositions,i=t.plugins.get("ImageUtils");return{target:e.domConverter.mapViewToDom(i.getClosestSelectedImageWidget(e.document.selection)),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast,n.viewportStickyNorth]}}class P_ extends Oo{_balloon;_form;static get requires(){return[yb]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton()}destroy(){super.destroy(),this._form&&this._form.destroy()}_createButton(){const t=this.editor,e=t.t;t.ui.componentFactory.add("imageTextAlternative",(n=>{const i=t.commands.get("imageTextAlternative"),r=new bf(n);return r.set({label:e("Change image text alternative"),icon:Ld.textAlternative,tooltip:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value",(t=>!!t)),this.listenTo(r,"execute",(()=>{this._showForm()})),r}))}_createForm(){const t=this.editor,e=t.editing.view.document,n=t.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new(cf(B_))(t.locale),this._form.render(),this.listenTo(this._form,"submit",(()=>{t.execute("imageTextAlternative",{newValue:this._form.labeledInput.fieldView.element.value}),this._hideForm(!0)})),this.listenTo(this._form,"cancel",(()=>{this._hideForm(!0)})),this._form.keystrokes.set("Esc",((t,e)=>{this._hideForm(!0),e()})),this.listenTo(t.ui,"update",(()=>{n.getClosestSelectedImageWidget(e.selection)?this._isVisible&&function(t){const e=t.plugins.get("ContextualBalloon");if(t.plugins.get("ImageUtils").getClosestSelectedImageWidget(t.editing.view.document.selection)){const n=M_(t);e.updatePosition(n)}}(t):this._hideForm(!0)})),sf({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;this._form||this._createForm();const t=this.editor,e=t.commands.get("imageTextAlternative"),n=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:M_(t)}),n.fieldView.value=n.fieldView.element.value=e.value||"",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(t=!1){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),t&&this.editor.editing.view.focus())}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}class L_ extends Oo{static get requires(){return[S_,P_]}static get pluginName(){return"ImageTextAlternative"}}function O_(t,e){const n=(e,n,i)=>{if(!i.consumable.consume(n.item,e.name))return;const r=i.writer,o=i.mapper.toViewElement(n.item),a=t.findViewImgElement(o);null===n.attributeNewValue?(r.removeAttribute("srcset",a),r.removeAttribute("sizes",a)):n.attributeNewValue&&(r.setAttribute("srcset",n.attributeNewValue,a),r.setAttribute("sizes","100vw",a))};return t=>{t.on(`attribute:srcset:${e}`,n)}}function N_(t,e,n){const i=(e,n,i)=>{if(!i.consumable.consume(n.item,e.name))return;const r=i.writer,o=i.mapper.toViewElement(n.item),a=t.findViewImgElement(o);r.setAttribute(n.attributeKey,n.attributeNewValue||"",a)};return t=>{t.on(`attribute:${n}:${e}`,i)}}class R_ extends Xs{observe(t){this.listenTo(t,"load",((t,e)=>{const n=e.target;this.checkShouldIgnoreEventFromTarget(n)||"IMG"==n.tagName&&this._fireEvents(e)}),{useCapture:!0})}stopObserving(t){this.stopListening(t)}_fireEvents(t){this.isEnabled&&(this.document.fire("layoutChanged"),this.document.fire("imageLoaded",t))}}class F_ extends Ro{constructor(t){super(t);const e=t.config.get("image.insert.type");t.plugins.has("ImageBlockEditing")||"block"===e&&ki("image-block-plugin-required"),t.plugins.has("ImageInlineEditing")||"inline"===e&&ki("image-inline-plugin-required")}refresh(){const t=this.editor.plugins.get("ImageUtils");this.isEnabled=t.isImageAllowed()}execute(t){const e=Jr(t.source),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),r=Object.fromEntries(n.getAttributes());e.forEach(((e,o)=>{const a=n.getSelectedElement();if("string"==typeof e&&(e={src:e}),o&&a&&i.isImage(a)){const n=this.editor.model.createPositionAfter(a);i.insertImage({...e,...r},n,t.imageType)}else i.insertImage({...e,...r},null,t.imageType)}))}}class j_ extends Ro{constructor(t){super(t),this.decorate("cleanupImage")}refresh(){const t=this.editor.plugins.get("ImageUtils"),e=this.editor.model.document.selection.getSelectedElement();this.isEnabled=t.isImage(e),this.value=this.isEnabled?e.getAttribute("src"):null}execute(t){const e=this.editor.model.document.selection.getSelectedElement(),n=this.editor.plugins.get("ImageUtils");this.editor.model.change((i=>{i.setAttribute("src",t.source,e),this.cleanupImage(i,e),n.setImageNaturalSizeAttributes(e)}))}cleanupImage(t,e){t.removeAttribute("srcset",e),t.removeAttribute("sizes",e),t.removeAttribute("sources",e),t.removeAttribute("width",e),t.removeAttribute("height",e),t.removeAttribute("alt",e)}}class $_ extends Oo{static get requires(){return[x_]}static get pluginName(){return"ImageEditing"}init(){const t=this.editor,e=t.conversion;t.editing.view.addObserver(R_),e.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:"srcset"});const n=new F_(t),i=new j_(t);t.commands.add("insertImage",n),t.commands.add("replaceImageSource",i),t.commands.add("imageInsert",n)}}class z_ extends Oo{static get requires(){return[x_]}static get pluginName(){return"ImageSizeAttributes"}afterInit(){this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline")}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:["width","height"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["width","height"]})}_registerConverters(t){const e=this.editor,n=e.plugins.get("ImageUtils"),i="imageBlock"===t?"figure":"img";function r(e,i,r,o){e.on(`attribute:${i}:${t}`,((e,i,a)=>{if(!a.consumable.consume(i.item,e.name))return;const s=a.writer,c=a.mapper.toViewElement(i.item),l=n.findViewImgElement(c);if(null!==i.attributeNewValue?s.setAttribute(r,i.attributeNewValue,l):s.removeAttribute(r,l),i.item.hasAttribute("sources"))return;const u=i.item.hasAttribute("resizedWidth");if("imageInline"===t&&!u&&!o)return;const h=i.item.getAttribute("width"),d=i.item.getAttribute("height");h&&d&&s.setStyle("aspect-ratio",`${h}/${d}`,l)}))}e.conversion.for("upcast").attributeToAttribute({view:{name:i,styles:{width:/.+/}},model:{key:"width",value:t=>C_(t)?__(t.getStyle("width")):null}}).attributeToAttribute({view:{name:i,key:"width"},model:"width"}).attributeToAttribute({view:{name:i,styles:{height:/.+/}},model:{key:"height",value:t=>C_(t)?__(t.getStyle("height")):null}}).attributeToAttribute({view:{name:i,key:"height"},model:"height"}),e.conversion.for("editingDowncast").add((t=>{r(t,"width","width",!0),r(t,"height","height",!0)})),e.conversion.for("dataDowncast").add((t=>{r(t,"width","width",!1),r(t,"height","height",!1)}))}}class V_ extends Ro{_modelElementName;constructor(t,e){super(t),this._modelElementName=e}refresh(){const t=this.editor.plugins.get("ImageUtils"),e=t.getClosestSelectedImageElement(this.editor.model.document.selection);"imageBlock"===this._modelElementName?this.isEnabled=t.isInlineImage(e):this.isEnabled=t.isBlockImage(e)}execute(t={}){const e=this.editor,n=this.editor.model,i=e.plugins.get("ImageUtils"),r=i.getClosestSelectedImageElement(n.document.selection),o=Object.fromEntries(r.getAttributes());return o.src||o.uploadId?n.change((e=>{const{setImageSizes:a=!0}=t,s=Array.from(n.markers).filter((t=>t.getRange().containsItem(r))),c=i.insertImage(o,n.createSelection(r,"on"),this._modelElementName,{setImageSizes:a});if(!c)return null;const l=e.createRangeOn(c);for(const t of s){const n=t.getRange(),i="$graveyard"!=n.root.rootName?n.getJoined(l,!0):l;e.updateMarker(t,{range:i})}return{oldElement:r,newElement:c}})):null}}var H_=n(7378),q_={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(H_.A,q_);H_.A.locals;class U_ extends Oo{static get requires(){return[x_]}static get pluginName(){return"ImagePlaceholder"}afterInit(){this._setupSchema(),this._setupConversion(),this._setupLoadListener()}_setupSchema(){const t=this.editor.model.schema;t.isRegistered("imageBlock")&&t.extend("imageBlock",{allowAttributes:["placeholder"]}),t.isRegistered("imageInline")&&t.extend("imageInline",{allowAttributes:["placeholder"]})}_setupConversion(){const t=this.editor,e=t.conversion,n=t.plugins.get("ImageUtils");e.for("editingDowncast").add((t=>{t.on("attribute:placeholder",((t,e,i)=>{if(!i.consumable.test(e.item,t.name))return;if(!e.item.is("element","imageBlock")&&!e.item.is("element","imageInline"))return;i.consumable.consume(e.item,t.name);const r=i.writer,o=i.mapper.toViewElement(e.item),a=n.findViewImgElement(o);e.attributeNewValue?(r.addClass("image_placeholder",a),r.setStyle("background-image",`url(${e.attributeNewValue})`,a),r.setCustomProperty("editingPipeline:doNotReuseOnce",!0,a)):(r.removeClass("image_placeholder",a),r.removeStyle("background-image",a))}))}))}_setupLoadListener(){const t=this.editor,e=t.model,n=t.editing,i=n.view,r=t.plugins.get("ImageUtils");i.addObserver(R_),this.listenTo(i.document,"imageLoaded",((t,o)=>{const a=i.domConverter.mapDomToView(o.target);if(!a)return;const s=r.getImageWidgetFromImageView(a);if(!s)return;const c=n.mapper.toModelElement(s);c&&c.hasAttribute("placeholder")&&e.enqueueChange({isUndoable:!1},(t=>{t.removeAttribute("placeholder",c)}))}))}}class G_ extends Oo{static get requires(){return[$_,z_,x_,U_,oy]}static get pluginName(){return"ImageBlockEditing"}init(){const t=this.editor;t.model.schema.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]}),this._setupConversion(),t.plugins.has("ImageInlineEditing")&&(t.commands.add("imageTypeBlock",new V_(this.editor,"imageBlock")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToStructure({model:"imageBlock",view:(t,{writer:e})=>k_(e)}),n.for("editingDowncast").elementToStructure({model:"imageBlock",view:(t,{writer:n})=>i.toImageWidget(k_(n),n,e("image widget"))}),n.for("downcast").add(N_(i,"imageBlock","src")).add(N_(i,"imageBlock","alt")).add(O_(i,"imageBlock")),n.for("upcast").elementToElement({view:v_(t,"imageBlock"),model:(t,{writer:e})=>e.createElement("imageBlock",t.hasAttribute("src")?{src:t.getAttribute("src")}:void 0)}).add(function(t){const e=(e,n,i)=>{if(!i.consumable.test(n.viewItem,{name:!0,classes:"image"}))return;const r=t.findViewImgElement(n.viewItem);if(!r||!i.consumable.test(r,{name:!0}))return;i.consumable.consume(n.viewItem,{name:!0,classes:"image"});const o=xo(i.convertItem(r,n.modelCursor).modelRange.getItems());o?(i.convertChildren(n.viewItem,o),i.updateConversionResult(o,n)):i.consumable.revert(n.viewItem,{name:!0,classes:"image"})};return t=>{t.on("element:figure",e)}}(i))}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),r=t.plugins.get("ClipboardPipeline");this.listenTo(r,"inputTransformation",((r,o)=>{const a=Array.from(o.content.getChildren());let s;if(!a.every(i.isInlineImageView))return;s=o.targetRanges?t.editing.mapper.toModelRange(o.targetRanges[0]):e.document.selection.getFirstRange();const c=e.createSelection(s);if("imageBlock"===y_(e.schema,c)){const t=new jh(n.document),e=a.map((e=>t.createElement("figure",{class:"image"},e)));o.content=t.createDocumentFragment(e)}})),this.listenTo(r,"contentInsertion",((t,n)=>{"paste"===n.method&&e.change((t=>{const e=t.createRangeIn(n.content);for(const t of e.getItems())t.is("element","imageBlock")&&i.setImageNaturalSizeAttributes(t)}))}))}}var W_=n(3350),K_={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(W_.A,K_);W_.A.locals;class Y_ extends af{focusTracker;keystrokes;_focusables;_focusCycler;children;constructor(t,e=[]){super(t),this.focusTracker=new Eo,this.keystrokes=new To,this._focusables=new Od,this.children=this.createCollection(),this._focusCycler=new _f({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});for(const t of e)this.children.add(t),this._focusables.add(t),t instanceof hg&&this._focusables.addMany(t.children);this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:-1},children:this.children})}render(){super.render(),lf({view:this});for(const t of this._focusables)this.focusTracker.add(t.element);this.keystrokes.listenTo(this.element);const t=t=>t.stopPropagation();this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}}class X_ extends Oo{static get pluginName(){return"ImageInsertUI"}static get requires(){return[x_]}dropdownView;_integrations=new Map;constructor(t){super(t),t.config.define("image.insert.integrations",["upload","assetManager","url"])}init(){const t=this.editor,e=t.model.document.selection,n=t.plugins.get("ImageUtils");this.set("isImageSelected",!1),this.listenTo(t.model.document,"change",(()=>{this.isImageSelected=n.isImage(e.getSelectedElement())}));const i=t=>this._createToolbarComponent(t);t.ui.componentFactory.add("insertImage",i),t.ui.componentFactory.add("imageInsert",i),t.ui.componentFactory.add("menuBar:insertImage",(t=>this._createMenuBarComponent(t)))}registerIntegration({name:t,observable:e,buttonViewCreator:n,formViewCreator:i,menuBarButtonViewCreator:r,requiresForm:o=!1}){this._integrations.has(t)&&ki("image-insert-integration-exists",{name:t}),this._integrations.set(t,{observable:e,buttonViewCreator:n,menuBarButtonViewCreator:r,formViewCreator:i,requiresForm:o})}_createToolbarComponent(t){const e=this.editor,n=t.t,i=this._prepareIntegrations();if(!i.length)return null;let r;const o=i[0];if(1==i.length){if(!o.requiresForm)return o.buttonViewCreator(!0);r=o.buttonViewCreator(!0)}else{const e=o.buttonViewCreator(!1);r=new yp(t,e),r.tooltip=!0,r.bind("label").to(this,"isImageSelected",(t=>n(t?"Replace image":"Insert image")))}const a=this.dropdownView=Ep(t,r),s=i.map((({observable:t})=>"function"==typeof t?t():t));return a.bind("isEnabled").toMany(s,"isEnabled",((...t)=>t.some((t=>t)))),a.once("change:isOpen",(()=>{const t=i.map((({formViewCreator:t})=>t(1==i.length))),n=new Y_(e.locale,t);a.panelView.children.add(n)})),a}_createMenuBarComponent(t){const e=t.t,n=this._prepareIntegrations();if(!n.length)return null;let i;const r=n[0];if(1==n.length)i=r.menuBarButtonViewCreator(!0);else{i=new ew(t);const r=new nw(t);i.panelView.children.add(r),i.buttonView.set({icon:Ld.image,label:e("Image")});for(const e of n){const n=new Um(t,i),o=e.menuBarButtonViewCreator(!1);n.children.add(o),r.items.add(n)}}return i}_prepareIntegrations(){const t=this.editor.config.get("image.insert.integrations"),e=[];if(!t.length)return ki("image-insert-integrations-not-specified"),e;for(const n of t)this._integrations.has(n)?e.push(this._integrations.get(n)):["upload","assetManager","url"].includes(n)||ki("image-insert-unknown-integration",{item:n});return e.length||ki("image-insert-integrations-not-registered"),e}}var Z_=n(265),Q_={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Z_.A,Q_);Z_.A.locals;class J_ extends Oo{static get requires(){return[G_,Ny,L_,X_]}static get pluginName(){return"ImageBlock"}}class tC extends Oo{static get requires(){return[$_,z_,x_,U_,oy]}static get pluginName(){return"ImageInlineEditing"}init(){const t=this.editor;t.model.schema.register("imageInline",{inheritAllFrom:"$inlineObject",allowAttributes:["alt","src","srcset"],disallowIn:["caption"]}),this._setupConversion(),t.plugins.has("ImageBlockEditing")&&(t.commands.add("imageTypeInline",new V_(this.editor,"imageInline")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToElement({model:"imageInline",view:(t,{writer:e})=>e.createEmptyElement("img")}),n.for("editingDowncast").elementToStructure({model:"imageInline",view:(t,{writer:n})=>i.toImageWidget(function(t){return t.createContainerElement("span",{class:"image-inline"},t.createEmptyElement("img"))}(n),n,e("image widget"))}),n.for("downcast").add(N_(i,"imageInline","src")).add(N_(i,"imageInline","alt")).add(O_(i,"imageInline")),n.for("upcast").elementToElement({view:v_(t,"imageInline"),model:(t,{writer:e})=>e.createElement("imageInline",t.hasAttribute("src")?{src:t.getAttribute("src")}:void 0)})}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),r=t.plugins.get("ClipboardPipeline");this.listenTo(r,"inputTransformation",((r,o)=>{const a=Array.from(o.content.getChildren());let s;if(!a.every(i.isBlockImageView))return;s=o.targetRanges?t.editing.mapper.toModelRange(o.targetRanges[0]):e.document.selection.getFirstRange();const c=e.createSelection(s);if("imageInline"===y_(e.schema,c)){const t=new jh(n.document),e=a.map((e=>1===e.childCount?(Array.from(e.getAttributes()).forEach((n=>t.setAttribute(...n,i.findViewImgElement(e)))),e.getChild(0)):e));o.content=t.createDocumentFragment(e)}})),this.listenTo(r,"contentInsertion",((t,n)=>{"paste"===n.method&&e.change((t=>{const e=t.createRangeIn(n.content);for(const t of e.getItems())t.is("element","imageInline")&&i.setImageNaturalSizeAttributes(t)}))}))}}class eC extends Oo{static get requires(){return[tC,Ny,L_,X_]}static get pluginName(){return"ImageInline"}}class nC extends Oo{static get pluginName(){return"ImageCaptionUtils"}static get requires(){return[x_]}getCaptionFromImageModelElement(t){for(const e of t.getChildren())if(e&&e.is("element","caption"))return e;return null}getCaptionFromModelSelection(t){const e=this.editor.plugins.get("ImageUtils"),n=t.getFirstPosition().findAncestor("caption");return n&&e.isBlockImage(n.parent)?n:null}matchImageCaptionViewElement(t){const e=this.editor.plugins.get("ImageUtils");return"figcaption"==t.name&&e.isBlockImageView(t.parent)?{name:!0}:null}}class iC extends Ro{refresh(){const t=this.editor,e=t.plugins.get("ImageCaptionUtils"),n=t.plugins.get("ImageUtils");if(!t.plugins.has(G_))return this.isEnabled=!1,void(this.value=!1);const i=t.model.document.selection,r=i.getSelectedElement();if(!r){const t=e.getCaptionFromModelSelection(i);return this.isEnabled=!!t,void(this.value=!!t)}this.isEnabled=n.isImage(r),this.isEnabled?this.value=!!e.getCaptionFromImageModelElement(r):this.value=!1}execute(t={}){const{focusCaptionOnShow:e}=t;this.editor.model.change((t=>{this.value?this._hideImageCaption(t):this._showImageCaption(t,e)}))}_showImageCaption(t,e){const n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageCaptionEditing"),r=this.editor.plugins.get("ImageUtils");let o=n.getSelectedElement();const a=i._getSavedCaption(o);r.isInlineImage(o)&&(this.editor.execute("imageTypeBlock"),o=n.getSelectedElement());const s=a||t.createElement("caption");t.append(s,o),e&&t.setSelection(s,"in")}_hideImageCaption(t){const e=this.editor,n=e.model.document.selection,i=e.plugins.get("ImageCaptionEditing"),r=e.plugins.get("ImageCaptionUtils");let o,a=n.getSelectedElement();a?o=r.getCaptionFromImageModelElement(a):(o=r.getCaptionFromModelSelection(n),a=o.parent),i._saveCaption(a,o),t.setSelection(a,"on"),t.remove(o)}}class rC extends Oo{static get requires(){return[x_,nC]}static get pluginName(){return"ImageCaptionEditing"}_savedCaptionsMap;constructor(t){super(t),this._savedCaptionsMap=new WeakMap}init(){const t=this.editor,e=t.model.schema;e.isRegistered("caption")?e.extend("caption",{allowIn:"imageBlock"}):e.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:!0}),t.commands.add("toggleImageCaption",new iC(this.editor)),this._setupConversion(),this._setupImageTypeCommandsIntegration(),this._registerCaptionReconversion()}_setupConversion(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageUtils"),i=t.plugins.get("ImageCaptionUtils"),r=t.t;t.conversion.for("upcast").elementToElement({view:t=>i.matchImageCaptionViewElement(t),model:"caption"}),t.conversion.for("dataDowncast").elementToElement({model:"caption",view:(t,{writer:e})=>n.isBlockImage(t.parent)?e.createContainerElement("figcaption"):null}),t.conversion.for("editingDowncast").elementToElement({model:"caption",view:(t,{writer:i})=>{if(!n.isBlockImage(t.parent))return null;const o=i.createEditableElement("figcaption");i.setCustomProperty("imageCaption",!0,o),o.placeholder=r("Enter image caption"),Xo({view:e,element:o,keepOnFocus:!0});const a=t.parent.getAttribute("alt");return by(o,i,{label:a?r("Caption for image: %0",[a]):r("Caption for the image")})}})}_setupImageTypeCommandsIntegration(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.plugins.get("ImageCaptionUtils"),i=t.commands.get("imageTypeInline"),r=t.commands.get("imageTypeBlock"),o=t=>{if(!t.return)return;const{oldElement:i,newElement:r}=t.return;if(!i)return;if(e.isBlockImage(i)){const t=n.getCaptionFromImageModelElement(i);if(t)return void this._saveCaption(r,t)}const o=this._getSavedCaption(i);o&&this._saveCaption(r,o)};i&&this.listenTo(i,"execute",o,{priority:"low"}),r&&this.listenTo(r,"execute",o,{priority:"low"})}_getSavedCaption(t){const e=this._savedCaptionsMap.get(t);return e?$c.fromJSON(e):null}_saveCaption(t,e){this._savedCaptionsMap.set(t,e.toJSON())}_registerCaptionReconversion(){const t=this.editor,e=t.model,n=t.plugins.get("ImageUtils"),i=t.plugins.get("ImageCaptionUtils");e.document.on("change:data",(()=>{const r=e.document.differ.getChanges();for(const e of r){if("alt"!==e.attributeKey)continue;const r=e.range.start.nodeAfter;if(n.isBlockImage(r)){const e=i.getCaptionFromImageModelElement(r);if(!e)return;t.editing.reconvertItem(e)}}}))}}class oC extends Oo{static get requires(){return[nC]}static get pluginName(){return"ImageCaptionUI"}init(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageCaptionUtils"),i=t.t;t.ui.componentFactory.add("toggleImageCaption",(r=>{const o=t.commands.get("toggleImageCaption"),a=new bf(r);return a.set({icon:Ld.caption,tooltip:!0,isToggleable:!0}),a.bind("isOn","isEnabled").to(o,"value","isEnabled"),a.bind("label").to(o,"value",(t=>i(t?"Toggle caption off":"Toggle caption on"))),this.listenTo(a,"execute",(()=>{t.execute("toggleImageCaption",{focusCaptionOnShow:!0});const i=n.getCaptionFromModelSelection(t.model.document.selection);if(i){const n=t.editing.mapper.toViewElement(i);e.scrollToTheSelection(),e.change((t=>{t.addClass("image__caption_highlighted",n)}))}t.editing.view.focus()})),a}))}}var aC=n(5247),sC={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(aC.A,sC);aC.A.locals;function cC(t){const e=t.map((t=>t.replace("+","\\+")));return new RegExp(`^image\\/(${e.join("|")})$`)}function lC(t){return new Promise(((e,n)=>{const i=t.getAttribute("src");fetch(i).then((t=>t.blob())).then((t=>{const n=uC(t,i),r=n.replace("image/",""),o=new File([t],`image.${r}`,{type:n});e(o)})).catch((t=>t&&"TypeError"===t.name?function(t){return function(t){return new Promise(((e,n)=>{const i=Xn.document.createElement("img");i.addEventListener("load",(()=>{const t=Xn.document.createElement("canvas");t.width=i.width,t.height=i.height;t.getContext("2d").drawImage(i,0,0),t.toBlob((t=>t?e(t):n()))})),i.addEventListener("error",(()=>n())),i.src=t}))}(t).then((e=>{const n=uC(e,t),i=n.replace("image/","");return new File([e],`image.${i}`,{type:n})}))}(i).then(e).catch(n):n(t)))}))}function uC(t,e){return t.type?t.type:e.match(/data:(image\/\w+);base64/)?e.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}class hC extends Oo{static get pluginName(){return"ImageUploadUI"}init(){const t=this.editor;t.ui.componentFactory.add("uploadImage",(()=>this._createToolbarButton())),t.ui.componentFactory.add("imageUpload",(()=>this._createToolbarButton())),t.ui.componentFactory.add("menuBar:uploadImage",(()=>this._createMenuBarButton("standalone"))),t.plugins.has("ImageInsertUI")&&t.plugins.get("ImageInsertUI").registerIntegration({name:"upload",observable:()=>t.commands.get("uploadImage"),buttonViewCreator:()=>this._createToolbarButton(),formViewCreator:()=>this._createDropdownButton(),menuBarButtonViewCreator:t=>this._createMenuBarButton(t?"insertOnly":"insertNested")})}_createButton(t){const e=this.editor,n=e.locale,i=e.commands.get("uploadImage"),r=e.config.get("image.upload.types"),o=cC(r),a=new t(e.locale),s=n.t;return a.set({acceptedType:r.map((t=>`image/${t}`)).join(","),allowMultipleFiles:!0,label:s("Upload from computer"),icon:Ld.imageUpload}),a.bind("isEnabled").to(i),a.on("done",((t,n)=>{const i=Array.from(n).filter((t=>o.test(t.type)));i.length&&(e.execute("uploadImage",{file:i}),e.editing.view.focus())})),a}_createToolbarButton(){const t=this.editor.locale.t,e=this.editor.plugins.get("ImageInsertUI"),n=this.editor.commands.get("uploadImage"),i=this._createButton(rg);return i.tooltip=!0,i.bind("label").to(e,"isImageSelected",n,"isAccessAllowed",((e,n)=>t(n?e?"Replace image from computer":"Upload image from computer":"You have no image upload permissions."))),i}_createDropdownButton(){const t=this.editor.locale.t,e=this.editor.plugins.get("ImageInsertUI"),n=this._createButton(rg);return n.withText=!0,n.bind("label").to(e,"isImageSelected",(e=>t(e?"Replace from computer":"Upload from computer"))),n.on("execute",(()=>{e.dropdownView.isOpen=!1})),n}_createMenuBarButton(t){const e=this.editor.locale.t,n=this._createButton(rw);switch(n.withText=!0,t){case"standalone":n.label=e("Image from computer");break;case"insertOnly":n.label=e("Image");break;case"insertNested":n.label=e("From computer")}return n}}var dC=n(2267),fC={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(dC.A,fC);dC.A.locals;var gC=n(7693),pC={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(gC.A,pC);gC.A.locals;var mC=n(1559),bC={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(mC.A,bC);mC.A.locals;class wC extends Oo{static get pluginName(){return"ImageUploadProgress"}placeholder;constructor(t){super(t),this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const t=this.editor;t.plugins.has("ImageBlockEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",this.uploadStatusChange),t.plugins.has("ImageInlineEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",this.uploadStatusChange)}uploadStatusChange=(t,e,n)=>{const i=this.editor,r=e.item,o=r.getAttribute("uploadId");if(!n.consumable.consume(e.item,t.name))return;const a=i.plugins.get("ImageUtils"),s=i.plugins.get(Ow),c=o?e.attributeNewValue:null,l=this.placeholder,u=i.editing.mapper.toViewElement(r),h=n.writer;if("reading"==c)return kC(u,h),void vC(a,l,u,h);if("uploading"==c){const t=s.loaders.get(o);return kC(u,h),void(t?(yC(u,h),function(t,e,n,i){const r=function(t){const e=t.createUIElement("div",{class:"ck-progress-bar"});return t.setCustomProperty("progressBar",!0,e),e}(e);e.insert(e.createPositionAt(t,"end"),r),n.on("change:uploadedPercent",((t,e,n)=>{i.change((t=>{t.setStyle("width",n+"%",r)}))}))}(u,h,t,i.editing.view),function(t,e,n,i){if(i.data){const r=t.findViewImgElement(e);n.setAttribute("src",i.data,r)}}(a,u,h,t)):vC(a,l,u,h))}"complete"==c&&s.loaders.get(o)&&function(t,e,n){const i=e.createUIElement("div",{class:"ck-image-upload-complete-icon"});e.insert(e.createPositionAt(t,"end"),i),setTimeout((()=>{n.change((t=>t.remove(t.createRangeOn(i))))}),3e3)}(u,h,i.editing.view),function(t,e){CC(t,e,"progressBar")}(u,h),yC(u,h),function(t,e){e.removeClass("ck-appear",t)}(u,h)}}function kC(t,e){t.hasClass("ck-appear")||e.addClass("ck-appear",t)}function vC(t,e,n,i){n.hasClass("ck-image-upload-placeholder")||i.addClass("ck-image-upload-placeholder",n);const r=t.findViewImgElement(n);r.getAttribute("src")!==e&&i.setAttribute("src",e,r),_C(n,"placeholder")||i.insert(i.createPositionAfter(r),function(t){const e=t.createUIElement("div",{class:"ck-upload-placeholder-loader"});return t.setCustomProperty("placeholder",!0,e),e}(i))}function yC(t,e){t.hasClass("ck-image-upload-placeholder")&&e.removeClass("ck-image-upload-placeholder",t),CC(t,e,"placeholder")}function _C(t,e){for(const n of t.getChildren())if(n.getCustomProperty(e))return n}function CC(t,e,n){const i=_C(t,n);i&&e.remove(e.createRangeOn(i))}class AC extends Ro{constructor(t){super(t),this.set("isAccessAllowed",!0)}refresh(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.model.document.selection.getSelectedElement();this.isEnabled=e.isImageAllowed()||e.isImage(n)}execute(t){const e=Jr(t.file),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),r=Object.fromEntries(n.getAttributes());e.forEach(((t,e)=>{const o=n.getSelectedElement();if(e&&o&&i.isImage(o)){const e=this.editor.model.createPositionAfter(o);this._uploadImage(t,r,e)}else this._uploadImage(t,r)}))}_uploadImage(t,e,n){const i=this.editor,r=i.plugins.get(Ow).createLoader(t),o=i.plugins.get("ImageUtils");r&&o.insertImage({...e,uploadId:r.id},n)}}class xC extends Oo{static get requires(){return[Ow,gb,oy,x_]}static get pluginName(){return"ImageUploadEditing"}_uploadImageElements;constructor(t){super(t),t.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}}),this._uploadImageElements=new Map}init(){const t=this.editor,e=t.model.document,n=t.conversion,i=t.plugins.get(Ow),r=t.plugins.get("ImageUtils"),o=t.plugins.get("ClipboardPipeline"),a=cC(t.config.get("image.upload.types")),s=new AC(t);t.commands.add("uploadImage",s),t.commands.add("imageUpload",s),n.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"}),this.listenTo(t.editing.view.document,"clipboardInput",((e,n)=>{if(i=n.dataTransfer,Array.from(i.types).includes("text/html")&&""!==i.getData("text/html"))return;var i;const r=Array.from(n.dataTransfer.files).filter((t=>!!t&&a.test(t.type)));if(!r.length)return;e.stop(),t.model.change((e=>{n.targetRanges&&e.setSelection(n.targetRanges.map((e=>t.editing.mapper.toModelRange(e)))),t.execute("uploadImage",{file:r})}));if(!t.commands.get("uploadImage").isAccessAllowed){const e=t.plugins.get("Notification"),n=t.locale.t;e.showWarning(n("You have no image upload permissions."),{namespace:"image"})}})),this.listenTo(o,"inputTransformation",((e,n)=>{const o=Array.from(t.editing.view.createRangeIn(n.content)).map((t=>t.item)).filter((t=>function(t,e){return!(!t.isInlineImageView(e)||!e.getAttribute("src")||!e.getAttribute("src").match(/^data:image\/\w+;base64,/g)&&!e.getAttribute("src").match(/^blob:/g))}(r,t)&&!t.getAttribute("uploadProcessed"))).map((t=>({promise:lC(t),imageElement:t})));if(!o.length)return;const a=new jh(t.editing.view.document);for(const t of o){a.setAttribute("uploadProcessed",!0,t.imageElement);const e=i.createLoader(t.promise);e&&(a.setAttribute("src","",t.imageElement),a.setAttribute("uploadId",e.id,t.imageElement))}})),t.editing.view.document.on("dragover",((t,e)=>{e.preventDefault()})),e.on("change",(()=>{const n=e.differ.getChanges({includeChangesInGraveyard:!0}).reverse(),r=new Set;for(const e of n)if("insert"==e.type&&"$text"!=e.name){const n=e.position.nodeAfter,o="$graveyard"==e.position.root.rootName;for(const e of EC(t,n)){const t=e.getAttribute("uploadId");if(!t)continue;const n=i.loaders.get(t);n&&(o?r.has(t)||n.abort():(r.add(t),this._uploadImageElements.set(t,e),"idle"==n.status&&this._readAndUpload(n)))}}})),this.on("uploadComplete",((t,{imageElement:e,data:n})=>{const i=n.urls?n.urls:n;this.editor.model.change((t=>{t.setAttribute("src",i.default,e),this._parseAndSetSrcsetAttributeOnImage(i,e,t),r.setImageNaturalSizeAttributes(e)}))}),{priority:"low"})}afterInit(){const t=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&t.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]}),this.editor.plugins.has("ImageInlineEditing")&&t.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]})}_readAndUpload(t){const e=this.editor,n=e.model,i=e.locale.t,r=e.plugins.get(Ow),o=e.plugins.get(gb),a=e.plugins.get("ImageUtils"),s=this._uploadImageElements;return n.enqueueChange({isUndoable:!1},(e=>{e.setAttribute("uploadStatus","reading",s.get(t.id))})),t.read().then((()=>{const r=t.upload(),o=s.get(t.id);if(Jn.isSafari){const t=e.editing.mapper.toViewElement(o),n=a.findViewImgElement(t);e.editing.view.once("render",(()=>{if(!n.parent)return;const t=e.editing.view.domConverter.mapViewToDom(n.parent);if(!t)return;const i=t.style.display;t.style.display="none",t._ckHack=t.offsetHeight,t.style.display=i}))}return e.ui&&e.ui.ariaLiveAnnouncer.announce(i("Uploading image")),n.enqueueChange({isUndoable:!1},(t=>{t.setAttribute("uploadStatus","uploading",o)})),r})).then((r=>{n.enqueueChange({isUndoable:!1},(n=>{const o=s.get(t.id);n.setAttribute("uploadStatus","complete",o),e.ui&&e.ui.ariaLiveAnnouncer.announce(i("Image upload complete")),this.fire("uploadComplete",{data:r,imageElement:o})})),c()})).catch((r=>{if(e.ui&&e.ui.ariaLiveAnnouncer.announce(i("Error during image upload")),"error"!==t.status&&"aborted"!==t.status)throw r;"error"==t.status&&r&&o.showWarning(r,{title:i("Upload failed"),namespace:"upload"}),n.enqueueChange({isUndoable:!1},(e=>{e.remove(s.get(t.id))})),c()}));function c(){n.enqueueChange({isUndoable:!1},(e=>{const n=s.get(t.id);e.removeAttribute("uploadId",n),e.removeAttribute("uploadStatus",n),s.delete(t.id)})),r.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let i=0;const r=Object.keys(t).filter((t=>{const e=parseInt(t,10);if(!isNaN(e))return i=Math.max(i,e),!0})).map((e=>`${t[e]} ${e}w`)).join(", ");if(""!=r){const t={srcset:r};e.hasAttribute("width")||e.hasAttribute("height")||(t.width=i),n.setAttributes(t,e)}}}function EC(t,e){const n=t.plugins.get("ImageUtils");return Array.from(t.model.createRangeOn(e)).filter((t=>n.isImage(t.item))).map((t=>t.item))}const TC=function(t,e){return function(n,i){if(null==n)return n;if(!Te(n))return t(n,i);for(var r=n.length,o=e?r:-1,a=Object(n);(e?o--:++o{e.setAttribute("resizedWidth",t.width,r),e.removeAttribute("resizedHeight",r),i.setImageNaturalSizeAttributes(r)}))}}class BC extends Oo{static get requires(){return[x_]}static get pluginName(){return"ImageResizeEditing"}constructor(t){super(t),t.config.define("image",{resizeUnit:"%",resizeOptions:[{name:"resizeImage:original",value:null,icon:"original"},{name:"resizeImage:custom",value:"custom",icon:"custom"},{name:"resizeImage:25",value:"25",icon:"small"},{name:"resizeImage:50",value:"50",icon:"medium"},{name:"resizeImage:75",value:"75",icon:"large"}]})}init(){const t=this.editor,e=new IC(t);this._registerConverters("imageBlock"),this._registerConverters("imageInline"),t.commands.add("resizeImage",e),t.commands.add("imageResize",e)}afterInit(){this._registerSchema()}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:["resizedWidth","resizedHeight"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["resizedWidth","resizedHeight"]})}_registerConverters(t){const e=this.editor,n=e.plugins.get("ImageUtils");e.conversion.for("downcast").add((e=>e.on(`attribute:resizedWidth:${t}`,((t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const i=n.writer,r=n.mapper.toViewElement(e.item);null!==e.attributeNewValue?(i.setStyle("width",e.attributeNewValue,r),i.addClass("image_resized",r)):(i.removeStyle("width",r),i.removeClass("image_resized",r))})))),e.conversion.for("dataDowncast").attributeToAttribute({model:{name:t,key:"resizedHeight"},view:t=>({key:"style",value:{height:t}})}),e.conversion.for("editingDowncast").add((e=>e.on(`attribute:resizedHeight:${t}`,((e,i,r)=>{if(!r.consumable.consume(i.item,e.name))return;const o=r.writer,a=r.mapper.toViewElement(i.item),s="imageInline"===t?n.findViewImgElement(a):a;null!==i.attributeNewValue?o.setStyle("height",i.attributeNewValue,s):o.removeStyle("height",s)})))),e.conversion.for("upcast").attributeToAttribute({view:{name:"imageBlock"===t?"figure":"img",styles:{width:/.+/}},model:{key:"resizedWidth",value:t=>C_(t)?null:t.getStyle("width")}}),e.conversion.for("upcast").attributeToAttribute({view:{name:"imageBlock"===t?"figure":"img",styles:{height:/.+/}},model:{key:"resizedHeight",value:t=>C_(t)?null:t.getStyle("height")}})}}const MC=(()=>({small:Ld.objectSizeSmall,medium:Ld.objectSizeMedium,large:Ld.objectSizeLarge,custom:Ld.objectSizeCustom,original:Ld.objectSizeFull}))();class PC extends Oo{static get requires(){return[BC]}static get pluginName(){return"ImageResizeButtons"}_resizeUnit;constructor(t){super(t),this._resizeUnit=t.config.get("image.resizeUnit")}init(){const t=this.editor,e=t.config.get("image.resizeOptions"),n=t.commands.get("resizeImage");this.bind("isEnabled").to(n);for(const t of e)this._registerImageResizeButton(t);this._registerImageResizeDropdown(e)}_registerImageResizeButton(t){const e=this.editor,{name:n,value:i,icon:r}=t;e.ui.componentFactory.add(n,(n=>{const o=new bf(n),a=e.commands.get("resizeImage"),s=this._getOptionLabelValue(t,!0);if(!MC[r])throw new wi("imageresizebuttons-missing-icon",e,t);if(o.set({label:s,icon:MC[r],tooltip:s,isToggleable:!0}),o.bind("isEnabled").to(this),e.plugins.has("ImageCustomResizeUI")&&LC(t)){const t=e.plugins.get("ImageCustomResizeUI");this.listenTo(o,"execute",(()=>{t._showForm(this._resizeUnit)}))}else{const t=i?i+this._resizeUnit:null;o.bind("isOn").to(a,"value",OC(t)),this.listenTo(o,"execute",(()=>{e.execute("resizeImage",{width:t})}))}return o}))}_registerImageResizeDropdown(t){const e=this.editor,n=e.t,i=t.find((t=>!t.value)),r=r=>{const o=e.commands.get("resizeImage"),a=Ep(r,$g),s=a.buttonView,c=n("Resize image");return s.set({tooltip:c,commandValue:i.value,icon:MC.medium,isToggleable:!0,label:this._getOptionLabelValue(i),withText:!0,class:"ck-resize-image-button",ariaLabel:c,ariaLabelledBy:void 0}),s.bind("label").to(o,"value",(t=>t&&t.width?t.width:this._getOptionLabelValue(i))),a.bind("isEnabled").to(this),Dp(a,(()=>this._getResizeDropdownListItemDefinitions(t,o)),{ariaLabel:n("Image resize list"),role:"menu"}),this.listenTo(a,"execute",(t=>{"onClick"in t.source?t.source.onClick():(e.execute(t.source.commandName,{width:t.source.commandValue}),e.editing.view.focus())})),a};e.ui.componentFactory.add("resizeImage",r),e.ui.componentFactory.add("imageResize",r)}_getOptionLabelValue(t,e=!1){const n=this.editor.t;return t.label?t.label:e?LC(t)?n("Custom image size"):t.value?n("Resize image to %0",t.value+this._resizeUnit):n("Resize image to the original size"):LC(t)?n("Custom"):t.value?t.value+this._resizeUnit:n("Original")}_getResizeDropdownListItemDefinitions(t,e){const{editor:n}=this,i=new Ao,r=t.map((t=>LC(t)?{...t,valueWithUnits:"custom"}:t.value?{...t,valueWithUnits:`${t.value}${this._resizeUnit}`}:{...t,valueWithUnits:null}));for(const t of r){let o=null;if(n.plugins.has("ImageCustomResizeUI")&&LC(t)){const i=n.plugins.get("ImageCustomResizeUI");o={type:"button",model:new pb({label:this._getOptionLabelValue(t),role:"menuitemradio",withText:!0,icon:null,onClick:()=>{i._showForm(this._resizeUnit)}})};const a=DC(r,"valueWithUnits");o.model.bind("isOn").to(e,"value",NC(a))}else o={type:"button",model:new pb({commandName:"resizeImage",commandValue:t.valueWithUnits,label:this._getOptionLabelValue(t),role:"menuitemradio",withText:!0,icon:null})},o.model.bind("isOn").to(e,"value",OC(t.valueWithUnits));o.model.bind("isEnabled").to(e,"isEnabled"),i.add(o)}return i}}function LC(t){return"custom"===t.value}function OC(t){return e=>null===t&&e===t||null!==e&&e.width===t}function NC(t){return e=>!t.some((t=>OC(t)(e)))}const RC="image_resized";class FC extends Oo{static get requires(){return[Wy,x_]}static get pluginName(){return"ImageResizeHandles"}init(){const t=this.editor.commands.get("resizeImage");this.bind("isEnabled").to(t),this._setupResizerCreator()}_setupResizerCreator(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageUtils");e.addObserver(R_),this.listenTo(e.document,"imageLoaded",((i,r)=>{if(!r.target.matches("figure.image.ck-widget > img,figure.image.ck-widget > picture > img,figure.image.ck-widget > a > img,figure.image.ck-widget > a > picture > img,span.image-inline.ck-widget > img,span.image-inline.ck-widget > picture > img"))return;const o=t.editing.view.domConverter,a=o.domToView(r.target),s=n.getImageWidgetFromImageView(a);let c=this.editor.plugins.get(Wy).getResizerByViewElement(s);if(c)return void c.redraw();const l=t.editing.mapper,u=l.toModelElement(s);c=t.plugins.get(Wy).attachTo({unit:t.config.get("image.resizeUnit"),modelElement:u,viewElement:s,editor:t,getHandleHost:t=>t.querySelector("img"),getResizeHost:()=>o.mapViewToDom(l.toViewElement(u)),isCentered:()=>"alignCenter"==u.getAttribute("imageStyle"),onCommit(n){e.change((t=>{t.removeClass(RC,s)})),t.execute("resizeImage",{width:n})}}),c.on("updateSize",(()=>{s.hasClass(RC)||e.change((t=>{t.addClass(RC,s)}));const t="imageInline"===u.name?a:s;t.getStyle("height")&&e.change((e=>{e.removeStyle("height",t)}))})),c.bind("isEnabled").to(this)}))}}function jC(t){if(!t)return null;const[,e,n]=t.trim().match(/([.,\d]+)(%|px)$/)||[],i=Number.parseFloat(e);return Number.isNaN(i)?null:{value:i,unit:n}}function $C(t,e,n){return"px"===n?{value:e.value,unit:"px"}:{value:e.value/t*100,unit:"%"}}function zC(t){const{editing:e}=t,n=t.plugins.get("ImageUtils").getClosestSelectedImageElement(t.model.document.selection);if(!n)return null;const i=e.mapper.toViewElement(n);return{model:n,view:i,dom:e.view.domConverter.mapViewToDom(i)}}var VC=n(4642),HC={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(VC.A,HC);VC.A.locals;class qC extends af{focusTracker;keystrokes;unit;labeledInput;saveButtonView;cancelButtonView;_focusables;_focusCycler;_validators;constructor(t,e,n){super(t);const i=this.locale.t;this.focusTracker=new Eo,this.keystrokes=new To,this.unit=e,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(i("Save"),Ld.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(i("Cancel"),Ld.cancel,"ck-button-cancel","cancel"),this._focusables=new Od,this._validators=n,this._focusCycler=new _f({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-custom-resize-form","ck-responsive-form"],tabindex:"-1"},children:[this.labeledInput,this.saveButtonView,this.cancelButtonView]})}render(){super.render(),this.keystrokes.listenTo(this.element),lf({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createButton(t,e,n,i){const r=new bf(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}_createLabeledInputView(){const t=this.locale.t,e=new Tg(this.locale,Lp);return e.label=t("Resize image (in %0)",this.unit),e.fieldView.set({step:.1}),e}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e)return this.labeledInput.errorText=e,!1}return!0}resetFormStatus(){this.labeledInput.errorText=null}get rawSize(){const{element:t}=this.labeledInput.fieldView;return t?t.value:null}get parsedSize(){const{rawSize:t}=this;if(null===t)return null;const e=Number.parseFloat(t);return Number.isNaN(e)?null:e}get sizeWithUnits(){const{parsedSize:t,unit:e}=this;return null===t?null:`${t}${e}`}}class UC extends Oo{_balloon;_form;static get requires(){return[yb]}static get pluginName(){return"ImageCustomResizeUI"}destroy(){super.destroy(),this._form&&this._form.destroy()}_createForm(t){const e=this.editor;this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new(cf(qC))(e.locale,t,function(t){const e=t.t;return[t=>""===t.rawSize.trim()?e("The value must not be empty."):null===t.parsedSize?e("The value should be a plain number."):void 0]}(e)),this._form.render(),this.listenTo(this._form,"submit",(()=>{this._form.isValid()&&(e.execute("resizeImage",{width:this._form.sizeWithUnits}),this._hideForm(!0))})),this.listenTo(this._form.labeledInput,"change:errorText",(()=>{e.ui.update()})),this.listenTo(this._form,"cancel",(()=>{this._hideForm(!0)})),this._form.keystrokes.set("Esc",((t,e)=>{this._hideForm(!0),e()})),sf({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(t){if(this._isVisible)return;this._form||this._createForm(t);const e=this.editor,n=this._form.labeledInput;this._form.disableCssTransitions(),this._form.resetFormStatus(),this._isInBalloon||this._balloon.add({view:this._form,position:M_(e)});const i=function(t,e){const n=zC(t);if(!n)return null;const i=jC(n.model.getAttribute("resizedWidth")||null);return i?i.unit===e?i:$C(yy(n.dom),{unit:"px",value:new mr(n.dom).width},e):null}(e,t),r=i?i.value.toFixed(1):"",o=function(t,e){const n=zC(t);if(!n)return null;const i=yy(n.dom),r=jC(window.getComputedStyle(n.dom).minWidth)||{value:1,unit:"px"};return{unit:e,lower:Math.max(.1,$C(i,r,e).value),upper:"px"===e?i:100}}(e,t);n.fieldView.value=n.fieldView.element.value=r,o&&Object.assign(n.fieldView,{min:o.lower.toFixed(1),max:Math.ceil(o.upper).toFixed(1)}),this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(t=!1){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),t&&this.editor.editing.view.focus())}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}var GC=n(3469),WC={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(GC.A,WC);GC.A.locals;class KC extends Ro{_defaultStyles;_styles;constructor(t,e){super(t),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(e.map((t=>{if(t.isDefault)for(const e of t.modelElements)this._defaultStyles[e]=t.name;return[t.name,t]})))}refresh(){const t=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!t,this.isEnabled?t.hasAttribute("imageStyle")?this.value=t.getAttribute("imageStyle"):this.value=this._defaultStyles[t.name]:this.value=!1}execute(t={}){const e=this.editor,n=e.model,i=e.plugins.get("ImageUtils");n.change((e=>{const r=t.value,{setImageSizes:o=!0}=t;let a=i.getClosestSelectedImageElement(n.document.selection);r&&this.shouldConvertImageType(r,a)&&(this.editor.execute(i.isBlockImage(a)?"imageTypeInline":"imageTypeBlock",{setImageSizes:o}),a=i.getClosestSelectedImageElement(n.document.selection)),!r||this._styles.get(r).isDefault?e.removeAttribute("imageStyle",a):e.setAttribute("imageStyle",r,a),o&&i.setImageNaturalSizeAttributes(a)}))}shouldConvertImageType(t,e){return!this._styles.get(t).modelElements.includes(e.name)}}const YC={get inline(){return{name:"inline",title:"In line",icon:Ld.objectInline,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:Ld.objectLeft,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:Ld.objectBlockLeft,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:Ld.objectCenter,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:Ld.objectRight,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:Ld.objectBlockRight,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:Ld.objectCenter,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:Ld.objectRight,modelElements:["imageBlock"],className:"image-style-side"}}},XC=(()=>({full:Ld.objectFullWidth,left:Ld.objectBlockLeft,right:Ld.objectBlockRight,center:Ld.objectCenter,inlineLeft:Ld.objectLeft,inlineRight:Ld.objectRight,inline:Ld.objectInline}))(),ZC=[{name:"imageStyle:wrapText",title:"Wrap text",defaultItem:"imageStyle:alignLeft",items:["imageStyle:alignLeft","imageStyle:alignRight"]},{name:"imageStyle:breakText",title:"Break text",defaultItem:"imageStyle:block",items:["imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"]}];function QC(t){ki("image-style-configuration-definition-invalid",t)}const JC={normalizeStyles:function(t){return(t.configuredStyles.options||[]).map((t=>function(t){t="string"==typeof t?YC[t]?{...YC[t]}:{name:t}:function(t,e){const n={...e};for(const i in t)Object.prototype.hasOwnProperty.call(e,i)||(n[i]=t[i]);return n}(YC[t.name],t);"string"==typeof t.icon&&(t.icon=XC[t.icon]||t.icon);return t}(t))).filter((e=>function(t,{isBlockPluginLoaded:e,isInlinePluginLoaded:n}){const{modelElements:i,name:r}=t;if(!(i&&i.length&&r))return QC({style:t}),!1;{const r=[e?"imageBlock":null,n?"imageInline":null];if(!i.some((t=>r.includes(t))))return ki("image-style-missing-dependency",{style:t,missingPlugins:i.map((t=>"imageBlock"===t?"ImageBlockEditing":"ImageInlineEditing"))}),!1}return!0}(e,t)))},getDefaultStylesConfiguration:function(t,e){return t&&e?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:t?{options:["block","side"]}:e?{options:["inline","alignLeft","alignRight"]}:{}},getDefaultDropdownDefinitions:function(t){return t.has("ImageBlockEditing")&&t.has("ImageInlineEditing")?[...ZC]:[]},warnInvalidStyle:QC,DEFAULT_OPTIONS:YC,DEFAULT_ICONS:XC,DEFAULT_DROPDOWN_DEFINITIONS:ZC};function tA(t,e){for(const n of e)if(n.name===t)return n}class eA extends Oo{static get pluginName(){return"ImageStyleEditing"}static get requires(){return[x_]}normalizedStyles;init(){const{normalizeStyles:t,getDefaultStylesConfiguration:e}=JC,n=this.editor,i=n.plugins.has("ImageBlockEditing"),r=n.plugins.has("ImageInlineEditing");n.config.define("image.styles",e(i,r)),this.normalizedStyles=t({configuredStyles:n.config.get("image.styles"),isBlockPluginLoaded:i,isInlinePluginLoaded:r}),this._setupConversion(i,r),this._setupPostFixer(),n.commands.add("imageStyle",new KC(n,this.normalizedStyles))}_setupConversion(t,e){const n=this.editor,i=n.model.schema,r=(o=this.normalizedStyles,(t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const i=tA(e.attributeNewValue,o),r=tA(e.attributeOldValue,o),a=n.mapper.toViewElement(e.item),s=n.writer;r&&s.removeClass(r.className,a),i&&s.addClass(i.className,a)});var o;const a=function(t){const e={imageInline:t.filter((t=>!t.isDefault&&t.modelElements.includes("imageInline"))),imageBlock:t.filter((t=>!t.isDefault&&t.modelElements.includes("imageBlock")))};return(t,n,i)=>{if(!n.modelRange)return;const r=n.viewItem,o=xo(n.modelRange.getItems());if(o&&i.schema.checkAttribute(o,"imageStyle"))for(const t of e[o.name])i.consumable.consume(r,{classes:t.className})&&i.writer.setAttribute("imageStyle",t.name,o)}}(this.normalizedStyles);n.editing.downcastDispatcher.on("attribute:imageStyle",r),n.data.downcastDispatcher.on("attribute:imageStyle",r),t&&(i.extend("imageBlock",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:figure",a,{priority:"low"})),e&&(i.extend("imageInline",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:img",a,{priority:"low"}))}_setupPostFixer(){const t=this.editor,e=t.model.document,n=t.plugins.get(x_),i=new Map(this.normalizedStyles.map((t=>[t.name,t])));e.registerPostFixer((t=>{let r=!1;for(const o of e.differ.getChanges())if("insert"==o.type||"attribute"==o.type&&"imageStyle"==o.attributeKey){let e="insert"==o.type?o.position.nodeAfter:o.range.start.nodeAfter;if(e&&e.is("element","paragraph")&&e.childCount>0&&(e=e.getChild(0)),!n.isImage(e))continue;const a=e.getAttribute("imageStyle");if(!a)continue;const s=i.get(a);s&&s.modelElements.includes(e.name)||(t.removeAttribute("imageStyle",e),r=!0)}return r}))}}var nA=n(6386),iA={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(nA.A,iA);nA.A.locals;class rA extends Oo{static get requires(){return[eA]}static get pluginName(){return"ImageStyleUI"}get localizedDefaultStylesTitles(){const t=this.editor.t;return{"Wrap text":t("Wrap text"),"Break text":t("Break text"),"In line":t("In line"),"Full size image":t("Full size image"),"Side image":t("Side image"),"Left aligned image":t("Left aligned image"),"Centered image":t("Centered image"),"Right aligned image":t("Right aligned image")}}init(){const t=this.editor.plugins,e=this.editor.config.get("image.toolbar")||[],n=oA(t.get("ImageStyleEditing").normalizedStyles,this.localizedDefaultStylesTitles);for(const t of n)this._createButton(t);const i=oA([...e.filter(a),...JC.getDefaultDropdownDefinitions(t)],this.localizedDefaultStylesTitles);for(const t of i)this._createDropdown(t,n)}_createDropdown(t,e){const n=this.editor.ui.componentFactory;n.add(t.name,(i=>{let r;const{defaultItem:o,items:a,title:s}=t,c=a.filter((t=>e.find((({name:e})=>aA(e)===t)))).map((t=>{const e=n.create(t);return t===o&&(r=e),e}));a.length!==c.length&&JC.warnInvalidStyle({dropdown:t});const l=Ep(i,yp),u=l.buttonView,h=u.arrowView;return Tp(l,c,{enableActiveItemFocusOnDropdownOpen:!0}),u.set({label:sA(s,r.label),class:null,tooltip:!0}),h.unbind("label"),h.set({label:s}),u.bind("icon").toMany(c,"isOn",((...t)=>{const e=t.findIndex(so);return e<0?r.icon:c[e].icon})),u.bind("label").toMany(c,"isOn",((...t)=>{const e=t.findIndex(so);return sA(s,e<0?r.label:c[e].label)})),u.bind("isOn").toMany(c,"isOn",((...t)=>t.some(so))),u.bind("class").toMany(c,"isOn",((...t)=>t.some(so)?"ck-splitbutton_flatten":void 0)),u.on("execute",(()=>{c.some((({isOn:t})=>t))?l.isOpen=!l.isOpen:r.fire("execute")})),l.bind("isEnabled").toMany(c,"isEnabled",((...t)=>t.some(so))),this.listenTo(l,"execute",(()=>{this.editor.editing.view.focus()})),l}))}_createButton(t){const e=t.name;this.editor.ui.componentFactory.add(aA(e),(n=>{const i=this.editor.commands.get("imageStyle"),r=new bf(n);return r.set({label:t.title,icon:t.icon,tooltip:!0,isToggleable:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value",(t=>t===e)),r.on("execute",this._executeCommand.bind(this,e)),r}))}_executeCommand(t){this.editor.execute("imageStyle",{value:t}),this.editor.editing.view.focus()}}function oA(t,e){for(const n of t)e[n.title]&&(n.title=e[n.title]);return t}function aA(t){return`imageStyle:${t}`}function sA(t,e){return(t?t+": ":"")+e}class cA{_definitions=new Set;get length(){return this._definitions.size}add(t){Array.isArray(t)?t.forEach((t=>this._definitions.add(t))):this._definitions.add(t)}getDispatcher(){return t=>{t.on("attribute:linkHref",((t,e,n)=>{if(!n.consumable.test(e.item,"attribute:linkHref"))return;if(!e.item.is("selection")&&!n.schema.isInline(e.item))return;const i=n.writer,r=i.document.selection;for(const t of this._definitions){const o=i.createAttributeElement("a",t.attributes,{priority:5});t.classes&&i.addClass(t.classes,o);for(const e in t.styles)i.setStyle(e,t.styles[e],o);i.setCustomProperty("link",!0,o),t.callback(e.attributeNewValue)?e.item.is("selection")?i.wrap(r.getFirstRange(),o):i.wrap(n.mapper.toViewRange(e.range),o):i.unwrap(n.mapper.toViewRange(e.range),o)}}),{priority:"high"})}}getDispatcherForLinkedImage(){return t=>{t.on("attribute:linkHref:imageBlock",((t,e,{writer:n,mapper:i})=>{const r=i.toViewElement(e.item),o=Array.from(r.getChildren()).find((t=>t.is("element","a")));for(const t of this._definitions){const i=So(t.attributes);if(t.callback(e.attributeNewValue)){for(const[t,e]of i)"class"===t?n.addClass(e,o):n.setAttribute(t,e,o);t.classes&&n.addClass(t.classes,o);for(const e in t.styles)n.setStyle(e,t.styles[e],o)}else{for(const[t,e]of i)"class"===t?n.removeClass(e,o):n.removeAttribute(t,o);t.classes&&n.removeClass(t.classes,o);for(const e in t.styles)n.removeStyle(e,o)}}}))}}}const lA=function(t,e,n){var i=t.length;return n=void 0===n?i:n,!e&&n>=i?t:Ea(t,e,n)};var uA=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");const hA=function(t){return uA.test(t)};const dA=function(t){return t.split("")};var fA="\\ud800-\\udfff",gA="["+fA+"]",pA="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",mA="\\ud83c[\\udffb-\\udfff]",bA="[^"+fA+"]",wA="(?:\\ud83c[\\udde6-\\uddff]){2}",kA="[\\ud800-\\udbff][\\udc00-\\udfff]",vA="(?:"+pA+"|"+mA+")"+"?",yA="[\\ufe0e\\ufe0f]?",_A=yA+vA+("(?:\\u200d(?:"+[bA,wA,kA].join("|")+")"+yA+vA+")*"),CA="(?:"+[bA+pA+"?",pA,wA,kA,gA].join("|")+")",AA=RegExp(mA+"(?="+mA+")|"+CA+_A,"g");const xA=function(t){return t.match(AA)||[]};const EA=function(t){return hA(t)?xA(t):dA(t)};const TA=function(t){return function(e){e=ya(e);var n=hA(e)?EA(e):void 0,i=n?n[0]:e.charAt(0),r=n?lA(n,1).join(""):e.slice(1);return i[t]()+r}}("toUpperCase"),SA=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,DA=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i,IA=/^((\w+:(\/{2,})?)|(\W))/i,BA=["https?","ftps?","mailto"],MA="Ctrl+K";function PA(t,{writer:e}){const n=e.createAttributeElement("a",{href:t},{priority:5});return e.setCustomProperty("link",!0,n),n}function LA(t,e=BA){const n=String(t),i=e.join("|");return function(t,e){const n=t.replace(SA,"");return!!n.match(e)}(n,new RegExp(`${"^(?:(?:):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))".replace("",i)}`,"i"))?n:"#"}function OA(t,e){return!!t&&e.checkAttribute(t.name,"linkHref")}function NA(t,e){const n=(i=t,DA.test(i)?"mailto:":e);var i;const r=!!n&&!RA(t);return t&&r?n+t:t}function RA(t){return IA.test(t)}function FA(t){window.open(t,"_blank","noopener")}class jA extends Ro{manualDecorators=new Ao;automaticDecorators=new cA;restoreManualDecoratorStates(){for(const t of this.manualDecorators)t.value=this._getDecoratorStateFromModel(t.id)}refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement()||xo(e.getSelectedBlocks());OA(n,t.schema)?(this.value=n.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttribute(n,"linkHref")):(this.value=e.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref"));for(const t of this.manualDecorators)t.value=this._getDecoratorStateFromModel(t.id)}execute(t,e={}){const n=this.editor.model,i=n.document.selection,r=[],o=[];for(const t in e)e[t]?r.push(t):o.push(t);n.change((e=>{if(i.isCollapsed){const a=i.getFirstPosition();if(i.hasAttribute("linkHref")){const s=$A(i);let c=yk(a,"linkHref",i.getAttribute("linkHref"),n);i.getAttribute("linkHref")===s&&(c=this._updateLinkContent(n,e,c,t)),e.setAttribute("linkHref",t,c),r.forEach((t=>{e.setAttribute(t,!0,c)})),o.forEach((t=>{e.removeAttribute(t,c)})),e.setSelection(e.createPositionAfter(c.end.nodeBefore))}else if(""!==t){const o=So(i.getAttributes());o.set("linkHref",t),r.forEach((t=>{o.set(t,!0)}));const{end:s}=n.insertContent(e.createText(t,o),a);e.setSelection(s)}["linkHref",...r,...o].forEach((t=>{e.removeSelectionAttribute(t)}))}else{const a=n.schema.getValidRanges(i.getRanges(),"linkHref"),s=[];for(const t of i.getSelectedBlocks())n.schema.checkAttribute(t,"linkHref")&&s.push(e.createRangeOn(t));const c=s.slice();for(const t of a)this._isRangeToUpdate(t,s)&&c.push(t);for(const a of c){let s=a;if(1===c.length){const r=$A(i);i.getAttribute("linkHref")===r&&(s=this._updateLinkContent(n,e,a,t),e.setSelection(e.createSelection(s)))}e.setAttribute("linkHref",t,s),r.forEach((t=>{e.setAttribute(t,!0,s)})),o.forEach((t=>{e.removeAttribute(t,s)}))}}}))}_getDecoratorStateFromModel(t){const e=this.editor.model,n=e.document.selection,i=n.getSelectedElement();return OA(i,e.schema)?i.getAttribute(t):n.getAttribute(t)}_isRangeToUpdate(t,e){for(const n of e)if(n.containsRange(t))return!1;return!0}_updateLinkContent(t,e,n,i){const r=e.createText(i,{linkHref:i});return t.insertContent(r,n)}}function $A(t){if(t.isCollapsed){const e=t.getFirstPosition();return e.textNode&&e.textNode.data}{const e=Array.from(t.getFirstRange().getItems());if(e.length>1)return null;const n=e[0];return n.is("$text")||n.is("$textProxy")?n.data:null}}class zA extends Ro{refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement();OA(n,t.schema)?this.isEnabled=t.schema.checkAttribute(n,"linkHref"):this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref")}execute(){const t=this.editor,e=this.editor.model,n=e.document.selection,i=t.commands.get("link");e.change((t=>{const r=n.isCollapsed?[yk(n.getFirstPosition(),"linkHref",n.getAttribute("linkHref"),e)]:e.schema.getValidRanges(n.getRanges(),"linkHref");for(const e of r)if(t.removeAttribute("linkHref",e),i)for(const n of i.manualDecorators)t.removeAttribute(n.id,e)}))}}class VA extends(Vi()){id;defaultValue;label;attributes;classes;styles;constructor({id:t,label:e,attributes:n,classes:i,styles:r,defaultValue:o}){super(),this.id=t,this.set("value",void 0),this.defaultValue=o,this.label=e,this.attributes=n,this.classes=i,this.styles=r}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}var HA=n(7719),qA={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(HA.A,qA);HA.A.locals;const UA="automatic",GA=/^(https?:)?\/\//;class WA extends Oo{static get pluginName(){return"LinkEditing"}static get requires(){return[sk,Gw,oy]}constructor(t){super(t),t.config.define("link",{allowCreatingEmptyLinks:!1,addTargetToExternalLinks:!1})}init(){const t=this.editor,e=this.editor.config.get("link.allowedProtocols");t.model.schema.extend("$text",{allowAttributes:"linkHref"}),t.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:PA}),t.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(t,n)=>PA(LA(t,e),n)}),t.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:!0}},model:{key:"linkHref",value:t=>t.getAttribute("href")}}),t.commands.add("link",new jA(t)),t.commands.add("unlink",new zA(t));const n=function(t,e){const n={"Open in a new tab":t("Open in a new tab"),Downloadable:t("Downloadable")};return e.forEach((t=>("label"in t&&n[t.label]&&(t.label=n[t.label]),t))),e}(t.t,function(t){const e=[];if(t)for(const[n,i]of Object.entries(t)){const t=Object.assign({},i,{id:`link${TA(n)}`});e.push(t)}return e}(t.config.get("link.decorators")));this._enableAutomaticDecorators(n.filter((t=>t.mode===UA))),this._enableManualDecorators(n.filter((t=>"manual"===t.mode)));t.plugins.get(sk).registerAttribute("linkHref"),Ck(t,"linkHref","a","ck-link_selected"),this._enableSelectionAttributesFixer(),this._enableClipboardIntegration()}_enableAutomaticDecorators(t){const e=this.editor,n=e.commands.get("link").automaticDecorators;e.config.get("link.addTargetToExternalLinks")&&n.add({id:"linkIsExternal",mode:UA,callback:t=>!!t&&GA.test(t),attributes:{target:"_blank",rel:"noopener noreferrer"}}),n.add(t),n.length&&e.conversion.for("downcast").add(n.getDispatcher())}_enableManualDecorators(t){if(!t.length)return;const e=this.editor,n=e.commands.get("link").manualDecorators;t.forEach((t=>{e.model.schema.extend("$text",{allowAttributes:t.id});const i=new VA(t);n.add(i),e.conversion.for("downcast").attributeToElement({model:i.id,view:(t,{writer:e,schema:n},{item:r})=>{if((r.is("selection")||n.isInline(r))&&t){const t=e.createAttributeElement("a",i.attributes,{priority:5});i.classes&&e.addClass(i.classes,t);for(const n in i.styles)e.setStyle(n,i.styles[n],t);return e.setCustomProperty("link",!0,t),t}}}),e.conversion.for("upcast").elementToAttribute({view:{name:"a",...i._createPattern()},model:{key:i.id}})}))}_enableLinkOpen(){const t=this.editor,e=t.editing.view.document;this.listenTo(e,"click",((t,e)=>{if(!(Jn.isMac?e.domEvent.metaKey:e.domEvent.ctrlKey))return;let n=e.domTarget;if("a"!=n.tagName.toLowerCase()&&(n=n.closest("a")),!n)return;const i=n.getAttribute("href");i&&(t.stop(),e.preventDefault(),FA(i))}),{context:"$capture"}),this.listenTo(e,"keydown",((e,n)=>{const i=t.commands.get("link").value;!!i&&n.keyCode===Gr.enter&&n.altKey&&(e.stop(),FA(i))}))}_enableSelectionAttributesFixer(){const t=this.editor.model,e=t.document.selection;this.listenTo(e,"change:attribute",((n,{attributeKeys:i})=>{i.includes("linkHref")&&!e.hasAttribute("linkHref")&&t.change((e=>{var n;!function(t,e){t.removeSelectionAttribute("linkHref");for(const n of e)t.removeSelectionAttribute(n)}(e,(n=t.schema,n.getDefinition("$text").allowAttributes.filter((t=>t.startsWith("link")))))}))}))}_enableClipboardIntegration(){const t=this.editor,e=t.model,n=this.editor.config.get("link.defaultProtocol");n&&this.listenTo(t.plugins.get("ClipboardPipeline"),"contentInsertion",((t,i)=>{e.change((t=>{const e=t.createRangeIn(i.content);for(const i of e.getItems())if(i.hasAttribute("linkHref")){const e=NA(i.getAttribute("linkHref"),n);t.setAttribute("linkHref",e,i)}}))}))}}var KA=n(3817),YA={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(KA.A,YA);KA.A.locals;class XA extends af{focusTracker=new Eo;keystrokes=new To;urlInputView;saveButtonView;cancelButtonView;_manualDecoratorSwitches;children;_validators;_focusables=new Od;_focusCycler;constructor(t,e,n){super(t);const i=t.t;this._validators=n,this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(i("Save"),Ld.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(i("Cancel"),Ld.cancel,"ck-button-cancel","cancel"),this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e),this.children=this._createFormChildren(e.manualDecorators),this._focusCycler=new _f({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const r=["ck","ck-link-form","ck-responsive-form"];e.manualDecorators.length&&r.push("ck-link-form_layout-vertical","ck-vertical-form"),this.setTemplate({tag:"form",attributes:{class:r,tabindex:"-1"},children:this.children})}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce(((t,e)=>(t[e.name]=e.isOn,t)),{})}render(){super.render(),lf({view:this});[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e)return this.urlInputView.errorText=e,!1}return!0}resetFormStatus(){this.urlInputView.errorText=null}_createUrlInput(){const t=this.locale.t,e=new Tg(this.locale,Pp);return e.fieldView.inputMode="url",e.label=t("Link URL"),e}_createButton(t,e,n,i){const r=new bf(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const i=new ig(this.locale);i.set({name:n.id,label:n.label,withText:!0}),i.bind("isOn").toMany([n,t],"value",((t,e)=>void 0===e&&void 0===t?!!n.defaultValue:!!t)),i.on("execute",(()=>{n.set("value",!i.isOn)})),e.add(i)}return e}_createFormChildren(t){const e=this.createCollection();if(e.add(this.urlInputView),t.length){const t=new af;t.setTemplate({tag:"ul",children:this._manualDecoratorSwitches.map((t=>({tag:"li",children:[t],attributes:{class:["ck","ck-list__item"]}}))),attributes:{class:["ck","ck-reset","ck-list"]}}),e.add(t)}return e.add(this.saveButtonView),e.add(this.cancelButtonView),e}get url(){const{element:t}=this.urlInputView.fieldView;return t?t.value.trim():null}}var ZA=n(8762),QA={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(ZA.A,QA);ZA.A.locals;class JA extends af{focusTracker=new Eo;keystrokes=new To;previewButtonView;unlinkButtonView;editButtonView;_focusables=new Od;_focusCycler;_linkConfig;constructor(t,e={}){super(t);const n=t.t;this.previewButtonView=this._createPreviewButton(),this.unlinkButtonView=this._createButton(n("Unlink"),'',"unlink"),this.editButtonView=this._createButton(n("Edit link"),Ld.pencil,"edit"),this.set("href",void 0),this._linkConfig=e,this._focusCycler=new _f({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-link-actions","ck-responsive-form"],tabindex:"-1"},children:[this.previewButtonView,this.editButtonView,this.unlinkButtonView]})}render(){super.render();[this.previewButtonView,this.editButtonView,this.unlinkButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createButton(t,e,n){const i=new bf(this.locale);return i.set({label:t,icon:e,tooltip:!0}),i.delegate("execute").to(this,n),i}_createPreviewButton(){const t=new bf(this.locale),e=this.bindTemplate,n=this.t;return t.set({withText:!0,tooltip:n("Open link in new tab")}),t.extendTemplate({attributes:{class:["ck","ck-link-actions__preview"],href:e.to("href",(t=>t&&LA(t,this._linkConfig.allowedProtocols))),target:"_blank",rel:"noopener noreferrer"}}),t.bind("label").to(this,"href",(t=>t||n("This link has no URL"))),t.bind("isEnabled").to(this,"href",(t=>!!t)),t.template.tag="a",t.template.eventListeners={},t}}const tx="link-ui";class ex extends Oo{actionsView=null;formView=null;_balloon;static get requires(){return[yb]}static get pluginName(){return"LinkUI"}init(){const t=this.editor,e=this.editor.t;t.editing.view.addObserver(Rh),this._balloon=t.plugins.get(yb),this._createToolbarLinkButton(),this._enableBalloonActivators(),t.conversion.for("editingDowncast").markerToHighlight({model:tx,view:{classes:["ck-fake-link-selection"]}}),t.conversion.for("editingDowncast").markerToElement({model:tx,view:(t,{writer:e})=>{if(!t.markerRange.isCollapsed)return null;const n=e.createUIElement("span");return e.addClass(["ck-fake-link-selection","ck-fake-link-selection_collapsed"],n),n}}),t.accessibility.addKeystrokeInfos({keystrokes:[{label:e("Create link"),keystroke:MA},{label:e("Move out of a link"),keystroke:[["arrowleft","arrowleft"],["arrowright","arrowright"]]}]})}destroy(){super.destroy(),this.formView&&this.formView.destroy(),this.actionsView&&this.actionsView.destroy()}_createViews(){this.actionsView=this._createActionsView(),this.formView=this._createFormView(),this._enableUserBalloonInteractions()}_createActionsView(){const t=this.editor,e=new JA(t.locale,t.config.get("link")),n=t.commands.get("link"),i=t.commands.get("unlink");return e.bind("href").to(n,"value"),e.editButtonView.bind("isEnabled").to(n),e.unlinkButtonView.bind("isEnabled").to(i),this.listenTo(e,"edit",(()=>{this._addFormView()})),this.listenTo(e,"unlink",(()=>{t.execute("unlink"),this._hideUI()})),e.keystrokes.set("Esc",((t,e)=>{this._hideUI(),e()})),e.keystrokes.set(MA,((t,e)=>{this._addFormView(),e()})),e}_createFormView(){const t=this.editor,e=t.commands.get("link"),n=t.config.get("link.defaultProtocol"),i=new(cf(XA))(t.locale,e,function(t){const e=t.t,n=t.config.get("link.allowCreatingEmptyLinks");return[t=>{if(!n&&!t.url.length)return e("Link URL must not be empty.")}]}(t));return i.urlInputView.fieldView.bind("value").to(e,"value"),i.urlInputView.bind("isEnabled").to(e,"isEnabled"),i.saveButtonView.bind("isEnabled").to(e,"isEnabled"),this.listenTo(i,"submit",(()=>{if(i.isValid()){const{value:e}=i.urlInputView.fieldView.element,r=NA(e,n);t.execute("link",r,i.getDecoratorSwitchesState()),this._closeFormView()}})),this.listenTo(i.urlInputView,"change:errorText",(()=>{t.ui.update()})),this.listenTo(i,"cancel",(()=>{this._closeFormView()})),i.keystrokes.set("Esc",((t,e)=>{this._closeFormView(),e()})),i}_createToolbarLinkButton(){const t=this.editor;t.ui.componentFactory.add("link",(()=>{const t=this._createButton(bf);return t.set({tooltip:!0}),t})),t.ui.componentFactory.add("menuBar:link",(()=>{const t=this._createButton(Kf);return t.set({role:"menuitemcheckbox"}),t}))}_createButton(t){const e=this.editor,n=e.locale,i=e.commands.get("link"),r=new t(e.locale),o=n.t;return r.set({label:o("Link"),icon:'',keystroke:MA,isToggleable:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value",(t=>!!t)),this.listenTo(r,"execute",(()=>this._showUI(!0))),r}_enableBalloonActivators(){const t=this.editor,e=t.editing.view.document;this.listenTo(e,"click",(()=>{this._getSelectedLinkElement()&&this._showUI()})),t.keystrokes.set(MA,((e,n)=>{n(),t.commands.get("link").isEnabled&&this._showUI(!0)}))}_enableUserBalloonInteractions(){this.editor.keystrokes.set("Tab",((t,e)=>{this._areActionsVisible&&!this.actionsView.focusTracker.isFocused&&(this.actionsView.focus(),e())}),{priority:"high"}),this.editor.keystrokes.set("Esc",((t,e)=>{this._isUIVisible&&(this._hideUI(),e())})),sf({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){this.actionsView||this._createViews(),this._areActionsInPanel||this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this.formView||this._createViews(),this._isFormInPanel)return;const t=this.editor.commands.get("link");this.formView.disableCssTransitions(),this.formView.resetFormStatus(),this._balloon.add({view:this.formView,position:this._getBalloonPositionData()}),this.formView.urlInputView.fieldView.value=t.value||"",this._balloon.visibleView===this.formView&&this.formView.urlInputView.fieldView.select(),this.formView.enableCssTransitions()}_closeFormView(){const t=this.editor.commands.get("link");t.restoreManualDecoratorStates(),void 0!==t.value?this._removeFormView():this._hideUI()}_removeFormView(){this._isFormInPanel&&(this.formView.saveButtonView.focus(),this.formView.urlInputView.fieldView.reset(),this._balloon.remove(this.formView),this.editor.editing.view.focus(),this._hideFakeVisualSelection())}_showUI(t=!1){this.formView||this._createViews(),this._getSelectedLinkElement()?(this._areActionsVisible?this._addFormView():this._addActionsView(),t&&this._balloon.showStack("main")):(this._showFakeVisualSelection(),this._addActionsView(),t&&this._balloon.showStack("main"),this._addFormView()),this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel)return;const t=this.editor;this.stopListening(t.ui,"update"),this.stopListening(this._balloon,"change:visibleView"),t.editing.view.focus(),this._removeFormView(),this._balloon.remove(this.actionsView),this._hideFakeVisualSelection()}_startUpdatingUI(){const t=this.editor,e=t.editing.view.document;let n=this._getSelectedLinkElement(),i=o();const r=()=>{const t=this._getSelectedLinkElement(),e=o();n&&!t||!n&&e!==i?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),n=t,i=e};function o(){return e.selection.focus.getAncestors().reverse().find((t=>t.is("element")))}this.listenTo(t.ui,"update",r),this.listenTo(this._balloon,"change:visibleView",r)}get _isFormInPanel(){return!!this.formView&&this._balloon.hasView(this.formView)}get _areActionsInPanel(){return!!this.actionsView&&this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return!!this.actionsView&&this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const t=this._balloon.visibleView;return!!this.formView&&t==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view,e=this.editor.model,n=t.document;let i;if(e.markers.has(tx)){const e=Array.from(this.editor.editing.mapper.markerNameToElements(tx)),n=t.createRange(t.createPositionBefore(e[0]),t.createPositionAfter(e[e.length-1]));i=t.domConverter.viewRangeToDom(n)}else i=()=>{const e=this._getSelectedLinkElement();return e?t.domConverter.mapViewToDom(e):t.domConverter.viewRangeToDom(n.selection.getFirstRange())};return{target:i}}_getSelectedLinkElement(){const t=this.editor.editing.view,e=t.document.selection,n=e.getSelectedElement();if(e.isCollapsed||n&&dy(n))return nx(e.getFirstPosition());{const n=e.getFirstRange().getTrimmed(),i=nx(n.start),r=nx(n.end);return i&&i==r&&t.createRangeIn(i).getTrimmed().isEqual(n)?i:null}}_showFakeVisualSelection(){const t=this.editor.model;t.change((e=>{const n=t.document.selection.getFirstRange();if(t.markers.has(tx))e.updateMarker(tx,{range:n});else if(n.start.isAtEnd){const i=n.start.getLastMatchingPosition((({item:e})=>!t.schema.isContent(e)),{boundaries:n});e.addMarker(tx,{usingOperation:!1,affectsData:!1,range:e.createRange(i,n.end)})}else e.addMarker(tx,{usingOperation:!1,affectsData:!1,range:n})}))}_hideFakeVisualSelection(){const t=this.editor.model;t.markers.has(tx)&&t.change((t=>{t.removeMarker(tx)}))}}function nx(t){return t.getAncestors().find((t=>{return(e=t).is("attributeElement")&&!!e.getCustomProperty("link");var e}))||null}const ix=new RegExp("(^|\\s)(((?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(((?!www\\.)|(www\\.))(?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.)+(?:[a-z\\u00a1-\\uffff]{2,63})))(?::\\d{2,5})?(?:[/?#]\\S*)?)|((www.|(\\S+@))((?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.))+(?:[a-z\\u00a1-\\uffff]{2,63})))$","i");class rx extends Oo{static get requires(){return[ik,WA]}static get pluginName(){return"AutoLink"}init(){const t=this.editor.model.document.selection;t.on("change:range",(()=>{this.isEnabled=!t.anchor.parent.is("element","codeBlock")})),this._enableTypingHandling()}afterInit(){this._enableEnterHandling(),this._enableShiftEnterHandling(),this._enablePasteLinking()}_expandLinkRange(t,e){return e.textNode&&e.textNode.hasAttribute("linkHref")?yk(e,"linkHref",e.textNode.getAttribute("linkHref"),t):null}_selectEntireLinks(t,e){const n=this.editor.model,i=n.document.selection,r=i.getFirstPosition(),o=i.getLastPosition();let a=e.getJoined(this._expandLinkRange(n,r)||e);a&&(a=a.getJoined(this._expandLinkRange(n,o)||e)),a&&(a.start.isBefore(r)||a.end.isAfter(o))&&t.setSelection(a)}_enablePasteLinking(){const t=this.editor,e=t.model,n=e.document.selection,i=t.plugins.get("ClipboardPipeline"),r=t.commands.get("link");i.on("inputTransformation",((t,i)=>{if(!this.isEnabled||!r.isEnabled||n.isCollapsed||"paste"!==i.method)return;if(n.rangeCount>1)return;const o=n.getFirstRange(),a=i.dataTransfer.getData("text/plain");if(!a)return;const s=a.match(ix);s&&s[2]===a&&(e.change((t=>{this._selectEntireLinks(t,o),r.execute(a)})),t.stop())}),{priority:"high"})}_enableTypingHandling(){const t=this.editor,e=new ak(t.model,(t=>{if(!function(t){return t.length>4&&" "===t[t.length-1]&&" "!==t[t.length-2]}(t))return;const e=ox(t.substr(0,t.length-1));return e?{url:e}:void 0}));e.on("matched:data",((e,n)=>{const{batch:i,range:r,url:o}=n;if(!i.isTyping)return;const a=r.end.getShiftedBy(-1),s=a.getShiftedBy(-o.length),c=t.model.createRange(s,a);this._applyAutoLink(o,c)})),e.bind("isEnabled").to(this)}_enableEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("enter");n&&n.on("execute",(()=>{const t=e.document.selection.getFirstPosition();if(!t.parent.previousSibling)return;const n=e.createRangeIn(t.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(n)}))}_enableShiftEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("shiftEnter");n&&n.on("execute",(()=>{const t=e.document.selection.getFirstPosition(),n=e.createRange(e.createPositionAt(t.parent,0),t.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(n)}))}_checkAndApplyAutoLinkOnRange(t){const e=this.editor.model,{text:n,range:i}=ok(t,e),r=ox(n);if(r){const t=e.createRange(i.end.getShiftedBy(-r.length),i.end);this._applyAutoLink(r,t)}}_applyAutoLink(t,e){const n=this.editor.model,i=NA(t,this.editor.config.get("link.defaultProtocol"));this.isEnabled&&function(t,e){return e.schema.checkAttributeInSelection(e.createSelection(t),"linkHref")}(e,n)&&RA(i)&&!function(t){const e=t.start.nodeAfter;return!!e&&e.hasAttribute("linkHref")}(e)&&this._persistAutoLink(i,e)}_persistAutoLink(t,e){const n=this.editor.model,i=this.editor.plugins.get("Delete");n.enqueueChange((r=>{r.setAttribute("linkHref",t,e),n.enqueueChange((()=>{i.requestUndoOnBackspace()}))}))}}function ox(t){const e=ix.exec(t);return e?e[2]:null}var ax=n(4808),sx={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(ax.A,sx);ax.A.locals;class cx{_startElement;_referenceIndent;_isForward;_includeSelf;_sameAttributes;_sameIndent;_lowerIndent;_higherIndent;constructor(t,e){this._startElement=t,this._referenceIndent=t.getAttribute("listIndent"),this._isForward="forward"==e.direction,this._includeSelf=!!e.includeSelf,this._sameAttributes=Jr(e.sameAttributes||[]),this._sameIndent=!!e.sameIndent,this._lowerIndent=!!e.lowerIndent,this._higherIndent=!!e.higherIndent}static first(t,e){return xo(new this(t,e)[Symbol.iterator]())}*[Symbol.iterator](){const t=[];for(const{node:e}of lx(this._getStartNode(),this._isForward?"forward":"backward")){const n=e.getAttribute("listIndent");if(nthis._referenceIndent){if(!this._higherIndent)continue;if(!this._isForward){t.push(e);continue}}else{if(!this._sameIndent){if(this._higherIndent){t.length&&(yield*t,t.length=0);break}continue}if(this._sameAttributes.some((t=>e.getAttribute(t)!==this._startElement.getAttribute(t))))break}t.length&&(yield*t,t.length=0),yield e}}_getStartNode(){return this._includeSelf?this._startElement:this._isForward?this._startElement.nextSibling:this._startElement.previousSibling}}function*lx(t,e="forward"){const n="forward"==e,i=[];let r=null;for(;dx(t);){let e=null;if(r){const n=t.getAttribute("listIndent"),o=r.getAttribute("listIndent");n>o?i[o]=r:nt.getAttribute("listItemId")!=e))}function xx(t){return Array.from(t).filter((t=>"$graveyard"!==t.root.rootName)).sort(((t,e)=>t.index-e.index))}function Ex(t){const e=t.document.selection.getSelectedElement();return e&&t.schema.isObject(e)&&t.schema.isBlock(e)?e:null}function Tx(t,e){return e.checkChild(t.parent,"listItem")&&e.checkChild(t,"$text")&&!e.isObject(t)}function Sx(t){return"numbered"==t||"customNumbered"==t}function Dx(t,e,n){return gx(e,{direction:"forward"}).pop().index>t.index?yx(t,e,n):[]}class Ix extends Ro{_direction;constructor(t,e){super(t),this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model,e=Bx(t.document.selection);t.change((t=>{const n=[];Ax(e)&&!mx(e[0])?("forward"==this._direction&&n.push(..._x(e,t)),n.push(...vx(e[0],t))):"forward"==this._direction?n.push(..._x(e,t,{expand:!0})):n.push(...function(t,e){const n=wx(t=Jr(t)),i=new Set,r=Math.min(...n.map((t=>t.getAttribute("listIndent")))),o=new Map;for(const t of n)o.set(t,cx.first(t,{lowerIndent:!0}));for(const t of n){if(i.has(t))continue;i.add(t);const n=t.getAttribute("listIndent")-1;if(n<0)Cx(t,e);else{if(t.getAttribute("listIndent")==r){const n=Dx(t,o.get(t),e);for(const t of n)i.add(t);if(n.length)continue}e.setAttribute("listIndent",n,t)}}return xx(i)}(e,t));for(const e of n){if(!e.hasAttribute("listType"))continue;const n=cx.first(e,{sameIndent:!0});n&&t.setAttribute("listType",n.getAttribute("listType"),e)}this._fireAfterExecute(n)}))}_fireAfterExecute(t){this.fire("afterExecute",xx(new Set(t)))}_checkEnabled(){let t=Bx(this.editor.model.document.selection),e=t[0];if(!e)return!1;if("backward"==this._direction)return!0;if(Ax(t)&&!mx(t[0]))return!0;t=wx(t),e=t[0];const n=cx.first(e,{sameIndent:!0});return!!n&&n.getAttribute("listType")==e.getAttribute("listType")}}function Bx(t){const e=Array.from(t.getSelectedBlocks()),n=e.findIndex((t=>!dx(t)));return-1!=n&&(e.length=n),e}class Mx extends Ro{type;_listWalkerOptions;constructor(t,e,n={}){super(t),this.type=e,this._listWalkerOptions=n.multiLevel?{higherIndent:!0,lowerIndent:!0,sameAttributes:[]}:void 0}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,n=e.document,i=Ex(e),r=Array.from(n.selection.getSelectedBlocks()).filter((t=>e.schema.checkAttribute(t,"listType")||Tx(t,e.schema))),o=void 0!==t.forceValue?!t.forceValue:this.value;e.change((a=>{if(o){const t=r[r.length-1],e=gx(t,{direction:"forward"}),n=[];e.length>1&&n.push(...vx(e[1],a)),n.push(...Cx(r,a)),n.push(...function(t,e){const n=[];let i=Number.POSITIVE_INFINITY;for(const{node:r}of lx(t.nextSibling,"forward")){const t=r.getAttribute("listIndent");if(0==t)break;t{const{firstElement:o,lastElement:a}=this._getMergeSubjectElements(n,t),s=o.getAttribute("listIndent")||0,c=a.getAttribute("listIndent"),l=a.getAttribute("listItemId");if(s!=c){const t=(u=a,Array.from(new cx(u,{direction:"forward",higherIndent:!0})));i.push(..._x([a,...t],r,{indentBy:s-c,expand:s{const e=vx(this._getStartBlock(),t);this._fireAfterExecute(e)}))}_fireAfterExecute(t){this.fire("afterExecute",xx(new Set(t)))}_checkEnabled(){const t=this.editor.model.document.selection,e=this._getStartBlock();return t.isCollapsed&&dx(e)&&!mx(e)}_getStartBlock(){const t=this.editor.model.document.selection.getFirstPosition().parent;return"before"==this._direction?t:t.nextSibling}}class Ox extends Oo{static get pluginName(){return"ListUtils"}expandListBlocksToCompleteList(t){return kx(t)}isFirstBlockOfListItem(t){return mx(t)}isListItemBlock(t){return dx(t)}expandListBlocksToCompleteItems(t,e={}){return wx(t,e)}isNumberedListType(t){return Sx(t)}}function Nx(t){return t.is("element","ol")||t.is("element","ul")}function Rx(t){return t.is("element","li")}function Fx(t,e,n,i=zx(n,e)){return t.createAttributeElement($x(n),null,{priority:2*e/100-100,id:i})}function jx(t,e,n){return t.createAttributeElement("li",null,{priority:(2*e+1)/100-100,id:n})}function $x(t){return"numbered"==t||"customNumbered"==t?"ol":"ul"}function zx(t,e){return`list-${t}-${e}`}function Vx(t,e){const n=t.nodeBefore;if(dx(n)){let t=n;for(const{node:n}of lx(t,"backward"))if(t=n,e.has(t))return;e.set(n,t)}else{const n=t.nodeAfter;dx(n)&&e.set(n,n)}}function Hx(){return(t,e,n)=>{const{writer:i,schema:r}=n;if(!e.modelRange)return;const o=Array.from(e.modelRange.getItems({shallow:!0})).filter((t=>r.checkAttribute(t,"listItemId")));if(!o.length)return;const a=hx.next(),s=function(t){let e=0,n=t.parent;for(;n;){if(Rx(n))e++;else{const t=n.previousSibling;t&&Rx(t)&&e++}n=n.parent}return e}(e.viewItem);let c=e.viewItem.parent&&e.viewItem.parent.is("element","ol")?"numbered":"bulleted";const l=o[0].getAttribute("listType");l&&(c=l);const u={listItemId:a,listIndent:s,listType:c};for(const t of o)t.hasAttribute("listItemId")||i.setAttributes(u,t);o.length>1&&o[1].getAttribute("listItemId")!=u.listItemId&&n.keepEmptyElement(o[0])}}function qx(t,e,n,{dataPipeline:i}={}){const r=function(t){return(e,n)=>{const i=[];for(const n of t)e.hasAttribute(n)&&i.push(`attribute:${n}`);return!!i.every((t=>!1!==n.test(e,t)))&&(i.forEach((t=>n.consume(e,t))),!0)}}(t);return(o,a,s)=>{const{writer:c,mapper:l,consumable:u}=s,h=a.item;if(!t.includes(a.attributeKey))return;if(!r(h,u))return;const d=function(t,e,n){const i=n.createRangeOn(t),r=e.toViewRange(i).getTrimmed();return r.end.nodeBefore}(h,l,n);Gx(d,c,l),function(t,e){let n=t.parent;for(;n.is("attributeElement")&&["ul","ol","li"].includes(n.name);){const i=n.parent;e.unwrap(e.createRangeOn(t),n),n=i}}(d,c);const f=function(t,e,n,i,{dataPipeline:r}){let o=i.createRangeOn(e);if(!mx(t))return o;for(const a of n){if("itemMarker"!=a.scope)continue;const n=a.createElement(i,t,{dataPipeline:r});if(!n)continue;if(i.setCustomProperty("listItemMarker",!0,n),a.canInjectMarkerIntoElement&&a.canInjectMarkerIntoElement(t)?i.insert(i.createPositionAt(e,0),n):(i.insert(o.start,n),o=i.createRange(i.createPositionBefore(n),i.createPositionAfter(e))),!a.createWrapperElement||!a.canWrapElement)continue;const s=a.createWrapperElement(i,t,{dataPipeline:r});i.setCustomProperty("listItemWrapper",!0,s),a.canWrapElement(t)?o=i.wrap(o,s):(o=i.wrap(i.createRangeOn(n),s),o=i.createRange(o.start,i.createPositionAfter(e)))}return o}(h,d,e,c,{dataPipeline:i});!function(t,e,n,i){if(!t.hasAttribute("listIndent"))return;const r=t.getAttribute("listIndent");let o=t;for(let t=r;t>=0;t--){const r=jx(i,t,o.getAttribute("listItemId")),a=Fx(i,t,o.getAttribute("listType"));for(const t of n)"list"!=t.scope&&"item"!=t.scope||!o.hasAttribute(t.attributeName)||t.setAttributeOnDowncast(i,o.getAttribute(t.attributeName),"list"==t.scope?a:r);if(e=i.wrap(e,r),e=i.wrap(e,a),0==t)break;if(o=cx.first(o,{lowerIndent:!0}),!o)break}}(h,f,e,c)}}function Ux(t,{dataPipeline:e}={}){return(n,{writer:i})=>{if(!Wx(n,t))return null;if(!e)return i.createContainerElement("span",{class:"ck-list-bogus-paragraph"});const r=i.createContainerElement("p");return i.setCustomProperty("dataPipeline:transparentRendering",!0,r),r}}function Gx(t,e,n){for(;t.parent.is("attributeElement")&&t.parent.getCustomProperty("listItemWrapper");)e.unwrap(e.createRangeOn(t),t.parent);const i=[];r(e.createPositionBefore(t).getWalker({direction:"backward"})),r(e.createRangeIn(t).getWalker());for(const t of i)e.remove(t);function r(t){for(const{item:e}of t){if(e.is("element")&&n.toModelElement(e))break;e.is("element")&&e.getCustomProperty("listItemMarker")&&i.push(e)}}}function Wx(t,e,n=fx(t)){if(!dx(t))return!1;for(const n of t.getAttributeKeys())if(!n.startsWith("selection:")&&!e.includes(n))return!1;return n.length<2}var Kx=n(1232),Yx={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Kx.A,Yx);Kx.A.locals;var Xx=n(6903),Zx={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(Xx.A,Zx);Xx.A.locals;const Qx=["listType","listIndent","listItemId"];class Jx extends Oo{_downcastStrategies=[];static get pluginName(){return"ListEditing"}static get requires(){return[dv,ik,Ox,oy]}constructor(t){super(t),t.config.define("list.multiBlock",!0)}init(){const t=this.editor,e=t.model,n=t.config.get("list.multiBlock");if(t.plugins.has("LegacyListEditing"))throw new wi("list-feature-conflict",this,{conflictPlugin:"LegacyListEditing"});e.schema.register("$listItem",{allowAttributes:Qx}),n?(e.schema.extend("$container",{allowAttributesOf:"$listItem"}),e.schema.extend("$block",{allowAttributesOf:"$listItem"}),e.schema.extend("$blockObject",{allowAttributesOf:"$listItem"})):e.schema.register("listItem",{inheritAllFrom:"$block",allowAttributesOf:"$listItem"});for(const t of Qx)e.schema.setAttributeProperties(t,{copyOnReplace:!0});t.commands.add("numberedList",new Mx(t,"numbered")),t.commands.add("bulletedList",new Mx(t,"bulleted")),t.commands.add("customNumberedList",new Mx(t,"customNumbered",{multiLevel:!0})),t.commands.add("customBulletedList",new Mx(t,"customBulleted",{multiLevel:!0})),t.commands.add("indentList",new Ix(t,"forward")),t.commands.add("outdentList",new Ix(t,"backward")),t.commands.add("splitListItemBefore",new Lx(t,"before")),t.commands.add("splitListItemAfter",new Lx(t,"after")),n&&(t.commands.add("mergeListItemBackward",new Px(t,"backward")),t.commands.add("mergeListItemForward",new Px(t,"forward"))),this._setupDeleteIntegration(),this._setupEnterIntegration(),this._setupTabIntegration(),this._setupClipboardIntegration(),this._setupAccessibilityIntegration()}afterInit(){const t=this.editor.commands,e=t.get("indent"),n=t.get("outdent");e&&e.registerChildCommand(t.get("indentList"),{priority:"high"}),n&&n.registerChildCommand(t.get("outdentList"),{priority:"lowest"}),this._setupModelPostFixing(),this._setupConversion()}registerDowncastStrategy(t){this._downcastStrategies.push(t)}getListAttributeNames(){return[...Qx,...this._downcastStrategies.map((t=>t.attributeName))]}_setupDeleteIntegration(){const t=this.editor,e=t.commands.get("mergeListItemBackward"),n=t.commands.get("mergeListItemForward");this.listenTo(t.editing.view.document,"delete",((i,r)=>{const o=t.model.document.selection;Ex(t.model)||t.model.change((()=>{const a=o.getFirstPosition();if(o.isCollapsed&&"backward"==r.direction){if(!a.isAtStart)return;const n=a.parent;if(!dx(n))return;if(cx.first(n,{sameAttributes:"listType",sameIndent:!0})||0!==n.getAttribute("listIndent")){if(!e||!e.isEnabled)return;e.execute({shouldMergeOnBlocksContentLevel:tE(t.model,"backward")})}else bx(n)||t.execute("splitListItemAfter"),t.execute("outdentList");r.preventDefault(),i.stop()}else{if(o.isCollapsed&&!o.getLastPosition().isAtEnd)return;if(!n||!n.isEnabled)return;n.execute({shouldMergeOnBlocksContentLevel:tE(t.model,"forward")}),r.preventDefault(),i.stop()}}))}),{context:"li"})}_setupEnterIntegration(){const t=this.editor,e=t.model,n=t.commands,i=n.get("enter");this.listenTo(t.editing.view.document,"enter",((n,i)=>{const r=e.document,o=r.selection.getFirstPosition().parent;if(r.selection.isCollapsed&&dx(o)&&o.isEmpty&&!i.isSoft){const e=mx(o),r=bx(o);e&&r?(t.execute("outdentList"),i.preventDefault(),n.stop()):e&&!r?(t.execute("splitListItemAfter"),i.preventDefault(),n.stop()):r&&(t.execute("splitListItemBefore"),i.preventDefault(),n.stop())}}),{context:"li"}),this.listenTo(i,"afterExecute",(()=>{const e=n.get("splitListItemBefore");if(e.refresh(),!e.isEnabled)return;2===fx(t.model.document.selection.getLastPosition().parent).length&&e.execute()}))}_setupTabIntegration(){const t=this.editor;this.listenTo(t.editing.view.document,"tab",((e,n)=>{const i=n.shiftKey?"outdentList":"indentList";this.editor.commands.get(i).isEnabled&&(t.execute(i),n.stopPropagation(),n.preventDefault(),e.stop())}),{context:"li"})}_setupConversion(){const t=this.editor,e=t.model,n=this.getListAttributeNames(),i=t.config.get("list.multiBlock"),r=i?"paragraph":"listItem";t.conversion.for("upcast").elementToElement({view:"li",model:(t,{writer:e})=>e.createElement(r,{listType:""})}).elementToElement({view:"p",model:(t,{writer:e})=>t.parent&&t.parent.is("element","li")?e.createElement(r,{listType:""}):null,converterPriority:"high"}).add((t=>{t.on("element:li",Hx())})),i||t.conversion.for("downcast").elementToElement({model:"listItem",view:"p"}),t.conversion.for("editingDowncast").elementToElement({model:r,view:Ux(n),converterPriority:"high"}).add((t=>{var i;t.on("attribute",qx(n,this._downcastStrategies,e)),t.on("remove",(i=e.schema,(t,e,n)=>{const{writer:r,mapper:o}=n,a=t.name.split(":")[1];if(!i.checkAttribute(a,"listItemId"))return;const s=o.toViewPosition(e.position),c=e.position.getShiftedBy(e.length),l=o.toViewPosition(c,{isPhantom:!0}),u=r.createRange(s,l).getTrimmed().end.nodeBefore;u&&Gx(u,r,o)}))})),t.conversion.for("dataDowncast").elementToElement({model:r,view:Ux(n,{dataPipeline:!0}),converterPriority:"high"}).add((t=>{t.on("attribute",qx(n,this._downcastStrategies,e,{dataPipeline:!0}))}));const o=(a=this._downcastStrategies,s=t.editing.view,(t,e)=>{if(e.modelPosition.offset>0)return;const n=e.modelPosition.parent;if(!dx(n))return;if(!a.some((t=>"itemMarker"==t.scope&&t.canInjectMarkerIntoElement&&t.canInjectMarkerIntoElement(n))))return;const i=e.mapper.toViewElement(n),r=s.createRangeIn(i),o=r.getWalker();let c=r.start;for(const{item:t}of o){if(t.is("element")&&e.mapper.toModelElement(t)||t.is("$textProxy"))break;t.is("element")&&t.getCustomProperty("listItemMarker")&&(c=s.createPositionAfter(t),o.skip((({previousPosition:t})=>!t.isEqual(c))))}e.viewPosition=c});var a,s;t.editing.mapper.on("modelToViewPosition",o),t.data.mapper.on("modelToViewPosition",o),this.listenTo(e.document,"change:data",function(t,e,n,i){return()=>{const i=t.document.differ.getChanges(),a=[],s=new Map,c=new Set;for(const t of i)if("insert"==t.type&&"$text"!=t.name)Vx(t.position,s),t.attributes.has("listItemId")?c.add(t.position.nodeAfter):Vx(t.position.getShiftedBy(t.length),s);else if("remove"==t.type&&t.attributes.has("listItemId"))Vx(t.position,s);else if("attribute"==t.type){const e=t.range.start.nodeAfter;n.includes(t.attributeKey)?(Vx(t.range.start,s),null===t.attributeNewValue?(Vx(t.range.start.getShiftedBy(1),s),o(e)&&a.push(e)):c.add(e)):dx(e)&&o(e)&&a.push(e)}for(const t of s.values())a.push(...r(t,c));for(const t of new Set(a))e.reconvertItem(t)};function r(t,e){const i=[],r=new Set,s=[];for(const{node:c,previous:l}of lx(t,"forward")){if(r.has(c))continue;const t=c.getAttribute("listIndent");l&&tn.includes(t))));const u=gx(c,{direction:"forward"});for(const t of u)r.add(t),(o(t,u)||a(t,s,e))&&i.push(t)}return i}function o(t,r){const o=e.mapper.toViewElement(t);if(!o)return!1;if(i.fire("checkElement",{modelElement:t,viewElement:o}))return!0;if(!t.is("element","paragraph")&&!t.is("element","listItem"))return!1;const a=Wx(t,n,r);return!(!a||!o.is("element","p"))||!(a||!o.is("element","span"))}function a(t,n,r){if(r.has(t))return!1;const o=e.mapper.toViewElement(t);let a=n.length-1;for(let t=o.parent;!t.is("editableElement");t=t.parent){const e=Rx(t),r=Nx(t);if(!r&&!e)continue;const o="checkAttributes:"+(e?"item":"list");if(i.fire(o,{viewElement:t,modelAttributes:n[a]}))break;if(r&&(a--,a<0))return!1}return!0}}(e,t.editing,n,this),{priority:"high"}),this.on("checkAttributes:item",((t,{viewElement:e,modelAttributes:n})=>{e.id!=n.listItemId&&(t.return=!0,t.stop())})),this.on("checkAttributes:list",((t,{viewElement:e,modelAttributes:n})=>{e.name==$x(n.listType)&&e.id==zx(n.listType,n.listIndent)||(t.return=!0,t.stop())}))}_setupModelPostFixing(){const t=this.editor.model,e=this.getListAttributeNames();t.document.registerPostFixer((n=>function(t,e,n,i){const r=t.document.differ.getChanges(),o=new Map,a=i.editor.config.get("list.multiBlock");let s=!1;for(const i of r){if("insert"==i.type&&"$text"!=i.name){const r=i.position.nodeAfter;if(!t.schema.checkAttribute(r,"listItemId"))for(const t of Array.from(r.getAttributeKeys()))n.includes(t)&&(e.removeAttribute(t,r),s=!0);Vx(i.position,o),i.attributes.has("listItemId")||Vx(i.position.getShiftedBy(i.length),o);for(const{item:e,previousPosition:n}of t.createRangeIn(r))dx(e)&&Vx(n,o)}else"remove"==i.type?Vx(i.position,o):"attribute"==i.type&&n.includes(i.attributeKey)&&(Vx(i.range.start,o),null===i.attributeNewValue&&Vx(i.range.start.getShiftedBy(1),o));if(!a&&"attribute"==i.type&&Qx.includes(i.attributeKey)){const t=i.range.start.nodeAfter;null===i.attributeNewValue&&t&&t.is("element","listItem")?(e.rename(t,"paragraph"),s=!0):null===i.attributeOldValue&&t&&t.is("element")&&"listItem"!=t.name&&(e.rename(t,"listItem"),s=!0)}}const c=new Set;for(const t of o.values())s=i.fire("postFixer",{listNodes:new ux(t),listHead:t,writer:e,seenIds:c})||s;return s}(t,n,e,this))),this.on("postFixer",((t,{listNodes:e,writer:n})=>{t.return=function(t,e){let n=0,i=-1,r=null,o=!1;for(const{node:a}of t){const t=a.getAttribute("listIndent");if(t>n){let s;null===r?(r=t-n,s=n):(r>t&&(r=t),s=t-r),s>i+1&&(s=i+1),e.setAttribute("listIndent",s,a),o=!0,i=s}else r=null,n=t+1,i=t}return o}(e,n)||t.return}),{priority:"high"}),this.on("postFixer",((t,{listNodes:e,writer:n,seenIds:i})=>{t.return=function(t,e,n){const i=new Set;let r=!1;for(const{node:o}of t){if(i.has(o))continue;let t=o.getAttribute("listType"),a=o.getAttribute("listItemId");if(e.has(a)&&(a=hx.next()),e.add(a),o.is("element","listItem"))o.getAttribute("listItemId")!=a&&(n.setAttribute("listItemId",a,o),r=!0);else for(const e of gx(o,{direction:"forward"}))i.add(e),e.getAttribute("listType")!=t&&(a=hx.next(),t=e.getAttribute("listType")),e.getAttribute("listItemId")!=a&&(n.setAttribute("listItemId",a,e),r=!0)}return r}(e,i,n)||t.return}),{priority:"high"})}_setupClipboardIntegration(){const t=this.editor.model,e=this.editor.plugins.get("ClipboardPipeline");this.listenTo(t,"insertContent",function(t){return(e,[n,i])=>{const r=n.is("documentFragment")?Array.from(n.getChildren()):[n];if(!r.length)return;const o=(i?t.createSelection(i):t.document.selection).getFirstPosition();let a;if(dx(o.parent))a=o.parent;else{if(!dx(o.nodeBefore))return;a=o.nodeBefore}t.change((t=>{const e=a.getAttribute("listType"),n=a.getAttribute("listIndent"),i=r[0].getAttribute("listIndent")||0,o=Math.max(n-i,0);for(const n of r){const i=dx(n);a.is("element","listItem")&&n.is("element","paragraph")&&t.rename(n,"listItem"),t.setAttributes({listIndent:(i?n.getAttribute("listIndent"):0)+o,listItemId:i?n.getAttribute("listItemId"):hx.next(),listType:e},n)}}))}}(t),{priority:"high"}),this.listenTo(e,"outputTransformation",((e,n)=>{t.change((t=>{const e=Array.from(n.content.getChildren()),i=e[e.length-1];if(e.length>1&&i.is("element")&&i.isEmpty){e.slice(0,-1).every(dx)&&t.remove(i)}if("copy"==n.method||"cut"==n.method){const e=Array.from(n.content.getChildren());Ax(e)&&Cx(e,t)}}))}))}_setupAccessibilityIntegration(){const t=this.editor,e=t.t;t.accessibility.addKeystrokeInfoGroup({id:"list",label:e("Keystrokes that can be used in a list"),keystrokes:[{label:e("Increase list item indent"),keystroke:"Tab"},{label:e("Decrease list item indent"),keystroke:"Shift+Tab"}]})}}function tE(t,e){const n=t.document.selection;if(!n.isCollapsed)return!Ex(t);if("forward"===e)return!0;const i=n.getFirstPosition().parent,r=i.previousSibling;return!t.schema.isObject(r)&&(!!r.isEmpty||Ax([i,r]))}function eE(t,e,n,i){t.ui.componentFactory.add(e,(()=>{const r=nE(bf,t,e,n,i);return r.set({tooltip:!0,isToggleable:!0}),r})),t.ui.componentFactory.add(`menuBar:${e}`,(()=>{const r=nE(Kf,t,e,n,i);return r.set({role:"menuitemcheckbox",isToggleable:!0}),r}))}function nE(t,e,n,i,r){const o=e.commands.get(n),a=new t(e.locale);return a.set({label:i,icon:r}),a.bind("isOn","isEnabled").to(o,"value","isEnabled"),a.on("execute",(()=>{e.execute(n),e.editing.view.focus()})),a}class iE extends Oo{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;this.editor.ui.componentFactory.has("numberedList")||eE(this.editor,"numberedList",t("Numbered List"),Ld.numberedList),this.editor.ui.componentFactory.has("bulletedList")||eE(this.editor,"bulletedList",t("Bulleted List"),Ld.bulletedList)}}class rE extends Oo{static get requires(){return[Jx,iE]}static get pluginName(){return"List"}}const oE={},aE={},sE={},cE=[{listStyle:"disc",typeAttribute:"disc",listType:"bulleted"},{listStyle:"circle",typeAttribute:"circle",listType:"bulleted"},{listStyle:"square",typeAttribute:"square",listType:"bulleted"},{listStyle:"decimal",typeAttribute:"1",listType:"numbered"},{listStyle:"decimal-leading-zero",typeAttribute:null,listType:"numbered"},{listStyle:"lower-roman",typeAttribute:"i",listType:"numbered"},{listStyle:"upper-roman",typeAttribute:"I",listType:"numbered"},{listStyle:"lower-alpha",typeAttribute:"a",listType:"numbered"},{listStyle:"upper-alpha",typeAttribute:"A",listType:"numbered"},{listStyle:"lower-latin",typeAttribute:"a",listType:"numbered"},{listStyle:"upper-latin",typeAttribute:"A",listType:"numbered"}];for(const{listStyle:t,typeAttribute:e,listType:n}of cE)oE[t]=n,aE[t]=e,e&&(sE[e]=t);var lE=n(9968),uE={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(lE.A,uE);lE.A.locals;var hE=n(7141),dE={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(hE.A,dE);hE.A.locals;class fE extends Ro{constructor(t){super(t),this.on("execute",(()=>{this.refresh()}),{priority:"highest"})}refresh(){const t=this._getSelectedItems();this.value=this._getValue(t),this.isEnabled=!!t.length}execute(t={}){this.editor.model.change((e=>{const n=this._getSelectedItems(),i=void 0===t.forceValue?!this._getValue(n):t.forceValue;for(const t of n)i?e.setAttribute("todoListChecked",!0,t):e.removeAttribute("todoListChecked",t)}))}_getValue(t){return t.every((t=>t.getAttribute("todoListChecked")))}_getSelectedItems(){const t=this.editor.model,e=t.schema,n=t.document.selection.getFirstRange(),i=n.start.parent,r=[];e.checkAttribute(i,"todoListChecked")&&r.push(...fx(i));for(const t of n.getItems({shallow:!0}))e.checkAttribute(t,"todoListChecked")&&!r.includes(t)&&r.push(...fx(t));return r}}class gE extends Js{domEventType=["change"];onDomEvent(t){if(t.target){const e=this.view.domConverter.mapDomToView(t.target);e&&e.is("element","input")&&"checkbox"==e.getAttribute("type")&&e.findAncestor({classes:"todo-list__label"})&&this.fire("todoCheckboxChange",t)}}}const pE=Yr("Ctrl+Enter");class mE extends Oo{static get pluginName(){return"TodoListEditing"}static get requires(){return[Jx]}init(){const t=this.editor,e=t.model,n=t.editing,i=t.plugins.get(Jx),r=t.config.get("list.multiBlock")?"paragraph":"listItem";t.commands.add("todoList",new Mx(t,"todo")),t.commands.add("checkTodoList",new fE(t)),n.view.addObserver(gE),e.schema.extend("$listItem",{allowAttributes:"todoListChecked"}),e.schema.addAttributeCheck((t=>{const e=t.last;if(!e.getAttribute("listItemId")||"todo"!=e.getAttribute("listType"))return!1}),"todoListChecked"),t.conversion.for("upcast").add((t=>{t.on("element:input",((t,e,n)=>{const i=e.modelCursor,r=i.parent,o=e.viewItem;if(!n.consumable.test(o,{name:!0}))return;if("checkbox"!=o.getAttribute("type")||!i.isAtStart||!r.hasAttribute("listType"))return;n.consumable.consume(o,{name:!0});const a=n.writer;a.setAttribute("listType","todo",r),e.viewItem.hasAttribute("checked")&&a.setAttribute("todoListChecked",!0,r),e.modelRange=a.createRange(i)})),t.on("element:li",((t,e,n)=>{const{writer:i,schema:r}=n;if(!e.modelRange)return;const o=Array.from(e.modelRange.getItems({shallow:!0})).filter((t=>"todo"===t.getAttribute("listType")&&r.checkAttribute(t,"listItemId"))).reduce(((t,e)=>{const n=e.getAttribute("listItemId");return t.has(n)||t.set(n,fx(e)),t}),new Map);for(const[,t]of o.entries())if(t.some((t=>t.getAttribute("todoListChecked"))))for(const e of t)i.setAttribute("todoListChecked",!0,e)}),{priority:"low"}),t.on("element:label",bE({name:"label",classes:"todo-list__label"})),t.on("element:label",bE({name:"label",classes:["todo-list__label","todo-list__label_without-description"]})),t.on("element:span",bE({name:"span",classes:"todo-list__label__description"})),t.on("element:ul",function(t){const e=new aa(t);return(t,n,i)=>{const r=e.match(n.viewItem);if(!r)return;const o=r.match;o.name=!1,i.consumable.consume(n.viewItem,o)}}({name:"ul",classes:"todo-list"}))})),t.conversion.for("downcast").elementToElement({model:r,view:(t,{writer:e})=>{if(wE(t,i.getListAttributeNames()))return e.createContainerElement("span",{class:"todo-list__label__description"})},converterPriority:"highest"}),i.registerDowncastStrategy({scope:"list",attributeName:"listType",setAttributeOnDowncast(t,e,n){"todo"==e?t.addClass("todo-list",n):t.removeClass("todo-list",n)}}),i.registerDowncastStrategy({scope:"itemMarker",attributeName:"todoListChecked",createElement(t,e,{dataPipeline:n}){if("todo"!=e.getAttribute("listType"))return null;const i=t.createUIElement("input",{type:"checkbox",...e.getAttribute("todoListChecked")?{checked:"checked"}:null,...n?{disabled:"disabled"}:{tabindex:"-1"}});if(n)return i;const r=t.createContainerElement("span",{contenteditable:"false"},i);return r.getFillerOffset=()=>null,r},canWrapElement:t=>wE(t,i.getListAttributeNames()),createWrapperElement(t,e,{dataPipeline:n}){const r=["todo-list__label"];return wE(e,i.getListAttributeNames())||r.push("todo-list__label_without-description"),t.createAttributeElement(n?"label":"span",{class:r.join(" ")})}}),i.on("checkElement",((t,{modelElement:e,viewElement:n})=>{const r=wE(e,i.getListAttributeNames());n.hasClass("todo-list__label__description")!=r&&(t.return=!0,t.stop())})),i.on("checkElement",((e,{modelElement:n,viewElement:i})=>{const r="todo"==n.getAttribute("listType")&&mx(n);let o=!1;const a=t.editing.view.createPositionBefore(i).getWalker({direction:"backward"});for(const{item:e}of a){if(e.is("element")&&t.editing.mapper.toModelElement(e))break;e.is("element","input")&&"checkbox"==e.getAttribute("type")&&(o=!0)}o!=r&&(e.return=!0,e.stop())})),i.on("postFixer",((t,{listNodes:e,writer:n})=>{for(const{node:i,previousNodeInList:r}of e){if(!r)continue;if(r.getAttribute("listItemId")!=i.getAttribute("listItemId"))continue;const e=r.hasAttribute("todoListChecked"),o=i.hasAttribute("todoListChecked");o&&!e?(n.removeAttribute("todoListChecked",i),t.return=!0):!o&&e&&(n.setAttribute("todoListChecked",!0,i),t.return=!0)}})),e.document.registerPostFixer((t=>{const n=e.document.differ.getChanges();let i=!1;for(const e of n)if("attribute"==e.type&&"listType"==e.attributeKey){const n=e.range.start.nodeAfter;"todo"==e.attributeOldValue&&n.hasAttribute("todoListChecked")&&(t.removeAttribute("todoListChecked",n),i=!0)}else if("insert"==e.type&&"$text"!=e.name)for(const{item:n}of t.createRangeOn(e.position.nodeAfter))n.is("element")&&"todo"!=n.getAttribute("listType")&&n.hasAttribute("todoListChecked")&&(t.removeAttribute("todoListChecked",n),i=!0);return i})),this.listenTo(n.view.document,"keydown",((e,n)=>{Kr(n)===pE&&(t.execute("checkTodoList"),e.stop())}),{priority:"high"}),this.listenTo(n.view.document,"todoCheckboxChange",((t,e)=>{const i=e.target;if(!i||!i.is("element","input"))return;const r=n.view.createPositionAfter(i),o=n.mapper.toModelPosition(r).parent;o&&dx(o)&&"todo"==o.getAttribute("listType")&&this._handleCheckmarkChange(o)})),this.listenTo(n.view.document,"arrowKey",function(t,e){return(n,i)=>{const r=Zr(i.keyCode,e.contentLanguageDirection),o=t.schema,a=t.document.selection;if(!a.isCollapsed)return;const s=a.getFirstPosition(),c=s.parent;if("right"==r&&s.isAtEnd){const e=o.getNearestSelectionRange(t.createPositionAfter(c),"forward");if(!e)return;const r=e.start.parent;r&&dx(r)&&"todo"==r.getAttribute("listType")&&(t.change((t=>t.setSelection(e))),i.preventDefault(),i.stopPropagation(),n.stop())}else if("left"==r&&s.isAtStart&&dx(c)&&"todo"==c.getAttribute("listType")){const e=o.getNearestSelectionRange(t.createPositionBefore(c),"backward");if(!e)return;t.change((t=>t.setSelection(e))),i.preventDefault(),i.stopPropagation(),n.stop()}}}(e,t.locale),{context:"$text"}),this.listenTo(n.mapper,"viewToModelPosition",((t,n)=>{const i=n.viewPosition.parent,r=i.is("attributeElement","li")&&0==n.viewPosition.offset,o=kE(i)&&n.viewPosition.offset<=1,a=i.is("element","span")&&"false"==i.getAttribute("contenteditable")&&kE(i.parent);if(!r&&!o&&!a)return;const s=n.modelPosition.nodeAfter;s&&"todo"==s.getAttribute("listType")&&(n.modelPosition=e.createPositionAt(s,0))}),{priority:"low"}),this._initAriaAnnouncements()}_handleCheckmarkChange(t){const e=this.editor,n=e.model,i=Array.from(n.document.selection.getRanges());n.change((n=>{n.setSelection(t,"end"),e.execute("checkTodoList"),n.setSelection(i)}))}_initAriaAnnouncements(){const{model:t,ui:e,t:n}=this.editor;let i=null;e&&t.document.selection.on("change:range",(()=>{const r=t.document.selection.focus.parent,o=vE(i),a=vE(r);o&&!a?e.ariaLiveAnnouncer.announce(n("Leaving a to-do list")):!o&&a&&e.ariaLiveAnnouncer.announce(n("Entering a to-do list")),i=r}))}}function bE(t){const e=new aa(t);return(t,n,i)=>{const r=e.match(n.viewItem);r&&i.consumable.consume(n.viewItem,r.match)&&Object.assign(n,i.convertChildren(n.viewItem,n.modelCursor))}}function wE(t,e){return(t.is("element","paragraph")||t.is("element","listItem"))&&"todo"==t.getAttribute("listType")&&mx(t)&&function(t,e){for(const n of t.getAttributeKeys())if(!n.startsWith("selection:")&&!e.includes(n))return!1;return!0}(t,e)}function kE(t){return!!t&&t.is("attributeElement")&&t.hasClass("todo-list__label")}function vE(t){return!!t&&(!(!t.is("element","paragraph")&&!t.is("element","listItem"))&&"todo"==t.getAttribute("listType"))}class yE extends Oo{static get pluginName(){return"TodoListUI"}init(){const t=this.editor.t;eE(this.editor,"todoList",t("To-do List"),Ld.todoList)}}var _E=n(8991),CE={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Uo()(_E.A,CE);_E.A.locals;class AE extends Oo{static get requires(){return[mE,yE]}static get pluginName(){return"TodoList"}}function xE(t){return void 0!==t&&t.endsWith("px")}function EE(t){return t.toFixed(2).replace(/\.?0+$/,"")+"px"}function TE(t,e,n){if(!t.childCount)return;const i=new jh(t.document),r=function(t,e){const n=e.createRangeIn(t),i=[],r=new Set;for(const t of n.getItems()){if(!t.is("element")||!t.name.match(/^(p|h\d+|li|div)$/))continue;let e=OE(t);if(void 0===e||0!=parseFloat(e)||Array.from(t.getClassNames()).find((t=>t.startsWith("MsoList")))||(e=void 0),t.hasStyle("mso-list")||void 0!==e&&r.has(e)){const n=PE(t);i.push({element:t,id:n.id,order:n.order,indent:n.indent,marginLeft:e}),void 0!==e&&r.add(e)}else r.clear()}return i}(t,i);if(!r.length)return;const o={},a=[];for(const t of r)if(void 0!==t.indent){SE(t)||(a.length=0);const r=`${t.id}:${t.indent}`,s=Math.min(t.indent-1,a.length);if(sa.length-1||a[s].listElement.name!=c.type){0==s&&"ol"==c.type&&void 0!==t.id&&o[r]&&(c.startIndex=o[r]);const e=ME(c,i,n);if(xE(t.marginLeft)&&(0==s||xE(a[s-1].marginLeft))){let n=t.marginLeft;s>0&&(n=EE(parseFloat(n)-parseFloat(a[s-1].marginLeft))),i.setStyle("padding-left",n,e)}if(0==a.length){const n=t.element.parent,r=n.getChildIndex(t.element)+1;i.insertChild(r,e,n)}else{const t=a[s-1].listItemElements;i.appendChild(e,t[t.length-1])}a[s]={...t,listElement:e,listItemElements:[]},0==s&&void 0!==t.id&&(o[r]=c.startIndex||1)}}const c="li"==t.element.name?t.element:i.createElement("li");i.appendChild(c,a[s].listElement),a[s].listItemElements.push(c),0==s&&void 0!==t.id&&o[r]++,t.element!=c&&i.appendChild(t.element,c),LE(t.element,i),i.removeStyle("text-indent",t.element),i.removeStyle("margin-left",t.element)}else{const e=a.find((e=>e.marginLeft==t.marginLeft));if(e){const n=e.listItemElements;i.appendChild(t.element,n[n.length-1]),i.removeStyle("margin-left",t.element)}else a.length=0}}function SE(t){const e=t.element.previousSibling;return DE(e||t.element.parent)}function DE(t){return t.is("element","ol")||t.is("element","ul")}function IE(t,e){const n=new RegExp(`@list l${t.id}:level${t.indent}\\s*({[^}]*)`,"gi"),i=/mso-level-number-format:([^;]{0,100});/gi,r=/mso-level-start-at:\s{0,100}([0-9]{0,10})\s{0,100};/gi,o=new RegExp(`@list\\s+l${t.id}:level\\d\\s*{[^{]*mso-level-text:"%\\d\\\\.`,"gi"),a=new RegExp(`@list l${t.id}:level\\d\\s*{[^{]*mso-level-number-format:`,"gi"),s=o.exec(e),c=a.exec(e),l=s&&!c,u=n.exec(e);let h="decimal",d="ol",f=null;if(u&&u[1]){const e=i.exec(u[1]);if(e&&e[1]&&(h=e[1].trim(),d="bullet"!==h&&"image"!==h?"ol":"ul"),"bullet"===h){const e=function(t){if("li"==t.name&&"ul"==t.parent.name&&t.parent.hasAttribute("type"))return t.parent.getAttribute("type");const e=function(t){if(t.getChild(0).is("$text"))return null;for(const e of t.getChildren()){if(!e.is("element","span"))continue;const t=e.getChild(0);if(t)return t.is("$text")?t:t.getChild(0)}return null}(t);if(!e)return null;const n=e._data;if("o"===n)return"circle";if("·"===n)return"disc";if("§"===n)return"square";return null}(t.element);e&&(h=e)}else{const t=r.exec(u[1]);t&&t[1]&&(f=parseInt(t[1]))}l&&(d="ol")}return{type:d,startIndex:f,style:BE(h),isLegalStyleList:l}}function BE(t){if(t.startsWith("arabic-leading-zero"))return"decimal-leading-zero";switch(t){case"alpha-upper":return"upper-alpha";case"alpha-lower":return"lower-alpha";case"roman-upper":return"upper-roman";case"roman-lower":return"lower-roman";case"circle":case"disc":case"square":return t;default:return null}}function ME(t,e,n){const i=e.createElement(t.type);return t.style&&e.setStyle("list-style-type",t.style,i),t.startIndex&&t.startIndex>1&&e.setAttribute("start",t.startIndex,i),t.isLegalStyleList&&n&&e.addClass("legal-list",i),i}function PE(t){const e=t.getStyle("mso-list");if(void 0===e)return{};const n=e.match(/(^|\s{1,100})l(\d+)/i),i=e.match(/\s{0,100}lfo(\d+)/i),r=e.match(/\s{0,100}level(\d+)/i);return n&&i&&r?{id:n[2],order:i[1],indent:parseInt(r[1])}:{indent:1}}function LE(t,e){const n=new aa({name:"span",styles:{"mso-list":"Ignore"}}),i=e.createRangeIn(t);for(const t of i)"elementStart"===t.type&&n.match(t.item)&&e.remove(t.item)}function OE(t){const e=t.getStyle("margin-left");return void 0===e||e.endsWith("px")?e:function(t){const e=parseFloat(t);return t.endsWith("pt")?EE(96*e/72):t.endsWith("pc")?EE(12*e*96/72):t.endsWith("in")?EE(96*e):t.endsWith("cm")?EE(96*e/2.54):t.endsWith("mm")?EE(e/10*96/2.54):t}(e)}function NE(t,e){if(!t.childCount)return;const n=new jh(t.document),i=function(t,e){const n=e.createRangeIn(t),i=new aa({name:/v:(.+)/}),r=[];for(const t of n){if("elementStart"!=t.type)continue;const e=t.item,n=e.previousSibling,o=n&&n.is("element")?n.name:null,a=["Chart"],s=i.match(e),c=e.getAttribute("o:gfxdata"),l="v:shapetype"===o,u=c&&a.some((t=>e.getAttribute("id").includes(t)));s&&c&&!l&&!u&&r.push(t.item.getAttribute("id"))}return r}(t,n);!function(t,e,n){const i=n.createRangeIn(e),r=new aa({name:"img"}),o=[];for(const e of i)if(e.item.is("element")&&r.match(e.item)){const n=e.item,i=n.getAttribute("v:shapes")?n.getAttribute("v:shapes").split(" "):[];i.length&&i.every((e=>t.indexOf(e)>-1))?o.push(n):n.getAttribute("src")||o.push(n)}for(const t of o)n.remove(t)}(i,t,n),function(t,e,n){const i=n.createRangeIn(e),r=[];for(const e of i)if("elementStart"==e.type&&e.item.is("element","v:shape")){const n=e.item.getAttribute("id");if(t.includes(n))continue;o(e.item.parent.getChildren(),n)||r.push(e.item)}for(const t of r){const e={src:a(t)};t.hasAttribute("alt")&&(e.alt=t.getAttribute("alt"));const i=n.createElement("img",e);n.insertChild(t.index+1,i,t.parent)}function o(t,e){for(const n of t)if(n.is("element")){if("img"==n.name&&n.getAttribute("v:shapes")==e)return!0;if(o(n.getChildren(),e))return!0}return!1}function a(t){for(const e of t.getChildren())if(e.is("element")&&e.getAttribute("src"))return e.getAttribute("src")}}(i,t,n),function(t,e){const n=e.createRangeIn(t),i=new aa({name:/v:(.+)/}),r=[];for(const t of n)"elementStart"==t.type&&i.match(t.item)&&r.push(t.item);for(const t of r)e.remove(t)}(t,n);const r=function(t,e){const n=e.createRangeIn(t),i=new aa({name:"img"}),r=[];for(const t of n)t.item.is("element")&&i.match(t.item)&&t.item.getAttribute("src").startsWith("file://")&&r.push(t.item);return r}(t,n);r.length&&function(t,e,n){if(t.length===e.length)for(let i=0;iString.fromCharCode(parseInt(t,16)))).join(""))}const FE=//i,jE=/xmlns:o="urn:schemas-microsoft-com/i;class $E{document;hasMultiLevelListPlugin;constructor(t,e=!1){this.document=t,this.hasMultiLevelListPlugin=e}isActive(t){return FE.test(t)||jE.test(t)}execute(t){const{body:e,stylesString:n}=t._parsedData;TE(e,n,this.hasMultiLevelListPlugin),NE(e,t.dataTransfer.getData("text/rtf")),function(t){const e=[],n=new jh(t.document);for(const{item:i}of n.createRangeIn(t))if(i.is("element")){for(const t of i.getClassNames())/\bmso/gi.exec(t)&&n.removeClass(t,i);for(const t of i.getStyleNames())/\bmso/gi.exec(t)&&n.removeStyle(t,i);(i.is("element","w:sdt")||i.is("element","w:sdtpr")&&i.isEmpty||i.is("element","o:p")&&i.isEmpty)&&e.push(i)}for(const t of e){const e=t.parent,i=e.getChildIndex(t);n.insertChild(i,t.getChildren(),e),n.remove(t)}}(e),t.content=e}}function zE(t,e,n,{blockElements:i,inlineObjectElements:r}){let o=n.createPositionAt(t,"forward"==e?"after":"before");return o=o.getLastMatchingPosition((({item:t})=>t.is("element")&&!i.includes(t.name)&&!r.includes(t.name)),{direction:e}),"forward"==e?o.nodeAfter:o.nodeBefore}function VE(t,e){return!!t&&t.is("element")&&e.includes(t.name)}const HE=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class qE{document;constructor(t){this.document=t}isActive(t){return HE.test(t)}execute(t){const e=new jh(this.document),{body:n}=t._parsedData;!function(t,e){for(const n of t.getChildren())if(n.is("element","b")&&"normal"===n.getStyle("font-weight")){const i=t.getChildIndex(n);e.remove(n),e.insertChild(i,n.getChildren(),t)}}(n,e),function(t,e){for(const n of e.createRangeIn(t)){const t=n.item;if(t.is("element","li")){const n=t.getChild(0);n&&n.is("element","p")&&e.unwrapElement(n)}}}(n,e),function(t,e){const n=new is(e.document.stylesProcessor),i=new Gs(n,{renderingMode:"data"}),r=i.blockElements,o=i.inlineObjectElements,a=[];for(const n of e.createRangeIn(t)){const t=n.item;if(t.is("element","br")){const n=zE(t,"forward",e,{blockElements:r,inlineObjectElements:o}),i=zE(t,"backward",e,{blockElements:r,inlineObjectElements:o}),s=VE(n,r);(VE(i,r)||s)&&a.push(t)}}for(const t of a)t.hasClass("Apple-interchange-newline")?e.remove(t):e.replace(t,e.createElement("p"))}(n,e),t.content=n}}const UE=/(\s+)<\/span>/g,((t,e)=>1===e.length?" ":Array(e.length+1).join("  ").substr(0,e.length)))}function KE(t,e){const n=new DOMParser,i=function(t){return WE(WE(t)).replace(/([^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<\/span>/g,"").replace(/()[\r\n]+(<\/span>)/g,"$1 $2").replace(/ <\//g," <\/o:p>/g," ").replace(/( |\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)<")}(function(t){const e="",n="",i=t.indexOf(e);if(i<0)return t;const r=t.indexOf(n,i+e.length);return t.substring(0,i+e.length)+(r>=0?t.substring(r):"")}(t=(t=t.replace(/

abc

\n\t\t\t//\n\t\t\tif ( isAttribute && this._wrapAttributeElement( wrapElement, child ) ) {\n\t\t\t\twrapPositions.push( new Position( parent, i ) );\n\t\t\t}\n\t\t\t//\n\t\t\t// Wrap the child if it is not an attribute element or if it is an attribute element that should be inside\n\t\t\t// `wrapElement` (due to priority).\n\t\t\t//\n\t\t\t//

abc

-->

abc

\n\t\t\t//

abc

-->

abc

\n\t\t\telse if ( isText || !isAttribute || shouldABeOutsideB( wrapElement, child ) ) {\n\t\t\t\t// Clone attribute.\n\t\t\t\tconst newAttribute = wrapElement._clone();\n\n\t\t\t\t// Wrap current node with new attribute.\n\t\t\t\tchild._remove();\n\t\t\t\tnewAttribute._appendChild( child );\n\n\t\t\t\tparent._insertChild( i, newAttribute );\n\t\t\t\tthis._addToClonedElementsGroup( newAttribute );\n\n\t\t\t\twrapPositions.push( new Position( parent, i ) );\n\t\t\t}\n\t\t\t//\n\t\t\t// If other nested attribute is found and it wasn't wrapped (see above), continue wrapping inside it.\n\t\t\t//\n\t\t\t//

abc

-->

abc

\n\t\t\t//\n\t\t\telse /* if ( isAttribute ) */ {\n\t\t\t\tthis._wrapChildren( child, 0, child.childCount, wrapElement );\n\t\t\t}\n\n\t\t\ti++;\n\t\t}\n\n\t\t// Merge at each wrap.\n\t\tlet offsetChange = 0;\n\n\t\tfor ( const position of wrapPositions ) {\n\t\t\tposition.offset -= offsetChange;\n\n\t\t\t// Do not merge with elements outside selected children.\n\t\t\tif ( position.offset == startOffset ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst newPosition = this.mergeAttributes( position );\n\n\t\t\t// If nodes were merged - other merge offsets will change.\n\t\t\tif ( !newPosition.isEqual( position ) ) {\n\t\t\t\toffsetChange++;\n\t\t\t\tendOffset--;\n\t\t\t}\n\t\t}\n\n\t\treturn Range._createFromParentsAndOffsets( parent, startOffset, parent, endOffset );\n\t}\n\n\t/**\n\t * Unwraps children from provided `unwrapElement`. Only children contained in `parent` element between\n\t * `startOffset` and `endOffset` will be unwrapped.\n\t */\n\tprivate _unwrapChildren( parent: Element, startOffset: number, endOffset: number, unwrapElement: AttributeElement ) {\n\t\tlet i = startOffset;\n\t\tconst unwrapPositions: Array = [];\n\n\t\t// Iterate over each element between provided offsets inside parent.\n\t\t// We don't use tree walker or range iterator because we will be removing and merging potentially multiple nodes,\n\t\t// so it could get messy. It is safer to it manually in this case.\n\t\twhile ( i < endOffset ) {\n\t\t\tconst child = parent.getChild( i )!;\n\n\t\t\t// Skip all text nodes. There should be no container element's here either.\n\t\t\tif ( !child.is( 'attributeElement' ) ) {\n\t\t\t\ti++;\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t//\n\t\t\t// (In all examples, assume that `unwrapElement` is `` element.)\n\t\t\t//\n\t\t\t// If the child is similar to the given attribute element, unwrap it - it will be completely removed.\n\t\t\t//\n\t\t\t//

abcxyz

-->

abcxyz

\n\t\t\t//\n\t\t\tif ( child.isSimilar( unwrapElement ) ) {\n\t\t\t\tconst unwrapped = child.getChildren();\n\t\t\t\tconst count = child.childCount;\n\n\t\t\t\t// Replace wrapper element with its children\n\t\t\t\tchild._remove();\n\t\t\t\tparent._insertChild( i, unwrapped );\n\n\t\t\t\tthis._removeFromClonedElementsGroup( child );\n\n\t\t\t\t// Save start and end position of moved items.\n\t\t\t\tunwrapPositions.push(\n\t\t\t\t\tnew Position( parent, i ),\n\t\t\t\t\tnew Position( parent, i + count )\n\t\t\t\t);\n\n\t\t\t\t// Skip elements that were unwrapped. Assuming there won't be another element to unwrap in child elements.\n\t\t\t\ti += count;\n\t\t\t\tendOffset += count - 1;\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t//\n\t\t\t// If the child is not similar but is an attribute element, try partial unwrapping - remove the same attributes/styles/classes.\n\t\t\t// Partial unwrapping will happen only if the elements have the same name.\n\t\t\t//\n\t\t\t//

abcxyz

-->

abcxyz

\n\t\t\t//

abcxyz

-->

abcxyz

\n\t\t\t//\n\t\t\tif ( this._unwrapAttributeElement( unwrapElement, child ) ) {\n\t\t\t\tunwrapPositions.push(\n\t\t\t\t\tnew Position( parent, i ),\n\t\t\t\t\tnew Position( parent, i + 1 )\n\t\t\t\t);\n\n\t\t\t\ti++;\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t//\n\t\t\t// If other nested attribute is found, look through it's children for elements to unwrap.\n\t\t\t//\n\t\t\t//

abc

-->

abc

\n\t\t\t//\n\t\t\tthis._unwrapChildren( child, 0, child.childCount, unwrapElement );\n\n\t\t\ti++;\n\t\t}\n\n\t\t// Merge at each unwrap.\n\t\tlet offsetChange = 0;\n\n\t\tfor ( const position of unwrapPositions ) {\n\t\t\tposition.offset -= offsetChange;\n\n\t\t\t// Do not merge with elements outside selected children.\n\t\t\tif ( position.offset == startOffset || position.offset == endOffset ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst newPosition = this.mergeAttributes( position );\n\n\t\t\t// If nodes were merged - other merge offsets will change.\n\t\t\tif ( !newPosition.isEqual( position ) ) {\n\t\t\t\toffsetChange++;\n\t\t\t\tendOffset--;\n\t\t\t}\n\t\t}\n\n\t\treturn Range._createFromParentsAndOffsets( parent, startOffset, parent, endOffset );\n\t}\n\n\t/**\n\t * Helper function for `view.writer.wrap`. Wraps range with provided attribute element.\n\t * This method will also merge newly added attribute element with its siblings whenever possible.\n\t *\n\t * Throws {@link module:utils/ckeditorerror~CKEditorError} `view-writer-wrap-invalid-attribute` when passed attribute element is not\n\t * an instance of {@link module:engine/view/attributeelement~AttributeElement AttributeElement}.\n\t *\n\t * @returns New range after wrapping, spanning over wrapping attribute element.\n\t */\n\tprivate _wrapRange( range: Range, attribute: AttributeElement ): Range {\n\t\t// Break attributes at range start and end.\n\t\tconst { start: breakStart, end: breakEnd } = this._breakAttributesRange( range, true );\n\t\tconst parentContainer = breakStart.parent as Element;\n\n\t\t// Wrap all children with attribute.\n\t\tconst newRange = this._wrapChildren( parentContainer, breakStart.offset, breakEnd.offset, attribute );\n\n\t\t// Merge attributes at the both ends and return a new range.\n\t\tconst start = this.mergeAttributes( newRange.start );\n\n\t\t// If start position was merged - move end position back.\n\t\tif ( !start.isEqual( newRange.start ) ) {\n\t\t\tnewRange.end.offset--;\n\t\t}\n\t\tconst end = this.mergeAttributes( newRange.end );\n\n\t\treturn new Range( start, end );\n\t}\n\n\t/**\n\t * Helper function for {@link #wrap}. Wraps position with provided attribute element.\n\t * This method will also merge newly added attribute element with its siblings whenever possible.\n\t *\n\t * Throws {@link module:utils/ckeditorerror~CKEditorError} `view-writer-wrap-invalid-attribute` when passed attribute element is not\n\t * an instance of {@link module:engine/view/attributeelement~AttributeElement AttributeElement}.\n\t *\n\t * @returns New position after wrapping.\n\t */\n\tprivate _wrapPosition( position: Position, attribute: AttributeElement ): Position {\n\t\t// Return same position when trying to wrap with attribute similar to position parent.\n\t\tif ( attribute.isSimilar( position.parent as any ) ) {\n\t\t\treturn movePositionToTextNode( position.clone() );\n\t\t}\n\n\t\t// When position is inside text node - break it and place new position between two text nodes.\n\t\tif ( position.parent.is( '$text' ) ) {\n\t\t\tposition = breakTextNode( position );\n\t\t}\n\n\t\t// Create fake element that will represent position, and will not be merged with other attributes.\n\t\tconst fakeElement = this.createAttributeElement( '_wrapPosition-fake-element' );\n\t\t( fakeElement as any )._priority = Number.POSITIVE_INFINITY;\n\t\tfakeElement.isSimilar = () => false;\n\n\t\t// Insert fake element in position location.\n\t\t( position.parent as Element )._insertChild( position.offset, fakeElement );\n\n\t\t// Range around inserted fake attribute element.\n\t\tconst wrapRange = new Range( position, position.getShiftedBy( 1 ) );\n\n\t\t// Wrap fake element with attribute (it will also merge if possible).\n\t\tthis.wrap( wrapRange, attribute );\n\n\t\t// Remove fake element and place new position there.\n\t\tconst newPosition = new Position( fakeElement.parent!, fakeElement.index! );\n\t\tfakeElement._remove();\n\n\t\t// If position is placed between text nodes - merge them and return position inside.\n\t\tconst nodeBefore = newPosition.nodeBefore;\n\t\tconst nodeAfter = newPosition.nodeAfter;\n\n\t\tif ( nodeBefore instanceof Text && nodeAfter instanceof Text ) {\n\t\t\treturn mergeTextNodes( nodeBefore, nodeAfter );\n\t\t}\n\n\t\t// If position is next to text node - move position inside.\n\t\treturn movePositionToTextNode( newPosition );\n\t}\n\n\t/**\n\t * Wraps one {@link module:engine/view/attributeelement~AttributeElement AttributeElement} into another by\n\t * merging them if possible. When merging is possible - all attributes, styles and classes are moved from wrapper\n\t * element to element being wrapped.\n\t *\n\t * @param wrapper Wrapper AttributeElement.\n\t * @param toWrap AttributeElement to wrap using wrapper element.\n\t * @returns Returns `true` if elements are merged.\n\t */\n\tprivate _wrapAttributeElement( wrapper: AttributeElement, toWrap: AttributeElement ): boolean {\n\t\tif ( !canBeJoined( wrapper, toWrap ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Can't merge if name or priority differs.\n\t\tif ( wrapper.name !== toWrap.name || wrapper.priority !== toWrap.priority ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Check if attributes can be merged.\n\t\tfor ( const key of wrapper.getAttributeKeys() ) {\n\t\t\t// Classes and styles should be checked separately.\n\t\t\tif ( key === 'class' || key === 'style' ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If some attributes are different we cannot wrap.\n\t\t\tif ( toWrap.hasAttribute( key ) && toWrap.getAttribute( key ) !== wrapper.getAttribute( key ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\t// Check if styles can be merged.\n\t\tfor ( const key of wrapper.getStyleNames() ) {\n\t\t\tif ( toWrap.hasStyle( key ) && toWrap.getStyle( key ) !== wrapper.getStyle( key ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\t// Move all attributes/classes/styles from wrapper to wrapped AttributeElement.\n\t\tfor ( const key of wrapper.getAttributeKeys() ) {\n\t\t\t// Classes and styles should be checked separately.\n\t\t\tif ( key === 'class' || key === 'style' ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Move only these attributes that are not present - other are similar.\n\t\t\tif ( !toWrap.hasAttribute( key ) ) {\n\t\t\t\tthis.setAttribute( key, wrapper.getAttribute( key )!, toWrap );\n\t\t\t}\n\t\t}\n\n\t\tfor ( const key of wrapper.getStyleNames() ) {\n\t\t\tif ( !toWrap.hasStyle( key ) ) {\n\t\t\t\tthis.setStyle( key, wrapper.getStyle( key )!, toWrap );\n\t\t\t}\n\t\t}\n\n\t\tfor ( const key of wrapper.getClassNames() ) {\n\t\t\tif ( !toWrap.hasClass( key ) ) {\n\t\t\t\tthis.addClass( key, toWrap );\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Unwraps {@link module:engine/view/attributeelement~AttributeElement AttributeElement} from another by removing\n\t * corresponding attributes, classes and styles. All attributes, classes and styles from wrapper should be present\n\t * inside element being unwrapped.\n\t *\n\t * @param wrapper Wrapper AttributeElement.\n\t * @param toUnwrap AttributeElement to unwrap using wrapper element.\n\t * @returns Returns `true` if elements are unwrapped.\n\t **/\n\tprivate _unwrapAttributeElement( wrapper: AttributeElement, toUnwrap: AttributeElement ): boolean {\n\t\tif ( !canBeJoined( wrapper, toUnwrap ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Can't unwrap if name or priority differs.\n\t\tif ( wrapper.name !== toUnwrap.name || wrapper.priority !== toUnwrap.priority ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Check if AttributeElement has all wrapper attributes.\n\t\tfor ( const key of wrapper.getAttributeKeys() ) {\n\t\t\t// Classes and styles should be checked separately.\n\t\t\tif ( key === 'class' || key === 'style' ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If some attributes are missing or different we cannot unwrap.\n\t\t\tif ( !toUnwrap.hasAttribute( key ) || toUnwrap.getAttribute( key ) !== wrapper.getAttribute( key ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\t// Check if AttributeElement has all wrapper classes.\n\t\tif ( !toUnwrap.hasClass( ...wrapper.getClassNames() ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Check if AttributeElement has all wrapper styles.\n\t\tfor ( const key of wrapper.getStyleNames() ) {\n\t\t\t// If some styles are missing or different we cannot unwrap.\n\t\t\tif ( !toUnwrap.hasStyle( key ) || toUnwrap.getStyle( key ) !== wrapper.getStyle( key ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\t// Remove all wrapper's attributes from unwrapped element.\n\t\tfor ( const key of wrapper.getAttributeKeys() ) {\n\t\t\t// Classes and styles should be checked separately.\n\t\t\tif ( key === 'class' || key === 'style' ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tthis.removeAttribute( key, toUnwrap );\n\t\t}\n\n\t\t// Remove all wrapper's classes from unwrapped element.\n\t\tthis.removeClass( Array.from( wrapper.getClassNames() ), toUnwrap );\n\n\t\t// Remove all wrapper's styles from unwrapped element.\n\t\tthis.removeStyle( Array.from( wrapper.getStyleNames() ), toUnwrap );\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Helper function used by other `DowncastWriter` methods. Breaks attribute elements at the boundaries of given range.\n\t *\n\t * @param range Range which `start` and `end` positions will be used to break attributes.\n\t * @param forceSplitText If set to `true`, will break text nodes even if they are directly in container element.\n\t * This behavior will result in incorrect view state, but is needed by other view writing methods which then fixes view state.\n\t * @returns New range with located at break positions.\n\t */\n\tprivate _breakAttributesRange( range: Range, forceSplitText: boolean = false ) {\n\t\tconst rangeStart = range.start;\n\t\tconst rangeEnd = range.end;\n\n\t\tvalidateRangeContainer( range, this.document );\n\n\t\t// Break at the collapsed position. Return new collapsed range.\n\t\tif ( range.isCollapsed ) {\n\t\t\tconst position = this._breakAttributes( range.start, forceSplitText );\n\n\t\t\treturn new Range( position, position );\n\t\t}\n\n\t\tconst breakEnd = this._breakAttributes( rangeEnd, forceSplitText );\n\t\tconst count = ( breakEnd.parent as Element ).childCount;\n\t\tconst breakStart = this._breakAttributes( rangeStart, forceSplitText );\n\n\t\t// Calculate new break end offset.\n\t\tbreakEnd.offset += ( breakEnd.parent as Element ).childCount - count;\n\n\t\treturn new Range( breakStart, breakEnd );\n\t}\n\n\t/**\n\t * Helper function used by other `DowncastWriter` methods. Breaks attribute elements at given position.\n\t *\n\t * Throws {@link module:utils/ckeditorerror~CKEditorError CKEditorError} `view-writer-cannot-break-empty-element` when break position\n\t * is placed inside {@link module:engine/view/emptyelement~EmptyElement EmptyElement}.\n\t *\n\t * Throws {@link module:utils/ckeditorerror~CKEditorError CKEditorError} `view-writer-cannot-break-ui-element` when break position\n\t * is placed inside {@link module:engine/view/uielement~UIElement UIElement}.\n\t *\n\t * @param position Position where to break attributes.\n\t * @param forceSplitText If set to `true`, will break text nodes even if they are directly in container element.\n\t * This behavior will result in incorrect view state, but is needed by other view writing methods which then fixes view state.\n\t * @returns New position after breaking the attributes.\n\t */\n\tprivate _breakAttributes( position: Position, forceSplitText: boolean = false ): Position {\n\t\tconst positionOffset = position.offset;\n\t\tconst positionParent = position.parent;\n\n\t\t// If position is placed inside EmptyElement - throw an exception as we cannot break inside.\n\t\tif ( position.parent.is( 'emptyElement' ) ) {\n\t\t\t/**\n\t\t\t * Cannot break an `EmptyElement` instance.\n\t\t\t *\n\t\t\t * This error is thrown if\n\t\t\t * {@link module:engine/view/downcastwriter~DowncastWriter#breakAttributes `DowncastWriter#breakAttributes()`}\n\t\t\t * was executed in an incorrect position.\n\t\t\t *\n\t\t\t * @error view-writer-cannot-break-empty-element\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'view-writer-cannot-break-empty-element', this.document );\n\t\t}\n\n\t\t// If position is placed inside UIElement - throw an exception as we cannot break inside.\n\t\tif ( position.parent.is( 'uiElement' ) ) {\n\t\t\t/**\n\t\t\t * Cannot break a `UIElement` instance.\n\t\t\t *\n\t\t\t * This error is thrown if\n\t\t\t * {@link module:engine/view/downcastwriter~DowncastWriter#breakAttributes `DowncastWriter#breakAttributes()`}\n\t\t\t * was executed in an incorrect position.\n\t\t\t *\n\t\t\t * @error view-writer-cannot-break-ui-element\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'view-writer-cannot-break-ui-element', this.document );\n\t\t}\n\n\t\t// If position is placed inside RawElement - throw an exception as we cannot break inside.\n\t\tif ( position.parent.is( 'rawElement' ) ) {\n\t\t\t/**\n\t\t\t * Cannot break a `RawElement` instance.\n\t\t\t *\n\t\t\t * This error is thrown if\n\t\t\t * {@link module:engine/view/downcastwriter~DowncastWriter#breakAttributes `DowncastWriter#breakAttributes()`}\n\t\t\t * was executed in an incorrect position.\n\t\t\t *\n\t\t\t * @error view-writer-cannot-break-raw-element\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'view-writer-cannot-break-raw-element', this.document );\n\t\t}\n\n\t\t// There are no attributes to break and text nodes breaking is not forced.\n\t\tif ( !forceSplitText && positionParent.is( '$text' ) && isContainerOrFragment( positionParent.parent! ) ) {\n\t\t\treturn position.clone();\n\t\t}\n\n\t\t// Position's parent is container, so no attributes to break.\n\t\tif ( isContainerOrFragment( positionParent ) ) {\n\t\t\treturn position.clone();\n\t\t}\n\n\t\t// Break text and start again in new position.\n\t\tif ( positionParent.is( '$text' ) ) {\n\t\t\treturn this._breakAttributes( breakTextNode( position ), forceSplitText );\n\t\t}\n\n\t\tconst length = ( positionParent as any ).childCount;\n\n\t\t//

foobar{}

\n\t\t//

foobar[]

\n\t\t//

foobar[]

\n\t\tif ( positionOffset == length ) {\n\t\t\tconst newPosition = new Position( positionParent.parent as any, ( positionParent as any ).index + 1 );\n\n\t\t\treturn this._breakAttributes( newPosition, forceSplitText );\n\t\t} else {\n\t\t\t//

foo{}bar

\n\t\t\t//

foo[]bar

\n\t\t\t//

foo{}bar

\n\t\t\tif ( positionOffset === 0 ) {\n\t\t\t\tconst newPosition = new Position( positionParent.parent as Element, ( positionParent as any ).index );\n\n\t\t\t\treturn this._breakAttributes( newPosition, forceSplitText );\n\t\t\t}\n\t\t\t//

foob{}ar

\n\t\t\t//

foob[]ar

\n\t\t\t//

foob[]ar

\n\t\t\t//

foob[]ar

\n\t\t\telse {\n\t\t\t\tconst offsetAfter = ( positionParent as any ).index + 1;\n\n\t\t\t\t// Break element.\n\t\t\t\tconst clonedNode = ( positionParent as any )._clone();\n\n\t\t\t\t// Insert cloned node to position's parent node.\n\t\t\t\t( positionParent.parent as any )._insertChild( offsetAfter, clonedNode );\n\t\t\t\tthis._addToClonedElementsGroup( clonedNode );\n\n\t\t\t\t// Get nodes to move.\n\t\t\t\tconst count = ( positionParent as any ).childCount - positionOffset;\n\t\t\t\tconst nodesToMove = ( positionParent as any )._removeChildren( positionOffset, count );\n\n\t\t\t\t// Move nodes to cloned node.\n\t\t\t\tclonedNode._appendChild( nodesToMove );\n\n\t\t\t\t// Create new position to work on.\n\t\t\t\tconst newPosition = new Position( ( positionParent as any ).parent, offsetAfter );\n\n\t\t\t\treturn this._breakAttributes( newPosition, forceSplitText );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Stores the information that an {@link module:engine/view/attributeelement~AttributeElement attribute element} was\n\t * added to the tree. Saves the reference to the group in the given element and updates the group, so other elements\n\t * from the group now keep a reference to the given attribute element.\n\t *\n\t * The clones group can be obtained using {@link module:engine/view/attributeelement~AttributeElement#getElementsWithSameId}.\n\t *\n\t * Does nothing if added element has no {@link module:engine/view/attributeelement~AttributeElement#id id}.\n\t *\n\t * @param element Attribute element to save.\n\t */\n\tprivate _addToClonedElementsGroup( element: Node ): void {\n\t\t// Add only if the element is in document tree.\n\t\tif ( !element.root.is( 'rootElement' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Traverse the element's children recursively to find other attribute elements that also might got inserted.\n\t\t// The loop is at the beginning so we can make fast returns later in the code.\n\t\tif ( element.is( 'element' ) ) {\n\t\t\tfor ( const child of element.getChildren() ) {\n\t\t\t\tthis._addToClonedElementsGroup( child );\n\t\t\t}\n\t\t}\n\n\t\tconst id = ( element as any ).id;\n\n\t\tif ( !id ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet group = this._cloneGroups.get( id );\n\n\t\tif ( !group ) {\n\t\t\tgroup = new Set();\n\t\t\tthis._cloneGroups.set( id, group );\n\t\t}\n\n\t\tgroup.add( element as AttributeElement );\n\t\t( element as any )._clonesGroup = group;\n\t}\n\n\t/**\n\t * Removes all the information about the given {@link module:engine/view/attributeelement~AttributeElement attribute element}\n\t * from its clones group.\n\t *\n\t * Keep in mind, that the element will still keep a reference to the group (but the group will not keep a reference to it).\n\t * This allows to reference the whole group even if the element was already removed from the tree.\n\t *\n\t * Does nothing if the element has no {@link module:engine/view/attributeelement~AttributeElement#id id}.\n\t *\n\t * @param element Attribute element to remove.\n\t */\n\tprivate _removeFromClonedElementsGroup( element: Node ) {\n\t\t// Traverse the element's children recursively to find other attribute elements that also got removed.\n\t\t// The loop is at the beginning so we can make fast returns later in the code.\n\t\tif ( element.is( 'element' ) ) {\n\t\t\tfor ( const child of element.getChildren() ) {\n\t\t\t\tthis._removeFromClonedElementsGroup( child );\n\t\t\t}\n\t\t}\n\n\t\tconst id = ( element as any ).id;\n\n\t\tif ( !id ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst group = this._cloneGroups.get( id );\n\n\t\tif ( !group ) {\n\t\t\treturn;\n\t\t}\n\n\t\tgroup.delete( element as AttributeElement );\n\t\t// Not removing group from element on purpose!\n\t\t// If other parts of code have reference to this element, they will be able to get references to other elements from the group.\n\t}\n}\n\n// Helper function for `view.writer.wrap`. Checks if given element has any children that are not ui elements.\nfunction _hasNonUiChildren( parent: Element ): boolean {\n\treturn Array.from( parent.getChildren() ).some( child => !child.is( 'uiElement' ) );\n}\n\n/**\n * The `attribute` passed to {@link module:engine/view/downcastwriter~DowncastWriter#wrap `DowncastWriter#wrap()`}\n * must be an instance of {@link module:engine/view/attributeelement~AttributeElement `AttributeElement`}.\n *\n * @error view-writer-wrap-invalid-attribute\n */\n\n/**\n * Returns first parent container of specified {@link module:engine/view/position~Position Position}.\n * Position's parent node is checked as first, then next parents are checked.\n * Note that {@link module:engine/view/documentfragment~DocumentFragment DocumentFragment} is treated like a container.\n *\n * @param position Position used as a start point to locate parent container.\n * @returns Parent container element or `undefined` if container is not found.\n */\nfunction getParentContainer( position: Position ): ContainerElement | DocumentFragment | undefined {\n\tlet parent = position.parent;\n\n\twhile ( !isContainerOrFragment( parent ) ) {\n\t\tif ( !parent ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tparent = parent.parent as any;\n\t}\n\n\treturn ( parent as ContainerElement | DocumentFragment );\n}\n\n/**\n * Checks if first {@link module:engine/view/attributeelement~AttributeElement AttributeElement} provided to the function\n * can be wrapped outside second element. It is done by comparing elements'\n * {@link module:engine/view/attributeelement~AttributeElement#priority priorities}, if both have same priority\n * {@link module:engine/view/element~Element#getIdentity identities} are compared.\n */\nfunction shouldABeOutsideB( a: AttributeElement, b: AttributeElement ): boolean {\n\tif ( a.priority < b.priority ) {\n\t\treturn true;\n\t} else if ( a.priority > b.priority ) {\n\t\treturn false;\n\t}\n\n\t// When priorities are equal and names are different - use identities.\n\treturn a.getIdentity() < b.getIdentity();\n}\n\n/**\n * Returns new position that is moved to near text node. Returns same position if there is no text node before of after\n * specified position.\n *\n * ```html\n *

foo[]

->

foo{}

\n *

[]foo

->

{}foo

\n * ```\n *\n * @returns Position located inside text node or same position if there is no text nodes\n * before or after position location.\n */\nfunction movePositionToTextNode( position: Position ): Position {\n\tconst nodeBefore = position.nodeBefore;\n\n\tif ( nodeBefore && nodeBefore.is( '$text' ) ) {\n\t\treturn new Position( nodeBefore, nodeBefore.data.length );\n\t}\n\n\tconst nodeAfter = position.nodeAfter;\n\n\tif ( nodeAfter && nodeAfter.is( '$text' ) ) {\n\t\treturn new Position( nodeAfter, 0 );\n\t}\n\n\treturn position;\n}\n\n/**\n * Breaks text node into two text nodes when possible.\n *\n * ```html\n *

foo{}bar

->

foo[]bar

\n *

{}foobar

->

[]foobar

\n *

foobar{}

->

foobar[]

\n * ```\n *\n * @param position Position that need to be placed inside text node.\n * @returns New position after breaking text node.\n */\nfunction breakTextNode( position: Position ): Position {\n\tif ( position.offset == ( position.parent as Text ).data.length ) {\n\t\treturn new Position( position.parent.parent as any, ( position.parent as Text ).index! + 1 );\n\t}\n\n\tif ( position.offset === 0 ) {\n\t\treturn new Position( position.parent.parent as any, ( position.parent as Text ).index! );\n\t}\n\n\t// Get part of the text that need to be moved.\n\tconst textToMove = ( position.parent as Text ).data.slice( position.offset );\n\n\t// Leave rest of the text in position's parent.\n\t( position.parent as Text )._data = ( position.parent as Text ).data.slice( 0, position.offset );\n\n\t// Insert new text node after position's parent text node.\n\t( position.parent.parent as any )._insertChild(\n\t\t( position.parent as Text ).index! + 1,\n\t\tnew Text( position.root.document, textToMove )\n\t);\n\n\t// Return new position between two newly created text nodes.\n\treturn new Position( position.parent.parent as any, ( position.parent as Text ).index! + 1 );\n}\n\n/**\n * Merges two text nodes into first node. Removes second node and returns merge position.\n *\n * @param t1 First text node to merge. Data from second text node will be moved at the end of this text node.\n * @param t2 Second text node to merge. This node will be removed after merging.\n * @returns Position after merging text nodes.\n */\nfunction mergeTextNodes( t1: Text, t2: Text ): Position {\n\t// Merge text data into first text node and remove second one.\n\tconst nodeBeforeLength = t1.data.length;\n\tt1._data += t2.data;\n\tt2._remove();\n\n\treturn new Position( t1, nodeBeforeLength );\n}\n\nconst validNodesToInsert = [ Text, AttributeElement, ContainerElement, EmptyElement, RawElement, UIElement ];\n\n/**\n * Checks if provided nodes are valid to insert.\n *\n * Throws {@link module:utils/ckeditorerror~CKEditorError CKEditorError} `view-writer-insert-invalid-node` when nodes to insert\n * contains instances that are not supported ones (see error description for valid ones.\n */\nfunction validateNodesToInsert( nodes: Iterable, errorContext: Document ): void {\n\tfor ( const node of nodes ) {\n\t\tif ( !validNodesToInsert.some( ( validNode => node instanceof validNode ) ) ) { // eslint-disable-line no-use-before-define\n\t\t\t/**\n\t\t\t * One of the nodes to be inserted is of an invalid type.\n\t\t\t *\n\t\t\t * Nodes to be inserted with {@link module:engine/view/downcastwriter~DowncastWriter#insert `DowncastWriter#insert()`} should be\n\t\t\t * of the following types:\n\t\t\t *\n\t\t\t * * {@link module:engine/view/attributeelement~AttributeElement AttributeElement},\n\t\t\t * * {@link module:engine/view/containerelement~ContainerElement ContainerElement},\n\t\t\t * * {@link module:engine/view/emptyelement~EmptyElement EmptyElement},\n\t\t\t * * {@link module:engine/view/uielement~UIElement UIElement},\n\t\t\t * * {@link module:engine/view/rawelement~RawElement RawElement},\n\t\t\t * * {@link module:engine/view/text~Text Text}.\n\t\t\t *\n\t\t\t * @error view-writer-insert-invalid-node-type\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'view-writer-insert-invalid-node-type', errorContext );\n\t\t}\n\n\t\tif ( !node.is( '$text' ) ) {\n\t\t\tvalidateNodesToInsert( ( node as Element ).getChildren(), errorContext );\n\t\t}\n\t}\n}\n\n/**\n * Checks if node is ContainerElement or DocumentFragment, because in most cases they should be treated the same way.\n *\n * @returns Returns `true` if node is instance of ContainerElement or DocumentFragment.\n */\nfunction isContainerOrFragment( node: Node | DocumentFragment ): boolean {\n\treturn node && ( node.is( 'containerElement' ) || node.is( 'documentFragment' ) );\n}\n\n/**\n * Checks if {@link module:engine/view/range~Range#start range start} and {@link module:engine/view/range~Range#end range end} are placed\n * inside same {@link module:engine/view/containerelement~ContainerElement container element}.\n * Throws {@link module:utils/ckeditorerror~CKEditorError CKEditorError} `view-writer-invalid-range-container` when validation fails.\n */\nfunction validateRangeContainer( range: Range, errorContext: Document ) {\n\tconst startContainer = getParentContainer( range.start );\n\tconst endContainer = getParentContainer( range.end );\n\n\tif ( !startContainer || !endContainer || startContainer !== endContainer ) {\n\t\t/**\n\t\t * The container of the given range is invalid.\n\t\t *\n\t\t * This may happen if {@link module:engine/view/range~Range#start range start} and\n\t\t * {@link module:engine/view/range~Range#end range end} positions are not placed inside the same container element or\n\t\t * a parent container for these positions cannot be found.\n\t\t *\n\t\t * Methods like {@link module:engine/view/downcastwriter~DowncastWriter#wrap `DowncastWriter#remove()`},\n\t\t * {@link module:engine/view/downcastwriter~DowncastWriter#wrap `DowncastWriter#clean()`},\n\t\t * {@link module:engine/view/downcastwriter~DowncastWriter#wrap `DowncastWriter#wrap()`},\n\t\t * {@link module:engine/view/downcastwriter~DowncastWriter#wrap `DowncastWriter#unwrap()`} need to be called\n\t\t * on a range that has its start and end positions located in the same container element. Both positions can be\n\t\t * nested within other elements (e.g. an attribute element) but the closest container ancestor must be the same.\n\t\t *\n\t\t * @error view-writer-invalid-range-container\n\t\t */\n\t\tthrow new CKEditorError( 'view-writer-invalid-range-container', errorContext );\n\t}\n}\n\n/**\n * Checks if two attribute elements can be joined together. Elements can be joined together if, and only if\n * they do not have ids specified.\n */\nfunction canBeJoined( a: AttributeElement, b: AttributeElement ) {\n\treturn a.id === null && b.id === null;\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\nimport { keyCodes, isText, type KeystrokeInfo } from '@ckeditor/ckeditor5-utils';\nimport type View from './view.js';\nimport type DomEventData from './observer/domeventdata.js';\nimport type { ViewDocumentArrowKeyEvent } from './observer/arrowkeysobserver.js';\n\n/**\n * Set of utilities related to handling block and inline fillers.\n *\n * Browsers do not allow to put caret in elements which does not have height. Because of it, we need to fill all\n * empty elements which should be selectable with elements or characters called \"fillers\". Unfortunately there is no one\n * universal filler, this is why two types are uses:\n *\n * * Block filler is an element which fill block elements, like `

`. CKEditor uses `
` as a block filler during the editing,\n * as browsers do natively. So instead of an empty `

` there will be `


`. The advantage of block filler is that\n * it is transparent for the selection, so when the caret is before the `
` and user presses right arrow he will be\n * moved to the next paragraph, not after the `
`. The disadvantage is that it breaks a block, so it can not be used\n * in the middle of a line of text. The {@link module:engine/view/filler~BR_FILLER `
` filler} can be replaced with any other\n * character in the data output, for instance {@link module:engine/view/filler~NBSP_FILLER non-breaking space} or\n * {@link module:engine/view/filler~MARKED_NBSP_FILLER marked non-breaking space}.\n *\n * * Inline filler is a filler which does not break a line of text, so it can be used inside the text, for instance in the empty\n * `` surrendered by text: `foobar`, if we want to put the caret there. CKEditor uses a sequence of the zero-width\n * spaces as an {@link module:engine/view/filler~INLINE_FILLER inline filler} having the predetermined\n * {@link module:engine/view/filler~INLINE_FILLER_LENGTH length}. A sequence is used, instead of a single character to\n * avoid treating random zero-width spaces as the inline filler. Disadvantage of the inline filler is that it is not\n * transparent for the selection. The arrow key moves the caret between zero-width spaces characters, so the additional\n * code is needed to handle the caret.\n *\n * Both inline and block fillers are handled by the {@link module:engine/view/renderer~Renderer renderer} and are not present in the\n * view.\n *\n * @module engine/view/filler\n */\n\n/**\n * Non-breaking space filler creator. This function creates the ` ` text node.\n * It defines how the filler is created.\n *\n * @see module:engine/view/filler~MARKED_NBSP_FILLER\n * @see module:engine/view/filler~BR_FILLER\n */\nexport const NBSP_FILLER = ( domDocument: Document ): Text => domDocument.createTextNode( '\\u00A0' );\n\n/**\n * Marked non-breaking space filler creator. This function creates the ` ` element.\n * It defines how the filler is created.\n *\n * @see module:engine/view/filler~NBSP_FILLER\n * @see module:engine/view/filler~BR_FILLER\n */\nexport const MARKED_NBSP_FILLER = ( domDocument: Document ): HTMLSpanElement => {\n\tconst span = domDocument.createElement( 'span' );\n\tspan.dataset.ckeFiller = 'true';\n\tspan.innerText = '\\u00A0';\n\n\treturn span;\n};\n\n/**\n * `
` filler creator. This function creates the `
` element.\n * It defines how the filler is created.\n *\n * @see module:engine/view/filler~NBSP_FILLER\n * @see module:engine/view/filler~MARKED_NBSP_FILLER\n */\nexport const BR_FILLER = ( domDocument: Document ): HTMLBRElement => {\n\tconst fillerBr = domDocument.createElement( 'br' );\n\tfillerBr.dataset.ckeFiller = 'true';\n\n\treturn fillerBr;\n};\n\n/**\n * Length of the {@link module:engine/view/filler~INLINE_FILLER INLINE_FILLER}.\n */\nexport const INLINE_FILLER_LENGTH = 7;\n\n/**\n * Inline filler which is a sequence of the word joiners.\n */\nexport const INLINE_FILLER = '\\u2060'.repeat( INLINE_FILLER_LENGTH );\n\n/**\n * Checks if the node is a text node which starts with the {@link module:engine/view/filler~INLINE_FILLER inline filler}.\n *\n * ```ts\n * startsWithFiller( document.createTextNode( INLINE_FILLER ) ); // true\n * startsWithFiller( document.createTextNode( INLINE_FILLER + 'foo' ) ); // true\n * startsWithFiller( document.createTextNode( 'foo' ) ); // false\n * startsWithFiller( document.createElement( 'p' ) ); // false\n * ```\n *\n * @param domNode DOM node.\n * @returns True if the text node starts with the {@link module:engine/view/filler~INLINE_FILLER inline filler}.\n */\nexport function startsWithFiller( domNode: Node | string ): boolean {\n\tif ( typeof domNode == 'string' ) {\n\t\treturn domNode.substr( 0, INLINE_FILLER_LENGTH ) === INLINE_FILLER;\n\t}\n\n\treturn isText( domNode ) && ( domNode.data.substr( 0, INLINE_FILLER_LENGTH ) === INLINE_FILLER );\n}\n\n/**\n * Checks if the text node contains only the {@link module:engine/view/filler~INLINE_FILLER inline filler}.\n *\n * ```ts\n * isInlineFiller( document.createTextNode( INLINE_FILLER ) ); // true\n * isInlineFiller( document.createTextNode( INLINE_FILLER + 'foo' ) ); // false\n * ```\n *\n * @param domText DOM text node.\n * @returns True if the text node contains only the {@link module:engine/view/filler~INLINE_FILLER inline filler}.\n */\nexport function isInlineFiller( domText: Text ): boolean {\n\treturn domText.data.length == INLINE_FILLER_LENGTH && startsWithFiller( domText );\n}\n\n/**\n * Get string data from the text node, removing an {@link module:engine/view/filler~INLINE_FILLER inline filler} from it,\n * if text node contains it.\n *\n * ```ts\n * getDataWithoutFiller( document.createTextNode( INLINE_FILLER + 'foo' ) ) == 'foo' // true\n * getDataWithoutFiller( document.createTextNode( 'foo' ) ) == 'foo' // true\n * ```\n *\n * @param domText DOM text node, possible with inline filler.\n * @returns Data without filler.\n */\nexport function getDataWithoutFiller( domText: Text | string ): string {\n\tconst data = typeof domText == 'string' ? domText : domText.data;\n\n\tif ( startsWithFiller( domText ) ) {\n\t\treturn data.slice( INLINE_FILLER_LENGTH );\n\t}\n\n\treturn data;\n}\n\n/**\n * Assign key observer which move cursor from the end of the inline filler to the beginning of it when\n * the left arrow is pressed, so the filler does not break navigation.\n *\n * @param view View controller instance we should inject quirks handling on.\n */\nexport function injectQuirksHandling( view: View ): void {\n\tview.document.on( 'arrowKey', jumpOverInlineFiller, { priority: 'low' } );\n}\n\n/**\n * Move cursor from the end of the inline filler to the beginning of it when, so the filler does not break navigation.\n */\nfunction jumpOverInlineFiller( evt: unknown, data: DomEventData & KeystrokeInfo ) {\n\tif ( data.keyCode == keyCodes.arrowleft ) {\n\t\tconst domSelection = data.domTarget.ownerDocument.defaultView!.getSelection()!;\n\n\t\tif ( domSelection.rangeCount == 1 && domSelection.getRangeAt( 0 ).collapsed ) {\n\t\t\tconst domParent = domSelection.getRangeAt( 0 ).startContainer;\n\t\t\tconst domOffset = domSelection.getRangeAt( 0 ).startOffset;\n\n\t\t\tif ( startsWithFiller( domParent ) && domOffset <= INLINE_FILLER_LENGTH ) {\n\t\t\t\tdomSelection.collapse( domParent, 0 );\n\t\t\t}\n\t\t}\n\t}\n}\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./renderer.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module engine/view/renderer\n */\n\nimport ViewText from './text.js';\nimport ViewPosition from './position.js';\nimport { INLINE_FILLER, INLINE_FILLER_LENGTH, startsWithFiller, isInlineFiller } from './filler.js';\n\nimport {\n\tCKEditorError,\n\tObservableMixin,\n\tdiff,\n\tenv,\n\tfastDiff,\n\tinsertAt,\n\tisComment,\n\tisNode,\n\tisText,\n\tremove,\n\tindexOf,\n\ttype DiffResult,\n\ttype ObservableChangeEvent\n} from '@ckeditor/ckeditor5-utils';\n\nimport type { ChangeType } from './document.js';\nimport type DocumentSelection from './documentselection.js';\nimport type DomConverter from './domconverter.js';\nimport type ViewElement from './element.js';\nimport type ViewNode from './node.js';\n\nimport '../../theme/renderer.css';\n\ntype DomText = globalThis.Text;\ntype DomNode = globalThis.Node;\ntype DomDocument = globalThis.Document;\ntype DomElement = globalThis.HTMLElement;\ntype DomSelection = globalThis.Selection;\n\n/**\n * Renderer is responsible for updating the DOM structure and the DOM selection based on\n * the {@link module:engine/view/renderer~Renderer#markToSync information about updated view nodes}.\n * In other words, it renders the view to the DOM.\n *\n * Its main responsibility is to make only the necessary, minimal changes to the DOM. However, unlike in many\n * virtual DOM implementations, the primary reason for doing minimal changes is not the performance but ensuring\n * that native editing features such as text composition, autocompletion, spell checking, selection's x-index are\n * affected as little as possible.\n *\n * Renderer uses {@link module:engine/view/domconverter~DomConverter} to transform view nodes and positions\n * to and from the DOM.\n */\nexport default class Renderer extends /* #__PURE__ */ ObservableMixin() {\n\t/**\n\t * Set of DOM Documents instances.\n\t */\n\tpublic readonly domDocuments: Set = new Set();\n\n\t/**\n\t * Converter instance.\n\t */\n\tpublic readonly domConverter: DomConverter;\n\n\t/**\n\t * Set of nodes which attributes changed and may need to be rendered.\n\t */\n\tpublic readonly markedAttributes: Set = new Set();\n\n\t/**\n\t * Set of elements which child lists changed and may need to be rendered.\n\t */\n\tpublic readonly markedChildren: Set = new Set();\n\n\t/**\n\t * Set of text nodes which text data changed and may need to be rendered.\n\t */\n\tpublic readonly markedTexts: Set = new Set();\n\n\t/**\n\t * View selection. Renderer updates DOM selection based on the view selection.\n\t */\n\tpublic readonly selection: DocumentSelection;\n\n\t/**\n\t * Indicates if the view document is focused and selection can be rendered. Selection will not be rendered if\n\t * this is set to `false`.\n\t *\n\t * @observable\n\t */\n\tdeclare public readonly isFocused: boolean;\n\n\t/**\n\t * Indicates whether the user is making a selection in the document (e.g. holding the mouse button and moving the cursor).\n\t * When they stop selecting, the property goes back to `false`.\n\t *\n\t * Note: In some browsers, the renderer will stop rendering the selection and inline fillers while the user is making\n\t * a selection to avoid glitches in DOM selection\n\t * (https://github.com/ckeditor/ckeditor5/issues/10562, https://github.com/ckeditor/ckeditor5/issues/10723).\n\t *\n\t * @observable\n\t */\n\tdeclare public readonly isSelecting: boolean;\n\n\t/**\n\t * True if composition is in progress inside the document.\n\t *\n\t * This property is bound to the {@link module:engine/view/document~Document#isComposing `Document#isComposing`} property.\n\t *\n\t * @observable\n\t */\n\tdeclare public readonly isComposing: boolean;\n\n\t/**\n\t * The text node in which the inline filler was rendered.\n\t */\n\tprivate _inlineFiller: DomText | null = null;\n\n\t/**\n\t * DOM element containing fake selection.\n\t */\n\tprivate _fakeSelectionContainer: DomElement | null = null;\n\n\t/**\n\t * Creates a renderer instance.\n\t *\n\t * @param domConverter Converter instance.\n\t * @param selection View selection.\n\t */\n\tconstructor( domConverter: DomConverter, selection: DocumentSelection ) {\n\t\tsuper();\n\n\t\tthis.domConverter = domConverter;\n\t\tthis.selection = selection;\n\n\t\tthis.set( 'isFocused', false );\n\t\tthis.set( 'isSelecting', false );\n\t\tthis.set( 'isComposing', false );\n\n\t\t// Rendering the selection and inline filler manipulation should be postponed in (non-Android) Blink until the user finishes\n\t\t// creating the selection in DOM to avoid accidental selection collapsing\n\t\t// (https://github.com/ckeditor/ckeditor5/issues/10562, https://github.com/ckeditor/ckeditor5/issues/10723).\n\t\t// When the user stops selecting, all pending changes should be rendered ASAP, though.\n\t\tif ( env.isBlink && !env.isAndroid ) {\n\t\t\tthis.on( 'change:isSelecting', () => {\n\t\t\t\tif ( !this.isSelecting ) {\n\t\t\t\t\tthis.render();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\t/**\n\t * Marks a view node to be updated in the DOM by {@link #render `render()`}.\n\t *\n\t * Note that only view nodes whose parents have corresponding DOM elements need to be marked to be synchronized.\n\t *\n\t * @see #markedAttributes\n\t * @see #markedChildren\n\t * @see #markedTexts\n\t *\n\t * @param type Type of the change.\n\t * @param node ViewNode to be marked.\n\t */\n\tpublic markToSync( type: ChangeType, node: ViewNode ): void {\n\t\tif ( type === 'text' ) {\n\t\t\tif ( this.domConverter.mapViewToDom( node.parent! ) ) {\n\t\t\t\tthis.markedTexts.add( node );\n\t\t\t}\n\t\t} else {\n\t\t\t// If the node has no DOM element it is not rendered yet,\n\t\t\t// its children/attributes do not need to be marked to be sync.\n\t\t\tif ( !this.domConverter.mapViewToDom( node as ViewElement ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( type === 'attributes' ) {\n\t\t\t\tthis.markedAttributes.add( node as ViewElement );\n\t\t\t} else if ( type === 'children' ) {\n\t\t\t\tthis.markedChildren.add( node as ViewElement );\n\t\t\t} else {\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t\t\tconst unreachable: never = type;\n\n\t\t\t\t/**\n\t\t\t\t * Unknown type passed to Renderer.markToSync.\n\t\t\t\t *\n\t\t\t\t * @error view-renderer-unknown-type\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'view-renderer-unknown-type', this );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Renders all buffered changes ({@link #markedAttributes}, {@link #markedChildren} and {@link #markedTexts}) and\n\t * the current view selection (if needed) to the DOM by applying a minimal set of changes to it.\n\t *\n\t * Renderer tries not to break the text composition (e.g. IME) and x-index of the selection,\n\t * so it does as little as it is needed to update the DOM.\n\t *\n\t * Renderer also handles {@link module:engine/view/filler fillers}. Especially, it checks if the inline filler is needed\n\t * at the selection position and adds or removes it. To prevent breaking text composition inline filler will not be\n\t * removed as long as the selection is in the text node which needed it at first.\n\t */\n\tpublic render(): void {\n\t\t// Ignore rendering while in the composition mode. Composition events are not cancellable and browser will modify the DOM tree.\n\t\t// All marked elements, attributes, etc. will wait until next render after the composition ends.\n\t\t// On Android composition events are immediately applied to the model, so we don't need to skip rendering,\n\t\t// and we should not do it because the difference between view and DOM could lead to position mapping problems.\n\t\tif ( this.isComposing && !env.isAndroid ) {\n\t\t\t// @if CK_DEBUG_TYPING // if ( ( window as any ).logCKETyping ) {\n\t\t\t// @if CK_DEBUG_TYPING // \tconsole.info( '%c[Renderer]%c Rendering aborted while isComposing.',\n\t\t\t// @if CK_DEBUG_TYPING // \t\t'color: green; font-weight: bold', 'font-style: italic'\n\t\t\t// @if CK_DEBUG_TYPING // \t);\n\t\t\t// @if CK_DEBUG_TYPING // }\n\n\t\t\treturn;\n\t\t}\n\n\t\t// @if CK_DEBUG_TYPING // if ( ( window as any ).logCKETyping ) {\n\t\t// @if CK_DEBUG_TYPING // \tconsole.group( '%c[Renderer]%c Rendering',\n\t\t// @if CK_DEBUG_TYPING // \t\t'color: green; font-weight: bold', 'font-weight: bold'\n\t\t// @if CK_DEBUG_TYPING // \t);\n\t\t// @if CK_DEBUG_TYPING // }\n\n\t\tlet inlineFillerPosition: ViewPosition | null = null;\n\t\tconst isInlineFillerRenderingPossible = env.isBlink && !env.isAndroid ? !this.isSelecting : true;\n\n\t\t// Refresh mappings.\n\t\tfor ( const element of this.markedChildren ) {\n\t\t\tthis._updateChildrenMappings( element );\n\t\t}\n\n\t\t// Don't manipulate inline fillers while the selection is being made in (non-Android) Blink to prevent accidental\n\t\t// DOM selection collapsing\n\t\t// (https://github.com/ckeditor/ckeditor5/issues/10562, https://github.com/ckeditor/ckeditor5/issues/10723).\n\t\tif ( isInlineFillerRenderingPossible ) {\n\t\t\t// There was inline filler rendered in the DOM but it's not\n\t\t\t// at the selection position any more, so we can remove it\n\t\t\t// (cause even if it's needed, it must be placed in another location).\n\t\t\tif ( this._inlineFiller && !this._isSelectionInInlineFiller() ) {\n\t\t\t\tthis._removeInlineFiller();\n\t\t\t}\n\n\t\t\t// If we've got the filler, let's try to guess its position in the view.\n\t\t\tif ( this._inlineFiller ) {\n\t\t\t\tinlineFillerPosition = this._getInlineFillerPosition();\n\t\t\t}\n\t\t\t// Otherwise, if it's needed, create it at the selection position.\n\t\t\telse if ( this._needsInlineFillerAtSelection() ) {\n\t\t\t\tinlineFillerPosition = this.selection.getFirstPosition()!;\n\n\t\t\t\t// Do not use `markToSync` so it will be added even if the parent is already added.\n\t\t\t\tthis.markedChildren.add( inlineFillerPosition.parent as ViewElement );\n\t\t\t}\n\t\t}\n\t\t// Make sure the inline filler has any parent, so it can be mapped to view position by DomConverter.\n\t\telse if ( this._inlineFiller && this._inlineFiller.parentNode ) {\n\t\t\t// While the user is making selection, preserve the inline filler at its original position.\n\t\t\tinlineFillerPosition = this.domConverter.domPositionToView( this._inlineFiller )!;\n\n\t\t\t// While down-casting the document selection attributes, all existing empty\n\t\t\t// attribute elements (for selection position) are removed from the view and DOM,\n\t\t\t// so make sure that we were able to map filler position.\n\t\t\t// https://github.com/ckeditor/ckeditor5/issues/12026\n\t\t\tif ( inlineFillerPosition && inlineFillerPosition.parent.is( '$text' ) ) {\n\t\t\t\t// The inline filler position is expected to be before the text node.\n\t\t\t\tinlineFillerPosition = ViewPosition._createBefore( inlineFillerPosition.parent );\n\t\t\t}\n\t\t}\n\n\t\tfor ( const element of this.markedAttributes ) {\n\t\t\tthis._updateAttrs( element );\n\t\t}\n\n\t\tfor ( const element of this.markedChildren ) {\n\t\t\tthis._updateChildren( element, { inlineFillerPosition } );\n\t\t}\n\n\t\tfor ( const node of this.markedTexts ) {\n\t\t\tif ( !this.markedChildren.has( node.parent as ViewElement ) && this.domConverter.mapViewToDom( node.parent as ViewElement ) ) {\n\t\t\t\tthis._updateText( node as ViewText, { inlineFillerPosition } );\n\t\t\t}\n\t\t}\n\n\t\t// * Check whether the inline filler is required and where it really is in the DOM.\n\t\t// At this point in most cases it will be in the DOM, but there are exceptions.\n\t\t// For example, if the inline filler was deep in the created DOM structure, it will not be created.\n\t\t// Similarly, if it was removed at the beginning of this function and then neither text nor children were updated,\n\t\t// it will not be present. Fix those and similar scenarios.\n\t\t// * Don't manipulate inline fillers while the selection is being made in (non-Android) Blink to prevent accidental\n\t\t// DOM selection collapsing\n\t\t// (https://github.com/ckeditor/ckeditor5/issues/10562, https://github.com/ckeditor/ckeditor5/issues/10723).\n\t\tif ( isInlineFillerRenderingPossible ) {\n\t\t\tif ( inlineFillerPosition ) {\n\t\t\t\tconst fillerDomPosition = this.domConverter.viewPositionToDom( inlineFillerPosition )!;\n\t\t\t\tconst domDocument = fillerDomPosition.parent.ownerDocument!;\n\n\t\t\t\tif ( !startsWithFiller( fillerDomPosition.parent ) ) {\n\t\t\t\t\t// Filler has not been created at filler position. Create it now.\n\t\t\t\t\tthis._inlineFiller = addInlineFiller( domDocument, fillerDomPosition.parent, fillerDomPosition.offset );\n\t\t\t\t} else {\n\t\t\t\t\t// Filler has been found, save it.\n\t\t\t\t\tthis._inlineFiller = fillerDomPosition.parent as DomText;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// There is no filler needed.\n\t\t\t\tthis._inlineFiller = null;\n\t\t\t}\n\t\t}\n\n\t\t// First focus the new editing host, then update the selection.\n\t\t// Otherwise, FF may throw an error (https://github.com/ckeditor/ckeditor5/issues/721).\n\t\tthis._updateFocus();\n\t\tthis._updateSelection();\n\n\t\tthis.domConverter._clearTemporaryCustomProperties();\n\n\t\tthis.markedTexts.clear();\n\t\tthis.markedAttributes.clear();\n\t\tthis.markedChildren.clear();\n\n\t\t// @if CK_DEBUG_TYPING // if ( ( window as any ).logCKETyping ) {\n\t\t// @if CK_DEBUG_TYPING // \tconsole.groupEnd();\n\t\t// @if CK_DEBUG_TYPING // }\n\t}\n\n\t/**\n\t * Updates mappings of view element's children.\n\t *\n\t * Children that were replaced in the view structure by similar elements (same tag name) are treated as 'replaced'.\n\t * This means that their mappings can be updated so the new view elements are mapped to the existing DOM elements.\n\t * Thanks to that these elements do not need to be re-rendered completely.\n\t *\n\t * @param viewElement The view element whose children mappings will be updated.\n\t */\n\tprivate _updateChildrenMappings( viewElement: ViewElement ): void {\n\t\tconst domElement = this.domConverter.mapViewToDom( viewElement );\n\n\t\tif ( !domElement ) {\n\t\t\t// If there is no `domElement` it means that it was already removed from DOM and there is no need to process it.\n\t\t\treturn;\n\t\t}\n\n\t\t// Removing nodes from the DOM as we iterate can cause `actualDomChildren`\n\t\t// (which is a live-updating `NodeList`) to get out of sync with the\n\t\t// indices that we compute as we iterate over `actions`.\n\t\t// This would produce incorrect element mappings.\n\t\t//\n\t\t// Converting live list to an array to make the list static.\n\t\tconst actualDomChildren = Array.from(\n\t\t\tdomElement.childNodes\n\t\t);\n\t\tconst expectedDomChildren = Array.from(\n\t\t\tthis.domConverter.viewChildrenToDom( viewElement, { withChildren: false } )\n\t\t);\n\t\tconst diff = this._diffNodeLists( actualDomChildren, expectedDomChildren );\n\t\tconst actions = this._findUpdateActions( diff, actualDomChildren, expectedDomChildren, areSimilarElements );\n\n\t\tif ( actions.indexOf( 'update' ) !== -1 ) {\n\t\t\tconst counter = { equal: 0, insert: 0, delete: 0 };\n\n\t\t\tfor ( const action of actions ) {\n\t\t\t\tif ( action === 'update' ) {\n\t\t\t\t\tconst insertIndex = counter.equal + counter.insert;\n\t\t\t\t\tconst deleteIndex = counter.equal + counter.delete;\n\t\t\t\t\tconst viewChild = viewElement.getChild( insertIndex );\n\n\t\t\t\t\t// UIElement and RawElement are special cases. Their children are not stored in a view (#799)\n\t\t\t\t\t// so we cannot use them with replacing flow (since they use view children during rendering\n\t\t\t\t\t// which will always result in rendering empty elements).\n\t\t\t\t\tif ( viewChild && !viewChild.is( 'uiElement' ) && !viewChild.is( 'rawElement' ) ) {\n\t\t\t\t\t\tthis._updateElementMappings( viewChild as ViewElement, actualDomChildren[ deleteIndex ] as DomElement );\n\t\t\t\t\t}\n\n\t\t\t\t\tremove( expectedDomChildren[ insertIndex ] );\n\t\t\t\t\tcounter.equal++;\n\t\t\t\t} else {\n\t\t\t\t\tcounter[ action ]++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Updates mappings of a given view element.\n\t *\n\t * @param viewElement The view element whose mappings will be updated.\n\t * @param domElement The DOM element representing the given view element.\n\t */\n\tprivate _updateElementMappings( viewElement: ViewElement, domElement: DomElement ): void {\n\t\t// Remap 'DomConverter' bindings.\n\t\tthis.domConverter.unbindDomElement( domElement );\n\t\tthis.domConverter.bindElements( domElement, viewElement );\n\n\t\t// View element may have children which needs to be updated, but are not marked, mark them to update.\n\t\tthis.markedChildren.add( viewElement );\n\n\t\t// Because we replace new view element mapping with the existing one, the corresponding DOM element\n\t\t// will not be rerendered. The new view element may have different attributes than the previous one.\n\t\t// Since its corresponding DOM element will not be rerendered, new attributes will not be added\n\t\t// to the DOM, so we need to mark it here to make sure its attributes gets updated. See #1427 for more\n\t\t// detailed case study.\n\t\t// Also there are cases where replaced element is removed from the view structure and then has\n\t\t// its attributes changed or removed. In such cases the element will not be present in `markedAttributes`\n\t\t// and also may be the same (`element.isSimilar()`) as the reused element not having its attributes updated.\n\t\t// To prevent such situations we always mark reused element to have its attributes rerenderd (#1560).\n\t\tthis.markedAttributes.add( viewElement );\n\t}\n\n\t/**\n\t * Gets the position of the inline filler based on the current selection.\n\t * Here, we assume that we know that the filler is needed and\n\t * {@link #_isSelectionInInlineFiller is at the selection position}, and, since it is needed,\n\t * it is somewhere at the selection position.\n\t *\n\t * Note: The filler position cannot be restored based on the filler's DOM text node, because\n\t * when this method is called (before rendering), the bindings will often be broken. View-to-DOM\n\t * bindings are only dependable after rendering.\n\t */\n\tprivate _getInlineFillerPosition(): ViewPosition {\n\t\tconst firstPos = this.selection.getFirstPosition()!;\n\n\t\tif ( firstPos.parent.is( '$text' ) ) {\n\t\t\treturn ViewPosition._createBefore( firstPos.parent );\n\t\t} else {\n\t\t\treturn firstPos;\n\t\t}\n\t}\n\n\t/**\n\t * Returns `true` if the selection has not left the inline filler's text node.\n\t * If it is `true`, it means that the filler had been added for a reason and the selection did not\n\t * leave the filler's text node. For example, the user can be in the middle of a composition so it should not be touched.\n\t *\n\t * @returns `true` if the inline filler and selection are in the same place.\n\t */\n\tprivate _isSelectionInInlineFiller(): boolean {\n\t\tif ( this.selection.rangeCount != 1 || !this.selection.isCollapsed ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Note, we can't check if selection's position equals position of the\n\t\t// this._inlineFiller node, because of #663. We may not be able to calculate\n\t\t// the filler's position in the view at this stage.\n\t\t// Instead, we check it the other way – whether selection is anchored in\n\t\t// that text node or next to it.\n\n\t\t// Possible options are:\n\t\t// \"FILLER{}\"\n\t\t// \"FILLERadded-text{}\"\n\t\tconst selectionPosition = this.selection.getFirstPosition()!;\n\t\tconst position = this.domConverter.viewPositionToDom( selectionPosition );\n\n\t\tif ( position && isText( position.parent ) && startsWithFiller( position.parent ) ) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Removes the inline filler.\n\t */\n\tprivate _removeInlineFiller(): void {\n\t\tconst domFillerNode = this._inlineFiller!;\n\n\t\t// Something weird happened and the stored node doesn't contain the filler's text.\n\t\tif ( !startsWithFiller( domFillerNode ) ) {\n\t\t\t/**\n\t\t\t * The inline filler node was lost. Most likely, something overwrote the filler text node\n\t\t\t * in the DOM.\n\t\t\t *\n\t\t\t * @error view-renderer-filler-was-lost\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'view-renderer-filler-was-lost', this );\n\t\t}\n\n\t\tif ( isInlineFiller( domFillerNode ) ) {\n\t\t\tdomFillerNode.remove();\n\t\t} else {\n\t\t\tdomFillerNode.data = domFillerNode.data.substr( INLINE_FILLER_LENGTH );\n\t\t}\n\n\t\tthis._inlineFiller = null;\n\t}\n\n\t/**\n\t * Checks if the inline {@link module:engine/view/filler filler} should be added.\n\t *\n\t * @returns `true` if the inline filler should be added.\n\t */\n\tprivate _needsInlineFillerAtSelection(): boolean {\n\t\tif ( this.selection.rangeCount != 1 || !this.selection.isCollapsed ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst selectionPosition = this.selection.getFirstPosition()!;\n\t\tconst selectionParent = selectionPosition.parent;\n\t\tconst selectionOffset = selectionPosition.offset;\n\n\t\t// If there is no DOM root we do not care about fillers.\n\t\tif ( !this.domConverter.mapViewToDom( selectionParent.root ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( !( selectionParent.is( 'element' ) ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Prevent adding inline filler inside elements with contenteditable=false.\n\t\t// https://github.com/ckeditor/ckeditor5-engine/issues/1170\n\t\tif ( !isEditable( selectionParent ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst nodeBefore = selectionPosition.nodeBefore;\n\t\tconst nodeAfter = selectionPosition.nodeAfter;\n\n\t\tif ( nodeBefore instanceof ViewText || nodeAfter instanceof ViewText ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// We have block filler, we do not need inline one.\n\t\tif ( selectionOffset === selectionParent.getFillerOffset!() && ( !nodeBefore || !nodeBefore.is( 'element', 'br' ) ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Do not use inline filler while typing outside inline elements on Android.\n\t\t// The deleteContentBackward would remove part of the inline filler instead of removing last letter in a link.\n\t\tif ( env.isAndroid && ( nodeBefore || nodeAfter ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Checks if text needs to be updated and possibly updates it.\n\t *\n\t * @param viewText View text to update.\n\t * @param options.inlineFillerPosition The position where the inline filler should be rendered.\n\t */\n\tprivate _updateText( viewText: ViewText, options: { inlineFillerPosition?: ViewPosition | null } ) {\n\t\tconst domText = this.domConverter.findCorrespondingDomText( viewText )!;\n\t\tconst newDomText = this.domConverter.viewToDom( viewText );\n\n\t\tlet expectedText = newDomText.data;\n\t\tconst filler = options.inlineFillerPosition;\n\n\t\tif ( filler && filler.parent == viewText.parent && filler.offset == viewText.index ) {\n\t\t\texpectedText = INLINE_FILLER + expectedText;\n\t\t}\n\n\t\t// @if CK_DEBUG_TYPING // if ( ( window as any ).logCKETyping ) {\n\t\t// @if CK_DEBUG_TYPING // \tconsole.group( '%c[Renderer]%c Update text',\n\t\t// @if CK_DEBUG_TYPING // \t\t'color: green; font-weight: bold', 'font-weight: normal'\n\t\t// @if CK_DEBUG_TYPING // \t);\n\t\t// @if CK_DEBUG_TYPING // }\n\n\t\tthis._updateTextNode( domText, expectedText );\n\n\t\t// @if CK_DEBUG_TYPING // if ( ( window as any ).logCKETyping ) {\n\t\t// @if CK_DEBUG_TYPING // \tconsole.groupEnd();\n\t\t// @if CK_DEBUG_TYPING // }\n\t}\n\n\t/**\n\t * Checks if attribute list needs to be updated and possibly updates it.\n\t *\n\t * @param viewElement The view element to update.\n\t */\n\tprivate _updateAttrs( viewElement: ViewElement ): void {\n\t\tconst domElement = this.domConverter.mapViewToDom( viewElement );\n\n\t\tif ( !domElement ) {\n\t\t\t// If there is no `domElement` it means that 'viewElement' is outdated as its mapping was updated\n\t\t\t// in 'this._updateChildrenMappings()'. There is no need to process it as new view element which\n\t\t\t// replaced old 'viewElement' mapping was also added to 'this.markedAttributes'\n\t\t\t// in 'this._updateChildrenMappings()' so it will be processed separately.\n\t\t\treturn;\n\t\t}\n\n\t\t// Remove attributes from DOM elements if they do not exist in the view.\n\t\t//\n\t\t// Note: It is important to first remove DOM attributes and then set new ones, because some view attributes may be renamed\n\t\t// as they are set on DOM (due to unsafe attributes handling). If we set the view attribute first, and then remove\n\t\t// non-existing DOM attributes, then we would remove the attribute that we just set.\n\t\tfor ( const domAttr of ( domElement as DomElement ).attributes ) {\n\t\t\tconst key = domAttr.name;\n\n\t\t\t// All other attributes not present in the DOM should be removed.\n\t\t\tif ( !viewElement.hasAttribute( key ) ) {\n\t\t\t\tthis.domConverter.removeDomElementAttribute( domElement as DomElement, key );\n\t\t\t}\n\t\t}\n\n\t\t// Add or overwrite attributes.\n\t\tfor ( const key of viewElement.getAttributeKeys() ) {\n\t\t\tthis.domConverter.setDomElementAttribute( domElement as DomElement, key, viewElement.getAttribute( key )!, viewElement );\n\t\t}\n\t}\n\n\t/**\n\t * Checks if elements child list needs to be updated and possibly updates it.\n\t *\n\t * Note that on Android, to reduce the risk of composition breaks, it tries to update data of an existing\n\t * child text nodes instead of replacing them completely.\n\t *\n\t * @param viewElement View element to update.\n\t * @param options.inlineFillerPosition The position where the inline filler should be rendered.\n\t */\n\tprivate _updateChildren( viewElement: ViewElement, options: { inlineFillerPosition: ViewPosition | null } ) {\n\t\tconst domElement = this.domConverter.mapViewToDom( viewElement );\n\n\t\tif ( !domElement ) {\n\t\t\t// If there is no `domElement` it means that it was already removed from DOM.\n\t\t\t// There is no need to process it. It will be processed when re-inserted.\n\t\t\treturn;\n\t\t}\n\n\t\t// @if CK_DEBUG_TYPING // if ( ( window as any ).logCKETyping ) {\n\t\t// @if CK_DEBUG_TYPING // \tconsole.group( '%c[Renderer]%c Update children',\n\t\t// @if CK_DEBUG_TYPING // \t\t'color: green; font-weight: bold', 'font-weight: normal'\n\t\t// @if CK_DEBUG_TYPING // \t);\n\t\t// @if CK_DEBUG_TYPING // }\n\n\t\t// IME on Android inserts a new text node while typing after a link\n\t\t// instead of updating an existing text node that follows the link.\n\t\t// We must normalize those text nodes so the diff won't get confused.\n\t\t// https://github.com/ckeditor/ckeditor5/issues/12574.\n\t\tif ( env.isAndroid ) {\n\t\t\tlet previousDomNode = null;\n\n\t\t\tfor ( const domNode of Array.from( domElement.childNodes ) ) {\n\t\t\t\tif ( previousDomNode && isText( previousDomNode ) && isText( domNode ) ) {\n\t\t\t\t\tdomElement.normalize();\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tpreviousDomNode = domNode;\n\t\t\t}\n\t\t}\n\n\t\tconst inlineFillerPosition = options.inlineFillerPosition;\n\t\tconst actualDomChildren = domElement.childNodes;\n\t\tconst expectedDomChildren = Array.from(\n\t\t\tthis.domConverter.viewChildrenToDom( viewElement, { bind: true } )\n\t\t);\n\n\t\t// Inline filler element has to be created as it is present in the DOM, but not in the view. It is required\n\t\t// during diffing so text nodes could be compared correctly and also during rendering to maintain\n\t\t// proper order and indexes while updating the DOM.\n\t\tif ( inlineFillerPosition && inlineFillerPosition.parent === viewElement ) {\n\t\t\taddInlineFiller( ( domElement as DomElement ).ownerDocument, expectedDomChildren, inlineFillerPosition.offset );\n\t\t}\n\n\t\tconst diff = this._diffNodeLists( actualDomChildren, expectedDomChildren );\n\n\t\t// We need to make sure that we update the existing text node and not replace it with another one.\n\t\t// The composition and different \"language\" browser extensions are fragile to text node being completely replaced.\n\t\tconst actions = this._findUpdateActions( diff, actualDomChildren, expectedDomChildren, areTextNodes );\n\n\t\t// @if CK_DEBUG_TYPING // if ( ( window as any ).logCKETyping && actions.every( a => a == 'equal' ) ) {\n\t\t// @if CK_DEBUG_TYPING // \tconsole.info( '%c[Renderer]%c Nothing to update.',\n\t\t// @if CK_DEBUG_TYPING // \t\t'color: green; font-weight: bold', 'font-style: italic'\n\t\t// @if CK_DEBUG_TYPING // \t);\n\t\t// @if CK_DEBUG_TYPING // }\n\n\t\tlet i = 0;\n\t\tconst nodesToUnbind: Set = new Set();\n\n\t\t// Handle deletions first.\n\t\t// This is to prevent a situation where an element that already exists in `actualDomChildren` is inserted at a different\n\t\t// index in `actualDomChildren`. Since `actualDomChildren` is a `NodeList`, this works like move, not like an insert,\n\t\t// and it disrupts the whole algorithm. See https://github.com/ckeditor/ckeditor5/issues/6367.\n\t\t//\n\t\t// It doesn't matter in what order we remove or add nodes, as long as we remove and add correct nodes at correct indexes.\n\t\tfor ( const action of actions ) {\n\t\t\tif ( action === 'delete' ) {\n\t\t\t\t// @if CK_DEBUG_TYPING // if ( ( window as any ).logCKETyping ) {\n\t\t\t\t// @if CK_DEBUG_TYPING //\tconst node = actualDomChildren[ i ];\n\t\t\t\t// @if CK_DEBUG_TYPING // \tif ( isText( node ) ) {\n\t\t\t\t// @if CK_DEBUG_TYPING // \t\tconsole.info( '%c[Renderer]%c Remove text node' +\n\t\t\t\t// @if CK_DEBUG_TYPING // \t\t\t`${ this.isComposing ? ' while composing (may break composition)' : '' }: ` +\n\t\t\t\t// @if CK_DEBUG_TYPING // \t\t\t`%c${ _escapeTextNodeData( node.data ) }%c (${ node.data.length })`,\n\t\t\t\t// @if CK_DEBUG_TYPING // \t\t\t'color: green; font-weight: bold',\n\t\t\t\t// @if CK_DEBUG_TYPING // \t\t\tthis.isComposing ? 'color: red; font-weight: bold' : '', 'color: blue', ''\n\t\t\t\t// @if CK_DEBUG_TYPING // \t\t);\n\t\t\t\t// @if CK_DEBUG_TYPING // \t} else {\n\t\t\t\t// @if CK_DEBUG_TYPING // \t\tconsole.info( '%c[Renderer]%c Remove element' +\n\t\t\t\t// @if CK_DEBUG_TYPING // \t\t\t`${ this.isComposing ? ' while composing (may break composition)' : '' }: `,\n\t\t\t\t// @if CK_DEBUG_TYPING // \t\t\t'color: green; font-weight: bold',\n\t\t\t\t// @if CK_DEBUG_TYPING // \t\t\tthis.isComposing ? 'color: red; font-weight: bold' : '',\n\t\t\t\t// @if CK_DEBUG_TYPING // \t\t\tnode\n\t\t\t\t// @if CK_DEBUG_TYPING // \t\t);\n\t\t\t\t// @if CK_DEBUG_TYPING // \t}\n\t\t\t\t// @if CK_DEBUG_TYPING // }\n\n\t\t\t\tnodesToUnbind.add( actualDomChildren[ i ] as DomElement );\n\t\t\t\tremove( actualDomChildren[ i ] );\n\t\t\t} else if ( action === 'equal' || action === 'update' ) {\n\t\t\t\ti++;\n\t\t\t}\n\t\t}\n\n\t\ti = 0;\n\n\t\tfor ( const action of actions ) {\n\t\t\tif ( action === 'insert' ) {\n\t\t\t\t// @if CK_DEBUG_TYPING // if ( ( window as any ).logCKETyping ) {\n\t\t\t\t// @if CK_DEBUG_TYPING //\tconst node = expectedDomChildren[ i ];\n\t\t\t\t// @if CK_DEBUG_TYPING //\tif ( isText( node ) ) {\n\t\t\t\t// @if CK_DEBUG_TYPING //\t\tconsole.info( '%c[Renderer]%c Insert text node' +\n\t\t\t\t// @if CK_DEBUG_TYPING //\t\t\t`${ this.isComposing ? ' while composing (may break composition)' : '' }: ` +\n\t\t\t\t// @if CK_DEBUG_TYPING //\t\t\t`%c${ _escapeTextNodeData( node.data ) }%c (${ node.data.length })`,\n\t\t\t\t// @if CK_DEBUG_TYPING //\t\t\t'color: green; font-weight: bold',\n\t\t\t\t// @if CK_DEBUG_TYPING //\t\t\tthis.isComposing ? 'color: red; font-weight: bold' : '',\n\t\t\t\t// @if CK_DEBUG_TYPING //\t\t\t'color: blue', ''\n\t\t\t\t// @if CK_DEBUG_TYPING //\t\t);\n\t\t\t\t// @if CK_DEBUG_TYPING //\t} else {\n\t\t\t\t// @if CK_DEBUG_TYPING //\t\tconsole.info( '%c[Renderer]%c Insert element:',\n\t\t\t\t// @if CK_DEBUG_TYPING //\t\t\t'color: green; font-weight: bold', 'font-weight: normal',\n\t\t\t\t// @if CK_DEBUG_TYPING //\t\t\tnode\n\t\t\t\t// @if CK_DEBUG_TYPING //\t\t);\n\t\t\t\t// @if CK_DEBUG_TYPING //\t}\n\t\t\t\t// @if CK_DEBUG_TYPING // }\n\n\t\t\t\tinsertAt( domElement as DomElement, i, expectedDomChildren[ i ] );\n\t\t\t\ti++;\n\t\t\t}\n\t\t\t// Update the existing text node data.\n\t\t\telse if ( action === 'update' ) {\n\t\t\t\tthis._updateTextNode( actualDomChildren[ i ] as DomText, ( expectedDomChildren[ i ] as DomText ).data );\n\t\t\t\ti++;\n\t\t\t} else if ( action === 'equal' ) {\n\t\t\t\t// Force updating text nodes inside elements which did not change and do not need to be re-rendered (#1125).\n\t\t\t\t// Do it here (not in the loop above) because only after insertions the `i` index is correct.\n\t\t\t\tthis._markDescendantTextToSync( this.domConverter.domToView( expectedDomChildren[ i ] ) as any );\n\t\t\t\ti++;\n\t\t\t}\n\t\t}\n\n\t\t// Unbind removed nodes. When node does not have a parent it means that it was removed from DOM tree during\n\t\t// comparison with the expected DOM. We don't need to check child nodes, because if child node was reinserted,\n\t\t// it was moved to DOM tree out of the removed node.\n\t\tfor ( const node of nodesToUnbind ) {\n\t\t\tif ( !node.parentNode ) {\n\t\t\t\tthis.domConverter.unbindDomElement( node as DomElement );\n\t\t\t}\n\t\t}\n\n\t\t// @if CK_DEBUG_TYPING // if ( ( window as any ).logCKETyping ) {\n\t\t// @if CK_DEBUG_TYPING // \tconsole.groupEnd();\n\t\t// @if CK_DEBUG_TYPING // }\n\t}\n\n\t/**\n\t * Shorthand for diffing two arrays or node lists of DOM nodes.\n\t *\n\t * @param actualDomChildren Actual DOM children\n\t * @param expectedDomChildren Expected DOM children.\n\t * @returns The list of actions based on the {@link module:utils/diff~diff} function.\n\t */\n\tprivate _diffNodeLists( actualDomChildren: Array | NodeList, expectedDomChildren: Array | NodeList ) {\n\t\tactualDomChildren = filterOutFakeSelectionContainer( actualDomChildren, this._fakeSelectionContainer );\n\n\t\treturn diff( actualDomChildren, expectedDomChildren, sameNodes.bind( null, this.domConverter ) );\n\t}\n\n\t/**\n\t * Finds DOM nodes that were replaced with the similar nodes (same tag name) in the view. All nodes are compared\n\t * within one `insert`/`delete` action group, for example:\n\t *\n\t * ```\n\t * Actual DOM:\t\t

FooBarBazBax

\n\t * Expected DOM:\t

Bar123Baz456

\n\t * Input actions:\t[ insert, insert, delete, delete, equal, insert, delete ]\n\t * Output actions:\t[ insert, replace, delete, equal, replace ]\n\t * ```\n\t *\n\t * @param actions Actions array which is a result of the {@link module:utils/diff~diff} function.\n\t * @param actualDom Actual DOM children\n\t * @param expectedDom Expected DOM children.\n\t * @param comparator A comparator function that should return `true` if the given node should be reused\n\t * (either by the update of a text node data or an element children list for similar elements).\n\t * @returns Actions array modified with the `update` actions.\n\t */\n\tprivate _findUpdateActions(\n\t\tactions: Array,\n\t\tactualDom: Array | NodeList,\n\t\texpectedDom: Array,\n\t\tcomparator: ( a: DomNode, b: DomNode ) => boolean\n\t): Array {\n\t\t// If there is no both 'insert' and 'delete' actions, no need to check for replaced elements.\n\t\tif ( actions.indexOf( 'insert' ) === -1 || actions.indexOf( 'delete' ) === -1 ) {\n\t\t\treturn actions;\n\t\t}\n\n\t\tlet newActions: Array = [];\n\t\tlet actualSlice = [];\n\t\tlet expectedSlice = [];\n\n\t\tconst counter = { equal: 0, insert: 0, delete: 0 };\n\n\t\tfor ( const action of actions ) {\n\t\t\tif ( action === 'insert' ) {\n\t\t\t\texpectedSlice.push( expectedDom[ counter.equal + counter.insert ] );\n\t\t\t} else if ( action === 'delete' ) {\n\t\t\t\tactualSlice.push( actualDom[ counter.equal + counter.delete ] );\n\t\t\t} else { // equal\n\t\t\t\tnewActions = newActions.concat(\n\t\t\t\t\tdiff( actualSlice, expectedSlice, comparator )\n\t\t\t\t\t\t.map( action => action === 'equal' ? 'update' : action )\n\t\t\t\t);\n\n\t\t\t\tnewActions.push( 'equal' );\n\n\t\t\t\t// Reset stored elements on 'equal'.\n\t\t\t\tactualSlice = [];\n\t\t\t\texpectedSlice = [];\n\t\t\t}\n\t\t\tcounter[ action ]++;\n\t\t}\n\n\t\treturn newActions.concat(\n\t\t\tdiff( actualSlice, expectedSlice, comparator )\n\t\t\t\t.map( action => action === 'equal' ? 'update' : action )\n\t\t);\n\t}\n\n\t/**\n\t * Checks if text needs to be updated and possibly updates it by removing and inserting only parts\n\t * of the data from the existing text node to reduce impact on the IME composition.\n\t *\n\t * @param domText DOM text node to update.\n\t * @param expectedText The expected data of a text node.\n\t */\n\tprivate _updateTextNode( domText: DomText, expectedText: string ): void {\n\t\tconst actualText = domText.data;\n\n\t\tif ( actualText == expectedText ) {\n\t\t\t// @if CK_DEBUG_TYPING // if ( ( window as any ).logCKETyping ) {\n\t\t\t// @if CK_DEBUG_TYPING // \tconsole.info( '%c[Renderer]%c Text node does not need update:%c ' +\n\t\t\t// @if CK_DEBUG_TYPING // \t\t`${ _escapeTextNodeData( actualText ) }%c (${ actualText.length })`,\n\t\t\t// @if CK_DEBUG_TYPING // \t\t'color: green; font-weight: bold', 'font-style: italic', 'color: blue', ''\n\t\t\t// @if CK_DEBUG_TYPING // \t);\n\t\t\t// @if CK_DEBUG_TYPING // }\n\n\t\t\treturn;\n\t\t}\n\n\t\t// Our approach to interleaving space character with NBSP might differ with the one implemented by the browser.\n\t\t// Avoid modifying the text node in the DOM if only NBSPs and spaces are interchanged.\n\t\t// We should avoid DOM modifications while composing to avoid breakage of composition.\n\t\t// See: https://github.com/ckeditor/ckeditor5/issues/13994.\n\t\tif ( env.isAndroid && this.isComposing && actualText.replace( /\\u00A0/g, ' ' ) == expectedText.replace( /\\u00A0/g, ' ' ) ) {\n\t\t\t// @if CK_DEBUG_TYPING // if ( ( window as any ).logCKETyping ) {\n\t\t\t// @if CK_DEBUG_TYPING // \tconsole.info( '%c[Renderer]%c Text node ignore NBSP changes while composing: ' +\n\t\t\t// @if CK_DEBUG_TYPING // \t\t`%c${ _escapeTextNodeData( actualText ) }%c (${ actualText.length }) ->` +\n\t\t\t// @if CK_DEBUG_TYPING // \t\t` %c${ _escapeTextNodeData( expectedText ) }%c (${ expectedText.length })`,\n\t\t\t// @if CK_DEBUG_TYPING // \t\t'color: green; font-weight: bold', 'font-style: italic', 'color: blue', '', 'color: blue', ''\n\t\t\t// @if CK_DEBUG_TYPING // \t);\n\t\t\t// @if CK_DEBUG_TYPING // }\n\n\t\t\treturn;\n\t\t}\n\n\t\t// @if CK_DEBUG_TYPING // if ( ( window as any ).logCKETyping ) {\n\t\t// @if CK_DEBUG_TYPING // \tconsole.info( '%c[Renderer]%c Update text node' +\n\t\t// @if CK_DEBUG_TYPING // \t\t`${ this.isComposing ? ' while composing (may break composition)' : '' }: ` +\n\t\t// @if CK_DEBUG_TYPING // \t\t`%c${ _escapeTextNodeData( actualText ) }%c (${ actualText.length }) ->` +\n\t\t// @if CK_DEBUG_TYPING // \t\t` %c${ _escapeTextNodeData( expectedText ) }%c (${ expectedText.length })`,\n\t\t// @if CK_DEBUG_TYPING // \t\t'color: green; font-weight: bold', this.isComposing ? 'color: red; font-weight: bold' : '',\n\t\t// @if CK_DEBUG_TYPING // \t\t'color: blue', '', 'color: blue', ''\n\t\t// @if CK_DEBUG_TYPING // \t);\n\t\t// @if CK_DEBUG_TYPING // }\n\n\t\tthis._updateTextNodeInternal( domText, expectedText );\n\t}\n\n\t/**\n\t * Part of the `_updateTextNode` method extracted for easier testing.\n\t */\n\tprivate _updateTextNodeInternal( domText: DomText, expectedText: string ): void {\n\t\tconst actions = fastDiff( domText.data, expectedText );\n\n\t\tfor ( const action of actions ) {\n\t\t\tif ( action.type === 'insert' ) {\n\t\t\t\tdomText.insertData( action.index, action.values.join( '' ) );\n\t\t\t} else { // 'delete'\n\t\t\t\tdomText.deleteData( action.index, action.howMany );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Marks text nodes to be synchronized.\n\t *\n\t * If a text node is passed, it will be marked. If an element is passed, all descendant text nodes inside it will be marked.\n\t *\n\t * @param viewNode View node to sync.\n\t */\n\tprivate _markDescendantTextToSync( viewNode: ViewNode | undefined ): void {\n\t\tif ( !viewNode ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( viewNode.is( '$text' ) ) {\n\t\t\tthis.markedTexts.add( viewNode );\n\t\t} else if ( viewNode.is( 'element' ) ) {\n\t\t\tfor ( const child of viewNode.getChildren() ) {\n\t\t\t\tthis._markDescendantTextToSync( child );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the selection needs to be updated and possibly updates it.\n\t */\n\tprivate _updateSelection(): void {\n\t\t// Block updating DOM selection in (non-Android) Blink while the user is selecting to prevent accidental selection collapsing.\n\t\t// Note: Structural changes in DOM must trigger selection rendering, though. Nodes the selection was anchored\n\t\t// to, may disappear in DOM which would break the selection (e.g. in real-time collaboration scenarios).\n\t\t// https://github.com/ckeditor/ckeditor5/issues/10562, https://github.com/ckeditor/ckeditor5/issues/10723\n\t\tif ( env.isBlink && !env.isAndroid && this.isSelecting && !this.markedChildren.size ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there is no selection - remove DOM and fake selections.\n\t\tif ( this.selection.rangeCount === 0 ) {\n\t\t\tthis._removeDomSelection();\n\t\t\tthis._removeFakeSelection();\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst domRoot = this.domConverter.mapViewToDom( this.selection.editableElement! );\n\n\t\t// Do nothing if there is no focus, or there is no DOM element corresponding to selection's editable element.\n\t\tif ( !this.isFocused || !domRoot ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Render fake selection - create the fake selection container (if needed) and move DOM selection to it.\n\t\tif ( this.selection.isFake ) {\n\t\t\tthis._updateFakeSelection( domRoot );\n\t\t}\n\t\t// There was a fake selection so remove it and update the DOM selection.\n\t\t// This is especially important on Android because otherwise IME will try to compose over the fake selection container.\n\t\telse if ( this._fakeSelectionContainer && this._fakeSelectionContainer.isConnected ) {\n\t\t\tthis._removeFakeSelection();\n\t\t\tthis._updateDomSelection( domRoot );\n\t\t}\n\t\t// Update the DOM selection in case of a plain selection change (no fake selection is involved).\n\t\t// On non-Android the whole rendering is disabled in composition mode (including DOM selection update),\n\t\t// but updating DOM selection should be also disabled on Android if in the middle of the composition\n\t\t// (to not interrupt it).\n\t\telse if ( !( this.isComposing && env.isAndroid ) ) {\n\t\t\tthis._updateDomSelection( domRoot );\n\t\t}\n\t}\n\n\t/**\n\t * Updates the fake selection.\n\t *\n\t * @param domRoot A valid DOM root where the fake selection container should be added.\n\t */\n\tprivate _updateFakeSelection( domRoot: DomElement ): void {\n\t\tconst domDocument = domRoot.ownerDocument;\n\n\t\tif ( !this._fakeSelectionContainer ) {\n\t\t\tthis._fakeSelectionContainer = createFakeSelectionContainer( domDocument );\n\t\t}\n\n\t\tconst container = this._fakeSelectionContainer;\n\n\t\t// Bind fake selection container with the current selection *position*.\n\t\tthis.domConverter.bindFakeSelection( container, this.selection );\n\n\t\tif ( !this._fakeSelectionNeedsUpdate( domRoot ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( !container.parentElement || container.parentElement != domRoot ) {\n\t\t\tdomRoot.appendChild( container );\n\t\t}\n\n\t\tcontainer.textContent = this.selection.fakeSelectionLabel || '\\u00A0';\n\n\t\tconst domSelection = domDocument.getSelection()!;\n\t\tconst domRange = domDocument.createRange();\n\n\t\tdomSelection.removeAllRanges();\n\t\tdomRange.selectNodeContents( container );\n\t\tdomSelection.addRange( domRange );\n\t}\n\n\t/**\n\t * Updates the DOM selection.\n\t *\n\t * @param domRoot A valid DOM root where the DOM selection should be rendered.\n\t */\n\tprivate _updateDomSelection( domRoot: DomElement ) {\n\t\tconst domSelection = domRoot.ownerDocument.defaultView!.getSelection()!;\n\n\t\t// Let's check whether DOM selection needs updating at all.\n\t\tif ( !this._domSelectionNeedsUpdate( domSelection ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Multi-range selection is not available in most browsers, and, at least in Chrome, trying to\n\t\t// set such selection, that is not continuous, throws an error. Because of that, we will just use anchor\n\t\t// and focus of view selection.\n\t\t// Since we are not supporting multi-range selection, we also do not need to check if proper editable is\n\t\t// selected. If there is any editable selected, it is okay (editable is taken from selection anchor).\n\t\tconst anchor = this.domConverter.viewPositionToDom( this.selection.anchor! )!;\n\t\tconst focus = this.domConverter.viewPositionToDom( this.selection.focus! )!;\n\n\t\t// @if CK_DEBUG_TYPING // if ( ( window as any ).logCKETyping ) {\n\t\t// @if CK_DEBUG_TYPING // \tconsole.info( '%c[Renderer]%c Update DOM selection:',\n\t\t// @if CK_DEBUG_TYPING // \t\t'color: green; font-weight: bold', '', anchor, focus\n\t\t// @if CK_DEBUG_TYPING // \t);\n\t\t// @if CK_DEBUG_TYPING // }\n\n\t\tdomSelection.setBaseAndExtent( anchor.parent, anchor.offset, focus.parent, focus.offset );\n\n\t\t// Firefox–specific hack (https://github.com/ckeditor/ckeditor5-engine/issues/1439).\n\t\tif ( env.isGecko ) {\n\t\t\tfixGeckoSelectionAfterBr( focus, domSelection );\n\t\t}\n\t}\n\n\t/**\n\t * Checks whether a given DOM selection needs to be updated.\n\t *\n\t * @param domSelection The DOM selection to check.\n\t */\n\tprivate _domSelectionNeedsUpdate( domSelection: Selection ): boolean {\n\t\tif ( !this.domConverter.isDomSelectionCorrect( domSelection ) ) {\n\t\t\t// Current DOM selection is in incorrect position. We need to update it.\n\t\t\treturn true;\n\t\t}\n\n\t\tconst oldViewSelection = domSelection && this.domConverter.domSelectionToView( domSelection );\n\n\t\tif ( oldViewSelection && this.selection.isEqual( oldViewSelection ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// If selection is not collapsed, it does not need to be updated if it is similar.\n\t\tif ( !this.selection.isCollapsed && this.selection.isSimilar( oldViewSelection ) ) {\n\t\t\t// Selection did not changed and is correct, do not update.\n\t\t\treturn false;\n\t\t}\n\n\t\t// Selections are not similar.\n\t\treturn true;\n\t}\n\n\t/**\n\t * Checks whether the fake selection needs to be updated.\n\t *\n\t * @param domRoot A valid DOM root where a new fake selection container should be added.\n\t */\n\tprivate _fakeSelectionNeedsUpdate( domRoot: DomElement ): boolean {\n\t\tconst container = this._fakeSelectionContainer;\n\t\tconst domSelection = domRoot.ownerDocument.getSelection()!;\n\n\t\t// Fake selection needs to be updated if there's no fake selection container, or the container currently sits\n\t\t// in a different root.\n\t\tif ( !container || container.parentElement !== domRoot ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Make sure that the selection actually is within the fake selection.\n\t\tif ( domSelection.anchorNode !== container && !container.contains( domSelection.anchorNode ) ) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn container.textContent !== this.selection.fakeSelectionLabel;\n\t}\n\n\t/**\n\t * Removes the DOM selection.\n\t */\n\tprivate _removeDomSelection(): void {\n\t\tfor ( const doc of this.domDocuments ) {\n\t\t\tconst domSelection = doc.getSelection()!;\n\n\t\t\tif ( domSelection.rangeCount ) {\n\t\t\t\tconst activeDomElement = doc.activeElement!;\n\t\t\t\tconst viewElement = this.domConverter.mapDomToView( activeDomElement as DomElement );\n\n\t\t\t\tif ( activeDomElement && viewElement ) {\n\t\t\t\t\tdomSelection.removeAllRanges();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Removes the fake selection.\n\t */\n\tprivate _removeFakeSelection(): void {\n\t\tconst container = this._fakeSelectionContainer;\n\n\t\tif ( container ) {\n\t\t\tcontainer.remove();\n\t\t}\n\t}\n\n\t/**\n\t * Checks if focus needs to be updated and possibly updates it.\n\t */\n\tprivate _updateFocus(): void {\n\t\tif ( this.isFocused ) {\n\t\t\tconst editable = this.selection.editableElement;\n\n\t\t\tif ( editable ) {\n\t\t\t\tthis.domConverter.focus( editable );\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * Checks if provided element is editable.\n */\nfunction isEditable( element: ViewElement ): boolean {\n\tif ( element.getAttribute( 'contenteditable' ) == 'false' ) {\n\t\treturn false;\n\t}\n\n\tconst parent = element.findAncestor( element => element.hasAttribute( 'contenteditable' ) );\n\n\treturn !parent || parent.getAttribute( 'contenteditable' ) == 'true';\n}\n\n/**\n * Adds inline filler at a given position.\n *\n * The position can be given as an array of DOM nodes and an offset in that array,\n * or a DOM parent element and an offset in that element.\n *\n * @returns The DOM text node that contains an inline filler.\n */\nfunction addInlineFiller( domDocument: DomDocument, domParentOrArray: DomNode | Array, offset: number ): DomText {\n\tconst childNodes = domParentOrArray instanceof Array ? domParentOrArray : domParentOrArray.childNodes;\n\tconst nodeAfterFiller = childNodes[ offset ];\n\n\tif ( isText( nodeAfterFiller ) ) {\n\t\tnodeAfterFiller.data = INLINE_FILLER + nodeAfterFiller.data;\n\n\t\treturn nodeAfterFiller;\n\t} else {\n\t\tconst fillerNode = domDocument.createTextNode( INLINE_FILLER );\n\n\t\tif ( Array.isArray( domParentOrArray ) ) {\n\t\t\t( childNodes as Array ).splice( offset, 0, fillerNode );\n\t\t} else {\n\t\t\tinsertAt( domParentOrArray as DomElement, offset, fillerNode );\n\t\t}\n\n\t\treturn fillerNode;\n\t}\n}\n\n/**\n * Whether two DOM nodes should be considered as similar.\n * Nodes are considered similar if they have the same tag name.\n */\nfunction areSimilarElements( node1: DomNode, node2: DomNode ): boolean {\n\treturn isNode( node1 ) && isNode( node2 ) &&\n\t\t!isText( node1 ) && !isText( node2 ) &&\n\t\t!isComment( node1 ) && !isComment( node2 ) &&\n\t\t( node1 as DomElement ).tagName.toLowerCase() === ( node2 as DomElement ).tagName.toLowerCase();\n}\n\n/**\n * Whether two DOM nodes are text nodes.\n */\nfunction areTextNodes( node1: DomNode, node2: DomNode ): boolean {\n\treturn isNode( node1 ) && isNode( node2 ) &&\n\t\tisText( node1 ) && isText( node2 );\n}\n\n/**\n * Whether two dom nodes should be considered as the same.\n * Two nodes which are considered the same are:\n *\n * * Text nodes with the same text.\n * * Element nodes represented by the same object.\n * * Two block filler elements.\n *\n * @param blockFillerMode Block filler mode, see {@link module:engine/view/domconverter~DomConverter#blockFillerMode}.\n */\nfunction sameNodes( domConverter: DomConverter, actualDomChild: DomNode, expectedDomChild: DomNode ): boolean {\n\t// Elements.\n\tif ( actualDomChild === expectedDomChild ) {\n\t\treturn true;\n\t}\n\t// Texts.\n\telse if ( isText( actualDomChild ) && isText( expectedDomChild ) ) {\n\t\treturn actualDomChild.data === expectedDomChild.data;\n\t}\n\t// Block fillers.\n\telse if ( domConverter.isBlockFiller( actualDomChild ) &&\n\t\tdomConverter.isBlockFiller( expectedDomChild ) ) {\n\t\treturn true;\n\t}\n\n\t// Not matching types.\n\treturn false;\n}\n\n/**\n * The following is a Firefox–specific hack (https://github.com/ckeditor/ckeditor5-engine/issues/1439).\n * When the native DOM selection is at the end of the block and preceded by
e.g.\n *\n * ```html\n *

foo
[]

\n * ```\n *\n * which happens a lot when using the soft line break, the browser fails to (visually) move the\n * caret to the new line. A quick fix is as simple as force–refreshing the selection with the same range.\n */\nfunction fixGeckoSelectionAfterBr( focus: ReturnType, domSelection: DomSelection ) {\n\tlet parent = focus!.parent;\n\tlet offset = focus!.offset;\n\n\tif ( isText( parent ) && isInlineFiller( parent ) ) {\n\t\toffset = indexOf( parent ) + 1;\n\t\tparent = parent.parentNode!;\n\t}\n\n\t// This fix works only when the focus point is at the very end of an element.\n\t// There is no point in running it in cases unrelated to the browser bug.\n\tif ( parent.nodeType != Node.ELEMENT_NODE || offset != parent.childNodes.length - 1 ) {\n\t\treturn;\n\t}\n\n\tconst childAtOffset = parent.childNodes[ offset ];\n\n\t// To stay on the safe side, the fix being as specific as possible, it targets only the\n\t// selection which is at the very end of the element and preceded by
.\n\tif ( childAtOffset && ( childAtOffset as DomElement ).tagName == 'BR' ) {\n\t\tdomSelection.addRange( domSelection.getRangeAt( 0 ) );\n\t}\n}\n\nfunction filterOutFakeSelectionContainer( domChildList: Array | NodeList, fakeSelectionContainer: DomElement | null ) {\n\tconst childList = Array.from( domChildList );\n\n\tif ( childList.length == 0 || !fakeSelectionContainer ) {\n\t\treturn childList;\n\t}\n\n\tconst last = childList[ childList.length - 1 ];\n\n\tif ( last == fakeSelectionContainer ) {\n\t\tchildList.pop();\n\t}\n\n\treturn childList;\n}\n\n/**\n * Creates a fake selection container for a given document.\n */\nfunction createFakeSelectionContainer( domDocument: DomDocument ): DomElement {\n\tconst container = domDocument.createElement( 'div' );\n\n\tcontainer.className = 'ck-fake-selection-container';\n\n\tObject.assign( container.style, {\n\t\tposition: 'fixed',\n\t\ttop: 0,\n\t\tleft: '-9999px',\n\t\t// See https://github.com/ckeditor/ckeditor5/issues/752.\n\t\twidth: '42px'\n\t} );\n\n\t// Fill it with a text node so we can update it later.\n\tcontainer.textContent = '\\u00A0';\n\n\treturn container;\n}\n\n// @if CK_DEBUG_TYPING // function _escapeTextNodeData( text ) {\n// @if CK_DEBUG_TYPING // \tconst escapedText = text\n// @if CK_DEBUG_TYPING // \t\t.replace( /&/g, '&' )\n// @if CK_DEBUG_TYPING // \t\t.replace( /\\u00A0/g, ' ' )\n// @if CK_DEBUG_TYPING // \t\t.replace( /\\u2060/g, '⁠' );\n// @if CK_DEBUG_TYPING //\n// @if CK_DEBUG_TYPING // \treturn `\"${ escapedText }\"`;\n// @if CK_DEBUG_TYPING // }\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module engine/view/domconverter\n */\n\n/* globals Node, NodeFilter, DOMParser */\n\nimport ViewText from './text.js';\nimport ViewElement from './element.js';\nimport ViewUIElement from './uielement.js';\nimport ViewPosition from './position.js';\nimport ViewRange from './range.js';\nimport ViewSelection from './selection.js';\nimport ViewDocumentFragment from './documentfragment.js';\nimport ViewTreeWalker from './treewalker.js';\nimport { default as Matcher, type MatcherPattern } from './matcher.js';\nimport {\n\tBR_FILLER, INLINE_FILLER_LENGTH, NBSP_FILLER, MARKED_NBSP_FILLER,\n\tgetDataWithoutFiller, isInlineFiller, startsWithFiller\n} from './filler.js';\n\nimport {\n\tglobal,\n\tlogWarning,\n\tindexOf,\n\tgetAncestors,\n\tisText,\n\tisComment,\n\tisValidAttributeName,\n\tfirst,\n\tenv\n} from '@ckeditor/ckeditor5-utils';\n\nimport type ViewNode from './node.js';\nimport type Document from './document.js';\nimport type DocumentSelection from './documentselection.js';\nimport type EditableElement from './editableelement.js';\nimport type ViewTextProxy from './textproxy.js';\nimport type ViewRawElement from './rawelement.js';\n\ntype DomNode = globalThis.Node;\ntype DomElement = globalThis.HTMLElement;\ntype DomDocument = globalThis.Document;\ntype DomDocumentFragment = globalThis.DocumentFragment;\ntype DomComment = globalThis.Comment;\ntype DomRange = globalThis.Range;\ntype DomText = globalThis.Text;\ntype DomSelection = globalThis.Selection;\n\nconst BR_FILLER_REF = BR_FILLER( global.document ); // eslint-disable-line new-cap\nconst NBSP_FILLER_REF = NBSP_FILLER( global.document ); // eslint-disable-line new-cap\nconst MARKED_NBSP_FILLER_REF = MARKED_NBSP_FILLER( global.document ); // eslint-disable-line new-cap\nconst UNSAFE_ATTRIBUTE_NAME_PREFIX = 'data-ck-unsafe-attribute-';\nconst UNSAFE_ELEMENT_REPLACEMENT_ATTRIBUTE = 'data-ck-unsafe-element';\n\n/**\n * `DomConverter` is a set of tools to do transformations between DOM nodes and view nodes. It also handles\n * {@link module:engine/view/domconverter~DomConverter#bindElements bindings} between these nodes.\n *\n * An instance of the DOM converter is available under\n * {@link module:engine/view/view~View#domConverter `editor.editing.view.domConverter`}.\n *\n * The DOM converter does not check which nodes should be rendered (use {@link module:engine/view/renderer~Renderer}), does not keep the\n * state of a tree nor keeps the synchronization between the tree view and the DOM tree (use {@link module:engine/view/document~Document}).\n *\n * The DOM converter keeps DOM elements to view element bindings, so when the converter gets destroyed, the bindings are lost.\n * Two converters will keep separate binding maps, so one tree view can be bound with two DOM trees.\n */\nexport default class DomConverter {\n\tpublic readonly document: Document;\n\n\t/**\n\t * Whether to leave the View-to-DOM conversion result unchanged or improve editing experience by filtering out interactive data.\n\t */\n\tpublic readonly renderingMode: 'data' | 'editing';\n\n\t/**\n\t * The mode of a block filler used by the DOM converter.\n\t */\n\tpublic blockFillerMode: BlockFillerMode;\n\n\t/**\n\t * Elements which are considered pre-formatted elements.\n\t */\n\tpublic readonly preElements: Array;\n\n\t/**\n\t * Elements which are considered block elements (and hence should be filled with a\n\t * {@link #isBlockFiller block filler}).\n\t *\n\t * Whether an element is considered a block element also affects handling of trailing whitespaces.\n\t *\n\t * You can extend this array if you introduce support for block elements which are not yet recognized here.\n\t */\n\tpublic readonly blockElements: Array;\n\n\t/**\n\t * A list of elements that exist inline (in text) but their inner structure cannot be edited because\n\t * of the way they are rendered by the browser. They are mostly HTML form elements but there are other\n\t * elements such as `` or ``;\n };\n const appendDivSvgG = (parentRoot, id2, enclosingDivId, divStyle, svgXlink) => {\n const enclosingDiv = parentRoot.append(\"div\");\n enclosingDiv.attr(\"id\", enclosingDivId);\n if (divStyle) {\n enclosingDiv.attr(\"style\", divStyle);\n }\n const svgNode2 = enclosingDiv.append(\"svg\").attr(\"id\", id2).attr(\"width\", \"100%\").attr(\"xmlns\", XMLNS_SVG_STD);\n if (svgXlink) {\n svgNode2.attr(\"xmlns:xlink\", svgXlink);\n }\n svgNode2.append(\"g\");\n return parentRoot;\n };\n function sandboxedIframe(parentNode, iFrameId) {\n return parentNode.append(\"iframe\").attr(\"id\", iFrameId).attr(\"style\", \"width: 100%; height: 100%;\").attr(\"sandbox\", \"\");\n }\n const removeExistingElements = (doc, id2, divId, iFrameId) => {\n var _a, _b, _c;\n (_a = doc.getElementById(id2)) == null ? void 0 : _a.remove();\n (_b = doc.getElementById(divId)) == null ? void 0 : _b.remove();\n (_c = doc.getElementById(iFrameId)) == null ? void 0 : _c.remove();\n };\n const render = function(id2, text2, cb, svgContainingElement) {\n var _a, _b, _c, _d;\n addDiagrams();\n reset();\n const graphInit = utils.detectInit(text2);\n if (graphInit) {\n directiveSanitizer(graphInit);\n addDirective(graphInit);\n }\n const config2 = getConfig$1();\n log$1.debug(config2);\n if (text2.length > ((config2 == null ? void 0 : config2.maxTextSize) ?? 5e4)) {\n text2 = MAX_TEXTLENGTH_EXCEEDED_MSG;\n }\n text2 = text2.replace(/\\r\\n?/g, \"\\n\");\n const idSelector = \"#\" + id2;\n const iFrameID = \"i\" + id2;\n const iFrameID_selector = \"#\" + iFrameID;\n const enclosingDivID = \"d\" + id2;\n const enclosingDivID_selector = \"#\" + enclosingDivID;\n let root2 = select(\"body\");\n const isSandboxed = config2.securityLevel === SECURITY_LVL_SANDBOX;\n const isLooseSecurityLevel = config2.securityLevel === SECURITY_LVL_LOOSE;\n const fontFamily = config2.fontFamily;\n if (svgContainingElement !== void 0) {\n if (svgContainingElement) {\n svgContainingElement.innerHTML = \"\";\n }\n if (isSandboxed) {\n const iframe = sandboxedIframe(select(svgContainingElement), iFrameID);\n root2 = select(iframe.nodes()[0].contentDocument.body);\n root2.node().style.margin = 0;\n } else {\n root2 = select(svgContainingElement);\n }\n appendDivSvgG(root2, id2, enclosingDivID, `font-family: ${fontFamily}`, XMLNS_XLINK_STD);\n } else {\n removeExistingElements(document, id2, enclosingDivID, iFrameID);\n if (isSandboxed) {\n const iframe = sandboxedIframe(select(\"body\"), iFrameID);\n root2 = select(iframe.nodes()[0].contentDocument.body);\n root2.node().style.margin = 0;\n } else {\n root2 = select(\"body\");\n }\n appendDivSvgG(root2, id2, enclosingDivID);\n }\n text2 = encodeEntities(text2);\n let diag;\n let parseEncounteredException;\n try {\n diag = getDiagramFromText(text2);\n if (\"then\" in diag) {\n throw new Error(\"Diagram is a promise. Use renderAsync.\");\n }\n } catch (error) {\n diag = new Diagram$1(\"error\");\n parseEncounteredException = error;\n }\n const element = root2.select(enclosingDivID_selector).node();\n const graphType = diag.type;\n const svg2 = element.firstChild;\n const firstChild = svg2.firstChild;\n const diagramClassDefs = CLASSDEF_DIAGRAMS.includes(graphType) ? diag.renderer.getClasses(text2, diag) : {};\n const rules = createUserStyles(\n config2,\n graphType,\n // @ts-ignore convert renderer to TS.\n diagramClassDefs,\n idSelector\n );\n const style1 = document.createElement(\"style\");\n style1.innerHTML = rules;\n svg2.insertBefore(style1, firstChild);\n try {\n diag.renderer.draw(text2, id2, version$1, diag);\n } catch (e) {\n errorRenderer.draw(text2, id2, version$1);\n throw e;\n }\n const svgNode2 = root2.select(`${enclosingDivID_selector} svg`);\n const a11yTitle = (_b = (_a = diag.db).getAccTitle) == null ? void 0 : _b.call(_a);\n const a11yDescr = (_d = (_c = diag.db).getAccDescription) == null ? void 0 : _d.call(_c);\n addA11yInfo(graphType, svgNode2, a11yTitle, a11yDescr);\n root2.select(`[id=\"${id2}\"]`).selectAll(\"foreignobject > *\").attr(\"xmlns\", XMLNS_XHTML_STD);\n let svgCode = root2.select(enclosingDivID_selector).node().innerHTML;\n log$1.debug(\"config.arrowMarkerAbsolute\", config2.arrowMarkerAbsolute);\n svgCode = cleanUpSvgCode(svgCode, isSandboxed, evaluate(config2.arrowMarkerAbsolute));\n if (isSandboxed) {\n const svgEl = root2.select(enclosingDivID_selector + \" svg\").node();\n svgCode = putIntoIFrame(svgCode, svgEl);\n } else if (!isLooseSecurityLevel) {\n svgCode = purify.sanitize(svgCode, {\n ADD_TAGS: DOMPURIFY_TAGS,\n ADD_ATTR: DOMPURIFY_ATTR\n });\n }\n if (cb !== void 0) {\n switch (graphType) {\n case \"flowchart\":\n case \"flowchart-v2\":\n cb(svgCode, flowDb.bindFunctions);\n break;\n case \"gantt\":\n cb(svgCode, ganttDb.bindFunctions);\n break;\n case \"class\":\n case \"classDiagram\":\n cb(svgCode, classDb.bindFunctions);\n break;\n default:\n cb(svgCode);\n }\n } else {\n log$1.debug(\"CB = undefined!\");\n }\n attachFunctions();\n const tmpElementSelector = isSandboxed ? iFrameID_selector : enclosingDivID_selector;\n const node2 = select(tmpElementSelector).node();\n if (node2 && \"remove\" in node2) {\n node2.remove();\n }\n if (parseEncounteredException) {\n throw parseEncounteredException;\n }\n return svgCode;\n };\n const renderAsync$1 = async function(id2, text2, cb, svgContainingElement) {\n var _a, _b, _c, _d;\n addDiagrams();\n reset();\n const graphInit = utils.detectInit(text2);\n if (graphInit) {\n directiveSanitizer(graphInit);\n addDirective(graphInit);\n }\n const config2 = getConfig$1();\n log$1.debug(config2);\n if (text2.length > ((config2 == null ? void 0 : config2.maxTextSize) ?? 5e4)) {\n text2 = MAX_TEXTLENGTH_EXCEEDED_MSG;\n }\n text2 = text2.replace(/\\r\\n?/g, \"\\n\");\n const idSelector = \"#\" + id2;\n const iFrameID = \"i\" + id2;\n const iFrameID_selector = \"#\" + iFrameID;\n const enclosingDivID = \"d\" + id2;\n const enclosingDivID_selector = \"#\" + enclosingDivID;\n let root2 = select(\"body\");\n const isSandboxed = config2.securityLevel === SECURITY_LVL_SANDBOX;\n const isLooseSecurityLevel = config2.securityLevel === SECURITY_LVL_LOOSE;\n const fontFamily = config2.fontFamily;\n if (svgContainingElement !== void 0) {\n if (svgContainingElement) {\n svgContainingElement.innerHTML = \"\";\n }\n if (isSandboxed) {\n const iframe = sandboxedIframe(select(svgContainingElement), iFrameID);\n root2 = select(iframe.nodes()[0].contentDocument.body);\n root2.node().style.margin = 0;\n } else {\n root2 = select(svgContainingElement);\n }\n appendDivSvgG(root2, id2, enclosingDivID, `font-family: ${fontFamily}`, XMLNS_XLINK_STD);\n } else {\n removeExistingElements(document, id2, enclosingDivID, iFrameID);\n if (isSandboxed) {\n const iframe = sandboxedIframe(select(\"body\"), iFrameID);\n root2 = select(iframe.nodes()[0].contentDocument.body);\n root2.node().style.margin = 0;\n } else {\n root2 = select(\"body\");\n }\n appendDivSvgG(root2, id2, enclosingDivID);\n }\n text2 = encodeEntities(text2);\n let diag;\n let parseEncounteredException;\n try {\n diag = await getDiagramFromText(text2);\n } catch (error) {\n diag = new Diagram$1(\"error\");\n parseEncounteredException = error;\n }\n const element = root2.select(enclosingDivID_selector).node();\n const graphType = diag.type;\n const svg2 = element.firstChild;\n const firstChild = svg2.firstChild;\n const diagramClassDefs = CLASSDEF_DIAGRAMS.includes(graphType) ? diag.renderer.getClasses(text2, diag) : {};\n const rules = createUserStyles(\n config2,\n graphType,\n // @ts-ignore convert renderer to TS.\n diagramClassDefs,\n idSelector\n );\n const style1 = document.createElement(\"style\");\n style1.innerHTML = rules;\n svg2.insertBefore(style1, firstChild);\n try {\n await diag.renderer.draw(text2, id2, version$1, diag);\n } catch (e) {\n errorRenderer.draw(text2, id2, version$1);\n throw e;\n }\n const svgNode2 = root2.select(`${enclosingDivID_selector} svg`);\n const a11yTitle = (_b = (_a = diag.db).getAccTitle) == null ? void 0 : _b.call(_a);\n const a11yDescr = (_d = (_c = diag.db).getAccDescription) == null ? void 0 : _d.call(_c);\n addA11yInfo(graphType, svgNode2, a11yTitle, a11yDescr);\n root2.select(`[id=\"${id2}\"]`).selectAll(\"foreignobject > *\").attr(\"xmlns\", XMLNS_XHTML_STD);\n let svgCode = root2.select(enclosingDivID_selector).node().innerHTML;\n log$1.debug(\"config.arrowMarkerAbsolute\", config2.arrowMarkerAbsolute);\n svgCode = cleanUpSvgCode(svgCode, isSandboxed, evaluate(config2.arrowMarkerAbsolute));\n if (isSandboxed) {\n const svgEl = root2.select(enclosingDivID_selector + \" svg\").node();\n svgCode = putIntoIFrame(svgCode, svgEl);\n } else if (!isLooseSecurityLevel) {\n svgCode = purify.sanitize(svgCode, {\n ADD_TAGS: DOMPURIFY_TAGS,\n ADD_ATTR: DOMPURIFY_ATTR\n });\n }\n if (cb !== void 0) {\n switch (graphType) {\n case \"flowchart\":\n case \"flowchart-v2\":\n cb(svgCode, flowDb.bindFunctions);\n break;\n case \"gantt\":\n cb(svgCode, ganttDb.bindFunctions);\n break;\n case \"class\":\n case \"classDiagram\":\n cb(svgCode, classDb.bindFunctions);\n break;\n default:\n cb(svgCode);\n }\n } else {\n log$1.debug(\"CB = undefined!\");\n }\n attachFunctions();\n const tmpElementSelector = isSandboxed ? iFrameID_selector : enclosingDivID_selector;\n const node2 = select(tmpElementSelector).node();\n if (node2 && \"remove\" in node2) {\n node2.remove();\n }\n if (parseEncounteredException) {\n throw parseEncounteredException;\n }\n return svgCode;\n };\n function initialize$1(options2 = {}) {\n var _a;\n if ((options2 == null ? void 0 : options2.fontFamily) && !((_a = options2.themeVariables) == null ? void 0 : _a.fontFamily)) {\n options2.themeVariables = { fontFamily: options2.fontFamily };\n }\n saveConfigFromInitialize(options2);\n if ((options2 == null ? void 0 : options2.theme) && options2.theme in theme) {\n options2.themeVariables = theme[options2.theme].getThemeVariables(\n options2.themeVariables\n );\n } else if (options2) {\n options2.themeVariables = theme.default.getThemeVariables(options2.themeVariables);\n }\n const config2 = typeof options2 === \"object\" ? setSiteConfig(options2) : getSiteConfig();\n setLogLevel$1(config2.logLevel);\n addDiagrams();\n }\n function addA11yInfo(graphType, svgNode2, a11yTitle, a11yDescr) {\n setA11yDiagramInfo(svgNode2, graphType);\n addSVGa11yTitleDescription(svgNode2, a11yTitle, a11yDescr, svgNode2.attr(\"id\"));\n }\n const mermaidAPI = Object.freeze({\n render,\n renderAsync: renderAsync$1,\n parse: parse$1,\n parseAsync: parseAsync$1,\n parseDirective: parseDirective$d,\n initialize: initialize$1,\n getConfig: getConfig$1,\n setConfig,\n getSiteConfig,\n updateSiteConfig,\n reset: () => {\n reset();\n },\n globalReset: () => {\n reset(defaultConfig);\n },\n defaultConfig\n });\n setLogLevel$1(getConfig$1().logLevel);\n reset(getConfig$1());\n const init = async function(config2, nodes2, callback) {\n try {\n await initThrowsErrorsAsync(config2, nodes2, callback);\n } catch (e) {\n log$1.warn(\"Syntax Error rendering\");\n if (isDetailedError(e)) {\n log$1.warn(e.str);\n }\n if (mermaid.parseError) {\n mermaid.parseError(e);\n }\n }\n };\n const handleError = (error, errors, parseError2) => {\n log$1.warn(error);\n if (isDetailedError(error)) {\n if (parseError2) {\n parseError2(error.str, error.hash);\n }\n errors.push({ ...error, message: error.str, error });\n } else {\n if (parseError2) {\n parseError2(error);\n }\n if (error instanceof Error) {\n errors.push({\n str: error.message,\n message: error.message,\n hash: error.name,\n error\n });\n }\n }\n };\n const initThrowsErrors = function(config2, nodes2, callback) {\n const conf2 = mermaidAPI.getConfig();\n if (config2) {\n mermaid.sequenceConfig = config2;\n }\n log$1.debug(`${!callback ? \"No \" : \"\"}Callback function found`);\n let nodesToProcess;\n if (nodes2 === void 0) {\n nodesToProcess = document.querySelectorAll(\".mermaid\");\n } else if (typeof nodes2 === \"string\") {\n nodesToProcess = document.querySelectorAll(nodes2);\n } else if (nodes2 instanceof HTMLElement) {\n nodesToProcess = [nodes2];\n } else if (nodes2 instanceof NodeList) {\n nodesToProcess = nodes2;\n } else {\n throw new Error(\"Invalid argument nodes for mermaid.init\");\n }\n log$1.debug(`Found ${nodesToProcess.length} diagrams`);\n if ((config2 == null ? void 0 : config2.startOnLoad) !== void 0) {\n log$1.debug(\"Start On Load: \" + (config2 == null ? void 0 : config2.startOnLoad));\n mermaidAPI.updateSiteConfig({ startOnLoad: config2 == null ? void 0 : config2.startOnLoad });\n }\n const idGenerator = new utils.initIdGenerator(conf2.deterministicIds, conf2.deterministicIDSeed);\n let txt;\n const errors = [];\n for (const element of Array.from(nodesToProcess)) {\n log$1.info(\"Rendering diagram: \" + element.id);\n /*! Check if previously processed */\n if (element.getAttribute(\"data-processed\")) {\n continue;\n }\n element.setAttribute(\"data-processed\", \"true\");\n const id2 = `mermaid-${idGenerator.next()}`;\n txt = element.innerHTML;\n txt = dedent(utils.entityDecode(txt)).trim().replace(//gi, \"
\");\n const init2 = utils.detectInit(txt);\n if (init2) {\n log$1.debug(\"Detected early reinit: \", init2);\n }\n try {\n mermaidAPI.render(\n id2,\n txt,\n (svgCode, bindFunctions2) => {\n element.innerHTML = svgCode;\n if (callback !== void 0) {\n callback(id2);\n }\n if (bindFunctions2) {\n bindFunctions2(element);\n }\n },\n element\n );\n } catch (error) {\n handleError(error, errors, mermaid.parseError);\n }\n }\n if (errors.length > 0) {\n throw errors[0];\n }\n };\n const loadExternalDiagrams = async (...diagrams2) => {\n log$1.debug(`Loading ${diagrams2.length} external diagrams`);\n const results = await Promise.allSettled(\n diagrams2.map(async ({ id: id2, detector: detector2, loader: loader2 }) => {\n const { diagram: diagram2 } = await loader2();\n registerDiagram(id2, diagram2, detector2);\n })\n );\n const failed = results.filter((result) => result.status === \"rejected\");\n if (failed.length > 0) {\n log$1.error(`Failed to load ${failed.length} external diagrams`);\n for (const res of failed) {\n log$1.error(res);\n }\n throw new Error(`Failed to load ${failed.length} external diagrams`);\n }\n };\n const initThrowsErrorsAsync = async function(config2, nodes2, callback) {\n const conf2 = mermaidAPI.getConfig();\n if (config2) {\n mermaid.sequenceConfig = config2;\n }\n log$1.debug(`${!callback ? \"No \" : \"\"}Callback function found`);\n let nodesToProcess;\n if (nodes2 === void 0) {\n nodesToProcess = document.querySelectorAll(\".mermaid\");\n } else if (typeof nodes2 === \"string\") {\n nodesToProcess = document.querySelectorAll(nodes2);\n } else if (nodes2 instanceof HTMLElement) {\n nodesToProcess = [nodes2];\n } else if (nodes2 instanceof NodeList) {\n nodesToProcess = nodes2;\n } else {\n throw new Error(\"Invalid argument nodes for mermaid.init\");\n }\n log$1.debug(`Found ${nodesToProcess.length} diagrams`);\n if ((config2 == null ? void 0 : config2.startOnLoad) !== void 0) {\n log$1.debug(\"Start On Load: \" + (config2 == null ? void 0 : config2.startOnLoad));\n mermaidAPI.updateSiteConfig({ startOnLoad: config2 == null ? void 0 : config2.startOnLoad });\n }\n const idGenerator = new utils.initIdGenerator(conf2.deterministicIds, conf2.deterministicIDSeed);\n let txt;\n const errors = [];\n for (const element of Array.from(nodesToProcess)) {\n log$1.info(\"Rendering diagram: \" + element.id);\n /*! Check if previously processed */\n if (element.getAttribute(\"data-processed\")) {\n continue;\n }\n element.setAttribute(\"data-processed\", \"true\");\n const id2 = `mermaid-${idGenerator.next()}`;\n txt = element.innerHTML;\n txt = dedent(utils.entityDecode(txt)).trim().replace(//gi, \"
\");\n const init2 = utils.detectInit(txt);\n if (init2) {\n log$1.debug(\"Detected early reinit: \", init2);\n }\n try {\n await mermaidAPI.renderAsync(\n id2,\n txt,\n (svgCode, bindFunctions2) => {\n element.innerHTML = svgCode;\n if (callback !== void 0) {\n callback(id2);\n }\n if (bindFunctions2) {\n bindFunctions2(element);\n }\n },\n element\n );\n } catch (error) {\n handleError(error, errors, mermaid.parseError);\n }\n }\n if (errors.length > 0) {\n throw errors[0];\n }\n };\n const initialize = function(config2) {\n mermaidAPI.initialize(config2);\n };\n const registerExternalDiagrams = async (diagrams2, {\n lazyLoad = true\n } = {}) => {\n if (lazyLoad) {\n registerLazyLoadedDiagrams(...diagrams2);\n } else {\n await loadExternalDiagrams(...diagrams2);\n }\n };\n const contentLoaded = function() {\n if (mermaid.startOnLoad) {\n const { startOnLoad } = mermaidAPI.getConfig();\n if (startOnLoad) {\n mermaid.init().catch((err) => log$1.error(\"Mermaid failed to initialize\", err));\n }\n }\n };\n if (typeof document !== \"undefined\") {\n /*!\n * Wait for document loaded before starting the execution\n */\n window.addEventListener(\"load\", contentLoaded, false);\n }\n const setParseErrorHandler = function(newParseErrorHandler) {\n mermaid.parseError = newParseErrorHandler;\n };\n const parse = (txt) => {\n return mermaidAPI.parse(txt, mermaid.parseError);\n };\n const executionQueue = [];\n let executionQueueRunning = false;\n const executeQueue = async () => {\n if (executionQueueRunning) {\n return;\n }\n executionQueueRunning = true;\n while (executionQueue.length > 0) {\n const f2 = executionQueue.shift();\n if (f2) {\n try {\n await f2();\n } catch (e) {\n log$1.error(\"Error executing queue\", e);\n }\n }\n }\n executionQueueRunning = false;\n };\n const parseAsync = (txt) => {\n return new Promise((resolve, reject) => {\n const performCall = () => new Promise((res, rej) => {\n mermaidAPI.parseAsync(txt, mermaid.parseError).then(\n (r) => {\n res(r);\n resolve(r);\n },\n (e) => {\n log$1.error(\"Error parsing\", e);\n rej(e);\n reject(e);\n }\n );\n });\n executionQueue.push(performCall);\n executeQueue().catch(reject);\n });\n };\n const renderAsync = (id2, text2, cb, container) => {\n return new Promise((resolve, reject) => {\n const performCall = () => new Promise((res, rej) => {\n mermaidAPI.renderAsync(id2, text2, cb, container).then(\n (r) => {\n res(r);\n resolve(r);\n },\n (e) => {\n log$1.error(\"Error parsing\", e);\n rej(e);\n reject(e);\n }\n );\n });\n executionQueue.push(performCall);\n executeQueue().catch(reject);\n });\n };\n const mermaid = {\n startOnLoad: true,\n diagrams: {},\n mermaidAPI,\n parse,\n parseAsync,\n render: mermaidAPI.render,\n renderAsync,\n init,\n initThrowsErrors,\n initThrowsErrorsAsync,\n registerExternalDiagrams,\n initialize,\n parseError: void 0,\n contentLoaded,\n setParseErrorHandler\n };\n const findCommonAncestor = (id1, id2, treeData) => {\n const { parentById } = treeData;\n const visited = /* @__PURE__ */ new Set();\n let currentId = id1;\n while (currentId) {\n visited.add(currentId);\n if (currentId === id2) {\n return currentId;\n }\n currentId = parentById[currentId];\n }\n currentId = id2;\n while (currentId) {\n if (visited.has(currentId)) {\n return currentId;\n }\n currentId = parentById[currentId];\n }\n return \"root\";\n };\n function commonjsRequire(path2) {\n throw new Error('Could not dynamically require \"' + path2 + '\". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');\n }\n var elk_bundledExports = {};\n var elk_bundled = {\n get exports() {\n return elk_bundledExports;\n },\n set exports(v) {\n elk_bundledExports = v;\n }\n };\n (function(module2, exports2) {\n (function(f2) {\n {\n module2.exports = f2();\n }\n })(function() {\n return function() {\n function r(e, n, t) {\n function o(i3, f2) {\n if (!n[i3]) {\n if (!e[i3]) {\n var c2 = \"function\" == typeof commonjsRequire && commonjsRequire;\n if (!f2 && c2)\n return c2(i3, true);\n if (u)\n return u(i3, true);\n var a = new Error(\"Cannot find module '\" + i3 + \"'\");\n throw a.code = \"MODULE_NOT_FOUND\", a;\n }\n var p = n[i3] = { exports: {} };\n e[i3][0].call(p.exports, function(r2) {\n var n2 = e[i3][1][r2];\n return o(n2 || r2);\n }, p, p.exports, r, e, n, t);\n }\n return n[i3].exports;\n }\n for (var u = \"function\" == typeof commonjsRequire && commonjsRequire, i2 = 0; i2 < t.length; i2++)\n o(t[i2]);\n return o;\n }\n return r;\n }()({ 1: [function(require, module3, exports3) {\n Object.defineProperty(exports3, \"__esModule\", {\n value: true\n });\n var _createClass = function() {\n function defineProperties(target, props) {\n for (var i2 = 0; i2 < props.length; i2++) {\n var descriptor = props[i2];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function(Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance2, Constructor) {\n if (!(instance2 instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var ELK2 = function() {\n function ELK3() {\n var _this = this;\n var _ref2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, _ref$defaultLayoutOpt = _ref2.defaultLayoutOptions, defaultLayoutOptions = _ref$defaultLayoutOpt === void 0 ? {} : _ref$defaultLayoutOpt, _ref$algorithms = _ref2.algorithms, algorithms = _ref$algorithms === void 0 ? [\"layered\", \"stress\", \"mrtree\", \"radial\", \"force\", \"disco\", \"sporeOverlap\", \"sporeCompaction\", \"rectpacking\"] : _ref$algorithms, workerFactory = _ref2.workerFactory, workerUrl = _ref2.workerUrl;\n _classCallCheck(this, ELK3);\n this.defaultLayoutOptions = defaultLayoutOptions;\n this.initialized = false;\n if (typeof workerUrl === \"undefined\" && typeof workerFactory === \"undefined\") {\n throw new Error(\"Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.\");\n }\n var factory = workerFactory;\n if (typeof workerUrl !== \"undefined\" && typeof workerFactory === \"undefined\") {\n factory = function factory2(url) {\n return new Worker(url);\n };\n }\n var worker = factory(workerUrl);\n if (typeof worker.postMessage !== \"function\") {\n throw new TypeError(\"Created worker does not provide the required 'postMessage' function.\");\n }\n this.worker = new PromisedWorker(worker);\n this.worker.postMessage({\n cmd: \"register\",\n algorithms\n }).then(function(r) {\n return _this.initialized = true;\n }).catch(console.err);\n }\n _createClass(ELK3, [{\n key: \"layout\",\n value: function layout2(graph) {\n var _ref2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, _ref2$layoutOptions = _ref2.layoutOptions, layoutOptions = _ref2$layoutOptions === void 0 ? this.defaultLayoutOptions : _ref2$layoutOptions, _ref2$logging = _ref2.logging, logging = _ref2$logging === void 0 ? false : _ref2$logging, _ref2$measureExecutio = _ref2.measureExecutionTime, measureExecutionTime = _ref2$measureExecutio === void 0 ? false : _ref2$measureExecutio;\n if (!graph) {\n return Promise.reject(new Error(\"Missing mandatory parameter 'graph'.\"));\n }\n return this.worker.postMessage({\n cmd: \"layout\",\n graph,\n layoutOptions,\n options: {\n logging,\n measureExecutionTime\n }\n });\n }\n }, {\n key: \"knownLayoutAlgorithms\",\n value: function knownLayoutAlgorithms() {\n return this.worker.postMessage({ cmd: \"algorithms\" });\n }\n }, {\n key: \"knownLayoutOptions\",\n value: function knownLayoutOptions() {\n return this.worker.postMessage({ cmd: \"options\" });\n }\n }, {\n key: \"knownLayoutCategories\",\n value: function knownLayoutCategories() {\n return this.worker.postMessage({ cmd: \"categories\" });\n }\n }, {\n key: \"terminateWorker\",\n value: function terminateWorker() {\n this.worker.terminate();\n }\n }]);\n return ELK3;\n }();\n exports3.default = ELK2;\n var PromisedWorker = function() {\n function PromisedWorker2(worker) {\n var _this2 = this;\n _classCallCheck(this, PromisedWorker2);\n if (worker === void 0) {\n throw new Error(\"Missing mandatory parameter 'worker'.\");\n }\n this.resolvers = {};\n this.worker = worker;\n this.worker.onmessage = function(answer) {\n setTimeout(function() {\n _this2.receive(_this2, answer);\n }, 0);\n };\n }\n _createClass(PromisedWorker2, [{\n key: \"postMessage\",\n value: function postMessage(msg) {\n var id2 = this.id || 0;\n this.id = id2 + 1;\n msg.id = id2;\n var self2 = this;\n return new Promise(function(resolve, reject) {\n self2.resolvers[id2] = function(err, res) {\n if (err) {\n self2.convertGwtStyleError(err);\n reject(err);\n } else {\n resolve(res);\n }\n };\n self2.worker.postMessage(msg);\n });\n }\n }, {\n key: \"receive\",\n value: function receive(self2, answer) {\n var json2 = answer.data;\n var resolver = self2.resolvers[json2.id];\n if (resolver) {\n delete self2.resolvers[json2.id];\n if (json2.error) {\n resolver(json2.error);\n } else {\n resolver(null, json2.data);\n }\n }\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n if (this.worker.terminate) {\n this.worker.terminate();\n }\n }\n }, {\n key: \"convertGwtStyleError\",\n value: function convertGwtStyleError(err) {\n if (!err) {\n return;\n }\n var javaException = err[\"__java$exception\"];\n if (javaException) {\n if (javaException.cause && javaException.cause.backingJsObject) {\n err.cause = javaException.cause.backingJsObject;\n this.convertGwtStyleError(err.cause);\n }\n delete err[\"__java$exception\"];\n }\n }\n }]);\n return PromisedWorker2;\n }();\n }, {}], 2: [function(require, module3, exports3) {\n (function(global2) {\n (function() {\n var $wnd;\n if (typeof window !== \"undefined\")\n $wnd = window;\n else if (typeof global2 !== \"undefined\")\n $wnd = global2;\n else if (typeof self !== \"undefined\")\n $wnd = self;\n var o;\n function nb() {\n }\n function xb() {\n }\n function Fd() {\n }\n function $g() {\n }\n function _p() {\n }\n function yq() {\n }\n function Sq() {\n }\n function Es() {\n }\n function Jw() {\n }\n function Vw() {\n }\n function VA() {\n }\n function dA() {\n }\n function MA() {\n }\n function PA() {\n }\n function PB() {\n }\n function bx() {\n }\n function cx() {\n }\n function vy() {\n }\n function Nz() {\n }\n function Yz() {\n }\n function Ylb() {\n }\n function Ymb() {\n }\n function xmb() {\n }\n function Fmb() {\n }\n function Qmb() {\n }\n function gcb() {\n }\n function ccb() {\n }\n function jcb() {\n }\n function jtb() {\n }\n function otb() {\n }\n function qtb() {\n }\n function _fb() {\n }\n function bpb() {\n }\n function kpb() {\n }\n function ppb() {\n }\n function Gpb() {\n }\n function drb() {\n }\n function dzb() {\n }\n function fzb() {\n }\n function fxb() {\n }\n function Vxb() {\n }\n function Ovb() {\n }\n function byb() {\n }\n function zyb() {\n }\n function Zyb() {\n }\n function _yb() {\n }\n function hzb() {\n }\n function jzb() {\n }\n function lzb() {\n }\n function nzb() {\n }\n function rzb() {\n }\n function zzb() {\n }\n function Czb() {\n }\n function Ezb() {\n }\n function Gzb() {\n }\n function Izb() {\n }\n function Mzb() {\n }\n function bBb() {\n }\n function NBb() {\n }\n function PBb() {\n }\n function RBb() {\n }\n function iCb() {\n }\n function OCb() {\n }\n function SCb() {\n }\n function GDb() {\n }\n function JDb() {\n }\n function fEb() {\n }\n function xEb() {\n }\n function CEb() {\n }\n function GEb() {\n }\n function yFb() {\n }\n function KGb() {\n }\n function tIb() {\n }\n function vIb() {\n }\n function xIb() {\n }\n function zIb() {\n }\n function OIb() {\n }\n function SIb() {\n }\n function TJb() {\n }\n function VJb() {\n }\n function XJb() {\n }\n function XKb() {\n }\n function fKb() {\n }\n function VKb() {\n }\n function VLb() {\n }\n function jLb() {\n }\n function nLb() {\n }\n function GLb() {\n }\n function KLb() {\n }\n function MLb() {\n }\n function OLb() {\n }\n function RLb() {\n }\n function YLb() {\n }\n function bMb() {\n }\n function gMb() {\n }\n function lMb() {\n }\n function pMb() {\n }\n function wMb() {\n }\n function zMb() {\n }\n function CMb() {\n }\n function FMb() {\n }\n function LMb() {\n }\n function zNb() {\n }\n function PNb() {\n }\n function kOb() {\n }\n function pOb() {\n }\n function tOb() {\n }\n function yOb() {\n }\n function FOb() {\n }\n function GPb() {\n }\n function aQb() {\n }\n function cQb() {\n }\n function eQb() {\n }\n function gQb() {\n }\n function iQb() {\n }\n function CQb() {\n }\n function MQb() {\n }\n function OQb() {\n }\n function ASb() {\n }\n function fTb() {\n }\n function kTb() {\n }\n function STb() {\n }\n function fUb() {\n }\n function DUb() {\n }\n function VUb() {\n }\n function YUb() {\n }\n function _Ub() {\n }\n function _Wb() {\n }\n function QWb() {\n }\n function XWb() {\n }\n function jVb() {\n }\n function DVb() {\n }\n function VVb() {\n }\n function $Vb() {\n }\n function dXb() {\n }\n function hXb() {\n }\n function lXb() {\n }\n function gYb() {\n }\n function HYb() {\n }\n function SYb() {\n }\n function VYb() {\n }\n function dZb() {\n }\n function P$b() {\n }\n function T$b() {\n }\n function h1b() {\n }\n function m1b() {\n }\n function q1b() {\n }\n function u1b() {\n }\n function y1b() {\n }\n function C1b() {\n }\n function e2b() {\n }\n function g2b() {\n }\n function m2b() {\n }\n function q2b() {\n }\n function u2b() {\n }\n function S2b() {\n }\n function U2b() {\n }\n function W2b() {\n }\n function _2b() {\n }\n function e3b() {\n }\n function h3b() {\n }\n function p3b() {\n }\n function t3b() {\n }\n function w3b() {\n }\n function y3b() {\n }\n function A3b() {\n }\n function M3b() {\n }\n function Q3b() {\n }\n function U3b() {\n }\n function Y3b() {\n }\n function l4b() {\n }\n function q4b() {\n }\n function s4b() {\n }\n function u4b() {\n }\n function w4b() {\n }\n function y4b() {\n }\n function L4b() {\n }\n function N4b() {\n }\n function P4b() {\n }\n function R4b() {\n }\n function T4b() {\n }\n function X4b() {\n }\n function I5b() {\n }\n function Q5b() {\n }\n function T5b() {\n }\n function Z5b() {\n }\n function l6b() {\n }\n function o6b() {\n }\n function t6b() {\n }\n function z6b() {\n }\n function L6b() {\n }\n function M6b() {\n }\n function P6b() {\n }\n function X6b() {\n }\n function $6b() {\n }\n function a7b() {\n }\n function c7b() {\n }\n function g7b() {\n }\n function j7b() {\n }\n function m7b() {\n }\n function r7b() {\n }\n function x7b() {\n }\n function D7b() {\n }\n function D9b() {\n }\n function b9b() {\n }\n function h9b() {\n }\n function j9b() {\n }\n function l9b() {\n }\n function w9b() {\n }\n function F9b() {\n }\n function hac() {\n }\n function jac() {\n }\n function pac() {\n }\n function uac() {\n }\n function Iac() {\n }\n function Kac() {\n }\n function Sac() {\n }\n function obc() {\n }\n function rbc() {\n }\n function vbc() {\n }\n function Fbc() {\n }\n function Jbc() {\n }\n function Xbc() {\n }\n function ccc() {\n }\n function fcc() {\n }\n function lcc() {\n }\n function occ() {\n }\n function tcc() {\n }\n function ycc() {\n }\n function Acc() {\n }\n function Ccc() {\n }\n function Ecc() {\n }\n function Gcc() {\n }\n function Zcc() {\n }\n function _cc() {\n }\n function bdc() {\n }\n function fdc() {\n }\n function jdc() {\n }\n function pdc() {\n }\n function sdc() {\n }\n function ydc() {\n }\n function Adc() {\n }\n function Cdc() {\n }\n function Edc() {\n }\n function Idc() {\n }\n function Ndc() {\n }\n function Qdc() {\n }\n function Sdc() {\n }\n function Udc() {\n }\n function Wdc() {\n }\n function Ydc() {\n }\n function aec() {\n }\n function hec() {\n }\n function jec() {\n }\n function lec() {\n }\n function nec() {\n }\n function uec() {\n }\n function wec() {\n }\n function yec() {\n }\n function Aec() {\n }\n function Fec() {\n }\n function Jec() {\n }\n function Lec() {\n }\n function Nec() {\n }\n function Rec() {\n }\n function Uec() {\n }\n function Zec() {\n }\n function Zfc() {\n }\n function lfc() {\n }\n function tfc() {\n }\n function xfc() {\n }\n function zfc() {\n }\n function Ffc() {\n }\n function Jfc() {\n }\n function Nfc() {\n }\n function Pfc() {\n }\n function Vfc() {\n }\n function _fc() {\n }\n function fgc() {\n }\n function jgc() {\n }\n function lgc() {\n }\n function Bgc() {\n }\n function ehc() {\n }\n function ghc() {\n }\n function ihc() {\n }\n function khc() {\n }\n function mhc() {\n }\n function ohc() {\n }\n function qhc() {\n }\n function yhc() {\n }\n function Ahc() {\n }\n function Ghc() {\n }\n function Ihc() {\n }\n function Khc() {\n }\n function Mhc() {\n }\n function Shc() {\n }\n function Uhc() {\n }\n function Whc() {\n }\n function dic() {\n }\n function dlc() {\n }\n function blc() {\n }\n function flc() {\n }\n function hlc() {\n }\n function jlc() {\n }\n function Glc() {\n }\n function Ilc() {\n }\n function Klc() {\n }\n function Mlc() {\n }\n function Mjc() {\n }\n function Qjc() {\n }\n function Qlc() {\n }\n function Ulc() {\n }\n function Ylc() {\n }\n function Lkc() {\n }\n function Nkc() {\n }\n function Pkc() {\n }\n function Rkc() {\n }\n function Xkc() {\n }\n function _kc() {\n }\n function gmc() {\n }\n function kmc() {\n }\n function zmc() {\n }\n function Fmc() {\n }\n function Wmc() {\n }\n function $mc() {\n }\n function anc() {\n }\n function mnc() {\n }\n function wnc() {\n }\n function Hnc() {\n }\n function Jnc() {\n }\n function Lnc() {\n }\n function Nnc() {\n }\n function Pnc() {\n }\n function Ync() {\n }\n function eoc() {\n }\n function Aoc() {\n }\n function Coc() {\n }\n function Eoc() {\n }\n function Joc() {\n }\n function Loc() {\n }\n function Zoc() {\n }\n function _oc() {\n }\n function bpc() {\n }\n function hpc() {\n }\n function kpc() {\n }\n function ppc() {\n }\n function pFc() {\n }\n function Ryc() {\n }\n function QCc() {\n }\n function PDc() {\n }\n function xGc() {\n }\n function HGc() {\n }\n function JGc() {\n }\n function NGc() {\n }\n function GIc() {\n }\n function iKc() {\n }\n function mKc() {\n }\n function wKc() {\n }\n function yKc() {\n }\n function AKc() {\n }\n function EKc() {\n }\n function KKc() {\n }\n function OKc() {\n }\n function QKc() {\n }\n function SKc() {\n }\n function UKc() {\n }\n function YKc() {\n }\n function aLc() {\n }\n function fLc() {\n }\n function hLc() {\n }\n function nLc() {\n }\n function pLc() {\n }\n function tLc() {\n }\n function vLc() {\n }\n function zLc() {\n }\n function BLc() {\n }\n function DLc() {\n }\n function FLc() {\n }\n function sMc() {\n }\n function JMc() {\n }\n function hNc() {\n }\n function RNc() {\n }\n function ZNc() {\n }\n function _Nc() {\n }\n function bOc() {\n }\n function dOc() {\n }\n function fOc() {\n }\n function hOc() {\n }\n function hRc() {\n }\n function jRc() {\n }\n function KRc() {\n }\n function NRc() {\n }\n function NQc() {\n }\n function LQc() {\n }\n function _Qc() {\n }\n function cPc() {\n }\n function iPc() {\n }\n function kPc() {\n }\n function mPc() {\n }\n function xPc() {\n }\n function zPc() {\n }\n function zSc() {\n }\n function BSc() {\n }\n function GSc() {\n }\n function ISc() {\n }\n function NSc() {\n }\n function TSc() {\n }\n function NTc() {\n }\n function NVc() {\n }\n function oVc() {\n }\n function SVc() {\n }\n function VVc() {\n }\n function XVc() {\n }\n function ZVc() {\n }\n function bWc() {\n }\n function bXc() {\n }\n function CXc() {\n }\n function FXc() {\n }\n function IXc() {\n }\n function MXc() {\n }\n function UXc() {\n }\n function bYc() {\n }\n function fYc() {\n }\n function oYc() {\n }\n function qYc() {\n }\n function uYc() {\n }\n function pZc() {\n }\n function G$c() {\n }\n function h0c() {\n }\n function N0c() {\n }\n function k1c() {\n }\n function I1c() {\n }\n function Q1c() {\n }\n function f2c() {\n }\n function i2c() {\n }\n function k2c() {\n }\n function w2c() {\n }\n function O2c() {\n }\n function S2c() {\n }\n function Z2c() {\n }\n function v3c() {\n }\n function x3c() {\n }\n function R3c() {\n }\n function U3c() {\n }\n function e4c() {\n }\n function w4c() {\n }\n function x4c() {\n }\n function z4c() {\n }\n function B4c() {\n }\n function D4c() {\n }\n function F4c() {\n }\n function H4c() {\n }\n function J4c() {\n }\n function L4c() {\n }\n function N4c() {\n }\n function P4c() {\n }\n function R4c() {\n }\n function T4c() {\n }\n function V4c() {\n }\n function X4c() {\n }\n function Z4c() {\n }\n function _4c() {\n }\n function _7c() {\n }\n function b5c() {\n }\n function d5c() {\n }\n function f5c() {\n }\n function h5c() {\n }\n function H5c() {\n }\n function Hfd() {\n }\n function Zfd() {\n }\n function Zed() {\n }\n function ged() {\n }\n function Jed() {\n }\n function Ned() {\n }\n function Red() {\n }\n function Ved() {\n }\n function bbd() {\n }\n function mdd() {\n }\n function _fd() {\n }\n function fgd() {\n }\n function kgd() {\n }\n function Mgd() {\n }\n function Ahd() {\n }\n function Ald() {\n }\n function Tld() {\n }\n function xkd() {\n }\n function rmd() {\n }\n function knd() {\n }\n function Jod() {\n }\n function JCd() {\n }\n function Bpd() {\n }\n function BFd() {\n }\n function oFd() {\n }\n function bqd() {\n }\n function bvd() {\n }\n function jvd() {\n }\n function yud() {\n }\n function Hxd() {\n }\n function EBd() {\n }\n function aDd() {\n }\n function MGd() {\n }\n function vHd() {\n }\n function RHd() {\n }\n function wNd() {\n }\n function zNd() {\n }\n function CNd() {\n }\n function KNd() {\n }\n function XNd() {\n }\n function $Nd() {\n }\n function HPd() {\n }\n function lUd() {\n }\n function XUd() {\n }\n function DWd() {\n }\n function GWd() {\n }\n function JWd() {\n }\n function MWd() {\n }\n function PWd() {\n }\n function SWd() {\n }\n function VWd() {\n }\n function YWd() {\n }\n function _Wd() {\n }\n function xYd() {\n }\n function BYd() {\n }\n function mZd() {\n }\n function EZd() {\n }\n function GZd() {\n }\n function JZd() {\n }\n function MZd() {\n }\n function PZd() {\n }\n function SZd() {\n }\n function VZd() {\n }\n function YZd() {\n }\n function _Zd() {\n }\n function c$d() {\n }\n function f$d() {\n }\n function i$d() {\n }\n function l$d() {\n }\n function o$d() {\n }\n function r$d() {\n }\n function u$d() {\n }\n function x$d() {\n }\n function A$d() {\n }\n function D$d() {\n }\n function G$d() {\n }\n function J$d() {\n }\n function M$d() {\n }\n function P$d() {\n }\n function S$d() {\n }\n function V$d() {\n }\n function Y$d() {\n }\n function _$d() {\n }\n function c_d() {\n }\n function f_d() {\n }\n function i_d() {\n }\n function l_d() {\n }\n function o_d() {\n }\n function r_d() {\n }\n function u_d() {\n }\n function x_d() {\n }\n function A_d() {\n }\n function D_d() {\n }\n function G_d() {\n }\n function J_d() {\n }\n function M_d() {\n }\n function P_d() {\n }\n function S_d() {\n }\n function V_d() {\n }\n function Y_d() {\n }\n function h5d() {\n }\n function U6d() {\n }\n function U9d() {\n }\n function _8d() {\n }\n function fae() {\n }\n function hae() {\n }\n function kae() {\n }\n function nae() {\n }\n function qae() {\n }\n function tae() {\n }\n function wae() {\n }\n function zae() {\n }\n function Cae() {\n }\n function Fae() {\n }\n function Iae() {\n }\n function Lae() {\n }\n function Oae() {\n }\n function Rae() {\n }\n function Uae() {\n }\n function Xae() {\n }\n function $ae() {\n }\n function bbe() {\n }\n function ebe() {\n }\n function hbe() {\n }\n function kbe() {\n }\n function nbe() {\n }\n function qbe() {\n }\n function tbe() {\n }\n function wbe() {\n }\n function zbe() {\n }\n function Cbe() {\n }\n function Fbe() {\n }\n function Ibe() {\n }\n function Lbe() {\n }\n function Obe() {\n }\n function Rbe() {\n }\n function Ube() {\n }\n function Xbe() {\n }\n function $be() {\n }\n function bce() {\n }\n function ece() {\n }\n function hce() {\n }\n function kce() {\n }\n function nce() {\n }\n function qce() {\n }\n function tce() {\n }\n function wce() {\n }\n function zce() {\n }\n function Cce() {\n }\n function Fce() {\n }\n function Ice() {\n }\n function Lce() {\n }\n function Oce() {\n }\n function Rce() {\n }\n function Uce() {\n }\n function Xce() {\n }\n function ude() {\n }\n function Vge() {\n }\n function dhe() {\n }\n function ol() {\n wb();\n }\n function oPb() {\n nPb();\n }\n function EPb() {\n CPb();\n }\n function gFb() {\n fFb();\n }\n function TRb() {\n SRb();\n }\n function ySb() {\n wSb();\n }\n function PSb() {\n OSb();\n }\n function dTb() {\n bTb();\n }\n function i4b() {\n b4b();\n }\n function D2b() {\n x2b();\n }\n function J6b() {\n D6b();\n }\n function u9b() {\n q9b();\n }\n function $9b() {\n I9b();\n }\n function Umc() {\n Imc();\n }\n function abc() {\n Vac();\n }\n function ZCc() {\n VCc();\n }\n function kCc() {\n hCc();\n }\n function rCc() {\n oCc();\n }\n function Tcc() {\n Occ();\n }\n function xkc() {\n gkc();\n }\n function xDc() {\n rDc();\n }\n function iDc() {\n cDc();\n }\n function kwc() {\n jwc();\n }\n function tJc() {\n jJc();\n }\n function dJc() {\n aJc();\n }\n function Pyc() {\n Nyc();\n }\n function VBc() {\n SBc();\n }\n function CFc() {\n yFc();\n }\n function CUc() {\n wUc();\n }\n function lUc() {\n fUc();\n }\n function sUc() {\n pUc();\n }\n function IUc() {\n GUc();\n }\n function IWc() {\n HWc();\n }\n function _Wc() {\n ZWc();\n }\n function fHc() {\n dHc();\n }\n function f0c() {\n d0c();\n }\n function B0c() {\n A0c();\n }\n function L0c() {\n J0c();\n }\n function LTc() {\n JTc();\n }\n function sTc() {\n rTc();\n }\n function KLc() {\n ILc();\n }\n function wNc() {\n tNc();\n }\n function PYc() {\n OYc();\n }\n function nZc() {\n lZc();\n }\n function q3c() {\n p3c();\n }\n function Z7c() {\n X7c();\n }\n function Z9c() {\n Y9c();\n }\n function _ad() {\n Zad();\n }\n function kdd() {\n idd();\n }\n function $md() {\n Smd();\n }\n function HGd() {\n tGd();\n }\n function hLd() {\n NKd();\n }\n function J6d() {\n Uge();\n }\n function Mvb(a) {\n uCb(a);\n }\n function Yb(a) {\n this.a = a;\n }\n function cc(a) {\n this.a = a;\n }\n function cj(a) {\n this.a = a;\n }\n function ij(a) {\n this.a = a;\n }\n function Dj(a) {\n this.a = a;\n }\n function df(a) {\n this.a = a;\n }\n function kf(a) {\n this.a = a;\n }\n function ah(a) {\n this.a = a;\n }\n function lh(a) {\n this.a = a;\n }\n function th(a) {\n this.a = a;\n }\n function Ph(a) {\n this.a = a;\n }\n function vi(a) {\n this.a = a;\n }\n function Ci(a) {\n this.a = a;\n }\n function Fk(a) {\n this.a = a;\n }\n function Ln(a) {\n this.a = a;\n }\n function ap(a) {\n this.a = a;\n }\n function zp(a) {\n this.a = a;\n }\n function Yp(a) {\n this.a = a;\n }\n function qq(a) {\n this.a = a;\n }\n function Dq(a) {\n this.a = a;\n }\n function wr(a) {\n this.a = a;\n }\n function Ir(a) {\n this.b = a;\n }\n function sj(a) {\n this.c = a;\n }\n function sw(a) {\n this.a = a;\n }\n function fw(a) {\n this.a = a;\n }\n function xw(a) {\n this.a = a;\n }\n function Cw(a) {\n this.a = a;\n }\n function Qw(a) {\n this.a = a;\n }\n function Rw(a) {\n this.a = a;\n }\n function Xw(a) {\n this.a = a;\n }\n function Xv(a) {\n this.a = a;\n }\n function Sv(a) {\n this.a = a;\n }\n function eu(a) {\n this.a = a;\n }\n function Zx(a) {\n this.a = a;\n }\n function _x(a) {\n this.a = a;\n }\n function xy(a) {\n this.a = a;\n }\n function xB(a) {\n this.a = a;\n }\n function HB(a) {\n this.a = a;\n }\n function TB(a) {\n this.a = a;\n }\n function fC(a) {\n this.a = a;\n }\n function wB() {\n this.a = [];\n }\n function MBb(a, b) {\n a.a = b;\n }\n function w_b(a, b) {\n a.a = b;\n }\n function x_b(a, b) {\n a.b = b;\n }\n function YOb(a, b) {\n a.b = b;\n }\n function $Ob(a, b) {\n a.b = b;\n }\n function ZGb(a, b) {\n a.j = b;\n }\n function qNb(a, b) {\n a.g = b;\n }\n function rNb(a, b) {\n a.i = b;\n }\n function dRb(a, b) {\n a.c = b;\n }\n function eRb(a, b) {\n a.d = b;\n }\n function z_b(a, b) {\n a.d = b;\n }\n function y_b(a, b) {\n a.c = b;\n }\n function __b(a, b) {\n a.k = b;\n }\n function E0b(a, b) {\n a.c = b;\n }\n function njc(a, b) {\n a.c = b;\n }\n function mjc(a, b) {\n a.a = b;\n }\n function dFc(a, b) {\n a.a = b;\n }\n function eFc(a, b) {\n a.f = b;\n }\n function nOc(a, b) {\n a.a = b;\n }\n function oOc(a, b) {\n a.b = b;\n }\n function pOc(a, b) {\n a.d = b;\n }\n function qOc(a, b) {\n a.i = b;\n }\n function rOc(a, b) {\n a.o = b;\n }\n function sOc(a, b) {\n a.r = b;\n }\n function $Pc(a, b) {\n a.a = b;\n }\n function _Pc(a, b) {\n a.b = b;\n }\n function DVc(a, b) {\n a.e = b;\n }\n function EVc(a, b) {\n a.f = b;\n }\n function FVc(a, b) {\n a.g = b;\n }\n function SZc(a, b) {\n a.e = b;\n }\n function TZc(a, b) {\n a.f = b;\n }\n function c$c(a, b) {\n a.f = b;\n }\n function bJd(a, b) {\n a.n = b;\n }\n function A1d(a, b) {\n a.a = b;\n }\n function J1d(a, b) {\n a.a = b;\n }\n function B1d(a, b) {\n a.c = b;\n }\n function K1d(a, b) {\n a.c = b;\n }\n function L1d(a, b) {\n a.d = b;\n }\n function M1d(a, b) {\n a.e = b;\n }\n function N1d(a, b) {\n a.g = b;\n }\n function d2d(a, b) {\n a.a = b;\n }\n function e2d(a, b) {\n a.c = b;\n }\n function f2d(a, b) {\n a.d = b;\n }\n function g2d(a, b) {\n a.e = b;\n }\n function h2d(a, b) {\n a.f = b;\n }\n function i2d(a, b) {\n a.j = b;\n }\n function Z8d(a, b) {\n a.a = b;\n }\n function $8d(a, b) {\n a.b = b;\n }\n function g9d(a, b) {\n a.a = b;\n }\n function Cic(a) {\n a.b = a.a;\n }\n function Dg(a) {\n a.c = a.d.d;\n }\n function vib(a) {\n this.d = a;\n }\n function eib(a) {\n this.a = a;\n }\n function Pib(a) {\n this.a = a;\n }\n function Vib(a) {\n this.a = a;\n }\n function $ib(a) {\n this.a = a;\n }\n function mcb(a) {\n this.a = a;\n }\n function Mcb(a) {\n this.a = a;\n }\n function Xcb(a) {\n this.a = a;\n }\n function Ndb(a) {\n this.a = a;\n }\n function _db(a) {\n this.a = a;\n }\n function teb(a) {\n this.a = a;\n }\n function Qeb(a) {\n this.a = a;\n }\n function djb(a) {\n this.a = a;\n }\n function Gjb(a) {\n this.a = a;\n }\n function Njb(a) {\n this.a = a;\n }\n function Bjb(a) {\n this.b = a;\n }\n function lnb(a) {\n this.b = a;\n }\n function Dnb(a) {\n this.b = a;\n }\n function anb(a) {\n this.a = a;\n }\n function Mob(a) {\n this.a = a;\n }\n function Rob(a) {\n this.a = a;\n }\n function iob(a) {\n this.c = a;\n }\n function olb(a) {\n this.c = a;\n }\n function qub(a) {\n this.c = a;\n }\n function Tub(a) {\n this.a = a;\n }\n function Vub(a) {\n this.a = a;\n }\n function Xub(a) {\n this.a = a;\n }\n function Zub(a) {\n this.a = a;\n }\n function tpb(a) {\n this.a = a;\n }\n function _pb(a) {\n this.a = a;\n }\n function Wqb(a) {\n this.a = a;\n }\n function nsb(a) {\n this.a = a;\n }\n function Rxb(a) {\n this.a = a;\n }\n function Txb(a) {\n this.a = a;\n }\n function Xxb(a) {\n this.a = a;\n }\n function bzb(a) {\n this.a = a;\n }\n function tzb(a) {\n this.a = a;\n }\n function vzb(a) {\n this.a = a;\n }\n function xzb(a) {\n this.a = a;\n }\n function Kzb(a) {\n this.a = a;\n }\n function Ozb(a) {\n this.a = a;\n }\n function iAb(a) {\n this.a = a;\n }\n function kAb(a) {\n this.a = a;\n }\n function mAb(a) {\n this.a = a;\n }\n function BAb(a) {\n this.a = a;\n }\n function hBb(a) {\n this.a = a;\n }\n function jBb(a) {\n this.a = a;\n }\n function nBb(a) {\n this.a = a;\n }\n function TBb(a) {\n this.a = a;\n }\n function XBb(a) {\n this.a = a;\n }\n function QCb(a) {\n this.a = a;\n }\n function WCb(a) {\n this.a = a;\n }\n function _Cb(a) {\n this.a = a;\n }\n function dEb(a) {\n this.a = a;\n }\n function QGb(a) {\n this.a = a;\n }\n function YGb(a) {\n this.a = a;\n }\n function tKb(a) {\n this.a = a;\n }\n function CLb(a) {\n this.a = a;\n }\n function JMb(a) {\n this.a = a;\n }\n function RNb(a) {\n this.a = a;\n }\n function kQb(a) {\n this.a = a;\n }\n function mQb(a) {\n this.a = a;\n }\n function FQb(a) {\n this.a = a;\n }\n function ETb(a) {\n this.a = a;\n }\n function UTb(a) {\n this.a = a;\n }\n function dUb(a) {\n this.a = a;\n }\n function hUb(a) {\n this.a = a;\n }\n function EZb(a) {\n this.a = a;\n }\n function j$b(a) {\n this.a = a;\n }\n function v$b(a) {\n this.e = a;\n }\n function J0b(a) {\n this.a = a;\n }\n function M0b(a) {\n this.a = a;\n }\n function R0b(a) {\n this.a = a;\n }\n function U0b(a) {\n this.a = a;\n }\n function i2b(a) {\n this.a = a;\n }\n function k2b(a) {\n this.a = a;\n }\n function o2b(a) {\n this.a = a;\n }\n function s2b(a) {\n this.a = a;\n }\n function G2b(a) {\n this.a = a;\n }\n function I2b(a) {\n this.a = a;\n }\n function K2b(a) {\n this.a = a;\n }\n function M2b(a) {\n this.a = a;\n }\n function W3b(a) {\n this.a = a;\n }\n function $3b(a) {\n this.a = a;\n }\n function V4b(a) {\n this.a = a;\n }\n function u5b(a) {\n this.a = a;\n }\n function A7b(a) {\n this.a = a;\n }\n function G7b(a) {\n this.a = a;\n }\n function J7b(a) {\n this.a = a;\n }\n function M7b(a) {\n this.a = a;\n }\n function Mbc(a) {\n this.a = a;\n }\n function Pbc(a) {\n this.a = a;\n }\n function lac(a) {\n this.a = a;\n }\n function nac(a) {\n this.a = a;\n }\n function qcc(a) {\n this.a = a;\n }\n function Gdc(a) {\n this.a = a;\n }\n function $dc(a) {\n this.a = a;\n }\n function cec(a) {\n this.a = a;\n }\n function _ec(a) {\n this.a = a;\n }\n function pfc(a) {\n this.a = a;\n }\n function Bfc(a) {\n this.a = a;\n }\n function Lfc(a) {\n this.a = a;\n }\n function ygc(a) {\n this.a = a;\n }\n function Dgc(a) {\n this.a = a;\n }\n function shc(a) {\n this.a = a;\n }\n function uhc(a) {\n this.a = a;\n }\n function whc(a) {\n this.a = a;\n }\n function Chc(a) {\n this.a = a;\n }\n function Ehc(a) {\n this.a = a;\n }\n function Ohc(a) {\n this.a = a;\n }\n function Yhc(a) {\n this.a = a;\n }\n function Tkc(a) {\n this.a = a;\n }\n function Vkc(a) {\n this.a = a;\n }\n function Olc(a) {\n this.a = a;\n }\n function pnc(a) {\n this.a = a;\n }\n function rnc(a) {\n this.a = a;\n }\n function dpc(a) {\n this.a = a;\n }\n function fpc(a) {\n this.a = a;\n }\n function GCc(a) {\n this.a = a;\n }\n function KCc(a) {\n this.a = a;\n }\n function mDc(a) {\n this.a = a;\n }\n function jEc(a) {\n this.a = a;\n }\n function HEc(a) {\n this.a = a;\n }\n function FEc(a) {\n this.c = a;\n }\n function qoc(a) {\n this.b = a;\n }\n function bFc(a) {\n this.a = a;\n }\n function GFc(a) {\n this.a = a;\n }\n function iGc(a) {\n this.a = a;\n }\n function kGc(a) {\n this.a = a;\n }\n function mGc(a) {\n this.a = a;\n }\n function $Gc(a) {\n this.a = a;\n }\n function hIc(a) {\n this.a = a;\n }\n function lIc(a) {\n this.a = a;\n }\n function pIc(a) {\n this.a = a;\n }\n function tIc(a) {\n this.a = a;\n }\n function xIc(a) {\n this.a = a;\n }\n function zIc(a) {\n this.a = a;\n }\n function CIc(a) {\n this.a = a;\n }\n function LIc(a) {\n this.a = a;\n }\n function CKc(a) {\n this.a = a;\n }\n function IKc(a) {\n this.a = a;\n }\n function MKc(a) {\n this.a = a;\n }\n function $Kc(a) {\n this.a = a;\n }\n function cLc(a) {\n this.a = a;\n }\n function jLc(a) {\n this.a = a;\n }\n function rLc(a) {\n this.a = a;\n }\n function xLc(a) {\n this.a = a;\n }\n function OMc(a) {\n this.a = a;\n }\n function ZOc(a) {\n this.a = a;\n }\n function ZRc(a) {\n this.a = a;\n }\n function aSc(a) {\n this.a = a;\n }\n function I$c(a) {\n this.a = a;\n }\n function K$c(a) {\n this.a = a;\n }\n function M$c(a) {\n this.a = a;\n }\n function O$c(a) {\n this.a = a;\n }\n function U$c(a) {\n this.a = a;\n }\n function n1c(a) {\n this.a = a;\n }\n function z1c(a) {\n this.a = a;\n }\n function B1c(a) {\n this.a = a;\n }\n function Q2c(a) {\n this.a = a;\n }\n function U2c(a) {\n this.a = a;\n }\n function z3c(a) {\n this.a = a;\n }\n function med(a) {\n this.a = a;\n }\n function Xed(a) {\n this.a = a;\n }\n function _ed(a) {\n this.a = a;\n }\n function Qfd(a) {\n this.a = a;\n }\n function Bgd(a) {\n this.a = a;\n }\n function $gd(a) {\n this.a = a;\n }\n function lrd(a) {\n this.a = a;\n }\n function urd(a) {\n this.a = a;\n }\n function vrd(a) {\n this.a = a;\n }\n function wrd(a) {\n this.a = a;\n }\n function xrd(a) {\n this.a = a;\n }\n function yrd(a) {\n this.a = a;\n }\n function zrd(a) {\n this.a = a;\n }\n function Ard(a) {\n this.a = a;\n }\n function Brd(a) {\n this.a = a;\n }\n function Crd(a) {\n this.a = a;\n }\n function Ird(a) {\n this.a = a;\n }\n function Krd(a) {\n this.a = a;\n }\n function Lrd(a) {\n this.a = a;\n }\n function Mrd(a) {\n this.a = a;\n }\n function Nrd(a) {\n this.a = a;\n }\n function Prd(a) {\n this.a = a;\n }\n function Srd(a) {\n this.a = a;\n }\n function Yrd(a) {\n this.a = a;\n }\n function Zrd(a) {\n this.a = a;\n }\n function _rd(a) {\n this.a = a;\n }\n function asd(a) {\n this.a = a;\n }\n function bsd(a) {\n this.a = a;\n }\n function csd(a) {\n this.a = a;\n }\n function dsd(a) {\n this.a = a;\n }\n function msd(a) {\n this.a = a;\n }\n function osd(a) {\n this.a = a;\n }\n function qsd(a) {\n this.a = a;\n }\n function ssd(a) {\n this.a = a;\n }\n function Wsd(a) {\n this.a = a;\n }\n function Lsd(a) {\n this.b = a;\n }\n function thd(a) {\n this.f = a;\n }\n function qtd(a) {\n this.a = a;\n }\n function yBd(a) {\n this.a = a;\n }\n function GBd(a) {\n this.a = a;\n }\n function MBd(a) {\n this.a = a;\n }\n function SBd(a) {\n this.a = a;\n }\n function iCd(a) {\n this.a = a;\n }\n function YMd(a) {\n this.a = a;\n }\n function GNd(a) {\n this.a = a;\n }\n function EPd(a) {\n this.a = a;\n }\n function EQd(a) {\n this.a = a;\n }\n function NTd(a) {\n this.a = a;\n }\n function qOd(a) {\n this.b = a;\n }\n function lVd(a) {\n this.c = a;\n }\n function VVd(a) {\n this.e = a;\n }\n function iYd(a) {\n this.a = a;\n }\n function RYd(a) {\n this.a = a;\n }\n function ZYd(a) {\n this.a = a;\n }\n function z0d(a) {\n this.a = a;\n }\n function O0d(a) {\n this.a = a;\n }\n function s0d(a) {\n this.d = a;\n }\n function W5d(a) {\n this.a = a;\n }\n function cge(a) {\n this.a = a;\n }\n function xfe(a) {\n this.e = a;\n }\n function Tfd() {\n this.a = 0;\n }\n function jkb() {\n Vjb(this);\n }\n function Rkb() {\n Ckb(this);\n }\n function Lqb() {\n Uhb(this);\n }\n function lEb() {\n kEb(this);\n }\n function A_b() {\n }\n function UQd() {\n this.c = FQd;\n }\n function v6d(a, b) {\n b.Wb(a);\n }\n function moc(a, b) {\n a.b += b;\n }\n function yXb(a) {\n a.b = new Ji();\n }\n function vbb(a) {\n return a.e;\n }\n function DB(a) {\n return a.a;\n }\n function LB(a) {\n return a.a;\n }\n function ZB(a) {\n return a.a;\n }\n function lC(a) {\n return a.a;\n }\n function EC(a) {\n return a.a;\n }\n function wC() {\n return null;\n }\n function SB() {\n return null;\n }\n function hcb() {\n mvd();\n ovd();\n }\n function zJb(a) {\n a.b.tf(a.e);\n }\n function j5b(a, b) {\n a.b = b - a.b;\n }\n function g5b(a, b) {\n a.a = b - a.a;\n }\n function PXc(a, b) {\n b.ad(a.a);\n }\n function plc(a, b) {\n G0b(b, a);\n }\n function hp(a, b, c2) {\n a.Od(c2, b);\n }\n function As(a, b) {\n a.e = b;\n b.b = a;\n }\n function Zl(a) {\n Ql();\n this.a = a;\n }\n function jq(a) {\n Ql();\n this.a = a;\n }\n function sq(a) {\n Ql();\n this.a = a;\n }\n function Fq(a) {\n im();\n this.a = a;\n }\n function Sz(a) {\n Rz();\n Qz.be(a);\n }\n function gz() {\n Xy.call(this);\n }\n function xcb() {\n Xy.call(this);\n }\n function pcb() {\n gz.call(this);\n }\n function tcb() {\n gz.call(this);\n }\n function Bdb() {\n gz.call(this);\n }\n function Vdb() {\n gz.call(this);\n }\n function Ydb() {\n gz.call(this);\n }\n function Geb() {\n gz.call(this);\n }\n function bgb() {\n gz.call(this);\n }\n function Apb() {\n gz.call(this);\n }\n function Jpb() {\n gz.call(this);\n }\n function utb() {\n gz.call(this);\n }\n function x2c() {\n gz.call(this);\n }\n function rQd() {\n this.a = this;\n }\n function MPd() {\n this.Bb |= 256;\n }\n function tTb() {\n this.b = new mt();\n }\n function fA() {\n fA = ccb;\n new Lqb();\n }\n function rcb() {\n pcb.call(this);\n }\n function dCb(a, b) {\n a.length = b;\n }\n function Tvb(a, b) {\n Ekb(a.a, b);\n }\n function sKb(a, b) {\n UHb(a.c, b);\n }\n function SMc(a, b) {\n Qqb(a.b, b);\n }\n function vBd(a, b) {\n uAd(a.a, b);\n }\n function wBd(a, b) {\n vAd(a.a, b);\n }\n function GLd(a, b) {\n Uhd(a.e, b);\n }\n function d7d(a) {\n D2d(a.c, a.b);\n }\n function mj(a, b) {\n a.kc().Nb(b);\n }\n function Odb(a) {\n this.a = Tdb(a);\n }\n function Tqb() {\n this.a = new Lqb();\n }\n function gyb() {\n this.a = new Lqb();\n }\n function Wvb() {\n this.a = new Rkb();\n }\n function KFb() {\n this.a = new Rkb();\n }\n function PFb() {\n this.a = new Rkb();\n }\n function FFb() {\n this.a = new yFb();\n }\n function pGb() {\n this.a = new MFb();\n }\n function ZQb() {\n this.a = new MQb();\n }\n function Gxb() {\n this.a = new Pwb();\n }\n function jUb() {\n this.a = new PTb();\n }\n function sDb() {\n this.a = new oDb();\n }\n function zDb() {\n this.a = new tDb();\n }\n function CWb() {\n this.a = new Rkb();\n }\n function HXb() {\n this.a = new Rkb();\n }\n function nYb() {\n this.a = new Rkb();\n }\n function BYb() {\n this.a = new Rkb();\n }\n function fLb() {\n this.d = new Rkb();\n }\n function vYb() {\n this.a = new Tqb();\n }\n function a2b() {\n this.a = new Lqb();\n }\n function wZb() {\n this.b = new Lqb();\n }\n function TCc() {\n this.b = new Rkb();\n }\n function zJc() {\n this.e = new Rkb();\n }\n function uMc() {\n this.d = new Rkb();\n }\n function wdc() {\n this.a = new xkc();\n }\n function vKc() {\n Rkb.call(this);\n }\n function twb() {\n Wvb.call(this);\n }\n function oHb() {\n $Gb.call(this);\n }\n function LXb() {\n HXb.call(this);\n }\n function L_b() {\n H_b.call(this);\n }\n function H_b() {\n A_b.call(this);\n }\n function p0b() {\n A_b.call(this);\n }\n function s0b() {\n p0b.call(this);\n }\n function WMc() {\n VMc.call(this);\n }\n function bNc() {\n VMc.call(this);\n }\n function EPc() {\n CPc.call(this);\n }\n function JPc() {\n CPc.call(this);\n }\n function OPc() {\n CPc.call(this);\n }\n function w1c() {\n s1c.call(this);\n }\n function s7c() {\n Psb.call(this);\n }\n function apd() {\n Ald.call(this);\n }\n function ppd() {\n Ald.call(this);\n }\n function lDd() {\n YCd.call(this);\n }\n function NDd() {\n YCd.call(this);\n }\n function mFd() {\n Lqb.call(this);\n }\n function vFd() {\n Lqb.call(this);\n }\n function GFd() {\n Lqb.call(this);\n }\n function KPd() {\n Tqb.call(this);\n }\n function OJd() {\n hJd.call(this);\n }\n function aQd() {\n MPd.call(this);\n }\n function SSd() {\n FId.call(this);\n }\n function rUd() {\n FId.call(this);\n }\n function oUd() {\n Lqb.call(this);\n }\n function NYd() {\n Lqb.call(this);\n }\n function cZd() {\n Lqb.call(this);\n }\n function R8d() {\n MGd.call(this);\n }\n function o9d() {\n MGd.call(this);\n }\n function i9d() {\n R8d.call(this);\n }\n function hee() {\n ude.call(this);\n }\n function Dd(a) {\n yd.call(this, a);\n }\n function Hd(a) {\n yd.call(this, a);\n }\n function ph(a) {\n lh.call(this, a);\n }\n function Sh(a) {\n Wc.call(this, a);\n }\n function oi(a) {\n Sh.call(this, a);\n }\n function Ii(a) {\n Wc.call(this, a);\n }\n function Zdd() {\n this.a = new Psb();\n }\n function CPc() {\n this.a = new Tqb();\n }\n function s1c() {\n this.a = new Lqb();\n }\n function QSc() {\n this.a = new Rkb();\n }\n function D2c() {\n this.j = new Rkb();\n }\n function QXc() {\n this.a = new UXc();\n }\n function e_c() {\n this.a = new d_c();\n }\n function YCd() {\n this.a = new aDd();\n }\n function _k() {\n _k = ccb;\n $k = new al();\n }\n function Lk() {\n Lk = ccb;\n Kk = new Mk();\n }\n function wb() {\n wb = ccb;\n vb = new xb();\n }\n function hs() {\n hs = ccb;\n gs = new is();\n }\n function rs(a) {\n Sh.call(this, a);\n }\n function Gp(a) {\n Sh.call(this, a);\n }\n function xp(a) {\n Lo.call(this, a);\n }\n function Ep(a) {\n Lo.call(this, a);\n }\n function Tp(a) {\n Wn.call(this, a);\n }\n function wx(a) {\n un.call(this, a);\n }\n function ov(a) {\n dv.call(this, a);\n }\n function Mv(a) {\n Br.call(this, a);\n }\n function Ov(a) {\n Br.call(this, a);\n }\n function Lw(a) {\n Br.call(this, a);\n }\n function hz(a) {\n Yy.call(this, a);\n }\n function MB(a) {\n hz.call(this, a);\n }\n function eC() {\n fC.call(this, {});\n }\n function Ftb(a) {\n Atb();\n this.a = a;\n }\n function zwb(a) {\n a.b = null;\n a.c = 0;\n }\n function Vy(a, b) {\n a.e = b;\n Sy(a, b);\n }\n function LVb(a, b) {\n a.a = b;\n NVb(a);\n }\n function lIb(a, b, c2) {\n a.a[b.g] = c2;\n }\n function vfd(a, b, c2) {\n Dfd(c2, a, b);\n }\n function Odc(a, b) {\n rjc(b.i, a.n);\n }\n function Wyc(a, b) {\n Xyc(a).td(b);\n }\n function ERb(a, b) {\n return a * a / b;\n }\n function Xr(a, b) {\n return a.g - b.g;\n }\n function tC(a) {\n return new TB(a);\n }\n function vC(a) {\n return new yC(a);\n }\n function ocb(a) {\n hz.call(this, a);\n }\n function qcb(a) {\n hz.call(this, a);\n }\n function ucb(a) {\n hz.call(this, a);\n }\n function vcb(a) {\n Yy.call(this, a);\n }\n function fGc(a) {\n LFc();\n this.a = a;\n }\n function c0d(a) {\n kzd();\n this.a = a;\n }\n function bhd(a) {\n Rgd();\n this.f = a;\n }\n function dhd(a) {\n Rgd();\n this.f = a;\n }\n function Cdb(a) {\n hz.call(this, a);\n }\n function Wdb(a) {\n hz.call(this, a);\n }\n function Zdb(a) {\n hz.call(this, a);\n }\n function Feb(a) {\n hz.call(this, a);\n }\n function Heb(a) {\n hz.call(this, a);\n }\n function Ccb(a) {\n return uCb(a), a;\n }\n function Edb(a) {\n return uCb(a), a;\n }\n function Gdb(a) {\n return uCb(a), a;\n }\n function jfb(a) {\n return uCb(a), a;\n }\n function tfb(a) {\n return uCb(a), a;\n }\n function akb(a) {\n return a.b == a.c;\n }\n function Hwb(a) {\n return !!a && a.b;\n }\n function pIb(a) {\n return !!a && a.k;\n }\n function qIb(a) {\n return !!a && a.j;\n }\n function amb(a) {\n uCb(a);\n this.a = a;\n }\n function wVb(a) {\n qVb(a);\n return a;\n }\n function Blb(a) {\n Glb(a, a.length);\n }\n function cgb(a) {\n hz.call(this, a);\n }\n function cqd(a) {\n hz.call(this, a);\n }\n function n8d(a) {\n hz.call(this, a);\n }\n function y2c(a) {\n hz.call(this, a);\n }\n function z2c(a) {\n hz.call(this, a);\n }\n function mde(a) {\n hz.call(this, a);\n }\n function pc(a) {\n qc.call(this, a, 0);\n }\n function Ji() {\n Ki.call(this, 12, 3);\n }\n function Kz() {\n Kz = ccb;\n Jz = new Nz();\n }\n function jz() {\n jz = ccb;\n iz = new nb();\n }\n function KA() {\n KA = ccb;\n JA = new MA();\n }\n function OB() {\n OB = ccb;\n NB = new PB();\n }\n function jc() {\n throw vbb(new bgb());\n }\n function zh() {\n throw vbb(new bgb());\n }\n function Pi() {\n throw vbb(new bgb());\n }\n function Pj() {\n throw vbb(new bgb());\n }\n function Qj() {\n throw vbb(new bgb());\n }\n function Ym() {\n throw vbb(new bgb());\n }\n function Gb() {\n this.a = GD(Qb(She));\n }\n function oy(a) {\n Ql();\n this.a = Qb(a);\n }\n function Bs(a, b) {\n a.Td(b);\n b.Sd(a);\n }\n function iw(a, b) {\n a.a.ec().Mc(b);\n }\n function CYb(a, b, c2) {\n a.c.lf(b, c2);\n }\n function scb(a) {\n qcb.call(this, a);\n }\n function Oeb(a) {\n Wdb.call(this, a);\n }\n function Hfb() {\n mcb.call(this, \"\");\n }\n function Ifb() {\n mcb.call(this, \"\");\n }\n function Ufb() {\n mcb.call(this, \"\");\n }\n function Vfb() {\n mcb.call(this, \"\");\n }\n function Xfb(a) {\n qcb.call(this, a);\n }\n function zob(a) {\n lnb.call(this, a);\n }\n function Yob(a) {\n Inb.call(this, a);\n }\n function Gob(a) {\n zob.call(this, a);\n }\n function Mk() {\n Fk.call(this, null);\n }\n function al() {\n Fk.call(this, null);\n }\n function Az() {\n Az = ccb;\n !!(Rz(), Qz);\n }\n function wrb() {\n wrb = ccb;\n vrb = yrb();\n }\n function Mtb(a) {\n return a.a ? a.b : 0;\n }\n function Vtb(a) {\n return a.a ? a.b : 0;\n }\n function Lcb(a, b) {\n return a.a - b.a;\n }\n function Wcb(a, b) {\n return a.a - b.a;\n }\n function Peb(a, b) {\n return a.a - b.a;\n }\n function eCb(a, b) {\n return PC(a, b);\n }\n function GC(a, b) {\n return rdb(a, b);\n }\n function _B(b, a) {\n return a in b.a;\n }\n function _Db(a, b) {\n a.f = b;\n return a;\n }\n function ZDb(a, b) {\n a.b = b;\n return a;\n }\n function $Db(a, b) {\n a.c = b;\n return a;\n }\n function aEb(a, b) {\n a.g = b;\n return a;\n }\n function HGb(a, b) {\n a.a = b;\n return a;\n }\n function IGb(a, b) {\n a.f = b;\n return a;\n }\n function JGb(a, b) {\n a.k = b;\n return a;\n }\n function dLb(a, b) {\n a.a = b;\n return a;\n }\n function eLb(a, b) {\n a.e = b;\n return a;\n }\n function zVb(a, b) {\n a.e = b;\n return a;\n }\n function AVb(a, b) {\n a.f = b;\n return a;\n }\n function KOb(a, b) {\n a.b = true;\n a.d = b;\n }\n function DHb(a, b) {\n a.b = new g7c(b);\n }\n function uvb(a, b, c2) {\n b.td(a.a[c2]);\n }\n function zvb(a, b, c2) {\n b.we(a.a[c2]);\n }\n function wJc(a, b) {\n return a.b - b.b;\n }\n function kOc(a, b) {\n return a.g - b.g;\n }\n function WQc(a, b) {\n return a.s - b.s;\n }\n function Lic(a, b) {\n return a ? 0 : b - 1;\n }\n function SFc(a, b) {\n return a ? 0 : b - 1;\n }\n function RFc(a, b) {\n return a ? b - 1 : 0;\n }\n function M2c(a, b) {\n return b.Yf(a);\n }\n function M3c(a, b) {\n a.b = b;\n return a;\n }\n function L3c(a, b) {\n a.a = b;\n return a;\n }\n function N3c(a, b) {\n a.c = b;\n return a;\n }\n function O3c(a, b) {\n a.d = b;\n return a;\n }\n function P3c(a, b) {\n a.e = b;\n return a;\n }\n function Q3c(a, b) {\n a.f = b;\n return a;\n }\n function b4c(a, b) {\n a.a = b;\n return a;\n }\n function c4c(a, b) {\n a.b = b;\n return a;\n }\n function d4c(a, b) {\n a.c = b;\n return a;\n }\n function z5c(a, b) {\n a.c = b;\n return a;\n }\n function y5c(a, b) {\n a.b = b;\n return a;\n }\n function A5c(a, b) {\n a.d = b;\n return a;\n }\n function B5c(a, b) {\n a.e = b;\n return a;\n }\n function C5c(a, b) {\n a.f = b;\n return a;\n }\n function D5c(a, b) {\n a.g = b;\n return a;\n }\n function E5c(a, b) {\n a.a = b;\n return a;\n }\n function F5c(a, b) {\n a.i = b;\n return a;\n }\n function G5c(a, b) {\n a.j = b;\n return a;\n }\n function Vdd(a, b) {\n a.k = b;\n return a;\n }\n function Wdd(a, b) {\n a.j = b;\n return a;\n }\n function ykc(a, b) {\n gkc();\n F0b(b, a);\n }\n function T$c(a, b, c2) {\n R$c(a.a, b, c2);\n }\n function RGc(a) {\n cEc.call(this, a);\n }\n function iHc(a) {\n cEc.call(this, a);\n }\n function t7c(a) {\n Qsb.call(this, a);\n }\n function aPb(a) {\n _Ob.call(this, a);\n }\n function Ixd(a) {\n zud.call(this, a);\n }\n function dCd(a) {\n ZBd.call(this, a);\n }\n function fCd(a) {\n ZBd.call(this, a);\n }\n function p_b() {\n q_b.call(this, \"\");\n }\n function d7c() {\n this.a = 0;\n this.b = 0;\n }\n function aPc() {\n this.b = 0;\n this.a = 0;\n }\n function NJd(a, b) {\n a.b = 0;\n DId(a, b);\n }\n function X1d(a, b) {\n a.c = b;\n a.b = true;\n }\n function Oc(a, b) {\n return a.c._b(b);\n }\n function gdb(a) {\n return a.e && a.e();\n }\n function Vd(a) {\n return !a ? null : a.d;\n }\n function sn(a, b) {\n return Gv(a.b, b);\n }\n function Fv(a) {\n return !a ? null : a.g;\n }\n function Kv(a) {\n return !a ? null : a.i;\n }\n function hdb(a) {\n fdb(a);\n return a.o;\n }\n function Fhd() {\n Fhd = ccb;\n Ehd = ond();\n }\n function Hhd() {\n Hhd = ccb;\n Ghd = Cod();\n }\n function LFd() {\n LFd = ccb;\n KFd = qZd();\n }\n function p8d() {\n p8d = ccb;\n o8d = Y9d();\n }\n function r8d() {\n r8d = ccb;\n q8d = dae();\n }\n function mvd() {\n mvd = ccb;\n lvd = n4c();\n }\n function Srb() {\n throw vbb(new bgb());\n }\n function enb() {\n throw vbb(new bgb());\n }\n function fnb() {\n throw vbb(new bgb());\n }\n function gnb() {\n throw vbb(new bgb());\n }\n function jnb() {\n throw vbb(new bgb());\n }\n function Cnb() {\n throw vbb(new bgb());\n }\n function Uqb(a) {\n this.a = new Mqb(a);\n }\n function tgb(a) {\n lgb();\n ngb(this, a);\n }\n function Hxb(a) {\n this.a = new Qwb(a);\n }\n function _ub(a, b) {\n while (a.ye(b))\n ;\n }\n function Sub(a, b) {\n while (a.sd(b))\n ;\n }\n function Bfb(a, b) {\n a.a += b;\n return a;\n }\n function Cfb(a, b) {\n a.a += b;\n return a;\n }\n function Ffb(a, b) {\n a.a += b;\n return a;\n }\n function Lfb(a, b) {\n a.a += b;\n return a;\n }\n function WAb(a) {\n Tzb(a);\n return a.a;\n }\n function Wsb(a) {\n return a.b != a.d.c;\n }\n function pD(a) {\n return a.l | a.m << 22;\n }\n function aIc(a, b) {\n return a.d[b.p];\n }\n function h2c(a, b) {\n return c2c(a, b);\n }\n function cCb(a, b, c2) {\n a.splice(b, c2);\n }\n function WHb(a) {\n a.c ? VHb(a) : XHb(a);\n }\n function jVc(a) {\n this.a = 0;\n this.b = a;\n }\n function ZUc() {\n this.a = new L2c(K$);\n }\n function tRc() {\n this.b = new L2c(h$);\n }\n function Q$c() {\n this.b = new L2c(J_);\n }\n function d_c() {\n this.b = new L2c(J_);\n }\n function OCd() {\n throw vbb(new bgb());\n }\n function PCd() {\n throw vbb(new bgb());\n }\n function QCd() {\n throw vbb(new bgb());\n }\n function RCd() {\n throw vbb(new bgb());\n }\n function SCd() {\n throw vbb(new bgb());\n }\n function TCd() {\n throw vbb(new bgb());\n }\n function UCd() {\n throw vbb(new bgb());\n }\n function VCd() {\n throw vbb(new bgb());\n }\n function WCd() {\n throw vbb(new bgb());\n }\n function XCd() {\n throw vbb(new bgb());\n }\n function ahe() {\n throw vbb(new utb());\n }\n function bhe() {\n throw vbb(new utb());\n }\n function Rge(a) {\n this.a = new ege(a);\n }\n function ege(a) {\n dge(this, a, Vee());\n }\n function Fhe(a) {\n return !a || Ehe(a);\n }\n function dde(a) {\n return $ce[a] != -1;\n }\n function Iz() {\n xz != 0 && (xz = 0);\n zz = -1;\n }\n function Ybb() {\n Wbb == null && (Wbb = []);\n }\n function ONd(a, b) {\n Rxd(ZKd(a.a), b);\n }\n function TNd(a, b) {\n Rxd(ZKd(a.a), b);\n }\n function Yf(a, b) {\n zf.call(this, a, b);\n }\n function $f(a, b) {\n Yf.call(this, a, b);\n }\n function Hf(a, b) {\n this.b = a;\n this.c = b;\n }\n function rk(a, b) {\n this.b = a;\n this.a = b;\n }\n function ek(a, b) {\n this.a = a;\n this.b = b;\n }\n function gk(a, b) {\n this.a = a;\n this.b = b;\n }\n function pk(a, b) {\n this.a = a;\n this.b = b;\n }\n function yk(a, b) {\n this.a = a;\n this.b = b;\n }\n function Ak(a, b) {\n this.a = a;\n this.b = b;\n }\n function Fj(a, b) {\n this.a = a;\n this.b = b;\n }\n function _j(a, b) {\n this.a = a;\n this.b = b;\n }\n function dr(a, b) {\n this.a = a;\n this.b = b;\n }\n function zr(a, b) {\n this.b = a;\n this.a = b;\n }\n function So(a, b) {\n this.b = a;\n this.a = b;\n }\n function qp(a, b) {\n this.b = a;\n this.a = b;\n }\n function $q(a, b) {\n this.b = a;\n this.a = b;\n }\n function $r(a, b) {\n this.f = a;\n this.g = b;\n }\n function ne(a, b) {\n this.e = a;\n this.d = b;\n }\n function Wo(a, b) {\n this.g = a;\n this.i = b;\n }\n function bu(a, b) {\n this.a = a;\n this.b = b;\n }\n function qu(a, b) {\n this.a = a;\n this.f = b;\n }\n function qv(a, b) {\n this.b = a;\n this.c = b;\n }\n function ox(a, b) {\n this.a = a;\n this.b = b;\n }\n function Px(a, b) {\n this.a = a;\n this.b = b;\n }\n function mC(a, b) {\n this.a = a;\n this.b = b;\n }\n function Wc(a) {\n Lb(a.dc());\n this.c = a;\n }\n function rf(a) {\n this.b = BD(Qb(a), 83);\n }\n function Zv(a) {\n this.a = BD(Qb(a), 83);\n }\n function dv(a) {\n this.a = BD(Qb(a), 15);\n }\n function $u(a) {\n this.a = BD(Qb(a), 15);\n }\n function Br(a) {\n this.b = BD(Qb(a), 47);\n }\n function eB() {\n this.q = new $wnd.Date();\n }\n function Zfb() {\n Zfb = ccb;\n Yfb = new jcb();\n }\n function Emb() {\n Emb = ccb;\n Dmb = new Fmb();\n }\n function Vhb(a) {\n return a.f.c + a.g.c;\n }\n function hnb(a, b) {\n return a.b.Hc(b);\n }\n function inb(a, b) {\n return a.b.Ic(b);\n }\n function knb(a, b) {\n return a.b.Qc(b);\n }\n function Dob(a, b) {\n return a.b.Hc(b);\n }\n function dob(a, b) {\n return a.c.uc(b);\n }\n function Rqb(a, b) {\n return a.a._b(b);\n }\n function fob(a, b) {\n return pb(a.c, b);\n }\n function jt(a, b) {\n return Mhb(a.b, b);\n }\n function Lp(a, b) {\n return a > b && b < Iie;\n }\n function Ryb(a, b) {\n return a.Gc(b), a;\n }\n function Syb(a, b) {\n return ye(a, b), a;\n }\n function sC(a) {\n return GB(), a ? FB : EB;\n }\n function Mqb(a) {\n Whb.call(this, a, 0);\n }\n function Pwb() {\n Qwb.call(this, null);\n }\n function yAb() {\n Vzb.call(this, null);\n }\n function Gqb(a) {\n this.c = a;\n Dqb(this);\n }\n function Psb() {\n Csb(this);\n Osb(this);\n }\n function MAb(a, b) {\n Tzb(a);\n a.a.Nb(b);\n }\n function Myb(a, b) {\n a.Gc(b);\n return a;\n }\n function qDb(a, b) {\n a.a.f = b;\n return a;\n }\n function wDb(a, b) {\n a.a.d = b;\n return a;\n }\n function xDb(a, b) {\n a.a.g = b;\n return a;\n }\n function yDb(a, b) {\n a.a.j = b;\n return a;\n }\n function BFb(a, b) {\n a.a.a = b;\n return a;\n }\n function CFb(a, b) {\n a.a.d = b;\n return a;\n }\n function DFb(a, b) {\n a.a.e = b;\n return a;\n }\n function EFb(a, b) {\n a.a.g = b;\n return a;\n }\n function oGb(a, b) {\n a.a.f = b;\n return a;\n }\n function TGb(a) {\n a.b = false;\n return a;\n }\n function Ltb() {\n Ltb = ccb;\n Ktb = new Otb();\n }\n function Utb() {\n Utb = ccb;\n Ttb = new Wtb();\n }\n function $xb() {\n $xb = ccb;\n Zxb = new byb();\n }\n function $Yb() {\n $Yb = ccb;\n ZYb = new dZb();\n }\n function cPb() {\n cPb = ccb;\n bPb = new dPb();\n }\n function EAb() {\n EAb = ccb;\n DAb = new PBb();\n }\n function a$b() {\n a$b = ccb;\n _Zb = new P$b();\n }\n function FDb() {\n FDb = ccb;\n EDb = new GDb();\n }\n function xUb() {\n xUb = ccb;\n wUb = new DUb();\n }\n function x2b() {\n x2b = ccb;\n w2b = new d7c();\n }\n function iVb() {\n iVb = ccb;\n hVb = new jVb();\n }\n function nVb() {\n nVb = ccb;\n mVb = new OVb();\n }\n function LWb() {\n LWb = ccb;\n KWb = new QWb();\n }\n function b4b() {\n b4b = ccb;\n a4b = new l4b();\n }\n function q9b() {\n q9b = ccb;\n p9b = new w9b();\n }\n function qgc() {\n qgc = ccb;\n pgc = new dic();\n }\n function Imc() {\n Imc = ccb;\n Hmc = new Wmc();\n }\n function GUc() {\n GUc = ccb;\n FUc = new j3c();\n }\n function i_c() {\n i_c = ccb;\n h_c = new k_c();\n }\n function s_c() {\n s_c = ccb;\n r_c = new t_c();\n }\n function R0c() {\n R0c = ccb;\n Q0c = new T0c();\n }\n function Vyc() {\n Vyc = ccb;\n Uyc = new Ved();\n }\n function DCc() {\n vCc();\n this.c = new Ji();\n }\n function k_c() {\n $r.call(this, Une, 0);\n }\n function r4c(a, b) {\n Xrb(a.c.b, b.c, b);\n }\n function s4c(a, b) {\n Xrb(a.c.c, b.b, b);\n }\n function B3c(a, b, c2) {\n Shb(a.d, b.f, c2);\n }\n function kKb(a, b, c2, d) {\n jKb(a, d, b, c2);\n }\n function E3b(a, b, c2, d) {\n J3b(d, a, b, c2);\n }\n function e9b(a, b, c2, d) {\n f9b(d, a, b, c2);\n }\n function g3c(a, b) {\n a.a = b.g;\n return a;\n }\n function DQd(a, b) {\n return qA(a.a, b);\n }\n function nQd(a) {\n return a.b ? a.b : a.a;\n }\n function $Oc(a) {\n return (a.c + a.a) / 2;\n }\n function Pgd() {\n Pgd = ccb;\n Ogd = new Ahd();\n }\n function AFd() {\n AFd = ccb;\n zFd = new BFd();\n }\n function tFd() {\n tFd = ccb;\n sFd = new vFd();\n }\n function EFd() {\n EFd = ccb;\n DFd = new GFd();\n }\n function yFd() {\n yFd = ccb;\n xFd = new oUd();\n }\n function JFd() {\n JFd = ccb;\n IFd = new cZd();\n }\n function nRd() {\n nRd = ccb;\n mRd = new u4d();\n }\n function LRd() {\n LRd = ccb;\n KRd = new y4d();\n }\n function g5d() {\n g5d = ccb;\n f5d = new h5d();\n }\n function Q6d() {\n Q6d = ccb;\n P6d = new U6d();\n }\n function pEd() {\n pEd = ccb;\n oEd = new Lqb();\n }\n function tZd() {\n tZd = ccb;\n rZd = new Rkb();\n }\n function Xge() {\n Xge = ccb;\n Wge = new dhe();\n }\n function Hz(a) {\n $wnd.clearTimeout(a);\n }\n function jw(a) {\n this.a = BD(Qb(a), 224);\n }\n function Lv(a) {\n return BD(a, 42).cd();\n }\n function sib(a) {\n return a.b < a.d.gc();\n }\n function Lpb(a, b) {\n return tqb(a.a, b);\n }\n function Dbb(a, b) {\n return ybb(a, b) > 0;\n }\n function Gbb(a, b) {\n return ybb(a, b) < 0;\n }\n function Crb(a, b) {\n return a.a.get(b);\n }\n function icb(b, a) {\n return a.split(b);\n }\n function Vrb(a, b) {\n return Mhb(a.e, b);\n }\n function Nvb(a) {\n return uCb(a), false;\n }\n function Rub(a) {\n Kub.call(this, a, 21);\n }\n function wcb(a, b) {\n Zy.call(this, a, b);\n }\n function mxb(a, b) {\n $r.call(this, a, b);\n }\n function Gyb(a, b) {\n $r.call(this, a, b);\n }\n function zx(a) {\n yx();\n Wn.call(this, a);\n }\n function zlb(a, b) {\n Dlb(a, a.length, b);\n }\n function Alb(a, b) {\n Flb(a, a.length, b);\n }\n function ABb(a, b, c2) {\n b.ud(a.a.Ge(c2));\n }\n function uBb(a, b, c2) {\n b.we(a.a.Fe(c2));\n }\n function GBb(a, b, c2) {\n b.td(a.a.Kb(c2));\n }\n function Zq(a, b, c2) {\n a.Mb(c2) && b.td(c2);\n }\n function aCb(a, b, c2) {\n a.splice(b, 0, c2);\n }\n function lDb(a, b) {\n return uqb(a.e, b);\n }\n function pjb(a, b) {\n this.d = a;\n this.e = b;\n }\n function kqb(a, b) {\n this.b = a;\n this.a = b;\n }\n function VBb(a, b) {\n this.b = a;\n this.a = b;\n }\n function BEb(a, b) {\n this.b = a;\n this.a = b;\n }\n function sBb(a, b) {\n this.a = a;\n this.b = b;\n }\n function yBb(a, b) {\n this.a = a;\n this.b = b;\n }\n function EBb(a, b) {\n this.a = a;\n this.b = b;\n }\n function KBb(a, b) {\n this.a = a;\n this.b = b;\n }\n function aDb(a, b) {\n this.a = a;\n this.b = b;\n }\n function tMb(a, b) {\n this.b = a;\n this.a = b;\n }\n function oOb(a, b) {\n this.b = a;\n this.a = b;\n }\n function SOb(a, b) {\n $r.call(this, a, b);\n }\n function SMb(a, b) {\n $r.call(this, a, b);\n }\n function NEb(a, b) {\n $r.call(this, a, b);\n }\n function VEb(a, b) {\n $r.call(this, a, b);\n }\n function sFb(a, b) {\n $r.call(this, a, b);\n }\n function hHb(a, b) {\n $r.call(this, a, b);\n }\n function OHb(a, b) {\n $r.call(this, a, b);\n }\n function FIb(a, b) {\n $r.call(this, a, b);\n }\n function wLb(a, b) {\n $r.call(this, a, b);\n }\n function YRb(a, b) {\n $r.call(this, a, b);\n }\n function zTb(a, b) {\n $r.call(this, a, b);\n }\n function rUb(a, b) {\n $r.call(this, a, b);\n }\n function oWb(a, b) {\n $r.call(this, a, b);\n }\n function SXb(a, b) {\n $r.call(this, a, b);\n }\n function k0b(a, b) {\n $r.call(this, a, b);\n }\n function z5b(a, b) {\n $r.call(this, a, b);\n }\n function T8b(a, b) {\n $r.call(this, a, b);\n }\n function ibc(a, b) {\n $r.call(this, a, b);\n }\n function Cec(a, b) {\n this.a = a;\n this.b = b;\n }\n function rfc(a, b) {\n this.a = a;\n this.b = b;\n }\n function Rfc(a, b) {\n this.a = a;\n this.b = b;\n }\n function Tfc(a, b) {\n this.a = a;\n this.b = b;\n }\n function bgc(a, b) {\n this.a = a;\n this.b = b;\n }\n function ngc(a, b) {\n this.a = a;\n this.b = b;\n }\n function Qhc(a, b) {\n this.a = a;\n this.b = b;\n }\n function $hc(a, b) {\n this.a = a;\n this.b = b;\n }\n function Z0b(a, b) {\n this.a = a;\n this.b = b;\n }\n function ZVb(a, b) {\n this.b = a;\n this.a = b;\n }\n function Dfc(a, b) {\n this.b = a;\n this.a = b;\n }\n function dgc(a, b) {\n this.b = a;\n this.a = b;\n }\n function Bmc(a, b) {\n this.b = a;\n this.a = b;\n }\n function cWb(a, b) {\n this.c = a;\n this.d = b;\n }\n function I$b(a, b) {\n this.e = a;\n this.d = b;\n }\n function Unc(a, b) {\n this.a = a;\n this.b = b;\n }\n function Oic(a, b) {\n this.b = b;\n this.c = a;\n }\n function Bjc(a, b) {\n $r.call(this, a, b);\n }\n function Yjc(a, b) {\n $r.call(this, a, b);\n }\n function Gkc(a, b) {\n $r.call(this, a, b);\n }\n function Bpc(a, b) {\n $r.call(this, a, b);\n }\n function Jpc(a, b) {\n $r.call(this, a, b);\n }\n function Tpc(a, b) {\n $r.call(this, a, b);\n }\n function cqc(a, b) {\n $r.call(this, a, b);\n }\n function oqc(a, b) {\n $r.call(this, a, b);\n }\n function yqc(a, b) {\n $r.call(this, a, b);\n }\n function Hqc(a, b) {\n $r.call(this, a, b);\n }\n function Uqc(a, b) {\n $r.call(this, a, b);\n }\n function arc(a, b) {\n $r.call(this, a, b);\n }\n function mrc(a, b) {\n $r.call(this, a, b);\n }\n function zrc(a, b) {\n $r.call(this, a, b);\n }\n function Prc(a, b) {\n $r.call(this, a, b);\n }\n function Yrc(a, b) {\n $r.call(this, a, b);\n }\n function fsc(a, b) {\n $r.call(this, a, b);\n }\n function nsc(a, b) {\n $r.call(this, a, b);\n }\n function nzc(a, b) {\n $r.call(this, a, b);\n }\n function zzc(a, b) {\n $r.call(this, a, b);\n }\n function Kzc(a, b) {\n $r.call(this, a, b);\n }\n function Xzc(a, b) {\n $r.call(this, a, b);\n }\n function Dtc(a, b) {\n $r.call(this, a, b);\n }\n function lAc(a, b) {\n $r.call(this, a, b);\n }\n function uAc(a, b) {\n $r.call(this, a, b);\n }\n function CAc(a, b) {\n $r.call(this, a, b);\n }\n function LAc(a, b) {\n $r.call(this, a, b);\n }\n function UAc(a, b) {\n $r.call(this, a, b);\n }\n function aBc(a, b) {\n $r.call(this, a, b);\n }\n function uBc(a, b) {\n $r.call(this, a, b);\n }\n function DBc(a, b) {\n $r.call(this, a, b);\n }\n function MBc(a, b) {\n $r.call(this, a, b);\n }\n function sGc(a, b) {\n $r.call(this, a, b);\n }\n function VIc(a, b) {\n $r.call(this, a, b);\n }\n function EIc(a, b) {\n this.b = a;\n this.a = b;\n }\n function qKc(a, b) {\n this.a = a;\n this.b = b;\n }\n function GKc(a, b) {\n this.a = a;\n this.b = b;\n }\n function lLc(a, b) {\n this.a = a;\n this.b = b;\n }\n function mMc(a, b) {\n this.a = a;\n this.b = b;\n }\n function fMc(a, b) {\n $r.call(this, a, b);\n }\n function ZLc(a, b) {\n $r.call(this, a, b);\n }\n function ZMc(a, b) {\n this.b = a;\n this.d = b;\n }\n function IOc(a, b) {\n $r.call(this, a, b);\n }\n function GQc(a, b) {\n $r.call(this, a, b);\n }\n function PQc(a, b) {\n this.a = a;\n this.b = b;\n }\n function RQc(a, b) {\n this.a = a;\n this.b = b;\n }\n function ARc(a, b) {\n $r.call(this, a, b);\n }\n function rSc(a, b) {\n $r.call(this, a, b);\n }\n function TTc(a, b) {\n $r.call(this, a, b);\n }\n function _Tc(a, b) {\n $r.call(this, a, b);\n }\n function RUc(a, b) {\n $r.call(this, a, b);\n }\n function uVc(a, b) {\n $r.call(this, a, b);\n }\n function hWc(a, b) {\n $r.call(this, a, b);\n }\n function rWc(a, b) {\n $r.call(this, a, b);\n }\n function kXc(a, b) {\n $r.call(this, a, b);\n }\n function uXc(a, b) {\n $r.call(this, a, b);\n }\n function AYc(a, b) {\n $r.call(this, a, b);\n }\n function l$c(a, b) {\n $r.call(this, a, b);\n }\n function Z$c(a, b) {\n $r.call(this, a, b);\n }\n function D_c(a, b) {\n $r.call(this, a, b);\n }\n function O_c(a, b) {\n $r.call(this, a, b);\n }\n function c1c(a, b) {\n $r.call(this, a, b);\n }\n function cVb(a, b) {\n return uqb(a.c, b);\n }\n function nnc(a, b) {\n return uqb(b.b, a);\n }\n function x1c(a, b) {\n return -a.b.Je(b);\n }\n function D3c(a, b) {\n return uqb(a.g, b);\n }\n function O5c(a, b) {\n $r.call(this, a, b);\n }\n function a6c(a, b) {\n $r.call(this, a, b);\n }\n function m2c(a, b) {\n this.a = a;\n this.b = b;\n }\n function W2c(a, b) {\n this.a = a;\n this.b = b;\n }\n function f7c(a, b) {\n this.a = a;\n this.b = b;\n }\n function G7c(a, b) {\n $r.call(this, a, b);\n }\n function j8c(a, b) {\n $r.call(this, a, b);\n }\n function iad(a, b) {\n $r.call(this, a, b);\n }\n function rad(a, b) {\n $r.call(this, a, b);\n }\n function Bad(a, b) {\n $r.call(this, a, b);\n }\n function Nad(a, b) {\n $r.call(this, a, b);\n }\n function ibd(a, b) {\n $r.call(this, a, b);\n }\n function tbd(a, b) {\n $r.call(this, a, b);\n }\n function Ibd(a, b) {\n $r.call(this, a, b);\n }\n function Ubd(a, b) {\n $r.call(this, a, b);\n }\n function gcd(a, b) {\n $r.call(this, a, b);\n }\n function scd(a, b) {\n $r.call(this, a, b);\n }\n function Ycd(a, b) {\n $r.call(this, a, b);\n }\n function udd(a, b) {\n $r.call(this, a, b);\n }\n function Jdd(a, b) {\n $r.call(this, a, b);\n }\n function Eed(a, b) {\n $r.call(this, a, b);\n }\n function bfd(a, b) {\n this.a = a;\n this.b = b;\n }\n function dfd(a, b) {\n this.a = a;\n this.b = b;\n }\n function ffd(a, b) {\n this.a = a;\n this.b = b;\n }\n function Kfd(a, b) {\n this.a = a;\n this.b = b;\n }\n function Mfd(a, b) {\n this.a = a;\n this.b = b;\n }\n function Ofd(a, b) {\n this.a = a;\n this.b = b;\n }\n function vgd(a, b) {\n this.a = a;\n this.b = b;\n }\n function qgd(a, b) {\n $r.call(this, a, b);\n }\n function jrd(a, b) {\n this.a = a;\n this.b = b;\n }\n function krd(a, b) {\n this.a = a;\n this.b = b;\n }\n function mrd(a, b) {\n this.a = a;\n this.b = b;\n }\n function nrd(a, b) {\n this.a = a;\n this.b = b;\n }\n function qrd(a, b) {\n this.a = a;\n this.b = b;\n }\n function rrd(a, b) {\n this.a = a;\n this.b = b;\n }\n function srd(a, b) {\n this.b = a;\n this.a = b;\n }\n function trd(a, b) {\n this.b = a;\n this.a = b;\n }\n function Drd(a, b) {\n this.b = a;\n this.a = b;\n }\n function Frd(a, b) {\n this.b = a;\n this.a = b;\n }\n function Hrd(a, b) {\n this.a = a;\n this.b = b;\n }\n function Jrd(a, b) {\n this.a = a;\n this.b = b;\n }\n function Ord(a, b) {\n Xqd(a.a, BD(b, 56));\n }\n function BIc(a, b) {\n gIc(a.a, BD(b, 11));\n }\n function fIc(a, b) {\n FHc();\n return b != a;\n }\n function Arb() {\n wrb();\n return new vrb();\n }\n function CMc() {\n wMc();\n this.b = new Tqb();\n }\n function NNc() {\n FNc();\n this.a = new Tqb();\n }\n function eCc() {\n ZBc();\n aCc.call(this);\n }\n function Dsd(a, b) {\n $r.call(this, a, b);\n }\n function Urd(a, b) {\n this.a = a;\n this.b = b;\n }\n function Wrd(a, b) {\n this.a = a;\n this.b = b;\n }\n function kGd(a, b) {\n this.a = a;\n this.b = b;\n }\n function nGd(a, b) {\n this.a = a;\n this.b = b;\n }\n function bUd(a, b) {\n this.a = a;\n this.b = b;\n }\n function zVd(a, b) {\n this.a = a;\n this.b = b;\n }\n function C1d(a, b) {\n this.d = a;\n this.b = b;\n }\n function MLd(a, b) {\n this.d = a;\n this.e = b;\n }\n function Wud(a, b) {\n this.f = a;\n this.c = b;\n }\n function f7d(a, b) {\n this.b = a;\n this.c = b;\n }\n function _zd(a, b) {\n this.i = a;\n this.g = b;\n }\n function Y1d(a, b) {\n this.e = a;\n this.a = b;\n }\n function c8d(a, b) {\n this.a = a;\n this.b = b;\n }\n function $Id(a, b) {\n a.i = null;\n _Id(a, b);\n }\n function ivd(a, b) {\n !!a && Rhb(cvd, a, b);\n }\n function hCd(a, b) {\n return qAd(a.a, b);\n }\n function e7d(a) {\n return R2d(a.c, a.b);\n }\n function Wd(a) {\n return !a ? null : a.dd();\n }\n function PD(a) {\n return a == null ? null : a;\n }\n function KD(a) {\n return typeof a === Khe;\n }\n function LD(a) {\n return typeof a === Lhe;\n }\n function ND(a) {\n return typeof a === Mhe;\n }\n function Em(a, b) {\n return a.Hd().Xb(b);\n }\n function Kq(a, b) {\n return hr(a.Kc(), b);\n }\n function Bbb(a, b) {\n return ybb(a, b) == 0;\n }\n function Ebb(a, b) {\n return ybb(a, b) >= 0;\n }\n function Kbb(a, b) {\n return ybb(a, b) != 0;\n }\n function Jdb(a) {\n return \"\" + (uCb(a), a);\n }\n function pfb(a, b) {\n return a.substr(b);\n }\n function cg(a) {\n ag(a);\n return a.d.gc();\n }\n function oVb(a) {\n pVb(a, a.c);\n return a;\n }\n function RD(a) {\n CCb(a == null);\n return a;\n }\n function Dfb(a, b) {\n a.a += \"\" + b;\n return a;\n }\n function Efb(a, b) {\n a.a += \"\" + b;\n return a;\n }\n function Nfb(a, b) {\n a.a += \"\" + b;\n return a;\n }\n function Pfb(a, b) {\n a.a += \"\" + b;\n return a;\n }\n function Qfb(a, b) {\n a.a += \"\" + b;\n return a;\n }\n function Mfb(a, b) {\n return a.a += \"\" + b, a;\n }\n function Esb(a, b) {\n Gsb(a, b, a.a, a.a.a);\n }\n function Fsb(a, b) {\n Gsb(a, b, a.c.b, a.c);\n }\n function Mqd(a, b, c2) {\n Rpd(b, kqd(a, c2));\n }\n function Nqd(a, b, c2) {\n Rpd(b, kqd(a, c2));\n }\n function Dhe(a, b) {\n Hhe(new Fyd(a), b);\n }\n function cB(a, b) {\n a.q.setTime(Sbb(b));\n }\n function fvb(a, b) {\n bvb.call(this, a, b);\n }\n function jvb(a, b) {\n bvb.call(this, a, b);\n }\n function nvb(a, b) {\n bvb.call(this, a, b);\n }\n function Nqb(a) {\n Uhb(this);\n Ld(this, a);\n }\n function wmb(a) {\n tCb(a, 0);\n return null;\n }\n function X6c(a) {\n a.a = 0;\n a.b = 0;\n return a;\n }\n function f3c(a, b) {\n a.a = b.g + 1;\n return a;\n }\n function PJc(a, b) {\n return a.j[b.p] == 2;\n }\n function _Pb(a) {\n return VPb(BD(a, 79));\n }\n function yJb() {\n yJb = ccb;\n xJb = as(wJb());\n }\n function Y8b() {\n Y8b = ccb;\n X8b = as(W8b());\n }\n function mt() {\n this.b = new Mqb(Cv(12));\n }\n function Otb() {\n this.b = 0;\n this.a = false;\n }\n function Wtb() {\n this.b = 0;\n this.a = false;\n }\n function sl(a) {\n this.a = a;\n ol.call(this);\n }\n function vl(a) {\n this.a = a;\n ol.call(this);\n }\n function Nsd(a, b) {\n Msd.call(this, a, b);\n }\n function $zd(a, b) {\n Cyd.call(this, a, b);\n }\n function nNd(a, b) {\n _zd.call(this, a, b);\n }\n function s4d(a, b) {\n p4d.call(this, a, b);\n }\n function w4d(a, b) {\n qRd.call(this, a, b);\n }\n function rEd(a, b) {\n pEd();\n Rhb(oEd, a, b);\n }\n function lcb(a, b) {\n return qfb(a.a, 0, b);\n }\n function ww(a, b) {\n return a.a.a.a.cc(b);\n }\n function mb(a, b) {\n return PD(a) === PD(b);\n }\n function Mdb(a, b) {\n return Kdb(a.a, b.a);\n }\n function $db(a, b) {\n return beb(a.a, b.a);\n }\n function seb(a, b) {\n return ueb(a.a, b.a);\n }\n function hfb(a, b) {\n return a.indexOf(b);\n }\n function Ny(a, b) {\n return a == b ? 0 : a ? 1 : -1;\n }\n function kB(a) {\n return a < 10 ? \"0\" + a : \"\" + a;\n }\n function Mq(a) {\n return Qb(a), new sl(a);\n }\n function SC(a) {\n return TC(a.l, a.m, a.h);\n }\n function Hdb(a) {\n return QD((uCb(a), a));\n }\n function Idb(a) {\n return QD((uCb(a), a));\n }\n function NIb(a, b) {\n return beb(a.g, b.g);\n }\n function Fbb(a) {\n return typeof a === Lhe;\n }\n function mWb(a) {\n return a == hWb || a == kWb;\n }\n function nWb(a) {\n return a == hWb || a == iWb;\n }\n function G1b(a) {\n return Jkb(a.b.b, a, 0);\n }\n function lrb(a) {\n this.a = Arb();\n this.b = a;\n }\n function Frb(a) {\n this.a = Arb();\n this.b = a;\n }\n function swb(a, b) {\n Ekb(a.a, b);\n return b;\n }\n function Z1c(a, b) {\n Ekb(a.c, b);\n return a;\n }\n function E2c(a, b) {\n d3c(a.a, b);\n return a;\n }\n function _gc(a, b) {\n Hgc();\n return b.a += a;\n }\n function bhc(a, b) {\n Hgc();\n return b.a += a;\n }\n function ahc(a, b) {\n Hgc();\n return b.c += a;\n }\n function Nlb(a, b) {\n Klb(a, 0, a.length, b);\n }\n function zsb() {\n Wqb.call(this, new $rb());\n }\n function I_b() {\n B_b.call(this, 0, 0, 0, 0);\n }\n function I6c() {\n J6c.call(this, 0, 0, 0, 0);\n }\n function g7c(a) {\n this.a = a.a;\n this.b = a.b;\n }\n function fad(a) {\n return a == aad || a == bad;\n }\n function gad(a) {\n return a == dad || a == _9c;\n }\n function Jzc(a) {\n return a == Fzc || a == Ezc;\n }\n function fcd(a) {\n return a != bcd && a != ccd;\n }\n function oid(a) {\n return a.Lg() && a.Mg();\n }\n function Gfd(a) {\n return Kkd(BD(a, 118));\n }\n function k3c(a) {\n return d3c(new j3c(), a);\n }\n function y2d(a, b) {\n return new p4d(b, a);\n }\n function z2d(a, b) {\n return new p4d(b, a);\n }\n function ukd(a, b, c2) {\n vkd(a, b);\n wkd(a, c2);\n }\n function _kd(a, b, c2) {\n cld(a, b);\n ald(a, c2);\n }\n function bld(a, b, c2) {\n dld(a, b);\n eld(a, c2);\n }\n function gmd(a, b, c2) {\n hmd(a, b);\n imd(a, c2);\n }\n function nmd(a, b, c2) {\n omd(a, b);\n pmd(a, c2);\n }\n function iKd(a, b) {\n $Jd(a, b);\n _Jd(a, a.D);\n }\n function _ud(a) {\n Wud.call(this, a, true);\n }\n function Xg(a, b, c2) {\n Vg.call(this, a, b, c2);\n }\n function Ygb(a) {\n Hgb();\n Zgb.call(this, a);\n }\n function rxb() {\n mxb.call(this, \"Head\", 1);\n }\n function wxb() {\n mxb.call(this, \"Tail\", 3);\n }\n function Ckb(a) {\n a.c = KC(SI, Uhe, 1, 0, 5, 1);\n }\n function Vjb(a) {\n a.a = KC(SI, Uhe, 1, 8, 5, 1);\n }\n function MGb(a) {\n Hkb(a.xf(), new QGb(a));\n }\n function xtb(a) {\n return a != null ? tb(a) : 0;\n }\n function b2b(a, b) {\n return ntd(b, mpd(a));\n }\n function c2b(a, b) {\n return ntd(b, mpd(a));\n }\n function dAb(a, b) {\n return a[a.length] = b;\n }\n function gAb(a, b) {\n return a[a.length] = b;\n }\n function Vq(a) {\n return lr(a.b.Kc(), a.a);\n }\n function dqd(a, b) {\n return _o(qo(a.d), b);\n }\n function eqd(a, b) {\n return _o(qo(a.g), b);\n }\n function fqd(a, b) {\n return _o(qo(a.j), b);\n }\n function Osd(a, b) {\n Msd.call(this, a.b, b);\n }\n function q0b(a) {\n B_b.call(this, a, a, a, a);\n }\n function HOb(a) {\n a.b && LOb(a);\n return a.a;\n }\n function IOb(a) {\n a.b && LOb(a);\n return a.c;\n }\n function uyb(a, b) {\n if (lyb) {\n return;\n }\n a.b = b;\n }\n function lzd(a, b, c2) {\n NC(a, b, c2);\n return c2;\n }\n function mBc(a, b, c2) {\n NC(a.c[b.g], b.g, c2);\n }\n function _Hd(a, b, c2) {\n BD(a.c, 69).Xh(b, c2);\n }\n function wfd(a, b, c2) {\n bld(c2, c2.i + a, c2.j + b);\n }\n function UOd(a, b) {\n wtd(VKd(a.a), XOd(b));\n }\n function bTd(a, b) {\n wtd(QSd(a.a), eTd(b));\n }\n function Lge(a) {\n wfe();\n xfe.call(this, a);\n }\n function CAd(a) {\n return a == null ? 0 : tb(a);\n }\n function fNc() {\n fNc = ccb;\n eNc = new Rpb(v1);\n }\n function h0d() {\n h0d = ccb;\n new i0d();\n new Rkb();\n }\n function i0d() {\n new Lqb();\n new Lqb();\n new Lqb();\n }\n function GA() {\n GA = ccb;\n fA();\n FA = new Lqb();\n }\n function Iy() {\n Iy = ccb;\n $wnd.Math.log(2);\n }\n function UVd() {\n UVd = ccb;\n TVd = (AFd(), zFd);\n }\n function _ge() {\n throw vbb(new cgb(Cxe));\n }\n function ohe() {\n throw vbb(new cgb(Cxe));\n }\n function che() {\n throw vbb(new cgb(Dxe));\n }\n function rhe() {\n throw vbb(new cgb(Dxe));\n }\n function Mg(a) {\n this.a = a;\n Gg.call(this, a);\n }\n function up(a) {\n this.a = a;\n rf.call(this, a);\n }\n function Bp(a) {\n this.a = a;\n rf.call(this, a);\n }\n function Okb(a, b) {\n Mlb(a.c, a.c.length, b);\n }\n function llb(a) {\n return a.a < a.c.c.length;\n }\n function Eqb(a) {\n return a.a < a.c.a.length;\n }\n function Ntb(a, b) {\n return a.a ? a.b : b.De();\n }\n function beb(a, b) {\n return a < b ? -1 : a > b ? 1 : 0;\n }\n function Deb(a, b) {\n return ybb(a, b) > 0 ? a : b;\n }\n function TC(a, b, c2) {\n return { l: a, m: b, h: c2 };\n }\n function Ctb(a, b) {\n a.a != null && BIc(b, a.a);\n }\n function Csb(a) {\n a.a = new jtb();\n a.c = new jtb();\n }\n function hDb(a) {\n this.b = a;\n this.a = new Rkb();\n }\n function dOb(a) {\n this.b = new pOb();\n this.a = a;\n }\n function q_b(a) {\n n_b.call(this);\n this.a = a;\n }\n function txb() {\n mxb.call(this, \"Range\", 2);\n }\n function bUb() {\n ZTb();\n this.a = new L2c(zP);\n }\n function Bh(a, b) {\n Qb(b);\n Ah(a).Jc(new Vw());\n }\n function fKc(a, b) {\n FJc();\n return b.n.b += a;\n }\n function Tgc(a, b, c2) {\n return Rhb(a.g, c2, b);\n }\n function LJc(a, b, c2) {\n return Rhb(a.k, c2, b);\n }\n function r1c(a, b) {\n return Rhb(a.a, b.a, b);\n }\n function jBc(a, b, c2) {\n return hBc(b, c2, a.c);\n }\n function E6c(a) {\n return new f7c(a.c, a.d);\n }\n function F6c(a) {\n return new f7c(a.c, a.d);\n }\n function R6c(a) {\n return new f7c(a.a, a.b);\n }\n function CQd(a, b) {\n return hA(a.a, b, null);\n }\n function fec(a) {\n QZb(a, null);\n RZb(a, null);\n }\n function AOc(a) {\n BOc(a, null);\n COc(a, null);\n }\n function u4d() {\n qRd.call(this, null, null);\n }\n function y4d() {\n RRd.call(this, null, null);\n }\n function a7d(a) {\n this.a = a;\n Lqb.call(this);\n }\n function Pp(a) {\n this.b = (mmb(), new iob(a));\n }\n function Py(a) {\n a.j = KC(VI, nie, 310, 0, 0, 1);\n }\n function oAd(a, b, c2) {\n a.c.Vc(b, BD(c2, 133));\n }\n function GAd(a, b, c2) {\n a.c.ji(b, BD(c2, 133));\n }\n function JLd(a, b) {\n Uxd(a);\n a.Gc(BD(b, 15));\n }\n function b7d(a, b) {\n return t2d(a.c, a.b, b);\n }\n function Bv(a, b) {\n return new Qv(a.Kc(), b);\n }\n function Lq(a, b) {\n return rr(a.Kc(), b) != -1;\n }\n function Sqb(a, b) {\n return a.a.Bc(b) != null;\n }\n function pr(a) {\n return a.Ob() ? a.Pb() : null;\n }\n function yfb(a) {\n return zfb(a, 0, a.length);\n }\n function JD(a, b) {\n return a != null && AD(a, b);\n }\n function $A(a, b) {\n a.q.setHours(b);\n YA(a, b);\n }\n function Yrb(a, b) {\n if (a.c) {\n jsb(b);\n isb(b);\n }\n }\n function nk(a, b, c2) {\n BD(a.Kb(c2), 164).Nb(b);\n }\n function RJc(a, b, c2) {\n SJc(a, b, c2);\n return c2;\n }\n function Eub(a, b, c2) {\n a.a = b ^ 1502;\n a.b = c2 ^ kke;\n }\n function xHb(a, b, c2) {\n return a.a[b.g][c2.g];\n }\n function REc(a, b) {\n return a.a[b.c.p][b.p];\n }\n function aEc(a, b) {\n return a.e[b.c.p][b.p];\n }\n function tEc(a, b) {\n return a.c[b.c.p][b.p];\n }\n function OJc(a, b) {\n return a.j[b.p] = aKc(b);\n }\n function k5c(a, b) {\n return cfb(a.f, b.tg());\n }\n function Isd(a, b) {\n return cfb(a.b, b.tg());\n }\n function Sfd(a, b) {\n return a.a < Kcb(b) ? -1 : 1;\n }\n function ZDc(a, b, c2) {\n return c2 ? b != 0 : b != a - 1;\n }\n function _6c(a, b, c2) {\n a.a = b;\n a.b = c2;\n return a;\n }\n function Y6c(a, b) {\n a.a *= b;\n a.b *= b;\n return a;\n }\n function mud(a, b, c2) {\n NC(a.g, b, c2);\n return c2;\n }\n function CHb(a, b, c2, d) {\n NC(a.a[b.g], c2.g, d);\n }\n function EQb(a, b) {\n O6c(b, a.a.a.a, a.a.a.b);\n }\n function Ozd(a) {\n a.a = BD(Ajd(a.b.a, 4), 126);\n }\n function Wzd(a) {\n a.a = BD(Ajd(a.b.a, 4), 126);\n }\n function otd(a) {\n ytb(a, hue2);\n Rld(a, gtd(a));\n }\n function Atb() {\n Atb = ccb;\n ztb = new Ftb(null);\n }\n function Ivb() {\n Ivb = ccb;\n Ivb();\n Hvb = new Ovb();\n }\n function FId() {\n this.Bb |= 256;\n this.Bb |= 512;\n }\n function Fyd(a) {\n this.i = a;\n this.f = this.i.j;\n }\n function xMd(a, b, c2) {\n pMd.call(this, a, b, c2);\n }\n function BMd(a, b, c2) {\n xMd.call(this, a, b, c2);\n }\n function K4d(a, b, c2) {\n xMd.call(this, a, b, c2);\n }\n function N4d(a, b, c2) {\n BMd.call(this, a, b, c2);\n }\n function X4d(a, b, c2) {\n pMd.call(this, a, b, c2);\n }\n function _4d(a, b, c2) {\n pMd.call(this, a, b, c2);\n }\n function C4d(a, b, c2) {\n k2d.call(this, a, b, c2);\n }\n function G4d(a, b, c2) {\n k2d.call(this, a, b, c2);\n }\n function I4d(a, b, c2) {\n C4d.call(this, a, b, c2);\n }\n function c5d(a, b, c2) {\n X4d.call(this, a, b, c2);\n }\n function zf(a, b) {\n this.a = a;\n rf.call(this, b);\n }\n function aj(a, b) {\n this.a = a;\n pc.call(this, b);\n }\n function kj(a, b) {\n this.a = a;\n pc.call(this, b);\n }\n function Jj(a, b) {\n this.a = a;\n pc.call(this, b);\n }\n function Rj(a) {\n this.a = a;\n sj.call(this, a.d);\n }\n function she(a) {\n this.c = a;\n this.a = this.c.a;\n }\n function xl(a, b) {\n this.a = b;\n pc.call(this, a);\n }\n function Qo(a, b) {\n this.a = b;\n Lo.call(this, a);\n }\n function op(a, b) {\n this.a = a;\n Lo.call(this, b);\n }\n function rj(a, b) {\n return Rl(Xm(a.c)).Xb(b);\n }\n function Eb(a, b) {\n return Db(a, new Ufb(), b).a;\n }\n function ur(a, b) {\n Qb(b);\n return new Gr(a, b);\n }\n function Gr(a, b) {\n this.a = b;\n Br.call(this, a);\n }\n function Hs(a) {\n this.b = a;\n this.a = this.b.a.e;\n }\n function Eg(a) {\n a.b.Qb();\n --a.d.f.d;\n bg(a.d);\n }\n function Uk(a) {\n Fk.call(this, BD(Qb(a), 35));\n }\n function il(a) {\n Fk.call(this, BD(Qb(a), 35));\n }\n function is() {\n $r.call(this, \"INSTANCE\", 0);\n }\n function Lb(a) {\n if (!a) {\n throw vbb(new Vdb());\n }\n }\n function Ub(a) {\n if (!a) {\n throw vbb(new Ydb());\n }\n }\n function ot(a) {\n if (!a) {\n throw vbb(new utb());\n }\n }\n function I6d() {\n I6d = ccb;\n g5d();\n H6d = new J6d();\n }\n function Bcb() {\n Bcb = ccb;\n zcb = false;\n Acb = true;\n }\n function Jfb(a) {\n mcb.call(this, (uCb(a), a));\n }\n function Wfb(a) {\n mcb.call(this, (uCb(a), a));\n }\n function Inb(a) {\n lnb.call(this, a);\n this.a = a;\n }\n function Xnb(a) {\n Dnb.call(this, a);\n this.a = a;\n }\n function Zob(a) {\n zob.call(this, a);\n this.a = a;\n }\n function Xy() {\n Py(this);\n Ry(this);\n this._d();\n }\n function Qv(a, b) {\n this.a = b;\n Br.call(this, a);\n }\n function au(a, b) {\n return new xu(a.a, a.b, b);\n }\n function kfb(a, b) {\n return a.lastIndexOf(b);\n }\n function ifb(a, b, c2) {\n return a.indexOf(b, c2);\n }\n function xfb(a) {\n return a == null ? Xhe : fcb(a);\n }\n function nz(a) {\n return a == null ? null : a.name;\n }\n function Etb(a) {\n return a.a != null ? a.a : null;\n }\n function or(a) {\n return Wsb(a.a) ? nr(a) : null;\n }\n function Fxb(a, b) {\n return Jwb(a.a, b) != null;\n }\n function uqb(a, b) {\n return !!b && a.b[b.g] == b;\n }\n function FCb(a) {\n return a.$H || (a.$H = ++ECb);\n }\n function aD(a) {\n return a.l + a.m * Hje + a.h * Ije;\n }\n function pDb(a, b) {\n Ekb(b.a, a.a);\n return a.a;\n }\n function vDb(a, b) {\n Ekb(b.b, a.a);\n return a.a;\n }\n function nGb(a, b) {\n Ekb(b.a, a.a);\n return a.a;\n }\n function Btb(a) {\n sCb(a.a != null);\n return a.a;\n }\n function Asb(a) {\n Wqb.call(this, new _rb(a));\n }\n function GUb(a, b) {\n HUb.call(this, a, b, null);\n }\n function cxb(a) {\n this.a = a;\n Bjb.call(this, a);\n }\n function CKb() {\n CKb = ccb;\n BKb = new Msd(tle, 0);\n }\n function NFb(a, b) {\n ++a.b;\n return Ekb(a.a, b);\n }\n function OFb(a, b) {\n ++a.b;\n return Lkb(a.a, b);\n }\n function n6b(a, b) {\n return Kdb(a.n.a, b.n.a);\n }\n function WKb(a, b) {\n return Kdb(a.c.d, b.c.d);\n }\n function gLb(a, b) {\n return Kdb(a.c.c, b.c.c);\n }\n function zXb(a, b) {\n return BD(Qc(a.b, b), 15);\n }\n function s7b(a, b) {\n return a.n.b = (uCb(b), b);\n }\n function t7b(a, b) {\n return a.n.b = (uCb(b), b);\n }\n function a1b(a) {\n return llb(a.a) || llb(a.b);\n }\n function fBc(a, b, c2) {\n return gBc(a, b, c2, a.b);\n }\n function iBc(a, b, c2) {\n return gBc(a, b, c2, a.c);\n }\n function i3c(a, b, c2) {\n BD(B2c(a, b), 21).Fc(c2);\n }\n function xBd(a, b, c2) {\n vAd(a.a, c2);\n uAd(a.a, b);\n }\n function qRd(a, b) {\n nRd();\n this.a = a;\n this.b = b;\n }\n function RRd(a, b) {\n LRd();\n this.b = a;\n this.c = b;\n }\n function hhd(a, b) {\n Rgd();\n this.f = b;\n this.d = a;\n }\n function qc(a, b) {\n Sb(b, a);\n this.d = a;\n this.c = b;\n }\n function n5b(a) {\n var b;\n b = a.a;\n a.a = a.b;\n a.b = b;\n }\n function chc(a) {\n Hgc();\n return !!a && !a.dc();\n }\n function Afe(a) {\n return new lge(3, a);\n }\n function jm(a, b) {\n return new Vp(a, a.gc(), b);\n }\n function ns(a) {\n hs();\n return es((qs(), ps), a);\n }\n function Oyd(a) {\n this.d = a;\n Fyd.call(this, a);\n }\n function $yd(a) {\n this.c = a;\n Fyd.call(this, a);\n }\n function bzd(a) {\n this.c = a;\n Oyd.call(this, a);\n }\n function sgc() {\n qgc();\n this.b = new ygc(this);\n }\n function Pu(a) {\n Xj(a, Jie);\n return new Skb(a);\n }\n function Vz(a) {\n Rz();\n return parseInt(a) || -1;\n }\n function qfb(a, b, c2) {\n return a.substr(b, c2 - b);\n }\n function gfb(a, b, c2) {\n return ifb(a, wfb(b), c2);\n }\n function Pkb(a) {\n return ZBb(a.c, a.c.length);\n }\n function Yr(a) {\n return a.f != null ? a.f : \"\" + a.g;\n }\n function Zr(a) {\n return a.f != null ? a.f : \"\" + a.g;\n }\n function Hsb(a) {\n sCb(a.b != 0);\n return a.a.a.c;\n }\n function Isb(a) {\n sCb(a.b != 0);\n return a.c.b.c;\n }\n function Cmd(a) {\n JD(a, 150) && BD(a, 150).Gh();\n }\n function Wwb(a) {\n return a.b = BD(tib(a.a), 42);\n }\n function Ptb(a) {\n Ltb();\n this.b = a;\n this.a = true;\n }\n function Xtb(a) {\n Utb();\n this.b = a;\n this.a = true;\n }\n function Trb(a) {\n a.d = new ksb(a);\n a.e = new Lqb();\n }\n function mkb(a) {\n if (!a) {\n throw vbb(new Apb());\n }\n }\n function lCb(a) {\n if (!a) {\n throw vbb(new Vdb());\n }\n }\n function yCb(a) {\n if (!a) {\n throw vbb(new Ydb());\n }\n }\n function qCb(a) {\n if (!a) {\n throw vbb(new tcb());\n }\n }\n function sCb(a) {\n if (!a) {\n throw vbb(new utb());\n }\n }\n function ksb(a) {\n lsb.call(this, a, null, null);\n }\n function dPb() {\n $r.call(this, \"POLYOMINO\", 0);\n }\n function Cg(a, b, c2, d) {\n qg.call(this, a, b, c2, d);\n }\n function zkc(a, b) {\n gkc();\n return Rc(a, b.e, b);\n }\n function azc(a, b, c2) {\n Vyc();\n return c2.qg(a, b);\n }\n function wNb(a, b) {\n return !!a.q && Mhb(a.q, b);\n }\n function JRb(a, b) {\n return a > 0 ? b * b / a : b * b * 100;\n }\n function CRb(a, b) {\n return a > 0 ? b / (a * a) : b * 100;\n }\n function G2c(a, b, c2) {\n return Ekb(b, I2c(a, c2));\n }\n function t3c(a, b, c2) {\n p3c();\n a.Xe(b) && c2.td(a);\n }\n function St(a, b, c2) {\n var d;\n d = a.Zc(b);\n d.Rb(c2);\n }\n function O6c(a, b, c2) {\n a.a += b;\n a.b += c2;\n return a;\n }\n function Z6c(a, b, c2) {\n a.a *= b;\n a.b *= c2;\n return a;\n }\n function b7c(a, b, c2) {\n a.a -= b;\n a.b -= c2;\n return a;\n }\n function a7c(a, b) {\n a.a = b.a;\n a.b = b.b;\n return a;\n }\n function V6c(a) {\n a.a = -a.a;\n a.b = -a.b;\n return a;\n }\n function Dic(a) {\n this.c = a;\n this.a = 1;\n this.b = 1;\n }\n function xed(a) {\n this.c = a;\n dld(a, 0);\n eld(a, 0);\n }\n function u7c(a) {\n Psb.call(this);\n n7c(this, a);\n }\n function AXb(a) {\n xXb();\n yXb(this);\n this.mf(a);\n }\n function GRd(a, b) {\n nRd();\n qRd.call(this, a, b);\n }\n function dSd(a, b) {\n LRd();\n RRd.call(this, a, b);\n }\n function hSd(a, b) {\n LRd();\n RRd.call(this, a, b);\n }\n function fSd(a, b) {\n LRd();\n dSd.call(this, a, b);\n }\n function sId(a, b, c2) {\n dId.call(this, a, b, c2, 2);\n }\n function zXd(a, b) {\n UVd();\n nXd.call(this, a, b);\n }\n function BXd(a, b) {\n UVd();\n zXd.call(this, a, b);\n }\n function DXd(a, b) {\n UVd();\n zXd.call(this, a, b);\n }\n function FXd(a, b) {\n UVd();\n DXd.call(this, a, b);\n }\n function PXd(a, b) {\n UVd();\n nXd.call(this, a, b);\n }\n function RXd(a, b) {\n UVd();\n PXd.call(this, a, b);\n }\n function XXd(a, b) {\n UVd();\n nXd.call(this, a, b);\n }\n function pAd(a, b) {\n return a.c.Fc(BD(b, 133));\n }\n function w1d(a, b, c2) {\n return V1d(p1d(a, b), c2);\n }\n function N2d(a, b, c2) {\n return b.Qk(a.e, a.c, c2);\n }\n function P2d(a, b, c2) {\n return b.Rk(a.e, a.c, c2);\n }\n function a3d(a, b) {\n return xid(a.e, BD(b, 49));\n }\n function aTd(a, b, c2) {\n vtd(QSd(a.a), b, eTd(c2));\n }\n function TOd(a, b, c2) {\n vtd(VKd(a.a), b, XOd(c2));\n }\n function ypb(a, b) {\n b.$modCount = a.$modCount;\n }\n function MUc() {\n MUc = ccb;\n LUc = new Lsd(\"root\");\n }\n function LCd() {\n LCd = ccb;\n KCd = new lDd();\n new NDd();\n }\n function KVc() {\n this.a = new Hp();\n this.b = new Hp();\n }\n function FUd() {\n hJd.call(this);\n this.Bb |= Tje;\n }\n function t_c() {\n $r.call(this, \"GROW_TREE\", 0);\n }\n function C9d(a) {\n return a == null ? null : cde(a);\n }\n function G9d(a) {\n return a == null ? null : jde(a);\n }\n function J9d(a) {\n return a == null ? null : fcb(a);\n }\n function K9d(a) {\n return a == null ? null : fcb(a);\n }\n function fdb(a) {\n if (a.o != null) {\n return;\n }\n vdb(a);\n }\n function DD(a) {\n CCb(a == null || KD(a));\n return a;\n }\n function ED(a) {\n CCb(a == null || LD(a));\n return a;\n }\n function GD(a) {\n CCb(a == null || ND(a));\n return a;\n }\n function gB(a) {\n this.q = new $wnd.Date(Sbb(a));\n }\n function Mf(a, b) {\n this.c = a;\n ne.call(this, a, b);\n }\n function Sf(a, b) {\n this.a = a;\n Mf.call(this, a, b);\n }\n function Hg(a, b) {\n this.d = a;\n Dg(this);\n this.b = b;\n }\n function bAb(a, b) {\n Vzb.call(this, a);\n this.a = b;\n }\n function vAb(a, b) {\n Vzb.call(this, a);\n this.a = b;\n }\n function sNb(a) {\n pNb.call(this, 0, 0);\n this.f = a;\n }\n function Vg(a, b, c2) {\n dg.call(this, a, b, c2, null);\n }\n function Yg(a, b, c2) {\n dg.call(this, a, b, c2, null);\n }\n function Pxb(a, b, c2) {\n return a.ue(b, c2) <= 0 ? c2 : b;\n }\n function Qxb(a, b, c2) {\n return a.ue(b, c2) <= 0 ? b : c2;\n }\n function g4c(a, b) {\n return BD(Wrb(a.b, b), 149);\n }\n function i4c(a, b) {\n return BD(Wrb(a.c, b), 229);\n }\n function wic(a) {\n return BD(Ikb(a.a, a.b), 287);\n }\n function B6c(a) {\n return new f7c(a.c, a.d + a.a);\n }\n function eLc(a) {\n return FJc(), Jzc(BD(a, 197));\n }\n function $Jb() {\n $Jb = ccb;\n ZJb = pqb((tdd(), sdd));\n }\n function fOb(a, b) {\n b.a ? gOb(a, b) : Fxb(a.a, b.b);\n }\n function qyb(a, b) {\n if (lyb) {\n return;\n }\n Ekb(a.a, b);\n }\n function F2b(a, b) {\n x2b();\n return f_b(b.d.i, a);\n }\n function _9b(a, b) {\n I9b();\n return new gac(b, a);\n }\n function _Hb(a, b) {\n ytb(b, lle);\n a.f = b;\n return a;\n }\n function Kld(a, b, c2) {\n c2 = _hd(a, b, 3, c2);\n return c2;\n }\n function bmd(a, b, c2) {\n c2 = _hd(a, b, 6, c2);\n return c2;\n }\n function kpd(a, b, c2) {\n c2 = _hd(a, b, 9, c2);\n return c2;\n }\n function Cvd(a, b, c2) {\n ++a.j;\n a.Ki();\n Atd(a, b, c2);\n }\n function Avd(a, b, c2) {\n ++a.j;\n a.Hi(b, a.oi(b, c2));\n }\n function bRd(a, b, c2) {\n var d;\n d = a.Zc(b);\n d.Rb(c2);\n }\n function c7d(a, b, c2) {\n return C2d(a.c, a.b, b, c2);\n }\n function DAd(a, b) {\n return (b & Ohe) % a.d.length;\n }\n function Msd(a, b) {\n Lsd.call(this, a);\n this.a = b;\n }\n function uVd(a, b) {\n lVd.call(this, a);\n this.a = b;\n }\n function sYd(a, b) {\n lVd.call(this, a);\n this.a = b;\n }\n function zyd(a, b) {\n this.c = a;\n zud.call(this, b);\n }\n function YOd(a, b) {\n this.a = a;\n qOd.call(this, b);\n }\n function fTd(a, b) {\n this.a = a;\n qOd.call(this, b);\n }\n function Xp(a) {\n this.a = (Xj(a, Jie), new Skb(a));\n }\n function cq(a) {\n this.a = (Xj(a, Jie), new Skb(a));\n }\n function LA(a) {\n !a.a && (a.a = new VA());\n return a.a;\n }\n function XMb(a) {\n if (a > 8) {\n return 0;\n }\n return a + 1;\n }\n function Ecb(a, b) {\n Bcb();\n return a == b ? 0 : a ? 1 : -1;\n }\n function Opb(a, b, c2) {\n return Npb(a, BD(b, 22), c2);\n }\n function Bz(a, b, c2) {\n return a.apply(b, c2);\n }\n function Sfb(a, b, c2) {\n a.a += zfb(b, 0, c2);\n return a;\n }\n function ijb(a, b) {\n var c2;\n c2 = a.e;\n a.e = b;\n return c2;\n }\n function trb(a, b) {\n var c2;\n c2 = a[hke];\n c2.call(a, b);\n }\n function urb(a, b) {\n var c2;\n c2 = a[hke];\n c2.call(a, b);\n }\n function Aib(a, b) {\n a.a.Vc(a.b, b);\n ++a.b;\n a.c = -1;\n }\n function Urb(a) {\n Uhb(a.e);\n a.d.b = a.d;\n a.d.a = a.d;\n }\n function _f(a) {\n a.b ? _f(a.b) : a.f.c.zc(a.e, a.d);\n }\n function _Ab(a, b, c2) {\n EAb();\n MBb(a, b.Ce(a.a, c2));\n }\n function Bxb(a, b) {\n return Vd(Cwb(a.a, b, true));\n }\n function Cxb(a, b) {\n return Vd(Dwb(a.a, b, true));\n }\n function _Bb(a, b) {\n return eCb(new Array(b), a);\n }\n function HD(a) {\n return String.fromCharCode(a);\n }\n function mz(a) {\n return a == null ? null : a.message;\n }\n function gRb() {\n this.a = new Rkb();\n this.b = new Rkb();\n }\n function iTb() {\n this.a = new MQb();\n this.b = new tTb();\n }\n function tDb() {\n this.b = new d7c();\n this.c = new Rkb();\n }\n function _Qb() {\n this.d = new d7c();\n this.e = new d7c();\n }\n function n_b() {\n this.n = new d7c();\n this.o = new d7c();\n }\n function $Gb() {\n this.n = new p0b();\n this.i = new I6c();\n }\n function sec() {\n this.a = new Umc();\n this.b = new mnc();\n }\n function NIc() {\n this.a = new Rkb();\n this.d = new Rkb();\n }\n function LDc() {\n this.b = new Tqb();\n this.a = new Tqb();\n }\n function hSc() {\n this.b = new Lqb();\n this.a = new Lqb();\n }\n function HRc() {\n this.b = new tRc();\n this.a = new hRc();\n }\n function aHb() {\n $Gb.call(this);\n this.a = new d7c();\n }\n function Ywb(a) {\n Zwb.call(this, a, (lxb(), hxb));\n }\n function J_b(a, b, c2, d) {\n B_b.call(this, a, b, c2, d);\n }\n function sqd(a, b, c2) {\n c2 != null && kmd(b, Wqd(a, c2));\n }\n function tqd(a, b, c2) {\n c2 != null && lmd(b, Wqd(a, c2));\n }\n function Tod(a, b, c2) {\n c2 = _hd(a, b, 11, c2);\n return c2;\n }\n function P6c(a, b) {\n a.a += b.a;\n a.b += b.b;\n return a;\n }\n function c7c(a, b) {\n a.a -= b.a;\n a.b -= b.b;\n return a;\n }\n function u7b(a, b) {\n return a.n.a = (uCb(b), b) + 10;\n }\n function v7b(a, b) {\n return a.n.a = (uCb(b), b) + 10;\n }\n function dLd(a, b) {\n return b == a || pud(UKd(b), a);\n }\n function PYd(a, b) {\n return Rhb(a.a, b, \"\") == null;\n }\n function E2b(a, b) {\n x2b();\n return !f_b(b.d.i, a);\n }\n function rjc(a, b) {\n fad(a.f) ? sjc(a, b) : tjc(a, b);\n }\n function h1d(a, b) {\n var c2;\n c2 = b.Hh(a.a);\n return c2;\n }\n function Cyd(a, b) {\n qcb.call(this, gve + a + mue + b);\n }\n function gUd(a, b, c2, d) {\n cUd.call(this, a, b, c2, d);\n }\n function Q4d(a, b, c2, d) {\n cUd.call(this, a, b, c2, d);\n }\n function U4d(a, b, c2, d) {\n Q4d.call(this, a, b, c2, d);\n }\n function n5d(a, b, c2, d) {\n i5d.call(this, a, b, c2, d);\n }\n function p5d(a, b, c2, d) {\n i5d.call(this, a, b, c2, d);\n }\n function v5d(a, b, c2, d) {\n i5d.call(this, a, b, c2, d);\n }\n function t5d(a, b, c2, d) {\n p5d.call(this, a, b, c2, d);\n }\n function A5d(a, b, c2, d) {\n p5d.call(this, a, b, c2, d);\n }\n function y5d(a, b, c2, d) {\n v5d.call(this, a, b, c2, d);\n }\n function D5d(a, b, c2, d) {\n A5d.call(this, a, b, c2, d);\n }\n function d6d(a, b, c2, d) {\n Y5d.call(this, a, b, c2, d);\n }\n function Vp(a, b, c2) {\n this.a = a;\n qc.call(this, b, c2);\n }\n function tk(a, b, c2) {\n this.c = b;\n this.b = c2;\n this.a = a;\n }\n function ik(a, b, c2) {\n return a.d = BD(b.Kb(c2), 164);\n }\n function j6d(a, b) {\n return a.Aj().Nh().Kh(a, b);\n }\n function h6d(a, b) {\n return a.Aj().Nh().Ih(a, b);\n }\n function Fdb(a, b) {\n return uCb(a), PD(a) === PD(b);\n }\n function dfb(a, b) {\n return uCb(a), PD(a) === PD(b);\n }\n function Dxb(a, b) {\n return Vd(Cwb(a.a, b, false));\n }\n function Exb(a, b) {\n return Vd(Dwb(a.a, b, false));\n }\n function vBb(a, b) {\n return a.b.sd(new yBb(a, b));\n }\n function BBb(a, b) {\n return a.b.sd(new EBb(a, b));\n }\n function HBb(a, b) {\n return a.b.sd(new KBb(a, b));\n }\n function lfb(a, b, c2) {\n return a.lastIndexOf(b, c2);\n }\n function uTb(a, b, c2) {\n return Kdb(a[b.b], a[c2.b]);\n }\n function RTb(a, b) {\n return yNb(b, (Nyc(), Cwc), a);\n }\n function fmc(a, b) {\n return beb(b.a.d.p, a.a.d.p);\n }\n function emc(a, b) {\n return beb(a.a.d.p, b.a.d.p);\n }\n function _Oc(a, b) {\n return Kdb(a.c - a.s, b.c - b.s);\n }\n function S_b(a) {\n return !a.c ? -1 : Jkb(a.c.a, a, 0);\n }\n function Vxd(a) {\n return a < 100 ? null : new Ixd(a);\n }\n function ecd(a) {\n return a == Zbd || a == _bd || a == $bd;\n }\n function zAd(a, b) {\n return JD(b, 15) && Btd(a.c, b);\n }\n function vyb(a, b) {\n if (lyb) {\n return;\n }\n !!b && (a.d = b);\n }\n function ujb(a, b) {\n var c2;\n c2 = b;\n return !!Awb(a, c2);\n }\n function czd(a, b) {\n this.c = a;\n Pyd.call(this, a, b);\n }\n function fBb(a) {\n this.c = a;\n nvb.call(this, rie, 0);\n }\n function Avb(a, b) {\n Bvb.call(this, a, a.length, b);\n }\n function aId(a, b, c2) {\n return BD(a.c, 69).lk(b, c2);\n }\n function bId(a, b, c2) {\n return BD(a.c, 69).mk(b, c2);\n }\n function O2d(a, b, c2) {\n return N2d(a, BD(b, 332), c2);\n }\n function Q2d(a, b, c2) {\n return P2d(a, BD(b, 332), c2);\n }\n function i3d(a, b, c2) {\n return h3d(a, BD(b, 332), c2);\n }\n function k3d(a, b, c2) {\n return j3d(a, BD(b, 332), c2);\n }\n function tn(a, b) {\n return b == null ? null : Hv(a.b, b);\n }\n function Kcb(a) {\n return LD(a) ? (uCb(a), a) : a.ke();\n }\n function Ldb(a) {\n return !isNaN(a) && !isFinite(a);\n }\n function Wn(a) {\n Ql();\n this.a = (mmb(), new zob(a));\n }\n function dIc(a) {\n FHc();\n this.d = a;\n this.a = new jkb();\n }\n function xqb(a, b, c2) {\n this.a = a;\n this.b = b;\n this.c = c2;\n }\n function Nrb(a, b, c2) {\n this.a = a;\n this.b = b;\n this.c = c2;\n }\n function $sb(a, b, c2) {\n this.d = a;\n this.b = c2;\n this.a = b;\n }\n function Qsb(a) {\n Csb(this);\n Osb(this);\n ye(this, a);\n }\n function Tkb(a) {\n Ckb(this);\n bCb(this.c, 0, a.Pc());\n }\n function Xwb(a) {\n uib(a.a);\n Kwb(a.c, a.b);\n a.b = null;\n }\n function iyb(a) {\n this.a = a;\n Zfb();\n Cbb(Date.now());\n }\n function JCb() {\n JCb = ccb;\n GCb = new nb();\n ICb = new nb();\n }\n function ntb() {\n ntb = ccb;\n ltb = new otb();\n mtb = new qtb();\n }\n function kzd() {\n kzd = ccb;\n jzd = KC(SI, Uhe, 1, 0, 5, 1);\n }\n function tGd() {\n tGd = ccb;\n sGd = KC(SI, Uhe, 1, 0, 5, 1);\n }\n function $Gd() {\n $Gd = ccb;\n ZGd = KC(SI, Uhe, 1, 0, 5, 1);\n }\n function Ql() {\n Ql = ccb;\n new Zl((mmb(), mmb(), jmb));\n }\n function pxb(a) {\n lxb();\n return es((zxb(), yxb), a);\n }\n function Hyb(a) {\n Fyb();\n return es((Kyb(), Jyb), a);\n }\n function OEb(a) {\n MEb();\n return es((REb(), QEb), a);\n }\n function WEb(a) {\n UEb();\n return es((ZEb(), YEb), a);\n }\n function tFb(a) {\n rFb();\n return es((wFb(), vFb), a);\n }\n function iHb(a) {\n gHb();\n return es((lHb(), kHb), a);\n }\n function PHb(a) {\n NHb();\n return es((SHb(), RHb), a);\n }\n function GIb(a) {\n EIb();\n return es((JIb(), IIb), a);\n }\n function vJb(a) {\n qJb();\n return es((yJb(), xJb), a);\n }\n function xLb(a) {\n vLb();\n return es((ALb(), zLb), a);\n }\n function TMb(a) {\n RMb();\n return es((WMb(), VMb), a);\n }\n function TOb(a) {\n ROb();\n return es((WOb(), VOb), a);\n }\n function ePb(a) {\n cPb();\n return es((hPb(), gPb), a);\n }\n function ZRb(a) {\n XRb();\n return es((aSb(), _Rb), a);\n }\n function ATb(a) {\n yTb();\n return es((DTb(), CTb), a);\n }\n function sUb(a) {\n qUb();\n return es((vUb(), uUb), a);\n }\n function rWb(a) {\n lWb();\n return es((uWb(), tWb), a);\n }\n function TXb(a) {\n RXb();\n return es((WXb(), VXb), a);\n }\n function Mb(a, b) {\n if (!a) {\n throw vbb(new Wdb(b));\n }\n }\n function l0b(a) {\n j0b();\n return es((o0b(), n0b), a);\n }\n function r0b(a) {\n B_b.call(this, a.d, a.c, a.a, a.b);\n }\n function K_b(a) {\n B_b.call(this, a.d, a.c, a.a, a.b);\n }\n function mKb(a, b, c2) {\n this.b = a;\n this.c = b;\n this.a = c2;\n }\n function BZb(a, b, c2) {\n this.b = a;\n this.a = b;\n this.c = c2;\n }\n function TNb(a, b, c2) {\n this.a = a;\n this.b = b;\n this.c = c2;\n }\n function uOb(a, b, c2) {\n this.a = a;\n this.b = b;\n this.c = c2;\n }\n function S3b(a, b, c2) {\n this.a = a;\n this.b = b;\n this.c = c2;\n }\n function Z6b(a, b, c2) {\n this.a = a;\n this.b = b;\n this.c = c2;\n }\n function n9b(a, b, c2) {\n this.b = a;\n this.a = b;\n this.c = c2;\n }\n function x$b(a, b, c2) {\n this.e = b;\n this.b = a;\n this.d = c2;\n }\n function $Ab(a, b, c2) {\n EAb();\n a.a.Od(b, c2);\n return b;\n }\n function LGb(a) {\n var b;\n b = new KGb();\n b.e = a;\n return b;\n }\n function iLb(a) {\n var b;\n b = new fLb();\n b.b = a;\n return b;\n }\n function D6b() {\n D6b = ccb;\n B6b = new M6b();\n C6b = new P6b();\n }\n function Hgc() {\n Hgc = ccb;\n Fgc = new ghc();\n Ggc = new ihc();\n }\n function jbc(a) {\n gbc();\n return es((mbc(), lbc), a);\n }\n function Cjc(a) {\n Ajc();\n return es((Fjc(), Ejc), a);\n }\n function Clc(a) {\n Alc();\n return es((Flc(), Elc), a);\n }\n function Cpc(a) {\n Apc();\n return es((Fpc(), Epc), a);\n }\n function Kpc(a) {\n Ipc();\n return es((Npc(), Mpc), a);\n }\n function Wpc(a) {\n Rpc();\n return es((Zpc(), Ypc), a);\n }\n function $jc(a) {\n Xjc();\n return es((bkc(), akc), a);\n }\n function Hkc(a) {\n Fkc();\n return es((Kkc(), Jkc), a);\n }\n function dqc(a) {\n bqc();\n return es((gqc(), fqc), a);\n }\n function rqc(a) {\n mqc();\n return es((uqc(), tqc), a);\n }\n function zqc(a) {\n xqc();\n return es((Cqc(), Bqc), a);\n }\n function Iqc(a) {\n Gqc();\n return es((Lqc(), Kqc), a);\n }\n function Vqc(a) {\n Sqc();\n return es((Yqc(), Xqc), a);\n }\n function brc(a) {\n _qc();\n return es((erc(), drc), a);\n }\n function nrc(a) {\n lrc();\n return es((qrc(), prc), a);\n }\n function Arc(a) {\n yrc();\n return es((Drc(), Crc), a);\n }\n function Qrc(a) {\n Orc();\n return es((Trc(), Src), a);\n }\n function Zrc(a) {\n Xrc();\n return es((asc(), _rc), a);\n }\n function gsc(a) {\n esc();\n return es((jsc(), isc), a);\n }\n function osc(a) {\n msc();\n return es((rsc(), qsc), a);\n }\n function Etc(a) {\n Ctc();\n return es((Htc(), Gtc), a);\n }\n function qzc(a) {\n lzc();\n return es((tzc(), szc), a);\n }\n function Azc(a) {\n xzc();\n return es((Dzc(), Czc), a);\n }\n function Mzc(a) {\n Izc();\n return es((Pzc(), Ozc), a);\n }\n function MAc(a) {\n KAc();\n return es((PAc(), OAc), a);\n }\n function mAc(a) {\n kAc();\n return es((pAc(), oAc), a);\n }\n function vAc(a) {\n tAc();\n return es((yAc(), xAc), a);\n }\n function DAc(a) {\n BAc();\n return es((GAc(), FAc), a);\n }\n function VAc(a) {\n TAc();\n return es((YAc(), XAc), a);\n }\n function $zc(a) {\n Vzc();\n return es((bAc(), aAc), a);\n }\n function bBc(a) {\n _Ac();\n return es((eBc(), dBc), a);\n }\n function vBc(a) {\n tBc();\n return es((yBc(), xBc), a);\n }\n function EBc(a) {\n CBc();\n return es((HBc(), GBc), a);\n }\n function NBc(a) {\n LBc();\n return es((QBc(), PBc), a);\n }\n function tGc(a) {\n rGc();\n return es((wGc(), vGc), a);\n }\n function WIc(a) {\n UIc();\n return es((ZIc(), YIc), a);\n }\n function $Lc(a) {\n YLc();\n return es((bMc(), aMc), a);\n }\n function gMc(a) {\n eMc();\n return es((jMc(), iMc), a);\n }\n function JOc(a) {\n HOc();\n return es((MOc(), LOc), a);\n }\n function HQc(a) {\n FQc();\n return es((KQc(), JQc), a);\n }\n function DRc(a) {\n yRc();\n return es((GRc(), FRc), a);\n }\n function tSc(a) {\n qSc();\n return es((wSc(), vSc), a);\n }\n function UTc(a) {\n STc();\n return es((XTc(), WTc), a);\n }\n function UUc(a) {\n PUc();\n return es((XUc(), WUc), a);\n }\n function aUc(a) {\n $Tc();\n return es((dUc(), cUc), a);\n }\n function wVc(a) {\n tVc();\n return es((zVc(), yVc), a);\n }\n function iWc(a) {\n fWc();\n return es((lWc(), kWc), a);\n }\n function sWc(a) {\n pWc();\n return es((vWc(), uWc), a);\n }\n function lXc(a) {\n iXc();\n return es((oXc(), nXc), a);\n }\n function vXc(a) {\n sXc();\n return es((yXc(), xXc), a);\n }\n function BYc(a) {\n zYc();\n return es((EYc(), DYc), a);\n }\n function m$c(a) {\n k$c();\n return es((p$c(), o$c), a);\n }\n function $$c(a) {\n Y$c();\n return es((b_c(), a_c), a);\n }\n function n_c(a) {\n i_c();\n return es((q_c(), p_c), a);\n }\n function w_c(a) {\n s_c();\n return es((z_c(), y_c), a);\n }\n function E_c(a) {\n C_c();\n return es((H_c(), G_c), a);\n }\n function P_c(a) {\n N_c();\n return es((S_c(), R_c), a);\n }\n function W0c(a) {\n R0c();\n return es((Z0c(), Y0c), a);\n }\n function f1c(a) {\n a1c();\n return es((i1c(), h1c), a);\n }\n function P5c(a) {\n N5c();\n return es((S5c(), R5c), a);\n }\n function b6c(a) {\n _5c();\n return es((e6c(), d6c), a);\n }\n function H7c(a) {\n F7c();\n return es((K7c(), J7c), a);\n }\n function k8c(a) {\n i8c();\n return es((n8c(), m8c), a);\n }\n function V8b(a) {\n S8b();\n return es((Y8b(), X8b), a);\n }\n function A5b(a) {\n y5b();\n return es((D5b(), C5b), a);\n }\n function jad(a) {\n ead();\n return es((mad(), lad), a);\n }\n function sad(a) {\n qad();\n return es((vad(), uad), a);\n }\n function Cad(a) {\n Aad();\n return es((Fad(), Ead), a);\n }\n function Oad(a) {\n Mad();\n return es((Rad(), Qad), a);\n }\n function jbd(a) {\n hbd();\n return es((mbd(), lbd), a);\n }\n function ubd(a) {\n rbd();\n return es((xbd(), wbd), a);\n }\n function Kbd(a) {\n Hbd();\n return es((Nbd(), Mbd), a);\n }\n function Vbd(a) {\n Tbd();\n return es((Ybd(), Xbd), a);\n }\n function hcd(a) {\n dcd();\n return es((kcd(), jcd), a);\n }\n function vcd(a) {\n rcd();\n return es((ycd(), xcd), a);\n }\n function vdd(a) {\n tdd();\n return es((ydd(), xdd), a);\n }\n function Kdd(a) {\n Idd();\n return es((Ndd(), Mdd), a);\n }\n function $cd(a) {\n Ucd();\n return es((cdd(), bdd), a);\n }\n function Fed(a) {\n Ded();\n return es((Ied(), Hed), a);\n }\n function rgd(a) {\n pgd();\n return es((ugd(), tgd), a);\n }\n function Esd(a) {\n Csd();\n return es((Hsd(), Gsd), a);\n }\n function Yoc(a, b) {\n return (uCb(a), a) + (uCb(b), b);\n }\n function NNd(a, b) {\n Zfb();\n return wtd(ZKd(a.a), b);\n }\n function SNd(a, b) {\n Zfb();\n return wtd(ZKd(a.a), b);\n }\n function bPc(a, b) {\n this.c = a;\n this.a = b;\n this.b = b - a;\n }\n function nYc(a, b, c2) {\n this.a = a;\n this.b = b;\n this.c = c2;\n }\n function L1c(a, b, c2) {\n this.a = a;\n this.b = b;\n this.c = c2;\n }\n function T1c(a, b, c2) {\n this.a = a;\n this.b = b;\n this.c = c2;\n }\n function Rrd(a, b, c2) {\n this.a = a;\n this.b = b;\n this.c = c2;\n }\n function zCd(a, b, c2) {\n this.a = a;\n this.b = b;\n this.c = c2;\n }\n function IVd(a, b, c2) {\n this.e = a;\n this.a = b;\n this.c = c2;\n }\n function kWd(a, b, c2) {\n UVd();\n cWd.call(this, a, b, c2);\n }\n function HXd(a, b, c2) {\n UVd();\n oXd.call(this, a, b, c2);\n }\n function TXd(a, b, c2) {\n UVd();\n oXd.call(this, a, b, c2);\n }\n function ZXd(a, b, c2) {\n UVd();\n oXd.call(this, a, b, c2);\n }\n function JXd(a, b, c2) {\n UVd();\n HXd.call(this, a, b, c2);\n }\n function LXd(a, b, c2) {\n UVd();\n HXd.call(this, a, b, c2);\n }\n function NXd(a, b, c2) {\n UVd();\n LXd.call(this, a, b, c2);\n }\n function VXd(a, b, c2) {\n UVd();\n TXd.call(this, a, b, c2);\n }\n function _Xd(a, b, c2) {\n UVd();\n ZXd.call(this, a, b, c2);\n }\n function $j(a, b) {\n Qb(a);\n Qb(b);\n return new _j(a, b);\n }\n function Nq(a, b) {\n Qb(a);\n Qb(b);\n return new Wq(a, b);\n }\n function Rq(a, b) {\n Qb(a);\n Qb(b);\n return new ar(a, b);\n }\n function lr(a, b) {\n Qb(a);\n Qb(b);\n return new zr(a, b);\n }\n function BD(a, b) {\n CCb(a == null || AD(a, b));\n return a;\n }\n function Nu(a) {\n var b;\n b = new Rkb();\n fr(b, a);\n return b;\n }\n function Ex(a) {\n var b;\n b = new Tqb();\n fr(b, a);\n return b;\n }\n function Hx(a) {\n var b;\n b = new Gxb();\n Jq(b, a);\n return b;\n }\n function Ru(a) {\n var b;\n b = new Psb();\n Jq(b, a);\n return b;\n }\n function YEc(a) {\n !a.e && (a.e = new Rkb());\n return a.e;\n }\n function SMd(a) {\n !a.c && (a.c = new xYd());\n return a.c;\n }\n function Ekb(a, b) {\n a.c[a.c.length] = b;\n return true;\n }\n function WA(a, b) {\n this.c = a;\n this.b = b;\n this.a = false;\n }\n function Gg(a) {\n this.d = a;\n Dg(this);\n this.b = ed(a.d);\n }\n function pzb() {\n this.a = \";,;\";\n this.b = \"\";\n this.c = \"\";\n }\n function Bvb(a, b, c2) {\n qvb.call(this, b, c2);\n this.a = a;\n }\n function fAb(a, b, c2) {\n this.b = a;\n fvb.call(this, b, c2);\n }\n function lsb(a, b, c2) {\n this.c = a;\n pjb.call(this, b, c2);\n }\n function bCb(a, b, c2) {\n $Bb(c2, 0, a, b, c2.length, false);\n }\n function HVb(a, b, c2, d, e) {\n a.b = b;\n a.c = c2;\n a.d = d;\n a.a = e;\n }\n function eBb(a, b) {\n if (b) {\n a.b = b;\n a.a = (Tzb(b), b.a);\n }\n }\n function v_b(a, b, c2, d, e) {\n a.d = b;\n a.c = c2;\n a.a = d;\n a.b = e;\n }\n function h5b(a) {\n var b, c2;\n b = a.b;\n c2 = a.c;\n a.b = c2;\n a.c = b;\n }\n function k5b(a) {\n var b, c2;\n c2 = a.d;\n b = a.a;\n a.d = b;\n a.a = c2;\n }\n function Lbb(a) {\n return zbb(iD(Fbb(a) ? Rbb(a) : a));\n }\n function rlc(a, b) {\n return beb(D0b(a.d), D0b(b.d));\n }\n function uic(a, b) {\n return b == (Ucd(), Tcd) ? a.c : a.d;\n }\n function FHc() {\n FHc = ccb;\n DHc = (Ucd(), Tcd);\n EHc = zcd;\n }\n function DRb() {\n this.b = Edb(ED(Ksd((wSb(), vSb))));\n }\n function aBb(a) {\n return EAb(), KC(SI, Uhe, 1, a, 5, 1);\n }\n function C6c(a) {\n return new f7c(a.c + a.b, a.d + a.a);\n }\n function Vmc(a, b) {\n Imc();\n return beb(a.d.p, b.d.p);\n }\n function Lsb(a) {\n sCb(a.b != 0);\n return Nsb(a, a.a.a);\n }\n function Msb(a) {\n sCb(a.b != 0);\n return Nsb(a, a.c.b);\n }\n function rCb(a, b) {\n if (!a) {\n throw vbb(new ucb(b));\n }\n }\n function mCb(a, b) {\n if (!a) {\n throw vbb(new Wdb(b));\n }\n }\n function dWb(a, b, c2) {\n cWb.call(this, a, b);\n this.b = c2;\n }\n function pMd(a, b, c2) {\n MLd.call(this, a, b);\n this.c = c2;\n }\n function Dnc(a, b, c2) {\n Cnc.call(this, b, c2);\n this.d = a;\n }\n function _Gd(a) {\n $Gd();\n MGd.call(this);\n this.th(a);\n }\n function PNd(a, b, c2) {\n this.a = a;\n nNd.call(this, b, c2);\n }\n function UNd(a, b, c2) {\n this.a = a;\n nNd.call(this, b, c2);\n }\n function k2d(a, b, c2) {\n MLd.call(this, a, b);\n this.c = c2;\n }\n function y1d() {\n T0d();\n z1d.call(this, (yFd(), xFd));\n }\n function gFd(a) {\n return a != null && !OEd(a, CEd, DEd);\n }\n function dFd(a, b) {\n return (jFd(a) << 4 | jFd(b)) & aje;\n }\n function ln(a, b) {\n return Vm(), Wj(a, b), new iy(a, b);\n }\n function Sdd(a, b) {\n var c2;\n if (a.n) {\n c2 = b;\n Ekb(a.f, c2);\n }\n }\n function Upd(a, b, c2) {\n var d;\n d = new yC(c2);\n cC(a, b, d);\n }\n function WUd(a, b) {\n var c2;\n c2 = a.c;\n VUd(a, b);\n return c2;\n }\n function Ydd(a, b) {\n b < 0 ? a.g = -1 : a.g = b;\n return a;\n }\n function $6c(a, b) {\n W6c(a);\n a.a *= b;\n a.b *= b;\n return a;\n }\n function G6c(a, b, c2, d, e) {\n a.c = b;\n a.d = c2;\n a.b = d;\n a.a = e;\n }\n function Dsb(a, b) {\n Gsb(a, b, a.c.b, a.c);\n return true;\n }\n function jsb(a) {\n a.a.b = a.b;\n a.b.a = a.a;\n a.a = a.b = null;\n }\n function Aq(a) {\n this.b = a;\n this.a = Wm(this.b.a).Ed();\n }\n function Wq(a, b) {\n this.b = a;\n this.a = b;\n ol.call(this);\n }\n function ar(a, b) {\n this.a = a;\n this.b = b;\n ol.call(this);\n }\n function vvb(a, b) {\n qvb.call(this, b, 1040);\n this.a = a;\n }\n function Eeb(a) {\n return a == 0 || isNaN(a) ? a : a < 0 ? -1 : 1;\n }\n function WPb(a) {\n QPb();\n return jtd(a) == Xod(ltd(a));\n }\n function XPb(a) {\n QPb();\n return ltd(a) == Xod(jtd(a));\n }\n function iYb(a, b) {\n return hYb(a, new cWb(b.a, b.b));\n }\n function NZb(a) {\n return !OZb(a) && a.c.i.c == a.d.i.c;\n }\n function _Gb(a) {\n var b;\n b = a.n;\n return a.a.b + b.d + b.a;\n }\n function YHb(a) {\n var b;\n b = a.n;\n return a.e.b + b.d + b.a;\n }\n function ZHb(a) {\n var b;\n b = a.n;\n return a.e.a + b.b + b.c;\n }\n function zfe(a) {\n wfe();\n return new ige(0, a);\n }\n function o_b(a) {\n if (a.a) {\n return a.a;\n }\n return JZb(a);\n }\n function CCb(a) {\n if (!a) {\n throw vbb(new Cdb(null));\n }\n }\n function X6d() {\n X6d = ccb;\n W6d = (mmb(), new anb(Fwe));\n }\n function ex() {\n ex = ccb;\n new gx((_k(), $k), (Lk(), Kk));\n }\n function oeb() {\n oeb = ccb;\n neb = KC(JI, nie, 19, 256, 0, 1);\n }\n function d$c(a, b, c2, d) {\n e$c.call(this, a, b, c2, d, 0, 0);\n }\n function sQc(a, b, c2) {\n return Rhb(a.b, BD(c2.b, 17), b);\n }\n function tQc(a, b, c2) {\n return Rhb(a.b, BD(c2.b, 17), b);\n }\n function xfd(a, b) {\n return Ekb(a, new f7c(b.a, b.b));\n }\n function Bic(a, b) {\n return a.c < b.c ? -1 : a.c == b.c ? 0 : 1;\n }\n function B0b(a) {\n return a.e.c.length + a.g.c.length;\n }\n function D0b(a) {\n return a.e.c.length - a.g.c.length;\n }\n function Ojc(a) {\n return a.b.c.length - a.e.c.length;\n }\n function dKc(a) {\n FJc();\n return (Ucd(), Ecd).Hc(a.j);\n }\n function lHd(a) {\n $Gd();\n _Gd.call(this, a);\n this.a = -1;\n }\n function R7d(a, b) {\n f7d.call(this, a, b);\n this.a = this;\n }\n function odb(a, b) {\n var c2;\n c2 = ldb(a, b);\n c2.i = 2;\n return c2;\n }\n function Evd(a, b) {\n var c2;\n ++a.j;\n c2 = a.Ti(b);\n return c2;\n }\n function e3c(a, b, c2) {\n a.a = -1;\n i3c(a, b.g, c2);\n return a;\n }\n function Qrd(a, b, c2) {\n Kqd(a.a, a.b, a.c, BD(b, 202), c2);\n }\n function OHd(a, b) {\n PHd(a, b == null ? null : (uCb(b), b));\n }\n function SUd(a, b) {\n UUd(a, b == null ? null : (uCb(b), b));\n }\n function TUd(a, b) {\n UUd(a, b == null ? null : (uCb(b), b));\n }\n function Zj(a, b, c2) {\n return new tk(oAb(a).Ie(), c2, b);\n }\n function IC(a, b, c2, d, e, f2) {\n return JC(a, b, c2, d, e, 0, f2);\n }\n function Ucb() {\n Ucb = ccb;\n Tcb = KC(xI, nie, 217, 256, 0, 1);\n }\n function Ceb() {\n Ceb = ccb;\n Beb = KC(MI, nie, 162, 256, 0, 1);\n }\n function Yeb() {\n Yeb = ccb;\n Xeb = KC(UI, nie, 184, 256, 0, 1);\n }\n function ddb() {\n ddb = ccb;\n cdb = KC(yI, nie, 172, 128, 0, 1);\n }\n function IVb() {\n HVb(this, false, false, false, false);\n }\n function my(a) {\n im();\n this.a = (mmb(), new anb(Qb(a)));\n }\n function ir(a) {\n Qb(a);\n while (a.Ob()) {\n a.Pb();\n a.Qb();\n }\n }\n function Tw(a) {\n a.a.cd();\n BD(a.a.dd(), 14).gc();\n zh();\n }\n function mf(a) {\n this.c = a;\n this.b = this.c.d.vc().Kc();\n }\n function fqb(a) {\n this.c = a;\n this.a = new Gqb(this.c.a);\n }\n function Vqb(a) {\n this.a = new Mqb(a.gc());\n ye(this, a);\n }\n function Bsb(a) {\n Wqb.call(this, new $rb());\n ye(this, a);\n }\n function Rfb(a, b) {\n a.a += zfb(b, 0, b.length);\n return a;\n }\n function Ikb(a, b) {\n tCb(b, a.c.length);\n return a.c[b];\n }\n function $lb(a, b) {\n tCb(b, a.a.length);\n return a.a[b];\n }\n function YAb(a, b) {\n EAb();\n Vzb.call(this, a);\n this.a = b;\n }\n function Qyb(a, b) {\n return Aeb(wbb(Aeb(a.a).a, b.a));\n }\n function jpb(a, b) {\n return uCb(a), Fcb(a, (uCb(b), b));\n }\n function opb(a, b) {\n return uCb(b), Fcb(b, (uCb(a), a));\n }\n function Oyb(a, b) {\n return NC(b, 0, Bzb(b[0], Aeb(1)));\n }\n function Bzb(a, b) {\n return Qyb(BD(a, 162), BD(b, 162));\n }\n function vic(a) {\n return a.c - BD(Ikb(a.a, a.b), 287).b;\n }\n function uNb(a) {\n return !a.q ? (mmb(), mmb(), kmb) : a.q;\n }\n function Xi(a) {\n return a.e.Hd().gc() * a.c.Hd().gc();\n }\n function onc(a, b, c2) {\n return beb(b.d[a.g], c2.d[a.g]);\n }\n function YHc(a, b, c2) {\n return beb(a.d[b.p], a.d[c2.p]);\n }\n function ZHc(a, b, c2) {\n return beb(a.d[b.p], a.d[c2.p]);\n }\n function $Hc(a, b, c2) {\n return beb(a.d[b.p], a.d[c2.p]);\n }\n function _Hc(a, b, c2) {\n return beb(a.d[b.p], a.d[c2.p]);\n }\n function q$c(a, b, c2) {\n return $wnd.Math.min(c2 / a, 1 / b);\n }\n function sEc(a, b) {\n return a ? 0 : $wnd.Math.max(0, b - 1);\n }\n function Elb(a, b) {\n var c2;\n for (c2 = 0; c2 < b; ++c2) {\n a[c2] = -1;\n }\n }\n function bVc(a) {\n var b;\n b = hVc(a);\n return !b ? a : bVc(b);\n }\n function Voc(a, b) {\n a.a == null && Toc(a);\n return a.a[b];\n }\n function qed(a) {\n if (a.c) {\n return a.c.f;\n }\n return a.e.b;\n }\n function red(a) {\n if (a.c) {\n return a.c.g;\n }\n return a.e.a;\n }\n function pFd(a) {\n zud.call(this, a.gc());\n ytd(this, a);\n }\n function nXd(a, b) {\n UVd();\n VVd.call(this, b);\n this.a = a;\n }\n function KYd(a, b, c2) {\n this.a = a;\n xMd.call(this, b, c2, 2);\n }\n function B_b(a, b, c2, d) {\n v_b(this, a, b, c2, d);\n }\n function ige(a, b) {\n wfe();\n xfe.call(this, a);\n this.a = b;\n }\n function jgd(a) {\n this.b = new Psb();\n this.a = a;\n this.c = -1;\n }\n function MOb() {\n this.d = new f7c(0, 0);\n this.e = new Tqb();\n }\n function Nr(a) {\n qc.call(this, 0, 0);\n this.a = a;\n this.b = 0;\n }\n function ejc(a) {\n this.a = a;\n this.c = new Lqb();\n $ic(this);\n }\n function ju(a) {\n if (a.e.c != a.b) {\n throw vbb(new Apb());\n }\n }\n function bt(a) {\n if (a.c.e != a.a) {\n throw vbb(new Apb());\n }\n }\n function Tbb(a) {\n if (Fbb(a)) {\n return a | 0;\n }\n return pD(a);\n }\n function Bfe(a, b) {\n wfe();\n return new rge(a, b);\n }\n function SEd(a, b) {\n return a == null ? b == null : dfb(a, b);\n }\n function TEd(a, b) {\n return a == null ? b == null : efb(a, b);\n }\n function Npb(a, b, c2) {\n rqb(a.a, b);\n return Qpb(a, b.g, c2);\n }\n function Mlb(a, b, c2) {\n oCb(0, b, a.length);\n Klb(a, 0, b, c2);\n }\n function Dkb(a, b, c2) {\n wCb(b, a.c.length);\n aCb(a.c, b, c2);\n }\n function Dlb(a, b, c2) {\n var d;\n for (d = 0; d < b; ++d) {\n a[d] = c2;\n }\n }\n function qqb(a, b) {\n var c2;\n c2 = pqb(a);\n nmb(c2, b);\n return c2;\n }\n function Oz(a, b) {\n !a && (a = []);\n a[a.length] = b;\n return a;\n }\n function Brb(a, b) {\n return !(a.a.get(b) === void 0);\n }\n function Wyb(a, b) {\n return Nyb(new rzb(), new bzb(a), b);\n }\n function Itb(a) {\n return a == null ? ztb : new Ftb(uCb(a));\n }\n function tqb(a, b) {\n return JD(b, 22) && uqb(a, BD(b, 22));\n }\n function vqb(a, b) {\n return JD(b, 22) && wqb(a, BD(b, 22));\n }\n function Aub(a) {\n return Cub(a, 26) * ike + Cub(a, 27) * jke;\n }\n function MC(a) {\n return Array.isArray(a) && a.im === gcb;\n }\n function bg(a) {\n a.b ? bg(a.b) : a.d.dc() && a.f.c.Bc(a.e);\n }\n function $Nb(a, b) {\n P6c(a.c, b);\n a.b.c += b.a;\n a.b.d += b.b;\n }\n function ZNb(a, b) {\n $Nb(a, c7c(new f7c(b.a, b.b), a.c));\n }\n function BLb(a, b) {\n this.b = new Psb();\n this.a = a;\n this.c = b;\n }\n function OVb() {\n this.b = new $Vb();\n this.c = new SVb(this);\n }\n function oEb() {\n this.d = new CEb();\n this.e = new uEb(this);\n }\n function aCc() {\n ZBc();\n this.f = new Psb();\n this.e = new Psb();\n }\n function $Jc() {\n FJc();\n this.k = new Lqb();\n this.d = new Tqb();\n }\n function Rgd() {\n Rgd = ccb;\n Qgd = new Osd((Y9c(), s9c), 0);\n }\n function Mr() {\n Mr = ccb;\n Lr = new Nr(KC(SI, Uhe, 1, 0, 5, 1));\n }\n function gfc(a, b, c2) {\n bfc(c2, a, 1);\n Ekb(b, new Tfc(c2, a));\n }\n function hfc(a, b, c2) {\n cfc(c2, a, 1);\n Ekb(b, new dgc(c2, a));\n }\n function R$c(a, b, c2) {\n return Qqb(a, new aDb(b.a, c2.a));\n }\n function ACc(a, b, c2) {\n return -beb(a.f[b.p], a.f[c2.p]);\n }\n function mHb(a, b, c2) {\n var d;\n if (a) {\n d = a.i;\n d.c = b;\n d.b = c2;\n }\n }\n function nHb(a, b, c2) {\n var d;\n if (a) {\n d = a.i;\n d.d = b;\n d.a = c2;\n }\n }\n function c3c(a, b, c2) {\n a.a = -1;\n i3c(a, b.g + 1, c2);\n return a;\n }\n function Dod(a, b, c2) {\n c2 = _hd(a, BD(b, 49), 7, c2);\n return c2;\n }\n function JHd(a, b, c2) {\n c2 = _hd(a, BD(b, 49), 3, c2);\n return c2;\n }\n function JMd(a, b, c2) {\n this.a = a;\n BMd.call(this, b, c2, 22);\n }\n function UTd(a, b, c2) {\n this.a = a;\n BMd.call(this, b, c2, 14);\n }\n function eXd(a, b, c2, d) {\n UVd();\n nWd.call(this, a, b, c2, d);\n }\n function lXd(a, b, c2, d) {\n UVd();\n nWd.call(this, a, b, c2, d);\n }\n function FNd(a, b) {\n (b.Bb & ote) != 0 && !a.a.o && (a.a.o = b);\n }\n function MD(a) {\n return a != null && OD(a) && !(a.im === gcb);\n }\n function ID(a) {\n return !Array.isArray(a) && a.im === gcb;\n }\n function ed(a) {\n return JD(a, 15) ? BD(a, 15).Yc() : a.Kc();\n }\n function De(a) {\n return a.Qc(KC(SI, Uhe, 1, a.gc(), 5, 1));\n }\n function u1d(a, b) {\n return W1d(p1d(a, b)) ? b.Qh() : null;\n }\n function uvd(a) {\n a ? Ty(a, (Zfb(), Yfb)) : (Zfb(), Yfb);\n }\n function Sr(a) {\n this.a = (Mr(), Lr);\n this.d = BD(Qb(a), 47);\n }\n function qg(a, b, c2, d) {\n this.a = a;\n dg.call(this, a, b, c2, d);\n }\n function Yge(a) {\n Xge();\n this.a = 0;\n this.b = a - 1;\n this.c = 1;\n }\n function Yy(a) {\n Py(this);\n this.g = a;\n Ry(this);\n this._d();\n }\n function Wm(a) {\n if (a.c) {\n return a.c;\n }\n return a.c = a.Id();\n }\n function Xm(a) {\n if (a.d) {\n return a.d;\n }\n return a.d = a.Jd();\n }\n function Rl(a) {\n var b;\n b = a.c;\n return !b ? a.c = a.Dd() : b;\n }\n function fe(a) {\n var b;\n b = a.f;\n return !b ? a.f = a.Dc() : b;\n }\n function Ec(a) {\n var b;\n b = a.i;\n return !b ? a.i = a.bc() : b;\n }\n function Ffe(a) {\n wfe();\n return new Hge(10, a, 0);\n }\n function Ubb(a) {\n if (Fbb(a)) {\n return \"\" + a;\n }\n return qD(a);\n }\n function a4d(a) {\n if (a.e.j != a.d) {\n throw vbb(new Apb());\n }\n }\n function Nbb(a, b) {\n return zbb(kD(Fbb(a) ? Rbb(a) : a, b));\n }\n function Obb(a, b) {\n return zbb(lD(Fbb(a) ? Rbb(a) : a, b));\n }\n function Pbb(a, b) {\n return zbb(mD(Fbb(a) ? Rbb(a) : a, b));\n }\n function Dcb(a, b) {\n return Ecb((uCb(a), a), (uCb(b), b));\n }\n function Ddb(a, b) {\n return Kdb((uCb(a), a), (uCb(b), b));\n }\n function fx(a, b) {\n return Qb(b), a.a.Ad(b) && !a.b.Ad(b);\n }\n function dD(a, b) {\n return TC(a.l & b.l, a.m & b.m, a.h & b.h);\n }\n function jD(a, b) {\n return TC(a.l | b.l, a.m | b.m, a.h | b.h);\n }\n function rD(a, b) {\n return TC(a.l ^ b.l, a.m ^ b.m, a.h ^ b.h);\n }\n function QAb(a, b) {\n return TAb(a, (uCb(b), new Rxb(b)));\n }\n function RAb(a, b) {\n return TAb(a, (uCb(b), new Txb(b)));\n }\n function g1b(a) {\n return z0b(), BD(a, 11).e.c.length != 0;\n }\n function l1b(a) {\n return z0b(), BD(a, 11).g.c.length != 0;\n }\n function bac(a, b) {\n I9b();\n return Kdb(b.a.o.a, a.a.o.a);\n }\n function Rnc(a, b, c2) {\n return Snc(a, BD(b, 11), BD(c2, 11));\n }\n function koc(a) {\n if (a.e) {\n return poc(a.e);\n }\n return null;\n }\n function Iub(a) {\n if (!a.d) {\n a.d = a.b.Kc();\n a.c = a.b.gc();\n }\n }\n function pBb(a, b, c2) {\n if (a.a.Mb(c2)) {\n a.b = true;\n b.td(c2);\n }\n }\n function _vb(a, b) {\n if (a < 0 || a >= b) {\n throw vbb(new rcb());\n }\n }\n function Pyb(a, b, c2) {\n NC(b, 0, Bzb(b[0], c2[0]));\n return b;\n }\n function _yc(a, b, c2) {\n b.Ye(c2, Edb(ED(Ohb(a.b, c2))) * a.a);\n }\n function n6c(a, b, c2) {\n i6c();\n return m6c(a, b) && m6c(a, c2);\n }\n function tcd(a) {\n rcd();\n return !a.Hc(ncd) && !a.Hc(pcd);\n }\n function D6c(a) {\n return new f7c(a.c + a.b / 2, a.d + a.a / 2);\n }\n function oOd(a, b) {\n return b.kh() ? xid(a.b, BD(b, 49)) : b;\n }\n function bvb(a, b) {\n this.e = a;\n this.d = (b & 64) != 0 ? b | oie : b;\n }\n function qvb(a, b) {\n this.c = 0;\n this.d = a;\n this.b = b | 64 | oie;\n }\n function gub(a) {\n this.b = new Skb(11);\n this.a = (ipb(), a);\n }\n function Qwb(a) {\n this.b = null;\n this.a = (ipb(), !a ? fpb : a);\n }\n function nHc(a) {\n this.a = lHc(a.a);\n this.b = new Tkb(a.b);\n }\n function Pzd(a) {\n this.b = a;\n Oyd.call(this, a);\n Ozd(this);\n }\n function Xzd(a) {\n this.b = a;\n bzd.call(this, a);\n Wzd(this);\n }\n function jUd(a, b, c2) {\n this.a = a;\n gUd.call(this, b, c2, 5, 6);\n }\n function Y5d(a, b, c2, d) {\n this.b = a;\n xMd.call(this, b, c2, d);\n }\n function nSd(a, b, c2, d, e) {\n oSd.call(this, a, b, c2, d, e, -1);\n }\n function DSd(a, b, c2, d, e) {\n ESd.call(this, a, b, c2, d, e, -1);\n }\n function cUd(a, b, c2, d) {\n xMd.call(this, a, b, c2);\n this.b = d;\n }\n function i5d(a, b, c2, d) {\n pMd.call(this, a, b, c2);\n this.b = d;\n }\n function x0d(a) {\n Wud.call(this, a, false);\n this.a = false;\n }\n function Lj(a, b) {\n this.b = a;\n sj.call(this, a.b);\n this.a = b;\n }\n function px(a, b) {\n im();\n ox.call(this, a, Dm(new amb(b)));\n }\n function Cfe(a, b) {\n wfe();\n return new Dge(a, b, 0);\n }\n function Efe(a, b) {\n wfe();\n return new Dge(6, a, b);\n }\n function nfb(a, b) {\n return dfb(a.substr(0, b.length), b);\n }\n function Mhb(a, b) {\n return ND(b) ? Qhb(a, b) : !!irb(a.f, b);\n }\n function Rrb(a, b) {\n uCb(b);\n while (a.Ob()) {\n b.td(a.Pb());\n }\n }\n function Vgb(a, b, c2) {\n Hgb();\n this.e = a;\n this.d = b;\n this.a = c2;\n }\n function amc(a, b, c2, d) {\n var e;\n e = a.i;\n e.i = b;\n e.a = c2;\n e.b = d;\n }\n function xJc(a) {\n var b;\n b = a;\n while (b.f) {\n b = b.f;\n }\n return b;\n }\n function fkb(a) {\n var b;\n b = bkb(a);\n sCb(b != null);\n return b;\n }\n function gkb(a) {\n var b;\n b = ckb(a);\n sCb(b != null);\n return b;\n }\n function cv(a, b) {\n var c2;\n c2 = a.a.gc();\n Sb(b, c2);\n return c2 - b;\n }\n function Glb(a, b) {\n var c2;\n for (c2 = 0; c2 < b; ++c2) {\n a[c2] = false;\n }\n }\n function Clb(a, b, c2, d) {\n var e;\n for (e = b; e < c2; ++e) {\n a[e] = d;\n }\n }\n function ylb(a, b, c2, d) {\n oCb(b, c2, a.length);\n Clb(a, b, c2, d);\n }\n function Vvb(a, b, c2) {\n _vb(c2, a.a.c.length);\n Nkb(a.a, c2, b);\n }\n function Lyb(a, b, c2) {\n this.c = a;\n this.a = b;\n mmb();\n this.b = c2;\n }\n function Qpb(a, b, c2) {\n var d;\n d = a.b[b];\n a.b[b] = c2;\n return d;\n }\n function Qqb(a, b) {\n var c2;\n c2 = a.a.zc(b, a);\n return c2 == null;\n }\n function zjb(a) {\n if (!a) {\n throw vbb(new utb());\n }\n return a.d;\n }\n function vCb(a, b) {\n if (a == null) {\n throw vbb(new Heb(b));\n }\n }\n function Goc(a, b) {\n if (!b) {\n return false;\n }\n return ye(a, b);\n }\n function K2c(a, b, c2) {\n C2c(a, b.g, c2);\n rqb(a.c, b);\n return a;\n }\n function vVb(a) {\n tVb(a, (ead(), aad));\n a.d = true;\n return a;\n }\n function c2d(a) {\n !a.j && i2d(a, d1d(a.g, a.b));\n return a.j;\n }\n function nlb(a) {\n yCb(a.b != -1);\n Kkb(a.c, a.a = a.b);\n a.b = -1;\n }\n function Uhb(a) {\n a.f = new lrb(a);\n a.g = new Frb(a);\n zpb(a);\n }\n function Plb(a) {\n return new YAb(null, Olb(a, a.length));\n }\n function ul(a) {\n return new Sr(new xl(a.a.length, a.a));\n }\n function iD(a) {\n return TC(~a.l & Eje, ~a.m & Eje, ~a.h & Fje);\n }\n function OD(a) {\n return typeof a === Jhe || typeof a === Nhe;\n }\n function D9d(a) {\n return a == Pje ? Nwe : a == Qje ? \"-INF\" : \"\" + a;\n }\n function F9d(a) {\n return a == Pje ? Nwe : a == Qje ? \"-INF\" : \"\" + a;\n }\n function yRb(a, b) {\n return a > 0 ? $wnd.Math.log(a / b) : -100;\n }\n function ueb(a, b) {\n return ybb(a, b) < 0 ? -1 : ybb(a, b) > 0 ? 1 : 0;\n }\n function HMb(a, b, c2) {\n return IMb(a, BD(b, 46), BD(c2, 167));\n }\n function iq(a, b) {\n return BD(Rl(Wm(a.a)).Xb(b), 42).cd();\n }\n function Olb(a, b) {\n return avb(b, a.length), new vvb(a, b);\n }\n function Pyd(a, b) {\n this.d = a;\n Fyd.call(this, a);\n this.e = b;\n }\n function Lub(a) {\n this.d = (uCb(a), a);\n this.a = 0;\n this.c = rie;\n }\n function rge(a, b) {\n xfe.call(this, 1);\n this.a = a;\n this.b = b;\n }\n function Rzb(a, b) {\n !a.c ? Ekb(a.b, b) : Rzb(a.c, b);\n return a;\n }\n function uB(a, b, c2) {\n var d;\n d = tB(a, b);\n vB(a, b, c2);\n return d;\n }\n function ZBb(a, b) {\n var c2;\n c2 = a.slice(0, b);\n return PC(c2, a);\n }\n function Flb(a, b, c2) {\n var d;\n for (d = 0; d < b; ++d) {\n NC(a, d, c2);\n }\n }\n function ffb(a, b, c2, d, e) {\n while (b < c2) {\n d[e++] = bfb(a, b++);\n }\n }\n function hLb(a, b) {\n return Kdb(a.c.c + a.c.b, b.c.c + b.c.b);\n }\n function Axb(a, b) {\n return Iwb(a.a, b, (Bcb(), zcb)) == null;\n }\n function Vsb(a, b) {\n Gsb(a.d, b, a.b.b, a.b);\n ++a.a;\n a.c = null;\n }\n function d3d(a, b) {\n JLd(a, JD(b, 153) ? b : BD(b, 1937).gl());\n }\n function hkc(a, b) {\n MAb(NAb(a.Oc(), new Rkc()), new Tkc(b));\n }\n function kkc(a, b, c2, d, e) {\n jkc(a, BD(Qc(b.k, c2), 15), c2, d, e);\n }\n function lOc(a) {\n a.s = NaN;\n a.c = NaN;\n mOc(a, a.e);\n mOc(a, a.j);\n }\n function it(a) {\n a.a = null;\n a.e = null;\n Uhb(a.b);\n a.d = 0;\n ++a.c;\n }\n function gKc(a) {\n return $wnd.Math.abs(a.d.e - a.e.e) - a.a;\n }\n function MAd(a, b, c2) {\n return BD(a.c._c(b, BD(c2, 133)), 42);\n }\n function os() {\n hs();\n return OC(GC(yG, 1), Kie, 538, 0, [gs]);\n }\n function VPb(a) {\n QPb();\n return Xod(jtd(a)) == Xod(ltd(a));\n }\n function aRb(a) {\n _Qb.call(this);\n this.a = a;\n Ekb(a.a, this);\n }\n function tPc(a, b) {\n this.d = DPc(a);\n this.c = b;\n this.a = 0.5 * b;\n }\n function A6d() {\n $rb.call(this);\n this.a = true;\n this.b = true;\n }\n function aLd(a) {\n return (a.i == null && TKd(a), a.i).length;\n }\n function oRd(a) {\n return JD(a, 99) && (BD(a, 18).Bb & ote) != 0;\n }\n function w2d(a, b) {\n ++a.j;\n t3d(a, a.i, b);\n v2d(a, BD(b, 332));\n }\n function vId(a, b) {\n b = a.nk(null, b);\n return uId(a, null, b);\n }\n function ytd(a, b) {\n a.hi() && (b = Dtd(a, b));\n return a.Wh(b);\n }\n function mdb(a, b, c2) {\n var d;\n d = ldb(a, b);\n zdb(c2, d);\n return d;\n }\n function ldb(a, b) {\n var c2;\n c2 = new jdb();\n c2.j = a;\n c2.d = b;\n return c2;\n }\n function Qb(a) {\n if (a == null) {\n throw vbb(new Geb());\n }\n return a;\n }\n function Fc(a) {\n var b;\n b = a.j;\n return !b ? a.j = new Cw(a) : b;\n }\n function Vi(a) {\n var b;\n b = a.f;\n return !b ? a.f = new Rj(a) : b;\n }\n function ci(a) {\n var b;\n return b = a.k, !b ? a.k = new th(a) : b;\n }\n function Uc(a) {\n var b;\n return b = a.k, !b ? a.k = new th(a) : b;\n }\n function Pc(a) {\n var b;\n return b = a.g, !b ? a.g = new lh(a) : b;\n }\n function Yi(a) {\n var b;\n return b = a.i, !b ? a.i = new Ci(a) : b;\n }\n function qo(a) {\n var b;\n b = a.d;\n return !b ? a.d = new ap(a) : b;\n }\n function Fb(a) {\n Qb(a);\n return JD(a, 475) ? BD(a, 475) : fcb(a);\n }\n function Ix(a) {\n if (JD(a, 607)) {\n return a;\n }\n return new by(a);\n }\n function qj(a, b) {\n Pb(b, a.c.b.c.gc());\n return new Fj(a, b);\n }\n function Dfe(a, b, c2) {\n wfe();\n return new zge(a, b, c2);\n }\n function NC(a, b, c2) {\n qCb(c2 == null || FC(a, c2));\n return a[b] = c2;\n }\n function bv(a, b) {\n var c2;\n c2 = a.a.gc();\n Pb(b, c2);\n return c2 - 1 - b;\n }\n function Afb(a, b) {\n a.a += String.fromCharCode(b);\n return a;\n }\n function Kfb(a, b) {\n a.a += String.fromCharCode(b);\n return a;\n }\n function ovb(a, b) {\n uCb(b);\n while (a.c < a.d) {\n a.ze(b, a.c++);\n }\n }\n function Ohb(a, b) {\n return ND(b) ? Phb(a, b) : Wd(irb(a.f, b));\n }\n function ZPb(a, b) {\n QPb();\n return a == jtd(b) ? ltd(b) : jtd(b);\n }\n function isd(a, b) {\n Qpd(a, new yC(b.f != null ? b.f : \"\" + b.g));\n }\n function ksd(a, b) {\n Qpd(a, new yC(b.f != null ? b.f : \"\" + b.g));\n }\n function dVb(a) {\n this.b = new Rkb();\n this.a = new Rkb();\n this.c = a;\n }\n function H1b(a) {\n this.c = new d7c();\n this.a = new Rkb();\n this.b = a;\n }\n function pRb(a) {\n _Qb.call(this);\n this.a = new d7c();\n this.c = a;\n }\n function yC(a) {\n if (a == null) {\n throw vbb(new Geb());\n }\n this.a = a;\n }\n function HA(a) {\n fA();\n this.b = new Rkb();\n this.a = a;\n sA(this, a);\n }\n function v4c(a) {\n this.c = a;\n this.a = new Psb();\n this.b = new Psb();\n }\n function GB() {\n GB = ccb;\n EB = new HB(false);\n FB = new HB(true);\n }\n function im() {\n im = ccb;\n Ql();\n hm = new ux((mmb(), mmb(), jmb));\n }\n function yx() {\n yx = ccb;\n Ql();\n xx = new zx((mmb(), mmb(), lmb));\n }\n function NFd() {\n NFd = ccb;\n MFd = BZd();\n !!(jGd(), PFd) && DZd();\n }\n function aac(a, b) {\n I9b();\n return BD(Mpb(a, b.d), 15).Fc(b);\n }\n function pTb(a, b, c2, d) {\n return c2 == 0 || (c2 - d) / c2 < a.e || b >= a.g;\n }\n function NHc(a, b, c2) {\n var d;\n d = THc(a, b, c2);\n return MHc(a, d);\n }\n function Qpd(a, b) {\n var c2;\n c2 = a.a.length;\n tB(a, c2);\n vB(a, c2, b);\n }\n function gCb(a, b) {\n var c2;\n c2 = console[a];\n c2.call(console, b);\n }\n function Bvd(a, b) {\n var c2;\n ++a.j;\n c2 = a.Vi();\n a.Ii(a.oi(c2, b));\n }\n function E1c(a, b, c2) {\n BD(b.b, 65);\n Hkb(b.a, new L1c(a, c2, b));\n }\n function oXd(a, b, c2) {\n VVd.call(this, b);\n this.a = a;\n this.b = c2;\n }\n function Dge(a, b, c2) {\n xfe.call(this, a);\n this.a = b;\n this.b = c2;\n }\n function dYd(a, b, c2) {\n this.a = a;\n lVd.call(this, b);\n this.b = c2;\n }\n function f0d(a, b, c2) {\n this.a = a;\n mxd.call(this, 8, b, null, c2);\n }\n function z1d(a) {\n this.a = (uCb(Rve), Rve);\n this.b = a;\n new oUd();\n }\n function ct(a) {\n this.c = a;\n this.b = this.c.a;\n this.a = this.c.e;\n }\n function usb(a) {\n this.c = a;\n this.b = a.a.d.a;\n ypb(a.a.e, this);\n }\n function uib(a) {\n yCb(a.c != -1);\n a.d.$c(a.c);\n a.b = a.c;\n a.c = -1;\n }\n function U6c(a) {\n return $wnd.Math.sqrt(a.a * a.a + a.b * a.b);\n }\n function Uvb(a, b) {\n return _vb(b, a.a.c.length), Ikb(a.a, b);\n }\n function Hb(a, b) {\n return PD(a) === PD(b) || a != null && pb(a, b);\n }\n function oAb(a) {\n if (0 >= a) {\n return new yAb();\n }\n return pAb(a - 1);\n }\n function Nfe(a) {\n if (!bfe)\n return false;\n return Qhb(bfe, a);\n }\n function Ehe(a) {\n if (a)\n return a.dc();\n return !a.Kc().Ob();\n }\n function Q_b(a) {\n if (!a.a && !!a.c) {\n return a.c.b;\n }\n return a.a;\n }\n function LHd(a) {\n !a.a && (a.a = new xMd(m5, a, 4));\n return a.a;\n }\n function LQd(a) {\n !a.d && (a.d = new xMd(j5, a, 1));\n return a.d;\n }\n function uCb(a) {\n if (a == null) {\n throw vbb(new Geb());\n }\n return a;\n }\n function Qzb(a) {\n if (!a.c) {\n a.d = true;\n Szb(a);\n } else {\n a.c.He();\n }\n }\n function Tzb(a) {\n if (!a.c) {\n Uzb(a);\n a.d = true;\n } else {\n Tzb(a.c);\n }\n }\n function Kpb(a) {\n Ae(a.a);\n a.b = KC(SI, Uhe, 1, a.b.length, 5, 1);\n }\n function qlc(a, b) {\n return beb(b.j.c.length, a.j.c.length);\n }\n function igd(a, b) {\n a.c < 0 || a.b.b < a.c ? Fsb(a.b, b) : a.a._e(b);\n }\n function Did(a, b) {\n var c2;\n c2 = a.Yg(b);\n c2 >= 0 ? a.Bh(c2) : vid(a, b);\n }\n function WHc(a) {\n var b, c2;\n b = a.c.i.c;\n c2 = a.d.i.c;\n return b == c2;\n }\n function Wwd(a) {\n if (a.p != 4)\n throw vbb(new Ydb());\n return a.e;\n }\n function Vwd(a) {\n if (a.p != 3)\n throw vbb(new Ydb());\n return a.e;\n }\n function Ywd(a) {\n if (a.p != 6)\n throw vbb(new Ydb());\n return a.f;\n }\n function fxd(a) {\n if (a.p != 6)\n throw vbb(new Ydb());\n return a.k;\n }\n function cxd(a) {\n if (a.p != 3)\n throw vbb(new Ydb());\n return a.j;\n }\n function dxd(a) {\n if (a.p != 4)\n throw vbb(new Ydb());\n return a.j;\n }\n function AYd(a) {\n !a.b && (a.b = new RYd(new NYd()));\n return a.b;\n }\n function $1d(a) {\n a.c == -2 && e2d(a, X0d(a.g, a.b));\n return a.c;\n }\n function pdb(a, b) {\n var c2;\n c2 = ldb(\"\", a);\n c2.n = b;\n c2.i = 1;\n return c2;\n }\n function MNb(a, b) {\n $Nb(BD(b.b, 65), a);\n Hkb(b.a, new RNb(a));\n }\n function Cnd(a, b) {\n wtd((!a.a && (a.a = new fTd(a, a)), a.a), b);\n }\n function Qzd(a, b) {\n this.b = a;\n Pyd.call(this, a, b);\n Ozd(this);\n }\n function Yzd(a, b) {\n this.b = a;\n czd.call(this, a, b);\n Wzd(this);\n }\n function Ms(a, b, c2, d) {\n Wo.call(this, a, b);\n this.d = c2;\n this.a = d;\n }\n function $o(a, b, c2, d) {\n Wo.call(this, a, c2);\n this.a = b;\n this.f = d;\n }\n function iy(a, b) {\n Pp.call(this, umb(Qb(a), Qb(b)));\n this.a = b;\n }\n function cae() {\n fod.call(this, Ewe, (p8d(), o8d));\n $9d(this);\n }\n function AZd() {\n fod.call(this, _ve, (LFd(), KFd));\n uZd(this);\n }\n function T0c() {\n $r.call(this, \"DELAUNAY_TRIANGULATION\", 0);\n }\n function vfb(a) {\n return String.fromCharCode.apply(null, a);\n }\n function Rhb(a, b, c2) {\n return ND(b) ? Shb(a, b, c2) : jrb(a.f, b, c2);\n }\n function tmb(a) {\n mmb();\n return !a ? (ipb(), ipb(), hpb) : a.ve();\n }\n function d2c(a, b, c2) {\n Y1c();\n return c2.pg(a, BD(b.cd(), 146));\n }\n function ix(a, b) {\n ex();\n return new gx(new il(a), new Uk(b));\n }\n function Iu(a) {\n Xj(a, Mie);\n return Oy(wbb(wbb(5, a), a / 10 | 0));\n }\n function Vm() {\n Vm = ccb;\n Um = new wx(OC(GC(CK, 1), zie, 42, 0, []));\n }\n function hob(a) {\n !a.d && (a.d = new lnb(a.c.Cc()));\n return a.d;\n }\n function eob(a) {\n !a.a && (a.a = new Gob(a.c.vc()));\n return a.a;\n }\n function gob(a) {\n !a.b && (a.b = new zob(a.c.ec()));\n return a.b;\n }\n function keb(a, b) {\n while (b-- > 0) {\n a = a << 1 | (a < 0 ? 1 : 0);\n }\n return a;\n }\n function wtb(a, b) {\n return PD(a) === PD(b) || a != null && pb(a, b);\n }\n function Gbc(a, b) {\n return Bcb(), BD(b.b, 19).a < a ? true : false;\n }\n function Hbc(a, b) {\n return Bcb(), BD(b.a, 19).a < a ? true : false;\n }\n function Mpb(a, b) {\n return tqb(a.a, b) ? a.b[BD(b, 22).g] : null;\n }\n function kcb(a, b, c2, d) {\n a.a = qfb(a.a, 0, b) + (\"\" + d) + pfb(a.a, c2);\n }\n function OJb(a, b) {\n a.u.Hc((rcd(), ncd)) && MJb(a, b);\n QJb(a, b);\n }\n function bfb(a, b) {\n BCb(b, a.length);\n return a.charCodeAt(b);\n }\n function vtb() {\n hz.call(this, \"There is no more element.\");\n }\n function xkb(a) {\n this.d = a;\n this.a = this.d.b;\n this.b = this.d.c;\n }\n function kEb(a) {\n a.b = false;\n a.c = false;\n a.d = false;\n a.a = false;\n }\n function Znd(a, b, c2, d) {\n Ynd(a, b, c2, false);\n LPd(a, d);\n return a;\n }\n function h3c(a) {\n a.j.c = KC(SI, Uhe, 1, 0, 5, 1);\n a.a = -1;\n return a;\n }\n function Old(a) {\n !a.c && (a.c = new y5d(z2, a, 5, 8));\n return a.c;\n }\n function Nld(a) {\n !a.b && (a.b = new y5d(z2, a, 4, 7));\n return a.b;\n }\n function Kkd(a) {\n !a.n && (a.n = new cUd(D2, a, 1, 7));\n return a.n;\n }\n function Yod(a) {\n !a.c && (a.c = new cUd(F2, a, 9, 9));\n return a.c;\n }\n function a2d(a) {\n a.e == Gwe && g2d(a, a1d(a.g, a.b));\n return a.e;\n }\n function b2d(a) {\n a.f == Gwe && h2d(a, b1d(a.g, a.b));\n return a.f;\n }\n function Ah(a) {\n var b;\n b = a.b;\n !b && (a.b = b = new Ph(a));\n return b;\n }\n function Ae(a) {\n var b;\n for (b = a.Kc(); b.Ob(); ) {\n b.Pb();\n b.Qb();\n }\n }\n function Fg(a) {\n ag(a.d);\n if (a.d.d != a.c) {\n throw vbb(new Apb());\n }\n }\n function Xx(a, b) {\n this.b = a;\n this.c = b;\n this.a = new Gqb(this.b);\n }\n function Zeb(a, b, c2) {\n this.a = Zie;\n this.d = a;\n this.b = b;\n this.c = c2;\n }\n function Mub(a, b) {\n this.d = (uCb(a), a);\n this.a = 16449;\n this.c = b;\n }\n function nqd(a, b) {\n ctd(a, Edb(Xpd(b, \"x\")), Edb(Xpd(b, \"y\")));\n }\n function Aqd(a, b) {\n ctd(a, Edb(Xpd(b, \"x\")), Edb(Xpd(b, \"y\")));\n }\n function JAb(a, b) {\n Uzb(a);\n return new YAb(a, new qBb(b, a.a));\n }\n function NAb(a, b) {\n Uzb(a);\n return new YAb(a, new IBb(b, a.a));\n }\n function OAb(a, b) {\n Uzb(a);\n return new bAb(a, new wBb(b, a.a));\n }\n function PAb(a, b) {\n Uzb(a);\n return new vAb(a, new CBb(b, a.a));\n }\n function Cy(a, b) {\n return new Ay(BD(Qb(a), 62), BD(Qb(b), 62));\n }\n function PWb(a, b) {\n LWb();\n return Kdb((uCb(a), a), (uCb(b), b));\n }\n function fPb() {\n cPb();\n return OC(GC(GO, 1), Kie, 481, 0, [bPb]);\n }\n function o_c() {\n i_c();\n return OC(GC(N_, 1), Kie, 482, 0, [h_c]);\n }\n function x_c() {\n s_c();\n return OC(GC(O_, 1), Kie, 551, 0, [r_c]);\n }\n function X0c() {\n R0c();\n return OC(GC(W_, 1), Kie, 530, 0, [Q0c]);\n }\n function cEc(a) {\n this.a = new Rkb();\n this.e = KC(WD, nie, 48, a, 0, 2);\n }\n function l$b(a, b, c2, d) {\n this.a = a;\n this.e = b;\n this.d = c2;\n this.c = d;\n }\n function QIc(a, b, c2, d) {\n this.a = a;\n this.c = b;\n this.b = c2;\n this.d = d;\n }\n function rKc(a, b, c2, d) {\n this.c = a;\n this.b = b;\n this.a = c2;\n this.d = d;\n }\n function WKc(a, b, c2, d) {\n this.c = a;\n this.b = b;\n this.d = c2;\n this.a = d;\n }\n function J6c(a, b, c2, d) {\n this.c = a;\n this.d = b;\n this.b = c2;\n this.a = d;\n }\n function gPc(a, b, c2, d) {\n this.a = a;\n this.d = b;\n this.c = c2;\n this.b = d;\n }\n function Blc(a, b, c2, d) {\n $r.call(this, a, b);\n this.a = c2;\n this.b = d;\n }\n function Ggd(a, b, c2, d) {\n this.a = a;\n this.c = b;\n this.d = c2;\n this.b = d;\n }\n function pec(a, b, c2) {\n Pmc(a.a, c2);\n dmc(c2);\n enc(a.b, c2);\n xmc(b, c2);\n }\n function Pid(a, b, c2) {\n var d, e;\n d = QEd(a);\n e = b.Kh(c2, d);\n return e;\n }\n function KPb(a, b) {\n var c2, d;\n c2 = a / b;\n d = QD(c2);\n c2 > d && ++d;\n return d;\n }\n function Nnd(a) {\n var b, c2;\n c2 = (b = new UQd(), b);\n NQd(c2, a);\n return c2;\n }\n function Ond(a) {\n var b, c2;\n c2 = (b = new UQd(), b);\n RQd(c2, a);\n return c2;\n }\n function hqd(a, b) {\n var c2;\n c2 = Ohb(a.f, b);\n Yqd(b, c2);\n return null;\n }\n function JZb(a) {\n var b;\n b = P2b(a);\n if (b) {\n return b;\n }\n return null;\n }\n function Wod(a) {\n !a.b && (a.b = new cUd(B2, a, 12, 3));\n return a.b;\n }\n function YEd(a) {\n return a != null && hnb(GEd, a.toLowerCase());\n }\n function ied(a, b) {\n return Kdb(red(a) * qed(a), red(b) * qed(b));\n }\n function jed(a, b) {\n return Kdb(red(a) * qed(a), red(b) * qed(b));\n }\n function wEb(a, b) {\n return Kdb(a.d.c + a.d.b / 2, b.d.c + b.d.b / 2);\n }\n function UVb(a, b) {\n return Kdb(a.g.c + a.g.b / 2, b.g.c + b.g.b / 2);\n }\n function pQb(a, b, c2) {\n c2.a ? eld(a, b.b - a.f / 2) : dld(a, b.a - a.g / 2);\n }\n function prd(a, b, c2, d) {\n this.a = a;\n this.b = b;\n this.c = c2;\n this.d = d;\n }\n function ord(a, b, c2, d) {\n this.a = a;\n this.b = b;\n this.c = c2;\n this.d = d;\n }\n function JVd(a, b, c2, d) {\n this.e = a;\n this.a = b;\n this.c = c2;\n this.d = d;\n }\n function ZVd(a, b, c2, d) {\n this.a = a;\n this.c = b;\n this.d = c2;\n this.b = d;\n }\n function cXd(a, b, c2, d) {\n UVd();\n mWd.call(this, b, c2, d);\n this.a = a;\n }\n function jXd(a, b, c2, d) {\n UVd();\n mWd.call(this, b, c2, d);\n this.a = a;\n }\n function Ng(a, b) {\n this.a = a;\n Hg.call(this, a, BD(a.d, 15).Zc(b));\n }\n function ZBd(a) {\n this.f = a;\n this.c = this.f.e;\n a.f > 0 && YBd(this);\n }\n function lBb(a, b, c2, d) {\n this.b = a;\n this.c = d;\n nvb.call(this, b, c2);\n }\n function tib(a) {\n sCb(a.b < a.d.gc());\n return a.d.Xb(a.c = a.b++);\n }\n function Osb(a) {\n a.a.a = a.c;\n a.c.b = a.a;\n a.a.b = a.c.a = null;\n a.b = 0;\n }\n function u_b(a, b) {\n a.b = b.b;\n a.c = b.c;\n a.d = b.d;\n a.a = b.a;\n return a;\n }\n function Ry(a) {\n if (a.n) {\n a.e !== Sie && a._d();\n a.j = null;\n }\n return a;\n }\n function FD(a) {\n CCb(a == null || OD(a) && !(a.im === gcb));\n return a;\n }\n function p4b(a) {\n this.b = new Rkb();\n Gkb(this.b, this.b);\n this.a = a;\n }\n function QPb() {\n QPb = ccb;\n PPb = new Rkb();\n OPb = new Lqb();\n NPb = new Rkb();\n }\n function mmb() {\n mmb = ccb;\n jmb = new xmb();\n kmb = new Qmb();\n lmb = new Ymb();\n }\n function ipb() {\n ipb = ccb;\n fpb = new kpb();\n gpb = new kpb();\n hpb = new ppb();\n }\n function ODb() {\n ODb = ccb;\n LDb = new JDb();\n NDb = new oEb();\n MDb = new fEb();\n }\n function MCb() {\n if (HCb == 256) {\n GCb = ICb;\n ICb = new nb();\n HCb = 0;\n }\n ++HCb;\n }\n function nd(a) {\n var b;\n return b = a.f, !b ? a.f = new ne(a, a.c) : b;\n }\n function d2b(a) {\n return Qld(a) && Ccb(DD(hkd(a, (Nyc(), gxc))));\n }\n function mcc(a, b) {\n return Rc(a, BD(vNb(b, (Nyc(), Nxc)), 19), b);\n }\n function POc(a, b) {\n return vPc(a.j, b.s, b.c) + vPc(b.e, a.s, a.c);\n }\n function ooc(a, b) {\n if (!!a.e && !a.e.a) {\n moc(a.e, b);\n ooc(a.e, b);\n }\n }\n function noc(a, b) {\n if (!!a.d && !a.d.a) {\n moc(a.d, b);\n noc(a.d, b);\n }\n }\n function hed(a, b) {\n return -Kdb(red(a) * qed(a), red(b) * qed(b));\n }\n function cgd(a) {\n return BD(a.cd(), 146).tg() + \":\" + fcb(a.dd());\n }\n function Zgc(a) {\n Hgc();\n var b;\n b = BD(a.g, 10);\n b.n.a = a.d.c + b.d.b;\n }\n function wgc(a, b, c2) {\n qgc();\n return iEb(BD(Ohb(a.e, b), 522), c2);\n }\n function Y2c(a, b) {\n rb(a);\n rb(b);\n return Xr(BD(a, 22), BD(b, 22));\n }\n function oic(a, b, c2) {\n a.i = 0;\n a.e = 0;\n if (b == c2) {\n return;\n }\n kic(a, b, c2);\n }\n function pic(a, b, c2) {\n a.i = 0;\n a.e = 0;\n if (b == c2) {\n return;\n }\n lic(a, b, c2);\n }\n function Spd(a, b, c2) {\n var d, e;\n d = Kcb(c2);\n e = new TB(d);\n cC(a, b, e);\n }\n function FSd(a, b, c2, d, e, f2) {\n ESd.call(this, a, b, c2, d, e, f2 ? -2 : -1);\n }\n function U5d(a, b, c2, d) {\n MLd.call(this, b, c2);\n this.b = a;\n this.a = d;\n }\n function QRc(a, b) {\n new Psb();\n this.a = new s7c();\n this.b = a;\n this.c = b;\n }\n function Hec(a, b) {\n BD(vNb(a, (wtc(), Qsc)), 15).Fc(b);\n return b;\n }\n function Rb(a, b) {\n if (a == null) {\n throw vbb(new Heb(b));\n }\n return a;\n }\n function WKd(a) {\n !a.q && (a.q = new cUd(n5, a, 11, 10));\n return a.q;\n }\n function ZKd(a) {\n !a.s && (a.s = new cUd(t5, a, 21, 17));\n return a.s;\n }\n function Vod(a) {\n !a.a && (a.a = new cUd(E2, a, 10, 11));\n return a.a;\n }\n function Dx(a) {\n return JD(a, 14) ? new Vqb(BD(a, 14)) : Ex(a.Kc());\n }\n function Ni(a) {\n return new aj(a, a.e.Hd().gc() * a.c.Hd().gc());\n }\n function Zi(a) {\n return new kj(a, a.e.Hd().gc() * a.c.Hd().gc());\n }\n function rz(a) {\n return !!a && !!a.hashCode ? a.hashCode() : FCb(a);\n }\n function Qhb(a, b) {\n return b == null ? !!irb(a.f, null) : Brb(a.g, b);\n }\n function Oq(a) {\n Qb(a);\n return mr(new Sr(ur(a.a.Kc(), new Sq())));\n }\n function vmb(a) {\n mmb();\n return JD(a, 54) ? new Yob(a) : new Inb(a);\n }\n function VDb(a, b, c2) {\n if (a.f) {\n return a.f.Ne(b, c2);\n }\n return false;\n }\n function Gfb(a, b) {\n a.a = qfb(a.a, 0, b) + \"\" + pfb(a.a, b + 1);\n return a;\n }\n function fVb(a, b) {\n var c2;\n c2 = Sqb(a.a, b);\n c2 && (b.d = null);\n return c2;\n }\n function zpb(a) {\n var b, c2;\n c2 = a;\n b = c2.$modCount | 0;\n c2.$modCount = b + 1;\n }\n function pu(a) {\n this.b = a;\n this.c = a;\n a.e = null;\n a.c = null;\n this.a = 1;\n }\n function hOb(a) {\n this.b = a;\n this.a = new Hxb(BD(Qb(new kOb()), 62));\n }\n function uEb(a) {\n this.c = a;\n this.b = new Hxb(BD(Qb(new xEb()), 62));\n }\n function SVb(a) {\n this.c = a;\n this.b = new Hxb(BD(Qb(new VVb()), 62));\n }\n function FYb() {\n this.a = new HXb();\n this.b = new LXb();\n this.d = new SYb();\n }\n function UZb() {\n this.a = new s7c();\n this.b = (Xj(3, Jie), new Skb(3));\n }\n function VMc() {\n this.b = new Tqb();\n this.d = new Psb();\n this.e = new twb();\n }\n function K6c(a) {\n this.c = a.c;\n this.d = a.d;\n this.b = a.b;\n this.a = a.a;\n }\n function Ay(a, b) {\n oi.call(this, new Qwb(a));\n this.a = a;\n this.b = b;\n }\n function eod() {\n bod(this, new $md());\n this.wb = (NFd(), MFd);\n LFd();\n }\n function eHc(a) {\n Odd(a, \"No crossing minimization\", 1);\n Qdd(a);\n }\n function Gz(a) {\n Az();\n $wnd.setTimeout(function() {\n throw a;\n }, 0);\n }\n function _Kd(a) {\n if (!a.u) {\n $Kd(a);\n a.u = new YOd(a, a);\n }\n return a.u;\n }\n function wjd(a) {\n var b;\n b = BD(Ajd(a, 16), 26);\n return !b ? a.zh() : b;\n }\n function Jsd(a, b) {\n return JD(b, 146) && dfb(a.b, BD(b, 146).tg());\n }\n function t0d(a, b) {\n return a.a ? b.Wg().Kc() : BD(b.Wg(), 69).Zh();\n }\n function u3b(a) {\n return a.k == (j0b(), h0b) && wNb(a, (wtc(), Csc));\n }\n function ux(a) {\n this.a = (mmb(), JD(a, 54) ? new Yob(a) : new Inb(a));\n }\n function Rz() {\n Rz = ccb;\n var a, b;\n b = !Xz();\n a = new dA();\n Qz = b ? new Yz() : a;\n }\n function Wy(a, b) {\n var c2;\n c2 = hdb(a.gm);\n return b == null ? c2 : c2 + \": \" + b;\n }\n function Eob(a, b) {\n var c2;\n c2 = a.b.Qc(b);\n Fob(c2, a.b.gc());\n return c2;\n }\n function ytb(a, b) {\n if (a == null) {\n throw vbb(new Heb(b));\n }\n return a;\n }\n function irb(a, b) {\n return grb(a, b, hrb(a, b == null ? 0 : a.b.se(b)));\n }\n function ofb(a, b, c2) {\n return c2 >= 0 && dfb(a.substr(c2, b.length), b);\n }\n function H2d(a, b, c2, d, e, f2, g) {\n return new O7d(a.e, b, c2, d, e, f2, g);\n }\n function Cxd(a, b, c2, d, e, f2) {\n this.a = a;\n nxd.call(this, b, c2, d, e, f2);\n }\n function vyd(a, b, c2, d, e, f2) {\n this.a = a;\n nxd.call(this, b, c2, d, e, f2);\n }\n function $Ec(a, b) {\n this.g = a;\n this.d = OC(GC(OQ, 1), kne, 10, 0, [b]);\n }\n function KVd(a, b) {\n this.e = a;\n this.a = SI;\n this.b = R5d(b);\n this.c = b;\n }\n function cIb(a, b) {\n $Gb.call(this);\n THb(this);\n this.a = a;\n this.c = b;\n }\n function kBc(a, b, c2, d) {\n NC(a.c[b.g], c2.g, d);\n NC(a.c[c2.g], b.g, d);\n }\n function nBc(a, b, c2, d) {\n NC(a.c[b.g], b.g, c2);\n NC(a.b[b.g], b.g, d);\n }\n function cBc() {\n _Ac();\n return OC(GC(fX, 1), Kie, 376, 0, [$Ac, ZAc]);\n }\n function crc() {\n _qc();\n return OC(GC(MW, 1), Kie, 479, 0, [$qc, Zqc]);\n }\n function Aqc() {\n xqc();\n return OC(GC(JW, 1), Kie, 419, 0, [vqc, wqc]);\n }\n function Lpc() {\n Ipc();\n return OC(GC(FW, 1), Kie, 422, 0, [Gpc, Hpc]);\n }\n function psc() {\n msc();\n return OC(GC(SW, 1), Kie, 420, 0, [ksc, lsc]);\n }\n function EAc() {\n BAc();\n return OC(GC(cX, 1), Kie, 421, 0, [zAc, AAc]);\n }\n function XIc() {\n UIc();\n return OC(GC(mY, 1), Kie, 523, 0, [TIc, SIc]);\n }\n function KOc() {\n HOc();\n return OC(GC(DZ, 1), Kie, 520, 0, [GOc, FOc]);\n }\n function _Lc() {\n YLc();\n return OC(GC(fZ, 1), Kie, 516, 0, [XLc, WLc]);\n }\n function hMc() {\n eMc();\n return OC(GC(gZ, 1), Kie, 515, 0, [cMc, dMc]);\n }\n function IQc() {\n FQc();\n return OC(GC(YZ, 1), Kie, 455, 0, [DQc, EQc]);\n }\n function bUc() {\n $Tc();\n return OC(GC(F$, 1), Kie, 425, 0, [ZTc, YTc]);\n }\n function VTc() {\n STc();\n return OC(GC(E$, 1), Kie, 480, 0, [QTc, RTc]);\n }\n function VUc() {\n PUc();\n return OC(GC(K$, 1), Kie, 495, 0, [NUc, OUc]);\n }\n function jWc() {\n fWc();\n return OC(GC(X$, 1), Kie, 426, 0, [dWc, eWc]);\n }\n function g1c() {\n a1c();\n return OC(GC(X_, 1), Kie, 429, 0, [_0c, $0c]);\n }\n function F_c() {\n C_c();\n return OC(GC(P_, 1), Kie, 430, 0, [B_c, A_c]);\n }\n function PEb() {\n MEb();\n return OC(GC(aN, 1), Kie, 428, 0, [LEb, KEb]);\n }\n function XEb() {\n UEb();\n return OC(GC(bN, 1), Kie, 427, 0, [SEb, TEb]);\n }\n function $Rb() {\n XRb();\n return OC(GC(gP, 1), Kie, 424, 0, [VRb, WRb]);\n }\n function B5b() {\n y5b();\n return OC(GC(ZR, 1), Kie, 511, 0, [x5b, w5b]);\n }\n function lid(a, b, c2, d) {\n return c2 >= 0 ? a.jh(b, c2, d) : a.Sg(null, c2, d);\n }\n function hgd(a) {\n if (a.b.b == 0) {\n return a.a.$e();\n }\n return Lsb(a.b);\n }\n function Xwd(a) {\n if (a.p != 5)\n throw vbb(new Ydb());\n return Tbb(a.f);\n }\n function exd(a) {\n if (a.p != 5)\n throw vbb(new Ydb());\n return Tbb(a.k);\n }\n function pNd(a) {\n PD(a.a) === PD((NKd(), MKd)) && qNd(a);\n return a.a;\n }\n function by(a) {\n this.a = BD(Qb(a), 271);\n this.b = (mmb(), new Zob(a));\n }\n function bQc(a, b) {\n $Pc(this, new f7c(a.a, a.b));\n _Pc(this, Ru(b));\n }\n function FQc() {\n FQc = ccb;\n DQc = new GQc(jle, 0);\n EQc = new GQc(kle, 1);\n }\n function YLc() {\n YLc = ccb;\n XLc = new ZLc(kle, 0);\n WLc = new ZLc(jle, 1);\n }\n function Hp() {\n Gp.call(this, new Mqb(Cv(12)));\n Lb(true);\n this.a = 2;\n }\n function Hge(a, b, c2) {\n wfe();\n xfe.call(this, a);\n this.b = b;\n this.a = c2;\n }\n function cWd(a, b, c2) {\n UVd();\n VVd.call(this, b);\n this.a = a;\n this.b = c2;\n }\n function aIb(a) {\n $Gb.call(this);\n THb(this);\n this.a = a;\n this.c = true;\n }\n function isb(a) {\n var b;\n b = a.c.d.b;\n a.b = b;\n a.a = a.c.d;\n b.a = a.c.d.b = a;\n }\n function $Cb(a) {\n var b;\n NGb(a.a);\n MGb(a.a);\n b = new YGb(a.a);\n UGb(b);\n }\n function iKb(a, b) {\n hKb(a, true);\n Hkb(a.e.wf(), new mKb(a, true, b));\n }\n function tlb(a, b) {\n pCb(b);\n return vlb(a, KC(WD, oje, 25, b, 15, 1), b);\n }\n function YPb(a, b) {\n QPb();\n return a == Xod(jtd(b)) || a == Xod(ltd(b));\n }\n function Phb(a, b) {\n return b == null ? Wd(irb(a.f, null)) : Crb(a.g, b);\n }\n function Ksb(a) {\n return a.b == 0 ? null : (sCb(a.b != 0), Nsb(a, a.a.a));\n }\n function QD(a) {\n return Math.max(Math.min(a, Ohe), -2147483648) | 0;\n }\n function uz(a, b) {\n var c2 = tz[a.charCodeAt(0)];\n return c2 == null ? a : c2;\n }\n function Cx(a, b) {\n Rb(a, \"set1\");\n Rb(b, \"set2\");\n return new Px(a, b);\n }\n function QUb(a, b) {\n var c2;\n c2 = zUb(a.f, b);\n return P6c(V6c(c2), a.f.d);\n }\n function Jwb(a, b) {\n var c2, d;\n c2 = b;\n d = new fxb();\n Lwb(a, c2, d);\n return d.d;\n }\n function NJb(a, b, c2, d) {\n var e;\n e = new aHb();\n b.a[c2.g] = e;\n Npb(a.b, d, e);\n }\n function zid(a, b, c2) {\n var d;\n d = a.Yg(b);\n d >= 0 ? a.sh(d, c2) : uid(a, b, c2);\n }\n function hvd(a, b, c2) {\n evd();\n !!a && Rhb(dvd, a, b);\n !!a && Rhb(cvd, a, c2);\n }\n function g_c(a, b, c2) {\n this.i = new Rkb();\n this.b = a;\n this.g = b;\n this.a = c2;\n }\n function VZc(a, b, c2) {\n this.c = new Rkb();\n this.e = a;\n this.f = b;\n this.b = c2;\n }\n function b$c(a, b, c2) {\n this.a = new Rkb();\n this.e = a;\n this.f = b;\n this.c = c2;\n }\n function Zy(a, b) {\n Py(this);\n this.f = b;\n this.g = a;\n Ry(this);\n this._d();\n }\n function ZA(a, b) {\n var c2;\n c2 = a.q.getHours();\n a.q.setDate(b);\n YA(a, c2);\n }\n function no(a, b) {\n var c2;\n Qb(b);\n for (c2 = a.a; c2; c2 = c2.c) {\n b.Od(c2.g, c2.i);\n }\n }\n function Fx(a) {\n var b;\n b = new Uqb(Cv(a.length));\n nmb(b, a);\n return b;\n }\n function ecb(a) {\n function b() {\n }\n b.prototype = a || {};\n return new b();\n }\n function dkb(a, b) {\n if (Zjb(a, b)) {\n wkb(a);\n return true;\n }\n return false;\n }\n function aC(a, b) {\n if (b == null) {\n throw vbb(new Geb());\n }\n return bC(a, b);\n }\n function tdb(a) {\n if (a.qe()) {\n return null;\n }\n var b = a.n;\n return _bb[b];\n }\n function Mld(a) {\n if (a.Db >> 16 != 3)\n return null;\n return BD(a.Cb, 33);\n }\n function mpd(a) {\n if (a.Db >> 16 != 9)\n return null;\n return BD(a.Cb, 33);\n }\n function fmd(a) {\n if (a.Db >> 16 != 6)\n return null;\n return BD(a.Cb, 79);\n }\n function Ind(a) {\n if (a.Db >> 16 != 7)\n return null;\n return BD(a.Cb, 235);\n }\n function Fod(a) {\n if (a.Db >> 16 != 7)\n return null;\n return BD(a.Cb, 160);\n }\n function Xod(a) {\n if (a.Db >> 16 != 11)\n return null;\n return BD(a.Cb, 33);\n }\n function nid(a, b) {\n var c2;\n c2 = a.Yg(b);\n return c2 >= 0 ? a.lh(c2) : tid(a, b);\n }\n function Dtd(a, b) {\n var c2;\n c2 = new Bsb(b);\n Ve(c2, a);\n return new Tkb(c2);\n }\n function Uud(a) {\n var b;\n b = a.d;\n b = a.si(a.f);\n wtd(a, b);\n return b.Ob();\n }\n function t_b(a, b) {\n a.b += b.b;\n a.c += b.c;\n a.d += b.d;\n a.a += b.a;\n return a;\n }\n function A4b(a, b) {\n return $wnd.Math.abs(a) < $wnd.Math.abs(b) ? a : b;\n }\n function Zod(a) {\n return !a.a && (a.a = new cUd(E2, a, 10, 11)), a.a.i > 0;\n }\n function oDb() {\n this.a = new zsb();\n this.e = new Tqb();\n this.g = 0;\n this.i = 0;\n }\n function BGc(a) {\n this.a = a;\n this.b = KC(SX, nie, 1944, a.e.length, 0, 2);\n }\n function RHc(a, b, c2) {\n var d;\n d = SHc(a, b, c2);\n a.b = new BHc(d.c.length);\n }\n function eMc() {\n eMc = ccb;\n cMc = new fMc(vle, 0);\n dMc = new fMc(\"UP\", 1);\n }\n function STc() {\n STc = ccb;\n QTc = new TTc(Yqe, 0);\n RTc = new TTc(\"FAN\", 1);\n }\n function evd() {\n evd = ccb;\n dvd = new Lqb();\n cvd = new Lqb();\n ivd(hK, new jvd());\n }\n function Swd(a) {\n if (a.p != 0)\n throw vbb(new Ydb());\n return Kbb(a.f, 0);\n }\n function _wd(a) {\n if (a.p != 0)\n throw vbb(new Ydb());\n return Kbb(a.k, 0);\n }\n function MHd(a) {\n if (a.Db >> 16 != 3)\n return null;\n return BD(a.Cb, 147);\n }\n function ZJd(a) {\n if (a.Db >> 16 != 6)\n return null;\n return BD(a.Cb, 235);\n }\n function WId(a) {\n if (a.Db >> 16 != 17)\n return null;\n return BD(a.Cb, 26);\n }\n function rdb(a, b) {\n var c2 = a.a = a.a || [];\n return c2[b] || (c2[b] = a.le(b));\n }\n function hrb(a, b) {\n var c2;\n c2 = a.a.get(b);\n return c2 == null ? new Array() : c2;\n }\n function aB(a, b) {\n var c2;\n c2 = a.q.getHours();\n a.q.setMonth(b);\n YA(a, c2);\n }\n function Shb(a, b, c2) {\n return b == null ? jrb(a.f, null, c2) : Drb(a.g, b, c2);\n }\n function FLd(a, b, c2, d, e, f2) {\n return new pSd(a.e, b, a.aj(), c2, d, e, f2);\n }\n function Tfb(a, b, c2) {\n a.a = qfb(a.a, 0, b) + (\"\" + c2) + pfb(a.a, b);\n return a;\n }\n function bq(a, b, c2) {\n Ekb(a.a, (Vm(), Wj(b, c2), new Wo(b, c2)));\n return a;\n }\n function uu(a) {\n ot(a.c);\n a.e = a.a = a.c;\n a.c = a.c.c;\n ++a.d;\n return a.a.f;\n }\n function vu(a) {\n ot(a.e);\n a.c = a.a = a.e;\n a.e = a.e.e;\n --a.d;\n return a.a.f;\n }\n function RZb(a, b) {\n !!a.d && Lkb(a.d.e, a);\n a.d = b;\n !!a.d && Ekb(a.d.e, a);\n }\n function QZb(a, b) {\n !!a.c && Lkb(a.c.g, a);\n a.c = b;\n !!a.c && Ekb(a.c.g, a);\n }\n function $_b(a, b) {\n !!a.c && Lkb(a.c.a, a);\n a.c = b;\n !!a.c && Ekb(a.c.a, a);\n }\n function F0b(a, b) {\n !!a.i && Lkb(a.i.j, a);\n a.i = b;\n !!a.i && Ekb(a.i.j, a);\n }\n function jDb(a, b, c2) {\n this.a = b;\n this.c = a;\n this.b = (Qb(c2), new Tkb(c2));\n }\n function qXb(a, b, c2) {\n this.a = b;\n this.c = a;\n this.b = (Qb(c2), new Tkb(c2));\n }\n function aOb(a, b) {\n this.a = a;\n this.c = R6c(this.a);\n this.b = new K6c(b);\n }\n function IAb(a) {\n var b;\n Uzb(a);\n b = new Tqb();\n return JAb(a, new jBb(b));\n }\n function wCb(a, b) {\n if (a < 0 || a > b) {\n throw vbb(new qcb(Ake + a + Bke + b));\n }\n }\n function Ppb(a, b) {\n return vqb(a.a, b) ? Qpb(a, BD(b, 22).g, null) : null;\n }\n function WUb(a) {\n LUb();\n return Bcb(), BD(a.a, 81).d.e != 0 ? true : false;\n }\n function qs() {\n qs = ccb;\n ps = as((hs(), OC(GC(yG, 1), Kie, 538, 0, [gs])));\n }\n function SBc() {\n SBc = ccb;\n RBc = c3c(new j3c(), (qUb(), pUb), (S8b(), J8b));\n }\n function ZBc() {\n ZBc = ccb;\n YBc = c3c(new j3c(), (qUb(), pUb), (S8b(), J8b));\n }\n function oCc() {\n oCc = ccb;\n nCc = c3c(new j3c(), (qUb(), pUb), (S8b(), J8b));\n }\n function aJc() {\n aJc = ccb;\n _Ic = e3c(new j3c(), (qUb(), pUb), (S8b(), h8b));\n }\n function FJc() {\n FJc = ccb;\n EJc = e3c(new j3c(), (qUb(), pUb), (S8b(), h8b));\n }\n function ILc() {\n ILc = ccb;\n HLc = e3c(new j3c(), (qUb(), pUb), (S8b(), h8b));\n }\n function wMc() {\n wMc = ccb;\n vMc = e3c(new j3c(), (qUb(), pUb), (S8b(), h8b));\n }\n function fUc() {\n fUc = ccb;\n eUc = c3c(new j3c(), (yRc(), xRc), (qSc(), kSc));\n }\n function DOc(a, b, c2, d) {\n this.c = a;\n this.d = d;\n BOc(this, b);\n COc(this, c2);\n }\n function W3c(a) {\n this.c = new Psb();\n this.b = a.b;\n this.d = a.c;\n this.a = a.a;\n }\n function e7c(a) {\n this.a = $wnd.Math.cos(a);\n this.b = $wnd.Math.sin(a);\n }\n function BOc(a, b) {\n !!a.a && Lkb(a.a.k, a);\n a.a = b;\n !!a.a && Ekb(a.a.k, a);\n }\n function COc(a, b) {\n !!a.b && Lkb(a.b.f, a);\n a.b = b;\n !!a.b && Ekb(a.b.f, a);\n }\n function D1c(a, b) {\n E1c(a, a.b, a.c);\n BD(a.b.b, 65);\n !!b && BD(b.b, 65).b;\n }\n function BUd(a, b) {\n CUd(a, b);\n JD(a.Cb, 88) && XMd($Kd(BD(a.Cb, 88)), 2);\n }\n function cJd(a, b) {\n JD(a.Cb, 88) && XMd($Kd(BD(a.Cb, 88)), 4);\n pnd(a, b);\n }\n function lKd(a, b) {\n JD(a.Cb, 179) && (BD(a.Cb, 179).tb = null);\n pnd(a, b);\n }\n function T2d(a, b) {\n return Q6d(), YId(b) ? new R7d(b, a) : new f7d(b, a);\n }\n function jsd(a, b) {\n var c2, d;\n c2 = b.c;\n d = c2 != null;\n d && Qpd(a, new yC(b.c));\n }\n function XOd(a) {\n var b, c2;\n c2 = (LFd(), b = new UQd(), b);\n NQd(c2, a);\n return c2;\n }\n function eTd(a) {\n var b, c2;\n c2 = (LFd(), b = new UQd(), b);\n NQd(c2, a);\n return c2;\n }\n function yCc(a, b) {\n var c2;\n c2 = new H1b(a);\n b.c[b.c.length] = c2;\n return c2;\n }\n function Aw(a, b) {\n var c2;\n c2 = BD(Hv(nd(a.a), b), 14);\n return !c2 ? 0 : c2.gc();\n }\n function UAb(a) {\n var b;\n Uzb(a);\n b = (ipb(), ipb(), gpb);\n return VAb(a, b);\n }\n function nr(a) {\n var b;\n while (true) {\n b = a.Pb();\n if (!a.Ob()) {\n return b;\n }\n }\n }\n function Ki(a, b) {\n Ii.call(this, new Mqb(Cv(a)));\n Xj(b, mie);\n this.a = b;\n }\n function Jib(a, b, c2) {\n xCb(b, c2, a.gc());\n this.c = a;\n this.a = b;\n this.b = c2 - b;\n }\n function Mkb(a, b, c2) {\n var d;\n xCb(b, c2, a.c.length);\n d = c2 - b;\n cCb(a.c, b, d);\n }\n function Fub(a, b) {\n Eub(a, Tbb(xbb(Obb(b, 24), nke)), Tbb(xbb(b, nke)));\n }\n function tCb(a, b) {\n if (a < 0 || a >= b) {\n throw vbb(new qcb(Ake + a + Bke + b));\n }\n }\n function BCb(a, b) {\n if (a < 0 || a >= b) {\n throw vbb(new Xfb(Ake + a + Bke + b));\n }\n }\n function Kub(a, b) {\n this.b = (uCb(a), a);\n this.a = (b & Rje) == 0 ? b | 64 | oie : b;\n }\n function kkb(a) {\n Vjb(this);\n dCb(this.a, geb($wnd.Math.max(8, a)) << 1);\n }\n function A0b(a) {\n return l7c(OC(GC(m1, 1), nie, 8, 0, [a.i.n, a.n, a.a]));\n }\n function Iyb() {\n Fyb();\n return OC(GC(xL, 1), Kie, 132, 0, [Cyb, Dyb, Eyb]);\n }\n function jHb() {\n gHb();\n return OC(GC(pN, 1), Kie, 232, 0, [dHb, eHb, fHb]);\n }\n function QHb() {\n NHb();\n return OC(GC(sN, 1), Kie, 461, 0, [LHb, KHb, MHb]);\n }\n function HIb() {\n EIb();\n return OC(GC(zN, 1), Kie, 462, 0, [DIb, CIb, BIb]);\n }\n function UXb() {\n RXb();\n return OC(GC(hQ, 1), Kie, 423, 0, [QXb, PXb, OXb]);\n }\n function BTb() {\n yTb();\n return OC(GC(oP, 1), Kie, 379, 0, [wTb, vTb, xTb]);\n }\n function Bzc() {\n xzc();\n return OC(GC(ZW, 1), Kie, 378, 0, [uzc, vzc, wzc]);\n }\n function Xpc() {\n Rpc();\n return OC(GC(GW, 1), Kie, 314, 0, [Ppc, Opc, Qpc]);\n }\n function eqc() {\n bqc();\n return OC(GC(HW, 1), Kie, 337, 0, [$pc, aqc, _pc]);\n }\n function Jqc() {\n Gqc();\n return OC(GC(KW, 1), Kie, 450, 0, [Eqc, Dqc, Fqc]);\n }\n function Ikc() {\n Fkc();\n return OC(GC(vV, 1), Kie, 361, 0, [Ekc, Dkc, Ckc]);\n }\n function hsc() {\n esc();\n return OC(GC(RW, 1), Kie, 303, 0, [csc, dsc, bsc]);\n }\n function $rc() {\n Xrc();\n return OC(GC(QW, 1), Kie, 292, 0, [Vrc, Wrc, Urc]);\n }\n function NAc() {\n KAc();\n return OC(GC(dX, 1), Kie, 452, 0, [JAc, HAc, IAc]);\n }\n function wAc() {\n tAc();\n return OC(GC(bX, 1), Kie, 339, 0, [rAc, qAc, sAc]);\n }\n function WAc() {\n TAc();\n return OC(GC(eX, 1), Kie, 375, 0, [QAc, RAc, SAc]);\n }\n function OBc() {\n LBc();\n return OC(GC(jX, 1), Kie, 377, 0, [JBc, KBc, IBc]);\n }\n function wBc() {\n tBc();\n return OC(GC(hX, 1), Kie, 336, 0, [qBc, rBc, sBc]);\n }\n function FBc() {\n CBc();\n return OC(GC(iX, 1), Kie, 338, 0, [BBc, zBc, ABc]);\n }\n function uGc() {\n rGc();\n return OC(GC(PX, 1), Kie, 454, 0, [oGc, pGc, qGc]);\n }\n function xVc() {\n tVc();\n return OC(GC(O$, 1), Kie, 442, 0, [sVc, qVc, rVc]);\n }\n function tWc() {\n pWc();\n return OC(GC(Y$, 1), Kie, 380, 0, [mWc, nWc, oWc]);\n }\n function CYc() {\n zYc();\n return OC(GC(q_, 1), Kie, 381, 0, [xYc, yYc, wYc]);\n }\n function wXc() {\n sXc();\n return OC(GC(b_, 1), Kie, 293, 0, [qXc, rXc, pXc]);\n }\n function _$c() {\n Y$c();\n return OC(GC(J_, 1), Kie, 437, 0, [V$c, W$c, X$c]);\n }\n function kbd() {\n hbd();\n return OC(GC(z1, 1), Kie, 334, 0, [fbd, ebd, gbd]);\n }\n function tad() {\n qad();\n return OC(GC(u1, 1), Kie, 272, 0, [nad, oad, pad2]);\n }\n function o3d(a, b) {\n return p3d(a, b, JD(b, 99) && (BD(b, 18).Bb & Tje) != 0);\n }\n function LZc(a, b, c2) {\n var d;\n d = MZc(a, b, false);\n return d.b <= b && d.a <= c2;\n }\n function tMc(a, b, c2) {\n var d;\n d = new sMc();\n d.b = b;\n d.a = c2;\n ++b.b;\n Ekb(a.d, d);\n }\n function fs(a, b) {\n var c2;\n c2 = (uCb(a), a).g;\n lCb(!!c2);\n uCb(b);\n return c2(b);\n }\n function av(a, b) {\n var c2, d;\n d = cv(a, b);\n c2 = a.a.Zc(d);\n return new qv(a, c2);\n }\n function cKd(a) {\n if (a.Db >> 16 != 6)\n return null;\n return BD(aid(a), 235);\n }\n function Uwd(a) {\n if (a.p != 2)\n throw vbb(new Ydb());\n return Tbb(a.f) & aje;\n }\n function bxd(a) {\n if (a.p != 2)\n throw vbb(new Ydb());\n return Tbb(a.k) & aje;\n }\n function Z1d(a) {\n a.a == (T0d(), S0d) && d2d(a, U0d(a.g, a.b));\n return a.a;\n }\n function _1d(a) {\n a.d == (T0d(), S0d) && f2d(a, Y0d(a.g, a.b));\n return a.d;\n }\n function mlb(a) {\n sCb(a.a < a.c.c.length);\n a.b = a.a++;\n return a.c.c[a.b];\n }\n function hEb(a, b) {\n a.b = a.b | b.b;\n a.c = a.c | b.c;\n a.d = a.d | b.d;\n a.a = a.a | b.a;\n }\n function xbb(a, b) {\n return zbb(dD(Fbb(a) ? Rbb(a) : a, Fbb(b) ? Rbb(b) : b));\n }\n function Mbb(a, b) {\n return zbb(jD(Fbb(a) ? Rbb(a) : a, Fbb(b) ? Rbb(b) : b));\n }\n function Vbb(a, b) {\n return zbb(rD(Fbb(a) ? Rbb(a) : a, Fbb(b) ? Rbb(b) : b));\n }\n function Dub(a) {\n return wbb(Nbb(Cbb(Cub(a, 32)), 32), Cbb(Cub(a, 32)));\n }\n function Mu(a) {\n Qb(a);\n return JD(a, 14) ? new Tkb(BD(a, 14)) : Nu(a.Kc());\n }\n function EWb(a, b) {\n AWb();\n return a.c == b.c ? Kdb(b.d, a.d) : Kdb(a.c, b.c);\n }\n function FWb(a, b) {\n AWb();\n return a.c == b.c ? Kdb(a.d, b.d) : Kdb(a.c, b.c);\n }\n function HWb(a, b) {\n AWb();\n return a.c == b.c ? Kdb(a.d, b.d) : Kdb(b.c, a.c);\n }\n function GWb(a, b) {\n AWb();\n return a.c == b.c ? Kdb(b.d, a.d) : Kdb(b.c, a.c);\n }\n function WGb(a, b) {\n var c2;\n c2 = Edb(ED(a.a.We((Y9c(), Q9c))));\n XGb(a, b, c2);\n }\n function Rgc(a, b) {\n var c2;\n c2 = BD(Ohb(a.g, b), 57);\n Hkb(b.d, new Qhc(a, c2));\n }\n function GYb(a, b) {\n var c2, d;\n c2 = d_b(a);\n d = d_b(b);\n return c2 < d ? -1 : c2 > d ? 1 : 0;\n }\n function bjc(a, b) {\n var c2, d;\n c2 = ajc(b);\n d = c2;\n return BD(Ohb(a.c, d), 19).a;\n }\n function iSc(a, b) {\n var c2;\n c2 = a + \"\";\n while (c2.length < b) {\n c2 = \"0\" + c2;\n }\n return c2;\n }\n function WRc(a) {\n return a.c == null || a.c.length == 0 ? \"n_\" + a.g : \"n_\" + a.c;\n }\n function oRb(a) {\n return a.c == null || a.c.length == 0 ? \"n_\" + a.b : \"n_\" + a.c;\n }\n function qz(a, b) {\n return !!a && !!a.equals ? a.equals(b) : PD(a) === PD(b);\n }\n function dkd(a, b) {\n if (b == 0) {\n return !!a.o && a.o.f != 0;\n }\n return mid(a, b);\n }\n function Tdd(a, b, c2) {\n var d;\n if (a.n && !!b && !!c2) {\n d = new kgd();\n Ekb(a.e, d);\n }\n }\n function cIc(a, b, c2) {\n var d;\n d = a.d[b.p];\n a.d[b.p] = a.d[c2.p];\n a.d[c2.p] = d;\n }\n function kxd(a, b, c2) {\n this.d = a;\n this.j = b;\n this.e = c2;\n this.o = -1;\n this.p = 3;\n }\n function lxd(a, b, c2) {\n this.d = a;\n this.k = b;\n this.f = c2;\n this.o = -1;\n this.p = 5;\n }\n function zge(a, b, c2) {\n xfe.call(this, 25);\n this.b = a;\n this.a = b;\n this.c = c2;\n }\n function $fe(a) {\n wfe();\n xfe.call(this, a);\n this.c = false;\n this.a = false;\n }\n function sSd(a, b, c2, d, e, f2) {\n rSd.call(this, a, b, c2, d, e);\n f2 && (this.o = -2);\n }\n function uSd(a, b, c2, d, e, f2) {\n tSd.call(this, a, b, c2, d, e);\n f2 && (this.o = -2);\n }\n function wSd(a, b, c2, d, e, f2) {\n vSd.call(this, a, b, c2, d, e);\n f2 && (this.o = -2);\n }\n function ySd(a, b, c2, d, e, f2) {\n xSd.call(this, a, b, c2, d, e);\n f2 && (this.o = -2);\n }\n function ASd(a, b, c2, d, e, f2) {\n zSd.call(this, a, b, c2, d, e);\n f2 && (this.o = -2);\n }\n function CSd(a, b, c2, d, e, f2) {\n BSd.call(this, a, b, c2, d, e);\n f2 && (this.o = -2);\n }\n function HSd(a, b, c2, d, e, f2) {\n GSd.call(this, a, b, c2, d, e);\n f2 && (this.o = -2);\n }\n function JSd(a, b, c2, d, e, f2) {\n ISd.call(this, a, b, c2, d, e);\n f2 && (this.o = -2);\n }\n function nWd(a, b, c2, d) {\n VVd.call(this, c2);\n this.b = a;\n this.c = b;\n this.d = d;\n }\n function x$c(a, b) {\n this.a = new Rkb();\n this.d = new Rkb();\n this.f = a;\n this.c = b;\n }\n function PTb() {\n this.c = new bUb();\n this.a = new FYb();\n this.b = new wZb();\n $Yb();\n }\n function b2c() {\n Y1c();\n this.b = new Lqb();\n this.a = new Lqb();\n this.c = new Rkb();\n }\n function j2d(a, b) {\n this.g = a;\n this.d = (T0d(), S0d);\n this.a = S0d;\n this.b = b;\n }\n function O1d(a, b) {\n this.f = a;\n this.a = (T0d(), R0d);\n this.c = R0d;\n this.b = b;\n }\n function h9d(a, b) {\n !a.c && (a.c = new u3d(a, 0));\n f3d(a.c, (Q8d(), I8d), b);\n }\n function $Tc() {\n $Tc = ccb;\n ZTc = new _Tc(\"DFS\", 0);\n YTc = new _Tc(\"BFS\", 1);\n }\n function Cc(a, b, c2) {\n var d;\n d = BD(a.Zb().xc(b), 14);\n return !!d && d.Hc(c2);\n }\n function Gc(a, b, c2) {\n var d;\n d = BD(a.Zb().xc(b), 14);\n return !!d && d.Mc(c2);\n }\n function Ofb(a, b, c2, d) {\n a.a += \"\" + qfb(b == null ? Xhe : fcb(b), c2, d);\n return a;\n }\n function Xnd(a, b, c2, d, e, f2) {\n Ynd(a, b, c2, f2);\n eLd(a, d);\n fLd(a, e);\n return a;\n }\n function Ysb(a) {\n sCb(a.b.b != a.d.a);\n a.c = a.b = a.b.b;\n --a.a;\n return a.c.c;\n }\n function Jgb(a) {\n while (a.d > 0 && a.a[--a.d] == 0)\n ;\n a.a[a.d++] == 0 && (a.e = 0);\n }\n function wwb(a) {\n return !a.a ? a.c : a.e.length == 0 ? a.a.a : a.a.a + (\"\" + a.e);\n }\n function RSd(a) {\n return !!a.a && QSd(a.a.a).i != 0 && !(!!a.b && QTd(a.b));\n }\n function cLd(a) {\n return !!a.u && VKd(a.u.a).i != 0 && !(!!a.n && FMd(a.n));\n }\n function $i(a) {\n return Zj(a.e.Hd().gc() * a.c.Hd().gc(), 16, new ij(a));\n }\n function XA(a, b) {\n return ueb(Cbb(a.q.getTime()), Cbb(b.q.getTime()));\n }\n function k_b(a) {\n return BD(Qkb(a, KC(AQ, jne, 17, a.c.length, 0, 1)), 474);\n }\n function l_b(a) {\n return BD(Qkb(a, KC(OQ, kne, 10, a.c.length, 0, 1)), 193);\n }\n function cKc(a) {\n FJc();\n return !OZb(a) && !(!OZb(a) && a.c.i.c == a.d.i.c);\n }\n function kDb(a, b, c2) {\n var d;\n d = (Qb(a), new Tkb(a));\n iDb(new jDb(d, b, c2));\n }\n function rXb(a, b, c2) {\n var d;\n d = (Qb(a), new Tkb(a));\n pXb(new qXb(d, b, c2));\n }\n function Nwb(a, b) {\n var c2;\n c2 = 1 - b;\n a.a[c2] = Owb(a.a[c2], c2);\n return Owb(a, b);\n }\n function YXc(a, b) {\n var c2;\n a.e = new QXc();\n c2 = gVc(b);\n Okb(c2, a.c);\n ZXc(a, c2, 0);\n }\n function o4c(a, b, c2, d) {\n var e;\n e = new w4c();\n e.a = b;\n e.b = c2;\n e.c = d;\n Dsb(a.a, e);\n }\n function p4c(a, b, c2, d) {\n var e;\n e = new w4c();\n e.a = b;\n e.b = c2;\n e.c = d;\n Dsb(a.b, e);\n }\n function i6d(a) {\n var b, c2, d;\n b = new A6d();\n c2 = s6d(b, a);\n z6d(b);\n d = c2;\n return d;\n }\n function vZd() {\n var a, b, c2;\n b = (c2 = (a = new UQd(), a), c2);\n Ekb(rZd, b);\n return b;\n }\n function H2c(a) {\n a.j.c = KC(SI, Uhe, 1, 0, 5, 1);\n Ae(a.c);\n h3c(a.a);\n return a;\n }\n function tgc(a) {\n qgc();\n if (JD(a.g, 10)) {\n return BD(a.g, 10);\n }\n return null;\n }\n function Zw(a) {\n if (Ah(a).dc()) {\n return false;\n }\n Bh(a, new bx());\n return true;\n }\n function _y(b) {\n if (!(\"stack\" in b)) {\n try {\n throw b;\n } catch (a) {\n }\n }\n return b;\n }\n function Pb(a, b) {\n if (a < 0 || a >= b) {\n throw vbb(new qcb(Ib(a, b)));\n }\n return a;\n }\n function Tb(a, b, c2) {\n if (a < 0 || b < a || b > c2) {\n throw vbb(new qcb(Kb(a, b, c2)));\n }\n }\n function eVb(a, b) {\n Qqb(a.a, b);\n if (b.d) {\n throw vbb(new hz(Hke));\n }\n b.d = a;\n }\n function xpb(a, b) {\n if (b.$modCount != a.$modCount) {\n throw vbb(new Apb());\n }\n }\n function $pb(a, b) {\n if (JD(b, 42)) {\n return Jd(a.a, BD(b, 42));\n }\n return false;\n }\n function dib(a, b) {\n if (JD(b, 42)) {\n return Jd(a.a, BD(b, 42));\n }\n return false;\n }\n function msb(a, b) {\n if (JD(b, 42)) {\n return Jd(a.a, BD(b, 42));\n }\n return false;\n }\n function qAb(a, b) {\n if (a.a <= a.b) {\n b.ud(a.a++);\n return true;\n }\n return false;\n }\n function Sbb(a) {\n var b;\n if (Fbb(a)) {\n b = a;\n return b == -0 ? 0 : b;\n }\n return oD(a);\n }\n function tAb(a) {\n var b;\n Tzb(a);\n b = new drb();\n _ub(a.a, new BAb(b));\n return b;\n }\n function Yzb(a) {\n var b;\n Tzb(a);\n b = new Gpb();\n _ub(a.a, new mAb(b));\n return b;\n }\n function Bib(a, b) {\n this.a = a;\n vib.call(this, a);\n wCb(b, a.gc());\n this.b = b;\n }\n function orb(a) {\n this.e = a;\n this.b = this.e.a.entries();\n this.a = new Array();\n }\n function Oi(a) {\n return Zj(a.e.Hd().gc() * a.c.Hd().gc(), 273, new cj(a));\n }\n function Qu(a) {\n return new Skb((Xj(a, Mie), Oy(wbb(wbb(5, a), a / 10 | 0))));\n }\n function m_b(a) {\n return BD(Qkb(a, KC(aR, lne, 11, a.c.length, 0, 1)), 1943);\n }\n function sMb(a, b, c2) {\n return c2.f.c.length > 0 ? HMb(a.a, b, c2) : HMb(a.b, b, c2);\n }\n function SZb(a, b, c2) {\n !!a.d && Lkb(a.d.e, a);\n a.d = b;\n !!a.d && Dkb(a.d.e, c2, a);\n }\n function a5b(a, b) {\n i5b(b, a);\n k5b(a.d);\n k5b(BD(vNb(a, (Nyc(), wxc)), 207));\n }\n function _4b(a, b) {\n f5b(b, a);\n h5b(a.d);\n h5b(BD(vNb(a, (Nyc(), wxc)), 207));\n }\n function Ypd(a, b) {\n var c2, d;\n c2 = aC(a, b);\n d = null;\n !!c2 && (d = c2.fe());\n return d;\n }\n function Zpd(a, b) {\n var c2, d;\n c2 = tB(a, b);\n d = null;\n !!c2 && (d = c2.ie());\n return d;\n }\n function $pd(a, b) {\n var c2, d;\n c2 = aC(a, b);\n d = null;\n !!c2 && (d = c2.ie());\n return d;\n }\n function _pd(a, b) {\n var c2, d;\n c2 = aC(a, b);\n d = null;\n !!c2 && (d = aqd(c2));\n return d;\n }\n function Tqd(a, b, c2) {\n var d;\n d = Wpd(c2);\n ro(a.g, d, b);\n ro(a.i, b, c2);\n return b;\n }\n function Ez(a, b, c2) {\n var d;\n d = Cz();\n try {\n return Bz(a, b, c2);\n } finally {\n Fz(d);\n }\n }\n function C6d(a) {\n var b;\n b = a.Wg();\n this.a = JD(b, 69) ? BD(b, 69).Zh() : b.Kc();\n }\n function j3c() {\n D2c.call(this);\n this.j.c = KC(SI, Uhe, 1, 0, 5, 1);\n this.a = -1;\n }\n function mxd(a, b, c2, d) {\n this.d = a;\n this.n = b;\n this.g = c2;\n this.o = d;\n this.p = -1;\n }\n function jk(a, b, c2, d) {\n this.e = d;\n this.d = null;\n this.c = a;\n this.a = b;\n this.b = c2;\n }\n function uEc(a, b, c2) {\n this.d = new HEc(this);\n this.e = a;\n this.i = b;\n this.f = c2;\n }\n function msc() {\n msc = ccb;\n ksc = new nsc(gle, 0);\n lsc = new nsc(\"TOP_LEFT\", 1);\n }\n function cDc() {\n cDc = ccb;\n bDc = ix(meb(1), meb(4));\n aDc = ix(meb(1), meb(2));\n }\n function z_c() {\n z_c = ccb;\n y_c = as((s_c(), OC(GC(O_, 1), Kie, 551, 0, [r_c])));\n }\n function q_c() {\n q_c = ccb;\n p_c = as((i_c(), OC(GC(N_, 1), Kie, 482, 0, [h_c])));\n }\n function Z0c() {\n Z0c = ccb;\n Y0c = as((R0c(), OC(GC(W_, 1), Kie, 530, 0, [Q0c])));\n }\n function hPb() {\n hPb = ccb;\n gPb = as((cPb(), OC(GC(GO, 1), Kie, 481, 0, [bPb])));\n }\n function yLb() {\n vLb();\n return OC(GC(PN, 1), Kie, 406, 0, [uLb, rLb, sLb, tLb]);\n }\n function qxb() {\n lxb();\n return OC(GC(iL, 1), Kie, 297, 0, [hxb, ixb, jxb, kxb]);\n }\n function UOb() {\n ROb();\n return OC(GC(CO, 1), Kie, 394, 0, [OOb, NOb, POb, QOb]);\n }\n function UMb() {\n RMb();\n return OC(GC(jO, 1), Kie, 323, 0, [OMb, NMb, PMb, QMb]);\n }\n function sWb() {\n lWb();\n return OC(GC(SP, 1), Kie, 405, 0, [hWb, kWb, iWb, jWb]);\n }\n function kbc() {\n gbc();\n return OC(GC(VS, 1), Kie, 360, 0, [fbc, dbc, ebc, cbc]);\n }\n function Vc(a, b, c2, d) {\n return JD(c2, 54) ? new Cg(a, b, c2, d) : new qg(a, b, c2, d);\n }\n function Djc() {\n Ajc();\n return OC(GC(mV, 1), Kie, 411, 0, [wjc, xjc, yjc, zjc]);\n }\n function okc(a) {\n var b;\n return a.j == (Ucd(), Rcd) && (b = pkc(a), uqb(b, zcd));\n }\n function Mdc(a, b) {\n var c2;\n c2 = b.a;\n QZb(c2, b.c.d);\n RZb(c2, b.d.d);\n q7c(c2.a, a.n);\n }\n function Smc(a, b) {\n return BD(Btb(QAb(BD(Qc(a.k, b), 15).Oc(), Hmc)), 113);\n }\n function Tmc(a, b) {\n return BD(Btb(RAb(BD(Qc(a.k, b), 15).Oc(), Hmc)), 113);\n }\n function _w(a) {\n return new Kub(rmb(BD(a.a.dd(), 14).gc(), a.a.cd()), 16);\n }\n function Qq(a) {\n if (JD(a, 14)) {\n return BD(a, 14).dc();\n }\n return !a.Kc().Ob();\n }\n function ugc(a) {\n qgc();\n if (JD(a.g, 145)) {\n return BD(a.g, 145);\n }\n return null;\n }\n function Ko(a) {\n if (a.e.g != a.b) {\n throw vbb(new Apb());\n }\n return !!a.c && a.d > 0;\n }\n function Xsb(a) {\n sCb(a.b != a.d.c);\n a.c = a.b;\n a.b = a.b.a;\n ++a.a;\n return a.c.c;\n }\n function Xjb(a, b) {\n uCb(b);\n NC(a.a, a.c, b);\n a.c = a.c + 1 & a.a.length - 1;\n _jb(a);\n }\n function Wjb(a, b) {\n uCb(b);\n a.b = a.b - 1 & a.a.length - 1;\n NC(a.a, a.b, b);\n _jb(a);\n }\n function A2c(a, b) {\n var c2;\n for (c2 = a.j.c.length; c2 < b; c2++) {\n Ekb(a.j, a.rg());\n }\n }\n function gBc(a, b, c2, d) {\n var e;\n e = d[b.g][c2.g];\n return Edb(ED(vNb(a.a, e)));\n }\n function goc(a, b, c2, d, e) {\n this.i = a;\n this.a = b;\n this.e = c2;\n this.j = d;\n this.f = e;\n }\n function DZc(a, b, c2, d, e) {\n this.a = a;\n this.e = b;\n this.f = c2;\n this.b = d;\n this.g = e;\n }\n function Fz(a) {\n a && Mz((Kz(), Jz));\n --xz;\n if (a) {\n if (zz != -1) {\n Hz(zz);\n zz = -1;\n }\n }\n }\n function Nzc() {\n Izc();\n return OC(GC($W, 1), Kie, 197, 0, [Gzc, Hzc, Fzc, Ezc]);\n }\n function ERc() {\n yRc();\n return OC(GC(h$, 1), Kie, 393, 0, [uRc, vRc, wRc, xRc]);\n }\n function mXc() {\n iXc();\n return OC(GC(a_, 1), Kie, 340, 0, [hXc, fXc, gXc, eXc]);\n }\n function wdd() {\n tdd();\n return OC(GC(I1, 1), Kie, 374, 0, [rdd, sdd, qdd, pdd]);\n }\n function vbd() {\n rbd();\n return OC(GC(A1, 1), Kie, 285, 0, [qbd, nbd, obd, pbd]);\n }\n function Dad() {\n Aad();\n return OC(GC(v1, 1), Kie, 218, 0, [zad, xad, wad, yad]);\n }\n function Ged() {\n Ded();\n return OC(GC(O1, 1), Kie, 311, 0, [Ced, zed, Bed, Aed]);\n }\n function sgd() {\n pgd();\n return OC(GC(k2, 1), Kie, 396, 0, [mgd, ngd, lgd, ogd]);\n }\n function gvd(a) {\n evd();\n return Mhb(dvd, a) ? BD(Ohb(dvd, a), 331).ug() : null;\n }\n function cid(a, b, c2) {\n return b < 0 ? tid(a, c2) : BD(c2, 66).Nj().Sj(a, a.yh(), b);\n }\n function Sqd(a, b, c2) {\n var d;\n d = Wpd(c2);\n ro(a.d, d, b);\n Rhb(a.e, b, c2);\n return b;\n }\n function Uqd(a, b, c2) {\n var d;\n d = Wpd(c2);\n ro(a.j, d, b);\n Rhb(a.k, b, c2);\n return b;\n }\n function dtd(a) {\n var b, c2;\n b = (Fhd(), c2 = new Tld(), c2);\n !!a && Rld(b, a);\n return b;\n }\n function wud(a) {\n var b;\n b = a.ri(a.i);\n a.i > 0 && $fb(a.g, 0, b, 0, a.i);\n return b;\n }\n function qEd(a, b) {\n pEd();\n var c2;\n c2 = BD(Ohb(oEd, a), 55);\n return !c2 || c2.wj(b);\n }\n function Twd(a) {\n if (a.p != 1)\n throw vbb(new Ydb());\n return Tbb(a.f) << 24 >> 24;\n }\n function axd(a) {\n if (a.p != 1)\n throw vbb(new Ydb());\n return Tbb(a.k) << 24 >> 24;\n }\n function gxd(a) {\n if (a.p != 7)\n throw vbb(new Ydb());\n return Tbb(a.k) << 16 >> 16;\n }\n function Zwd(a) {\n if (a.p != 7)\n throw vbb(new Ydb());\n return Tbb(a.f) << 16 >> 16;\n }\n function sr(a) {\n var b;\n b = 0;\n while (a.Ob()) {\n a.Pb();\n b = wbb(b, 1);\n }\n return Oy(b);\n }\n function nx(a, b) {\n var c2;\n c2 = new Vfb();\n a.xd(c2);\n c2.a += \"..\";\n b.yd(c2);\n return c2.a;\n }\n function Sgc(a, b, c2) {\n var d;\n d = BD(Ohb(a.g, c2), 57);\n Ekb(a.a.c, new vgd(b, d));\n }\n function VCb(a, b, c2) {\n return Ddb(ED(Wd(irb(a.f, b))), ED(Wd(irb(a.f, c2))));\n }\n function E2d(a, b, c2) {\n return F2d(a, b, c2, JD(b, 99) && (BD(b, 18).Bb & Tje) != 0);\n }\n function L2d(a, b, c2) {\n return M2d(a, b, c2, JD(b, 99) && (BD(b, 18).Bb & Tje) != 0);\n }\n function q3d(a, b, c2) {\n return r3d(a, b, c2, JD(b, 99) && (BD(b, 18).Bb & Tje) != 0);\n }\n function JJc(a, b) {\n return a == (j0b(), h0b) && b == h0b ? 4 : a == h0b || b == h0b ? 8 : 32;\n }\n function Nd(a, b) {\n return PD(b) === PD(a) ? \"(this Map)\" : b == null ? Xhe : fcb(b);\n }\n function kFd(a, b) {\n return BD(b == null ? Wd(irb(a.f, null)) : Crb(a.g, b), 281);\n }\n function Rqd(a, b, c2) {\n var d;\n d = Wpd(c2);\n Rhb(a.b, d, b);\n Rhb(a.c, b, c2);\n return b;\n }\n function Bfd(a, b) {\n var c2;\n c2 = b;\n while (c2) {\n O6c(a, c2.i, c2.j);\n c2 = Xod(c2);\n }\n return a;\n }\n function kt(a, b) {\n var c2;\n c2 = vmb(Nu(new wu(a, b)));\n ir(new wu(a, b));\n return c2;\n }\n function R6d(a, b) {\n Q6d();\n var c2;\n c2 = BD(a, 66).Mj();\n kVd(c2, b);\n return c2.Ok(b);\n }\n function TOc(a, b, c2, d, e) {\n var f2;\n f2 = OOc(e, c2, d);\n Ekb(b, tOc(e, f2));\n XOc(a, e, b);\n }\n function mic(a, b, c2) {\n a.i = 0;\n a.e = 0;\n if (b == c2) {\n return;\n }\n lic(a, b, c2);\n kic(a, b, c2);\n }\n function dB(a, b) {\n var c2;\n c2 = a.q.getHours();\n a.q.setFullYear(b + nje);\n YA(a, c2);\n }\n function dC(d, a, b) {\n if (b) {\n var c2 = b.ee();\n d.a[a] = c2(b);\n } else {\n delete d.a[a];\n }\n }\n function vB(d, a, b) {\n if (b) {\n var c2 = b.ee();\n b = c2(b);\n } else {\n b = void 0;\n }\n d.a[a] = b;\n }\n function pCb(a) {\n if (a < 0) {\n throw vbb(new Feb(\"Negative array size: \" + a));\n }\n }\n function VKd(a) {\n if (!a.n) {\n $Kd(a);\n a.n = new JMd(a, j5, a);\n _Kd(a);\n }\n return a.n;\n }\n function Fqb(a) {\n sCb(a.a < a.c.a.length);\n a.b = a.a;\n Dqb(a);\n return a.c.b[a.b];\n }\n function Yjb(a) {\n if (a.b == a.c) {\n return;\n }\n a.a = KC(SI, Uhe, 1, 8, 5, 1);\n a.b = 0;\n a.c = 0;\n }\n function AQb(a) {\n this.b = new Lqb();\n this.c = new Lqb();\n this.d = new Lqb();\n this.a = a;\n }\n function lge(a, b) {\n wfe();\n xfe.call(this, a);\n this.a = b;\n this.c = -1;\n this.b = -1;\n }\n function lSd(a, b, c2, d) {\n kxd.call(this, 1, c2, d);\n this.c = a;\n this.b = b;\n }\n function mSd(a, b, c2, d) {\n lxd.call(this, 1, c2, d);\n this.c = a;\n this.b = b;\n }\n function O7d(a, b, c2, d, e, f2, g) {\n nxd.call(this, b, d, e, f2, g);\n this.c = a;\n this.a = c2;\n }\n function LVd(a, b, c2) {\n this.e = a;\n this.a = SI;\n this.b = R5d(b);\n this.c = b;\n this.d = c2;\n }\n function Lo(a) {\n this.e = a;\n this.c = this.e.a;\n this.b = this.e.g;\n this.d = this.e.i;\n }\n function nYd(a) {\n this.c = a;\n this.a = BD(wId(a), 148);\n this.b = this.a.Aj().Nh();\n }\n function Irb(a) {\n this.d = a;\n this.b = this.d.a.entries();\n this.a = this.b.next();\n }\n function $rb() {\n Lqb.call(this);\n Trb(this);\n this.d.b = this.d;\n this.d.a = this.d;\n }\n function mRb(a, b) {\n _Qb.call(this);\n this.a = a;\n this.b = b;\n Ekb(this.a.b, this);\n }\n function uFd(a, b) {\n var c2;\n return c2 = b != null ? Phb(a, b) : Wd(irb(a.f, b)), RD(c2);\n }\n function FFd(a, b) {\n var c2;\n return c2 = b != null ? Phb(a, b) : Wd(irb(a.f, b)), RD(c2);\n }\n function Fob(a, b) {\n var c2;\n for (c2 = 0; c2 < b; ++c2) {\n NC(a, c2, new Rob(BD(a[c2], 42)));\n }\n }\n function Lgb(a, b) {\n var c2;\n for (c2 = a.d - 1; c2 >= 0 && a.a[c2] === b[c2]; c2--)\n ;\n return c2 < 0;\n }\n function Ucc(a, b) {\n Occ();\n var c2;\n c2 = a.j.g - b.j.g;\n if (c2 != 0) {\n return c2;\n }\n return 0;\n }\n function Dtb(a, b) {\n uCb(b);\n if (a.a != null) {\n return Itb(b.Kb(a.a));\n }\n return ztb;\n }\n function Gx(a) {\n var b;\n if (a) {\n return new Bsb(a);\n }\n b = new zsb();\n Jq(b, a);\n return b;\n }\n function GAb(a, b) {\n var c2;\n return b.b.Kb(SAb(a, b.c.Ee(), (c2 = new TBb(b), c2)));\n }\n function Hub(a) {\n zub();\n Eub(this, Tbb(xbb(Obb(a, 24), nke)), Tbb(xbb(a, nke)));\n }\n function REb() {\n REb = ccb;\n QEb = as((MEb(), OC(GC(aN, 1), Kie, 428, 0, [LEb, KEb])));\n }\n function ZEb() {\n ZEb = ccb;\n YEb = as((UEb(), OC(GC(bN, 1), Kie, 427, 0, [SEb, TEb])));\n }\n function aSb() {\n aSb = ccb;\n _Rb = as((XRb(), OC(GC(gP, 1), Kie, 424, 0, [VRb, WRb])));\n }\n function D5b() {\n D5b = ccb;\n C5b = as((y5b(), OC(GC(ZR, 1), Kie, 511, 0, [x5b, w5b])));\n }\n function Cqc() {\n Cqc = ccb;\n Bqc = as((xqc(), OC(GC(JW, 1), Kie, 419, 0, [vqc, wqc])));\n }\n function erc() {\n erc = ccb;\n drc = as((_qc(), OC(GC(MW, 1), Kie, 479, 0, [$qc, Zqc])));\n }\n function eBc() {\n eBc = ccb;\n dBc = as((_Ac(), OC(GC(fX, 1), Kie, 376, 0, [$Ac, ZAc])));\n }\n function GAc() {\n GAc = ccb;\n FAc = as((BAc(), OC(GC(cX, 1), Kie, 421, 0, [zAc, AAc])));\n }\n function Npc() {\n Npc = ccb;\n Mpc = as((Ipc(), OC(GC(FW, 1), Kie, 422, 0, [Gpc, Hpc])));\n }\n function rsc() {\n rsc = ccb;\n qsc = as((msc(), OC(GC(SW, 1), Kie, 420, 0, [ksc, lsc])));\n }\n function MOc() {\n MOc = ccb;\n LOc = as((HOc(), OC(GC(DZ, 1), Kie, 520, 0, [GOc, FOc])));\n }\n function ZIc() {\n ZIc = ccb;\n YIc = as((UIc(), OC(GC(mY, 1), Kie, 523, 0, [TIc, SIc])));\n }\n function bMc() {\n bMc = ccb;\n aMc = as((YLc(), OC(GC(fZ, 1), Kie, 516, 0, [XLc, WLc])));\n }\n function jMc() {\n jMc = ccb;\n iMc = as((eMc(), OC(GC(gZ, 1), Kie, 515, 0, [cMc, dMc])));\n }\n function KQc() {\n KQc = ccb;\n JQc = as((FQc(), OC(GC(YZ, 1), Kie, 455, 0, [DQc, EQc])));\n }\n function dUc() {\n dUc = ccb;\n cUc = as(($Tc(), OC(GC(F$, 1), Kie, 425, 0, [ZTc, YTc])));\n }\n function XUc() {\n XUc = ccb;\n WUc = as((PUc(), OC(GC(K$, 1), Kie, 495, 0, [NUc, OUc])));\n }\n function XTc() {\n XTc = ccb;\n WTc = as((STc(), OC(GC(E$, 1), Kie, 480, 0, [QTc, RTc])));\n }\n function lWc() {\n lWc = ccb;\n kWc = as((fWc(), OC(GC(X$, 1), Kie, 426, 0, [dWc, eWc])));\n }\n function i1c() {\n i1c = ccb;\n h1c = as((a1c(), OC(GC(X_, 1), Kie, 429, 0, [_0c, $0c])));\n }\n function H_c() {\n H_c = ccb;\n G_c = as((C_c(), OC(GC(P_, 1), Kie, 430, 0, [B_c, A_c])));\n }\n function UIc() {\n UIc = ccb;\n TIc = new VIc(\"UPPER\", 0);\n SIc = new VIc(\"LOWER\", 1);\n }\n function Lqd(a, b) {\n var c2;\n c2 = new eC();\n Spd(c2, \"x\", b.a);\n Spd(c2, \"y\", b.b);\n Qpd(a, c2);\n }\n function Oqd(a, b) {\n var c2;\n c2 = new eC();\n Spd(c2, \"x\", b.a);\n Spd(c2, \"y\", b.b);\n Qpd(a, c2);\n }\n function Jic(a, b) {\n var c2, d;\n d = false;\n do {\n c2 = Mic(a, b);\n d = d | c2;\n } while (c2);\n return d;\n }\n function zHc(a, b) {\n var c2, d;\n c2 = b;\n d = 0;\n while (c2 > 0) {\n d += a.a[c2];\n c2 -= c2 & -c2;\n }\n return d;\n }\n function Cfd(a, b) {\n var c2;\n c2 = b;\n while (c2) {\n O6c(a, -c2.i, -c2.j);\n c2 = Xod(c2);\n }\n return a;\n }\n function reb(a, b) {\n var c2, d;\n uCb(b);\n for (d = a.Kc(); d.Ob(); ) {\n c2 = d.Pb();\n b.td(c2);\n }\n }\n function me(a, b) {\n var c2;\n c2 = b.cd();\n return new Wo(c2, a.e.pc(c2, BD(b.dd(), 14)));\n }\n function Gsb(a, b, c2, d) {\n var e;\n e = new jtb();\n e.c = b;\n e.b = c2;\n e.a = d;\n d.b = c2.a = e;\n ++a.b;\n }\n function Nkb(a, b, c2) {\n var d;\n d = (tCb(b, a.c.length), a.c[b]);\n a.c[b] = c2;\n return d;\n }\n function lFd(a, b, c2) {\n return BD(b == null ? jrb(a.f, null, c2) : Drb(a.g, b, c2), 281);\n }\n function fRb(a) {\n return !!a.c && !!a.d ? oRb(a.c) + \"->\" + oRb(a.d) : \"e_\" + FCb(a);\n }\n function FAb(a, b) {\n return (Uzb(a), WAb(new YAb(a, new qBb(b, a.a)))).sd(DAb);\n }\n function tUb() {\n qUb();\n return OC(GC(zP, 1), Kie, 356, 0, [lUb, mUb, nUb, oUb, pUb]);\n }\n function _cd() {\n Ucd();\n return OC(GC(F1, 1), bne, 61, 0, [Scd, Acd, zcd, Rcd, Tcd]);\n }\n function Dz(b) {\n Az();\n return function() {\n return Ez(b, this, arguments);\n };\n }\n function sz() {\n if (Date.now) {\n return Date.now();\n }\n return new Date().getTime();\n }\n function OZb(a) {\n if (!a.c || !a.d) {\n return false;\n }\n return !!a.c.i && a.c.i == a.d.i;\n }\n function pv(a) {\n if (!a.c.Sb()) {\n throw vbb(new utb());\n }\n a.a = true;\n return a.c.Ub();\n }\n function ko(a) {\n a.i = 0;\n Alb(a.b, null);\n Alb(a.c, null);\n a.a = null;\n a.e = null;\n ++a.g;\n }\n function ycb(a) {\n wcb.call(this, a == null ? Xhe : fcb(a), JD(a, 78) ? BD(a, 78) : null);\n }\n function PYb(a) {\n MYb();\n yXb(this);\n this.a = new Psb();\n NYb(this, a);\n Dsb(this.a, a);\n }\n function jYb() {\n Ckb(this);\n this.b = new f7c(Pje, Pje);\n this.a = new f7c(Qje, Qje);\n }\n function rAb(a, b) {\n this.c = 0;\n this.b = b;\n jvb.call(this, a, 17493);\n this.a = this.c;\n }\n function wyb(a) {\n oyb();\n if (lyb) {\n return;\n }\n this.c = a;\n this.e = true;\n this.a = new Rkb();\n }\n function oyb() {\n oyb = ccb;\n lyb = true;\n jyb = false;\n kyb = false;\n nyb = false;\n myb = false;\n }\n function C3c(a, b) {\n if (JD(b, 149)) {\n return dfb(a.c, BD(b, 149).c);\n }\n return false;\n }\n function zUc(a, b) {\n var c2;\n c2 = 0;\n !!a && (c2 += a.f.a / 2);\n !!b && (c2 += b.f.a / 2);\n return c2;\n }\n function j4c(a, b) {\n var c2;\n c2 = BD(Wrb(a.d, b), 23);\n return c2 ? c2 : BD(Wrb(a.e, b), 23);\n }\n function Lzd(a) {\n this.b = a;\n Fyd.call(this, a);\n this.a = BD(Ajd(this.b.a, 4), 126);\n }\n function Uzd(a) {\n this.b = a;\n $yd.call(this, a);\n this.a = BD(Ajd(this.b.a, 4), 126);\n }\n function $Kd(a) {\n if (!a.t) {\n a.t = new YMd(a);\n vtd(new c0d(a), 0, a.t);\n }\n return a.t;\n }\n function kad() {\n ead();\n return OC(GC(t12, 1), Kie, 103, 0, [cad, bad, aad, _9c, dad]);\n }\n function Wbd() {\n Tbd();\n return OC(GC(C1, 1), Kie, 249, 0, [Qbd, Sbd, Obd, Pbd, Rbd]);\n }\n function Q5c() {\n N5c();\n return OC(GC(e1, 1), Kie, 175, 0, [L5c, K5c, I5c, M5c, J5c]);\n }\n function Q_c() {\n N_c();\n return OC(GC(Q_, 1), Kie, 316, 0, [I_c, J_c, M_c, K_c, L_c]);\n }\n function _zc() {\n Vzc();\n return OC(GC(_W, 1), Kie, 315, 0, [Uzc, Rzc, Szc, Qzc, Tzc]);\n }\n function sqc() {\n mqc();\n return OC(GC(IW, 1), Kie, 335, 0, [iqc, hqc, kqc, lqc, jqc]);\n }\n function n$c() {\n k$c();\n return OC(GC(y_, 1), Kie, 355, 0, [g$c, f$c, i$c, h$c, j$c]);\n }\n function _jc() {\n Xjc();\n return OC(GC(uV, 1), Kie, 363, 0, [Tjc, Vjc, Wjc, Ujc, Sjc]);\n }\n function Ftc() {\n Ctc();\n return OC(GC(TW, 1), Kie, 163, 0, [Btc, xtc, ytc, ztc, Atc]);\n }\n function T0d() {\n T0d = ccb;\n var a, b;\n R0d = (LFd(), b = new MPd(), b);\n S0d = (a = new OJd(), a);\n }\n function yUd(a) {\n var b;\n if (!a.c) {\n b = a.r;\n JD(b, 88) && (a.c = BD(b, 26));\n }\n return a.c;\n }\n function zc(a) {\n a.e = 3;\n a.d = a.Yb();\n if (a.e != 2) {\n a.e = 0;\n return true;\n }\n return false;\n }\n function RC(a) {\n var b, c2, d;\n b = a & Eje;\n c2 = a >> 22 & Eje;\n d = a < 0 ? Fje : 0;\n return TC(b, c2, d);\n }\n function uy(a) {\n var b, c2, d, e;\n for (c2 = a, d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n Qzb(b);\n }\n }\n function Tc(a, b) {\n var c2, d;\n c2 = BD(Iv(a.c, b), 14);\n if (c2) {\n d = c2.gc();\n c2.$b();\n a.d -= d;\n }\n }\n function tjb(a, b) {\n var c2, d;\n c2 = b.cd();\n d = Awb(a, c2);\n return !!d && wtb(d.e, b.dd());\n }\n function Qgb(a, b) {\n if (b == 0 || a.e == 0) {\n return a;\n }\n return b > 0 ? ihb(a, b) : lhb(a, -b);\n }\n function Rgb2(a, b) {\n if (b == 0 || a.e == 0) {\n return a;\n }\n return b > 0 ? lhb(a, b) : ihb(a, -b);\n }\n function Rr(a) {\n if (Qr(a)) {\n a.c = a.a;\n return a.a.Pb();\n } else {\n throw vbb(new utb());\n }\n }\n function Yac(a) {\n var b, c2;\n b = a.c.i;\n c2 = a.d.i;\n return b.k == (j0b(), e0b) && c2.k == e0b;\n }\n function kZb(a) {\n var b;\n b = new UZb();\n tNb(b, a);\n yNb(b, (Nyc(), jxc), null);\n return b;\n }\n function hid(a, b, c2) {\n var d;\n return d = a.Yg(b), d >= 0 ? a._g(d, c2, true) : sid(a, b, c2);\n }\n function uHb(a, b, c2, d) {\n var e;\n for (e = 0; e < rHb; e++) {\n nHb(a.a[b.g][e], c2, d[b.g]);\n }\n }\n function vHb(a, b, c2, d) {\n var e;\n for (e = 0; e < sHb; e++) {\n mHb(a.a[e][b.g], c2, d[b.g]);\n }\n }\n function vSd(a, b, c2, d, e) {\n kxd.call(this, b, d, e);\n this.c = a;\n this.a = c2;\n }\n function zSd(a, b, c2, d, e) {\n lxd.call(this, b, d, e);\n this.c = a;\n this.a = c2;\n }\n function ISd(a, b, c2, d, e) {\n oxd.call(this, b, d, e);\n this.c = a;\n this.a = c2;\n }\n function qSd(a, b, c2, d, e) {\n oxd.call(this, b, d, e);\n this.c = a;\n this.b = c2;\n }\n function mWd(a, b, c2) {\n VVd.call(this, c2);\n this.b = a;\n this.c = b;\n this.d = (CWd(), AWd);\n }\n function oxd(a, b, c2) {\n this.d = a;\n this.k = b ? 1 : 0;\n this.f = c2 ? 1 : 0;\n this.o = -1;\n this.p = 0;\n }\n function _6d(a, b, c2) {\n var d;\n d = new a7d(a.a);\n Ld(d, a.a.a);\n jrb(d.f, b, c2);\n a.a.a = d;\n }\n function lud(a, b) {\n a.qi(a.i + 1);\n mud(a, a.i, a.oi(a.i, b));\n a.bi(a.i++, b);\n a.ci();\n }\n function oud(a) {\n var b, c2;\n ++a.j;\n b = a.g;\n c2 = a.i;\n a.g = null;\n a.i = 0;\n a.di(c2, b);\n a.ci();\n }\n function Ou(a) {\n var b, c2;\n Qb(a);\n b = Iu(a.length);\n c2 = new Skb(b);\n nmb(c2, a);\n return c2;\n }\n function km(a) {\n var b;\n b = (Qb(a), a ? new Tkb(a) : Nu(a.Kc()));\n smb(b);\n return Dm(b);\n }\n function Kkb(a, b) {\n var c2;\n c2 = (tCb(b, a.c.length), a.c[b]);\n cCb(a.c, b, 1);\n return c2;\n }\n function Qc(a, b) {\n var c2;\n c2 = BD(a.c.xc(b), 14);\n !c2 && (c2 = a.ic(b));\n return a.pc(b, c2);\n }\n function cfb(a, b) {\n var c2, d;\n c2 = (uCb(a), a);\n d = (uCb(b), b);\n return c2 == d ? 0 : c2 < d ? -1 : 1;\n }\n function Fpb(a) {\n var b;\n b = a.e + a.f;\n if (isNaN(b) && Ldb(a.d)) {\n return a.d;\n }\n return b;\n }\n function uwb(a, b) {\n !a.a ? a.a = new Wfb(a.d) : Qfb(a.a, a.b);\n Nfb(a.a, b);\n return a;\n }\n function Sb(a, b) {\n if (a < 0 || a > b) {\n throw vbb(new qcb(Jb(a, b, \"index\")));\n }\n return a;\n }\n function zhb(a, b, c2, d) {\n var e;\n e = KC(WD, oje, 25, b, 15, 1);\n Ahb(e, a, b, c2, d);\n return e;\n }\n function _A(a, b) {\n var c2;\n c2 = a.q.getHours() + (b / 60 | 0);\n a.q.setMinutes(b);\n YA(a, c2);\n }\n function A$c(a, b) {\n return $wnd.Math.min(S6c(b.a, a.d.d.c), S6c(b.b, a.d.d.c));\n }\n function Thb(a, b) {\n return ND(b) ? b == null ? krb(a.f, null) : Erb(a.g, b) : krb(a.f, b);\n }\n function b1b(a) {\n this.c = a;\n this.a = new olb(this.c.a);\n this.b = new olb(this.c.b);\n }\n function kRb() {\n this.e = new Rkb();\n this.c = new Rkb();\n this.d = new Rkb();\n this.b = new Rkb();\n }\n function MFb() {\n this.g = new PFb();\n this.b = new PFb();\n this.a = new Rkb();\n this.k = new Rkb();\n }\n function Gjc(a, b, c2) {\n this.a = a;\n this.c = b;\n this.d = c2;\n Ekb(b.e, this);\n Ekb(c2.b, this);\n }\n function wBb(a, b) {\n fvb.call(this, b.rd(), b.qd() & -6);\n uCb(a);\n this.a = a;\n this.b = b;\n }\n function CBb(a, b) {\n jvb.call(this, b.rd(), b.qd() & -6);\n uCb(a);\n this.a = a;\n this.b = b;\n }\n function IBb(a, b) {\n nvb.call(this, b.rd(), b.qd() & -6);\n uCb(a);\n this.a = a;\n this.b = b;\n }\n function BQc(a, b, c2) {\n this.a = a;\n this.b = b;\n this.c = c2;\n Ekb(a.t, this);\n Ekb(b.i, this);\n }\n function SRc() {\n this.b = new Psb();\n this.a = new Psb();\n this.b = new Psb();\n this.a = new Psb();\n }\n function g6c() {\n g6c = ccb;\n f6c = new Lsd(\"org.eclipse.elk.labels.labelManager\");\n }\n function Vac() {\n Vac = ccb;\n Uac = new Msd(\"separateLayerConnections\", (gbc(), fbc));\n }\n function HOc() {\n HOc = ccb;\n GOc = new IOc(\"REGULAR\", 0);\n FOc = new IOc(\"CRITICAL\", 1);\n }\n function _Ac() {\n _Ac = ccb;\n $Ac = new aBc(\"STACKED\", 0);\n ZAc = new aBc(\"SEQUENCED\", 1);\n }\n function C_c() {\n C_c = ccb;\n B_c = new D_c(\"FIXED\", 0);\n A_c = new D_c(\"CENTER_NODE\", 1);\n }\n function PHc(a, b) {\n var c2;\n c2 = VHc(a, b);\n a.b = new BHc(c2.c.length);\n return OHc(a, c2);\n }\n function KAd(a, b, c2) {\n var d;\n ++a.e;\n --a.f;\n d = BD(a.d[b].$c(c2), 133);\n return d.dd();\n }\n function JJd(a) {\n var b;\n if (!a.a) {\n b = a.r;\n JD(b, 148) && (a.a = BD(b, 148));\n }\n return a.a;\n }\n function poc(a) {\n if (a.a) {\n if (a.e) {\n return poc(a.e);\n }\n } else {\n return a;\n }\n return null;\n }\n function ODc(a, b) {\n if (a.p < b.p) {\n return 1;\n } else if (a.p > b.p) {\n return -1;\n }\n return 0;\n }\n function pvb(a, b) {\n uCb(b);\n if (a.c < a.d) {\n a.ze(b, a.c++);\n return true;\n }\n return false;\n }\n function QYd(a, b) {\n if (Mhb(a.a, b)) {\n Thb(a.a, b);\n return true;\n } else {\n return false;\n }\n }\n function fd(a) {\n var b, c2;\n b = a.cd();\n c2 = BD(a.dd(), 14);\n return $j(c2.Nc(), new ah(b));\n }\n function sqb(a) {\n var b;\n b = BD(ZBb(a.b, a.b.length), 9);\n return new xqb(a.a, b, a.c);\n }\n function _zb(a) {\n var b;\n Uzb(a);\n b = new fAb(a, a.a.e, a.a.d | 4);\n return new bAb(a, b);\n }\n function HAb(a) {\n var b;\n Tzb(a);\n b = 0;\n while (a.a.sd(new RBb())) {\n b = wbb(b, 1);\n }\n return b;\n }\n function UDc(a, b, c2) {\n var d, e;\n d = 0;\n for (e = 0; e < b.length; e++) {\n d += a.$f(b[e], d, c2);\n }\n }\n function QJb(a, b) {\n var c2;\n if (a.C) {\n c2 = BD(Mpb(a.b, b), 124).n;\n c2.d = a.C.d;\n c2.a = a.C.a;\n }\n }\n function Mi(a, b, c2) {\n Pb(b, a.e.Hd().gc());\n Pb(c2, a.c.Hd().gc());\n return a.a[b][c2];\n }\n function Ugb(a, b) {\n Hgb();\n this.e = a;\n this.d = 1;\n this.a = OC(GC(WD, 1), oje, 25, 15, [b]);\n }\n function dg(a, b, c2, d) {\n this.f = a;\n this.e = b;\n this.d = c2;\n this.b = d;\n this.c = !d ? null : d.d;\n }\n function o5b(a) {\n var b, c2, d, e;\n e = a.d;\n b = a.a;\n c2 = a.b;\n d = a.c;\n a.d = c2;\n a.a = d;\n a.b = e;\n a.c = b;\n }\n function Y2d(a, b, c2, d) {\n X2d(a, b, c2, M2d(a, b, d, JD(b, 99) && (BD(b, 18).Bb & Tje) != 0));\n }\n function tac(a, b) {\n Odd(b, \"Label management\", 1);\n RD(vNb(a, (g6c(), f6c)));\n Qdd(b);\n }\n function Skb(a) {\n Ckb(this);\n mCb(a >= 0, \"Initial capacity must not be negative\");\n }\n function lHb() {\n lHb = ccb;\n kHb = as((gHb(), OC(GC(pN, 1), Kie, 232, 0, [dHb, eHb, fHb])));\n }\n function SHb() {\n SHb = ccb;\n RHb = as((NHb(), OC(GC(sN, 1), Kie, 461, 0, [LHb, KHb, MHb])));\n }\n function JIb() {\n JIb = ccb;\n IIb = as((EIb(), OC(GC(zN, 1), Kie, 462, 0, [DIb, CIb, BIb])));\n }\n function Kyb() {\n Kyb = ccb;\n Jyb = as((Fyb(), OC(GC(xL, 1), Kie, 132, 0, [Cyb, Dyb, Eyb])));\n }\n function DTb() {\n DTb = ccb;\n CTb = as((yTb(), OC(GC(oP, 1), Kie, 379, 0, [wTb, vTb, xTb])));\n }\n function WXb() {\n WXb = ccb;\n VXb = as((RXb(), OC(GC(hQ, 1), Kie, 423, 0, [QXb, PXb, OXb])));\n }\n function Zpc() {\n Zpc = ccb;\n Ypc = as((Rpc(), OC(GC(GW, 1), Kie, 314, 0, [Ppc, Opc, Qpc])));\n }\n function gqc() {\n gqc = ccb;\n fqc = as((bqc(), OC(GC(HW, 1), Kie, 337, 0, [$pc, aqc, _pc])));\n }\n function Lqc() {\n Lqc = ccb;\n Kqc = as((Gqc(), OC(GC(KW, 1), Kie, 450, 0, [Eqc, Dqc, Fqc])));\n }\n function Kkc() {\n Kkc = ccb;\n Jkc = as((Fkc(), OC(GC(vV, 1), Kie, 361, 0, [Ekc, Dkc, Ckc])));\n }\n function jsc() {\n jsc = ccb;\n isc = as((esc(), OC(GC(RW, 1), Kie, 303, 0, [csc, dsc, bsc])));\n }\n function asc() {\n asc = ccb;\n _rc = as((Xrc(), OC(GC(QW, 1), Kie, 292, 0, [Vrc, Wrc, Urc])));\n }\n function Dzc() {\n Dzc = ccb;\n Czc = as((xzc(), OC(GC(ZW, 1), Kie, 378, 0, [uzc, vzc, wzc])));\n }\n function YAc() {\n YAc = ccb;\n XAc = as((TAc(), OC(GC(eX, 1), Kie, 375, 0, [QAc, RAc, SAc])));\n }\n function yAc() {\n yAc = ccb;\n xAc = as((tAc(), OC(GC(bX, 1), Kie, 339, 0, [rAc, qAc, sAc])));\n }\n function PAc() {\n PAc = ccb;\n OAc = as((KAc(), OC(GC(dX, 1), Kie, 452, 0, [JAc, HAc, IAc])));\n }\n function QBc() {\n QBc = ccb;\n PBc = as((LBc(), OC(GC(jX, 1), Kie, 377, 0, [JBc, KBc, IBc])));\n }\n function yBc() {\n yBc = ccb;\n xBc = as((tBc(), OC(GC(hX, 1), Kie, 336, 0, [qBc, rBc, sBc])));\n }\n function HBc() {\n HBc = ccb;\n GBc = as((CBc(), OC(GC(iX, 1), Kie, 338, 0, [BBc, zBc, ABc])));\n }\n function wGc() {\n wGc = ccb;\n vGc = as((rGc(), OC(GC(PX, 1), Kie, 454, 0, [oGc, pGc, qGc])));\n }\n function zVc() {\n zVc = ccb;\n yVc = as((tVc(), OC(GC(O$, 1), Kie, 442, 0, [sVc, qVc, rVc])));\n }\n function vWc() {\n vWc = ccb;\n uWc = as((pWc(), OC(GC(Y$, 1), Kie, 380, 0, [mWc, nWc, oWc])));\n }\n function EYc() {\n EYc = ccb;\n DYc = as((zYc(), OC(GC(q_, 1), Kie, 381, 0, [xYc, yYc, wYc])));\n }\n function yXc() {\n yXc = ccb;\n xXc = as((sXc(), OC(GC(b_, 1), Kie, 293, 0, [qXc, rXc, pXc])));\n }\n function b_c() {\n b_c = ccb;\n a_c = as((Y$c(), OC(GC(J_, 1), Kie, 437, 0, [V$c, W$c, X$c])));\n }\n function mbd() {\n mbd = ccb;\n lbd = as((hbd(), OC(GC(z1, 1), Kie, 334, 0, [fbd, ebd, gbd])));\n }\n function vad() {\n vad = ccb;\n uad = as((qad(), OC(GC(u1, 1), Kie, 272, 0, [nad, oad, pad2])));\n }\n function icd() {\n dcd();\n return OC(GC(D1, 1), Kie, 98, 0, [ccd, bcd, acd, Zbd, _bd, $bd]);\n }\n function ikd(a, b) {\n return !a.o && (a.o = new dId((Thd(), Qhd), S2, a, 0)), qAd(a.o, b);\n }\n function NAd(a) {\n !a.g && (a.g = new JCd());\n !a.g.d && (a.g.d = new MBd(a));\n return a.g.d;\n }\n function yAd(a) {\n !a.g && (a.g = new JCd());\n !a.g.a && (a.g.a = new SBd(a));\n return a.g.a;\n }\n function EAd(a) {\n !a.g && (a.g = new JCd());\n !a.g.b && (a.g.b = new GBd(a));\n return a.g.b;\n }\n function FAd(a) {\n !a.g && (a.g = new JCd());\n !a.g.c && (a.g.c = new iCd(a));\n return a.g.c;\n }\n function A2d(a, b, c2) {\n var d, e;\n e = new p4d(b, a);\n for (d = 0; d < c2; ++d) {\n d4d(e);\n }\n return e;\n }\n function Atd(a, b, c2) {\n var d, e;\n if (c2 != null) {\n for (d = 0; d < b; ++d) {\n e = c2[d];\n a.fi(d, e);\n }\n }\n }\n function uhb(a, b, c2, d) {\n var e;\n e = KC(WD, oje, 25, b + 1, 15, 1);\n vhb(e, a, b, c2, d);\n return e;\n }\n function KC(a, b, c2, d, e, f2) {\n var g;\n g = LC(e, d);\n e != 10 && OC(GC(a, f2), b, c2, e, g);\n return g;\n }\n function bYd(a, b, c2, d) {\n !!c2 && (d = c2.gh(b, bLd(c2.Tg(), a.c.Lj()), null, d));\n return d;\n }\n function cYd(a, b, c2, d) {\n !!c2 && (d = c2.ih(b, bLd(c2.Tg(), a.c.Lj()), null, d));\n return d;\n }\n function KNb(a, b, c2) {\n BD(a.b, 65);\n BD(a.b, 65);\n BD(a.b, 65);\n Hkb(a.a, new TNb(c2, b, a));\n }\n function ACb(a, b, c2) {\n if (a < 0 || b > c2 || b < a) {\n throw vbb(new Xfb(xke + a + zke + b + oke + c2));\n }\n }\n function zCb(a) {\n if (!a) {\n throw vbb(new Zdb(\"Unable to add element to queue\"));\n }\n }\n function Vzb(a) {\n if (!a) {\n this.c = null;\n this.b = new Rkb();\n } else {\n this.c = a;\n this.b = null;\n }\n }\n function exb(a, b) {\n pjb.call(this, a, b);\n this.a = KC(dL, zie, 436, 2, 0, 1);\n this.b = true;\n }\n function _rb(a) {\n Whb.call(this, a, 0);\n Trb(this);\n this.d.b = this.d;\n this.d.a = this.d;\n }\n function VRc(a) {\n var b;\n b = a.b;\n if (b.b == 0) {\n return null;\n }\n return BD(Ut(b, 0), 188).b;\n }\n function Kwb(a, b) {\n var c2;\n c2 = new fxb();\n c2.c = true;\n c2.d = b.dd();\n return Lwb(a, b.cd(), c2);\n }\n function bB(a, b) {\n var c2;\n c2 = a.q.getHours() + (b / 3600 | 0);\n a.q.setSeconds(b);\n YA(a, c2);\n }\n function zGc(a, b, c2) {\n var d;\n d = a.b[c2.c.p][c2.p];\n d.b += b.b;\n d.c += b.c;\n d.a += b.a;\n ++d.a;\n }\n function S6c(a, b) {\n var c2, d;\n c2 = a.a - b.a;\n d = a.b - b.b;\n return $wnd.Math.sqrt(c2 * c2 + d * d);\n }\n function Ipc() {\n Ipc = ccb;\n Gpc = new Jpc(\"QUADRATIC\", 0);\n Hpc = new Jpc(\"SCANLINE\", 1);\n }\n function hCc() {\n hCc = ccb;\n gCc = c3c(e3c(new j3c(), (qUb(), lUb), (S8b(), n8b)), pUb, J8b);\n }\n function l8c() {\n i8c();\n return OC(GC(r1, 1), Kie, 291, 0, [h8c, g8c, f8c, d8c, c8c, e8c]);\n }\n function I7c() {\n F7c();\n return OC(GC(o1, 1), Kie, 248, 0, [z7c, C7c, D7c, E7c, A7c, B7c]);\n }\n function Dpc() {\n Apc();\n return OC(GC(EW, 1), Kie, 227, 0, [wpc, ypc, vpc, xpc, zpc, upc]);\n }\n function Brc() {\n yrc();\n return OC(GC(OW, 1), Kie, 275, 0, [wrc, trc, xrc, vrc, urc, rrc]);\n }\n function orc() {\n lrc();\n return OC(GC(NW, 1), Kie, 274, 0, [irc, hrc, krc, grc, jrc, frc]);\n }\n function rzc() {\n lzc();\n return OC(GC(YW, 1), Kie, 313, 0, [jzc, hzc, fzc, gzc, kzc, izc]);\n }\n function Wqc() {\n Sqc();\n return OC(GC(LW, 1), Kie, 276, 0, [Nqc, Mqc, Pqc, Oqc, Rqc, Qqc]);\n }\n function uSc() {\n qSc();\n return OC(GC(t$, 1), Kie, 327, 0, [pSc, lSc, nSc, mSc, oSc, kSc]);\n }\n function wcd() {\n rcd();\n return OC(GC(E1, 1), Kie, 273, 0, [pcd, ncd, ocd, mcd, lcd, qcd]);\n }\n function Pad() {\n Mad();\n return OC(GC(w1, 1), Kie, 312, 0, [Kad, Iad, Lad, Gad, Jad, Had]);\n }\n function m0b() {\n j0b();\n return OC(GC(NQ, 1), Kie, 267, 0, [h0b, g0b, e0b, i0b, f0b, d0b]);\n }\n function mib(a) {\n yCb(!!a.c);\n xpb(a.e, a);\n a.c.Qb();\n a.c = null;\n a.b = kib(a);\n ypb(a.e, a);\n }\n function tsb(a) {\n xpb(a.c.a.e, a);\n sCb(a.b != a.c.a.d);\n a.a = a.b;\n a.b = a.b.a;\n return a.a;\n }\n function kSd(a) {\n var b;\n if (!a.a && a.b != -1) {\n b = a.c.Tg();\n a.a = XKd(b, a.b);\n }\n return a.a;\n }\n function wtd(a, b) {\n if (a.hi() && a.Hc(b)) {\n return false;\n } else {\n a.Yh(b);\n return true;\n }\n }\n function $Hb(a, b) {\n ytb(b, \"Horizontal alignment cannot be null\");\n a.b = b;\n return a;\n }\n function Lfe(a, b, c2) {\n wfe();\n var d;\n d = Kfe(a, b);\n c2 && !!d && Nfe(a) && (d = null);\n return d;\n }\n function vXb(a, b, c2) {\n var d, e;\n for (e = a.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 37);\n uXb(d, b, c2);\n }\n }\n function tXb(a, b) {\n var c2, d;\n for (d = b.Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 37);\n sXb(a, c2, 0, 0);\n }\n }\n function ojc(a, b, c2) {\n var d;\n a.d[b.g] = c2;\n d = a.g.c;\n d[b.g] = $wnd.Math.max(d[b.g], c2 + 1);\n }\n function KZc(a, b) {\n var c2, d, e;\n e = a.r;\n d = a.d;\n c2 = MZc(a, b, true);\n return c2.b != e || c2.a != d;\n }\n function Jjc(a, b) {\n Vrb(a.e, b) || Xrb(a.e, b, new Pjc(b));\n return BD(Wrb(a.e, b), 113);\n }\n function Byb(a, b, c2, d) {\n uCb(a);\n uCb(b);\n uCb(c2);\n uCb(d);\n return new Lyb(a, b, new Vxb());\n }\n function dId(a, b, c2, d) {\n this.rj();\n this.a = b;\n this.b = a;\n this.c = new Y5d(this, b, c2, d);\n }\n function oSd(a, b, c2, d, e, f2) {\n mxd.call(this, b, d, e, f2);\n this.c = a;\n this.b = c2;\n }\n function ESd(a, b, c2, d, e, f2) {\n mxd.call(this, b, d, e, f2);\n this.c = a;\n this.a = c2;\n }\n function Bqd(a, b, c2) {\n var d, e, f2;\n d = aC(a, c2);\n e = null;\n !!d && (e = aqd(d));\n f2 = e;\n Vqd(b, c2, f2);\n }\n function Cqd(a, b, c2) {\n var d, e, f2;\n d = aC(a, c2);\n e = null;\n !!d && (e = aqd(d));\n f2 = e;\n Vqd(b, c2, f2);\n }\n function v1d(a, b, c2) {\n var d, e;\n e = (d = nUd(a.b, b), d);\n return !e ? null : V1d(p1d(a, e), c2);\n }\n function gid(a, b) {\n var c2;\n return c2 = a.Yg(b), c2 >= 0 ? a._g(c2, true, true) : sid(a, b, true);\n }\n function s6b(a, b) {\n return Kdb(Edb(ED(vNb(a, (wtc(), htc)))), Edb(ED(vNb(b, htc))));\n }\n function pUc() {\n pUc = ccb;\n oUc = b3c(b3c(g3c(new j3c(), (yRc(), vRc)), (qSc(), pSc)), lSc);\n }\n function IHc(a, b, c2) {\n var d;\n d = SHc(a, b, c2);\n a.b = new BHc(d.c.length);\n return KHc(a, d);\n }\n function qhe(a) {\n if (a.b <= 0)\n throw vbb(new utb());\n --a.b;\n a.a -= a.c.c;\n return meb(a.a);\n }\n function ptd(a) {\n var b;\n if (!a.a) {\n throw vbb(new vtb());\n }\n b = a.a;\n a.a = Xod(a.a);\n return b;\n }\n function dBb(a) {\n while (!a.a) {\n if (!HBb(a.c, new hBb(a))) {\n return false;\n }\n }\n return true;\n }\n function vr(a) {\n var b;\n Qb(a);\n if (JD(a, 198)) {\n b = BD(a, 198);\n return b;\n }\n return new wr(a);\n }\n function r3c(a) {\n p3c();\n BD(a.We((Y9c(), x9c)), 174).Fc((rcd(), ocd));\n a.Ye(w9c, null);\n }\n function p3c() {\n p3c = ccb;\n m3c = new v3c();\n o3c = new x3c();\n n3c = mn((Y9c(), w9c), m3c, b9c, o3c);\n }\n function fWc() {\n fWc = ccb;\n dWc = new hWc(\"LEAF_NUMBER\", 0);\n eWc = new hWc(\"NODE_SIZE\", 1);\n }\n function UMc(a, b, c2) {\n a.a = b;\n a.c = c2;\n a.b.a.$b();\n Osb(a.d);\n a.e.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n }\n function yHc(a) {\n a.a = KC(WD, oje, 25, a.b + 1, 15, 1);\n a.c = KC(WD, oje, 25, a.b, 15, 1);\n a.d = 0;\n }\n function MWb(a, b) {\n if (a.a.ue(b.d, a.b) > 0) {\n Ekb(a.c, new dWb(b.c, b.d, a.d));\n a.b = b.d;\n }\n }\n function nud(a, b) {\n if (a.g == null || b >= a.i)\n throw vbb(new $zd(b, a.i));\n return a.g[b];\n }\n function pOd(a, b, c2) {\n Itd(a, c2);\n if (c2 != null && !a.wj(c2)) {\n throw vbb(new tcb());\n }\n return c2;\n }\n function KLd(a) {\n var b;\n if (a.Ek()) {\n for (b = a.i - 1; b >= 0; --b) {\n qud(a, b);\n }\n }\n return wud(a);\n }\n function Bwb(a) {\n var b, c2;\n if (!a.b) {\n return null;\n }\n c2 = a.b;\n while (b = c2.a[0]) {\n c2 = b;\n }\n return c2;\n }\n function ulb(a, b) {\n var c2, d;\n pCb(b);\n return c2 = (d = a.slice(0, b), PC(d, a)), c2.length = b, c2;\n }\n function Klb(a, b, c2, d) {\n var e;\n d = (ipb(), !d ? fpb : d);\n e = a.slice(b, c2);\n Llb(e, a, b, c2, -b, d);\n }\n function bid(a, b, c2, d, e) {\n return b < 0 ? sid(a, c2, d) : BD(c2, 66).Nj().Pj(a, a.yh(), b, d, e);\n }\n function hZd(a) {\n if (JD(a, 172)) {\n return \"\" + BD(a, 172).a;\n }\n return a == null ? null : fcb(a);\n }\n function iZd(a) {\n if (JD(a, 172)) {\n return \"\" + BD(a, 172).a;\n }\n return a == null ? null : fcb(a);\n }\n function nDb(a, b) {\n if (b.a) {\n throw vbb(new hz(Hke));\n }\n Qqb(a.a, b);\n b.a = a;\n !a.j && (a.j = b);\n }\n function qBb(a, b) {\n nvb.call(this, b.rd(), b.qd() & -16449);\n uCb(a);\n this.a = a;\n this.c = b;\n }\n function Ti(a, b) {\n var c2, d;\n d = b / a.c.Hd().gc() | 0;\n c2 = b % a.c.Hd().gc();\n return Mi(a, d, c2);\n }\n function NHb() {\n NHb = ccb;\n LHb = new OHb(jle, 0);\n KHb = new OHb(gle, 1);\n MHb = new OHb(kle, 2);\n }\n function lxb() {\n lxb = ccb;\n hxb = new mxb(\"All\", 0);\n ixb = new rxb();\n jxb = new txb();\n kxb = new wxb();\n }\n function zxb() {\n zxb = ccb;\n yxb = as((lxb(), OC(GC(iL, 1), Kie, 297, 0, [hxb, ixb, jxb, kxb])));\n }\n function uWb() {\n uWb = ccb;\n tWb = as((lWb(), OC(GC(SP, 1), Kie, 405, 0, [hWb, kWb, iWb, jWb])));\n }\n function ALb() {\n ALb = ccb;\n zLb = as((vLb(), OC(GC(PN, 1), Kie, 406, 0, [uLb, rLb, sLb, tLb])));\n }\n function WMb() {\n WMb = ccb;\n VMb = as((RMb(), OC(GC(jO, 1), Kie, 323, 0, [OMb, NMb, PMb, QMb])));\n }\n function WOb() {\n WOb = ccb;\n VOb = as((ROb(), OC(GC(CO, 1), Kie, 394, 0, [OOb, NOb, POb, QOb])));\n }\n function GRc() {\n GRc = ccb;\n FRc = as((yRc(), OC(GC(h$, 1), Kie, 393, 0, [uRc, vRc, wRc, xRc])));\n }\n function mbc() {\n mbc = ccb;\n lbc = as((gbc(), OC(GC(VS, 1), Kie, 360, 0, [fbc, dbc, ebc, cbc])));\n }\n function oXc() {\n oXc = ccb;\n nXc = as((iXc(), OC(GC(a_, 1), Kie, 340, 0, [hXc, fXc, gXc, eXc])));\n }\n function Fjc() {\n Fjc = ccb;\n Ejc = as((Ajc(), OC(GC(mV, 1), Kie, 411, 0, [wjc, xjc, yjc, zjc])));\n }\n function Pzc() {\n Pzc = ccb;\n Ozc = as((Izc(), OC(GC($W, 1), Kie, 197, 0, [Gzc, Hzc, Fzc, Ezc])));\n }\n function ugd() {\n ugd = ccb;\n tgd = as((pgd(), OC(GC(k2, 1), Kie, 396, 0, [mgd, ngd, lgd, ogd])));\n }\n function xbd() {\n xbd = ccb;\n wbd = as((rbd(), OC(GC(A1, 1), Kie, 285, 0, [qbd, nbd, obd, pbd])));\n }\n function Fad() {\n Fad = ccb;\n Ead = as((Aad(), OC(GC(v1, 1), Kie, 218, 0, [zad, xad, wad, yad])));\n }\n function Ied() {\n Ied = ccb;\n Hed = as((Ded(), OC(GC(O1, 1), Kie, 311, 0, [Ced, zed, Bed, Aed])));\n }\n function ydd() {\n ydd = ccb;\n xdd = as((tdd(), OC(GC(I1, 1), Kie, 374, 0, [rdd, sdd, qdd, pdd])));\n }\n function A9d() {\n A9d = ccb;\n Smd();\n x9d = Pje;\n w9d = Qje;\n z9d = new Ndb(Pje);\n y9d = new Ndb(Qje);\n }\n function _qc() {\n _qc = ccb;\n $qc = new arc(ane, 0);\n Zqc = new arc(\"IMPROVE_STRAIGHTNESS\", 1);\n }\n function eIc(a, b) {\n FHc();\n return Ekb(a, new vgd(b, meb(b.e.c.length + b.g.c.length)));\n }\n function gIc(a, b) {\n FHc();\n return Ekb(a, new vgd(b, meb(b.e.c.length + b.g.c.length)));\n }\n function PC(a, b) {\n HC(b) != 10 && OC(rb(b), b.hm, b.__elementTypeId$, HC(b), a);\n return a;\n }\n function Lkb(a, b) {\n var c2;\n c2 = Jkb(a, b, 0);\n if (c2 == -1) {\n return false;\n }\n Kkb(a, c2);\n return true;\n }\n function Zrb(a, b) {\n var c2;\n c2 = BD(Thb(a.e, b), 387);\n if (c2) {\n jsb(c2);\n return c2.e;\n }\n return null;\n }\n function Jbb(a) {\n var b;\n if (Fbb(a)) {\n b = 0 - a;\n if (!isNaN(b)) {\n return b;\n }\n }\n return zbb(hD(a));\n }\n function Jkb(a, b, c2) {\n for (; c2 < a.c.length; ++c2) {\n if (wtb(b, a.c[c2])) {\n return c2;\n }\n }\n return -1;\n }\n function SAb(a, b, c2) {\n var d;\n Tzb(a);\n d = new NBb();\n d.a = b;\n a.a.Nb(new VBb(d, c2));\n return d.a;\n }\n function aAb(a) {\n var b;\n Tzb(a);\n b = KC(UD, Vje, 25, 0, 15, 1);\n _ub(a.a, new kAb(b));\n return b;\n }\n function ajc(a) {\n var b, c2;\n c2 = BD(Ikb(a.j, 0), 11);\n b = BD(vNb(c2, (wtc(), $sc)), 11);\n return b;\n }\n function yc(a) {\n var b;\n if (!xc(a)) {\n throw vbb(new utb());\n }\n a.e = 1;\n b = a.d;\n a.d = null;\n return b;\n }\n function wu(a, b) {\n var c2;\n this.f = a;\n this.b = b;\n c2 = BD(Ohb(a.b, b), 283);\n this.c = !c2 ? null : c2.b;\n }\n function Ygc() {\n Hgc();\n this.b = new Lqb();\n this.f = new Lqb();\n this.g = new Lqb();\n this.e = new Lqb();\n }\n function Tnc(a, b) {\n this.a = KC(OQ, kne, 10, a.a.c.length, 0, 1);\n Qkb(a.a, this.a);\n this.b = b;\n }\n function zoc(a) {\n var b;\n for (b = a.p + 1; b < a.c.a.c.length; ++b) {\n --BD(Ikb(a.c.a, b), 10).p;\n }\n }\n function Rwd(a) {\n var b;\n b = a.Ai();\n b != null && a.d != -1 && BD(b, 92).Ng(a);\n !!a.i && a.i.Fi();\n }\n function rFd(a) {\n Py(this);\n this.g = !a ? null : Wy(a, a.$d());\n this.f = a;\n Ry(this);\n this._d();\n }\n function pSd(a, b, c2, d, e, f2, g) {\n nxd.call(this, b, d, e, f2, g);\n this.c = a;\n this.b = c2;\n }\n function Ayb(a, b, c2, d, e) {\n uCb(a);\n uCb(b);\n uCb(c2);\n uCb(d);\n uCb(e);\n return new Lyb(a, b, d);\n }\n function B2c(a, b) {\n if (b < 0) {\n throw vbb(new qcb(ese + b));\n }\n A2c(a, b + 1);\n return Ikb(a.j, b);\n }\n function Ob(a, b, c2, d) {\n if (!a) {\n throw vbb(new Wdb(hc(b, OC(GC(SI, 1), Uhe, 1, 5, [c2, d]))));\n }\n }\n function dDb(a, b) {\n return wtb(b, Ikb(a.f, 0)) || wtb(b, Ikb(a.f, 1)) || wtb(b, Ikb(a.f, 2));\n }\n function ghd(a, b) {\n ecd(BD(BD(a.f, 33).We((Y9c(), t9c)), 98)) && NCd(Yod(BD(a.f, 33)), b);\n }\n function p1d(a, b) {\n var c2, d;\n c2 = BD(b, 675);\n d = c2.Oh();\n !d && c2.Rh(d = new Y1d(a, b));\n return d;\n }\n function q1d(a, b) {\n var c2, d;\n c2 = BD(b, 677);\n d = c2.pk();\n !d && c2.tk(d = new j2d(a, b));\n return d;\n }\n function QSd(a) {\n if (!a.b) {\n a.b = new UTd(a, j5, a);\n !a.a && (a.a = new fTd(a, a));\n }\n return a.b;\n }\n function yTb() {\n yTb = ccb;\n wTb = new zTb(\"XY\", 0);\n vTb = new zTb(\"X\", 1);\n xTb = new zTb(\"Y\", 2);\n }\n function EIb() {\n EIb = ccb;\n DIb = new FIb(\"TOP\", 0);\n CIb = new FIb(gle, 1);\n BIb = new FIb(mle, 2);\n }\n function esc() {\n esc = ccb;\n csc = new fsc(ane, 0);\n dsc = new fsc(\"TOP\", 1);\n bsc = new fsc(mle, 2);\n }\n function BAc() {\n BAc = ccb;\n zAc = new CAc(\"INPUT_ORDER\", 0);\n AAc = new CAc(\"PORT_DEGREE\", 1);\n }\n function wD() {\n wD = ccb;\n sD = TC(Eje, Eje, 524287);\n tD = TC(0, 0, Gje);\n uD = RC(1);\n RC(2);\n vD = RC(0);\n }\n function WDc(a, b, c2) {\n a.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n $Dc(a, b, c2);\n a.a.c.length == 0 || TDc(a, b);\n }\n function rfb(a) {\n var b, c2;\n c2 = a.length;\n b = KC(TD, $ie, 25, c2, 15, 1);\n ffb(a, 0, c2, b, 0);\n return b;\n }\n function Aid(a) {\n var b;\n if (!a.dh()) {\n b = aLd(a.Tg()) - a.Ah();\n a.ph().bk(b);\n }\n return a.Pg();\n }\n function xjd(a) {\n var b;\n b = CD(Ajd(a, 32));\n if (b == null) {\n yjd(a);\n b = CD(Ajd(a, 32));\n }\n return b;\n }\n function iid(a, b) {\n var c2;\n c2 = bLd(a.d, b);\n return c2 >= 0 ? fid(a, c2, true, true) : sid(a, b, true);\n }\n function vgc(a, b) {\n qgc();\n var c2, d;\n c2 = ugc(a);\n d = ugc(b);\n return !!c2 && !!d && !omb(c2.k, d.k);\n }\n function Gqd(a, b) {\n dld(a, b == null || Ldb((uCb(b), b)) || isNaN((uCb(b), b)) ? 0 : (uCb(b), b));\n }\n function Hqd(a, b) {\n eld(a, b == null || Ldb((uCb(b), b)) || isNaN((uCb(b), b)) ? 0 : (uCb(b), b));\n }\n function Iqd(a, b) {\n cld(a, b == null || Ldb((uCb(b), b)) || isNaN((uCb(b), b)) ? 0 : (uCb(b), b));\n }\n function Jqd(a, b) {\n ald(a, b == null || Ldb((uCb(b), b)) || isNaN((uCb(b), b)) ? 0 : (uCb(b), b));\n }\n function agd(a) {\n (!this.q ? (mmb(), mmb(), kmb) : this.q).Ac(!a.q ? (mmb(), mmb(), kmb) : a.q);\n }\n function S2d(a, b) {\n return JD(b, 99) && (BD(b, 18).Bb & Tje) != 0 ? new s4d(b, a) : new p4d(b, a);\n }\n function U2d(a, b) {\n return JD(b, 99) && (BD(b, 18).Bb & Tje) != 0 ? new s4d(b, a) : new p4d(b, a);\n }\n function INb(a, b) {\n HNb = new tOb();\n FNb = b;\n GNb = a;\n BD(GNb.b, 65);\n KNb(GNb, HNb, null);\n JNb(GNb);\n }\n function uud(a, b, c2) {\n var d;\n d = a.g[b];\n mud(a, b, a.oi(b, c2));\n a.gi(b, c2, d);\n a.ci();\n return d;\n }\n function Ftd(a, b) {\n var c2;\n c2 = a.Xc(b);\n if (c2 >= 0) {\n a.$c(c2);\n return true;\n } else {\n return false;\n }\n }\n function YId(a) {\n var b;\n if (a.d != a.r) {\n b = wId(a);\n a.e = !!b && b.Cj() == Bve;\n a.d = b;\n }\n return a.e;\n }\n function fr(a, b) {\n var c2;\n Qb(a);\n Qb(b);\n c2 = false;\n while (b.Ob()) {\n c2 = c2 | a.Fc(b.Pb());\n }\n return c2;\n }\n function Wrb(a, b) {\n var c2;\n c2 = BD(Ohb(a.e, b), 387);\n if (c2) {\n Yrb(a, c2);\n return c2.e;\n }\n return null;\n }\n function UA(a) {\n var b, c2;\n b = a / 60 | 0;\n c2 = a % 60;\n if (c2 == 0) {\n return \"\" + b;\n }\n return \"\" + b + \":\" + (\"\" + c2);\n }\n function LAb(a, b) {\n var c2, d;\n Uzb(a);\n d = new IBb(b, a.a);\n c2 = new fBb(d);\n return new YAb(a, c2);\n }\n function tB(d, a) {\n var b = d.a[a];\n var c2 = (rC(), qC)[typeof b];\n return c2 ? c2(b) : xC(typeof b);\n }\n function yzc(a) {\n switch (a.g) {\n case 0:\n return Ohe;\n case 1:\n return -1;\n default:\n return 0;\n }\n }\n function oD(a) {\n if (eD(a, (wD(), vD)) < 0) {\n return -aD(hD(a));\n }\n return a.l + a.m * Hje + a.h * Ije;\n }\n function HC(a) {\n return a.__elementTypeCategory$ == null ? 10 : a.__elementTypeCategory$;\n }\n function dub(a) {\n var b;\n b = a.b.c.length == 0 ? null : Ikb(a.b, 0);\n b != null && fub(a, 0);\n return b;\n }\n function uA(a, b) {\n while (b[0] < a.length && hfb(\" \t\\r\\n\", wfb(bfb(a, b[0]))) >= 0) {\n ++b[0];\n }\n }\n function sgb(a, b) {\n this.e = b;\n this.a = vgb(a);\n this.a < 54 ? this.f = Sbb(a) : this.c = ghb(a);\n }\n function vge(a, b, c2, d) {\n wfe();\n xfe.call(this, 26);\n this.c = a;\n this.a = b;\n this.d = c2;\n this.b = d;\n }\n function EA(a, b, c2) {\n var d, e;\n d = 10;\n for (e = 0; e < c2 - 1; e++) {\n b < d && (a.a += \"0\", a);\n d *= 10;\n }\n a.a += b;\n }\n function Hhe(a, b) {\n var c2;\n c2 = 0;\n while (a.e != a.i.gc()) {\n Qrd(b, Dyd(a), meb(c2));\n c2 != Ohe && ++c2;\n }\n }\n function xHc(a, b) {\n var c2;\n ++a.d;\n ++a.c[b];\n c2 = b + 1;\n while (c2 < a.a.length) {\n ++a.a[c2];\n c2 += c2 & -c2;\n }\n }\n function Qgc(a, b) {\n var c2, d, e;\n e = b.c.i;\n c2 = BD(Ohb(a.f, e), 57);\n d = c2.d.c - c2.e.c;\n p7c(b.a, d, 0);\n }\n function Scb(a) {\n var b, c2;\n b = a + 128;\n c2 = (Ucb(), Tcb)[b];\n !c2 && (c2 = Tcb[b] = new Mcb(a));\n return c2;\n }\n function es(a, b) {\n var c2;\n uCb(b);\n c2 = a[\":\" + b];\n nCb(!!c2, OC(GC(SI, 1), Uhe, 1, 5, [b]));\n return c2;\n }\n function Mz(a) {\n var b, c2;\n if (a.b) {\n c2 = null;\n do {\n b = a.b;\n a.b = null;\n c2 = Pz(b, c2);\n } while (a.b);\n a.b = c2;\n }\n }\n function Lz(a) {\n var b, c2;\n if (a.a) {\n c2 = null;\n do {\n b = a.a;\n a.a = null;\n c2 = Pz(b, c2);\n } while (a.a);\n a.a = c2;\n }\n }\n function Dqb(a) {\n var b;\n ++a.a;\n for (b = a.c.a.length; a.a < b; ++a.a) {\n if (a.c.b[a.a]) {\n return;\n }\n }\n }\n function S9b(a, b) {\n var c2, d;\n d = b.c;\n for (c2 = d + 1; c2 <= b.f; c2++) {\n a.a[c2] > a.a[d] && (d = c2);\n }\n return d;\n }\n function fic(a, b) {\n var c2;\n c2 = Jy(a.e.c, b.e.c);\n if (c2 == 0) {\n return Kdb(a.e.d, b.e.d);\n }\n return c2;\n }\n function Ogb(a, b) {\n if (b.e == 0) {\n return Ggb;\n }\n if (a.e == 0) {\n return Ggb;\n }\n return Dhb(), Ehb(a, b);\n }\n function nCb(a, b) {\n if (!a) {\n throw vbb(new Wdb(DCb(\"Enum constant undefined: %s\", b)));\n }\n }\n function AWb() {\n AWb = ccb;\n xWb = new XWb();\n yWb = new _Wb();\n vWb = new dXb();\n wWb = new hXb();\n zWb = new lXb();\n }\n function UEb() {\n UEb = ccb;\n SEb = new VEb(\"BY_SIZE\", 0);\n TEb = new VEb(\"BY_SIZE_AND_SHAPE\", 1);\n }\n function XRb() {\n XRb = ccb;\n VRb = new YRb(\"EADES\", 0);\n WRb = new YRb(\"FRUCHTERMAN_REINGOLD\", 1);\n }\n function xqc() {\n xqc = ccb;\n vqc = new yqc(\"READING_DIRECTION\", 0);\n wqc = new yqc(\"ROTATION\", 1);\n }\n function uqc() {\n uqc = ccb;\n tqc = as((mqc(), OC(GC(IW, 1), Kie, 335, 0, [iqc, hqc, kqc, lqc, jqc])));\n }\n function bAc() {\n bAc = ccb;\n aAc = as((Vzc(), OC(GC(_W, 1), Kie, 315, 0, [Uzc, Rzc, Szc, Qzc, Tzc])));\n }\n function bkc() {\n bkc = ccb;\n akc = as((Xjc(), OC(GC(uV, 1), Kie, 363, 0, [Tjc, Vjc, Wjc, Ujc, Sjc])));\n }\n function Htc() {\n Htc = ccb;\n Gtc = as((Ctc(), OC(GC(TW, 1), Kie, 163, 0, [Btc, xtc, ytc, ztc, Atc])));\n }\n function S_c() {\n S_c = ccb;\n R_c = as((N_c(), OC(GC(Q_, 1), Kie, 316, 0, [I_c, J_c, M_c, K_c, L_c])));\n }\n function S5c() {\n S5c = ccb;\n R5c = as((N5c(), OC(GC(e1, 1), Kie, 175, 0, [L5c, K5c, I5c, M5c, J5c])));\n }\n function p$c() {\n p$c = ccb;\n o$c = as((k$c(), OC(GC(y_, 1), Kie, 355, 0, [g$c, f$c, i$c, h$c, j$c])));\n }\n function vUb() {\n vUb = ccb;\n uUb = as((qUb(), OC(GC(zP, 1), Kie, 356, 0, [lUb, mUb, nUb, oUb, pUb])));\n }\n function mad() {\n mad = ccb;\n lad = as((ead(), OC(GC(t12, 1), Kie, 103, 0, [cad, bad, aad, _9c, dad])));\n }\n function Ybd() {\n Ybd = ccb;\n Xbd = as((Tbd(), OC(GC(C1, 1), Kie, 249, 0, [Qbd, Sbd, Obd, Pbd, Rbd])));\n }\n function cdd() {\n cdd = ccb;\n bdd = as((Ucd(), OC(GC(F1, 1), bne, 61, 0, [Scd, Acd, zcd, Rcd, Tcd])));\n }\n function _1c(a, b) {\n var c2;\n c2 = BD(Ohb(a.a, b), 134);\n if (!c2) {\n c2 = new zNb();\n Rhb(a.a, b, c2);\n }\n return c2;\n }\n function hoc(a) {\n var b;\n b = BD(vNb(a, (wtc(), usc)), 305);\n if (b) {\n return b.a == a;\n }\n return false;\n }\n function ioc(a) {\n var b;\n b = BD(vNb(a, (wtc(), usc)), 305);\n if (b) {\n return b.i == a;\n }\n return false;\n }\n function Jub(a, b) {\n uCb(b);\n Iub(a);\n if (a.d.Ob()) {\n b.td(a.d.Pb());\n return true;\n }\n return false;\n }\n function Oy(a) {\n if (ybb(a, Ohe) > 0) {\n return Ohe;\n }\n if (ybb(a, Rie) < 0) {\n return Rie;\n }\n return Tbb(a);\n }\n function Cv(a) {\n if (a < 3) {\n Xj(a, Hie);\n return a + 1;\n }\n if (a < Iie) {\n return QD(a / 0.75 + 1);\n }\n return Ohe;\n }\n function XKd(a, b) {\n var c2;\n c2 = (a.i == null && TKd(a), a.i);\n return b >= 0 && b < c2.length ? c2[b] : null;\n }\n function cC(a, b, c2) {\n var d;\n if (b == null) {\n throw vbb(new Geb());\n }\n d = aC(a, b);\n dC(a, b, c2);\n return d;\n }\n function Emc(a) {\n a.a >= -0.01 && a.a <= ple && (a.a = 0);\n a.b >= -0.01 && a.b <= ple && (a.b = 0);\n return a;\n }\n function sfb(a, b) {\n return b == (ntb(), ntb(), mtb) ? a.toLocaleLowerCase() : a.toLowerCase();\n }\n function idb(a) {\n return ((a.i & 2) != 0 ? \"interface \" : (a.i & 1) != 0 ? \"\" : \"class \") + (fdb(a), a.o);\n }\n function Pnd(a) {\n var b, c2;\n c2 = (b = new SSd(), b);\n wtd((!a.q && (a.q = new cUd(n5, a, 11, 10)), a.q), c2);\n }\n function Pdd(a, b) {\n var c2;\n c2 = b > 0 ? b - 1 : b;\n return Vdd(Wdd(Xdd(Ydd(new Zdd(), c2), a.n), a.j), a.k);\n }\n function u2d(a, b, c2, d) {\n var e;\n a.j = -1;\n Qxd(a, I2d(a, b, c2), (Q6d(), e = BD(b, 66).Mj(), e.Ok(d)));\n }\n function VWb(a) {\n this.g = a;\n this.f = new Rkb();\n this.a = $wnd.Math.min(this.g.c.c, this.g.d.c);\n }\n function mDb(a) {\n this.b = new Rkb();\n this.a = new Rkb();\n this.c = new Rkb();\n this.d = new Rkb();\n this.e = a;\n }\n function Cnc(a, b) {\n this.a = new Lqb();\n this.e = new Lqb();\n this.b = (xzc(), wzc);\n this.c = a;\n this.b = b;\n }\n function bIb(a, b, c2) {\n $Gb.call(this);\n THb(this);\n this.a = a;\n this.c = c2;\n this.b = b.d;\n this.f = b.e;\n }\n function yd(a) {\n this.d = a;\n this.c = a.c.vc().Kc();\n this.b = null;\n this.a = null;\n this.e = (hs(), gs);\n }\n function zud(a) {\n if (a < 0) {\n throw vbb(new Wdb(\"Illegal Capacity: \" + a));\n }\n this.g = this.ri(a);\n }\n function avb(a, b) {\n if (0 > a || a > b) {\n throw vbb(new scb(\"fromIndex: 0, toIndex: \" + a + oke + b));\n }\n }\n function Gs(a) {\n var b;\n if (a.a == a.b.a) {\n throw vbb(new utb());\n }\n b = a.a;\n a.c = b;\n a.a = a.a.e;\n return b;\n }\n function Zsb(a) {\n var b;\n yCb(!!a.c);\n b = a.c.a;\n Nsb(a.d, a.c);\n a.b == a.c ? a.b = b : --a.a;\n a.c = null;\n }\n function VAb(a, b) {\n var c2;\n Uzb(a);\n c2 = new lBb(a, a.a.rd(), a.a.qd() | 4, b);\n return new YAb(a, c2);\n }\n function ke(a, b) {\n var c2, d;\n c2 = BD(Hv(a.d, b), 14);\n if (!c2) {\n return null;\n }\n d = b;\n return a.e.pc(d, c2);\n }\n function xac(a, b) {\n var c2, d;\n for (d = a.Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 70);\n yNb(c2, (wtc(), Ssc), b);\n }\n }\n function t9b(a) {\n var b;\n b = Edb(ED(vNb(a, (Nyc(), Zwc))));\n if (b < 0) {\n b = 0;\n yNb(a, Zwc, b);\n }\n return b;\n }\n function ifc(a, b, c2) {\n var d;\n d = $wnd.Math.max(0, a.b / 2 - 0.5);\n cfc(c2, d, 1);\n Ekb(b, new rfc(c2, d));\n }\n function NMc(a, b, c2) {\n var d;\n d = a.a.e[BD(b.a, 10).p] - a.a.e[BD(c2.a, 10).p];\n return QD(Eeb(d));\n }\n function iZb(a, b, c2, d, e, f2) {\n var g;\n g = kZb(d);\n QZb(g, e);\n RZb(g, f2);\n Rc(a.a, d, new BZb(g, b, c2.f));\n }\n function Bid(a, b) {\n var c2;\n c2 = YKd(a.Tg(), b);\n if (!c2) {\n throw vbb(new Wdb(ite + b + lte));\n }\n return c2;\n }\n function ntd(a, b) {\n var c2;\n c2 = a;\n while (Xod(c2)) {\n c2 = Xod(c2);\n if (c2 == b) {\n return true;\n }\n }\n return false;\n }\n function Uw(a, b) {\n var c2, d, e;\n d = b.a.cd();\n c2 = BD(b.a.dd(), 14).gc();\n for (e = 0; e < c2; e++) {\n a.td(d);\n }\n }\n function Hkb(a, b) {\n var c2, d, e, f2;\n uCb(b);\n for (d = a.c, e = 0, f2 = d.length; e < f2; ++e) {\n c2 = d[e];\n b.td(c2);\n }\n }\n function Nsb(a, b) {\n var c2;\n c2 = b.c;\n b.a.b = b.b;\n b.b.a = b.a;\n b.a = b.b = null;\n b.c = null;\n --a.b;\n return c2;\n }\n function wqb(a, b) {\n if (!!b && a.b[b.g] == b) {\n NC(a.b, b.g, null);\n --a.c;\n return true;\n }\n return false;\n }\n function lo(a, b) {\n return !!vo(a, b, Tbb(Ibb(Eie, keb(Tbb(Ibb(b == null ? 0 : tb(b), Fie)), 15))));\n }\n function w$b(a, b) {\n ecd(BD(vNb(BD(a.e, 10), (Nyc(), Vxc)), 98)) && (mmb(), Okb(BD(a.e, 10).j, b));\n }\n function THb(a) {\n a.b = (NHb(), KHb);\n a.f = (EIb(), CIb);\n a.d = (Xj(2, Jie), new Skb(2));\n a.e = new d7c();\n }\n function gHb() {\n gHb = ccb;\n dHb = new hHb(\"BEGIN\", 0);\n eHb = new hHb(gle, 1);\n fHb = new hHb(\"END\", 2);\n }\n function qad() {\n qad = ccb;\n nad = new rad(gle, 0);\n oad = new rad(\"HEAD\", 1);\n pad2 = new rad(\"TAIL\", 2);\n }\n function Fsd() {\n Csd();\n return OC(GC(O3, 1), Kie, 237, 0, [Bsd, ysd, zsd, xsd, Asd, vsd, usd, wsd]);\n }\n function c6c() {\n _5c();\n return OC(GC(f1, 1), Kie, 277, 0, [$5c, T5c, X5c, Z5c, U5c, V5c, W5c, Y5c]);\n }\n function Dlc() {\n Alc();\n return OC(GC(KV, 1), Kie, 270, 0, [tlc, wlc, slc, zlc, vlc, ulc, ylc, xlc]);\n }\n function nAc() {\n kAc();\n return OC(GC(aX, 1), Kie, 260, 0, [iAc, dAc, gAc, eAc, fAc, cAc, hAc, jAc]);\n }\n function kcd() {\n kcd = ccb;\n jcd = as((dcd(), OC(GC(D1, 1), Kie, 98, 0, [ccd, bcd, acd, Zbd, _bd, $bd])));\n }\n function tHb() {\n tHb = ccb;\n sHb = (gHb(), OC(GC(pN, 1), Kie, 232, 0, [dHb, eHb, fHb])).length;\n rHb = sHb;\n }\n function wed(a) {\n this.b = (Qb(a), new Tkb(a));\n this.a = new Rkb();\n this.d = new Rkb();\n this.e = new d7c();\n }\n function W6c(a) {\n var b;\n b = $wnd.Math.sqrt(a.a * a.a + a.b * a.b);\n if (b > 0) {\n a.a /= b;\n a.b /= b;\n }\n return a;\n }\n function bKd(a) {\n var b;\n if (a.w) {\n return a.w;\n } else {\n b = cKd(a);\n !!b && !b.kh() && (a.w = b);\n return b;\n }\n }\n function gZd(a) {\n var b;\n if (a == null) {\n return null;\n } else {\n b = BD(a, 190);\n return Umd(b, b.length);\n }\n }\n function qud(a, b) {\n if (a.g == null || b >= a.i)\n throw vbb(new $zd(b, a.i));\n return a.li(b, a.g[b]);\n }\n function Mmc(a) {\n var b, c2;\n b = a.a.d.j;\n c2 = a.c.d.j;\n while (b != c2) {\n rqb(a.b, b);\n b = Xcd(b);\n }\n rqb(a.b, b);\n }\n function Jmc(a) {\n var b;\n for (b = 0; b < a.c.length; b++) {\n (tCb(b, a.c.length), BD(a.c[b], 11)).p = b;\n }\n }\n function bEc(a, b, c2) {\n var d, e, f2;\n e = b[c2];\n for (d = 0; d < e.length; d++) {\n f2 = e[d];\n a.e[f2.c.p][f2.p] = d;\n }\n }\n function ZEc(a, b) {\n var c2, d, e, f2;\n for (d = a.d, e = 0, f2 = d.length; e < f2; ++e) {\n c2 = d[e];\n REc(a.g, c2).a = b;\n }\n }\n function q7c(a, b) {\n var c2, d;\n for (d = Jsb(a, 0); d.b != d.d.c; ) {\n c2 = BD(Xsb(d), 8);\n P6c(c2, b);\n }\n return a;\n }\n function zUb(a, b) {\n var c2;\n c2 = c7c(R6c(BD(Ohb(a.g, b), 8)), E6c(BD(Ohb(a.f, b), 460).b));\n return c2;\n }\n function lib(a) {\n var b;\n xpb(a.e, a);\n sCb(a.b);\n a.c = a.a;\n b = BD(a.a.Pb(), 42);\n a.b = kib(a);\n return b;\n }\n function CD(a) {\n var b;\n CCb(a == null || Array.isArray(a) && (b = HC(a), !(b >= 14 && b <= 16)));\n return a;\n }\n function dcb(a, b, c2) {\n var d = function() {\n return a.apply(d, arguments);\n };\n b.apply(d, c2);\n return d;\n }\n function TLc(a, b, c2) {\n var d, e;\n d = b;\n do {\n e = Edb(a.p[d.p]) + c2;\n a.p[d.p] = e;\n d = a.a[d.p];\n } while (d != b);\n }\n function NQd(a, b) {\n var c2, d;\n d = a.a;\n c2 = OQd(a, b, null);\n d != b && !a.e && (c2 = QQd(a, b, c2));\n !!c2 && c2.Fi();\n }\n function ADb(a, b) {\n return Iy(), My(Qie), $wnd.Math.abs(a - b) <= Qie || a == b || isNaN(a) && isNaN(b);\n }\n function Ky(a, b) {\n Iy();\n My(Qie);\n return $wnd.Math.abs(a - b) <= Qie || a == b || isNaN(a) && isNaN(b);\n }\n function Akc(a, b) {\n gkc();\n return beb(a.b.c.length - a.e.c.length, b.b.c.length - b.e.c.length);\n }\n function oo(a, b) {\n return Kv(uo(a, b, Tbb(Ibb(Eie, keb(Tbb(Ibb(b == null ? 0 : tb(b), Fie)), 15)))));\n }\n function o0b() {\n o0b = ccb;\n n0b = as((j0b(), OC(GC(NQ, 1), Kie, 267, 0, [h0b, g0b, e0b, i0b, f0b, d0b])));\n }\n function n8c() {\n n8c = ccb;\n m8c = as((i8c(), OC(GC(r1, 1), Kie, 291, 0, [h8c, g8c, f8c, d8c, c8c, e8c])));\n }\n function K7c() {\n K7c = ccb;\n J7c = as((F7c(), OC(GC(o1, 1), Kie, 248, 0, [z7c, C7c, D7c, E7c, A7c, B7c])));\n }\n function Fpc() {\n Fpc = ccb;\n Epc = as((Apc(), OC(GC(EW, 1), Kie, 227, 0, [wpc, ypc, vpc, xpc, zpc, upc])));\n }\n function Drc() {\n Drc = ccb;\n Crc = as((yrc(), OC(GC(OW, 1), Kie, 275, 0, [wrc, trc, xrc, vrc, urc, rrc])));\n }\n function qrc() {\n qrc = ccb;\n prc = as((lrc(), OC(GC(NW, 1), Kie, 274, 0, [irc, hrc, krc, grc, jrc, frc])));\n }\n function tzc() {\n tzc = ccb;\n szc = as((lzc(), OC(GC(YW, 1), Kie, 313, 0, [jzc, hzc, fzc, gzc, kzc, izc])));\n }\n function Yqc() {\n Yqc = ccb;\n Xqc = as((Sqc(), OC(GC(LW, 1), Kie, 276, 0, [Nqc, Mqc, Pqc, Oqc, Rqc, Qqc])));\n }\n function wSc() {\n wSc = ccb;\n vSc = as((qSc(), OC(GC(t$, 1), Kie, 327, 0, [pSc, lSc, nSc, mSc, oSc, kSc])));\n }\n function ycd() {\n ycd = ccb;\n xcd = as((rcd(), OC(GC(E1, 1), Kie, 273, 0, [pcd, ncd, ocd, mcd, lcd, qcd])));\n }\n function Rad() {\n Rad = ccb;\n Qad = as((Mad(), OC(GC(w1, 1), Kie, 312, 0, [Kad, Iad, Lad, Gad, Jad, Had])));\n }\n function Lbd() {\n Hbd();\n return OC(GC(B1, 1), Kie, 93, 0, [zbd, ybd, Bbd, Gbd, Fbd, Ebd, Cbd, Dbd, Abd]);\n }\n function vkd(a, b) {\n var c2;\n c2 = a.a;\n a.a = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new lSd(a, 0, c2, a.a));\n }\n function wkd(a, b) {\n var c2;\n c2 = a.b;\n a.b = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new lSd(a, 1, c2, a.b));\n }\n function hmd(a, b) {\n var c2;\n c2 = a.b;\n a.b = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new lSd(a, 3, c2, a.b));\n }\n function ald(a, b) {\n var c2;\n c2 = a.f;\n a.f = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new lSd(a, 3, c2, a.f));\n }\n function cld(a, b) {\n var c2;\n c2 = a.g;\n a.g = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new lSd(a, 4, c2, a.g));\n }\n function dld(a, b) {\n var c2;\n c2 = a.i;\n a.i = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new lSd(a, 5, c2, a.i));\n }\n function eld(a, b) {\n var c2;\n c2 = a.j;\n a.j = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new lSd(a, 6, c2, a.j));\n }\n function omd(a, b) {\n var c2;\n c2 = a.j;\n a.j = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new lSd(a, 1, c2, a.j));\n }\n function imd(a, b) {\n var c2;\n c2 = a.c;\n a.c = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new lSd(a, 4, c2, a.c));\n }\n function pmd(a, b) {\n var c2;\n c2 = a.k;\n a.k = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new lSd(a, 2, c2, a.k));\n }\n function qQd(a, b) {\n var c2;\n c2 = a.d;\n a.d = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new mSd(a, 2, c2, a.d));\n }\n function AId(a, b) {\n var c2;\n c2 = a.s;\n a.s = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new mSd(a, 4, c2, a.s));\n }\n function DId(a, b) {\n var c2;\n c2 = a.t;\n a.t = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new mSd(a, 5, c2, a.t));\n }\n function _Jd(a, b) {\n var c2;\n c2 = a.F;\n a.F = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 5, c2, b));\n }\n function izd(a, b) {\n var c2;\n c2 = BD(Ohb((pEd(), oEd), a), 55);\n return c2 ? c2.xj(b) : KC(SI, Uhe, 1, b, 5, 1);\n }\n function Xpd(a, b) {\n var c2, d;\n c2 = b in a.a;\n if (c2) {\n d = aC(a, b).he();\n if (d) {\n return d.a;\n }\n }\n return null;\n }\n function ftd(a, b) {\n var c2, d, e;\n c2 = (d = (Fhd(), e = new Jod(), e), !!b && God(d, b), d);\n Hod(c2, a);\n return c2;\n }\n function LLd(a, b, c2) {\n Itd(a, c2);\n if (!a.Bk() && c2 != null && !a.wj(c2)) {\n throw vbb(new tcb());\n }\n return c2;\n }\n function Xdd(a, b) {\n a.n = b;\n if (a.n) {\n a.f = new Rkb();\n a.e = new Rkb();\n } else {\n a.f = null;\n a.e = null;\n }\n return a;\n }\n function ndb(a, b, c2, d, e, f2) {\n var g;\n g = ldb(a, b);\n zdb(c2, g);\n g.i = e ? 8 : 0;\n g.f = d;\n g.e = e;\n g.g = f2;\n return g;\n }\n function rSd(a, b, c2, d, e) {\n this.d = b;\n this.k = d;\n this.f = e;\n this.o = -1;\n this.p = 1;\n this.c = a;\n this.a = c2;\n }\n function tSd(a, b, c2, d, e) {\n this.d = b;\n this.k = d;\n this.f = e;\n this.o = -1;\n this.p = 2;\n this.c = a;\n this.a = c2;\n }\n function BSd(a, b, c2, d, e) {\n this.d = b;\n this.k = d;\n this.f = e;\n this.o = -1;\n this.p = 6;\n this.c = a;\n this.a = c2;\n }\n function GSd(a, b, c2, d, e) {\n this.d = b;\n this.k = d;\n this.f = e;\n this.o = -1;\n this.p = 7;\n this.c = a;\n this.a = c2;\n }\n function xSd(a, b, c2, d, e) {\n this.d = b;\n this.j = d;\n this.e = e;\n this.o = -1;\n this.p = 4;\n this.c = a;\n this.a = c2;\n }\n function rDb(a, b) {\n var c2, d, e, f2;\n for (d = b, e = 0, f2 = d.length; e < f2; ++e) {\n c2 = d[e];\n nDb(a.a, c2);\n }\n return a;\n }\n function pl(a) {\n var b, c2, d, e;\n for (c2 = a, d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n Qb(b);\n }\n return new vl(a);\n }\n function Uz(a) {\n var b = /function(?:\\s+([\\w$]+))?\\s*\\(/;\n var c2 = b.exec(a);\n return c2 && c2[1] || Xie;\n }\n function zdb(a, b) {\n if (!a) {\n return;\n }\n b.n = a;\n var d = tdb(b);\n if (!d) {\n _bb[a] = [b];\n return;\n }\n d.gm = b;\n }\n function vlb(a, b, c2) {\n var d, e;\n e = a.length;\n d = $wnd.Math.min(c2, e);\n $Bb(a, 0, b, 0, d, true);\n return b;\n }\n function RPb(a, b, c2) {\n var d, e;\n for (e = b.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 79);\n Qqb(a, BD(c2.Kb(d), 33));\n }\n }\n function Xbb() {\n Ybb();\n var a = Wbb;\n for (var b = 0; b < arguments.length; b++) {\n a.push(arguments[b]);\n }\n }\n function n7c(a, b) {\n var c2, d, e, f2;\n for (d = b, e = 0, f2 = d.length; e < f2; ++e) {\n c2 = d[e];\n Gsb(a, c2, a.c.b, a.c);\n }\n }\n function s$c(a, b) {\n a.b = $wnd.Math.max(a.b, b.d);\n a.e += b.r + (a.a.c.length == 0 ? 0 : a.c);\n Ekb(a.a, b);\n }\n function wkb(a) {\n yCb(a.c >= 0);\n if (ekb(a.d, a.c) < 0) {\n a.a = a.a - 1 & a.d.a.length - 1;\n a.b = a.d.c;\n }\n a.c = -1;\n }\n function pgb(a) {\n if (a.a < 54) {\n return a.f < 0 ? -1 : a.f > 0 ? 1 : 0;\n }\n return (!a.c && (a.c = fhb(a.f)), a.c).e;\n }\n function My(a) {\n if (!(a >= 0)) {\n throw vbb(new Wdb(\"tolerance (\" + a + \") must be >= 0\"));\n }\n return a;\n }\n function n4c() {\n if (!f4c) {\n f4c = new m4c();\n l4c(f4c, OC(GC(C0, 1), Uhe, 130, 0, [new Z9c()]));\n }\n return f4c;\n }\n function KAc() {\n KAc = ccb;\n JAc = new LAc(ole, 0);\n HAc = new LAc(\"INPUT\", 1);\n IAc = new LAc(\"OUTPUT\", 2);\n }\n function bqc() {\n bqc = ccb;\n $pc = new cqc(\"ARD\", 0);\n aqc = new cqc(\"MSD\", 1);\n _pc = new cqc(\"MANUAL\", 2);\n }\n function rGc() {\n rGc = ccb;\n oGc = new sGc(\"BARYCENTER\", 0);\n pGc = new sGc(Bne, 1);\n qGc = new sGc(Cne, 2);\n }\n function ztd(a, b) {\n var c2;\n c2 = a.gc();\n if (b < 0 || b > c2)\n throw vbb(new Cyd(b, c2));\n return new czd(a, b);\n }\n function JAd(a, b) {\n var c2;\n if (JD(b, 42)) {\n return a.c.Mc(b);\n } else {\n c2 = qAd(a, b);\n LAd(a, b);\n return c2;\n }\n }\n function $nd(a, b, c2) {\n yId(a, b);\n pnd(a, c2);\n AId(a, 0);\n DId(a, 1);\n CId(a, true);\n BId(a, true);\n return a;\n }\n function Xj(a, b) {\n if (a < 0) {\n throw vbb(new Wdb(b + \" cannot be negative but was: \" + a));\n }\n return a;\n }\n function Bt(a, b) {\n var c2, d;\n for (c2 = 0, d = a.gc(); c2 < d; ++c2) {\n if (wtb(b, a.Xb(c2))) {\n return c2;\n }\n }\n return -1;\n }\n function Nc(a) {\n var b, c2;\n for (c2 = a.c.Cc().Kc(); c2.Ob(); ) {\n b = BD(c2.Pb(), 14);\n b.$b();\n }\n a.c.$b();\n a.d = 0;\n }\n function Ri(a) {\n var b, c2, d, e;\n for (c2 = a.a, d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n Flb(b, b.length, null);\n }\n }\n function ieb(a) {\n var b, c2;\n if (a == 0) {\n return 32;\n } else {\n c2 = 0;\n for (b = 1; (b & a) == 0; b <<= 1) {\n ++c2;\n }\n return c2;\n }\n }\n function NGb(a) {\n var b, c2;\n for (c2 = new olb(ahd(a)); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 680);\n b.Gf();\n }\n }\n function CUb(a) {\n xUb();\n this.g = new Lqb();\n this.f = new Lqb();\n this.b = new Lqb();\n this.c = new Hp();\n this.i = a;\n }\n function XZb() {\n this.f = new d7c();\n this.d = new s0b();\n this.c = new d7c();\n this.a = new Rkb();\n this.b = new Rkb();\n }\n function c6d(a, b, c2, d) {\n this.rj();\n this.a = b;\n this.b = a;\n this.c = null;\n this.c = new d6d(this, b, c2, d);\n }\n function nxd(a, b, c2, d, e) {\n this.d = a;\n this.n = b;\n this.g = c2;\n this.o = d;\n this.p = -1;\n e || (this.o = -2 - d - 1);\n }\n function hJd() {\n FId.call(this);\n this.n = -1;\n this.g = null;\n this.i = null;\n this.j = null;\n this.Bb |= zte;\n }\n function Ldd() {\n Idd();\n return OC(GC(J1, 1), Kie, 259, 0, [Bdd, Ddd, Add, Edd, Fdd, Hdd, Gdd, Cdd, zdd]);\n }\n function uFb() {\n rFb();\n return OC(GC(dN, 1), Kie, 250, 0, [qFb, lFb, mFb, kFb, oFb, pFb, nFb, jFb, iFb]);\n }\n function qeb() {\n qeb = ccb;\n peb = OC(GC(WD, 1), oje, 25, 15, [0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15]);\n }\n function vCc() {\n vCc = ccb;\n uCc = e3c(e3c(e3c(new j3c(), (qUb(), lUb), (S8b(), Z7b)), mUb, w8b), nUb, v8b);\n }\n function VCc() {\n VCc = ccb;\n UCc = e3c(e3c(e3c(new j3c(), (qUb(), lUb), (S8b(), Z7b)), mUb, w8b), nUb, v8b);\n }\n function rDc() {\n rDc = ccb;\n qDc = e3c(e3c(e3c(new j3c(), (qUb(), lUb), (S8b(), Z7b)), mUb, w8b), nUb, v8b);\n }\n function yFc() {\n yFc = ccb;\n xFc = c3c(e3c(e3c(new j3c(), (qUb(), nUb), (S8b(), z8b)), oUb, p8b), pUb, y8b);\n }\n function Rpc() {\n Rpc = ccb;\n Ppc = new Tpc(\"LAYER_SWEEP\", 0);\n Opc = new Tpc(Tne, 1);\n Qpc = new Tpc(ane, 2);\n }\n function RLc(a, b) {\n var c2, d;\n c2 = a.c;\n d = b.e[a.p];\n if (d > 0) {\n return BD(Ikb(c2.a, d - 1), 10);\n }\n return null;\n }\n function Lkd(a, b) {\n var c2;\n c2 = a.k;\n a.k = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 2, c2, a.k));\n }\n function kmd(a, b) {\n var c2;\n c2 = a.f;\n a.f = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 8, c2, a.f));\n }\n function lmd(a, b) {\n var c2;\n c2 = a.i;\n a.i = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 7, c2, a.i));\n }\n function Hod(a, b) {\n var c2;\n c2 = a.a;\n a.a = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 8, c2, a.a));\n }\n function zpd(a, b) {\n var c2;\n c2 = a.b;\n a.b = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 0, c2, a.b));\n }\n function UUd(a, b) {\n var c2;\n c2 = a.b;\n a.b = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 0, c2, a.b));\n }\n function VUd(a, b) {\n var c2;\n c2 = a.c;\n a.c = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 1, c2, a.c));\n }\n function Apd(a, b) {\n var c2;\n c2 = a.c;\n a.c = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 1, c2, a.c));\n }\n function pQd(a, b) {\n var c2;\n c2 = a.c;\n a.c = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 4, c2, a.c));\n }\n function PHd(a, b) {\n var c2;\n c2 = a.d;\n a.d = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 1, c2, a.d));\n }\n function jKd(a, b) {\n var c2;\n c2 = a.D;\n a.D = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 2, c2, a.D));\n }\n function Rdd(a, b) {\n if (a.r > 0 && a.c < a.r) {\n a.c += b;\n !!a.i && a.i.d > 0 && a.g != 0 && Rdd(a.i, b / a.r * a.i.d);\n }\n }\n function dge(a, b, c2) {\n var d;\n a.b = b;\n a.a = c2;\n d = (a.a & 512) == 512 ? new hee() : new ude();\n a.c = ode(d, a.b, a.a);\n }\n function g3d(a, b) {\n return T6d(a.e, b) ? (Q6d(), YId(b) ? new R7d(b, a) : new f7d(b, a)) : new c8d(b, a);\n }\n function _o(a, b) {\n return Fv(vo(a.a, b, Tbb(Ibb(Eie, keb(Tbb(Ibb(b == null ? 0 : tb(b), Fie)), 15)))));\n }\n function Nyb(a, b, c2) {\n return Ayb(a, new Kzb(b), new Mzb(), new Ozb(c2), OC(GC(xL, 1), Kie, 132, 0, []));\n }\n function pAb(a) {\n var b, c2;\n if (0 > a) {\n return new yAb();\n }\n b = a + 1;\n c2 = new rAb(b, a);\n return new vAb(null, c2);\n }\n function umb(a, b) {\n mmb();\n var c2;\n c2 = new Mqb(1);\n ND(a) ? Shb(c2, a, b) : jrb(c2.f, a, b);\n return new iob(c2);\n }\n function aMb(a, b) {\n var c2, d;\n c2 = a.o + a.p;\n d = b.o + b.p;\n if (c2 < d) {\n return -1;\n }\n if (c2 == d) {\n return 0;\n }\n return 1;\n }\n function P2b(a) {\n var b;\n b = vNb(a, (wtc(), $sc));\n if (JD(b, 160)) {\n return O2b(BD(b, 160));\n }\n return null;\n }\n function Kp(a) {\n var b;\n a = $wnd.Math.max(a, 2);\n b = geb(a);\n if (a > b) {\n b <<= 1;\n return b > 0 ? b : Iie;\n }\n return b;\n }\n function xc(a) {\n Ub(a.e != 3);\n switch (a.e) {\n case 2:\n return false;\n case 0:\n return true;\n }\n return zc(a);\n }\n function T6c(a, b) {\n var c2;\n if (JD(b, 8)) {\n c2 = BD(b, 8);\n return a.a == c2.a && a.b == c2.b;\n } else {\n return false;\n }\n }\n function _Mb(a, b, c2) {\n var d, e, f2;\n f2 = b >> 5;\n e = b & 31;\n d = xbb(Pbb(a.n[c2][f2], Tbb(Nbb(e, 1))), 3);\n return d;\n }\n function IAd(a, b) {\n var c2, d;\n for (d = b.vc().Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 42);\n HAd(a, c2.cd(), c2.dd());\n }\n }\n function N1c(a, b) {\n var c2;\n c2 = new tOb();\n BD(b.b, 65);\n BD(b.b, 65);\n BD(b.b, 65);\n Hkb(b.a, new T1c(a, c2, b));\n }\n function DUd(a, b) {\n var c2;\n c2 = a.b;\n a.b = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 21, c2, a.b));\n }\n function jmd(a, b) {\n var c2;\n c2 = a.d;\n a.d = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 11, c2, a.d));\n }\n function _Id(a, b) {\n var c2;\n c2 = a.j;\n a.j = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 13, c2, a.j));\n }\n function $jb(a, b, c2) {\n var d, e, f2;\n f2 = a.a.length - 1;\n for (e = a.b, d = 0; d < c2; e = e + 1 & f2, ++d) {\n NC(b, d, a.a[e]);\n }\n }\n function rqb(a, b) {\n var c2;\n uCb(b);\n c2 = b.g;\n if (!a.b[c2]) {\n NC(a.b, c2, b);\n ++a.c;\n return true;\n }\n return false;\n }\n function eub(a, b) {\n var c2;\n c2 = b == null ? -1 : Jkb(a.b, b, 0);\n if (c2 < 0) {\n return false;\n }\n fub(a, c2);\n return true;\n }\n function fub(a, b) {\n var c2;\n c2 = Kkb(a.b, a.b.c.length - 1);\n if (b < a.b.c.length) {\n Nkb(a.b, b, c2);\n bub(a, b);\n }\n }\n function eyb(a, b) {\n ((oyb(), lyb) ? null : b.c).length == 0 && qyb(b, new zyb());\n Shb(a.a, lyb ? null : b.c, b);\n }\n function M5b(a, b) {\n Odd(b, \"Hierarchical port constraint processing\", 1);\n N5b(a);\n P5b(a);\n Qdd(b);\n }\n function GOb(a, b) {\n var c2, d;\n for (d = b.Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 266);\n a.b = true;\n Qqb(a.e, c2);\n c2.b = a;\n }\n }\n function Owb(a, b) {\n var c2, d;\n c2 = 1 - b;\n d = a.a[c2];\n a.a[c2] = d.a[b];\n d.a[b] = a;\n a.b = true;\n d.b = false;\n return d;\n }\n function Gec(a, b) {\n var c2, d;\n c2 = BD(vNb(a, (Nyc(), ayc)), 8);\n d = BD(vNb(b, ayc), 8);\n return Kdb(c2.b, d.b);\n }\n function jfc(a) {\n oEb.call(this);\n this.b = Edb(ED(vNb(a, (Nyc(), lyc))));\n this.a = BD(vNb(a, Swc), 218);\n }\n function XGc(a, b, c2) {\n uEc.call(this, a, b, c2);\n this.a = new Lqb();\n this.b = new Lqb();\n this.d = new $Gc(this);\n }\n function ku(a) {\n this.e = a;\n this.d = new Uqb(Cv(Ec(this.e).gc()));\n this.c = this.e.a;\n this.b = this.e.c;\n }\n function BHc(a) {\n this.b = a;\n this.a = KC(WD, oje, 25, a + 1, 15, 1);\n this.c = KC(WD, oje, 25, a, 15, 1);\n this.d = 0;\n }\n function THc(a, b, c2) {\n var d;\n d = new Rkb();\n UHc(a, b, d, c2, true, true);\n a.b = new BHc(d.c.length);\n return d;\n }\n function nMc(a, b) {\n var c2;\n c2 = BD(Ohb(a.c, b), 458);\n if (!c2) {\n c2 = new uMc();\n c2.c = b;\n Rhb(a.c, c2.c, c2);\n }\n return c2;\n }\n function $B(e, a) {\n var b = e.a;\n var c2 = 0;\n for (var d in b) {\n b.hasOwnProperty(d) && (a[c2++] = d);\n }\n return a;\n }\n function pRd(a) {\n var b;\n if (a.b == null) {\n return LRd(), LRd(), KRd;\n }\n b = a.Lk() ? a.Kk() : a.Jk();\n return b;\n }\n function r$c(a) {\n var b, c2;\n for (c2 = new Fyd(a); c2.e != c2.i.gc(); ) {\n b = BD(Dyd(c2), 33);\n dld(b, 0);\n eld(b, 0);\n }\n }\n function HSb() {\n HSb = ccb;\n FSb = new Lsd(Ime);\n GSb = new Lsd(Jme);\n ESb = new Lsd(Kme);\n DSb = new Lsd(Lme);\n }\n function y5b() {\n y5b = ccb;\n x5b = new z5b(\"TO_INTERNAL_LTR\", 0);\n w5b = new z5b(\"TO_INPUT_DIRECTION\", 1);\n }\n function PUc() {\n PUc = ccb;\n NUc = new RUc(\"P1_NODE_PLACEMENT\", 0);\n OUc = new RUc(\"P2_EDGE_ROUTING\", 1);\n }\n function Fkc() {\n Fkc = ccb;\n Ekc = new Gkc(\"START\", 0);\n Dkc = new Gkc(\"MIDDLE\", 1);\n Ckc = new Gkc(\"END\", 2);\n }\n function I9b() {\n I9b = ccb;\n H9b = new Msd(\"edgelabelcenterednessanalysis.includelabel\", (Bcb(), zcb));\n }\n function Zyc(a, b) {\n MAb(JAb(new YAb(null, new Kub(new Pib(a.b), 1)), new bfd(a, b)), new ffd(a, b));\n }\n function $Xc() {\n this.c = new jVc(0);\n this.b = new jVc(Tqe);\n this.d = new jVc(Sqe);\n this.a = new jVc(cme);\n }\n function $Fc(a) {\n var b, c2;\n for (c2 = a.c.a.ec().Kc(); c2.Ob(); ) {\n b = BD(c2.Pb(), 214);\n eFc(b, new oHc(b.e));\n }\n }\n function ZFc(a) {\n var b, c2;\n for (c2 = a.c.a.ec().Kc(); c2.Ob(); ) {\n b = BD(c2.Pb(), 214);\n dFc(b, new nHc(b.f));\n }\n }\n function pnd(a, b) {\n var c2;\n c2 = a.zb;\n a.zb = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 1, c2, a.zb));\n }\n function cod(a, b) {\n var c2;\n c2 = a.xb;\n a.xb = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 3, c2, a.xb));\n }\n function dod(a, b) {\n var c2;\n c2 = a.yb;\n a.yb = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 2, c2, a.yb));\n }\n function Knd(a, b) {\n var c2, d;\n c2 = (d = new OJd(), d);\n c2.n = b;\n wtd((!a.s && (a.s = new cUd(t5, a, 21, 17)), a.s), c2);\n }\n function Qnd(a, b) {\n var c2, d;\n d = (c2 = new FUd(), c2);\n d.n = b;\n wtd((!a.s && (a.s = new cUd(t5, a, 21, 17)), a.s), d);\n }\n function ktb(a, b) {\n var c2, d;\n c2 = a.Pc();\n Klb(c2, 0, c2.length, b);\n for (d = 0; d < c2.length; d++) {\n a._c(d, c2[d]);\n }\n }\n function ye(a, b) {\n var c2, d, e;\n uCb(b);\n c2 = false;\n for (e = b.Kc(); e.Ob(); ) {\n d = e.Pb();\n c2 = c2 | a.Fc(d);\n }\n return c2;\n }\n function Bx(a) {\n var b, c2, d;\n b = 0;\n for (d = a.Kc(); d.Ob(); ) {\n c2 = d.Pb();\n b += c2 != null ? tb(c2) : 0;\n b = ~~b;\n }\n return b;\n }\n function SA(a) {\n var b;\n if (a == 0) {\n return \"UTC\";\n }\n if (a < 0) {\n a = -a;\n b = \"UTC+\";\n } else {\n b = \"UTC-\";\n }\n return b + UA(a);\n }\n function Jq(a, b) {\n var c2;\n if (JD(b, 14)) {\n c2 = BD(b, 14);\n return a.Gc(c2);\n }\n return fr(a, BD(Qb(b), 20).Kc());\n }\n function Bnc(a, b, c2) {\n Cnc.call(this, b, c2);\n this.d = KC(OQ, kne, 10, a.a.c.length, 0, 1);\n Qkb(a.a, this.d);\n }\n function IMc(a) {\n a.a = null;\n a.e = null;\n a.b.c = KC(SI, Uhe, 1, 0, 5, 1);\n a.f.c = KC(SI, Uhe, 1, 0, 5, 1);\n a.c = null;\n }\n function gKd(a, b) {\n if (b) {\n if (a.B == null) {\n a.B = a.D;\n a.D = null;\n }\n } else if (a.B != null) {\n a.D = a.B;\n a.B = null;\n }\n }\n function Poc(a, b) {\n return Edb(ED(Btb(TAb(NAb(new YAb(null, new Kub(a.c.b, 16)), new fpc(a)), b))));\n }\n function Soc(a, b) {\n return Edb(ED(Btb(TAb(NAb(new YAb(null, new Kub(a.c.b, 16)), new dpc(a)), b))));\n }\n function Q2b(a, b) {\n Odd(b, zne, 1);\n MAb(LAb(new YAb(null, new Kub(a.b, 16)), new U2b()), new W2b());\n Qdd(b);\n }\n function SXc(a, b) {\n var c2, d;\n c2 = BD(hkd(a, (ZWc(), SWc)), 19);\n d = BD(hkd(b, SWc), 19);\n return beb(c2.a, d.a);\n }\n function p7c(a, b, c2) {\n var d, e;\n for (e = Jsb(a, 0); e.b != e.d.c; ) {\n d = BD(Xsb(e), 8);\n d.a += b;\n d.b += c2;\n }\n return a;\n }\n function uo(a, b, c2) {\n var d;\n for (d = a.b[c2 & a.f]; d; d = d.b) {\n if (c2 == d.a && Hb(b, d.g)) {\n return d;\n }\n }\n return null;\n }\n function vo(a, b, c2) {\n var d;\n for (d = a.c[c2 & a.f]; d; d = d.d) {\n if (c2 == d.f && Hb(b, d.i)) {\n return d;\n }\n }\n return null;\n }\n function khb(a, b, c2) {\n var d, e, f2;\n d = 0;\n for (e = 0; e < c2; e++) {\n f2 = b[e];\n a[e] = f2 << 1 | d;\n d = f2 >>> 31;\n }\n d != 0 && (a[c2] = d);\n }\n function rmb(a, b) {\n mmb();\n var c2, d;\n d = new Rkb();\n for (c2 = 0; c2 < a; ++c2) {\n d.c[d.c.length] = b;\n }\n return new Yob(d);\n }\n function Zzb(a) {\n var b;\n b = Yzb(a);\n if (Bbb(b.a, 0)) {\n return Ltb(), Ltb(), Ktb;\n }\n return Ltb(), new Ptb(b.b);\n }\n function $zb(a) {\n var b;\n b = Yzb(a);\n if (Bbb(b.a, 0)) {\n return Ltb(), Ltb(), Ktb;\n }\n return Ltb(), new Ptb(b.c);\n }\n function uAb(a) {\n var b;\n b = tAb(a);\n if (Bbb(b.a, 0)) {\n return Utb(), Utb(), Ttb;\n }\n return Utb(), new Xtb(b.b);\n }\n function zZb(a) {\n if (a.b.c.i.k == (j0b(), e0b)) {\n return BD(vNb(a.b.c.i, (wtc(), $sc)), 11);\n }\n return a.b.c;\n }\n function AZb(a) {\n if (a.b.d.i.k == (j0b(), e0b)) {\n return BD(vNb(a.b.d.i, (wtc(), $sc)), 11);\n }\n return a.b.d;\n }\n function Vnd(a, b, c2, d, e, f2, g, h, i3, j, k, l, m) {\n aod(a, b, c2, d, e, f2, g, h, i3, j, k, l, m);\n MJd(a, false);\n return a;\n }\n function tJb(a, b, c2, d, e, f2, g) {\n $r.call(this, a, b);\n this.d = c2;\n this.e = d;\n this.c = e;\n this.b = f2;\n this.a = Ou(g);\n }\n function $bb(a, b) {\n typeof window === Jhe && typeof window[\"$gwt\"] === Jhe && (window[\"$gwt\"][a] = b);\n }\n function pWb(a, b) {\n lWb();\n return a == hWb && b == kWb || a == kWb && b == hWb || a == jWb && b == iWb || a == iWb && b == jWb;\n }\n function qWb(a, b) {\n lWb();\n return a == hWb && b == iWb || a == hWb && b == jWb || a == kWb && b == jWb || a == kWb && b == iWb;\n }\n function IJb(a, b) {\n return Iy(), My(ple), $wnd.Math.abs(0 - b) <= ple || 0 == b || isNaN(0) && isNaN(b) ? 0 : a / b;\n }\n function Rrc() {\n Orc();\n return OC(GC(PW, 1), Kie, 256, 0, [Frc, Hrc, Irc, Jrc, Krc, Lrc, Nrc, Erc, Grc, Mrc]);\n }\n function NKd() {\n NKd = ccb;\n KKd = new KPd();\n MKd = OC(GC(t5, 1), Mve, 170, 0, []);\n LKd = OC(GC(n5, 1), Nve, 59, 0, []);\n }\n function CBc() {\n CBc = ccb;\n BBc = new DBc(\"NO\", 0);\n zBc = new DBc(\"GREEDY\", 1);\n ABc = new DBc(\"LOOK_BACK\", 2);\n }\n function z0b() {\n z0b = ccb;\n w0b = new m1b();\n u0b = new h1b();\n v0b = new q1b();\n t0b = new u1b();\n x0b = new y1b();\n y0b = new C1b();\n }\n function J9b(a) {\n var b, c2, d;\n d = 0;\n for (c2 = new olb(a.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 29);\n b.p = d;\n ++d;\n }\n }\n function nfd(a, b) {\n var c2;\n c2 = sfd(a);\n return mfd(new f7c(c2.c, c2.d), new f7c(c2.b, c2.a), a.rf(), b, a.Hf());\n }\n function Udd(a, b) {\n var c2;\n if (a.b) {\n return null;\n } else {\n c2 = Pdd(a, a.g);\n Dsb(a.a, c2);\n c2.i = a;\n a.d = b;\n return c2;\n }\n }\n function kUc(a, b, c2) {\n Odd(c2, \"DFS Treeifying phase\", 1);\n jUc(a, b);\n hUc(a, b);\n a.a = null;\n a.b = null;\n Qdd(c2);\n }\n function zic(a, b, c2) {\n this.g = a;\n this.d = b;\n this.e = c2;\n this.a = new Rkb();\n xic(this);\n mmb();\n Okb(this.a, null);\n }\n function Aud(a) {\n this.i = a.gc();\n if (this.i > 0) {\n this.g = this.ri(this.i + (this.i / 8 | 0) + 1);\n a.Qc(this.g);\n }\n }\n function u3d(a, b) {\n k2d.call(this, D9, a, b);\n this.b = this;\n this.a = S6d(a.Tg(), XKd(this.e.Tg(), this.c));\n }\n function Ld(a, b) {\n var c2, d;\n uCb(b);\n for (d = b.vc().Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 42);\n a.zc(c2.cd(), c2.dd());\n }\n }\n function G2d(a, b, c2) {\n var d;\n for (d = c2.Kc(); d.Ob(); ) {\n if (!E2d(a, b, d.Pb())) {\n return false;\n }\n }\n return true;\n }\n function sVd(a, b, c2, d, e) {\n var f2;\n if (c2) {\n f2 = bLd(b.Tg(), a.c);\n e = c2.gh(b, -1 - (f2 == -1 ? d : f2), null, e);\n }\n return e;\n }\n function tVd(a, b, c2, d, e) {\n var f2;\n if (c2) {\n f2 = bLd(b.Tg(), a.c);\n e = c2.ih(b, -1 - (f2 == -1 ? d : f2), null, e);\n }\n return e;\n }\n function Mgb(a) {\n var b;\n if (a.b == -2) {\n if (a.e == 0) {\n b = -1;\n } else {\n for (b = 0; a.a[b] == 0; b++)\n ;\n }\n a.b = b;\n }\n return a.b;\n }\n function Z4b(a) {\n switch (a.g) {\n case 2:\n return Ucd(), Tcd;\n case 4:\n return Ucd(), zcd;\n default:\n return a;\n }\n }\n function $4b(a) {\n switch (a.g) {\n case 1:\n return Ucd(), Rcd;\n case 3:\n return Ucd(), Acd;\n default:\n return a;\n }\n }\n function nkc(a) {\n var b, c2, d;\n return a.j == (Ucd(), Acd) && (b = pkc(a), c2 = uqb(b, zcd), d = uqb(b, Tcd), d || d && c2);\n }\n function oqb(a) {\n var b, c2;\n b = BD(a.e && a.e(), 9);\n c2 = BD(ZBb(b, b.length), 9);\n return new xqb(b, c2, b.length);\n }\n function l7b(a, b) {\n Odd(b, zne, 1);\n UGb(TGb(new YGb((a$b(), new l$b(a, false, false, new T$b())))));\n Qdd(b);\n }\n function Fcb(a, b) {\n Bcb();\n return ND(a) ? cfb(a, GD(b)) : LD(a) ? Ddb(a, ED(b)) : KD(a) ? Dcb(a, DD(b)) : a.wd(b);\n }\n function WZc(a, b) {\n b.q = a;\n a.d = $wnd.Math.max(a.d, b.r);\n a.b += b.d + (a.a.c.length == 0 ? 0 : a.c);\n Ekb(a.a, b);\n }\n function m6c(a, b) {\n var c2, d, e, f2;\n e = a.c;\n c2 = a.c + a.b;\n f2 = a.d;\n d = a.d + a.a;\n return b.a > e && b.a < c2 && b.b > f2 && b.b < d;\n }\n function Ynd(a, b, c2, d) {\n JD(a.Cb, 179) && (BD(a.Cb, 179).tb = null);\n pnd(a, c2);\n !!b && hKd(a, b);\n d && a.xk(true);\n }\n function Yqd(a, b) {\n var c2;\n c2 = BD(b, 183);\n Spd(c2, \"x\", a.i);\n Spd(c2, \"y\", a.j);\n Spd(c2, Gte, a.g);\n Spd(c2, Fte, a.f);\n }\n function LFc() {\n LFc = ccb;\n KFc = b3c(f3c(e3c(e3c(new j3c(), (qUb(), nUb), (S8b(), z8b)), oUb, p8b), pUb), y8b);\n }\n function dHc() {\n dHc = ccb;\n cHc = b3c(f3c(e3c(e3c(new j3c(), (qUb(), nUb), (S8b(), z8b)), oUb, p8b), pUb), y8b);\n }\n function sXc() {\n sXc = ccb;\n qXc = new uXc(ane, 0);\n rXc = new uXc(\"POLAR_COORDINATE\", 1);\n pXc = new uXc(\"ID\", 2);\n }\n function TAc() {\n TAc = ccb;\n QAc = new UAc(\"EQUALLY\", 0);\n RAc = new UAc(xle, 1);\n SAc = new UAc(\"NORTH_SOUTH\", 2);\n }\n function pAc() {\n pAc = ccb;\n oAc = as((kAc(), OC(GC(aX, 1), Kie, 260, 0, [iAc, dAc, gAc, eAc, fAc, cAc, hAc, jAc])));\n }\n function Flc() {\n Flc = ccb;\n Elc = as((Alc(), OC(GC(KV, 1), Kie, 270, 0, [tlc, wlc, slc, zlc, vlc, ulc, ylc, xlc])));\n }\n function e6c() {\n e6c = ccb;\n d6c = as((_5c(), OC(GC(f1, 1), Kie, 277, 0, [$5c, T5c, X5c, Z5c, U5c, V5c, W5c, Y5c])));\n }\n function Hsd() {\n Hsd = ccb;\n Gsd = as((Csd(), OC(GC(O3, 1), Kie, 237, 0, [Bsd, ysd, zsd, xsd, Asd, vsd, usd, wsd])));\n }\n function XNb() {\n XNb = ccb;\n VNb = new Msd(\"debugSVG\", (Bcb(), false));\n WNb = new Msd(\"overlapsExisted\", true);\n }\n function Xyb(a, b) {\n return Ayb(new tzb(a), new vzb(b), new xzb(b), new zzb(), OC(GC(xL, 1), Kie, 132, 0, []));\n }\n function hyb() {\n var a;\n if (!dyb) {\n dyb = new gyb();\n a = new wyb(\"\");\n uyb(a, ($xb(), Zxb));\n eyb(dyb, a);\n }\n return dyb;\n }\n function hr(a, b) {\n var c2;\n Qb(b);\n while (a.Ob()) {\n c2 = a.Pb();\n if (!QNc(BD(c2, 10))) {\n return false;\n }\n }\n return true;\n }\n function T3c(a, b) {\n var c2;\n c2 = h4c(n4c(), a);\n if (c2) {\n jkd(b, (Y9c(), F9c), c2);\n return true;\n } else {\n return false;\n }\n }\n function d3c(a, b) {\n var c2;\n for (c2 = 0; c2 < b.j.c.length; c2++) {\n BD(B2c(a, c2), 21).Gc(BD(B2c(b, c2), 14));\n }\n return a;\n }\n function M9b(a, b) {\n var c2, d;\n for (d = new olb(b.b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 29);\n a.a[c2.p] = _$b(c2);\n }\n }\n function stb(a, b) {\n var c2, d;\n uCb(b);\n for (d = a.vc().Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 42);\n b.Od(c2.cd(), c2.dd());\n }\n }\n function cId(a, b) {\n var c2;\n if (JD(b, 83)) {\n BD(a.c, 76).Xj();\n c2 = BD(b, 83);\n IAd(a, c2);\n } else {\n BD(a.c, 76).Wb(b);\n }\n }\n function Su(a) {\n return JD(a, 152) ? km(BD(a, 152)) : JD(a, 131) ? BD(a, 131).a : JD(a, 54) ? new ov(a) : new dv(a);\n }\n function fac(a, b) {\n return b < a.b.gc() ? BD(a.b.Xb(b), 10) : b == a.b.gc() ? a.a : BD(Ikb(a.e, b - a.b.gc() - 1), 10);\n }\n function crb(a, b) {\n a.a = wbb(a.a, 1);\n a.c = $wnd.Math.min(a.c, b);\n a.b = $wnd.Math.max(a.b, b);\n a.d = wbb(a.d, b);\n }\n function n3b(a, b) {\n var c2;\n Odd(b, \"Edge and layer constraint edge reversal\", 1);\n c2 = m3b(a);\n l3b(c2);\n Qdd(b);\n }\n function tAd(a) {\n var b;\n if (a.d == null) {\n ++a.e;\n a.f = 0;\n sAd(null);\n } else {\n ++a.e;\n b = a.d;\n a.d = null;\n a.f = 0;\n sAd(b);\n }\n }\n function zbb(a) {\n var b;\n b = a.h;\n if (b == 0) {\n return a.l + a.m * Hje;\n }\n if (b == Fje) {\n return a.l + a.m * Hje - Ije;\n }\n return a;\n }\n function aKb(a) {\n $Jb();\n if (a.A.Hc((tdd(), pdd))) {\n if (!a.B.Hc((Idd(), Ddd))) {\n return _Jb(a);\n }\n }\n return null;\n }\n function Zgb(a) {\n uCb(a);\n if (a.length == 0) {\n throw vbb(new Oeb(\"Zero length BigInteger\"));\n }\n dhb(this, a);\n }\n function Vb(a) {\n if (!a) {\n throw vbb(new Zdb(\"no calls to next() since the last call to remove()\"));\n }\n }\n function Cbb(a) {\n if (Kje < a && a < Ije) {\n return a < 0 ? $wnd.Math.ceil(a) : $wnd.Math.floor(a);\n }\n return zbb(fD(a));\n }\n function Yyb(a, b) {\n var c2, d, e;\n c2 = a.c.Ee();\n for (e = b.Kc(); e.Ob(); ) {\n d = e.Pb();\n a.a.Od(c2, d);\n }\n return a.b.Kb(c2);\n }\n function Uhd(a, b) {\n var c2, d, e;\n c2 = a.Jg();\n if (c2 != null && a.Mg()) {\n for (d = 0, e = c2.length; d < e; ++d) {\n c2[d].ui(b);\n }\n }\n }\n function f_b(a, b) {\n var c2, d;\n c2 = a;\n d = Q_b(c2).e;\n while (d) {\n c2 = d;\n if (c2 == b) {\n return true;\n }\n d = Q_b(c2).e;\n }\n return false;\n }\n function lDc(a, b, c2) {\n var d, e;\n d = a.a.f[b.p];\n e = a.a.f[c2.p];\n if (d < e) {\n return -1;\n }\n if (d == e) {\n return 0;\n }\n return 1;\n }\n function Si(a, b, c2) {\n var d, e;\n e = BD(tn(a.d, b), 19);\n d = BD(tn(a.b, c2), 19);\n return !e || !d ? null : Mi(a, e.a, d.a);\n }\n function cYc(a, b) {\n var c2, d;\n for (d = new Fyd(a); d.e != d.i.gc(); ) {\n c2 = BD(Dyd(d), 33);\n bld(c2, c2.i + b.b, c2.j + b.d);\n }\n }\n function qjc(a, b) {\n var c2, d;\n for (d = new olb(b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 70);\n Ekb(a.d, c2);\n ujc(a, c2);\n }\n }\n function pQc(a, b) {\n var c2, d;\n d = new Rkb();\n c2 = b;\n do {\n d.c[d.c.length] = c2;\n c2 = BD(Ohb(a.k, c2), 17);\n } while (c2);\n return d;\n }\n function Ajd(a, b) {\n var c2;\n if ((a.Db & b) != 0) {\n c2 = zjd(a, b);\n return c2 == -1 ? a.Eb : CD(a.Eb)[c2];\n } else {\n return null;\n }\n }\n function Lnd(a, b) {\n var c2, d;\n c2 = (d = new hLd(), d);\n c2.G = b;\n !a.rb && (a.rb = new jUd(a, d5, a));\n wtd(a.rb, c2);\n return c2;\n }\n function Mnd(a, b) {\n var c2, d;\n c2 = (d = new MPd(), d);\n c2.G = b;\n !a.rb && (a.rb = new jUd(a, d5, a));\n wtd(a.rb, c2);\n return c2;\n }\n function Hkd(a, b) {\n switch (b) {\n case 1:\n return !!a.n && a.n.i != 0;\n case 2:\n return a.k != null;\n }\n return dkd(a, b);\n }\n function gNc(a) {\n switch (a.a.g) {\n case 1:\n return new NNc();\n case 3:\n return new vQc();\n default:\n return new wNc();\n }\n }\n function MRd(a) {\n var b;\n if (a.g > 1 || a.Ob()) {\n ++a.a;\n a.g = 0;\n b = a.i;\n a.Ob();\n return b;\n } else {\n throw vbb(new utb());\n }\n }\n function kNc(a) {\n fNc();\n var b;\n if (!Lpb(eNc, a)) {\n b = new hNc();\n b.a = a;\n Opb(eNc, a, b);\n }\n return BD(Mpb(eNc, a), 635);\n }\n function Rbb(a) {\n var b, c2, d, e;\n e = a;\n d = 0;\n if (e < 0) {\n e += Ije;\n d = Fje;\n }\n c2 = QD(e / Hje);\n b = QD(e - c2 * Hje);\n return TC(b, c2, d);\n }\n function Ox(a) {\n var b, c2, d;\n d = 0;\n for (c2 = new Gqb(a.a); c2.a < c2.c.a.length; ) {\n b = Fqb(c2);\n a.b.Hc(b) && ++d;\n }\n return d;\n }\n function Ku(a) {\n var b, c2, d;\n b = 1;\n for (d = a.Kc(); d.Ob(); ) {\n c2 = d.Pb();\n b = 31 * b + (c2 == null ? 0 : tb(c2));\n b = ~~b;\n }\n return b;\n }\n function Zwb(a, b) {\n var c2;\n this.c = a;\n c2 = new Rkb();\n Ewb(a, c2, b, a.b, null, false, null, false);\n this.a = new Bib(c2, 0);\n }\n function p4d(a, b) {\n this.b = a;\n this.e = b;\n this.d = b.j;\n this.f = (Q6d(), BD(a, 66).Oj());\n this.k = S6d(b.e.Tg(), a);\n }\n function xwb(a, b, c2) {\n this.b = (uCb(a), a);\n this.d = (uCb(b), b);\n this.e = (uCb(c2), c2);\n this.c = this.d + (\"\" + this.e);\n }\n function xRb() {\n this.a = BD(Ksd((wSb(), eSb)), 19).a;\n this.c = Edb(ED(Ksd(uSb)));\n this.b = Edb(ED(Ksd(qSb)));\n }\n function Nbd() {\n Nbd = ccb;\n Mbd = as((Hbd(), OC(GC(B1, 1), Kie, 93, 0, [zbd, ybd, Bbd, Gbd, Fbd, Ebd, Cbd, Dbd, Abd])));\n }\n function wFb() {\n wFb = ccb;\n vFb = as((rFb(), OC(GC(dN, 1), Kie, 250, 0, [qFb, lFb, mFb, kFb, oFb, pFb, nFb, jFb, iFb])));\n }\n function vLb() {\n vLb = ccb;\n uLb = new wLb(\"UP\", 0);\n rLb = new wLb(vle, 1);\n sLb = new wLb(jle, 2);\n tLb = new wLb(kle, 3);\n }\n function rTc() {\n rTc = ccb;\n qTc = (STc(), QTc);\n pTc = new Nsd(Zqe, qTc);\n oTc = ($Tc(), ZTc);\n nTc = new Nsd($qe, oTc);\n }\n function Xrc() {\n Xrc = ccb;\n Vrc = new Yrc(\"ONE_SIDED\", 0);\n Wrc = new Yrc(\"TWO_SIDED\", 1);\n Urc = new Yrc(\"OFF\", 2);\n }\n function TQc(a) {\n a.r = new Tqb();\n a.w = new Tqb();\n a.t = new Rkb();\n a.i = new Rkb();\n a.d = new Tqb();\n a.a = new I6c();\n a.c = new Lqb();\n }\n function uOc(a) {\n this.n = new Rkb();\n this.e = new Psb();\n this.j = new Psb();\n this.k = new Rkb();\n this.f = new Rkb();\n this.p = a;\n }\n function PEc(a, b) {\n if (a.c) {\n QEc(a, b, true);\n MAb(new YAb(null, new Kub(b, 16)), new bFc(a));\n }\n QEc(a, b, false);\n }\n function wFc(a, b, c2) {\n return a == (rGc(), qGc) ? new pFc() : Cub(b, 1) != 0 ? new iHc(c2.length) : new RGc(c2.length);\n }\n function tNb(a, b) {\n var c2;\n if (!b) {\n return a;\n }\n c2 = b.Ve();\n c2.dc() || (!a.q ? a.q = new Nqb(c2) : Ld(a.q, c2));\n return a;\n }\n function Erb(a, b) {\n var c2;\n c2 = a.a.get(b);\n if (c2 === void 0) {\n ++a.d;\n } else {\n urb(a.a, b);\n --a.c;\n zpb(a.b);\n }\n return c2;\n }\n function UYb(a, b) {\n var c2, d, e;\n c2 = b.p - a.p;\n if (c2 == 0) {\n d = a.f.a * a.f.b;\n e = b.f.a * b.f.b;\n return Kdb(d, e);\n }\n return c2;\n }\n function XLb(a, b) {\n var c2, d;\n c2 = a.f.c.length;\n d = b.f.c.length;\n if (c2 < d) {\n return -1;\n }\n if (c2 == d) {\n return 0;\n }\n return 1;\n }\n function KZb(a) {\n if (a.b.c.length != 0 && !!BD(Ikb(a.b, 0), 70).a) {\n return BD(Ikb(a.b, 0), 70).a;\n }\n return JZb(a);\n }\n function Pq(a) {\n var b;\n if (a) {\n b = a;\n if (b.dc()) {\n throw vbb(new utb());\n }\n return b.Xb(b.gc() - 1);\n }\n return nr(a.Kc());\n }\n function vgb(a) {\n var b;\n ybb(a, 0) < 0 && (a = Lbb(a));\n return b = Tbb(Obb(a, 32)), 64 - (b != 0 ? heb(b) : heb(Tbb(a)) + 32);\n }\n function QNc(a) {\n var b;\n b = BD(vNb(a, (wtc(), Hsc)), 61);\n return a.k == (j0b(), e0b) && (b == (Ucd(), Tcd) || b == zcd);\n }\n function bZb(a, b, c2) {\n var d, e;\n e = BD(vNb(a, (Nyc(), jxc)), 74);\n if (e) {\n d = new s7c();\n o7c(d, 0, e);\n q7c(d, c2);\n ye(b, d);\n }\n }\n function M_b(a, b, c2) {\n var d, e, f2, g;\n g = Q_b(a);\n d = g.d;\n e = g.c;\n f2 = a.n;\n b && (f2.a = f2.a - d.b - e.a);\n c2 && (f2.b = f2.b - d.d - e.b);\n }\n function dcc(a, b) {\n var c2, d;\n c2 = a.j;\n d = b.j;\n return c2 != d ? c2.g - d.g : a.p == b.p ? 0 : c2 == (Ucd(), Acd) ? a.p - b.p : b.p - a.p;\n }\n function dmc(a) {\n var b, c2;\n bmc(a);\n for (c2 = new olb(a.d); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 101);\n !!b.i && cmc(b);\n }\n }\n function lBc(a, b, c2, d, e) {\n NC(a.c[b.g], c2.g, d);\n NC(a.c[c2.g], b.g, d);\n NC(a.b[b.g], c2.g, e);\n NC(a.b[c2.g], b.g, e);\n }\n function G1c(a, b, c2, d) {\n BD(c2.b, 65);\n BD(c2.b, 65);\n BD(d.b, 65);\n BD(d.b, 65);\n BD(d.b, 65);\n Hkb(d.a, new L1c(a, b, d));\n }\n function WDb(a, b) {\n a.d == (ead(), aad) || a.d == dad ? BD(b.a, 57).c.Fc(BD(b.b, 57)) : BD(b.b, 57).c.Fc(BD(b.a, 57));\n }\n function Gkd(a, b, c2, d) {\n if (c2 == 1) {\n return !a.n && (a.n = new cUd(D2, a, 1, 7)), Txd(a.n, b, d);\n }\n return ckd(a, b, c2, d);\n }\n function Gnd(a, b) {\n var c2, d;\n d = (c2 = new BYd(), c2);\n pnd(d, b);\n wtd((!a.A && (a.A = new K4d(u5, a, 7)), a.A), d);\n return d;\n }\n function Zqd(a, b, c2) {\n var d, e, f2, g;\n f2 = null;\n g = b;\n e = Ypd(g, Jte);\n d = new jrd(a, c2);\n f2 = (lqd(d.a, d.b, e), e);\n return f2;\n }\n function KJd(a) {\n var b;\n if (!a.a || (a.Bb & 1) == 0 && a.a.kh()) {\n b = wId(a);\n JD(b, 148) && (a.a = BD(b, 148));\n }\n return a.a;\n }\n function Be(a, b) {\n var c2, d;\n uCb(b);\n for (d = b.Kc(); d.Ob(); ) {\n c2 = d.Pb();\n if (!a.Hc(c2)) {\n return false;\n }\n }\n return true;\n }\n function cD(a, b) {\n var c2, d, e;\n c2 = a.l + b.l;\n d = a.m + b.m + (c2 >> 22);\n e = a.h + b.h + (d >> 22);\n return TC(c2 & Eje, d & Eje, e & Fje);\n }\n function nD(a, b) {\n var c2, d, e;\n c2 = a.l - b.l;\n d = a.m - b.m + (c2 >> 22);\n e = a.h - b.h + (d >> 22);\n return TC(c2 & Eje, d & Eje, e & Fje);\n }\n function bdb(a) {\n var b;\n if (a < 128) {\n b = (ddb(), cdb)[a];\n !b && (b = cdb[a] = new Xcb(a));\n return b;\n }\n return new Xcb(a);\n }\n function ubb(a) {\n var b;\n if (JD(a, 78)) {\n return a;\n }\n b = a && a.__java$exception;\n if (!b) {\n b = new lz(a);\n Sz(b);\n }\n return b;\n }\n function btd(a) {\n if (JD(a, 186)) {\n return BD(a, 118);\n } else if (!a) {\n throw vbb(new Heb(gue));\n } else {\n return null;\n }\n }\n function Zjb(a, b) {\n if (b == null) {\n return false;\n }\n while (a.a != a.b) {\n if (pb(b, vkb(a))) {\n return true;\n }\n }\n return false;\n }\n function kib(a) {\n if (a.a.Ob()) {\n return true;\n }\n if (a.a != a.d) {\n return false;\n }\n a.a = new orb(a.e.f);\n return a.a.Ob();\n }\n function Gkb(a, b) {\n var c2, d;\n c2 = b.Pc();\n d = c2.length;\n if (d == 0) {\n return false;\n }\n bCb(a.c, a.c.length, c2);\n return true;\n }\n function Vyb(a, b, c2) {\n var d, e;\n for (e = b.vc().Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 42);\n a.yc(d.cd(), d.dd(), c2);\n }\n return a;\n }\n function yac(a, b) {\n var c2, d;\n for (d = new olb(a.b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 70);\n yNb(c2, (wtc(), Ssc), b);\n }\n }\n function FZc(a, b, c2) {\n var d, e;\n for (e = new olb(a.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 33);\n bld(d, d.i + b, d.j + c2);\n }\n }\n function Nb(a, b) {\n if (!a) {\n throw vbb(new Wdb(hc(\"value already present: %s\", OC(GC(SI, 1), Uhe, 1, 5, [b]))));\n }\n }\n function mEb(a, b) {\n if (!a || !b || a == b) {\n return false;\n }\n return CDb(a.d.c, b.d.c + b.d.b) && CDb(b.d.c, a.d.c + a.d.b);\n }\n function xyb() {\n oyb();\n if (lyb) {\n return new wyb(null);\n }\n return fyb(hyb(), \"com.google.common.base.Strings\");\n }\n function J2c(a, b) {\n var c2;\n c2 = Pu(b.a.gc());\n MAb(VAb(new YAb(null, new Kub(b, 1)), a.i), new W2c(a, c2));\n return c2;\n }\n function Hnd(a) {\n var b, c2;\n c2 = (b = new BYd(), b);\n pnd(c2, \"T\");\n wtd((!a.d && (a.d = new K4d(u5, a, 11)), a.d), c2);\n return c2;\n }\n function Etd(a) {\n var b, c2, d, e;\n b = 1;\n for (c2 = 0, e = a.gc(); c2 < e; ++c2) {\n d = a.ki(c2);\n b = 31 * b + (d == null ? 0 : tb(d));\n }\n return b;\n }\n function Wi(a, b, c2, d) {\n var e;\n Pb(b, a.e.Hd().gc());\n Pb(c2, a.c.Hd().gc());\n e = a.a[b][c2];\n NC(a.a[b], c2, d);\n return e;\n }\n function OC(a, b, c2, d, e) {\n e.gm = a;\n e.hm = b;\n e.im = gcb;\n e.__elementTypeId$ = c2;\n e.__elementTypeCategory$ = d;\n return e;\n }\n function p6c(a, b, c2, d, e) {\n i6c();\n return $wnd.Math.min(A6c(a, b, c2, d, e), A6c(c2, d, a, b, V6c(new f7c(e.a, e.b))));\n }\n function gbc() {\n gbc = ccb;\n fbc = new ibc(ane, 0);\n dbc = new ibc(Gne, 1);\n ebc = new ibc(Hne, 2);\n cbc = new ibc(\"BOTH\", 3);\n }\n function Ajc() {\n Ajc = ccb;\n wjc = new Bjc(gle, 0);\n xjc = new Bjc(jle, 1);\n yjc = new Bjc(kle, 2);\n zjc = new Bjc(\"TOP\", 3);\n }\n function lWb() {\n lWb = ccb;\n hWb = new oWb(\"Q1\", 0);\n kWb = new oWb(\"Q4\", 1);\n iWb = new oWb(\"Q2\", 2);\n jWb = new oWb(\"Q3\", 3);\n }\n function LBc() {\n LBc = ccb;\n JBc = new MBc(\"OFF\", 0);\n KBc = new MBc(\"SINGLE_EDGE\", 1);\n IBc = new MBc(\"MULTI_EDGE\", 2);\n }\n function a1c() {\n a1c = ccb;\n _0c = new c1c(\"MINIMUM_SPANNING_TREE\", 0);\n $0c = new c1c(\"MAXIMUM_SPANNING_TREE\", 1);\n }\n function Y1c() {\n Y1c = ccb;\n W1c = new k2c();\n V1c = new f2c();\n }\n function URc(a) {\n var b, c2, d;\n b = new Psb();\n for (d = Jsb(a.d, 0); d.b != d.d.c; ) {\n c2 = BD(Xsb(d), 188);\n Dsb(b, c2.c);\n }\n return b;\n }\n function dVc(a) {\n var b, c2, d, e;\n e = new Rkb();\n for (d = a.Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 33);\n b = gVc(c2);\n Gkb(e, b);\n }\n return e;\n }\n function xcc(a) {\n var b;\n PZb(a, true);\n b = _ie;\n wNb(a, (Nyc(), cyc)) && (b += BD(vNb(a, cyc), 19).a);\n yNb(a, cyc, meb(b));\n }\n function q1c(a, b, c2) {\n var d;\n Uhb(a.a);\n Hkb(c2.i, new B1c(a));\n d = new hDb(BD(Ohb(a.a, b.b), 65));\n p1c(a, d, b);\n c2.f = d;\n }\n function QLc(a, b) {\n var c2, d;\n c2 = a.c;\n d = b.e[a.p];\n if (d < c2.a.c.length - 1) {\n return BD(Ikb(c2.a, d + 1), 10);\n }\n return null;\n }\n function rr(a, b) {\n var c2, d;\n Rb(b, \"predicate\");\n for (d = 0; a.Ob(); d++) {\n c2 = a.Pb();\n if (b.Lb(c2)) {\n return d;\n }\n }\n return -1;\n }\n function ZEd(a, b) {\n var c2, d;\n d = 0;\n if (a < 64 && a <= b) {\n b = b < 64 ? b : 63;\n for (c2 = a; c2 <= b; c2++) {\n d = Mbb(d, Nbb(1, c2));\n }\n }\n return d;\n }\n function pmb(a) {\n mmb();\n var b, c2, d;\n d = 0;\n for (c2 = a.Kc(); c2.Ob(); ) {\n b = c2.Pb();\n d = d + (b != null ? tb(b) : 0);\n d = d | 0;\n }\n return d;\n }\n function etd(a) {\n var b, c2;\n c2 = (Fhd(), b = new rmd(), b);\n !!a && wtd((!a.a && (a.a = new cUd(A2, a, 6, 6)), a.a), c2);\n return c2;\n }\n function TA(a) {\n var b;\n b = new PA();\n b.a = a;\n b.b = RA(a);\n b.c = KC(ZI, nie, 2, 2, 6, 1);\n b.c[0] = SA(a);\n b.c[1] = SA(a);\n return b;\n }\n function fkd(a, b) {\n switch (b) {\n case 0:\n !a.o && (a.o = new dId((Thd(), Qhd), S2, a, 0));\n a.o.c.$b();\n return;\n }\n Cid(a, b);\n }\n function jEb(a, b, c2) {\n switch (c2.g) {\n case 2:\n a.b = b;\n break;\n case 1:\n a.c = b;\n break;\n case 4:\n a.d = b;\n break;\n case 3:\n a.a = b;\n }\n }\n function sbd(a) {\n switch (a.g) {\n case 1:\n return obd;\n case 2:\n return nbd;\n case 3:\n return pbd;\n default:\n return qbd;\n }\n }\n function Zac(a) {\n switch (BD(vNb(a, (Nyc(), mxc)), 163).g) {\n case 2:\n case 4:\n return true;\n default:\n return false;\n }\n }\n function Trc() {\n Trc = ccb;\n Src = as((Orc(), OC(GC(PW, 1), Kie, 256, 0, [Frc, Hrc, Irc, Jrc, Krc, Lrc, Nrc, Erc, Grc, Mrc])));\n }\n function Ndd() {\n Ndd = ccb;\n Mdd = as((Idd(), OC(GC(J1, 1), Kie, 259, 0, [Bdd, Ddd, Add, Edd, Fdd, Hdd, Gdd, Cdd, zdd])));\n }\n function wUc() {\n wUc = ccb;\n vUc = e3c(b3c(b3c(g3c(e3c(new j3c(), (yRc(), vRc), (qSc(), pSc)), wRc), mSc), nSc), xRc, oSc);\n }\n function Gqc() {\n Gqc = ccb;\n Eqc = new Hqc(ane, 0);\n Dqc = new Hqc(\"INCOMING_ONLY\", 1);\n Fqc = new Hqc(\"OUTGOING_ONLY\", 2);\n }\n function rC() {\n rC = ccb;\n qC = { \"boolean\": sC, \"number\": tC, \"string\": vC, \"object\": uC, \"function\": uC, \"undefined\": wC };\n }\n function Whb(a, b) {\n mCb(a >= 0, \"Negative initial capacity\");\n mCb(b >= 0, \"Non-positive load factor\");\n Uhb(this);\n }\n function _Ed(a, b, c2) {\n if (a >= 128)\n return false;\n return a < 64 ? Kbb(xbb(Nbb(1, a), c2), 0) : Kbb(xbb(Nbb(1, a - 64), b), 0);\n }\n function bOb(a, b) {\n if (!a || !b || a == b) {\n return false;\n }\n return Jy(a.b.c, b.b.c + b.b.b) < 0 && Jy(b.b.c, a.b.c + a.b.b) < 0;\n }\n function I4b(a) {\n var b, c2, d;\n c2 = a.n;\n d = a.o;\n b = a.d;\n return new J6c(c2.a - b.b, c2.b - b.d, d.a + (b.b + b.c), d.b + (b.d + b.a));\n }\n function $ic(a) {\n var b, c2, d, e;\n for (c2 = a.a, d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n djc(a, b, (Ucd(), Rcd));\n djc(a, b, Acd);\n }\n }\n function Uy(a) {\n var b, c2, d, e;\n for (b = (a.j == null && (a.j = (Rz(), e = Qz.ce(a), Tz(e))), a.j), c2 = 0, d = b.length; c2 < d; ++c2)\n ;\n }\n function hD(a) {\n var b, c2, d;\n b = ~a.l + 1 & Eje;\n c2 = ~a.m + (b == 0 ? 1 : 0) & Eje;\n d = ~a.h + (b == 0 && c2 == 0 ? 1 : 0) & Fje;\n return TC(b, c2, d);\n }\n function C$c(a, b) {\n var c2, d;\n c2 = BD(BD(Ohb(a.g, b.a), 46).a, 65);\n d = BD(BD(Ohb(a.g, b.b), 46).a, 65);\n return _Nb(c2, d);\n }\n function xtd(a, b, c2) {\n var d;\n d = a.gc();\n if (b > d)\n throw vbb(new Cyd(b, d));\n a.hi() && (c2 = Dtd(a, c2));\n return a.Vh(b, c2);\n }\n function xNb(a, b, c2) {\n return c2 == null ? (!a.q && (a.q = new Lqb()), Thb(a.q, b)) : (!a.q && (a.q = new Lqb()), Rhb(a.q, b, c2)), a;\n }\n function yNb(a, b, c2) {\n c2 == null ? (!a.q && (a.q = new Lqb()), Thb(a.q, b)) : (!a.q && (a.q = new Lqb()), Rhb(a.q, b, c2));\n return a;\n }\n function TQb(a) {\n var b, c2;\n c2 = new kRb();\n tNb(c2, a);\n yNb(c2, (HSb(), FSb), a);\n b = new Lqb();\n VQb(a, c2, b);\n UQb(a, c2, b);\n return c2;\n }\n function j6c(a) {\n i6c();\n var b, c2, d;\n c2 = KC(m1, nie, 8, 2, 0, 1);\n d = 0;\n for (b = 0; b < 2; b++) {\n d += 0.5;\n c2[b] = r6c(d, a);\n }\n return c2;\n }\n function Mic(a, b) {\n var c2, d, e, f2;\n c2 = false;\n d = a.a[b].length;\n for (f2 = 0; f2 < d - 1; f2++) {\n e = f2 + 1;\n c2 = c2 | Nic(a, b, f2, e);\n }\n return c2;\n }\n function nNb(a, b, c2, d, e) {\n var f2, g;\n for (g = c2; g <= e; g++) {\n for (f2 = b; f2 <= d; f2++) {\n YMb(a, f2, g) || aNb(a, f2, g, true, false);\n }\n }\n }\n function rNd(a, b) {\n this.b = a;\n nNd.call(this, (BD(qud(ZKd((NFd(), MFd).o), 10), 18), b.i), b.g);\n this.a = (NKd(), MKd);\n }\n function hj(a, b) {\n this.c = a;\n this.d = b;\n this.b = this.d / this.c.c.Hd().gc() | 0;\n this.a = this.d % this.c.c.Hd().gc();\n }\n function jdb() {\n this.o = null;\n this.k = null;\n this.j = null;\n this.d = null;\n this.b = null;\n this.n = null;\n this.a = null;\n }\n function fB(a, b, c2) {\n this.q = new $wnd.Date();\n this.q.setFullYear(a + nje, b, c2);\n this.q.setHours(0, 0, 0, 0);\n YA(this, 0);\n }\n function tAc() {\n tAc = ccb;\n rAc = new uAc(ane, 0);\n qAc = new uAc(\"NODES_AND_EDGES\", 1);\n sAc = new uAc(\"PREFER_EDGES\", 2);\n }\n function RA(a) {\n var b;\n if (a == 0) {\n return \"Etc/GMT\";\n }\n if (a < 0) {\n a = -a;\n b = \"Etc/GMT-\";\n } else {\n b = \"Etc/GMT+\";\n }\n return b + UA(a);\n }\n function geb(a) {\n var b;\n if (a < 0) {\n return Rie;\n } else if (a == 0) {\n return 0;\n } else {\n for (b = Iie; (b & a) == 0; b >>= 1)\n ;\n return b;\n }\n }\n function $C(a) {\n var b, c2;\n c2 = heb(a.h);\n if (c2 == 32) {\n b = heb(a.m);\n return b == 32 ? heb(a.l) + 32 : b + 20 - 10;\n } else {\n return c2 - 12;\n }\n }\n function bkb(a) {\n var b;\n b = a.a[a.b];\n if (b == null) {\n return null;\n }\n NC(a.a, a.b, null);\n a.b = a.b + 1 & a.a.length - 1;\n return b;\n }\n function EDc(a) {\n var b, c2;\n b = a.t - a.k[a.o.p] * a.d + a.j[a.o.p] > a.f;\n c2 = a.u + a.e[a.o.p] * a.d > a.f * a.s * a.d;\n return b || c2;\n }\n function Iwb(a, b, c2) {\n var d, e;\n d = new exb(b, c2);\n e = new fxb();\n a.b = Gwb(a, a.b, d, e);\n e.b || ++a.c;\n a.b.b = false;\n return e.d;\n }\n function djc(a, b, c2) {\n var d, e, f2, g;\n g = CHc(b, c2);\n f2 = 0;\n for (e = g.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 11);\n Rhb(a.c, d, meb(f2++));\n }\n }\n function xVb(a) {\n var b, c2;\n for (c2 = new olb(a.a.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 81);\n b.g.c = -b.g.c - b.g.b;\n }\n sVb(a);\n }\n function XDb(a) {\n var b, c2;\n for (c2 = new olb(a.a.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 57);\n b.d.c = -b.d.c - b.d.b;\n }\n RDb(a);\n }\n function AUd(a) {\n var b;\n if (!a.c || (a.Bb & 1) == 0 && (a.c.Db & 64) != 0) {\n b = wId(a);\n JD(b, 88) && (a.c = BD(b, 26));\n }\n return a.c;\n }\n function ZC(a) {\n var b, c2, d;\n b = ~a.l + 1 & Eje;\n c2 = ~a.m + (b == 0 ? 1 : 0) & Eje;\n d = ~a.h + (b == 0 && c2 == 0 ? 1 : 0) & Fje;\n a.l = b;\n a.m = c2;\n a.h = d;\n }\n function l7c(a) {\n var b, c2, d, e, f2;\n b = new d7c();\n for (d = a, e = 0, f2 = d.length; e < f2; ++e) {\n c2 = d[e];\n b.a += c2.a;\n b.b += c2.b;\n }\n return b;\n }\n function nmb(a, b) {\n mmb();\n var c2, d, e, f2, g;\n g = false;\n for (d = b, e = 0, f2 = d.length; e < f2; ++e) {\n c2 = d[e];\n g = g | a.Fc(c2);\n }\n return g;\n }\n function w6c(a) {\n i6c();\n var b, c2;\n c2 = -17976931348623157e292;\n for (b = 0; b < a.length; b++) {\n a[b] > c2 && (c2 = a[b]);\n }\n return c2;\n }\n function SHc(a, b, c2) {\n var d;\n d = new Rkb();\n UHc(a, b, d, (Ucd(), zcd), true, false);\n UHc(a, c2, d, Tcd, false, false);\n return d;\n }\n function crd(a, b, c2) {\n var d, e, f2, g;\n f2 = null;\n g = b;\n e = Ypd(g, \"labels\");\n d = new Hrd(a, c2);\n f2 = (Dqd(d.a, d.b, e), e);\n return f2;\n }\n function j1d(a, b, c2, d) {\n var e;\n e = r1d(a, b, c2, d);\n if (!e) {\n e = i1d(a, c2, d);\n if (!!e && !e1d(a, b, e)) {\n return null;\n }\n }\n return e;\n }\n function m1d(a, b, c2, d) {\n var e;\n e = s1d(a, b, c2, d);\n if (!e) {\n e = l1d(a, c2, d);\n if (!!e && !e1d(a, b, e)) {\n return null;\n }\n }\n return e;\n }\n function Xb(a, b) {\n var c2;\n for (c2 = 0; c2 < a.a.a.length; c2++) {\n if (!BD($lb(a.a, c2), 169).Lb(b)) {\n return false;\n }\n }\n return true;\n }\n function Cb(a, b, c2) {\n Qb(b);\n if (c2.Ob()) {\n Mfb(b, Fb(c2.Pb()));\n while (c2.Ob()) {\n Mfb(b, a.a);\n Mfb(b, Fb(c2.Pb()));\n }\n }\n return b;\n }\n function qmb(a) {\n mmb();\n var b, c2, d;\n d = 1;\n for (c2 = a.Kc(); c2.Ob(); ) {\n b = c2.Pb();\n d = 31 * d + (b != null ? tb(b) : 0);\n d = d | 0;\n }\n return d;\n }\n function WC(a, b, c2, d, e) {\n var f2;\n f2 = lD(a, b);\n c2 && ZC(f2);\n if (e) {\n a = YC(a, b);\n d ? QC = hD(a) : QC = TC(a.l, a.m, a.h);\n }\n return f2;\n }\n function Xzb(b, c2) {\n var d;\n try {\n c2.Vd();\n } catch (a) {\n a = ubb(a);\n if (JD(a, 78)) {\n d = a;\n b.c[b.c.length] = d;\n } else\n throw vbb(a);\n }\n }\n function jRb(a, b, c2) {\n var d, e;\n if (JD(b, 144) && !!c2) {\n d = BD(b, 144);\n e = c2;\n return a.a[d.b][e.b] + a.a[e.b][d.b];\n }\n return 0;\n }\n function xld(a, b) {\n switch (b) {\n case 7:\n return !!a.e && a.e.i != 0;\n case 8:\n return !!a.d && a.d.i != 0;\n }\n return Ykd(a, b);\n }\n function YQb(a, b) {\n switch (b.g) {\n case 0:\n JD(a.b, 631) || (a.b = new xRb());\n break;\n case 1:\n JD(a.b, 632) || (a.b = new DRb());\n }\n }\n function Ghe(a, b) {\n while (a.g == null && !a.c ? Uud(a) : a.g == null || a.i != 0 && BD(a.g[a.i - 1], 47).Ob()) {\n Ord(b, Vud(a));\n }\n }\n function kic(a, b, c2) {\n a.g = qic(a, b, (Ucd(), zcd), a.b);\n a.d = qic(a, c2, zcd, a.b);\n if (a.g.c == 0 || a.d.c == 0) {\n return;\n }\n nic(a);\n }\n function lic(a, b, c2) {\n a.g = qic(a, b, (Ucd(), Tcd), a.j);\n a.d = qic(a, c2, Tcd, a.j);\n if (a.g.c == 0 || a.d.c == 0) {\n return;\n }\n nic(a);\n }\n function $yc(a, b, c2) {\n return !WAb(JAb(new YAb(null, new Kub(a.c, 16)), new Xxb(new dfd(b, c2)))).sd((EAb(), DAb));\n }\n function KAb(a) {\n var b;\n Tzb(a);\n b = new NBb();\n if (a.a.sd(b)) {\n return Atb(), new Ftb(uCb(b.a));\n }\n return Atb(), Atb(), ztb;\n }\n function nA(a) {\n var b;\n if (a.b <= 0) {\n return false;\n }\n b = hfb(\"MLydhHmsSDkK\", wfb(bfb(a.c, 0)));\n return b > 1 || b >= 0 && a.b < 3;\n }\n function w7c(a) {\n var b, c2, d;\n b = new s7c();\n for (d = Jsb(a, 0); d.b != d.d.c; ) {\n c2 = BD(Xsb(d), 8);\n St(b, 0, new g7c(c2));\n }\n return b;\n }\n function qVb(a) {\n var b, c2;\n for (c2 = new olb(a.a.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 81);\n b.f.$b();\n }\n LVb(a.b, a);\n rVb(a);\n }\n function tb(a) {\n return ND(a) ? LCb(a) : LD(a) ? Hdb(a) : KD(a) ? (uCb(a), a) ? 1231 : 1237 : ID(a) ? a.Hb() : MC(a) ? FCb(a) : rz(a);\n }\n function rb(a) {\n return ND(a) ? ZI : LD(a) ? BI : KD(a) ? wI : ID(a) ? a.gm : MC(a) ? a.gm : a.gm || Array.isArray(a) && GC(PH, 1) || PH;\n }\n function j_c(a) {\n switch (a.g) {\n case 0:\n return new Q1c();\n default:\n throw vbb(new Wdb(Mre + (a.f != null ? a.f : \"\" + a.g)));\n }\n }\n function S0c(a) {\n switch (a.g) {\n case 0:\n return new k1c();\n default:\n throw vbb(new Wdb(Mre + (a.f != null ? a.f : \"\" + a.g)));\n }\n }\n function ekd(a, b, c2) {\n switch (b) {\n case 0:\n !a.o && (a.o = new dId((Thd(), Qhd), S2, a, 0));\n cId(a.o, c2);\n return;\n }\n yid(a, b, c2);\n }\n function XRc(a, b, c2) {\n this.g = a;\n this.e = new d7c();\n this.f = new d7c();\n this.d = new Psb();\n this.b = new Psb();\n this.a = b;\n this.c = c2;\n }\n function PZc(a, b, c2, d) {\n this.b = new Rkb();\n this.n = new Rkb();\n this.i = d;\n this.j = c2;\n this.s = a;\n this.t = b;\n this.r = 0;\n this.d = 0;\n }\n function nib(a) {\n this.e = a;\n this.d = new Irb(this.e.g);\n this.a = this.d;\n this.b = kib(this);\n this.$modCount = a.$modCount;\n }\n function Pr(a) {\n while (!a.d || !a.d.Ob()) {\n if (!!a.b && !akb(a.b)) {\n a.d = BD(fkb(a.b), 47);\n } else {\n return null;\n }\n }\n return a.d;\n }\n function Xyc(a) {\n Ekb(a.c, (Y1c(), W1c));\n if (Ky(a.a, Edb(ED(Ksd((dzc(), bzc)))))) {\n return new Zed();\n }\n return new _ed(a);\n }\n function bRc(a) {\n switch (a.g) {\n case 1:\n return Sqe;\n default:\n case 2:\n return 0;\n case 3:\n return cme;\n case 4:\n return Tqe;\n }\n }\n function Ife() {\n wfe();\n var a;\n if (dfe)\n return dfe;\n a = Afe(Kfe(\"M\", true));\n a = Bfe(Kfe(\"M\", false), a);\n dfe = a;\n return dfe;\n }\n function Awb(a, b) {\n var c2, d, e;\n e = a.b;\n while (e) {\n c2 = a.a.ue(b, e.d);\n if (c2 == 0) {\n return e;\n }\n d = c2 < 0 ? 0 : 1;\n e = e.a[d];\n }\n return null;\n }\n function Tyb(a, b, c2) {\n var d, e;\n d = (Bcb(), _Pb(c2) ? true : false);\n e = BD(b.xc(d), 15);\n if (!e) {\n e = new Rkb();\n b.zc(d, e);\n }\n e.Fc(c2);\n }\n function dYc(a, b) {\n var c2, d;\n c2 = BD(hkd(a, (lZc(), UYc)), 19).a;\n d = BD(hkd(b, UYc), 19).a;\n return c2 == d ? -1 : c2 < d ? -1 : c2 > d ? 1 : 0;\n }\n function NYb(a, b) {\n if (OYb(a, b)) {\n Rc(a.b, BD(vNb(b, (wtc(), Esc)), 21), b);\n Dsb(a.a, b);\n return true;\n } else {\n return false;\n }\n }\n function d3b(a) {\n var b, c2;\n b = BD(vNb(a, (wtc(), gtc)), 10);\n if (b) {\n c2 = b.c;\n Lkb(c2.a, b);\n c2.a.c.length == 0 && Lkb(Q_b(b).b, c2);\n }\n }\n function syb(a) {\n if (lyb) {\n return KC(qL, tke, 572, 0, 0, 1);\n }\n return BD(Qkb(a.a, KC(qL, tke, 572, a.a.c.length, 0, 1)), 842);\n }\n function mn(a, b, c2, d) {\n Vm();\n return new wx(OC(GC(CK, 1), zie, 42, 0, [(Wj(a, b), new Wo(a, b)), (Wj(c2, d), new Wo(c2, d))]));\n }\n function Dnd(a, b, c2) {\n var d, e;\n e = (d = new SSd(), d);\n $nd(e, b, c2);\n wtd((!a.q && (a.q = new cUd(n5, a, 11, 10)), a.q), e);\n return e;\n }\n function Zmd(a) {\n var b, c2, d, e;\n e = icb(Rmd, a);\n c2 = e.length;\n d = KC(ZI, nie, 2, c2, 6, 1);\n for (b = 0; b < c2; ++b) {\n d[b] = e[b];\n }\n return d;\n }\n function l4c(a, b) {\n var c2, d, e, f2, g;\n for (d = b, e = 0, f2 = d.length; e < f2; ++e) {\n c2 = d[e];\n g = new v4c(a);\n c2.Qe(g);\n q4c(g);\n }\n Uhb(a.f);\n }\n function hw(a, b) {\n var c2;\n if (b === a) {\n return true;\n }\n if (JD(b, 224)) {\n c2 = BD(b, 224);\n return pb(a.Zb(), c2.Zb());\n }\n return false;\n }\n function aub(a, b) {\n var c2;\n if (b * 2 + 1 >= a.b.c.length) {\n return;\n }\n aub(a, 2 * b + 1);\n c2 = 2 * b + 2;\n c2 < a.b.c.length && aub(a, c2);\n bub(a, b);\n }\n function Ss(a, b, c2) {\n var d, e;\n this.g = a;\n this.c = b;\n this.a = this;\n this.d = this;\n e = Kp(c2);\n d = KC(BG, Gie, 330, e, 0, 1);\n this.b = d;\n }\n function whb(a, b, c2) {\n var d;\n for (d = c2 - 1; d >= 0 && a[d] === b[d]; d--)\n ;\n return d < 0 ? 0 : Gbb(xbb(a[d], Yje), xbb(b[d], Yje)) ? -1 : 1;\n }\n function UFc(a, b) {\n var c2, d;\n for (d = Jsb(a, 0); d.b != d.d.c; ) {\n c2 = BD(Xsb(d), 214);\n if (c2.e.length > 0) {\n b.td(c2);\n c2.i && _Fc(c2);\n }\n }\n }\n function nzd(a, b) {\n var c2, d;\n d = BD(Ajd(a.a, 4), 126);\n c2 = KC($3, hve, 415, b, 0, 1);\n d != null && $fb(d, 0, c2, 0, d.length);\n return c2;\n }\n function JEd(a, b) {\n var c2;\n c2 = new NEd((a.f & 256) != 0, a.i, a.a, a.d, (a.f & 16) != 0, a.j, a.g, b);\n a.e != null || (c2.c = a);\n return c2;\n }\n function Dc(a, b) {\n var c2, d;\n for (d = a.Zb().Cc().Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 14);\n if (c2.Hc(b)) {\n return true;\n }\n }\n return false;\n }\n function oNb(a, b, c2, d, e) {\n var f2, g;\n for (g = c2; g <= e; g++) {\n for (f2 = b; f2 <= d; f2++) {\n if (YMb(a, f2, g)) {\n return true;\n }\n }\n }\n return false;\n }\n function Tt(a, b, c2) {\n var d, e, f2, g;\n uCb(c2);\n g = false;\n f2 = a.Zc(b);\n for (e = c2.Kc(); e.Ob(); ) {\n d = e.Pb();\n f2.Rb(d);\n g = true;\n }\n return g;\n }\n function Dv(a, b) {\n var c2;\n if (a === b) {\n return true;\n } else if (JD(b, 83)) {\n c2 = BD(b, 83);\n return Ax(Wm(a), c2.vc());\n }\n return false;\n }\n function Nhb(a, b, c2) {\n var d, e;\n for (e = c2.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 42);\n if (a.re(b, d.dd())) {\n return true;\n }\n }\n return false;\n }\n function Hic(a, b, c2) {\n if (!a.d[b.p][c2.p]) {\n Gic(a, b, c2);\n a.d[b.p][c2.p] = true;\n a.d[c2.p][b.p] = true;\n }\n return a.a[b.p][c2.p];\n }\n function Itd(a, b) {\n if (!a.ai() && b == null) {\n throw vbb(new Wdb(\"The 'no null' constraint is violated\"));\n }\n return b;\n }\n function $Jd(a, b) {\n if (a.D == null && a.B != null) {\n a.D = a.B;\n a.B = null;\n }\n jKd(a, b == null ? null : (uCb(b), b));\n !!a.C && a.yk(null);\n }\n function XHc(a, b) {\n var c2;\n if (!a || a == b || !wNb(b, (wtc(), Psc))) {\n return false;\n }\n c2 = BD(vNb(b, (wtc(), Psc)), 10);\n return c2 != a;\n }\n function b4d(a) {\n switch (a.i) {\n case 2: {\n return true;\n }\n case 1: {\n return false;\n }\n case -1: {\n ++a.c;\n }\n default: {\n return a.pl();\n }\n }\n }\n function c4d(a) {\n switch (a.i) {\n case -2: {\n return true;\n }\n case -1: {\n return false;\n }\n case 1: {\n --a.c;\n }\n default: {\n return a.ql();\n }\n }\n }\n function Xdb(a) {\n Zy.call(this, \"The given string does not match the expected format for individual spacings.\", a);\n }\n function pgd() {\n pgd = ccb;\n mgd = new qgd(\"ELK\", 0);\n ngd = new qgd(\"JSON\", 1);\n lgd = new qgd(\"DOT\", 2);\n ogd = new qgd(\"SVG\", 3);\n }\n function pWc() {\n pWc = ccb;\n mWc = new rWc(ane, 0);\n nWc = new rWc(\"RADIAL_COMPACTION\", 1);\n oWc = new rWc(\"WEDGE_COMPACTION\", 2);\n }\n function Fyb() {\n Fyb = ccb;\n Cyb = new Gyb(\"CONCURRENT\", 0);\n Dyb = new Gyb(\"IDENTITY_FINISH\", 1);\n Eyb = new Gyb(\"UNORDERED\", 2);\n }\n function nPb() {\n nPb = ccb;\n kPb = (cPb(), bPb);\n jPb = new Nsd(Tle, kPb);\n iPb = new Lsd(Ule);\n lPb = new Lsd(Vle);\n mPb = new Lsd(Wle);\n }\n function Occ() {\n Occ = ccb;\n Mcc = new Zcc();\n Ncc = new _cc();\n Lcc = new bdc();\n Kcc = new fdc();\n Jcc = new jdc();\n Icc = (uCb(Jcc), new bpb());\n }\n function tBc() {\n tBc = ccb;\n qBc = new uBc(\"CONSERVATIVE\", 0);\n rBc = new uBc(\"CONSERVATIVE_SOFT\", 1);\n sBc = new uBc(\"SLOPPY\", 2);\n }\n function Zad() {\n Zad = ccb;\n Xad = new q0b(15);\n Wad = new Osd((Y9c(), f9c), Xad);\n Yad = C9c;\n Sad = s8c;\n Tad = Y8c;\n Vad = _8c;\n Uad = $8c;\n }\n function o7c(a, b, c2) {\n var d, e, f2;\n d = new Psb();\n for (f2 = Jsb(c2, 0); f2.b != f2.d.c; ) {\n e = BD(Xsb(f2), 8);\n Dsb(d, new g7c(e));\n }\n Tt(a, b, d);\n }\n function r7c(a) {\n var b, c2, d;\n b = 0;\n d = KC(m1, nie, 8, a.b, 0, 1);\n c2 = Jsb(a, 0);\n while (c2.b != c2.d.c) {\n d[b++] = BD(Xsb(c2), 8);\n }\n return d;\n }\n function $Pd(a) {\n var b;\n b = (!a.a && (a.a = new cUd(g5, a, 9, 5)), a.a);\n if (b.i != 0) {\n return nQd(BD(qud(b, 0), 678));\n }\n return null;\n }\n function Ly(a, b) {\n var c2;\n c2 = wbb(a, b);\n if (Gbb(Vbb(a, b), 0) | Ebb(Vbb(a, c2), 0)) {\n return c2;\n }\n return wbb(rie, Vbb(Pbb(c2, 63), 1));\n }\n function Yyc(a, b) {\n var c2;\n c2 = Ksd((dzc(), bzc)) != null && b.wg() != null ? Edb(ED(b.wg())) / Edb(ED(Ksd(bzc))) : 1;\n Rhb(a.b, b, c2);\n }\n function le(a, b) {\n var c2, d;\n c2 = BD(a.d.Bc(b), 14);\n if (!c2) {\n return null;\n }\n d = a.e.hc();\n d.Gc(c2);\n a.e.d -= c2.gc();\n c2.$b();\n return d;\n }\n function AHc(a, b) {\n var c2, d;\n d = a.c[b];\n if (d == 0) {\n return;\n }\n a.c[b] = 0;\n a.d -= d;\n c2 = b + 1;\n while (c2 < a.a.length) {\n a.a[c2] -= d;\n c2 += c2 & -c2;\n }\n }\n function rwb(a) {\n var b;\n b = a.a.c.length;\n if (b > 0) {\n return _vb(b - 1, a.a.c.length), Kkb(a.a, b - 1);\n } else {\n throw vbb(new Jpb());\n }\n }\n function C2c(a, b, c2) {\n if (b < 0) {\n throw vbb(new qcb(ese + b));\n }\n if (b < a.j.c.length) {\n Nkb(a.j, b, c2);\n } else {\n A2c(a, b);\n Ekb(a.j, c2);\n }\n }\n function oCb(a, b, c2) {\n if (a > b) {\n throw vbb(new Wdb(xke + a + yke + b));\n }\n if (a < 0 || b > c2) {\n throw vbb(new scb(xke + a + zke + b + oke + c2));\n }\n }\n function j5c(a) {\n if (!a.a || (a.a.i & 8) == 0) {\n throw vbb(new Zdb(\"Enumeration class expected for layout option \" + a.f));\n }\n }\n function vud(a) {\n var b;\n ++a.j;\n if (a.i == 0) {\n a.g = null;\n } else if (a.i < a.g.length) {\n b = a.g;\n a.g = a.ri(a.i);\n $fb(b, 0, a.g, 0, a.i);\n }\n }\n function hkb(a, b) {\n var c2, d;\n c2 = a.a.length - 1;\n a.c = a.c - 1 & c2;\n while (b != a.c) {\n d = b + 1 & c2;\n NC(a.a, b, a.a[d]);\n b = d;\n }\n NC(a.a, a.c, null);\n }\n function ikb(a, b) {\n var c2, d;\n c2 = a.a.length - 1;\n while (b != a.b) {\n d = b - 1 & c2;\n NC(a.a, b, a.a[d]);\n b = d;\n }\n NC(a.a, a.b, null);\n a.b = a.b + 1 & c2;\n }\n function Fkb(a, b, c2) {\n var d, e;\n wCb(b, a.c.length);\n d = c2.Pc();\n e = d.length;\n if (e == 0) {\n return false;\n }\n bCb(a.c, b, d);\n return true;\n }\n function VEd(a) {\n var b, c2;\n if (a == null)\n return null;\n for (b = 0, c2 = a.length; b < c2; b++) {\n if (!gFd(a[b]))\n return a[b];\n }\n return null;\n }\n function grb(a, b, c2) {\n var d, e, f2, g;\n for (e = c2, f2 = 0, g = e.length; f2 < g; ++f2) {\n d = e[f2];\n if (a.b.re(b, d.cd())) {\n return d;\n }\n }\n return null;\n }\n function Hlb(a) {\n var b, c2, d, e, f2;\n f2 = 1;\n for (c2 = a, d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n f2 = 31 * f2 + (b != null ? tb(b) : 0);\n f2 = f2 | 0;\n }\n return f2;\n }\n function as(a) {\n var b, c2, d, e, f2;\n b = {};\n for (d = a, e = 0, f2 = d.length; e < f2; ++e) {\n c2 = d[e];\n b[\":\" + (c2.f != null ? c2.f : \"\" + c2.g)] = c2;\n }\n return b;\n }\n function gr(a) {\n var b;\n Qb(a);\n Mb(true, \"numberToAdvance must be nonnegative\");\n for (b = 0; b < 0 && Qr(a); b++) {\n Rr(a);\n }\n return b;\n }\n function eDc(a) {\n var b, c2, d;\n d = 0;\n for (c2 = new Sr(ur(a.a.Kc(), new Sq())); Qr(c2); ) {\n b = BD(Rr(c2), 17);\n b.c.i == b.d.i || ++d;\n }\n return d;\n }\n function HZb(a, b) {\n var c2, d, e;\n c2 = a;\n e = 0;\n do {\n if (c2 == b) {\n return e;\n }\n d = c2.e;\n if (!d) {\n throw vbb(new Vdb());\n }\n c2 = Q_b(d);\n ++e;\n } while (true);\n }\n function w$c(a, b) {\n var c2, d, e;\n e = b - a.f;\n for (d = new olb(a.d); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 443);\n _Zc(c2, c2.e, c2.f + e);\n }\n a.f = b;\n }\n function aRc(a, b, c2) {\n if ($wnd.Math.abs(b - a) < Rqe || $wnd.Math.abs(c2 - a) < Rqe) {\n return true;\n }\n return b - a > Rqe ? a - c2 > Rqe : c2 - a > Rqe;\n }\n function pHb(a, b) {\n if (!a) {\n return 0;\n }\n if (b && !a.j) {\n return 0;\n }\n if (JD(a, 124)) {\n if (BD(a, 124).a.b == 0) {\n return 0;\n }\n }\n return a.Re();\n }\n function qHb(a, b) {\n if (!a) {\n return 0;\n }\n if (b && !a.k) {\n return 0;\n }\n if (JD(a, 124)) {\n if (BD(a, 124).a.a == 0) {\n return 0;\n }\n }\n return a.Se();\n }\n function fhb(a) {\n Hgb();\n if (a < 0) {\n if (a != -1) {\n return new Tgb(-1, -a);\n }\n return Bgb;\n } else\n return a <= 10 ? Dgb[QD(a)] : new Tgb(1, a);\n }\n function xC(a) {\n rC();\n throw vbb(new MB(\"Unexpected typeof result '\" + a + \"'; please report this bug to the GWT team\"));\n }\n function lz(a) {\n jz();\n Py(this);\n Ry(this);\n this.e = a;\n Sy(this, a);\n this.g = a == null ? Xhe : fcb(a);\n this.a = \"\";\n this.b = a;\n this.a = \"\";\n }\n function F$c() {\n this.a = new G$c();\n this.f = new I$c(this);\n this.b = new K$c(this);\n this.i = new M$c(this);\n this.e = new O$c(this);\n }\n function ss() {\n rs.call(this, new _rb(Cv(16)));\n Xj(2, mie);\n this.b = 2;\n this.a = new Ms(null, null, 0, null);\n As(this.a, this.a);\n }\n function xzc() {\n xzc = ccb;\n uzc = new zzc(\"DUMMY_NODE_OVER\", 0);\n vzc = new zzc(\"DUMMY_NODE_UNDER\", 1);\n wzc = new zzc(\"EQUAL\", 2);\n }\n function LUb() {\n LUb = ccb;\n JUb = Fx(OC(GC(t12, 1), Kie, 103, 0, [(ead(), aad), bad]));\n KUb = Fx(OC(GC(t12, 1), Kie, 103, 0, [dad, _9c]));\n }\n function VQc(a) {\n return (Ucd(), Lcd).Hc(a.j) ? Edb(ED(vNb(a, (wtc(), qtc)))) : l7c(OC(GC(m1, 1), nie, 8, 0, [a.i.n, a.n, a.a])).b;\n }\n function DOb(a) {\n var b, c2, d, e;\n d = a.b.a;\n for (c2 = d.a.ec().Kc(); c2.Ob(); ) {\n b = BD(c2.Pb(), 561);\n e = new MPb(b, a.e, a.f);\n Ekb(a.g, e);\n }\n }\n function yId(a, b) {\n var c2, d, e;\n d = a.nk(b, null);\n e = null;\n if (b) {\n e = (LFd(), c2 = new UQd(), c2);\n NQd(e, a.r);\n }\n d = xId(a, e, d);\n !!d && d.Fi();\n }\n function VFc(a, b) {\n var c2, d;\n d = Cub(a.d, 1) != 0;\n c2 = true;\n while (c2) {\n c2 = false;\n c2 = b.c.Tf(b.e, d);\n c2 = c2 | dGc(a, b, d, false);\n d = !d;\n }\n $Fc(a);\n }\n function wZc(a, b) {\n var c2, d, e;\n d = false;\n c2 = b.q.d;\n if (b.d < a.b) {\n e = ZZc(b.q, a.b);\n if (b.q.d > e) {\n $Zc(b.q, e);\n d = c2 != b.q.d;\n }\n }\n return d;\n }\n function PVc(a, b) {\n var c2, d, e, f2, g, h, i3, j;\n i3 = b.i;\n j = b.j;\n d = a.f;\n e = d.i;\n f2 = d.j;\n g = i3 - e;\n h = j - f2;\n c2 = $wnd.Math.sqrt(g * g + h * h);\n return c2;\n }\n function Rnd(a, b) {\n var c2, d;\n d = jid(a);\n if (!d) {\n c2 = (IEd(), PEd(b));\n d = new s0d(c2);\n wtd(d.Vk(), a);\n }\n return d;\n }\n function Sc(a, b) {\n var c2, d;\n c2 = BD(a.c.Bc(b), 14);\n if (!c2) {\n return a.jc();\n }\n d = a.hc();\n d.Gc(c2);\n a.d -= c2.gc();\n c2.$b();\n return a.mc(d);\n }\n function j7c(a, b) {\n var c2;\n for (c2 = 0; c2 < b.length; c2++) {\n if (a == (BCb(c2, b.length), b.charCodeAt(c2))) {\n return true;\n }\n }\n return false;\n }\n function E_b(a, b) {\n var c2;\n for (c2 = 0; c2 < b.length; c2++) {\n if (a == (BCb(c2, b.length), b.charCodeAt(c2))) {\n return true;\n }\n }\n return false;\n }\n function hFd(a) {\n var b, c2;\n if (a == null)\n return false;\n for (b = 0, c2 = a.length; b < c2; b++) {\n if (!gFd(a[b]))\n return false;\n }\n return true;\n }\n function Ngb(a) {\n var b;\n if (a.c != 0) {\n return a.c;\n }\n for (b = 0; b < a.a.length; b++) {\n a.c = a.c * 33 + (a.a[b] & -1);\n }\n a.c = a.c * a.e;\n return a.c;\n }\n function vkb(a) {\n var b;\n sCb(a.a != a.b);\n b = a.d.a[a.a];\n mkb(a.b == a.d.c && b != null);\n a.c = a.a;\n a.a = a.a + 1 & a.d.a.length - 1;\n return b;\n }\n function phe(a) {\n var b;\n if (!(a.c.c < 0 ? a.a >= a.c.b : a.a <= a.c.b)) {\n throw vbb(new utb());\n }\n b = a.a;\n a.a += a.c.c;\n ++a.b;\n return meb(b);\n }\n function BWb(a) {\n var b;\n b = new VWb(a);\n rXb(a.a, zWb, new amb(OC(GC(bQ, 1), Uhe, 369, 0, [b])));\n !!b.d && Ekb(b.f, b.d);\n return b.f;\n }\n function Z1b(a) {\n var b;\n b = new q_b(a.a);\n tNb(b, a);\n yNb(b, (wtc(), $sc), a);\n b.o.a = a.g;\n b.o.b = a.f;\n b.n.a = a.i;\n b.n.b = a.j;\n return b;\n }\n function A9b(a, b, c2, d) {\n var e, f2;\n for (f2 = a.Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 70);\n e.n.a = b.a + (d.a - e.o.a) / 2;\n e.n.b = b.b;\n b.b += e.o.b + c2;\n }\n }\n function UDb(a, b, c2) {\n var d, e;\n for (e = b.a.a.ec().Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 57);\n if (VDb(a, d, c2)) {\n return true;\n }\n }\n return false;\n }\n function JDc(a) {\n var b, c2;\n for (c2 = new olb(a.r); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 10);\n if (a.n[b.p] <= 0) {\n return b;\n }\n }\n return null;\n }\n function cVc(a) {\n var b, c2, d, e;\n e = new Tqb();\n for (d = new olb(a); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 33);\n b = fVc(c2);\n ye(e, b);\n }\n return e;\n }\n function zFc(a) {\n var b;\n b = k3c(xFc);\n BD(vNb(a, (wtc(), Ksc)), 21).Hc((Orc(), Krc)) && e3c(b, (qUb(), nUb), (S8b(), H8b));\n return b;\n }\n function qKb(a, b, c2) {\n var d;\n d = new AJb(a, b);\n Rc(a.r, b.Hf(), d);\n if (c2 && !tcd(a.u)) {\n d.c = new aIb(a.d);\n Hkb(b.wf(), new tKb(d));\n }\n }\n function ybb(a, b) {\n var c2;\n if (Fbb(a) && Fbb(b)) {\n c2 = a - b;\n if (!isNaN(c2)) {\n return c2;\n }\n }\n return eD(Fbb(a) ? Rbb(a) : a, Fbb(b) ? Rbb(b) : b);\n }\n function bFd(a, b) {\n return b < a.length && (BCb(b, a.length), a.charCodeAt(b) != 63) && (BCb(b, a.length), a.charCodeAt(b) != 35);\n }\n function Kic(a, b, c2, d) {\n var e, f2;\n a.a = b;\n f2 = d ? 0 : 1;\n a.f = (e = new Iic(a.c, a.a, c2, f2), new jjc(c2, a.a, e, a.e, a.b, a.c == (rGc(), pGc)));\n }\n function Tmd(a, b, c2) {\n var d, e;\n e = a.a;\n a.a = b;\n if ((a.Db & 4) != 0 && (a.Db & 1) == 0) {\n d = new nSd(a, 1, 1, e, b);\n !c2 ? c2 = d : c2.Ei(d);\n }\n return c2;\n }\n function GQd(a, b, c2) {\n var d, e;\n e = a.b;\n a.b = b;\n if ((a.Db & 4) != 0 && (a.Db & 1) == 0) {\n d = new nSd(a, 1, 3, e, b);\n !c2 ? c2 = d : c2.Ei(d);\n }\n return c2;\n }\n function IQd(a, b, c2) {\n var d, e;\n e = a.f;\n a.f = b;\n if ((a.Db & 4) != 0 && (a.Db & 1) == 0) {\n d = new nSd(a, 1, 0, e, b);\n !c2 ? c2 = d : c2.Ei(d);\n }\n return c2;\n }\n function xid(a, b) {\n var c2, d, e, f2;\n f2 = (e = a ? jid(a) : null, q6d((d = b, e ? e.Xk() : null, d)));\n if (f2 == b) {\n c2 = jid(a);\n !!c2 && c2.Xk();\n }\n return f2;\n }\n function x6c(a, b) {\n var c2, d, e;\n e = 1;\n c2 = a;\n d = b >= 0 ? b : -b;\n while (d > 0) {\n if (d % 2 == 0) {\n c2 *= c2;\n d = d / 2 | 0;\n } else {\n e *= c2;\n d -= 1;\n }\n }\n return b < 0 ? 1 / e : e;\n }\n function y6c(a, b) {\n var c2, d, e;\n e = 1;\n c2 = a;\n d = b >= 0 ? b : -b;\n while (d > 0) {\n if (d % 2 == 0) {\n c2 *= c2;\n d = d / 2 | 0;\n } else {\n e *= c2;\n d -= 1;\n }\n }\n return b < 0 ? 1 / e : e;\n }\n function sAd(a) {\n var b, c2;\n if (a != null) {\n for (c2 = 0; c2 < a.length; ++c2) {\n b = a[c2];\n if (b) {\n BD(b.g, 367);\n b.i;\n }\n }\n }\n }\n function YZc(a) {\n var b, c2, d;\n d = 0;\n for (c2 = new olb(a.a); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 187);\n d = $wnd.Math.max(d, b.g);\n }\n return d;\n }\n function eGc(a) {\n var b, c2, d;\n for (d = new olb(a.b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 214);\n b = c2.c.Rf() ? c2.f : c2.a;\n !!b && mHc(b, c2.j);\n }\n }\n function hbd() {\n hbd = ccb;\n fbd = new ibd(\"INHERIT\", 0);\n ebd = new ibd(\"INCLUDE_CHILDREN\", 1);\n gbd = new ibd(\"SEPARATE_CHILDREN\", 2);\n }\n function Jkd(a, b) {\n switch (b) {\n case 1:\n !a.n && (a.n = new cUd(D2, a, 1, 7));\n Uxd(a.n);\n return;\n case 2:\n Lkd(a, null);\n return;\n }\n fkd(a, b);\n }\n function Dm(a) {\n var b;\n switch (a.gc()) {\n case 0:\n return hm;\n case 1:\n return new my(Qb(a.Xb(0)));\n default:\n b = a;\n return new ux(b);\n }\n }\n function Vn(a) {\n Ql();\n switch (a.gc()) {\n case 0:\n return yx(), xx;\n case 1:\n return new oy(a.Kc().Pb());\n default:\n return new zx(a);\n }\n }\n function Up(a) {\n Ql();\n switch (a.c) {\n case 0:\n return yx(), xx;\n case 1:\n return new oy(qr(new Gqb(a)));\n default:\n return new Tp(a);\n }\n }\n function Hv(b, c2) {\n Qb(b);\n try {\n return b.xc(c2);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 205) || JD(a, 173)) {\n return null;\n } else\n throw vbb(a);\n }\n }\n function Iv(b, c2) {\n Qb(b);\n try {\n return b.Bc(c2);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 205) || JD(a, 173)) {\n return null;\n } else\n throw vbb(a);\n }\n }\n function Ck(b, c2) {\n Qb(b);\n try {\n return b.Hc(c2);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 205) || JD(a, 173)) {\n return false;\n } else\n throw vbb(a);\n }\n }\n function Dk(b, c2) {\n Qb(b);\n try {\n return b.Mc(c2);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 205) || JD(a, 173)) {\n return false;\n } else\n throw vbb(a);\n }\n }\n function Gv(b, c2) {\n Qb(b);\n try {\n return b._b(c2);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 205) || JD(a, 173)) {\n return false;\n } else\n throw vbb(a);\n }\n }\n function KXb(a, b) {\n var c2;\n if (a.a.c.length > 0) {\n c2 = BD(Ikb(a.a, a.a.c.length - 1), 570);\n if (NYb(c2, b)) {\n return;\n }\n }\n Ekb(a.a, new PYb(b));\n }\n function $gc(a) {\n Hgc();\n var b, c2;\n b = a.d.c - a.e.c;\n c2 = BD(a.g, 145);\n Hkb(c2.b, new shc(b));\n Hkb(c2.c, new uhc(b));\n reb(c2.i, new whc(b));\n }\n function gic(a) {\n var b;\n b = new Ufb();\n b.a += \"VerticalSegment \";\n Pfb(b, a.e);\n b.a += \" \";\n Qfb(b, Eb(new Gb(), new olb(a.k)));\n return b.a;\n }\n function u4c(a) {\n var b;\n b = BD(Wrb(a.c.c, \"\"), 229);\n if (!b) {\n b = new W3c(d4c(c4c(new e4c(), \"\"), \"Other\"));\n Xrb(a.c.c, \"\", b);\n }\n return b;\n }\n function qnd(a) {\n var b;\n if ((a.Db & 64) != 0)\n return Eid(a);\n b = new Jfb(Eid(a));\n b.a += \" (name: \";\n Efb(b, a.zb);\n b.a += \")\";\n return b.a;\n }\n function Jnd(a, b, c2) {\n var d, e;\n e = a.sb;\n a.sb = b;\n if ((a.Db & 4) != 0 && (a.Db & 1) == 0) {\n d = new nSd(a, 1, 4, e, b);\n !c2 ? c2 = d : c2.Ei(d);\n }\n return c2;\n }\n function _ic(a, b) {\n var c2, d, e;\n c2 = 0;\n for (e = V_b(a, b).Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 11);\n c2 += vNb(d, (wtc(), gtc)) != null ? 1 : 0;\n }\n return c2;\n }\n function vPc(a, b, c2) {\n var d, e, f2;\n d = 0;\n for (f2 = Jsb(a, 0); f2.b != f2.d.c; ) {\n e = Edb(ED(Xsb(f2)));\n if (e > c2) {\n break;\n } else\n e >= b && ++d;\n }\n return d;\n }\n function RTd(a, b, c2) {\n var d, e;\n d = new pSd(a.e, 3, 13, null, (e = b.c, e ? e : (jGd(), YFd)), HLd(a, b), false);\n !c2 ? c2 = d : c2.Ei(d);\n return c2;\n }\n function STd(a, b, c2) {\n var d, e;\n d = new pSd(a.e, 4, 13, (e = b.c, e ? e : (jGd(), YFd)), null, HLd(a, b), false);\n !c2 ? c2 = d : c2.Ei(d);\n return c2;\n }\n function zId(a, b, c2) {\n var d, e;\n e = a.r;\n a.r = b;\n if ((a.Db & 4) != 0 && (a.Db & 1) == 0) {\n d = new nSd(a, 1, 8, e, a.r);\n !c2 ? c2 = d : c2.Ei(d);\n }\n return c2;\n }\n function o1d(a, b) {\n var c2, d;\n c2 = BD(b, 676);\n d = c2.vk();\n !d && c2.wk(d = JD(b, 88) ? new C1d(a, BD(b, 26)) : new O1d(a, BD(b, 148)));\n return d;\n }\n function kud(a, b, c2) {\n var d;\n a.qi(a.i + 1);\n d = a.oi(b, c2);\n b != a.i && $fb(a.g, b, a.g, b + 1, a.i - b);\n NC(a.g, b, d);\n ++a.i;\n a.bi(b, c2);\n a.ci();\n }\n function vwb(a, b) {\n var c2;\n if (b.a) {\n c2 = b.a.a.length;\n !a.a ? a.a = new Wfb(a.d) : Qfb(a.a, a.b);\n Ofb(a.a, b.a, b.d.length, c2);\n }\n return a;\n }\n function __d(a, b) {\n var c2, d, e, f2;\n b.vi(a.a);\n f2 = BD(Ajd(a.a, 8), 1936);\n if (f2 != null) {\n for (c2 = f2, d = 0, e = c2.length; d < e; ++d) {\n null.jm();\n }\n }\n }\n function TAb(a, b) {\n var c2;\n c2 = new NBb();\n if (!a.a.sd(c2)) {\n Tzb(a);\n return Atb(), Atb(), ztb;\n }\n return Atb(), new Ftb(uCb(SAb(a, c2.a, b)));\n }\n function CHc(a, b) {\n switch (b.g) {\n case 2:\n case 1:\n return V_b(a, b);\n case 3:\n case 4:\n return Su(V_b(a, b));\n }\n return mmb(), mmb(), jmb;\n }\n function pb(a, b) {\n return ND(a) ? dfb(a, b) : LD(a) ? Fdb(a, b) : KD(a) ? (uCb(a), PD(a) === PD(b)) : ID(a) ? a.Fb(b) : MC(a) ? mb(a, b) : qz(a, b);\n }\n function r6d(a) {\n return !a ? null : (a.i & 1) != 0 ? a == sbb ? wI : a == WD ? JI : a == VD ? FI : a == UD ? BI : a == XD ? MI : a == rbb ? UI : a == SD ? xI : yI : a;\n }\n function Fhb(a, b, c2, d, e) {\n if (b == 0 || d == 0) {\n return;\n }\n b == 1 ? e[d] = Hhb(e, c2, d, a[0]) : d == 1 ? e[b] = Hhb(e, a, b, c2[0]) : Ghb(a, c2, e, b, d);\n }\n function c6b(a, b) {\n var c2;\n if (a.c.length == 0) {\n return;\n }\n c2 = BD(Qkb(a, KC(OQ, kne, 10, a.c.length, 0, 1)), 193);\n Nlb(c2, new o6b());\n _5b(c2, b);\n }\n function i6b(a, b) {\n var c2;\n if (a.c.length == 0) {\n return;\n }\n c2 = BD(Qkb(a, KC(OQ, kne, 10, a.c.length, 0, 1)), 193);\n Nlb(c2, new t6b());\n _5b(c2, b);\n }\n function Ekd(a, b, c2, d) {\n switch (b) {\n case 1:\n return !a.n && (a.n = new cUd(D2, a, 1, 7)), a.n;\n case 2:\n return a.k;\n }\n return bkd(a, b, c2, d);\n }\n function ead() {\n ead = ccb;\n cad = new iad(ole, 0);\n bad = new iad(kle, 1);\n aad = new iad(jle, 2);\n _9c = new iad(vle, 3);\n dad = new iad(\"UP\", 4);\n }\n function RXb() {\n RXb = ccb;\n QXb = new SXb(ane, 0);\n PXb = new SXb(\"INSIDE_PORT_SIDE_GROUPS\", 1);\n OXb = new SXb(\"FORCE_MODEL_ORDER\", 2);\n }\n function xCb(a, b, c2) {\n if (a < 0 || b > c2) {\n throw vbb(new qcb(xke + a + zke + b + \", size: \" + c2));\n }\n if (a > b) {\n throw vbb(new Wdb(xke + a + yke + b));\n }\n }\n function eid(a, b, c2) {\n if (b < 0) {\n vid(a, c2);\n } else {\n if (!c2.Ij()) {\n throw vbb(new Wdb(ite + c2.ne() + jte));\n }\n BD(c2, 66).Nj().Vj(a, a.yh(), b);\n }\n }\n function Jlb(a, b, c2, d, e, f2, g, h) {\n var i3;\n i3 = c2;\n while (f2 < g) {\n i3 >= d || b < c2 && h.ue(a[b], a[i3]) <= 0 ? NC(e, f2++, a[b++]) : NC(e, f2++, a[i3++]);\n }\n }\n function yZb(a, b, c2, d, e, f2) {\n this.e = new Rkb();\n this.f = (KAc(), JAc);\n Ekb(this.e, a);\n this.d = b;\n this.a = c2;\n this.b = d;\n this.f = e;\n this.c = f2;\n }\n function VOd(a, b) {\n var c2, d;\n for (d = new Fyd(a); d.e != d.i.gc(); ) {\n c2 = BD(Dyd(d), 26);\n if (PD(b) === PD(c2)) {\n return true;\n }\n }\n return false;\n }\n function uJb(a) {\n qJb();\n var b, c2, d, e;\n for (c2 = wJb(), d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n if (Jkb(b.a, a, 0) != -1) {\n return b;\n }\n }\n return pJb;\n }\n function jFd(a) {\n if (a >= 65 && a <= 70) {\n return a - 65 + 10;\n }\n if (a >= 97 && a <= 102) {\n return a - 97 + 10;\n }\n if (a >= 48 && a <= 57) {\n return a - 48;\n }\n return 0;\n }\n function QHd(a) {\n var b;\n if ((a.Db & 64) != 0)\n return Eid(a);\n b = new Jfb(Eid(a));\n b.a += \" (source: \";\n Efb(b, a.d);\n b.a += \")\";\n return b.a;\n }\n function OQd(a, b, c2) {\n var d, e;\n e = a.a;\n a.a = b;\n if ((a.Db & 4) != 0 && (a.Db & 1) == 0) {\n d = new nSd(a, 1, 5, e, a.a);\n !c2 ? c2 = d : Qwd(c2, d);\n }\n return c2;\n }\n function BId(a, b) {\n var c2;\n c2 = (a.Bb & 256) != 0;\n b ? a.Bb |= 256 : a.Bb &= -257;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new qSd(a, 1, 2, c2, b));\n }\n function eLd(a, b) {\n var c2;\n c2 = (a.Bb & 256) != 0;\n b ? a.Bb |= 256 : a.Bb &= -257;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new qSd(a, 1, 8, c2, b));\n }\n function LPd(a, b) {\n var c2;\n c2 = (a.Bb & 256) != 0;\n b ? a.Bb |= 256 : a.Bb &= -257;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new qSd(a, 1, 8, c2, b));\n }\n function CId(a, b) {\n var c2;\n c2 = (a.Bb & 512) != 0;\n b ? a.Bb |= 512 : a.Bb &= -513;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new qSd(a, 1, 3, c2, b));\n }\n function fLd(a, b) {\n var c2;\n c2 = (a.Bb & 512) != 0;\n b ? a.Bb |= 512 : a.Bb &= -513;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new qSd(a, 1, 9, c2, b));\n }\n function N7d(a, b) {\n var c2;\n if (a.b == -1 && !!a.a) {\n c2 = a.a.Gj();\n a.b = !c2 ? bLd(a.c.Tg(), a.a) : a.c.Xg(a.a.aj(), c2);\n }\n return a.c.Og(a.b, b);\n }\n function meb(a) {\n var b, c2;\n if (a > -129 && a < 128) {\n b = a + 128;\n c2 = (oeb(), neb)[b];\n !c2 && (c2 = neb[b] = new _db(a));\n return c2;\n }\n return new _db(a);\n }\n function Web(a) {\n var b, c2;\n if (a > -129 && a < 128) {\n b = a + 128;\n c2 = (Yeb(), Xeb)[b];\n !c2 && (c2 = Xeb[b] = new Qeb(a));\n return c2;\n }\n return new Qeb(a);\n }\n function L5b(a) {\n var b, c2;\n b = a.k;\n if (b == (j0b(), e0b)) {\n c2 = BD(vNb(a, (wtc(), Hsc)), 61);\n return c2 == (Ucd(), Acd) || c2 == Rcd;\n }\n return false;\n }\n function i1d(a, b, c2) {\n var d, e, f2;\n f2 = (e = nUd(a.b, b), e);\n if (f2) {\n d = BD(V1d(p1d(a, f2), \"\"), 26);\n if (d) {\n return r1d(a, d, b, c2);\n }\n }\n return null;\n }\n function l1d(a, b, c2) {\n var d, e, f2;\n f2 = (e = nUd(a.b, b), e);\n if (f2) {\n d = BD(V1d(p1d(a, f2), \"\"), 26);\n if (d) {\n return s1d(a, d, b, c2);\n }\n }\n return null;\n }\n function cTd(a, b) {\n var c2, d;\n for (d = new Fyd(a); d.e != d.i.gc(); ) {\n c2 = BD(Dyd(d), 138);\n if (PD(b) === PD(c2)) {\n return true;\n }\n }\n return false;\n }\n function vtd(a, b, c2) {\n var d;\n d = a.gc();\n if (b > d)\n throw vbb(new Cyd(b, d));\n if (a.hi() && a.Hc(c2)) {\n throw vbb(new Wdb(kue));\n }\n a.Xh(b, c2);\n }\n function iqd(a, b) {\n var c2;\n c2 = oo(a.i, b);\n if (c2 == null) {\n throw vbb(new cqd(\"Node did not exist in input.\"));\n }\n Yqd(b, c2);\n return null;\n }\n function $hd(a, b) {\n var c2;\n c2 = YKd(a, b);\n if (JD(c2, 322)) {\n return BD(c2, 34);\n }\n throw vbb(new Wdb(ite + b + \"' is not a valid attribute\"));\n }\n function V2d(a, b, c2) {\n var d, e;\n e = JD(b, 99) && (BD(b, 18).Bb & Tje) != 0 ? new s4d(b, a) : new p4d(b, a);\n for (d = 0; d < c2; ++d) {\n d4d(e);\n }\n return e;\n }\n function ede(a) {\n var b, c2, d;\n d = 0;\n c2 = a.length;\n for (b = 0; b < c2; b++) {\n a[b] == 32 || a[b] == 13 || a[b] == 10 || a[b] == 9 || (a[d++] = a[b]);\n }\n return d;\n }\n function lYb(a) {\n var b, c2, d;\n b = new Rkb();\n for (d = new olb(a.b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 594);\n Gkb(b, BD(c2.jf(), 14));\n }\n return b;\n }\n function SSc(a) {\n var b, c2, d;\n b = BD(vNb(a, (mTc(), gTc)), 15);\n for (d = b.Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 188);\n Dsb(c2.b.d, c2);\n Dsb(c2.c.b, c2);\n }\n }\n function b5b(a) {\n switch (BD(vNb(a, (wtc(), Osc)), 303).g) {\n case 1:\n yNb(a, Osc, (esc(), bsc));\n break;\n case 2:\n yNb(a, Osc, (esc(), dsc));\n }\n }\n function _Fc(a) {\n var b;\n if (a.g) {\n b = a.c.Rf() ? a.f : a.a;\n bGc(b.a, a.o, true);\n bGc(b.a, a.o, false);\n yNb(a.o, (Nyc(), Vxc), (dcd(), Zbd));\n }\n }\n function loc(a) {\n var b;\n if (!a.a) {\n throw vbb(new Zdb(\"Cannot offset an unassigned cut.\"));\n }\n b = a.c - a.b;\n a.b += b;\n noc(a, b);\n ooc(a, b);\n }\n function ckb(a) {\n var b;\n b = a.a[a.c - 1 & a.a.length - 1];\n if (b == null) {\n return null;\n }\n a.c = a.c - 1 & a.a.length - 1;\n NC(a.a, a.c, null);\n return b;\n }\n function zGb(a) {\n var b, c2;\n for (c2 = a.p.a.ec().Kc(); c2.Ob(); ) {\n b = BD(c2.Pb(), 213);\n if (b.f && a.b[b.c] < -1e-10) {\n return b;\n }\n }\n return null;\n }\n function bLb(a, b) {\n switch (a.b.g) {\n case 0:\n case 1:\n return b;\n case 2:\n case 3:\n return new J6c(b.d, 0, b.a, b.b);\n default:\n return null;\n }\n }\n function had(a) {\n switch (a.g) {\n case 2:\n return bad;\n case 1:\n return aad;\n case 4:\n return _9c;\n case 3:\n return dad;\n default:\n return cad;\n }\n }\n function Vcd(a) {\n switch (a.g) {\n case 1:\n return Tcd;\n case 2:\n return Acd;\n case 3:\n return zcd;\n case 4:\n return Rcd;\n default:\n return Scd;\n }\n }\n function Wcd(a) {\n switch (a.g) {\n case 1:\n return Rcd;\n case 2:\n return Tcd;\n case 3:\n return Acd;\n case 4:\n return zcd;\n default:\n return Scd;\n }\n }\n function Xcd(a) {\n switch (a.g) {\n case 1:\n return zcd;\n case 2:\n return Rcd;\n case 3:\n return Tcd;\n case 4:\n return Acd;\n default:\n return Scd;\n }\n }\n function DPc(a) {\n switch (a) {\n case 0:\n return new OPc();\n case 1:\n return new EPc();\n case 2:\n return new JPc();\n default:\n throw vbb(new Vdb());\n }\n }\n function Kdb(a, b) {\n if (a < b) {\n return -1;\n }\n if (a > b) {\n return 1;\n }\n if (a == b) {\n return a == 0 ? Kdb(1 / a, 1 / b) : 0;\n }\n return isNaN(a) ? isNaN(b) ? 0 : 1 : -1;\n }\n function f4b(a, b) {\n Odd(b, \"Sort end labels\", 1);\n MAb(JAb(LAb(new YAb(null, new Kub(a.b, 16)), new q4b()), new s4b()), new u4b());\n Qdd(b);\n }\n function Wxd(a, b, c2) {\n var d, e;\n if (a.ej()) {\n e = a.fj();\n d = sud(a, b, c2);\n a.$i(a.Zi(7, meb(c2), d, b, e));\n return d;\n } else {\n return sud(a, b, c2);\n }\n }\n function vAd(a, b) {\n var c2, d, e;\n if (a.d == null) {\n ++a.e;\n --a.f;\n } else {\n e = b.cd();\n c2 = b.Sh();\n d = (c2 & Ohe) % a.d.length;\n KAd(a, d, xAd(a, d, c2, e));\n }\n }\n function ZId(a, b) {\n var c2;\n c2 = (a.Bb & zte) != 0;\n b ? a.Bb |= zte : a.Bb &= -1025;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new qSd(a, 1, 10, c2, b));\n }\n function dJd(a, b) {\n var c2;\n c2 = (a.Bb & Rje) != 0;\n b ? a.Bb |= Rje : a.Bb &= -4097;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new qSd(a, 1, 12, c2, b));\n }\n function eJd(a, b) {\n var c2;\n c2 = (a.Bb & Cve) != 0;\n b ? a.Bb |= Cve : a.Bb &= -8193;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new qSd(a, 1, 15, c2, b));\n }\n function fJd(a, b) {\n var c2;\n c2 = (a.Bb & Dve) != 0;\n b ? a.Bb |= Dve : a.Bb &= -2049;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new qSd(a, 1, 11, c2, b));\n }\n function jOb(a, b) {\n var c2;\n c2 = Kdb(a.b.c, b.b.c);\n if (c2 != 0) {\n return c2;\n }\n c2 = Kdb(a.a.a, b.a.a);\n if (c2 != 0) {\n return c2;\n }\n return Kdb(a.a.b, b.a.b);\n }\n function jqd(a, b) {\n var c2;\n c2 = Ohb(a.k, b);\n if (c2 == null) {\n throw vbb(new cqd(\"Port did not exist in input.\"));\n }\n Yqd(b, c2);\n return null;\n }\n function k6d(a) {\n var b, c2;\n for (c2 = l6d(bKd(a)).Kc(); c2.Ob(); ) {\n b = GD(c2.Pb());\n if (Dmd(a, b)) {\n return uFd((tFd(), sFd), b);\n }\n }\n return null;\n }\n function n3d(a, b) {\n var c2, d, e, f2, g;\n g = S6d(a.e.Tg(), b);\n f2 = 0;\n c2 = BD(a.g, 119);\n for (e = 0; e < a.i; ++e) {\n d = c2[e];\n g.rl(d.ak()) && ++f2;\n }\n return f2;\n }\n function Vsd(a, b, c2) {\n var d, e;\n d = BD(b.We(a.a), 35);\n e = BD(c2.We(a.a), 35);\n return d != null && e != null ? Fcb(d, e) : d != null ? -1 : e != null ? 1 : 0;\n }\n function ved(a, b, c2) {\n var d, e;\n if (a.c) {\n Efd(a.c, b, c2);\n } else {\n for (e = new olb(a.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 157);\n ved(d, b, c2);\n }\n }\n }\n function RUb(a, b) {\n var c2, d;\n for (d = new olb(b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 46);\n Lkb(a.b.b, c2.b);\n fVb(BD(c2.a, 189), BD(c2.b, 81));\n }\n }\n function tr(a) {\n var b, c2;\n c2 = Kfb(new Ufb(), 91);\n b = true;\n while (a.Ob()) {\n b || (c2.a += She, c2);\n b = false;\n Pfb(c2, a.Pb());\n }\n return (c2.a += \"]\", c2).a;\n }\n function aJd(a, b) {\n var c2;\n c2 = (a.Bb & oie) != 0;\n b ? a.Bb |= oie : a.Bb &= -16385;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new qSd(a, 1, 16, c2, b));\n }\n function MJd(a, b) {\n var c2;\n c2 = (a.Bb & ote) != 0;\n b ? a.Bb |= ote : a.Bb &= -32769;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new qSd(a, 1, 18, c2, b));\n }\n function CUd(a, b) {\n var c2;\n c2 = (a.Bb & ote) != 0;\n b ? a.Bb |= ote : a.Bb &= -32769;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new qSd(a, 1, 18, c2, b));\n }\n function EUd(a, b) {\n var c2;\n c2 = (a.Bb & Tje) != 0;\n b ? a.Bb |= Tje : a.Bb &= -65537;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new qSd(a, 1, 20, c2, b));\n }\n function Tee(a) {\n var b;\n b = KC(TD, $ie, 25, 2, 15, 1);\n a -= Tje;\n b[0] = (a >> 10) + Uje & aje;\n b[1] = (a & 1023) + 56320 & aje;\n return zfb(b, 0, b.length);\n }\n function a_b(a) {\n var b, c2;\n c2 = BD(vNb(a, (Nyc(), Lwc)), 103);\n if (c2 == (ead(), cad)) {\n b = Edb(ED(vNb(a, owc)));\n return b >= 1 ? bad : _9c;\n }\n return c2;\n }\n function rec(a) {\n switch (BD(vNb(a, (Nyc(), Swc)), 218).g) {\n case 1:\n return new Fmc();\n case 3:\n return new wnc();\n default:\n return new zmc();\n }\n }\n function Uzb(a) {\n if (a.c) {\n Uzb(a.c);\n } else if (a.d) {\n throw vbb(new Zdb(\"Stream already terminated, can't be modified or used\"));\n }\n }\n function Mkd(a) {\n var b;\n if ((a.Db & 64) != 0)\n return Eid(a);\n b = new Jfb(Eid(a));\n b.a += \" (identifier: \";\n Efb(b, a.k);\n b.a += \")\";\n return b.a;\n }\n function ctd(a, b, c2) {\n var d, e;\n d = (Fhd(), e = new xkd(), e);\n vkd(d, b);\n wkd(d, c2);\n !!a && wtd((!a.a && (a.a = new xMd(y2, a, 5)), a.a), d);\n return d;\n }\n function ttb(a, b, c2, d) {\n var e, f2;\n uCb(d);\n uCb(c2);\n e = a.xc(b);\n f2 = e == null ? c2 : Myb(BD(e, 15), BD(c2, 14));\n f2 == null ? a.Bc(b) : a.zc(b, f2);\n return f2;\n }\n function pqb(a) {\n var b, c2, d, e;\n c2 = (b = BD(gdb((d = a.gm, e = d.f, e == CI ? d : e)), 9), new xqb(b, BD(_Bb(b, b.length), 9), 0));\n rqb(c2, a);\n return c2;\n }\n function hDc(a, b, c2) {\n var d, e;\n for (e = a.a.ec().Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 10);\n if (Be(c2, BD(Ikb(b, d.p), 14))) {\n return d;\n }\n }\n return null;\n }\n function Db(b, c2, d) {\n var e;\n try {\n Cb(b, c2, d);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 597)) {\n e = a;\n throw vbb(new ycb(e));\n } else\n throw vbb(a);\n }\n return c2;\n }\n function Qbb(a, b) {\n var c2;\n if (Fbb(a) && Fbb(b)) {\n c2 = a - b;\n if (Kje < c2 && c2 < Ije) {\n return c2;\n }\n }\n return zbb(nD(Fbb(a) ? Rbb(a) : a, Fbb(b) ? Rbb(b) : b));\n }\n function wbb(a, b) {\n var c2;\n if (Fbb(a) && Fbb(b)) {\n c2 = a + b;\n if (Kje < c2 && c2 < Ije) {\n return c2;\n }\n }\n return zbb(cD(Fbb(a) ? Rbb(a) : a, Fbb(b) ? Rbb(b) : b));\n }\n function Ibb(a, b) {\n var c2;\n if (Fbb(a) && Fbb(b)) {\n c2 = a * b;\n if (Kje < c2 && c2 < Ije) {\n return c2;\n }\n }\n return zbb(gD(Fbb(a) ? Rbb(a) : a, Fbb(b) ? Rbb(b) : b));\n }\n function V_b(a, b) {\n var c2;\n a.i || N_b(a);\n c2 = BD(Mpb(a.g, b), 46);\n return !c2 ? (mmb(), mmb(), jmb) : new Jib(a.j, BD(c2.a, 19).a, BD(c2.b, 19).a);\n }\n function Drb(a, b, c2) {\n var d;\n d = a.a.get(b);\n a.a.set(b, c2 === void 0 ? null : c2);\n if (d === void 0) {\n ++a.c;\n zpb(a.b);\n } else {\n ++a.d;\n }\n return d;\n }\n function kNb(a, b, c2) {\n a.n = IC(XD, [nie, Sje], [364, 25], 14, [c2, QD($wnd.Math.ceil(b / 32))], 2);\n a.o = b;\n a.p = c2;\n a.j = b - 1 >> 1;\n a.k = c2 - 1 >> 1;\n }\n function Gub() {\n zub();\n var a, b, c2;\n c2 = yub++ + Date.now();\n a = QD($wnd.Math.floor(c2 * lke)) & nke;\n b = QD(c2 - a * mke);\n this.a = a ^ 1502;\n this.b = b ^ kke;\n }\n function O_b(a) {\n var b, c2, d;\n b = new Rkb();\n for (d = new olb(a.j); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 11);\n Ekb(b, c2.b);\n }\n return Qb(b), new sl(b);\n }\n function R_b(a) {\n var b, c2, d;\n b = new Rkb();\n for (d = new olb(a.j); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 11);\n Ekb(b, c2.e);\n }\n return Qb(b), new sl(b);\n }\n function U_b(a) {\n var b, c2, d;\n b = new Rkb();\n for (d = new olb(a.j); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 11);\n Ekb(b, c2.g);\n }\n return Qb(b), new sl(b);\n }\n function n6d(a) {\n var b, c2;\n for (c2 = o6d(bKd(WId(a))).Kc(); c2.Ob(); ) {\n b = GD(c2.Pb());\n if (Dmd(a, b))\n return FFd((EFd(), DFd), b);\n }\n return null;\n }\n function wm(a) {\n var b, c2, d;\n for (c2 = 0, d = a.length; c2 < d; c2++) {\n if (a[c2] == null) {\n throw vbb(new Heb(\"at index \" + c2));\n }\n }\n b = a;\n return new amb(b);\n }\n function wid(a, b) {\n var c2;\n c2 = YKd(a.Tg(), b);\n if (JD(c2, 99)) {\n return BD(c2, 18);\n }\n throw vbb(new Wdb(ite + b + \"' is not a valid reference\"));\n }\n function Tdb(a) {\n var b;\n b = Hcb(a);\n if (b > 34028234663852886e22) {\n return Pje;\n } else if (b < -34028234663852886e22) {\n return Qje;\n }\n return b;\n }\n function aeb(a) {\n a -= a >> 1 & 1431655765;\n a = (a >> 2 & 858993459) + (a & 858993459);\n a = (a >> 4) + a & 252645135;\n a += a >> 8;\n a += a >> 16;\n return a & 63;\n }\n function Ev(a) {\n var b, c2, d, e;\n b = new cq(a.Hd().gc());\n e = 0;\n for (d = vr(a.Hd().Kc()); d.Ob(); ) {\n c2 = d.Pb();\n bq(b, c2, meb(e++));\n }\n return fn(b.a);\n }\n function Uyb(a, b) {\n var c2, d, e;\n e = new Lqb();\n for (d = b.vc().Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 42);\n Rhb(e, c2.cd(), Yyb(a, BD(c2.dd(), 15)));\n }\n return e;\n }\n function EZc(a, b) {\n a.n.c.length == 0 && Ekb(a.n, new VZc(a.s, a.t, a.i));\n Ekb(a.b, b);\n QZc(BD(Ikb(a.n, a.n.c.length - 1), 211), b);\n GZc(a, b);\n }\n function LFb(a) {\n if (a.c != a.b.b || a.i != a.g.b) {\n a.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n Gkb(a.a, a.b);\n Gkb(a.a, a.g);\n a.c = a.b.b;\n a.i = a.g.b;\n }\n return a.a;\n }\n function Ycc(a, b) {\n var c2, d, e;\n e = 0;\n for (d = BD(b.Kb(a), 20).Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 17);\n Ccb(DD(vNb(c2, (wtc(), ltc)))) || ++e;\n }\n return e;\n }\n function efc(a, b) {\n var c2, d, e;\n d = tgc(b);\n e = Edb(ED(pBc(d, (Nyc(), lyc))));\n c2 = $wnd.Math.max(0, e / 2 - 0.5);\n cfc(b, c2, 1);\n Ekb(a, new Dfc(b, c2));\n }\n function Ctc() {\n Ctc = ccb;\n Btc = new Dtc(ane, 0);\n xtc = new Dtc(\"FIRST\", 1);\n ytc = new Dtc(Gne, 2);\n ztc = new Dtc(\"LAST\", 3);\n Atc = new Dtc(Hne, 4);\n }\n function Aad() {\n Aad = ccb;\n zad = new Bad(ole, 0);\n xad = new Bad(\"POLYLINE\", 1);\n wad = new Bad(\"ORTHOGONAL\", 2);\n yad = new Bad(\"SPLINES\", 3);\n }\n function zYc() {\n zYc = ccb;\n xYc = new AYc(\"ASPECT_RATIO_DRIVEN\", 0);\n yYc = new AYc(\"MAX_SCALE_DRIVEN\", 1);\n wYc = new AYc(\"AREA_DRIVEN\", 2);\n }\n function Y$c() {\n Y$c = ccb;\n V$c = new Z$c(\"P1_STRUCTURE\", 0);\n W$c = new Z$c(\"P2_PROCESSING_ORDER\", 1);\n X$c = new Z$c(\"P3_EXECUTION\", 2);\n }\n function tVc() {\n tVc = ccb;\n sVc = new uVc(\"OVERLAP_REMOVAL\", 0);\n qVc = new uVc(\"COMPACTION\", 1);\n rVc = new uVc(\"GRAPH_SIZE_CALCULATION\", 2);\n }\n function Jy(a, b) {\n Iy();\n return My(Qie), $wnd.Math.abs(a - b) <= Qie || a == b || isNaN(a) && isNaN(b) ? 0 : a < b ? -1 : a > b ? 1 : Ny(isNaN(a), isNaN(b));\n }\n function yOc(a, b) {\n var c2, d;\n c2 = Jsb(a, 0);\n while (c2.b != c2.d.c) {\n d = Gdb(ED(Xsb(c2)));\n if (d == b) {\n return;\n } else if (d > b) {\n Ysb(c2);\n break;\n }\n }\n Vsb(c2, b);\n }\n function t4c(a, b) {\n var c2, d, e, f2, g;\n c2 = b.f;\n Xrb(a.c.d, c2, b);\n if (b.g != null) {\n for (e = b.g, f2 = 0, g = e.length; f2 < g; ++f2) {\n d = e[f2];\n Xrb(a.c.e, d, b);\n }\n }\n }\n function Ilb(a, b, c2, d) {\n var e, f2, g;\n for (e = b + 1; e < c2; ++e) {\n for (f2 = e; f2 > b && d.ue(a[f2 - 1], a[f2]) > 0; --f2) {\n g = a[f2];\n NC(a, f2, a[f2 - 1]);\n NC(a, f2 - 1, g);\n }\n }\n }\n function did(a, b, c2, d) {\n if (b < 0) {\n uid(a, c2, d);\n } else {\n if (!c2.Ij()) {\n throw vbb(new Wdb(ite + c2.ne() + jte));\n }\n BD(c2, 66).Nj().Tj(a, a.yh(), b, d);\n }\n }\n function xFb(a, b) {\n if (b == a.d) {\n return a.e;\n } else if (b == a.e) {\n return a.d;\n } else {\n throw vbb(new Wdb(\"Node \" + b + \" not part of edge \" + a));\n }\n }\n function iEb(a, b) {\n switch (b.g) {\n case 2:\n return a.b;\n case 1:\n return a.c;\n case 4:\n return a.d;\n case 3:\n return a.a;\n default:\n return false;\n }\n }\n function GVb(a, b) {\n switch (b.g) {\n case 2:\n return a.b;\n case 1:\n return a.c;\n case 4:\n return a.d;\n case 3:\n return a.a;\n default:\n return false;\n }\n }\n function Xkd(a, b, c2, d) {\n switch (b) {\n case 3:\n return a.f;\n case 4:\n return a.g;\n case 5:\n return a.i;\n case 6:\n return a.j;\n }\n return Ekd(a, b, c2, d);\n }\n function Ljc(a) {\n if (a.k != (j0b(), h0b)) {\n return false;\n }\n return FAb(new YAb(null, new Lub(new Sr(ur(U_b(a).a.Kc(), new Sq())))), new Mjc());\n }\n function MEd(a) {\n if (a.e == null) {\n return a;\n } else\n !a.c && (a.c = new NEd((a.f & 256) != 0, a.i, a.a, a.d, (a.f & 16) != 0, a.j, a.g, null));\n return a.c;\n }\n function VC(a, b) {\n if (a.h == Gje && a.m == 0 && a.l == 0) {\n b && (QC = TC(0, 0, 0));\n return SC((wD(), uD));\n }\n b && (QC = TC(a.l, a.m, a.h));\n return TC(0, 0, 0);\n }\n function fcb(a) {\n var b;\n if (Array.isArray(a) && a.im === gcb) {\n return hdb(rb(a)) + \"@\" + (b = tb(a) >>> 0, b.toString(16));\n }\n return a.toString();\n }\n function Rpb(a) {\n var b;\n this.a = (b = BD(a.e && a.e(), 9), new xqb(b, BD(_Bb(b, b.length), 9), 0));\n this.b = KC(SI, Uhe, 1, this.a.a.length, 5, 1);\n }\n function _Ob(a) {\n var b, c2, d;\n this.a = new zsb();\n for (d = new olb(a); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 14);\n b = new MOb();\n GOb(b, c2);\n Qqb(this.a, b);\n }\n }\n function cKb(a) {\n $Jb();\n var b, c2, d, e;\n b = a.o.b;\n for (d = BD(BD(Qc(a.r, (Ucd(), Rcd)), 21), 84).Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 111);\n e = c2.e;\n e.b += b;\n }\n }\n function ag(a) {\n var b;\n if (a.b) {\n ag(a.b);\n if (a.b.d != a.c) {\n throw vbb(new Apb());\n }\n } else if (a.d.dc()) {\n b = BD(a.f.c.xc(a.e), 14);\n !!b && (a.d = b);\n }\n }\n function fFd(a) {\n var b;\n if (a == null)\n return true;\n b = a.length;\n return b > 0 && (BCb(b - 1, a.length), a.charCodeAt(b - 1) == 58) && !OEd(a, CEd, DEd);\n }\n function OEd(a, b, c2) {\n var d, e;\n for (d = 0, e = a.length; d < e; d++) {\n if (_Ed((BCb(d, a.length), a.charCodeAt(d)), b, c2))\n return true;\n }\n return false;\n }\n function JOb(a, b) {\n var c2, d;\n for (d = a.e.a.ec().Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 266);\n if (t6c(b, c2.d) || o6c(b, c2.d)) {\n return true;\n }\n }\n return false;\n }\n function Q9b(a, b) {\n var c2, d, e;\n d = N9b(a, b);\n e = d[d.length - 1] / 2;\n for (c2 = 0; c2 < d.length; c2++) {\n if (d[c2] >= e) {\n return b.c + c2;\n }\n }\n return b.c + b.b.gc();\n }\n function NCd(a, b) {\n LCd();\n var c2, d, e, f2;\n d = KLd(a);\n e = b;\n Klb(d, 0, d.length, e);\n for (c2 = 0; c2 < d.length; c2++) {\n f2 = MCd(a, d[c2], c2);\n c2 != f2 && Wxd(a, c2, f2);\n }\n }\n function EHb(a, b) {\n var c2, d, e, f2, g, h;\n d = 0;\n c2 = 0;\n for (f2 = b, g = 0, h = f2.length; g < h; ++g) {\n e = f2[g];\n if (e > 0) {\n d += e;\n ++c2;\n }\n }\n c2 > 1 && (d += a.d * (c2 - 1));\n return d;\n }\n function Htd(a) {\n var b, c2, d;\n d = new Hfb();\n d.a += \"[\";\n for (b = 0, c2 = a.gc(); b < c2; ) {\n Efb(d, xfb(a.ki(b)));\n ++b < c2 && (d.a += She, d);\n }\n d.a += \"]\";\n return d.a;\n }\n function fsd(a) {\n var b, c2, d, e, f2;\n f2 = hsd(a);\n c2 = Fhe(a.c);\n d = !c2;\n if (d) {\n e = new wB();\n cC(f2, \"knownLayouters\", e);\n b = new qsd(e);\n reb(a.c, b);\n }\n return f2;\n }\n function Ce(a, b) {\n var c2, d, e;\n uCb(b);\n c2 = false;\n for (d = new olb(a); d.a < d.c.c.length; ) {\n e = mlb(d);\n if (ze(b, e, false)) {\n nlb(d);\n c2 = true;\n }\n }\n return c2;\n }\n function UGb(a) {\n var b, c2, d;\n d = Edb(ED(a.a.We((Y9c(), Q9c))));\n for (c2 = new olb(a.a.xf()); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 680);\n XGb(a, b, d);\n }\n }\n function MUb(a, b) {\n var c2, d;\n for (d = new olb(b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 46);\n Ekb(a.b.b, BD(c2.b, 81));\n eVb(BD(c2.a, 189), BD(c2.b, 81));\n }\n }\n function XCc(a, b, c2) {\n var d, e;\n e = a.a.b;\n for (d = e.c.length; d < c2; d++) {\n Dkb(e, 0, new H1b(a.a));\n }\n $_b(b, BD(Ikb(e, e.c.length - c2), 29));\n a.b[b.p] = c2;\n }\n function JTb(a, b, c2) {\n var d;\n d = c2;\n !d && (d = Ydd(new Zdd(), 0));\n Odd(d, Vme, 2);\n qZb(a.b, b, Udd(d, 1));\n LTb(a, b, Udd(d, 1));\n _Yb(b, Udd(d, 1));\n Qdd(d);\n }\n function eKc(a, b, c2, d, e) {\n FJc();\n AFb(DFb(CFb(BFb(EFb(new FFb(), 0), e.d.e - a), b), e.d));\n AFb(DFb(CFb(BFb(EFb(new FFb(), 0), c2 - e.a.e), e.a), d));\n }\n function e$c(a, b, c2, d, e, f2) {\n this.a = a;\n this.c = b;\n this.b = c2;\n this.f = d;\n this.d = e;\n this.e = f2;\n this.c > 0 && this.b > 0 && q$c(this.c, this.b, this.a);\n }\n function ezc(a) {\n dzc();\n this.c = Ou(OC(GC(h0, 1), Uhe, 831, 0, [Uyc]));\n this.b = new Lqb();\n this.a = a;\n Rhb(this.b, bzc, 1);\n Hkb(czc, new Xed(this));\n }\n function I2c(a, b) {\n var c2;\n if (a.d) {\n if (Mhb(a.b, b)) {\n return BD(Ohb(a.b, b), 51);\n } else {\n c2 = b.Kf();\n Rhb(a.b, b, c2);\n return c2;\n }\n } else {\n return b.Kf();\n }\n }\n function Kgb(a, b) {\n var c2;\n if (PD(a) === PD(b)) {\n return true;\n }\n if (JD(b, 91)) {\n c2 = BD(b, 91);\n return a.e == c2.e && a.d == c2.d && Lgb(a, c2.a);\n }\n return false;\n }\n function Zcd(a) {\n Ucd();\n switch (a.g) {\n case 4:\n return Acd;\n case 1:\n return zcd;\n case 3:\n return Rcd;\n case 2:\n return Tcd;\n default:\n return Scd;\n }\n }\n function Ykd(a, b) {\n switch (b) {\n case 3:\n return a.f != 0;\n case 4:\n return a.g != 0;\n case 5:\n return a.i != 0;\n case 6:\n return a.j != 0;\n }\n return Hkd(a, b);\n }\n function gWc(a) {\n switch (a.g) {\n case 0:\n return new FXc();\n case 1:\n return new IXc();\n default:\n throw vbb(new Wdb(jre + (a.f != null ? a.f : \"\" + a.g)));\n }\n }\n function QUc(a) {\n switch (a.g) {\n case 0:\n return new CXc();\n case 1:\n return new MXc();\n default:\n throw vbb(new Wdb(Dne + (a.f != null ? a.f : \"\" + a.g)));\n }\n }\n function b1c(a) {\n switch (a.g) {\n case 0:\n return new s1c();\n case 1:\n return new w1c();\n default:\n throw vbb(new Wdb(Mre + (a.f != null ? a.f : \"\" + a.g)));\n }\n }\n function qWc(a) {\n switch (a.g) {\n case 1:\n return new SVc();\n case 2:\n return new KVc();\n default:\n throw vbb(new Wdb(jre + (a.f != null ? a.f : \"\" + a.g)));\n }\n }\n function ryb(a) {\n var b, c2;\n if (a.b) {\n return a.b;\n }\n c2 = lyb ? null : a.d;\n while (c2) {\n b = lyb ? null : c2.b;\n if (b) {\n return b;\n }\n c2 = lyb ? null : c2.d;\n }\n return $xb(), Zxb;\n }\n function hhb(a) {\n var b, c2, d;\n if (a.e == 0) {\n return 0;\n }\n b = a.d << 5;\n c2 = a.a[a.d - 1];\n if (a.e < 0) {\n d = Mgb(a);\n if (d == a.d - 1) {\n --c2;\n c2 = c2 | 0;\n }\n }\n b -= heb(c2);\n return b;\n }\n function bhb(a) {\n var b, c2, d;\n if (a < Fgb.length) {\n return Fgb[a];\n }\n c2 = a >> 5;\n b = a & 31;\n d = KC(WD, oje, 25, c2 + 1, 15, 1);\n d[c2] = 1 << b;\n return new Vgb(1, c2 + 1, d);\n }\n function O2b(a) {\n var b, c2, d;\n c2 = a.zg();\n if (c2) {\n b = a.Ug();\n if (JD(b, 160)) {\n d = O2b(BD(b, 160));\n if (d != null) {\n return d + \".\" + c2;\n }\n }\n return c2;\n }\n return null;\n }\n function ze(a, b, c2) {\n var d, e;\n for (e = a.Kc(); e.Ob(); ) {\n d = e.Pb();\n if (PD(b) === PD(d) || b != null && pb(b, d)) {\n c2 && e.Qb();\n return true;\n }\n }\n return false;\n }\n function zvd(a, b, c2) {\n var d, e;\n ++a.j;\n if (c2.dc()) {\n return false;\n } else {\n for (e = c2.Kc(); e.Ob(); ) {\n d = e.Pb();\n a.Hi(b, a.oi(b, d));\n ++b;\n }\n return true;\n }\n }\n function yA(a, b, c2, d) {\n var e, f2;\n f2 = c2 - b;\n if (f2 < 3) {\n while (f2 < 3) {\n a *= 10;\n ++f2;\n }\n } else {\n e = 1;\n while (f2 > 3) {\n e *= 10;\n --f2;\n }\n a = (a + (e >> 1)) / e | 0;\n }\n d.i = a;\n return true;\n }\n function XUb(a) {\n LUb();\n return Bcb(), GVb(BD(a.a, 81).j, BD(a.b, 103)) || BD(a.a, 81).d.e != 0 && GVb(BD(a.a, 81).j, BD(a.b, 103)) ? true : false;\n }\n function s3c(a) {\n p3c();\n if (BD(a.We((Y9c(), b9c)), 174).Hc((Idd(), Gdd))) {\n BD(a.We(x9c), 174).Fc((rcd(), qcd));\n BD(a.We(b9c), 174).Mc(Gdd);\n }\n }\n function Gxd(a, b) {\n var c2, d;\n if (!b) {\n return false;\n } else {\n for (c2 = 0; c2 < a.i; ++c2) {\n d = BD(a.g[c2], 366);\n if (d.Di(b)) {\n return false;\n }\n }\n return wtd(a, b);\n }\n }\n function pvd(a) {\n var b, c2, d, e;\n b = new wB();\n for (e = new Dnb(a.b.Kc()); e.b.Ob(); ) {\n d = BD(e.b.Pb(), 686);\n c2 = lsd(d);\n uB(b, b.a.length, c2);\n }\n return b.a;\n }\n function cLb(a) {\n var b;\n !a.c && (a.c = new VKb());\n Okb(a.d, new jLb());\n _Kb(a);\n b = UKb(a);\n MAb(new YAb(null, new Kub(a.d, 16)), new CLb(a));\n return b;\n }\n function mKd(a) {\n var b;\n if ((a.Db & 64) != 0)\n return qnd(a);\n b = new Jfb(qnd(a));\n b.a += \" (instanceClassName: \";\n Efb(b, a.D);\n b.a += \")\";\n return b.a;\n }\n function Pqd(a, b) {\n var c2, d, e, f2;\n if (b) {\n e = Xpd(b, \"x\");\n c2 = new bsd(a);\n hmd(c2.a, (uCb(e), e));\n f2 = Xpd(b, \"y\");\n d = new csd(a);\n imd(d.a, (uCb(f2), f2));\n }\n }\n function Eqd(a, b) {\n var c2, d, e, f2;\n if (b) {\n e = Xpd(b, \"x\");\n c2 = new Yrd(a);\n omd(c2.a, (uCb(e), e));\n f2 = Xpd(b, \"y\");\n d = new _rd(a);\n pmd(d.a, (uCb(f2), f2));\n }\n }\n function bLd(a, b) {\n var c2, d, e;\n c2 = (a.i == null && TKd(a), a.i);\n d = b.aj();\n if (d != -1) {\n for (e = c2.length; d < e; ++d) {\n if (c2[d] == b) {\n return d;\n }\n }\n }\n return -1;\n }\n function tNd(a) {\n var b, c2, d, e, f2;\n c2 = BD(a.g, 674);\n for (d = a.i - 1; d >= 0; --d) {\n b = c2[d];\n for (e = 0; e < d; ++e) {\n f2 = c2[e];\n if (uNd(a, b, f2)) {\n tud(a, d);\n break;\n }\n }\n }\n }\n function jCb(b) {\n var c2 = b.e;\n function d(a) {\n if (!a || a.length == 0) {\n return \"\";\n }\n return \"\t\" + a.join(\"\\n\t\");\n }\n return c2 && (c2.stack || d(b[Yie]));\n }\n function nm(a) {\n im();\n var b;\n b = a.Pc();\n switch (b.length) {\n case 0:\n return hm;\n case 1:\n return new my(Qb(b[0]));\n default:\n return new ux(wm(b));\n }\n }\n function W_b(a, b) {\n switch (b.g) {\n case 1:\n return Nq(a.j, (z0b(), u0b));\n case 2:\n return Nq(a.j, (z0b(), w0b));\n default:\n return mmb(), mmb(), jmb;\n }\n }\n function $kd(a, b) {\n switch (b) {\n case 3:\n ald(a, 0);\n return;\n case 4:\n cld(a, 0);\n return;\n case 5:\n dld(a, 0);\n return;\n case 6:\n eld(a, 0);\n return;\n }\n Jkd(a, b);\n }\n function dzc() {\n dzc = ccb;\n Vyc();\n bzc = (Nyc(), vyc);\n czc = Ou(OC(GC(Q3, 1), zqe, 146, 0, [kyc, lyc, nyc, oyc, ryc, syc, tyc, uyc, xyc, zyc, myc, pyc, wyc]));\n }\n function Y9b(a) {\n var b, c2;\n b = a.d == (Apc(), vpc);\n c2 = U9b(a);\n b && !c2 || !b && c2 ? yNb(a.a, (Nyc(), mwc), (F7c(), D7c)) : yNb(a.a, (Nyc(), mwc), (F7c(), C7c));\n }\n function XAb(a, b) {\n var c2;\n c2 = BD(GAb(a, Byb(new fzb(), new dzb(), new Ezb(), OC(GC(xL, 1), Kie, 132, 0, [(Fyb(), Dyb)]))), 15);\n return c2.Qc(aBb(c2.gc()));\n }\n function Ded() {\n Ded = ccb;\n Ced = new Eed(\"SIMPLE\", 0);\n zed = new Eed(\"GROUP_DEC\", 1);\n Bed = new Eed(\"GROUP_MIXED\", 2);\n Aed = new Eed(\"GROUP_INC\", 3);\n }\n function CWd() {\n CWd = ccb;\n AWd = new DWd();\n tWd = new GWd();\n uWd = new JWd();\n vWd = new MWd();\n wWd = new PWd();\n xWd = new SWd();\n yWd = new VWd();\n zWd = new YWd();\n BWd = new _Wd();\n }\n function FHb(a, b, c2) {\n tHb();\n oHb.call(this);\n this.a = IC(oN, [nie, ile], [595, 212], 0, [sHb, rHb], 2);\n this.c = new I6c();\n this.g = a;\n this.f = b;\n this.d = c2;\n }\n function pNb(a, b) {\n this.n = IC(XD, [nie, Sje], [364, 25], 14, [b, QD($wnd.Math.ceil(a / 32))], 2);\n this.o = a;\n this.p = b;\n this.j = a - 1 >> 1;\n this.k = b - 1 >> 1;\n }\n function r3b(a, b) {\n Odd(b, \"End label post-processing\", 1);\n MAb(JAb(LAb(new YAb(null, new Kub(a.b, 16)), new w3b()), new y3b()), new A3b());\n Qdd(b);\n }\n function NLc(a, b, c2) {\n var d, e;\n d = Edb(a.p[b.i.p]) + Edb(a.d[b.i.p]) + b.n.b + b.a.b;\n e = Edb(a.p[c2.i.p]) + Edb(a.d[c2.i.p]) + c2.n.b + c2.a.b;\n return e - d;\n }\n function xhb(a, b, c2) {\n var d, e;\n d = xbb(c2, Yje);\n for (e = 0; ybb(d, 0) != 0 && e < b; e++) {\n d = wbb(d, xbb(a[e], Yje));\n a[e] = Tbb(d);\n d = Obb(d, 32);\n }\n return Tbb(d);\n }\n function $Ed(a) {\n var b, c2, d, e;\n e = 0;\n for (c2 = 0, d = a.length; c2 < d; c2++) {\n b = (BCb(c2, a.length), a.charCodeAt(c2));\n b < 64 && (e = Mbb(e, Nbb(1, b)));\n }\n return e;\n }\n function S9d(a) {\n var b;\n return a == null ? null : new Ygb((b = Qge(a, true), b.length > 0 && (BCb(0, b.length), b.charCodeAt(0) == 43) ? b.substr(1) : b));\n }\n function T9d(a) {\n var b;\n return a == null ? null : new Ygb((b = Qge(a, true), b.length > 0 && (BCb(0, b.length), b.charCodeAt(0) == 43) ? b.substr(1) : b));\n }\n function xud(a, b) {\n var c2;\n if (a.i > 0) {\n if (b.length < a.i) {\n c2 = izd(rb(b).c, a.i);\n b = c2;\n }\n $fb(a.g, 0, b, 0, a.i);\n }\n b.length > a.i && NC(b, a.i, null);\n return b;\n }\n function Sxd(a, b, c2) {\n var d, e, f2;\n if (a.ej()) {\n d = a.i;\n f2 = a.fj();\n kud(a, d, b);\n e = a.Zi(3, null, b, d, f2);\n !c2 ? c2 = e : c2.Ei(e);\n } else {\n kud(a, a.i, b);\n }\n return c2;\n }\n function HMd(a, b, c2) {\n var d, e;\n d = new pSd(a.e, 4, 10, (e = b.c, JD(e, 88) ? BD(e, 26) : (jGd(), _Fd)), null, HLd(a, b), false);\n !c2 ? c2 = d : c2.Ei(d);\n return c2;\n }\n function GMd(a, b, c2) {\n var d, e;\n d = new pSd(a.e, 3, 10, null, (e = b.c, JD(e, 88) ? BD(e, 26) : (jGd(), _Fd)), HLd(a, b), false);\n !c2 ? c2 = d : c2.Ei(d);\n return c2;\n }\n function _Jb(a) {\n $Jb();\n var b;\n b = new g7c(BD(a.e.We((Y9c(), _8c)), 8));\n if (a.B.Hc((Idd(), Bdd))) {\n b.a <= 0 && (b.a = 20);\n b.b <= 0 && (b.b = 20);\n }\n return b;\n }\n function Lzc(a) {\n Izc();\n var b;\n (!a.q ? (mmb(), mmb(), kmb) : a.q)._b((Nyc(), Cxc)) ? b = BD(vNb(a, Cxc), 197) : b = BD(vNb(Q_b(a), Dxc), 197);\n return b;\n }\n function pBc(a, b) {\n var c2, d;\n d = null;\n if (wNb(a, (Nyc(), qyc))) {\n c2 = BD(vNb(a, qyc), 94);\n c2.Xe(b) && (d = c2.We(b));\n }\n d == null && (d = vNb(Q_b(a), b));\n return d;\n }\n function Ze(a, b) {\n var c2, d, e;\n if (JD(b, 42)) {\n c2 = BD(b, 42);\n d = c2.cd();\n e = Hv(a.Rc(), d);\n return Hb(e, c2.dd()) && (e != null || a.Rc()._b(d));\n }\n return false;\n }\n function qAd(a, b) {\n var c2, d, e;\n if (a.f > 0) {\n a.qj();\n d = b == null ? 0 : tb(b);\n e = (d & Ohe) % a.d.length;\n c2 = xAd(a, e, d, b);\n return c2 != -1;\n } else {\n return false;\n }\n }\n function AAd(a, b) {\n var c2, d, e;\n if (a.f > 0) {\n a.qj();\n d = b == null ? 0 : tb(b);\n e = (d & Ohe) % a.d.length;\n c2 = wAd(a, e, d, b);\n if (c2) {\n return c2.dd();\n }\n }\n return null;\n }\n function R2d(a, b) {\n var c2, d, e, f2;\n f2 = S6d(a.e.Tg(), b);\n c2 = BD(a.g, 119);\n for (e = 0; e < a.i; ++e) {\n d = c2[e];\n if (f2.rl(d.ak())) {\n return false;\n }\n }\n return true;\n }\n function B6d(a) {\n if (a.b == null) {\n while (a.a.Ob()) {\n a.b = a.a.Pb();\n if (!BD(a.b, 49).Zg()) {\n return true;\n }\n }\n a.b = null;\n return false;\n } else {\n return true;\n }\n }\n function Myd(b, c2) {\n b.mj();\n try {\n b.d.Vc(b.e++, c2);\n b.f = b.d.j;\n b.g = -1;\n } catch (a) {\n a = ubb(a);\n if (JD(a, 73)) {\n throw vbb(new Apb());\n } else\n throw vbb(a);\n }\n }\n function IA(a, b) {\n GA();\n var c2, d;\n c2 = LA((KA(), KA(), JA));\n d = null;\n b == c2 && (d = BD(Phb(FA, a), 615));\n if (!d) {\n d = new HA(a);\n b == c2 && Shb(FA, a, d);\n }\n return d;\n }\n function Epb(a, b) {\n var c2, d;\n a.a = wbb(a.a, 1);\n a.c = $wnd.Math.min(a.c, b);\n a.b = $wnd.Math.max(a.b, b);\n a.d += b;\n c2 = b - a.f;\n d = a.e + c2;\n a.f = d - a.e - c2;\n a.e = d;\n }\n function ogb(a, b) {\n var c2;\n a.c = b;\n a.a = hhb(b);\n a.a < 54 && (a.f = (c2 = b.d > 1 ? Mbb(Nbb(b.a[1], 32), xbb(b.a[0], Yje)) : xbb(b.a[0], Yje), Sbb(Ibb(b.e, c2))));\n }\n function Hbb(a, b) {\n var c2;\n if (Fbb(a) && Fbb(b)) {\n c2 = a % b;\n if (Kje < c2 && c2 < Ije) {\n return c2;\n }\n }\n return zbb((UC(Fbb(a) ? Rbb(a) : a, Fbb(b) ? Rbb(b) : b, true), QC));\n }\n function p5b(a, b) {\n var c2;\n m5b(b);\n c2 = BD(vNb(a, (Nyc(), Rwc)), 276);\n !!c2 && yNb(a, Rwc, Tqc(c2));\n n5b(a.c);\n n5b(a.f);\n o5b(a.d);\n o5b(BD(vNb(a, wxc), 207));\n }\n function rHc(a) {\n this.e = KC(WD, oje, 25, a.length, 15, 1);\n this.c = KC(sbb, dle, 25, a.length, 16, 1);\n this.b = KC(sbb, dle, 25, a.length, 16, 1);\n this.f = 0;\n }\n function BDc(a) {\n var b, c2;\n a.j = KC(UD, Vje, 25, a.p.c.length, 15, 1);\n for (c2 = new olb(a.p); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 10);\n a.j[b.p] = b.o.b / a.i;\n }\n }\n function yic(a) {\n var b;\n if (a.c == 0) {\n return;\n }\n b = BD(Ikb(a.a, a.b), 287);\n b.b == 1 ? (++a.b, a.b < a.a.c.length && Cic(BD(Ikb(a.a, a.b), 287))) : --b.b;\n --a.c;\n }\n function eac(a) {\n var b;\n b = a.a;\n do {\n b = BD(Rr(new Sr(ur(U_b(b).a.Kc(), new Sq()))), 17).d.i;\n b.k == (j0b(), g0b) && Ekb(a.e, b);\n } while (b.k == (j0b(), g0b));\n }\n function idd() {\n idd = ccb;\n fdd = new q0b(15);\n edd = new Osd((Y9c(), f9c), fdd);\n hdd = new Osd(T9c, 15);\n gdd = new Osd(E9c, meb(0));\n ddd = new Osd(r8c, tme);\n }\n function tdd() {\n tdd = ccb;\n rdd = new udd(\"PORTS\", 0);\n sdd = new udd(\"PORT_LABELS\", 1);\n qdd = new udd(\"NODE_LABELS\", 2);\n pdd = new udd(\"MINIMUM_SIZE\", 3);\n }\n function Ree(a, b) {\n var c2, d;\n d = b.length;\n for (c2 = 0; c2 < d; c2 += 2)\n Ufe(a, (BCb(c2, b.length), b.charCodeAt(c2)), (BCb(c2 + 1, b.length), b.charCodeAt(c2 + 1)));\n }\n function _Zc(a, b, c2) {\n var d, e, f2, g;\n f2 = b - a.e;\n g = c2 - a.f;\n for (e = new olb(a.a); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 187);\n OZc(d, d.s + f2, d.t + g);\n }\n a.e = b;\n a.f = c2;\n }\n function jUc(a, b) {\n var c2, d, e, f2;\n f2 = b.b.b;\n a.a = new Psb();\n a.b = KC(WD, oje, 25, f2, 15, 1);\n c2 = 0;\n for (e = Jsb(b.b, 0); e.b != e.d.c; ) {\n d = BD(Xsb(e), 86);\n d.g = c2++;\n }\n }\n function ihb(a, b) {\n var c2, d, e, f2;\n c2 = b >> 5;\n b &= 31;\n e = a.d + c2 + (b == 0 ? 0 : 1);\n d = KC(WD, oje, 25, e, 15, 1);\n jhb(d, a.a, c2, b);\n f2 = new Vgb(a.e, e, d);\n Jgb(f2);\n return f2;\n }\n function Ofe(a, b, c2) {\n var d, e;\n d = BD(Phb(Zee, b), 117);\n e = BD(Phb($ee, b), 117);\n if (c2) {\n Shb(Zee, a, d);\n Shb($ee, a, e);\n } else {\n Shb($ee, a, d);\n Shb(Zee, a, e);\n }\n }\n function Cwb(a, b, c2) {\n var d, e, f2;\n e = null;\n f2 = a.b;\n while (f2) {\n d = a.a.ue(b, f2.d);\n if (c2 && d == 0) {\n return f2;\n }\n if (d >= 0) {\n f2 = f2.a[1];\n } else {\n e = f2;\n f2 = f2.a[0];\n }\n }\n return e;\n }\n function Dwb(a, b, c2) {\n var d, e, f2;\n e = null;\n f2 = a.b;\n while (f2) {\n d = a.a.ue(b, f2.d);\n if (c2 && d == 0) {\n return f2;\n }\n if (d <= 0) {\n f2 = f2.a[0];\n } else {\n e = f2;\n f2 = f2.a[1];\n }\n }\n return e;\n }\n function Nic(a, b, c2, d) {\n var e, f2, g;\n e = false;\n if (fjc(a.f, c2, d)) {\n ijc(a.f, a.a[b][c2], a.a[b][d]);\n f2 = a.a[b];\n g = f2[d];\n f2[d] = f2[c2];\n f2[c2] = g;\n e = true;\n }\n return e;\n }\n function QHc(a, b, c2, d, e) {\n var f2, g, h;\n g = e;\n while (b.b != b.c) {\n f2 = BD(fkb(b), 10);\n h = BD(V_b(f2, d).Xb(0), 11);\n a.d[h.p] = g++;\n c2.c[c2.c.length] = h;\n }\n return g;\n }\n function hBc(a, b, c2) {\n var d, e, f2, g, h;\n g = a.k;\n h = b.k;\n d = c2[g.g][h.g];\n e = ED(pBc(a, d));\n f2 = ED(pBc(b, d));\n return $wnd.Math.max((uCb(e), e), (uCb(f2), f2));\n }\n function zZc(a, b, c2) {\n var d, e, f2, g;\n d = c2 / a.c.length;\n e = 0;\n for (g = new olb(a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 200);\n w$c(f2, f2.f + d * e);\n t$c(f2, b, d);\n ++e;\n }\n }\n function hnc(a, b, c2) {\n var d, e, f2, g;\n e = BD(Ohb(a.b, c2), 177);\n d = 0;\n for (g = new olb(b.j); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 113);\n e[f2.d.p] && ++d;\n }\n return d;\n }\n function mzd(a) {\n var b, c2;\n b = BD(Ajd(a.a, 4), 126);\n if (b != null) {\n c2 = KC($3, hve, 415, b.length, 0, 1);\n $fb(b, 0, c2, 0, b.length);\n return c2;\n } else {\n return jzd;\n }\n }\n function Cz() {\n var a;\n if (xz != 0) {\n a = sz();\n if (a - yz > 2e3) {\n yz = a;\n zz = $wnd.setTimeout(Iz, 10);\n }\n }\n if (xz++ == 0) {\n Lz((Kz(), Jz));\n return true;\n }\n return false;\n }\n function wCc(a, b) {\n var c2, d, e;\n for (d = new Sr(ur(U_b(a).a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 17);\n e = c2.d.i;\n if (e.c == b) {\n return false;\n }\n }\n return true;\n }\n function Ek(b, c2) {\n var d, e;\n if (JD(c2, 245)) {\n e = BD(c2, 245);\n try {\n d = b.vd(e);\n return d == 0;\n } catch (a) {\n a = ubb(a);\n if (!JD(a, 205))\n throw vbb(a);\n }\n }\n return false;\n }\n function Xz() {\n if (Error.stackTraceLimit > 0) {\n $wnd.Error.stackTraceLimit = Error.stackTraceLimit = 64;\n return true;\n }\n return \"stack\" in new Error();\n }\n function BDb(a, b) {\n return Iy(), Iy(), My(Qie), ($wnd.Math.abs(a - b) <= Qie || a == b || isNaN(a) && isNaN(b) ? 0 : a < b ? -1 : a > b ? 1 : Ny(isNaN(a), isNaN(b))) > 0;\n }\n function DDb(a, b) {\n return Iy(), Iy(), My(Qie), ($wnd.Math.abs(a - b) <= Qie || a == b || isNaN(a) && isNaN(b) ? 0 : a < b ? -1 : a > b ? 1 : Ny(isNaN(a), isNaN(b))) < 0;\n }\n function CDb(a, b) {\n return Iy(), Iy(), My(Qie), ($wnd.Math.abs(a - b) <= Qie || a == b || isNaN(a) && isNaN(b) ? 0 : a < b ? -1 : a > b ? 1 : Ny(isNaN(a), isNaN(b))) <= 0;\n }\n function ydb(a, b) {\n var c2 = 0;\n while (!b[c2] || b[c2] == \"\") {\n c2++;\n }\n var d = b[c2++];\n for (; c2 < b.length; c2++) {\n if (!b[c2] || b[c2] == \"\") {\n continue;\n }\n d += a + b[c2];\n }\n return d;\n }\n function zfb(a, b, c2) {\n var d, e, f2, g;\n f2 = b + c2;\n ACb(b, f2, a.length);\n g = \"\";\n for (e = b; e < f2; ) {\n d = $wnd.Math.min(e + 1e4, f2);\n g += vfb(a.slice(e, d));\n e = d;\n }\n return g;\n }\n function N9d(a) {\n var b, c2, d, e, f2;\n if (a == null)\n return null;\n f2 = new Rkb();\n for (c2 = Zmd(a), d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n Ekb(f2, Qge(b, true));\n }\n return f2;\n }\n function Q9d(a) {\n var b, c2, d, e, f2;\n if (a == null)\n return null;\n f2 = new Rkb();\n for (c2 = Zmd(a), d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n Ekb(f2, Qge(b, true));\n }\n return f2;\n }\n function R9d(a) {\n var b, c2, d, e, f2;\n if (a == null)\n return null;\n f2 = new Rkb();\n for (c2 = Zmd(a), d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n Ekb(f2, Qge(b, true));\n }\n return f2;\n }\n function ted(a, b) {\n var c2, d, e;\n if (a.c) {\n cld(a.c, b);\n } else {\n c2 = b - red(a);\n for (e = new olb(a.d); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 157);\n ted(d, red(d) + c2);\n }\n }\n }\n function sed(a, b) {\n var c2, d, e;\n if (a.c) {\n ald(a.c, b);\n } else {\n c2 = b - qed(a);\n for (e = new olb(a.a); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 157);\n sed(d, qed(d) + c2);\n }\n }\n }\n function t6d(a, b) {\n var c2, d, e, f2;\n e = new Skb(b.gc());\n for (d = b.Kc(); d.Ob(); ) {\n c2 = d.Pb();\n f2 = s6d(a, BD(c2, 56));\n !!f2 && (e.c[e.c.length] = f2, true);\n }\n return e;\n }\n function LAd(a, b) {\n var c2, d, e;\n a.qj();\n d = b == null ? 0 : tb(b);\n e = (d & Ohe) % a.d.length;\n c2 = wAd(a, e, d, b);\n if (c2) {\n JAd(a, c2);\n return c2.dd();\n } else {\n return null;\n }\n }\n function rde(a) {\n var b, c2;\n c2 = sde(a);\n b = null;\n while (a.c == 2) {\n nde(a);\n if (!b) {\n b = (wfe(), wfe(), new Lge(2));\n Kge(b, c2);\n c2 = b;\n }\n c2.$l(sde(a));\n }\n return c2;\n }\n function Wpd(a) {\n var b, c2, d;\n d = null;\n b = Vte in a.a;\n c2 = !b;\n if (c2) {\n throw vbb(new cqd(\"Every element must have an id.\"));\n }\n d = Vpd(aC(a, Vte));\n return d;\n }\n function jid(a) {\n var b, c2, d;\n d = a.Zg();\n if (!d) {\n b = 0;\n for (c2 = a.eh(); c2; c2 = c2.eh()) {\n if (++b > Wje) {\n return c2.fh();\n }\n d = c2.Zg();\n if (!!d || c2 == a) {\n break;\n }\n }\n }\n return d;\n }\n function fvd(a) {\n evd();\n if (JD(a, 156)) {\n return BD(Ohb(cvd, hK), 288).vg(a);\n }\n if (Mhb(cvd, rb(a))) {\n return BD(Ohb(cvd, rb(a)), 288).vg(a);\n }\n return null;\n }\n function fZd(a) {\n if (efb(kse, a)) {\n return Bcb(), Acb;\n } else if (efb(lse, a)) {\n return Bcb(), zcb;\n } else {\n throw vbb(new Wdb(\"Expecting true or false\"));\n }\n }\n function uDc(a, b) {\n if (b.c == a) {\n return b.d;\n } else if (b.d == a) {\n return b.c;\n }\n throw vbb(new Wdb(\"Input edge is not connected to the input port.\"));\n }\n function Igb(a, b) {\n if (a.e > b.e) {\n return 1;\n }\n if (a.e < b.e) {\n return -1;\n }\n if (a.d > b.d) {\n return a.e;\n }\n if (a.d < b.d) {\n return -b.e;\n }\n return a.e * whb(a.a, b.a, a.d);\n }\n function Zcb(a) {\n if (a >= 48 && a < 48 + $wnd.Math.min(10, 10)) {\n return a - 48;\n }\n if (a >= 97 && a < 97) {\n return a - 97 + 10;\n }\n if (a >= 65 && a < 65) {\n return a - 65 + 10;\n }\n return -1;\n }\n function Ue(a, b) {\n var c2;\n if (PD(b) === PD(a)) {\n return true;\n }\n if (!JD(b, 21)) {\n return false;\n }\n c2 = BD(b, 21);\n if (c2.gc() != a.gc()) {\n return false;\n }\n return a.Ic(c2);\n }\n function ekb(a, b) {\n var c2, d, e, f2;\n d = a.a.length - 1;\n c2 = b - a.b & d;\n f2 = a.c - b & d;\n e = a.c - a.b & d;\n mkb(c2 < e);\n if (c2 >= f2) {\n hkb(a, b);\n return -1;\n } else {\n ikb(a, b);\n return 1;\n }\n }\n function lA(a, b) {\n var c2, d;\n c2 = (BCb(b, a.length), a.charCodeAt(b));\n d = b + 1;\n while (d < a.length && (BCb(d, a.length), a.charCodeAt(d) == c2)) {\n ++d;\n }\n return d - b;\n }\n function sJb(a) {\n switch (a.g) {\n case 12:\n case 13:\n case 14:\n case 15:\n case 16:\n case 17:\n case 18:\n case 19:\n case 20:\n return true;\n default:\n return false;\n }\n }\n function bC(f2, a) {\n var b = f2.a;\n var c2;\n a = String(a);\n b.hasOwnProperty(a) && (c2 = b[a]);\n var d = (rC(), qC)[typeof c2];\n var e = d ? d(c2) : xC(typeof c2);\n return e;\n }\n function b3c(a, b) {\n if (a.a < 0) {\n throw vbb(new Zdb(\"Did not call before(...) or after(...) before calling add(...).\"));\n }\n i3c(a, a.a, b);\n return a;\n }\n function VOc(a, b, c2, d) {\n var e, f2;\n if (b.c.length == 0) {\n return;\n }\n e = ROc(c2, d);\n f2 = QOc(b);\n MAb(VAb(new YAb(null, new Kub(f2, 1)), new cPc()), new gPc(a, c2, e, d));\n }\n function Cjd(a, b, c2) {\n var d;\n if ((a.Db & b) != 0) {\n if (c2 == null) {\n Bjd(a, b);\n } else {\n d = zjd(a, b);\n d == -1 ? a.Eb = c2 : NC(CD(a.Eb), d, c2);\n }\n } else\n c2 != null && vjd(a, b, c2);\n }\n function yjd(a) {\n var b, c2;\n if ((a.Db & 32) == 0) {\n c2 = (b = BD(Ajd(a, 16), 26), aLd(!b ? a.zh() : b) - aLd(a.zh()));\n c2 != 0 && Cjd(a, 32, KC(SI, Uhe, 1, c2, 5, 1));\n }\n return a;\n }\n function W1d(a) {\n var b;\n a.b || X1d(a, (b = h1d(a.e, a.a), !b || !dfb(lse, AAd((!b.b && (b.b = new sId((jGd(), fGd), x6, b)), b.b), \"qualified\"))));\n return a.c;\n }\n function dTd(a, b, c2) {\n var d, e, f2;\n d = BD(qud(QSd(a.a), b), 87);\n f2 = (e = d.c, e ? e : (jGd(), YFd));\n (f2.kh() ? xid(a.b, BD(f2, 49)) : f2) == c2 ? KQd(d) : NQd(d, c2);\n return f2;\n }\n function fCb(a, b) {\n (!b && console.groupCollapsed != null ? console.groupCollapsed : console.group != null ? console.group : console.log).call(console, a);\n }\n function NNb(a, b, c2, d) {\n d == a ? (BD(c2.b, 65), BD(c2.b, 65), BD(d.b, 65), BD(d.b, 65).c.b) : (BD(c2.b, 65), BD(c2.b, 65), BD(d.b, 65), BD(d.b, 65).c.b);\n KNb(d, b, a);\n }\n function EOb(a) {\n var c2, d;\n for (c2 = new olb(a.g); c2.a < c2.c.c.length; ) {\n BD(mlb(c2), 562);\n }\n d = new ENb(a.g, Edb(a.a), a.c);\n ELb(d);\n a.g = d.b;\n a.d = d.a;\n }\n function ymc(a, b, c2) {\n b.b = $wnd.Math.max(b.b, -c2.a);\n b.c = $wnd.Math.max(b.c, c2.a - a.a);\n b.d = $wnd.Math.max(b.d, -c2.b);\n b.a = $wnd.Math.max(b.a, c2.b - a.b);\n }\n function MIc(a, b) {\n if (a.e < b.e) {\n return -1;\n } else if (a.e > b.e) {\n return 1;\n } else if (a.f < b.f) {\n return -1;\n } else if (a.f > b.f) {\n return 1;\n }\n return tb(a) - tb(b);\n }\n function efb(a, b) {\n uCb(a);\n if (b == null) {\n return false;\n }\n if (dfb(a, b)) {\n return true;\n }\n return a.length == b.length && dfb(a.toLowerCase(), b.toLowerCase());\n }\n function x6d(a, b) {\n var c2, d, e, f2;\n for (d = 0, e = b.gc(); d < e; ++d) {\n c2 = b.il(d);\n if (JD(c2, 99) && (BD(c2, 18).Bb & ote) != 0) {\n f2 = b.jl(d);\n f2 != null && s6d(a, BD(f2, 56));\n }\n }\n }\n function p1c(a, b, c2) {\n var d, e, f2;\n for (f2 = new olb(c2.a); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 221);\n d = new hDb(BD(Ohb(a.a, e.b), 65));\n Ekb(b.a, d);\n p1c(a, d, e);\n }\n }\n function Aeb(a) {\n var b, c2;\n if (ybb(a, -129) > 0 && ybb(a, 128) < 0) {\n b = Tbb(a) + 128;\n c2 = (Ceb(), Beb)[b];\n !c2 && (c2 = Beb[b] = new teb(a));\n return c2;\n }\n return new teb(a);\n }\n function _0d(a, b) {\n var c2, d;\n c2 = b.Hh(a.a);\n if (c2) {\n d = GD(AAd((!c2.b && (c2.b = new sId((jGd(), fGd), x6, c2)), c2.b), fue));\n if (d != null) {\n return d;\n }\n }\n return b.ne();\n }\n function a1d(a, b) {\n var c2, d;\n c2 = b.Hh(a.a);\n if (c2) {\n d = GD(AAd((!c2.b && (c2.b = new sId((jGd(), fGd), x6, c2)), c2.b), fue));\n if (d != null) {\n return d;\n }\n }\n return b.ne();\n }\n function FMc(a, b) {\n wMc();\n var c2, d;\n for (d = new Sr(ur(O_b(a).a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 17);\n if (c2.d.i == b || c2.c.i == b) {\n return c2;\n }\n }\n return null;\n }\n function HUb(a, b, c2) {\n this.c = a;\n this.f = new Rkb();\n this.e = new d7c();\n this.j = new IVb();\n this.n = new IVb();\n this.b = b;\n this.g = new J6c(b.c, b.d, b.b, b.a);\n this.a = c2;\n }\n function gVb(a) {\n var b, c2, d, e;\n this.a = new zsb();\n this.d = new Tqb();\n this.e = 0;\n for (c2 = a, d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n !this.f && (this.f = b);\n eVb(this, b);\n }\n }\n function Xgb(a) {\n Hgb();\n if (a.length == 0) {\n this.e = 0;\n this.d = 1;\n this.a = OC(GC(WD, 1), oje, 25, 15, [0]);\n } else {\n this.e = 1;\n this.d = a.length;\n this.a = a;\n Jgb(this);\n }\n }\n function mIb(a, b, c2) {\n oHb.call(this);\n this.a = KC(oN, ile, 212, (gHb(), OC(GC(pN, 1), Kie, 232, 0, [dHb, eHb, fHb])).length, 0, 1);\n this.b = a;\n this.d = b;\n this.c = c2;\n }\n function Kjc(a) {\n this.d = new Rkb();\n this.e = new $rb();\n this.c = KC(WD, oje, 25, (Ucd(), OC(GC(F1, 1), bne, 61, 0, [Scd, Acd, zcd, Rcd, Tcd])).length, 15, 1);\n this.b = a;\n }\n function Vbc(a) {\n var b, c2, d, e, f2, g;\n g = BD(vNb(a, (wtc(), $sc)), 11);\n yNb(g, qtc, a.i.n.b);\n b = k_b(a.e);\n for (d = b, e = 0, f2 = d.length; e < f2; ++e) {\n c2 = d[e];\n RZb(c2, g);\n }\n }\n function Wbc(a) {\n var b, c2, d, e, f2, g;\n c2 = BD(vNb(a, (wtc(), $sc)), 11);\n yNb(c2, qtc, a.i.n.b);\n b = k_b(a.g);\n for (e = b, f2 = 0, g = e.length; f2 < g; ++f2) {\n d = e[f2];\n QZb(d, c2);\n }\n }\n function vcc(a) {\n var b, c2;\n if (wNb(a.d.i, (Nyc(), Nxc))) {\n b = BD(vNb(a.c.i, Nxc), 19);\n c2 = BD(vNb(a.d.i, Nxc), 19);\n return beb(b.a, c2.a) > 0;\n } else {\n return false;\n }\n }\n function q2c(a) {\n var b;\n if (PD(hkd(a, (Y9c(), J8c))) === PD((hbd(), fbd))) {\n if (!Xod(a)) {\n jkd(a, J8c, gbd);\n } else {\n b = BD(hkd(Xod(a), J8c), 334);\n jkd(a, J8c, b);\n }\n }\n }\n function ijc(a, b, c2) {\n var d, e;\n bIc(a.e, b, c2, (Ucd(), Tcd));\n bIc(a.i, b, c2, zcd);\n if (a.a) {\n e = BD(vNb(b, (wtc(), $sc)), 11);\n d = BD(vNb(c2, $sc), 11);\n cIc(a.g, e, d);\n }\n }\n function OEc(a, b, c2) {\n var d, e, f2;\n d = b.c.p;\n f2 = b.p;\n a.b[d][f2] = new $Ec(a, b);\n if (c2) {\n a.a[d][f2] = new FEc(b);\n e = BD(vNb(b, (wtc(), Psc)), 10);\n !!e && Rc(a.d, e, b);\n }\n }\n function TPb(a, b) {\n var c2, d, e;\n Ekb(PPb, a);\n b.Fc(a);\n c2 = BD(Ohb(OPb, a), 21);\n if (c2) {\n for (e = c2.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 33);\n Jkb(PPb, d, 0) != -1 || TPb(d, b);\n }\n }\n }\n function tyb(a, b, c2) {\n var d;\n (jyb ? (ryb(a), true) : kyb ? ($xb(), true) : nyb ? ($xb(), true) : myb && ($xb(), false)) && (d = new iyb(b), d.b = c2, pyb(a, d), void 0);\n }\n function xKb(a, b) {\n var c2;\n c2 = !a.A.Hc((tdd(), sdd)) || a.q == (dcd(), $bd);\n a.u.Hc((rcd(), ncd)) ? c2 ? vKb(a, b) : zKb(a, b) : a.u.Hc(pcd) && (c2 ? wKb(a, b) : AKb(a, b));\n }\n function b0d(a, b) {\n var c2, d;\n ++a.j;\n if (b != null) {\n c2 = (d = a.a.Cb, JD(d, 97) ? BD(d, 97).Jg() : null);\n if (xlb(b, c2)) {\n Cjd(a.a, 4, c2);\n return;\n }\n }\n Cjd(a.a, 4, BD(b, 126));\n }\n function dYb(a, b, c2) {\n return new J6c($wnd.Math.min(a.a, b.a) - c2 / 2, $wnd.Math.min(a.b, b.b) - c2 / 2, $wnd.Math.abs(a.a - b.a) + c2, $wnd.Math.abs(a.b - b.b) + c2);\n }\n function k4b(a, b) {\n var c2, d;\n c2 = beb(a.a.c.p, b.a.c.p);\n if (c2 != 0) {\n return c2;\n }\n d = beb(a.a.d.i.p, b.a.d.i.p);\n if (d != 0) {\n return d;\n }\n return beb(b.a.d.p, a.a.d.p);\n }\n function _Dc(a, b, c2) {\n var d, e, f2, g;\n f2 = b.j;\n g = c2.j;\n if (f2 != g) {\n return f2.g - g.g;\n } else {\n d = a.f[b.p];\n e = a.f[c2.p];\n return d == 0 && e == 0 ? 0 : d == 0 ? -1 : e == 0 ? 1 : Kdb(d, e);\n }\n }\n function HFb(a, b, c2) {\n var d, e, f2;\n if (c2[b.d]) {\n return;\n }\n c2[b.d] = true;\n for (e = new olb(LFb(b)); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 213);\n f2 = xFb(d, b);\n HFb(a, f2, c2);\n }\n }\n function umc(a, b, c2) {\n var d;\n d = c2[a.g][b];\n switch (a.g) {\n case 1:\n case 3:\n return new f7c(0, d);\n case 2:\n case 4:\n return new f7c(d, 0);\n default:\n return null;\n }\n }\n function r2c(b, c2, d) {\n var e, f2;\n f2 = BD(hgd(c2.f), 209);\n try {\n f2.Ze(b, d);\n igd(c2.f, f2);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 102)) {\n e = a;\n throw vbb(e);\n } else\n throw vbb(a);\n }\n }\n function Vqd(a, b, c2) {\n var d, e, f2, g, h, i3;\n d = null;\n h = k4c(n4c(), b);\n f2 = null;\n if (h) {\n e = null;\n i3 = o5c(h, c2);\n g = null;\n i3 != null && (g = a.Ye(h, i3));\n e = g;\n f2 = e;\n }\n d = f2;\n return d;\n }\n function TTd(a, b, c2, d) {\n var e, f2, g;\n e = new pSd(a.e, 1, 13, (g = b.c, g ? g : (jGd(), YFd)), (f2 = c2.c, f2 ? f2 : (jGd(), YFd)), HLd(a, b), false);\n !d ? d = e : d.Ei(e);\n return d;\n }\n function UEd(a, b, c2, d) {\n var e;\n e = a.length;\n if (b >= e)\n return e;\n for (b = b > 0 ? b : 0; b < e; b++) {\n if (_Ed((BCb(b, a.length), a.charCodeAt(b)), c2, d))\n break;\n }\n return b;\n }\n function Qkb(a, b) {\n var c2, d;\n d = a.c.length;\n b.length < d && (b = eCb(new Array(d), b));\n for (c2 = 0; c2 < d; ++c2) {\n NC(b, c2, a.c[c2]);\n }\n b.length > d && NC(b, d, null);\n return b;\n }\n function _lb(a, b) {\n var c2, d;\n d = a.a.length;\n b.length < d && (b = eCb(new Array(d), b));\n for (c2 = 0; c2 < d; ++c2) {\n NC(b, c2, a.a[c2]);\n }\n b.length > d && NC(b, d, null);\n return b;\n }\n function Xrb(a, b, c2) {\n var d, e, f2;\n e = BD(Ohb(a.e, b), 387);\n if (!e) {\n d = new lsb(a, b, c2);\n Rhb(a.e, b, d);\n isb(d);\n return null;\n } else {\n f2 = ijb(e, c2);\n Yrb(a, e);\n return f2;\n }\n }\n function P9d(a) {\n var b;\n if (a == null)\n return null;\n b = ide(Qge(a, true));\n if (b == null) {\n throw vbb(new n8d(\"Invalid hexBinary value: '\" + a + \"'\"));\n }\n return b;\n }\n function ghb(a) {\n Hgb();\n if (ybb(a, 0) < 0) {\n if (ybb(a, -1) != 0) {\n return new Wgb(-1, Jbb(a));\n }\n return Bgb;\n } else\n return ybb(a, 10) <= 0 ? Dgb[Tbb(a)] : new Wgb(1, a);\n }\n function wJb() {\n qJb();\n return OC(GC(DN, 1), Kie, 159, 0, [nJb, mJb, oJb, eJb, dJb, fJb, iJb, hJb, gJb, lJb, kJb, jJb, bJb, aJb, cJb, $Ib, ZIb, _Ib, XIb, WIb, YIb, pJb]);\n }\n function vjc(a) {\n var b;\n this.d = new Rkb();\n this.j = new d7c();\n this.g = new d7c();\n b = a.g.b;\n this.f = BD(vNb(Q_b(b), (Nyc(), Lwc)), 103);\n this.e = Edb(ED(c_b(b, ryc)));\n }\n function Pjc(a) {\n this.b = new Rkb();\n this.e = new Rkb();\n this.d = a;\n this.a = !WAb(JAb(new YAb(null, new Lub(new b1b(a.b))), new Xxb(new Qjc()))).sd((EAb(), DAb));\n }\n function N5c() {\n N5c = ccb;\n L5c = new O5c(\"PARENTS\", 0);\n K5c = new O5c(\"NODES\", 1);\n I5c = new O5c(\"EDGES\", 2);\n M5c = new O5c(\"PORTS\", 3);\n J5c = new O5c(\"LABELS\", 4);\n }\n function Tbd() {\n Tbd = ccb;\n Qbd = new Ubd(\"DISTRIBUTED\", 0);\n Sbd = new Ubd(\"JUSTIFIED\", 1);\n Obd = new Ubd(\"BEGIN\", 2);\n Pbd = new Ubd(gle, 3);\n Rbd = new Ubd(\"END\", 4);\n }\n function UMd(a) {\n var b;\n b = a.yi(null);\n switch (b) {\n case 10:\n return 0;\n case 15:\n return 1;\n case 14:\n return 2;\n case 11:\n return 3;\n case 21:\n return 4;\n }\n return -1;\n }\n function cYb(a) {\n switch (a.g) {\n case 1:\n return ead(), dad;\n case 4:\n return ead(), aad;\n case 2:\n return ead(), bad;\n case 3:\n return ead(), _9c;\n }\n return ead(), cad;\n }\n function kA(a, b, c2) {\n var d;\n d = c2.q.getFullYear() - nje + nje;\n d < 0 && (d = -d);\n switch (b) {\n case 1:\n a.a += d;\n break;\n case 2:\n EA(a, d % 100, 2);\n break;\n default:\n EA(a, d, b);\n }\n }\n function Jsb(a, b) {\n var c2, d;\n wCb(b, a.b);\n if (b >= a.b >> 1) {\n d = a.c;\n for (c2 = a.b; c2 > b; --c2) {\n d = d.b;\n }\n } else {\n d = a.a.a;\n for (c2 = 0; c2 < b; ++c2) {\n d = d.a;\n }\n }\n return new $sb(a, b, d);\n }\n function MEb() {\n MEb = ccb;\n LEb = new NEb(\"NUM_OF_EXTERNAL_SIDES_THAN_NUM_OF_EXTENSIONS_LAST\", 0);\n KEb = new NEb(\"CORNER_CASES_THAN_SINGLE_SIDE_LAST\", 1);\n }\n function h4b(a) {\n var b, c2, d, e;\n d = c4b(a);\n Okb(d, a4b);\n e = a.d;\n e.c = KC(SI, Uhe, 1, 0, 5, 1);\n for (c2 = new olb(d); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 456);\n Gkb(e, b.b);\n }\n }\n function gkd(a) {\n var b, c2, d;\n d = (!a.o && (a.o = new dId((Thd(), Qhd), S2, a, 0)), a.o);\n for (c2 = d.c.Kc(); c2.e != c2.i.gc(); ) {\n b = BD(c2.nj(), 42);\n b.dd();\n }\n return FAd(d);\n }\n function N5b(a) {\n var b;\n if (!ecd(BD(vNb(a, (Nyc(), Vxc)), 98))) {\n return;\n }\n b = a.b;\n O5b((tCb(0, b.c.length), BD(b.c[0], 29)));\n O5b(BD(Ikb(b, b.c.length - 1), 29));\n }\n function Roc(a, b) {\n var c2, d, e, f2;\n c2 = 0;\n for (e = new olb(b.a); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 10);\n f2 = d.o.a + d.d.c + d.d.b + a.j;\n c2 = $wnd.Math.max(c2, f2);\n }\n return c2;\n }\n function XEd(a) {\n var b, c2, d, e;\n e = 0;\n for (c2 = 0, d = a.length; c2 < d; c2++) {\n b = (BCb(c2, a.length), a.charCodeAt(c2));\n b >= 64 && b < 128 && (e = Mbb(e, Nbb(1, b - 64)));\n }\n return e;\n }\n function c_b(a, b) {\n var c2, d;\n d = null;\n if (wNb(a, (Y9c(), O9c))) {\n c2 = BD(vNb(a, O9c), 94);\n c2.Xe(b) && (d = c2.We(b));\n }\n d == null && !!Q_b(a) && (d = vNb(Q_b(a), b));\n return d;\n }\n function oQc(a, b) {\n var c2, d, e;\n e = b.d.i;\n d = e.k;\n if (d == (j0b(), h0b) || d == d0b) {\n return;\n }\n c2 = new Sr(ur(U_b(e).a.Kc(), new Sq()));\n Qr(c2) && Rhb(a.k, b, BD(Rr(c2), 17));\n }\n function mid(a, b) {\n var c2, d, e;\n d = XKd(a.Tg(), b);\n c2 = b - a.Ah();\n return c2 < 0 ? (e = a.Yg(d), e >= 0 ? a.lh(e) : tid(a, d)) : c2 < 0 ? tid(a, d) : BD(d, 66).Nj().Sj(a, a.yh(), c2);\n }\n function Ksd(a) {\n var b;\n if (JD(a.a, 4)) {\n b = fvd(a.a);\n if (b == null) {\n throw vbb(new Zdb(mse + a.b + \"'. \" + ise + (fdb(Y3), Y3.k) + jse));\n }\n return b;\n } else {\n return a.a;\n }\n }\n function L9d(a) {\n var b;\n if (a == null)\n return null;\n b = bde(Qge(a, true));\n if (b == null) {\n throw vbb(new n8d(\"Invalid base64Binary value: '\" + a + \"'\"));\n }\n return b;\n }\n function Dyd(b) {\n var c2;\n try {\n c2 = b.i.Xb(b.e);\n b.mj();\n b.g = b.e++;\n return c2;\n } catch (a) {\n a = ubb(a);\n if (JD(a, 73)) {\n b.mj();\n throw vbb(new utb());\n } else\n throw vbb(a);\n }\n }\n function Zyd(b) {\n var c2;\n try {\n c2 = b.c.ki(b.e);\n b.mj();\n b.g = b.e++;\n return c2;\n } catch (a) {\n a = ubb(a);\n if (JD(a, 73)) {\n b.mj();\n throw vbb(new utb());\n } else\n throw vbb(a);\n }\n }\n function CPb() {\n CPb = ccb;\n BPb = (Y9c(), K9c);\n vPb = G8c;\n qPb = r8c;\n wPb = f9c;\n zPb = (fFb(), bFb);\n yPb = _Eb;\n APb = dFb;\n xPb = $Eb;\n sPb = (nPb(), jPb);\n rPb = iPb;\n tPb = lPb;\n uPb = mPb;\n }\n function NWb(a) {\n LWb();\n this.c = new Rkb();\n this.d = a;\n switch (a.g) {\n case 0:\n case 2:\n this.a = tmb(KWb);\n this.b = Pje;\n break;\n case 3:\n case 1:\n this.a = KWb;\n this.b = Qje;\n }\n }\n function ued(a, b, c2) {\n var d, e;\n if (a.c) {\n dld(a.c, a.c.i + b);\n eld(a.c, a.c.j + c2);\n } else {\n for (e = new olb(a.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 157);\n ued(d, b, c2);\n }\n }\n }\n function KEd(a, b) {\n var c2, d;\n if (a.j.length != b.j.length)\n return false;\n for (c2 = 0, d = a.j.length; c2 < d; c2++) {\n if (!dfb(a.j[c2], b.j[c2]))\n return false;\n }\n return true;\n }\n function gA(a, b, c2) {\n var d;\n if (b.a.length > 0) {\n Ekb(a.b, new WA(b.a, c2));\n d = b.a.length;\n 0 < d ? b.a = b.a.substr(0, 0) : 0 > d && (b.a += yfb(KC(TD, $ie, 25, -d, 15, 1)));\n }\n }\n function JKb(a, b) {\n var c2, d, e;\n c2 = a.o;\n for (e = BD(BD(Qc(a.r, b), 21), 84).Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 111);\n d.e.a = DKb(d, c2.a);\n d.e.b = c2.b * Edb(ED(d.b.We(BKb)));\n }\n }\n function S5b(a, b) {\n var c2, d, e, f2;\n e = a.k;\n c2 = Edb(ED(vNb(a, (wtc(), htc))));\n f2 = b.k;\n d = Edb(ED(vNb(b, htc)));\n return f2 != (j0b(), e0b) ? -1 : e != e0b ? 1 : c2 == d ? 0 : c2 < d ? -1 : 1;\n }\n function B$c(a, b) {\n var c2, d;\n c2 = BD(BD(Ohb(a.g, b.a), 46).a, 65);\n d = BD(BD(Ohb(a.g, b.b), 46).a, 65);\n return S6c(b.a, b.b) - S6c(b.a, E6c(c2.b)) - S6c(b.b, E6c(d.b));\n }\n function aZb(a, b) {\n var c2;\n c2 = BD(vNb(a, (Nyc(), jxc)), 74);\n if (Lq(b, ZYb)) {\n if (!c2) {\n c2 = new s7c();\n yNb(a, jxc, c2);\n } else {\n Osb(c2);\n }\n } else\n !!c2 && yNb(a, jxc, null);\n return c2;\n }\n function a0b(a) {\n var b;\n b = new Ufb();\n b.a += \"n\";\n a.k != (j0b(), h0b) && Qfb(Qfb((b.a += \"(\", b), Zr(a.k).toLowerCase()), \")\");\n Qfb((b.a += \"_\", b), P_b(a));\n return b.a;\n }\n function Kdc(a, b) {\n Odd(b, \"Self-Loop post-processing\", 1);\n MAb(JAb(JAb(LAb(new YAb(null, new Kub(a.b, 16)), new Qdc()), new Sdc()), new Udc()), new Wdc());\n Qdd(b);\n }\n function kid(a, b, c2, d) {\n var e;\n if (c2 >= 0) {\n return a.hh(b, c2, d);\n } else {\n !!a.eh() && (d = (e = a.Vg(), e >= 0 ? a.Qg(d) : a.eh().ih(a, -1 - e, null, d)));\n return a.Sg(b, c2, d);\n }\n }\n function zld(a, b) {\n switch (b) {\n case 7:\n !a.e && (a.e = new y5d(B2, a, 7, 4));\n Uxd(a.e);\n return;\n case 8:\n !a.d && (a.d = new y5d(B2, a, 8, 5));\n Uxd(a.d);\n return;\n }\n $kd(a, b);\n }\n function Ut(b, c2) {\n var d;\n d = b.Zc(c2);\n try {\n return d.Pb();\n } catch (a) {\n a = ubb(a);\n if (JD(a, 109)) {\n throw vbb(new qcb(\"Can't get element \" + c2));\n } else\n throw vbb(a);\n }\n }\n function Tgb(a, b) {\n this.e = a;\n if (b < Zje) {\n this.d = 1;\n this.a = OC(GC(WD, 1), oje, 25, 15, [b | 0]);\n } else {\n this.d = 2;\n this.a = OC(GC(WD, 1), oje, 25, 15, [b % Zje | 0, b / Zje | 0]);\n }\n }\n function omb(a, b) {\n mmb();\n var c2, d, e, f2;\n c2 = a;\n f2 = b;\n if (JD(a, 21) && !JD(b, 21)) {\n c2 = b;\n f2 = a;\n }\n for (e = c2.Kc(); e.Ob(); ) {\n d = e.Pb();\n if (f2.Hc(d)) {\n return false;\n }\n }\n return true;\n }\n function Txd(a, b, c2) {\n var d, e, f2, g;\n d = a.Xc(b);\n if (d != -1) {\n if (a.ej()) {\n f2 = a.fj();\n g = tud(a, d);\n e = a.Zi(4, g, null, d, f2);\n !c2 ? c2 = e : c2.Ei(e);\n } else {\n tud(a, d);\n }\n }\n return c2;\n }\n function uwd(a, b, c2) {\n var d, e, f2, g;\n d = a.Xc(b);\n if (d != -1) {\n if (a.ej()) {\n f2 = a.fj();\n g = Evd(a, d);\n e = a.Zi(4, g, null, d, f2);\n !c2 ? c2 = e : c2.Ei(e);\n } else {\n Evd(a, d);\n }\n }\n return c2;\n }\n function PJb(a, b) {\n var c2;\n c2 = BD(Mpb(a.b, b), 124).n;\n switch (b.g) {\n case 1:\n a.t >= 0 && (c2.d = a.t);\n break;\n case 3:\n a.t >= 0 && (c2.a = a.t);\n }\n if (a.C) {\n c2.b = a.C.b;\n c2.c = a.C.c;\n }\n }\n function RMb() {\n RMb = ccb;\n OMb = new SMb(xle, 0);\n NMb = new SMb(yle, 1);\n PMb = new SMb(zle, 2);\n QMb = new SMb(Ale, 3);\n OMb.a = false;\n NMb.a = true;\n PMb.a = false;\n QMb.a = true;\n }\n function ROb() {\n ROb = ccb;\n OOb = new SOb(xle, 0);\n NOb = new SOb(yle, 1);\n POb = new SOb(zle, 2);\n QOb = new SOb(Ale, 3);\n OOb.a = false;\n NOb.a = true;\n POb.a = false;\n QOb.a = true;\n }\n function dac(a) {\n var b;\n b = a.a;\n do {\n b = BD(Rr(new Sr(ur(R_b(b).a.Kc(), new Sq()))), 17).c.i;\n b.k == (j0b(), g0b) && a.b.Fc(b);\n } while (b.k == (j0b(), g0b));\n a.b = Su(a.b);\n }\n function CDc(a) {\n var b, c2, d;\n d = a.c.a;\n a.p = (Qb(d), new Tkb(d));\n for (c2 = new olb(d); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 10);\n b.p = GDc(b).a;\n }\n mmb();\n Okb(a.p, new PDc());\n }\n function eVc(a) {\n var b, c2, d, e;\n d = 0;\n e = gVc(a);\n if (e.c.length == 0) {\n return 1;\n } else {\n for (c2 = new olb(e); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 33);\n d += eVc(b);\n }\n }\n return d;\n }\n function JJb(a, b) {\n var c2, d, e;\n e = 0;\n d = BD(BD(Qc(a.r, b), 21), 84).Kc();\n while (d.Ob()) {\n c2 = BD(d.Pb(), 111);\n e += c2.d.b + c2.b.rf().a + c2.d.c;\n d.Ob() && (e += a.w);\n }\n return e;\n }\n function RKb(a, b) {\n var c2, d, e;\n e = 0;\n d = BD(BD(Qc(a.r, b), 21), 84).Kc();\n while (d.Ob()) {\n c2 = BD(d.Pb(), 111);\n e += c2.d.d + c2.b.rf().b + c2.d.a;\n d.Ob() && (e += a.w);\n }\n return e;\n }\n function SOc(a, b, c2, d) {\n if (b.a < d.a) {\n return true;\n } else if (b.a == d.a) {\n if (b.b < d.b) {\n return true;\n } else if (b.b == d.b) {\n if (a.b > c2.b) {\n return true;\n }\n }\n }\n return false;\n }\n function AD(a, b) {\n if (ND(a)) {\n return !!zD[b];\n } else if (a.hm) {\n return !!a.hm[b];\n } else if (LD(a)) {\n return !!yD[b];\n } else if (KD(a)) {\n return !!xD[b];\n }\n return false;\n }\n function jkd(a, b, c2) {\n c2 == null ? (!a.o && (a.o = new dId((Thd(), Qhd), S2, a, 0)), LAd(a.o, b)) : (!a.o && (a.o = new dId((Thd(), Qhd), S2, a, 0)), HAd(a.o, b, c2));\n return a;\n }\n function jKb(a, b, c2, d) {\n var e, f2;\n f2 = b.Xe((Y9c(), W8c)) ? BD(b.We(W8c), 21) : a.j;\n e = uJb(f2);\n if (e == (qJb(), pJb)) {\n return;\n }\n if (c2 && !sJb(e)) {\n return;\n }\n UHb(lKb(a, e, d), b);\n }\n function fid(a, b, c2, d) {\n var e, f2, g;\n f2 = XKd(a.Tg(), b);\n e = b - a.Ah();\n return e < 0 ? (g = a.Yg(f2), g >= 0 ? a._g(g, c2, true) : sid(a, f2, c2)) : BD(f2, 66).Nj().Pj(a, a.yh(), e, c2, d);\n }\n function u6d(a, b, c2, d) {\n var e, f2, g;\n if (c2.mh(b)) {\n Q6d();\n if (YId(b)) {\n e = BD(c2.ah(b), 153);\n x6d(a, e);\n } else {\n f2 = (g = b, !g ? null : BD(d, 49).xh(g));\n !!f2 && v6d(c2.ah(b), f2);\n }\n }\n }\n function H3b(a) {\n switch (a.g) {\n case 1:\n return vLb(), uLb;\n case 3:\n return vLb(), rLb;\n case 2:\n return vLb(), tLb;\n case 4:\n return vLb(), sLb;\n default:\n return null;\n }\n }\n function kCb(a) {\n switch (typeof a) {\n case Mhe:\n return LCb(a);\n case Lhe:\n return QD(a);\n case Khe:\n return Bcb(), a ? 1231 : 1237;\n default:\n return a == null ? 0 : FCb(a);\n }\n }\n function Gic(a, b, c2) {\n if (a.e) {\n switch (a.b) {\n case 1:\n oic(a.c, b, c2);\n break;\n case 0:\n pic(a.c, b, c2);\n }\n } else {\n mic(a.c, b, c2);\n }\n a.a[b.p][c2.p] = a.c.i;\n a.a[c2.p][b.p] = a.c.e;\n }\n function lHc(a) {\n var b, c2;\n if (a == null) {\n return null;\n }\n c2 = KC(OQ, nie, 193, a.length, 0, 2);\n for (b = 0; b < c2.length; b++) {\n c2[b] = BD(ulb(a[b], a[b].length), 193);\n }\n return c2;\n }\n function d4d(a) {\n var b;\n if (b4d(a)) {\n a4d(a);\n if (a.Lk()) {\n b = b3d(a.e, a.b, a.c, a.a, a.j);\n a.j = b;\n }\n a.g = a.a;\n ++a.a;\n ++a.c;\n a.i = 0;\n return a.j;\n } else {\n throw vbb(new utb());\n }\n }\n function fMb(a, b) {\n var c2, d, e, f2;\n f2 = a.o;\n c2 = a.p;\n f2 < c2 ? f2 *= f2 : c2 *= c2;\n d = f2 + c2;\n f2 = b.o;\n c2 = b.p;\n f2 < c2 ? f2 *= f2 : c2 *= c2;\n e = f2 + c2;\n if (d < e) {\n return -1;\n }\n if (d == e) {\n return 0;\n }\n return 1;\n }\n function HLd(a, b) {\n var c2, d, e;\n e = rud(a, b);\n if (e >= 0)\n return e;\n if (a.Fk()) {\n for (d = 0; d < a.i; ++d) {\n c2 = a.Gk(BD(a.g[d], 56));\n if (PD(c2) === PD(b)) {\n return d;\n }\n }\n }\n return -1;\n }\n function Gtd(a, b, c2) {\n var d, e;\n e = a.gc();\n if (b >= e)\n throw vbb(new Cyd(b, e));\n if (a.hi()) {\n d = a.Xc(c2);\n if (d >= 0 && d != b) {\n throw vbb(new Wdb(kue));\n }\n }\n return a.mi(b, c2);\n }\n function gx(a, b) {\n this.a = BD(Qb(a), 245);\n this.b = BD(Qb(b), 245);\n if (a.vd(b) > 0 || a == (Lk(), Kk) || b == (_k(), $k)) {\n throw vbb(new Wdb(\"Invalid range: \" + nx(a, b)));\n }\n }\n function mYb(a) {\n var b, c2;\n this.b = new Rkb();\n this.c = a;\n this.a = false;\n for (c2 = new olb(a.a); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 10);\n this.a = this.a | b.k == (j0b(), h0b);\n }\n }\n function GFb(a, b) {\n var c2, d, e;\n c2 = nGb(new pGb(), a);\n for (e = new olb(b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 121);\n AFb(DFb(CFb(EFb(BFb(new FFb(), 0), 0), c2), d));\n }\n return c2;\n }\n function Nac(a, b, c2) {\n var d, e, f2;\n for (e = new Sr(ur((b ? R_b(a) : U_b(a)).a.Kc(), new Sq())); Qr(e); ) {\n d = BD(Rr(e), 17);\n f2 = b ? d.c.i : d.d.i;\n f2.k == (j0b(), f0b) && $_b(f2, c2);\n }\n }\n function Izc() {\n Izc = ccb;\n Gzc = new Kzc(ane, 0);\n Hzc = new Kzc(\"PORT_POSITION\", 1);\n Fzc = new Kzc(\"NODE_SIZE_WHERE_SPACE_PERMITS\", 2);\n Ezc = new Kzc(\"NODE_SIZE\", 3);\n }\n function F7c() {\n F7c = ccb;\n z7c = new G7c(\"AUTOMATIC\", 0);\n C7c = new G7c(jle, 1);\n D7c = new G7c(kle, 2);\n E7c = new G7c(\"TOP\", 3);\n A7c = new G7c(mle, 4);\n B7c = new G7c(gle, 5);\n }\n function Hhb(a, b, c2, d) {\n Dhb();\n var e, f2;\n e = 0;\n for (f2 = 0; f2 < c2; f2++) {\n e = wbb(Ibb(xbb(b[f2], Yje), xbb(d, Yje)), xbb(Tbb(e), Yje));\n a[f2] = Tbb(e);\n e = Pbb(e, 32);\n }\n return Tbb(e);\n }\n function zHb(a, b, c2) {\n var d, e;\n e = 0;\n for (d = 0; d < rHb; d++) {\n e = $wnd.Math.max(e, pHb(a.a[b.g][d], c2));\n }\n b == (gHb(), eHb) && !!a.b && (e = $wnd.Math.max(e, a.b.b));\n return e;\n }\n function Bub(a, b) {\n var c2, d;\n lCb(b > 0);\n if ((b & -b) == b) {\n return QD(b * Cub(a, 31) * 4656612873077393e-25);\n }\n do {\n c2 = Cub(a, 31);\n d = c2 % b;\n } while (c2 - d + (b - 1) < 0);\n return QD(d);\n }\n function LCb(a) {\n JCb();\n var b, c2, d;\n c2 = \":\" + a;\n d = ICb[c2];\n if (d != null) {\n return QD((uCb(d), d));\n }\n d = GCb[c2];\n b = d == null ? KCb(a) : QD((uCb(d), d));\n MCb();\n ICb[c2] = b;\n return b;\n }\n function qZb(a, b, c2) {\n Odd(c2, \"Compound graph preprocessor\", 1);\n a.a = new Hp();\n vZb(a, b, null);\n pZb(a, b);\n uZb(a);\n yNb(b, (wtc(), zsc), a.a);\n a.a = null;\n Uhb(a.b);\n Qdd(c2);\n }\n function X$b(a, b, c2) {\n switch (c2.g) {\n case 1:\n a.a = b.a / 2;\n a.b = 0;\n break;\n case 2:\n a.a = b.a;\n a.b = b.b / 2;\n break;\n case 3:\n a.a = b.a / 2;\n a.b = b.b;\n break;\n case 4:\n a.a = 0;\n a.b = b.b / 2;\n }\n }\n function tkc(a) {\n var b, c2, d;\n for (d = BD(Qc(a.a, (Xjc(), Vjc)), 15).Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 101);\n b = Bkc(c2);\n kkc(a, c2, b[0], (Fkc(), Ckc), 0);\n kkc(a, c2, b[1], Ekc, 1);\n }\n }\n function ukc(a) {\n var b, c2, d;\n for (d = BD(Qc(a.a, (Xjc(), Wjc)), 15).Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 101);\n b = Bkc(c2);\n kkc(a, c2, b[0], (Fkc(), Ckc), 0);\n kkc(a, c2, b[1], Ekc, 1);\n }\n }\n function tXc(a) {\n switch (a.g) {\n case 0:\n return null;\n case 1:\n return new $Xc();\n case 2:\n return new QXc();\n default:\n throw vbb(new Wdb(jre + (a.f != null ? a.f : \"\" + a.g)));\n }\n }\n function OZc(a, b, c2) {\n var d, e;\n FZc(a, b - a.s, c2 - a.t);\n for (e = new olb(a.n); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 211);\n SZc(d, d.e + b - a.s);\n TZc(d, d.f + c2 - a.t);\n }\n a.s = b;\n a.t = c2;\n }\n function JFb(a) {\n var b, c2, d, e, f2;\n c2 = 0;\n for (e = new olb(a.a); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 121);\n d.d = c2++;\n }\n b = IFb(a);\n f2 = null;\n b.c.length > 1 && (f2 = GFb(a, b));\n return f2;\n }\n function dmd(a) {\n var b;\n if (!!a.f && a.f.kh()) {\n b = BD(a.f, 49);\n a.f = BD(xid(a, b), 82);\n a.f != b && (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 9, 8, b, a.f));\n }\n return a.f;\n }\n function emd(a) {\n var b;\n if (!!a.i && a.i.kh()) {\n b = BD(a.i, 49);\n a.i = BD(xid(a, b), 82);\n a.i != b && (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 9, 7, b, a.i));\n }\n return a.i;\n }\n function zUd(a) {\n var b;\n if (!!a.b && (a.b.Db & 64) != 0) {\n b = a.b;\n a.b = BD(xid(a, b), 18);\n a.b != b && (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 9, 21, b, a.b));\n }\n return a.b;\n }\n function uAd(a, b) {\n var c2, d, e;\n if (a.d == null) {\n ++a.e;\n ++a.f;\n } else {\n d = b.Sh();\n BAd(a, a.f + 1);\n e = (d & Ohe) % a.d.length;\n c2 = a.d[e];\n !c2 && (c2 = a.d[e] = a.uj());\n c2.Fc(b);\n ++a.f;\n }\n }\n function m3d(a, b, c2) {\n var d;\n if (b.Kj()) {\n return false;\n } else if (b.Zj() != -2) {\n d = b.zj();\n return d == null ? c2 == null : pb(d, c2);\n } else\n return b.Hj() == a.e.Tg() && c2 == null;\n }\n function wo() {\n var a;\n Xj(16, Hie);\n a = Kp(16);\n this.b = KC(GF, Gie, 317, a, 0, 1);\n this.c = KC(GF, Gie, 317, a, 0, 1);\n this.a = null;\n this.e = null;\n this.i = 0;\n this.f = a - 1;\n this.g = 0;\n }\n function b0b(a) {\n n_b.call(this);\n this.k = (j0b(), h0b);\n this.j = (Xj(6, Jie), new Skb(6));\n this.b = (Xj(2, Jie), new Skb(2));\n this.d = new L_b();\n this.f = new s0b();\n this.a = a;\n }\n function Scc(a) {\n var b, c2;\n if (a.c.length <= 1) {\n return;\n }\n b = Pcc(a, (Ucd(), Rcd));\n Rcc(a, BD(b.a, 19).a, BD(b.b, 19).a);\n c2 = Pcc(a, Tcd);\n Rcc(a, BD(c2.a, 19).a, BD(c2.b, 19).a);\n }\n function Vzc() {\n Vzc = ccb;\n Uzc = new Xzc(\"SIMPLE\", 0);\n Rzc = new Xzc(Tne, 1);\n Szc = new Xzc(\"LINEAR_SEGMENTS\", 2);\n Qzc = new Xzc(\"BRANDES_KOEPF\", 3);\n Tzc = new Xzc(Aqe, 4);\n }\n function XDc(a, b, c2) {\n if (!ecd(BD(vNb(b, (Nyc(), Vxc)), 98))) {\n WDc(a, b, Y_b(b, c2));\n WDc(a, b, Y_b(b, (Ucd(), Rcd)));\n WDc(a, b, Y_b(b, Acd));\n mmb();\n Okb(b.j, new jEc(a));\n }\n }\n function HVc(a, b, c2, d) {\n var e, f2, g;\n e = d ? BD(Qc(a.a, b), 21) : BD(Qc(a.b, b), 21);\n for (g = e.Kc(); g.Ob(); ) {\n f2 = BD(g.Pb(), 33);\n if (BVc(a, c2, f2)) {\n return true;\n }\n }\n return false;\n }\n function FMd(a) {\n var b, c2;\n for (c2 = new Fyd(a); c2.e != c2.i.gc(); ) {\n b = BD(Dyd(c2), 87);\n if (!!b.e || (!b.d && (b.d = new xMd(j5, b, 1)), b.d).i != 0) {\n return true;\n }\n }\n return false;\n }\n function QTd(a) {\n var b, c2;\n for (c2 = new Fyd(a); c2.e != c2.i.gc(); ) {\n b = BD(Dyd(c2), 87);\n if (!!b.e || (!b.d && (b.d = new xMd(j5, b, 1)), b.d).i != 0) {\n return true;\n }\n }\n return false;\n }\n function FDc(a) {\n var b, c2, d;\n b = 0;\n for (d = new olb(a.c.a); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 10);\n b += sr(new Sr(ur(U_b(c2).a.Kc(), new Sq())));\n }\n return b / a.c.a.c.length;\n }\n function UPc(a) {\n var b, c2;\n a.c || XPc(a);\n c2 = new s7c();\n b = new olb(a.a);\n mlb(b);\n while (b.a < b.c.c.length) {\n Dsb(c2, BD(mlb(b), 407).a);\n }\n sCb(c2.b != 0);\n Nsb(c2, c2.c.b);\n return c2;\n }\n function J0c() {\n J0c = ccb;\n I0c = (A0c(), z0c);\n G0c = new q0b(8);\n new Osd((Y9c(), f9c), G0c);\n new Osd(T9c, 8);\n H0c = x0c;\n E0c = n0c;\n F0c = o0c;\n D0c = new Osd(y8c, (Bcb(), false));\n }\n function uld(a, b, c2, d) {\n switch (b) {\n case 7:\n return !a.e && (a.e = new y5d(B2, a, 7, 4)), a.e;\n case 8:\n return !a.d && (a.d = new y5d(B2, a, 8, 5)), a.d;\n }\n return Xkd(a, b, c2, d);\n }\n function JQd(a) {\n var b;\n if (!!a.a && a.a.kh()) {\n b = BD(a.a, 49);\n a.a = BD(xid(a, b), 138);\n a.a != b && (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 9, 5, b, a.a));\n }\n return a.a;\n }\n function yde(a) {\n if (a < 48)\n return -1;\n if (a > 102)\n return -1;\n if (a <= 57)\n return a - 48;\n if (a < 65)\n return -1;\n if (a <= 70)\n return a - 65 + 10;\n if (a < 97)\n return -1;\n return a - 97 + 10;\n }\n function Wj(a, b) {\n if (a == null) {\n throw vbb(new Heb(\"null key in entry: null=\" + b));\n } else if (b == null) {\n throw vbb(new Heb(\"null value in entry: \" + a + \"=null\"));\n }\n }\n function kr(a, b) {\n var c2, d;\n while (a.Ob()) {\n if (!b.Ob()) {\n return false;\n }\n c2 = a.Pb();\n d = b.Pb();\n if (!(PD(c2) === PD(d) || c2 != null && pb(c2, d))) {\n return false;\n }\n }\n return !b.Ob();\n }\n function jIb(a, b) {\n var c2;\n c2 = OC(GC(UD, 1), Vje, 25, 15, [pHb(a.a[0], b), pHb(a.a[1], b), pHb(a.a[2], b)]);\n if (a.d) {\n c2[0] = $wnd.Math.max(c2[0], c2[2]);\n c2[2] = c2[0];\n }\n return c2;\n }\n function kIb(a, b) {\n var c2;\n c2 = OC(GC(UD, 1), Vje, 25, 15, [qHb(a.a[0], b), qHb(a.a[1], b), qHb(a.a[2], b)]);\n if (a.d) {\n c2[0] = $wnd.Math.max(c2[0], c2[2]);\n c2[2] = c2[0];\n }\n return c2;\n }\n function mqc() {\n mqc = ccb;\n iqc = new oqc(\"GREEDY\", 0);\n hqc = new oqc(Une, 1);\n kqc = new oqc(Tne, 2);\n lqc = new oqc(\"MODEL_ORDER\", 3);\n jqc = new oqc(\"GREEDY_MODEL_ORDER\", 4);\n }\n function iUc(a, b) {\n var c2, d, e;\n a.b[b.g] = 1;\n for (d = Jsb(b.d, 0); d.b != d.d.c; ) {\n c2 = BD(Xsb(d), 188);\n e = c2.c;\n a.b[e.g] == 1 ? Dsb(a.a, c2) : a.b[e.g] == 2 ? a.b[e.g] = 1 : iUc(a, e);\n }\n }\n function V9b(a, b) {\n var c2, d, e;\n e = new Skb(b.gc());\n for (d = b.Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 286);\n c2.c == c2.f ? K9b(a, c2, c2.c) : L9b(a, c2) || (e.c[e.c.length] = c2, true);\n }\n return e;\n }\n function IZc(a, b, c2) {\n var d, e, f2, g, h;\n h = a.r + b;\n a.r += b;\n a.d += c2;\n d = c2 / a.n.c.length;\n e = 0;\n for (g = new olb(a.n); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 211);\n RZc(f2, h, d, e);\n ++e;\n }\n }\n function tEb(a) {\n var b, c2, d;\n zwb(a.b.a);\n a.a = KC(PM, Uhe, 57, a.c.c.a.b.c.length, 0, 1);\n b = 0;\n for (d = new olb(a.c.c.a.b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 57);\n c2.f = b++;\n }\n }\n function RVb(a) {\n var b, c2, d;\n zwb(a.b.a);\n a.a = KC(IP, Uhe, 81, a.c.a.a.b.c.length, 0, 1);\n b = 0;\n for (d = new olb(a.c.a.a.b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 81);\n c2.i = b++;\n }\n }\n function P1c(a, b, c2) {\n var d;\n Odd(c2, \"Shrinking tree compaction\", 1);\n if (Ccb(DD(vNb(b, (XNb(), VNb))))) {\n N1c(a, b.f);\n INb(b.f, (d = b.c, d));\n } else {\n INb(b.f, b.c);\n }\n Qdd(c2);\n }\n function mr(a) {\n var b;\n b = gr(a);\n if (!Qr(a)) {\n throw vbb(new qcb(\"position (0) must be less than the number of elements that remained (\" + b + \")\"));\n }\n return Rr(a);\n }\n function hNb(b, c2, d) {\n var e;\n try {\n return YMb(b, c2 + b.j, d + b.k);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 73)) {\n e = a;\n throw vbb(new qcb(e.g + Gle + c2 + She + d + \").\"));\n } else\n throw vbb(a);\n }\n }\n function iNb(b, c2, d) {\n var e;\n try {\n return ZMb(b, c2 + b.j, d + b.k);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 73)) {\n e = a;\n throw vbb(new qcb(e.g + Gle + c2 + She + d + \").\"));\n } else\n throw vbb(a);\n }\n }\n function jNb(b, c2, d) {\n var e;\n try {\n return $Mb(b, c2 + b.j, d + b.k);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 73)) {\n e = a;\n throw vbb(new qcb(e.g + Gle + c2 + She + d + \").\"));\n } else\n throw vbb(a);\n }\n }\n function s5b(a) {\n switch (a.g) {\n case 1:\n return Ucd(), Tcd;\n case 4:\n return Ucd(), Acd;\n case 3:\n return Ucd(), zcd;\n case 2:\n return Ucd(), Rcd;\n default:\n return Ucd(), Scd;\n }\n }\n function cjc(a, b, c2) {\n if (b.k == (j0b(), h0b) && c2.k == g0b) {\n a.d = _ic(b, (Ucd(), Rcd));\n a.b = _ic(b, Acd);\n }\n if (c2.k == h0b && b.k == g0b) {\n a.d = _ic(c2, (Ucd(), Acd));\n a.b = _ic(c2, Rcd);\n }\n }\n function gjc(a, b) {\n var c2, d, e;\n e = V_b(a, b);\n for (d = e.Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 11);\n if (vNb(c2, (wtc(), gtc)) != null || a1b(new b1b(c2.b))) {\n return true;\n }\n }\n return false;\n }\n function QZc(a, b) {\n dld(b, a.e + a.d + (a.c.c.length == 0 ? 0 : a.b));\n eld(b, a.f);\n a.a = $wnd.Math.max(a.a, b.f);\n a.d += b.g + (a.c.c.length == 0 ? 0 : a.b);\n Ekb(a.c, b);\n return true;\n }\n function XZc(a, b, c2) {\n var d, e, f2, g;\n g = 0;\n d = c2 / a.a.c.length;\n for (f2 = new olb(a.a); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 187);\n OZc(e, e.s, e.t + g * d);\n IZc(e, a.d - e.r + b, d);\n ++g;\n }\n }\n function H4b(a) {\n var b, c2, d, e, f2;\n for (d = new olb(a.b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 29);\n b = 0;\n for (f2 = new olb(c2.a); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 10);\n e.p = b++;\n }\n }\n }\n function r6c(a, b) {\n var c2, d, e, f2, g, h;\n e = b.length - 1;\n g = 0;\n h = 0;\n for (d = 0; d <= e; d++) {\n f2 = b[d];\n c2 = k6c(e, d) * x6c(1 - a, e - d) * x6c(a, d);\n g += f2.a * c2;\n h += f2.b * c2;\n }\n return new f7c(g, h);\n }\n function jud(a, b) {\n var c2, d, e, f2, g;\n c2 = b.gc();\n a.qi(a.i + c2);\n f2 = b.Kc();\n g = a.i;\n a.i += c2;\n for (d = g; d < a.i; ++d) {\n e = f2.Pb();\n mud(a, d, a.oi(d, e));\n a.bi(d, e);\n a.ci();\n }\n return c2 != 0;\n }\n function twd(a, b, c2) {\n var d, e, f2;\n if (a.ej()) {\n d = a.Vi();\n f2 = a.fj();\n ++a.j;\n a.Hi(d, a.oi(d, b));\n e = a.Zi(3, null, b, d, f2);\n !c2 ? c2 = e : c2.Ei(e);\n } else {\n Avd(a, a.Vi(), b);\n }\n return c2;\n }\n function WOd(a, b, c2) {\n var d, e, f2;\n d = BD(qud(VKd(a.a), b), 87);\n f2 = (e = d.c, JD(e, 88) ? BD(e, 26) : (jGd(), _Fd));\n ((f2.Db & 64) != 0 ? xid(a.b, f2) : f2) == c2 ? KQd(d) : NQd(d, c2);\n return f2;\n }\n function Ewb(a, b, c2, d, e, f2, g, h) {\n var i3, j;\n if (!d) {\n return;\n }\n i3 = d.a[0];\n !!i3 && Ewb(a, b, c2, i3, e, f2, g, h);\n Fwb(a, c2, d.d, e, f2, g, h) && b.Fc(d);\n j = d.a[1];\n !!j && Ewb(a, b, c2, j, e, f2, g, h);\n }\n function eAb(a, b) {\n var c2;\n if (!a.a) {\n c2 = KC(UD, Vje, 25, 0, 15, 1);\n _ub(a.b.a, new iAb(c2));\n c2.sort(dcb(Ylb.prototype.te, Ylb, []));\n a.a = new Avb(c2, a.d);\n }\n return pvb(a.a, b);\n }\n function YMb(b, c2, d) {\n try {\n return Bbb(_Mb(b, c2, d), 1);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 320)) {\n throw vbb(new qcb(Dle + b.o + \"*\" + b.p + Ele + c2 + She + d + Fle));\n } else\n throw vbb(a);\n }\n }\n function ZMb(b, c2, d) {\n try {\n return Bbb(_Mb(b, c2, d), 0);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 320)) {\n throw vbb(new qcb(Dle + b.o + \"*\" + b.p + Ele + c2 + She + d + Fle));\n } else\n throw vbb(a);\n }\n }\n function $Mb(b, c2, d) {\n try {\n return Bbb(_Mb(b, c2, d), 2);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 320)) {\n throw vbb(new qcb(Dle + b.o + \"*\" + b.p + Ele + c2 + She + d + Fle));\n } else\n throw vbb(a);\n }\n }\n function Nyd(b, c2) {\n if (b.g == -1) {\n throw vbb(new Ydb());\n }\n b.mj();\n try {\n b.d._c(b.g, c2);\n b.f = b.d.j;\n } catch (a) {\n a = ubb(a);\n if (JD(a, 73)) {\n throw vbb(new Apb());\n } else\n throw vbb(a);\n }\n }\n function rJc(a, b, c2) {\n Odd(c2, \"Linear segments node placement\", 1);\n a.b = BD(vNb(b, (wtc(), otc)), 304);\n sJc(a, b);\n nJc(a, b);\n kJc(a, b);\n qJc(a);\n a.a = null;\n a.b = null;\n Qdd(c2);\n }\n function Ee(a, b) {\n var c2, d, e, f2;\n f2 = a.gc();\n b.length < f2 && (b = eCb(new Array(f2), b));\n e = b;\n d = a.Kc();\n for (c2 = 0; c2 < f2; ++c2) {\n NC(e, c2, d.Pb());\n }\n b.length > f2 && NC(b, f2, null);\n return b;\n }\n function Lu(a, b) {\n var c2, d;\n d = a.gc();\n if (b == null) {\n for (c2 = 0; c2 < d; c2++) {\n if (a.Xb(c2) == null) {\n return c2;\n }\n }\n } else {\n for (c2 = 0; c2 < d; c2++) {\n if (pb(b, a.Xb(c2))) {\n return c2;\n }\n }\n }\n return -1;\n }\n function Jd(a, b) {\n var c2, d, e;\n c2 = b.cd();\n e = b.dd();\n d = a.xc(c2);\n if (!(PD(e) === PD(d) || e != null && pb(e, d))) {\n return false;\n }\n if (d == null && !a._b(c2)) {\n return false;\n }\n return true;\n }\n function YC(a, b) {\n var c2, d, e;\n if (b <= 22) {\n c2 = a.l & (1 << b) - 1;\n d = e = 0;\n } else if (b <= 44) {\n c2 = a.l;\n d = a.m & (1 << b - 22) - 1;\n e = 0;\n } else {\n c2 = a.l;\n d = a.m;\n e = a.h & (1 << b - 44) - 1;\n }\n return TC(c2, d, e);\n }\n function yKb(a, b) {\n switch (b.g) {\n case 1:\n return a.f.n.d + a.t;\n case 3:\n return a.f.n.a + a.t;\n case 2:\n return a.f.n.c + a.s;\n case 4:\n return a.f.n.b + a.s;\n default:\n return 0;\n }\n }\n function aLb(a, b) {\n var c2, d;\n d = b.c;\n c2 = b.a;\n switch (a.b.g) {\n case 0:\n c2.d = a.e - d.a - d.d;\n break;\n case 1:\n c2.d += a.e;\n break;\n case 2:\n c2.c = a.e - d.a - d.d;\n break;\n case 3:\n c2.c = a.e + d.d;\n }\n }\n function ZOb(a, b, c2, d) {\n var e, f2;\n this.a = b;\n this.c = d;\n e = a.a;\n YOb(this, new f7c(-e.c, -e.d));\n P6c(this.b, c2);\n f2 = d / 2;\n b.a ? b7c(this.b, 0, f2) : b7c(this.b, f2, 0);\n Ekb(a.c, this);\n }\n function iXc() {\n iXc = ccb;\n hXc = new kXc(ane, 0);\n fXc = new kXc(Vne, 1);\n gXc = new kXc(\"EDGE_LENGTH_BY_POSITION\", 2);\n eXc = new kXc(\"CROSSING_MINIMIZATION_BY_POSITION\", 3);\n }\n function Wqd(a, b) {\n var c2, d;\n c2 = BD(oo(a.g, b), 33);\n if (c2) {\n return c2;\n }\n d = BD(oo(a.j, b), 118);\n if (d) {\n return d;\n }\n throw vbb(new cqd(\"Referenced shape does not exist: \" + b));\n }\n function rTb(a, b) {\n if (a.c == b) {\n return a.d;\n } else if (a.d == b) {\n return a.c;\n } else {\n throw vbb(new Wdb(\"Node 'one' must be either source or target of edge 'edge'.\"));\n }\n }\n function TMc(a, b) {\n if (a.c.i == b) {\n return a.d.i;\n } else if (a.d.i == b) {\n return a.c.i;\n } else {\n throw vbb(new Wdb(\"Node \" + b + \" is neither source nor target of edge \" + a));\n }\n }\n function _lc(a, b) {\n var c2;\n switch (b.g) {\n case 2:\n case 4:\n c2 = a.a;\n a.c.d.n.b < c2.d.n.b && (c2 = a.c);\n amc(a, b, (Ajc(), zjc), c2);\n break;\n case 1:\n case 3:\n amc(a, b, (Ajc(), wjc), null);\n }\n }\n function smc(a, b, c2, d, e, f2) {\n var g, h, i3, j, k;\n g = qmc(b, c2, f2);\n h = c2 == (Ucd(), Acd) || c2 == Tcd ? -1 : 1;\n j = a[c2.g];\n for (k = 0; k < j.length; k++) {\n i3 = j[k];\n i3 > 0 && (i3 += e);\n j[k] = g;\n g += h * (i3 + d);\n }\n }\n function Uoc(a) {\n var b, c2, d;\n d = a.f;\n a.n = KC(UD, Vje, 25, d, 15, 1);\n a.d = KC(UD, Vje, 25, d, 15, 1);\n for (b = 0; b < d; b++) {\n c2 = BD(Ikb(a.c.b, b), 29);\n a.n[b] = Roc(a, c2);\n a.d[b] = Qoc(a, c2);\n }\n }\n function zjd(a, b) {\n var c2, d, e;\n e = 0;\n for (d = 2; d < b; d <<= 1) {\n (a.Db & d) != 0 && ++e;\n }\n if (e == 0) {\n for (c2 = b <<= 1; c2 <= 128; c2 <<= 1) {\n if ((a.Db & c2) != 0) {\n return 0;\n }\n }\n return -1;\n } else {\n return e;\n }\n }\n function s3d(a, b) {\n var c2, d, e, f2, g;\n g = S6d(a.e.Tg(), b);\n f2 = null;\n c2 = BD(a.g, 119);\n for (e = 0; e < a.i; ++e) {\n d = c2[e];\n if (g.rl(d.ak())) {\n !f2 && (f2 = new yud());\n wtd(f2, d);\n }\n }\n !!f2 && Yxd(a, f2);\n }\n function H9d(a) {\n var b, c2, d;\n if (!a)\n return null;\n if (a.dc())\n return \"\";\n d = new Hfb();\n for (c2 = a.Kc(); c2.Ob(); ) {\n b = c2.Pb();\n Efb(d, GD(b));\n d.a += \" \";\n }\n return lcb(d, d.a.length - 1);\n }\n function Ty(a, b, c2) {\n var d, e, f2, g, h;\n Uy(a);\n for (e = (a.k == null && (a.k = KC(_I, nie, 78, 0, 0, 1)), a.k), f2 = 0, g = e.length; f2 < g; ++f2) {\n d = e[f2];\n Ty(d);\n }\n h = a.f;\n !!h && Ty(h);\n }\n function LC(a, b) {\n var c2 = new Array(b);\n var d;\n switch (a) {\n case 14:\n case 15:\n d = 0;\n break;\n case 16:\n d = false;\n break;\n default:\n return c2;\n }\n for (var e = 0; e < b; ++e) {\n c2[e] = d;\n }\n return c2;\n }\n function PDb(a) {\n var b, c2, d;\n for (c2 = new olb(a.a.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 57);\n b.c.$b();\n }\n fad(a.d) ? d = a.a.c : d = a.a.d;\n Hkb(d, new dEb(a));\n a.c.Me(a);\n QDb(a);\n }\n function sRb(a) {\n var b, c2, d, e;\n for (c2 = new olb(a.e.c); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 282);\n for (e = new olb(b.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 447);\n lRb(d);\n }\n cRb(b);\n }\n }\n function a$c(a) {\n var b, c2, d, e, f2;\n d = 0;\n f2 = 0;\n e = 0;\n for (c2 = new olb(a.a); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 187);\n f2 = $wnd.Math.max(f2, b.r);\n d += b.d + (e > 0 ? a.c : 0);\n ++e;\n }\n a.b = d;\n a.d = f2;\n }\n function BZc(a, b) {\n var c2, d, e, f2, g;\n d = 0;\n e = 0;\n c2 = 0;\n for (g = new olb(b); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 200);\n d = $wnd.Math.max(d, f2.e);\n e += f2.b + (c2 > 0 ? a.g : 0);\n ++c2;\n }\n a.c = e;\n a.d = d;\n }\n function AHb(a, b) {\n var c2;\n c2 = OC(GC(UD, 1), Vje, 25, 15, [zHb(a, (gHb(), dHb), b), zHb(a, eHb, b), zHb(a, fHb, b)]);\n if (a.f) {\n c2[0] = $wnd.Math.max(c2[0], c2[2]);\n c2[2] = c2[0];\n }\n return c2;\n }\n function lNb(b, c2, d) {\n var e;\n try {\n aNb(b, c2 + b.j, d + b.k, false, true);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 73)) {\n e = a;\n throw vbb(new qcb(e.g + Gle + c2 + She + d + \").\"));\n } else\n throw vbb(a);\n }\n }\n function mNb(b, c2, d) {\n var e;\n try {\n aNb(b, c2 + b.j, d + b.k, true, false);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 73)) {\n e = a;\n throw vbb(new qcb(e.g + Gle + c2 + She + d + \").\"));\n } else\n throw vbb(a);\n }\n }\n function d5b(a) {\n var b;\n if (!wNb(a, (Nyc(), xxc))) {\n return;\n }\n b = BD(vNb(a, xxc), 21);\n if (b.Hc((Hbd(), zbd))) {\n b.Mc(zbd);\n b.Fc(Bbd);\n } else if (b.Hc(Bbd)) {\n b.Mc(Bbd);\n b.Fc(zbd);\n }\n }\n function e5b(a) {\n var b;\n if (!wNb(a, (Nyc(), xxc))) {\n return;\n }\n b = BD(vNb(a, xxc), 21);\n if (b.Hc((Hbd(), Gbd))) {\n b.Mc(Gbd);\n b.Fc(Ebd);\n } else if (b.Hc(Ebd)) {\n b.Mc(Ebd);\n b.Fc(Gbd);\n }\n }\n function udc(a, b, c2) {\n Odd(c2, \"Self-Loop ordering\", 1);\n MAb(NAb(JAb(JAb(LAb(new YAb(null, new Kub(b.b, 16)), new ydc()), new Adc()), new Cdc()), new Edc()), new Gdc(a));\n Qdd(c2);\n }\n function ikc(a, b, c2, d) {\n var e, f2;\n for (e = b; e < a.c.length; e++) {\n f2 = (tCb(e, a.c.length), BD(a.c[e], 11));\n if (c2.Mb(f2)) {\n d.c[d.c.length] = f2;\n } else {\n return e;\n }\n }\n return a.c.length;\n }\n function Kmc(a, b, c2, d) {\n var e, f2, g, h;\n a.a == null && Nmc(a, b);\n g = b.b.j.c.length;\n f2 = c2.d.p;\n h = d.d.p;\n e = h - 1;\n e < 0 && (e = g - 1);\n return f2 <= e ? a.a[e] - a.a[f2] : a.a[g - 1] - a.a[f2] + a.a[e];\n }\n function ehd(a) {\n var b, c2;\n if (!a.b) {\n a.b = Qu(BD(a.f, 33).Ag().i);\n for (c2 = new Fyd(BD(a.f, 33).Ag()); c2.e != c2.i.gc(); ) {\n b = BD(Dyd(c2), 137);\n Ekb(a.b, new dhd(b));\n }\n }\n return a.b;\n }\n function fhd(a) {\n var b, c2;\n if (!a.e) {\n a.e = Qu(Yod(BD(a.f, 33)).i);\n for (c2 = new Fyd(Yod(BD(a.f, 33))); c2.e != c2.i.gc(); ) {\n b = BD(Dyd(c2), 118);\n Ekb(a.e, new thd(b));\n }\n }\n return a.e;\n }\n function ahd(a) {\n var b, c2;\n if (!a.a) {\n a.a = Qu(Vod(BD(a.f, 33)).i);\n for (c2 = new Fyd(Vod(BD(a.f, 33))); c2.e != c2.i.gc(); ) {\n b = BD(Dyd(c2), 33);\n Ekb(a.a, new hhd(a, b));\n }\n }\n return a.a;\n }\n function dKd(b) {\n var c2;\n if (!b.C && (b.D != null || b.B != null)) {\n c2 = eKd(b);\n if (c2) {\n b.yk(c2);\n } else {\n try {\n b.yk(null);\n } catch (a) {\n a = ubb(a);\n if (!JD(a, 60))\n throw vbb(a);\n }\n }\n }\n return b.C;\n }\n function GJb(a) {\n switch (a.q.g) {\n case 5:\n DJb(a, (Ucd(), Acd));\n DJb(a, Rcd);\n break;\n case 4:\n EJb(a, (Ucd(), Acd));\n EJb(a, Rcd);\n break;\n default:\n FJb(a, (Ucd(), Acd));\n FJb(a, Rcd);\n }\n }\n function PKb(a) {\n switch (a.q.g) {\n case 5:\n MKb(a, (Ucd(), zcd));\n MKb(a, Tcd);\n break;\n case 4:\n NKb(a, (Ucd(), zcd));\n NKb(a, Tcd);\n break;\n default:\n OKb(a, (Ucd(), zcd));\n OKb(a, Tcd);\n }\n }\n function EXb(a, b) {\n var c2, d, e;\n e = new d7c();\n for (d = a.Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 37);\n uXb(c2, e.a, 0);\n e.a += c2.f.a + b;\n e.b = $wnd.Math.max(e.b, c2.f.b);\n }\n e.b > 0 && (e.b += b);\n return e;\n }\n function GXb(a, b) {\n var c2, d, e;\n e = new d7c();\n for (d = a.Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 37);\n uXb(c2, 0, e.b);\n e.b += c2.f.b + b;\n e.a = $wnd.Math.max(e.a, c2.f.a);\n }\n e.a > 0 && (e.a += b);\n return e;\n }\n function d_b(a) {\n var b, c2, d;\n d = Ohe;\n for (c2 = new olb(a.a); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 10);\n wNb(b, (wtc(), Zsc)) && (d = $wnd.Math.min(d, BD(vNb(b, Zsc), 19).a));\n }\n return d;\n }\n function pHc(a, b) {\n var c2, d;\n if (b.length == 0) {\n return 0;\n }\n c2 = NHc(a.a, b[0], (Ucd(), Tcd));\n c2 += NHc(a.a, b[b.length - 1], zcd);\n for (d = 0; d < b.length; d++) {\n c2 += qHc(a, d, b);\n }\n return c2;\n }\n function vQc() {\n hQc();\n this.c = new Rkb();\n this.i = new Rkb();\n this.e = new zsb();\n this.f = new zsb();\n this.g = new zsb();\n this.j = new Rkb();\n this.a = new Rkb();\n this.b = new Lqb();\n this.k = new Lqb();\n }\n function aKd(a, b) {\n var c2, d;\n if (a.Db >> 16 == 6) {\n return a.Cb.ih(a, 5, o5, b);\n }\n return d = zUd(BD(XKd((c2 = BD(Ajd(a, 16), 26), !c2 ? a.zh() : c2), a.Db >> 16), 18)), a.Cb.ih(a, d.n, d.f, b);\n }\n function Wz(a) {\n Rz();\n var b = a.e;\n if (b && b.stack) {\n var c2 = b.stack;\n var d = b + \"\\n\";\n c2.substring(0, d.length) == d && (c2 = c2.substring(d.length));\n return c2.split(\"\\n\");\n }\n return [];\n }\n function jeb(a) {\n var b;\n b = (qeb(), peb);\n return b[a >>> 28] | b[a >> 24 & 15] << 4 | b[a >> 20 & 15] << 8 | b[a >> 16 & 15] << 12 | b[a >> 12 & 15] << 16 | b[a >> 8 & 15] << 20 | b[a >> 4 & 15] << 24 | b[a & 15] << 28;\n }\n function _jb(a) {\n var b, c2, d;\n if (a.b != a.c) {\n return;\n }\n d = a.a.length;\n c2 = geb($wnd.Math.max(8, d)) << 1;\n if (a.b != 0) {\n b = _Bb(a.a, c2);\n $jb(a, b, d);\n a.a = b;\n a.b = 0;\n } else {\n dCb(a.a, c2);\n }\n a.c = d;\n }\n function DKb(a, b) {\n var c2;\n c2 = a.b;\n return c2.Xe((Y9c(), s9c)) ? c2.Hf() == (Ucd(), Tcd) ? -c2.rf().a - Edb(ED(c2.We(s9c))) : b + Edb(ED(c2.We(s9c))) : c2.Hf() == (Ucd(), Tcd) ? -c2.rf().a : b;\n }\n function P_b(a) {\n var b;\n if (a.b.c.length != 0 && !!BD(Ikb(a.b, 0), 70).a) {\n return BD(Ikb(a.b, 0), 70).a;\n }\n b = JZb(a);\n if (b != null) {\n return b;\n }\n return \"\" + (!a.c ? -1 : Jkb(a.c.a, a, 0));\n }\n function C0b(a) {\n var b;\n if (a.f.c.length != 0 && !!BD(Ikb(a.f, 0), 70).a) {\n return BD(Ikb(a.f, 0), 70).a;\n }\n b = JZb(a);\n if (b != null) {\n return b;\n }\n return \"\" + (!a.i ? -1 : Jkb(a.i.j, a, 0));\n }\n function Ogc(a, b) {\n var c2, d;\n if (b < 0 || b >= a.gc()) {\n return null;\n }\n for (c2 = b; c2 < a.gc(); ++c2) {\n d = BD(a.Xb(c2), 128);\n if (c2 == a.gc() - 1 || !d.o) {\n return new vgd(meb(c2), d);\n }\n }\n return null;\n }\n function uoc(a, b, c2) {\n var d, e, f2, g, h;\n f2 = a.c;\n h = c2 ? b : a;\n d = c2 ? a : b;\n for (e = h.p + 1; e < d.p; ++e) {\n g = BD(Ikb(f2.a, e), 10);\n if (!(g.k == (j0b(), d0b) || voc(g))) {\n return false;\n }\n }\n return true;\n }\n function u$c(a) {\n var b, c2, d, e, f2;\n f2 = 0;\n e = Qje;\n d = 0;\n for (c2 = new olb(a.a); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 187);\n f2 += b.r + (d > 0 ? a.c : 0);\n e = $wnd.Math.max(e, b.d);\n ++d;\n }\n a.e = f2;\n a.b = e;\n }\n function shd(a) {\n var b, c2;\n if (!a.b) {\n a.b = Qu(BD(a.f, 118).Ag().i);\n for (c2 = new Fyd(BD(a.f, 118).Ag()); c2.e != c2.i.gc(); ) {\n b = BD(Dyd(c2), 137);\n Ekb(a.b, new dhd(b));\n }\n }\n return a.b;\n }\n function Ctd(a, b) {\n var c2, d, e;\n if (b.dc()) {\n return LCd(), LCd(), KCd;\n } else {\n c2 = new zyd(a, b.gc());\n for (e = new Fyd(a); e.e != e.i.gc(); ) {\n d = Dyd(e);\n b.Hc(d) && wtd(c2, d);\n }\n return c2;\n }\n }\n function bkd(a, b, c2, d) {\n if (b == 0) {\n return d ? (!a.o && (a.o = new dId((Thd(), Qhd), S2, a, 0)), a.o) : (!a.o && (a.o = new dId((Thd(), Qhd), S2, a, 0)), FAd(a.o));\n }\n return fid(a, b, c2, d);\n }\n function Tnd(a) {\n var b, c2;\n if (a.rb) {\n for (b = 0, c2 = a.rb.i; b < c2; ++b) {\n Cmd(qud(a.rb, b));\n }\n }\n if (a.vb) {\n for (b = 0, c2 = a.vb.i; b < c2; ++b) {\n Cmd(qud(a.vb, b));\n }\n }\n u1d((O6d(), M6d), a);\n a.Bb |= 1;\n }\n function _nd(a, b, c2, d, e, f2, g, h, i3, j, k, l, m, n) {\n aod(a, b, d, null, e, f2, g, h, i3, j, m, true, n);\n CUd(a, k);\n JD(a.Cb, 88) && XMd($Kd(BD(a.Cb, 88)), 2);\n !!c2 && DUd(a, c2);\n EUd(a, l);\n return a;\n }\n function jZd(b) {\n var c2, d;\n if (b == null) {\n return null;\n }\n d = 0;\n try {\n d = Icb(b, Rie, Ohe) & aje;\n } catch (a) {\n a = ubb(a);\n if (JD(a, 127)) {\n c2 = rfb(b);\n d = c2[0];\n } else\n throw vbb(a);\n }\n return bdb(d);\n }\n function kZd(b) {\n var c2, d;\n if (b == null) {\n return null;\n }\n d = 0;\n try {\n d = Icb(b, Rie, Ohe) & aje;\n } catch (a) {\n a = ubb(a);\n if (JD(a, 127)) {\n c2 = rfb(b);\n d = c2[0];\n } else\n throw vbb(a);\n }\n return bdb(d);\n }\n function bD(a, b) {\n var c2, d, e;\n e = a.h - b.h;\n if (e < 0) {\n return false;\n }\n c2 = a.l - b.l;\n d = a.m - b.m + (c2 >> 22);\n e += d >> 22;\n if (e < 0) {\n return false;\n }\n a.l = c2 & Eje;\n a.m = d & Eje;\n a.h = e & Fje;\n return true;\n }\n function Fwb(a, b, c2, d, e, f2, g) {\n var h, i3;\n if (b.Ae() && (i3 = a.a.ue(c2, d), i3 < 0 || !e && i3 == 0)) {\n return false;\n }\n if (b.Be() && (h = a.a.ue(c2, f2), h > 0 || !g && h == 0)) {\n return false;\n }\n return true;\n }\n function Vcc(a, b) {\n Occ();\n var c2;\n c2 = a.j.g - b.j.g;\n if (c2 != 0) {\n return 0;\n }\n switch (a.j.g) {\n case 2:\n return Ycc(b, Ncc) - Ycc(a, Ncc);\n case 4:\n return Ycc(a, Mcc) - Ycc(b, Mcc);\n }\n return 0;\n }\n function Tqc(a) {\n switch (a.g) {\n case 0:\n return Mqc;\n case 1:\n return Nqc;\n case 2:\n return Oqc;\n case 3:\n return Pqc;\n case 4:\n return Qqc;\n case 5:\n return Rqc;\n default:\n return null;\n }\n }\n function End(a, b, c2) {\n var d, e;\n d = (e = new rUd(), yId(e, b), pnd(e, c2), wtd((!a.c && (a.c = new cUd(p5, a, 12, 10)), a.c), e), e);\n AId(d, 0);\n DId(d, 1);\n CId(d, true);\n BId(d, true);\n return d;\n }\n function tud(a, b) {\n var c2, d;\n if (b >= a.i)\n throw vbb(new $zd(b, a.i));\n ++a.j;\n c2 = a.g[b];\n d = a.i - b - 1;\n d > 0 && $fb(a.g, b + 1, a.g, b, d);\n NC(a.g, --a.i, null);\n a.fi(b, c2);\n a.ci();\n return c2;\n }\n function UId(a, b) {\n var c2, d;\n if (a.Db >> 16 == 17) {\n return a.Cb.ih(a, 21, c5, b);\n }\n return d = zUd(BD(XKd((c2 = BD(Ajd(a, 16), 26), !c2 ? a.zh() : c2), a.Db >> 16), 18)), a.Cb.ih(a, d.n, d.f, b);\n }\n function iDb(a) {\n var b, c2, d, e;\n mmb();\n Okb(a.c, a.a);\n for (e = new olb(a.c); e.a < e.c.c.length; ) {\n d = mlb(e);\n for (c2 = new olb(a.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 679);\n b.Ke(d);\n }\n }\n }\n function pXb(a) {\n var b, c2, d, e;\n mmb();\n Okb(a.c, a.a);\n for (e = new olb(a.c); e.a < e.c.c.length; ) {\n d = mlb(e);\n for (c2 = new olb(a.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 369);\n b.Ke(d);\n }\n }\n }\n function AGb(a) {\n var b, c2, d, e, f2;\n e = Ohe;\n f2 = null;\n for (d = new olb(a.d); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 213);\n if (c2.d.j ^ c2.e.j) {\n b = c2.e.e - c2.d.e - c2.a;\n if (b < e) {\n e = b;\n f2 = c2;\n }\n }\n }\n return f2;\n }\n function OSb() {\n OSb = ccb;\n MSb = new Nsd(Mme, (Bcb(), false));\n ISb = new Nsd(Nme, 100);\n KSb = (yTb(), wTb);\n JSb = new Nsd(Ome, KSb);\n LSb = new Nsd(Pme, qme);\n NSb = new Nsd(Qme, meb(Ohe));\n }\n function ric(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n j = 0;\n for (e = a.a[b], f2 = 0, g = e.length; f2 < g; ++f2) {\n d = e[f2];\n k = CHc(d, c2);\n for (i3 = k.Kc(); i3.Ob(); ) {\n h = BD(i3.Pb(), 11);\n Rhb(a.f, h, meb(j++));\n }\n }\n }\n function uqd(a, b, c2) {\n var d, e, f2, g;\n if (c2) {\n e = c2.a.length;\n d = new Yge(e);\n for (g = (d.b - d.a) * d.c < 0 ? (Xge(), Wge) : new she(d); g.Ob(); ) {\n f2 = BD(g.Pb(), 19);\n Rc(a, b, Vpd(tB(c2, f2.a)));\n }\n }\n }\n function vqd(a, b, c2) {\n var d, e, f2, g;\n if (c2) {\n e = c2.a.length;\n d = new Yge(e);\n for (g = (d.b - d.a) * d.c < 0 ? (Xge(), Wge) : new she(d); g.Ob(); ) {\n f2 = BD(g.Pb(), 19);\n Rc(a, b, Vpd(tB(c2, f2.a)));\n }\n }\n }\n function Bkc(a) {\n gkc();\n var b;\n b = BD(Ee(Ec(a.k), KC(F1, bne, 61, 2, 0, 1)), 122);\n Klb(b, 0, b.length, null);\n if (b[0] == (Ucd(), Acd) && b[1] == Tcd) {\n NC(b, 0, Tcd);\n NC(b, 1, Acd);\n }\n return b;\n }\n function JHc(a, b, c2) {\n var d, e, f2;\n e = HHc(a, b, c2);\n f2 = KHc(a, e);\n yHc(a.b);\n cIc(a, b, c2);\n mmb();\n Okb(e, new hIc(a));\n d = KHc(a, e);\n yHc(a.b);\n cIc(a, c2, b);\n return new vgd(meb(f2), meb(d));\n }\n function jJc() {\n jJc = ccb;\n gJc = e3c(new j3c(), (qUb(), pUb), (S8b(), h8b));\n hJc = new Msd(\"linearSegments.inputPrio\", meb(0));\n iJc = new Msd(\"linearSegments.outputPrio\", meb(0));\n }\n function yRc() {\n yRc = ccb;\n uRc = new ARc(\"P1_TREEIFICATION\", 0);\n vRc = new ARc(\"P2_NODE_ORDERING\", 1);\n wRc = new ARc(\"P3_NODE_PLACEMENT\", 2);\n xRc = new ARc(\"P4_EDGE_ROUTING\", 3);\n }\n function ZWc() {\n ZWc = ccb;\n UWc = (Y9c(), C9c);\n XWc = T9c;\n NWc = Y8c;\n OWc = _8c;\n PWc = b9c;\n MWc = W8c;\n QWc = e9c;\n TWc = x9c;\n KWc = (HWc(), wWc);\n LWc = xWc;\n RWc = zWc;\n SWc = BWc;\n VWc = CWc;\n WWc = DWc;\n YWc = FWc;\n }\n function rbd() {\n rbd = ccb;\n qbd = new tbd(\"UNKNOWN\", 0);\n nbd = new tbd(\"ABOVE\", 1);\n obd = new tbd(\"BELOW\", 2);\n pbd = new tbd(\"INLINE\", 3);\n new Msd(\"org.eclipse.elk.labelSide\", qbd);\n }\n function rud(a, b) {\n var c2;\n if (a.ni() && b != null) {\n for (c2 = 0; c2 < a.i; ++c2) {\n if (pb(b, a.g[c2])) {\n return c2;\n }\n }\n } else {\n for (c2 = 0; c2 < a.i; ++c2) {\n if (PD(a.g[c2]) === PD(b)) {\n return c2;\n }\n }\n }\n return -1;\n }\n function DZb(a, b, c2) {\n var d, e;\n if (b.c == (KAc(), IAc) && c2.c == HAc) {\n return -1;\n } else if (b.c == HAc && c2.c == IAc) {\n return 1;\n }\n d = HZb(b.a, a.a);\n e = HZb(c2.a, a.a);\n return b.c == IAc ? e - d : d - e;\n }\n function Z_b(a, b, c2) {\n if (!!c2 && (b < 0 || b > c2.a.c.length)) {\n throw vbb(new Wdb(\"index must be >= 0 and <= layer node count\"));\n }\n !!a.c && Lkb(a.c.a, a);\n a.c = c2;\n !!c2 && Dkb(c2.a, b, a);\n }\n function p7b(a, b) {\n var c2, d, e;\n for (d = new Sr(ur(O_b(a).a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 17);\n e = BD(b.Kb(c2), 10);\n return new cc(Qb(e.n.b + e.o.b / 2));\n }\n return wb(), wb(), vb;\n }\n function rMc(a, b) {\n this.c = new Lqb();\n this.a = a;\n this.b = b;\n this.d = BD(vNb(a, (wtc(), otc)), 304);\n PD(vNb(a, (Nyc(), yxc))) === PD((_qc(), Zqc)) ? this.e = new bNc() : this.e = new WMc();\n }\n function $dd(a, b) {\n var c2, d, e, f2;\n f2 = 0;\n for (d = new olb(a); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 33);\n f2 += $wnd.Math.pow(c2.g * c2.f - b, 2);\n }\n e = $wnd.Math.sqrt(f2 / (a.c.length - 1));\n return e;\n }\n function bgd(a, b) {\n var c2, d;\n d = null;\n if (a.Xe((Y9c(), O9c))) {\n c2 = BD(a.We(O9c), 94);\n c2.Xe(b) && (d = c2.We(b));\n }\n d == null && !!a.yf() && (d = a.yf().We(b));\n d == null && (d = Ksd(b));\n return d;\n }\n function Vt(b, c2) {\n var d, e;\n d = b.Zc(c2);\n try {\n e = d.Pb();\n d.Qb();\n return e;\n } catch (a) {\n a = ubb(a);\n if (JD(a, 109)) {\n throw vbb(new qcb(\"Can't remove element \" + c2));\n } else\n throw vbb(a);\n }\n }\n function qA(a, b) {\n var c2, d, e;\n d = new eB();\n e = new fB(d.q.getFullYear() - nje, d.q.getMonth(), d.q.getDate());\n c2 = pA(a, b, e);\n if (c2 == 0 || c2 < b.length) {\n throw vbb(new Wdb(b));\n }\n return e;\n }\n function _tb(a, b) {\n var c2, d, e;\n uCb(b);\n lCb(b != a);\n e = a.b.c.length;\n for (d = b.Kc(); d.Ob(); ) {\n c2 = d.Pb();\n Ekb(a.b, uCb(c2));\n }\n if (e != a.b.c.length) {\n aub(a, 0);\n return true;\n }\n return false;\n }\n function bTb() {\n bTb = ccb;\n VSb = (Y9c(), O8c);\n new Osd(B8c, (Bcb(), true));\n YSb = Y8c;\n ZSb = _8c;\n $Sb = b9c;\n XSb = W8c;\n _Sb = e9c;\n aTb = x9c;\n USb = (OSb(), MSb);\n SSb = JSb;\n TSb = LSb;\n WSb = NSb;\n RSb = ISb;\n }\n function MZb(a, b) {\n if (b == a.c) {\n return a.d;\n } else if (b == a.d) {\n return a.c;\n } else {\n throw vbb(new Wdb(\"'port' must be either the source port or target port of the edge.\"));\n }\n }\n function C3b(a, b, c2) {\n var d, e;\n e = a.o;\n d = a.d;\n switch (b.g) {\n case 1:\n return -d.d - c2;\n case 3:\n return e.b + d.a + c2;\n case 2:\n return e.a + d.c + c2;\n case 4:\n return -d.b - c2;\n default:\n return 0;\n }\n }\n function H6b(a, b, c2, d) {\n var e, f2, g, h;\n $_b(b, BD(d.Xb(0), 29));\n h = d.bd(1, d.gc());\n for (f2 = BD(c2.Kb(b), 20).Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 17);\n g = e.c.i == b ? e.d.i : e.c.i;\n H6b(a, g, c2, h);\n }\n }\n function Xec(a) {\n var b;\n b = new Lqb();\n if (wNb(a, (wtc(), ttc))) {\n return BD(vNb(a, ttc), 83);\n }\n MAb(JAb(new YAb(null, new Kub(a.j, 16)), new Zec()), new _ec(b));\n yNb(a, ttc, b);\n return b;\n }\n function cmd(a, b) {\n var c2, d;\n if (a.Db >> 16 == 6) {\n return a.Cb.ih(a, 6, B2, b);\n }\n return d = zUd(BD(XKd((c2 = BD(Ajd(a, 16), 26), !c2 ? (Thd(), Lhd) : c2), a.Db >> 16), 18)), a.Cb.ih(a, d.n, d.f, b);\n }\n function Eod(a, b) {\n var c2, d;\n if (a.Db >> 16 == 7) {\n return a.Cb.ih(a, 1, C2, b);\n }\n return d = zUd(BD(XKd((c2 = BD(Ajd(a, 16), 26), !c2 ? (Thd(), Nhd) : c2), a.Db >> 16), 18)), a.Cb.ih(a, d.n, d.f, b);\n }\n function lpd(a, b) {\n var c2, d;\n if (a.Db >> 16 == 9) {\n return a.Cb.ih(a, 9, E2, b);\n }\n return d = zUd(BD(XKd((c2 = BD(Ajd(a, 16), 26), !c2 ? (Thd(), Phd) : c2), a.Db >> 16), 18)), a.Cb.ih(a, d.n, d.f, b);\n }\n function mQd(a, b) {\n var c2, d;\n if (a.Db >> 16 == 5) {\n return a.Cb.ih(a, 9, h5, b);\n }\n return d = zUd(BD(XKd((c2 = BD(Ajd(a, 16), 26), !c2 ? (jGd(), VFd) : c2), a.Db >> 16), 18)), a.Cb.ih(a, d.n, d.f, b);\n }\n function KHd(a, b) {\n var c2, d;\n if (a.Db >> 16 == 3) {\n return a.Cb.ih(a, 0, k5, b);\n }\n return d = zUd(BD(XKd((c2 = BD(Ajd(a, 16), 26), !c2 ? (jGd(), OFd) : c2), a.Db >> 16), 18)), a.Cb.ih(a, d.n, d.f, b);\n }\n function Snd(a, b) {\n var c2, d;\n if (a.Db >> 16 == 7) {\n return a.Cb.ih(a, 6, o5, b);\n }\n return d = zUd(BD(XKd((c2 = BD(Ajd(a, 16), 26), !c2 ? (jGd(), cGd) : c2), a.Db >> 16), 18)), a.Cb.ih(a, d.n, d.f, b);\n }\n function ird() {\n this.a = new bqd();\n this.g = new wo();\n this.j = new wo();\n this.b = new Lqb();\n this.d = new wo();\n this.i = new wo();\n this.k = new Lqb();\n this.c = new Lqb();\n this.e = new Lqb();\n this.f = new Lqb();\n }\n function MCd(a, b, c2) {\n var d, e, f2;\n c2 < 0 && (c2 = 0);\n f2 = a.i;\n for (e = c2; e < f2; e++) {\n d = qud(a, e);\n if (b == null) {\n if (d == null) {\n return e;\n }\n } else if (PD(b) === PD(d) || pb(b, d)) {\n return e;\n }\n }\n return -1;\n }\n function b1d(a, b) {\n var c2, d;\n c2 = b.Hh(a.a);\n if (!c2) {\n return null;\n } else {\n d = GD(AAd((!c2.b && (c2.b = new sId((jGd(), fGd), x6, c2)), c2.b), Awe));\n return dfb(Bwe, d) ? u1d(a, bKd(b.Hj())) : d;\n }\n }\n function p6d(a, b) {\n var c2, d;\n if (b) {\n if (b == a) {\n return true;\n }\n c2 = 0;\n for (d = BD(b, 49).eh(); !!d && d != b; d = d.eh()) {\n if (++c2 > Wje) {\n return p6d(a, d);\n }\n if (d == a) {\n return true;\n }\n }\n }\n return false;\n }\n function HKb(a) {\n CKb();\n switch (a.q.g) {\n case 5:\n EKb(a, (Ucd(), Acd));\n EKb(a, Rcd);\n break;\n case 4:\n FKb(a, (Ucd(), Acd));\n FKb(a, Rcd);\n break;\n default:\n GKb(a, (Ucd(), Acd));\n GKb(a, Rcd);\n }\n }\n function LKb(a) {\n CKb();\n switch (a.q.g) {\n case 5:\n IKb(a, (Ucd(), zcd));\n IKb(a, Tcd);\n break;\n case 4:\n JKb(a, (Ucd(), zcd));\n JKb(a, Tcd);\n break;\n default:\n KKb(a, (Ucd(), zcd));\n KKb(a, Tcd);\n }\n }\n function XQb(a) {\n var b, c2;\n b = BD(vNb(a, (wSb(), pSb)), 19);\n if (b) {\n c2 = b.a;\n c2 == 0 ? yNb(a, (HSb(), GSb), new Gub()) : yNb(a, (HSb(), GSb), new Hub(c2));\n } else {\n yNb(a, (HSb(), GSb), new Hub(1));\n }\n }\n function V$b(a, b) {\n var c2;\n c2 = a.i;\n switch (b.g) {\n case 1:\n return -(a.n.b + a.o.b);\n case 2:\n return a.n.a - c2.o.a;\n case 3:\n return a.n.b - c2.o.b;\n case 4:\n return -(a.n.a + a.o.a);\n }\n return 0;\n }\n function hbc(a, b) {\n switch (a.g) {\n case 0:\n return b == (Ctc(), ytc) ? dbc : ebc;\n case 1:\n return b == (Ctc(), ytc) ? dbc : cbc;\n case 2:\n return b == (Ctc(), ytc) ? cbc : ebc;\n default:\n return cbc;\n }\n }\n function v$c(a, b) {\n var c2, d, e;\n Lkb(a.a, b);\n a.e -= b.r + (a.a.c.length == 0 ? 0 : a.c);\n e = ere;\n for (d = new olb(a.a); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 187);\n e = $wnd.Math.max(e, c2.d);\n }\n a.b = e;\n }\n function Lld(a, b) {\n var c2, d;\n if (a.Db >> 16 == 3) {\n return a.Cb.ih(a, 12, E2, b);\n }\n return d = zUd(BD(XKd((c2 = BD(Ajd(a, 16), 26), !c2 ? (Thd(), Khd) : c2), a.Db >> 16), 18)), a.Cb.ih(a, d.n, d.f, b);\n }\n function Uod(a, b) {\n var c2, d;\n if (a.Db >> 16 == 11) {\n return a.Cb.ih(a, 10, E2, b);\n }\n return d = zUd(BD(XKd((c2 = BD(Ajd(a, 16), 26), !c2 ? (Thd(), Ohd) : c2), a.Db >> 16), 18)), a.Cb.ih(a, d.n, d.f, b);\n }\n function PSd(a, b) {\n var c2, d;\n if (a.Db >> 16 == 10) {\n return a.Cb.ih(a, 11, c5, b);\n }\n return d = zUd(BD(XKd((c2 = BD(Ajd(a, 16), 26), !c2 ? (jGd(), aGd) : c2), a.Db >> 16), 18)), a.Cb.ih(a, d.n, d.f, b);\n }\n function qUd(a, b) {\n var c2, d;\n if (a.Db >> 16 == 10) {\n return a.Cb.ih(a, 12, n5, b);\n }\n return d = zUd(BD(XKd((c2 = BD(Ajd(a, 16), 26), !c2 ? (jGd(), dGd) : c2), a.Db >> 16), 18)), a.Cb.ih(a, d.n, d.f, b);\n }\n function wId(a) {\n var b;\n if ((a.Bb & 1) == 0 && !!a.r && a.r.kh()) {\n b = BD(a.r, 49);\n a.r = BD(xid(a, b), 138);\n a.r != b && (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 9, 8, b, a.r));\n }\n return a.r;\n }\n function yHb(a, b, c2) {\n var d;\n d = OC(GC(UD, 1), Vje, 25, 15, [BHb(a, (gHb(), dHb), b, c2), BHb(a, eHb, b, c2), BHb(a, fHb, b, c2)]);\n if (a.f) {\n d[0] = $wnd.Math.max(d[0], d[2]);\n d[2] = d[0];\n }\n return d;\n }\n function O9b(a, b) {\n var c2, d, e;\n e = V9b(a, b);\n if (e.c.length == 0) {\n return;\n }\n Okb(e, new pac());\n c2 = e.c.length;\n for (d = 0; d < c2; d++) {\n K9b(a, (tCb(d, e.c.length), BD(e.c[d], 286)), R9b(a, e, d));\n }\n }\n function qkc(a) {\n var b, c2, d, e;\n for (e = BD(Qc(a.a, (Xjc(), Sjc)), 15).Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 101);\n for (c2 = Ec(d.k).Kc(); c2.Ob(); ) {\n b = BD(c2.Pb(), 61);\n kkc(a, d, b, (Fkc(), Dkc), 1);\n }\n }\n }\n function voc(a) {\n var b, c2;\n if (a.k == (j0b(), g0b)) {\n for (c2 = new Sr(ur(O_b(a).a.Kc(), new Sq())); Qr(c2); ) {\n b = BD(Rr(c2), 17);\n if (!OZb(b) && a.c == LZb(b, a).c) {\n return true;\n }\n }\n }\n return false;\n }\n function JNc(a) {\n var b, c2;\n if (a.k == (j0b(), g0b)) {\n for (c2 = new Sr(ur(O_b(a).a.Kc(), new Sq())); Qr(c2); ) {\n b = BD(Rr(c2), 17);\n if (!OZb(b) && b.c.i.c == b.d.i.c) {\n return true;\n }\n }\n }\n return false;\n }\n function HUc(a, b) {\n var c2, d, e, f2;\n Odd(b, \"Dull edge routing\", 1);\n for (f2 = Jsb(a.b, 0); f2.b != f2.d.c; ) {\n e = BD(Xsb(f2), 86);\n for (d = Jsb(e.d, 0); d.b != d.d.c; ) {\n c2 = BD(Xsb(d), 188);\n Osb(c2.a);\n }\n }\n }\n function xqd(a, b) {\n var c2, d, e, f2, g;\n if (b) {\n e = b.a.length;\n c2 = new Yge(e);\n for (g = (c2.b - c2.a) * c2.c < 0 ? (Xge(), Wge) : new she(c2); g.Ob(); ) {\n f2 = BD(g.Pb(), 19);\n d = Zpd(b, f2.a);\n !!d && ard(a, d);\n }\n }\n }\n function DZd() {\n tZd();\n var a, b;\n xZd((NFd(), MFd));\n wZd(MFd);\n Tnd(MFd);\n FQd = (jGd(), YFd);\n for (b = new olb(rZd); b.a < b.c.c.length; ) {\n a = BD(mlb(b), 241);\n QQd(a, YFd, null);\n }\n return true;\n }\n function eD(a, b) {\n var c2, d, e, f2, g, h, i3, j;\n i3 = a.h >> 19;\n j = b.h >> 19;\n if (i3 != j) {\n return j - i3;\n }\n e = a.h;\n h = b.h;\n if (e != h) {\n return e - h;\n }\n d = a.m;\n g = b.m;\n if (d != g) {\n return d - g;\n }\n c2 = a.l;\n f2 = b.l;\n return c2 - f2;\n }\n function fFb() {\n fFb = ccb;\n eFb = (rFb(), oFb);\n dFb = new Nsd(Yke, eFb);\n cFb = (UEb(), TEb);\n bFb = new Nsd(Zke, cFb);\n aFb = (MEb(), LEb);\n _Eb = new Nsd($ke, aFb);\n $Eb = new Nsd(_ke, (Bcb(), true));\n }\n function cfc(a, b, c2) {\n var d, e;\n d = b * c2;\n if (JD(a.g, 145)) {\n e = ugc(a);\n if (e.f.d) {\n e.f.a || (a.d.a += d + ple);\n } else {\n a.d.d -= d + ple;\n a.d.a += d + ple;\n }\n } else if (JD(a.g, 10)) {\n a.d.d -= d;\n a.d.a += 2 * d;\n }\n }\n function vmc(a, b, c2) {\n var d, e, f2, g, h;\n e = a[c2.g];\n for (h = new olb(b.d); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 101);\n f2 = g.i;\n if (!!f2 && f2.i == c2) {\n d = g.d[c2.g];\n e[d] = $wnd.Math.max(e[d], f2.j.b);\n }\n }\n }\n function AZc(a, b) {\n var c2, d, e, f2, g;\n d = 0;\n e = 0;\n c2 = 0;\n for (g = new olb(b.d); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 443);\n a$c(f2);\n d = $wnd.Math.max(d, f2.b);\n e += f2.d + (c2 > 0 ? a.g : 0);\n ++c2;\n }\n b.b = d;\n b.e = e;\n }\n function to(a) {\n var b, c2, d;\n d = a.b;\n if (Lp(a.i, d.length)) {\n c2 = d.length * 2;\n a.b = KC(GF, Gie, 317, c2, 0, 1);\n a.c = KC(GF, Gie, 317, c2, 0, 1);\n a.f = c2 - 1;\n a.i = 0;\n for (b = a.a; b; b = b.c) {\n po(a, b, b);\n }\n ++a.g;\n }\n }\n function cNb(a, b, c2, d) {\n var e, f2, g, h;\n for (e = 0; e < b.o; e++) {\n f2 = e - b.j + c2;\n for (g = 0; g < b.p; g++) {\n h = g - b.k + d;\n YMb(b, e, g) ? jNb(a, f2, h) || lNb(a, f2, h) : $Mb(b, e, g) && (hNb(a, f2, h) || mNb(a, f2, h));\n }\n }\n }\n function Ooc(a, b, c2) {\n var d;\n d = b.c.i;\n if (d.k == (j0b(), g0b)) {\n yNb(a, (wtc(), Vsc), BD(vNb(d, Vsc), 11));\n yNb(a, Wsc, BD(vNb(d, Wsc), 11));\n } else {\n yNb(a, (wtc(), Vsc), b.c);\n yNb(a, Wsc, c2.d);\n }\n }\n function l6c(a, b, c2) {\n i6c();\n var d, e, f2, g, h, i3;\n g = b / 2;\n f2 = c2 / 2;\n d = $wnd.Math.abs(a.a);\n e = $wnd.Math.abs(a.b);\n h = 1;\n i3 = 1;\n d > g && (h = g / d);\n e > f2 && (i3 = f2 / e);\n Y6c(a, $wnd.Math.min(h, i3));\n return a;\n }\n function ond() {\n Smd();\n var b, c2;\n try {\n c2 = BD(mUd((yFd(), xFd), yte), 2014);\n if (c2) {\n return c2;\n }\n } catch (a) {\n a = ubb(a);\n if (JD(a, 102)) {\n b = a;\n uvd((h0d(), b));\n } else\n throw vbb(a);\n }\n return new knd();\n }\n function Y9d() {\n A9d();\n var b, c2;\n try {\n c2 = BD(mUd((yFd(), xFd), Ewe), 2024);\n if (c2) {\n return c2;\n }\n } catch (a) {\n a = ubb(a);\n if (JD(a, 102)) {\n b = a;\n uvd((h0d(), b));\n } else\n throw vbb(a);\n }\n return new U9d();\n }\n function qZd() {\n Smd();\n var b, c2;\n try {\n c2 = BD(mUd((yFd(), xFd), _ve), 1941);\n if (c2) {\n return c2;\n }\n } catch (a) {\n a = ubb(a);\n if (JD(a, 102)) {\n b = a;\n uvd((h0d(), b));\n } else\n throw vbb(a);\n }\n return new mZd();\n }\n function HQd(a, b, c2) {\n var d, e;\n e = a.e;\n a.e = b;\n if ((a.Db & 4) != 0 && (a.Db & 1) == 0) {\n d = new nSd(a, 1, 4, e, b);\n !c2 ? c2 = d : c2.Ei(d);\n }\n e != b && (b ? c2 = QQd(a, MQd(a, b), c2) : c2 = QQd(a, a.a, c2));\n return c2;\n }\n function nB() {\n eB.call(this);\n this.e = -1;\n this.a = false;\n this.p = Rie;\n this.k = -1;\n this.c = -1;\n this.b = -1;\n this.g = false;\n this.f = -1;\n this.j = -1;\n this.n = -1;\n this.i = -1;\n this.d = -1;\n this.o = Rie;\n }\n function qEb(a, b) {\n var c2, d, e;\n d = a.b.d.d;\n a.a || (d += a.b.d.a);\n e = b.b.d.d;\n b.a || (e += b.b.d.a);\n c2 = Kdb(d, e);\n if (c2 == 0) {\n if (!a.a && b.a) {\n return -1;\n } else if (!b.a && a.a) {\n return 1;\n }\n }\n return c2;\n }\n function eOb(a, b) {\n var c2, d, e;\n d = a.b.b.d;\n a.a || (d += a.b.b.a);\n e = b.b.b.d;\n b.a || (e += b.b.b.a);\n c2 = Kdb(d, e);\n if (c2 == 0) {\n if (!a.a && b.a) {\n return -1;\n } else if (!b.a && a.a) {\n return 1;\n }\n }\n return c2;\n }\n function PVb(a, b) {\n var c2, d, e;\n d = a.b.g.d;\n a.a || (d += a.b.g.a);\n e = b.b.g.d;\n b.a || (e += b.b.g.a);\n c2 = Kdb(d, e);\n if (c2 == 0) {\n if (!a.a && b.a) {\n return -1;\n } else if (!b.a && a.a) {\n return 1;\n }\n }\n return c2;\n }\n function ZTb() {\n ZTb = ccb;\n WTb = c3c(e3c(e3c(e3c(new j3c(), (qUb(), oUb), (S8b(), m8b)), oUb, q8b), pUb, x8b), pUb, a8b);\n YTb = e3c(e3c(new j3c(), oUb, S7b), oUb, b8b);\n XTb = c3c(new j3c(), pUb, d8b);\n }\n function s3b(a) {\n var b, c2, d, e, f2;\n b = BD(vNb(a, (wtc(), Csc)), 83);\n f2 = a.n;\n for (d = b.Cc().Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 306);\n e = c2.i;\n e.c += f2.a;\n e.d += f2.b;\n c2.c ? VHb(c2) : XHb(c2);\n }\n yNb(a, Csc, null);\n }\n function qmc(a, b, c2) {\n var d, e;\n e = a.b;\n d = e.d;\n switch (b.g) {\n case 1:\n return -d.d - c2;\n case 2:\n return e.o.a + d.c + c2;\n case 3:\n return e.o.b + d.a + c2;\n case 4:\n return -d.b - c2;\n default:\n return -1;\n }\n }\n function BXc(a) {\n var b, c2, d, e, f2;\n d = 0;\n e = dme;\n if (a.b) {\n for (b = 0; b < 360; b++) {\n c2 = b * 0.017453292519943295;\n zXc(a, a.d, 0, 0, dre, c2);\n f2 = a.b.ig(a.d);\n if (f2 < e) {\n d = c2;\n e = f2;\n }\n }\n }\n zXc(a, a.d, 0, 0, dre, d);\n }\n function E$c(a, b) {\n var c2, d, e, f2;\n f2 = new Lqb();\n b.e = null;\n b.f = null;\n for (d = new olb(b.i); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 65);\n e = BD(Ohb(a.g, c2.a), 46);\n c2.a = D6c(c2.b);\n Rhb(f2, c2.a, e);\n }\n a.g = f2;\n }\n function t$c(a, b, c2) {\n var d, e, f2, g, h, i3;\n e = b - a.e;\n f2 = e / a.d.c.length;\n g = 0;\n for (i3 = new olb(a.d); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 443);\n d = a.b - h.b + c2;\n _Zc(h, h.e + g * f2, h.f);\n XZc(h, f2, d);\n ++g;\n }\n }\n function YBd(a) {\n var b;\n a.f.qj();\n if (a.b != -1) {\n ++a.b;\n b = a.f.d[a.a];\n if (a.b < b.i) {\n return;\n }\n ++a.a;\n }\n for (; a.a < a.f.d.length; ++a.a) {\n b = a.f.d[a.a];\n if (!!b && b.i != 0) {\n a.b = 0;\n return;\n }\n }\n a.b = -1;\n }\n function j0d(a, b) {\n var c2, d, e;\n e = b.c.length;\n c2 = l0d(a, e == 0 ? \"\" : (tCb(0, b.c.length), GD(b.c[0])));\n for (d = 1; d < e && !!c2; ++d) {\n c2 = BD(c2, 49).oh((tCb(d, b.c.length), GD(b.c[d])));\n }\n return c2;\n }\n function rEc(a, b) {\n var c2, d;\n for (d = new olb(b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 10);\n a.c[c2.c.p][c2.p].a = Aub(a.i);\n a.c[c2.c.p][c2.p].d = Edb(a.c[c2.c.p][c2.p].a);\n a.c[c2.c.p][c2.p].b = 1;\n }\n }\n function _dd(a, b) {\n var c2, d, e, f2;\n f2 = 0;\n for (d = new olb(a); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 157);\n f2 += $wnd.Math.pow(red(c2) * qed(c2) - b, 2);\n }\n e = $wnd.Math.sqrt(f2 / (a.c.length - 1));\n return e;\n }\n function LHc(a, b, c2, d) {\n var e, f2, g;\n f2 = GHc(a, b, c2, d);\n g = MHc(a, f2);\n bIc(a, b, c2, d);\n yHc(a.b);\n mmb();\n Okb(f2, new lIc(a));\n e = MHc(a, f2);\n bIc(a, c2, b, d);\n yHc(a.b);\n return new vgd(meb(g), meb(e));\n }\n function cJc(a, b, c2) {\n var d, e;\n Odd(c2, \"Interactive node placement\", 1);\n a.a = BD(vNb(b, (wtc(), otc)), 304);\n for (e = new olb(b.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 29);\n bJc(a, d);\n }\n Qdd(c2);\n }\n function MVc(a, b) {\n var c2;\n Odd(b, \"General Compactor\", 1);\n b.n && !!a && Tdd(b, i6d(a), (pgd(), mgd));\n c2 = qWc(BD(hkd(a, (ZWc(), LWc)), 380));\n c2.hg(a);\n b.n && !!a && Tdd(b, i6d(a), (pgd(), mgd));\n }\n function Dfd(a, b, c2) {\n var d, e;\n nmd(a, a.j + b, a.k + c2);\n for (e = new Fyd((!a.a && (a.a = new xMd(y2, a, 5)), a.a)); e.e != e.i.gc(); ) {\n d = BD(Dyd(e), 469);\n ukd(d, d.a + b, d.b + c2);\n }\n gmd(a, a.b + b, a.c + c2);\n }\n function vld(a, b, c2, d) {\n switch (c2) {\n case 7:\n return !a.e && (a.e = new y5d(B2, a, 7, 4)), Sxd(a.e, b, d);\n case 8:\n return !a.d && (a.d = new y5d(B2, a, 8, 5)), Sxd(a.d, b, d);\n }\n return Fkd(a, b, c2, d);\n }\n function wld(a, b, c2, d) {\n switch (c2) {\n case 7:\n return !a.e && (a.e = new y5d(B2, a, 7, 4)), Txd(a.e, b, d);\n case 8:\n return !a.d && (a.d = new y5d(B2, a, 8, 5)), Txd(a.d, b, d);\n }\n return Gkd(a, b, c2, d);\n }\n function lqd(a, b, c2) {\n var d, e, f2, g, h;\n if (c2) {\n f2 = c2.a.length;\n d = new Yge(f2);\n for (h = (d.b - d.a) * d.c < 0 ? (Xge(), Wge) : new she(d); h.Ob(); ) {\n g = BD(h.Pb(), 19);\n e = Zpd(c2, g.a);\n !!e && drd(a, e, b);\n }\n }\n }\n function HAd(a, b, c2) {\n var d, e, f2, g, h;\n a.qj();\n f2 = b == null ? 0 : tb(b);\n if (a.f > 0) {\n g = (f2 & Ohe) % a.d.length;\n e = wAd(a, g, f2, b);\n if (e) {\n h = e.ed(c2);\n return h;\n }\n }\n d = a.tj(f2, b, c2);\n a.c.Fc(d);\n return null;\n }\n function t1d(a, b) {\n var c2, d, e, f2;\n switch (o1d(a, b)._k()) {\n case 3:\n case 2: {\n c2 = OKd(b);\n for (e = 0, f2 = c2.i; e < f2; ++e) {\n d = BD(qud(c2, e), 34);\n if ($1d(q1d(a, d)) == 5) {\n return d;\n }\n }\n break;\n }\n }\n return null;\n }\n function Qs(a) {\n var b, c2, d, e, f2;\n if (Lp(a.f, a.b.length)) {\n d = KC(BG, Gie, 330, a.b.length * 2, 0, 1);\n a.b = d;\n e = d.length - 1;\n for (c2 = a.a; c2 != a; c2 = c2.Rd()) {\n f2 = BD(c2, 330);\n b = f2.d & e;\n f2.a = d[b];\n d[b] = f2;\n }\n }\n }\n function DJb(a, b) {\n var c2, d, e, f2;\n f2 = 0;\n for (e = BD(BD(Qc(a.r, b), 21), 84).Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 111);\n f2 = $wnd.Math.max(f2, d.e.a + d.b.rf().a);\n }\n c2 = BD(Mpb(a.b, b), 124);\n c2.n.b = 0;\n c2.a.a = f2;\n }\n function MKb(a, b) {\n var c2, d, e, f2;\n c2 = 0;\n for (f2 = BD(BD(Qc(a.r, b), 21), 84).Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 111);\n c2 = $wnd.Math.max(c2, e.e.b + e.b.rf().b);\n }\n d = BD(Mpb(a.b, b), 124);\n d.n.d = 0;\n d.a.b = c2;\n }\n function INc(a) {\n var b, c2;\n c2 = BD(vNb(a, (wtc(), Ksc)), 21);\n b = k3c(zNc);\n c2.Hc((Orc(), Lrc)) && d3c(b, CNc);\n c2.Hc(Nrc) && d3c(b, ENc);\n c2.Hc(Erc) && d3c(b, ANc);\n c2.Hc(Grc) && d3c(b, BNc);\n return b;\n }\n function j1c(a, b) {\n var c2;\n Odd(b, \"Delaunay triangulation\", 1);\n c2 = new Rkb();\n Hkb(a.i, new n1c(c2));\n Ccb(DD(vNb(a, (XNb(), VNb)))) && \"null10bw\";\n !a.e ? a.e = NCb(c2) : ye(a.e, NCb(c2));\n Qdd(b);\n }\n function q6c(a) {\n if (a < 0) {\n throw vbb(new Wdb(\"The input must be positive\"));\n } else\n return a < h6c.length ? Sbb(h6c[a]) : $wnd.Math.sqrt(dre * a) * (y6c(a, a) / x6c(2.718281828459045, a));\n }\n function pud(a, b) {\n var c2;\n if (a.ni() && b != null) {\n for (c2 = 0; c2 < a.i; ++c2) {\n if (pb(b, a.g[c2])) {\n return true;\n }\n }\n } else {\n for (c2 = 0; c2 < a.i; ++c2) {\n if (PD(a.g[c2]) === PD(b)) {\n return true;\n }\n }\n }\n return false;\n }\n function jr(a, b) {\n if (b == null) {\n while (a.a.Ob()) {\n if (BD(a.a.Pb(), 42).dd() == null) {\n return true;\n }\n }\n } else {\n while (a.a.Ob()) {\n if (pb(b, BD(a.a.Pb(), 42).dd())) {\n return true;\n }\n }\n }\n return false;\n }\n function zy(a, b) {\n var c2, d, e;\n if (b === a) {\n return true;\n } else if (JD(b, 664)) {\n e = BD(b, 1947);\n return Ue((d = a.g, !d ? a.g = new vi(a) : d), (c2 = e.g, !c2 ? e.g = new vi(e) : c2));\n } else {\n return false;\n }\n }\n function Tz(a) {\n var b, c2, d, e;\n b = \"Sz\";\n c2 = \"ez\";\n e = $wnd.Math.min(a.length, 5);\n for (d = e - 1; d >= 0; d--) {\n if (dfb(a[d].d, b) || dfb(a[d].d, c2)) {\n a.length >= d + 1 && a.splice(0, d + 1);\n break;\n }\n }\n return a;\n }\n function Abb(a, b) {\n var c2;\n if (Fbb(a) && Fbb(b)) {\n c2 = a / b;\n if (Kje < c2 && c2 < Ije) {\n return c2 < 0 ? $wnd.Math.ceil(c2) : $wnd.Math.floor(c2);\n }\n }\n return zbb(UC(Fbb(a) ? Rbb(a) : a, Fbb(b) ? Rbb(b) : b, false));\n }\n function LZb(a, b) {\n if (b == a.c.i) {\n return a.d.i;\n } else if (b == a.d.i) {\n return a.c.i;\n } else {\n throw vbb(new Wdb(\"'node' must either be the source node or target node of the edge.\"));\n }\n }\n function C2b(a) {\n var b, c2, d, e;\n e = BD(vNb(a, (wtc(), xsc)), 37);\n if (e) {\n d = new d7c();\n b = Q_b(a.c.i);\n while (b != e) {\n c2 = b.e;\n b = Q_b(c2);\n O6c(P6c(P6c(d, c2.n), b.c), b.d.b, b.d.d);\n }\n return d;\n }\n return w2b;\n }\n function Ldc(a) {\n var b;\n b = BD(vNb(a, (wtc(), ntc)), 403);\n MAb(LAb(new YAb(null, new Kub(b.d, 16)), new Ydc()), new $dc(a));\n MAb(JAb(new YAb(null, new Kub(b.d, 16)), new aec()), new cec(a));\n }\n function woc(a, b) {\n var c2, d, e, f2;\n e = b ? U_b(a) : R_b(a);\n for (d = new Sr(ur(e.a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 17);\n f2 = LZb(c2, a);\n if (f2.k == (j0b(), g0b) && f2.c != a.c) {\n return f2;\n }\n }\n return null;\n }\n function HDc(a) {\n var b, c2, d;\n for (c2 = new olb(a.p); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 10);\n if (b.k != (j0b(), h0b)) {\n continue;\n }\n d = b.o.b;\n a.i = $wnd.Math.min(a.i, d);\n a.g = $wnd.Math.max(a.g, d);\n }\n }\n function oEc(a, b, c2) {\n var d, e, f2;\n for (f2 = new olb(b); f2.a < f2.c.c.length; ) {\n d = BD(mlb(f2), 10);\n a.c[d.c.p][d.p].e = false;\n }\n for (e = new olb(b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 10);\n nEc(a, d, c2);\n }\n }\n function WOc(a, b, c2) {\n var d, e;\n d = vPc(b.j, c2.s, c2.c) + vPc(c2.e, b.s, b.c);\n e = vPc(c2.j, b.s, b.c) + vPc(b.e, c2.s, c2.c);\n if (d == e) {\n if (d > 0) {\n a.b += 2;\n a.a += d;\n }\n } else {\n a.b += 1;\n a.a += $wnd.Math.min(d, e);\n }\n }\n function Rpd(a, b) {\n var c2, d;\n d = false;\n if (ND(b)) {\n d = true;\n Qpd(a, new yC(GD(b)));\n }\n if (!d) {\n if (JD(b, 236)) {\n d = true;\n Qpd(a, (c2 = Kcb(BD(b, 236)), new TB(c2)));\n }\n }\n if (!d) {\n throw vbb(new vcb(Ute));\n }\n }\n function IMd(a, b, c2, d) {\n var e, f2, g;\n e = new pSd(a.e, 1, 10, (g = b.c, JD(g, 88) ? BD(g, 26) : (jGd(), _Fd)), (f2 = c2.c, JD(f2, 88) ? BD(f2, 26) : (jGd(), _Fd)), HLd(a, b), false);\n !d ? d = e : d.Ei(e);\n return d;\n }\n function T_b(a) {\n var b, c2;\n switch (BD(vNb(Q_b(a), (Nyc(), ixc)), 420).g) {\n case 0:\n b = a.n;\n c2 = a.o;\n return new f7c(b.a + c2.a / 2, b.b + c2.b / 2);\n case 1:\n return new g7c(a.n);\n default:\n return null;\n }\n }\n function lrc() {\n lrc = ccb;\n irc = new mrc(ane, 0);\n hrc = new mrc(\"LEFTUP\", 1);\n krc = new mrc(\"RIGHTUP\", 2);\n grc = new mrc(\"LEFTDOWN\", 3);\n jrc = new mrc(\"RIGHTDOWN\", 4);\n frc = new mrc(\"BALANCED\", 5);\n }\n function FFc(a, b, c2) {\n var d, e, f2;\n d = Kdb(a.a[b.p], a.a[c2.p]);\n if (d == 0) {\n e = BD(vNb(b, (wtc(), Qsc)), 15);\n f2 = BD(vNb(c2, Qsc), 15);\n if (e.Hc(c2)) {\n return -1;\n } else if (f2.Hc(b)) {\n return 1;\n }\n }\n return d;\n }\n function jXc(a) {\n switch (a.g) {\n case 1:\n return new XVc();\n case 2:\n return new ZVc();\n case 3:\n return new VVc();\n case 0:\n return null;\n default:\n throw vbb(new Wdb(jre + (a.f != null ? a.f : \"\" + a.g)));\n }\n }\n function Ikd(a, b, c2) {\n switch (b) {\n case 1:\n !a.n && (a.n = new cUd(D2, a, 1, 7));\n Uxd(a.n);\n !a.n && (a.n = new cUd(D2, a, 1, 7));\n ytd(a.n, BD(c2, 14));\n return;\n case 2:\n Lkd(a, GD(c2));\n return;\n }\n ekd(a, b, c2);\n }\n function Zkd(a, b, c2) {\n switch (b) {\n case 3:\n ald(a, Edb(ED(c2)));\n return;\n case 4:\n cld(a, Edb(ED(c2)));\n return;\n case 5:\n dld(a, Edb(ED(c2)));\n return;\n case 6:\n eld(a, Edb(ED(c2)));\n return;\n }\n Ikd(a, b, c2);\n }\n function Fnd(a, b, c2) {\n var d, e, f2;\n f2 = (d = new rUd(), d);\n e = xId(f2, b, null);\n !!e && e.Fi();\n pnd(f2, c2);\n wtd((!a.c && (a.c = new cUd(p5, a, 12, 10)), a.c), f2);\n AId(f2, 0);\n DId(f2, 1);\n CId(f2, true);\n BId(f2, true);\n }\n function mUd(a, b) {\n var c2, d, e;\n c2 = Crb(a.g, b);\n if (JD(c2, 235)) {\n e = BD(c2, 235);\n e.Qh() == null && void 0;\n return e.Nh();\n } else if (JD(c2, 498)) {\n d = BD(c2, 1938);\n e = d.b;\n return e;\n } else {\n return null;\n }\n }\n function Ui(a, b, c2, d) {\n var e, f2;\n Qb(b);\n Qb(c2);\n f2 = BD(tn(a.d, b), 19);\n Ob(!!f2, \"Row %s not in %s\", b, a.e);\n e = BD(tn(a.b, c2), 19);\n Ob(!!e, \"Column %s not in %s\", c2, a.c);\n return Wi(a, f2.a, e.a, d);\n }\n function JC(a, b, c2, d, e, f2, g) {\n var h, i3, j, k, l;\n k = e[f2];\n j = f2 == g - 1;\n h = j ? d : 0;\n l = LC(h, k);\n d != 10 && OC(GC(a, g - f2), b[f2], c2[f2], h, l);\n if (!j) {\n ++f2;\n for (i3 = 0; i3 < k; ++i3) {\n l[i3] = JC(a, b, c2, d, e, f2, g);\n }\n }\n return l;\n }\n function Eyd(b) {\n if (b.g == -1) {\n throw vbb(new Ydb());\n }\n b.mj();\n try {\n b.i.$c(b.g);\n b.f = b.i.j;\n b.g < b.e && --b.e;\n b.g = -1;\n } catch (a) {\n a = ubb(a);\n if (JD(a, 73)) {\n throw vbb(new Apb());\n } else\n throw vbb(a);\n }\n }\n function hYb(a, b) {\n a.b.a = $wnd.Math.min(a.b.a, b.c);\n a.b.b = $wnd.Math.min(a.b.b, b.d);\n a.a.a = $wnd.Math.max(a.a.a, b.c);\n a.a.b = $wnd.Math.max(a.a.b, b.d);\n return a.c[a.c.length] = b, true;\n }\n function nZb(a) {\n var b, c2, d, e;\n e = -1;\n d = 0;\n for (c2 = new olb(a); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 243);\n if (b.c == (KAc(), HAc)) {\n e = d == 0 ? 0 : d - 1;\n break;\n } else\n d == a.c.length - 1 && (e = d);\n d += 1;\n }\n return e;\n }\n function UZc(a) {\n var b, c2, d, e;\n e = 0;\n b = 0;\n for (d = new olb(a.c); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 33);\n dld(c2, a.e + e);\n eld(c2, a.f);\n e += c2.g + a.b;\n b = $wnd.Math.max(b, c2.f + a.b);\n }\n a.d = e - a.b;\n a.a = b - a.b;\n }\n function bEb(a) {\n var b, c2, d;\n for (c2 = new olb(a.a.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 57);\n d = b.d.c;\n b.d.c = b.d.d;\n b.d.d = d;\n d = b.d.b;\n b.d.b = b.d.a;\n b.d.a = d;\n d = b.b.a;\n b.b.a = b.b.b;\n b.b.b = d;\n }\n RDb(a);\n }\n function BVb(a) {\n var b, c2, d;\n for (c2 = new olb(a.a.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 81);\n d = b.g.c;\n b.g.c = b.g.d;\n b.g.d = d;\n d = b.g.b;\n b.g.b = b.g.a;\n b.g.a = d;\n d = b.e.a;\n b.e.a = b.e.b;\n b.e.b = d;\n }\n sVb(a);\n }\n function Lmc(a) {\n var b, c2, d, e, f2;\n f2 = Ec(a.k);\n for (c2 = (Ucd(), OC(GC(F1, 1), bne, 61, 0, [Scd, Acd, zcd, Rcd, Tcd])), d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n if (b != Scd && !f2.Hc(b)) {\n return b;\n }\n }\n return null;\n }\n function znc(a, b) {\n var c2, d;\n d = BD(Etb(KAb(JAb(new YAb(null, new Kub(b.j, 16)), new Pnc()))), 11);\n if (d) {\n c2 = BD(Ikb(d.e, 0), 17);\n if (c2) {\n return BD(vNb(c2, (wtc(), Zsc)), 19).a;\n }\n }\n return yzc(a.b);\n }\n function CCc(a, b) {\n var c2, d, e, f2;\n for (f2 = new olb(b.a); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 10);\n Blb(a.d);\n for (d = new Sr(ur(U_b(e).a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 17);\n zCc(a, e, c2.d.i);\n }\n }\n }\n function NZc(a, b) {\n var c2, d;\n Lkb(a.b, b);\n for (d = new olb(a.n); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 211);\n if (Jkb(c2.c, b, 0) != -1) {\n Lkb(c2.c, b);\n UZc(c2);\n c2.c.c.length == 0 && Lkb(a.n, c2);\n break;\n }\n }\n HZc(a);\n }\n function $Zc(a, b) {\n var c2, d, e, f2, g;\n g = a.f;\n e = 0;\n f2 = 0;\n for (d = new olb(a.a); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 187);\n OZc(c2, a.e, g);\n KZc(c2, b);\n f2 = $wnd.Math.max(f2, c2.r);\n g += c2.d + a.c;\n e = g;\n }\n a.d = f2;\n a.b = e;\n }\n function hVc(a) {\n var b, c2;\n c2 = $sd(a);\n if (Qq(c2)) {\n return null;\n } else {\n b = (Qb(c2), BD(mr(new Sr(ur(c2.a.Kc(), new Sq()))), 79));\n return atd(BD(qud((!b.b && (b.b = new y5d(z2, b, 4, 7)), b.b), 0), 82));\n }\n }\n function XId(a) {\n var b;\n if (!a.o) {\n b = a.Lj();\n b ? a.o = new dYd(a, a, null) : a.rk() ? a.o = new uVd(a, null) : $1d(q1d((O6d(), M6d), a)) == 1 ? a.o = new nYd(a) : a.o = new sYd(a, null);\n }\n return a.o;\n }\n function w6d(a, b, c2, d) {\n var e, f2, g, h, i3;\n if (c2.mh(b)) {\n e = (g = b, !g ? null : BD(d, 49).xh(g));\n if (e) {\n i3 = c2.ah(b);\n h = b.t;\n if (h > 1 || h == -1) {\n f2 = BD(i3, 15);\n e.Wb(t6d(a, f2));\n } else {\n e.Wb(s6d(a, BD(i3, 56)));\n }\n }\n }\n }\n function Zbb(b, c2, d, e) {\n Ybb();\n var f2 = Wbb;\n function g() {\n for (var a = 0; a < f2.length; a++) {\n f2[a]();\n }\n }\n if (b) {\n try {\n Ihe(g)();\n } catch (a) {\n b(c2, a);\n }\n } else {\n Ihe(g)();\n }\n }\n function Kgc(a) {\n var b, c2, d, e, f2;\n for (d = new nib(new eib(a.b).a); d.b; ) {\n c2 = lib(d);\n b = BD(c2.cd(), 10);\n f2 = BD(BD(c2.dd(), 46).a, 10);\n e = BD(BD(c2.dd(), 46).b, 8);\n P6c(X6c(b.n), P6c(R6c(f2.n), e));\n }\n }\n function llc(a) {\n switch (BD(vNb(a.b, (Nyc(), Vwc)), 375).g) {\n case 1:\n MAb(NAb(LAb(new YAb(null, new Kub(a.d, 16)), new Glc()), new Ilc()), new Klc());\n break;\n case 2:\n nlc(a);\n break;\n case 0:\n mlc(a);\n }\n }\n function KXc(a, b, c2) {\n var d;\n Odd(c2, \"Straight Line Edge Routing\", 1);\n c2.n && !!b && Tdd(c2, i6d(b), (pgd(), mgd));\n d = BD(hkd(b, (MUc(), LUc)), 33);\n LXc(a, d);\n c2.n && !!b && Tdd(c2, i6d(b), (pgd(), mgd));\n }\n function i8c() {\n i8c = ccb;\n h8c = new j8c(\"V_TOP\", 0);\n g8c = new j8c(\"V_CENTER\", 1);\n f8c = new j8c(\"V_BOTTOM\", 2);\n d8c = new j8c(\"H_LEFT\", 3);\n c8c = new j8c(\"H_CENTER\", 4);\n e8c = new j8c(\"H_RIGHT\", 5);\n }\n function gLd(a) {\n var b;\n if ((a.Db & 64) != 0)\n return mKd(a);\n b = new Jfb(mKd(a));\n b.a += \" (abstract: \";\n Ffb(b, (a.Bb & 256) != 0);\n b.a += \", interface: \";\n Ffb(b, (a.Bb & 512) != 0);\n b.a += \")\";\n return b.a;\n }\n function l3d(a, b, c2, d) {\n var e, f2, g, h;\n if (oid(a.e)) {\n e = b.ak();\n h = b.dd();\n f2 = c2.dd();\n g = H2d(a, 1, e, h, f2, e.$j() ? M2d(a, e, f2, JD(e, 99) && (BD(e, 18).Bb & Tje) != 0) : -1, true);\n d ? d.Ei(g) : d = g;\n }\n return d;\n }\n function kz(a) {\n var b;\n if (a.c == null) {\n b = PD(a.b) === PD(iz) ? null : a.b;\n a.d = b == null ? Xhe : MD(b) ? nz(FD(b)) : ND(b) ? Vie : hdb(rb(b));\n a.a = a.a + \": \" + (MD(b) ? mz(FD(b)) : b + \"\");\n a.c = \"(\" + a.d + \") \" + a.a;\n }\n }\n function Wgb(a, b) {\n this.e = a;\n if (Bbb(xbb(b, -4294967296), 0)) {\n this.d = 1;\n this.a = OC(GC(WD, 1), oje, 25, 15, [Tbb(b)]);\n } else {\n this.d = 2;\n this.a = OC(GC(WD, 1), oje, 25, 15, [Tbb(b), Tbb(Obb(b, 32))]);\n }\n }\n function yrb() {\n function b() {\n try {\n return (/* @__PURE__ */ new Map()).entries().next().done;\n } catch (a) {\n return false;\n }\n }\n if (typeof Map === Nhe && Map.prototype.entries && b()) {\n return Map;\n } else {\n return zrb();\n }\n }\n function VPc(a, b) {\n var c2, d, e, f2;\n f2 = new Bib(a.e, 0);\n c2 = 0;\n while (f2.b < f2.d.gc()) {\n d = Edb((sCb(f2.b < f2.d.gc()), ED(f2.d.Xb(f2.c = f2.b++))));\n e = d - b;\n if (e > Oqe) {\n return c2;\n } else\n e > -1e-6 && ++c2;\n }\n return c2;\n }\n function PQd(a, b) {\n var c2;\n if (b != a.b) {\n c2 = null;\n !!a.b && (c2 = lid(a.b, a, -4, c2));\n !!b && (c2 = kid(b, a, -4, c2));\n c2 = GQd(a, b, c2);\n !!c2 && c2.Fi();\n } else\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 3, b, b));\n }\n function SQd(a, b) {\n var c2;\n if (b != a.f) {\n c2 = null;\n !!a.f && (c2 = lid(a.f, a, -1, c2));\n !!b && (c2 = kid(b, a, -1, c2));\n c2 = IQd(a, b, c2);\n !!c2 && c2.Fi();\n } else\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 0, b, b));\n }\n function E9d(a) {\n var b, c2, d;\n if (a == null)\n return null;\n c2 = BD(a, 15);\n if (c2.dc())\n return \"\";\n d = new Hfb();\n for (b = c2.Kc(); b.Ob(); ) {\n Efb(d, (Q8d(), GD(b.Pb())));\n d.a += \" \";\n }\n return lcb(d, d.a.length - 1);\n }\n function I9d(a) {\n var b, c2, d;\n if (a == null)\n return null;\n c2 = BD(a, 15);\n if (c2.dc())\n return \"\";\n d = new Hfb();\n for (b = c2.Kc(); b.Ob(); ) {\n Efb(d, (Q8d(), GD(b.Pb())));\n d.a += \" \";\n }\n return lcb(d, d.a.length - 1);\n }\n function qEc(a, b, c2) {\n var d, e;\n d = a.c[b.c.p][b.p];\n e = a.c[c2.c.p][c2.p];\n if (d.a != null && e.a != null) {\n return Ddb(d.a, e.a);\n } else if (d.a != null) {\n return -1;\n } else if (e.a != null) {\n return 1;\n }\n return 0;\n }\n function zqd(a, b) {\n var c2, d, e, f2, g, h;\n if (b) {\n f2 = b.a.length;\n c2 = new Yge(f2);\n for (h = (c2.b - c2.a) * c2.c < 0 ? (Xge(), Wge) : new she(c2); h.Ob(); ) {\n g = BD(h.Pb(), 19);\n e = Zpd(b, g.a);\n d = new Crd(a);\n Aqd(d.a, e);\n }\n }\n }\n function Qqd(a, b) {\n var c2, d, e, f2, g, h;\n if (b) {\n f2 = b.a.length;\n c2 = new Yge(f2);\n for (h = (c2.b - c2.a) * c2.c < 0 ? (Xge(), Wge) : new she(c2); h.Ob(); ) {\n g = BD(h.Pb(), 19);\n e = Zpd(b, g.a);\n d = new lrd(a);\n nqd(d.a, e);\n }\n }\n }\n function eFd(b) {\n var c2;\n if (b != null && b.length > 0 && bfb(b, b.length - 1) == 33) {\n try {\n c2 = PEd(qfb(b, 0, b.length - 1));\n return c2.e == null;\n } catch (a) {\n a = ubb(a);\n if (!JD(a, 32))\n throw vbb(a);\n }\n }\n return false;\n }\n function h3d(a, b, c2) {\n var d, e, f2;\n d = b.ak();\n f2 = b.dd();\n e = d.$j() ? H2d(a, 3, d, null, f2, M2d(a, d, f2, JD(d, 99) && (BD(d, 18).Bb & Tje) != 0), true) : H2d(a, 1, d, d.zj(), f2, -1, true);\n c2 ? c2.Ei(e) : c2 = e;\n return c2;\n }\n function Vee() {\n var a, b, c2;\n b = 0;\n for (a = 0; a < \"X\".length; a++) {\n c2 = Uee((BCb(a, \"X\".length), \"X\".charCodeAt(a)));\n if (c2 == 0)\n throw vbb(new mde(\"Unknown Option: \" + \"X\".substr(a)));\n b |= c2;\n }\n return b;\n }\n function mZb(a, b, c2) {\n var d, e, f2;\n d = Q_b(b);\n e = a_b(d);\n f2 = new H0b();\n F0b(f2, b);\n switch (c2.g) {\n case 1:\n G0b(f2, Wcd(Zcd(e)));\n break;\n case 2:\n G0b(f2, Zcd(e));\n }\n yNb(f2, (Nyc(), Uxc), ED(vNb(a, Uxc)));\n return f2;\n }\n function U9b(a) {\n var b, c2;\n b = BD(Rr(new Sr(ur(R_b(a.a).a.Kc(), new Sq()))), 17);\n c2 = BD(Rr(new Sr(ur(U_b(a.a).a.Kc(), new Sq()))), 17);\n return Ccb(DD(vNb(b, (wtc(), ltc)))) || Ccb(DD(vNb(c2, ltc)));\n }\n function Xjc() {\n Xjc = ccb;\n Tjc = new Yjc(\"ONE_SIDE\", 0);\n Vjc = new Yjc(\"TWO_SIDES_CORNER\", 1);\n Wjc = new Yjc(\"TWO_SIDES_OPPOSING\", 2);\n Ujc = new Yjc(\"THREE_SIDES\", 3);\n Sjc = new Yjc(\"FOUR_SIDES\", 4);\n }\n function jkc(a, b, c2, d, e) {\n var f2, g;\n f2 = BD(GAb(JAb(b.Oc(), new _kc()), Byb(new fzb(), new dzb(), new Ezb(), OC(GC(xL, 1), Kie, 132, 0, [(Fyb(), Dyb)]))), 15);\n g = BD(Si(a.b, c2, d), 15);\n e == 0 ? g.Wc(0, f2) : g.Gc(f2);\n }\n function KDc(a, b) {\n var c2, d, e, f2, g;\n for (f2 = new olb(b.a); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 10);\n for (d = new Sr(ur(R_b(e).a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 17);\n g = c2.c.i.p;\n a.n[g] = a.n[g] - 1;\n }\n }\n }\n function cnc(a, b) {\n var c2, d, e, f2, g;\n for (f2 = new olb(b.d); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 101);\n g = BD(Ohb(a.c, e), 112).o;\n for (d = new Gqb(e.b); d.a < d.c.a.length; ) {\n c2 = BD(Fqb(d), 61);\n ojc(e, c2, g);\n }\n }\n }\n function HJc(a) {\n var b, c2;\n for (c2 = new olb(a.e.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 29);\n YJc(a, b);\n }\n MAb(JAb(LAb(LAb(new YAb(null, new Kub(a.e.b, 16)), new YKc()), new tLc()), new vLc()), new xLc(a));\n }\n function Qwd(a, b) {\n if (!b) {\n return false;\n } else {\n if (a.Di(b)) {\n return false;\n }\n if (!a.i) {\n if (JD(b, 143)) {\n a.i = BD(b, 143);\n return true;\n } else {\n a.i = new Hxd();\n return a.i.Ei(b);\n }\n } else {\n return a.i.Ei(b);\n }\n }\n }\n function B9d(a) {\n a = Qge(a, true);\n if (dfb(kse, a) || dfb(\"1\", a)) {\n return Bcb(), Acb;\n } else if (dfb(lse, a) || dfb(\"0\", a)) {\n return Bcb(), zcb;\n }\n throw vbb(new n8d(\"Invalid boolean value: '\" + a + \"'\"));\n }\n function Kd(a, b, c2) {\n var d, e, f2;\n for (e = a.vc().Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 42);\n f2 = d.cd();\n if (PD(b) === PD(f2) || b != null && pb(b, f2)) {\n if (c2) {\n d = new pjb(d.cd(), d.dd());\n e.Qb();\n }\n return d;\n }\n }\n return null;\n }\n function dKb(a) {\n $Jb();\n var b, c2, d;\n if (!a.B.Hc((Idd(), Add))) {\n return;\n }\n d = a.f.i;\n b = new K6c(a.a.c);\n c2 = new p0b();\n c2.b = b.c - d.c;\n c2.d = b.d - d.d;\n c2.c = d.c + d.b - (b.c + b.b);\n c2.a = d.d + d.a - (b.d + b.a);\n a.e.Ff(c2);\n }\n function LNb(a, b, c2, d) {\n var e, f2, g;\n g = $wnd.Math.min(c2, ONb(BD(a.b, 65), b, c2, d));\n for (f2 = new olb(a.a); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 221);\n e != b && (g = $wnd.Math.min(g, LNb(e, b, g, d)));\n }\n return g;\n }\n function WZb(a) {\n var b, c2, d, e;\n e = KC(OQ, nie, 193, a.b.c.length, 0, 2);\n d = new Bib(a.b, 0);\n while (d.b < d.d.gc()) {\n b = (sCb(d.b < d.d.gc()), BD(d.d.Xb(d.c = d.b++), 29));\n c2 = d.b - 1;\n e[c2] = l_b(b.a);\n }\n return e;\n }\n function K3b(a, b, c2, d, e) {\n var f2, g, h, i3;\n g = eLb(dLb(iLb(H3b(c2)), d), C3b(a, c2, e));\n for (i3 = Y_b(a, c2).Kc(); i3.Ob(); ) {\n h = BD(i3.Pb(), 11);\n if (b[h.p]) {\n f2 = b[h.p].i;\n Ekb(g.d, new BLb(f2, bLb(g, f2)));\n }\n }\n cLb(g);\n }\n function sic(a, b) {\n this.f = new Lqb();\n this.b = new Lqb();\n this.j = new Lqb();\n this.a = a;\n this.c = b;\n this.c > 0 && ric(this, this.c - 1, (Ucd(), zcd));\n this.c < this.a.length - 1 && ric(this, this.c + 1, (Ucd(), Tcd));\n }\n function SEc(a) {\n a.length > 0 && a[0].length > 0 && (this.c = Ccb(DD(vNb(Q_b(a[0][0]), (wtc(), Rsc)))));\n this.a = KC(CX, nie, 2018, a.length, 0, 2);\n this.b = KC(FX, nie, 2019, a.length, 0, 2);\n this.d = new ss();\n }\n function tKc(a) {\n if (a.c.length == 0) {\n return false;\n }\n if ((tCb(0, a.c.length), BD(a.c[0], 17)).c.i.k == (j0b(), g0b)) {\n return true;\n }\n return FAb(NAb(new YAb(null, new Kub(a, 16)), new wKc()), new yKc());\n }\n function rRc(a, b, c2) {\n Odd(c2, \"Tree layout\", 1);\n H2c(a.b);\n K2c(a.b, (yRc(), uRc), uRc);\n K2c(a.b, vRc, vRc);\n K2c(a.b, wRc, wRc);\n K2c(a.b, xRc, xRc);\n a.a = F2c(a.b, b);\n sRc(a, b, Udd(c2, 1));\n Qdd(c2);\n return b;\n }\n function HXc(a, b) {\n var c2, d, e, f2, g, h, i3;\n h = gVc(b);\n f2 = b.f;\n i3 = b.g;\n g = $wnd.Math.sqrt(f2 * f2 + i3 * i3);\n e = 0;\n for (d = new olb(h); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 33);\n e += HXc(a, c2);\n }\n return $wnd.Math.max(e, g);\n }\n function dcd() {\n dcd = ccb;\n ccd = new gcd(ole, 0);\n bcd = new gcd(\"FREE\", 1);\n acd = new gcd(\"FIXED_SIDE\", 2);\n Zbd = new gcd(\"FIXED_ORDER\", 3);\n _bd = new gcd(\"FIXED_RATIO\", 4);\n $bd = new gcd(\"FIXED_POS\", 5);\n }\n function c1d(a, b) {\n var c2, d, e;\n c2 = b.Hh(a.a);\n if (c2) {\n e = GD(AAd((!c2.b && (c2.b = new sId((jGd(), fGd), x6, c2)), c2.b), Cwe));\n for (d = 1; d < (O6d(), N6d).length; ++d) {\n if (dfb(N6d[d], e)) {\n return d;\n }\n }\n }\n return 0;\n }\n function Qlb(a) {\n var b, c2, d, e, f2;\n if (a == null) {\n return Xhe;\n }\n f2 = new xwb(She, \"[\", \"]\");\n for (c2 = a, d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n uwb(f2, \"\" + b);\n }\n return !f2.a ? f2.c : f2.e.length == 0 ? f2.a.a : f2.a.a + (\"\" + f2.e);\n }\n function Wlb(a) {\n var b, c2, d, e, f2;\n if (a == null) {\n return Xhe;\n }\n f2 = new xwb(She, \"[\", \"]\");\n for (c2 = a, d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n uwb(f2, \"\" + b);\n }\n return !f2.a ? f2.c : f2.e.length == 0 ? f2.a.a : f2.a.a + (\"\" + f2.e);\n }\n function Md(a) {\n var b, c2, d;\n d = new xwb(She, \"{\", \"}\");\n for (c2 = a.vc().Kc(); c2.Ob(); ) {\n b = BD(c2.Pb(), 42);\n uwb(d, Nd(a, b.cd()) + \"=\" + Nd(a, b.dd()));\n }\n return !d.a ? d.c : d.e.length == 0 ? d.a.a : d.a.a + (\"\" + d.e);\n }\n function EGb(a) {\n var b, c2, d, e;\n while (!akb(a.o)) {\n c2 = BD(fkb(a.o), 46);\n d = BD(c2.a, 121);\n b = BD(c2.b, 213);\n e = xFb(b, d);\n if (b.e == d) {\n NFb(e.g, b);\n d.e = e.e + b.a;\n } else {\n NFb(e.b, b);\n d.e = e.e - b.a;\n }\n Ekb(a.e.a, d);\n }\n }\n function F6b(a, b) {\n var c2, d, e;\n c2 = null;\n for (e = BD(b.Kb(a), 20).Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 17);\n if (!c2) {\n c2 = d.c.i == a ? d.d.i : d.c.i;\n } else {\n if ((d.c.i == a ? d.d.i : d.c.i) != c2) {\n return false;\n }\n }\n }\n return true;\n }\n function uPc(a, b) {\n var c2, d, e, f2, g;\n c2 = WNc(a, false, b);\n for (e = new olb(c2); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 129);\n d.d == 0 ? (BOc(d, null), COc(d, null)) : (f2 = d.a, g = d.b, BOc(d, g), COc(d, f2), void 0);\n }\n }\n function qQc(a) {\n var b, c2;\n b = new j3c();\n d3c(b, cQc);\n c2 = BD(vNb(a, (wtc(), Ksc)), 21);\n c2.Hc((Orc(), Nrc)) && d3c(b, gQc);\n c2.Hc(Erc) && d3c(b, dQc);\n c2.Hc(Lrc) && d3c(b, fQc);\n c2.Hc(Grc) && d3c(b, eQc);\n return b;\n }\n function Xac(a) {\n var b, c2, d, e;\n Wac(a);\n for (c2 = new Sr(ur(O_b(a).a.Kc(), new Sq())); Qr(c2); ) {\n b = BD(Rr(c2), 17);\n d = b.c.i == a;\n e = d ? b.d : b.c;\n d ? RZb(b, null) : QZb(b, null);\n yNb(b, (wtc(), ctc), e);\n _ac(a, e.i);\n }\n }\n function wmc(a, b, c2, d) {\n var e, f2;\n f2 = b.i;\n e = c2[f2.g][a.d[f2.g]];\n switch (f2.g) {\n case 1:\n e -= d + b.j.b;\n b.g.b = e;\n break;\n case 3:\n e += d;\n b.g.b = e;\n break;\n case 4:\n e -= d + b.j.a;\n b.g.a = e;\n break;\n case 2:\n e += d;\n b.g.a = e;\n }\n }\n function aVc(a) {\n var b, c2, d;\n for (c2 = new Fyd((!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a)); c2.e != c2.i.gc(); ) {\n b = BD(Dyd(c2), 33);\n d = $sd(b);\n if (!Qr(new Sr(ur(d.a.Kc(), new Sq())))) {\n return b;\n }\n }\n return null;\n }\n function Cod() {\n var a;\n if (yod)\n return BD(nUd((yFd(), xFd), yte), 2016);\n a = BD(JD(Phb((yFd(), xFd), yte), 555) ? Phb(xFd, yte) : new Bod(), 555);\n yod = true;\n zod(a);\n Aod(a);\n Tnd(a);\n Shb(xFd, yte, a);\n return a;\n }\n function t3d(a, b, c2) {\n var d, e;\n if (a.j == 0)\n return c2;\n e = BD(LLd(a, b, c2), 72);\n d = c2.ak();\n if (!d.Ij() || !a.a.rl(d)) {\n throw vbb(new hz(\"Invalid entry feature '\" + d.Hj().zb + \".\" + d.ne() + \"'\"));\n }\n return e;\n }\n function Qi(a, b) {\n var c2, d, e, f2, g, h, i3, j;\n for (h = a.a, i3 = 0, j = h.length; i3 < j; ++i3) {\n g = h[i3];\n for (d = g, e = 0, f2 = d.length; e < f2; ++e) {\n c2 = d[e];\n if (PD(b) === PD(c2) || b != null && pb(b, c2)) {\n return true;\n }\n }\n }\n return false;\n }\n function qhb(a) {\n var b, c2, d;\n if (ybb(a, 0) >= 0) {\n c2 = Abb(a, Jje);\n d = Hbb(a, Jje);\n } else {\n b = Pbb(a, 1);\n c2 = Abb(b, 5e8);\n d = Hbb(b, 5e8);\n d = wbb(Nbb(d, 1), xbb(a, 1));\n }\n return Mbb(Nbb(d, 32), xbb(c2, Yje));\n }\n function oQb(a, b, c2) {\n var d, e;\n d = (sCb(b.b != 0), BD(Nsb(b, b.a.a), 8));\n switch (c2.g) {\n case 0:\n d.b = 0;\n break;\n case 2:\n d.b = a.f;\n break;\n case 3:\n d.a = 0;\n break;\n default:\n d.a = a.g;\n }\n e = Jsb(b, 0);\n Vsb(e, d);\n return b;\n }\n function pmc(a, b, c2, d) {\n var e, f2, g, h, i3;\n i3 = a.b;\n f2 = b.d;\n g = f2.j;\n h = umc(g, i3.d[g.g], c2);\n e = P6c(R6c(f2.n), f2.a);\n switch (f2.j.g) {\n case 1:\n case 3:\n h.a += e.a;\n break;\n case 2:\n case 4:\n h.b += e.b;\n }\n Gsb(d, h, d.c.b, d.c);\n }\n function yJc(a, b, c2) {\n var d, e, f2, g;\n g = Jkb(a.e, b, 0);\n f2 = new zJc();\n f2.b = c2;\n d = new Bib(a.e, g);\n while (d.b < d.d.gc()) {\n e = (sCb(d.b < d.d.gc()), BD(d.d.Xb(d.c = d.b++), 10));\n e.p = c2;\n Ekb(f2.e, e);\n uib(d);\n }\n return f2;\n }\n function sYc(a, b, c2, d) {\n var e, f2, g, h, i3;\n e = null;\n f2 = 0;\n for (h = new olb(b); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 33);\n i3 = g.i + g.g;\n if (a < g.j + g.f + d) {\n !e ? e = g : c2.i - i3 < c2.i - f2 && (e = g);\n f2 = e.i + e.g;\n }\n }\n return !e ? 0 : f2 + d;\n }\n function tYc(a, b, c2, d) {\n var e, f2, g, h, i3;\n f2 = null;\n e = 0;\n for (h = new olb(b); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 33);\n i3 = g.j + g.f;\n if (a < g.i + g.g + d) {\n !f2 ? f2 = g : c2.j - i3 < c2.j - e && (f2 = g);\n e = f2.j + f2.f;\n }\n }\n return !f2 ? 0 : e + d;\n }\n function mA(a) {\n var b, c2, d;\n b = false;\n d = a.b.c.length;\n for (c2 = 0; c2 < d; c2++) {\n if (nA(BD(Ikb(a.b, c2), 434))) {\n if (!b && c2 + 1 < d && nA(BD(Ikb(a.b, c2 + 1), 434))) {\n b = true;\n BD(Ikb(a.b, c2), 434).a = true;\n }\n } else {\n b = false;\n }\n }\n }\n function Ahb(a, b, c2, d, e) {\n var f2, g;\n f2 = 0;\n for (g = 0; g < e; g++) {\n f2 = wbb(f2, Qbb(xbb(b[g], Yje), xbb(d[g], Yje)));\n a[g] = Tbb(f2);\n f2 = Obb(f2, 32);\n }\n for (; g < c2; g++) {\n f2 = wbb(f2, xbb(b[g], Yje));\n a[g] = Tbb(f2);\n f2 = Obb(f2, 32);\n }\n }\n function Jhb(a, b) {\n Dhb();\n var c2, d;\n d = (Hgb(), Cgb);\n c2 = a;\n for (; b > 1; b >>= 1) {\n (b & 1) != 0 && (d = Ogb(d, c2));\n c2.d == 1 ? c2 = Ogb(c2, c2) : c2 = new Xgb(Lhb(c2.a, c2.d, KC(WD, oje, 25, c2.d << 1, 15, 1)));\n }\n d = Ogb(d, c2);\n return d;\n }\n function zub() {\n zub = ccb;\n var a, b, c2, d;\n wub = KC(UD, Vje, 25, 25, 15, 1);\n xub = KC(UD, Vje, 25, 33, 15, 1);\n d = 152587890625e-16;\n for (b = 32; b >= 0; b--) {\n xub[b] = d;\n d *= 0.5;\n }\n c2 = 1;\n for (a = 24; a >= 0; a--) {\n wub[a] = c2;\n c2 *= 0.5;\n }\n }\n function S1b(a) {\n var b, c2;\n if (Ccb(DD(hkd(a, (Nyc(), fxc))))) {\n for (c2 = new Sr(ur(_sd(a).a.Kc(), new Sq())); Qr(c2); ) {\n b = BD(Rr(c2), 79);\n if (Qld(b)) {\n if (Ccb(DD(hkd(b, gxc)))) {\n return true;\n }\n }\n }\n }\n return false;\n }\n function kjc(a, b) {\n var c2, d, e;\n if (Qqb(a.f, b)) {\n b.b = a;\n d = b.c;\n Jkb(a.j, d, 0) != -1 || Ekb(a.j, d);\n e = b.d;\n Jkb(a.j, e, 0) != -1 || Ekb(a.j, e);\n c2 = b.a.b;\n if (c2.c.length != 0) {\n !a.i && (a.i = new vjc(a));\n qjc(a.i, c2);\n }\n }\n }\n function rmc(a) {\n var b, c2, d, e, f2;\n c2 = a.c.d;\n d = c2.j;\n e = a.d.d;\n f2 = e.j;\n if (d == f2) {\n return c2.p < e.p ? 0 : 1;\n } else if (Xcd(d) == f2) {\n return 0;\n } else if (Vcd(d) == f2) {\n return 1;\n } else {\n b = a.b;\n return uqb(b.b, Xcd(d)) ? 0 : 1;\n }\n }\n function lzc() {\n lzc = ccb;\n jzc = new nzc(Aqe, 0);\n hzc = new nzc(\"LONGEST_PATH\", 1);\n fzc = new nzc(\"COFFMAN_GRAHAM\", 2);\n gzc = new nzc(Tne, 3);\n kzc = new nzc(\"STRETCH_WIDTH\", 4);\n izc = new nzc(\"MIN_WIDTH\", 5);\n }\n function E3c(a) {\n var b;\n this.d = new Lqb();\n this.c = a.c;\n this.e = a.d;\n this.b = a.b;\n this.f = new jgd(a.e);\n this.a = a.a;\n !a.f ? this.g = (b = BD(gdb(O3), 9), new xqb(b, BD(_Bb(b, b.length), 9), 0)) : this.g = a.f;\n }\n function grd(a, b) {\n var c2, d, e, f2, g, h;\n e = a;\n g = $pd(e, \"layoutOptions\");\n !g && (g = $pd(e, Dte));\n if (g) {\n h = g;\n d = null;\n !!h && (d = (f2 = $B(h, KC(ZI, nie, 2, 0, 6, 1)), new mC(h, f2)));\n if (d) {\n c2 = new Drd(h, b);\n reb(d, c2);\n }\n }\n }\n function atd(a) {\n if (JD(a, 239)) {\n return BD(a, 33);\n } else if (JD(a, 186)) {\n return mpd(BD(a, 118));\n } else if (!a) {\n throw vbb(new Heb(gue));\n } else {\n throw vbb(new cgb(\"Only support nodes and ports.\"));\n }\n }\n function CA(a, b, c2, d) {\n if (b >= 0 && dfb(a.substr(b, \"GMT\".length), \"GMT\")) {\n c2[0] = b + 3;\n return tA(a, c2, d);\n }\n if (b >= 0 && dfb(a.substr(b, \"UTC\".length), \"UTC\")) {\n c2[0] = b + 3;\n return tA(a, c2, d);\n }\n return tA(a, c2, d);\n }\n function tjc(a, b) {\n var c2, d, e, f2, g;\n f2 = a.g.a;\n g = a.g.b;\n for (d = new olb(a.d); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 70);\n e = c2.n;\n e.a = f2;\n a.i == (Ucd(), Acd) ? e.b = g + a.j.b - c2.o.b : e.b = g;\n P6c(e, b);\n f2 += c2.o.a + a.e;\n }\n }\n function Odd(a, b, c2) {\n if (a.b) {\n throw vbb(new Zdb(\"The task is already done.\"));\n } else if (a.p != null) {\n return false;\n } else {\n a.p = b;\n a.r = c2;\n a.k && (a.o = (Zfb(), Ibb(Cbb(Date.now()), _ie)));\n return true;\n }\n }\n function hsd(a) {\n var b, c2, d, e, f2, g, h;\n h = new eC();\n c2 = a.tg();\n e = c2 != null;\n e && Upd(h, Vte, a.tg());\n d = a.ne();\n f2 = d != null;\n f2 && Upd(h, fue, a.ne());\n b = a.sg();\n g = b != null;\n g && Upd(h, \"description\", a.sg());\n return h;\n }\n function uId(a, b, c2) {\n var d, e, f2;\n f2 = a.q;\n a.q = b;\n if ((a.Db & 4) != 0 && (a.Db & 1) == 0) {\n e = new nSd(a, 1, 9, f2, b);\n !c2 ? c2 = e : c2.Ei(e);\n }\n if (!b) {\n !!a.r && (c2 = a.nk(null, c2));\n } else {\n d = b.c;\n d != a.r && (c2 = a.nk(d, c2));\n }\n return c2;\n }\n function IYd(a, b, c2) {\n var d, e, f2, g, h;\n c2 = (h = b, kid(h, a.e, -1 - a.c, c2));\n g = AYd(a.a);\n for (f2 = (d = new nib(new eib(g.a).a), new ZYd(d)); f2.a.b; ) {\n e = BD(lib(f2.a).cd(), 87);\n c2 = QQd(e, MQd(e, a.a), c2);\n }\n return c2;\n }\n function JYd(a, b, c2) {\n var d, e, f2, g, h;\n c2 = (h = b, lid(h, a.e, -1 - a.c, c2));\n g = AYd(a.a);\n for (f2 = (d = new nib(new eib(g.a).a), new ZYd(d)); f2.a.b; ) {\n e = BD(lib(f2.a).cd(), 87);\n c2 = QQd(e, MQd(e, a.a), c2);\n }\n return c2;\n }\n function jhb(a, b, c2, d) {\n var e, f2, g;\n if (d == 0) {\n $fb(b, 0, a, c2, a.length - c2);\n } else {\n g = 32 - d;\n a[a.length - 1] = 0;\n for (f2 = a.length - 1; f2 > c2; f2--) {\n a[f2] |= b[f2 - c2 - 1] >>> g;\n a[f2 - 1] = b[f2 - c2 - 1] << d;\n }\n }\n for (e = 0; e < c2; e++) {\n a[e] = 0;\n }\n }\n function LJb(a) {\n var b, c2, d, e, f2;\n b = 0;\n c2 = 0;\n for (f2 = a.Kc(); f2.Ob(); ) {\n d = BD(f2.Pb(), 111);\n b = $wnd.Math.max(b, d.d.b);\n c2 = $wnd.Math.max(c2, d.d.c);\n }\n for (e = a.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 111);\n d.d.b = b;\n d.d.c = c2;\n }\n }\n function TKb(a) {\n var b, c2, d, e, f2;\n c2 = 0;\n b = 0;\n for (f2 = a.Kc(); f2.Ob(); ) {\n d = BD(f2.Pb(), 111);\n c2 = $wnd.Math.max(c2, d.d.d);\n b = $wnd.Math.max(b, d.d.a);\n }\n for (e = a.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 111);\n d.d.d = c2;\n d.d.a = b;\n }\n }\n function rpc(a, b) {\n var c2, d, e, f2;\n f2 = new Rkb();\n e = 0;\n d = b.Kc();\n while (d.Ob()) {\n c2 = meb(BD(d.Pb(), 19).a + e);\n while (c2.a < a.f && !Voc(a, c2.a)) {\n c2 = meb(c2.a + 1);\n ++e;\n }\n if (c2.a >= a.f) {\n break;\n }\n f2.c[f2.c.length] = c2;\n }\n return f2;\n }\n function sfd(a) {\n var b, c2, d, e;\n b = null;\n for (e = new olb(a.wf()); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 181);\n c2 = new J6c(d.qf().a, d.qf().b, d.rf().a, d.rf().b);\n !b ? b = c2 : H6c(b, c2);\n }\n !b && (b = new I6c());\n return b;\n }\n function Fkd(a, b, c2, d) {\n var e, f2;\n if (c2 == 1) {\n return !a.n && (a.n = new cUd(D2, a, 1, 7)), Sxd(a.n, b, d);\n }\n return f2 = BD(XKd((e = BD(Ajd(a, 16), 26), !e ? a.zh() : e), c2), 66), f2.Nj().Qj(a, yjd(a), c2 - aLd(a.zh()), b, d);\n }\n function iud(a, b, c2) {\n var d, e, f2, g, h;\n d = c2.gc();\n a.qi(a.i + d);\n h = a.i - b;\n h > 0 && $fb(a.g, b, a.g, b + d, h);\n g = c2.Kc();\n a.i += d;\n for (e = 0; e < d; ++e) {\n f2 = g.Pb();\n mud(a, b, a.oi(b, f2));\n a.bi(b, f2);\n a.ci();\n ++b;\n }\n return d != 0;\n }\n function xId(a, b, c2) {\n var d;\n if (b != a.q) {\n !!a.q && (c2 = lid(a.q, a, -10, c2));\n !!b && (c2 = kid(b, a, -10, c2));\n c2 = uId(a, b, c2);\n } else if ((a.Db & 4) != 0 && (a.Db & 1) == 0) {\n d = new nSd(a, 1, 9, b, b);\n !c2 ? c2 = d : c2.Ei(d);\n }\n return c2;\n }\n function Yj(a, b, c2, d) {\n Mb((c2 & oie) == 0, \"flatMap does not support SUBSIZED characteristic\");\n Mb((c2 & 4) == 0, \"flatMap does not support SORTED characteristic\");\n Qb(a);\n Qb(b);\n return new jk(a, c2, d, b);\n }\n function Qy(a, b) {\n vCb(b, \"Cannot suppress a null exception.\");\n mCb(b != a, \"Exception can not suppress itself.\");\n if (a.i) {\n return;\n }\n a.k == null ? a.k = OC(GC(_I, 1), nie, 78, 0, [b]) : a.k[a.k.length] = b;\n }\n function oA(a, b, c2, d) {\n var e, f2, g, h, i3, j;\n g = c2.length;\n f2 = 0;\n e = -1;\n j = sfb(a.substr(b), (ntb(), ltb));\n for (h = 0; h < g; ++h) {\n i3 = c2[h].length;\n if (i3 > f2 && nfb(j, sfb(c2[h], ltb))) {\n e = h;\n f2 = i3;\n }\n }\n e >= 0 && (d[0] = b + f2);\n return e;\n }\n function MIb(a, b) {\n var c2;\n c2 = NIb(a.b.Hf(), b.b.Hf());\n if (c2 != 0) {\n return c2;\n }\n switch (a.b.Hf().g) {\n case 1:\n case 2:\n return beb(a.b.sf(), b.b.sf());\n case 3:\n case 4:\n return beb(b.b.sf(), a.b.sf());\n }\n return 0;\n }\n function iRb(a) {\n var b, c2, d;\n d = a.e.c.length;\n a.a = IC(WD, [nie, oje], [48, 25], 15, [d, d], 2);\n for (c2 = new olb(a.c); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 282);\n a.a[b.c.b][b.d.b] += BD(vNb(b, (wSb(), oSb)), 19).a;\n }\n }\n function H1c(a, b, c2) {\n Odd(c2, \"Grow Tree\", 1);\n a.b = b.f;\n if (Ccb(DD(vNb(b, (XNb(), VNb))))) {\n a.c = new tOb();\n D1c(a, null);\n } else {\n a.c = new tOb();\n }\n a.a = false;\n F1c(a, b.f);\n yNb(b, WNb, (Bcb(), a.a ? true : false));\n Qdd(c2);\n }\n function Umd(a, b) {\n var c2, d, e, f2, g;\n if (a == null) {\n return null;\n } else {\n g = KC(TD, $ie, 25, 2 * b, 15, 1);\n for (d = 0, e = 0; d < b; ++d) {\n c2 = a[d] >> 4 & 15;\n f2 = a[d] & 15;\n g[e++] = Qmd[c2];\n g[e++] = Qmd[f2];\n }\n return zfb(g, 0, g.length);\n }\n }\n function j3d(a, b, c2) {\n var d, e, f2;\n d = b.ak();\n f2 = b.dd();\n e = d.$j() ? H2d(a, 4, d, f2, null, M2d(a, d, f2, JD(d, 99) && (BD(d, 18).Bb & Tje) != 0), true) : H2d(a, d.Kj() ? 2 : 1, d, f2, d.zj(), -1, true);\n c2 ? c2.Ei(e) : c2 = e;\n return c2;\n }\n function wfb(a) {\n var b, c2;\n if (a >= Tje) {\n b = Uje + (a - Tje >> 10 & 1023) & aje;\n c2 = 56320 + (a - Tje & 1023) & aje;\n return String.fromCharCode(b) + (\"\" + String.fromCharCode(c2));\n } else {\n return String.fromCharCode(a & aje);\n }\n }\n function bKb(a, b) {\n $Jb();\n var c2, d, e, f2;\n e = BD(BD(Qc(a.r, b), 21), 84);\n if (e.gc() >= 2) {\n d = BD(e.Kc().Pb(), 111);\n c2 = a.u.Hc((rcd(), mcd));\n f2 = a.u.Hc(qcd);\n return !d.a && !c2 && (e.gc() == 2 || f2);\n } else {\n return false;\n }\n }\n function IVc(a, b, c2, d, e) {\n var f2, g, h;\n f2 = JVc(a, b, c2, d, e);\n h = false;\n while (!f2) {\n AVc(a, e, true);\n h = true;\n f2 = JVc(a, b, c2, d, e);\n }\n h && AVc(a, e, false);\n g = dVc(e);\n if (g.c.length != 0) {\n !!a.d && a.d.lg(g);\n IVc(a, e, c2, d, g);\n }\n }\n function Mad() {\n Mad = ccb;\n Kad = new Nad(ane, 0);\n Iad = new Nad(\"DIRECTED\", 1);\n Lad = new Nad(\"UNDIRECTED\", 2);\n Gad = new Nad(\"ASSOCIATION\", 3);\n Jad = new Nad(\"GENERALIZATION\", 4);\n Had = new Nad(\"DEPENDENCY\", 5);\n }\n function kfd(a, b) {\n var c2;\n if (!mpd(a)) {\n throw vbb(new Zdb(Sse));\n }\n c2 = mpd(a);\n switch (b.g) {\n case 1:\n return -(a.j + a.f);\n case 2:\n return a.i - c2.g;\n case 3:\n return a.j - c2.f;\n case 4:\n return -(a.i + a.g);\n }\n return 0;\n }\n function cub(a, b) {\n var c2, d;\n uCb(b);\n d = a.b.c.length;\n Ekb(a.b, b);\n while (d > 0) {\n c2 = d;\n d = (d - 1) / 2 | 0;\n if (a.a.ue(Ikb(a.b, d), b) <= 0) {\n Nkb(a.b, c2, b);\n return true;\n }\n Nkb(a.b, c2, Ikb(a.b, d));\n }\n Nkb(a.b, d, b);\n return true;\n }\n function BHb(a, b, c2, d) {\n var e, f2;\n e = 0;\n if (!c2) {\n for (f2 = 0; f2 < sHb; f2++) {\n e = $wnd.Math.max(e, qHb(a.a[f2][b.g], d));\n }\n } else {\n e = qHb(a.a[c2.g][b.g], d);\n }\n b == (gHb(), eHb) && !!a.b && (e = $wnd.Math.max(e, a.b.a));\n return e;\n }\n function knc(a, b) {\n var c2, d, e, f2, g, h;\n e = a.i;\n f2 = b.i;\n if (!e || !f2) {\n return false;\n }\n if (e.i != f2.i || e.i == (Ucd(), zcd) || e.i == (Ucd(), Tcd)) {\n return false;\n }\n g = e.g.a;\n c2 = g + e.j.a;\n h = f2.g.a;\n d = h + f2.j.a;\n return g <= d && c2 >= h;\n }\n function Tpd(a, b, c2, d) {\n var e;\n e = false;\n if (ND(d)) {\n e = true;\n Upd(b, c2, GD(d));\n }\n if (!e) {\n if (KD(d)) {\n e = true;\n Tpd(a, b, c2, d);\n }\n }\n if (!e) {\n if (JD(d, 236)) {\n e = true;\n Spd(b, c2, BD(d, 236));\n }\n }\n if (!e) {\n throw vbb(new vcb(Ute));\n }\n }\n function W0d(a, b) {\n var c2, d, e;\n c2 = b.Hh(a.a);\n if (c2) {\n e = AAd((!c2.b && (c2.b = new sId((jGd(), fGd), x6, c2)), c2.b), Sve);\n if (e != null) {\n for (d = 1; d < (O6d(), K6d).length; ++d) {\n if (dfb(K6d[d], e)) {\n return d;\n }\n }\n }\n }\n return 0;\n }\n function X0d(a, b) {\n var c2, d, e;\n c2 = b.Hh(a.a);\n if (c2) {\n e = AAd((!c2.b && (c2.b = new sId((jGd(), fGd), x6, c2)), c2.b), Sve);\n if (e != null) {\n for (d = 1; d < (O6d(), L6d).length; ++d) {\n if (dfb(L6d[d], e)) {\n return d;\n }\n }\n }\n }\n return 0;\n }\n function Ve(a, b) {\n var c2, d, e, f2;\n uCb(b);\n f2 = a.a.gc();\n if (f2 < b.gc()) {\n for (c2 = a.a.ec().Kc(); c2.Ob(); ) {\n d = c2.Pb();\n b.Hc(d) && c2.Qb();\n }\n } else {\n for (e = b.Kc(); e.Ob(); ) {\n d = e.Pb();\n a.a.Bc(d) != null;\n }\n }\n return f2 != a.a.gc();\n }\n function bYb(a) {\n var b, c2;\n c2 = R6c(l7c(OC(GC(m1, 1), nie, 8, 0, [a.i.n, a.n, a.a])));\n b = a.i.d;\n switch (a.j.g) {\n case 1:\n c2.b -= b.d;\n break;\n case 2:\n c2.a += b.c;\n break;\n case 3:\n c2.b += b.a;\n break;\n case 4:\n c2.a -= b.b;\n }\n return c2;\n }\n function P9b(a) {\n var b;\n b = (I9b(), BD(Rr(new Sr(ur(R_b(a).a.Kc(), new Sq()))), 17).c.i);\n while (b.k == (j0b(), g0b)) {\n yNb(b, (wtc(), Tsc), (Bcb(), true));\n b = BD(Rr(new Sr(ur(R_b(b).a.Kc(), new Sq()))), 17).c.i;\n }\n }\n function bIc(a, b, c2, d) {\n var e, f2, g, h;\n h = CHc(b, d);\n for (g = h.Kc(); g.Ob(); ) {\n e = BD(g.Pb(), 11);\n a.d[e.p] = a.d[e.p] + a.c[c2.p];\n }\n h = CHc(c2, d);\n for (f2 = h.Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 11);\n a.d[e.p] = a.d[e.p] - a.c[b.p];\n }\n }\n function Efd(a, b, c2) {\n var d, e;\n for (e = new Fyd((!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a)); e.e != e.i.gc(); ) {\n d = BD(Dyd(e), 33);\n bld(d, d.i + b, d.j + c2);\n }\n reb((!a.b && (a.b = new cUd(B2, a, 12, 3)), a.b), new Kfd(b, c2));\n }\n function Mwb(a, b, c2, d) {\n var e, f2;\n f2 = b;\n e = f2.d == null || a.a.ue(c2.d, f2.d) > 0 ? 1 : 0;\n while (f2.a[e] != c2) {\n f2 = f2.a[e];\n e = a.a.ue(c2.d, f2.d) > 0 ? 1 : 0;\n }\n f2.a[e] = d;\n d.b = c2.b;\n d.a[0] = c2.a[0];\n d.a[1] = c2.a[1];\n c2.a[0] = null;\n c2.a[1] = null;\n }\n function ucd(a) {\n rcd();\n var b, c2;\n b = qqb(ncd, OC(GC(E1, 1), Kie, 273, 0, [pcd]));\n if (Ox(Cx(b, a)) > 1) {\n return false;\n }\n c2 = qqb(mcd, OC(GC(E1, 1), Kie, 273, 0, [lcd, qcd]));\n if (Ox(Cx(c2, a)) > 1) {\n return false;\n }\n return true;\n }\n function fod(a, b) {\n var c2;\n c2 = Phb((yFd(), xFd), a);\n JD(c2, 498) ? Shb(xFd, a, new bUd(this, b)) : Shb(xFd, a, this);\n bod(this, b);\n if (b == (LFd(), KFd)) {\n this.wb = BD(this, 1939);\n BD(b, 1941);\n } else {\n this.wb = (NFd(), MFd);\n }\n }\n function lZd(b) {\n var c2, d, e;\n if (b == null) {\n return null;\n }\n c2 = null;\n for (d = 0; d < Pmd.length; ++d) {\n try {\n return DQd(Pmd[d], b);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 32)) {\n e = a;\n c2 = e;\n } else\n throw vbb(a);\n }\n }\n throw vbb(new rFd(c2));\n }\n function Dpb() {\n Dpb = ccb;\n Bpb = OC(GC(ZI, 1), nie, 2, 6, [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"]);\n Cpb = OC(GC(ZI, 1), nie, 2, 6, [\"Jan\", \"Feb\", \"Mar\", \"Apr\", fje, \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]);\n }\n function yyb(a) {\n var b, c2, d;\n b = dfb(typeof b, uke) ? null : new iCb();\n if (!b) {\n return;\n }\n $xb();\n c2 = (d = 900, d >= _ie ? \"error\" : d >= 900 ? \"warn\" : d >= 800 ? \"info\" : \"log\");\n gCb(c2, a.a);\n !!a.b && hCb(b, c2, a.b, \"Exception: \", true);\n }\n function vNb(a, b) {\n var c2, d;\n d = (!a.q && (a.q = new Lqb()), Ohb(a.q, b));\n if (d != null) {\n return d;\n }\n c2 = b.wg();\n JD(c2, 4) && (c2 == null ? (!a.q && (a.q = new Lqb()), Thb(a.q, b)) : (!a.q && (a.q = new Lqb()), Rhb(a.q, b, c2)), a);\n return c2;\n }\n function qUb() {\n qUb = ccb;\n lUb = new rUb(\"P1_CYCLE_BREAKING\", 0);\n mUb = new rUb(\"P2_LAYERING\", 1);\n nUb = new rUb(\"P3_NODE_ORDERING\", 2);\n oUb = new rUb(\"P4_NODE_PLACEMENT\", 3);\n pUb = new rUb(\"P5_EDGE_ROUTING\", 4);\n }\n function SUb(a, b) {\n var c2, d, e, f2, g;\n e = b == 1 ? KUb : JUb;\n for (d = e.a.ec().Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 103);\n for (g = BD(Qc(a.f.c, c2), 21).Kc(); g.Ob(); ) {\n f2 = BD(g.Pb(), 46);\n Lkb(a.b.b, f2.b);\n Lkb(a.b.a, BD(f2.b, 81).d);\n }\n }\n }\n function IWb(a, b) {\n AWb();\n var c2;\n if (a.c == b.c) {\n if (a.b == b.b || pWb(a.b, b.b)) {\n c2 = mWb(a.b) ? 1 : -1;\n if (a.a && !b.a) {\n return c2;\n } else if (!a.a && b.a) {\n return -c2;\n }\n }\n return beb(a.b.g, b.b.g);\n } else {\n return Kdb(a.c, b.c);\n }\n }\n function y6b(a, b) {\n var c2;\n Odd(b, \"Hierarchical port position processing\", 1);\n c2 = a.b;\n c2.c.length > 0 && x6b((tCb(0, c2.c.length), BD(c2.c[0], 29)), a);\n c2.c.length > 1 && x6b(BD(Ikb(c2, c2.c.length - 1), 29), a);\n Qdd(b);\n }\n function RVc(a, b) {\n var c2, d, e;\n if (CVc(a, b)) {\n return true;\n }\n for (d = new olb(b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 33);\n e = hVc(c2);\n if (BVc(a, c2, e)) {\n return true;\n }\n if (PVc(a, c2) - a.g <= a.a) {\n return true;\n }\n }\n return false;\n }\n function d0c() {\n d0c = ccb;\n c0c = (A0c(), z0c);\n __c = v0c;\n $_c = t0c;\n Y_c = p0c;\n Z_c = r0c;\n X_c = new q0b(8);\n W_c = new Osd((Y9c(), f9c), X_c);\n a0c = new Osd(T9c, 8);\n b0c = x0c;\n T_c = k0c;\n U_c = m0c;\n V_c = new Osd(y8c, (Bcb(), false));\n }\n function X7c() {\n X7c = ccb;\n U7c = new q0b(15);\n T7c = new Osd((Y9c(), f9c), U7c);\n W7c = new Osd(T9c, 15);\n V7c = new Osd(D9c, meb(0));\n O7c = I8c;\n Q7c = Y8c;\n S7c = b9c;\n L7c = new Osd(r8c, pse);\n P7c = O8c;\n R7c = _8c;\n M7c = t8c;\n N7c = w8c;\n }\n function jtd(a) {\n if ((!a.b && (a.b = new y5d(z2, a, 4, 7)), a.b).i != 1 || (!a.c && (a.c = new y5d(z2, a, 5, 8)), a.c).i != 1) {\n throw vbb(new Wdb(iue));\n }\n return atd(BD(qud((!a.b && (a.b = new y5d(z2, a, 4, 7)), a.b), 0), 82));\n }\n function ktd(a) {\n if ((!a.b && (a.b = new y5d(z2, a, 4, 7)), a.b).i != 1 || (!a.c && (a.c = new y5d(z2, a, 5, 8)), a.c).i != 1) {\n throw vbb(new Wdb(iue));\n }\n return btd(BD(qud((!a.b && (a.b = new y5d(z2, a, 4, 7)), a.b), 0), 82));\n }\n function mtd(a) {\n if ((!a.b && (a.b = new y5d(z2, a, 4, 7)), a.b).i != 1 || (!a.c && (a.c = new y5d(z2, a, 5, 8)), a.c).i != 1) {\n throw vbb(new Wdb(iue));\n }\n return btd(BD(qud((!a.c && (a.c = new y5d(z2, a, 5, 8)), a.c), 0), 82));\n }\n function ltd(a) {\n if ((!a.b && (a.b = new y5d(z2, a, 4, 7)), a.b).i != 1 || (!a.c && (a.c = new y5d(z2, a, 5, 8)), a.c).i != 1) {\n throw vbb(new Wdb(iue));\n }\n return atd(BD(qud((!a.c && (a.c = new y5d(z2, a, 5, 8)), a.c), 0), 82));\n }\n function Dvd(a, b, c2) {\n var d, e, f2;\n ++a.j;\n e = a.Vi();\n if (b >= e || b < 0)\n throw vbb(new qcb(lue + b + mue + e));\n if (c2 >= e || c2 < 0)\n throw vbb(new qcb(nue + c2 + mue + e));\n b != c2 ? d = (f2 = a.Ti(c2), a.Hi(b, f2), f2) : d = a.Oi(c2);\n return d;\n }\n function m6d(a) {\n var b, c2, d;\n d = a;\n if (a) {\n b = 0;\n for (c2 = a.Ug(); c2; c2 = c2.Ug()) {\n if (++b > Wje) {\n return m6d(c2);\n }\n d = c2;\n if (c2 == a) {\n throw vbb(new Zdb(\"There is a cycle in the containment hierarchy of \" + a));\n }\n }\n }\n return d;\n }\n function Fe(a) {\n var b, c2, d;\n d = new xwb(She, \"[\", \"]\");\n for (c2 = a.Kc(); c2.Ob(); ) {\n b = c2.Pb();\n uwb(d, PD(b) === PD(a) ? \"(this Collection)\" : b == null ? Xhe : fcb(b));\n }\n return !d.a ? d.c : d.e.length == 0 ? d.a.a : d.a.a + (\"\" + d.e);\n }\n function CVc(a, b) {\n var c2, d;\n d = false;\n if (b.gc() < 2) {\n return false;\n }\n for (c2 = 0; c2 < b.gc(); c2++) {\n c2 < b.gc() - 1 ? d = d | BVc(a, BD(b.Xb(c2), 33), BD(b.Xb(c2 + 1), 33)) : d = d | BVc(a, BD(b.Xb(c2), 33), BD(b.Xb(0), 33));\n }\n return d;\n }\n function Ymd(a, b) {\n var c2;\n if (b != a.a) {\n c2 = null;\n !!a.a && (c2 = BD(a.a, 49).ih(a, 4, o5, c2));\n !!b && (c2 = BD(b, 49).gh(a, 4, o5, c2));\n c2 = Tmd(a, b, c2);\n !!c2 && c2.Fi();\n } else\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 1, b, b));\n }\n function RQd(a, b) {\n var c2;\n if (b != a.e) {\n !!a.e && QYd(AYd(a.e), a);\n !!b && (!b.b && (b.b = new RYd(new NYd())), PYd(b.b, a));\n c2 = HQd(a, b, null);\n !!c2 && c2.Fi();\n } else\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 4, b, b));\n }\n function ufb(a) {\n var b, c2, d;\n c2 = a.length;\n d = 0;\n while (d < c2 && (BCb(d, a.length), a.charCodeAt(d) <= 32)) {\n ++d;\n }\n b = c2;\n while (b > d && (BCb(b - 1, a.length), a.charCodeAt(b - 1) <= 32)) {\n --b;\n }\n return d > 0 || b < c2 ? a.substr(d, b - d) : a;\n }\n function ujc(a, b) {\n var c2;\n c2 = b.o;\n if (fad(a.f)) {\n a.j.a = $wnd.Math.max(a.j.a, c2.a);\n a.j.b += c2.b;\n a.d.c.length > 1 && (a.j.b += a.e);\n } else {\n a.j.a += c2.a;\n a.j.b = $wnd.Math.max(a.j.b, c2.b);\n a.d.c.length > 1 && (a.j.a += a.e);\n }\n }\n function gkc() {\n gkc = ccb;\n dkc = OC(GC(F1, 1), bne, 61, 0, [(Ucd(), Acd), zcd, Rcd]);\n ckc = OC(GC(F1, 1), bne, 61, 0, [zcd, Rcd, Tcd]);\n ekc = OC(GC(F1, 1), bne, 61, 0, [Rcd, Tcd, Acd]);\n fkc = OC(GC(F1, 1), bne, 61, 0, [Tcd, Acd, zcd]);\n }\n function omc(a, b, c2, d) {\n var e, f2, g, h, i3, j, k;\n g = a.c.d;\n h = a.d.d;\n if (g.j == h.j) {\n return;\n }\n k = a.b;\n e = g.j;\n i3 = null;\n while (e != h.j) {\n i3 = b == 0 ? Xcd(e) : Vcd(e);\n f2 = umc(e, k.d[e.g], c2);\n j = umc(i3, k.d[i3.g], c2);\n Dsb(d, P6c(f2, j));\n e = i3;\n }\n }\n function oFc(a, b, c2, d) {\n var e, f2, g, h, i3;\n g = JHc(a.a, b, c2);\n h = BD(g.a, 19).a;\n f2 = BD(g.b, 19).a;\n if (d) {\n i3 = BD(vNb(b, (wtc(), gtc)), 10);\n e = BD(vNb(c2, gtc), 10);\n if (!!i3 && !!e) {\n mic(a.b, i3, e);\n h += a.b.i;\n f2 += a.b.e;\n }\n }\n return h > f2;\n }\n function oHc(a) {\n var b, c2, d, e, f2, g, h, i3, j;\n this.a = lHc(a);\n this.b = new Rkb();\n for (c2 = a, d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n f2 = new Rkb();\n Ekb(this.b, f2);\n for (h = b, i3 = 0, j = h.length; i3 < j; ++i3) {\n g = h[i3];\n Ekb(f2, new Tkb(g.j));\n }\n }\n }\n function qHc(a, b, c2) {\n var d, e, f2;\n f2 = 0;\n d = c2[b];\n if (b < c2.length - 1) {\n e = c2[b + 1];\n if (a.b[b]) {\n f2 = KIc(a.d, d, e);\n f2 += NHc(a.a, d, (Ucd(), zcd));\n f2 += NHc(a.a, e, Tcd);\n } else {\n f2 = IHc(a.a, d, e);\n }\n }\n a.c[b] && (f2 += PHc(a.a, d));\n return f2;\n }\n function jZb(a, b, c2, d, e) {\n var f2, g, h, i3;\n i3 = null;\n for (h = new olb(d); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 441);\n if (g != c2 && Jkb(g.e, e, 0) != -1) {\n i3 = g;\n break;\n }\n }\n f2 = kZb(e);\n QZb(f2, c2.b);\n RZb(f2, i3.b);\n Rc(a.a, e, new BZb(f2, b, c2.f));\n }\n function nic(a) {\n while (a.g.c != 0 && a.d.c != 0) {\n if (wic(a.g).c > wic(a.d).c) {\n a.i += a.g.c;\n yic(a.d);\n } else if (wic(a.d).c > wic(a.g).c) {\n a.e += a.d.c;\n yic(a.g);\n } else {\n a.i += vic(a.g);\n a.e += vic(a.d);\n yic(a.g);\n yic(a.d);\n }\n }\n }\n function XOc(a, b, c2) {\n var d, e, f2, g;\n f2 = b.q;\n g = b.r;\n new DOc((HOc(), FOc), b, f2, 1);\n new DOc(FOc, f2, g, 1);\n for (e = new olb(c2); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 112);\n if (d != f2 && d != b && d != g) {\n pPc(a.a, d, b);\n pPc(a.a, d, g);\n }\n }\n }\n function XQc(a, b, c2, d) {\n a.a.d = $wnd.Math.min(b, c2);\n a.a.a = $wnd.Math.max(b, d) - a.a.d;\n if (b < c2) {\n a.b = 0.5 * (b + c2);\n a.g = Qqe * a.b + 0.9 * b;\n a.f = Qqe * a.b + 0.9 * c2;\n } else {\n a.b = 0.5 * (b + d);\n a.g = Qqe * a.b + 0.9 * d;\n a.f = Qqe * a.b + 0.9 * b;\n }\n }\n function acb() {\n _bb = {};\n !Array.isArray && (Array.isArray = function(a) {\n return Object.prototype.toString.call(a) === \"[object Array]\";\n });\n function b() {\n return new Date().getTime();\n }\n !Date.now && (Date.now = b);\n }\n function $Tb(a, b) {\n var c2, d;\n d = BD(vNb(b, (Nyc(), Vxc)), 98);\n yNb(b, (wtc(), dtc), d);\n c2 = b.e;\n !!c2 && (MAb(new YAb(null, new Kub(c2.a, 16)), new dUb(a)), MAb(LAb(new YAb(null, new Kub(c2.b, 16)), new fUb()), new hUb(a)));\n }\n function _$b(a) {\n var b, c2, d, e;\n if (gad(BD(vNb(a.b, (Nyc(), Lwc)), 103))) {\n return 0;\n }\n b = 0;\n for (d = new olb(a.a); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 10);\n if (c2.k == (j0b(), h0b)) {\n e = c2.o.a;\n b = $wnd.Math.max(b, e);\n }\n }\n return b;\n }\n function c5b(a) {\n switch (BD(vNb(a, (Nyc(), mxc)), 163).g) {\n case 1:\n yNb(a, mxc, (Ctc(), ztc));\n break;\n case 2:\n yNb(a, mxc, (Ctc(), Atc));\n break;\n case 3:\n yNb(a, mxc, (Ctc(), xtc));\n break;\n case 4:\n yNb(a, mxc, (Ctc(), ytc));\n }\n }\n function yrc() {\n yrc = ccb;\n wrc = new zrc(ane, 0);\n trc = new zrc(jle, 1);\n xrc = new zrc(kle, 2);\n vrc = new zrc(\"LEFT_RIGHT_CONSTRAINT_LOCKING\", 3);\n urc = new zrc(\"LEFT_RIGHT_CONNECTION_LOCKING\", 4);\n rrc = new zrc(Vne, 5);\n }\n function qRc(a, b, c2) {\n var d, e, f2, g, h, i3, j;\n h = c2.a / 2;\n f2 = c2.b / 2;\n d = $wnd.Math.abs(b.a - a.a);\n e = $wnd.Math.abs(b.b - a.b);\n i3 = 1;\n j = 1;\n d > h && (i3 = h / d);\n e > f2 && (j = f2 / e);\n g = $wnd.Math.min(i3, j);\n a.a += g * (b.a - a.a);\n a.b += g * (b.b - a.b);\n }\n function sZc(a, b, c2, d, e) {\n var f2, g;\n g = false;\n f2 = BD(Ikb(c2.b, 0), 33);\n while (yZc(a, b, f2, d, e)) {\n g = true;\n NZc(c2, f2);\n if (c2.b.c.length == 0) {\n break;\n }\n f2 = BD(Ikb(c2.b, 0), 33);\n }\n c2.b.c.length == 0 && v$c(c2.j, c2);\n g && a$c(b.q);\n return g;\n }\n function t6c(a, b) {\n i6c();\n var c2, d, e, f2;\n if (b.b < 2) {\n return false;\n }\n f2 = Jsb(b, 0);\n c2 = BD(Xsb(f2), 8);\n d = c2;\n while (f2.b != f2.d.c) {\n e = BD(Xsb(f2), 8);\n if (s6c(a, d, e)) {\n return true;\n }\n d = e;\n }\n if (s6c(a, d, c2)) {\n return true;\n }\n return false;\n }\n function ckd(a, b, c2, d) {\n var e, f2;\n if (c2 == 0) {\n return !a.o && (a.o = new dId((Thd(), Qhd), S2, a, 0)), bId(a.o, b, d);\n }\n return f2 = BD(XKd((e = BD(Ajd(a, 16), 26), !e ? a.zh() : e), c2), 66), f2.Nj().Rj(a, yjd(a), c2 - aLd(a.zh()), b, d);\n }\n function bod(a, b) {\n var c2;\n if (b != a.sb) {\n c2 = null;\n !!a.sb && (c2 = BD(a.sb, 49).ih(a, 1, i5, c2));\n !!b && (c2 = BD(b, 49).gh(a, 1, i5, c2));\n c2 = Jnd(a, b, c2);\n !!c2 && c2.Fi();\n } else\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 4, b, b));\n }\n function yqd(a, b) {\n var c2, d, e, f2;\n if (b) {\n e = Xpd(b, \"x\");\n c2 = new zrd(a);\n hmd(c2.a, (uCb(e), e));\n f2 = Xpd(b, \"y\");\n d = new Ard(a);\n imd(d.a, (uCb(f2), f2));\n } else {\n throw vbb(new cqd(\"All edge sections need an end point.\"));\n }\n }\n function wqd(a, b) {\n var c2, d, e, f2;\n if (b) {\n e = Xpd(b, \"x\");\n c2 = new wrd(a);\n omd(c2.a, (uCb(e), e));\n f2 = Xpd(b, \"y\");\n d = new xrd(a);\n pmd(d.a, (uCb(f2), f2));\n } else {\n throw vbb(new cqd(\"All edge sections need a start point.\"));\n }\n }\n function pyb(a, b) {\n var c2, d, e, f2, g, h, i3;\n for (d = syb(a), f2 = 0, h = d.length; f2 < h; ++f2) {\n yyb(b);\n }\n i3 = !lyb && a.e ? lyb ? null : a.d : null;\n while (i3) {\n for (c2 = syb(i3), e = 0, g = c2.length; e < g; ++e) {\n yyb(b);\n }\n i3 = !lyb && i3.e ? lyb ? null : i3.d : null;\n }\n }\n function j0b() {\n j0b = ccb;\n h0b = new k0b(\"NORMAL\", 0);\n g0b = new k0b(\"LONG_EDGE\", 1);\n e0b = new k0b(\"EXTERNAL_PORT\", 2);\n i0b = new k0b(\"NORTH_SOUTH_PORT\", 3);\n f0b = new k0b(\"LABEL\", 4);\n d0b = new k0b(\"BREAKING_POINT\", 5);\n }\n function g4b(a) {\n var b, c2, d, e;\n b = false;\n if (wNb(a, (wtc(), Csc))) {\n c2 = BD(vNb(a, Csc), 83);\n for (e = new olb(a.j); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 11);\n if (e4b(d)) {\n if (!b) {\n d4b(Q_b(a));\n b = true;\n }\n h4b(BD(c2.xc(d), 306));\n }\n }\n }\n }\n function qec(a, b, c2) {\n var d;\n Odd(c2, \"Self-Loop routing\", 1);\n d = rec(b);\n RD(vNb(b, (g6c(), f6c)));\n MAb(NAb(JAb(JAb(LAb(new YAb(null, new Kub(b.b, 16)), new uec()), new wec()), new yec()), new Aec()), new Cec(a, d));\n Qdd(c2);\n }\n function gsd(a) {\n var b, c2, d, e, f2, g, h, i3, j;\n j = hsd(a);\n c2 = a.e;\n f2 = c2 != null;\n f2 && Upd(j, eue, a.e);\n h = a.k;\n g = !!h;\n g && Upd(j, \"type\", Zr(a.k));\n d = Fhe(a.j);\n e = !d;\n if (e) {\n i3 = new wB();\n cC(j, Mte, i3);\n b = new ssd(i3);\n reb(a.j, b);\n }\n return j;\n }\n function Jv(a) {\n var b, c2, d, e;\n e = Kfb((Xj(a.gc(), \"size\"), new Vfb()), 123);\n d = true;\n for (c2 = Wm(a).Kc(); c2.Ob(); ) {\n b = BD(c2.Pb(), 42);\n d || (e.a += She, e);\n d = false;\n Pfb(Kfb(Pfb(e, b.cd()), 61), b.dd());\n }\n return (e.a += \"}\", e).a;\n }\n function kD(a, b) {\n var c2, d, e;\n b &= 63;\n if (b < 22) {\n c2 = a.l << b;\n d = a.m << b | a.l >> 22 - b;\n e = a.h << b | a.m >> 22 - b;\n } else if (b < 44) {\n c2 = 0;\n d = a.l << b - 22;\n e = a.m << b - 22 | a.l >> 44 - b;\n } else {\n c2 = 0;\n d = 0;\n e = a.l << b - 44;\n }\n return TC(c2 & Eje, d & Eje, e & Fje);\n }\n function Hcb(a) {\n Gcb == null && (Gcb = new RegExp(\"^\\\\s*[+-]?(NaN|Infinity|((\\\\d+\\\\.?\\\\d*)|(\\\\.\\\\d+))([eE][+-]?\\\\d+)?[dDfF]?)\\\\s*$\"));\n if (!Gcb.test(a)) {\n throw vbb(new Oeb(Oje + a + '\"'));\n }\n return parseFloat(a);\n }\n function IFb(a) {\n var b, c2, d, e;\n b = new Rkb();\n c2 = KC(sbb, dle, 25, a.a.c.length, 16, 1);\n Glb(c2, c2.length);\n for (e = new olb(a.a); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 121);\n if (!c2[d.d]) {\n b.c[b.c.length] = d;\n HFb(a, d, c2);\n }\n }\n return b;\n }\n function Nmc(a, b) {\n var c2, d, e, f2;\n f2 = b.b.j;\n a.a = KC(WD, oje, 25, f2.c.length, 15, 1);\n e = 0;\n for (d = 0; d < f2.c.length; d++) {\n c2 = (tCb(d, f2.c.length), BD(f2.c[d], 11));\n c2.e.c.length == 0 && c2.g.c.length == 0 ? e += 1 : e += 3;\n a.a[d] = e;\n }\n }\n function Sqc() {\n Sqc = ccb;\n Nqc = new Uqc(\"ALWAYS_UP\", 0);\n Mqc = new Uqc(\"ALWAYS_DOWN\", 1);\n Pqc = new Uqc(\"DIRECTION_UP\", 2);\n Oqc = new Uqc(\"DIRECTION_DOWN\", 3);\n Rqc = new Uqc(\"SMART_UP\", 4);\n Qqc = new Uqc(\"SMART_DOWN\", 5);\n }\n function k6c(a, b) {\n if (a < 0 || b < 0) {\n throw vbb(new Wdb(\"k and n must be positive\"));\n } else if (b > a) {\n throw vbb(new Wdb(\"k must be smaller than n\"));\n } else\n return b == 0 || b == a ? 1 : a == 0 ? 0 : q6c(a) / (q6c(b) * q6c(a - b));\n }\n function jfd(a, b) {\n var c2, d, e, f2;\n c2 = new _ud(a);\n while (c2.g == null && !c2.c ? Uud(c2) : c2.g == null || c2.i != 0 && BD(c2.g[c2.i - 1], 47).Ob()) {\n f2 = BD(Vud(c2), 56);\n if (JD(f2, 160)) {\n d = BD(f2, 160);\n for (e = 0; e < b.length; e++) {\n b[e].og(d);\n }\n }\n }\n }\n function fld(a) {\n var b;\n if ((a.Db & 64) != 0)\n return Mkd(a);\n b = new Jfb(Mkd(a));\n b.a += \" (height: \";\n Bfb(b, a.f);\n b.a += \", width: \";\n Bfb(b, a.g);\n b.a += \", x: \";\n Bfb(b, a.i);\n b.a += \", y: \";\n Bfb(b, a.j);\n b.a += \")\";\n return b.a;\n }\n function un(a) {\n var b, c2, d, e, f2, g, h;\n b = new $rb();\n for (d = a, e = 0, f2 = d.length; e < f2; ++e) {\n c2 = d[e];\n g = Qb(c2.cd());\n h = Xrb(b, g, Qb(c2.dd()));\n if (h != null) {\n throw vbb(new Wdb(\"duplicate key: \" + g));\n }\n }\n this.b = (mmb(), new iob(b));\n }\n function Rlb(a) {\n var b, c2, d, e, f2;\n if (a == null) {\n return Xhe;\n }\n f2 = new xwb(She, \"[\", \"]\");\n for (c2 = a, d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n uwb(f2, String.fromCharCode(b));\n }\n return !f2.a ? f2.c : f2.e.length == 0 ? f2.a.a : f2.a.a + (\"\" + f2.e);\n }\n function SRb() {\n SRb = ccb;\n MRb = (XRb(), WRb);\n LRb = new Nsd(mme, MRb);\n meb(1);\n KRb = new Nsd(nme, meb(300));\n meb(0);\n PRb = new Nsd(ome, meb(0));\n QRb = new Nsd(pme, qme);\n NRb = new Nsd(rme, 5);\n RRb = WRb;\n ORb = VRb;\n }\n function NUb(a, b) {\n var c2, d, e, f2, g;\n e = b == 1 ? KUb : JUb;\n for (d = e.a.ec().Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 103);\n for (g = BD(Qc(a.f.c, c2), 21).Kc(); g.Ob(); ) {\n f2 = BD(g.Pb(), 46);\n Ekb(a.b.b, BD(f2.b, 81));\n Ekb(a.b.a, BD(f2.b, 81).d);\n }\n }\n }\n function kVd(a, b) {\n var c2;\n if (b != null && !a.c.Yj().wj(b)) {\n c2 = JD(b, 56) ? BD(b, 56).Tg().zb : hdb(rb(b));\n throw vbb(new Cdb(ite + a.c.ne() + \"'s type '\" + a.c.Yj().ne() + \"' does not permit a value of type '\" + c2 + \"'\"));\n }\n }\n function cZb(a, b, c2) {\n var d, e;\n e = new Bib(a.b, 0);\n while (e.b < e.d.gc()) {\n d = (sCb(e.b < e.d.gc()), BD(e.d.Xb(e.c = e.b++), 70));\n if (PD(vNb(d, (wtc(), btc))) !== PD(b)) {\n continue;\n }\n Y$b(d.n, Q_b(a.c.i), c2);\n uib(e);\n Ekb(b.b, d);\n }\n }\n function vdc(a, b) {\n if (b.a) {\n switch (BD(vNb(b.b, (wtc(), dtc)), 98).g) {\n case 0:\n case 1:\n llc(b);\n case 2:\n MAb(new YAb(null, new Kub(b.d, 16)), new Idc());\n wkc(a.a, b);\n }\n } else {\n MAb(new YAb(null, new Kub(b.d, 16)), new Idc());\n }\n }\n function Znc(a) {\n var b, c2;\n c2 = $wnd.Math.sqrt((a.k == null && (a.k = Soc(a, new bpc())), Edb(a.k) / (a.b * (a.g == null && (a.g = Poc(a, new _oc())), Edb(a.g)))));\n b = Tbb(Cbb($wnd.Math.round(c2)));\n b = $wnd.Math.min(b, a.f);\n return b;\n }\n function H0b() {\n z0b();\n n_b.call(this);\n this.j = (Ucd(), Scd);\n this.a = new d7c();\n new L_b();\n this.f = (Xj(2, Jie), new Skb(2));\n this.e = (Xj(4, Jie), new Skb(4));\n this.g = (Xj(4, Jie), new Skb(4));\n this.b = new Z0b(this.e, this.g);\n }\n function j3b(a, b) {\n var c2, d;\n if (Ccb(DD(vNb(b, (wtc(), ltc))))) {\n return false;\n }\n d = b.c.i;\n if (a == (Ctc(), xtc)) {\n if (d.k == (j0b(), f0b)) {\n return false;\n }\n }\n c2 = BD(vNb(d, (Nyc(), mxc)), 163);\n if (c2 == ytc) {\n return false;\n }\n return true;\n }\n function k3b(a, b) {\n var c2, d;\n if (Ccb(DD(vNb(b, (wtc(), ltc))))) {\n return false;\n }\n d = b.d.i;\n if (a == (Ctc(), ztc)) {\n if (d.k == (j0b(), f0b)) {\n return false;\n }\n }\n c2 = BD(vNb(d, (Nyc(), mxc)), 163);\n if (c2 == Atc) {\n return false;\n }\n return true;\n }\n function L3b(a, b) {\n var c2, d, e, f2, g, h, i3;\n g = a.d;\n i3 = a.o;\n h = new J6c(-g.b, -g.d, g.b + i3.a + g.c, g.d + i3.b + g.a);\n for (d = b, e = 0, f2 = d.length; e < f2; ++e) {\n c2 = d[e];\n !!c2 && H6c(h, c2.i);\n }\n g.b = -h.c;\n g.d = -h.d;\n g.c = h.b - g.b - i3.a;\n g.a = h.a - g.d - i3.b;\n }\n function N_c() {\n N_c = ccb;\n I_c = new O_c(\"CENTER_DISTANCE\", 0);\n J_c = new O_c(\"CIRCLE_UNDERLAP\", 1);\n M_c = new O_c(\"RECTANGLE_UNDERLAP\", 2);\n K_c = new O_c(\"INVERTED_OVERLAP\", 3);\n L_c = new O_c(\"MINIMUM_ROOT_DISTANCE\", 4);\n }\n function jde(a) {\n hde();\n var b, c2, d, e, f2;\n if (a == null)\n return null;\n d = a.length;\n e = d * 2;\n b = KC(TD, $ie, 25, e, 15, 1);\n for (c2 = 0; c2 < d; c2++) {\n f2 = a[c2];\n f2 < 0 && (f2 += 256);\n b[c2 * 2] = gde[f2 >> 4];\n b[c2 * 2 + 1] = gde[f2 & 15];\n }\n return zfb(b, 0, b.length);\n }\n function fn(a) {\n Vm();\n var b, c2, d;\n d = a.c.length;\n switch (d) {\n case 0:\n return Um;\n case 1:\n b = BD(qr(new olb(a)), 42);\n return ln(b.cd(), b.dd());\n default:\n c2 = BD(Qkb(a, KC(CK, zie, 42, a.c.length, 0, 1)), 165);\n return new wx(c2);\n }\n }\n function ITb(a) {\n var b, c2, d, e, f2, g;\n b = new jkb();\n c2 = new jkb();\n Wjb(b, a);\n Wjb(c2, a);\n while (c2.b != c2.c) {\n e = BD(fkb(c2), 37);\n for (g = new olb(e.a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 10);\n if (f2.e) {\n d = f2.e;\n Wjb(b, d);\n Wjb(c2, d);\n }\n }\n }\n return b;\n }\n function Y_b(a, b) {\n switch (b.g) {\n case 1:\n return Nq(a.j, (z0b(), v0b));\n case 2:\n return Nq(a.j, (z0b(), t0b));\n case 3:\n return Nq(a.j, (z0b(), x0b));\n case 4:\n return Nq(a.j, (z0b(), y0b));\n default:\n return mmb(), mmb(), jmb;\n }\n }\n function tic(a, b) {\n var c2, d, e;\n c2 = uic(b, a.e);\n d = BD(Ohb(a.g.f, c2), 19).a;\n e = a.a.c.length - 1;\n if (a.a.c.length != 0 && BD(Ikb(a.a, e), 287).c == d) {\n ++BD(Ikb(a.a, e), 287).a;\n ++BD(Ikb(a.a, e), 287).b;\n } else {\n Ekb(a.a, new Dic(d));\n }\n }\n function VGc(a, b, c2) {\n var d, e;\n d = UGc(a, b, c2);\n if (d != 0) {\n return d;\n }\n if (wNb(b, (wtc(), Zsc)) && wNb(c2, Zsc)) {\n e = beb(BD(vNb(b, Zsc), 19).a, BD(vNb(c2, Zsc), 19).a);\n e < 0 ? WGc(a, b, c2) : e > 0 && WGc(a, c2, b);\n return e;\n }\n return TGc(a, b, c2);\n }\n function MSc(a, b, c2) {\n var d, e, f2, g;\n if (b.b != 0) {\n d = new Psb();\n for (g = Jsb(b, 0); g.b != g.d.c; ) {\n f2 = BD(Xsb(g), 86);\n ye(d, URc(f2));\n e = f2.e;\n e.a = BD(vNb(f2, (mTc(), kTc)), 19).a;\n e.b = BD(vNb(f2, lTc), 19).a;\n }\n MSc(a, d, Udd(c2, d.b / a.a | 0));\n }\n }\n function JZc(a, b) {\n var c2, d, e, f2, g;\n if (a.e <= b) {\n return a.g;\n }\n if (LZc(a, a.g, b)) {\n return a.g;\n }\n f2 = a.r;\n d = a.g;\n g = a.r;\n e = (f2 - d) / 2 + d;\n while (d + 1 < f2) {\n c2 = MZc(a, e, false);\n if (c2.b <= e && c2.a <= b) {\n g = e;\n f2 = e;\n } else {\n d = e;\n }\n e = (f2 - d) / 2 + d;\n }\n return g;\n }\n function t2c(a, b, c2) {\n var d;\n d = o2c(a, b, true);\n Odd(c2, \"Recursive Graph Layout\", d);\n jfd(b, OC(GC(g2, 1), Uhe, 527, 0, [new q3c()]));\n ikd(b, (Y9c(), F9c)) || jfd(b, OC(GC(g2, 1), Uhe, 527, 0, [new U3c()]));\n u2c(a, b, null, c2);\n Qdd(c2);\n }\n function Qdd(a) {\n var b;\n if (a.p == null) {\n throw vbb(new Zdb(\"The task has not begun yet.\"));\n }\n if (!a.b) {\n if (a.k) {\n b = (Zfb(), Ibb(Cbb(Date.now()), _ie));\n a.q = Sbb(Qbb(b, a.o)) * 1e-9;\n }\n a.c < a.r && Rdd(a, a.r - a.c);\n a.b = true;\n }\n }\n function ofd(a) {\n var b, c2, d;\n d = new s7c();\n Dsb(d, new f7c(a.j, a.k));\n for (c2 = new Fyd((!a.a && (a.a = new xMd(y2, a, 5)), a.a)); c2.e != c2.i.gc(); ) {\n b = BD(Dyd(c2), 469);\n Dsb(d, new f7c(b.a, b.b));\n }\n Dsb(d, new f7c(a.b, a.c));\n return d;\n }\n function qqd(a, b, c2, d, e) {\n var f2, g, h, i3, j, k;\n if (e) {\n i3 = e.a.length;\n f2 = new Yge(i3);\n for (k = (f2.b - f2.a) * f2.c < 0 ? (Xge(), Wge) : new she(f2); k.Ob(); ) {\n j = BD(k.Pb(), 19);\n h = Zpd(e, j.a);\n g = new prd(a, b, c2, d);\n rqd(g.a, g.b, g.c, g.d, h);\n }\n }\n }\n function Ax(b, c2) {\n var d;\n if (PD(b) === PD(c2)) {\n return true;\n }\n if (JD(c2, 21)) {\n d = BD(c2, 21);\n try {\n return b.gc() == d.gc() && b.Ic(d);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 173) || JD(a, 205)) {\n return false;\n } else\n throw vbb(a);\n }\n }\n return false;\n }\n function UHb(a, b) {\n var c2;\n Ekb(a.d, b);\n c2 = b.rf();\n if (a.c) {\n a.e.a = $wnd.Math.max(a.e.a, c2.a);\n a.e.b += c2.b;\n a.d.c.length > 1 && (a.e.b += a.a);\n } else {\n a.e.a += c2.a;\n a.e.b = $wnd.Math.max(a.e.b, c2.b);\n a.d.c.length > 1 && (a.e.a += a.a);\n }\n }\n function cmc(a) {\n var b, c2, d, e;\n e = a.i;\n b = e.b;\n d = e.j;\n c2 = e.g;\n switch (e.a.g) {\n case 0:\n c2.a = (a.g.b.o.a - d.a) / 2;\n break;\n case 1:\n c2.a = b.d.n.a + b.d.a.a;\n break;\n case 2:\n c2.a = b.d.n.a + b.d.a.a - d.a;\n break;\n case 3:\n c2.b = b.d.n.b + b.d.a.b;\n }\n }\n function Q6c(a, b, c2, d, e) {\n if (d < b || e < c2) {\n throw vbb(new Wdb(\"The highx must be bigger then lowx and the highy must be bigger then lowy\"));\n }\n a.a < b ? a.a = b : a.a > d && (a.a = d);\n a.b < c2 ? a.b = c2 : a.b > e && (a.b = e);\n return a;\n }\n function lsd(a) {\n if (JD(a, 149)) {\n return esd(BD(a, 149));\n } else if (JD(a, 229)) {\n return fsd(BD(a, 229));\n } else if (JD(a, 23)) {\n return gsd(BD(a, 23));\n } else {\n throw vbb(new Wdb(Xte + Fe(new amb(OC(GC(SI, 1), Uhe, 1, 5, [a])))));\n }\n }\n function mhb(a, b, c2, d, e) {\n var f2, g, h;\n f2 = true;\n for (g = 0; g < d; g++) {\n f2 = f2 & c2[g] == 0;\n }\n if (e == 0) {\n $fb(c2, d, a, 0, b);\n g = b;\n } else {\n h = 32 - e;\n f2 = f2 & c2[g] << h == 0;\n for (g = 0; g < b - 1; g++) {\n a[g] = c2[g + d] >>> e | c2[g + d + 1] << h;\n }\n a[g] = c2[g + d] >>> e;\n ++g;\n }\n return f2;\n }\n function zMc(a, b, c2, d) {\n var e, f2, g;\n if (b.k == (j0b(), g0b)) {\n for (f2 = new Sr(ur(R_b(b).a.Kc(), new Sq())); Qr(f2); ) {\n e = BD(Rr(f2), 17);\n g = e.c.i.k;\n if (g == g0b && a.c.a[e.c.i.c.p] == d && a.c.a[b.c.p] == c2) {\n return true;\n }\n }\n }\n return false;\n }\n function mD(a, b) {\n var c2, d, e, f2;\n b &= 63;\n c2 = a.h & Fje;\n if (b < 22) {\n f2 = c2 >>> b;\n e = a.m >> b | c2 << 22 - b;\n d = a.l >> b | a.m << 22 - b;\n } else if (b < 44) {\n f2 = 0;\n e = c2 >>> b - 22;\n d = a.m >> b - 22 | a.h << 44 - b;\n } else {\n f2 = 0;\n e = 0;\n d = c2 >>> b - 44;\n }\n return TC(d & Eje, e & Eje, f2 & Fje);\n }\n function Iic(a, b, c2, d) {\n var e;\n this.b = d;\n this.e = a == (rGc(), pGc);\n e = b[c2];\n this.d = IC(sbb, [nie, dle], [177, 25], 16, [e.length, e.length], 2);\n this.a = IC(WD, [nie, oje], [48, 25], 15, [e.length, e.length], 2);\n this.c = new sic(b, c2);\n }\n function ljc(a) {\n var b, c2, d;\n a.k = new Ki((Ucd(), OC(GC(F1, 1), bne, 61, 0, [Scd, Acd, zcd, Rcd, Tcd])).length, a.j.c.length);\n for (d = new olb(a.j); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 113);\n b = c2.d.j;\n Rc(a.k, b, c2);\n }\n a.e = Zjc(Ec(a.k));\n }\n function UQc(a, b) {\n var c2, d, e;\n Qqb(a.d, b);\n c2 = new _Qc();\n Rhb(a.c, b, c2);\n c2.f = VQc(b.c);\n c2.a = VQc(b.d);\n c2.d = (hQc(), e = b.c.i.k, e == (j0b(), h0b) || e == d0b);\n c2.e = (d = b.d.i.k, d == h0b || d == d0b);\n c2.b = b.c.j == (Ucd(), Tcd);\n c2.c = b.d.j == zcd;\n }\n function BGb(a) {\n var b, c2, d, e, f2;\n f2 = Ohe;\n e = Ohe;\n for (d = new olb(LFb(a)); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 213);\n b = c2.e.e - c2.d.e;\n c2.e == a && b < e ? e = b : b < f2 && (f2 = b);\n }\n e == Ohe && (e = -1);\n f2 == Ohe && (f2 = -1);\n return new vgd(meb(e), meb(f2));\n }\n function zQb(a, b) {\n var c2, d, e;\n e = dme;\n d = (ROb(), OOb);\n e = $wnd.Math.abs(a.b);\n c2 = $wnd.Math.abs(b.f - a.b);\n if (c2 < e) {\n e = c2;\n d = POb;\n }\n c2 = $wnd.Math.abs(a.a);\n if (c2 < e) {\n e = c2;\n d = QOb;\n }\n c2 = $wnd.Math.abs(b.g - a.a);\n if (c2 < e) {\n e = c2;\n d = NOb;\n }\n return d;\n }\n function L9b(a, b) {\n var c2, d, e, f2;\n c2 = b.a.o.a;\n f2 = new Jib(Q_b(b.a).b, b.c, b.f + 1);\n for (e = new vib(f2); e.b < e.d.gc(); ) {\n d = (sCb(e.b < e.d.gc()), BD(e.d.Xb(e.c = e.b++), 29));\n if (d.c.a >= c2) {\n K9b(a, b, d.p);\n return true;\n }\n }\n return false;\n }\n function Iod(a) {\n var b;\n if ((a.Db & 64) != 0)\n return fld(a);\n b = new Wfb(dte);\n !a.a || Qfb(Qfb((b.a += ' \"', b), a.a), '\"');\n Qfb(Lfb(Qfb(Lfb(Qfb(Lfb(Qfb(Lfb((b.a += \" (\", b), a.i), \",\"), a.j), \" | \"), a.g), \",\"), a.f), \")\");\n return b.a;\n }\n function Z2d(a, b, c2) {\n var d, e, f2, g, h;\n h = S6d(a.e.Tg(), b);\n e = BD(a.g, 119);\n d = 0;\n for (g = 0; g < a.i; ++g) {\n f2 = e[g];\n if (h.rl(f2.ak())) {\n if (d == c2) {\n Xxd(a, g);\n return Q6d(), BD(b, 66).Oj() ? f2 : f2.dd();\n }\n ++d;\n }\n }\n throw vbb(new qcb(gve + c2 + mue + d));\n }\n function sde(a) {\n var b, c2, d;\n b = a.c;\n if (b == 2 || b == 7 || b == 1) {\n return wfe(), wfe(), ffe;\n } else {\n d = qde(a);\n c2 = null;\n while ((b = a.c) != 2 && b != 7 && b != 1) {\n if (!c2) {\n c2 = (wfe(), wfe(), new Lge(1));\n Kge(c2, d);\n d = c2;\n }\n Kge(c2, qde(a));\n }\n return d;\n }\n }\n function Kb(a, b, c2) {\n if (a < 0 || a > c2) {\n return Jb(a, c2, \"start index\");\n }\n if (b < 0 || b > c2) {\n return Jb(b, c2, \"end index\");\n }\n return hc(\"end index (%s) must not be less than start index (%s)\", OC(GC(SI, 1), Uhe, 1, 5, [meb(b), meb(a)]));\n }\n function Pz(b, c2) {\n var d, e, f2, g;\n for (e = 0, f2 = b.length; e < f2; e++) {\n g = b[e];\n try {\n g[1] ? g[0].jm() && (c2 = Oz(c2, g)) : g[0].jm();\n } catch (a) {\n a = ubb(a);\n if (JD(a, 78)) {\n d = a;\n Az();\n Gz(JD(d, 477) ? BD(d, 477).ae() : d);\n } else\n throw vbb(a);\n }\n }\n return c2;\n }\n function K9b(a, b, c2) {\n var d, e, f2;\n c2 != b.c + b.b.gc() && Z9b(b.a, fac(b, c2 - b.c));\n f2 = b.a.c.p;\n a.a[f2] = $wnd.Math.max(a.a[f2], b.a.o.a);\n for (e = BD(vNb(b.a, (wtc(), ktc)), 15).Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 70);\n yNb(d, H9b, (Bcb(), true));\n }\n }\n function Wec(a, b) {\n var c2, d, e;\n e = Vec(b);\n yNb(b, (wtc(), Xsc), e);\n if (e) {\n d = Ohe;\n !!irb(a.f, e) && (d = BD(Wd(irb(a.f, e)), 19).a);\n c2 = BD(Ikb(b.g, 0), 17);\n Ccb(DD(vNb(c2, ltc))) || Rhb(a, e, meb($wnd.Math.min(BD(vNb(c2, Zsc), 19).a, d)));\n }\n }\n function iCc(a, b, c2) {\n var d, e, f2, g, h;\n b.p = -1;\n for (h = W_b(b, (KAc(), IAc)).Kc(); h.Ob(); ) {\n g = BD(h.Pb(), 11);\n for (e = new olb(g.g); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 17);\n f2 = d.d.i;\n b != f2 && (f2.p < 0 ? c2.Fc(d) : f2.p > 0 && iCc(a, f2, c2));\n }\n }\n b.p = 0;\n }\n function p5c(a) {\n var b;\n this.c = new Psb();\n this.f = a.e;\n this.e = a.d;\n this.i = a.g;\n this.d = a.c;\n this.b = a.b;\n this.k = a.j;\n this.a = a.a;\n !a.i ? this.j = (b = BD(gdb(e1), 9), new xqb(b, BD(_Bb(b, b.length), 9), 0)) : this.j = a.i;\n this.g = a.f;\n }\n function Wb(a) {\n var b, c2, d, e;\n b = Kfb(Qfb(new Wfb(\"Predicates.\"), \"and\"), 40);\n c2 = true;\n for (e = new vib(a); e.b < e.d.gc(); ) {\n d = (sCb(e.b < e.d.gc()), e.d.Xb(e.c = e.b++));\n c2 || (b.a += \",\", b);\n b.a += \"\" + d;\n c2 = false;\n }\n return (b.a += \")\", b).a;\n }\n function Rcc(a, b, c2) {\n var d, e, f2;\n if (c2 <= b + 2) {\n return;\n }\n e = (c2 - b) / 2 | 0;\n for (d = 0; d < e; ++d) {\n f2 = (tCb(b + d, a.c.length), BD(a.c[b + d], 11));\n Nkb(a, b + d, (tCb(c2 - d - 1, a.c.length), BD(a.c[c2 - d - 1], 11)));\n tCb(c2 - d - 1, a.c.length);\n a.c[c2 - d - 1] = f2;\n }\n }\n function hjc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n f2 = a.d.p;\n h = f2.e;\n i3 = f2.r;\n a.g = new dIc(i3);\n g = a.d.o.c.p;\n d = g > 0 ? h[g - 1] : KC(OQ, kne, 10, 0, 0, 1);\n e = h[g];\n j = g < h.length - 1 ? h[g + 1] : KC(OQ, kne, 10, 0, 0, 1);\n k = b == c2 - 1;\n k ? RHc(a.g, e, j) : RHc(a.g, d, e);\n }\n function pjc(a) {\n var b;\n this.j = new Rkb();\n this.f = new Tqb();\n this.b = (b = BD(gdb(F1), 9), new xqb(b, BD(_Bb(b, b.length), 9), 0));\n this.d = KC(WD, oje, 25, (Ucd(), OC(GC(F1, 1), bne, 61, 0, [Scd, Acd, zcd, Rcd, Tcd])).length, 15, 1);\n this.g = a;\n }\n function QVc(a, b) {\n var c2, d, e;\n if (b.c.length != 0) {\n c2 = RVc(a, b);\n e = false;\n while (!c2) {\n AVc(a, b, true);\n e = true;\n c2 = RVc(a, b);\n }\n e && AVc(a, b, false);\n d = dVc(b);\n !!a.b && a.b.lg(d);\n a.a = PVc(a, (tCb(0, b.c.length), BD(b.c[0], 33)));\n QVc(a, d);\n }\n }\n function Cid(a, b) {\n var c2, d, e;\n d = XKd(a.Tg(), b);\n c2 = b - a.Ah();\n if (c2 < 0) {\n if (!d) {\n throw vbb(new Wdb(mte + b + nte));\n } else if (d.Ij()) {\n e = a.Yg(d);\n e >= 0 ? a.Bh(e) : vid(a, d);\n } else {\n throw vbb(new Wdb(ite + d.ne() + jte));\n }\n } else {\n eid(a, c2, d);\n }\n }\n function aqd(a) {\n var b, c2;\n c2 = null;\n b = false;\n if (JD(a, 204)) {\n b = true;\n c2 = BD(a, 204).a;\n }\n if (!b) {\n if (JD(a, 258)) {\n b = true;\n c2 = \"\" + BD(a, 258).a;\n }\n }\n if (!b) {\n if (JD(a, 483)) {\n b = true;\n c2 = \"\" + BD(a, 483).a;\n }\n }\n if (!b) {\n throw vbb(new vcb(Ute));\n }\n return c2;\n }\n function ORd(a, b) {\n var c2, d;\n if (a.f) {\n while (b.Ob()) {\n c2 = BD(b.Pb(), 72);\n d = c2.ak();\n if (JD(d, 99) && (BD(d, 18).Bb & ote) != 0 && (!a.e || d.Gj() != x2 || d.aj() != 0) && c2.dd() != null) {\n b.Ub();\n return true;\n }\n }\n return false;\n } else {\n return b.Ob();\n }\n }\n function QRd(a, b) {\n var c2, d;\n if (a.f) {\n while (b.Sb()) {\n c2 = BD(b.Ub(), 72);\n d = c2.ak();\n if (JD(d, 99) && (BD(d, 18).Bb & ote) != 0 && (!a.e || d.Gj() != x2 || d.aj() != 0) && c2.dd() != null) {\n b.Pb();\n return true;\n }\n }\n return false;\n } else {\n return b.Sb();\n }\n }\n function I2d(a, b, c2) {\n var d, e, f2, g, h, i3;\n i3 = S6d(a.e.Tg(), b);\n d = 0;\n h = a.i;\n e = BD(a.g, 119);\n for (g = 0; g < a.i; ++g) {\n f2 = e[g];\n if (i3.rl(f2.ak())) {\n if (c2 == d) {\n return g;\n }\n ++d;\n h = g + 1;\n }\n }\n if (c2 == d) {\n return h;\n } else {\n throw vbb(new qcb(gve + c2 + mue + d));\n }\n }\n function d9b(a, b) {\n var c2, d, e, f2;\n if (a.f.c.length == 0) {\n return null;\n } else {\n f2 = new I6c();\n for (d = new olb(a.f); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 70);\n e = c2.o;\n f2.b = $wnd.Math.max(f2.b, e.a);\n f2.a += e.b;\n }\n f2.a += (a.f.c.length - 1) * b;\n return f2;\n }\n }\n function QJc(a, b, c2) {\n var d, e, f2;\n for (e = new Sr(ur(O_b(c2).a.Kc(), new Sq())); Qr(e); ) {\n d = BD(Rr(e), 17);\n if (!(!OZb(d) && !(!OZb(d) && d.c.i.c == d.d.i.c))) {\n continue;\n }\n f2 = IJc(a, d, c2, new vKc());\n f2.c.length > 1 && (b.c[b.c.length] = f2, true);\n }\n }\n function TJc(a) {\n var b, c2, d, e;\n c2 = new Psb();\n ye(c2, a.o);\n d = new twb();\n while (c2.b != 0) {\n b = BD(c2.b == 0 ? null : (sCb(c2.b != 0), Nsb(c2, c2.a.a)), 508);\n e = KJc(a, b, true);\n e && Ekb(d.a, b);\n }\n while (d.a.c.length != 0) {\n b = BD(rwb(d), 508);\n KJc(a, b, false);\n }\n }\n function _5c() {\n _5c = ccb;\n $5c = new a6c(ole, 0);\n T5c = new a6c(\"BOOLEAN\", 1);\n X5c = new a6c(\"INT\", 2);\n Z5c = new a6c(\"STRING\", 3);\n U5c = new a6c(\"DOUBLE\", 4);\n V5c = new a6c(\"ENUM\", 5);\n W5c = new a6c(\"ENUMSET\", 6);\n Y5c = new a6c(\"OBJECT\", 7);\n }\n function H6c(a, b) {\n var c2, d, e, f2, g;\n d = $wnd.Math.min(a.c, b.c);\n f2 = $wnd.Math.min(a.d, b.d);\n e = $wnd.Math.max(a.c + a.b, b.c + b.b);\n g = $wnd.Math.max(a.d + a.a, b.d + b.a);\n if (e < d) {\n c2 = d;\n d = e;\n e = c2;\n }\n if (g < f2) {\n c2 = f2;\n f2 = g;\n g = c2;\n }\n G6c(a, d, f2, e - d, g - f2);\n }\n function O6d() {\n O6d = ccb;\n L6d = OC(GC(ZI, 1), nie, 2, 6, [swe, twe, uwe, vwe, wwe, xwe, eue]);\n K6d = OC(GC(ZI, 1), nie, 2, 6, [swe, \"empty\", twe, Qve, \"elementOnly\"]);\n N6d = OC(GC(ZI, 1), nie, 2, 6, [swe, \"preserve\", \"replace\", ywe]);\n M6d = new y1d();\n }\n function Y$b(a, b, c2) {\n var d, e, f2;\n if (b == c2) {\n return;\n }\n d = b;\n do {\n P6c(a, d.c);\n e = d.e;\n if (e) {\n f2 = d.d;\n O6c(a, f2.b, f2.d);\n P6c(a, e.n);\n d = Q_b(e);\n }\n } while (e);\n d = c2;\n do {\n c7c(a, d.c);\n e = d.e;\n if (e) {\n f2 = d.d;\n b7c(a, f2.b, f2.d);\n c7c(a, e.n);\n d = Q_b(e);\n }\n } while (e);\n }\n function qic(a, b, c2, d) {\n var e, f2, g, h, i3;\n if (d.f.c + d.g.c == 0) {\n for (g = a.a[a.c], h = 0, i3 = g.length; h < i3; ++h) {\n f2 = g[h];\n Rhb(d, f2, new zic(a, f2, c2));\n }\n }\n e = BD(Wd(irb(d.f, b)), 663);\n e.b = 0;\n e.c = e.f;\n e.c == 0 || Cic(BD(Ikb(e.a, e.b), 287));\n return e;\n }\n function Apc() {\n Apc = ccb;\n wpc = new Bpc(\"MEDIAN_LAYER\", 0);\n ypc = new Bpc(\"TAIL_LAYER\", 1);\n vpc = new Bpc(\"HEAD_LAYER\", 2);\n xpc = new Bpc(\"SPACE_EFFICIENT_LAYER\", 3);\n zpc = new Bpc(\"WIDEST_LAYER\", 4);\n upc = new Bpc(\"CENTER_LAYER\", 5);\n }\n function rJb(a) {\n switch (a.g) {\n case 0:\n case 1:\n case 2:\n return Ucd(), Acd;\n case 3:\n case 4:\n case 5:\n return Ucd(), Rcd;\n case 6:\n case 7:\n case 8:\n return Ucd(), Tcd;\n case 9:\n case 10:\n case 11:\n return Ucd(), zcd;\n default:\n return Ucd(), Scd;\n }\n }\n function sKc(a, b) {\n var c2;\n if (a.c.length == 0) {\n return false;\n }\n c2 = Lzc((tCb(0, a.c.length), BD(a.c[0], 17)).c.i);\n FJc();\n if (c2 == (Izc(), Fzc) || c2 == Ezc) {\n return true;\n }\n return FAb(NAb(new YAb(null, new Kub(a, 16)), new AKc()), new CKc(b));\n }\n function cRc(a, b, c2) {\n var d, e, f2;\n if (!a.b[b.g]) {\n a.b[b.g] = true;\n d = c2;\n !d && (d = new SRc());\n Dsb(d.b, b);\n for (f2 = a.a[b.g].Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 188);\n e.b != b && cRc(a, e.b, d);\n e.c != b && cRc(a, e.c, d);\n Dsb(d.a, e);\n }\n return d;\n }\n return null;\n }\n function qSc() {\n qSc = ccb;\n pSc = new rSc(\"ROOT_PROC\", 0);\n lSc = new rSc(\"FAN_PROC\", 1);\n nSc = new rSc(\"NEIGHBORS_PROC\", 2);\n mSc = new rSc(\"LEVEL_HEIGHT\", 3);\n oSc = new rSc(\"NODE_POSITION_PROC\", 4);\n kSc = new rSc(\"DETREEIFYING_PROC\", 5);\n }\n function kqd(a, b) {\n if (JD(b, 239)) {\n return eqd(a, BD(b, 33));\n } else if (JD(b, 186)) {\n return fqd(a, BD(b, 118));\n } else if (JD(b, 439)) {\n return dqd(a, BD(b, 202));\n } else {\n throw vbb(new Wdb(Xte + Fe(new amb(OC(GC(SI, 1), Uhe, 1, 5, [b])))));\n }\n }\n function xu(a, b, c2) {\n var d, e;\n this.f = a;\n d = BD(Ohb(a.b, b), 283);\n e = !d ? 0 : d.a;\n Sb(c2, e);\n if (c2 >= (e / 2 | 0)) {\n this.e = !d ? null : d.c;\n this.d = e;\n while (c2++ < e) {\n vu(this);\n }\n } else {\n this.c = !d ? null : d.b;\n while (c2-- > 0) {\n uu(this);\n }\n }\n this.b = b;\n this.a = null;\n }\n function rEb(a, b) {\n var c2, d;\n b.a ? sEb(a, b) : (c2 = BD(Exb(a.b, b.b), 57), !!c2 && c2 == a.a[b.b.f] && !!c2.a && c2.a != b.b.a && c2.c.Fc(b.b), d = BD(Dxb(a.b, b.b), 57), !!d && a.a[d.f] == b.b && !!d.a && d.a != b.b.a && b.b.c.Fc(d), Fxb(a.b, b.b), void 0);\n }\n function FJb(a, b) {\n var c2, d;\n c2 = BD(Mpb(a.b, b), 124);\n if (BD(BD(Qc(a.r, b), 21), 84).dc()) {\n c2.n.b = 0;\n c2.n.c = 0;\n return;\n }\n c2.n.b = a.C.b;\n c2.n.c = a.C.c;\n a.A.Hc((tdd(), sdd)) && KJb(a, b);\n d = JJb(a, b);\n KIb(a, b) == (Tbd(), Qbd) && (d += 2 * a.w);\n c2.a.a = d;\n }\n function OKb(a, b) {\n var c2, d;\n c2 = BD(Mpb(a.b, b), 124);\n if (BD(BD(Qc(a.r, b), 21), 84).dc()) {\n c2.n.d = 0;\n c2.n.a = 0;\n return;\n }\n c2.n.d = a.C.d;\n c2.n.a = a.C.a;\n a.A.Hc((tdd(), sdd)) && SKb(a, b);\n d = RKb(a, b);\n KIb(a, b) == (Tbd(), Qbd) && (d += 2 * a.w);\n c2.a.b = d;\n }\n function cOb(a, b) {\n var c2, d, e, f2;\n f2 = new Rkb();\n for (d = new olb(b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 65);\n Ekb(f2, new oOb(c2, true));\n Ekb(f2, new oOb(c2, false));\n }\n e = new hOb(a);\n zwb(e.a.a);\n kDb(f2, a.b, new amb(OC(GC(JM, 1), Uhe, 679, 0, [e])));\n }\n function rQb(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n, o2, p, q;\n i3 = a.a;\n n = a.b;\n j = b.a;\n o2 = b.b;\n k = c2.a;\n p = c2.b;\n l = d.a;\n q = d.b;\n f2 = i3 * o2 - n * j;\n g = k * q - p * l;\n e = (i3 - j) * (p - q) - (n - o2) * (k - l);\n h = (f2 * (k - l) - g * (i3 - j)) / e;\n m = (f2 * (p - q) - g * (n - o2)) / e;\n return new f7c(h, m);\n }\n function TBc(a, b) {\n var c2, d, e;\n if (a.d[b.p]) {\n return;\n }\n a.d[b.p] = true;\n a.a[b.p] = true;\n for (d = new Sr(ur(U_b(b).a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 17);\n if (OZb(c2)) {\n continue;\n }\n e = c2.d.i;\n a.a[e.p] ? Ekb(a.b, c2) : TBc(a, e);\n }\n a.a[b.p] = false;\n }\n function pCc(a, b, c2) {\n var d;\n d = 0;\n switch (BD(vNb(b, (Nyc(), mxc)), 163).g) {\n case 2:\n d = 2 * -c2 + a.a;\n ++a.a;\n break;\n case 1:\n d = -c2;\n break;\n case 3:\n d = c2;\n break;\n case 4:\n d = 2 * c2 + a.b;\n ++a.b;\n }\n wNb(b, (wtc(), Zsc)) && (d += BD(vNb(b, Zsc), 19).a);\n return d;\n }\n function jOc(a, b, c2) {\n var d, e, f2;\n c2.zc(b, a);\n Ekb(a.n, b);\n f2 = a.p.eg(b);\n b.j == a.p.fg() ? yOc(a.e, f2) : yOc(a.j, f2);\n lOc(a);\n for (e = ul(pl(OC(GC(KI, 1), Uhe, 20, 0, [new J0b(b), new R0b(b)]))); Qr(e); ) {\n d = BD(Rr(e), 11);\n c2._b(d) || jOc(a, d, c2);\n }\n }\n function rfd(a) {\n var b, c2, d;\n c2 = BD(hkd(a, (Y9c(), Y8c)), 21);\n if (c2.Hc((tdd(), pdd))) {\n d = BD(hkd(a, b9c), 21);\n b = new g7c(BD(hkd(a, _8c), 8));\n if (d.Hc((Idd(), Bdd))) {\n b.a <= 0 && (b.a = 20);\n b.b <= 0 && (b.b = 20);\n }\n return b;\n } else {\n return new d7c();\n }\n }\n function PKd(a) {\n var b, c2, d;\n if (!a.b) {\n d = new $Nd();\n for (c2 = new $yd(SKd(a)); c2.e != c2.i.gc(); ) {\n b = BD(Zyd(c2), 18);\n (b.Bb & ote) != 0 && wtd(d, b);\n }\n vud(d);\n a.b = new nNd((BD(qud(ZKd((NFd(), MFd).o), 8), 18), d.i), d.g);\n $Kd(a).b &= -9;\n }\n return a.b;\n }\n function Rmc(a, b) {\n var c2, d, e, f2, g, h, i3, j;\n i3 = BD(Ee(Ec(b.k), KC(F1, bne, 61, 2, 0, 1)), 122);\n j = b.g;\n c2 = Tmc(b, i3[0]);\n e = Smc(b, i3[1]);\n d = Kmc(a, j, c2, e);\n f2 = Tmc(b, i3[1]);\n h = Smc(b, i3[0]);\n g = Kmc(a, j, f2, h);\n if (d <= g) {\n b.a = c2;\n b.c = e;\n } else {\n b.a = f2;\n b.c = h;\n }\n }\n function ESc(a, b, c2) {\n var d, e, f2;\n Odd(c2, \"Processor set neighbors\", 1);\n a.a = b.b.b == 0 ? 1 : b.b.b;\n e = null;\n d = Jsb(b.b, 0);\n while (!e && d.b != d.d.c) {\n f2 = BD(Xsb(d), 86);\n Ccb(DD(vNb(f2, (mTc(), jTc)))) && (e = f2);\n }\n !!e && FSc(a, new ZRc(e), c2);\n Qdd(c2);\n }\n function PEd(a) {\n IEd();\n var b, c2, d, e;\n d = hfb(a, wfb(35));\n b = d == -1 ? a : a.substr(0, d);\n c2 = d == -1 ? null : a.substr(d + 1);\n e = kFd(HEd, b);\n if (!e) {\n e = aFd(b);\n lFd(HEd, b, e);\n c2 != null && (e = JEd(e, c2));\n } else\n c2 != null && (e = JEd(e, (uCb(c2), c2)));\n return e;\n }\n function smb(a) {\n var h;\n mmb();\n var b, c2, d, e, f2, g;\n if (JD(a, 54)) {\n for (e = 0, d = a.gc() - 1; e < d; ++e, --d) {\n h = a.Xb(e);\n a._c(e, a.Xb(d));\n a._c(d, h);\n }\n } else {\n b = a.Yc();\n f2 = a.Zc(a.gc());\n while (b.Tb() < f2.Vb()) {\n c2 = b.Pb();\n g = f2.Ub();\n b.Wb(g);\n f2.Wb(c2);\n }\n }\n }\n function I3b(a, b) {\n var c2, d, e;\n Odd(b, \"End label pre-processing\", 1);\n c2 = Edb(ED(vNb(a, (Nyc(), nyc))));\n d = Edb(ED(vNb(a, ryc)));\n e = gad(BD(vNb(a, Lwc), 103));\n MAb(LAb(new YAb(null, new Kub(a.b, 16)), new Q3b()), new S3b(c2, d, e));\n Qdd(b);\n }\n function NFc(a, b) {\n var c2, d, e, f2, g, h;\n h = 0;\n f2 = new jkb();\n Wjb(f2, b);\n while (f2.b != f2.c) {\n g = BD(fkb(f2), 214);\n h += pHc(g.d, g.e);\n for (e = new olb(g.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 37);\n c2 = BD(Ikb(a.b, d.p), 214);\n c2.s || (h += NFc(a, c2));\n }\n }\n return h;\n }\n function YQc(a, b, c2) {\n var d, e;\n TQc(this);\n b == (FQc(), DQc) ? Qqb(this.r, a.c) : Qqb(this.w, a.c);\n c2 == DQc ? Qqb(this.r, a.d) : Qqb(this.w, a.d);\n UQc(this, a);\n d = VQc(a.c);\n e = VQc(a.d);\n XQc(this, d, e, e);\n this.o = (hQc(), $wnd.Math.abs(d - e) < 0.2);\n }\n function a0d(a, b, c2) {\n var d, e, f2, g, h, i3;\n h = BD(Ajd(a.a, 8), 1936);\n if (h != null) {\n for (e = h, f2 = 0, g = e.length; f2 < g; ++f2) {\n null.jm();\n }\n }\n d = c2;\n if ((a.a.Db & 1) == 0) {\n i3 = new f0d(a, c2, b);\n d.ui(i3);\n }\n JD(d, 672) ? BD(d, 672).wi(a.a) : d.ti() == a.a && d.vi(null);\n }\n function dae() {\n var a;\n if (Z9d)\n return BD(nUd((yFd(), xFd), Ewe), 1945);\n eae();\n a = BD(JD(Phb((yFd(), xFd), Ewe), 586) ? Phb(xFd, Ewe) : new cae(), 586);\n Z9d = true;\n aae(a);\n bae(a);\n Rhb((JFd(), IFd), a, new fae());\n Tnd(a);\n Shb(xFd, Ewe, a);\n return a;\n }\n function xA(a, b, c2, d) {\n var e;\n e = oA(a, c2, OC(GC(ZI, 1), nie, 2, 6, [rje, sje, tje, uje, vje, wje, xje]), b);\n e < 0 && (e = oA(a, c2, OC(GC(ZI, 1), nie, 2, 6, [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"]), b));\n if (e < 0) {\n return false;\n }\n d.d = e;\n return true;\n }\n function AA(a, b, c2, d) {\n var e;\n e = oA(a, c2, OC(GC(ZI, 1), nie, 2, 6, [rje, sje, tje, uje, vje, wje, xje]), b);\n e < 0 && (e = oA(a, c2, OC(GC(ZI, 1), nie, 2, 6, [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"]), b));\n if (e < 0) {\n return false;\n }\n d.d = e;\n return true;\n }\n function NVb(a) {\n var b, c2, d;\n KVb(a);\n d = new Rkb();\n for (c2 = new olb(a.a.a.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 81);\n Ekb(d, new ZVb(b, true));\n Ekb(d, new ZVb(b, false));\n }\n RVb(a.c);\n rXb(d, a.b, new amb(OC(GC(bQ, 1), Uhe, 369, 0, [a.c])));\n MVb(a);\n }\n function c4b(a) {\n var b, c2, d, e;\n c2 = new Lqb();\n for (e = new olb(a.d); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 181);\n b = BD(d.We((wtc(), Dsc)), 17);\n !!irb(c2.f, b) || Rhb(c2, b, new p4b(b));\n Ekb(BD(Wd(irb(c2.f, b)), 456).b, d);\n }\n return new Tkb(new $ib(c2));\n }\n function Gac(a, b) {\n var c2, d, e, f2, g;\n d = new kkb(a.j.c.length);\n c2 = null;\n for (f2 = new olb(a.j); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 11);\n if (e.j != c2) {\n d.b == d.c || Hac(d, c2, b);\n Yjb(d);\n c2 = e.j;\n }\n g = N3b(e);\n !!g && (Xjb(d, g), true);\n }\n d.b == d.c || Hac(d, c2, b);\n }\n function wbc(a, b) {\n var c2, d, e;\n d = new Bib(a.b, 0);\n while (d.b < d.d.gc()) {\n c2 = (sCb(d.b < d.d.gc()), BD(d.d.Xb(d.c = d.b++), 70));\n e = BD(vNb(c2, (Nyc(), Qwc)), 272);\n if (e == (qad(), oad)) {\n uib(d);\n Ekb(b.b, c2);\n wNb(c2, (wtc(), Dsc)) || yNb(c2, Dsc, a);\n }\n }\n }\n function GDc(a) {\n var b, c2, d, e, f2;\n b = sr(new Sr(ur(U_b(a).a.Kc(), new Sq())));\n for (e = new Sr(ur(R_b(a).a.Kc(), new Sq())); Qr(e); ) {\n d = BD(Rr(e), 17);\n c2 = d.c.i;\n f2 = sr(new Sr(ur(U_b(c2).a.Kc(), new Sq())));\n b = $wnd.Math.max(b, f2);\n }\n return meb(b);\n }\n function rUc(a, b, c2) {\n var d, e, f2, g;\n Odd(c2, \"Processor arrange node\", 1);\n e = null;\n f2 = new Psb();\n d = Jsb(b.b, 0);\n while (!e && d.b != d.d.c) {\n g = BD(Xsb(d), 86);\n Ccb(DD(vNb(g, (mTc(), jTc)))) && (e = g);\n }\n Gsb(f2, e, f2.c.b, f2.c);\n qUc(a, f2, Udd(c2, 1));\n Qdd(c2);\n }\n function Ffd(a, b, c2) {\n var d, e, f2;\n d = BD(hkd(a, (Y9c(), w8c)), 21);\n e = 0;\n f2 = 0;\n b.a > c2.a && (d.Hc((i8c(), c8c)) ? e = (b.a - c2.a) / 2 : d.Hc(e8c) && (e = b.a - c2.a));\n b.b > c2.b && (d.Hc((i8c(), g8c)) ? f2 = (b.b - c2.b) / 2 : d.Hc(f8c) && (f2 = b.b - c2.b));\n Efd(a, e, f2);\n }\n function aod(a, b, c2, d, e, f2, g, h, i3, j, k, l, m) {\n JD(a.Cb, 88) && XMd($Kd(BD(a.Cb, 88)), 4);\n pnd(a, c2);\n a.f = g;\n dJd(a, h);\n fJd(a, i3);\n ZId(a, j);\n eJd(a, k);\n CId(a, l);\n aJd(a, m);\n BId(a, true);\n AId(a, e);\n a.ok(f2);\n yId(a, b);\n d != null && (a.i = null, _Id(a, d));\n }\n function PRd(a) {\n var b, c2;\n if (a.f) {\n while (a.n > 0) {\n b = BD(a.k.Xb(a.n - 1), 72);\n c2 = b.ak();\n if (JD(c2, 99) && (BD(c2, 18).Bb & ote) != 0 && (!a.e || c2.Gj() != x2 || c2.aj() != 0) && b.dd() != null) {\n return true;\n } else {\n --a.n;\n }\n }\n return false;\n } else {\n return a.n > 0;\n }\n }\n function Jb(a, b, c2) {\n if (a < 0) {\n return hc(The, OC(GC(SI, 1), Uhe, 1, 5, [c2, meb(a)]));\n } else if (b < 0) {\n throw vbb(new Wdb(Vhe + b));\n } else {\n return hc(\"%s (%s) must not be greater than size (%s)\", OC(GC(SI, 1), Uhe, 1, 5, [c2, meb(a), meb(b)]));\n }\n }\n function Llb(a, b, c2, d, e, f2) {\n var g, h, i3, j;\n g = d - c2;\n if (g < 7) {\n Ilb(b, c2, d, f2);\n return;\n }\n i3 = c2 + e;\n h = d + e;\n j = i3 + (h - i3 >> 1);\n Llb(b, a, i3, j, -e, f2);\n Llb(b, a, j, h, -e, f2);\n if (f2.ue(a[j - 1], a[j]) <= 0) {\n while (c2 < d) {\n NC(b, c2++, a[i3++]);\n }\n return;\n }\n Jlb(a, i3, j, h, b, c2, d, f2);\n }\n function nEb(a, b) {\n var c2, d, e;\n e = new Rkb();\n for (d = new olb(a.c.a.b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 57);\n if (b.Lb(c2)) {\n Ekb(e, new BEb(c2, true));\n Ekb(e, new BEb(c2, false));\n }\n }\n tEb(a.e);\n kDb(e, a.d, new amb(OC(GC(JM, 1), Uhe, 679, 0, [a.e])));\n }\n function gnc(a, b) {\n var c2, d, e, f2, g, h, i3;\n i3 = b.d;\n e = b.b.j;\n for (h = new olb(i3); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 101);\n f2 = KC(sbb, dle, 25, e.c.length, 16, 1);\n Rhb(a.b, g, f2);\n c2 = g.a.d.p - 1;\n d = g.c.d.p;\n while (c2 != d) {\n c2 = (c2 + 1) % e.c.length;\n f2[c2] = true;\n }\n }\n }\n function tOc(a, b) {\n a.r = new uOc(a.p);\n sOc(a.r, a);\n ye(a.r.j, a.j);\n Osb(a.j);\n Dsb(a.j, b);\n Dsb(a.r.e, b);\n lOc(a);\n lOc(a.r);\n while (a.f.c.length != 0) {\n AOc(BD(Ikb(a.f, 0), 129));\n }\n while (a.k.c.length != 0) {\n AOc(BD(Ikb(a.k, 0), 129));\n }\n return a.r;\n }\n function yid(a, b, c2) {\n var d, e, f2;\n e = XKd(a.Tg(), b);\n d = b - a.Ah();\n if (d < 0) {\n if (!e) {\n throw vbb(new Wdb(mte + b + nte));\n } else if (e.Ij()) {\n f2 = a.Yg(e);\n f2 >= 0 ? a.sh(f2, c2) : uid(a, e, c2);\n } else {\n throw vbb(new Wdb(ite + e.ne() + jte));\n }\n } else {\n did(a, d, e, c2);\n }\n }\n function q6d(b) {\n var c2, d, e, f2;\n d = BD(b, 49).qh();\n if (d) {\n try {\n e = null;\n c2 = nUd((yFd(), xFd), LEd(MEd(d)));\n if (c2) {\n f2 = c2.rh();\n !!f2 && (e = f2.Wk(tfb(d.e)));\n }\n if (!!e && e != b) {\n return q6d(e);\n }\n } catch (a) {\n a = ubb(a);\n if (!JD(a, 60))\n throw vbb(a);\n }\n }\n return b;\n }\n function jrb(a, b, c2) {\n var d, e, f2, g;\n g = b == null ? 0 : a.b.se(b);\n e = (d = a.a.get(g), d == null ? new Array() : d);\n if (e.length == 0) {\n a.a.set(g, e);\n } else {\n f2 = grb(a, b, e);\n if (f2) {\n return f2.ed(c2);\n }\n }\n NC(e, e.length, new pjb(b, c2));\n ++a.c;\n zpb(a.b);\n return null;\n }\n function YUc(a, b) {\n var c2, d;\n H2c(a.a);\n K2c(a.a, (PUc(), NUc), NUc);\n K2c(a.a, OUc, OUc);\n d = new j3c();\n e3c(d, OUc, (tVc(), sVc));\n PD(hkd(b, (ZWc(), LWc))) !== PD((pWc(), mWc)) && e3c(d, OUc, qVc);\n e3c(d, OUc, rVc);\n E2c(a.a, d);\n c2 = F2c(a.a, b);\n return c2;\n }\n function uC(a) {\n if (!a) {\n return OB(), NB;\n }\n var b = a.valueOf ? a.valueOf() : a;\n if (b !== a) {\n var c2 = qC[typeof b];\n return c2 ? c2(b) : xC(typeof b);\n } else if (a instanceof Array || a instanceof $wnd.Array) {\n return new xB(a);\n } else {\n return new fC(a);\n }\n }\n function RJb(a, b, c2) {\n var d, e, f2;\n f2 = a.o;\n d = BD(Mpb(a.p, c2), 244);\n e = d.i;\n e.b = gIb(d);\n e.a = fIb(d);\n e.b = $wnd.Math.max(e.b, f2.a);\n e.b > f2.a && !b && (e.b = f2.a);\n e.c = -(e.b - f2.a) / 2;\n switch (c2.g) {\n case 1:\n e.d = -e.a;\n break;\n case 3:\n e.d = f2.b;\n }\n hIb(d);\n iIb(d);\n }\n function SJb(a, b, c2) {\n var d, e, f2;\n f2 = a.o;\n d = BD(Mpb(a.p, c2), 244);\n e = d.i;\n e.b = gIb(d);\n e.a = fIb(d);\n e.a = $wnd.Math.max(e.a, f2.b);\n e.a > f2.b && !b && (e.a = f2.b);\n e.d = -(e.a - f2.b) / 2;\n switch (c2.g) {\n case 4:\n e.c = -e.b;\n break;\n case 2:\n e.c = f2.a;\n }\n hIb(d);\n iIb(d);\n }\n function Jgc(a, b) {\n var c2, d, e, f2, g;\n if (b.dc()) {\n return;\n }\n e = BD(b.Xb(0), 128);\n if (b.gc() == 1) {\n Igc(a, e, e, 1, 0, b);\n return;\n }\n c2 = 1;\n while (c2 < b.gc()) {\n if (e.j || !e.o) {\n f2 = Ogc(b, c2);\n if (f2) {\n d = BD(f2.a, 19).a;\n g = BD(f2.b, 128);\n Igc(a, e, g, c2, d, b);\n c2 = d + 1;\n e = g;\n }\n }\n }\n }\n function mlc(a) {\n var b, c2, d, e, f2, g;\n g = new Tkb(a.d);\n Okb(g, new Qlc());\n b = (Alc(), OC(GC(KV, 1), Kie, 270, 0, [tlc, wlc, slc, zlc, vlc, ulc, ylc, xlc]));\n c2 = 0;\n for (f2 = new olb(g); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 101);\n d = b[c2 % b.length];\n olc(e, d);\n ++c2;\n }\n }\n function o6c(a, b) {\n i6c();\n var c2, d, e, f2;\n if (b.b < 2) {\n return false;\n }\n f2 = Jsb(b, 0);\n c2 = BD(Xsb(f2), 8);\n d = c2;\n while (f2.b != f2.d.c) {\n e = BD(Xsb(f2), 8);\n if (!(m6c(a, d) && m6c(a, e))) {\n return false;\n }\n d = e;\n }\n if (!(m6c(a, d) && m6c(a, c2))) {\n return false;\n }\n return true;\n }\n function hrd(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l;\n k = null;\n l = a;\n g = Xpd(l, \"x\");\n c2 = new Krd(b);\n Gqd(c2.a, g);\n h = Xpd(l, \"y\");\n d = new Lrd(b);\n Hqd(d.a, h);\n i3 = Xpd(l, Gte);\n e = new Mrd(b);\n Iqd(e.a, i3);\n j = Xpd(l, Fte);\n f2 = new Nrd(b);\n k = (Jqd(f2.a, j), j);\n return k;\n }\n function XMd(a, b) {\n TMd(a, b);\n (a.b & 1) != 0 && (a.a.a = null);\n (a.b & 2) != 0 && (a.a.f = null);\n if ((a.b & 4) != 0) {\n a.a.g = null;\n a.a.i = null;\n }\n if ((a.b & 16) != 0) {\n a.a.d = null;\n a.a.e = null;\n }\n (a.b & 8) != 0 && (a.a.b = null);\n if ((a.b & 32) != 0) {\n a.a.j = null;\n a.a.c = null;\n }\n }\n function l0d(b, c2) {\n var d, e, f2;\n f2 = 0;\n if (c2.length > 0) {\n try {\n f2 = Icb(c2, Rie, Ohe);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 127)) {\n e = a;\n throw vbb(new rFd(e));\n } else\n throw vbb(a);\n }\n }\n d = (!b.a && (b.a = new z0d(b)), b.a);\n return f2 < d.i && f2 >= 0 ? BD(qud(d, f2), 56) : null;\n }\n function Ib(a, b) {\n if (a < 0) {\n return hc(The, OC(GC(SI, 1), Uhe, 1, 5, [\"index\", meb(a)]));\n } else if (b < 0) {\n throw vbb(new Wdb(Vhe + b));\n } else {\n return hc(\"%s (%s) must be less than size (%s)\", OC(GC(SI, 1), Uhe, 1, 5, [\"index\", meb(a), meb(b)]));\n }\n }\n function Slb(a) {\n var b, c2, d, e, f2;\n if (a == null) {\n return Xhe;\n }\n f2 = new xwb(She, \"[\", \"]\");\n for (c2 = a, d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n !f2.a ? f2.a = new Wfb(f2.d) : Qfb(f2.a, f2.b);\n Nfb(f2.a, \"\" + b);\n }\n return !f2.a ? f2.c : f2.e.length == 0 ? f2.a.a : f2.a.a + (\"\" + f2.e);\n }\n function Tlb(a) {\n var b, c2, d, e, f2;\n if (a == null) {\n return Xhe;\n }\n f2 = new xwb(She, \"[\", \"]\");\n for (c2 = a, d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n !f2.a ? f2.a = new Wfb(f2.d) : Qfb(f2.a, f2.b);\n Nfb(f2.a, \"\" + b);\n }\n return !f2.a ? f2.c : f2.e.length == 0 ? f2.a.a : f2.a.a + (\"\" + f2.e);\n }\n function Ulb(a) {\n var b, c2, d, e, f2;\n if (a == null) {\n return Xhe;\n }\n f2 = new xwb(She, \"[\", \"]\");\n for (c2 = a, d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n !f2.a ? f2.a = new Wfb(f2.d) : Qfb(f2.a, f2.b);\n Nfb(f2.a, \"\" + b);\n }\n return !f2.a ? f2.c : f2.e.length == 0 ? f2.a.a : f2.a.a + (\"\" + f2.e);\n }\n function Xlb(a) {\n var b, c2, d, e, f2;\n if (a == null) {\n return Xhe;\n }\n f2 = new xwb(She, \"[\", \"]\");\n for (c2 = a, d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n !f2.a ? f2.a = new Wfb(f2.d) : Qfb(f2.a, f2.b);\n Nfb(f2.a, \"\" + b);\n }\n return !f2.a ? f2.c : f2.e.length == 0 ? f2.a.a : f2.a.a + (\"\" + f2.e);\n }\n function bub(a, b) {\n var c2, d, e, f2, g, h;\n c2 = a.b.c.length;\n e = Ikb(a.b, b);\n while (b * 2 + 1 < c2) {\n d = (f2 = 2 * b + 1, g = f2 + 1, h = f2, g < c2 && a.a.ue(Ikb(a.b, g), Ikb(a.b, f2)) < 0 && (h = g), h);\n if (a.a.ue(e, Ikb(a.b, d)) < 0) {\n break;\n }\n Nkb(a.b, b, Ikb(a.b, d));\n b = d;\n }\n Nkb(a.b, b, e);\n }\n function $Bb(a, b, c2, d, e, f2) {\n var g, h, i3, j, k;\n if (PD(a) === PD(c2)) {\n a = a.slice(b, b + e);\n b = 0;\n }\n i3 = c2;\n for (h = b, j = b + e; h < j; ) {\n g = $wnd.Math.min(h + 1e4, j);\n e = g - h;\n k = a.slice(h, g);\n k.splice(0, 0, d, f2 ? e : 0);\n Array.prototype.splice.apply(i3, k);\n h = g;\n d += e;\n }\n }\n function xGb(a, b, c2) {\n var d, e;\n d = c2.d;\n e = c2.e;\n if (a.g[d.d] <= a.i[b.d] && a.i[b.d] <= a.i[d.d] && a.g[e.d] <= a.i[b.d] && a.i[b.d] <= a.i[e.d]) {\n if (a.i[d.d] < a.i[e.d]) {\n return false;\n }\n return true;\n }\n if (a.i[d.d] < a.i[e.d]) {\n return true;\n }\n return false;\n }\n function cRb(a) {\n var b, c2, d, e, f2, g, h;\n d = a.a.c.length;\n if (d > 0) {\n g = a.c.d;\n h = a.d.d;\n e = Y6c(c7c(new f7c(h.a, h.b), g), 1 / (d + 1));\n f2 = new f7c(g.a, g.b);\n for (c2 = new olb(a.a); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 559);\n b.d.a = f2.a;\n b.d.b = f2.b;\n P6c(f2, e);\n }\n }\n }\n function YNb(a, b, c2) {\n var d, e, f2, g, h, i3;\n i3 = Pje;\n for (f2 = new olb(wOb(a.b)); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 168);\n for (h = new olb(wOb(b.b)); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 168);\n d = p6c(e.a, e.b, g.a, g.b, c2);\n i3 = $wnd.Math.min(i3, d);\n }\n }\n return i3;\n }\n function G0b(a, b) {\n if (!b) {\n throw vbb(new Geb());\n }\n a.j = b;\n if (!a.d) {\n switch (a.j.g) {\n case 1:\n a.a.a = a.o.a / 2;\n a.a.b = 0;\n break;\n case 2:\n a.a.a = a.o.a;\n a.a.b = a.o.b / 2;\n break;\n case 3:\n a.a.a = a.o.a / 2;\n a.a.b = a.o.b;\n break;\n case 4:\n a.a.a = 0;\n a.a.b = a.o.b / 2;\n }\n }\n }\n function dfc(a, b) {\n var c2, d, e;\n if (JD(b.g, 10) && BD(b.g, 10).k == (j0b(), e0b)) {\n return Pje;\n }\n e = ugc(b);\n if (e) {\n return $wnd.Math.max(0, a.b / 2 - 0.5);\n }\n c2 = tgc(b);\n if (c2) {\n d = Edb(ED(pBc(c2, (Nyc(), vyc))));\n return $wnd.Math.max(0, d / 2 - 0.5);\n }\n return Pje;\n }\n function ffc(a, b) {\n var c2, d, e;\n if (JD(b.g, 10) && BD(b.g, 10).k == (j0b(), e0b)) {\n return Pje;\n }\n e = ugc(b);\n if (e) {\n return $wnd.Math.max(0, a.b / 2 - 0.5);\n }\n c2 = tgc(b);\n if (c2) {\n d = Edb(ED(pBc(c2, (Nyc(), vyc))));\n return $wnd.Math.max(0, d / 2 - 0.5);\n }\n return Pje;\n }\n function xic(a) {\n var b, c2, d, e, f2, g;\n g = CHc(a.d, a.e);\n for (f2 = g.Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 11);\n d = a.e == (Ucd(), Tcd) ? e.e : e.g;\n for (c2 = new olb(d); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 17);\n if (!OZb(b) && b.c.i.c != b.d.i.c) {\n tic(a, b);\n ++a.f;\n ++a.c;\n }\n }\n }\n }\n function tpc(a, b) {\n var c2, d;\n if (b.dc()) {\n return mmb(), mmb(), jmb;\n }\n d = new Rkb();\n Ekb(d, meb(Rie));\n for (c2 = 1; c2 < a.f; ++c2) {\n a.a == null && Toc(a);\n a.a[c2] && Ekb(d, meb(c2));\n }\n if (d.c.length == 1) {\n return mmb(), mmb(), jmb;\n }\n Ekb(d, meb(Ohe));\n return spc(b, d);\n }\n function MJc(a, b) {\n var c2, d, e, f2, g, h, i3;\n g = b.c.i.k != (j0b(), h0b);\n i3 = g ? b.d : b.c;\n c2 = MZb(b, i3).i;\n e = BD(Ohb(a.k, i3), 121);\n d = a.i[c2.p].a;\n if (S_b(i3.i) < (!c2.c ? -1 : Jkb(c2.c.a, c2, 0))) {\n f2 = e;\n h = d;\n } else {\n f2 = d;\n h = e;\n }\n AFb(DFb(CFb(EFb(BFb(new FFb(), 0), 4), f2), h));\n }\n function oqd(a, b, c2) {\n var d, e, f2, g, h, i3;\n if (c2) {\n e = c2.a.length;\n d = new Yge(e);\n for (h = (d.b - d.a) * d.c < 0 ? (Xge(), Wge) : new she(d); h.Ob(); ) {\n g = BD(h.Pb(), 19);\n i3 = Wqd(a, Vpd(tB(c2, g.a)));\n if (i3) {\n f2 = (!b.b && (b.b = new y5d(z2, b, 4, 7)), b.b);\n wtd(f2, i3);\n }\n }\n }\n }\n function pqd(a, b, c2) {\n var d, e, f2, g, h, i3;\n if (c2) {\n e = c2.a.length;\n d = new Yge(e);\n for (h = (d.b - d.a) * d.c < 0 ? (Xge(), Wge) : new she(d); h.Ob(); ) {\n g = BD(h.Pb(), 19);\n i3 = Wqd(a, Vpd(tB(c2, g.a)));\n if (i3) {\n f2 = (!b.c && (b.c = new y5d(z2, b, 5, 8)), b.c);\n wtd(f2, i3);\n }\n }\n }\n }\n function po(a, b, c2) {\n var d, e;\n d = b.a & a.f;\n b.b = a.b[d];\n a.b[d] = b;\n e = b.f & a.f;\n b.d = a.c[e];\n a.c[e] = b;\n if (!c2) {\n b.e = a.e;\n b.c = null;\n !a.e ? a.a = b : a.e.c = b;\n a.e = b;\n } else {\n b.e = c2.e;\n !b.e ? a.a = b : b.e.c = b;\n b.c = c2.c;\n !b.c ? a.e = b : b.c.e = b;\n }\n ++a.i;\n ++a.g;\n }\n function qr(a) {\n var b, c2, d;\n b = a.Pb();\n if (!a.Ob()) {\n return b;\n }\n d = Pfb(Qfb(new Ufb(), \"expected one element but was: <\"), b);\n for (c2 = 0; c2 < 4 && a.Ob(); c2++) {\n Pfb((d.a += She, d), a.Pb());\n }\n a.Ob() && (d.a += \", ...\", d);\n d.a += \">\";\n throw vbb(new Wdb(d.a));\n }\n function lt(a, b) {\n var c2;\n b.d ? b.d.b = b.b : a.a = b.b;\n b.b ? b.b.d = b.d : a.e = b.d;\n if (!b.e && !b.c) {\n c2 = BD(Thb(a.b, b.a), 283);\n c2.a = 0;\n ++a.c;\n } else {\n c2 = BD(Ohb(a.b, b.a), 283);\n --c2.a;\n !b.e ? c2.b = b.c : b.e.c = b.c;\n !b.c ? c2.c = b.e : b.c.e = b.e;\n }\n --a.d;\n }\n function OA(a) {\n var b, c2;\n c2 = -a.a;\n b = OC(GC(TD, 1), $ie, 25, 15, [43, 48, 48, 48, 48]);\n if (c2 < 0) {\n b[0] = 45;\n c2 = -c2;\n }\n b[1] = b[1] + ((c2 / 60 | 0) / 10 | 0) & aje;\n b[2] = b[2] + (c2 / 60 | 0) % 10 & aje;\n b[3] = b[3] + (c2 % 60 / 10 | 0) & aje;\n b[4] = b[4] + c2 % 10 & aje;\n return zfb(b, 0, b.length);\n }\n function uRb(a, b, c2) {\n var d, e;\n d = b.d;\n e = c2.d;\n while (d.a - e.a == 0 && d.b - e.b == 0) {\n d.a += Cub(a, 26) * ike + Cub(a, 27) * jke - 0.5;\n d.b += Cub(a, 26) * ike + Cub(a, 27) * jke - 0.5;\n e.a += Cub(a, 26) * ike + Cub(a, 27) * jke - 0.5;\n e.b += Cub(a, 26) * ike + Cub(a, 27) * jke - 0.5;\n }\n }\n function N_b(a) {\n var b, c2, d, e;\n a.g = new Rpb(BD(Qb(F1), 290));\n d = 0;\n c2 = (Ucd(), Acd);\n b = 0;\n for (; b < a.j.c.length; b++) {\n e = BD(Ikb(a.j, b), 11);\n if (e.j != c2) {\n d != b && Npb(a.g, c2, new vgd(meb(d), meb(b)));\n c2 = e.j;\n d = b;\n }\n }\n Npb(a.g, c2, new vgd(meb(d), meb(b)));\n }\n function d4b(a) {\n var b, c2, d, e, f2, g, h;\n d = 0;\n for (c2 = new olb(a.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 29);\n for (f2 = new olb(b.a); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 10);\n e.p = d++;\n for (h = new olb(e.j); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 11);\n g.p = d++;\n }\n }\n }\n }\n function qPc(a, b, c2, d, e) {\n var f2, g, h, i3, j;\n if (b) {\n for (h = b.Kc(); h.Ob(); ) {\n g = BD(h.Pb(), 10);\n for (j = X_b(g, (KAc(), IAc), c2).Kc(); j.Ob(); ) {\n i3 = BD(j.Pb(), 11);\n f2 = BD(Wd(irb(e.f, i3)), 112);\n if (!f2) {\n f2 = new uOc(a.d);\n d.c[d.c.length] = f2;\n jOc(f2, i3, e);\n }\n }\n }\n }\n }\n function vid(a, b) {\n var c2, d, e;\n e = e1d((O6d(), M6d), a.Tg(), b);\n if (e) {\n Q6d();\n BD(e, 66).Oj() || (e = _1d(q1d(M6d, e)));\n d = (c2 = a.Yg(e), BD(c2 >= 0 ? a._g(c2, true, true) : sid(a, e, true), 153));\n BD(d, 215).ol(b);\n } else {\n throw vbb(new Wdb(ite + b.ne() + jte));\n }\n }\n function ugb(a) {\n var b, c2;\n if (a > -140737488355328 && a < 140737488355328) {\n if (a == 0) {\n return 0;\n }\n b = a < 0;\n b && (a = -a);\n c2 = QD($wnd.Math.floor($wnd.Math.log(a) / 0.6931471805599453));\n (!b || a != $wnd.Math.pow(2, c2)) && ++c2;\n return c2;\n }\n return vgb(Cbb(a));\n }\n function QOc(a) {\n var b, c2, d, e, f2, g, h;\n f2 = new zsb();\n for (c2 = new olb(a); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 129);\n g = b.a;\n h = b.b;\n if (f2.a._b(g) || f2.a._b(h)) {\n continue;\n }\n e = g;\n d = h;\n if (g.e.b + g.j.b > 2 && h.e.b + h.j.b <= 2) {\n e = h;\n d = g;\n }\n f2.a.zc(e, f2);\n e.q = d;\n }\n return f2;\n }\n function K5b(a, b) {\n var c2, d, e;\n d = new b0b(a);\n tNb(d, b);\n yNb(d, (wtc(), Gsc), b);\n yNb(d, (Nyc(), Vxc), (dcd(), $bd));\n yNb(d, mwc, (F7c(), B7c));\n __b(d, (j0b(), e0b));\n c2 = new H0b();\n F0b(c2, d);\n G0b(c2, (Ucd(), Tcd));\n e = new H0b();\n F0b(e, d);\n G0b(e, zcd);\n return d;\n }\n function Spc(a) {\n switch (a.g) {\n case 0:\n return new fGc((rGc(), oGc));\n case 1:\n return new CFc();\n case 2:\n return new fHc();\n default:\n throw vbb(new Wdb(\"No implementation is available for the crossing minimizer \" + (a.f != null ? a.f : \"\" + a.g)));\n }\n }\n function tDc(a, b) {\n var c2, d, e, f2, g;\n a.c[b.p] = true;\n Ekb(a.a, b);\n for (g = new olb(b.j); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 11);\n for (d = new b1b(f2.b); llb(d.a) || llb(d.b); ) {\n c2 = BD(llb(d.a) ? mlb(d.a) : mlb(d.b), 17);\n e = uDc(f2, c2).i;\n a.c[e.p] || tDc(a, e);\n }\n }\n }\n function _Uc(a) {\n var b, c2, d, e, f2, g, h;\n g = 0;\n for (c2 = new Fyd((!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a)); c2.e != c2.i.gc(); ) {\n b = BD(Dyd(c2), 33);\n h = b.g;\n e = b.f;\n d = $wnd.Math.sqrt(h * h + e * e);\n g = $wnd.Math.max(d, g);\n f2 = _Uc(b);\n g = $wnd.Math.max(f2, g);\n }\n return g;\n }\n function rcd() {\n rcd = ccb;\n pcd = new scd(\"OUTSIDE\", 0);\n ncd = new scd(\"INSIDE\", 1);\n ocd = new scd(\"NEXT_TO_PORT_IF_POSSIBLE\", 2);\n mcd = new scd(\"ALWAYS_SAME_SIDE\", 3);\n lcd = new scd(\"ALWAYS_OTHER_SAME_SIDE\", 4);\n qcd = new scd(\"SPACE_EFFICIENT\", 5);\n }\n function drd(a, b, c2) {\n var d, e, f2, h, i3, j;\n d = Tqd(a, (e = (Fhd(), f2 = new apd(), f2), !!c2 && $od(e, c2), e), b);\n Lkd(d, _pd(b, Vte));\n grd(b, d);\n brd(b, d);\n hrd(b, d);\n h = b;\n i3 = Ypd(h, \"ports\");\n j = new Jrd(a, d);\n Fqd(j.a, j.b, i3);\n crd(a, b, d);\n Zqd(a, b, d);\n return d;\n }\n function NA(a) {\n var b, c2;\n c2 = -a.a;\n b = OC(GC(TD, 1), $ie, 25, 15, [43, 48, 48, 58, 48, 48]);\n if (c2 < 0) {\n b[0] = 45;\n c2 = -c2;\n }\n b[1] = b[1] + ((c2 / 60 | 0) / 10 | 0) & aje;\n b[2] = b[2] + (c2 / 60 | 0) % 10 & aje;\n b[4] = b[4] + (c2 % 60 / 10 | 0) & aje;\n b[5] = b[5] + c2 % 10 & aje;\n return zfb(b, 0, b.length);\n }\n function QA(a) {\n var b;\n b = OC(GC(TD, 1), $ie, 25, 15, [71, 77, 84, 45, 48, 48, 58, 48, 48]);\n if (a <= 0) {\n b[3] = 43;\n a = -a;\n }\n b[4] = b[4] + ((a / 60 | 0) / 10 | 0) & aje;\n b[5] = b[5] + (a / 60 | 0) % 10 & aje;\n b[7] = b[7] + (a % 60 / 10 | 0) & aje;\n b[8] = b[8] + a % 10 & aje;\n return zfb(b, 0, b.length);\n }\n function Vlb(a) {\n var b, c2, d, e, f2;\n if (a == null) {\n return Xhe;\n }\n f2 = new xwb(She, \"[\", \"]\");\n for (c2 = a, d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n !f2.a ? f2.a = new Wfb(f2.d) : Qfb(f2.a, f2.b);\n Nfb(f2.a, \"\" + Ubb(b));\n }\n return !f2.a ? f2.c : f2.e.length == 0 ? f2.a.a : f2.a.a + (\"\" + f2.e);\n }\n function DGb(a, b) {\n var c2, d, e;\n e = Ohe;\n for (d = new olb(LFb(b)); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 213);\n if (c2.f && !a.c[c2.c]) {\n a.c[c2.c] = true;\n e = $wnd.Math.min(e, DGb(a, xFb(c2, b)));\n }\n }\n a.i[b.d] = a.j;\n a.g[b.d] = $wnd.Math.min(e, a.j++);\n return a.g[b.d];\n }\n function EKb(a, b) {\n var c2, d, e;\n for (e = BD(BD(Qc(a.r, b), 21), 84).Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 111);\n d.e.b = (c2 = d.b, c2.Xe((Y9c(), s9c)) ? c2.Hf() == (Ucd(), Acd) ? -c2.rf().b - Edb(ED(c2.We(s9c))) : Edb(ED(c2.We(s9c))) : c2.Hf() == (Ucd(), Acd) ? -c2.rf().b : 0);\n }\n }\n function LPb(a) {\n var b, c2, d, e, f2, g, h;\n c2 = IOb(a.e);\n f2 = Y6c(b7c(R6c(HOb(a.e)), a.d * a.a, a.c * a.b), -0.5);\n b = c2.a - f2.a;\n e = c2.b - f2.b;\n for (h = 0; h < a.c; h++) {\n d = b;\n for (g = 0; g < a.d; g++) {\n JOb(a.e, new J6c(d, e, a.a, a.b)) && aNb(a, g, h, false, true);\n d += a.a;\n }\n e += a.b;\n }\n }\n function s2c(a) {\n var b, c2, d;\n if (Ccb(DD(hkd(a, (Y9c(), M8c))))) {\n d = new Rkb();\n for (c2 = new Sr(ur(_sd(a).a.Kc(), new Sq())); Qr(c2); ) {\n b = BD(Rr(c2), 79);\n Qld(b) && Ccb(DD(hkd(b, N8c))) && (d.c[d.c.length] = b, true);\n }\n return d;\n } else {\n return mmb(), mmb(), jmb;\n }\n }\n function Vpd(a) {\n var b, c2;\n c2 = false;\n if (JD(a, 204)) {\n c2 = true;\n return BD(a, 204).a;\n }\n if (!c2) {\n if (JD(a, 258)) {\n b = BD(a, 258).a % 1 == 0;\n if (b) {\n c2 = true;\n return meb(Idb(BD(a, 258).a));\n }\n }\n }\n throw vbb(new cqd(\"Id must be a string or an integer: '\" + a + \"'.\"));\n }\n function k0d(a, b) {\n var c2, d, e, f2, g, h;\n f2 = null;\n for (e = new x0d((!a.a && (a.a = new z0d(a)), a.a)); u0d(e); ) {\n c2 = BD(Vud(e), 56);\n d = (g = c2.Tg(), h = (OKd(g), g.o), !h || !c2.mh(h) ? null : h6d(KJd(h), c2.ah(h)));\n if (d != null) {\n if (dfb(d, b)) {\n f2 = c2;\n break;\n }\n }\n }\n return f2;\n }\n function Bw(a, b, c2) {\n var d, e, f2, g, h;\n Xj(c2, \"occurrences\");\n if (c2 == 0) {\n return h = BD(Hv(nd(a.a), b), 14), !h ? 0 : h.gc();\n }\n g = BD(Hv(nd(a.a), b), 14);\n if (!g) {\n return 0;\n }\n f2 = g.gc();\n if (c2 >= f2) {\n g.$b();\n } else {\n e = g.Kc();\n for (d = 0; d < c2; d++) {\n e.Pb();\n e.Qb();\n }\n }\n return f2;\n }\n function ax(a, b, c2) {\n var d, e, f2, g;\n Xj(c2, \"oldCount\");\n Xj(0, \"newCount\");\n d = BD(Hv(nd(a.a), b), 14);\n if ((!d ? 0 : d.gc()) == c2) {\n Xj(0, \"count\");\n e = (f2 = BD(Hv(nd(a.a), b), 14), !f2 ? 0 : f2.gc());\n g = -e;\n g > 0 ? zh() : g < 0 && Bw(a, b, -g);\n return true;\n } else {\n return false;\n }\n }\n function fIb(a) {\n var b, c2, d, e, f2, g, h;\n h = 0;\n if (a.b == 0) {\n g = jIb(a, true);\n b = 0;\n for (d = g, e = 0, f2 = d.length; e < f2; ++e) {\n c2 = d[e];\n if (c2 > 0) {\n h += c2;\n ++b;\n }\n }\n b > 1 && (h += a.c * (b - 1));\n } else {\n h = Mtb(Zzb(OAb(JAb(Plb(a.a), new xIb()), new zIb())));\n }\n return h > 0 ? h + a.n.d + a.n.a : 0;\n }\n function gIb(a) {\n var b, c2, d, e, f2, g, h;\n h = 0;\n if (a.b == 0) {\n h = Mtb(Zzb(OAb(JAb(Plb(a.a), new tIb()), new vIb())));\n } else {\n g = kIb(a, true);\n b = 0;\n for (d = g, e = 0, f2 = d.length; e < f2; ++e) {\n c2 = d[e];\n if (c2 > 0) {\n h += c2;\n ++b;\n }\n }\n b > 1 && (h += a.c * (b - 1));\n }\n return h > 0 ? h + a.n.b + a.n.c : 0;\n }\n function MJb(a, b) {\n var c2, d, e, f2;\n f2 = BD(Mpb(a.b, b), 124);\n c2 = f2.a;\n for (e = BD(BD(Qc(a.r, b), 21), 84).Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 111);\n !!d.c && (c2.a = $wnd.Math.max(c2.a, ZHb(d.c)));\n }\n if (c2.a > 0) {\n switch (b.g) {\n case 2:\n f2.n.c = a.s;\n break;\n case 4:\n f2.n.b = a.s;\n }\n }\n }\n function NQb(a, b) {\n var c2, d, e;\n c2 = BD(vNb(b, (wSb(), oSb)), 19).a - BD(vNb(a, oSb), 19).a;\n if (c2 == 0) {\n d = c7c(R6c(BD(vNb(a, (HSb(), DSb)), 8)), BD(vNb(a, ESb), 8));\n e = c7c(R6c(BD(vNb(b, DSb), 8)), BD(vNb(b, ESb), 8));\n return Kdb(d.a * d.b, e.a * e.b);\n }\n return c2;\n }\n function iRc(a, b) {\n var c2, d, e;\n c2 = BD(vNb(b, (JTc(), ETc)), 19).a - BD(vNb(a, ETc), 19).a;\n if (c2 == 0) {\n d = c7c(R6c(BD(vNb(a, (mTc(), VSc)), 8)), BD(vNb(a, WSc), 8));\n e = c7c(R6c(BD(vNb(b, VSc), 8)), BD(vNb(b, WSc), 8));\n return Kdb(d.a * d.b, e.a * e.b);\n }\n return c2;\n }\n function TZb(a) {\n var b, c2;\n c2 = new Ufb();\n c2.a += \"e_\";\n b = KZb(a);\n b != null && (c2.a += \"\" + b, c2);\n if (!!a.c && !!a.d) {\n Qfb((c2.a += \" \", c2), C0b(a.c));\n Qfb(Pfb((c2.a += \"[\", c2), a.c.i), \"]\");\n Qfb((c2.a += gne, c2), C0b(a.d));\n Qfb(Pfb((c2.a += \"[\", c2), a.d.i), \"]\");\n }\n return c2.a;\n }\n function zRc(a) {\n switch (a.g) {\n case 0:\n return new lUc();\n case 1:\n return new sUc();\n case 2:\n return new CUc();\n case 3:\n return new IUc();\n default:\n throw vbb(new Wdb(\"No implementation is available for the layout phase \" + (a.f != null ? a.f : \"\" + a.g)));\n }\n }\n function mfd(a, b, c2, d, e) {\n var f2;\n f2 = 0;\n switch (e.g) {\n case 1:\n f2 = $wnd.Math.max(0, b.b + a.b - (c2.b + d));\n break;\n case 3:\n f2 = $wnd.Math.max(0, -a.b - d);\n break;\n case 2:\n f2 = $wnd.Math.max(0, -a.a - d);\n break;\n case 4:\n f2 = $wnd.Math.max(0, b.a + a.a - (c2.a + d));\n }\n return f2;\n }\n function mqd(a, b, c2) {\n var d, e, f2, g, h;\n if (c2) {\n e = c2.a.length;\n d = new Yge(e);\n for (h = (d.b - d.a) * d.c < 0 ? (Xge(), Wge) : new she(d); h.Ob(); ) {\n g = BD(h.Pb(), 19);\n f2 = Zpd(c2, g.a);\n Lte in f2.a || Mte in f2.a ? $qd(a, f2, b) : erd(a, f2, b);\n otd(BD(Ohb(a.b, Wpd(f2)), 79));\n }\n }\n }\n function LJd(a) {\n var b, c2;\n switch (a.b) {\n case -1: {\n return true;\n }\n case 0: {\n c2 = a.t;\n if (c2 > 1 || c2 == -1) {\n a.b = -1;\n return true;\n } else {\n b = wId(a);\n if (!!b && (Q6d(), b.Cj() == Bve)) {\n a.b = -1;\n return true;\n } else {\n a.b = 1;\n return false;\n }\n }\n }\n default:\n case 1: {\n return false;\n }\n }\n }\n function k1d(a, b) {\n var c2, d, e, f2, g;\n d = (!b.s && (b.s = new cUd(t5, b, 21, 17)), b.s);\n f2 = null;\n for (e = 0, g = d.i; e < g; ++e) {\n c2 = BD(qud(d, e), 170);\n switch ($1d(q1d(a, c2))) {\n case 2:\n case 3: {\n !f2 && (f2 = new Rkb());\n f2.c[f2.c.length] = c2;\n }\n }\n }\n return !f2 ? (mmb(), mmb(), jmb) : f2;\n }\n function tde(a, b) {\n var c2, d, e, f2;\n nde(a);\n if (a.c != 0 || a.a != 123)\n throw vbb(new mde(tvd((h0d(), Fue))));\n f2 = b == 112;\n d = a.d;\n c2 = gfb(a.i, 125, d);\n if (c2 < 0)\n throw vbb(new mde(tvd((h0d(), Gue))));\n e = qfb(a.i, d, c2);\n a.d = c2 + 1;\n return Lfe(e, f2, (a.e & 512) == 512);\n }\n function QTb(a) {\n var b;\n b = BD(vNb(a, (Nyc(), Iwc)), 314);\n if (b == (Rpc(), Ppc)) {\n throw vbb(new z2c(\"The hierarchy aware processor \" + b + \" in child node \" + a + \" is only allowed if the root node specifies the same hierarchical processor.\"));\n }\n }\n function dhc(a, b) {\n Hgc();\n var c2, d, e, f2, g, h;\n c2 = null;\n for (g = b.Kc(); g.Ob(); ) {\n f2 = BD(g.Pb(), 128);\n if (f2.o) {\n continue;\n }\n d = F6c(f2.a);\n e = C6c(f2.a);\n h = new hic(d, e, null, BD(f2.d.a.ec().Kc().Pb(), 17));\n Ekb(h.c, f2.a);\n a.c[a.c.length] = h;\n !!c2 && Ekb(c2.d, h);\n c2 = h;\n }\n }\n function hKd(a, b) {\n var c2, d, e;\n if (!b) {\n jKd(a, null);\n _Jd(a, null);\n } else if ((b.i & 4) != 0) {\n d = \"[]\";\n for (c2 = b.c; ; c2 = c2.c) {\n if ((c2.i & 4) == 0) {\n e = jfb((fdb(c2), c2.o + d));\n jKd(a, e);\n _Jd(a, e);\n break;\n }\n d += \"[]\";\n }\n } else {\n e = jfb((fdb(b), b.o));\n jKd(a, e);\n _Jd(a, e);\n }\n a.yk(b);\n }\n function b3d(a, b, c2, d, e) {\n var f2, g, h, i3;\n i3 = a3d(a, BD(e, 56));\n if (PD(i3) !== PD(e)) {\n h = BD(a.g[c2], 72);\n f2 = R6d(b, i3);\n mud(a, c2, t3d(a, c2, f2));\n if (oid(a.e)) {\n g = H2d(a, 9, f2.ak(), e, i3, d, false);\n Qwd(g, new pSd(a.e, 9, a.c, h, f2, d, false));\n Rwd(g);\n }\n return i3;\n }\n return e;\n }\n function xCc(a, b, c2) {\n var d, e, f2, g, h, i3;\n d = BD(Qc(a.c, b), 15);\n e = BD(Qc(a.c, c2), 15);\n f2 = d.Zc(d.gc());\n g = e.Zc(e.gc());\n while (f2.Sb() && g.Sb()) {\n h = BD(f2.Ub(), 19);\n i3 = BD(g.Ub(), 19);\n if (h != i3) {\n return beb(h.a, i3.a);\n }\n }\n return !f2.Ob() && !g.Ob() ? 0 : f2.Ob() ? 1 : -1;\n }\n function m5c(c2, d) {\n var e, f2, g;\n try {\n g = fs(c2.a, d);\n return g;\n } catch (b) {\n b = ubb(b);\n if (JD(b, 32)) {\n try {\n f2 = Icb(d, Rie, Ohe);\n e = gdb(c2.a);\n if (f2 >= 0 && f2 < e.length) {\n return e[f2];\n }\n } catch (a) {\n a = ubb(a);\n if (!JD(a, 127))\n throw vbb(a);\n }\n return null;\n } else\n throw vbb(b);\n }\n }\n function tid(a, b) {\n var c2, d, e;\n e = e1d((O6d(), M6d), a.Tg(), b);\n if (e) {\n Q6d();\n BD(e, 66).Oj() || (e = _1d(q1d(M6d, e)));\n d = (c2 = a.Yg(e), BD(c2 >= 0 ? a._g(c2, true, true) : sid(a, e, true), 153));\n return BD(d, 215).ll(b);\n } else {\n throw vbb(new Wdb(ite + b.ne() + lte));\n }\n }\n function BZd() {\n tZd();\n var a;\n if (sZd)\n return BD(nUd((yFd(), xFd), _ve), 1939);\n rEd(CK, new J_d());\n CZd();\n a = BD(JD(Phb((yFd(), xFd), _ve), 547) ? Phb(xFd, _ve) : new AZd(), 547);\n sZd = true;\n yZd(a);\n zZd(a);\n Rhb((JFd(), IFd), a, new EZd());\n Shb(xFd, _ve, a);\n return a;\n }\n function v2d(a, b) {\n var c2, d, e, f2;\n a.j = -1;\n if (oid(a.e)) {\n c2 = a.i;\n f2 = a.i != 0;\n lud(a, b);\n d = new pSd(a.e, 3, a.c, null, b, c2, f2);\n e = b.Qk(a.e, a.c, null);\n e = h3d(a, b, e);\n if (!e) {\n Uhd(a.e, d);\n } else {\n e.Ei(d);\n e.Fi();\n }\n } else {\n lud(a, b);\n e = b.Qk(a.e, a.c, null);\n !!e && e.Fi();\n }\n }\n function rA(a, b) {\n var c2, d, e;\n e = 0;\n d = b[0];\n if (d >= a.length) {\n return -1;\n }\n c2 = (BCb(d, a.length), a.charCodeAt(d));\n while (c2 >= 48 && c2 <= 57) {\n e = e * 10 + (c2 - 48);\n ++d;\n if (d >= a.length) {\n break;\n }\n c2 = (BCb(d, a.length), a.charCodeAt(d));\n }\n d > b[0] ? b[0] = d : e = -1;\n return e;\n }\n function vMb(a) {\n var b, c2, d, e, f2;\n e = BD(a.a, 19).a;\n f2 = BD(a.b, 19).a;\n c2 = e;\n d = f2;\n b = $wnd.Math.max($wnd.Math.abs(e), $wnd.Math.abs(f2));\n if (e <= 0 && e == f2) {\n c2 = 0;\n d = f2 - 1;\n } else {\n if (e == -b && f2 != b) {\n c2 = f2;\n d = e;\n f2 >= 0 && ++c2;\n } else {\n c2 = -f2;\n d = e;\n }\n }\n return new vgd(meb(c2), meb(d));\n }\n function fNb(a, b, c2, d) {\n var e, f2, g, h, i3, j;\n for (e = 0; e < b.o; e++) {\n f2 = e - b.j + c2;\n for (g = 0; g < b.p; g++) {\n h = g - b.k + d;\n if ((i3 = f2, j = h, i3 += a.j, j += a.k, i3 >= 0 && j >= 0 && i3 < a.o && j < a.p) && (!ZMb(b, e, g) && hNb(a, f2, h) || YMb(b, e, g) && !iNb(a, f2, h))) {\n return true;\n }\n }\n }\n return false;\n }\n function LNc(a, b, c2) {\n var d, e, f2, g, h;\n g = a.c;\n h = a.d;\n f2 = l7c(OC(GC(m1, 1), nie, 8, 0, [g.i.n, g.n, g.a])).b;\n e = (f2 + l7c(OC(GC(m1, 1), nie, 8, 0, [h.i.n, h.n, h.a])).b) / 2;\n d = null;\n g.j == (Ucd(), zcd) ? d = new f7c(b + g.i.c.c.a + c2, e) : d = new f7c(b - c2, e);\n St(a.a, 0, d);\n }\n function Qld(a) {\n var b, c2, d, e;\n b = null;\n for (d = ul(pl(OC(GC(KI, 1), Uhe, 20, 0, [(!a.b && (a.b = new y5d(z2, a, 4, 7)), a.b), (!a.c && (a.c = new y5d(z2, a, 5, 8)), a.c)]))); Qr(d); ) {\n c2 = BD(Rr(d), 82);\n e = atd(c2);\n if (!b) {\n b = e;\n } else if (b != e) {\n return false;\n }\n }\n return true;\n }\n function sud(a, b, c2) {\n var d;\n ++a.j;\n if (b >= a.i)\n throw vbb(new qcb(lue + b + mue + a.i));\n if (c2 >= a.i)\n throw vbb(new qcb(nue + c2 + mue + a.i));\n d = a.g[c2];\n if (b != c2) {\n b < c2 ? $fb(a.g, b, a.g, b + 1, c2 - b) : $fb(a.g, c2 + 1, a.g, c2, b - c2);\n NC(a.g, b, d);\n a.ei(b, d, c2);\n a.ci();\n }\n return d;\n }\n function Rc(a, b, c2) {\n var d;\n d = BD(a.c.xc(b), 14);\n if (!d) {\n d = a.ic(b);\n if (d.Fc(c2)) {\n ++a.d;\n a.c.zc(b, d);\n return true;\n } else {\n throw vbb(new ycb(\"New Collection violated the Collection spec\"));\n }\n } else if (d.Fc(c2)) {\n ++a.d;\n return true;\n } else {\n return false;\n }\n }\n function heb(a) {\n var b, c2, d;\n if (a < 0) {\n return 0;\n } else if (a == 0) {\n return 32;\n } else {\n d = -(a >> 16);\n b = d >> 16 & 16;\n c2 = 16 - b;\n a = a >> b;\n d = a - 256;\n b = d >> 16 & 8;\n c2 += b;\n a <<= b;\n d = a - Rje;\n b = d >> 16 & 4;\n c2 += b;\n a <<= b;\n d = a - oie;\n b = d >> 16 & 2;\n c2 += b;\n a <<= b;\n d = a >> 14;\n b = d & ~(d >> 1);\n return c2 + 2 - b;\n }\n }\n function $Pb(a) {\n QPb();\n var b, c2, d, e;\n PPb = new Rkb();\n OPb = new Lqb();\n NPb = new Rkb();\n b = (!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a);\n SPb(b);\n for (e = new Fyd(b); e.e != e.i.gc(); ) {\n d = BD(Dyd(e), 33);\n if (Jkb(PPb, d, 0) == -1) {\n c2 = new Rkb();\n Ekb(NPb, c2);\n TPb(d, c2);\n }\n }\n return NPb;\n }\n function BQb(a, b, c2) {\n var d, e, f2, g;\n a.a = c2.b.d;\n if (JD(b, 352)) {\n e = itd(BD(b, 79), false, false);\n f2 = ofd(e);\n d = new FQb(a);\n reb(f2, d);\n ifd(f2, e);\n b.We((Y9c(), Q8c)) != null && reb(BD(b.We(Q8c), 74), d);\n } else {\n g = BD(b, 470);\n g.Hg(g.Dg() + a.a.a);\n g.Ig(g.Eg() + a.a.b);\n }\n }\n function _5b(a, b) {\n var c2, d, e, f2, g, h, i3, j;\n j = Edb(ED(vNb(b, (Nyc(), zyc))));\n i3 = a[0].n.a + a[0].o.a + a[0].d.c + j;\n for (h = 1; h < a.length; h++) {\n d = a[h].n;\n e = a[h].o;\n c2 = a[h].d;\n f2 = d.a - c2.b - i3;\n f2 < 0 && (d.a -= f2);\n g = b.f;\n g.a = $wnd.Math.max(g.a, d.a + e.a);\n i3 = d.a + e.a + c2.c + j;\n }\n }\n function D$c(a, b) {\n var c2, d, e, f2, g, h;\n d = BD(BD(Ohb(a.g, b.a), 46).a, 65);\n e = BD(BD(Ohb(a.g, b.b), 46).a, 65);\n f2 = d.b;\n g = e.b;\n c2 = z6c(f2, g);\n if (c2 >= 0) {\n return c2;\n }\n h = U6c(c7c(new f7c(g.c + g.b / 2, g.d + g.a / 2), new f7c(f2.c + f2.b / 2, f2.d + f2.a / 2)));\n return -(xOb(f2, g) - 1) * h;\n }\n function ufd(a, b, c2) {\n var d;\n MAb(new YAb(null, (!c2.a && (c2.a = new cUd(A2, c2, 6, 6)), new Kub(c2.a, 16))), new Mfd(a, b));\n MAb(new YAb(null, (!c2.n && (c2.n = new cUd(D2, c2, 1, 7)), new Kub(c2.n, 16))), new Ofd(a, b));\n d = BD(hkd(c2, (Y9c(), Q8c)), 74);\n !!d && p7c(d, a, b);\n }\n function sid(a, b, c2) {\n var d, e, f2;\n f2 = e1d((O6d(), M6d), a.Tg(), b);\n if (f2) {\n Q6d();\n BD(f2, 66).Oj() || (f2 = _1d(q1d(M6d, f2)));\n e = (d = a.Yg(f2), BD(d >= 0 ? a._g(d, true, true) : sid(a, f2, true), 153));\n return BD(e, 215).hl(b, c2);\n } else {\n throw vbb(new Wdb(ite + b.ne() + lte));\n }\n }\n function wAd(a, b, c2, d) {\n var e, f2, g, h, i3;\n e = a.d[b];\n if (e) {\n f2 = e.g;\n i3 = e.i;\n if (d != null) {\n for (h = 0; h < i3; ++h) {\n g = BD(f2[h], 133);\n if (g.Sh() == c2 && pb(d, g.cd())) {\n return g;\n }\n }\n } else {\n for (h = 0; h < i3; ++h) {\n g = BD(f2[h], 133);\n if (PD(g.cd()) === PD(d)) {\n return g;\n }\n }\n }\n }\n return null;\n }\n function Pgb(a, b) {\n var c2;\n if (b < 0) {\n throw vbb(new ocb(\"Negative exponent\"));\n }\n if (b == 0) {\n return Cgb;\n } else if (b == 1 || Kgb(a, Cgb) || Kgb(a, Ggb)) {\n return a;\n }\n if (!Sgb(a, 0)) {\n c2 = 1;\n while (!Sgb(a, c2)) {\n ++c2;\n }\n return Ogb(bhb(c2 * b), Pgb(Rgb2(a, c2), b));\n }\n return Jhb(a, b);\n }\n function xlb(a, b) {\n var c2, d, e;\n if (PD(a) === PD(b)) {\n return true;\n }\n if (a == null || b == null) {\n return false;\n }\n if (a.length != b.length) {\n return false;\n }\n for (c2 = 0; c2 < a.length; ++c2) {\n d = a[c2];\n e = b[c2];\n if (!(PD(d) === PD(e) || d != null && pb(d, e))) {\n return false;\n }\n }\n return true;\n }\n function CVb(a) {\n nVb();\n var b, c2, d;\n this.b = mVb;\n this.c = (ead(), cad);\n this.f = (iVb(), hVb);\n this.a = a;\n zVb(this, new DVb());\n sVb(this);\n for (d = new olb(a.b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 81);\n if (!c2.d) {\n b = new gVb(OC(GC(IP, 1), Uhe, 81, 0, [c2]));\n Ekb(a.a, b);\n }\n }\n }\n function D3b(a, b, c2) {\n var d, e, f2, g, h, i3;\n if (!a || a.c.length == 0) {\n return null;\n }\n f2 = new cIb(b, !c2);\n for (e = new olb(a); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 70);\n UHb(f2, (a$b(), new v$b(d)));\n }\n g = f2.i;\n g.a = (i3 = f2.n, f2.e.b + i3.d + i3.a);\n g.b = (h = f2.n, f2.e.a + h.b + h.c);\n return f2;\n }\n function O5b(a) {\n var b, c2, d, e, f2, g, h;\n h = l_b(a.a);\n Nlb(h, new T5b());\n c2 = null;\n for (e = h, f2 = 0, g = e.length; f2 < g; ++f2) {\n d = e[f2];\n if (d.k != (j0b(), e0b)) {\n break;\n }\n b = BD(vNb(d, (wtc(), Hsc)), 61);\n if (b != (Ucd(), Tcd) && b != zcd) {\n continue;\n }\n !!c2 && BD(vNb(c2, Qsc), 15).Fc(d);\n c2 = d;\n }\n }\n function YOc(a, b, c2) {\n var d, e, f2, g, h, i3, j;\n i3 = (tCb(b, a.c.length), BD(a.c[b], 329));\n Kkb(a, b);\n if (i3.b / 2 >= c2) {\n d = b;\n j = (i3.c + i3.a) / 2;\n g = j - c2;\n if (i3.c <= j - c2) {\n e = new bPc(i3.c, g);\n Dkb(a, d++, e);\n }\n h = j + c2;\n if (h <= i3.a) {\n f2 = new bPc(h, i3.a);\n wCb(d, a.c.length);\n aCb(a.c, d, f2);\n }\n }\n }\n function u0d(a) {\n var b;\n if (!a.c && a.g == null) {\n a.d = a.si(a.f);\n wtd(a, a.d);\n b = a.d;\n } else {\n if (a.g == null) {\n return true;\n } else if (a.i == 0) {\n return false;\n } else {\n b = BD(a.g[a.i - 1], 47);\n }\n }\n if (b == a.b && null.km >= null.jm()) {\n Vud(a);\n return u0d(a);\n } else {\n return b.Ob();\n }\n }\n function KTb(a, b, c2) {\n var d, e, f2, g, h;\n h = c2;\n !h && (h = Ydd(new Zdd(), 0));\n Odd(h, Vme, 1);\n aUb(a.c, b);\n g = EYb(a.a, b);\n if (g.gc() == 1) {\n MTb(BD(g.Xb(0), 37), h);\n } else {\n f2 = 1 / g.gc();\n for (e = g.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 37);\n MTb(d, Udd(h, f2));\n }\n }\n CYb(a.a, g, b);\n NTb(b);\n Qdd(h);\n }\n function qYb(a) {\n this.a = a;\n if (a.c.i.k == (j0b(), e0b)) {\n this.c = a.c;\n this.d = BD(vNb(a.c.i, (wtc(), Hsc)), 61);\n } else if (a.d.i.k == e0b) {\n this.c = a.d;\n this.d = BD(vNb(a.d.i, (wtc(), Hsc)), 61);\n } else {\n throw vbb(new Wdb(\"Edge \" + a + \" is not an external edge.\"));\n }\n }\n function oQd(a, b) {\n var c2, d, e;\n e = a.b;\n a.b = b;\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 3, e, a.b));\n if (!b) {\n pnd(a, null);\n qQd(a, 0);\n pQd(a, null);\n } else if (b != a) {\n pnd(a, b.zb);\n qQd(a, b.d);\n c2 = (d = b.c, d == null ? b.zb : d);\n pQd(a, c2 == null || dfb(c2, b.zb) ? null : c2);\n }\n }\n function NRd(a) {\n var b, c2;\n if (a.f) {\n while (a.n < a.o) {\n b = BD(!a.j ? a.k.Xb(a.n) : a.j.pi(a.n), 72);\n c2 = b.ak();\n if (JD(c2, 99) && (BD(c2, 18).Bb & ote) != 0 && (!a.e || c2.Gj() != x2 || c2.aj() != 0) && b.dd() != null) {\n return true;\n } else {\n ++a.n;\n }\n }\n return false;\n } else {\n return a.n < a.o;\n }\n }\n function _i(a, b) {\n var c2;\n this.e = (im(), Qb(a), im(), nm(a));\n this.c = (Qb(b), nm(b));\n Lb(this.e.Hd().dc() == this.c.Hd().dc());\n this.d = Ev(this.e);\n this.b = Ev(this.c);\n c2 = IC(SI, [nie, Uhe], [5, 1], 5, [this.e.Hd().gc(), this.c.Hd().gc()], 2);\n this.a = c2;\n Ri(this);\n }\n function vz(b) {\n !tz && (tz = wz()), tz;\n var d = b.replace(/[\\x00-\\x1f\\xad\\u0600-\\u0603\\u06dd\\u070f\\u17b4\\u17b5\\u200b-\\u200f\\u2028-\\u202e\\u2060-\\u2064\\u206a-\\u206f\\ufeff\\ufff9-\\ufffb\"\\\\]/g, function(a) {\n return uz(a);\n });\n return '\"' + d + '\"';\n }\n function cEb(a) {\n ODb();\n var b, c2;\n this.b = LDb;\n this.c = NDb;\n this.g = (FDb(), EDb);\n this.d = (ead(), cad);\n this.a = a;\n RDb(this);\n for (c2 = new olb(a.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 57);\n !b.a && pDb(rDb(new sDb(), OC(GC(PM, 1), Uhe, 57, 0, [b])), a);\n b.e = new K6c(b.d);\n }\n }\n function HQb(a) {\n var b, c2, d, e, f2, g;\n e = a.e.c.length;\n d = KC(yK, eme, 15, e, 0, 1);\n for (g = new olb(a.e); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 144);\n d[f2.b] = new Psb();\n }\n for (c2 = new olb(a.c); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 282);\n d[b.c.b].Fc(b);\n d[b.d.b].Fc(b);\n }\n return d;\n }\n function fDc(a) {\n var b, c2, d, e, f2, g, h;\n h = Pu(a.c.length);\n for (e = new olb(a); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 10);\n g = new Tqb();\n f2 = U_b(d);\n for (c2 = new Sr(ur(f2.a.Kc(), new Sq())); Qr(c2); ) {\n b = BD(Rr(c2), 17);\n b.c.i == b.d.i || Qqb(g, b.d.i);\n }\n h.c[h.c.length] = g;\n }\n return h;\n }\n function ozd(a, b) {\n var c2, d, e, f2, g;\n c2 = BD(Ajd(a.a, 4), 126);\n g = c2 == null ? 0 : c2.length;\n if (b >= g)\n throw vbb(new Cyd(b, g));\n e = c2[b];\n if (g == 1) {\n d = null;\n } else {\n d = KC($3, hve, 415, g - 1, 0, 1);\n $fb(c2, 0, d, 0, b);\n f2 = g - b - 1;\n f2 > 0 && $fb(c2, b + 1, d, b, f2);\n }\n b0d(a, d);\n a0d(a, b, e);\n return e;\n }\n function m8d() {\n m8d = ccb;\n k8d = BD(qud(ZKd((r8d(), q8d).qb), 6), 34);\n h8d = BD(qud(ZKd(q8d.qb), 3), 34);\n i8d = BD(qud(ZKd(q8d.qb), 4), 34);\n j8d = BD(qud(ZKd(q8d.qb), 5), 18);\n XId(k8d);\n XId(h8d);\n XId(i8d);\n XId(j8d);\n l8d = new amb(OC(GC(t5, 1), Mve, 170, 0, [k8d, h8d]));\n }\n function AJb(a, b) {\n var c2;\n this.d = new H_b();\n this.b = b;\n this.e = new g7c(b.qf());\n c2 = a.u.Hc((rcd(), ocd));\n a.u.Hc(ncd) ? a.D ? this.a = c2 && !b.If() : this.a = true : a.u.Hc(pcd) ? c2 ? this.a = !(b.zf().Kc().Ob() || b.Bf().Kc().Ob()) : this.a = false : this.a = false;\n }\n function IKb(a, b) {\n var c2, d, e, f2;\n c2 = a.o.a;\n for (f2 = BD(BD(Qc(a.r, b), 21), 84).Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 111);\n e.e.a = (d = e.b, d.Xe((Y9c(), s9c)) ? d.Hf() == (Ucd(), Tcd) ? -d.rf().a - Edb(ED(d.We(s9c))) : c2 + Edb(ED(d.We(s9c))) : d.Hf() == (Ucd(), Tcd) ? -d.rf().a : c2);\n }\n }\n function Q1b(a, b) {\n var c2, d, e, f2;\n c2 = BD(vNb(a, (Nyc(), Lwc)), 103);\n f2 = BD(hkd(b, $xc), 61);\n e = BD(vNb(a, Vxc), 98);\n if (e != (dcd(), bcd) && e != ccd) {\n if (f2 == (Ucd(), Scd)) {\n f2 = lfd(b, c2);\n f2 == Scd && (f2 = Zcd(c2));\n }\n } else {\n d = M1b(b);\n d > 0 ? f2 = Zcd(c2) : f2 = Wcd(Zcd(c2));\n }\n jkd(b, $xc, f2);\n }\n function olc(a, b) {\n var c2, d, e, f2, g;\n g = a.j;\n b.a != b.b && Okb(g, new Ulc());\n e = g.c.length / 2 | 0;\n for (d = 0; d < e; d++) {\n f2 = (tCb(d, g.c.length), BD(g.c[d], 113));\n f2.c && G0b(f2.d, b.a);\n }\n for (c2 = e; c2 < g.c.length; c2++) {\n f2 = (tCb(c2, g.c.length), BD(g.c[c2], 113));\n f2.c && G0b(f2.d, b.b);\n }\n }\n function TGc(a, b, c2) {\n var d, e, f2;\n d = a.c[b.c.p][b.p];\n e = a.c[c2.c.p][c2.p];\n if (d.a != null && e.a != null) {\n f2 = Ddb(d.a, e.a);\n f2 < 0 ? WGc(a, b, c2) : f2 > 0 && WGc(a, c2, b);\n return f2;\n } else if (d.a != null) {\n WGc(a, b, c2);\n return -1;\n } else if (e.a != null) {\n WGc(a, c2, b);\n return 1;\n }\n return 0;\n }\n function swd(a, b) {\n var c2, d, e, f2;\n if (a.ej()) {\n c2 = a.Vi();\n f2 = a.fj();\n ++a.j;\n a.Hi(c2, a.oi(c2, b));\n d = a.Zi(3, null, b, c2, f2);\n if (a.bj()) {\n e = a.cj(b, null);\n if (!e) {\n a.$i(d);\n } else {\n e.Ei(d);\n e.Fi();\n }\n } else {\n a.$i(d);\n }\n } else {\n Bvd(a, b);\n if (a.bj()) {\n e = a.cj(b, null);\n !!e && e.Fi();\n }\n }\n }\n function D2d(a, b) {\n var c2, d, e, f2, g;\n g = S6d(a.e.Tg(), b);\n e = new yud();\n c2 = BD(a.g, 119);\n for (f2 = a.i; --f2 >= 0; ) {\n d = c2[f2];\n g.rl(d.ak()) && wtd(e, d);\n }\n !Yxd(a, e) && oid(a.e) && GLd(a, b.$j() ? H2d(a, 6, b, (mmb(), jmb), null, -1, false) : H2d(a, b.Kj() ? 2 : 1, b, null, null, -1, false));\n }\n function Dhb() {\n Dhb = ccb;\n var a, b;\n Bhb = KC(cJ, nie, 91, 32, 0, 1);\n Chb = KC(cJ, nie, 91, 32, 0, 1);\n a = 1;\n for (b = 0; b <= 18; b++) {\n Bhb[b] = ghb(a);\n Chb[b] = ghb(Nbb(a, b));\n a = Ibb(a, 5);\n }\n for (; b < Chb.length; b++) {\n Bhb[b] = Ogb(Bhb[b - 1], Bhb[1]);\n Chb[b] = Ogb(Chb[b - 1], (Hgb(), Egb));\n }\n }\n function K4b(a, b) {\n var c2, d, e, f2, g;\n if (a.a == (yrc(), wrc)) {\n return true;\n }\n f2 = b.a.c;\n c2 = b.a.c + b.a.b;\n if (b.j) {\n d = b.A;\n g = d.c.c.a - d.o.a / 2;\n e = f2 - (d.n.a + d.o.a);\n if (e > g) {\n return false;\n }\n }\n if (b.q) {\n d = b.C;\n g = d.c.c.a - d.o.a / 2;\n e = d.n.a - c2;\n if (e > g) {\n return false;\n }\n }\n return true;\n }\n function wcc(a, b) {\n var c2;\n Odd(b, \"Partition preprocessing\", 1);\n c2 = BD(GAb(JAb(LAb(JAb(new YAb(null, new Kub(a.a, 16)), new Acc()), new Ccc()), new Ecc()), Byb(new fzb(), new dzb(), new Ezb(), OC(GC(xL, 1), Kie, 132, 0, [(Fyb(), Dyb)]))), 15);\n MAb(c2.Oc(), new Gcc());\n Qdd(b);\n }\n function DMc(a) {\n wMc();\n var b, c2, d, e, f2, g, h;\n c2 = new $rb();\n for (e = new olb(a.e.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 29);\n for (g = new olb(d.a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 10);\n h = a.g[f2.p];\n b = BD(Wrb(c2, h), 15);\n if (!b) {\n b = new Rkb();\n Xrb(c2, h, b);\n }\n b.Fc(f2);\n }\n }\n return c2;\n }\n function dRc(a, b) {\n var c2, d, e, f2, g;\n e = b.b.b;\n a.a = KC(yK, eme, 15, e, 0, 1);\n a.b = KC(sbb, dle, 25, e, 16, 1);\n for (g = Jsb(b.b, 0); g.b != g.d.c; ) {\n f2 = BD(Xsb(g), 86);\n a.a[f2.g] = new Psb();\n }\n for (d = Jsb(b.a, 0); d.b != d.d.c; ) {\n c2 = BD(Xsb(d), 188);\n a.a[c2.b.g].Fc(c2);\n a.a[c2.c.g].Fc(c2);\n }\n }\n function qmd(a) {\n var b;\n if ((a.Db & 64) != 0)\n return Eid(a);\n b = new Jfb(Eid(a));\n b.a += \" (startX: \";\n Bfb(b, a.j);\n b.a += \", startY: \";\n Bfb(b, a.k);\n b.a += \", endX: \";\n Bfb(b, a.b);\n b.a += \", endY: \";\n Bfb(b, a.c);\n b.a += \", identifier: \";\n Efb(b, a.d);\n b.a += \")\";\n return b.a;\n }\n function EId(a) {\n var b;\n if ((a.Db & 64) != 0)\n return qnd(a);\n b = new Jfb(qnd(a));\n b.a += \" (ordered: \";\n Ffb(b, (a.Bb & 256) != 0);\n b.a += \", unique: \";\n Ffb(b, (a.Bb & 512) != 0);\n b.a += \", lowerBound: \";\n Cfb(b, a.s);\n b.a += \", upperBound: \";\n Cfb(b, a.t);\n b.a += \")\";\n return b.a;\n }\n function Wnd(a, b, c2, d, e, f2, g, h) {\n var i3;\n JD(a.Cb, 88) && XMd($Kd(BD(a.Cb, 88)), 4);\n pnd(a, c2);\n a.f = d;\n dJd(a, e);\n fJd(a, f2);\n ZId(a, g);\n eJd(a, false);\n CId(a, true);\n aJd(a, h);\n BId(a, true);\n AId(a, 0);\n a.b = 0;\n DId(a, 1);\n i3 = xId(a, b, null);\n !!i3 && i3.Fi();\n MJd(a, false);\n return a;\n }\n function fyb(a, b) {\n var c2, d, e, f2;\n c2 = BD(Phb(a.a, b), 512);\n if (!c2) {\n d = new wyb(b);\n e = (oyb(), lyb) ? null : d.c;\n f2 = qfb(e, 0, $wnd.Math.max(0, kfb(e, wfb(46))));\n vyb(d, fyb(a, f2));\n (lyb ? null : d.c).length == 0 && qyb(d, new zyb());\n Shb(a.a, lyb ? null : d.c, d);\n return d;\n }\n return c2;\n }\n function BOb(a, b) {\n var c2;\n a.b = b;\n a.g = new Rkb();\n c2 = COb(a.b);\n a.e = c2;\n a.f = c2;\n a.c = Ccb(DD(vNb(a.b, (fFb(), $Eb))));\n a.a = ED(vNb(a.b, (Y9c(), r8c)));\n a.a == null && (a.a = 1);\n Edb(a.a) > 1 ? a.e *= Edb(a.a) : a.f /= Edb(a.a);\n DOb(a);\n EOb(a);\n AOb(a);\n yNb(a.b, (CPb(), uPb), a.g);\n }\n function Y5b(a, b, c2) {\n var d, e, f2, g, h, i3;\n d = 0;\n i3 = c2;\n if (!b) {\n d = c2 * (a.c.length - 1);\n i3 *= -1;\n }\n for (f2 = new olb(a); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 10);\n yNb(e, (Nyc(), mwc), (F7c(), B7c));\n e.o.a = d;\n for (h = Y_b(e, (Ucd(), zcd)).Kc(); h.Ob(); ) {\n g = BD(h.Pb(), 11);\n g.n.a = d;\n }\n d += i3;\n }\n }\n function Qxd(a, b, c2) {\n var d, e, f2;\n if (a.ej()) {\n f2 = a.fj();\n kud(a, b, c2);\n d = a.Zi(3, null, c2, b, f2);\n if (a.bj()) {\n e = a.cj(c2, null);\n a.ij() && (e = a.jj(c2, e));\n if (!e) {\n a.$i(d);\n } else {\n e.Ei(d);\n e.Fi();\n }\n } else {\n a.$i(d);\n }\n } else {\n kud(a, b, c2);\n if (a.bj()) {\n e = a.cj(c2, null);\n !!e && e.Fi();\n }\n }\n }\n function ILd(a, b, c2) {\n var d, e, f2, g, h, i3;\n h = a.Gk(c2);\n if (h != c2) {\n g = a.g[b];\n i3 = h;\n mud(a, b, a.oi(b, i3));\n f2 = g;\n a.gi(b, i3, f2);\n if (a.rk()) {\n d = c2;\n e = a.dj(d, null);\n !BD(h, 49).eh() && (e = a.cj(i3, e));\n !!e && e.Fi();\n }\n oid(a.e) && GLd(a, a.Zi(9, c2, h, b, false));\n return h;\n } else {\n return c2;\n }\n }\n function pVb(a, b) {\n var c2, d, e, f2;\n for (d = new olb(a.a.a); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 189);\n c2.g = true;\n }\n for (f2 = new olb(a.a.b); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 81);\n e.k = Ccb(DD(a.e.Kb(new vgd(e, b))));\n e.d.g = e.d.g & Ccb(DD(a.e.Kb(new vgd(e, b))));\n }\n return a;\n }\n function pkc(a) {\n var b, c2, d, e, f2;\n c2 = (b = BD(gdb(F1), 9), new xqb(b, BD(_Bb(b, b.length), 9), 0));\n f2 = BD(vNb(a, (wtc(), gtc)), 10);\n if (f2) {\n for (e = new olb(f2.j); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 11);\n PD(vNb(d, $sc)) === PD(a) && a1b(new b1b(d.b)) && rqb(c2, d.j);\n }\n }\n return c2;\n }\n function zCc(a, b, c2) {\n var d, e, f2, g, h;\n if (a.d[c2.p]) {\n return;\n }\n for (e = new Sr(ur(U_b(c2).a.Kc(), new Sq())); Qr(e); ) {\n d = BD(Rr(e), 17);\n h = d.d.i;\n for (g = new Sr(ur(R_b(h).a.Kc(), new Sq())); Qr(g); ) {\n f2 = BD(Rr(g), 17);\n f2.c.i == b && (a.a[f2.p] = true);\n }\n zCc(a, b, h);\n }\n a.d[c2.p] = true;\n }\n function Bjd(a, b) {\n var c2, d, e, f2, g, h, i3;\n d = aeb(a.Db & 254);\n if (d == 1) {\n a.Eb = null;\n } else {\n f2 = CD(a.Eb);\n if (d == 2) {\n e = zjd(a, b);\n a.Eb = f2[e == 0 ? 1 : 0];\n } else {\n g = KC(SI, Uhe, 1, d - 1, 5, 1);\n for (c2 = 2, h = 0, i3 = 0; c2 <= 128; c2 <<= 1) {\n c2 == b ? ++h : (a.Db & c2) != 0 && (g[i3++] = f2[h++]);\n }\n a.Eb = g;\n }\n }\n a.Db &= ~b;\n }\n function n1d(a, b) {\n var c2, d, e, f2, g;\n d = (!b.s && (b.s = new cUd(t5, b, 21, 17)), b.s);\n f2 = null;\n for (e = 0, g = d.i; e < g; ++e) {\n c2 = BD(qud(d, e), 170);\n switch ($1d(q1d(a, c2))) {\n case 4:\n case 5:\n case 6: {\n !f2 && (f2 = new Rkb());\n f2.c[f2.c.length] = c2;\n break;\n }\n }\n }\n return !f2 ? (mmb(), mmb(), jmb) : f2;\n }\n function Uee(a) {\n var b;\n b = 0;\n switch (a) {\n case 105:\n b = 2;\n break;\n case 109:\n b = 8;\n break;\n case 115:\n b = 4;\n break;\n case 120:\n b = 16;\n break;\n case 117:\n b = 32;\n break;\n case 119:\n b = 64;\n break;\n case 70:\n b = 256;\n break;\n case 72:\n b = 128;\n break;\n case 88:\n b = 512;\n break;\n case 44:\n b = zte;\n }\n return b;\n }\n function Ghb(a, b, c2, d, e) {\n var f2, g, h, i3;\n if (PD(a) === PD(b) && d == e) {\n Lhb(a, d, c2);\n return;\n }\n for (h = 0; h < d; h++) {\n g = 0;\n f2 = a[h];\n for (i3 = 0; i3 < e; i3++) {\n g = wbb(wbb(Ibb(xbb(f2, Yje), xbb(b[i3], Yje)), xbb(c2[h + i3], Yje)), xbb(Tbb(g), Yje));\n c2[h + i3] = Tbb(g);\n g = Pbb(g, 32);\n }\n c2[h + e] = Tbb(g);\n }\n }\n function COb(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l;\n k = 0;\n j = 0;\n e = a.a;\n h = e.a.gc();\n for (d = e.a.ec().Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 561);\n b = (c2.b && LOb(c2), c2.a);\n l = b.a;\n g = b.b;\n k += l + g;\n j += l * g;\n }\n i3 = $wnd.Math.sqrt(400 * h * j - 4 * j + k * k) + k;\n f2 = 2 * (100 * h - 1);\n if (f2 == 0) {\n return i3;\n }\n return i3 / f2;\n }\n function mOc(a, b) {\n if (b.b != 0) {\n isNaN(a.s) ? a.s = Edb((sCb(b.b != 0), ED(b.a.a.c))) : a.s = $wnd.Math.min(a.s, Edb((sCb(b.b != 0), ED(b.a.a.c))));\n isNaN(a.c) ? a.c = Edb((sCb(b.b != 0), ED(b.c.b.c))) : a.c = $wnd.Math.max(a.c, Edb((sCb(b.b != 0), ED(b.c.b.c))));\n }\n }\n function Pld(a) {\n var b, c2, d, e;\n b = null;\n for (d = ul(pl(OC(GC(KI, 1), Uhe, 20, 0, [(!a.b && (a.b = new y5d(z2, a, 4, 7)), a.b), (!a.c && (a.c = new y5d(z2, a, 5, 8)), a.c)]))); Qr(d); ) {\n c2 = BD(Rr(d), 82);\n e = atd(c2);\n if (!b) {\n b = Xod(e);\n } else if (b != Xod(e)) {\n return true;\n }\n }\n return false;\n }\n function Rxd(a, b) {\n var c2, d, e, f2;\n if (a.ej()) {\n c2 = a.i;\n f2 = a.fj();\n lud(a, b);\n d = a.Zi(3, null, b, c2, f2);\n if (a.bj()) {\n e = a.cj(b, null);\n a.ij() && (e = a.jj(b, e));\n if (!e) {\n a.$i(d);\n } else {\n e.Ei(d);\n e.Fi();\n }\n } else {\n a.$i(d);\n }\n } else {\n lud(a, b);\n if (a.bj()) {\n e = a.cj(b, null);\n !!e && e.Fi();\n }\n }\n }\n function rwd(a, b, c2) {\n var d, e, f2;\n if (a.ej()) {\n f2 = a.fj();\n ++a.j;\n a.Hi(b, a.oi(b, c2));\n d = a.Zi(3, null, c2, b, f2);\n if (a.bj()) {\n e = a.cj(c2, null);\n if (!e) {\n a.$i(d);\n } else {\n e.Ei(d);\n e.Fi();\n }\n } else {\n a.$i(d);\n }\n } else {\n ++a.j;\n a.Hi(b, a.oi(b, c2));\n if (a.bj()) {\n e = a.cj(c2, null);\n !!e && e.Fi();\n }\n }\n }\n function Wee(a) {\n var b, c2, d, e;\n e = a.length;\n b = null;\n for (d = 0; d < e; d++) {\n c2 = (BCb(d, a.length), a.charCodeAt(d));\n if (hfb(\".*+?{[()|\\\\^$\", wfb(c2)) >= 0) {\n if (!b) {\n b = new Ifb();\n d > 0 && Efb(b, a.substr(0, d));\n }\n b.a += \"\\\\\";\n Afb(b, c2 & aje);\n } else\n !!b && Afb(b, c2 & aje);\n }\n return b ? b.a : a;\n }\n function l5c(a) {\n var b;\n if (!a.a) {\n throw vbb(new Zdb(\"IDataType class expected for layout option \" + a.f));\n }\n b = gvd(a.a);\n if (b == null) {\n throw vbb(new Zdb(\"Couldn't create new instance of property '\" + a.f + \"'. \" + ise + (fdb(Y3), Y3.k) + jse));\n }\n return BD(b, 414);\n }\n function aid(a) {\n var b, c2, d, e, f2;\n f2 = a.eh();\n if (f2) {\n if (f2.kh()) {\n e = xid(a, f2);\n if (e != f2) {\n c2 = a.Vg();\n d = (b = a.Vg(), b >= 0 ? a.Qg(null) : a.eh().ih(a, -1 - b, null, null));\n a.Rg(BD(e, 49), c2);\n !!d && d.Fi();\n a.Lg() && a.Mg() && c2 > -1 && Uhd(a, new nSd(a, 9, c2, f2, e));\n return e;\n }\n }\n }\n return f2;\n }\n function nTb(a) {\n var b, c2, d, e, f2, g, h, i3;\n g = 0;\n f2 = a.f.e;\n for (d = 0; d < f2.c.length; ++d) {\n h = (tCb(d, f2.c.length), BD(f2.c[d], 144));\n for (e = d + 1; e < f2.c.length; ++e) {\n i3 = (tCb(e, f2.c.length), BD(f2.c[e], 144));\n c2 = S6c(h.d, i3.d);\n b = c2 - a.a[h.b][i3.b];\n g += a.i[h.b][i3.b] * b * b;\n }\n }\n return g;\n }\n function _ac(a, b) {\n var c2;\n if (wNb(b, (Nyc(), mxc))) {\n return;\n }\n c2 = hbc(BD(vNb(b, Uac), 360), BD(vNb(a, mxc), 163));\n yNb(b, Uac, c2);\n if (Qr(new Sr(ur(O_b(b).a.Kc(), new Sq())))) {\n return;\n }\n switch (c2.g) {\n case 1:\n yNb(b, mxc, (Ctc(), xtc));\n break;\n case 2:\n yNb(b, mxc, (Ctc(), ztc));\n }\n }\n function wkc(a, b) {\n var c2;\n mkc(a);\n a.a = (c2 = new Ji(), MAb(new YAb(null, new Kub(b.d, 16)), new Vkc(c2)), c2);\n rkc(a, BD(vNb(b.b, (Nyc(), Wwc)), 376));\n tkc(a);\n skc(a);\n qkc(a);\n ukc(a);\n vkc(a, b);\n MAb(LAb(new YAb(null, $i(Yi(a.b).a)), new Lkc()), new Nkc());\n b.a = false;\n a.a = null;\n }\n function Bod() {\n fod.call(this, yte, (Fhd(), Ehd));\n this.p = null;\n this.a = null;\n this.f = null;\n this.n = null;\n this.g = null;\n this.c = null;\n this.i = null;\n this.j = null;\n this.d = null;\n this.b = null;\n this.e = null;\n this.k = null;\n this.o = null;\n this.s = null;\n this.q = false;\n this.r = false;\n }\n function Csd() {\n Csd = ccb;\n Bsd = new Dsd(Wne, 0);\n ysd = new Dsd(\"INSIDE_SELF_LOOPS\", 1);\n zsd = new Dsd(\"MULTI_EDGES\", 2);\n xsd = new Dsd(\"EDGE_LABELS\", 3);\n Asd = new Dsd(\"PORTS\", 4);\n vsd = new Dsd(\"COMPOUND\", 5);\n usd = new Dsd(\"CLUSTERS\", 6);\n wsd = new Dsd(\"DISCONNECTED\", 7);\n }\n function Sgb(a, b) {\n var c2, d, e;\n if (b == 0) {\n return (a.a[0] & 1) != 0;\n }\n if (b < 0) {\n throw vbb(new ocb(\"Negative bit address\"));\n }\n e = b >> 5;\n if (e >= a.d) {\n return a.e < 0;\n }\n c2 = a.a[e];\n b = 1 << (b & 31);\n if (a.e < 0) {\n d = Mgb(a);\n if (e < d) {\n return false;\n } else\n d == e ? c2 = -c2 : c2 = ~c2;\n }\n return (c2 & b) != 0;\n }\n function O1c(a, b, c2, d) {\n var e;\n BD(c2.b, 65);\n BD(c2.b, 65);\n BD(d.b, 65);\n BD(d.b, 65);\n e = c7c(R6c(BD(c2.b, 65).c), BD(d.b, 65).c);\n $6c(e, YNb(BD(c2.b, 65), BD(d.b, 65), e));\n BD(d.b, 65);\n BD(d.b, 65);\n BD(d.b, 65).c.a + e.a;\n BD(d.b, 65).c.b + e.b;\n BD(d.b, 65);\n Hkb(d.a, new T1c(a, b, d));\n }\n function vNd(a, b) {\n var c2, d, e, f2, g, h, i3;\n f2 = b.e;\n if (f2) {\n c2 = aid(f2);\n d = BD(a.g, 674);\n for (g = 0; g < a.i; ++g) {\n i3 = d[g];\n if (JQd(i3) == c2) {\n e = (!i3.d && (i3.d = new xMd(j5, i3, 1)), i3.d);\n h = BD(c2.ah(Nid(f2, f2.Cb, f2.Db >> 16)), 15).Xc(f2);\n if (h < e.i) {\n return vNd(a, BD(qud(e, h), 87));\n }\n }\n }\n }\n return b;\n }\n function bcb(a, b, c2) {\n var d = _bb, h;\n var e = d[a];\n var f2 = e instanceof Array ? e[0] : null;\n if (e && !f2) {\n _2 = e;\n } else {\n _2 = (h = b && b.prototype, !h && (h = _bb[b]), ecb(h));\n _2.hm = c2;\n !b && (_2.im = gcb);\n d[a] = _2;\n }\n for (var g = 3; g < arguments.length; ++g) {\n arguments[g].prototype = _2;\n }\n f2 && (_2.gm = f2);\n }\n function Qr(a) {\n var b;\n while (!BD(Qb(a.a), 47).Ob()) {\n a.d = Pr(a);\n if (!a.d) {\n return false;\n }\n a.a = BD(a.d.Pb(), 47);\n if (JD(a.a, 39)) {\n b = BD(a.a, 39);\n a.a = b.a;\n !a.b && (a.b = new jkb());\n Wjb(a.b, a.d);\n if (b.b) {\n while (!akb(b.b)) {\n Wjb(a.b, BD(gkb(b.b), 47));\n }\n }\n a.d = b.d;\n }\n }\n return true;\n }\n function krb(a, b) {\n var c2, d, e, f2, g;\n f2 = b == null ? 0 : a.b.se(b);\n d = (c2 = a.a.get(f2), c2 == null ? new Array() : c2);\n for (g = 0; g < d.length; g++) {\n e = d[g];\n if (a.b.re(b, e.cd())) {\n if (d.length == 1) {\n d.length = 0;\n trb(a.a, f2);\n } else {\n d.splice(g, 1);\n }\n --a.c;\n zpb(a.b);\n return e.dd();\n }\n }\n return null;\n }\n function GGb(a, b) {\n var c2, d, e, f2;\n e = 1;\n b.j = true;\n f2 = null;\n for (d = new olb(LFb(b)); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 213);\n if (!a.c[c2.c]) {\n a.c[c2.c] = true;\n f2 = xFb(c2, b);\n if (c2.f) {\n e += GGb(a, f2);\n } else if (!f2.j && c2.a == c2.e.e - c2.d.e) {\n c2.f = true;\n Qqb(a.p, c2);\n e += GGb(a, f2);\n }\n }\n }\n return e;\n }\n function MVb(a) {\n var b, c2, d;\n for (c2 = new olb(a.a.a.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 81);\n d = (uCb(0), 0);\n if (d > 0) {\n !(fad(a.a.c) && b.n.d) && !(gad(a.a.c) && b.n.b) && (b.g.d += $wnd.Math.max(0, d / 2 - 0.5));\n !(fad(a.a.c) && b.n.a) && !(gad(a.a.c) && b.n.c) && (b.g.a -= d - 1);\n }\n }\n }\n function N3b(a) {\n var b, c2, d, e, f2;\n e = new Rkb();\n f2 = O3b(a, e);\n b = BD(vNb(a, (wtc(), gtc)), 10);\n if (b) {\n for (d = new olb(b.j); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 11);\n PD(vNb(c2, $sc)) === PD(a) && (f2 = $wnd.Math.max(f2, O3b(c2, e)));\n }\n }\n e.c.length == 0 || yNb(a, Ysc, f2);\n return f2 != -1 ? e : null;\n }\n function a9b(a, b, c2) {\n var d, e, f2, g, h, i3;\n f2 = BD(Ikb(b.e, 0), 17).c;\n d = f2.i;\n e = d.k;\n i3 = BD(Ikb(c2.g, 0), 17).d;\n g = i3.i;\n h = g.k;\n e == (j0b(), g0b) ? yNb(a, (wtc(), Vsc), BD(vNb(d, Vsc), 11)) : yNb(a, (wtc(), Vsc), f2);\n h == g0b ? yNb(a, (wtc(), Wsc), BD(vNb(g, Wsc), 11)) : yNb(a, (wtc(), Wsc), i3);\n }\n function Rs(a, b) {\n var c2, d, e, f2;\n f2 = Tbb(Ibb(Eie, keb(Tbb(Ibb(b == null ? 0 : tb(b), Fie)), 15)));\n c2 = f2 & a.b.length - 1;\n e = null;\n for (d = a.b[c2]; d; e = d, d = d.a) {\n if (d.d == f2 && Hb(d.i, b)) {\n !e ? a.b[c2] = d.a : e.a = d.a;\n Bs(d.c, d.f);\n As(d.b, d.e);\n --a.f;\n ++a.e;\n return true;\n }\n }\n return false;\n }\n function lD(a, b) {\n var c2, d, e, f2, g;\n b &= 63;\n c2 = a.h;\n d = (c2 & Gje) != 0;\n d && (c2 |= -1048576);\n if (b < 22) {\n g = c2 >> b;\n f2 = a.m >> b | c2 << 22 - b;\n e = a.l >> b | a.m << 22 - b;\n } else if (b < 44) {\n g = d ? Fje : 0;\n f2 = c2 >> b - 22;\n e = a.m >> b - 22 | c2 << 44 - b;\n } else {\n g = d ? Fje : 0;\n f2 = d ? Eje : 0;\n e = c2 >> b - 44;\n }\n return TC(e & Eje, f2 & Eje, g & Fje);\n }\n function XOb(a) {\n var b, c2, d, e, f2, g;\n this.c = new Rkb();\n this.d = a;\n d = Pje;\n e = Pje;\n b = Qje;\n c2 = Qje;\n for (g = Jsb(a, 0); g.b != g.d.c; ) {\n f2 = BD(Xsb(g), 8);\n d = $wnd.Math.min(d, f2.a);\n e = $wnd.Math.min(e, f2.b);\n b = $wnd.Math.max(b, f2.a);\n c2 = $wnd.Math.max(c2, f2.b);\n }\n this.a = new J6c(d, e, b - d, c2 - e);\n }\n function Dac(a, b) {\n var c2, d, e, f2, g, h;\n for (f2 = new olb(a.b); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 29);\n for (h = new olb(e.a); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 10);\n g.k == (j0b(), f0b) && zac(g, b);\n for (d = new Sr(ur(U_b(g).a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 17);\n yac(c2, b);\n }\n }\n }\n }\n function Xoc(a) {\n var b, c2, d;\n this.c = a;\n d = BD(vNb(a, (Nyc(), Lwc)), 103);\n b = Edb(ED(vNb(a, owc)));\n c2 = Edb(ED(vNb(a, Dyc)));\n d == (ead(), aad) || d == bad || d == cad ? this.b = b * c2 : this.b = 1 / (b * c2);\n this.j = Edb(ED(vNb(a, wyc)));\n this.e = Edb(ED(vNb(a, vyc)));\n this.f = a.b.c.length;\n }\n function ADc(a) {\n var b, c2;\n a.e = KC(WD, oje, 25, a.p.c.length, 15, 1);\n a.k = KC(WD, oje, 25, a.p.c.length, 15, 1);\n for (c2 = new olb(a.p); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 10);\n a.e[b.p] = sr(new Sr(ur(R_b(b).a.Kc(), new Sq())));\n a.k[b.p] = sr(new Sr(ur(U_b(b).a.Kc(), new Sq())));\n }\n }\n function DDc(a) {\n var b, c2, d, e, f2, g;\n e = 0;\n a.q = new Rkb();\n b = new Tqb();\n for (g = new olb(a.p); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 10);\n f2.p = e;\n for (d = new Sr(ur(U_b(f2).a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 17);\n Qqb(b, c2.d.i);\n }\n b.a.Bc(f2) != null;\n Ekb(a.q, new Vqb(b));\n b.a.$b();\n ++e;\n }\n }\n function JTc() {\n JTc = ccb;\n CTc = new q0b(20);\n BTc = new Osd((Y9c(), f9c), CTc);\n HTc = new Osd(T9c, 20);\n uTc = new Osd(r8c, tme);\n ETc = new Osd(D9c, meb(1));\n GTc = new Osd(H9c, (Bcb(), true));\n vTc = y8c;\n xTc = Y8c;\n yTc = _8c;\n zTc = b9c;\n wTc = W8c;\n ATc = e9c;\n DTc = x9c;\n ITc = (rTc(), pTc);\n FTc = nTc;\n }\n function RBd(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n if (a.a.f > 0 && JD(b, 42)) {\n a.a.qj();\n j = BD(b, 42);\n i3 = j.cd();\n f2 = i3 == null ? 0 : tb(i3);\n g = DAd(a.a, f2);\n c2 = a.a.d[g];\n if (c2) {\n d = BD(c2.g, 367);\n k = c2.i;\n for (h = 0; h < k; ++h) {\n e = d[h];\n if (e.Sh() == f2 && e.Fb(j)) {\n RBd(a, j);\n return true;\n }\n }\n }\n }\n return false;\n }\n function skc(a) {\n var b, c2, d, e;\n for (e = BD(Qc(a.a, (Xjc(), Ujc)), 15).Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 101);\n c2 = (b = Ec(d.k), b.Hc((Ucd(), Acd)) ? b.Hc(zcd) ? b.Hc(Rcd) ? b.Hc(Tcd) ? null : dkc : fkc : ekc : ckc);\n kkc(a, d, c2[0], (Fkc(), Ckc), 0);\n kkc(a, d, c2[1], Dkc, 1);\n kkc(a, d, c2[2], Ekc, 1);\n }\n }\n function enc(a, b) {\n var c2, d;\n c2 = fnc(b);\n inc(a, b, c2);\n uPc(a.a, BD(vNb(Q_b(b.b), (wtc(), jtc)), 230));\n dnc(a);\n cnc(a, b);\n d = KC(WD, oje, 25, b.b.j.c.length, 15, 1);\n lnc(a, b, (Ucd(), Acd), d, c2);\n lnc(a, b, zcd, d, c2);\n lnc(a, b, Rcd, d, c2);\n lnc(a, b, Tcd, d, c2);\n a.a = null;\n a.c = null;\n a.b = null;\n }\n function OYc() {\n OYc = ccb;\n LYc = (zYc(), yYc);\n KYc = new Nsd(Bre, LYc);\n IYc = new Nsd(Cre, (Bcb(), true));\n meb(-1);\n FYc = new Nsd(Dre, meb(-1));\n meb(-1);\n GYc = new Nsd(Ere, meb(-1));\n JYc = new Nsd(Fre, false);\n MYc = new Nsd(Gre, true);\n HYc = new Nsd(Hre, false);\n NYc = new Nsd(Ire, -1);\n }\n function yld(a, b, c2) {\n switch (b) {\n case 7:\n !a.e && (a.e = new y5d(B2, a, 7, 4));\n Uxd(a.e);\n !a.e && (a.e = new y5d(B2, a, 7, 4));\n ytd(a.e, BD(c2, 14));\n return;\n case 8:\n !a.d && (a.d = new y5d(B2, a, 8, 5));\n Uxd(a.d);\n !a.d && (a.d = new y5d(B2, a, 8, 5));\n ytd(a.d, BD(c2, 14));\n return;\n }\n Zkd(a, b, c2);\n }\n function At(a, b) {\n var c2, d, e, f2, g;\n if (PD(b) === PD(a)) {\n return true;\n }\n if (!JD(b, 15)) {\n return false;\n }\n g = BD(b, 15);\n if (a.gc() != g.gc()) {\n return false;\n }\n f2 = g.Kc();\n for (d = a.Kc(); d.Ob(); ) {\n c2 = d.Pb();\n e = f2.Pb();\n if (!(PD(c2) === PD(e) || c2 != null && pb(c2, e))) {\n return false;\n }\n }\n return true;\n }\n function U6b(a, b) {\n var c2, d, e, f2;\n f2 = BD(GAb(LAb(LAb(new YAb(null, new Kub(b.b, 16)), new $6b()), new a7b()), Byb(new fzb(), new dzb(), new Ezb(), OC(GC(xL, 1), Kie, 132, 0, [(Fyb(), Dyb)]))), 15);\n f2.Jc(new c7b());\n c2 = 0;\n for (e = f2.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 11);\n d.p == -1 && T6b(a, d, c2++);\n }\n }\n function Wzc(a) {\n switch (a.g) {\n case 0:\n return new KLc();\n case 1:\n return new dJc();\n case 2:\n return new tJc();\n case 3:\n return new CMc();\n case 4:\n return new $Jc();\n default:\n throw vbb(new Wdb(\"No implementation is available for the node placer \" + (a.f != null ? a.f : \"\" + a.g)));\n }\n }\n function nqc(a) {\n switch (a.g) {\n case 0:\n return new aCc();\n case 1:\n return new VBc();\n case 2:\n return new kCc();\n case 3:\n return new rCc();\n case 4:\n return new eCc();\n default:\n throw vbb(new Wdb(\"No implementation is available for the cycle breaker \" + (a.f != null ? a.f : \"\" + a.g)));\n }\n }\n function HWc() {\n HWc = ccb;\n BWc = new Nsd(lre, meb(0));\n CWc = new Nsd(mre, 0);\n yWc = (pWc(), mWc);\n xWc = new Nsd(nre, yWc);\n meb(0);\n wWc = new Nsd(ore, meb(1));\n EWc = (sXc(), qXc);\n DWc = new Nsd(pre, EWc);\n GWc = (fWc(), eWc);\n FWc = new Nsd(qre, GWc);\n AWc = (iXc(), hXc);\n zWc = new Nsd(rre, AWc);\n }\n function XXb(a, b, c2) {\n var d;\n d = null;\n !!b && (d = b.d);\n hYb(a, new cWb(b.n.a - d.b + c2.a, b.n.b - d.d + c2.b));\n hYb(a, new cWb(b.n.a - d.b + c2.a, b.n.b + b.o.b + d.a + c2.b));\n hYb(a, new cWb(b.n.a + b.o.a + d.c + c2.a, b.n.b - d.d + c2.b));\n hYb(a, new cWb(b.n.a + b.o.a + d.c + c2.a, b.n.b + b.o.b + d.a + c2.b));\n }\n function T6b(a, b, c2) {\n var d, e, f2;\n b.p = c2;\n for (f2 = ul(pl(OC(GC(KI, 1), Uhe, 20, 0, [new J0b(b), new R0b(b)]))); Qr(f2); ) {\n d = BD(Rr(f2), 11);\n d.p == -1 && T6b(a, d, c2);\n }\n if (b.i.k == (j0b(), g0b)) {\n for (e = new olb(b.i.j); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 11);\n d != b && d.p == -1 && T6b(a, d, c2);\n }\n }\n }\n function rPc(a) {\n var b, c2, d, e, f2;\n e = BD(GAb(IAb(UAb(a)), Byb(new fzb(), new dzb(), new Ezb(), OC(GC(xL, 1), Kie, 132, 0, [(Fyb(), Dyb)]))), 15);\n d = dme;\n if (e.gc() >= 2) {\n c2 = e.Kc();\n b = ED(c2.Pb());\n while (c2.Ob()) {\n f2 = b;\n b = ED(c2.Pb());\n d = $wnd.Math.min(d, (uCb(b), b) - (uCb(f2), f2));\n }\n }\n return d;\n }\n function gUc(a, b) {\n var c2, d, e, f2, g;\n d = new Psb();\n Gsb(d, b, d.c.b, d.c);\n do {\n c2 = (sCb(d.b != 0), BD(Nsb(d, d.a.a), 86));\n a.b[c2.g] = 1;\n for (f2 = Jsb(c2.d, 0); f2.b != f2.d.c; ) {\n e = BD(Xsb(f2), 188);\n g = e.c;\n a.b[g.g] == 1 ? Dsb(a.a, e) : a.b[g.g] == 2 ? a.b[g.g] = 1 : Gsb(d, g, d.c.b, d.c);\n }\n } while (d.b != 0);\n }\n function Ju(a, b) {\n var c2, d, e;\n if (PD(b) === PD(Qb(a))) {\n return true;\n }\n if (!JD(b, 15)) {\n return false;\n }\n d = BD(b, 15);\n e = a.gc();\n if (e != d.gc()) {\n return false;\n }\n if (JD(d, 54)) {\n for (c2 = 0; c2 < e; c2++) {\n if (!Hb(a.Xb(c2), d.Xb(c2))) {\n return false;\n }\n }\n return true;\n } else {\n return kr(a.Kc(), d.Kc());\n }\n }\n function Aac(a, b) {\n var c2, d;\n if (a.c.length != 0) {\n if (a.c.length == 2) {\n zac((tCb(0, a.c.length), BD(a.c[0], 10)), (rbd(), nbd));\n zac((tCb(1, a.c.length), BD(a.c[1], 10)), obd);\n } else {\n for (d = new olb(a); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 10);\n zac(c2, b);\n }\n }\n a.c = KC(SI, Uhe, 1, 0, 5, 1);\n }\n }\n function uKc(a) {\n var b, c2;\n if (a.c.length != 2) {\n throw vbb(new Zdb(\"Order only allowed for two paths.\"));\n }\n b = (tCb(0, a.c.length), BD(a.c[0], 17));\n c2 = (tCb(1, a.c.length), BD(a.c[1], 17));\n if (b.d.i != c2.c.i) {\n a.c = KC(SI, Uhe, 1, 0, 5, 1);\n a.c[a.c.length] = c2;\n a.c[a.c.length] = b;\n }\n }\n function EMc(a, b) {\n var c2, d, e, f2, g, h;\n d = new $rb();\n g = Gx(new amb(a.g));\n for (f2 = g.a.ec().Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 10);\n if (!e) {\n Sdd(b, \"There are no classes in a balanced layout.\");\n break;\n }\n h = a.j[e.p];\n c2 = BD(Wrb(d, h), 15);\n if (!c2) {\n c2 = new Rkb();\n Xrb(d, h, c2);\n }\n c2.Fc(e);\n }\n return d;\n }\n function Dqd(a, b, c2) {\n var d, e, f2, g, h, i3, j;\n if (c2) {\n f2 = c2.a.length;\n d = new Yge(f2);\n for (h = (d.b - d.a) * d.c < 0 ? (Xge(), Wge) : new she(d); h.Ob(); ) {\n g = BD(h.Pb(), 19);\n i3 = Zpd(c2, g.a);\n if (i3) {\n j = ftd(_pd(i3, Ite), b);\n Rhb(a.f, j, i3);\n e = Vte in i3.a;\n e && Lkd(j, _pd(i3, Vte));\n grd(i3, j);\n hrd(i3, j);\n }\n }\n }\n }\n function ndc(a, b) {\n var c2, d, e, f2, g;\n Odd(b, \"Port side processing\", 1);\n for (g = new olb(a.a); g.a < g.c.c.length; ) {\n e = BD(mlb(g), 10);\n odc(e);\n }\n for (d = new olb(a.b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 29);\n for (f2 = new olb(c2.a); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 10);\n odc(e);\n }\n }\n Qdd(b);\n }\n function bfc(a, b, c2) {\n var d, e, f2, g, h;\n e = a.f;\n !e && (e = BD(a.a.a.ec().Kc().Pb(), 57));\n cfc(e, b, c2);\n if (a.a.a.gc() == 1) {\n return;\n }\n d = b * c2;\n for (g = a.a.a.ec().Kc(); g.Ob(); ) {\n f2 = BD(g.Pb(), 57);\n if (f2 != e) {\n h = ugc(f2);\n if (h.f.d) {\n f2.d.d += d + ple;\n f2.d.a -= d + ple;\n } else\n h.f.a && (f2.d.a -= d + ple);\n }\n }\n }\n function tQb(a, b, c2, d, e) {\n var f2, g, h, i3, j, k, l, m, n;\n g = c2 - a;\n h = d - b;\n f2 = $wnd.Math.atan2(g, h);\n i3 = f2 + cme;\n j = f2 - cme;\n k = e * $wnd.Math.sin(i3) + a;\n m = e * $wnd.Math.cos(i3) + b;\n l = e * $wnd.Math.sin(j) + a;\n n = e * $wnd.Math.cos(j) + b;\n return Ou(OC(GC(m1, 1), nie, 8, 0, [new f7c(k, m), new f7c(l, n)]));\n }\n function OLc(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l;\n e = c2;\n k = b;\n f2 = k;\n do {\n f2 = a.a[f2.p];\n h = (l = a.g[f2.p], Edb(a.p[l.p]) + Edb(a.d[f2.p]) - f2.d.d);\n i3 = RLc(f2, d);\n if (i3) {\n g = (j = a.g[i3.p], Edb(a.p[j.p]) + Edb(a.d[i3.p]) + i3.o.b + i3.d.a);\n e = $wnd.Math.min(e, h - (g + jBc(a.k, f2, i3)));\n }\n } while (k != f2);\n return e;\n }\n function PLc(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l;\n e = c2;\n k = b;\n f2 = k;\n do {\n f2 = a.a[f2.p];\n g = (l = a.g[f2.p], Edb(a.p[l.p]) + Edb(a.d[f2.p]) + f2.o.b + f2.d.a);\n i3 = QLc(f2, d);\n if (i3) {\n h = (j = a.g[i3.p], Edb(a.p[j.p]) + Edb(a.d[i3.p]) - i3.d.d);\n e = $wnd.Math.min(e, h - (g + jBc(a.k, f2, i3)));\n }\n } while (k != f2);\n return e;\n }\n function hkd(a, b) {\n var c2, d;\n d = (!a.o && (a.o = new dId((Thd(), Qhd), S2, a, 0)), AAd(a.o, b));\n if (d != null) {\n return d;\n }\n c2 = b.wg();\n JD(c2, 4) && (c2 == null ? (!a.o && (a.o = new dId((Thd(), Qhd), S2, a, 0)), LAd(a.o, b)) : (!a.o && (a.o = new dId((Thd(), Qhd), S2, a, 0)), HAd(a.o, b, c2)), a);\n return c2;\n }\n function Hbd() {\n Hbd = ccb;\n zbd = new Ibd(\"H_LEFT\", 0);\n ybd = new Ibd(\"H_CENTER\", 1);\n Bbd = new Ibd(\"H_RIGHT\", 2);\n Gbd = new Ibd(\"V_TOP\", 3);\n Fbd = new Ibd(\"V_CENTER\", 4);\n Ebd = new Ibd(\"V_BOTTOM\", 5);\n Cbd = new Ibd(\"INSIDE\", 6);\n Dbd = new Ibd(\"OUTSIDE\", 7);\n Abd = new Ibd(\"H_PRIORITY\", 8);\n }\n function o6d(a) {\n var b, c2, d, e, f2, g, h;\n b = a.Hh(_ve);\n if (b) {\n h = GD(AAd((!b.b && (b.b = new sId((jGd(), fGd), x6, b)), b.b), \"settingDelegates\"));\n if (h != null) {\n c2 = new Rkb();\n for (e = mfb(h, \"\\\\w+\"), f2 = 0, g = e.length; f2 < g; ++f2) {\n d = e[f2];\n c2.c[c2.c.length] = d;\n }\n return c2;\n }\n }\n return mmb(), mmb(), jmb;\n }\n function sGb(a, b) {\n var c2, d, e, f2, g, h, i3;\n if (!b.f) {\n throw vbb(new Wdb(\"The input edge is not a tree edge.\"));\n }\n f2 = null;\n e = Ohe;\n for (d = new olb(a.d); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 213);\n h = c2.d;\n i3 = c2.e;\n if (xGb(a, h, b) && !xGb(a, i3, b)) {\n g = i3.e - h.e - c2.a;\n if (g < e) {\n e = g;\n f2 = c2;\n }\n }\n }\n return f2;\n }\n function qTb(a) {\n var b, c2, d, e, f2, g;\n if (a.f.e.c.length <= 1) {\n return;\n }\n b = 0;\n e = nTb(a);\n c2 = Pje;\n do {\n b > 0 && (e = c2);\n for (g = new olb(a.f.e); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 144);\n if (Ccb(DD(vNb(f2, (bTb(), USb))))) {\n continue;\n }\n d = mTb(a, f2);\n P6c(X6c(f2.d), d);\n }\n c2 = nTb(a);\n } while (!pTb(a, b++, e, c2));\n }\n function $ac(a, b) {\n var c2, d, e;\n Odd(b, \"Layer constraint preprocessing\", 1);\n c2 = new Rkb();\n e = new Bib(a.a, 0);\n while (e.b < e.d.gc()) {\n d = (sCb(e.b < e.d.gc()), BD(e.d.Xb(e.c = e.b++), 10));\n if (Zac(d)) {\n Xac(d);\n c2.c[c2.c.length] = d;\n uib(e);\n }\n }\n c2.c.length == 0 || yNb(a, (wtc(), Lsc), c2);\n Qdd(b);\n }\n function sjc(a, b) {\n var c2, d, e, f2, g;\n f2 = a.g.a;\n g = a.g.b;\n for (d = new olb(a.d); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 70);\n e = c2.n;\n a.a == (Ajc(), xjc) || a.i == (Ucd(), zcd) ? e.a = f2 : a.a == yjc || a.i == (Ucd(), Tcd) ? e.a = f2 + a.j.a - c2.o.a : e.a = f2 + (a.j.a - c2.o.a) / 2;\n e.b = g;\n P6c(e, b);\n g += c2.o.b + a.e;\n }\n }\n function LSc(a, b, c2) {\n var d, e, f2, g;\n Odd(c2, \"Processor set coordinates\", 1);\n a.a = b.b.b == 0 ? 1 : b.b.b;\n f2 = null;\n d = Jsb(b.b, 0);\n while (!f2 && d.b != d.d.c) {\n g = BD(Xsb(d), 86);\n if (Ccb(DD(vNb(g, (mTc(), jTc))))) {\n f2 = g;\n e = g.e;\n e.a = BD(vNb(g, kTc), 19).a;\n e.b = 0;\n }\n }\n MSc(a, URc(f2), Udd(c2, 1));\n Qdd(c2);\n }\n function xSc(a, b, c2) {\n var d, e, f2;\n Odd(c2, \"Processor determine the height for each level\", 1);\n a.a = b.b.b == 0 ? 1 : b.b.b;\n e = null;\n d = Jsb(b.b, 0);\n while (!e && d.b != d.d.c) {\n f2 = BD(Xsb(d), 86);\n Ccb(DD(vNb(f2, (mTc(), jTc)))) && (e = f2);\n }\n !!e && ySc(a, Ou(OC(GC(q$, 1), fme, 86, 0, [e])), c2);\n Qdd(c2);\n }\n function brd(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l;\n j = a;\n i3 = $pd(j, \"individualSpacings\");\n if (i3) {\n d = ikd(b, (Y9c(), O9c));\n g = !d;\n if (g) {\n e = new _fd();\n jkd(b, O9c, e);\n }\n h = BD(hkd(b, O9c), 373);\n l = i3;\n f2 = null;\n !!l && (f2 = (k = $B(l, KC(ZI, nie, 2, 0, 6, 1)), new mC(l, k)));\n if (f2) {\n c2 = new Frd(l, h);\n reb(f2, c2);\n }\n }\n }\n function frd(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m;\n i3 = null;\n l = a;\n k = null;\n if (cue in l.a || due in l.a || Ote in l.a) {\n j = null;\n m = etd(b);\n g = $pd(l, cue);\n c2 = new Ird(m);\n Eqd(c2.a, g);\n h = $pd(l, due);\n d = new asd(m);\n Pqd(d.a, h);\n f2 = Ypd(l, Ote);\n e = new dsd(m);\n j = (Qqd(e.a, f2), f2);\n k = j;\n }\n i3 = k;\n return i3;\n }\n function $w(a, b) {\n var c2, d, e;\n if (b === a) {\n return true;\n }\n if (JD(b, 543)) {\n e = BD(b, 835);\n if (a.a.d != e.a.d || Ah(a).gc() != Ah(e).gc()) {\n return false;\n }\n for (d = Ah(e).Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 416);\n if (Aw(a, c2.a.cd()) != BD(c2.a.dd(), 14).gc()) {\n return false;\n }\n }\n return true;\n }\n return false;\n }\n function BMb(a) {\n var b, c2, d, e;\n d = BD(a.a, 19).a;\n e = BD(a.b, 19).a;\n b = d;\n c2 = e;\n if (d == 0 && e == 0) {\n c2 -= 1;\n } else {\n if (d == -1 && e <= 0) {\n b = 0;\n c2 -= 2;\n } else {\n if (d <= 0 && e > 0) {\n b -= 1;\n c2 -= 1;\n } else {\n if (d >= 0 && e < 0) {\n b += 1;\n c2 += 1;\n } else {\n if (d > 0 && e >= 0) {\n b -= 1;\n c2 += 1;\n } else {\n b += 1;\n c2 -= 1;\n }\n }\n }\n }\n }\n return new vgd(meb(b), meb(c2));\n }\n function PIc(a, b) {\n if (a.c < b.c) {\n return -1;\n } else if (a.c > b.c) {\n return 1;\n } else if (a.b < b.b) {\n return -1;\n } else if (a.b > b.b) {\n return 1;\n } else if (a.a != b.a) {\n return tb(a.a) - tb(b.a);\n } else if (a.d == (UIc(), TIc) && b.d == SIc) {\n return -1;\n } else if (a.d == SIc && b.d == TIc) {\n return 1;\n }\n return 0;\n }\n function aNc(a, b) {\n var c2, d, e, f2, g;\n f2 = b.a;\n f2.c.i == b.b ? g = f2.d : g = f2.c;\n f2.c.i == b.b ? d = f2.c : d = f2.d;\n e = NLc(a.a, g, d);\n if (e > 0 && e < dme) {\n c2 = OLc(a.a, d.i, e, a.c);\n TLc(a.a, d.i, -c2);\n return c2 > 0;\n } else if (e < 0 && -e < dme) {\n c2 = PLc(a.a, d.i, -e, a.c);\n TLc(a.a, d.i, c2);\n return c2 > 0;\n }\n return false;\n }\n function RZc(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l;\n e = (b - a.d) / a.c.c.length;\n f2 = 0;\n a.a += c2;\n a.d = b;\n for (l = new olb(a.c); l.a < l.c.c.length; ) {\n k = BD(mlb(l), 33);\n j = k.g;\n i3 = k.f;\n dld(k, k.i + f2 * e);\n eld(k, k.j + d * c2);\n cld(k, k.g + e);\n ald(k, a.a);\n ++f2;\n h = k.g;\n g = k.f;\n Ffd(k, new f7c(h, g), new f7c(j, i3));\n }\n }\n function Xmd(a) {\n var b, c2, d, e, f2, g, h;\n if (a == null) {\n return null;\n }\n h = a.length;\n e = (h + 1) / 2 | 0;\n g = KC(SD, wte, 25, e, 15, 1);\n h % 2 != 0 && (g[--e] = jnd((BCb(h - 1, a.length), a.charCodeAt(h - 1))));\n for (c2 = 0, d = 0; c2 < e; ++c2) {\n b = jnd(bfb(a, d++));\n f2 = jnd(bfb(a, d++));\n g[c2] = (b << 4 | f2) << 24 >> 24;\n }\n return g;\n }\n function vdb(a) {\n if (a.pe()) {\n var b = a.c;\n b.qe() ? a.o = \"[\" + b.n : !b.pe() ? a.o = \"[L\" + b.ne() + \";\" : a.o = \"[\" + b.ne();\n a.b = b.me() + \"[]\";\n a.k = b.oe() + \"[]\";\n return;\n }\n var c2 = a.j;\n var d = a.d;\n d = d.split(\"/\");\n a.o = ydb(\".\", [c2, ydb(\"$\", d)]);\n a.b = ydb(\".\", [c2, ydb(\".\", d)]);\n a.k = d[d.length - 1];\n }\n function qGb(a, b) {\n var c2, d, e, f2, g;\n g = null;\n for (f2 = new olb(a.e.a); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 121);\n if (e.b.a.c.length == e.g.a.c.length) {\n d = e.e;\n g = BGb(e);\n for (c2 = e.e - BD(g.a, 19).a + 1; c2 < e.e + BD(g.b, 19).a; c2++) {\n b[c2] < b[d] && (d = c2);\n }\n if (b[d] < b[e.e]) {\n --b[e.e];\n ++b[d];\n e.e = d;\n }\n }\n }\n }\n function SLc(a) {\n var b, c2, d, e, f2, g, h, i3;\n e = Pje;\n d = Qje;\n for (c2 = new olb(a.e.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 29);\n for (g = new olb(b.a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 10);\n i3 = Edb(a.p[f2.p]);\n h = i3 + Edb(a.b[a.g[f2.p].p]);\n e = $wnd.Math.min(e, i3);\n d = $wnd.Math.max(d, h);\n }\n }\n return d - e;\n }\n function r1d(a, b, c2, d) {\n var e, f2, g, h, j;\n e = f1d(a, b);\n for (h = 0, j = e.gc(); h < j; ++h) {\n f2 = BD(e.Xb(h), 170);\n if (dfb(d, a2d(q1d(a, f2)))) {\n g = b2d(q1d(a, f2));\n if (c2 == null) {\n if (g == null) {\n return f2;\n }\n } else if (dfb(c2, g)) {\n return f2;\n } else\n ;\n }\n }\n return null;\n }\n function s1d(a, b, c2, d) {\n var e, f2, g, h, j;\n e = g1d(a, b);\n for (h = 0, j = e.gc(); h < j; ++h) {\n f2 = BD(e.Xb(h), 170);\n if (dfb(d, a2d(q1d(a, f2)))) {\n g = b2d(q1d(a, f2));\n if (c2 == null) {\n if (g == null) {\n return f2;\n }\n } else if (dfb(c2, g)) {\n return f2;\n } else\n ;\n }\n }\n return null;\n }\n function p3d(a, b, c2) {\n var d, e, f2, g, h, i3;\n g = new yud();\n h = S6d(a.e.Tg(), b);\n d = BD(a.g, 119);\n Q6d();\n if (BD(b, 66).Oj()) {\n for (f2 = 0; f2 < a.i; ++f2) {\n e = d[f2];\n h.rl(e.ak()) && wtd(g, e);\n }\n } else {\n for (f2 = 0; f2 < a.i; ++f2) {\n e = d[f2];\n if (h.rl(e.ak())) {\n i3 = e.dd();\n wtd(g, c2 ? b3d(a, b, f2, g.i, i3) : i3);\n }\n }\n }\n return wud(g);\n }\n function T9b(a, b) {\n var c2, d, e, f2, g;\n c2 = new Rpb(EW);\n for (e = (Apc(), OC(GC(EW, 1), Kie, 227, 0, [wpc, ypc, vpc, xpc, zpc, upc])), f2 = 0, g = e.length; f2 < g; ++f2) {\n d = e[f2];\n Opb(c2, d, new Rkb());\n }\n MAb(NAb(JAb(LAb(new YAb(null, new Kub(a.b, 16)), new hac()), new jac()), new lac(b)), new nac(c2));\n return c2;\n }\n function AVc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m;\n for (f2 = b.Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 33);\n k = e.i + e.g / 2;\n m = e.j + e.f / 2;\n i3 = a.f;\n g = i3.i + i3.g / 2;\n h = i3.j + i3.f / 2;\n j = k - g;\n l = m - h;\n d = $wnd.Math.sqrt(j * j + l * l);\n j *= a.e / d;\n l *= a.e / d;\n if (c2) {\n k -= j;\n m -= l;\n } else {\n k += j;\n m += l;\n }\n dld(e, k - e.g / 2);\n eld(e, m - e.f / 2);\n }\n }\n function Yfe(a) {\n var b, c2, d;\n if (a.c)\n return;\n if (a.b == null)\n return;\n for (b = a.b.length - 4; b >= 0; b -= 2) {\n for (c2 = 0; c2 <= b; c2 += 2) {\n if (a.b[c2] > a.b[c2 + 2] || a.b[c2] === a.b[c2 + 2] && a.b[c2 + 1] > a.b[c2 + 3]) {\n d = a.b[c2 + 2];\n a.b[c2 + 2] = a.b[c2];\n a.b[c2] = d;\n d = a.b[c2 + 3];\n a.b[c2 + 3] = a.b[c2 + 1];\n a.b[c2 + 1] = d;\n }\n }\n }\n a.c = true;\n }\n function UUb(a, b) {\n var c2, d, e, f2, g, h, i3, j;\n g = b == 1 ? KUb : JUb;\n for (f2 = g.a.ec().Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 103);\n for (i3 = BD(Qc(a.f.c, e), 21).Kc(); i3.Ob(); ) {\n h = BD(i3.Pb(), 46);\n d = BD(h.b, 81);\n j = BD(h.a, 189);\n c2 = j.c;\n switch (e.g) {\n case 2:\n case 1:\n d.g.d += c2;\n break;\n case 4:\n case 3:\n d.g.c += c2;\n }\n }\n }\n }\n function PFc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n j = -1;\n k = 0;\n for (g = a, h = 0, i3 = g.length; h < i3; ++h) {\n f2 = g[h];\n c2 = new Dnc(j == -1 ? a[0] : a[j], b, (xzc(), wzc));\n for (d = 0; d < f2.length; d++) {\n for (e = d + 1; e < f2.length; e++) {\n wNb(f2[d], (wtc(), Zsc)) && wNb(f2[e], Zsc) && ync(c2, f2[d], f2[e]) > 0 && ++k;\n }\n }\n ++j;\n }\n return k;\n }\n function Eid(a) {\n var b, c2;\n c2 = new Wfb(hdb(a.gm));\n c2.a += \"@\";\n Qfb(c2, (b = tb(a) >>> 0, b.toString(16)));\n if (a.kh()) {\n c2.a += \" (eProxyURI: \";\n Pfb(c2, a.qh());\n if (a.$g()) {\n c2.a += \" eClass: \";\n Pfb(c2, a.$g());\n }\n c2.a += \")\";\n } else if (a.$g()) {\n c2.a += \" (eClass: \";\n Pfb(c2, a.$g());\n c2.a += \")\";\n }\n return c2.a;\n }\n function TDb(a) {\n var b, c2, d, e;\n if (a.e) {\n throw vbb(new Zdb((fdb(TM), Jke + TM.k + Kke)));\n }\n a.d == (ead(), cad) && SDb(a, aad);\n for (c2 = new olb(a.a.a); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 307);\n b.g = b.i;\n }\n for (e = new olb(a.a.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 57);\n d.i = Qje;\n }\n a.b.Le(a);\n return a;\n }\n function TPc(a, b) {\n var c2, d, e, f2, g;\n if (b < 2 * a.b) {\n throw vbb(new Wdb(\"The knot vector must have at least two time the dimension elements.\"));\n }\n a.f = 1;\n for (e = 0; e < a.b; e++) {\n Ekb(a.e, 0);\n }\n g = b + 1 - 2 * a.b;\n c2 = g;\n for (f2 = 1; f2 < g; f2++) {\n Ekb(a.e, f2 / c2);\n }\n if (a.d) {\n for (d = 0; d < a.b; d++) {\n Ekb(a.e, 1);\n }\n }\n }\n function ard(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n j = b;\n k = BD(_o(qo(a.i), j), 33);\n if (!k) {\n e = _pd(j, Vte);\n h = \"Unable to find elk node for json object '\" + e;\n i3 = h + \"' Panic!\";\n throw vbb(new cqd(i3));\n }\n f2 = Ypd(j, \"edges\");\n c2 = new krd(a, k);\n mqd(c2.a, c2.b, f2);\n g = Ypd(j, Jte);\n d = new vrd(a);\n xqd(d.a, g);\n }\n function xAd(a, b, c2, d) {\n var e, f2, g, h, i3;\n if (d != null) {\n e = a.d[b];\n if (e) {\n f2 = e.g;\n i3 = e.i;\n for (h = 0; h < i3; ++h) {\n g = BD(f2[h], 133);\n if (g.Sh() == c2 && pb(d, g.cd())) {\n return h;\n }\n }\n }\n } else {\n e = a.d[b];\n if (e) {\n f2 = e.g;\n i3 = e.i;\n for (h = 0; h < i3; ++h) {\n g = BD(f2[h], 133);\n if (PD(g.cd()) === PD(d)) {\n return h;\n }\n }\n }\n }\n return -1;\n }\n function nUd(a, b) {\n var c2, d, e;\n c2 = b == null ? Wd(irb(a.f, null)) : Crb(a.g, b);\n if (JD(c2, 235)) {\n e = BD(c2, 235);\n e.Qh() == null && void 0;\n return e;\n } else if (JD(c2, 498)) {\n d = BD(c2, 1938);\n e = d.a;\n !!e && (e.yb == null ? void 0 : b == null ? jrb(a.f, null, e) : Drb(a.g, b, e));\n return e;\n } else {\n return null;\n }\n }\n function ide(a) {\n hde();\n var b, c2, d, e, f2, g, h;\n if (a == null)\n return null;\n e = a.length;\n if (e % 2 != 0)\n return null;\n b = rfb(a);\n f2 = e / 2 | 0;\n c2 = KC(SD, wte, 25, f2, 15, 1);\n for (d = 0; d < f2; d++) {\n g = fde[b[d * 2]];\n if (g == -1)\n return null;\n h = fde[b[d * 2 + 1]];\n if (h == -1)\n return null;\n c2[d] = (g << 4 | h) << 24 >> 24;\n }\n return c2;\n }\n function lKb(a, b, c2) {\n var d, e, f2;\n e = BD(Mpb(a.i, b), 306);\n if (!e) {\n e = new bIb(a.d, b, c2);\n Npb(a.i, b, e);\n if (sJb(b)) {\n CHb(a.a, b.c, b.b, e);\n } else {\n f2 = rJb(b);\n d = BD(Mpb(a.p, f2), 244);\n switch (f2.g) {\n case 1:\n case 3:\n e.j = true;\n lIb(d, b.b, e);\n break;\n case 4:\n case 2:\n e.k = true;\n lIb(d, b.c, e);\n }\n }\n }\n return e;\n }\n function r3d(a, b, c2, d) {\n var e, f2, g, h, i3, j;\n h = new yud();\n i3 = S6d(a.e.Tg(), b);\n e = BD(a.g, 119);\n Q6d();\n if (BD(b, 66).Oj()) {\n for (g = 0; g < a.i; ++g) {\n f2 = e[g];\n i3.rl(f2.ak()) && wtd(h, f2);\n }\n } else {\n for (g = 0; g < a.i; ++g) {\n f2 = e[g];\n if (i3.rl(f2.ak())) {\n j = f2.dd();\n wtd(h, d ? b3d(a, b, g, h.i, j) : j);\n }\n }\n }\n return xud(h, c2);\n }\n function YCc(a, b) {\n var c2, d, e, f2, g, h, i3, j;\n e = a.b[b.p];\n if (e >= 0) {\n return e;\n } else {\n f2 = 1;\n for (h = new olb(b.j); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 11);\n for (d = new olb(g.g); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 17);\n j = c2.d.i;\n if (b != j) {\n i3 = YCc(a, j);\n f2 = $wnd.Math.max(f2, i3 + 1);\n }\n }\n }\n XCc(a, b, f2);\n return f2;\n }\n }\n function YGc(a, b, c2) {\n var d, e, f2;\n for (d = 1; d < a.c.length; d++) {\n f2 = (tCb(d, a.c.length), BD(a.c[d], 10));\n e = d;\n while (e > 0 && b.ue((tCb(e - 1, a.c.length), BD(a.c[e - 1], 10)), f2) > 0) {\n Nkb(a, e, (tCb(e - 1, a.c.length), BD(a.c[e - 1], 10)));\n --e;\n }\n tCb(e, a.c.length);\n a.c[e] = f2;\n }\n c2.a = new Lqb();\n c2.b = new Lqb();\n }\n function n5c(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n k = (d = BD(b.e && b.e(), 9), new xqb(d, BD(_Bb(d, d.length), 9), 0));\n i3 = mfb(c2, \"[\\\\[\\\\]\\\\s,]+\");\n for (f2 = i3, g = 0, h = f2.length; g < h; ++g) {\n e = f2[g];\n if (ufb(e).length == 0) {\n continue;\n }\n j = m5c(a, e);\n if (j == null) {\n return null;\n } else {\n rqb(k, BD(j, 22));\n }\n }\n return k;\n }\n function KVb(a) {\n var b, c2, d;\n for (c2 = new olb(a.a.a.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 81);\n d = (uCb(0), 0);\n if (d > 0) {\n !(fad(a.a.c) && b.n.d) && !(gad(a.a.c) && b.n.b) && (b.g.d -= $wnd.Math.max(0, d / 2 - 0.5));\n !(fad(a.a.c) && b.n.a) && !(gad(a.a.c) && b.n.c) && (b.g.a += $wnd.Math.max(0, d - 1));\n }\n }\n }\n function Hac(a, b, c2) {\n var d, e;\n if ((a.c - a.b & a.a.length - 1) == 2) {\n if (b == (Ucd(), Acd) || b == zcd) {\n xac(BD(bkb(a), 15), (rbd(), nbd));\n xac(BD(bkb(a), 15), obd);\n } else {\n xac(BD(bkb(a), 15), (rbd(), obd));\n xac(BD(bkb(a), 15), nbd);\n }\n } else {\n for (e = new xkb(a); e.a != e.b; ) {\n d = BD(vkb(e), 15);\n xac(d, c2);\n }\n }\n }\n function htd(a, b) {\n var c2, d, e, f2, g, h, i3;\n e = Nu(new qtd(a));\n h = new Bib(e, e.c.length);\n f2 = Nu(new qtd(b));\n i3 = new Bib(f2, f2.c.length);\n g = null;\n while (h.b > 0 && i3.b > 0) {\n c2 = (sCb(h.b > 0), BD(h.a.Xb(h.c = --h.b), 33));\n d = (sCb(i3.b > 0), BD(i3.a.Xb(i3.c = --i3.b), 33));\n if (c2 == d) {\n g = c2;\n } else {\n break;\n }\n }\n return g;\n }\n function Cub(a, b) {\n var c2, d, e, f2, g, h;\n f2 = a.a * kke + a.b * 1502;\n h = a.b * kke + 11;\n c2 = $wnd.Math.floor(h * lke);\n f2 += c2;\n h -= c2 * mke;\n f2 %= mke;\n a.a = f2;\n a.b = h;\n if (b <= 24) {\n return $wnd.Math.floor(a.a * wub[b]);\n } else {\n e = a.a * (1 << b - 24);\n g = $wnd.Math.floor(a.b * xub[b]);\n d = e + g;\n d >= 2147483648 && (d -= Zje);\n return d;\n }\n }\n function Zic(a, b, c2) {\n var d, e, f2, g;\n if (bjc(a, b) > bjc(a, c2)) {\n d = V_b(c2, (Ucd(), zcd));\n a.d = d.dc() ? 0 : B0b(BD(d.Xb(0), 11));\n g = V_b(b, Tcd);\n a.b = g.dc() ? 0 : B0b(BD(g.Xb(0), 11));\n } else {\n e = V_b(c2, (Ucd(), Tcd));\n a.d = e.dc() ? 0 : B0b(BD(e.Xb(0), 11));\n f2 = V_b(b, zcd);\n a.b = f2.dc() ? 0 : B0b(BD(f2.Xb(0), 11));\n }\n }\n function l6d(a) {\n var b, c2, d, e, f2, g, h;\n if (a) {\n b = a.Hh(_ve);\n if (b) {\n g = GD(AAd((!b.b && (b.b = new sId((jGd(), fGd), x6, b)), b.b), \"conversionDelegates\"));\n if (g != null) {\n h = new Rkb();\n for (d = mfb(g, \"\\\\w+\"), e = 0, f2 = d.length; e < f2; ++e) {\n c2 = d[e];\n h.c[h.c.length] = c2;\n }\n return h;\n }\n }\n }\n return mmb(), mmb(), jmb;\n }\n function FKb(a, b) {\n var c2, d, e, f2;\n c2 = a.o.a;\n for (f2 = BD(BD(Qc(a.r, b), 21), 84).Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 111);\n e.e.a = c2 * Edb(ED(e.b.We(BKb)));\n e.e.b = (d = e.b, d.Xe((Y9c(), s9c)) ? d.Hf() == (Ucd(), Acd) ? -d.rf().b - Edb(ED(d.We(s9c))) : Edb(ED(d.We(s9c))) : d.Hf() == (Ucd(), Acd) ? -d.rf().b : 0);\n }\n }\n function Woc(a) {\n var b, c2, d, e, f2, g, h, i3;\n b = true;\n e = null;\n f2 = null;\n j:\n for (i3 = new olb(a.a); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 10);\n for (d = new Sr(ur(R_b(h).a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 17);\n if (!!e && e != h) {\n b = false;\n break j;\n }\n e = h;\n g = c2.c.i;\n if (!!f2 && f2 != g) {\n b = false;\n break j;\n }\n f2 = g;\n }\n }\n return b;\n }\n function OOc(a, b, c2) {\n var d, e, f2, g, h, i3;\n f2 = -1;\n h = -1;\n for (g = 0; g < b.c.length; g++) {\n e = (tCb(g, b.c.length), BD(b.c[g], 329));\n if (e.c > a.c) {\n break;\n } else if (e.a >= a.s) {\n f2 < 0 && (f2 = g);\n h = g;\n }\n }\n i3 = (a.s + a.c) / 2;\n if (f2 >= 0) {\n d = NOc(a, b, f2, h);\n i3 = $Oc((tCb(d, b.c.length), BD(b.c[d], 329)));\n YOc(b, d, c2);\n }\n return i3;\n }\n function lZc() {\n lZc = ccb;\n RYc = new Osd((Y9c(), r8c), 1.3);\n VYc = I8c;\n gZc = new q0b(15);\n fZc = new Osd(f9c, gZc);\n jZc = new Osd(T9c, 15);\n SYc = w8c;\n _Yc = Y8c;\n aZc = _8c;\n bZc = b9c;\n $Yc = W8c;\n cZc = e9c;\n hZc = x9c;\n eZc = (OYc(), KYc);\n ZYc = IYc;\n dZc = JYc;\n iZc = MYc;\n WYc = HYc;\n XYc = O8c;\n YYc = P8c;\n UYc = GYc;\n TYc = FYc;\n kZc = NYc;\n }\n function Bnd(a, b, c2) {\n var d, e, f2, g, h, i3, j;\n g = (f2 = new RHd(), f2);\n PHd(g, (uCb(b), b));\n j = (!g.b && (g.b = new sId((jGd(), fGd), x6, g)), g.b);\n for (i3 = 1; i3 < c2.length; i3 += 2) {\n HAd(j, c2[i3 - 1], c2[i3]);\n }\n d = (!a.Ab && (a.Ab = new cUd(a5, a, 0, 3)), a.Ab);\n for (h = 0; h < 0; ++h) {\n e = LHd(BD(qud(d, d.i - 1), 590));\n d = e;\n }\n wtd(d, g);\n }\n function MPb(a, b, c2) {\n var d, e, f2;\n sNb.call(this, new Rkb());\n this.a = b;\n this.b = c2;\n this.e = a;\n d = (a.b && LOb(a), a.a);\n this.d = KPb(d.a, this.a);\n this.c = KPb(d.b, this.b);\n kNb(this, this.d, this.c);\n LPb(this);\n for (f2 = this.e.e.a.ec().Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 266);\n e.c.c.length > 0 && JPb(this, e);\n }\n }\n function IQb(a, b, c2, d, e, f2) {\n var g, h, i3;\n if (!e[b.b]) {\n e[b.b] = true;\n g = d;\n !g && (g = new kRb());\n Ekb(g.e, b);\n for (i3 = f2[b.b].Kc(); i3.Ob(); ) {\n h = BD(i3.Pb(), 282);\n if (h.d == c2 || h.c == c2) {\n continue;\n }\n h.c != b && IQb(a, h.c, b, g, e, f2);\n h.d != b && IQb(a, h.d, b, g, e, f2);\n Ekb(g.c, h);\n Gkb(g.d, h.b);\n }\n return g;\n }\n return null;\n }\n function e4b(a) {\n var b, c2, d, e, f2, g, h;\n b = 0;\n for (e = new olb(a.e); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 17);\n c2 = FAb(new YAb(null, new Kub(d.b, 16)), new w4b());\n c2 && ++b;\n }\n for (g = new olb(a.g); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 17);\n h = FAb(new YAb(null, new Kub(f2.b, 16)), new y4b());\n h && ++b;\n }\n return b >= 2;\n }\n function gec(a, b) {\n var c2, d, e, f2;\n Odd(b, \"Self-Loop pre-processing\", 1);\n for (d = new olb(a.a); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 10);\n if (Ljc(c2)) {\n e = (f2 = new Kjc(c2), yNb(c2, (wtc(), ntc), f2), Hjc(f2), f2);\n MAb(NAb(LAb(new YAb(null, new Kub(e.d, 16)), new jec()), new lec()), new nec());\n eec(e);\n }\n }\n Qdd(b);\n }\n function vnc(a, b, c2, d, e) {\n var f2, g, h, i3, j, k;\n f2 = a.c.d.j;\n g = BD(Ut(c2, 0), 8);\n for (k = 1; k < c2.b; k++) {\n j = BD(Ut(c2, k), 8);\n Gsb(d, g, d.c.b, d.c);\n h = Y6c(P6c(new g7c(g), j), 0.5);\n i3 = Y6c(new e7c(bRc(f2)), e);\n P6c(h, i3);\n Gsb(d, h, d.c.b, d.c);\n g = j;\n f2 = b == 0 ? Xcd(f2) : Vcd(f2);\n }\n Dsb(d, (sCb(c2.b != 0), BD(c2.c.b.c, 8)));\n }\n function Jbd(a) {\n Hbd();\n var b, c2, d;\n c2 = qqb(Cbd, OC(GC(B1, 1), Kie, 93, 0, [Dbd]));\n if (Ox(Cx(c2, a)) > 1) {\n return false;\n }\n b = qqb(zbd, OC(GC(B1, 1), Kie, 93, 0, [ybd, Bbd]));\n if (Ox(Cx(b, a)) > 1) {\n return false;\n }\n d = qqb(Gbd, OC(GC(B1, 1), Kie, 93, 0, [Fbd, Ebd]));\n if (Ox(Cx(d, a)) > 1) {\n return false;\n }\n return true;\n }\n function U0d(a, b) {\n var c2, d, e;\n c2 = b.Hh(a.a);\n if (c2) {\n e = GD(AAd((!c2.b && (c2.b = new sId((jGd(), fGd), x6, c2)), c2.b), \"affiliation\"));\n if (e != null) {\n d = kfb(e, wfb(35));\n return d == -1 ? l1d(a, u1d(a, bKd(b.Hj())), e) : d == 0 ? l1d(a, null, e.substr(1)) : l1d(a, e.substr(0, d), e.substr(d + 1));\n }\n }\n return null;\n }\n function ic(b) {\n var c2, d, e;\n try {\n return b == null ? Xhe : fcb(b);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 102)) {\n c2 = a;\n e = hdb(rb(b)) + \"@\" + (d = (Zfb(), kCb(b)) >>> 0, d.toString(16));\n tyb(xyb(), ($xb(), \"Exception during lenientFormat for \" + e), c2);\n return \"<\" + e + \" threw \" + hdb(c2.gm) + \">\";\n } else\n throw vbb(a);\n }\n }\n function mzc(a) {\n switch (a.g) {\n case 0:\n return new xDc();\n case 1:\n return new ZCc();\n case 2:\n return new DCc();\n case 3:\n return new QCc();\n case 4:\n return new LDc();\n case 5:\n return new iDc();\n default:\n throw vbb(new Wdb(\"No implementation is available for the layerer \" + (a.f != null ? a.f : \"\" + a.g)));\n }\n }\n function AQc(a, b, c2) {\n var d, e, f2;\n for (f2 = new olb(a.t); f2.a < f2.c.c.length; ) {\n d = BD(mlb(f2), 268);\n if (d.b.s < 0 && d.c > 0) {\n d.b.n -= d.c;\n d.b.n <= 0 && d.b.u > 0 && Dsb(b, d.b);\n }\n }\n for (e = new olb(a.i); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 268);\n if (d.a.s < 0 && d.c > 0) {\n d.a.u -= d.c;\n d.a.u <= 0 && d.a.n > 0 && Dsb(c2, d.a);\n }\n }\n }\n function Vud(a) {\n var b, c2, d, e, f2;\n if (a.g == null) {\n a.d = a.si(a.f);\n wtd(a, a.d);\n if (a.c) {\n f2 = a.f;\n return f2;\n }\n }\n b = BD(a.g[a.i - 1], 47);\n e = b.Pb();\n a.e = b;\n c2 = a.si(e);\n if (c2.Ob()) {\n a.d = c2;\n wtd(a, c2);\n } else {\n a.d = null;\n while (!b.Ob()) {\n NC(a.g, --a.i, null);\n if (a.i == 0) {\n break;\n }\n d = BD(a.g[a.i - 1], 47);\n b = d;\n }\n }\n return e;\n }\n function r2d(a, b) {\n var c2, d, e, f2, g, h;\n d = b;\n e = d.ak();\n if (T6d(a.e, e)) {\n if (e.hi() && E2d(a, e, d.dd())) {\n return false;\n }\n } else {\n h = S6d(a.e.Tg(), e);\n c2 = BD(a.g, 119);\n for (f2 = 0; f2 < a.i; ++f2) {\n g = c2[f2];\n if (h.rl(g.ak())) {\n if (pb(g, d)) {\n return false;\n } else {\n BD(Gtd(a, f2, b), 72);\n return true;\n }\n }\n }\n }\n return wtd(a, b);\n }\n function r9b(a, b, c2, d) {\n var e, f2, g, h;\n e = new b0b(a);\n __b(e, (j0b(), f0b));\n yNb(e, (wtc(), $sc), b);\n yNb(e, ktc, d);\n yNb(e, (Nyc(), Vxc), (dcd(), $bd));\n yNb(e, Vsc, b.c);\n yNb(e, Wsc, b.d);\n zbc(b, e);\n h = $wnd.Math.floor(c2 / 2);\n for (g = new olb(e.j); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 11);\n f2.n.b = h;\n }\n return e;\n }\n function wac(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n i3 = Pu(a.c - a.b & a.a.length - 1);\n j = null;\n k = null;\n for (f2 = new xkb(a); f2.a != f2.b; ) {\n e = BD(vkb(f2), 10);\n c2 = (h = BD(vNb(e, (wtc(), Vsc)), 11), !h ? null : h.i);\n d = (g = BD(vNb(e, Wsc), 11), !g ? null : g.i);\n if (j != c2 || k != d) {\n Aac(i3, b);\n j = c2;\n k = d;\n }\n i3.c[i3.c.length] = e;\n }\n Aac(i3, b);\n }\n function HNc(a) {\n var b, c2, d, e, f2, g, h;\n b = 0;\n for (d = new olb(a.a); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 10);\n for (f2 = new Sr(ur(U_b(c2).a.Kc(), new Sq())); Qr(f2); ) {\n e = BD(Rr(f2), 17);\n if (a == e.d.i.c && e.c.j == (Ucd(), Tcd)) {\n g = A0b(e.c).b;\n h = A0b(e.d).b;\n b = $wnd.Math.max(b, $wnd.Math.abs(h - g));\n }\n }\n }\n return b;\n }\n function aWc(a, b, c2) {\n var d, e, f2;\n Odd(c2, \"Remove overlaps\", 1);\n c2.n && !!b && Tdd(c2, i6d(b), (pgd(), mgd));\n d = BD(hkd(b, (MUc(), LUc)), 33);\n a.f = d;\n a.a = tXc(BD(hkd(b, (ZWc(), WWc)), 293));\n e = ED(hkd(b, (Y9c(), T9c)));\n FVc(a, (uCb(e), e));\n f2 = gVc(d);\n _Vc(a, b, f2, c2);\n c2.n && !!b && Tdd(c2, i6d(b), (pgd(), mgd));\n }\n function aYb(a, b, c2) {\n switch (c2.g) {\n case 1:\n return new f7c(b.a, $wnd.Math.min(a.d.b, b.b));\n case 2:\n return new f7c($wnd.Math.max(a.c.a, b.a), b.b);\n case 3:\n return new f7c(b.a, $wnd.Math.max(a.c.b, b.b));\n case 4:\n return new f7c($wnd.Math.min(b.a, a.d.a), b.b);\n }\n return new f7c(b.a, b.b);\n }\n function mFc(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m;\n l = d ? (Ucd(), Tcd) : (Ucd(), zcd);\n e = false;\n for (i3 = b[c2], j = 0, k = i3.length; j < k; ++j) {\n h = i3[j];\n if (ecd(BD(vNb(h, (Nyc(), Vxc)), 98))) {\n continue;\n }\n g = h.e;\n m = !V_b(h, l).dc() && !!g;\n if (m) {\n f2 = WZb(g);\n a.b = new sic(f2, d ? 0 : f2.length - 1);\n }\n e = e | nFc(a, h, l, m);\n }\n return e;\n }\n function $sd(a) {\n var b, c2, d;\n b = Pu(1 + (!a.c && (a.c = new cUd(F2, a, 9, 9)), a.c).i);\n Ekb(b, (!a.d && (a.d = new y5d(B2, a, 8, 5)), a.d));\n for (d = new Fyd((!a.c && (a.c = new cUd(F2, a, 9, 9)), a.c)); d.e != d.i.gc(); ) {\n c2 = BD(Dyd(d), 118);\n Ekb(b, (!c2.d && (c2.d = new y5d(B2, c2, 8, 5)), c2.d));\n }\n return Qb(b), new sl(b);\n }\n function _sd(a) {\n var b, c2, d;\n b = Pu(1 + (!a.c && (a.c = new cUd(F2, a, 9, 9)), a.c).i);\n Ekb(b, (!a.e && (a.e = new y5d(B2, a, 7, 4)), a.e));\n for (d = new Fyd((!a.c && (a.c = new cUd(F2, a, 9, 9)), a.c)); d.e != d.i.gc(); ) {\n c2 = BD(Dyd(d), 118);\n Ekb(b, (!c2.e && (c2.e = new y5d(B2, c2, 7, 4)), c2.e));\n }\n return Qb(b), new sl(b);\n }\n function M9d(a) {\n var b, c2, d, e;\n if (a == null) {\n return null;\n } else {\n d = Qge(a, true);\n e = Nwe.length;\n if (dfb(d.substr(d.length - e, e), Nwe)) {\n c2 = d.length;\n if (c2 == 4) {\n b = (BCb(0, d.length), d.charCodeAt(0));\n if (b == 43) {\n return x9d;\n } else if (b == 45) {\n return w9d;\n }\n } else if (c2 == 3) {\n return x9d;\n }\n }\n return Hcb(d);\n }\n }\n function aKc(a) {\n var b, c2, d, e;\n b = 0;\n c2 = 0;\n for (e = new olb(a.j); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 11);\n b = Tbb(wbb(b, HAb(JAb(new YAb(null, new Kub(d.e, 16)), new nLc()))));\n c2 = Tbb(wbb(c2, HAb(JAb(new YAb(null, new Kub(d.g, 16)), new pLc()))));\n if (b > 1 || c2 > 1) {\n return 2;\n }\n }\n if (b + c2 == 1) {\n return 2;\n }\n return 0;\n }\n function WQb(a, b, c2) {\n var d, e, f2, g, h;\n Odd(c2, \"ELK Force\", 1);\n Ccb(DD(hkd(b, (wSb(), jSb)))) || $Cb((d = new _Cb((Pgd(), new bhd(b))), d));\n h = TQb(b);\n XQb(h);\n YQb(a, BD(vNb(h, fSb), 424));\n g = LQb(a.a, h);\n for (f2 = g.Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 231);\n tRb(a.b, e, Udd(c2, 1 / g.gc()));\n }\n h = KQb(g);\n SQb(h);\n Qdd(c2);\n }\n function yoc(a, b) {\n var c2, d, e, f2, g;\n Odd(b, \"Breaking Point Processor\", 1);\n xoc(a);\n if (Ccb(DD(vNb(a, (Nyc(), Jyc))))) {\n for (e = new olb(a.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 29);\n c2 = 0;\n for (g = new olb(d.a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 10);\n f2.p = c2++;\n }\n }\n soc(a);\n toc(a, true);\n toc(a, false);\n }\n Qdd(b);\n }\n function $1c(a, b, c2) {\n var d, e, f2, g, h, i3;\n h = a.c;\n for (g = (!c2.q ? (mmb(), mmb(), kmb) : c2.q).vc().Kc(); g.Ob(); ) {\n f2 = BD(g.Pb(), 42);\n d = !WAb(JAb(new YAb(null, new Kub(h, 16)), new Xxb(new m2c(b, f2)))).sd((EAb(), DAb));\n if (d) {\n i3 = f2.dd();\n if (JD(i3, 4)) {\n e = fvd(i3);\n e != null && (i3 = e);\n }\n b.Ye(BD(f2.cd(), 146), i3);\n }\n }\n }\n function MQd(a, b) {\n var c2, d, e, f2, g;\n if (!b) {\n return null;\n } else {\n f2 = JD(a.Cb, 88) || JD(a.Cb, 99);\n g = !f2 && JD(a.Cb, 322);\n for (d = new Fyd((!b.a && (b.a = new KYd(b, j5, b)), b.a)); d.e != d.i.gc(); ) {\n c2 = BD(Dyd(d), 87);\n e = KQd(c2);\n if (f2 ? JD(e, 88) : g ? JD(e, 148) : !!e) {\n return e;\n }\n }\n return f2 ? (jGd(), _Fd) : (jGd(), YFd);\n }\n }\n function g3b(a, b) {\n var c2, d, e, f2, g, h;\n Odd(b, \"Constraints Postprocessor\", 1);\n g = 0;\n for (f2 = new olb(a.b); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 29);\n h = 0;\n for (d = new olb(e.a); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 10);\n if (c2.k == (j0b(), h0b)) {\n yNb(c2, (Nyc(), nxc), meb(g));\n yNb(c2, Gwc, meb(h));\n ++h;\n }\n }\n ++g;\n }\n Qdd(b);\n }\n function eRc(a, b, c2, d) {\n var e, f2, g, h, i3, j, k;\n i3 = new f7c(c2, d);\n c7c(i3, BD(vNb(b, (mTc(), WSc)), 8));\n for (k = Jsb(b.b, 0); k.b != k.d.c; ) {\n j = BD(Xsb(k), 86);\n P6c(j.e, i3);\n Dsb(a.b, j);\n }\n for (h = Jsb(b.a, 0); h.b != h.d.c; ) {\n g = BD(Xsb(h), 188);\n for (f2 = Jsb(g.a, 0); f2.b != f2.d.c; ) {\n e = BD(Xsb(f2), 8);\n P6c(e, i3);\n }\n Dsb(a.a, g);\n }\n }\n function uid(a, b, c2) {\n var d, e, f2;\n f2 = e1d((O6d(), M6d), a.Tg(), b);\n if (f2) {\n Q6d();\n if (!BD(f2, 66).Oj()) {\n f2 = _1d(q1d(M6d, f2));\n if (!f2) {\n throw vbb(new Wdb(ite + b.ne() + jte));\n }\n }\n e = (d = a.Yg(f2), BD(d >= 0 ? a._g(d, true, true) : sid(a, f2, true), 153));\n BD(e, 215).ml(b, c2);\n } else {\n throw vbb(new Wdb(ite + b.ne() + jte));\n }\n }\n function ROc(a, b) {\n var c2, d, e, f2, g;\n c2 = new Rkb();\n e = LAb(new YAb(null, new Kub(a, 16)), new iPc());\n f2 = LAb(new YAb(null, new Kub(a, 16)), new kPc());\n g = aAb(_zb(OAb(ty(OC(GC(xM, 1), Uhe, 833, 0, [e, f2])), new mPc())));\n for (d = 1; d < g.length; d++) {\n g[d] - g[d - 1] >= 2 * b && Ekb(c2, new bPc(g[d - 1] + b, g[d] - b));\n }\n return c2;\n }\n function AXc(a, b, c2) {\n Odd(c2, \"Eades radial\", 1);\n c2.n && !!b && Tdd(c2, i6d(b), (pgd(), mgd));\n a.d = BD(hkd(b, (MUc(), LUc)), 33);\n a.c = Edb(ED(hkd(b, (ZWc(), VWc))));\n a.e = tXc(BD(hkd(b, WWc), 293));\n a.a = gWc(BD(hkd(b, YWc), 426));\n a.b = jXc(BD(hkd(b, RWc), 340));\n BXc(a);\n c2.n && !!b && Tdd(c2, i6d(b), (pgd(), mgd));\n }\n function Fqd(a, b, c2) {\n var d, e, f2, g, h, j, k, l;\n if (c2) {\n f2 = c2.a.length;\n d = new Yge(f2);\n for (h = (d.b - d.a) * d.c < 0 ? (Xge(), Wge) : new she(d); h.Ob(); ) {\n g = BD(h.Pb(), 19);\n e = Zpd(c2, g.a);\n !!e && (j = Uqd(a, (k = (Fhd(), l = new ppd(), l), !!b && npd(k, b), k), e), Lkd(j, _pd(e, Vte)), grd(e, j), hrd(e, j), crd(a, e, j));\n }\n }\n }\n function UKd(a) {\n var b, c2, d, e, f2, g;\n if (!a.j) {\n g = new HPd();\n b = KKd;\n f2 = b.a.zc(a, b);\n if (f2 == null) {\n for (d = new Fyd(_Kd(a)); d.e != d.i.gc(); ) {\n c2 = BD(Dyd(d), 26);\n e = UKd(c2);\n ytd(g, e);\n wtd(g, c2);\n }\n b.a.Bc(a) != null;\n }\n vud(g);\n a.j = new nNd((BD(qud(ZKd((NFd(), MFd).o), 11), 18), g.i), g.g);\n $Kd(a).b &= -33;\n }\n return a.j;\n }\n function O9d(a) {\n var b, c2, d, e;\n if (a == null) {\n return null;\n } else {\n d = Qge(a, true);\n e = Nwe.length;\n if (dfb(d.substr(d.length - e, e), Nwe)) {\n c2 = d.length;\n if (c2 == 4) {\n b = (BCb(0, d.length), d.charCodeAt(0));\n if (b == 43) {\n return z9d;\n } else if (b == 45) {\n return y9d;\n }\n } else if (c2 == 3) {\n return z9d;\n }\n }\n return new Odb(d);\n }\n }\n function _C(a) {\n var b, c2, d;\n c2 = a.l;\n if ((c2 & c2 - 1) != 0) {\n return -1;\n }\n d = a.m;\n if ((d & d - 1) != 0) {\n return -1;\n }\n b = a.h;\n if ((b & b - 1) != 0) {\n return -1;\n }\n if (b == 0 && d == 0 && c2 == 0) {\n return -1;\n }\n if (b == 0 && d == 0 && c2 != 0) {\n return ieb(c2);\n }\n if (b == 0 && d != 0 && c2 == 0) {\n return ieb(d) + 22;\n }\n if (b != 0 && d == 0 && c2 == 0) {\n return ieb(b) + 44;\n }\n return -1;\n }\n function qbc(a, b) {\n var c2, d, e, f2, g;\n Odd(b, \"Edge joining\", 1);\n c2 = Ccb(DD(vNb(a, (Nyc(), Byc))));\n for (e = new olb(a.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 29);\n g = new Bib(d.a, 0);\n while (g.b < g.d.gc()) {\n f2 = (sCb(g.b < g.d.gc()), BD(g.d.Xb(g.c = g.b++), 10));\n if (f2.k == (j0b(), g0b)) {\n sbc(f2, c2);\n uib(g);\n }\n }\n }\n Qdd(b);\n }\n function c_c(a, b, c2) {\n var d, e;\n H2c(a.b);\n K2c(a.b, (Y$c(), V$c), (R0c(), Q0c));\n K2c(a.b, W$c, b.g);\n K2c(a.b, X$c, b.a);\n a.a = F2c(a.b, b);\n Odd(c2, \"Compaction by shrinking a tree\", a.a.c.length);\n if (b.i.c.length > 1) {\n for (e = new olb(a.a); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 51);\n d.pf(b, Udd(c2, 1));\n }\n }\n Qdd(c2);\n }\n function mo(a, b) {\n var c2, d, e, f2, g;\n e = b.a & a.f;\n f2 = null;\n for (d = a.b[e]; true; d = d.b) {\n if (d == b) {\n !f2 ? a.b[e] = b.b : f2.b = b.b;\n break;\n }\n f2 = d;\n }\n g = b.f & a.f;\n f2 = null;\n for (c2 = a.c[g]; true; c2 = c2.d) {\n if (c2 == b) {\n !f2 ? a.c[g] = b.d : f2.d = b.d;\n break;\n }\n f2 = c2;\n }\n !b.e ? a.a = b.c : b.e.c = b.c;\n !b.c ? a.e = b.e : b.c.e = b.e;\n --a.i;\n ++a.g;\n }\n function eNb(a) {\n var b, c2, d, e, f2, g, h, i3, j, k;\n c2 = a.o;\n b = a.p;\n g = Ohe;\n e = Rie;\n h = Ohe;\n f2 = Rie;\n for (j = 0; j < c2; ++j) {\n for (k = 0; k < b; ++k) {\n if (YMb(a, j, k)) {\n g = $wnd.Math.min(g, j);\n e = $wnd.Math.max(e, j);\n h = $wnd.Math.min(h, k);\n f2 = $wnd.Math.max(f2, k);\n }\n }\n }\n i3 = e - g + 1;\n d = f2 - h + 1;\n return new Ggd(meb(g), meb(h), meb(i3), meb(d));\n }\n function DWb(a, b) {\n var c2, d, e, f2;\n f2 = new Bib(a, 0);\n c2 = (sCb(f2.b < f2.d.gc()), BD(f2.d.Xb(f2.c = f2.b++), 140));\n while (f2.b < f2.d.gc()) {\n d = (sCb(f2.b < f2.d.gc()), BD(f2.d.Xb(f2.c = f2.b++), 140));\n e = new dWb(d.c, c2.d, b);\n sCb(f2.b > 0);\n f2.a.Xb(f2.c = --f2.b);\n Aib(f2, e);\n sCb(f2.b < f2.d.gc());\n f2.d.Xb(f2.c = f2.b++);\n e.a = false;\n c2 = d;\n }\n }\n function Y2b(a) {\n var b, c2, d, e, f2, g;\n e = BD(vNb(a, (wtc(), vsc)), 11);\n for (g = new olb(a.j); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 11);\n for (d = new olb(f2.g); d.a < d.c.c.length; ) {\n b = BD(mlb(d), 17);\n RZb(b, e);\n return f2;\n }\n for (c2 = new olb(f2.e); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 17);\n QZb(b, e);\n return f2;\n }\n }\n return null;\n }\n function iA(a, b, c2) {\n var d, e;\n d = Cbb(c2.q.getTime());\n if (ybb(d, 0) < 0) {\n e = _ie - Tbb(Hbb(Jbb(d), _ie));\n e == _ie && (e = 0);\n } else {\n e = Tbb(Hbb(d, _ie));\n }\n if (b == 1) {\n e = $wnd.Math.min((e + 50) / 100 | 0, 9);\n Kfb(a, 48 + e & aje);\n } else if (b == 2) {\n e = $wnd.Math.min((e + 5) / 10 | 0, 99);\n EA(a, e, 2);\n } else {\n EA(a, e, 3);\n b > 3 && EA(a, 0, b - 3);\n }\n }\n function cUb(a) {\n var b, c2, d, e;\n if (PD(vNb(a, (Nyc(), axc))) === PD((hbd(), ebd))) {\n return !a.e && PD(vNb(a, Cwc)) !== PD((Xrc(), Urc));\n }\n d = BD(vNb(a, Dwc), 292);\n e = Ccb(DD(vNb(a, Hwc))) || PD(vNb(a, Iwc)) === PD((Rpc(), Opc));\n b = BD(vNb(a, Bwc), 19).a;\n c2 = a.a.c.length;\n return !e && d != (Xrc(), Urc) && (b == 0 || b > c2);\n }\n function lkc(a) {\n var b, c2;\n c2 = 0;\n for (; c2 < a.c.length; c2++) {\n if (Ojc((tCb(c2, a.c.length), BD(a.c[c2], 113))) > 0) {\n break;\n }\n }\n if (c2 > 0 && c2 < a.c.length - 1) {\n return c2;\n }\n b = 0;\n for (; b < a.c.length; b++) {\n if (Ojc((tCb(b, a.c.length), BD(a.c[b], 113))) > 0) {\n break;\n }\n }\n if (b > 0 && c2 < a.c.length - 1) {\n return b;\n }\n return a.c.length / 2 | 0;\n }\n function mmd(a, b) {\n var c2, d;\n if (b != a.Cb || a.Db >> 16 != 6 && !!b) {\n if (p6d(a, b))\n throw vbb(new Wdb(ste + qmd(a)));\n d = null;\n !!a.Cb && (d = (c2 = a.Db >> 16, c2 >= 0 ? cmd(a, d) : a.Cb.ih(a, -1 - c2, null, d)));\n !!b && (d = kid(b, a, 6, d));\n d = bmd(a, b, d);\n !!d && d.Fi();\n } else\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 6, b, b));\n }\n function npd(a, b) {\n var c2, d;\n if (b != a.Cb || a.Db >> 16 != 9 && !!b) {\n if (p6d(a, b))\n throw vbb(new Wdb(ste + opd(a)));\n d = null;\n !!a.Cb && (d = (c2 = a.Db >> 16, c2 >= 0 ? lpd(a, d) : a.Cb.ih(a, -1 - c2, null, d)));\n !!b && (d = kid(b, a, 9, d));\n d = kpd(a, b, d);\n !!d && d.Fi();\n } else\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 9, b, b));\n }\n function Rld(a, b) {\n var c2, d;\n if (b != a.Cb || a.Db >> 16 != 3 && !!b) {\n if (p6d(a, b))\n throw vbb(new Wdb(ste + Sld(a)));\n d = null;\n !!a.Cb && (d = (c2 = a.Db >> 16, c2 >= 0 ? Lld(a, d) : a.Cb.ih(a, -1 - c2, null, d)));\n !!b && (d = kid(b, a, 12, d));\n d = Kld(a, b, d);\n !!d && d.Fi();\n } else\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 3, b, b));\n }\n function VId(b) {\n var c2, d, e, f2, g;\n e = wId(b);\n g = b.j;\n if (g == null && !!e) {\n return b.$j() ? null : e.zj();\n } else if (JD(e, 148)) {\n d = e.Aj();\n if (d) {\n f2 = d.Nh();\n if (f2 != b.i) {\n c2 = BD(e, 148);\n if (c2.Ej()) {\n try {\n b.g = f2.Kh(c2, g);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 78)) {\n b.g = null;\n } else\n throw vbb(a);\n }\n }\n b.i = f2;\n }\n }\n return b.g;\n }\n return null;\n }\n function wOb(a) {\n var b;\n b = new Rkb();\n Ekb(b, new aDb(new f7c(a.c, a.d), new f7c(a.c + a.b, a.d)));\n Ekb(b, new aDb(new f7c(a.c, a.d), new f7c(a.c, a.d + a.a)));\n Ekb(b, new aDb(new f7c(a.c + a.b, a.d + a.a), new f7c(a.c + a.b, a.d)));\n Ekb(b, new aDb(new f7c(a.c + a.b, a.d + a.a), new f7c(a.c, a.d + a.a)));\n return b;\n }\n function IJc(a, b, c2, d) {\n var e, f2, g;\n g = LZb(b, c2);\n d.c[d.c.length] = b;\n if (a.j[g.p] == -1 || a.j[g.p] == 2 || a.a[b.p]) {\n return d;\n }\n a.j[g.p] = -1;\n for (f2 = new Sr(ur(O_b(g).a.Kc(), new Sq())); Qr(f2); ) {\n e = BD(Rr(f2), 17);\n if (!(!OZb(e) && !(!OZb(e) && e.c.i.c == e.d.i.c)) || e == b) {\n continue;\n }\n return IJc(a, e, g, d);\n }\n return d;\n }\n function vQb(a, b, c2) {\n var d, e, f2;\n for (f2 = b.a.ec().Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 79);\n d = BD(Ohb(a.b, e), 266);\n !d && (Xod(jtd(e)) == Xod(ltd(e)) ? uQb(a, e, c2) : jtd(e) == Xod(ltd(e)) ? Ohb(a.c, e) == null && Ohb(a.b, ltd(e)) != null && xQb(a, e, c2, false) : Ohb(a.d, e) == null && Ohb(a.b, jtd(e)) != null && xQb(a, e, c2, true));\n }\n }\n function jcc(a, b) {\n var c2, d, e, f2, g, h, i3;\n for (e = a.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 10);\n h = new H0b();\n F0b(h, d);\n G0b(h, (Ucd(), zcd));\n yNb(h, (wtc(), ftc), (Bcb(), true));\n for (g = b.Kc(); g.Ob(); ) {\n f2 = BD(g.Pb(), 10);\n i3 = new H0b();\n F0b(i3, f2);\n G0b(i3, Tcd);\n yNb(i3, ftc, true);\n c2 = new UZb();\n yNb(c2, ftc, true);\n QZb(c2, h);\n RZb(c2, i3);\n }\n }\n }\n function jnc(a, b, c2, d) {\n var e, f2, g, h;\n e = hnc(a, b, c2);\n f2 = hnc(a, c2, b);\n g = BD(Ohb(a.c, b), 112);\n h = BD(Ohb(a.c, c2), 112);\n if (e < f2) {\n new DOc((HOc(), GOc), g, h, f2 - e);\n } else if (f2 < e) {\n new DOc((HOc(), GOc), h, g, e - f2);\n } else if (e != 0 || !(!b.i || !c2.i) && d[b.i.c][c2.i.c]) {\n new DOc((HOc(), GOc), g, h, 0);\n new DOc(GOc, h, g, 0);\n }\n }\n function Qoc(a, b) {\n var c2, d, e, f2, g, h, i3;\n e = 0;\n for (g = new olb(b.a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 10);\n e += f2.o.b + f2.d.a + f2.d.d + a.e;\n for (d = new Sr(ur(R_b(f2).a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 17);\n if (c2.c.i.k == (j0b(), i0b)) {\n i3 = c2.c.i;\n h = BD(vNb(i3, (wtc(), $sc)), 10);\n e += h.o.b + h.d.a + h.d.d;\n }\n }\n }\n return e;\n }\n function WNc(a, b, c2) {\n var d, e, f2, g, h, i3, j;\n f2 = new Rkb();\n j = new Psb();\n g = new Psb();\n XNc(a, j, g, b);\n VNc(a, j, g, b, c2);\n for (i3 = new olb(a); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 112);\n for (e = new olb(h.k); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 129);\n (!b || d.c == (HOc(), FOc)) && h.g > d.b.g && (f2.c[f2.c.length] = d, true);\n }\n }\n return f2;\n }\n function k$c() {\n k$c = ccb;\n g$c = new l$c(\"CANDIDATE_POSITION_LAST_PLACED_RIGHT\", 0);\n f$c = new l$c(\"CANDIDATE_POSITION_LAST_PLACED_BELOW\", 1);\n i$c = new l$c(\"CANDIDATE_POSITION_WHOLE_DRAWING_RIGHT\", 2);\n h$c = new l$c(\"CANDIDATE_POSITION_WHOLE_DRAWING_BELOW\", 3);\n j$c = new l$c(\"WHOLE_DRAWING\", 4);\n }\n function Xqd(a, b) {\n if (JD(b, 239)) {\n return iqd(a, BD(b, 33));\n } else if (JD(b, 186)) {\n return jqd(a, BD(b, 118));\n } else if (JD(b, 354)) {\n return hqd(a, BD(b, 137));\n } else if (JD(b, 352)) {\n return gqd(a, BD(b, 79));\n } else if (b) {\n return null;\n } else {\n throw vbb(new Wdb(Xte + Fe(new amb(OC(GC(SI, 1), Uhe, 1, 5, [b])))));\n }\n }\n function aic(a) {\n var b, c2, d, e, f2, g, h;\n f2 = new Psb();\n for (e = new olb(a.d.a); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 121);\n d.b.a.c.length == 0 && (Gsb(f2, d, f2.c.b, f2.c), true);\n }\n if (f2.b > 1) {\n b = nGb((c2 = new pGb(), ++a.b, c2), a.d);\n for (h = Jsb(f2, 0); h.b != h.d.c; ) {\n g = BD(Xsb(h), 121);\n AFb(DFb(CFb(EFb(BFb(new FFb(), 1), 0), b), g));\n }\n }\n }\n function $od(a, b) {\n var c2, d;\n if (b != a.Cb || a.Db >> 16 != 11 && !!b) {\n if (p6d(a, b))\n throw vbb(new Wdb(ste + _od(a)));\n d = null;\n !!a.Cb && (d = (c2 = a.Db >> 16, c2 >= 0 ? Uod(a, d) : a.Cb.ih(a, -1 - c2, null, d)));\n !!b && (d = kid(b, a, 10, d));\n d = Tod(a, b, d);\n !!d && d.Fi();\n } else\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 11, b, b));\n }\n function uZb(a) {\n var b, c2, d, e;\n for (d = new nib(new eib(a.b).a); d.b; ) {\n c2 = lib(d);\n e = BD(c2.cd(), 11);\n b = BD(c2.dd(), 10);\n yNb(b, (wtc(), $sc), e);\n yNb(e, gtc, b);\n yNb(e, Nsc, (Bcb(), true));\n G0b(e, BD(vNb(b, Hsc), 61));\n vNb(b, Hsc);\n yNb(e.i, (Nyc(), Vxc), (dcd(), acd));\n BD(vNb(Q_b(e.i), Ksc), 21).Fc((Orc(), Krc));\n }\n }\n function G4b(a, b, c2) {\n var d, e, f2, g, h, i3;\n f2 = 0;\n g = 0;\n if (a.c) {\n for (i3 = new olb(a.d.i.j); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 11);\n f2 += h.e.c.length;\n }\n } else {\n f2 = 1;\n }\n if (a.d) {\n for (i3 = new olb(a.c.i.j); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 11);\n g += h.g.c.length;\n }\n } else {\n g = 1;\n }\n e = QD(Eeb(g - f2));\n d = (c2 + b) / 2 + (c2 - b) * (0.4 * e);\n return d;\n }\n function Zjc(a) {\n Xjc();\n var b, c2;\n if (a.Hc((Ucd(), Scd))) {\n throw vbb(new Wdb(\"Port sides must not contain UNDEFINED\"));\n }\n switch (a.gc()) {\n case 1:\n return Tjc;\n case 2:\n b = a.Hc(zcd) && a.Hc(Tcd);\n c2 = a.Hc(Acd) && a.Hc(Rcd);\n return b || c2 ? Wjc : Vjc;\n case 3:\n return Ujc;\n case 4:\n return Sjc;\n default:\n return null;\n }\n }\n function Hoc(a, b, c2) {\n var d, e, f2, g, h;\n Odd(c2, \"Breaking Point Removing\", 1);\n a.a = BD(vNb(b, (Nyc(), Swc)), 218);\n for (f2 = new olb(b.b); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 29);\n for (h = new olb(Mu(e.a)); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 10);\n if (hoc(g)) {\n d = BD(vNb(g, (wtc(), usc)), 305);\n !d.d && Ioc(a, d);\n }\n }\n }\n Qdd(c2);\n }\n function s6c(a, b, c2) {\n i6c();\n if (m6c(a, b) && m6c(a, c2)) {\n return false;\n }\n return u6c(new f7c(a.c, a.d), new f7c(a.c + a.b, a.d), b, c2) || u6c(new f7c(a.c + a.b, a.d), new f7c(a.c + a.b, a.d + a.a), b, c2) || u6c(new f7c(a.c + a.b, a.d + a.a), new f7c(a.c, a.d + a.a), b, c2) || u6c(new f7c(a.c, a.d + a.a), new f7c(a.c, a.d), b, c2);\n }\n function x1d(a, b) {\n var c2, d, e, f2;\n if (!a.dc()) {\n for (c2 = 0, d = a.gc(); c2 < d; ++c2) {\n f2 = GD(a.Xb(c2));\n if (f2 == null ? b == null : dfb(f2.substr(0, 3), \"!##\") ? b != null && (e = b.length, !dfb(f2.substr(f2.length - e, e), b) || f2.length != b.length + 3) && !dfb(Ewe, b) : dfb(f2, Fwe) && !dfb(Ewe, b) || dfb(f2, b)) {\n return true;\n }\n }\n }\n return false;\n }\n function J3b(a, b, c2, d) {\n var e, f2, g, h, i3, j;\n g = a.j.c.length;\n i3 = KC(tN, ile, 306, g, 0, 1);\n for (h = 0; h < g; h++) {\n f2 = BD(Ikb(a.j, h), 11);\n f2.p = h;\n i3[h] = D3b(N3b(f2), c2, d);\n }\n F3b(a, i3, c2, b, d);\n j = new Lqb();\n for (e = 0; e < i3.length; e++) {\n !!i3[e] && Rhb(j, BD(Ikb(a.j, e), 11), i3[e]);\n }\n if (j.f.c + j.g.c != 0) {\n yNb(a, (wtc(), Csc), j);\n L3b(a, i3);\n }\n }\n function Lgc(a, b, c2) {\n var d, e, f2;\n for (e = new olb(a.a.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 57);\n f2 = tgc(d);\n if (f2) {\n if (f2.k == (j0b(), e0b)) {\n switch (BD(vNb(f2, (wtc(), Hsc)), 61).g) {\n case 4:\n f2.n.a = b.a;\n break;\n case 2:\n f2.n.a = c2.a - (f2.o.a + f2.d.c);\n break;\n case 1:\n f2.n.b = b.b;\n break;\n case 3:\n f2.n.b = c2.b - (f2.o.b + f2.d.a);\n }\n }\n }\n }\n }\n function kAc() {\n kAc = ccb;\n iAc = new lAc(ane, 0);\n dAc = new lAc(\"NIKOLOV\", 1);\n gAc = new lAc(\"NIKOLOV_PIXEL\", 2);\n eAc = new lAc(\"NIKOLOV_IMPROVED\", 3);\n fAc = new lAc(\"NIKOLOV_IMPROVED_PIXEL\", 4);\n cAc = new lAc(\"DUMMYNODE_PERCENTAGE\", 5);\n hAc = new lAc(\"NODECOUNT_PERCENTAGE\", 6);\n jAc = new lAc(\"NO_BOUNDARY\", 7);\n }\n function led(a, b, c2) {\n var d, e, f2, g, h;\n e = BD(hkd(b, (X7c(), V7c)), 19);\n !e && (e = meb(0));\n f2 = BD(hkd(c2, V7c), 19);\n !f2 && (f2 = meb(0));\n if (e.a > f2.a) {\n return -1;\n } else if (e.a < f2.a) {\n return 1;\n } else {\n if (a.a) {\n d = Kdb(b.j, c2.j);\n if (d != 0) {\n return d;\n }\n d = Kdb(b.i, c2.i);\n if (d != 0) {\n return d;\n }\n }\n g = b.g * b.f;\n h = c2.g * c2.f;\n return Kdb(g, h);\n }\n }\n function BAd(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l;\n ++a.e;\n i3 = a.d == null ? 0 : a.d.length;\n if (b > i3) {\n k = a.d;\n a.d = KC(y4, jve, 63, 2 * i3 + 4, 0, 1);\n for (f2 = 0; f2 < i3; ++f2) {\n j = k[f2];\n if (j) {\n d = j.g;\n l = j.i;\n for (h = 0; h < l; ++h) {\n e = BD(d[h], 133);\n g = DAd(a, e.Sh());\n c2 = a.d[g];\n !c2 && (c2 = a.d[g] = a.uj());\n c2.Fc(e);\n }\n }\n }\n return true;\n } else {\n return false;\n }\n }\n function o2d(a, b, c2) {\n var d, e, f2, g, h, i3;\n e = c2;\n f2 = e.ak();\n if (T6d(a.e, f2)) {\n if (f2.hi()) {\n d = BD(a.g, 119);\n for (g = 0; g < a.i; ++g) {\n h = d[g];\n if (pb(h, e) && g != b) {\n throw vbb(new Wdb(kue));\n }\n }\n }\n } else {\n i3 = S6d(a.e.Tg(), f2);\n d = BD(a.g, 119);\n for (g = 0; g < a.i; ++g) {\n h = d[g];\n if (i3.rl(h.ak())) {\n throw vbb(new Wdb(Hwe));\n }\n }\n }\n vtd(a, b, c2);\n }\n function OYb(a, b) {\n var c2, d, e, f2, g, h;\n c2 = BD(vNb(b, (wtc(), Esc)), 21);\n g = BD(Qc((xXb(), wXb), c2), 21);\n h = BD(Qc(LYb, c2), 21);\n for (f2 = g.Kc(); f2.Ob(); ) {\n d = BD(f2.Pb(), 21);\n if (!BD(Qc(a.b, d), 15).dc()) {\n return false;\n }\n }\n for (e = h.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 21);\n if (!BD(Qc(a.b, d), 15).dc()) {\n return false;\n }\n }\n return true;\n }\n function scc(a, b) {\n var c2, d, e, f2, g, h;\n Odd(b, \"Partition postprocessing\", 1);\n for (d = new olb(a.b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 29);\n for (f2 = new olb(c2.a); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 10);\n h = new olb(e.j);\n while (h.a < h.c.c.length) {\n g = BD(mlb(h), 11);\n Ccb(DD(vNb(g, (wtc(), ftc)))) && nlb(h);\n }\n }\n }\n Qdd(b);\n }\n function ZZc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n if (a.a.c.length == 1) {\n return JZc(BD(Ikb(a.a, 0), 187), b);\n }\n g = YZc(a);\n i3 = 0;\n j = a.d;\n f2 = g;\n k = a.d;\n h = (j - f2) / 2 + f2;\n while (f2 + 1 < j) {\n i3 = 0;\n for (d = new olb(a.a); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 187);\n i3 += (e = MZc(c2, h, false), e.a);\n }\n if (i3 < b) {\n k = h;\n j = h;\n } else {\n f2 = h;\n }\n h = (j - f2) / 2 + f2;\n }\n return k;\n }\n function fD(a) {\n var b, c2, d, e, f2;\n if (isNaN(a)) {\n return wD(), vD;\n }\n if (a < -9223372036854776e3) {\n return wD(), tD;\n }\n if (a >= 9223372036854776e3) {\n return wD(), sD;\n }\n e = false;\n if (a < 0) {\n e = true;\n a = -a;\n }\n d = 0;\n if (a >= Ije) {\n d = QD(a / Ije);\n a -= d * Ije;\n }\n c2 = 0;\n if (a >= Hje) {\n c2 = QD(a / Hje);\n a -= c2 * Hje;\n }\n b = QD(a);\n f2 = TC(b, c2, d);\n e && ZC(f2);\n return f2;\n }\n function rKb(a, b) {\n var c2, d, e, f2;\n c2 = !b || !a.u.Hc((rcd(), ncd));\n f2 = 0;\n for (e = new olb(a.e.Cf()); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 838);\n if (d.Hf() == (Ucd(), Scd)) {\n throw vbb(new Wdb(\"Label and node size calculator can only be used with ports that have port sides assigned.\"));\n }\n d.vf(f2++);\n qKb(a, d, c2);\n }\n }\n function V0d(a, b) {\n var c2, d, e, f2, g;\n e = b.Hh(a.a);\n if (e) {\n d = (!e.b && (e.b = new sId((jGd(), fGd), x6, e)), e.b);\n c2 = GD(AAd(d, cwe));\n if (c2 != null) {\n f2 = c2.lastIndexOf(\"#\");\n g = f2 == -1 ? w1d(a, b.Aj(), c2) : f2 == 0 ? v1d(a, null, c2.substr(1)) : v1d(a, c2.substr(0, f2), c2.substr(f2 + 1));\n if (JD(g, 148)) {\n return BD(g, 148);\n }\n }\n }\n return null;\n }\n function Z0d(a, b) {\n var c2, d, e, f2, g;\n d = b.Hh(a.a);\n if (d) {\n c2 = (!d.b && (d.b = new sId((jGd(), fGd), x6, d)), d.b);\n f2 = GD(AAd(c2, zwe));\n if (f2 != null) {\n e = f2.lastIndexOf(\"#\");\n g = e == -1 ? w1d(a, b.Aj(), f2) : e == 0 ? v1d(a, null, f2.substr(1)) : v1d(a, f2.substr(0, e), f2.substr(e + 1));\n if (JD(g, 148)) {\n return BD(g, 148);\n }\n }\n }\n return null;\n }\n function RDb(a) {\n var b, c2, d, e, f2;\n for (c2 = new olb(a.a.a); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 307);\n b.j = null;\n for (f2 = b.a.a.ec().Kc(); f2.Ob(); ) {\n d = BD(f2.Pb(), 57);\n X6c(d.b);\n (!b.j || d.d.c < b.j.d.c) && (b.j = d);\n }\n for (e = b.a.a.ec().Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 57);\n d.b.a = d.d.c - b.j.d.c;\n d.b.b = d.d.d - b.j.d.d;\n }\n }\n return a;\n }\n function sVb(a) {\n var b, c2, d, e, f2;\n for (c2 = new olb(a.a.a); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 189);\n b.f = null;\n for (f2 = b.a.a.ec().Kc(); f2.Ob(); ) {\n d = BD(f2.Pb(), 81);\n X6c(d.e);\n (!b.f || d.g.c < b.f.g.c) && (b.f = d);\n }\n for (e = b.a.a.ec().Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 81);\n d.e.a = d.g.c - b.f.g.c;\n d.e.b = d.g.d - b.f.g.d;\n }\n }\n return a;\n }\n function EMb(a) {\n var b, c2, d;\n c2 = BD(a.a, 19).a;\n d = BD(a.b, 19).a;\n b = $wnd.Math.max($wnd.Math.abs(c2), $wnd.Math.abs(d));\n if (c2 < b && d == -b) {\n return new vgd(meb(c2 + 1), meb(d));\n }\n if (c2 == b && d < b) {\n return new vgd(meb(c2), meb(d + 1));\n }\n if (c2 >= -b && d == b) {\n return new vgd(meb(c2 - 1), meb(d));\n }\n return new vgd(meb(c2), meb(d - 1));\n }\n function W8b() {\n S8b();\n return OC(GC(AS, 1), Kie, 77, 0, [Y7b, V7b, Z7b, n8b, G8b, r8b, M8b, w8b, E8b, i8b, A8b, v8b, F8b, e8b, O8b, P7b, z8b, I8b, o8b, H8b, Q8b, C8b, Q7b, D8b, R8b, K8b, P8b, p8b, b8b, q8b, m8b, N8b, T7b, _7b, t8b, S7b, u8b, k8b, f8b, x8b, h8b, W7b, U7b, l8b, g8b, y8b, L8b, R7b, B8b, j8b, s8b, c8b, a8b, J8b, $7b, d8b, X7b]);\n }\n function Yic(a, b, c2) {\n a.d = 0;\n a.b = 0;\n b.k == (j0b(), i0b) && c2.k == i0b && BD(vNb(b, (wtc(), $sc)), 10) == BD(vNb(c2, $sc), 10) && (ajc(b).j == (Ucd(), Acd) ? Zic(a, b, c2) : Zic(a, c2, b));\n b.k == i0b && c2.k == g0b ? ajc(b).j == (Ucd(), Acd) ? a.d = 1 : a.b = 1 : c2.k == i0b && b.k == g0b && (ajc(c2).j == (Ucd(), Acd) ? a.b = 1 : a.d = 1);\n cjc(a, b, c2);\n }\n function esd(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l;\n l = hsd(a);\n b = a.a;\n i3 = b != null;\n i3 && Upd(l, \"category\", a.a);\n e = Fhe(new Pib(a.d));\n g = !e;\n if (g) {\n j = new wB();\n cC(l, \"knownOptions\", j);\n c2 = new msd(j);\n reb(new Pib(a.d), c2);\n }\n f2 = Fhe(a.g);\n h = !f2;\n if (h) {\n k = new wB();\n cC(l, \"supportedFeatures\", k);\n d = new osd(k);\n reb(a.g, d);\n }\n return l;\n }\n function ty(a) {\n var b, c2, d, e, f2, g, h, i3, j;\n d = false;\n b = 336;\n c2 = 0;\n f2 = new Xp(a.length);\n for (h = a, i3 = 0, j = h.length; i3 < j; ++i3) {\n g = h[i3];\n d = d | (Uzb(g), false);\n e = (Tzb(g), g.a);\n Ekb(f2.a, Qb(e));\n b &= e.qd();\n c2 = Ly(c2, e.rd());\n }\n return BD(BD(Rzb(new YAb(null, Yj(new Kub((im(), nm(f2.a)), 16), new vy(), b, c2)), new xy(a)), 670), 833);\n }\n function UWb(a, b) {\n var c2;\n if (!!a.d && (b.c != a.e.c || qWb(a.e.b, b.b))) {\n Ekb(a.f, a.d);\n a.a = a.d.c + a.d.b;\n a.d = null;\n a.e = null;\n }\n nWb(b.b) ? a.c = b : a.b = b;\n if (b.b == (lWb(), hWb) && !b.a || b.b == iWb && b.a || b.b == jWb && b.a || b.b == kWb && !b.a) {\n if (!!a.c && !!a.b) {\n c2 = new J6c(a.a, a.c.d, b.c - a.a, a.b.d - a.c.d);\n a.d = c2;\n a.e = b;\n }\n }\n }\n function L2c(a) {\n var b;\n D2c.call(this);\n this.i = new Z2c();\n this.g = a;\n this.f = BD(a.e && a.e(), 9).length;\n if (this.f == 0) {\n throw vbb(new Wdb(\"There must be at least one phase in the phase enumeration.\"));\n }\n this.c = (b = BD(gdb(this.g), 9), new xqb(b, BD(_Bb(b, b.length), 9), 0));\n this.a = new j3c();\n this.b = new Lqb();\n }\n function God(a, b) {\n var c2, d;\n if (b != a.Cb || a.Db >> 16 != 7 && !!b) {\n if (p6d(a, b))\n throw vbb(new Wdb(ste + Iod(a)));\n d = null;\n !!a.Cb && (d = (c2 = a.Db >> 16, c2 >= 0 ? Eod(a, d) : a.Cb.ih(a, -1 - c2, null, d)));\n !!b && (d = BD(b, 49).gh(a, 1, C2, d));\n d = Dod(a, b, d);\n !!d && d.Fi();\n } else\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 7, b, b));\n }\n function NHd(a, b) {\n var c2, d;\n if (b != a.Cb || a.Db >> 16 != 3 && !!b) {\n if (p6d(a, b))\n throw vbb(new Wdb(ste + QHd(a)));\n d = null;\n !!a.Cb && (d = (c2 = a.Db >> 16, c2 >= 0 ? KHd(a, d) : a.Cb.ih(a, -1 - c2, null, d)));\n !!b && (d = BD(b, 49).gh(a, 0, k5, d));\n d = JHd(a, b, d);\n !!d && d.Fi();\n } else\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 3, b, b));\n }\n function Ehb(a, b) {\n Dhb();\n var c2, d, e, f2, g, h, i3, j, k;\n if (b.d > a.d) {\n h = a;\n a = b;\n b = h;\n }\n if (b.d < 63) {\n return Ihb(a, b);\n }\n g = (a.d & -2) << 4;\n j = Rgb2(a, g);\n k = Rgb2(b, g);\n d = yhb(a, Qgb(j, g));\n e = yhb(b, Qgb(k, g));\n i3 = Ehb(j, k);\n c2 = Ehb(d, e);\n f2 = Ehb(yhb(j, d), yhb(e, k));\n f2 = thb(thb(f2, i3), c2);\n f2 = Qgb(f2, g);\n i3 = Qgb(i3, g << 1);\n return thb(thb(i3, f2), c2);\n }\n function aGc(a, b, c2) {\n var d, e, f2, g, h;\n g = CHc(a, c2);\n h = KC(OQ, kne, 10, b.length, 0, 1);\n d = 0;\n for (f2 = g.Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 11);\n Ccb(DD(vNb(e, (wtc(), Nsc)))) && (h[d++] = BD(vNb(e, gtc), 10));\n }\n if (d < b.length) {\n throw vbb(new Zdb(\"Expected \" + b.length + \" hierarchical ports, but found only \" + d + \".\"));\n }\n return h;\n }\n function Und(a, b) {\n var c2, d, e, f2, g, h;\n if (!a.tb) {\n f2 = (!a.rb && (a.rb = new jUd(a, d5, a)), a.rb);\n h = new Mqb(f2.i);\n for (e = new Fyd(f2); e.e != e.i.gc(); ) {\n d = BD(Dyd(e), 138);\n g = d.ne();\n c2 = BD(g == null ? jrb(h.f, null, d) : Drb(h.g, g, d), 138);\n !!c2 && (g == null ? jrb(h.f, null, c2) : Drb(h.g, g, c2));\n }\n a.tb = h;\n }\n return BD(Phb(a.tb, b), 138);\n }\n function YKd(a, b) {\n var c2, d, e, f2, g;\n (a.i == null && TKd(a), a.i).length;\n if (!a.p) {\n g = new Mqb((3 * a.g.i / 2 | 0) + 1);\n for (e = new $yd(a.g); e.e != e.i.gc(); ) {\n d = BD(Zyd(e), 170);\n f2 = d.ne();\n c2 = BD(f2 == null ? jrb(g.f, null, d) : Drb(g.g, f2, d), 170);\n !!c2 && (f2 == null ? jrb(g.f, null, c2) : Drb(g.g, f2, c2));\n }\n a.p = g;\n }\n return BD(Phb(a.p, b), 170);\n }\n function hCb(a, b, c2, d, e) {\n var f2, g, h, i3, j;\n fCb(d + Wy(c2, c2.$d()), e);\n gCb(b, jCb(c2));\n f2 = c2.f;\n !!f2 && hCb(a, b, f2, \"Caused by: \", false);\n for (h = (c2.k == null && (c2.k = KC(_I, nie, 78, 0, 0, 1)), c2.k), i3 = 0, j = h.length; i3 < j; ++i3) {\n g = h[i3];\n hCb(a, b, g, \"Suppressed: \", false);\n }\n console.groupEnd != null && console.groupEnd.call(console);\n }\n function dGc(a, b, c2, d) {\n var e, f2, g, h, i3;\n i3 = b.e;\n h = i3.length;\n g = b.q._f(i3, c2 ? 0 : h - 1, c2);\n e = i3[c2 ? 0 : h - 1];\n g = g | cGc(a, e, c2, d);\n for (f2 = c2 ? 1 : h - 2; c2 ? f2 < h : f2 >= 0; f2 += c2 ? 1 : -1) {\n g = g | b.c.Sf(i3, f2, c2, d && !Ccb(DD(vNb(b.j, (wtc(), Jsc)))) && !Ccb(DD(vNb(b.j, (wtc(), mtc)))));\n g = g | b.q._f(i3, f2, c2);\n g = g | cGc(a, i3[f2], c2, d);\n }\n Qqb(a.c, b);\n return g;\n }\n function o3b(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m;\n for (k = m_b(a.j), l = 0, m = k.length; l < m; ++l) {\n j = k[l];\n if (c2 == (KAc(), HAc) || c2 == JAc) {\n i3 = k_b(j.g);\n for (e = i3, f2 = 0, g = e.length; f2 < g; ++f2) {\n d = e[f2];\n k3b(b, d) && PZb(d, true);\n }\n }\n if (c2 == IAc || c2 == JAc) {\n h = k_b(j.e);\n for (e = h, f2 = 0, g = e.length; f2 < g; ++f2) {\n d = e[f2];\n j3b(b, d) && PZb(d, true);\n }\n }\n }\n }\n function Qmc(a) {\n var b, c2;\n b = null;\n c2 = null;\n switch (Lmc(a).g) {\n case 1:\n b = (Ucd(), zcd);\n c2 = Tcd;\n break;\n case 2:\n b = (Ucd(), Rcd);\n c2 = Acd;\n break;\n case 3:\n b = (Ucd(), Tcd);\n c2 = zcd;\n break;\n case 4:\n b = (Ucd(), Acd);\n c2 = Rcd;\n }\n mjc(a, BD(Btb(RAb(BD(Qc(a.k, b), 15).Oc(), Hmc)), 113));\n njc(a, BD(Btb(QAb(BD(Qc(a.k, c2), 15).Oc(), Hmc)), 113));\n }\n function a6b(a) {\n var b, c2, d, e, f2, g;\n e = BD(Ikb(a.j, 0), 11);\n if (e.e.c.length + e.g.c.length == 0) {\n a.n.a = 0;\n } else {\n g = 0;\n for (d = ul(pl(OC(GC(KI, 1), Uhe, 20, 0, [new J0b(e), new R0b(e)]))); Qr(d); ) {\n c2 = BD(Rr(d), 11);\n g += c2.i.n.a + c2.n.a + c2.a.a;\n }\n b = BD(vNb(a, (Nyc(), Txc)), 8);\n f2 = !b ? 0 : b.a;\n a.n.a = g / (e.e.c.length + e.g.c.length) - f2;\n }\n }\n function F1c(a, b) {\n var c2, d, e;\n for (d = new olb(b.a); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 221);\n $Nb(BD(c2.b, 65), c7c(R6c(BD(b.b, 65).c), BD(b.b, 65).a));\n e = xOb(BD(b.b, 65).b, BD(c2.b, 65).b);\n e > 1 && (a.a = true);\n ZNb(BD(c2.b, 65), P6c(R6c(BD(b.b, 65).c), Y6c(c7c(R6c(BD(c2.b, 65).a), BD(b.b, 65).a), e)));\n D1c(a, b);\n F1c(a, c2);\n }\n }\n function rVb(a) {\n var b, c2, d, e, f2, g, h;\n for (f2 = new olb(a.a.a); f2.a < f2.c.c.length; ) {\n d = BD(mlb(f2), 189);\n d.e = 0;\n d.d.a.$b();\n }\n for (e = new olb(a.a.a); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 189);\n for (c2 = d.a.a.ec().Kc(); c2.Ob(); ) {\n b = BD(c2.Pb(), 81);\n for (h = b.f.Kc(); h.Ob(); ) {\n g = BD(h.Pb(), 81);\n if (g.d != d) {\n Qqb(d.d, g);\n ++g.d.e;\n }\n }\n }\n }\n }\n function bcc(a) {\n var b, c2, d, e, f2, g, h, i3;\n i3 = a.j.c.length;\n c2 = 0;\n b = i3;\n e = 2 * i3;\n for (h = new olb(a.j); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 11);\n switch (g.j.g) {\n case 2:\n case 4:\n g.p = -1;\n break;\n case 1:\n case 3:\n d = g.e.c.length;\n f2 = g.g.c.length;\n d > 0 && f2 > 0 ? g.p = b++ : d > 0 ? g.p = c2++ : f2 > 0 ? g.p = e++ : g.p = c2++;\n }\n }\n mmb();\n Okb(a.j, new fcc());\n }\n function Vec(a) {\n var b, c2;\n c2 = null;\n b = BD(Ikb(a.g, 0), 17);\n do {\n c2 = b.d.i;\n if (wNb(c2, (wtc(), Wsc))) {\n return BD(vNb(c2, Wsc), 11).i;\n }\n if (c2.k != (j0b(), h0b) && Qr(new Sr(ur(U_b(c2).a.Kc(), new Sq())))) {\n b = BD(Rr(new Sr(ur(U_b(c2).a.Kc(), new Sq()))), 17);\n } else if (c2.k != h0b) {\n return null;\n }\n } while (!!c2 && c2.k != (j0b(), h0b));\n return c2;\n }\n function Omc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n h = b.j;\n g = b.g;\n i3 = BD(Ikb(h, h.c.length - 1), 113);\n k = (tCb(0, h.c.length), BD(h.c[0], 113));\n j = Kmc(a, g, i3, k);\n for (f2 = 1; f2 < h.c.length; f2++) {\n c2 = (tCb(f2 - 1, h.c.length), BD(h.c[f2 - 1], 113));\n e = (tCb(f2, h.c.length), BD(h.c[f2], 113));\n d = Kmc(a, g, c2, e);\n if (d > j) {\n i3 = c2;\n k = e;\n j = d;\n }\n }\n b.a = k;\n b.c = i3;\n }\n function sEb(a, b) {\n var c2, d;\n d = Axb(a.b, b.b);\n if (!d) {\n throw vbb(new Zdb(\"Invalid hitboxes for scanline constraint calculation.\"));\n }\n (mEb(b.b, BD(Cxb(a.b, b.b), 57)) || mEb(b.b, BD(Bxb(a.b, b.b), 57))) && (Zfb(), b.b + \" has overlap.\");\n a.a[b.b.f] = BD(Exb(a.b, b.b), 57);\n c2 = BD(Dxb(a.b, b.b), 57);\n !!c2 && (a.a[c2.f] = b.b);\n }\n function AFb(a) {\n if (!a.a.d || !a.a.e) {\n throw vbb(new Zdb((fdb(fN), fN.k + \" must have a source and target \" + (fdb(jN), jN.k) + \" specified.\")));\n }\n if (a.a.d == a.a.e) {\n throw vbb(new Zdb(\"Network simplex does not support self-loops: \" + a.a + \" \" + a.a.d + \" \" + a.a.e));\n }\n NFb(a.a.d.g, a.a);\n NFb(a.a.e.b, a.a);\n return a.a;\n }\n function HHc(a, b, c2) {\n var d, e, f2, g, h, i3, j;\n j = new Hxb(new tIc(a));\n for (g = OC(GC(aR, 1), lne, 11, 0, [b, c2]), h = 0, i3 = g.length; h < i3; ++h) {\n f2 = g[h];\n Iwb(j.a, f2, (Bcb(), zcb)) == null;\n for (e = new b1b(f2.b); llb(e.a) || llb(e.b); ) {\n d = BD(llb(e.a) ? mlb(e.a) : mlb(e.b), 17);\n d.c == d.d || Axb(j, f2 == d.c ? d.d : d.c);\n }\n }\n return Qb(j), new Tkb(j);\n }\n function oPc(a, b, c2) {\n var d, e, f2, g, h, i3;\n d = 0;\n if (b.b != 0 && c2.b != 0) {\n f2 = Jsb(b, 0);\n g = Jsb(c2, 0);\n h = Edb(ED(Xsb(f2)));\n i3 = Edb(ED(Xsb(g)));\n e = true;\n do {\n if (h > i3 - a.b && h < i3 + a.b) {\n return -1;\n } else\n h > i3 - a.a && h < i3 + a.a && ++d;\n h <= i3 && f2.b != f2.d.c ? h = Edb(ED(Xsb(f2))) : i3 <= h && g.b != g.d.c ? i3 = Edb(ED(Xsb(g))) : e = false;\n } while (e);\n }\n return d;\n }\n function F3b(a, b, c2, d, e) {\n var f2, g, h, i3;\n i3 = (f2 = BD(gdb(F1), 9), new xqb(f2, BD(_Bb(f2, f2.length), 9), 0));\n for (h = new olb(a.j); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 11);\n if (b[g.p]) {\n G3b(g, b[g.p], d);\n rqb(i3, g.j);\n }\n }\n if (e) {\n K3b(a, b, (Ucd(), zcd), 2 * c2, d);\n K3b(a, b, Tcd, 2 * c2, d);\n } else {\n K3b(a, b, (Ucd(), Acd), 2 * c2, d);\n K3b(a, b, Rcd, 2 * c2, d);\n }\n }\n function Szb(a) {\n var b, c2, d, e, f2;\n f2 = new Rkb();\n Hkb(a.b, new XBb(f2));\n a.b.c = KC(SI, Uhe, 1, 0, 5, 1);\n if (f2.c.length != 0) {\n b = (tCb(0, f2.c.length), BD(f2.c[0], 78));\n for (c2 = 1, d = f2.c.length; c2 < d; ++c2) {\n e = (tCb(c2, f2.c.length), BD(f2.c[c2], 78));\n e != b && Qy(b, e);\n }\n if (JD(b, 60)) {\n throw vbb(BD(b, 60));\n }\n if (JD(b, 289)) {\n throw vbb(BD(b, 289));\n }\n }\n }\n function DCb(a, b) {\n var c2, d, e, f2;\n a = a == null ? Xhe : (uCb(a), a);\n c2 = new Vfb();\n f2 = 0;\n d = 0;\n while (d < b.length) {\n e = a.indexOf(\"%s\", f2);\n if (e == -1) {\n break;\n }\n Qfb(c2, a.substr(f2, e - f2));\n Pfb(c2, b[d++]);\n f2 = e + 2;\n }\n Qfb(c2, a.substr(f2));\n if (d < b.length) {\n c2.a += \" [\";\n Pfb(c2, b[d++]);\n while (d < b.length) {\n c2.a += She;\n Pfb(c2, b[d++]);\n }\n c2.a += \"]\";\n }\n return c2.a;\n }\n function KCb(a) {\n var b, c2, d, e;\n b = 0;\n d = a.length;\n e = d - 4;\n c2 = 0;\n while (c2 < e) {\n b = (BCb(c2 + 3, a.length), a.charCodeAt(c2 + 3) + (BCb(c2 + 2, a.length), 31 * (a.charCodeAt(c2 + 2) + (BCb(c2 + 1, a.length), 31 * (a.charCodeAt(c2 + 1) + (BCb(c2, a.length), 31 * (a.charCodeAt(c2) + 31 * b)))))));\n b = b | 0;\n c2 += 4;\n }\n while (c2 < d) {\n b = b * 31 + bfb(a, c2++);\n }\n b = b | 0;\n return b;\n }\n function Rac(a) {\n var b, c2;\n for (c2 = new Sr(ur(U_b(a).a.Kc(), new Sq())); Qr(c2); ) {\n b = BD(Rr(c2), 17);\n if (b.d.i.k != (j0b(), f0b)) {\n throw vbb(new y2c(Fne + P_b(a) + \"' has its layer constraint set to LAST, but has at least one outgoing edge that does not go to a LAST_SEPARATE node. That must not happen.\"));\n }\n }\n }\n function jQc(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m;\n i3 = 0;\n for (k = new olb(a.a); k.a < k.c.c.length; ) {\n j = BD(mlb(k), 10);\n h = 0;\n for (f2 = new Sr(ur(R_b(j).a.Kc(), new Sq())); Qr(f2); ) {\n e = BD(Rr(f2), 17);\n l = A0b(e.c).b;\n m = A0b(e.d).b;\n h = $wnd.Math.max(h, $wnd.Math.abs(m - l));\n }\n i3 = $wnd.Math.max(i3, h);\n }\n g = d * $wnd.Math.min(1, b / c2) * i3;\n return g;\n }\n function See(a) {\n var b;\n b = new Ifb();\n (a & 256) != 0 && (b.a += \"F\", b);\n (a & 128) != 0 && (b.a += \"H\", b);\n (a & 512) != 0 && (b.a += \"X\", b);\n (a & 2) != 0 && (b.a += \"i\", b);\n (a & 8) != 0 && (b.a += \"m\", b);\n (a & 4) != 0 && (b.a += \"s\", b);\n (a & 32) != 0 && (b.a += \"u\", b);\n (a & 64) != 0 && (b.a += \"w\", b);\n (a & 16) != 0 && (b.a += \"x\", b);\n (a & zte) != 0 && (b.a += \",\", b);\n return jfb(b.a);\n }\n function F5b(a, b) {\n var c2, d, e, f2;\n Odd(b, \"Resize child graph to fit parent.\", 1);\n for (d = new olb(a.b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 29);\n Gkb(a.a, c2.a);\n c2.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n }\n for (f2 = new olb(a.a); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 10);\n $_b(e, null);\n }\n a.b.c = KC(SI, Uhe, 1, 0, 5, 1);\n G5b(a);\n !!a.e && E5b(a.e, a);\n Qdd(b);\n }\n function eec(a) {\n var b, c2, d, e, f2, g, h, i3, j;\n d = a.b;\n f2 = d.e;\n g = ecd(BD(vNb(d, (Nyc(), Vxc)), 98));\n c2 = !!f2 && BD(vNb(f2, (wtc(), Ksc)), 21).Hc((Orc(), Hrc));\n if (g || c2) {\n return;\n }\n for (j = (h = new $ib(a.e).a.vc().Kc(), new djb(h)); j.a.Ob(); ) {\n i3 = (b = BD(j.a.Pb(), 42), BD(b.dd(), 113));\n if (i3.a) {\n e = i3.d;\n F0b(e, null);\n i3.c = true;\n a.a = true;\n }\n }\n }\n function QFc(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n;\n m = -1;\n n = 0;\n for (j = a, k = 0, l = j.length; k < l; ++k) {\n i3 = j[k];\n for (f2 = i3, g = 0, h = f2.length; g < h; ++g) {\n e = f2[g];\n b = new Unc(m == -1 ? a[0] : a[m], Xec(e));\n for (c2 = 0; c2 < e.j.c.length; c2++) {\n for (d = c2 + 1; d < e.j.c.length; d++) {\n Rnc(b, BD(Ikb(e.j, c2), 11), BD(Ikb(e.j, d), 11)) > 0 && ++n;\n }\n }\n }\n ++m;\n }\n return n;\n }\n function hUc(a, b) {\n var c2, d, e, f2, g;\n g = BD(vNb(b, (JTc(), FTc)), 425);\n for (f2 = Jsb(b.b, 0); f2.b != f2.d.c; ) {\n e = BD(Xsb(f2), 86);\n if (a.b[e.g] == 0) {\n switch (g.g) {\n case 0:\n iUc(a, e);\n break;\n case 1:\n gUc(a, e);\n }\n a.b[e.g] = 2;\n }\n }\n for (d = Jsb(a.a, 0); d.b != d.d.c; ) {\n c2 = BD(Xsb(d), 188);\n ze(c2.b.d, c2, true);\n ze(c2.c.b, c2, true);\n }\n yNb(b, (mTc(), gTc), a.a);\n }\n function S6d(a, b) {\n Q6d();\n var c2, d, e, f2;\n if (!b) {\n return P6d;\n } else if (b == (Q8d(), N8d) || (b == v8d || b == t8d || b == u8d) && a != s8d) {\n return new Z6d(a, b);\n } else {\n d = BD(b, 677);\n c2 = d.pk();\n if (!c2) {\n a2d(q1d((O6d(), M6d), b));\n c2 = d.pk();\n }\n f2 = (!c2.i && (c2.i = new Lqb()), c2.i);\n e = BD(Wd(irb(f2.f, a)), 1942);\n !e && Rhb(f2, a, e = new Z6d(a, b));\n return e;\n }\n }\n function Tbc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n i3 = BD(vNb(a, (wtc(), $sc)), 11);\n j = l7c(OC(GC(m1, 1), nie, 8, 0, [i3.i.n, i3.n, i3.a])).a;\n k = a.i.n.b;\n c2 = k_b(a.e);\n for (e = c2, f2 = 0, g = e.length; f2 < g; ++f2) {\n d = e[f2];\n RZb(d, i3);\n Fsb(d.a, new f7c(j, k));\n if (b) {\n h = BD(vNb(d, (Nyc(), jxc)), 74);\n if (!h) {\n h = new s7c();\n yNb(d, jxc, h);\n }\n Dsb(h, new f7c(j, k));\n }\n }\n }\n function Ubc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n e = BD(vNb(a, (wtc(), $sc)), 11);\n j = l7c(OC(GC(m1, 1), nie, 8, 0, [e.i.n, e.n, e.a])).a;\n k = a.i.n.b;\n c2 = k_b(a.g);\n for (g = c2, h = 0, i3 = g.length; h < i3; ++h) {\n f2 = g[h];\n QZb(f2, e);\n Esb(f2.a, new f7c(j, k));\n if (b) {\n d = BD(vNb(f2, (Nyc(), jxc)), 74);\n if (!d) {\n d = new s7c();\n yNb(f2, jxc, d);\n }\n Dsb(d, new f7c(j, k));\n }\n }\n }\n function TFc(a, b) {\n var c2, d, e, f2, g, h;\n a.b = new Rkb();\n a.d = BD(vNb(b, (wtc(), jtc)), 230);\n a.e = Dub(a.d);\n f2 = new Psb();\n e = Ou(OC(GC(KQ, 1), cne, 37, 0, [b]));\n g = 0;\n while (g < e.c.length) {\n d = (tCb(g, e.c.length), BD(e.c[g], 37));\n d.p = g++;\n c2 = new fFc(d, a.a, a.b);\n Gkb(e, c2.b);\n Ekb(a.b, c2);\n c2.s && (h = Jsb(f2, 0), Vsb(h, c2));\n }\n a.c = new Tqb();\n return f2;\n }\n function HJb(a, b) {\n var c2, d, e, f2, g, h;\n for (g = BD(BD(Qc(a.r, b), 21), 84).Kc(); g.Ob(); ) {\n f2 = BD(g.Pb(), 111);\n c2 = f2.c ? ZHb(f2.c) : 0;\n if (c2 > 0) {\n if (f2.a) {\n h = f2.b.rf().a;\n if (c2 > h) {\n e = (c2 - h) / 2;\n f2.d.b = e;\n f2.d.c = e;\n }\n } else {\n f2.d.c = a.s + c2;\n }\n } else if (tcd(a.u)) {\n d = sfd(f2.b);\n d.c < 0 && (f2.d.b = -d.c);\n d.c + d.b > f2.b.rf().a && (f2.d.c = d.c + d.b - f2.b.rf().a);\n }\n }\n }\n function Eec(a, b) {\n var c2, d, e, f2;\n Odd(b, \"Semi-Interactive Crossing Minimization Processor\", 1);\n c2 = false;\n for (e = new olb(a.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 29);\n f2 = TAb(VAb(JAb(JAb(new YAb(null, new Kub(d.a, 16)), new Jec()), new Lec()), new Nec()), new Rec());\n c2 = c2 | f2.a != null;\n }\n c2 && yNb(a, (wtc(), Rsc), (Bcb(), true));\n Qdd(b);\n }\n function sRc(a, b, c2) {\n var d, e, f2, g, h;\n e = c2;\n !e && (e = new Zdd());\n Odd(e, \"Layout\", a.a.c.length);\n if (Ccb(DD(vNb(b, (JTc(), vTc))))) {\n Zfb();\n for (d = 0; d < a.a.c.length; d++) {\n h = (d < 10 ? \"0\" : \"\") + d++;\n \" Slot \" + h + \": \" + hdb(rb(BD(Ikb(a.a, d), 51)));\n }\n }\n for (g = new olb(a.a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 51);\n f2.pf(b, Udd(e, 1));\n }\n Qdd(e);\n }\n function yMb(a) {\n var b, c2;\n b = BD(a.a, 19).a;\n c2 = BD(a.b, 19).a;\n if (b >= 0) {\n if (b == c2) {\n return new vgd(meb(-b - 1), meb(-b - 1));\n }\n if (b == -c2) {\n return new vgd(meb(-b), meb(c2 + 1));\n }\n }\n if ($wnd.Math.abs(b) > $wnd.Math.abs(c2)) {\n if (b < 0) {\n return new vgd(meb(-b), meb(c2));\n }\n return new vgd(meb(-b), meb(c2 + 1));\n }\n return new vgd(meb(b + 1), meb(c2));\n }\n function q5b(a) {\n var b, c2;\n c2 = BD(vNb(a, (Nyc(), mxc)), 163);\n b = BD(vNb(a, (wtc(), Osc)), 303);\n if (c2 == (Ctc(), ytc)) {\n yNb(a, mxc, Btc);\n yNb(a, Osc, (esc(), dsc));\n } else if (c2 == Atc) {\n yNb(a, mxc, Btc);\n yNb(a, Osc, (esc(), bsc));\n } else if (b == (esc(), dsc)) {\n yNb(a, mxc, ytc);\n yNb(a, Osc, csc);\n } else if (b == bsc) {\n yNb(a, mxc, Atc);\n yNb(a, Osc, csc);\n }\n }\n function FNc() {\n FNc = ccb;\n DNc = new RNc();\n zNc = e3c(new j3c(), (qUb(), nUb), (S8b(), o8b));\n CNc = c3c(e3c(new j3c(), nUb, C8b), pUb, B8b);\n ENc = b3c(b3c(g3c(c3c(e3c(new j3c(), lUb, M8b), pUb, L8b), oUb), K8b), N8b);\n ANc = c3c(e3c(e3c(e3c(new j3c(), mUb, r8b), oUb, t8b), oUb, u8b), pUb, s8b);\n BNc = c3c(e3c(e3c(new j3c(), oUb, u8b), oUb, _7b), pUb, $7b);\n }\n function hQc() {\n hQc = ccb;\n cQc = e3c(c3c(new j3c(), (qUb(), pUb), (S8b(), c8b)), nUb, o8b);\n gQc = b3c(b3c(g3c(c3c(e3c(new j3c(), lUb, M8b), pUb, L8b), oUb), K8b), N8b);\n dQc = c3c(e3c(e3c(e3c(new j3c(), mUb, r8b), oUb, t8b), oUb, u8b), pUb, s8b);\n fQc = e3c(e3c(new j3c(), nUb, C8b), pUb, B8b);\n eQc = c3c(e3c(e3c(new j3c(), oUb, u8b), oUb, _7b), pUb, $7b);\n }\n function GNc(a, b, c2, d, e) {\n var f2, g;\n if ((!OZb(b) && b.c.i.c == b.d.i.c || !T6c(l7c(OC(GC(m1, 1), nie, 8, 0, [e.i.n, e.n, e.a])), c2)) && !OZb(b)) {\n b.c == e ? St(b.a, 0, new g7c(c2)) : Dsb(b.a, new g7c(c2));\n if (d && !Rqb(a.a, c2)) {\n g = BD(vNb(b, (Nyc(), jxc)), 74);\n if (!g) {\n g = new s7c();\n yNb(b, jxc, g);\n }\n f2 = new g7c(c2);\n Gsb(g, f2, g.c.b, g.c);\n Qqb(a.a, f2);\n }\n }\n }\n function Qac(a) {\n var b, c2;\n for (c2 = new Sr(ur(R_b(a).a.Kc(), new Sq())); Qr(c2); ) {\n b = BD(Rr(c2), 17);\n if (b.c.i.k != (j0b(), f0b)) {\n throw vbb(new y2c(Fne + P_b(a) + \"' has its layer constraint set to FIRST, but has at least one incoming edge that does not come from a FIRST_SEPARATE node. That must not happen.\"));\n }\n }\n }\n function vjd(a, b, c2) {\n var d, e, f2, g, h, i3, j;\n e = aeb(a.Db & 254);\n if (e == 0) {\n a.Eb = c2;\n } else {\n if (e == 1) {\n h = KC(SI, Uhe, 1, 2, 5, 1);\n f2 = zjd(a, b);\n if (f2 == 0) {\n h[0] = c2;\n h[1] = a.Eb;\n } else {\n h[0] = a.Eb;\n h[1] = c2;\n }\n } else {\n h = KC(SI, Uhe, 1, e + 1, 5, 1);\n g = CD(a.Eb);\n for (d = 2, i3 = 0, j = 0; d <= 128; d <<= 1) {\n d == b ? h[j++] = c2 : (a.Db & d) != 0 && (h[j++] = g[i3++]);\n }\n }\n a.Eb = h;\n }\n a.Db |= b;\n }\n function ENb(a, b, c2) {\n var d, e, f2, g;\n this.b = new Rkb();\n e = 0;\n d = 0;\n for (g = new olb(a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 167);\n c2 && rMb(f2);\n Ekb(this.b, f2);\n e += f2.o;\n d += f2.p;\n }\n if (this.b.c.length > 0) {\n f2 = BD(Ikb(this.b, 0), 167);\n e += f2.o;\n d += f2.p;\n }\n e *= 2;\n d *= 2;\n b > 1 ? e = QD($wnd.Math.ceil(e * b)) : d = QD($wnd.Math.ceil(d / b));\n this.a = new pNb(e, d);\n }\n function Igc(a, b, c2, d, e, f2) {\n var g, h, i3, j, k, l, m, n, o2, p, q, r;\n k = d;\n if (b.j && b.o) {\n n = BD(Ohb(a.f, b.A), 57);\n p = n.d.c + n.d.b;\n --k;\n } else {\n p = b.a.c + b.a.b;\n }\n l = e;\n if (c2.q && c2.o) {\n n = BD(Ohb(a.f, c2.C), 57);\n j = n.d.c;\n ++l;\n } else {\n j = c2.a.c;\n }\n q = j - p;\n i3 = $wnd.Math.max(2, l - k);\n h = q / i3;\n o2 = p + h;\n for (m = k; m < l; ++m) {\n g = BD(f2.Xb(m), 128);\n r = g.a.b;\n g.a.c = o2 - r / 2;\n o2 += h;\n }\n }\n function UHc(a, b, c2, d, e, f2) {\n var g, h, i3, j, k, l;\n j = c2.c.length;\n f2 && (a.c = KC(WD, oje, 25, b.length, 15, 1));\n for (g = e ? 0 : b.length - 1; e ? g < b.length : g >= 0; g += e ? 1 : -1) {\n h = b[g];\n i3 = d == (Ucd(), zcd) ? e ? V_b(h, d) : Su(V_b(h, d)) : e ? Su(V_b(h, d)) : V_b(h, d);\n f2 && (a.c[h.p] = i3.gc());\n for (l = i3.Kc(); l.Ob(); ) {\n k = BD(l.Pb(), 11);\n a.d[k.p] = j++;\n }\n Gkb(c2, i3);\n }\n }\n function aQc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n f2 = Edb(ED(a.b.Kc().Pb()));\n j = Edb(ED(Pq(b.b)));\n d = Y6c(R6c(a.a), j - c2);\n e = Y6c(R6c(b.a), c2 - f2);\n k = P6c(d, e);\n Y6c(k, 1 / (j - f2));\n this.a = k;\n this.b = new Rkb();\n h = true;\n g = a.b.Kc();\n g.Pb();\n while (g.Ob()) {\n i3 = Edb(ED(g.Pb()));\n if (h && i3 - c2 > Oqe) {\n this.b.Fc(c2);\n h = false;\n }\n this.b.Fc(i3);\n }\n h && this.b.Fc(c2);\n }\n function vGb(a) {\n var b, c2, d, e;\n yGb(a, a.n);\n if (a.d.c.length > 0) {\n Blb(a.c);\n while (GGb(a, BD(mlb(new olb(a.e.a)), 121)) < a.e.a.c.length) {\n b = AGb(a);\n e = b.e.e - b.d.e - b.a;\n b.e.j && (e = -e);\n for (d = new olb(a.e.a); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 121);\n c2.j && (c2.e += e);\n }\n Blb(a.c);\n }\n Blb(a.c);\n DGb(a, BD(mlb(new olb(a.e.a)), 121));\n rGb(a);\n }\n }\n function rkc(a, b) {\n var c2, d, e, f2, g;\n for (e = BD(Qc(a.a, (Xjc(), Tjc)), 15).Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 101);\n c2 = BD(Ikb(d.j, 0), 113).d.j;\n f2 = new Tkb(d.j);\n Okb(f2, new Xkc());\n switch (b.g) {\n case 1:\n jkc(a, f2, c2, (Fkc(), Dkc), 1);\n break;\n case 0:\n g = lkc(f2);\n jkc(a, new Jib(f2, 0, g), c2, (Fkc(), Dkc), 0);\n jkc(a, new Jib(f2, g, f2.c.length), c2, Dkc, 1);\n }\n }\n }\n function c2c(a, b) {\n Y1c();\n var c2, d;\n c2 = j4c(n4c(), b.tg());\n if (c2) {\n d = c2.j;\n if (JD(a, 239)) {\n return Zod(BD(a, 33)) ? uqb(d, (N5c(), K5c)) || uqb(d, L5c) : uqb(d, (N5c(), K5c));\n } else if (JD(a, 352)) {\n return uqb(d, (N5c(), I5c));\n } else if (JD(a, 186)) {\n return uqb(d, (N5c(), M5c));\n } else if (JD(a, 354)) {\n return uqb(d, (N5c(), J5c));\n }\n }\n return true;\n }\n function c3d(a, b, c2) {\n var d, e, f2, g, h, i3;\n e = c2;\n f2 = e.ak();\n if (T6d(a.e, f2)) {\n if (f2.hi()) {\n d = BD(a.g, 119);\n for (g = 0; g < a.i; ++g) {\n h = d[g];\n if (pb(h, e) && g != b) {\n throw vbb(new Wdb(kue));\n }\n }\n }\n } else {\n i3 = S6d(a.e.Tg(), f2);\n d = BD(a.g, 119);\n for (g = 0; g < a.i; ++g) {\n h = d[g];\n if (i3.rl(h.ak()) && g != b) {\n throw vbb(new Wdb(Hwe));\n }\n }\n }\n return BD(Gtd(a, b, c2), 72);\n }\n function Sy(d, b) {\n if (b instanceof Object) {\n try {\n b.__java$exception = d;\n if (navigator.userAgent.toLowerCase().indexOf(\"msie\") != -1 && $doc.documentMode < 9) {\n return;\n }\n var c2 = d;\n Object.defineProperties(b, { cause: { get: function() {\n var a = c2.Zd();\n return a && a.Xd();\n } }, suppressed: { get: function() {\n return c2.Yd();\n } } });\n } catch (a) {\n }\n }\n }\n function lhb(a, b) {\n var c2, d, e, f2, g;\n d = b >> 5;\n b &= 31;\n if (d >= a.d) {\n return a.e < 0 ? (Hgb(), Bgb) : (Hgb(), Ggb);\n }\n f2 = a.d - d;\n e = KC(WD, oje, 25, f2 + 1, 15, 1);\n mhb(e, f2, a.a, d, b);\n if (a.e < 0) {\n for (c2 = 0; c2 < d && a.a[c2] == 0; c2++)\n ;\n if (c2 < d || b > 0 && a.a[c2] << 32 - b != 0) {\n for (c2 = 0; c2 < f2 && e[c2] == -1; c2++) {\n e[c2] = 0;\n }\n c2 == f2 && ++f2;\n ++e[c2];\n }\n }\n g = new Vgb(a.e, f2, e);\n Jgb(g);\n return g;\n }\n function UPb(a) {\n var b, c2, d, e;\n e = mpd(a);\n c2 = new kQb(e);\n d = new mQb(e);\n b = new Rkb();\n Gkb(b, (!a.d && (a.d = new y5d(B2, a, 8, 5)), a.d));\n Gkb(b, (!a.e && (a.e = new y5d(B2, a, 7, 4)), a.e));\n return BD(GAb(NAb(JAb(new YAb(null, new Kub(b, 16)), c2), d), Ayb(new hzb(), new jzb(), new Gzb(), new Izb(), OC(GC(xL, 1), Kie, 132, 0, [(Fyb(), Eyb), Dyb]))), 21);\n }\n function p2d(a, b, c2, d) {\n var e, f2, g, h, i3;\n h = (Q6d(), BD(b, 66).Oj());\n if (T6d(a.e, b)) {\n if (b.hi() && F2d(a, b, d, JD(b, 99) && (BD(b, 18).Bb & Tje) != 0)) {\n throw vbb(new Wdb(kue));\n }\n } else {\n i3 = S6d(a.e.Tg(), b);\n e = BD(a.g, 119);\n for (g = 0; g < a.i; ++g) {\n f2 = e[g];\n if (i3.rl(f2.ak())) {\n throw vbb(new Wdb(Hwe));\n }\n }\n }\n vtd(a, I2d(a, b, c2), h ? BD(d, 72) : R6d(b, d));\n }\n function T6d(a, b) {\n Q6d();\n var c2, d, e;\n if (b.$j()) {\n return true;\n } else if (b.Zj() == -2) {\n if (b == (m8d(), k8d) || b == h8d || b == i8d || b == j8d) {\n return true;\n } else {\n e = a.Tg();\n if (bLd(e, b) >= 0) {\n return false;\n } else {\n c2 = e1d((O6d(), M6d), e, b);\n if (!c2) {\n return true;\n } else {\n d = c2.Zj();\n return (d > 1 || d == -1) && $1d(q1d(M6d, c2)) != 3;\n }\n }\n }\n } else {\n return false;\n }\n }\n function R1b(a, b, c2, d) {\n var e, f2, g, h, i3;\n h = atd(BD(qud((!b.b && (b.b = new y5d(z2, b, 4, 7)), b.b), 0), 82));\n i3 = atd(BD(qud((!b.c && (b.c = new y5d(z2, b, 5, 8)), b.c), 0), 82));\n if (Xod(h) == Xod(i3)) {\n return null;\n }\n if (ntd(i3, h)) {\n return null;\n }\n g = Mld(b);\n if (g == c2) {\n return d;\n } else {\n f2 = BD(Ohb(a.a, g), 10);\n if (f2) {\n e = f2.e;\n if (e) {\n return e;\n }\n }\n }\n return null;\n }\n function Cac(a, b) {\n var c2;\n c2 = BD(vNb(a, (Nyc(), Rwc)), 276);\n Odd(b, \"Label side selection (\" + c2 + \")\", 1);\n switch (c2.g) {\n case 0:\n Dac(a, (rbd(), nbd));\n break;\n case 1:\n Dac(a, (rbd(), obd));\n break;\n case 2:\n Bac(a, (rbd(), nbd));\n break;\n case 3:\n Bac(a, (rbd(), obd));\n break;\n case 4:\n Eac(a, (rbd(), nbd));\n break;\n case 5:\n Eac(a, (rbd(), obd));\n }\n Qdd(b);\n }\n function bGc(a, b, c2) {\n var d, e, f2, g, h, i3;\n d = RFc(c2, a.length);\n g = a[d];\n if (g[0].k != (j0b(), e0b)) {\n return;\n }\n f2 = SFc(c2, g.length);\n i3 = b.j;\n for (e = 0; e < i3.c.length; e++) {\n h = (tCb(e, i3.c.length), BD(i3.c[e], 11));\n if ((c2 ? h.j == (Ucd(), zcd) : h.j == (Ucd(), Tcd)) && Ccb(DD(vNb(h, (wtc(), Nsc))))) {\n Nkb(i3, e, BD(vNb(g[f2], (wtc(), $sc)), 11));\n f2 += c2 ? 1 : -1;\n }\n }\n }\n function rQc(a, b) {\n var c2, d, e, f2, g;\n g = new Rkb();\n c2 = b;\n do {\n f2 = BD(Ohb(a.b, c2), 128);\n f2.B = c2.c;\n f2.D = c2.d;\n g.c[g.c.length] = f2;\n c2 = BD(Ohb(a.k, c2), 17);\n } while (c2);\n d = (tCb(0, g.c.length), BD(g.c[0], 128));\n d.j = true;\n d.A = BD(d.d.a.ec().Kc().Pb(), 17).c.i;\n e = BD(Ikb(g, g.c.length - 1), 128);\n e.q = true;\n e.C = BD(e.d.a.ec().Kc().Pb(), 17).d.i;\n return g;\n }\n function $wd(a) {\n if (a.g == null) {\n switch (a.p) {\n case 0:\n a.g = Swd(a) ? (Bcb(), Acb) : (Bcb(), zcb);\n break;\n case 1:\n a.g = Scb(Twd(a));\n break;\n case 2:\n a.g = bdb(Uwd(a));\n break;\n case 3:\n a.g = Vwd(a);\n break;\n case 4:\n a.g = new Ndb(Wwd(a));\n break;\n case 6:\n a.g = Aeb(Ywd(a));\n break;\n case 5:\n a.g = meb(Xwd(a));\n break;\n case 7:\n a.g = Web(Zwd(a));\n }\n }\n return a.g;\n }\n function hxd(a) {\n if (a.n == null) {\n switch (a.p) {\n case 0:\n a.n = _wd(a) ? (Bcb(), Acb) : (Bcb(), zcb);\n break;\n case 1:\n a.n = Scb(axd(a));\n break;\n case 2:\n a.n = bdb(bxd(a));\n break;\n case 3:\n a.n = cxd(a);\n break;\n case 4:\n a.n = new Ndb(dxd(a));\n break;\n case 6:\n a.n = Aeb(fxd(a));\n break;\n case 5:\n a.n = meb(exd(a));\n break;\n case 7:\n a.n = Web(gxd(a));\n }\n }\n return a.n;\n }\n function QDb(a) {\n var b, c2, d, e, f2, g, h;\n for (f2 = new olb(a.a.a); f2.a < f2.c.c.length; ) {\n d = BD(mlb(f2), 307);\n d.g = 0;\n d.i = 0;\n d.e.a.$b();\n }\n for (e = new olb(a.a.a); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 307);\n for (c2 = d.a.a.ec().Kc(); c2.Ob(); ) {\n b = BD(c2.Pb(), 57);\n for (h = b.c.Kc(); h.Ob(); ) {\n g = BD(h.Pb(), 57);\n if (g.a != d) {\n Qqb(d.e, g);\n ++g.a.g;\n ++g.a.i;\n }\n }\n }\n }\n }\n function gOb(a, b) {\n var c2, d, e, f2, g, h;\n h = Axb(a.a, b.b);\n if (!h) {\n throw vbb(new Zdb(\"Invalid hitboxes for scanline overlap calculation.\"));\n }\n g = false;\n for (f2 = (d = new Ywb(new cxb(new Gjb(a.a.a).a).b), new Njb(d)); sib(f2.a.a); ) {\n e = (c2 = Wwb(f2.a), BD(c2.cd(), 65));\n if (bOb(b.b, e)) {\n T$c(a.b.a, b.b, e);\n g = true;\n } else {\n if (g) {\n break;\n }\n }\n }\n }\n function G5b(a) {\n var b, c2, d, e, f2;\n e = BD(vNb(a, (Nyc(), Fxc)), 21);\n f2 = BD(vNb(a, Ixc), 21);\n c2 = new f7c(a.f.a + a.d.b + a.d.c, a.f.b + a.d.d + a.d.a);\n b = new g7c(c2);\n if (e.Hc((tdd(), pdd))) {\n d = BD(vNb(a, Hxc), 8);\n if (f2.Hc((Idd(), Bdd))) {\n d.a <= 0 && (d.a = 20);\n d.b <= 0 && (d.b = 20);\n }\n b.a = $wnd.Math.max(c2.a, d.a);\n b.b = $wnd.Math.max(c2.b, d.b);\n }\n H5b(a, c2, b);\n }\n function toc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m;\n e = b ? new Coc() : new Eoc();\n f2 = false;\n do {\n f2 = false;\n j = b ? Su(a.b) : a.b;\n for (i3 = j.Kc(); i3.Ob(); ) {\n h = BD(i3.Pb(), 29);\n m = Mu(h.a);\n b || new ov(m);\n for (l = new olb(m); l.a < l.c.c.length; ) {\n k = BD(mlb(l), 10);\n if (e.Mb(k)) {\n d = k;\n c2 = BD(vNb(k, (wtc(), usc)), 305);\n g = b ? c2.b : c2.k;\n f2 = roc(d, g, b, false);\n }\n }\n }\n } while (f2);\n }\n function WCc(a, b, c2) {\n var d, e, f2, g, h;\n Odd(c2, \"Longest path layering\", 1);\n a.a = b;\n h = a.a.a;\n a.b = KC(WD, oje, 25, h.c.length, 15, 1);\n d = 0;\n for (g = new olb(h); g.a < g.c.c.length; ) {\n e = BD(mlb(g), 10);\n e.p = d;\n a.b[d] = -1;\n ++d;\n }\n for (f2 = new olb(h); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 10);\n YCc(a, e);\n }\n h.c = KC(SI, Uhe, 1, 0, 5, 1);\n a.a = null;\n a.b = null;\n Qdd(c2);\n }\n function QVb(a, b) {\n var c2, d, e;\n b.a ? (Axb(a.b, b.b), a.a[b.b.i] = BD(Exb(a.b, b.b), 81), c2 = BD(Dxb(a.b, b.b), 81), !!c2 && (a.a[c2.i] = b.b), void 0) : (d = BD(Exb(a.b, b.b), 81), !!d && d == a.a[b.b.i] && !!d.d && d.d != b.b.d && d.f.Fc(b.b), e = BD(Dxb(a.b, b.b), 81), !!e && a.a[e.i] == b.b && !!e.d && e.d != b.b.d && b.b.f.Fc(e), Fxb(a.b, b.b), void 0);\n }\n function zbc(a, b) {\n var c2, d, e, f2, g, h;\n f2 = a.d;\n h = Edb(ED(vNb(a, (Nyc(), Zwc))));\n if (h < 0) {\n h = 0;\n yNb(a, Zwc, h);\n }\n b.o.b = h;\n g = $wnd.Math.floor(h / 2);\n d = new H0b();\n G0b(d, (Ucd(), Tcd));\n F0b(d, b);\n d.n.b = g;\n e = new H0b();\n G0b(e, zcd);\n F0b(e, b);\n e.n.b = g;\n RZb(a, d);\n c2 = new UZb();\n tNb(c2, a);\n yNb(c2, jxc, null);\n QZb(c2, e);\n RZb(c2, f2);\n ybc(b, a, c2);\n wbc(a, c2);\n return c2;\n }\n function uNc(a) {\n var b, c2;\n c2 = BD(vNb(a, (wtc(), Ksc)), 21);\n b = new j3c();\n if (c2.Hc((Orc(), Irc))) {\n d3c(b, oNc);\n d3c(b, qNc);\n }\n if (c2.Hc(Krc) || Ccb(DD(vNb(a, (Nyc(), $wc))))) {\n d3c(b, qNc);\n c2.Hc(Lrc) && d3c(b, rNc);\n }\n c2.Hc(Hrc) && d3c(b, nNc);\n c2.Hc(Nrc) && d3c(b, sNc);\n c2.Hc(Jrc) && d3c(b, pNc);\n c2.Hc(Erc) && d3c(b, lNc);\n c2.Hc(Grc) && d3c(b, mNc);\n return b;\n }\n function Ihb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m;\n d = a.d;\n f2 = b.d;\n h = d + f2;\n i3 = a.e != b.e ? -1 : 1;\n if (h == 2) {\n k = Ibb(xbb(a.a[0], Yje), xbb(b.a[0], Yje));\n m = Tbb(k);\n l = Tbb(Pbb(k, 32));\n return l == 0 ? new Ugb(i3, m) : new Vgb(i3, 2, OC(GC(WD, 1), oje, 25, 15, [m, l]));\n }\n c2 = a.a;\n e = b.a;\n g = KC(WD, oje, 25, h, 15, 1);\n Fhb(c2, d, e, f2, g);\n j = new Vgb(i3, h, g);\n Jgb(j);\n return j;\n }\n function Gwb(a, b, c2, d) {\n var e, f2;\n if (!b) {\n return c2;\n } else {\n e = a.a.ue(c2.d, b.d);\n if (e == 0) {\n d.d = ijb(b, c2.e);\n d.b = true;\n return b;\n }\n f2 = e < 0 ? 0 : 1;\n b.a[f2] = Gwb(a, b.a[f2], c2, d);\n if (Hwb(b.a[f2])) {\n if (Hwb(b.a[1 - f2])) {\n b.b = true;\n b.a[0].b = false;\n b.a[1].b = false;\n } else {\n Hwb(b.a[f2].a[f2]) ? b = Owb(b, 1 - f2) : Hwb(b.a[f2].a[1 - f2]) && (b = Nwb(b, 1 - f2));\n }\n }\n }\n return b;\n }\n function wHb(a, b, c2) {\n var d, e, f2, g;\n e = a.i;\n d = a.n;\n vHb(a, (gHb(), dHb), e.c + d.b, c2);\n vHb(a, fHb, e.c + e.b - d.c - c2[2], c2);\n g = e.b - d.b - d.c;\n if (c2[0] > 0) {\n c2[0] += a.d;\n g -= c2[0];\n }\n if (c2[2] > 0) {\n c2[2] += a.d;\n g -= c2[2];\n }\n f2 = $wnd.Math.max(0, g);\n c2[1] = $wnd.Math.max(c2[1], g);\n vHb(a, eHb, e.c + d.b + c2[0] - (c2[1] - g) / 2, c2);\n if (b == eHb) {\n a.c.b = f2;\n a.c.c = e.c + d.b + (f2 - g) / 2;\n }\n }\n function AYb() {\n this.c = KC(UD, Vje, 25, (Ucd(), OC(GC(F1, 1), bne, 61, 0, [Scd, Acd, zcd, Rcd, Tcd])).length, 15, 1);\n this.b = KC(UD, Vje, 25, OC(GC(F1, 1), bne, 61, 0, [Scd, Acd, zcd, Rcd, Tcd]).length, 15, 1);\n this.a = KC(UD, Vje, 25, OC(GC(F1, 1), bne, 61, 0, [Scd, Acd, zcd, Rcd, Tcd]).length, 15, 1);\n zlb(this.c, Pje);\n zlb(this.b, Qje);\n zlb(this.a, Qje);\n }\n function Ufe(a, b, c2) {\n var d, e, f2, g;\n if (b <= c2) {\n e = b;\n f2 = c2;\n } else {\n e = c2;\n f2 = b;\n }\n d = 0;\n if (a.b == null) {\n a.b = KC(WD, oje, 25, 2, 15, 1);\n a.b[0] = e;\n a.b[1] = f2;\n a.c = true;\n } else {\n d = a.b.length;\n if (a.b[d - 1] + 1 == e) {\n a.b[d - 1] = f2;\n return;\n }\n g = KC(WD, oje, 25, d + 2, 15, 1);\n $fb(a.b, 0, g, 0, d);\n a.b = g;\n a.b[d - 1] >= e && (a.c = false, a.a = false);\n a.b[d++] = e;\n a.b[d] = f2;\n a.c || Yfe(a);\n }\n }\n function inc(a, b, c2) {\n var d, e, f2, g, h, i3, j;\n j = b.d;\n a.a = new Skb(j.c.length);\n a.c = new Lqb();\n for (h = new olb(j); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 101);\n f2 = new uOc(null);\n Ekb(a.a, f2);\n Rhb(a.c, g, f2);\n }\n a.b = new Lqb();\n gnc(a, b);\n for (d = 0; d < j.c.length - 1; d++) {\n i3 = BD(Ikb(b.d, d), 101);\n for (e = d + 1; e < j.c.length; e++) {\n jnc(a, i3, BD(Ikb(b.d, e), 101), c2);\n }\n }\n }\n function ySc(a, b, c2) {\n var d, e, f2, g, h, i3;\n if (!Qq(b)) {\n i3 = Udd(c2, (JD(b, 14) ? BD(b, 14).gc() : sr(b.Kc())) / a.a | 0);\n Odd(i3, Xqe, 1);\n h = new BSc();\n g = 0;\n for (f2 = b.Kc(); f2.Ob(); ) {\n d = BD(f2.Pb(), 86);\n h = pl(OC(GC(KI, 1), Uhe, 20, 0, [h, new ZRc(d)]));\n g < d.f.b && (g = d.f.b);\n }\n for (e = b.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 86);\n yNb(d, (mTc(), bTc), g);\n }\n Qdd(i3);\n ySc(a, h, c2);\n }\n }\n function bJc(a, b) {\n var c2, d, e, f2, g, h, i3;\n c2 = Qje;\n h = (j0b(), h0b);\n for (e = new olb(b.a); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 10);\n f2 = d.k;\n if (f2 != h0b) {\n g = ED(vNb(d, (wtc(), atc)));\n if (g == null) {\n c2 = $wnd.Math.max(c2, 0);\n d.n.b = c2 + iBc(a.a, f2, h);\n } else {\n d.n.b = (uCb(g), g);\n }\n }\n i3 = iBc(a.a, f2, h);\n d.n.b < c2 + i3 + d.d.d && (d.n.b = c2 + i3 + d.d.d);\n c2 = d.n.b + d.o.b + d.d.a;\n h = f2;\n }\n }\n function uQb(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l;\n f2 = itd(b, false, false);\n j = ofd(f2);\n l = Edb(ED(hkd(b, (CPb(), vPb))));\n e = sQb(j, l + a.a);\n k = new XOb(e);\n tNb(k, b);\n Rhb(a.b, b, k);\n c2.c[c2.c.length] = k;\n i3 = (!b.n && (b.n = new cUd(D2, b, 1, 7)), b.n);\n for (h = new Fyd(i3); h.e != h.i.gc(); ) {\n g = BD(Dyd(h), 137);\n d = wQb(a, g, true, 0, 0);\n c2.c[c2.c.length] = d;\n }\n return k;\n }\n function JVc(a, b, c2, d, e) {\n var f2, g, h, i3, j, k;\n !!a.d && a.d.lg(e);\n f2 = BD(e.Xb(0), 33);\n if (HVc(a, c2, f2, false)) {\n return true;\n }\n g = BD(e.Xb(e.gc() - 1), 33);\n if (HVc(a, d, g, true)) {\n return true;\n }\n if (CVc(a, e)) {\n return true;\n }\n for (k = e.Kc(); k.Ob(); ) {\n j = BD(k.Pb(), 33);\n for (i3 = b.Kc(); i3.Ob(); ) {\n h = BD(i3.Pb(), 33);\n if (BVc(a, j, h)) {\n return true;\n }\n }\n }\n return false;\n }\n function qid(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m;\n m = b.c.length;\n l = (j = a.Yg(c2), BD(j >= 0 ? a._g(j, false, true) : sid(a, c2, false), 58));\n n:\n for (f2 = l.Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 56);\n for (k = 0; k < m; ++k) {\n g = (tCb(k, b.c.length), BD(b.c[k], 72));\n i3 = g.dd();\n h = g.ak();\n d = e.bh(h, false);\n if (i3 == null ? d != null : !pb(i3, d)) {\n continue n;\n }\n }\n return e;\n }\n return null;\n }\n function V6b(a, b, c2, d) {\n var e, f2, g, h;\n e = BD(Y_b(b, (Ucd(), Tcd)).Kc().Pb(), 11);\n f2 = BD(Y_b(b, zcd).Kc().Pb(), 11);\n for (h = new olb(a.j); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 11);\n while (g.e.c.length != 0) {\n RZb(BD(Ikb(g.e, 0), 17), e);\n }\n while (g.g.c.length != 0) {\n QZb(BD(Ikb(g.g, 0), 17), f2);\n }\n }\n c2 || yNb(b, (wtc(), Vsc), null);\n d || yNb(b, (wtc(), Wsc), null);\n }\n function itd(a, b, c2) {\n var d, e;\n if ((!a.a && (a.a = new cUd(A2, a, 6, 6)), a.a).i == 0) {\n return etd(a);\n } else {\n d = BD(qud((!a.a && (a.a = new cUd(A2, a, 6, 6)), a.a), 0), 202);\n if (b) {\n Uxd((!d.a && (d.a = new xMd(y2, d, 5)), d.a));\n omd(d, 0);\n pmd(d, 0);\n hmd(d, 0);\n imd(d, 0);\n }\n if (c2) {\n e = (!a.a && (a.a = new cUd(A2, a, 6, 6)), a.a);\n while (e.i > 1) {\n Xxd(e, e.i - 1);\n }\n }\n return d;\n }\n }\n function Z2b(a, b) {\n var c2, d, e, f2, g, h, i3;\n Odd(b, \"Comment post-processing\", 1);\n for (f2 = new olb(a.b); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 29);\n d = new Rkb();\n for (h = new olb(e.a); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 10);\n i3 = BD(vNb(g, (wtc(), vtc)), 15);\n c2 = BD(vNb(g, tsc), 15);\n if (!!i3 || !!c2) {\n $2b(g, i3, c2);\n !!i3 && Gkb(d, i3);\n !!c2 && Gkb(d, c2);\n }\n }\n Gkb(e.a, d);\n }\n Qdd(b);\n }\n function Eac(a, b) {\n var c2, d, e, f2, g, h, i3;\n c2 = new jkb();\n for (f2 = new olb(a.b); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 29);\n i3 = true;\n d = 0;\n for (h = new olb(e.a); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 10);\n switch (g.k.g) {\n case 4:\n ++d;\n case 1:\n Xjb(c2, g);\n break;\n case 0:\n Gac(g, b);\n default:\n c2.b == c2.c || Fac(c2, d, i3, false, b);\n i3 = false;\n d = 0;\n }\n }\n c2.b == c2.c || Fac(c2, d, i3, true, b);\n }\n }\n function Ebc(a, b) {\n var c2, d, e, f2, g, h, i3;\n e = new Rkb();\n for (c2 = 0; c2 <= a.i; c2++) {\n d = new H1b(b);\n d.p = a.i - c2;\n e.c[e.c.length] = d;\n }\n for (h = new olb(a.o); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 10);\n $_b(g, BD(Ikb(e, a.i - a.f[g.p]), 29));\n }\n f2 = new olb(e);\n while (f2.a < f2.c.c.length) {\n i3 = BD(mlb(f2), 29);\n i3.a.c.length == 0 && nlb(f2);\n }\n b.b.c = KC(SI, Uhe, 1, 0, 5, 1);\n Gkb(b.b, e);\n }\n function KHc(a, b) {\n var c2, d, e, f2, g, h;\n c2 = 0;\n for (h = new olb(b); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 11);\n AHc(a.b, a.d[g.p]);\n for (e = new b1b(g.b); llb(e.a) || llb(e.b); ) {\n d = BD(llb(e.a) ? mlb(e.a) : mlb(e.b), 17);\n f2 = aIc(a, g == d.c ? d.d : d.c);\n if (f2 > a.d[g.p]) {\n c2 += zHc(a.b, f2);\n Wjb(a.a, meb(f2));\n }\n }\n while (!akb(a.a)) {\n xHc(a.b, BD(fkb(a.a), 19).a);\n }\n }\n return c2;\n }\n function o2c(a, b, c2) {\n var d, e, f2, g;\n f2 = (!b.a && (b.a = new cUd(E2, b, 10, 11)), b.a).i;\n for (e = new Fyd((!b.a && (b.a = new cUd(E2, b, 10, 11)), b.a)); e.e != e.i.gc(); ) {\n d = BD(Dyd(e), 33);\n (!d.a && (d.a = new cUd(E2, d, 10, 11)), d.a).i == 0 || (f2 += o2c(a, d, false));\n }\n if (c2) {\n g = Xod(b);\n while (g) {\n f2 += (!g.a && (g.a = new cUd(E2, g, 10, 11)), g.a).i;\n g = Xod(g);\n }\n }\n return f2;\n }\n function Xxd(a, b) {\n var c2, d, e, f2;\n if (a.ej()) {\n d = null;\n e = a.fj();\n a.ij() && (d = a.kj(a.pi(b), null));\n c2 = a.Zi(4, f2 = tud(a, b), null, b, e);\n if (a.bj() && f2 != null) {\n d = a.dj(f2, d);\n if (!d) {\n a.$i(c2);\n } else {\n d.Ei(c2);\n d.Fi();\n }\n } else {\n if (!d) {\n a.$i(c2);\n } else {\n d.Ei(c2);\n d.Fi();\n }\n }\n return f2;\n } else {\n f2 = tud(a, b);\n if (a.bj() && f2 != null) {\n d = a.dj(f2, null);\n !!d && d.Fi();\n }\n return f2;\n }\n }\n function UKb(a) {\n var b, c2, d, e, f2, g, h, i3, j, k;\n j = a.a;\n b = new Tqb();\n i3 = 0;\n for (d = new olb(a.d); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 222);\n k = 0;\n ktb(c2.b, new XKb());\n for (g = Jsb(c2.b, 0); g.b != g.d.c; ) {\n f2 = BD(Xsb(g), 222);\n if (b.a._b(f2)) {\n e = c2.c;\n h = f2.c;\n k < h.d + h.a + j && k + e.a + j > h.d && (k = h.d + h.a + j);\n }\n }\n c2.c.d = k;\n b.a.zc(c2, b);\n i3 = $wnd.Math.max(i3, c2.c.d + c2.c.a);\n }\n return i3;\n }\n function Orc() {\n Orc = ccb;\n Frc = new Prc(\"COMMENTS\", 0);\n Hrc = new Prc(\"EXTERNAL_PORTS\", 1);\n Irc = new Prc(\"HYPEREDGES\", 2);\n Jrc = new Prc(\"HYPERNODES\", 3);\n Krc = new Prc(\"NON_FREE_PORTS\", 4);\n Lrc = new Prc(\"NORTH_SOUTH_PORTS\", 5);\n Nrc = new Prc(Wne, 6);\n Erc = new Prc(\"CENTER_LABELS\", 7);\n Grc = new Prc(\"END_LABELS\", 8);\n Mrc = new Prc(\"PARTITIONS\", 9);\n }\n function gVc(a) {\n var b, c2, d, e, f2;\n e = new Rkb();\n b = new Vqb((!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a));\n for (d = new Sr(ur(_sd(a).a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 79);\n if (!JD(qud((!c2.b && (c2.b = new y5d(z2, c2, 4, 7)), c2.b), 0), 186)) {\n f2 = atd(BD(qud((!c2.c && (c2.c = new y5d(z2, c2, 5, 8)), c2.c), 0), 82));\n b.a._b(f2) || (e.c[e.c.length] = f2, true);\n }\n }\n return e;\n }\n function fVc(a) {\n var b, c2, d, e, f2, g;\n f2 = new Tqb();\n b = new Vqb((!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a));\n for (e = new Sr(ur(_sd(a).a.Kc(), new Sq())); Qr(e); ) {\n d = BD(Rr(e), 79);\n if (!JD(qud((!d.b && (d.b = new y5d(z2, d, 4, 7)), d.b), 0), 186)) {\n g = atd(BD(qud((!d.c && (d.c = new y5d(z2, d, 5, 8)), d.c), 0), 82));\n b.a._b(g) || (c2 = f2.a.zc(g, f2), c2 == null);\n }\n }\n return f2;\n }\n function zA(a, b, c2, d, e) {\n if (d < 0) {\n d = oA(a, e, OC(GC(ZI, 1), nie, 2, 6, [bje, cje, dje, eje, fje, gje, hje, ije, jje, kje, lje, mje]), b);\n d < 0 && (d = oA(a, e, OC(GC(ZI, 1), nie, 2, 6, [\"Jan\", \"Feb\", \"Mar\", \"Apr\", fje, \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]), b));\n if (d < 0) {\n return false;\n }\n c2.k = d;\n return true;\n } else if (d > 0) {\n c2.k = d - 1;\n return true;\n }\n return false;\n }\n function BA(a, b, c2, d, e) {\n if (d < 0) {\n d = oA(a, e, OC(GC(ZI, 1), nie, 2, 6, [bje, cje, dje, eje, fje, gje, hje, ije, jje, kje, lje, mje]), b);\n d < 0 && (d = oA(a, e, OC(GC(ZI, 1), nie, 2, 6, [\"Jan\", \"Feb\", \"Mar\", \"Apr\", fje, \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]), b));\n if (d < 0) {\n return false;\n }\n c2.k = d;\n return true;\n } else if (d > 0) {\n c2.k = d - 1;\n return true;\n }\n return false;\n }\n function DA(a, b, c2, d, e, f2) {\n var g, h, i3, j;\n h = 32;\n if (d < 0) {\n if (b[0] >= a.length) {\n return false;\n }\n h = bfb(a, b[0]);\n if (h != 43 && h != 45) {\n return false;\n }\n ++b[0];\n d = rA(a, b);\n if (d < 0) {\n return false;\n }\n h == 45 && (d = -d);\n }\n if (h == 32 && b[0] - c2 == 2 && e.b == 2) {\n i3 = new eB();\n j = i3.q.getFullYear() - nje + nje - 80;\n g = j % 100;\n f2.a = d == g;\n d += (j / 100 | 0) * 100 + (d < g ? 100 : 0);\n }\n f2.p = d;\n return true;\n }\n function L1b(a, b) {\n var c2, d, e, f2, g;\n if (!Xod(a)) {\n return;\n }\n g = BD(vNb(b, (Nyc(), Fxc)), 174);\n PD(hkd(a, Vxc)) === PD((dcd(), ccd)) && jkd(a, Vxc, bcd);\n d = (Pgd(), new bhd(Xod(a)));\n f2 = new hhd(!Xod(a) ? null : new bhd(Xod(a)), a);\n e = PGb(d, f2, false, true);\n rqb(g, (tdd(), pdd));\n c2 = BD(vNb(b, Hxc), 8);\n c2.a = $wnd.Math.max(e.a, c2.a);\n c2.b = $wnd.Math.max(e.b, c2.b);\n }\n function Pac(a, b, c2) {\n var d, e, f2, g, h, i3;\n for (g = BD(vNb(a, (wtc(), Lsc)), 15).Kc(); g.Ob(); ) {\n f2 = BD(g.Pb(), 10);\n switch (BD(vNb(f2, (Nyc(), mxc)), 163).g) {\n case 2:\n $_b(f2, b);\n break;\n case 4:\n $_b(f2, c2);\n }\n for (e = new Sr(ur(O_b(f2).a.Kc(), new Sq())); Qr(e); ) {\n d = BD(Rr(e), 17);\n if (!!d.c && !!d.d) {\n continue;\n }\n h = !d.d;\n i3 = BD(vNb(d, ctc), 11);\n h ? RZb(d, i3) : QZb(d, i3);\n }\n }\n }\n function Alc() {\n Alc = ccb;\n tlc = new Blc(xle, 0, (Ucd(), Acd), Acd);\n wlc = new Blc(zle, 1, Rcd, Rcd);\n slc = new Blc(yle, 2, zcd, zcd);\n zlc = new Blc(Ale, 3, Tcd, Tcd);\n vlc = new Blc(\"NORTH_WEST_CORNER\", 4, Tcd, Acd);\n ulc = new Blc(\"NORTH_EAST_CORNER\", 5, Acd, zcd);\n ylc = new Blc(\"SOUTH_WEST_CORNER\", 6, Rcd, Tcd);\n xlc = new Blc(\"SOUTH_EAST_CORNER\", 7, zcd, Rcd);\n }\n function i6c() {\n i6c = ccb;\n h6c = OC(GC(XD, 1), Sje, 25, 14, [1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800, 39916800, 479001600, 6227020800, 87178291200, 1307674368e3, { l: 3506176, m: 794077, h: 1 }, { l: 884736, m: 916411, h: 20 }, { l: 3342336, m: 3912489, h: 363 }, { l: 589824, m: 3034138, h: 6914 }, { l: 3407872, m: 1962506, h: 138294 }]);\n $wnd.Math.pow(2, -65);\n }\n function Pcc(a, b) {\n var c2, d, e, f2, g;\n if (a.c.length == 0) {\n return new vgd(meb(0), meb(0));\n }\n c2 = (tCb(0, a.c.length), BD(a.c[0], 11)).j;\n g = 0;\n f2 = b.g;\n d = b.g + 1;\n while (g < a.c.length - 1 && c2.g < f2) {\n ++g;\n c2 = (tCb(g, a.c.length), BD(a.c[g], 11)).j;\n }\n e = g;\n while (e < a.c.length - 1 && c2.g < d) {\n ++e;\n c2 = (tCb(g, a.c.length), BD(a.c[g], 11)).j;\n }\n return new vgd(meb(g), meb(e));\n }\n function R9b(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m;\n f2 = b.c.length;\n g = (tCb(c2, b.c.length), BD(b.c[c2], 286));\n h = g.a.o.a;\n l = g.c;\n m = 0;\n for (j = g.c; j <= g.f; j++) {\n if (h <= a.a[j]) {\n return j;\n }\n k = a.a[j];\n i3 = null;\n for (e = c2 + 1; e < f2; e++) {\n d = (tCb(e, b.c.length), BD(b.c[e], 286));\n d.c <= j && d.f >= j && (i3 = d);\n }\n !!i3 && (k = $wnd.Math.max(k, i3.a.o.a));\n if (k > m) {\n l = j;\n m = k;\n }\n }\n return l;\n }\n function ode(a, b, c2) {\n var d, e, f2;\n a.e = c2;\n a.d = 0;\n a.b = 0;\n a.f = 1;\n a.i = b;\n (a.e & 16) == 16 && (a.i = Xee(a.i));\n a.j = a.i.length;\n nde(a);\n f2 = rde(a);\n if (a.d != a.j)\n throw vbb(new mde(tvd((h0d(), sue))));\n if (a.g) {\n for (d = 0; d < a.g.a.c.length; d++) {\n e = BD(Uvb(a.g, d), 584);\n if (a.f <= e.a)\n throw vbb(new mde(tvd((h0d(), tue))));\n }\n a.g.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n }\n return f2;\n }\n function _Pd(a, b) {\n var c2, d, e;\n if (b == null) {\n for (d = (!a.a && (a.a = new cUd(g5, a, 9, 5)), new Fyd(a.a)); d.e != d.i.gc(); ) {\n c2 = BD(Dyd(d), 678);\n e = c2.c;\n if ((e == null ? c2.zb : e) == null) {\n return c2;\n }\n }\n } else {\n for (d = (!a.a && (a.a = new cUd(g5, a, 9, 5)), new Fyd(a.a)); d.e != d.i.gc(); ) {\n c2 = BD(Dyd(d), 678);\n if (dfb(b, (e = c2.c, e == null ? c2.zb : e))) {\n return c2;\n }\n }\n }\n return null;\n }\n function KIb(a, b) {\n var c2;\n c2 = null;\n switch (b.g) {\n case 1:\n a.e.Xe((Y9c(), o9c)) && (c2 = BD(a.e.We(o9c), 249));\n break;\n case 3:\n a.e.Xe((Y9c(), p9c)) && (c2 = BD(a.e.We(p9c), 249));\n break;\n case 2:\n a.e.Xe((Y9c(), n9c)) && (c2 = BD(a.e.We(n9c), 249));\n break;\n case 4:\n a.e.Xe((Y9c(), q9c)) && (c2 = BD(a.e.We(q9c), 249));\n }\n !c2 && (c2 = BD(a.e.We((Y9c(), l9c)), 249));\n return c2;\n }\n function OCc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l;\n b.p = 1;\n f2 = b.c;\n for (l = W_b(b, (KAc(), IAc)).Kc(); l.Ob(); ) {\n k = BD(l.Pb(), 11);\n for (e = new olb(k.g); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 17);\n j = d.d.i;\n if (b != j) {\n g = j.c;\n if (g.p <= f2.p) {\n h = f2.p + 1;\n if (h == c2.b.c.length) {\n i3 = new H1b(c2);\n i3.p = h;\n Ekb(c2.b, i3);\n $_b(j, i3);\n } else {\n i3 = BD(Ikb(c2.b, h), 29);\n $_b(j, i3);\n }\n OCc(a, j, c2);\n }\n }\n }\n }\n }\n function ZXc(a, b, c2) {\n var d, e, f2, g, h, i3;\n e = c2;\n f2 = 0;\n for (h = new olb(b); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 33);\n jkd(g, (ZWc(), SWc), meb(e++));\n i3 = gVc(g);\n d = $wnd.Math.atan2(g.j + g.f / 2, g.i + g.g / 2);\n d += d < 0 ? dre : 0;\n d < 0.7853981633974483 || d > vre ? Okb(i3, a.b) : d <= vre && d > wre ? Okb(i3, a.d) : d <= wre && d > xre ? Okb(i3, a.c) : d <= xre && Okb(i3, a.a);\n f2 = ZXc(a, i3, f2);\n }\n return e;\n }\n function Hgb() {\n Hgb = ccb;\n var a;\n Cgb = new Ugb(1, 1);\n Egb = new Ugb(1, 10);\n Ggb = new Ugb(0, 0);\n Bgb = new Ugb(-1, 1);\n Dgb = OC(GC(cJ, 1), nie, 91, 0, [Ggb, Cgb, new Ugb(1, 2), new Ugb(1, 3), new Ugb(1, 4), new Ugb(1, 5), new Ugb(1, 6), new Ugb(1, 7), new Ugb(1, 8), new Ugb(1, 9), Egb]);\n Fgb = KC(cJ, nie, 91, 32, 0, 1);\n for (a = 0; a < Fgb.length; a++) {\n Fgb[a] = ghb(Nbb(1, a));\n }\n }\n function B9b(a, b, c2, d, e, f2) {\n var g, h, i3, j;\n h = !WAb(JAb(a.Oc(), new Xxb(new F9b()))).sd((EAb(), DAb));\n g = a;\n f2 == (ead(), dad) && (g = JD(g, 152) ? km(BD(g, 152)) : JD(g, 131) ? BD(g, 131).a : JD(g, 54) ? new ov(g) : new dv(g));\n for (j = g.Kc(); j.Ob(); ) {\n i3 = BD(j.Pb(), 70);\n i3.n.a = b.a;\n h ? i3.n.b = b.b + (d.b - i3.o.b) / 2 : e ? i3.n.b = b.b : i3.n.b = b.b + d.b - i3.o.b;\n b.a += i3.o.a + c2;\n }\n }\n function UOc(a, b, c2, d) {\n var e, f2, g, h, i3, j;\n e = (d.c + d.a) / 2;\n Osb(b.j);\n Dsb(b.j, e);\n Osb(c2.e);\n Dsb(c2.e, e);\n j = new aPc();\n for (h = new olb(a.f); h.a < h.c.c.length; ) {\n f2 = BD(mlb(h), 129);\n i3 = f2.a;\n WOc(j, b, i3);\n WOc(j, c2, i3);\n }\n for (g = new olb(a.k); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 129);\n i3 = f2.b;\n WOc(j, b, i3);\n WOc(j, c2, i3);\n }\n j.b += 2;\n j.a += POc(b, a.q);\n j.a += POc(a.q, c2);\n return j;\n }\n function FSc(a, b, c2) {\n var d, e, f2, g, h;\n if (!Qq(b)) {\n h = Udd(c2, (JD(b, 14) ? BD(b, 14).gc() : sr(b.Kc())) / a.a | 0);\n Odd(h, Xqe, 1);\n g = new ISc();\n f2 = null;\n for (e = b.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 86);\n g = pl(OC(GC(KI, 1), Uhe, 20, 0, [g, new ZRc(d)]));\n if (f2) {\n yNb(f2, (mTc(), hTc), d);\n yNb(d, _Sc, f2);\n if (VRc(d) == VRc(f2)) {\n yNb(f2, iTc, d);\n yNb(d, aTc, f2);\n }\n }\n f2 = d;\n }\n Qdd(h);\n FSc(a, g, c2);\n }\n }\n function VHb(a) {\n var b, c2, d, e, f2, g, h;\n c2 = a.i;\n b = a.n;\n h = c2.d;\n a.f == (EIb(), CIb) ? h += (c2.a - a.e.b) / 2 : a.f == BIb && (h += c2.a - a.e.b);\n for (e = new olb(a.d); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 181);\n g = d.rf();\n f2 = new d7c();\n f2.b = h;\n h += g.b + a.a;\n switch (a.b.g) {\n case 0:\n f2.a = c2.c + b.b;\n break;\n case 1:\n f2.a = c2.c + b.b + (c2.b - g.a) / 2;\n break;\n case 2:\n f2.a = c2.c + c2.b - b.c - g.a;\n }\n d.tf(f2);\n }\n }\n function XHb(a) {\n var b, c2, d, e, f2, g, h;\n c2 = a.i;\n b = a.n;\n h = c2.c;\n a.b == (NHb(), KHb) ? h += (c2.b - a.e.a) / 2 : a.b == MHb && (h += c2.b - a.e.a);\n for (e = new olb(a.d); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 181);\n g = d.rf();\n f2 = new d7c();\n f2.a = h;\n h += g.a + a.a;\n switch (a.f.g) {\n case 0:\n f2.b = c2.d + b.d;\n break;\n case 1:\n f2.b = c2.d + b.d + (c2.a - g.b) / 2;\n break;\n case 2:\n f2.b = c2.d + c2.a - b.a - g.b;\n }\n d.tf(f2);\n }\n }\n function D4b(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2;\n k = c2.a.c;\n g = c2.a.c + c2.a.b;\n f2 = BD(Ohb(c2.c, b), 459);\n n = f2.f;\n o2 = f2.a;\n i3 = new f7c(k, n);\n l = new f7c(g, o2);\n e = k;\n c2.p || (e += a.c);\n e += c2.F + c2.v * a.b;\n j = new f7c(e, n);\n m = new f7c(e, o2);\n n7c(b.a, OC(GC(m1, 1), nie, 8, 0, [i3, j]));\n h = c2.d.a.gc() > 1;\n if (h) {\n d = new f7c(e, c2.b);\n Dsb(b.a, d);\n }\n n7c(b.a, OC(GC(m1, 1), nie, 8, 0, [m, l]));\n }\n function jdd(a) {\n r4c(a, new E3c(P3c(M3c(O3c(N3c(new R3c(), Rse), \"ELK Randomizer\"), 'Distributes the nodes randomly on the plane, leading to very obfuscating layouts. Can be useful to demonstrate the power of \"real\" layout algorithms.'), new mdd())));\n p4c(a, Rse, ame, fdd);\n p4c(a, Rse, wme, 15);\n p4c(a, Rse, yme, meb(0));\n p4c(a, Rse, _le, tme);\n }\n function hde() {\n hde = ccb;\n var a, b, c2, d, e, f2;\n fde = KC(SD, wte, 25, 255, 15, 1);\n gde = KC(TD, $ie, 25, 16, 15, 1);\n for (b = 0; b < 255; b++) {\n fde[b] = -1;\n }\n for (c2 = 57; c2 >= 48; c2--) {\n fde[c2] = c2 - 48 << 24 >> 24;\n }\n for (d = 70; d >= 65; d--) {\n fde[d] = d - 65 + 10 << 24 >> 24;\n }\n for (e = 102; e >= 97; e--) {\n fde[e] = e - 97 + 10 << 24 >> 24;\n }\n for (f2 = 0; f2 < 10; f2++)\n gde[f2] = 48 + f2 & aje;\n for (a = 10; a <= 15; a++)\n gde[a] = 65 + a - 10 & aje;\n }\n function BVc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n h = b.i - a.g / 2;\n i3 = c2.i - a.g / 2;\n j = b.j - a.g / 2;\n k = c2.j - a.g / 2;\n f2 = b.g + a.g / 2;\n g = c2.g + a.g / 2;\n d = b.f + a.g / 2;\n e = c2.f + a.g / 2;\n if (h < i3 + g && i3 < h && j < k + e && k < j) {\n return true;\n } else if (i3 < h + f2 && h < i3 && k < j + d && j < k) {\n return true;\n } else if (h < i3 + g && i3 < h && j < k && k < j + d) {\n return true;\n } else if (i3 < h + f2 && h < i3 && j < k + e && k < j) {\n return true;\n }\n return false;\n }\n function NTb(a) {\n var b, c2, d, e, f2;\n e = BD(vNb(a, (Nyc(), Fxc)), 21);\n f2 = BD(vNb(a, Ixc), 21);\n c2 = new f7c(a.f.a + a.d.b + a.d.c, a.f.b + a.d.d + a.d.a);\n b = new g7c(c2);\n if (e.Hc((tdd(), pdd))) {\n d = BD(vNb(a, Hxc), 8);\n if (f2.Hc((Idd(), Bdd))) {\n d.a <= 0 && (d.a = 20);\n d.b <= 0 && (d.b = 20);\n }\n b.a = $wnd.Math.max(c2.a, d.a);\n b.b = $wnd.Math.max(c2.b, d.b);\n }\n Ccb(DD(vNb(a, Gxc))) || OTb(a, c2, b);\n }\n function NJc(a, b) {\n var c2, d, e, f2;\n for (f2 = V_b(b, (Ucd(), Rcd)).Kc(); f2.Ob(); ) {\n d = BD(f2.Pb(), 11);\n c2 = BD(vNb(d, (wtc(), gtc)), 10);\n !!c2 && AFb(DFb(CFb(EFb(BFb(new FFb(), 0), 0.1), a.i[b.p].d), a.i[c2.p].a));\n }\n for (e = V_b(b, Acd).Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 11);\n c2 = BD(vNb(d, (wtc(), gtc)), 10);\n !!c2 && AFb(DFb(CFb(EFb(BFb(new FFb(), 0), 0.1), a.i[c2.p].d), a.i[b.p].a));\n }\n }\n function QKd(a) {\n var b, c2, d, e, f2, g;\n if (!a.c) {\n g = new wNd();\n b = KKd;\n f2 = b.a.zc(a, b);\n if (f2 == null) {\n for (d = new Fyd(VKd(a)); d.e != d.i.gc(); ) {\n c2 = BD(Dyd(d), 87);\n e = KQd(c2);\n JD(e, 88) && ytd(g, QKd(BD(e, 26)));\n wtd(g, c2);\n }\n b.a.Bc(a) != null;\n b.a.gc() == 0 && void 0;\n }\n tNd(g);\n vud(g);\n a.c = new nNd((BD(qud(ZKd((NFd(), MFd).o), 15), 18), g.i), g.g);\n $Kd(a).b &= -33;\n }\n return a.c;\n }\n function eee(a) {\n var b;\n if (a.c != 10)\n throw vbb(new mde(tvd((h0d(), uue))));\n b = a.a;\n switch (b) {\n case 110:\n b = 10;\n break;\n case 114:\n b = 13;\n break;\n case 116:\n b = 9;\n break;\n case 92:\n case 124:\n case 46:\n case 94:\n case 45:\n case 63:\n case 42:\n case 43:\n case 123:\n case 125:\n case 40:\n case 41:\n case 91:\n case 93:\n break;\n default:\n throw vbb(new mde(tvd((h0d(), Yue))));\n }\n return b;\n }\n function qD(a) {\n var b, c2, d, e, f2;\n if (a.l == 0 && a.m == 0 && a.h == 0) {\n return \"0\";\n }\n if (a.h == Gje && a.m == 0 && a.l == 0) {\n return \"-9223372036854775808\";\n }\n if (a.h >> 19 != 0) {\n return \"-\" + qD(hD(a));\n }\n c2 = a;\n d = \"\";\n while (!(c2.l == 0 && c2.m == 0 && c2.h == 0)) {\n e = RC(Jje);\n c2 = UC(c2, e, true);\n b = \"\" + pD(QC);\n if (!(c2.l == 0 && c2.m == 0 && c2.h == 0)) {\n f2 = 9 - b.length;\n for (; f2 > 0; f2--) {\n b = \"0\" + b;\n }\n }\n d = b + d;\n }\n return d;\n }\n function xrb() {\n if (!Object.create || !Object.getOwnPropertyNames) {\n return false;\n }\n var a = \"__proto__\";\n var b = /* @__PURE__ */ Object.create(null);\n if (b[a] !== void 0) {\n return false;\n }\n var c2 = Object.getOwnPropertyNames(b);\n if (c2.length != 0) {\n return false;\n }\n b[a] = 42;\n if (b[a] !== 42) {\n return false;\n }\n if (Object.getOwnPropertyNames(b).length == 0) {\n return false;\n }\n return true;\n }\n function Pgc(a) {\n var b, c2, d, e, f2, g, h;\n b = false;\n c2 = 0;\n for (e = new olb(a.d.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 29);\n d.p = c2++;\n for (g = new olb(d.a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 10);\n !b && !Qq(O_b(f2)) && (b = true);\n }\n }\n h = qqb((ead(), cad), OC(GC(t12, 1), Kie, 103, 0, [aad, bad]));\n if (!b) {\n rqb(h, dad);\n rqb(h, _9c);\n }\n a.a = new mDb(h);\n Uhb(a.f);\n Uhb(a.b);\n Uhb(a.e);\n Uhb(a.g);\n }\n function _Xb(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l;\n d = c2.c;\n e = c2.d;\n h = A0b(b.c);\n i3 = A0b(b.d);\n if (d == b.c) {\n h = aYb(a, h, e);\n i3 = bYb(b.d);\n } else {\n h = bYb(b.c);\n i3 = aYb(a, i3, e);\n }\n j = new t7c(b.a);\n Gsb(j, h, j.a, j.a.a);\n Gsb(j, i3, j.c.b, j.c);\n g = b.c == d;\n l = new BYb();\n for (f2 = 0; f2 < j.b - 1; ++f2) {\n k = new vgd(BD(Ut(j, f2), 8), BD(Ut(j, f2 + 1), 8));\n g && f2 == 0 || !g && f2 == j.b - 2 ? l.b = k : Ekb(l.a, k);\n }\n return l;\n }\n function O$b(a, b) {\n var c2, d, e, f2;\n f2 = a.j.g - b.j.g;\n if (f2 != 0) {\n return f2;\n }\n c2 = BD(vNb(a, (Nyc(), Wxc)), 19);\n d = BD(vNb(b, Wxc), 19);\n if (!!c2 && !!d) {\n e = c2.a - d.a;\n if (e != 0) {\n return e;\n }\n }\n switch (a.j.g) {\n case 1:\n return Kdb(a.n.a, b.n.a);\n case 2:\n return Kdb(a.n.b, b.n.b);\n case 3:\n return Kdb(b.n.a, a.n.a);\n case 4:\n return Kdb(b.n.b, a.n.b);\n default:\n throw vbb(new Zdb(ine));\n }\n }\n function G6b(a, b, c2, d) {\n var e, f2, g, h, i3;\n if (sr((D6b(), new Sr(ur(O_b(b).a.Kc(), new Sq())))) >= a.a) {\n return -1;\n }\n if (!F6b(b, c2)) {\n return -1;\n }\n if (Qq(BD(d.Kb(b), 20))) {\n return 1;\n }\n e = 0;\n for (g = BD(d.Kb(b), 20).Kc(); g.Ob(); ) {\n f2 = BD(g.Pb(), 17);\n i3 = f2.c.i == b ? f2.d.i : f2.c.i;\n h = G6b(a, i3, c2, d);\n if (h == -1) {\n return -1;\n }\n e = $wnd.Math.max(e, h);\n if (e > a.c - 1) {\n return -1;\n }\n }\n return e + 1;\n }\n function Btd(a, b) {\n var c2, d, e, f2, g, h;\n if (PD(b) === PD(a)) {\n return true;\n }\n if (!JD(b, 15)) {\n return false;\n }\n d = BD(b, 15);\n h = a.gc();\n if (d.gc() != h) {\n return false;\n }\n g = d.Kc();\n if (a.ni()) {\n for (c2 = 0; c2 < h; ++c2) {\n e = a.ki(c2);\n f2 = g.Pb();\n if (e == null ? f2 != null : !pb(e, f2)) {\n return false;\n }\n }\n } else {\n for (c2 = 0; c2 < h; ++c2) {\n e = a.ki(c2);\n f2 = g.Pb();\n if (PD(e) !== PD(f2)) {\n return false;\n }\n }\n }\n return true;\n }\n function rAd(a, b) {\n var c2, d, e, f2, g, h;\n if (a.f > 0) {\n a.qj();\n if (b != null) {\n for (f2 = 0; f2 < a.d.length; ++f2) {\n c2 = a.d[f2];\n if (c2) {\n d = BD(c2.g, 367);\n h = c2.i;\n for (g = 0; g < h; ++g) {\n e = d[g];\n if (pb(b, e.dd())) {\n return true;\n }\n }\n }\n }\n } else {\n for (f2 = 0; f2 < a.d.length; ++f2) {\n c2 = a.d[f2];\n if (c2) {\n d = BD(c2.g, 367);\n h = c2.i;\n for (g = 0; g < h; ++g) {\n e = d[g];\n if (PD(b) === PD(e.dd())) {\n return true;\n }\n }\n }\n }\n }\n }\n return false;\n }\n function e6b(a, b, c2) {\n var d, e, f2, g;\n Odd(c2, \"Orthogonally routing hierarchical port edges\", 1);\n a.a = 0;\n d = h6b(b);\n k6b(b, d);\n j6b(a, b, d);\n f6b(b);\n e = BD(vNb(b, (Nyc(), Vxc)), 98);\n f2 = b.b;\n d6b((tCb(0, f2.c.length), BD(f2.c[0], 29)), e, b);\n d6b(BD(Ikb(f2, f2.c.length - 1), 29), e, b);\n g = b.b;\n b6b((tCb(0, g.c.length), BD(g.c[0], 29)));\n b6b(BD(Ikb(g, g.c.length - 1), 29));\n Qdd(c2);\n }\n function jnd(a) {\n switch (a) {\n case 48:\n case 49:\n case 50:\n case 51:\n case 52:\n case 53:\n case 54:\n case 55:\n case 56:\n case 57: {\n return a - 48 << 24 >> 24;\n }\n case 97:\n case 98:\n case 99:\n case 100:\n case 101:\n case 102: {\n return a - 97 + 10 << 24 >> 24;\n }\n case 65:\n case 66:\n case 67:\n case 68:\n case 69:\n case 70: {\n return a - 65 + 10 << 24 >> 24;\n }\n default: {\n throw vbb(new Oeb(\"Invalid hexadecimal\"));\n }\n }\n }\n function AUc(a, b, c2) {\n var d, e, f2, g;\n Odd(c2, \"Processor order nodes\", 2);\n a.a = Edb(ED(vNb(b, (JTc(), HTc))));\n e = new Psb();\n for (g = Jsb(b.b, 0); g.b != g.d.c; ) {\n f2 = BD(Xsb(g), 86);\n Ccb(DD(vNb(f2, (mTc(), jTc)))) && (Gsb(e, f2, e.c.b, e.c), true);\n }\n d = (sCb(e.b != 0), BD(e.a.a.c, 86));\n yUc(a, d);\n !c2.b && Rdd(c2, 1);\n BUc(a, d, 0 - Edb(ED(vNb(d, (mTc(), bTc)))) / 2, 0);\n !c2.b && Rdd(c2, 1);\n Qdd(c2);\n }\n function rFb() {\n rFb = ccb;\n qFb = new sFb(\"SPIRAL\", 0);\n lFb = new sFb(\"LINE_BY_LINE\", 1);\n mFb = new sFb(\"MANHATTAN\", 2);\n kFb = new sFb(\"JITTER\", 3);\n oFb = new sFb(\"QUADRANTS_LINE_BY_LINE\", 4);\n pFb = new sFb(\"QUADRANTS_MANHATTAN\", 5);\n nFb = new sFb(\"QUADRANTS_JITTER\", 6);\n jFb = new sFb(\"COMBINE_LINE_BY_LINE_MANHATTAN\", 7);\n iFb = new sFb(\"COMBINE_JITTER_MANHATTAN\", 8);\n }\n function roc(a, b, c2, d) {\n var e, f2, g, h, i3, j;\n i3 = woc(a, c2);\n j = woc(b, c2);\n e = false;\n while (!!i3 && !!j) {\n if (d || uoc(i3, j, c2)) {\n g = woc(i3, c2);\n h = woc(j, c2);\n zoc(b);\n zoc(a);\n f2 = i3.c;\n sbc(i3, false);\n sbc(j, false);\n if (c2) {\n Z_b(b, j.p, f2);\n b.p = j.p;\n Z_b(a, i3.p + 1, f2);\n a.p = i3.p;\n } else {\n Z_b(a, i3.p, f2);\n a.p = i3.p;\n Z_b(b, j.p + 1, f2);\n b.p = j.p;\n }\n $_b(i3, null);\n $_b(j, null);\n i3 = g;\n j = h;\n e = true;\n } else {\n break;\n }\n }\n return e;\n }\n function VDc(a, b, c2, d) {\n var e, f2, g, h, i3;\n e = false;\n f2 = false;\n for (h = new olb(d.j); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 11);\n PD(vNb(g, (wtc(), $sc))) === PD(c2) && (g.g.c.length == 0 ? g.e.c.length == 0 || (e = true) : f2 = true);\n }\n i3 = 0;\n e && e ^ f2 ? i3 = c2.j == (Ucd(), Acd) ? -a.e[d.c.p][d.p] : b - a.e[d.c.p][d.p] : f2 && e ^ f2 ? i3 = a.e[d.c.p][d.p] + 1 : e && f2 && (i3 = c2.j == (Ucd(), Acd) ? 0 : b / 2);\n return i3;\n }\n function NEd(a, b, c2, d, e, f2, g, h) {\n var i3, j, k;\n i3 = 0;\n b != null && (i3 ^= LCb(b.toLowerCase()));\n c2 != null && (i3 ^= LCb(c2));\n d != null && (i3 ^= LCb(d));\n g != null && (i3 ^= LCb(g));\n h != null && (i3 ^= LCb(h));\n for (j = 0, k = f2.length; j < k; j++) {\n i3 ^= LCb(f2[j]);\n }\n a ? i3 |= 256 : i3 &= -257;\n e ? i3 |= 16 : i3 &= -17;\n this.f = i3;\n this.i = b == null ? null : (uCb(b), b);\n this.a = c2;\n this.d = d;\n this.j = f2;\n this.g = g;\n this.e = h;\n }\n function X_b(a, b, c2) {\n var d, e;\n e = null;\n switch (b.g) {\n case 1:\n e = (z0b(), u0b);\n break;\n case 2:\n e = (z0b(), w0b);\n }\n d = null;\n switch (c2.g) {\n case 1:\n d = (z0b(), v0b);\n break;\n case 2:\n d = (z0b(), t0b);\n break;\n case 3:\n d = (z0b(), x0b);\n break;\n case 4:\n d = (z0b(), y0b);\n }\n return !!e && !!d ? Nq(a.j, new Yb(new amb(OC(GC(_D, 1), Uhe, 169, 0, [BD(Qb(e), 169), BD(Qb(d), 169)])))) : (mmb(), mmb(), jmb);\n }\n function t5b(a) {\n var b, c2, d;\n b = BD(vNb(a, (Nyc(), Hxc)), 8);\n yNb(a, Hxc, new f7c(b.b, b.a));\n switch (BD(vNb(a, mwc), 248).g) {\n case 1:\n yNb(a, mwc, (F7c(), E7c));\n break;\n case 2:\n yNb(a, mwc, (F7c(), A7c));\n break;\n case 3:\n yNb(a, mwc, (F7c(), C7c));\n break;\n case 4:\n yNb(a, mwc, (F7c(), D7c));\n }\n if ((!a.q ? (mmb(), mmb(), kmb) : a.q)._b(ayc)) {\n c2 = BD(vNb(a, ayc), 8);\n d = c2.a;\n c2.a = c2.b;\n c2.b = d;\n }\n }\n function jjc(a, b, c2, d, e, f2) {\n this.b = c2;\n this.d = e;\n if (a >= b.length) {\n throw vbb(new qcb(\"Greedy SwitchDecider: Free layer not in graph.\"));\n }\n this.c = b[a];\n this.e = new dIc(d);\n THc(this.e, this.c, (Ucd(), Tcd));\n this.i = new dIc(d);\n THc(this.i, this.c, zcd);\n this.f = new ejc(this.c);\n this.a = !f2 && e.i && !e.s && this.c[0].k == (j0b(), e0b);\n this.a && hjc(this, a, b.length);\n }\n function hKb(a, b) {\n var c2, d, e, f2, g, h;\n f2 = !a.B.Hc((Idd(), zdd));\n g = a.B.Hc(Cdd);\n a.a = new FHb(g, f2, a.c);\n !!a.n && u_b(a.a.n, a.n);\n lIb(a.g, (gHb(), eHb), a.a);\n if (!b) {\n d = new mIb(1, f2, a.c);\n d.n.a = a.k;\n Npb(a.p, (Ucd(), Acd), d);\n e = new mIb(1, f2, a.c);\n e.n.d = a.k;\n Npb(a.p, Rcd, e);\n h = new mIb(0, f2, a.c);\n h.n.c = a.k;\n Npb(a.p, Tcd, h);\n c2 = new mIb(0, f2, a.c);\n c2.n.b = a.k;\n Npb(a.p, zcd, c2);\n }\n }\n function Vgc(a) {\n var b, c2, d;\n b = BD(vNb(a.d, (Nyc(), Swc)), 218);\n switch (b.g) {\n case 2:\n c2 = Ngc(a);\n break;\n case 3:\n c2 = (d = new Rkb(), MAb(JAb(NAb(LAb(LAb(new YAb(null, new Kub(a.d.b, 16)), new Shc()), new Uhc()), new Whc()), new ehc()), new Yhc(d)), d);\n break;\n default:\n throw vbb(new Zdb(\"Compaction not supported for \" + b + \" edges.\"));\n }\n Ugc(a, c2);\n reb(new Pib(a.g), new Ehc(a));\n }\n function a2c(a, b) {\n var c2;\n c2 = new zNb();\n !!b && tNb(c2, BD(Ohb(a.a, C2), 94));\n JD(b, 470) && tNb(c2, BD(Ohb(a.a, G2), 94));\n if (JD(b, 354)) {\n tNb(c2, BD(Ohb(a.a, D2), 94));\n return c2;\n }\n JD(b, 82) && tNb(c2, BD(Ohb(a.a, z2), 94));\n if (JD(b, 239)) {\n tNb(c2, BD(Ohb(a.a, E2), 94));\n return c2;\n }\n if (JD(b, 186)) {\n tNb(c2, BD(Ohb(a.a, F2), 94));\n return c2;\n }\n JD(b, 352) && tNb(c2, BD(Ohb(a.a, B2), 94));\n return c2;\n }\n function wSb() {\n wSb = ccb;\n oSb = new Osd((Y9c(), D9c), meb(1));\n uSb = new Osd(T9c, 80);\n tSb = new Osd(M9c, 5);\n bSb = new Osd(r8c, tme);\n pSb = new Osd(E9c, meb(1));\n sSb = new Osd(H9c, (Bcb(), true));\n lSb = new q0b(50);\n kSb = new Osd(f9c, lSb);\n dSb = O8c;\n mSb = t9c;\n cSb = new Osd(B8c, false);\n jSb = e9c;\n iSb = b9c;\n hSb = Y8c;\n gSb = W8c;\n nSb = x9c;\n fSb = (SRb(), LRb);\n vSb = QRb;\n eSb = KRb;\n qSb = NRb;\n rSb = PRb;\n }\n function ZXb(a) {\n var b, c2, d, e, f2, g, h, i3;\n i3 = new jYb();\n for (h = new olb(a.a); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 10);\n if (g.k == (j0b(), e0b)) {\n continue;\n }\n XXb(i3, g, new d7c());\n for (f2 = new Sr(ur(U_b(g).a.Kc(), new Sq())); Qr(f2); ) {\n e = BD(Rr(f2), 17);\n if (e.c.i.k == e0b || e.d.i.k == e0b) {\n continue;\n }\n for (d = Jsb(e.a, 0); d.b != d.d.c; ) {\n c2 = BD(Xsb(d), 8);\n b = c2;\n hYb(i3, new cWb(b.a, b.b));\n }\n }\n }\n return i3;\n }\n function A0c() {\n A0c = ccb;\n z0c = new Lsd(Qre);\n y0c = (R0c(), Q0c);\n x0c = new Nsd(Vre, y0c);\n w0c = (a1c(), _0c);\n v0c = new Nsd(Rre, w0c);\n u0c = (N_c(), J_c);\n t0c = new Nsd(Sre, u0c);\n p0c = new Nsd(Tre, null);\n s0c = (C_c(), A_c);\n r0c = new Nsd(Ure, s0c);\n l0c = (i_c(), h_c);\n k0c = new Nsd(Wre, l0c);\n m0c = new Nsd(Xre, (Bcb(), false));\n n0c = new Nsd(Yre, meb(64));\n o0c = new Nsd(Zre, true);\n q0c = B_c;\n }\n function Toc(a) {\n var b, c2, d, e, f2, g;\n if (a.a != null) {\n return;\n }\n a.a = KC(sbb, dle, 25, a.c.b.c.length, 16, 1);\n a.a[0] = false;\n if (wNb(a.c, (Nyc(), Lyc))) {\n d = BD(vNb(a.c, Lyc), 15);\n for (c2 = d.Kc(); c2.Ob(); ) {\n b = BD(c2.Pb(), 19).a;\n b > 0 && b < a.a.length && (a.a[b] = false);\n }\n } else {\n g = new olb(a.c.b);\n g.a < g.c.c.length && mlb(g);\n e = 1;\n while (g.a < g.c.c.length) {\n f2 = BD(mlb(g), 29);\n a.a[e++] = Woc(f2);\n }\n }\n }\n function TMd(a, b) {\n var c2, d, e, f2;\n e = a.b;\n switch (b) {\n case 1: {\n a.b |= 1;\n a.b |= 4;\n a.b |= 8;\n break;\n }\n case 2: {\n a.b |= 2;\n a.b |= 4;\n a.b |= 8;\n break;\n }\n case 4: {\n a.b |= 1;\n a.b |= 2;\n a.b |= 4;\n a.b |= 8;\n break;\n }\n case 3: {\n a.b |= 16;\n a.b |= 8;\n break;\n }\n case 0: {\n a.b |= 32;\n a.b |= 16;\n a.b |= 8;\n a.b |= 1;\n a.b |= 2;\n a.b |= 4;\n break;\n }\n }\n if (a.b != e && !!a.c) {\n for (d = new Fyd(a.c); d.e != d.i.gc(); ) {\n f2 = BD(Dyd(d), 473);\n c2 = $Kd(f2);\n XMd(c2, b);\n }\n }\n }\n function cGc(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n, o2;\n e = false;\n for (g = b, h = 0, i3 = g.length; h < i3; ++h) {\n f2 = g[h];\n Ccb((Bcb(), f2.e ? true : false)) && !BD(Ikb(a.b, f2.e.p), 214).s && (e = e | (j = f2.e, k = BD(Ikb(a.b, j.p), 214), l = k.e, m = SFc(c2, l.length), n = l[m][0], n.k == (j0b(), e0b) ? l[m] = aGc(f2, l[m], c2 ? (Ucd(), Tcd) : (Ucd(), zcd)) : k.c.Tf(l, c2), o2 = dGc(a, k, c2, d), bGc(k.e, k.o, c2), o2));\n }\n return e;\n }\n function p2c(a, b) {\n var c2, d, e, f2, g;\n f2 = (!b.a && (b.a = new cUd(E2, b, 10, 11)), b.a).i;\n for (e = new Fyd((!b.a && (b.a = new cUd(E2, b, 10, 11)), b.a)); e.e != e.i.gc(); ) {\n d = BD(Dyd(e), 33);\n if (PD(hkd(d, (Y9c(), J8c))) !== PD((hbd(), gbd))) {\n g = BD(hkd(b, F9c), 149);\n c2 = BD(hkd(d, F9c), 149);\n (g == c2 || !!g && C3c(g, c2)) && (!d.a && (d.a = new cUd(E2, d, 10, 11)), d.a).i != 0 && (f2 += p2c(a, d));\n }\n }\n return f2;\n }\n function nlc(a) {\n var b, c2, d, e, f2, g, h;\n d = 0;\n h = 0;\n for (g = new olb(a.d); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 101);\n e = BD(GAb(JAb(new YAb(null, new Kub(f2.j, 16)), new Ylc()), Byb(new fzb(), new dzb(), new Ezb(), OC(GC(xL, 1), Kie, 132, 0, [(Fyb(), Dyb)]))), 15);\n c2 = null;\n if (d <= h) {\n c2 = (Ucd(), Acd);\n d += e.gc();\n } else if (h < d) {\n c2 = (Ucd(), Rcd);\n h += e.gc();\n }\n b = c2;\n MAb(NAb(e.Oc(), new Mlc()), new Olc(b));\n }\n }\n function mkc(a) {\n var b, c2, d, e, f2, g, h, i3;\n a.b = new _i(new amb((Ucd(), OC(GC(F1, 1), bne, 61, 0, [Scd, Acd, zcd, Rcd, Tcd]))), new amb((Fkc(), OC(GC(vV, 1), Kie, 361, 0, [Ekc, Dkc, Ckc]))));\n for (g = OC(GC(F1, 1), bne, 61, 0, [Scd, Acd, zcd, Rcd, Tcd]), h = 0, i3 = g.length; h < i3; ++h) {\n f2 = g[h];\n for (c2 = OC(GC(vV, 1), Kie, 361, 0, [Ekc, Dkc, Ckc]), d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n Ui(a.b, f2, b, new Rkb());\n }\n }\n }\n function KJb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l;\n g = BD(BD(Qc(a.r, b), 21), 84);\n h = a.u.Hc((rcd(), pcd));\n c2 = a.u.Hc(mcd);\n d = a.u.Hc(lcd);\n j = a.u.Hc(qcd);\n l = a.B.Hc((Idd(), Hdd));\n k = !c2 && !d && (j || g.gc() == 2);\n HJb(a, b);\n e = null;\n i3 = null;\n if (h) {\n f2 = g.Kc();\n e = BD(f2.Pb(), 111);\n i3 = e;\n while (f2.Ob()) {\n i3 = BD(f2.Pb(), 111);\n }\n e.d.b = 0;\n i3.d.c = 0;\n k && !e.a && (e.d.c = 0);\n }\n if (l) {\n LJb(g);\n if (h) {\n e.d.b = 0;\n i3.d.c = 0;\n }\n }\n }\n function SKb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l;\n g = BD(BD(Qc(a.r, b), 21), 84);\n h = a.u.Hc((rcd(), pcd));\n c2 = a.u.Hc(mcd);\n d = a.u.Hc(lcd);\n i3 = a.u.Hc(qcd);\n l = a.B.Hc((Idd(), Hdd));\n j = !c2 && !d && (i3 || g.gc() == 2);\n QKb(a, b);\n k = null;\n e = null;\n if (h) {\n f2 = g.Kc();\n k = BD(f2.Pb(), 111);\n e = k;\n while (f2.Ob()) {\n e = BD(f2.Pb(), 111);\n }\n k.d.d = 0;\n e.d.a = 0;\n j && !k.a && (k.d.a = 0);\n }\n if (l) {\n TKb(g);\n if (h) {\n k.d.d = 0;\n e.d.a = 0;\n }\n }\n }\n function oJc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n e = b.k;\n if (b.p >= 0) {\n return false;\n } else {\n b.p = c2.b;\n Ekb(c2.e, b);\n }\n if (e == (j0b(), g0b) || e == i0b) {\n for (g = new olb(b.j); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 11);\n for (k = (d = new olb(new R0b(f2).a.g), new U0b(d)); llb(k.a); ) {\n j = BD(mlb(k.a), 17).d;\n h = j.i;\n i3 = h.k;\n if (b.c != h.c) {\n if (i3 == g0b || i3 == i0b) {\n if (oJc(a, h, c2)) {\n return true;\n }\n }\n }\n }\n }\n }\n return true;\n }\n function gJd(a) {\n var b;\n if ((a.Db & 64) != 0)\n return EId(a);\n b = new Jfb(EId(a));\n b.a += \" (changeable: \";\n Ffb(b, (a.Bb & zte) != 0);\n b.a += \", volatile: \";\n Ffb(b, (a.Bb & Dve) != 0);\n b.a += \", transient: \";\n Ffb(b, (a.Bb & Rje) != 0);\n b.a += \", defaultValueLiteral: \";\n Efb(b, a.j);\n b.a += \", unsettable: \";\n Ffb(b, (a.Bb & Cve) != 0);\n b.a += \", derived: \";\n Ffb(b, (a.Bb & oie) != 0);\n b.a += \")\";\n return b.a;\n }\n function AOb(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m;\n e = eNb(a.d);\n g = BD(vNb(a.b, (CPb(), wPb)), 116);\n h = g.b + g.c;\n i3 = g.d + g.a;\n k = e.d.a * a.e + h;\n j = e.b.a * a.f + i3;\n $Ob(a.b, new f7c(k, j));\n for (m = new olb(a.g); m.a < m.c.c.length; ) {\n l = BD(mlb(m), 562);\n b = l.g - e.a.a;\n c2 = l.i - e.c.a;\n d = P6c(Z6c(new f7c(b, c2), l.a, l.b), Y6c(b7c(R6c(HOb(l.e)), l.d * l.a, l.c * l.b), -0.5));\n f2 = IOb(l.e);\n KOb(l.e, c7c(d, f2));\n }\n }\n function tmc(a, b, c2, d) {\n var e, f2, g, h, i3;\n i3 = KC(UD, nie, 104, (Ucd(), OC(GC(F1, 1), bne, 61, 0, [Scd, Acd, zcd, Rcd, Tcd])).length, 0, 2);\n for (f2 = OC(GC(F1, 1), bne, 61, 0, [Scd, Acd, zcd, Rcd, Tcd]), g = 0, h = f2.length; g < h; ++g) {\n e = f2[g];\n i3[e.g] = KC(UD, Vje, 25, a.c[e.g], 15, 1);\n }\n vmc(i3, a, Acd);\n vmc(i3, a, Rcd);\n smc(i3, a, Acd, b, c2, d);\n smc(i3, a, zcd, b, c2, d);\n smc(i3, a, Rcd, b, c2, d);\n smc(i3, a, Tcd, b, c2, d);\n return i3;\n }\n function UGc(a, b, c2) {\n if (Mhb(a.a, b)) {\n if (Rqb(BD(Ohb(a.a, b), 53), c2)) {\n return 1;\n }\n } else {\n Rhb(a.a, b, new Tqb());\n }\n if (Mhb(a.a, c2)) {\n if (Rqb(BD(Ohb(a.a, c2), 53), b)) {\n return -1;\n }\n } else {\n Rhb(a.a, c2, new Tqb());\n }\n if (Mhb(a.b, b)) {\n if (Rqb(BD(Ohb(a.b, b), 53), c2)) {\n return -1;\n }\n } else {\n Rhb(a.b, b, new Tqb());\n }\n if (Mhb(a.b, c2)) {\n if (Rqb(BD(Ohb(a.b, c2), 53), b)) {\n return 1;\n }\n } else {\n Rhb(a.b, c2, new Tqb());\n }\n return 0;\n }\n function x2d(a, b, c2, d) {\n var e, f2, g, h, i3, j;\n if (c2 == null) {\n e = BD(a.g, 119);\n for (h = 0; h < a.i; ++h) {\n g = e[h];\n if (g.ak() == b) {\n return Txd(a, g, d);\n }\n }\n }\n f2 = (Q6d(), BD(b, 66).Oj() ? BD(c2, 72) : R6d(b, c2));\n if (oid(a.e)) {\n j = !R2d(a, b);\n d = Sxd(a, f2, d);\n i3 = b.$j() ? H2d(a, 3, b, null, c2, M2d(a, b, c2, JD(b, 99) && (BD(b, 18).Bb & Tje) != 0), j) : H2d(a, 1, b, b.zj(), c2, -1, j);\n d ? d.Ei(i3) : d = i3;\n } else {\n d = Sxd(a, f2, d);\n }\n return d;\n }\n function CJb(a) {\n var b, c2, d, e, f2, g;\n if (a.q == (dcd(), _bd) || a.q == $bd) {\n return;\n }\n e = a.f.n.d + _Gb(BD(Mpb(a.b, (Ucd(), Acd)), 124)) + a.c;\n b = a.f.n.a + _Gb(BD(Mpb(a.b, Rcd), 124)) + a.c;\n d = BD(Mpb(a.b, zcd), 124);\n g = BD(Mpb(a.b, Tcd), 124);\n f2 = $wnd.Math.max(0, d.n.d - e);\n f2 = $wnd.Math.max(f2, g.n.d - e);\n c2 = $wnd.Math.max(0, d.n.a - b);\n c2 = $wnd.Math.max(c2, g.n.a - b);\n d.n.d = f2;\n g.n.d = f2;\n d.n.a = c2;\n g.n.a = c2;\n }\n function rdc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m;\n Odd(b, \"Restoring reversed edges\", 1);\n for (i3 = new olb(a.b); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 29);\n for (k = new olb(h.a); k.a < k.c.c.length; ) {\n j = BD(mlb(k), 10);\n for (m = new olb(j.j); m.a < m.c.c.length; ) {\n l = BD(mlb(m), 11);\n g = k_b(l.g);\n for (d = g, e = 0, f2 = d.length; e < f2; ++e) {\n c2 = d[e];\n Ccb(DD(vNb(c2, (wtc(), ltc)))) && PZb(c2, false);\n }\n }\n }\n }\n Qdd(b);\n }\n function m4c() {\n this.b = new $rb();\n this.d = new $rb();\n this.e = new $rb();\n this.c = new $rb();\n this.a = new Lqb();\n this.f = new Lqb();\n hvd(m1, new x4c(), new z4c());\n hvd(l1, new V4c(), new X4c());\n hvd(i1, new Z4c(), new _4c());\n hvd(j1, new b5c(), new d5c());\n hvd(i2, new f5c(), new h5c());\n hvd(DJ, new B4c(), new D4c());\n hvd(xK, new F4c(), new H4c());\n hvd(jK, new J4c(), new L4c());\n hvd(uK, new N4c(), new P4c());\n hvd(kL, new R4c(), new T4c());\n }\n function R5d(a) {\n var b, c2, d, e, f2, g;\n f2 = 0;\n b = wId(a);\n !!b.Bj() && (f2 |= 4);\n (a.Bb & Cve) != 0 && (f2 |= 2);\n if (JD(a, 99)) {\n c2 = BD(a, 18);\n e = zUd(c2);\n (c2.Bb & ote) != 0 && (f2 |= 32);\n if (e) {\n aLd(WId(e));\n f2 |= 8;\n g = e.t;\n (g > 1 || g == -1) && (f2 |= 16);\n (e.Bb & ote) != 0 && (f2 |= 64);\n }\n (c2.Bb & Tje) != 0 && (f2 |= Dve);\n f2 |= zte;\n } else {\n if (JD(b, 457)) {\n f2 |= 512;\n } else {\n d = b.Bj();\n !!d && (d.i & 1) != 0 && (f2 |= 256);\n }\n }\n (a.Bb & 512) != 0 && (f2 |= 128);\n return f2;\n }\n function hc(a, b) {\n var c2, d, e, f2, g;\n a = a == null ? Xhe : (uCb(a), a);\n for (e = 0; e < b.length; e++) {\n b[e] = ic(b[e]);\n }\n c2 = new Vfb();\n g = 0;\n d = 0;\n while (d < b.length) {\n f2 = a.indexOf(\"%s\", g);\n if (f2 == -1) {\n break;\n }\n c2.a += \"\" + qfb(a == null ? Xhe : (uCb(a), a), g, f2);\n Pfb(c2, b[d++]);\n g = f2 + 2;\n }\n Ofb(c2, a, g, a.length);\n if (d < b.length) {\n c2.a += \" [\";\n Pfb(c2, b[d++]);\n while (d < b.length) {\n c2.a += She;\n Pfb(c2, b[d++]);\n }\n c2.a += \"]\";\n }\n return c2.a;\n }\n function m3b(a) {\n var b, c2, d, e, f2;\n f2 = new Skb(a.a.c.length);\n for (e = new olb(a.a); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 10);\n c2 = BD(vNb(d, (Nyc(), mxc)), 163);\n b = null;\n switch (c2.g) {\n case 1:\n case 2:\n b = (Gqc(), Fqc);\n break;\n case 3:\n case 4:\n b = (Gqc(), Dqc);\n }\n if (b) {\n yNb(d, (wtc(), Bsc), (Gqc(), Fqc));\n b == Dqc ? o3b(d, c2, (KAc(), HAc)) : b == Fqc && o3b(d, c2, (KAc(), IAc));\n } else {\n f2.c[f2.c.length] = d;\n }\n }\n return f2;\n }\n function MHc(a, b) {\n var c2, d, e, f2, g, h, i3;\n c2 = 0;\n for (i3 = new olb(b); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 11);\n AHc(a.b, a.d[h.p]);\n g = 0;\n for (e = new b1b(h.b); llb(e.a) || llb(e.b); ) {\n d = BD(llb(e.a) ? mlb(e.a) : mlb(e.b), 17);\n if (WHc(d)) {\n f2 = aIc(a, h == d.c ? d.d : d.c);\n if (f2 > a.d[h.p]) {\n c2 += zHc(a.b, f2);\n Wjb(a.a, meb(f2));\n }\n } else {\n ++g;\n }\n }\n c2 += a.b.d * g;\n while (!akb(a.a)) {\n xHc(a.b, BD(fkb(a.a), 19).a);\n }\n }\n return c2;\n }\n function Y6d(a, b) {\n var c2;\n if (a.f == W6d) {\n c2 = $1d(q1d((O6d(), M6d), b));\n return a.e ? c2 == 4 && b != (m8d(), k8d) && b != (m8d(), h8d) && b != (m8d(), i8d) && b != (m8d(), j8d) : c2 == 2;\n }\n if (!!a.d && (a.d.Hc(b) || a.d.Hc(_1d(q1d((O6d(), M6d), b))) || a.d.Hc(e1d((O6d(), M6d), a.b, b)))) {\n return true;\n }\n if (a.f) {\n if (x1d((O6d(), a.f), b2d(q1d(M6d, b)))) {\n c2 = $1d(q1d(M6d, b));\n return a.e ? c2 == 4 : c2 == 2;\n }\n }\n return false;\n }\n function iVc(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l;\n g = BD(hkd(c2, (Y9c(), C9c)), 8);\n i3 = g.a;\n k = g.b + a;\n e = $wnd.Math.atan2(k, i3);\n e < 0 && (e += dre);\n e += b;\n e > dre && (e -= dre);\n h = BD(hkd(d, C9c), 8);\n j = h.a;\n l = h.b + a;\n f2 = $wnd.Math.atan2(l, j);\n f2 < 0 && (f2 += dre);\n f2 += b;\n f2 > dre && (f2 -= dre);\n return Iy(), My(1e-10), $wnd.Math.abs(e - f2) <= 1e-10 || e == f2 || isNaN(e) && isNaN(f2) ? 0 : e < f2 ? -1 : e > f2 ? 1 : Ny(isNaN(e), isNaN(f2));\n }\n function YDb(a) {\n var b, c2, d, e, f2, g, h;\n h = new Lqb();\n for (d = new olb(a.a.b); d.a < d.c.c.length; ) {\n b = BD(mlb(d), 57);\n Rhb(h, b, new Rkb());\n }\n for (e = new olb(a.a.b); e.a < e.c.c.length; ) {\n b = BD(mlb(e), 57);\n b.i = Qje;\n for (g = b.c.Kc(); g.Ob(); ) {\n f2 = BD(g.Pb(), 57);\n BD(Wd(irb(h.f, f2)), 15).Fc(b);\n }\n }\n for (c2 = new olb(a.a.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 57);\n b.c.$b();\n b.c = BD(Wd(irb(h.f, b)), 15);\n }\n QDb(a);\n }\n function yVb(a) {\n var b, c2, d, e, f2, g, h;\n h = new Lqb();\n for (d = new olb(a.a.b); d.a < d.c.c.length; ) {\n b = BD(mlb(d), 81);\n Rhb(h, b, new Rkb());\n }\n for (e = new olb(a.a.b); e.a < e.c.c.length; ) {\n b = BD(mlb(e), 81);\n b.o = Qje;\n for (g = b.f.Kc(); g.Ob(); ) {\n f2 = BD(g.Pb(), 81);\n BD(Wd(irb(h.f, f2)), 15).Fc(b);\n }\n }\n for (c2 = new olb(a.a.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 81);\n b.f.$b();\n b.f = BD(Wd(irb(h.f, b)), 15);\n }\n rVb(a);\n }\n function dNb(a, b, c2, d) {\n var e, f2;\n cNb(a, b, c2, d);\n qNb(b, a.j - b.j + c2);\n rNb(b, a.k - b.k + d);\n for (f2 = new olb(b.f); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 324);\n switch (e.a.g) {\n case 0:\n nNb(a, b.g + e.b.a, 0, b.g + e.c.a, b.i - 1);\n break;\n case 1:\n nNb(a, b.g + b.o, b.i + e.b.a, a.o - 1, b.i + e.c.a);\n break;\n case 2:\n nNb(a, b.g + e.b.a, b.i + b.p, b.g + e.c.a, a.p - 1);\n break;\n default:\n nNb(a, 0, b.i + e.b.a, b.g - 1, b.i + e.c.a);\n }\n }\n }\n function aNb(b, c2, d, e, f2) {\n var g, h, i3;\n try {\n if (c2 >= b.o) {\n throw vbb(new rcb());\n }\n i3 = c2 >> 5;\n h = c2 & 31;\n g = Nbb(1, Tbb(Nbb(h, 1)));\n f2 ? b.n[d][i3] = Mbb(b.n[d][i3], g) : b.n[d][i3] = xbb(b.n[d][i3], Lbb(g));\n g = Nbb(g, 1);\n e ? b.n[d][i3] = Mbb(b.n[d][i3], g) : b.n[d][i3] = xbb(b.n[d][i3], Lbb(g));\n } catch (a) {\n a = ubb(a);\n if (JD(a, 320)) {\n throw vbb(new qcb(Dle + b.o + \"*\" + b.p + Ele + c2 + She + d + Fle));\n } else\n throw vbb(a);\n }\n }\n function BUc(a, b, c2, d) {\n var e, f2, g;\n if (b) {\n f2 = Edb(ED(vNb(b, (mTc(), fTc)))) + d;\n g = c2 + Edb(ED(vNb(b, bTc))) / 2;\n yNb(b, kTc, meb(Tbb(Cbb($wnd.Math.round(f2)))));\n yNb(b, lTc, meb(Tbb(Cbb($wnd.Math.round(g)))));\n b.d.b == 0 || BUc(a, BD(pr((e = Jsb(new ZRc(b).a.d, 0), new aSc(e))), 86), c2 + Edb(ED(vNb(b, bTc))) + a.a, d + Edb(ED(vNb(b, cTc))));\n vNb(b, iTc) != null && BUc(a, BD(vNb(b, iTc), 86), c2, d);\n }\n }\n function N9b(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m;\n i3 = Q_b(b.a);\n e = Edb(ED(vNb(i3, (Nyc(), pyc)))) * 2;\n k = Edb(ED(vNb(i3, wyc)));\n j = $wnd.Math.max(e, k);\n f2 = KC(UD, Vje, 25, b.f - b.c + 1, 15, 1);\n d = -j;\n c2 = 0;\n for (h = b.b.Kc(); h.Ob(); ) {\n g = BD(h.Pb(), 10);\n d += a.a[g.c.p] + j;\n f2[c2++] = d;\n }\n d += a.a[b.a.c.p] + j;\n f2[c2++] = d;\n for (m = new olb(b.e); m.a < m.c.c.length; ) {\n l = BD(mlb(m), 10);\n d += a.a[l.c.p] + j;\n f2[c2++] = d;\n }\n return f2;\n }\n function GHc(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m;\n m = new Hxb(new pIc(a));\n for (h = OC(GC(OQ, 1), kne, 10, 0, [b, c2]), i3 = 0, j = h.length; i3 < j; ++i3) {\n g = h[i3];\n for (l = CHc(g, d).Kc(); l.Ob(); ) {\n k = BD(l.Pb(), 11);\n for (f2 = new b1b(k.b); llb(f2.a) || llb(f2.b); ) {\n e = BD(llb(f2.a) ? mlb(f2.a) : mlb(f2.b), 17);\n if (!OZb(e)) {\n Iwb(m.a, k, (Bcb(), zcb)) == null;\n WHc(e) && Axb(m, k == e.c ? e.d : e.c);\n }\n }\n }\n }\n return Qb(m), new Tkb(m);\n }\n function zhd(a, b) {\n var c2, d, e, f2;\n f2 = BD(hkd(a, (Y9c(), A9c)), 61).g - BD(hkd(b, A9c), 61).g;\n if (f2 != 0) {\n return f2;\n }\n c2 = BD(hkd(a, v9c), 19);\n d = BD(hkd(b, v9c), 19);\n if (!!c2 && !!d) {\n e = c2.a - d.a;\n if (e != 0) {\n return e;\n }\n }\n switch (BD(hkd(a, A9c), 61).g) {\n case 1:\n return Kdb(a.i, b.i);\n case 2:\n return Kdb(a.j, b.j);\n case 3:\n return Kdb(b.i, a.i);\n case 4:\n return Kdb(b.j, a.j);\n default:\n throw vbb(new Zdb(ine));\n }\n }\n function _od(a) {\n var b, c2, d;\n if ((a.Db & 64) != 0)\n return fld(a);\n b = new Wfb(ete);\n c2 = a.k;\n if (!c2) {\n !a.n && (a.n = new cUd(D2, a, 1, 7));\n if (a.n.i > 0) {\n d = (!a.n && (a.n = new cUd(D2, a, 1, 7)), BD(qud(a.n, 0), 137)).a;\n !d || Qfb(Qfb((b.a += ' \"', b), d), '\"');\n }\n } else {\n Qfb(Qfb((b.a += ' \"', b), c2), '\"');\n }\n Qfb(Lfb(Qfb(Lfb(Qfb(Lfb(Qfb(Lfb((b.a += \" (\", b), a.i), \",\"), a.j), \" | \"), a.g), \",\"), a.f), \")\");\n return b.a;\n }\n function opd(a) {\n var b, c2, d;\n if ((a.Db & 64) != 0)\n return fld(a);\n b = new Wfb(fte);\n c2 = a.k;\n if (!c2) {\n !a.n && (a.n = new cUd(D2, a, 1, 7));\n if (a.n.i > 0) {\n d = (!a.n && (a.n = new cUd(D2, a, 1, 7)), BD(qud(a.n, 0), 137)).a;\n !d || Qfb(Qfb((b.a += ' \"', b), d), '\"');\n }\n } else {\n Qfb(Qfb((b.a += ' \"', b), c2), '\"');\n }\n Qfb(Lfb(Qfb(Lfb(Qfb(Lfb(Qfb(Lfb((b.a += \" (\", b), a.i), \",\"), a.j), \" | \"), a.g), \",\"), a.f), \")\");\n return b.a;\n }\n function h4c(a, b) {\n var c2, d, e, f2, g, h, i3;\n if (b == null || b.length == 0) {\n return null;\n }\n e = BD(Phb(a.a, b), 149);\n if (!e) {\n for (d = (h = new $ib(a.b).a.vc().Kc(), new djb(h)); d.a.Ob(); ) {\n c2 = (f2 = BD(d.a.Pb(), 42), BD(f2.dd(), 149));\n g = c2.c;\n i3 = b.length;\n if (dfb(g.substr(g.length - i3, i3), b) && (b.length == g.length || bfb(g, g.length - b.length - 1) == 46)) {\n if (e) {\n return null;\n }\n e = c2;\n }\n }\n !!e && Shb(a.a, b, e);\n }\n return e;\n }\n function QLb(a, b) {\n var c2, d, e, f2;\n c2 = new VLb();\n d = BD(GAb(NAb(new YAb(null, new Kub(a.f, 16)), c2), Ayb(new hzb(), new jzb(), new Gzb(), new Izb(), OC(GC(xL, 1), Kie, 132, 0, [(Fyb(), Eyb), Dyb]))), 21);\n e = d.gc();\n d = BD(GAb(NAb(new YAb(null, new Kub(b.f, 16)), c2), Ayb(new hzb(), new jzb(), new Gzb(), new Izb(), OC(GC(xL, 1), Kie, 132, 0, [Eyb, Dyb]))), 21);\n f2 = d.gc();\n if (e < f2) {\n return -1;\n }\n if (e == f2) {\n return 0;\n }\n return 1;\n }\n function r5b(a) {\n var b, c2, d;\n if (!wNb(a, (Nyc(), xxc))) {\n return;\n }\n d = BD(vNb(a, xxc), 21);\n if (d.dc()) {\n return;\n }\n c2 = (b = BD(gdb(B1), 9), new xqb(b, BD(_Bb(b, b.length), 9), 0));\n d.Hc((Hbd(), Cbd)) ? rqb(c2, Cbd) : rqb(c2, Dbd);\n d.Hc(Abd) || rqb(c2, Abd);\n d.Hc(zbd) ? rqb(c2, Gbd) : d.Hc(ybd) ? rqb(c2, Fbd) : d.Hc(Bbd) && rqb(c2, Ebd);\n d.Hc(Gbd) ? rqb(c2, zbd) : d.Hc(Fbd) ? rqb(c2, ybd) : d.Hc(Ebd) && rqb(c2, Bbd);\n yNb(a, xxc, c2);\n }\n function kHc(a) {\n var b, c2, d, e, f2, g, h;\n e = BD(vNb(a, (wtc(), Psc)), 10);\n d = a.j;\n c2 = (tCb(0, d.c.length), BD(d.c[0], 11));\n for (g = new olb(e.j); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 11);\n if (PD(f2) === PD(vNb(c2, $sc))) {\n if (f2.j == (Ucd(), Acd) && a.p > e.p) {\n G0b(f2, Rcd);\n if (f2.d) {\n h = f2.o.b;\n b = f2.a.b;\n f2.a.b = h - b;\n }\n } else if (f2.j == Rcd && e.p > a.p) {\n G0b(f2, Acd);\n if (f2.d) {\n h = f2.o.b;\n b = f2.a.b;\n f2.a.b = -(h - b);\n }\n }\n break;\n }\n }\n return e;\n }\n function NOc(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n, o2;\n f2 = c2;\n if (c2 < d) {\n m = (n = new uOc(a.p), o2 = new uOc(a.p), ye(n.e, a.e), n.q = a.q, n.r = o2, lOc(n), ye(o2.j, a.j), o2.r = n, lOc(o2), new vgd(n, o2));\n l = BD(m.a, 112);\n k = BD(m.b, 112);\n e = (tCb(f2, b.c.length), BD(b.c[f2], 329));\n g = UOc(a, l, k, e);\n for (j = c2 + 1; j <= d; j++) {\n h = (tCb(j, b.c.length), BD(b.c[j], 329));\n i3 = UOc(a, l, k, h);\n if (SOc(h, i3, e, g)) {\n e = h;\n g = i3;\n }\n }\n }\n return f2;\n }\n function wQb(a, b, c2, d, e) {\n var f2, g, h, i3, j, k, l;\n if (!(JD(b, 239) || JD(b, 354) || JD(b, 186))) {\n throw vbb(new Wdb(\"Method only works for ElkNode-, ElkLabel and ElkPort-objects.\"));\n }\n g = a.a / 2;\n i3 = b.i + d - g;\n k = b.j + e - g;\n j = i3 + b.g + a.a;\n l = k + b.f + a.a;\n f2 = new s7c();\n Dsb(f2, new f7c(i3, k));\n Dsb(f2, new f7c(i3, l));\n Dsb(f2, new f7c(j, l));\n Dsb(f2, new f7c(j, k));\n h = new XOb(f2);\n tNb(h, b);\n c2 && Rhb(a.b, b, h);\n return h;\n }\n function uXb(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m;\n f2 = new f7c(b, c2);\n for (k = new olb(a.a); k.a < k.c.c.length; ) {\n j = BD(mlb(k), 10);\n P6c(j.n, f2);\n for (m = new olb(j.j); m.a < m.c.c.length; ) {\n l = BD(mlb(m), 11);\n for (e = new olb(l.g); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 17);\n q7c(d.a, f2);\n g = BD(vNb(d, (Nyc(), jxc)), 74);\n !!g && q7c(g, f2);\n for (i3 = new olb(d.b); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 70);\n P6c(h.n, f2);\n }\n }\n }\n }\n }\n function g_b(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m;\n f2 = new f7c(b, c2);\n for (k = new olb(a.a); k.a < k.c.c.length; ) {\n j = BD(mlb(k), 10);\n P6c(j.n, f2);\n for (m = new olb(j.j); m.a < m.c.c.length; ) {\n l = BD(mlb(m), 11);\n for (e = new olb(l.g); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 17);\n q7c(d.a, f2);\n g = BD(vNb(d, (Nyc(), jxc)), 74);\n !!g && q7c(g, f2);\n for (i3 = new olb(d.b); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 70);\n P6c(h.n, f2);\n }\n }\n }\n }\n }\n function N1b(a) {\n if ((!a.b && (a.b = new y5d(z2, a, 4, 7)), a.b).i == 0) {\n throw vbb(new z2c(\"Edges must have a source.\"));\n } else if ((!a.c && (a.c = new y5d(z2, a, 5, 8)), a.c).i == 0) {\n throw vbb(new z2c(\"Edges must have a target.\"));\n } else {\n !a.b && (a.b = new y5d(z2, a, 4, 7));\n if (!(a.b.i <= 1 && (!a.c && (a.c = new y5d(z2, a, 5, 8)), a.c.i <= 1))) {\n throw vbb(new z2c(\"Hyperedges are not supported.\"));\n }\n }\n }\n function OFc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l;\n l = 0;\n f2 = new jkb();\n Wjb(f2, b);\n while (f2.b != f2.c) {\n i3 = BD(fkb(f2), 214);\n j = 0;\n k = BD(vNb(b.j, (Nyc(), ywc)), 339);\n g = Edb(ED(vNb(b.j, uwc)));\n h = Edb(ED(vNb(b.j, vwc)));\n if (k != (tAc(), rAc)) {\n j += g * PFc(i3.e, k);\n j += h * QFc(i3.e);\n }\n l += pHc(i3.d, i3.e) + j;\n for (e = new olb(i3.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 37);\n c2 = BD(Ikb(a.b, d.p), 214);\n c2.s || (l += NFc(a, c2));\n }\n }\n return l;\n }\n function dhb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q;\n n = b.length;\n i3 = n;\n BCb(0, b.length);\n if (b.charCodeAt(0) == 45) {\n l = -1;\n m = 1;\n --n;\n } else {\n l = 1;\n m = 0;\n }\n f2 = (phb(), ohb)[10];\n e = n / f2 | 0;\n q = n % f2;\n q != 0 && ++e;\n h = KC(WD, oje, 25, e, 15, 1);\n c2 = nhb[8];\n g = 0;\n o2 = m + (q == 0 ? f2 : q);\n for (p = m; p < i3; p = o2, o2 = p + f2) {\n d = Icb(b.substr(p, o2 - p), Rie, Ohe);\n j = (Dhb(), Hhb(h, h, g, c2));\n j += xhb(h, g, d);\n h[g++] = j;\n }\n k = g;\n a.e = l;\n a.d = k;\n a.a = h;\n Jgb(a);\n }\n function SGb(a, b, c2, d, e, f2, g) {\n a.c = d.qf().a;\n a.d = d.qf().b;\n if (e) {\n a.c += e.qf().a;\n a.d += e.qf().b;\n }\n a.b = b.rf().a;\n a.a = b.rf().b;\n if (!e) {\n c2 ? a.c -= g + b.rf().a : a.c += d.rf().a + g;\n } else {\n switch (e.Hf().g) {\n case 0:\n case 2:\n a.c += e.rf().a + g + f2.a + g;\n break;\n case 4:\n a.c -= g + f2.a + g + b.rf().a;\n break;\n case 1:\n a.c += e.rf().a + g;\n a.d -= g + f2.b + g + b.rf().b;\n break;\n case 3:\n a.c += e.rf().a + g;\n a.d += e.rf().b + g + f2.b + g;\n }\n }\n }\n function gac(a, b) {\n var c2, d;\n this.b = new Rkb();\n this.e = new Rkb();\n this.a = a;\n this.d = b;\n dac(this);\n eac(this);\n this.b.dc() ? this.c = a.c.p : this.c = BD(this.b.Xb(0), 10).c.p;\n this.e.c.length == 0 ? this.f = a.c.p : this.f = BD(Ikb(this.e, this.e.c.length - 1), 10).c.p;\n for (d = BD(vNb(a, (wtc(), ktc)), 15).Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 70);\n if (wNb(c2, (Nyc(), Owc))) {\n this.d = BD(vNb(c2, Owc), 227);\n break;\n }\n }\n }\n function Anc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n d = BD(Ohb(a.a, b), 53);\n f2 = BD(Ohb(a.a, c2), 53);\n e = BD(Ohb(a.e, b), 53);\n g = BD(Ohb(a.e, c2), 53);\n d.a.zc(c2, d);\n g.a.zc(b, g);\n for (k = f2.a.ec().Kc(); k.Ob(); ) {\n j = BD(k.Pb(), 10);\n d.a.zc(j, d);\n Qqb(BD(Ohb(a.e, j), 53), b);\n ye(BD(Ohb(a.e, j), 53), e);\n }\n for (i3 = e.a.ec().Kc(); i3.Ob(); ) {\n h = BD(i3.Pb(), 10);\n g.a.zc(h, g);\n Qqb(BD(Ohb(a.a, h), 53), c2);\n ye(BD(Ohb(a.a, h), 53), f2);\n }\n }\n function WGc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n d = BD(Ohb(a.a, b), 53);\n f2 = BD(Ohb(a.a, c2), 53);\n e = BD(Ohb(a.b, b), 53);\n g = BD(Ohb(a.b, c2), 53);\n d.a.zc(c2, d);\n g.a.zc(b, g);\n for (k = f2.a.ec().Kc(); k.Ob(); ) {\n j = BD(k.Pb(), 10);\n d.a.zc(j, d);\n Qqb(BD(Ohb(a.b, j), 53), b);\n ye(BD(Ohb(a.b, j), 53), e);\n }\n for (i3 = e.a.ec().Kc(); i3.Ob(); ) {\n h = BD(i3.Pb(), 10);\n g.a.zc(h, g);\n Qqb(BD(Ohb(a.a, h), 53), c2);\n ye(BD(Ohb(a.a, h), 53), f2);\n }\n }\n function doc(a, b) {\n var c2, d, e;\n Odd(b, \"Breaking Point Insertion\", 1);\n d = new Xoc(a);\n switch (BD(vNb(a, (Nyc(), Gyc)), 337).g) {\n case 2:\n e = new hpc();\n case 0:\n e = new Ync();\n break;\n default:\n e = new kpc();\n }\n c2 = e.Vf(a, d);\n Ccb(DD(vNb(a, Iyc))) && (c2 = coc(a, c2));\n if (!e.Wf() && wNb(a, Myc)) {\n switch (BD(vNb(a, Myc), 338).g) {\n case 2:\n c2 = tpc(d, c2);\n break;\n case 1:\n c2 = rpc(d, c2);\n }\n }\n if (c2.dc()) {\n Qdd(b);\n return;\n }\n aoc(a, c2);\n Qdd(b);\n }\n function $qd(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m;\n k = null;\n m = b;\n l = Rqd(a, dtd(c2), m);\n Lkd(l, _pd(m, Vte));\n g = Ypd(m, Lte);\n d = new mrd(a, l);\n oqd(d.a, d.b, g);\n h = Ypd(m, Mte);\n e = new nrd(a, l);\n pqd(e.a, e.b, h);\n if ((!l.b && (l.b = new y5d(z2, l, 4, 7)), l.b).i == 0 || (!l.c && (l.c = new y5d(z2, l, 5, 8)), l.c).i == 0) {\n f2 = _pd(m, Vte);\n i3 = Zte + f2;\n j = i3 + $te;\n throw vbb(new cqd(j));\n }\n grd(m, l);\n _qd(a, m, l);\n k = crd(a, m, l);\n return k;\n }\n function yGb(a, b) {\n var c2, d, e, f2, g, h, i3;\n e = KC(WD, oje, 25, a.e.a.c.length, 15, 1);\n for (g = new olb(a.e.a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 121);\n e[f2.d] += f2.b.a.c.length;\n }\n h = Ru(b);\n while (h.b != 0) {\n f2 = BD(h.b == 0 ? null : (sCb(h.b != 0), Nsb(h, h.a.a)), 121);\n for (d = vr(new olb(f2.g.a)); d.Ob(); ) {\n c2 = BD(d.Pb(), 213);\n i3 = c2.e;\n i3.e = $wnd.Math.max(i3.e, f2.e + c2.a);\n --e[i3.d];\n e[i3.d] == 0 && (Gsb(h, i3, h.c.b, h.c), true);\n }\n }\n }\n function CGb(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l;\n c2 = Rie;\n e = Ohe;\n for (h = new olb(a.e.a); h.a < h.c.c.length; ) {\n f2 = BD(mlb(h), 121);\n e = $wnd.Math.min(e, f2.e);\n c2 = $wnd.Math.max(c2, f2.e);\n }\n b = KC(WD, oje, 25, c2 - e + 1, 15, 1);\n for (g = new olb(a.e.a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 121);\n f2.e -= e;\n ++b[f2.e];\n }\n d = 0;\n if (a.k != null) {\n for (j = a.k, k = 0, l = j.length; k < l; ++k) {\n i3 = j[k];\n b[d++] += i3;\n if (b.length == d) {\n break;\n }\n }\n }\n return b;\n }\n function ixd(a) {\n switch (a.d) {\n case 9:\n case 8: {\n return true;\n }\n case 3:\n case 5:\n case 4:\n case 6: {\n return false;\n }\n case 7: {\n return BD(hxd(a), 19).a == a.o;\n }\n case 1:\n case 2: {\n if (a.o == -2) {\n return false;\n } else {\n switch (a.p) {\n case 0:\n case 1:\n case 2:\n case 6:\n case 5:\n case 7: {\n return Bbb(a.k, a.f);\n }\n case 3:\n case 4: {\n return a.j == a.e;\n }\n default: {\n return a.n == null ? a.g == null : pb(a.n, a.g);\n }\n }\n }\n }\n default: {\n return false;\n }\n }\n }\n function $ad(a) {\n r4c(a, new E3c(P3c(M3c(O3c(N3c(new R3c(), Qse), \"ELK Fixed\"), \"Keeps the current layout as it is, without any automatic modification. Optional coordinates can be given for nodes and edge bend points.\"), new bbd())));\n p4c(a, Qse, ame, Xad);\n p4c(a, Qse, uqe, Ksd(Yad));\n p4c(a, Qse, use, Ksd(Sad));\n p4c(a, Qse, Fme, Ksd(Tad));\n p4c(a, Qse, Tme, Ksd(Vad));\n p4c(a, Qse, bqe, Ksd(Uad));\n }\n function ro(a, b, c2) {\n var d, e, f2, g, h;\n d = Tbb(Ibb(Eie, keb(Tbb(Ibb(b == null ? 0 : tb(b), Fie)), 15)));\n h = Tbb(Ibb(Eie, keb(Tbb(Ibb(c2 == null ? 0 : tb(c2), Fie)), 15)));\n f2 = uo(a, b, d);\n if (!!f2 && h == f2.f && Hb(c2, f2.i)) {\n return c2;\n }\n g = vo(a, c2, h);\n if (g) {\n throw vbb(new Wdb(\"value already present: \" + c2));\n }\n e = new $o(b, d, c2, h);\n if (f2) {\n mo(a, f2);\n po(a, e, f2);\n f2.e = null;\n f2.c = null;\n return f2.i;\n } else {\n po(a, e, null);\n to(a);\n return null;\n }\n }\n function E4b(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2;\n k = c2.a.c;\n g = c2.a.c + c2.a.b;\n f2 = BD(Ohb(c2.c, b), 459);\n n = f2.f;\n o2 = f2.a;\n f2.b ? i3 = new f7c(g, n) : i3 = new f7c(k, n);\n f2.c ? l = new f7c(k, o2) : l = new f7c(g, o2);\n e = k;\n c2.p || (e += a.c);\n e += c2.F + c2.v * a.b;\n j = new f7c(e, n);\n m = new f7c(e, o2);\n n7c(b.a, OC(GC(m1, 1), nie, 8, 0, [i3, j]));\n h = c2.d.a.gc() > 1;\n if (h) {\n d = new f7c(e, c2.b);\n Dsb(b.a, d);\n }\n n7c(b.a, OC(GC(m1, 1), nie, 8, 0, [m, l]));\n }\n function Nid(a, b, c2) {\n var d, e, f2, g, h, i3;\n if (!b) {\n return null;\n } else {\n if (c2 <= -1) {\n d = XKd(b.Tg(), -1 - c2);\n if (JD(d, 99)) {\n return BD(d, 18);\n } else {\n g = BD(b.ah(d), 153);\n for (h = 0, i3 = g.gc(); h < i3; ++h) {\n if (PD(g.jl(h)) === PD(a)) {\n e = g.il(h);\n if (JD(e, 99)) {\n f2 = BD(e, 18);\n if ((f2.Bb & ote) != 0) {\n return f2;\n }\n }\n }\n }\n throw vbb(new Zdb(\"The containment feature could not be located\"));\n }\n } else {\n return zUd(BD(XKd(a.Tg(), c2), 18));\n }\n }\n }\n function Xee(a) {\n var b, c2, d, e, f2;\n d = a.length;\n b = new Ifb();\n f2 = 0;\n while (f2 < d) {\n c2 = bfb(a, f2++);\n if (c2 == 9 || c2 == 10 || c2 == 12 || c2 == 13 || c2 == 32)\n continue;\n if (c2 == 35) {\n while (f2 < d) {\n c2 = bfb(a, f2++);\n if (c2 == 13 || c2 == 10)\n break;\n }\n continue;\n }\n if (c2 == 92 && f2 < d) {\n if ((e = (BCb(f2, a.length), a.charCodeAt(f2))) == 35 || e == 9 || e == 10 || e == 12 || e == 13 || e == 32) {\n Afb(b, e & aje);\n ++f2;\n } else {\n b.a += \"\\\\\";\n Afb(b, e & aje);\n ++f2;\n }\n } else\n Afb(b, c2 & aje);\n }\n return b.a;\n }\n function GVc(a, b) {\n var c2, d, e;\n for (d = new olb(b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 33);\n Rc(a.a, c2, c2);\n Rc(a.b, c2, c2);\n e = gVc(c2);\n if (e.c.length != 0) {\n !!a.d && a.d.lg(e);\n Rc(a.a, c2, (tCb(0, e.c.length), BD(e.c[0], 33)));\n Rc(a.b, c2, BD(Ikb(e, e.c.length - 1), 33));\n while (dVc(e).c.length != 0) {\n e = dVc(e);\n !!a.d && a.d.lg(e);\n Rc(a.a, c2, (tCb(0, e.c.length), BD(e.c[0], 33)));\n Rc(a.b, c2, BD(Ikb(e, e.c.length - 1), 33));\n }\n }\n }\n }\n function fnc(a) {\n var b, c2, d, e, f2, g, h, i3, j, k;\n c2 = 0;\n for (h = new olb(a.d); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 101);\n !!g.i && (g.i.c = c2++);\n }\n b = IC(sbb, [nie, dle], [177, 25], 16, [c2, c2], 2);\n k = a.d;\n for (e = 0; e < k.c.length; e++) {\n i3 = (tCb(e, k.c.length), BD(k.c[e], 101));\n if (i3.i) {\n for (f2 = e + 1; f2 < k.c.length; f2++) {\n j = (tCb(f2, k.c.length), BD(k.c[f2], 101));\n if (j.i) {\n d = knc(i3, j);\n b[i3.i.c][j.i.c] = d;\n b[j.i.c][i3.i.c] = d;\n }\n }\n }\n }\n return b;\n }\n function ht(a, b, c2, d) {\n var e, f2, g;\n g = new qu(b, c2);\n if (!a.a) {\n a.a = a.e = g;\n Rhb(a.b, b, new pu(g));\n ++a.c;\n } else if (!d) {\n a.e.b = g;\n g.d = a.e;\n a.e = g;\n e = BD(Ohb(a.b, b), 283);\n if (!e) {\n Rhb(a.b, b, e = new pu(g));\n ++a.c;\n } else {\n ++e.a;\n f2 = e.c;\n f2.c = g;\n g.e = f2;\n e.c = g;\n }\n } else {\n e = BD(Ohb(a.b, b), 283);\n ++e.a;\n g.d = d.d;\n g.e = d.e;\n g.b = d;\n g.c = d;\n !d.e ? BD(Ohb(a.b, b), 283).b = g : d.e.c = g;\n !d.d ? a.a = g : d.d.b = g;\n d.d = g;\n d.e = g;\n }\n ++a.d;\n return g;\n }\n function mfb(a, b) {\n var c2, d, e, f2, g, h, i3, j;\n c2 = new RegExp(b, \"g\");\n i3 = KC(ZI, nie, 2, 0, 6, 1);\n d = 0;\n j = a;\n f2 = null;\n while (true) {\n h = c2.exec(j);\n if (h == null || j == \"\") {\n i3[d] = j;\n break;\n } else {\n g = h.index;\n i3[d] = j.substr(0, g);\n j = qfb(j, g + h[0].length, j.length);\n c2.lastIndex = 0;\n if (f2 == j) {\n i3[d] = j.substr(0, 1);\n j = j.substr(1);\n }\n f2 = j;\n ++d;\n }\n }\n if (a.length > 0) {\n e = i3.length;\n while (e > 0 && i3[e - 1] == \"\") {\n --e;\n }\n e < i3.length && (i3.length = e);\n }\n return i3;\n }\n function f1d(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l;\n l = _Kd(b);\n j = null;\n e = false;\n for (h = 0, k = VKd(l.a).i; h < k; ++h) {\n g = BD(nOd(l, h, (f2 = BD(qud(VKd(l.a), h), 87), i3 = f2.c, JD(i3, 88) ? BD(i3, 26) : (jGd(), _Fd))), 26);\n c2 = f1d(a, g);\n if (!c2.dc()) {\n if (!j) {\n j = c2;\n } else {\n if (!e) {\n e = true;\n j = new pFd(j);\n }\n j.Gc(c2);\n }\n }\n }\n d = k1d(a, b);\n if (d.dc()) {\n return !j ? (mmb(), mmb(), jmb) : j;\n } else {\n if (!j) {\n return d;\n } else {\n e || (j = new pFd(j));\n j.Gc(d);\n return j;\n }\n }\n }\n function g1d(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l;\n l = _Kd(b);\n j = null;\n d = false;\n for (h = 0, k = VKd(l.a).i; h < k; ++h) {\n f2 = BD(nOd(l, h, (e = BD(qud(VKd(l.a), h), 87), i3 = e.c, JD(i3, 88) ? BD(i3, 26) : (jGd(), _Fd))), 26);\n c2 = g1d(a, f2);\n if (!c2.dc()) {\n if (!j) {\n j = c2;\n } else {\n if (!d) {\n d = true;\n j = new pFd(j);\n }\n j.Gc(c2);\n }\n }\n }\n g = n1d(a, b);\n if (g.dc()) {\n return !j ? (mmb(), mmb(), jmb) : j;\n } else {\n if (!j) {\n return g;\n } else {\n d || (j = new pFd(j));\n j.Gc(g);\n return j;\n }\n }\n }\n function B2d(a, b, c2) {\n var d, e, f2, g, h, i3;\n if (JD(b, 72)) {\n return Txd(a, b, c2);\n } else {\n h = null;\n f2 = null;\n d = BD(a.g, 119);\n for (g = 0; g < a.i; ++g) {\n e = d[g];\n if (pb(b, e.dd())) {\n f2 = e.ak();\n if (JD(f2, 99) && (BD(f2, 18).Bb & ote) != 0) {\n h = e;\n break;\n }\n }\n }\n if (h) {\n if (oid(a.e)) {\n i3 = f2.$j() ? H2d(a, 4, f2, b, null, M2d(a, f2, b, JD(f2, 99) && (BD(f2, 18).Bb & Tje) != 0), true) : H2d(a, f2.Kj() ? 2 : 1, f2, b, f2.zj(), -1, true);\n c2 ? c2.Ei(i3) : c2 = i3;\n }\n c2 = B2d(a, h, c2);\n }\n return c2;\n }\n }\n function pKb(a) {\n var b, c2, d, e;\n d = a.o;\n $Jb();\n if (a.A.dc() || pb(a.A, ZJb)) {\n e = d.a;\n } else {\n e = gIb(a.f);\n if (a.A.Hc((tdd(), qdd)) && !a.B.Hc((Idd(), Edd))) {\n e = $wnd.Math.max(e, gIb(BD(Mpb(a.p, (Ucd(), Acd)), 244)));\n e = $wnd.Math.max(e, gIb(BD(Mpb(a.p, Rcd), 244)));\n }\n b = aKb(a);\n !!b && (e = $wnd.Math.max(e, b.a));\n }\n Ccb(DD(a.e.yf().We((Y9c(), $8c)))) ? d.a = $wnd.Math.max(d.a, e) : d.a = e;\n c2 = a.f.i;\n c2.c = 0;\n c2.b = e;\n hIb(a.f);\n }\n function $0d(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n c2 = b.Hh(a.a);\n if (c2) {\n i3 = GD(AAd((!c2.b && (c2.b = new sId((jGd(), fGd), x6, c2)), c2.b), \"memberTypes\"));\n if (i3 != null) {\n j = new Rkb();\n for (f2 = mfb(i3, \"\\\\w\"), g = 0, h = f2.length; g < h; ++g) {\n e = f2[g];\n d = e.lastIndexOf(\"#\");\n k = d == -1 ? w1d(a, b.Aj(), e) : d == 0 ? v1d(a, null, e.substr(1)) : v1d(a, e.substr(0, d), e.substr(d + 1));\n JD(k, 148) && Ekb(j, BD(k, 148));\n }\n return j;\n }\n }\n return mmb(), mmb(), jmb;\n }\n function tRb(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n Odd(c2, kme, 1);\n a.bf(b);\n f2 = 0;\n while (a.df(f2)) {\n for (k = new olb(b.e); k.a < k.c.c.length; ) {\n i3 = BD(mlb(k), 144);\n for (h = ul(pl(OC(GC(KI, 1), Uhe, 20, 0, [b.e, b.d, b.b]))); Qr(h); ) {\n g = BD(Rr(h), 357);\n if (g != i3) {\n e = a.af(g, i3);\n !!e && P6c(i3.a, e);\n }\n }\n }\n for (j = new olb(b.e); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 144);\n d = i3.a;\n Q6c(d, -a.d, -a.d, a.d, a.d);\n P6c(i3.d, d);\n X6c(d);\n }\n a.cf();\n ++f2;\n }\n Qdd(c2);\n }\n function $2d(a, b, c2) {\n var d, e, f2, g;\n g = S6d(a.e.Tg(), b);\n d = BD(a.g, 119);\n Q6d();\n if (BD(b, 66).Oj()) {\n for (f2 = 0; f2 < a.i; ++f2) {\n e = d[f2];\n if (g.rl(e.ak())) {\n if (pb(e, c2)) {\n Xxd(a, f2);\n return true;\n }\n }\n }\n } else if (c2 != null) {\n for (f2 = 0; f2 < a.i; ++f2) {\n e = d[f2];\n if (g.rl(e.ak())) {\n if (pb(c2, e.dd())) {\n Xxd(a, f2);\n return true;\n }\n }\n }\n } else {\n for (f2 = 0; f2 < a.i; ++f2) {\n e = d[f2];\n if (g.rl(e.ak())) {\n if (e.dd() == null) {\n Xxd(a, f2);\n return true;\n }\n }\n }\n }\n return false;\n }\n function sDc(a, b) {\n var c2, d, e, f2, g;\n a.c == null || a.c.length < b.c.length ? a.c = KC(sbb, dle, 25, b.c.length, 16, 1) : Blb(a.c);\n a.a = new Rkb();\n d = 0;\n for (g = new olb(b); g.a < g.c.c.length; ) {\n e = BD(mlb(g), 10);\n e.p = d++;\n }\n c2 = new Psb();\n for (f2 = new olb(b); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 10);\n if (!a.c[e.p]) {\n tDc(a, e);\n c2.b == 0 || (sCb(c2.b != 0), BD(c2.a.a.c, 15)).gc() < a.a.c.length ? Esb(c2, a.a) : Fsb(c2, a.a);\n a.a = new Rkb();\n }\n }\n return c2;\n }\n function jYc(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n, o2;\n g = BD(qud(b, 0), 33);\n dld(g, 0);\n eld(g, 0);\n m = new Rkb();\n m.c[m.c.length] = g;\n h = g;\n f2 = new d$c(a.a, g.g, g.f, (k$c(), j$c));\n for (n = 1; n < b.i; n++) {\n o2 = BD(qud(b, n), 33);\n i3 = kYc(a, g$c, o2, h, f2, m, c2);\n j = kYc(a, f$c, o2, h, f2, m, c2);\n k = kYc(a, i$c, o2, h, f2, m, c2);\n l = kYc(a, h$c, o2, h, f2, m, c2);\n e = mYc(a, i3, j, k, l, o2, h, d);\n dld(o2, e.d);\n eld(o2, e.e);\n c$c(e, j$c);\n f2 = e;\n h = o2;\n m.c[m.c.length] = o2;\n }\n return f2;\n }\n function K0c(a) {\n r4c(a, new E3c(P3c(M3c(O3c(N3c(new R3c(), ase), \"ELK SPOrE Overlap Removal\"), 'A node overlap removal algorithm proposed by Nachmanson et al. in \"Node overlap removal by growing a tree\".'), new N0c())));\n p4c(a, ase, Qre, Ksd(I0c));\n p4c(a, ase, ame, G0c);\n p4c(a, ase, wme, 8);\n p4c(a, ase, Vre, Ksd(H0c));\n p4c(a, ase, Yre, Ksd(E0c));\n p4c(a, ase, Zre, Ksd(F0c));\n p4c(a, ase, Zpe, (Bcb(), false));\n }\n function sXb(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n;\n g = O6c(b.c, c2, d);\n for (l = new olb(b.a); l.a < l.c.c.length; ) {\n k = BD(mlb(l), 10);\n P6c(k.n, g);\n for (n = new olb(k.j); n.a < n.c.c.length; ) {\n m = BD(mlb(n), 11);\n for (f2 = new olb(m.g); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 17);\n q7c(e.a, g);\n h = BD(vNb(e, (Nyc(), jxc)), 74);\n !!h && q7c(h, g);\n for (j = new olb(e.b); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 70);\n P6c(i3.n, g);\n }\n }\n }\n Ekb(a.a, k);\n k.a = a;\n }\n }\n function g9b(a, b) {\n var c2, d, e, f2, g;\n Odd(b, \"Node and Port Label Placement and Node Sizing\", 1);\n MGb((a$b(), new l$b(a, true, true, new j9b())));\n if (BD(vNb(a, (wtc(), Ksc)), 21).Hc((Orc(), Hrc))) {\n f2 = BD(vNb(a, (Nyc(), Yxc)), 21);\n e = f2.Hc((rcd(), ocd));\n g = Ccb(DD(vNb(a, Zxc)));\n for (d = new olb(a.b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 29);\n MAb(JAb(new YAb(null, new Kub(c2.a, 16)), new l9b()), new n9b(f2, e, g));\n }\n }\n Qdd(b);\n }\n function Y0d(a, b) {\n var c2, d, e, f2, g, h;\n c2 = b.Hh(a.a);\n if (c2) {\n h = GD(AAd((!c2.b && (c2.b = new sId((jGd(), fGd), x6, c2)), c2.b), eue));\n if (h != null) {\n e = kfb(h, wfb(35));\n d = b.Hj();\n if (e == -1) {\n g = u1d(a, bKd(d));\n f2 = h;\n } else if (e == 0) {\n g = null;\n f2 = h.substr(1);\n } else {\n g = h.substr(0, e);\n f2 = h.substr(e + 1);\n }\n switch ($1d(q1d(a, b))) {\n case 2:\n case 3: {\n return j1d(a, d, g, f2);\n }\n case 0:\n case 4:\n case 5:\n case 6: {\n return m1d(a, d, g, f2);\n }\n }\n }\n }\n return null;\n }\n function q2d(a, b, c2) {\n var d, e, f2, g, h;\n g = (Q6d(), BD(b, 66).Oj());\n if (T6d(a.e, b)) {\n if (b.hi() && F2d(a, b, c2, JD(b, 99) && (BD(b, 18).Bb & Tje) != 0)) {\n return false;\n }\n } else {\n h = S6d(a.e.Tg(), b);\n d = BD(a.g, 119);\n for (f2 = 0; f2 < a.i; ++f2) {\n e = d[f2];\n if (h.rl(e.ak())) {\n if (g ? pb(e, c2) : c2 == null ? e.dd() == null : pb(c2, e.dd())) {\n return false;\n } else {\n BD(Gtd(a, f2, g ? BD(c2, 72) : R6d(b, c2)), 72);\n return true;\n }\n }\n }\n }\n return wtd(a, g ? BD(c2, 72) : R6d(b, c2));\n }\n function uVb(a) {\n var b, c2, d, e, f2, g, h, i3;\n if (a.d) {\n throw vbb(new Zdb((fdb(LP), Jke + LP.k + Kke)));\n }\n a.c == (ead(), cad) && tVb(a, aad);\n for (c2 = new olb(a.a.a); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 189);\n b.e = 0;\n }\n for (g = new olb(a.a.b); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 81);\n f2.o = Qje;\n for (e = f2.f.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 81);\n ++d.d.e;\n }\n }\n JVb(a);\n for (i3 = new olb(a.a.b); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 81);\n h.k = true;\n }\n return a;\n }\n function Ijc(a, b) {\n var c2, d, e, f2, g, h, i3, j;\n h = new pjc(a);\n c2 = new Psb();\n Gsb(c2, b, c2.c.b, c2.c);\n while (c2.b != 0) {\n d = BD(c2.b == 0 ? null : (sCb(c2.b != 0), Nsb(c2, c2.a.a)), 113);\n d.d.p = 1;\n for (g = new olb(d.e); g.a < g.c.c.length; ) {\n e = BD(mlb(g), 409);\n kjc(h, e);\n j = e.d;\n j.d.p == 0 && (Gsb(c2, j, c2.c.b, c2.c), true);\n }\n for (f2 = new olb(d.b); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 409);\n kjc(h, e);\n i3 = e.c;\n i3.d.p == 0 && (Gsb(c2, i3, c2.c.b, c2.c), true);\n }\n }\n return h;\n }\n function hfd(a) {\n var b, c2, d, e, f2;\n d = Edb(ED(hkd(a, (Y9c(), G9c))));\n if (d == 1) {\n return;\n }\n _kd(a, d * a.g, d * a.f);\n c2 = Mq(Rq((!a.c && (a.c = new cUd(F2, a, 9, 9)), a.c), new Hfd()));\n for (f2 = ul(pl(OC(GC(KI, 1), Uhe, 20, 0, [(!a.n && (a.n = new cUd(D2, a, 1, 7)), a.n), (!a.c && (a.c = new cUd(F2, a, 9, 9)), a.c), c2]))); Qr(f2); ) {\n e = BD(Rr(f2), 470);\n e.Gg(d * e.Dg(), d * e.Eg());\n e.Fg(d * e.Cg(), d * e.Bg());\n b = BD(e.We(r9c), 8);\n if (b) {\n b.a *= d;\n b.b *= d;\n }\n }\n }\n function Mac(a, b, c2, d, e) {\n var f2, g, h, i3, j, k, l, m;\n for (g = new olb(a.b); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 29);\n m = l_b(f2.a);\n for (j = m, k = 0, l = j.length; k < l; ++k) {\n i3 = j[k];\n switch (BD(vNb(i3, (Nyc(), mxc)), 163).g) {\n case 1:\n Qac(i3);\n $_b(i3, b);\n Nac(i3, true, d);\n break;\n case 3:\n Rac(i3);\n $_b(i3, c2);\n Nac(i3, false, e);\n }\n }\n }\n h = new Bib(a.b, 0);\n while (h.b < h.d.gc()) {\n (sCb(h.b < h.d.gc()), BD(h.d.Xb(h.c = h.b++), 29)).a.c.length == 0 && uib(h);\n }\n }\n function d1d(a, b) {\n var c2, d, e, f2, g, h, i3;\n c2 = b.Hh(a.a);\n if (c2) {\n i3 = GD(AAd((!c2.b && (c2.b = new sId((jGd(), fGd), x6, c2)), c2.b), Dwe));\n if (i3 != null) {\n d = new Rkb();\n for (f2 = mfb(i3, \"\\\\w\"), g = 0, h = f2.length; g < h; ++g) {\n e = f2[g];\n dfb(e, \"##other\") ? Ekb(d, \"!##\" + u1d(a, bKd(b.Hj()))) : dfb(e, \"##local\") ? (d.c[d.c.length] = null, true) : dfb(e, Bwe) ? Ekb(d, u1d(a, bKd(b.Hj()))) : (d.c[d.c.length] = e, true);\n }\n return d;\n }\n }\n return mmb(), mmb(), jmb;\n }\n function kMb(a, b) {\n var c2, d, e, f2;\n c2 = new pMb();\n d = BD(GAb(NAb(new YAb(null, new Kub(a.f, 16)), c2), Ayb(new hzb(), new jzb(), new Gzb(), new Izb(), OC(GC(xL, 1), Kie, 132, 0, [(Fyb(), Eyb), Dyb]))), 21);\n e = d.gc();\n d = BD(GAb(NAb(new YAb(null, new Kub(b.f, 16)), c2), Ayb(new hzb(), new jzb(), new Gzb(), new Izb(), OC(GC(xL, 1), Kie, 132, 0, [Eyb, Dyb]))), 21);\n f2 = d.gc();\n e = e == 1 ? 1 : 0;\n f2 = f2 == 1 ? 1 : 0;\n if (e < f2) {\n return -1;\n }\n if (e == f2) {\n return 0;\n }\n return 1;\n }\n function hZb(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m;\n h = a.i;\n e = Ccb(DD(vNb(h, (Nyc(), fxc))));\n k = 0;\n d = 0;\n for (j = new olb(a.g); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 17);\n g = OZb(i3);\n f2 = g && e && Ccb(DD(vNb(i3, gxc)));\n m = i3.d.i;\n g && f2 ? ++d : g && !f2 ? ++k : Q_b(m).e == h ? ++d : ++k;\n }\n for (c2 = new olb(a.e); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 17);\n g = OZb(b);\n f2 = g && e && Ccb(DD(vNb(b, gxc)));\n l = b.c.i;\n g && f2 ? ++k : g && !f2 ? ++d : Q_b(l).e == h ? ++k : ++d;\n }\n return k - d;\n }\n function ULc(a, b, c2, d) {\n this.e = a;\n this.k = BD(vNb(a, (wtc(), otc)), 304);\n this.g = KC(OQ, kne, 10, b, 0, 1);\n this.b = KC(BI, nie, 333, b, 7, 1);\n this.a = KC(OQ, kne, 10, b, 0, 1);\n this.d = KC(BI, nie, 333, b, 7, 1);\n this.j = KC(OQ, kne, 10, b, 0, 1);\n this.i = KC(BI, nie, 333, b, 7, 1);\n this.p = KC(BI, nie, 333, b, 7, 1);\n this.n = KC(wI, nie, 476, b, 8, 1);\n Alb(this.n, (Bcb(), false));\n this.f = KC(wI, nie, 476, b, 8, 1);\n Alb(this.f, true);\n this.o = c2;\n this.c = d;\n }\n function X9b(a, b) {\n var c2, d, e, f2, g, h;\n if (b.dc()) {\n return;\n }\n if (BD(b.Xb(0), 286).d == (Apc(), xpc)) {\n O9b(a, b);\n } else {\n for (d = b.Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 286);\n switch (c2.d.g) {\n case 5:\n K9b(a, c2, Q9b(a, c2));\n break;\n case 0:\n K9b(a, c2, (g = c2.f - c2.c + 1, h = (g - 1) / 2 | 0, c2.c + h));\n break;\n case 4:\n K9b(a, c2, S9b(a, c2));\n break;\n case 2:\n Y9b(c2);\n K9b(a, c2, (f2 = U9b(c2), f2 ? c2.c : c2.f));\n break;\n case 1:\n Y9b(c2);\n K9b(a, c2, (e = U9b(c2), e ? c2.f : c2.c));\n }\n P9b(c2.a);\n }\n }\n }\n function C4b(a, b) {\n var c2, d, e, f2, g, h, i3;\n if (b.e) {\n return;\n }\n b.e = true;\n for (d = b.d.a.ec().Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 17);\n if (b.o && b.d.a.gc() <= 1) {\n g = b.a.c;\n h = b.a.c + b.a.b;\n i3 = new f7c(g + (h - g) / 2, b.b);\n Dsb(BD(b.d.a.ec().Kc().Pb(), 17).a, i3);\n continue;\n }\n e = BD(Ohb(b.c, c2), 459);\n if (e.b || e.c) {\n E4b(a, c2, b);\n continue;\n }\n f2 = a.d == (tBc(), sBc) && (e.d || e.e) && K4b(a, b) && b.d.a.gc() <= 1;\n f2 ? F4b(c2, b) : D4b(a, c2, b);\n }\n b.k && reb(b.d, new X4b());\n }\n function zXc(a, b, c2, d, e, f2) {\n var g, h, i3, j, k, l, m, n, o2, p, q, r, s, t;\n m = f2;\n h = (d + e) / 2 + m;\n q = c2 * $wnd.Math.cos(h);\n r = c2 * $wnd.Math.sin(h);\n s = q - b.g / 2;\n t = r - b.f / 2;\n dld(b, s);\n eld(b, t);\n l = a.a.jg(b);\n p = 2 * $wnd.Math.acos(c2 / c2 + a.c);\n if (p < e - d) {\n n = p / l;\n g = (d + e - p) / 2;\n } else {\n n = (e - d) / l;\n g = d;\n }\n o2 = gVc(b);\n if (a.e) {\n a.e.kg(a.d);\n a.e.lg(o2);\n }\n for (j = new olb(o2); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 33);\n k = a.a.jg(i3);\n zXc(a, i3, c2 + a.c, g, g + n * k, f2);\n g += n * k;\n }\n }\n function jA(a, b, c2) {\n var d;\n d = c2.q.getMonth();\n switch (b) {\n case 5:\n Qfb(a, OC(GC(ZI, 1), nie, 2, 6, [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"])[d]);\n break;\n case 4:\n Qfb(a, OC(GC(ZI, 1), nie, 2, 6, [bje, cje, dje, eje, fje, gje, hje, ije, jje, kje, lje, mje])[d]);\n break;\n case 3:\n Qfb(a, OC(GC(ZI, 1), nie, 2, 6, [\"Jan\", \"Feb\", \"Mar\", \"Apr\", fje, \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"])[d]);\n break;\n default:\n EA(a, d + 1, b);\n }\n }\n function uGb(a, b) {\n var c2, d, e, f2, g;\n Odd(b, \"Network simplex\", 1);\n if (a.e.a.c.length < 1) {\n Qdd(b);\n return;\n }\n for (f2 = new olb(a.e.a); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 121);\n e.e = 0;\n }\n g = a.e.a.c.length >= 40;\n g && FGb(a);\n wGb(a);\n vGb(a);\n c2 = zGb(a);\n d = 0;\n while (!!c2 && d < a.f) {\n tGb(a, c2, sGb(a, c2));\n c2 = zGb(a);\n ++d;\n }\n g && EGb(a);\n a.a ? qGb(a, CGb(a)) : CGb(a);\n a.b = null;\n a.d = null;\n a.p = null;\n a.c = null;\n a.g = null;\n a.i = null;\n a.n = null;\n a.o = null;\n Qdd(b);\n }\n function JQb(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m;\n i3 = new f7c(c2, d);\n c7c(i3, BD(vNb(b, (HSb(), ESb)), 8));\n for (m = new olb(b.e); m.a < m.c.c.length; ) {\n l = BD(mlb(m), 144);\n P6c(l.d, i3);\n Ekb(a.e, l);\n }\n for (h = new olb(b.c); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 282);\n for (f2 = new olb(g.a); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 559);\n P6c(e.d, i3);\n }\n Ekb(a.c, g);\n }\n for (k = new olb(b.d); k.a < k.c.c.length; ) {\n j = BD(mlb(k), 447);\n P6c(j.d, i3);\n Ekb(a.d, j);\n }\n }\n function _Bc(a, b) {\n var c2, d, e, f2, g, h, i3, j;\n for (i3 = new olb(b.j); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 11);\n for (e = new b1b(h.b); llb(e.a) || llb(e.b); ) {\n d = BD(llb(e.a) ? mlb(e.a) : mlb(e.b), 17);\n c2 = d.c == h ? d.d : d.c;\n f2 = c2.i;\n if (b == f2) {\n continue;\n }\n j = BD(vNb(d, (Nyc(), cyc)), 19).a;\n j < 0 && (j = 0);\n g = f2.p;\n if (a.b[g] == 0) {\n if (d.d == c2) {\n a.a[g] -= j + 1;\n a.a[g] <= 0 && a.c[g] > 0 && Dsb(a.f, f2);\n } else {\n a.c[g] -= j + 1;\n a.c[g] <= 0 && a.a[g] > 0 && Dsb(a.e, f2);\n }\n }\n }\n }\n }\n function _Kb(a) {\n var b, c2, d, e, f2, g, h, i3, j;\n h = new Hxb(BD(Qb(new nLb()), 62));\n j = Qje;\n for (c2 = new olb(a.d); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 222);\n j = b.c.c;\n while (h.a.c != 0) {\n i3 = BD(zjb(Bwb(h.a)), 222);\n if (i3.c.c + i3.c.b < j) {\n Jwb(h.a, i3) != null;\n } else {\n break;\n }\n }\n for (g = (e = new Ywb(new cxb(new Gjb(h.a).a).b), new Njb(e)); sib(g.a.a); ) {\n f2 = (d = Wwb(g.a), BD(d.cd(), 222));\n Dsb(f2.b, b);\n Dsb(b.b, f2);\n }\n Iwb(h.a, b, (Bcb(), zcb)) == null;\n }\n }\n function QEc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l;\n f2 = new Skb(b.c.length);\n for (j = new olb(b); j.a < j.c.c.length; ) {\n g = BD(mlb(j), 10);\n Ekb(f2, a.b[g.c.p][g.p]);\n }\n LEc(a, f2, c2);\n l = null;\n while (l = MEc(f2)) {\n NEc(a, BD(l.a, 233), BD(l.b, 233), f2);\n }\n b.c = KC(SI, Uhe, 1, 0, 5, 1);\n for (e = new olb(f2); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 233);\n for (h = d.d, i3 = 0, k = h.length; i3 < k; ++i3) {\n g = h[i3];\n b.c[b.c.length] = g;\n a.a[g.c.p][g.p].a = REc(d.g, d.d[0]).a;\n }\n }\n }\n function JRc(a, b) {\n var c2, d, e, f2;\n if (0 < (JD(a, 14) ? BD(a, 14).gc() : sr(a.Kc()))) {\n e = b;\n if (1 < e) {\n --e;\n f2 = new KRc();\n for (d = a.Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 86);\n f2 = pl(OC(GC(KI, 1), Uhe, 20, 0, [f2, new ZRc(c2)]));\n }\n return JRc(f2, e);\n }\n if (e < 0) {\n f2 = new NRc();\n for (d = a.Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 86);\n f2 = pl(OC(GC(KI, 1), Uhe, 20, 0, [f2, new ZRc(c2)]));\n }\n if (0 < (JD(f2, 14) ? BD(f2, 14).gc() : sr(f2.Kc()))) {\n return JRc(f2, e);\n }\n }\n }\n return BD(pr(a.Kc()), 86);\n }\n function Idd() {\n Idd = ccb;\n Bdd = new Jdd(\"DEFAULT_MINIMUM_SIZE\", 0);\n Ddd = new Jdd(\"MINIMUM_SIZE_ACCOUNTS_FOR_PADDING\", 1);\n Add = new Jdd(\"COMPUTE_PADDING\", 2);\n Edd = new Jdd(\"OUTSIDE_NODE_LABELS_OVERHANG\", 3);\n Fdd = new Jdd(\"PORTS_OVERHANG\", 4);\n Hdd = new Jdd(\"UNIFORM_PORT_SPACING\", 5);\n Gdd = new Jdd(\"SPACE_EFFICIENT_PORT_LABELS\", 6);\n Cdd = new Jdd(\"FORCE_TABULAR_NODE_LABELS\", 7);\n zdd = new Jdd(\"ASYMMETRICAL\", 8);\n }\n function s6d(a, b) {\n var c2, d, e, f2, g, h, i3, j;\n if (!b) {\n return null;\n } else {\n c2 = (f2 = b.Tg(), !f2 ? null : bKd(f2).Nh().Jh(f2));\n if (c2) {\n Xrb(a, b, c2);\n e = b.Tg();\n for (i3 = 0, j = (e.i == null && TKd(e), e.i).length; i3 < j; ++i3) {\n h = (d = (e.i == null && TKd(e), e.i), i3 >= 0 && i3 < d.length ? d[i3] : null);\n if (h.Ij() && !h.Jj()) {\n if (JD(h, 322)) {\n u6d(a, BD(h, 34), b, c2);\n } else {\n g = BD(h, 18);\n (g.Bb & ote) != 0 && w6d(a, g, b, c2);\n }\n }\n }\n b.kh() && BD(c2, 49).vh(BD(b, 49).qh());\n }\n return c2;\n }\n }\n function tGb(a, b, c2) {\n var d, e, f2;\n if (!b.f) {\n throw vbb(new Wdb(\"Given leave edge is no tree edge.\"));\n }\n if (c2.f) {\n throw vbb(new Wdb(\"Given enter edge is a tree edge already.\"));\n }\n b.f = false;\n Sqb(a.p, b);\n c2.f = true;\n Qqb(a.p, c2);\n d = c2.e.e - c2.d.e - c2.a;\n xGb(a, c2.e, b) || (d = -d);\n for (f2 = new olb(a.e.a); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 121);\n xGb(a, e, b) || (e.e += d);\n }\n a.j = 1;\n Blb(a.c);\n DGb(a, BD(mlb(new olb(a.e.a)), 121));\n rGb(a);\n }\n function x6b(a, b) {\n var c2, d, e, f2, g, h;\n h = BD(vNb(b, (Nyc(), Vxc)), 98);\n if (!(h == (dcd(), _bd) || h == $bd)) {\n return;\n }\n e = new f7c(b.f.a + b.d.b + b.d.c, b.f.b + b.d.d + b.d.a).b;\n for (g = new olb(a.a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 10);\n if (f2.k != (j0b(), e0b)) {\n continue;\n }\n c2 = BD(vNb(f2, (wtc(), Hsc)), 61);\n if (c2 != (Ucd(), zcd) && c2 != Tcd) {\n continue;\n }\n d = Edb(ED(vNb(f2, htc)));\n h == _bd && (d *= e);\n f2.n.b = d - BD(vNb(f2, Txc), 8).b;\n M_b(f2, false, true);\n }\n }\n function YDc(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n;\n bEc(a, b, c2);\n f2 = b[c2];\n n = d ? (Ucd(), Tcd) : (Ucd(), zcd);\n if (ZDc(b.length, c2, d)) {\n e = b[d ? c2 - 1 : c2 + 1];\n UDc(a, e, d ? (KAc(), IAc) : (KAc(), HAc));\n for (i3 = f2, k = 0, m = i3.length; k < m; ++k) {\n g = i3[k];\n XDc(a, g, n);\n }\n UDc(a, f2, d ? (KAc(), HAc) : (KAc(), IAc));\n for (h = e, j = 0, l = h.length; j < l; ++j) {\n g = h[j];\n !!g.e || XDc(a, g, Wcd(n));\n }\n } else {\n for (h = f2, j = 0, l = h.length; j < l; ++j) {\n g = h[j];\n XDc(a, g, n);\n }\n }\n return false;\n }\n function nFc(a, b, c2, d) {\n var e, f2, g, h, i3, j, k;\n i3 = V_b(b, c2);\n (c2 == (Ucd(), Rcd) || c2 == Tcd) && (i3 = JD(i3, 152) ? km(BD(i3, 152)) : JD(i3, 131) ? BD(i3, 131).a : JD(i3, 54) ? new ov(i3) : new dv(i3));\n g = false;\n do {\n e = false;\n for (f2 = 0; f2 < i3.gc() - 1; f2++) {\n j = BD(i3.Xb(f2), 11);\n h = BD(i3.Xb(f2 + 1), 11);\n if (oFc(a, j, h, d)) {\n g = true;\n cIc(a.a, BD(i3.Xb(f2), 11), BD(i3.Xb(f2 + 1), 11));\n k = BD(i3.Xb(f2 + 1), 11);\n i3._c(f2 + 1, BD(i3.Xb(f2), 11));\n i3._c(f2, k);\n e = true;\n }\n }\n } while (e);\n return g;\n }\n function W2d(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2;\n if (oid(a.e)) {\n if (b != c2) {\n e = BD(a.g, 119);\n n = e[c2];\n g = n.ak();\n if (T6d(a.e, g)) {\n o2 = S6d(a.e.Tg(), g);\n i3 = -1;\n h = -1;\n d = 0;\n for (j = 0, l = b > c2 ? b : c2; j <= l; ++j) {\n if (j == c2) {\n h = d++;\n } else {\n f2 = e[j];\n k = o2.rl(f2.ak());\n j == b && (i3 = j == l && !k ? d - 1 : d);\n k && ++d;\n }\n }\n m = BD(Wxd(a, b, c2), 72);\n h != i3 && GLd(a, new ESd(a.e, 7, g, meb(h), n.dd(), i3));\n return m;\n }\n }\n } else {\n return BD(sud(a, b, c2), 72);\n }\n return BD(Wxd(a, b, c2), 72);\n }\n function Qcc(a, b) {\n var c2, d, e, f2, g, h, i3;\n Odd(b, \"Port order processing\", 1);\n i3 = BD(vNb(a, (Nyc(), _xc)), 421);\n for (d = new olb(a.b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 29);\n for (f2 = new olb(c2.a); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 10);\n g = BD(vNb(e, Vxc), 98);\n h = e.j;\n if (g == (dcd(), Zbd) || g == _bd || g == $bd) {\n mmb();\n Okb(h, Icc);\n } else if (g != bcd && g != ccd) {\n mmb();\n Okb(h, Lcc);\n Scc(h);\n i3 == (BAc(), AAc) && Okb(h, Kcc);\n }\n e.i = true;\n N_b(e);\n }\n }\n Qdd(b);\n }\n function vDc(a) {\n var b, c2, d, e, f2, g, h, i3;\n i3 = new Lqb();\n b = new KFb();\n for (g = a.Kc(); g.Ob(); ) {\n e = BD(g.Pb(), 10);\n h = nGb(oGb(new pGb(), e), b);\n jrb(i3.f, e, h);\n }\n for (f2 = a.Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 10);\n for (d = new Sr(ur(U_b(e).a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 17);\n if (OZb(c2)) {\n continue;\n }\n AFb(DFb(CFb(BFb(EFb(new FFb(), $wnd.Math.max(1, BD(vNb(c2, (Nyc(), dyc)), 19).a)), 1), BD(Ohb(i3, c2.c.i), 121)), BD(Ohb(i3, c2.d.i), 121)));\n }\n }\n return b;\n }\n function tNc() {\n tNc = ccb;\n oNc = e3c(new j3c(), (qUb(), oUb), (S8b(), k8b));\n qNc = e3c(new j3c(), nUb, o8b);\n rNc = c3c(e3c(new j3c(), nUb, C8b), pUb, B8b);\n nNc = c3c(e3c(e3c(new j3c(), nUb, e8b), oUb, f8b), pUb, g8b);\n sNc = b3c(b3c(g3c(c3c(e3c(new j3c(), lUb, M8b), pUb, L8b), oUb), K8b), N8b);\n pNc = c3c(new j3c(), pUb, l8b);\n lNc = c3c(e3c(e3c(e3c(new j3c(), mUb, r8b), oUb, t8b), oUb, u8b), pUb, s8b);\n mNc = c3c(e3c(e3c(new j3c(), oUb, u8b), oUb, _7b), pUb, $7b);\n }\n function XC(a, b, c2, d, e, f2) {\n var g, h, i3, j, k, l, m;\n j = $C(b) - $C(a);\n g = kD(b, j);\n i3 = TC(0, 0, 0);\n while (j >= 0) {\n h = bD(a, g);\n if (h) {\n j < 22 ? (i3.l |= 1 << j, void 0) : j < 44 ? (i3.m |= 1 << j - 22, void 0) : (i3.h |= 1 << j - 44, void 0);\n if (a.l == 0 && a.m == 0 && a.h == 0) {\n break;\n }\n }\n k = g.m;\n l = g.h;\n m = g.l;\n g.h = l >>> 1;\n g.m = k >>> 1 | (l & 1) << 21;\n g.l = m >>> 1 | (k & 1) << 21;\n --j;\n }\n c2 && ZC(i3);\n if (f2) {\n if (d) {\n QC = hD(a);\n e && (QC = nD(QC, (wD(), uD)));\n } else {\n QC = TC(a.l, a.m, a.h);\n }\n }\n return i3;\n }\n function TDc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l;\n j = a.e[b.c.p][b.p] + 1;\n i3 = b.c.a.c.length + 1;\n for (h = new olb(a.a); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 11);\n l = 0;\n f2 = 0;\n for (e = ul(pl(OC(GC(KI, 1), Uhe, 20, 0, [new J0b(g), new R0b(g)]))); Qr(e); ) {\n d = BD(Rr(e), 11);\n if (d.i.c == b.c) {\n l += aEc(a, d.i) + 1;\n ++f2;\n }\n }\n c2 = l / f2;\n k = g.j;\n k == (Ucd(), zcd) ? c2 < j ? a.f[g.p] = a.c - c2 : a.f[g.p] = a.b + (i3 - c2) : k == Tcd && (c2 < j ? a.f[g.p] = a.b + c2 : a.f[g.p] = a.c - (i3 - c2));\n }\n }\n function Icb(a, b, c2) {\n var d, e, f2, g, h;\n if (a == null) {\n throw vbb(new Oeb(Xhe));\n }\n f2 = a.length;\n g = f2 > 0 && (BCb(0, a.length), a.charCodeAt(0) == 45 || (BCb(0, a.length), a.charCodeAt(0) == 43)) ? 1 : 0;\n for (d = g; d < f2; d++) {\n if (Zcb((BCb(d, a.length), a.charCodeAt(d))) == -1) {\n throw vbb(new Oeb(Oje + a + '\"'));\n }\n }\n h = parseInt(a, 10);\n e = h < b;\n if (isNaN(h)) {\n throw vbb(new Oeb(Oje + a + '\"'));\n } else if (e || h > c2) {\n throw vbb(new Oeb(Oje + a + '\"'));\n }\n return h;\n }\n function dnc(a) {\n var b, c2, d, e, f2, g, h;\n g = new Psb();\n for (f2 = new olb(a.a); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 112);\n pOc(e, e.f.c.length);\n qOc(e, e.k.c.length);\n if (e.i == 0) {\n e.o = 0;\n Gsb(g, e, g.c.b, g.c);\n }\n }\n while (g.b != 0) {\n e = BD(g.b == 0 ? null : (sCb(g.b != 0), Nsb(g, g.a.a)), 112);\n d = e.o + 1;\n for (c2 = new olb(e.f); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 129);\n h = b.a;\n rOc(h, $wnd.Math.max(h.o, d));\n qOc(h, h.i - 1);\n h.i == 0 && (Gsb(g, h, g.c.b, g.c), true);\n }\n }\n }\n function v2c(a) {\n var b, c2, d, e, f2, g, h, i3;\n for (g = new olb(a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 79);\n d = atd(BD(qud((!f2.b && (f2.b = new y5d(z2, f2, 4, 7)), f2.b), 0), 82));\n h = d.i;\n i3 = d.j;\n e = BD(qud((!f2.a && (f2.a = new cUd(A2, f2, 6, 6)), f2.a), 0), 202);\n nmd(e, e.j + h, e.k + i3);\n gmd(e, e.b + h, e.c + i3);\n for (c2 = new Fyd((!e.a && (e.a = new xMd(y2, e, 5)), e.a)); c2.e != c2.i.gc(); ) {\n b = BD(Dyd(c2), 469);\n ukd(b, b.a + h, b.b + i3);\n }\n p7c(BD(hkd(f2, (Y9c(), Q8c)), 74), h, i3);\n }\n }\n function fee(a) {\n var b;\n switch (a) {\n case 100:\n return kee(nxe, true);\n case 68:\n return kee(nxe, false);\n case 119:\n return kee(oxe, true);\n case 87:\n return kee(oxe, false);\n case 115:\n return kee(pxe, true);\n case 83:\n return kee(pxe, false);\n case 99:\n return kee(qxe, true);\n case 67:\n return kee(qxe, false);\n case 105:\n return kee(rxe, true);\n case 73:\n return kee(rxe, false);\n default:\n throw vbb(new hz((b = a, mxe + b.toString(16))));\n }\n }\n function $Xb(a) {\n var b, c2, d, e, f2;\n e = BD(Ikb(a.a, 0), 10);\n b = new b0b(a);\n Ekb(a.a, b);\n b.o.a = $wnd.Math.max(1, e.o.a);\n b.o.b = $wnd.Math.max(1, e.o.b);\n b.n.a = e.n.a;\n b.n.b = e.n.b;\n switch (BD(vNb(e, (wtc(), Hsc)), 61).g) {\n case 4:\n b.n.a += 2;\n break;\n case 1:\n b.n.b += 2;\n break;\n case 2:\n b.n.a -= 2;\n break;\n case 3:\n b.n.b -= 2;\n }\n d = new H0b();\n F0b(d, b);\n c2 = new UZb();\n f2 = BD(Ikb(e.j, 0), 11);\n QZb(c2, f2);\n RZb(c2, d);\n P6c(X6c(d.n), f2.n);\n P6c(X6c(d.a), f2.a);\n return b;\n }\n function Fac(a, b, c2, d, e) {\n if (c2 && (!d || (a.c - a.b & a.a.length - 1) > 1) && b == 1 && BD(a.a[a.b], 10).k == (j0b(), f0b)) {\n zac(BD(a.a[a.b], 10), (rbd(), nbd));\n } else if (d && (!c2 || (a.c - a.b & a.a.length - 1) > 1) && b == 1 && BD(a.a[a.c - 1 & a.a.length - 1], 10).k == (j0b(), f0b)) {\n zac(BD(a.a[a.c - 1 & a.a.length - 1], 10), (rbd(), obd));\n } else if ((a.c - a.b & a.a.length - 1) == 2) {\n zac(BD(bkb(a), 10), (rbd(), nbd));\n zac(BD(bkb(a), 10), obd);\n } else {\n wac(a, e);\n }\n Yjb(a);\n }\n function pRc(a, b, c2) {\n var d, e, f2, g, h;\n f2 = 0;\n for (e = new Fyd((!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a)); e.e != e.i.gc(); ) {\n d = BD(Dyd(e), 33);\n g = \"\";\n (!d.n && (d.n = new cUd(D2, d, 1, 7)), d.n).i == 0 || (g = BD(qud((!d.n && (d.n = new cUd(D2, d, 1, 7)), d.n), 0), 137).a);\n h = new XRc(f2++, b, g);\n tNb(h, d);\n yNb(h, (mTc(), dTc), d);\n h.e.b = d.j + d.f / 2;\n h.f.a = $wnd.Math.max(d.g, 1);\n h.e.a = d.i + d.g / 2;\n h.f.b = $wnd.Math.max(d.f, 1);\n Dsb(b.b, h);\n jrb(c2.f, d, h);\n }\n }\n function B2b(a) {\n var b, c2, d, e, f2;\n d = BD(vNb(a, (wtc(), $sc)), 33);\n f2 = BD(hkd(d, (Nyc(), Fxc)), 174).Hc((tdd(), sdd));\n if (!a.e) {\n e = BD(vNb(a, Ksc), 21);\n b = new f7c(a.f.a + a.d.b + a.d.c, a.f.b + a.d.d + a.d.a);\n if (e.Hc((Orc(), Hrc))) {\n jkd(d, Vxc, (dcd(), $bd));\n Afd(d, b.a, b.b, false, true);\n } else {\n Ccb(DD(hkd(d, Gxc))) || Afd(d, b.a, b.b, true, true);\n }\n }\n f2 ? jkd(d, Fxc, pqb(sdd)) : jkd(d, Fxc, (c2 = BD(gdb(I1), 9), new xqb(c2, BD(_Bb(c2, c2.length), 9), 0)));\n }\n function tA(a, b, c2) {\n var d, e, f2, g;\n if (b[0] >= a.length) {\n c2.o = 0;\n return true;\n }\n switch (bfb(a, b[0])) {\n case 43:\n e = 1;\n break;\n case 45:\n e = -1;\n break;\n default:\n c2.o = 0;\n return true;\n }\n ++b[0];\n f2 = b[0];\n g = rA(a, b);\n if (g == 0 && b[0] == f2) {\n return false;\n }\n if (b[0] < a.length && bfb(a, b[0]) == 58) {\n d = g * 60;\n ++b[0];\n f2 = b[0];\n g = rA(a, b);\n if (g == 0 && b[0] == f2) {\n return false;\n }\n d += g;\n } else {\n d = g;\n d < 24 && b[0] - f2 <= 2 ? d *= 60 : d = d % 100 + (d / 100 | 0) * 60;\n }\n d *= e;\n c2.o = -d;\n return true;\n }\n function Hjc(a) {\n var b, c2, d, e, f2, g, h, i3, j;\n g = new Rkb();\n for (d = new Sr(ur(U_b(a.b).a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 17);\n OZb(c2) && Ekb(g, new Gjc(c2, Jjc(a, c2.c), Jjc(a, c2.d)));\n }\n for (j = (f2 = new $ib(a.e).a.vc().Kc(), new djb(f2)); j.a.Ob(); ) {\n h = (b = BD(j.a.Pb(), 42), BD(b.dd(), 113));\n h.d.p = 0;\n }\n for (i3 = (e = new $ib(a.e).a.vc().Kc(), new djb(e)); i3.a.Ob(); ) {\n h = (b = BD(i3.a.Pb(), 42), BD(b.dd(), 113));\n h.d.p == 0 && Ekb(a.d, Ijc(a, h));\n }\n }\n function W1b(a) {\n var b, c2, d, e, f2, g, h;\n f2 = mpd(a);\n for (e = new Fyd((!a.e && (a.e = new y5d(B2, a, 7, 4)), a.e)); e.e != e.i.gc(); ) {\n d = BD(Dyd(e), 79);\n h = atd(BD(qud((!d.c && (d.c = new y5d(z2, d, 5, 8)), d.c), 0), 82));\n if (!ntd(h, f2)) {\n return true;\n }\n }\n for (c2 = new Fyd((!a.d && (a.d = new y5d(B2, a, 8, 5)), a.d)); c2.e != c2.i.gc(); ) {\n b = BD(Dyd(c2), 79);\n g = atd(BD(qud((!b.b && (b.b = new y5d(z2, b, 4, 7)), b.b), 0), 82));\n if (!ntd(g, f2)) {\n return true;\n }\n }\n return false;\n }\n function Dmc(a) {\n var b, c2, d, e, f2, g, h, i3;\n i3 = new s7c();\n b = Jsb(a, 0);\n h = null;\n c2 = BD(Xsb(b), 8);\n e = BD(Xsb(b), 8);\n while (b.b != b.d.c) {\n h = c2;\n c2 = e;\n e = BD(Xsb(b), 8);\n f2 = Emc(c7c(new f7c(h.a, h.b), c2));\n g = Emc(c7c(new f7c(e.a, e.b), c2));\n d = 10;\n d = $wnd.Math.min(d, $wnd.Math.abs(f2.a + f2.b) / 2);\n d = $wnd.Math.min(d, $wnd.Math.abs(g.a + g.b) / 2);\n f2.a = Eeb(f2.a) * d;\n f2.b = Eeb(f2.b) * d;\n g.a = Eeb(g.a) * d;\n g.b = Eeb(g.b) * d;\n Dsb(i3, P6c(f2, c2));\n Dsb(i3, P6c(g, c2));\n }\n return i3;\n }\n function _hd(a, b, c2, d) {\n var e, f2, g, h, i3;\n g = a.eh();\n i3 = a.Zg();\n e = null;\n if (i3) {\n if (!!b && (Nid(a, b, c2).Bb & Tje) == 0) {\n d = Txd(i3.Vk(), a, d);\n a.uh(null);\n e = b.fh();\n } else {\n i3 = null;\n }\n } else {\n !!g && (i3 = g.fh());\n !!b && (e = b.fh());\n }\n i3 != e && !!i3 && i3.Zk(a);\n h = a.Vg();\n a.Rg(b, c2);\n i3 != e && !!e && e.Yk(a);\n if (a.Lg() && a.Mg()) {\n if (!!g && h >= 0 && h != c2) {\n f2 = new nSd(a, 1, h, g, null);\n !d ? d = f2 : d.Ei(f2);\n }\n if (c2 >= 0) {\n f2 = new nSd(a, 1, c2, h == c2 ? g : null, b);\n !d ? d = f2 : d.Ei(f2);\n }\n }\n return d;\n }\n function LEd(a) {\n var b, c2, d;\n if (a.b == null) {\n d = new Hfb();\n if (a.i != null) {\n Efb(d, a.i);\n d.a += \":\";\n }\n if ((a.f & 256) != 0) {\n if ((a.f & 256) != 0 && a.a != null) {\n YEd(a.i) || (d.a += \"//\", d);\n Efb(d, a.a);\n }\n if (a.d != null) {\n d.a += \"/\";\n Efb(d, a.d);\n }\n (a.f & 16) != 0 && (d.a += \"/\", d);\n for (b = 0, c2 = a.j.length; b < c2; b++) {\n b != 0 && (d.a += \"/\", d);\n Efb(d, a.j[b]);\n }\n if (a.g != null) {\n d.a += \"?\";\n Efb(d, a.g);\n }\n } else {\n Efb(d, a.a);\n }\n if (a.e != null) {\n d.a += \"#\";\n Efb(d, a.e);\n }\n a.b = d.a;\n }\n return a.b;\n }\n function E5b(a, b) {\n var c2, d, e, f2, g, h;\n for (e = new olb(b.a); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 10);\n f2 = vNb(d, (wtc(), $sc));\n if (JD(f2, 11)) {\n g = BD(f2, 11);\n h = b_b(b, d, g.o.a, g.o.b);\n g.n.a = h.a;\n g.n.b = h.b;\n G0b(g, BD(vNb(d, Hsc), 61));\n }\n }\n c2 = new f7c(b.f.a + b.d.b + b.d.c, b.f.b + b.d.d + b.d.a);\n if (BD(vNb(b, (wtc(), Ksc)), 21).Hc((Orc(), Hrc))) {\n yNb(a, (Nyc(), Vxc), (dcd(), $bd));\n BD(vNb(Q_b(a), Ksc), 21).Fc(Krc);\n j_b(a, c2, false);\n } else {\n j_b(a, c2, true);\n }\n }\n function YFc(a, b, c2) {\n var d, e, f2, g, h, i3;\n Odd(c2, \"Minimize Crossings \" + a.a, 1);\n d = b.b.c.length == 0 || !WAb(JAb(new YAb(null, new Kub(b.b, 16)), new Xxb(new xGc()))).sd((EAb(), DAb));\n i3 = b.b.c.length == 1 && BD(Ikb(b.b, 0), 29).a.c.length == 1;\n f2 = PD(vNb(b, (Nyc(), axc))) === PD((hbd(), ebd));\n if (d || i3 && !f2) {\n Qdd(c2);\n return;\n }\n e = TFc(a, b);\n g = (h = BD(Ut(e, 0), 214), h.c.Rf() ? h.c.Lf() ? new kGc(a) : new mGc(a) : new iGc(a));\n UFc(e, g);\n eGc(a);\n Qdd(c2);\n }\n function so(a, b, c2, d) {\n var e, f2, g, h, i3;\n i3 = Tbb(Ibb(Eie, keb(Tbb(Ibb(b == null ? 0 : tb(b), Fie)), 15)));\n e = Tbb(Ibb(Eie, keb(Tbb(Ibb(c2 == null ? 0 : tb(c2), Fie)), 15)));\n h = vo(a, b, i3);\n g = uo(a, c2, e);\n if (!!h && e == h.a && Hb(c2, h.g)) {\n return c2;\n } else if (!!g && !d) {\n throw vbb(new Wdb(\"key already present: \" + c2));\n }\n !!h && mo(a, h);\n !!g && mo(a, g);\n f2 = new $o(c2, e, b, i3);\n po(a, f2, g);\n if (g) {\n g.e = null;\n g.c = null;\n }\n if (h) {\n h.e = null;\n h.c = null;\n }\n to(a);\n return !h ? null : h.g;\n }\n function Lhb(a, b, c2) {\n var d, e, f2, g, h;\n for (f2 = 0; f2 < b; f2++) {\n d = 0;\n for (h = f2 + 1; h < b; h++) {\n d = wbb(wbb(Ibb(xbb(a[f2], Yje), xbb(a[h], Yje)), xbb(c2[f2 + h], Yje)), xbb(Tbb(d), Yje));\n c2[f2 + h] = Tbb(d);\n d = Pbb(d, 32);\n }\n c2[f2 + b] = Tbb(d);\n }\n khb(c2, c2, b << 1);\n d = 0;\n for (e = 0, g = 0; e < b; ++e, g++) {\n d = wbb(wbb(Ibb(xbb(a[e], Yje), xbb(a[e], Yje)), xbb(c2[g], Yje)), xbb(Tbb(d), Yje));\n c2[g] = Tbb(d);\n d = Pbb(d, 32);\n ++g;\n d = wbb(d, xbb(c2[g], Yje));\n c2[g] = Tbb(d);\n d = Pbb(d, 32);\n }\n return c2;\n }\n function ZJc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n if (Qq(b)) {\n return;\n }\n i3 = Edb(ED(pBc(c2.c, (Nyc(), zyc))));\n j = BD(pBc(c2.c, yyc), 142);\n !j && (j = new H_b());\n d = c2.a;\n e = null;\n for (h = b.Kc(); h.Ob(); ) {\n g = BD(h.Pb(), 11);\n k = 0;\n if (!e) {\n k = j.d;\n } else {\n k = i3;\n k += e.o.b;\n }\n f2 = nGb(oGb(new pGb(), g), a.f);\n Rhb(a.k, g, f2);\n AFb(DFb(CFb(BFb(EFb(new FFb(), 0), QD($wnd.Math.ceil(k))), d), f2));\n e = g;\n d = f2;\n }\n AFb(DFb(CFb(BFb(EFb(new FFb(), 0), QD($wnd.Math.ceil(j.a + e.o.b))), d), c2.d));\n }\n function uZc(a, b, c2, d, e, f2, g, h) {\n var i3, j, k, l, m, n;\n n = false;\n m = f2 - c2.s;\n k = c2.t - b.f + (j = MZc(c2, m, false), j.a);\n if (d.g + h > m) {\n return false;\n }\n l = (i3 = MZc(d, m, false), i3.a);\n if (k + h + l <= b.b) {\n KZc(c2, f2 - c2.s);\n c2.c = true;\n KZc(d, f2 - c2.s);\n OZc(d, c2.s, c2.t + c2.d + h);\n d.k = true;\n WZc(c2.q, d);\n n = true;\n if (e) {\n s$c(b, d);\n d.j = b;\n if (a.c.length > g) {\n v$c((tCb(g, a.c.length), BD(a.c[g], 200)), d);\n (tCb(g, a.c.length), BD(a.c[g], 200)).a.c.length == 0 && Kkb(a, g);\n }\n }\n }\n return n;\n }\n function kcc(a, b) {\n var c2, d, e, f2, g, h;\n Odd(b, \"Partition midprocessing\", 1);\n e = new Hp();\n MAb(JAb(new YAb(null, new Kub(a.a, 16)), new occ()), new qcc(e));\n if (e.d == 0) {\n return;\n }\n h = BD(GAb(UAb((f2 = e.i, new YAb(null, (!f2 ? e.i = new zf(e, e.c) : f2).Nc()))), Byb(new fzb(), new dzb(), new Ezb(), OC(GC(xL, 1), Kie, 132, 0, [(Fyb(), Dyb)]))), 15);\n d = h.Kc();\n c2 = BD(d.Pb(), 19);\n while (d.Ob()) {\n g = BD(d.Pb(), 19);\n jcc(BD(Qc(e, c2), 21), BD(Qc(e, g), 21));\n c2 = g;\n }\n Qdd(b);\n }\n function DYb(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n if (b.p == 0) {\n b.p = 1;\n g = c2;\n if (!g) {\n e = new Rkb();\n f2 = (d = BD(gdb(F1), 9), new xqb(d, BD(_Bb(d, d.length), 9), 0));\n g = new vgd(e, f2);\n }\n BD(g.a, 15).Fc(b);\n b.k == (j0b(), e0b) && BD(g.b, 21).Fc(BD(vNb(b, (wtc(), Hsc)), 61));\n for (i3 = new olb(b.j); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 11);\n for (k = ul(pl(OC(GC(KI, 1), Uhe, 20, 0, [new J0b(h), new R0b(h)]))); Qr(k); ) {\n j = BD(Rr(k), 11);\n DYb(a, j.i, g);\n }\n }\n return g;\n }\n return null;\n }\n function Dmd(a, b) {\n var c2, d, e, f2, g;\n if (a.Ab) {\n if (a.Ab) {\n g = a.Ab.i;\n if (g > 0) {\n e = BD(a.Ab.g, 1934);\n if (b == null) {\n for (f2 = 0; f2 < g; ++f2) {\n c2 = e[f2];\n if (c2.d == null) {\n return c2;\n }\n }\n } else {\n for (f2 = 0; f2 < g; ++f2) {\n c2 = e[f2];\n if (dfb(b, c2.d)) {\n return c2;\n }\n }\n }\n }\n } else {\n if (b == null) {\n for (d = new Fyd(a.Ab); d.e != d.i.gc(); ) {\n c2 = BD(Dyd(d), 590);\n if (c2.d == null) {\n return c2;\n }\n }\n } else {\n for (d = new Fyd(a.Ab); d.e != d.i.gc(); ) {\n c2 = BD(Dyd(d), 590);\n if (dfb(b, c2.d)) {\n return c2;\n }\n }\n }\n }\n }\n return null;\n }\n function gRc(a, b) {\n var c2, d, e, f2, g, h, i3, j;\n j = DD(vNb(b, (JTc(), GTc)));\n if (j == null || (uCb(j), j)) {\n dRc(a, b);\n e = new Rkb();\n for (i3 = Jsb(b.b, 0); i3.b != i3.d.c; ) {\n g = BD(Xsb(i3), 86);\n c2 = cRc(a, g, null);\n if (c2) {\n tNb(c2, b);\n e.c[e.c.length] = c2;\n }\n }\n a.a = null;\n a.b = null;\n if (e.c.length > 1) {\n for (d = new olb(e); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 135);\n f2 = 0;\n for (h = Jsb(c2.b, 0); h.b != h.d.c; ) {\n g = BD(Xsb(h), 86);\n g.g = f2++;\n }\n }\n }\n return e;\n }\n return Ou(OC(GC(n$, 1), fme, 135, 0, [b]));\n }\n function rqd(a, b, c2, d, e) {\n var f2, g, h, i3, j, k, l, m, n, p, q, r, s, t, u, v;\n n = Sqd(a, etd(b), e);\n jmd(n, _pd(e, Vte));\n o = null;\n p = e;\n q = $pd(p, Yte);\n r = new urd(n);\n wqd(r.a, q);\n s = $pd(p, \"endPoint\");\n t = new yrd(n);\n yqd(t.a, s);\n u = Ypd(p, Ote);\n v = new Brd(n);\n zqd(v.a, u);\n l = _pd(e, Qte);\n f2 = new qrd(a, n);\n sqd(f2.a, f2.b, l);\n m = _pd(e, Pte);\n g = new rrd(a, n);\n tqd(g.a, g.b, m);\n j = Ypd(e, Ste);\n h = new srd(c2, n);\n uqd(h.b, h.a, j);\n k = Ypd(e, Rte);\n i3 = new trd(d, n);\n vqd(i3.b, i3.a, k);\n }\n function i_b(a, b, c2) {\n var d, e, f2, g, h;\n h = null;\n switch (b.g) {\n case 1:\n for (e = new olb(a.j); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 11);\n if (Ccb(DD(vNb(d, (wtc(), Msc))))) {\n return d;\n }\n }\n h = new H0b();\n yNb(h, (wtc(), Msc), (Bcb(), true));\n break;\n case 2:\n for (g = new olb(a.j); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 11);\n if (Ccb(DD(vNb(f2, (wtc(), etc))))) {\n return f2;\n }\n }\n h = new H0b();\n yNb(h, (wtc(), etc), (Bcb(), true));\n }\n if (h) {\n F0b(h, a);\n G0b(h, c2);\n X$b(h.n, a.o, c2);\n }\n return h;\n }\n function O3b(a, b) {\n var c2, d, e, f2, g, h;\n h = -1;\n g = new Psb();\n for (d = new b1b(a.b); llb(d.a) || llb(d.b); ) {\n c2 = BD(llb(d.a) ? mlb(d.a) : mlb(d.b), 17);\n h = $wnd.Math.max(h, Edb(ED(vNb(c2, (Nyc(), Zwc)))));\n c2.c == a ? MAb(JAb(new YAb(null, new Kub(c2.b, 16)), new U3b()), new W3b(g)) : MAb(JAb(new YAb(null, new Kub(c2.b, 16)), new Y3b()), new $3b(g));\n for (f2 = Jsb(g, 0); f2.b != f2.d.c; ) {\n e = BD(Xsb(f2), 70);\n wNb(e, (wtc(), Dsc)) || yNb(e, Dsc, c2);\n }\n Gkb(b, g);\n Osb(g);\n }\n return h;\n }\n function _bc(a, b, c2, d, e) {\n var f2, g, h, i3;\n f2 = new b0b(a);\n __b(f2, (j0b(), i0b));\n yNb(f2, (Nyc(), Vxc), (dcd(), $bd));\n yNb(f2, (wtc(), $sc), b.c.i);\n g = new H0b();\n yNb(g, $sc, b.c);\n G0b(g, e);\n F0b(g, f2);\n yNb(b.c, gtc, f2);\n h = new b0b(a);\n __b(h, i0b);\n yNb(h, Vxc, $bd);\n yNb(h, $sc, b.d.i);\n i3 = new H0b();\n yNb(i3, $sc, b.d);\n G0b(i3, e);\n F0b(i3, h);\n yNb(b.d, gtc, h);\n QZb(b, g);\n RZb(b, i3);\n wCb(0, c2.c.length);\n aCb(c2.c, 0, f2);\n d.c[d.c.length] = h;\n yNb(f2, ysc, meb(1));\n yNb(h, ysc, meb(1));\n }\n function BPc(a, b, c2, d, e) {\n var f2, g, h, i3, j;\n h = e ? d.b : d.a;\n if (Rqb(a.a, d)) {\n return;\n }\n j = h > c2.s && h < c2.c;\n i3 = false;\n if (c2.e.b != 0 && c2.j.b != 0) {\n i3 = i3 | ($wnd.Math.abs(h - Edb(ED(Hsb(c2.e)))) < qme && $wnd.Math.abs(h - Edb(ED(Hsb(c2.j)))) < qme);\n i3 = i3 | ($wnd.Math.abs(h - Edb(ED(Isb(c2.e)))) < qme && $wnd.Math.abs(h - Edb(ED(Isb(c2.j)))) < qme);\n }\n if (j || i3) {\n g = BD(vNb(b, (Nyc(), jxc)), 74);\n if (!g) {\n g = new s7c();\n yNb(b, jxc, g);\n }\n f2 = new g7c(d);\n Gsb(g, f2, g.c.b, g.c);\n Qqb(a.a, f2);\n }\n }\n function gNb(a, b, c2, d) {\n var e, f2, g, h, i3, j, k;\n if (fNb(a, b, c2, d)) {\n return true;\n } else {\n for (g = new olb(b.f); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 324);\n h = false;\n i3 = a.j - b.j + c2;\n j = i3 + b.o;\n k = a.k - b.k + d;\n e = k + b.p;\n switch (f2.a.g) {\n case 0:\n h = oNb(a, i3 + f2.b.a, 0, i3 + f2.c.a, k - 1);\n break;\n case 1:\n h = oNb(a, j, k + f2.b.a, a.o - 1, k + f2.c.a);\n break;\n case 2:\n h = oNb(a, i3 + f2.b.a, e, i3 + f2.c.a, a.p - 1);\n break;\n default:\n h = oNb(a, 0, k + f2.b.a, i3 - 1, k + f2.c.a);\n }\n if (h) {\n return true;\n }\n }\n }\n return false;\n }\n function LMc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n for (g = new olb(b.b); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 29);\n for (j = new olb(f2.a); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 10);\n k = new Rkb();\n h = 0;\n for (d = new Sr(ur(R_b(i3).a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 17);\n if (OZb(c2) || !OZb(c2) && c2.c.i.c == c2.d.i.c) {\n continue;\n }\n e = BD(vNb(c2, (Nyc(), eyc)), 19).a;\n if (e > h) {\n h = e;\n k.c = KC(SI, Uhe, 1, 0, 5, 1);\n }\n e == h && Ekb(k, new vgd(c2.c.i, c2));\n }\n mmb();\n Okb(k, a.c);\n Dkb(a.b, i3.p, k);\n }\n }\n }\n function MMc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n for (g = new olb(b.b); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 29);\n for (j = new olb(f2.a); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 10);\n k = new Rkb();\n h = 0;\n for (d = new Sr(ur(U_b(i3).a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 17);\n if (OZb(c2) || !OZb(c2) && c2.c.i.c == c2.d.i.c) {\n continue;\n }\n e = BD(vNb(c2, (Nyc(), eyc)), 19).a;\n if (e > h) {\n h = e;\n k.c = KC(SI, Uhe, 1, 0, 5, 1);\n }\n e == h && Ekb(k, new vgd(c2.d.i, c2));\n }\n mmb();\n Okb(k, a.c);\n Dkb(a.f, i3.p, k);\n }\n }\n }\n function Y7c(a) {\n r4c(a, new E3c(P3c(M3c(O3c(N3c(new R3c(), qse), \"ELK Box\"), \"Algorithm for packing of unconnected boxes, i.e. graphs without edges.\"), new _7c())));\n p4c(a, qse, ame, U7c);\n p4c(a, qse, wme, 15);\n p4c(a, qse, vme, meb(0));\n p4c(a, qse, Jre, Ksd(O7c));\n p4c(a, qse, Fme, Ksd(Q7c));\n p4c(a, qse, Eme, Ksd(S7c));\n p4c(a, qse, _le, pse);\n p4c(a, qse, Ame, Ksd(P7c));\n p4c(a, qse, Tme, Ksd(R7c));\n p4c(a, qse, rse, Ksd(M7c));\n p4c(a, qse, lqe, Ksd(N7c));\n }\n function W$b(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n e = a.i;\n g = e.o.a;\n f2 = e.o.b;\n if (g <= 0 && f2 <= 0) {\n return Ucd(), Scd;\n }\n j = a.n.a;\n k = a.n.b;\n h = a.o.a;\n c2 = a.o.b;\n switch (b.g) {\n case 2:\n case 1:\n if (j < 0) {\n return Ucd(), Tcd;\n } else if (j + h > g) {\n return Ucd(), zcd;\n }\n break;\n case 4:\n case 3:\n if (k < 0) {\n return Ucd(), Acd;\n } else if (k + c2 > f2) {\n return Ucd(), Rcd;\n }\n }\n i3 = (j + h / 2) / g;\n d = (k + c2 / 2) / f2;\n return i3 + d <= 1 && i3 - d <= 0 ? (Ucd(), Tcd) : i3 + d >= 1 && i3 - d >= 0 ? (Ucd(), zcd) : d < 0.5 ? (Ucd(), Acd) : (Ucd(), Rcd);\n }\n function pJc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p;\n c2 = false;\n k = Edb(ED(vNb(b, (Nyc(), vyc))));\n o2 = Qie * k;\n for (e = new olb(b.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 29);\n j = new olb(d.a);\n f2 = BD(mlb(j), 10);\n l = xJc(a.a[f2.p]);\n while (j.a < j.c.c.length) {\n h = BD(mlb(j), 10);\n m = xJc(a.a[h.p]);\n if (l != m) {\n n = jBc(a.b, f2, h);\n g = f2.n.b + f2.o.b + f2.d.a + l.a + n;\n i3 = h.n.b - h.d.d + m.a;\n if (g > i3 + o2) {\n p = l.g + m.g;\n m.a = (m.g * m.a + l.g * l.a) / p;\n m.g = p;\n l.f = m;\n c2 = true;\n }\n }\n f2 = h;\n l = m;\n }\n }\n return c2;\n }\n function VGb(a, b, c2, d, e, f2, g) {\n var h, i3, j, k, l, m;\n m = new I6c();\n for (j = b.Kc(); j.Ob(); ) {\n h = BD(j.Pb(), 839);\n for (l = new olb(h.wf()); l.a < l.c.c.length; ) {\n k = BD(mlb(l), 181);\n if (PD(k.We((Y9c(), C8c))) === PD((qad(), pad2))) {\n SGb(m, k, false, d, e, f2, g);\n H6c(a, m);\n }\n }\n }\n for (i3 = c2.Kc(); i3.Ob(); ) {\n h = BD(i3.Pb(), 839);\n for (l = new olb(h.wf()); l.a < l.c.c.length; ) {\n k = BD(mlb(l), 181);\n if (PD(k.We((Y9c(), C8c))) === PD((qad(), oad))) {\n SGb(m, k, true, d, e, f2, g);\n H6c(a, m);\n }\n }\n }\n }\n function oRc(a, b, c2) {\n var d, e, f2, g, h, i3, j;\n for (g = new Fyd((!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a)); g.e != g.i.gc(); ) {\n f2 = BD(Dyd(g), 33);\n for (e = new Sr(ur(_sd(f2).a.Kc(), new Sq())); Qr(e); ) {\n d = BD(Rr(e), 79);\n if (!Pld(d) && !Pld(d) && !Qld(d)) {\n i3 = BD(Wd(irb(c2.f, f2)), 86);\n j = BD(Ohb(c2, atd(BD(qud((!d.c && (d.c = new y5d(z2, d, 5, 8)), d.c), 0), 82))), 86);\n if (!!i3 && !!j) {\n h = new QRc(i3, j);\n yNb(h, (mTc(), dTc), d);\n tNb(h, d);\n Dsb(i3.d, h);\n Dsb(j.b, h);\n Dsb(b.a, h);\n }\n }\n }\n }\n }\n function QKb(a, b) {\n var c2, d, e, f2, g, h, i3, j;\n for (i3 = BD(BD(Qc(a.r, b), 21), 84).Kc(); i3.Ob(); ) {\n h = BD(i3.Pb(), 111);\n e = h.c ? YHb(h.c) : 0;\n if (e > 0) {\n if (h.a) {\n j = h.b.rf().b;\n if (e > j) {\n if (a.v || h.c.d.c.length == 1) {\n g = (e - j) / 2;\n h.d.d = g;\n h.d.a = g;\n } else {\n c2 = BD(Ikb(h.c.d, 0), 181).rf().b;\n d = (c2 - j) / 2;\n h.d.d = $wnd.Math.max(0, d);\n h.d.a = e - d - j;\n }\n }\n } else {\n h.d.a = a.t + e;\n }\n } else if (tcd(a.u)) {\n f2 = sfd(h.b);\n f2.d < 0 && (h.d.d = -f2.d);\n f2.d + f2.a > h.b.rf().b && (h.d.a = f2.d + f2.a - h.b.rf().b);\n }\n }\n }\n function FC(a, b) {\n var c2;\n switch (HC(a)) {\n case 6:\n return ND(b);\n case 7:\n return LD(b);\n case 8:\n return KD(b);\n case 3:\n return Array.isArray(b) && (c2 = HC(b), !(c2 >= 14 && c2 <= 16));\n case 11:\n return b != null && typeof b === Nhe;\n case 12:\n return b != null && (typeof b === Jhe || typeof b == Nhe);\n case 0:\n return AD(b, a.__elementTypeId$);\n case 2:\n return OD(b) && !(b.im === gcb);\n case 1:\n return OD(b) && !(b.im === gcb) || AD(b, a.__elementTypeId$);\n default:\n return true;\n }\n }\n function xOb(a, b) {\n var c2, d, e, f2;\n d = $wnd.Math.min($wnd.Math.abs(a.c - (b.c + b.b)), $wnd.Math.abs(a.c + a.b - b.c));\n f2 = $wnd.Math.min($wnd.Math.abs(a.d - (b.d + b.a)), $wnd.Math.abs(a.d + a.a - b.d));\n c2 = $wnd.Math.abs(a.c + a.b / 2 - (b.c + b.b / 2));\n if (c2 > a.b / 2 + b.b / 2) {\n return 1;\n }\n e = $wnd.Math.abs(a.d + a.a / 2 - (b.d + b.a / 2));\n if (e > a.a / 2 + b.a / 2) {\n return 1;\n }\n if (c2 == 0 && e == 0) {\n return 0;\n }\n if (c2 == 0) {\n return f2 / e + 1;\n }\n if (e == 0) {\n return d / c2 + 1;\n }\n return $wnd.Math.min(d / c2, f2 / e) + 1;\n }\n function mgb(a, b) {\n var c2, d, e, f2, g, h;\n e = pgb(a);\n h = pgb(b);\n if (e == h) {\n if (a.e == b.e && a.a < 54 && b.a < 54) {\n return a.f < b.f ? -1 : a.f > b.f ? 1 : 0;\n }\n d = a.e - b.e;\n c2 = (a.d > 0 ? a.d : $wnd.Math.floor((a.a - 1) * Xje) + 1) - (b.d > 0 ? b.d : $wnd.Math.floor((b.a - 1) * Xje) + 1);\n if (c2 > d + 1) {\n return e;\n } else if (c2 < d - 1) {\n return -e;\n } else {\n f2 = (!a.c && (a.c = fhb(a.f)), a.c);\n g = (!b.c && (b.c = fhb(b.f)), b.c);\n d < 0 ? f2 = Ogb(f2, Khb(-d)) : d > 0 && (g = Ogb(g, Khb(d)));\n return Igb(f2, g);\n }\n } else\n return e < h ? -1 : 1;\n }\n function mTb(a, b) {\n var c2, d, e, f2, g, h, i3;\n f2 = 0;\n h = 0;\n i3 = 0;\n for (e = new olb(a.f.e); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 144);\n if (b == d) {\n continue;\n }\n g = a.i[b.b][d.b];\n f2 += g;\n c2 = S6c(b.d, d.d);\n c2 > 0 && a.d != (yTb(), xTb) && (h += g * (d.d.a + a.a[b.b][d.b] * (b.d.a - d.d.a) / c2));\n c2 > 0 && a.d != (yTb(), vTb) && (i3 += g * (d.d.b + a.a[b.b][d.b] * (b.d.b - d.d.b) / c2));\n }\n switch (a.d.g) {\n case 1:\n return new f7c(h / f2, b.d.b);\n case 2:\n return new f7c(b.d.a, i3 / f2);\n default:\n return new f7c(h / f2, i3 / f2);\n }\n }\n function Wcc(a, b) {\n Occ();\n var c2, d, e, f2, g;\n g = BD(vNb(a.i, (Nyc(), Vxc)), 98);\n f2 = a.j.g - b.j.g;\n if (f2 != 0 || !(g == (dcd(), Zbd) || g == _bd || g == $bd)) {\n return 0;\n }\n if (g == (dcd(), Zbd)) {\n c2 = BD(vNb(a, Wxc), 19);\n d = BD(vNb(b, Wxc), 19);\n if (!!c2 && !!d) {\n e = c2.a - d.a;\n if (e != 0) {\n return e;\n }\n }\n }\n switch (a.j.g) {\n case 1:\n return Kdb(a.n.a, b.n.a);\n case 2:\n return Kdb(a.n.b, b.n.b);\n case 3:\n return Kdb(b.n.a, a.n.a);\n case 4:\n return Kdb(b.n.b, a.n.b);\n default:\n throw vbb(new Zdb(ine));\n }\n }\n function tfd(a) {\n var b, c2, d, e, f2, g;\n c2 = (!a.a && (a.a = new xMd(y2, a, 5)), a.a).i + 2;\n g = new Skb(c2);\n Ekb(g, new f7c(a.j, a.k));\n MAb(new YAb(null, (!a.a && (a.a = new xMd(y2, a, 5)), new Kub(a.a, 16))), new Qfd(g));\n Ekb(g, new f7c(a.b, a.c));\n b = 1;\n while (b < g.c.length - 1) {\n d = (tCb(b - 1, g.c.length), BD(g.c[b - 1], 8));\n e = (tCb(b, g.c.length), BD(g.c[b], 8));\n f2 = (tCb(b + 1, g.c.length), BD(g.c[b + 1], 8));\n d.a == e.a && e.a == f2.a || d.b == e.b && e.b == f2.b ? Kkb(g, b) : ++b;\n }\n return g;\n }\n function Xgc(a, b) {\n var c2, d, e, f2, g, h, i3;\n c2 = vDb(yDb(wDb(xDb(new zDb(), b), new K6c(b.e)), Ggc), a.a);\n b.j.c.length == 0 || nDb(BD(Ikb(b.j, 0), 57).a, c2);\n i3 = new lEb();\n Rhb(a.e, c2, i3);\n g = new Tqb();\n h = new Tqb();\n for (f2 = new olb(b.k); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 17);\n Qqb(g, e.c);\n Qqb(h, e.d);\n }\n d = g.a.gc() - h.a.gc();\n if (d < 0) {\n jEb(i3, true, (ead(), aad));\n jEb(i3, false, bad);\n } else if (d > 0) {\n jEb(i3, false, (ead(), aad));\n jEb(i3, true, bad);\n }\n Hkb(b.g, new $hc(a, c2));\n Rhb(a.g, b, c2);\n }\n function Neb() {\n Neb = ccb;\n var a;\n Jeb = OC(GC(WD, 1), oje, 25, 15, [-1, -1, 30, 19, 15, 13, 11, 11, 10, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5]);\n Keb = KC(WD, oje, 25, 37, 15, 1);\n Leb = OC(GC(WD, 1), oje, 25, 15, [-1, -1, 63, 40, 32, 28, 25, 23, 21, 20, 19, 19, 18, 18, 17, 17, 16, 16, 16, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13]);\n Meb = KC(XD, Sje, 25, 37, 14, 1);\n for (a = 2; a <= 36; a++) {\n Keb[a] = QD($wnd.Math.pow(a, Jeb[a]));\n Meb[a] = Abb(rie, Keb[a]);\n }\n }\n function pfd(a) {\n var b;\n if ((!a.a && (a.a = new cUd(A2, a, 6, 6)), a.a).i != 1) {\n throw vbb(new Wdb(Tse + (!a.a && (a.a = new cUd(A2, a, 6, 6)), a.a).i));\n }\n b = new s7c();\n !!btd(BD(qud((!a.b && (a.b = new y5d(z2, a, 4, 7)), a.b), 0), 82)) && ye(b, qfd(a, btd(BD(qud((!a.b && (a.b = new y5d(z2, a, 4, 7)), a.b), 0), 82)), false));\n !!btd(BD(qud((!a.c && (a.c = new y5d(z2, a, 5, 8)), a.c), 0), 82)) && ye(b, qfd(a, btd(BD(qud((!a.c && (a.c = new y5d(z2, a, 5, 8)), a.c), 0), 82)), true));\n return b;\n }\n function _Mc(a, b) {\n var c2, d, e, f2, g;\n b.d ? e = a.a.c == (YLc(), XLc) ? R_b(b.b) : U_b(b.b) : e = a.a.c == (YLc(), WLc) ? R_b(b.b) : U_b(b.b);\n f2 = false;\n for (d = new Sr(ur(e.a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 17);\n g = Ccb(a.a.f[a.a.g[b.b.p].p]);\n if (!g && !OZb(c2) && c2.c.i.c == c2.d.i.c) {\n continue;\n }\n if (Ccb(a.a.n[a.a.g[b.b.p].p]) || Ccb(a.a.n[a.a.g[b.b.p].p])) {\n continue;\n }\n f2 = true;\n if (Rqb(a.b, a.a.g[TMc(c2, b.b).p])) {\n b.c = true;\n b.a = c2;\n return b;\n }\n }\n b.c = f2;\n b.a = null;\n return b;\n }\n function bed(a, b, c2, d, e) {\n var f2, g, h, i3, j, k, l;\n mmb();\n Okb(a, new Red());\n h = new Bib(a, 0);\n l = new Rkb();\n f2 = 0;\n while (h.b < h.d.gc()) {\n g = (sCb(h.b < h.d.gc()), BD(h.d.Xb(h.c = h.b++), 157));\n if (l.c.length != 0 && red(g) * qed(g) > f2 * 2) {\n k = new wed(l);\n j = red(g) / qed(g);\n i3 = fed(k, b, new p0b(), c2, d, e, j);\n P6c(X6c(k.e), i3);\n l.c = KC(SI, Uhe, 1, 0, 5, 1);\n f2 = 0;\n l.c[l.c.length] = k;\n l.c[l.c.length] = g;\n f2 = red(k) * qed(k) + red(g) * qed(g);\n } else {\n l.c[l.c.length] = g;\n f2 += red(g) * qed(g);\n }\n }\n return l;\n }\n function qwd(a, b, c2) {\n var d, e, f2, g, h, i3, j;\n d = c2.gc();\n if (d == 0) {\n return false;\n } else {\n if (a.ej()) {\n i3 = a.fj();\n zvd(a, b, c2);\n g = d == 1 ? a.Zi(3, null, c2.Kc().Pb(), b, i3) : a.Zi(5, null, c2, b, i3);\n if (a.bj()) {\n h = d < 100 ? null : new Ixd(d);\n f2 = b + d;\n for (e = b; e < f2; ++e) {\n j = a.Oi(e);\n h = a.cj(j, h);\n h = h;\n }\n if (!h) {\n a.$i(g);\n } else {\n h.Ei(g);\n h.Fi();\n }\n } else {\n a.$i(g);\n }\n } else {\n zvd(a, b, c2);\n if (a.bj()) {\n h = d < 100 ? null : new Ixd(d);\n f2 = b + d;\n for (e = b; e < f2; ++e) {\n h = a.cj(a.Oi(e), h);\n }\n !!h && h.Fi();\n }\n }\n return true;\n }\n }\n function wwd(a, b, c2) {\n var d, e, f2, g, h;\n if (a.ej()) {\n e = null;\n f2 = a.fj();\n d = a.Zi(1, h = (g = a.Ui(b, a.oi(b, c2)), g), c2, b, f2);\n if (a.bj() && !(a.ni() && !!h ? pb(h, c2) : PD(h) === PD(c2))) {\n !!h && (e = a.dj(h, e));\n e = a.cj(c2, e);\n if (!e) {\n a.$i(d);\n } else {\n e.Ei(d);\n e.Fi();\n }\n } else {\n if (!e) {\n a.$i(d);\n } else {\n e.Ei(d);\n e.Fi();\n }\n }\n return h;\n } else {\n h = (g = a.Ui(b, a.oi(b, c2)), g);\n if (a.bj() && !(a.ni() && !!h ? pb(h, c2) : PD(h) === PD(c2))) {\n e = null;\n !!h && (e = a.dj(h, null));\n e = a.cj(c2, e);\n !!e && e.Fi();\n }\n return h;\n }\n }\n function rRb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n a.e = b;\n a.f = BD(vNb(b, (HSb(), GSb)), 230);\n iRb(b);\n a.d = $wnd.Math.max(b.e.c.length * 16 + b.c.c.length, 256);\n if (!Ccb(DD(vNb(b, (wSb(), dSb))))) {\n k = a.e.e.c.length;\n for (i3 = new olb(b.e); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 144);\n j = h.d;\n j.a = Aub(a.f) * k;\n j.b = Aub(a.f) * k;\n }\n }\n c2 = b.b;\n for (f2 = new olb(b.c); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 282);\n d = BD(vNb(e, rSb), 19).a;\n if (d > 0) {\n for (g = 0; g < d; g++) {\n Ekb(c2, new aRb(e));\n }\n cRb(e);\n }\n }\n }\n function zac(a, b) {\n var c2, d, e, f2, g, h;\n if (a.k == (j0b(), f0b)) {\n c2 = WAb(JAb(BD(vNb(a, (wtc(), ktc)), 15).Oc(), new Xxb(new Kac()))).sd((EAb(), DAb)) ? b : (rbd(), pbd);\n yNb(a, Ssc, c2);\n if (c2 != (rbd(), obd)) {\n d = BD(vNb(a, $sc), 17);\n h = Edb(ED(vNb(d, (Nyc(), Zwc))));\n g = 0;\n if (c2 == nbd) {\n g = a.o.b - $wnd.Math.ceil(h / 2);\n } else if (c2 == pbd) {\n a.o.b -= Edb(ED(vNb(Q_b(a), nyc)));\n g = (a.o.b - $wnd.Math.ceil(h)) / 2;\n }\n for (f2 = new olb(a.j); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 11);\n e.n.b = g;\n }\n }\n }\n }\n function Uge() {\n Uge = ccb;\n g5d();\n Tge = new Vge();\n OC(GC(w5, 2), nie, 368, 0, [OC(GC(w5, 1), Axe, 592, 0, [new Rge(Xwe)])]);\n OC(GC(w5, 2), nie, 368, 0, [OC(GC(w5, 1), Axe, 592, 0, [new Rge(Ywe)])]);\n OC(GC(w5, 2), nie, 368, 0, [OC(GC(w5, 1), Axe, 592, 0, [new Rge(Zwe)]), OC(GC(w5, 1), Axe, 592, 0, [new Rge(Ywe)])]);\n new Ygb(\"-1\");\n OC(GC(w5, 2), nie, 368, 0, [OC(GC(w5, 1), Axe, 592, 0, [new Rge(\"\\\\c+\")])]);\n new Ygb(\"0\");\n new Ygb(\"0\");\n new Ygb(\"1\");\n new Ygb(\"0\");\n new Ygb(hxe);\n }\n function KQd(a) {\n var b, c2;\n if (!!a.c && a.c.kh()) {\n c2 = BD(a.c, 49);\n a.c = BD(xid(a, c2), 138);\n if (a.c != c2) {\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 9, 2, c2, a.c));\n if (JD(a.Cb, 399)) {\n a.Db >> 16 == -15 && a.Cb.nh() && Rwd(new oSd(a.Cb, 9, 13, c2, a.c, HLd(QSd(BD(a.Cb, 59)), a)));\n } else if (JD(a.Cb, 88)) {\n if (a.Db >> 16 == -23 && a.Cb.nh()) {\n b = a.c;\n JD(b, 88) || (b = (jGd(), _Fd));\n JD(c2, 88) || (c2 = (jGd(), _Fd));\n Rwd(new oSd(a.Cb, 9, 10, c2, b, HLd(VKd(BD(a.Cb, 26)), a)));\n }\n }\n }\n }\n return a.c;\n }\n function f7b(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l;\n Odd(b, \"Hypernodes processing\", 1);\n for (e = new olb(a.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 29);\n for (h = new olb(d.a); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 10);\n if (Ccb(DD(vNb(g, (Nyc(), exc)))) && g.j.c.length <= 2) {\n l = 0;\n k = 0;\n c2 = 0;\n f2 = 0;\n for (j = new olb(g.j); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 11);\n switch (i3.j.g) {\n case 1:\n ++l;\n break;\n case 2:\n ++k;\n break;\n case 3:\n ++c2;\n break;\n case 4:\n ++f2;\n }\n }\n l == 0 && c2 == 0 && e7b(a, g, f2 <= k);\n }\n }\n }\n Qdd(b);\n }\n function i7b(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n Odd(b, \"Layer constraint edge reversal\", 1);\n for (g = new olb(a.b); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 29);\n k = -1;\n c2 = new Rkb();\n j = l_b(f2.a);\n for (e = 0; e < j.length; e++) {\n d = BD(vNb(j[e], (wtc(), Osc)), 303);\n if (k == -1) {\n d != (esc(), dsc) && (k = e);\n } else {\n if (d == (esc(), dsc)) {\n $_b(j[e], null);\n Z_b(j[e], k++, f2);\n }\n }\n d == (esc(), bsc) && Ekb(c2, j[e]);\n }\n for (i3 = new olb(c2); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 10);\n $_b(h, null);\n $_b(h, f2);\n }\n }\n Qdd(b);\n }\n function W6b(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l;\n Odd(c2, \"Hyperedge merging\", 1);\n U6b(a, b);\n i3 = new Bib(b.b, 0);\n while (i3.b < i3.d.gc()) {\n h = (sCb(i3.b < i3.d.gc()), BD(i3.d.Xb(i3.c = i3.b++), 29));\n k = h.a;\n if (k.c.length == 0) {\n continue;\n }\n d = null;\n e = null;\n f2 = null;\n g = null;\n for (j = 0; j < k.c.length; j++) {\n d = (tCb(j, k.c.length), BD(k.c[j], 10));\n e = d.k;\n if (e == (j0b(), g0b) && g == g0b) {\n l = S6b(d, f2);\n if (l.a) {\n V6b(d, f2, l.b, l.c);\n tCb(j, k.c.length);\n cCb(k.c, j, 1);\n --j;\n d = f2;\n e = g;\n }\n }\n f2 = d;\n g = e;\n }\n }\n Qdd(c2);\n }\n function WFc(a, b) {\n var c2, d, e;\n d = Cub(a.d, 1) != 0;\n !Ccb(DD(vNb(b.j, (wtc(), Jsc)))) && !Ccb(DD(vNb(b.j, mtc))) || PD(vNb(b.j, (Nyc(), ywc))) === PD((tAc(), rAc)) ? b.c.Tf(b.e, d) : d = Ccb(DD(vNb(b.j, Jsc)));\n dGc(a, b, d, true);\n Ccb(DD(vNb(b.j, mtc))) && yNb(b.j, mtc, (Bcb(), false));\n if (Ccb(DD(vNb(b.j, Jsc)))) {\n yNb(b.j, Jsc, (Bcb(), false));\n yNb(b.j, mtc, true);\n }\n c2 = OFc(a, b);\n do {\n $Fc(a);\n if (c2 == 0) {\n return 0;\n }\n d = !d;\n e = c2;\n dGc(a, b, d, false);\n c2 = OFc(a, b);\n } while (e > c2);\n return e;\n }\n function XFc(a, b) {\n var c2, d, e;\n d = Cub(a.d, 1) != 0;\n !Ccb(DD(vNb(b.j, (wtc(), Jsc)))) && !Ccb(DD(vNb(b.j, mtc))) || PD(vNb(b.j, (Nyc(), ywc))) === PD((tAc(), rAc)) ? b.c.Tf(b.e, d) : d = Ccb(DD(vNb(b.j, Jsc)));\n dGc(a, b, d, true);\n Ccb(DD(vNb(b.j, mtc))) && yNb(b.j, mtc, (Bcb(), false));\n if (Ccb(DD(vNb(b.j, Jsc)))) {\n yNb(b.j, Jsc, (Bcb(), false));\n yNb(b.j, mtc, true);\n }\n c2 = NFc(a, b);\n do {\n $Fc(a);\n if (c2 == 0) {\n return 0;\n }\n d = !d;\n e = c2;\n dGc(a, b, d, false);\n c2 = NFc(a, b);\n } while (e > c2);\n return e;\n }\n function uNd(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2;\n if (b == c2) {\n return true;\n } else {\n b = vNd(a, b);\n c2 = vNd(a, c2);\n d = JQd(b);\n if (d) {\n k = JQd(c2);\n if (k != d) {\n if (!k) {\n return false;\n } else {\n i3 = d.Dj();\n o2 = k.Dj();\n return i3 == o2 && i3 != null;\n }\n } else {\n g = (!b.d && (b.d = new xMd(j5, b, 1)), b.d);\n f2 = g.i;\n m = (!c2.d && (c2.d = new xMd(j5, c2, 1)), c2.d);\n if (f2 == m.i) {\n for (j = 0; j < f2; ++j) {\n e = BD(qud(g, j), 87);\n l = BD(qud(m, j), 87);\n if (!uNd(a, e, l)) {\n return false;\n }\n }\n }\n return true;\n }\n } else {\n h = b.e;\n n = c2.e;\n return h == n;\n }\n }\n }\n function X2d(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l;\n if (T6d(a.e, b)) {\n l = S6d(a.e.Tg(), b);\n f2 = BD(a.g, 119);\n k = null;\n i3 = -1;\n h = -1;\n e = 0;\n for (j = 0; j < a.i; ++j) {\n g = f2[j];\n if (l.rl(g.ak())) {\n e == c2 && (i3 = j);\n if (e == d) {\n h = j;\n k = g.dd();\n }\n ++e;\n }\n }\n if (i3 == -1) {\n throw vbb(new qcb(lue + c2 + mue + e));\n }\n if (h == -1) {\n throw vbb(new qcb(nue + d + mue + e));\n }\n Wxd(a, i3, h);\n oid(a.e) && GLd(a, H2d(a, 7, b, meb(d), k, c2, true));\n return k;\n } else {\n throw vbb(new Wdb(\"The feature must be many-valued to support move\"));\n }\n }\n function b_b(a, b, c2, d) {\n var e, f2, g, h, i3;\n i3 = new g7c(b.n);\n i3.a += b.o.a / 2;\n i3.b += b.o.b / 2;\n h = Edb(ED(vNb(b, (Nyc(), Uxc))));\n f2 = a.f;\n g = a.d;\n e = a.c;\n switch (BD(vNb(b, (wtc(), Hsc)), 61).g) {\n case 1:\n i3.a += g.b + e.a - c2 / 2;\n i3.b = -d - h;\n b.n.b = -(g.d + h + e.b);\n break;\n case 2:\n i3.a = f2.a + g.b + g.c + h;\n i3.b += g.d + e.b - d / 2;\n b.n.a = f2.a + g.c + h - e.a;\n break;\n case 3:\n i3.a += g.b + e.a - c2 / 2;\n i3.b = f2.b + g.d + g.a + h;\n b.n.b = f2.b + g.a + h - e.b;\n break;\n case 4:\n i3.a = -c2 - h;\n i3.b += g.d + e.b - d / 2;\n b.n.a = -(g.b + h + e.a);\n }\n return i3;\n }\n function P1b(a) {\n var b, c2, d, e, f2, g;\n d = new XZb();\n tNb(d, a);\n PD(vNb(d, (Nyc(), Lwc))) === PD((ead(), cad)) && yNb(d, Lwc, a_b(d));\n if (vNb(d, (g6c(), f6c)) == null) {\n g = BD(m6d(a), 160);\n yNb(d, f6c, RD(g.We(f6c)));\n }\n yNb(d, (wtc(), $sc), a);\n yNb(d, Ksc, (b = BD(gdb(PW), 9), new xqb(b, BD(_Bb(b, b.length), 9), 0)));\n e = OGb((!Xod(a) ? null : (Pgd(), new bhd(Xod(a))), Pgd(), new hhd(!Xod(a) ? null : new bhd(Xod(a)), a)), bad);\n f2 = BD(vNb(d, Kxc), 116);\n c2 = d.d;\n t_b(c2, f2);\n t_b(c2, e);\n return d;\n }\n function ybc(a, b, c2) {\n var d, e;\n d = b.c.i;\n e = c2.d.i;\n if (d.k == (j0b(), g0b)) {\n yNb(a, (wtc(), Vsc), BD(vNb(d, Vsc), 11));\n yNb(a, Wsc, BD(vNb(d, Wsc), 11));\n yNb(a, Usc, DD(vNb(d, Usc)));\n } else if (d.k == f0b) {\n yNb(a, (wtc(), Vsc), BD(vNb(d, Vsc), 11));\n yNb(a, Wsc, BD(vNb(d, Wsc), 11));\n yNb(a, Usc, (Bcb(), true));\n } else if (e.k == f0b) {\n yNb(a, (wtc(), Vsc), BD(vNb(e, Vsc), 11));\n yNb(a, Wsc, BD(vNb(e, Wsc), 11));\n yNb(a, Usc, (Bcb(), true));\n } else {\n yNb(a, (wtc(), Vsc), b.c);\n yNb(a, Wsc, c2.d);\n }\n }\n function FGb(a) {\n var b, c2, d, e, f2, g, h;\n a.o = new jkb();\n d = new Psb();\n for (g = new olb(a.e.a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 121);\n LFb(f2).c.length == 1 && (Gsb(d, f2, d.c.b, d.c), true);\n }\n while (d.b != 0) {\n f2 = BD(d.b == 0 ? null : (sCb(d.b != 0), Nsb(d, d.a.a)), 121);\n if (LFb(f2).c.length == 0) {\n continue;\n }\n b = BD(Ikb(LFb(f2), 0), 213);\n c2 = f2.g.a.c.length > 0;\n h = xFb(b, f2);\n c2 ? OFb(h.b, b) : OFb(h.g, b);\n LFb(h).c.length == 1 && (Gsb(d, h, d.c.b, d.c), true);\n e = new vgd(f2, b);\n Wjb(a.o, e);\n Lkb(a.e.a, f2);\n }\n }\n function _Nb(a, b) {\n var c2, d, e, f2, g, h, i3;\n d = $wnd.Math.abs(D6c(a.b).a - D6c(b.b).a);\n h = $wnd.Math.abs(D6c(a.b).b - D6c(b.b).b);\n e = 0;\n i3 = 0;\n c2 = 1;\n g = 1;\n if (d > a.b.b / 2 + b.b.b / 2) {\n e = $wnd.Math.min($wnd.Math.abs(a.b.c - (b.b.c + b.b.b)), $wnd.Math.abs(a.b.c + a.b.b - b.b.c));\n c2 = 1 - e / d;\n }\n if (h > a.b.a / 2 + b.b.a / 2) {\n i3 = $wnd.Math.min($wnd.Math.abs(a.b.d - (b.b.d + b.b.a)), $wnd.Math.abs(a.b.d + a.b.a - b.b.d));\n g = 1 - i3 / h;\n }\n f2 = $wnd.Math.min(c2, g);\n return (1 - f2) * $wnd.Math.sqrt(d * d + h * h);\n }\n function lQc(a) {\n var b, c2, d, e;\n nQc(a, a.e, a.f, (FQc(), DQc), true, a.c, a.i);\n nQc(a, a.e, a.f, DQc, false, a.c, a.i);\n nQc(a, a.e, a.f, EQc, true, a.c, a.i);\n nQc(a, a.e, a.f, EQc, false, a.c, a.i);\n mQc(a, a.c, a.e, a.f, a.i);\n d = new Bib(a.i, 0);\n while (d.b < d.d.gc()) {\n b = (sCb(d.b < d.d.gc()), BD(d.d.Xb(d.c = d.b++), 128));\n e = new Bib(a.i, d.b);\n while (e.b < e.d.gc()) {\n c2 = (sCb(e.b < e.d.gc()), BD(e.d.Xb(e.c = e.b++), 128));\n kQc(b, c2);\n }\n }\n wQc(a.i, BD(vNb(a.d, (wtc(), jtc)), 230));\n zQc(a.i);\n }\n function fKd(a, b) {\n var c2, d;\n if (b != null) {\n d = dKd(a);\n if (d) {\n if ((d.i & 1) != 0) {\n if (d == sbb) {\n return KD(b);\n } else if (d == WD) {\n return JD(b, 19);\n } else if (d == VD) {\n return JD(b, 155);\n } else if (d == SD) {\n return JD(b, 217);\n } else if (d == TD) {\n return JD(b, 172);\n } else if (d == UD) {\n return LD(b);\n } else if (d == rbb) {\n return JD(b, 184);\n } else if (d == XD) {\n return JD(b, 162);\n }\n } else {\n return pEd(), c2 = BD(Ohb(oEd, d), 55), !c2 || c2.wj(b);\n }\n } else if (JD(b, 56)) {\n return a.uk(BD(b, 56));\n }\n }\n return false;\n }\n function ade() {\n ade = ccb;\n var a, b, c2, d, e, f2, g, h, i3;\n $ce = KC(SD, wte, 25, 255, 15, 1);\n _ce = KC(TD, $ie, 25, 64, 15, 1);\n for (b = 0; b < 255; b++) {\n $ce[b] = -1;\n }\n for (c2 = 90; c2 >= 65; c2--) {\n $ce[c2] = c2 - 65 << 24 >> 24;\n }\n for (d = 122; d >= 97; d--) {\n $ce[d] = d - 97 + 26 << 24 >> 24;\n }\n for (e = 57; e >= 48; e--) {\n $ce[e] = e - 48 + 52 << 24 >> 24;\n }\n $ce[43] = 62;\n $ce[47] = 63;\n for (f2 = 0; f2 <= 25; f2++)\n _ce[f2] = 65 + f2 & aje;\n for (g = 26, i3 = 0; g <= 51; ++g, i3++)\n _ce[g] = 97 + i3 & aje;\n for (a = 52, h = 0; a <= 61; ++a, h++)\n _ce[a] = 48 + h & aje;\n _ce[62] = 43;\n _ce[63] = 47;\n }\n function FXb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n;\n if (a.dc()) {\n return new d7c();\n }\n j = 0;\n l = 0;\n for (e = a.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 37);\n f2 = d.f;\n j = $wnd.Math.max(j, f2.a);\n l += f2.a * f2.b;\n }\n j = $wnd.Math.max(j, $wnd.Math.sqrt(l) * Edb(ED(vNb(BD(a.Kc().Pb(), 37), (Nyc(), owc)))));\n m = 0;\n n = 0;\n i3 = 0;\n c2 = b;\n for (h = a.Kc(); h.Ob(); ) {\n g = BD(h.Pb(), 37);\n k = g.f;\n if (m + k.a > j) {\n m = 0;\n n += i3 + b;\n i3 = 0;\n }\n uXb(g, m, n);\n c2 = $wnd.Math.max(c2, m + k.a);\n i3 = $wnd.Math.max(i3, k.b);\n m += k.a + b;\n }\n return new f7c(c2 + b, n + i3 + b);\n }\n function mQc(a, b, c2, d, e) {\n var f2, g, h, i3, j, k, l;\n for (g = new olb(b); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 17);\n i3 = f2.c;\n if (c2.a._b(i3)) {\n j = (FQc(), DQc);\n } else if (d.a._b(i3)) {\n j = (FQc(), EQc);\n } else {\n throw vbb(new Wdb(\"Source port must be in one of the port sets.\"));\n }\n k = f2.d;\n if (c2.a._b(k)) {\n l = (FQc(), DQc);\n } else if (d.a._b(k)) {\n l = (FQc(), EQc);\n } else {\n throw vbb(new Wdb(\"Target port must be in one of the port sets.\"));\n }\n h = new YQc(f2, j, l);\n Rhb(a.b, f2, h);\n e.c[e.c.length] = h;\n }\n }\n function lfd(a, b) {\n var c2, d, e, f2, g, h, i3;\n if (!mpd(a)) {\n throw vbb(new Zdb(Sse));\n }\n d = mpd(a);\n f2 = d.g;\n e = d.f;\n if (f2 <= 0 && e <= 0) {\n return Ucd(), Scd;\n }\n h = a.i;\n i3 = a.j;\n switch (b.g) {\n case 2:\n case 1:\n if (h < 0) {\n return Ucd(), Tcd;\n } else if (h + a.g > f2) {\n return Ucd(), zcd;\n }\n break;\n case 4:\n case 3:\n if (i3 < 0) {\n return Ucd(), Acd;\n } else if (i3 + a.f > e) {\n return Ucd(), Rcd;\n }\n }\n g = (h + a.g / 2) / f2;\n c2 = (i3 + a.f / 2) / e;\n return g + c2 <= 1 && g - c2 <= 0 ? (Ucd(), Tcd) : g + c2 >= 1 && g - c2 >= 0 ? (Ucd(), zcd) : c2 < 0.5 ? (Ucd(), Acd) : (Ucd(), Rcd);\n }\n function vhb(a, b, c2, d, e) {\n var f2, g;\n f2 = wbb(xbb(b[0], Yje), xbb(d[0], Yje));\n a[0] = Tbb(f2);\n f2 = Obb(f2, 32);\n if (c2 >= e) {\n for (g = 1; g < e; g++) {\n f2 = wbb(f2, wbb(xbb(b[g], Yje), xbb(d[g], Yje)));\n a[g] = Tbb(f2);\n f2 = Obb(f2, 32);\n }\n for (; g < c2; g++) {\n f2 = wbb(f2, xbb(b[g], Yje));\n a[g] = Tbb(f2);\n f2 = Obb(f2, 32);\n }\n } else {\n for (g = 1; g < c2; g++) {\n f2 = wbb(f2, wbb(xbb(b[g], Yje), xbb(d[g], Yje)));\n a[g] = Tbb(f2);\n f2 = Obb(f2, 32);\n }\n for (; g < e; g++) {\n f2 = wbb(f2, xbb(d[g], Yje));\n a[g] = Tbb(f2);\n f2 = Obb(f2, 32);\n }\n }\n ybb(f2, 0) != 0 && (a[g] = Tbb(f2));\n }\n function _fe(a) {\n wfe();\n var b, c2, d, e, f2, g;\n if (a.e != 4 && a.e != 5)\n throw vbb(new Wdb(\"Token#complementRanges(): must be RANGE: \" + a.e));\n f2 = a;\n Yfe(f2);\n Vfe(f2);\n d = f2.b.length + 2;\n f2.b[0] == 0 && (d -= 2);\n c2 = f2.b[f2.b.length - 1];\n c2 == lxe && (d -= 2);\n e = new $fe(4);\n e.b = KC(WD, oje, 25, d, 15, 1);\n g = 0;\n if (f2.b[0] > 0) {\n e.b[g++] = 0;\n e.b[g++] = f2.b[0] - 1;\n }\n for (b = 1; b < f2.b.length - 2; b += 2) {\n e.b[g++] = f2.b[b] + 1;\n e.b[g++] = f2.b[b + 1] - 1;\n }\n if (c2 != lxe) {\n e.b[g++] = c2 + 1;\n e.b[g] = lxe;\n }\n e.a = true;\n return e;\n }\n function Pxd(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n d = c2.gc();\n if (d == 0) {\n return false;\n } else {\n if (a.ej()) {\n j = a.fj();\n iud(a, b, c2);\n g = d == 1 ? a.Zi(3, null, c2.Kc().Pb(), b, j) : a.Zi(5, null, c2, b, j);\n if (a.bj()) {\n h = d < 100 ? null : new Ixd(d);\n f2 = b + d;\n for (e = b; e < f2; ++e) {\n k = a.g[e];\n h = a.cj(k, h);\n h = a.jj(k, h);\n }\n if (!h) {\n a.$i(g);\n } else {\n h.Ei(g);\n h.Fi();\n }\n } else {\n a.$i(g);\n }\n } else {\n iud(a, b, c2);\n if (a.bj()) {\n h = d < 100 ? null : new Ixd(d);\n f2 = b + d;\n for (e = b; e < f2; ++e) {\n i3 = a.g[e];\n h = a.cj(i3, h);\n }\n !!h && h.Fi();\n }\n }\n return true;\n }\n }\n function YNc(a, b, c2, d) {\n var e, f2, g, h, i3;\n for (g = new olb(a.k); g.a < g.c.c.length; ) {\n e = BD(mlb(g), 129);\n if (!d || e.c == (HOc(), FOc)) {\n i3 = e.b;\n if (i3.g < 0 && e.d > 0) {\n pOc(i3, i3.d - e.d);\n e.c == (HOc(), FOc) && nOc(i3, i3.a - e.d);\n i3.d <= 0 && i3.i > 0 && (Gsb(b, i3, b.c.b, b.c), true);\n }\n }\n }\n for (f2 = new olb(a.f); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 129);\n if (!d || e.c == (HOc(), FOc)) {\n h = e.a;\n if (h.g < 0 && e.d > 0) {\n qOc(h, h.i - e.d);\n e.c == (HOc(), FOc) && oOc(h, h.b - e.d);\n h.i <= 0 && h.d > 0 && (Gsb(c2, h, c2.c.b, c2.c), true);\n }\n }\n }\n }\n function gSc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n Odd(c2, \"Processor compute fanout\", 1);\n Uhb(a.b);\n Uhb(a.a);\n h = null;\n f2 = Jsb(b.b, 0);\n while (!h && f2.b != f2.d.c) {\n j = BD(Xsb(f2), 86);\n Ccb(DD(vNb(j, (mTc(), jTc)))) && (h = j);\n }\n i3 = new Psb();\n Gsb(i3, h, i3.c.b, i3.c);\n fSc(a, i3);\n for (k = Jsb(b.b, 0); k.b != k.d.c; ) {\n j = BD(Xsb(k), 86);\n g = GD(vNb(j, (mTc(), $Sc)));\n e = Phb(a.b, g) != null ? BD(Phb(a.b, g), 19).a : 0;\n yNb(j, ZSc, meb(e));\n d = 1 + (Phb(a.a, g) != null ? BD(Phb(a.a, g), 19).a : 0);\n yNb(j, XSc, meb(d));\n }\n Qdd(c2);\n }\n function WPc(a, b, c2, d, e) {\n var f2, g, h, i3, j, k, l, m, n, o2;\n m = VPc(a, c2);\n for (i3 = 0; i3 < b; i3++) {\n Aib(e, c2);\n n = new Rkb();\n o2 = (sCb(d.b < d.d.gc()), BD(d.d.Xb(d.c = d.b++), 407));\n for (k = m + i3; k < a.b; k++) {\n h = o2;\n o2 = (sCb(d.b < d.d.gc()), BD(d.d.Xb(d.c = d.b++), 407));\n Ekb(n, new aQc(h, o2, c2));\n }\n for (l = m + i3; l < a.b; l++) {\n sCb(d.b > 0);\n d.a.Xb(d.c = --d.b);\n l > m + i3 && uib(d);\n }\n for (g = new olb(n); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 407);\n Aib(d, f2);\n }\n if (i3 < b - 1) {\n for (j = m + i3; j < a.b; j++) {\n sCb(d.b > 0);\n d.a.Xb(d.c = --d.b);\n }\n }\n }\n }\n function Jfe() {\n wfe();\n var a, b, c2, d, e, f2;\n if (gfe)\n return gfe;\n a = new $fe(4);\n Xfe(a, Kfe(vxe, true));\n Zfe(a, Kfe(\"M\", true));\n Zfe(a, Kfe(\"C\", true));\n f2 = new $fe(4);\n for (d = 0; d < 11; d++) {\n Ufe(f2, d, d);\n }\n b = new $fe(4);\n Xfe(b, Kfe(\"M\", true));\n Ufe(b, 4448, 4607);\n Ufe(b, 65438, 65439);\n e = new Lge(2);\n Kge(e, a);\n Kge(e, ffe);\n c2 = new Lge(2);\n c2.$l(Bfe(f2, Kfe(\"L\", true)));\n c2.$l(b);\n c2 = new lge(3, c2);\n c2 = new rge(e, c2);\n gfe = c2;\n return gfe;\n }\n function S3c(a) {\n var b, c2;\n b = GD(hkd(a, (Y9c(), o8c)));\n if (T3c(b, a)) {\n return;\n }\n if (!ikd(a, F9c) && ((!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a).i != 0 || Ccb(DD(hkd(a, M8c))))) {\n if (b == null || ufb(b).length == 0) {\n if (!T3c(sne, a)) {\n c2 = Qfb(Qfb(new Wfb(\"Unable to load default layout algorithm \"), sne), \" for unconfigured node \");\n yfd(a, c2);\n throw vbb(new y2c(c2.a));\n }\n } else {\n c2 = Qfb(Qfb(new Wfb(\"Layout algorithm '\"), b), \"' not found for \");\n yfd(a, c2);\n throw vbb(new y2c(c2.a));\n }\n }\n }\n function hIb(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n;\n c2 = a.i;\n b = a.n;\n if (a.b == 0) {\n n = c2.c + b.b;\n m = c2.b - b.b - b.c;\n for (g = a.a, i3 = 0, k = g.length; i3 < k; ++i3) {\n e = g[i3];\n mHb(e, n, m);\n }\n } else {\n d = kIb(a, false);\n mHb(a.a[0], c2.c + b.b, d[0]);\n mHb(a.a[2], c2.c + c2.b - b.c - d[2], d[2]);\n l = c2.b - b.b - b.c;\n if (d[0] > 0) {\n l -= d[0] + a.c;\n d[0] += a.c;\n }\n d[2] > 0 && (l -= d[2] + a.c);\n d[1] = $wnd.Math.max(d[1], l);\n mHb(a.a[1], c2.c + b.b + d[0] - (d[1] - l) / 2, d[1]);\n }\n for (f2 = a.a, h = 0, j = f2.length; h < j; ++h) {\n e = f2[h];\n JD(e, 326) && BD(e, 326).Te();\n }\n }\n function KMc(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l;\n l = new JMc();\n l.d = 0;\n for (g = new olb(a.b); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 29);\n l.d += f2.a.c.length;\n }\n d = 0;\n e = 0;\n l.a = KC(WD, oje, 25, a.b.c.length, 15, 1);\n j = 0;\n k = 0;\n l.e = KC(WD, oje, 25, l.d, 15, 1);\n for (c2 = new olb(a.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 29);\n b.p = d++;\n l.a[b.p] = e++;\n k = 0;\n for (i3 = new olb(b.a); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 10);\n h.p = j++;\n l.e[h.p] = k++;\n }\n }\n l.c = new OMc(l);\n l.b = Pu(l.d);\n LMc(l, a);\n l.f = Pu(l.d);\n MMc(l, a);\n return l;\n }\n function GZc(a, b) {\n var c2, d, e, f2;\n f2 = BD(Ikb(a.n, a.n.c.length - 1), 211).d;\n a.p = $wnd.Math.min(a.p, b.g);\n a.r = $wnd.Math.max(a.r, f2);\n a.g = $wnd.Math.max(a.g, b.g + (a.b.c.length == 1 ? 0 : a.i));\n a.o = $wnd.Math.min(a.o, b.f);\n a.e += b.f + (a.b.c.length == 1 ? 0 : a.i);\n a.f = $wnd.Math.max(a.f, b.f);\n e = a.n.c.length > 0 ? (a.n.c.length - 1) * a.i : 0;\n for (d = new olb(a.n); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 211);\n e += c2.a;\n }\n a.d = e;\n a.a = a.e / a.b.c.length - a.i * ((a.b.c.length - 1) / a.b.c.length);\n u$c(a.j);\n }\n function LQb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l;\n k = DD(vNb(b, (wSb(), sSb)));\n if (k == null || (uCb(k), k)) {\n l = KC(sbb, dle, 25, b.e.c.length, 16, 1);\n g = HQb(b);\n e = new Psb();\n for (j = new olb(b.e); j.a < j.c.c.length; ) {\n h = BD(mlb(j), 144);\n c2 = IQb(a, h, null, null, l, g);\n if (c2) {\n tNb(c2, b);\n Gsb(e, c2, e.c.b, e.c);\n }\n }\n if (e.b > 1) {\n for (d = Jsb(e, 0); d.b != d.d.c; ) {\n c2 = BD(Xsb(d), 231);\n f2 = 0;\n for (i3 = new olb(c2.e); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 144);\n h.b = f2++;\n }\n }\n }\n return e;\n }\n return Ou(OC(GC($O, 1), fme, 231, 0, [b]));\n }\n function TKd(a) {\n var b, c2, d, e, f2, g, h;\n if (!a.g) {\n h = new zNd();\n b = KKd;\n g = b.a.zc(a, b);\n if (g == null) {\n for (d = new Fyd(_Kd(a)); d.e != d.i.gc(); ) {\n c2 = BD(Dyd(d), 26);\n ytd(h, TKd(c2));\n }\n b.a.Bc(a) != null;\n b.a.gc() == 0 && void 0;\n }\n e = h.i;\n for (f2 = (!a.s && (a.s = new cUd(t5, a, 21, 17)), new Fyd(a.s)); f2.e != f2.i.gc(); ++e) {\n bJd(BD(Dyd(f2), 449), e);\n }\n ytd(h, (!a.s && (a.s = new cUd(t5, a, 21, 17)), a.s));\n vud(h);\n a.g = new rNd(a, h);\n a.i = BD(h.g, 247);\n a.i == null && (a.i = MKd);\n a.p = null;\n $Kd(a).b &= -5;\n }\n return a.g;\n }\n function iIb(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2;\n d = a.i;\n c2 = a.n;\n if (a.b == 0) {\n b = jIb(a, false);\n nHb(a.a[0], d.d + c2.d, b[0]);\n nHb(a.a[2], d.d + d.a - c2.a - b[2], b[2]);\n m = d.a - c2.d - c2.a;\n l = m;\n if (b[0] > 0) {\n b[0] += a.c;\n l -= b[0];\n }\n b[2] > 0 && (l -= b[2] + a.c);\n b[1] = $wnd.Math.max(b[1], l);\n nHb(a.a[1], d.d + c2.d + b[0] - (b[1] - l) / 2, b[1]);\n } else {\n o2 = d.d + c2.d;\n n = d.a - c2.d - c2.a;\n for (g = a.a, i3 = 0, k = g.length; i3 < k; ++i3) {\n e = g[i3];\n nHb(e, o2, n);\n }\n }\n for (f2 = a.a, h = 0, j = f2.length; h < j; ++h) {\n e = f2[h];\n JD(e, 326) && BD(e, 326).Ue();\n }\n }\n function boc(a) {\n var b, c2, d, e, f2, g, h, i3, j, k;\n k = KC(WD, oje, 25, a.b.c.length + 1, 15, 1);\n j = new Tqb();\n d = 0;\n for (f2 = new olb(a.b); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 29);\n k[d++] = j.a.gc();\n for (i3 = new olb(e.a); i3.a < i3.c.c.length; ) {\n g = BD(mlb(i3), 10);\n for (c2 = new Sr(ur(U_b(g).a.Kc(), new Sq())); Qr(c2); ) {\n b = BD(Rr(c2), 17);\n j.a.zc(b, j);\n }\n }\n for (h = new olb(e.a); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 10);\n for (c2 = new Sr(ur(R_b(g).a.Kc(), new Sq())); Qr(c2); ) {\n b = BD(Rr(c2), 17);\n j.a.Bc(b) != null;\n }\n }\n }\n return k;\n }\n function F2d(a, b, c2, d) {\n var e, f2, g, h, i3;\n i3 = S6d(a.e.Tg(), b);\n e = BD(a.g, 119);\n Q6d();\n if (BD(b, 66).Oj()) {\n for (g = 0; g < a.i; ++g) {\n f2 = e[g];\n if (i3.rl(f2.ak()) && pb(f2, c2)) {\n return true;\n }\n }\n } else if (c2 != null) {\n for (h = 0; h < a.i; ++h) {\n f2 = e[h];\n if (i3.rl(f2.ak()) && pb(c2, f2.dd())) {\n return true;\n }\n }\n if (d) {\n for (g = 0; g < a.i; ++g) {\n f2 = e[g];\n if (i3.rl(f2.ak()) && PD(c2) === PD(a3d(a, BD(f2.dd(), 56)))) {\n return true;\n }\n }\n }\n } else {\n for (g = 0; g < a.i; ++g) {\n f2 = e[g];\n if (i3.rl(f2.ak()) && f2.dd() == null) {\n return false;\n }\n }\n }\n return false;\n }\n function e3d(a, b, c2, d) {\n var e, f2, g, h, i3, j;\n j = S6d(a.e.Tg(), b);\n g = BD(a.g, 119);\n if (T6d(a.e, b)) {\n if (b.hi()) {\n f2 = M2d(a, b, d, JD(b, 99) && (BD(b, 18).Bb & Tje) != 0);\n if (f2 >= 0 && f2 != c2) {\n throw vbb(new Wdb(kue));\n }\n }\n e = 0;\n for (i3 = 0; i3 < a.i; ++i3) {\n h = g[i3];\n if (j.rl(h.ak())) {\n if (e == c2) {\n return BD(Gtd(a, i3, (Q6d(), BD(b, 66).Oj() ? BD(d, 72) : R6d(b, d))), 72);\n }\n ++e;\n }\n }\n throw vbb(new qcb(gve + c2 + mue + e));\n } else {\n for (i3 = 0; i3 < a.i; ++i3) {\n h = g[i3];\n if (j.rl(h.ak())) {\n return Q6d(), BD(b, 66).Oj() ? h : h.dd();\n }\n }\n return null;\n }\n }\n function ONb(a, b, c2, d) {\n var e, f2, g, h;\n h = c2;\n for (g = new olb(b.a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 221);\n e = BD(f2.b, 65);\n if (Jy(a.b.c, e.b.c + e.b.b) <= 0 && Jy(e.b.c, a.b.c + a.b.b) <= 0 && Jy(a.b.d, e.b.d + e.b.a) <= 0 && Jy(e.b.d, a.b.d + a.b.a) <= 0) {\n if (Jy(e.b.c, a.b.c + a.b.b) == 0 && d.a < 0 || Jy(e.b.c + e.b.b, a.b.c) == 0 && d.a > 0 || Jy(e.b.d, a.b.d + a.b.a) == 0 && d.b < 0 || Jy(e.b.d + e.b.a, a.b.d) == 0 && d.b > 0) {\n h = 0;\n break;\n }\n } else {\n h = $wnd.Math.min(h, YNb(a, e, d));\n }\n h = $wnd.Math.min(h, ONb(a, f2, h, d));\n }\n return h;\n }\n function ifd(a, b) {\n var c2, d, e, f2, g, h, i3;\n if (a.b < 2) {\n throw vbb(new Wdb(\"The vector chain must contain at least a source and a target point.\"));\n }\n e = (sCb(a.b != 0), BD(a.a.a.c, 8));\n nmd(b, e.a, e.b);\n i3 = new Oyd((!b.a && (b.a = new xMd(y2, b, 5)), b.a));\n g = Jsb(a, 1);\n while (g.a < a.b - 1) {\n h = BD(Xsb(g), 8);\n if (i3.e != i3.i.gc()) {\n c2 = BD(Dyd(i3), 469);\n } else {\n c2 = (Fhd(), d = new xkd(), d);\n Myd(i3, c2);\n }\n ukd(c2, h.a, h.b);\n }\n while (i3.e != i3.i.gc()) {\n Dyd(i3);\n Eyd(i3);\n }\n f2 = (sCb(a.b != 0), BD(a.c.b.c, 8));\n gmd(b, f2.a, f2.b);\n }\n function $lc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n c2 = 0;\n for (e = new olb((tCb(0, a.c.length), BD(a.c[0], 101)).g.b.j); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 11);\n d.p = c2++;\n }\n b == (Ucd(), Acd) ? Okb(a, new gmc()) : Okb(a, new kmc());\n h = 0;\n k = a.c.length - 1;\n while (h < k) {\n g = (tCb(h, a.c.length), BD(a.c[h], 101));\n j = (tCb(k, a.c.length), BD(a.c[k], 101));\n f2 = b == Acd ? g.c : g.a;\n i3 = b == Acd ? j.a : j.c;\n amc(g, b, (Ajc(), yjc), f2);\n amc(j, b, xjc, i3);\n ++h;\n --k;\n }\n h == k && amc((tCb(h, a.c.length), BD(a.c[h], 101)), b, (Ajc(), wjc), null);\n }\n function UVc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r;\n l = a.a.i + a.a.g / 2;\n m = a.a.i + a.a.g / 2;\n o2 = b.i + b.g / 2;\n q = b.j + b.f / 2;\n h = new f7c(o2, q);\n j = BD(hkd(b, (Y9c(), C9c)), 8);\n j.a = j.a + l;\n j.b = j.b + m;\n f2 = (h.b - j.b) / (h.a - j.a);\n d = h.b - f2 * h.a;\n p = c2.i + c2.g / 2;\n r = c2.j + c2.f / 2;\n i3 = new f7c(p, r);\n k = BD(hkd(c2, C9c), 8);\n k.a = k.a + l;\n k.b = k.b + m;\n g = (i3.b - k.b) / (i3.a - k.a);\n e = i3.b - g * i3.a;\n n = (d - e) / (g - f2);\n if (j.a < n && h.a < n || n < j.a && n < h.a) {\n return false;\n } else if (k.a < n && i3.a < n || n < k.a && n < i3.a) {\n return false;\n }\n return true;\n }\n function gqd(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n;\n m = BD(Ohb(a.c, b), 183);\n if (!m) {\n throw vbb(new cqd(\"Edge did not exist in input.\"));\n }\n j = Wpd(m);\n f2 = Fhe((!b.a && (b.a = new cUd(A2, b, 6, 6)), b.a));\n h = !f2;\n if (h) {\n n = new wB();\n c2 = new Rrd(a, j, n);\n Dhe((!b.a && (b.a = new cUd(A2, b, 6, 6)), b.a), c2);\n cC(m, Nte, n);\n }\n e = ikd(b, (Y9c(), Q8c));\n if (e) {\n k = BD(hkd(b, Q8c), 74);\n g = !k || Ehe(k);\n i3 = !g;\n if (i3) {\n l = new wB();\n d = new Zrd(l);\n reb(k, d);\n cC(m, \"junctionPoints\", l);\n }\n }\n Upd(m, \"container\", Mld(b).k);\n return null;\n }\n function eDb(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n this.a = a;\n this.b = b;\n this.c = c2;\n this.e = Ou(OC(GC(GM, 1), Uhe, 168, 0, [new aDb(a, b), new aDb(b, c2), new aDb(c2, a)]));\n this.f = Ou(OC(GC(m1, 1), nie, 8, 0, [a, b, c2]));\n this.d = (d = c7c(R6c(this.b), this.a), e = c7c(R6c(this.c), this.a), f2 = c7c(R6c(this.c), this.b), g = d.a * (this.a.a + this.b.a) + d.b * (this.a.b + this.b.b), h = e.a * (this.a.a + this.c.a) + e.b * (this.a.b + this.c.b), i3 = 2 * (d.a * f2.b - d.b * f2.a), j = (e.b * g - d.b * h) / i3, k = (d.a * h - e.a * g) / i3, new f7c(j, k));\n }\n function nvd(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n, o2;\n m = new yC(a.p);\n cC(b, fue, m);\n if (c2 && !(!a.f ? null : vmb(a.f)).a.dc()) {\n k = new wB();\n cC(b, \"logs\", k);\n h = 0;\n for (o2 = new Dnb((!a.f ? null : vmb(a.f)).b.Kc()); o2.b.Ob(); ) {\n n = GD(o2.b.Pb());\n l = new yC(n);\n tB(k, h);\n vB(k, h, l);\n ++h;\n }\n }\n if (d) {\n j = new TB(a.q);\n cC(b, \"executionTime\", j);\n }\n if (!vmb(a.a).a.dc()) {\n g = new wB();\n cC(b, Jte, g);\n h = 0;\n for (f2 = new Dnb(vmb(a.a).b.Kc()); f2.b.Ob(); ) {\n e = BD(f2.b.Pb(), 1949);\n i3 = new eC();\n tB(g, h);\n vB(g, h, i3);\n nvd(e, i3, c2, d);\n ++h;\n }\n }\n }\n function PZb(a, b) {\n var c2, d, e, f2, g, h;\n f2 = a.c;\n g = a.d;\n QZb(a, null);\n RZb(a, null);\n b && Ccb(DD(vNb(g, (wtc(), Msc)))) ? QZb(a, i_b(g.i, (KAc(), IAc), (Ucd(), zcd))) : QZb(a, g);\n b && Ccb(DD(vNb(f2, (wtc(), etc)))) ? RZb(a, i_b(f2.i, (KAc(), HAc), (Ucd(), Tcd))) : RZb(a, f2);\n for (d = new olb(a.b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 70);\n e = BD(vNb(c2, (Nyc(), Qwc)), 272);\n e == (qad(), pad2) ? yNb(c2, Qwc, oad) : e == oad && yNb(c2, Qwc, pad2);\n }\n h = Ccb(DD(vNb(a, (wtc(), ltc))));\n yNb(a, ltc, (Bcb(), h ? false : true));\n a.a = w7c(a.a);\n }\n function VQb(a, b, c2) {\n var d, e, f2, g, h, i3;\n d = 0;\n for (f2 = new Fyd((!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a)); f2.e != f2.i.gc(); ) {\n e = BD(Dyd(f2), 33);\n g = \"\";\n (!e.n && (e.n = new cUd(D2, e, 1, 7)), e.n).i == 0 || (g = BD(qud((!e.n && (e.n = new cUd(D2, e, 1, 7)), e.n), 0), 137).a);\n h = new pRb(g);\n tNb(h, e);\n yNb(h, (HSb(), FSb), e);\n h.b = d++;\n h.d.a = e.i + e.g / 2;\n h.d.b = e.j + e.f / 2;\n h.e.a = $wnd.Math.max(e.g, 1);\n h.e.b = $wnd.Math.max(e.f, 1);\n Ekb(b.e, h);\n jrb(c2.f, e, h);\n i3 = BD(hkd(e, (wSb(), mSb)), 98);\n i3 == (dcd(), ccd) && (i3 = bcd);\n }\n }\n function XJc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q;\n c2 = nGb(new pGb(), a.f);\n j = a.i[b.c.i.p];\n n = a.i[b.d.i.p];\n i3 = b.c;\n m = b.d;\n h = i3.a.b;\n l = m.a.b;\n j.b || (h += i3.n.b);\n n.b || (l += m.n.b);\n k = QD($wnd.Math.max(0, h - l));\n g = QD($wnd.Math.max(0, l - h));\n o2 = (p = $wnd.Math.max(1, BD(vNb(b, (Nyc(), eyc)), 19).a), q = JJc(b.c.i.k, b.d.i.k), p * q);\n e = AFb(DFb(CFb(BFb(EFb(new FFb(), o2), g), c2), BD(Ohb(a.k, b.c), 121)));\n f2 = AFb(DFb(CFb(BFb(EFb(new FFb(), o2), k), c2), BD(Ohb(a.k, b.d), 121)));\n d = new qKc(e, f2);\n a.c[b.p] = d;\n }\n function NEc(a, b, c2, d) {\n var e, f2, g, h, i3, j;\n g = new _Ec(a, b, c2);\n i3 = new Bib(d, 0);\n e = false;\n while (i3.b < i3.d.gc()) {\n h = (sCb(i3.b < i3.d.gc()), BD(i3.d.Xb(i3.c = i3.b++), 233));\n if (h == b || h == c2) {\n uib(i3);\n } else if (!e && Edb(REc(h.g, h.d[0]).a) > Edb(REc(g.g, g.d[0]).a)) {\n sCb(i3.b > 0);\n i3.a.Xb(i3.c = --i3.b);\n Aib(i3, g);\n e = true;\n } else if (!!h.e && h.e.gc() > 0) {\n f2 = (!h.e && (h.e = new Rkb()), h.e).Mc(b);\n j = (!h.e && (h.e = new Rkb()), h.e).Mc(c2);\n if (f2 || j) {\n (!h.e && (h.e = new Rkb()), h.e).Fc(g);\n ++g.c;\n }\n }\n }\n e || (d.c[d.c.length] = g, true);\n }\n function odc(a) {\n var b, c2, d;\n if (fcd(BD(vNb(a, (Nyc(), Vxc)), 98))) {\n for (c2 = new olb(a.j); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 11);\n b.j == (Ucd(), Scd) && (d = BD(vNb(b, (wtc(), gtc)), 10), d ? G0b(b, BD(vNb(d, Hsc), 61)) : b.e.c.length - b.g.c.length < 0 ? G0b(b, zcd) : G0b(b, Tcd));\n }\n } else {\n for (c2 = new olb(a.j); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 11);\n d = BD(vNb(b, (wtc(), gtc)), 10);\n d ? G0b(b, BD(vNb(d, Hsc), 61)) : b.e.c.length - b.g.c.length < 0 ? G0b(b, (Ucd(), zcd)) : G0b(b, (Ucd(), Tcd));\n }\n yNb(a, Vxc, (dcd(), acd));\n }\n }\n function age(a) {\n var b, c2, d;\n switch (a) {\n case 91:\n case 93:\n case 45:\n case 94:\n case 44:\n case 92:\n d = \"\\\\\" + String.fromCharCode(a & aje);\n break;\n case 12:\n d = \"\\\\f\";\n break;\n case 10:\n d = \"\\\\n\";\n break;\n case 13:\n d = \"\\\\r\";\n break;\n case 9:\n d = \"\\\\t\";\n break;\n case 27:\n d = \"\\\\e\";\n break;\n default:\n if (a < 32) {\n c2 = (b = a >>> 0, \"0\" + b.toString(16));\n d = \"\\\\x\" + qfb(c2, c2.length - 2, c2.length);\n } else if (a >= Tje) {\n c2 = (b = a >>> 0, \"0\" + b.toString(16));\n d = \"\\\\v\" + qfb(c2, c2.length - 6, c2.length);\n } else\n d = \"\" + String.fromCharCode(a & aje);\n }\n return d;\n }\n function yhb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l;\n g = a.e;\n i3 = b.e;\n if (i3 == 0) {\n return a;\n }\n if (g == 0) {\n return b.e == 0 ? b : new Vgb(-b.e, b.d, b.a);\n }\n f2 = a.d;\n h = b.d;\n if (f2 + h == 2) {\n c2 = xbb(a.a[0], Yje);\n d = xbb(b.a[0], Yje);\n g < 0 && (c2 = Jbb(c2));\n i3 < 0 && (d = Jbb(d));\n return ghb(Qbb(c2, d));\n }\n e = f2 != h ? f2 > h ? 1 : -1 : whb(a.a, b.a, f2);\n if (e == -1) {\n l = -i3;\n k = g == i3 ? zhb(b.a, h, a.a, f2) : uhb(b.a, h, a.a, f2);\n } else {\n l = g;\n if (g == i3) {\n if (e == 0) {\n return Hgb(), Ggb;\n }\n k = zhb(a.a, f2, b.a, h);\n } else {\n k = uhb(a.a, f2, b.a, h);\n }\n }\n j = new Vgb(l, k.length, k);\n Jgb(j);\n return j;\n }\n function YPc(a) {\n var b, c2, d, e, f2, g;\n this.e = new Rkb();\n this.a = new Rkb();\n for (c2 = a.b - 1; c2 < 3; c2++) {\n St(a, 0, BD(Ut(a, 0), 8));\n }\n if (a.b < 4) {\n throw vbb(new Wdb(\"At (least dimension + 1) control points are necessary!\"));\n } else {\n this.b = 3;\n this.d = true;\n this.c = false;\n TPc(this, a.b + this.b - 1);\n g = new Rkb();\n f2 = new olb(this.e);\n for (b = 0; b < this.b - 1; b++) {\n Ekb(g, ED(mlb(f2)));\n }\n for (e = Jsb(a, 0); e.b != e.d.c; ) {\n d = BD(Xsb(e), 8);\n Ekb(g, ED(mlb(f2)));\n Ekb(this.a, new bQc(d, g));\n tCb(0, g.c.length);\n g.c.splice(0, 1);\n }\n }\n }\n function Bac(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n for (f2 = new olb(a.b); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 29);\n for (h = new olb(e.a); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 10);\n if (g.k == (j0b(), f0b)) {\n i3 = (j = BD(Rr(new Sr(ur(R_b(g).a.Kc(), new Sq()))), 17), k = BD(Rr(new Sr(ur(U_b(g).a.Kc(), new Sq()))), 17), !Ccb(DD(vNb(j, (wtc(), ltc)))) || !Ccb(DD(vNb(k, ltc)))) ? b : sbd(b);\n zac(g, i3);\n }\n for (d = new Sr(ur(U_b(g).a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 17);\n i3 = Ccb(DD(vNb(c2, (wtc(), ltc)))) ? sbd(b) : b;\n yac(c2, i3);\n }\n }\n }\n }\n function yZc(a, b, c2, d, e) {\n var f2, g, h;\n if (c2.f >= b.o && c2.f <= b.f || b.a * 0.5 <= c2.f && b.a * 1.5 >= c2.f) {\n g = BD(Ikb(b.n, b.n.c.length - 1), 211);\n if (g.e + g.d + c2.g + e <= d && (f2 = BD(Ikb(b.n, b.n.c.length - 1), 211), f2.f - a.f + c2.f <= a.b || a.a.c.length == 1)) {\n EZc(b, c2);\n return true;\n } else if (b.s + c2.g <= d && (b.t + b.d + c2.f + e <= a.b || a.a.c.length == 1)) {\n Ekb(b.b, c2);\n h = BD(Ikb(b.n, b.n.c.length - 1), 211);\n Ekb(b.n, new VZc(b.s, h.f + h.a + b.i, b.i));\n QZc(BD(Ikb(b.n, b.n.c.length - 1), 211), c2);\n GZc(b, c2);\n return true;\n }\n }\n return false;\n }\n function Zxd(a, b, c2) {\n var d, e, f2, g;\n if (a.ej()) {\n e = null;\n f2 = a.fj();\n d = a.Zi(1, g = uud(a, b, c2), c2, b, f2);\n if (a.bj() && !(a.ni() && g != null ? pb(g, c2) : PD(g) === PD(c2))) {\n g != null && (e = a.dj(g, e));\n e = a.cj(c2, e);\n a.ij() && (e = a.lj(g, c2, e));\n if (!e) {\n a.$i(d);\n } else {\n e.Ei(d);\n e.Fi();\n }\n } else {\n a.ij() && (e = a.lj(g, c2, e));\n if (!e) {\n a.$i(d);\n } else {\n e.Ei(d);\n e.Fi();\n }\n }\n return g;\n } else {\n g = uud(a, b, c2);\n if (a.bj() && !(a.ni() && g != null ? pb(g, c2) : PD(g) === PD(c2))) {\n e = null;\n g != null && (e = a.dj(g, null));\n e = a.cj(c2, e);\n !!e && e.Fi();\n }\n return g;\n }\n }\n function YA(a, b) {\n var c2, d, e, f2, g, h, i3, j;\n b %= 24;\n if (a.q.getHours() != b) {\n d = new $wnd.Date(a.q.getTime());\n d.setDate(d.getDate() + 1);\n h = a.q.getTimezoneOffset() - d.getTimezoneOffset();\n if (h > 0) {\n i3 = h / 60 | 0;\n j = h % 60;\n e = a.q.getDate();\n c2 = a.q.getHours();\n c2 + i3 >= 24 && ++e;\n f2 = new $wnd.Date(a.q.getFullYear(), a.q.getMonth(), e, b + i3, a.q.getMinutes() + j, a.q.getSeconds(), a.q.getMilliseconds());\n a.q.setTime(f2.getTime());\n }\n }\n g = a.q.getTime();\n a.q.setTime(g + 36e5);\n a.q.getHours() != b && a.q.setTime(g);\n }\n function opc(a, b) {\n var c2, d, e, f2, g;\n Odd(b, \"Path-Like Graph Wrapping\", 1);\n if (a.b.c.length == 0) {\n Qdd(b);\n return;\n }\n e = new Xoc(a);\n g = (e.i == null && (e.i = Soc(e, new Zoc())), Edb(e.i) * e.f);\n c2 = g / (e.i == null && (e.i = Soc(e, new Zoc())), Edb(e.i));\n if (e.b > c2) {\n Qdd(b);\n return;\n }\n switch (BD(vNb(a, (Nyc(), Gyc)), 337).g) {\n case 2:\n f2 = new hpc();\n break;\n case 0:\n f2 = new Ync();\n break;\n default:\n f2 = new kpc();\n }\n d = f2.Vf(a, e);\n if (!f2.Wf()) {\n switch (BD(vNb(a, Myc), 338).g) {\n case 2:\n d = tpc(e, d);\n break;\n case 1:\n d = rpc(e, d);\n }\n }\n npc(a, e, d);\n Qdd(b);\n }\n function MFc(a, b) {\n var c2, d, e, f2;\n Fub(a.d, a.e);\n a.c.a.$b();\n if (Edb(ED(vNb(b.j, (Nyc(), uwc)))) != 0 || Edb(ED(vNb(b.j, uwc))) != 0) {\n c2 = dme;\n PD(vNb(b.j, ywc)) !== PD((tAc(), rAc)) && yNb(b.j, (wtc(), Jsc), (Bcb(), true));\n f2 = BD(vNb(b.j, Ayc), 19).a;\n for (e = 0; e < f2; e++) {\n d = WFc(a, b);\n if (d < c2) {\n c2 = d;\n ZFc(a);\n if (c2 == 0) {\n break;\n }\n }\n }\n } else {\n c2 = Ohe;\n PD(vNb(b.j, ywc)) !== PD((tAc(), rAc)) && yNb(b.j, (wtc(), Jsc), (Bcb(), true));\n f2 = BD(vNb(b.j, Ayc), 19).a;\n for (e = 0; e < f2; e++) {\n d = XFc(a, b);\n if (d < c2) {\n c2 = d;\n ZFc(a);\n if (c2 == 0) {\n break;\n }\n }\n }\n }\n }\n function spc(a, b) {\n var c2, d, e, f2, g, h, i3, j;\n g = new Rkb();\n h = 0;\n c2 = 0;\n i3 = 0;\n while (h < b.c.length - 1 && c2 < a.gc()) {\n d = BD(a.Xb(c2), 19).a + i3;\n while ((tCb(h + 1, b.c.length), BD(b.c[h + 1], 19)).a < d) {\n ++h;\n }\n j = 0;\n f2 = d - (tCb(h, b.c.length), BD(b.c[h], 19)).a;\n e = (tCb(h + 1, b.c.length), BD(b.c[h + 1], 19)).a - d;\n f2 > e && ++j;\n Ekb(g, (tCb(h + j, b.c.length), BD(b.c[h + j], 19)));\n i3 += (tCb(h + j, b.c.length), BD(b.c[h + j], 19)).a - d;\n ++c2;\n while (c2 < a.gc() && BD(a.Xb(c2), 19).a + i3 <= (tCb(h + j, b.c.length), BD(b.c[h + j], 19)).a) {\n ++c2;\n }\n h += 1 + j;\n }\n return g;\n }\n function RKd(a) {\n var b, c2, d, e, f2, g, h;\n if (!a.d) {\n h = new XNd();\n b = KKd;\n f2 = b.a.zc(a, b);\n if (f2 == null) {\n for (d = new Fyd(_Kd(a)); d.e != d.i.gc(); ) {\n c2 = BD(Dyd(d), 26);\n ytd(h, RKd(c2));\n }\n b.a.Bc(a) != null;\n b.a.gc() == 0 && void 0;\n }\n g = h.i;\n for (e = (!a.q && (a.q = new cUd(n5, a, 11, 10)), new Fyd(a.q)); e.e != e.i.gc(); ++g) {\n BD(Dyd(e), 399);\n }\n ytd(h, (!a.q && (a.q = new cUd(n5, a, 11, 10)), a.q));\n vud(h);\n a.d = new nNd((BD(qud(ZKd((NFd(), MFd).o), 9), 18), h.i), h.g);\n a.e = BD(h.g, 673);\n a.e == null && (a.e = LKd);\n $Kd(a).b &= -17;\n }\n return a.d;\n }\n function M2d(a, b, c2, d) {\n var e, f2, g, h, i3, j;\n j = S6d(a.e.Tg(), b);\n i3 = 0;\n e = BD(a.g, 119);\n Q6d();\n if (BD(b, 66).Oj()) {\n for (g = 0; g < a.i; ++g) {\n f2 = e[g];\n if (j.rl(f2.ak())) {\n if (pb(f2, c2)) {\n return i3;\n }\n ++i3;\n }\n }\n } else if (c2 != null) {\n for (h = 0; h < a.i; ++h) {\n f2 = e[h];\n if (j.rl(f2.ak())) {\n if (pb(c2, f2.dd())) {\n return i3;\n }\n ++i3;\n }\n }\n if (d) {\n i3 = 0;\n for (g = 0; g < a.i; ++g) {\n f2 = e[g];\n if (j.rl(f2.ak())) {\n if (PD(c2) === PD(a3d(a, BD(f2.dd(), 56)))) {\n return i3;\n }\n ++i3;\n }\n }\n }\n } else {\n for (g = 0; g < a.i; ++g) {\n f2 = e[g];\n if (j.rl(f2.ak())) {\n if (f2.dd() == null) {\n return i3;\n }\n ++i3;\n }\n }\n }\n return -1;\n }\n function aed(a, b, c2, d, e) {\n var f2, g, h, i3, j, k, l, m, n;\n mmb();\n Okb(a, new Jed());\n g = Ru(a);\n n = new Rkb();\n m = new Rkb();\n h = null;\n i3 = 0;\n while (g.b != 0) {\n f2 = BD(g.b == 0 ? null : (sCb(g.b != 0), Nsb(g, g.a.a)), 157);\n if (!h || red(h) * qed(h) / 2 < red(f2) * qed(f2)) {\n h = f2;\n n.c[n.c.length] = f2;\n } else {\n i3 += red(f2) * qed(f2);\n m.c[m.c.length] = f2;\n if (m.c.length > 1 && (i3 > red(h) * qed(h) / 2 || g.b == 0)) {\n l = new wed(m);\n k = red(h) / qed(h);\n j = fed(l, b, new p0b(), c2, d, e, k);\n P6c(X6c(l.e), j);\n h = l;\n n.c[n.c.length] = l;\n i3 = 0;\n m.c = KC(SI, Uhe, 1, 0, 5, 1);\n }\n }\n }\n Gkb(n, m);\n return n;\n }\n function y6d(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n, o2, p;\n if (c2.mh(b)) {\n k = (n = b, !n ? null : BD(d, 49).xh(n));\n if (k) {\n p = c2.bh(b, a.a);\n o2 = b.t;\n if (o2 > 1 || o2 == -1) {\n l = BD(p, 69);\n m = BD(k, 69);\n if (l.dc()) {\n m.$b();\n } else {\n g = !!zUd(b);\n f2 = 0;\n for (h = a.a ? l.Kc() : l.Zh(); h.Ob(); ) {\n j = BD(h.Pb(), 56);\n e = BD(Wrb(a, j), 56);\n if (!e) {\n if (a.b && !g) {\n m.Xh(f2, j);\n ++f2;\n }\n } else {\n if (g) {\n i3 = m.Xc(e);\n i3 == -1 ? m.Xh(f2, e) : f2 != i3 && m.ji(f2, e);\n } else {\n m.Xh(f2, e);\n }\n ++f2;\n }\n }\n }\n } else {\n if (p == null) {\n k.Wb(null);\n } else {\n e = Wrb(a, p);\n e == null ? a.b && !zUd(b) && k.Wb(p) : k.Wb(e);\n }\n }\n }\n }\n }\n function E6b(a, b) {\n var c2, d, e, f2, g, h, i3, j;\n c2 = new L6b();\n for (e = new Sr(ur(R_b(b).a.Kc(), new Sq())); Qr(e); ) {\n d = BD(Rr(e), 17);\n if (OZb(d)) {\n continue;\n }\n h = d.c.i;\n if (F6b(h, C6b)) {\n j = G6b(a, h, C6b, B6b);\n if (j == -1) {\n continue;\n }\n c2.b = $wnd.Math.max(c2.b, j);\n !c2.a && (c2.a = new Rkb());\n Ekb(c2.a, h);\n }\n }\n for (g = new Sr(ur(U_b(b).a.Kc(), new Sq())); Qr(g); ) {\n f2 = BD(Rr(g), 17);\n if (OZb(f2)) {\n continue;\n }\n i3 = f2.d.i;\n if (F6b(i3, B6b)) {\n j = G6b(a, i3, B6b, C6b);\n if (j == -1) {\n continue;\n }\n c2.d = $wnd.Math.max(c2.d, j);\n !c2.c && (c2.c = new Rkb());\n Ekb(c2.c, i3);\n }\n }\n return c2;\n }\n function Khb(a) {\n Dhb();\n var b, c2, d, e;\n b = QD(a);\n if (a < Chb.length) {\n return Chb[b];\n } else if (a <= 50) {\n return Pgb((Hgb(), Egb), b);\n } else if (a <= _ie) {\n return Qgb(Pgb(Bhb[1], b), b);\n }\n if (a > 1e6) {\n throw vbb(new ocb(\"power of ten too big\"));\n }\n if (a <= Ohe) {\n return Qgb(Pgb(Bhb[1], b), b);\n }\n d = Pgb(Bhb[1], Ohe);\n e = d;\n c2 = Cbb(a - Ohe);\n b = QD(a % Ohe);\n while (ybb(c2, Ohe) > 0) {\n e = Ogb(e, d);\n c2 = Qbb(c2, Ohe);\n }\n e = Ogb(e, Pgb(Bhb[1], b));\n e = Qgb(e, Ohe);\n c2 = Cbb(a - Ohe);\n while (ybb(c2, Ohe) > 0) {\n e = Qgb(e, Ohe);\n c2 = Qbb(c2, Ohe);\n }\n e = Qgb(e, b);\n return e;\n }\n function X5b(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n Odd(b, \"Hierarchical port dummy size processing\", 1);\n i3 = new Rkb();\n k = new Rkb();\n d = Edb(ED(vNb(a, (Nyc(), myc))));\n c2 = d * 2;\n for (f2 = new olb(a.b); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 29);\n i3.c = KC(SI, Uhe, 1, 0, 5, 1);\n k.c = KC(SI, Uhe, 1, 0, 5, 1);\n for (h = new olb(e.a); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 10);\n if (g.k == (j0b(), e0b)) {\n j = BD(vNb(g, (wtc(), Hsc)), 61);\n j == (Ucd(), Acd) ? (i3.c[i3.c.length] = g, true) : j == Rcd && (k.c[k.c.length] = g, true);\n }\n }\n Y5b(i3, true, c2);\n Y5b(k, false, c2);\n }\n Qdd(b);\n }\n function Oac(a, b) {\n var c2, d, e, f2, g, h, i3;\n Odd(b, \"Layer constraint postprocessing\", 1);\n i3 = a.b;\n if (i3.c.length != 0) {\n d = (tCb(0, i3.c.length), BD(i3.c[0], 29));\n g = BD(Ikb(i3, i3.c.length - 1), 29);\n c2 = new H1b(a);\n f2 = new H1b(a);\n Mac(a, d, g, c2, f2);\n c2.a.c.length == 0 || (wCb(0, i3.c.length), aCb(i3.c, 0, c2));\n f2.a.c.length == 0 || (i3.c[i3.c.length] = f2, true);\n }\n if (wNb(a, (wtc(), Lsc))) {\n e = new H1b(a);\n h = new H1b(a);\n Pac(a, e, h);\n e.a.c.length == 0 || (wCb(0, i3.c.length), aCb(i3.c, 0, e));\n h.a.c.length == 0 || (i3.c[i3.c.length] = h, true);\n }\n Qdd(b);\n }\n function b6b(a) {\n var b, c2, d, e, f2, g, h, i3, j, k;\n for (i3 = new olb(a.a); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 10);\n if (h.k != (j0b(), e0b)) {\n continue;\n }\n e = BD(vNb(h, (wtc(), Hsc)), 61);\n if (e == (Ucd(), zcd) || e == Tcd) {\n for (d = new Sr(ur(O_b(h).a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 17);\n b = c2.a;\n if (b.b == 0) {\n continue;\n }\n j = c2.c;\n if (j.i == h) {\n f2 = (sCb(b.b != 0), BD(b.a.a.c, 8));\n f2.b = l7c(OC(GC(m1, 1), nie, 8, 0, [j.i.n, j.n, j.a])).b;\n }\n k = c2.d;\n if (k.i == h) {\n g = (sCb(b.b != 0), BD(b.c.b.c, 8));\n g.b = l7c(OC(GC(m1, 1), nie, 8, 0, [k.i.n, k.n, k.a])).b;\n }\n }\n }\n }\n }\n function Tec(a, b) {\n var c2, d, e, f2, g, h, i3;\n Odd(b, \"Sort By Input Model \" + vNb(a, (Nyc(), ywc)), 1);\n e = 0;\n for (d = new olb(a.b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 29);\n i3 = e == 0 ? 0 : e - 1;\n h = BD(Ikb(a.b, i3), 29);\n for (g = new olb(c2.a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 10);\n if (PD(vNb(f2, Vxc)) !== PD((dcd(), Zbd)) && PD(vNb(f2, Vxc)) !== PD($bd)) {\n mmb();\n Okb(f2.j, new Tnc(h, Xec(f2)));\n Sdd(b, \"Node \" + f2 + \" ports: \" + f2.j);\n }\n }\n mmb();\n Okb(c2.a, new Bnc(h, BD(vNb(a, ywc), 339), BD(vNb(a, wwc), 378)));\n Sdd(b, \"Layer \" + e + \": \" + c2);\n ++e;\n }\n Qdd(b);\n }\n function U1b(a, b) {\n var c2, d, e, f2;\n f2 = P1b(b);\n MAb(new YAb(null, (!b.c && (b.c = new cUd(F2, b, 9, 9)), new Kub(b.c, 16))), new i2b(f2));\n e = BD(vNb(f2, (wtc(), Ksc)), 21);\n O1b(b, e);\n if (e.Hc((Orc(), Hrc))) {\n for (d = new Fyd((!b.c && (b.c = new cUd(F2, b, 9, 9)), b.c)); d.e != d.i.gc(); ) {\n c2 = BD(Dyd(d), 118);\n Y1b(a, b, f2, c2);\n }\n }\n BD(hkd(b, (Nyc(), Fxc)), 174).gc() != 0 && L1b(b, f2);\n Ccb(DD(vNb(f2, Mxc))) && e.Fc(Mrc);\n wNb(f2, hyc) && Wyc(new ezc(Edb(ED(vNb(f2, hyc)))), f2);\n PD(hkd(b, axc)) === PD((hbd(), ebd)) ? V1b(a, b, f2) : T1b(a, b, f2);\n return f2;\n }\n function hic(a, b, c2, d) {\n var e, f2, g;\n this.j = new Rkb();\n this.k = new Rkb();\n this.b = new Rkb();\n this.c = new Rkb();\n this.e = new I6c();\n this.i = new s7c();\n this.f = new lEb();\n this.d = new Rkb();\n this.g = new Rkb();\n Ekb(this.b, a);\n Ekb(this.b, b);\n this.e.c = $wnd.Math.min(a.a, b.a);\n this.e.d = $wnd.Math.min(a.b, b.b);\n this.e.b = $wnd.Math.abs(a.a - b.a);\n this.e.a = $wnd.Math.abs(a.b - b.b);\n e = BD(vNb(d, (Nyc(), jxc)), 74);\n if (e) {\n for (g = Jsb(e, 0); g.b != g.d.c; ) {\n f2 = BD(Xsb(g), 8);\n ADb(f2.a, a.a) && Dsb(this.i, f2);\n }\n }\n !!c2 && Ekb(this.j, c2);\n Ekb(this.k, d);\n }\n function oTb(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m;\n k = new gub(new ETb(c2));\n h = KC(sbb, dle, 25, a.f.e.c.length, 16, 1);\n Glb(h, h.length);\n c2[b.b] = 0;\n for (j = new olb(a.f.e); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 144);\n i3.b != b.b && (c2[i3.b] = Ohe);\n zCb(cub(k, i3));\n }\n while (k.b.c.length != 0) {\n l = BD(dub(k), 144);\n h[l.b] = true;\n for (f2 = au(new bu(a.b, l), 0); f2.c; ) {\n e = BD(uu(f2), 282);\n m = rTb(e, l);\n if (h[m.b]) {\n continue;\n }\n wNb(e, (bTb(), RSb)) ? g = Edb(ED(vNb(e, RSb))) : g = a.c;\n d = c2[l.b] + g;\n if (d < c2[m.b]) {\n c2[m.b] = d;\n eub(k, m);\n zCb(cub(k, m));\n }\n }\n }\n }\n function xMc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l;\n e = true;\n for (g = new olb(a.b); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 29);\n j = Qje;\n k = null;\n for (i3 = new olb(f2.a); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 10);\n l = Edb(b.p[h.p]) + Edb(b.d[h.p]) - h.d.d;\n d = Edb(b.p[h.p]) + Edb(b.d[h.p]) + h.o.b + h.d.a;\n if (l > j && d > j) {\n k = h;\n j = Edb(b.p[h.p]) + Edb(b.d[h.p]) + h.o.b + h.d.a;\n } else {\n e = false;\n c2.n && Sdd(c2, \"bk node placement breaks on \" + h + \" which should have been after \" + k);\n break;\n }\n }\n if (!e) {\n break;\n }\n }\n c2.n && Sdd(c2, b + \" is feasible: \" + e);\n return e;\n }\n function XNc(a, b, c2, d) {\n var e, f2, g, h, i3, j, k;\n h = -1;\n for (k = new olb(a); k.a < k.c.c.length; ) {\n j = BD(mlb(k), 112);\n j.g = h--;\n e = Tbb(tAb(PAb(JAb(new YAb(null, new Kub(j.f, 16)), new ZNc()), new _Nc())).d);\n f2 = Tbb(tAb(PAb(JAb(new YAb(null, new Kub(j.k, 16)), new bOc()), new dOc())).d);\n g = e;\n i3 = f2;\n if (!d) {\n g = Tbb(tAb(PAb(new YAb(null, new Kub(j.f, 16)), new fOc())).d);\n i3 = Tbb(tAb(PAb(new YAb(null, new Kub(j.k, 16)), new hOc())).d);\n }\n j.d = g;\n j.a = e;\n j.i = i3;\n j.b = f2;\n i3 == 0 ? (Gsb(c2, j, c2.c.b, c2.c), true) : g == 0 && (Gsb(b, j, b.c.b, b.c), true);\n }\n }\n function $8b(a, b, c2, d) {\n var e, f2, g, h, i3, j, k;\n if (c2.d.i == b.i) {\n return;\n }\n e = new b0b(a);\n __b(e, (j0b(), g0b));\n yNb(e, (wtc(), $sc), c2);\n yNb(e, (Nyc(), Vxc), (dcd(), $bd));\n d.c[d.c.length] = e;\n g = new H0b();\n F0b(g, e);\n G0b(g, (Ucd(), Tcd));\n h = new H0b();\n F0b(h, e);\n G0b(h, zcd);\n k = c2.d;\n RZb(c2, g);\n f2 = new UZb();\n tNb(f2, c2);\n yNb(f2, jxc, null);\n QZb(f2, h);\n RZb(f2, k);\n j = new Bib(c2.b, 0);\n while (j.b < j.d.gc()) {\n i3 = (sCb(j.b < j.d.gc()), BD(j.d.Xb(j.c = j.b++), 70));\n if (PD(vNb(i3, Qwc)) === PD((qad(), oad))) {\n yNb(i3, Dsc, c2);\n uib(j);\n Ekb(f2.b, i3);\n }\n }\n a9b(e, g, h);\n }\n function Z8b(a, b, c2, d) {\n var e, f2, g, h, i3, j, k;\n if (c2.c.i == b.i) {\n return;\n }\n e = new b0b(a);\n __b(e, (j0b(), g0b));\n yNb(e, (wtc(), $sc), c2);\n yNb(e, (Nyc(), Vxc), (dcd(), $bd));\n d.c[d.c.length] = e;\n g = new H0b();\n F0b(g, e);\n G0b(g, (Ucd(), Tcd));\n h = new H0b();\n F0b(h, e);\n G0b(h, zcd);\n RZb(c2, g);\n f2 = new UZb();\n tNb(f2, c2);\n yNb(f2, jxc, null);\n QZb(f2, h);\n RZb(f2, b);\n a9b(e, g, h);\n j = new Bib(c2.b, 0);\n while (j.b < j.d.gc()) {\n i3 = (sCb(j.b < j.d.gc()), BD(j.d.Xb(j.c = j.b++), 70));\n k = BD(vNb(i3, Qwc), 272);\n if (k == (qad(), oad)) {\n wNb(i3, Dsc) || yNb(i3, Dsc, c2);\n uib(j);\n Ekb(f2.b, i3);\n }\n }\n }\n function dDc(a, b, c2, d, e) {\n var f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t;\n m = new Rkb();\n r = Gx(d);\n q = b * a.a;\n l = 0;\n o2 = 0;\n f2 = new Tqb();\n g = new Tqb();\n h = new Rkb();\n s = 0;\n t = 0;\n n = 0;\n p = 0;\n j = 0;\n k = 0;\n while (r.a.gc() != 0) {\n i3 = hDc(r, e, g);\n if (i3) {\n r.a.Bc(i3) != null;\n h.c[h.c.length] = i3;\n f2.a.zc(i3, f2);\n o2 = a.f[i3.p];\n s += a.e[i3.p] - o2 * a.b;\n l = a.c[i3.p];\n t += l * a.b;\n k += o2 * a.b;\n p += a.e[i3.p];\n }\n if (!i3 || r.a.gc() == 0 || s >= q && a.e[i3.p] > o2 * a.b || t >= c2 * q) {\n m.c[m.c.length] = h;\n h = new Rkb();\n ye(g, f2);\n f2.a.$b();\n j -= k;\n n = $wnd.Math.max(n, j * a.b + p);\n j += t;\n s = t;\n t = 0;\n k = 0;\n p = 0;\n }\n }\n return new vgd(n, m);\n }\n function q4c(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n;\n for (c2 = (j = new $ib(a.c.b).a.vc().Kc(), new djb(j)); c2.a.Ob(); ) {\n b = (h = BD(c2.a.Pb(), 42), BD(h.dd(), 149));\n e = b.a;\n e == null && (e = \"\");\n d = i4c(a.c, e);\n !d && e.length == 0 && (d = u4c(a));\n !!d && !ze(d.c, b, false) && Dsb(d.c, b);\n }\n for (g = Jsb(a.a, 0); g.b != g.d.c; ) {\n f2 = BD(Xsb(g), 478);\n k = j4c(a.c, f2.a);\n n = j4c(a.c, f2.b);\n !!k && !!n && Dsb(k.c, new vgd(n, f2.c));\n }\n Osb(a.a);\n for (m = Jsb(a.b, 0); m.b != m.d.c; ) {\n l = BD(Xsb(m), 478);\n b = g4c(a.c, l.a);\n i3 = j4c(a.c, l.b);\n !!b && !!i3 && B3c(b, i3, l.c);\n }\n Osb(a.b);\n }\n function qvd(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n;\n f2 = new fC(a);\n g = new ird();\n e = (ko(g.g), ko(g.j), Uhb(g.b), ko(g.d), ko(g.i), Uhb(g.k), Uhb(g.c), Uhb(g.e), n = drd(g, f2, null), ard(g, f2), n);\n if (b) {\n j = new fC(b);\n h = rvd(j);\n jfd(e, OC(GC(g2, 1), Uhe, 527, 0, [h]));\n }\n m = false;\n l = false;\n if (c2) {\n j = new fC(c2);\n que in j.a && (m = aC(j, que).ge().a);\n rue in j.a && (l = aC(j, rue).ge().a);\n }\n k = Vdd(Xdd(new Zdd(), m), l);\n t2c(new w2c(), e, k);\n que in f2.a && cC(f2, que, null);\n if (m || l) {\n i3 = new eC();\n nvd(k, i3, m, l);\n cC(f2, que, i3);\n }\n d = new Prd(g);\n Ghe(new _ud(e), d);\n }\n function pA(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l;\n g = new nB();\n j = OC(GC(WD, 1), oje, 25, 15, [0]);\n e = -1;\n f2 = 0;\n d = 0;\n for (i3 = 0; i3 < a.b.c.length; ++i3) {\n k = BD(Ikb(a.b, i3), 434);\n if (k.b > 0) {\n if (e < 0 && k.a) {\n e = i3;\n f2 = j[0];\n d = 0;\n }\n if (e >= 0) {\n h = k.b;\n if (i3 == e) {\n h -= d++;\n if (h == 0) {\n return 0;\n }\n }\n if (!wA(b, j, k, h, g)) {\n i3 = e - 1;\n j[0] = f2;\n continue;\n }\n } else {\n e = -1;\n if (!wA(b, j, k, 0, g)) {\n return 0;\n }\n }\n } else {\n e = -1;\n if (bfb(k.c, 0) == 32) {\n l = j[0];\n uA(b, j);\n if (j[0] > l) {\n continue;\n }\n } else if (ofb(b, k.c, j[0])) {\n j[0] += k.c.length;\n continue;\n }\n return 0;\n }\n }\n if (!mB(g, c2)) {\n return 0;\n }\n return j[0];\n }\n function SKd(a) {\n var b, c2, d, e, f2, g, h, i3;\n if (!a.f) {\n i3 = new CNd();\n h = new CNd();\n b = KKd;\n g = b.a.zc(a, b);\n if (g == null) {\n for (f2 = new Fyd(_Kd(a)); f2.e != f2.i.gc(); ) {\n e = BD(Dyd(f2), 26);\n ytd(i3, SKd(e));\n }\n b.a.Bc(a) != null;\n b.a.gc() == 0 && void 0;\n }\n for (d = (!a.s && (a.s = new cUd(t5, a, 21, 17)), new Fyd(a.s)); d.e != d.i.gc(); ) {\n c2 = BD(Dyd(d), 170);\n JD(c2, 99) && wtd(h, BD(c2, 18));\n }\n vud(h);\n a.r = new UNd(a, (BD(qud(ZKd((NFd(), MFd).o), 6), 18), h.i), h.g);\n ytd(i3, a.r);\n vud(i3);\n a.f = new nNd((BD(qud(ZKd(MFd.o), 5), 18), i3.i), i3.g);\n $Kd(a).b &= -3;\n }\n return a.f;\n }\n function rMb(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2;\n g = a.o;\n d = KC(WD, oje, 25, g, 15, 1);\n e = KC(WD, oje, 25, g, 15, 1);\n c2 = a.p;\n b = KC(WD, oje, 25, c2, 15, 1);\n f2 = KC(WD, oje, 25, c2, 15, 1);\n for (j = 0; j < g; j++) {\n l = 0;\n while (l < c2 && !YMb(a, j, l)) {\n ++l;\n }\n d[j] = l;\n }\n for (k = 0; k < g; k++) {\n l = c2 - 1;\n while (l >= 0 && !YMb(a, k, l)) {\n --l;\n }\n e[k] = l;\n }\n for (n = 0; n < c2; n++) {\n h = 0;\n while (h < g && !YMb(a, h, n)) {\n ++h;\n }\n b[n] = h;\n }\n for (o2 = 0; o2 < c2; o2++) {\n h = g - 1;\n while (h >= 0 && !YMb(a, h, o2)) {\n --h;\n }\n f2[o2] = h;\n }\n for (i3 = 0; i3 < g; i3++) {\n for (m = 0; m < c2; m++) {\n i3 < f2[m] && i3 > b[m] && m < e[i3] && m > d[i3] && aNb(a, i3, m, false, true);\n }\n }\n }\n function lRb(a) {\n var b, c2, d, e, f2, g, h, i3;\n c2 = Ccb(DD(vNb(a, (wSb(), cSb))));\n f2 = a.a.c.d;\n h = a.a.d.d;\n if (c2) {\n g = Y6c(c7c(new f7c(h.a, h.b), f2), 0.5);\n i3 = Y6c(R6c(a.e), 0.5);\n b = c7c(P6c(new f7c(f2.a, f2.b), g), i3);\n a7c(a.d, b);\n } else {\n e = Edb(ED(vNb(a.a, tSb)));\n d = a.d;\n if (f2.a >= h.a) {\n if (f2.b >= h.b) {\n d.a = h.a + (f2.a - h.a) / 2 + e;\n d.b = h.b + (f2.b - h.b) / 2 - e - a.e.b;\n } else {\n d.a = h.a + (f2.a - h.a) / 2 + e;\n d.b = f2.b + (h.b - f2.b) / 2 + e;\n }\n } else {\n if (f2.b >= h.b) {\n d.a = f2.a + (h.a - f2.a) / 2 + e;\n d.b = h.b + (f2.b - h.b) / 2 + e;\n } else {\n d.a = f2.a + (h.a - f2.a) / 2 + e;\n d.b = f2.b + (h.b - f2.b) / 2 - e - a.e.b;\n }\n }\n }\n }\n function Qge(a, b) {\n var c2, d, e, f2, g, h, i3;\n if (a == null) {\n return null;\n }\n f2 = a.length;\n if (f2 == 0) {\n return \"\";\n }\n i3 = KC(TD, $ie, 25, f2, 15, 1);\n ACb(0, f2, a.length);\n ACb(0, f2, i3.length);\n ffb(a, 0, f2, i3, 0);\n c2 = null;\n h = b;\n for (e = 0, g = 0; e < f2; e++) {\n d = i3[e];\n lde();\n if (d <= 32 && (kde[d] & 2) != 0) {\n if (h) {\n !c2 && (c2 = new Jfb(a));\n Gfb(c2, e - g++);\n } else {\n h = b;\n if (d != 32) {\n !c2 && (c2 = new Jfb(a));\n kcb(c2, e - g, e - g + 1, String.fromCharCode(32));\n }\n }\n } else {\n h = false;\n }\n }\n if (h) {\n if (!c2) {\n return a.substr(0, f2 - 1);\n } else {\n f2 = c2.a.length;\n return f2 > 0 ? qfb(c2.a, 0, f2 - 1) : \"\";\n }\n } else {\n return !c2 ? a : c2.a;\n }\n }\n function DPb(a) {\n r4c(a, new E3c(P3c(M3c(O3c(N3c(new R3c(), Yle), \"ELK DisCo\"), \"Layouter for arranging unconnected subgraphs. The subgraphs themselves are, by default, not laid out.\"), new GPb())));\n p4c(a, Yle, Zle, Ksd(BPb));\n p4c(a, Yle, $le, Ksd(vPb));\n p4c(a, Yle, _le, Ksd(qPb));\n p4c(a, Yle, ame, Ksd(wPb));\n p4c(a, Yle, Zke, Ksd(zPb));\n p4c(a, Yle, $ke, Ksd(yPb));\n p4c(a, Yle, Yke, Ksd(APb));\n p4c(a, Yle, _ke, Ksd(xPb));\n p4c(a, Yle, Tle, Ksd(sPb));\n p4c(a, Yle, Ule, Ksd(rPb));\n p4c(a, Yle, Vle, Ksd(tPb));\n p4c(a, Yle, Wle, Ksd(uPb));\n }\n function Zbc(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m;\n f2 = new b0b(a);\n __b(f2, (j0b(), i0b));\n yNb(f2, (Nyc(), Vxc), (dcd(), $bd));\n e = 0;\n if (b) {\n g = new H0b();\n yNb(g, (wtc(), $sc), b);\n yNb(f2, $sc, b.i);\n G0b(g, (Ucd(), Tcd));\n F0b(g, f2);\n m = k_b(b.e);\n for (j = m, k = 0, l = j.length; k < l; ++k) {\n i3 = j[k];\n RZb(i3, g);\n }\n yNb(b, gtc, f2);\n ++e;\n }\n if (c2) {\n h = new H0b();\n yNb(f2, (wtc(), $sc), c2.i);\n yNb(h, $sc, c2);\n G0b(h, (Ucd(), zcd));\n F0b(h, f2);\n m = k_b(c2.g);\n for (j = m, k = 0, l = j.length; k < l; ++k) {\n i3 = j[k];\n QZb(i3, h);\n }\n yNb(c2, gtc, f2);\n ++e;\n }\n yNb(f2, (wtc(), ysc), meb(e));\n d.c[d.c.length] = f2;\n return f2;\n }\n function Smd() {\n Smd = ccb;\n Qmd = OC(GC(TD, 1), $ie, 25, 15, [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70]);\n Rmd = new RegExp(\"[ \t\\n\\r\\f]+\");\n try {\n Pmd = OC(GC(c6, 1), Uhe, 2015, 0, [new EQd((GA(), IA(\"yyyy-MM-dd'T'HH:mm:ss'.'SSSZ\", LA((KA(), KA(), JA))))), new EQd(IA(\"yyyy-MM-dd'T'HH:mm:ss'.'SSS\", LA((null, JA)))), new EQd(IA(\"yyyy-MM-dd'T'HH:mm:ss\", LA((null, JA)))), new EQd(IA(\"yyyy-MM-dd'T'HH:mm\", LA((null, JA)))), new EQd(IA(\"yyyy-MM-dd\", LA((null, JA))))]);\n } catch (a) {\n a = ubb(a);\n if (!JD(a, 78))\n throw vbb(a);\n }\n }\n function qgb(a) {\n var b, c2, d, e;\n d = shb((!a.c && (a.c = fhb(a.f)), a.c), 0);\n if (a.e == 0 || a.a == 0 && a.f != -1 && a.e < 0) {\n return d;\n }\n b = pgb(a) < 0 ? 1 : 0;\n c2 = a.e;\n e = (d.length + 1 + $wnd.Math.abs(QD(a.e)), new Vfb());\n b == 1 && (e.a += \"-\", e);\n if (a.e > 0) {\n c2 -= d.length - b;\n if (c2 >= 0) {\n e.a += \"0.\";\n for (; c2 > egb.length; c2 -= egb.length) {\n Rfb(e, egb);\n }\n Sfb(e, egb, QD(c2));\n Qfb(e, d.substr(b));\n } else {\n c2 = b - c2;\n Qfb(e, qfb(d, b, QD(c2)));\n e.a += \".\";\n Qfb(e, pfb(d, QD(c2)));\n }\n } else {\n Qfb(e, d.substr(b));\n for (; c2 < -egb.length; c2 += egb.length) {\n Rfb(e, egb);\n }\n Sfb(e, egb, QD(-c2));\n }\n return e.a;\n }\n function v6c(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m;\n i3 = c7c(new f7c(c2.a, c2.b), a);\n j = i3.a * b.b - i3.b * b.a;\n k = b.a * d.b - b.b * d.a;\n l = (i3.a * d.b - i3.b * d.a) / k;\n m = j / k;\n if (k == 0) {\n if (j == 0) {\n e = P6c(new f7c(c2.a, c2.b), Y6c(new f7c(d.a, d.b), 0.5));\n f2 = S6c(a, e);\n g = S6c(P6c(new f7c(a.a, a.b), b), e);\n h = $wnd.Math.sqrt(d.a * d.a + d.b * d.b) * 0.5;\n if (f2 < g && f2 <= h) {\n return new f7c(a.a, a.b);\n }\n if (g <= h) {\n return P6c(new f7c(a.a, a.b), b);\n }\n return null;\n } else {\n return null;\n }\n } else {\n return l >= 0 && l <= 1 && m >= 0 && m <= 1 ? P6c(new f7c(a.a, a.b), Y6c(new f7c(b.a, b.b), l)) : null;\n }\n }\n function OTb(a, b, c2) {\n var d, e, f2, g, h;\n d = BD(vNb(a, (Nyc(), zwc)), 21);\n c2.a > b.a && (d.Hc((i8c(), c8c)) ? a.c.a += (c2.a - b.a) / 2 : d.Hc(e8c) && (a.c.a += c2.a - b.a));\n c2.b > b.b && (d.Hc((i8c(), g8c)) ? a.c.b += (c2.b - b.b) / 2 : d.Hc(f8c) && (a.c.b += c2.b - b.b));\n if (BD(vNb(a, (wtc(), Ksc)), 21).Hc((Orc(), Hrc)) && (c2.a > b.a || c2.b > b.b)) {\n for (h = new olb(a.a); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 10);\n if (g.k == (j0b(), e0b)) {\n e = BD(vNb(g, Hsc), 61);\n e == (Ucd(), zcd) ? g.n.a += c2.a - b.a : e == Rcd && (g.n.b += c2.b - b.b);\n }\n }\n }\n f2 = a.d;\n a.f.a = c2.a - f2.b - f2.c;\n a.f.b = c2.b - f2.d - f2.a;\n }\n function H5b(a, b, c2) {\n var d, e, f2, g, h;\n d = BD(vNb(a, (Nyc(), zwc)), 21);\n c2.a > b.a && (d.Hc((i8c(), c8c)) ? a.c.a += (c2.a - b.a) / 2 : d.Hc(e8c) && (a.c.a += c2.a - b.a));\n c2.b > b.b && (d.Hc((i8c(), g8c)) ? a.c.b += (c2.b - b.b) / 2 : d.Hc(f8c) && (a.c.b += c2.b - b.b));\n if (BD(vNb(a, (wtc(), Ksc)), 21).Hc((Orc(), Hrc)) && (c2.a > b.a || c2.b > b.b)) {\n for (g = new olb(a.a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 10);\n if (f2.k == (j0b(), e0b)) {\n e = BD(vNb(f2, Hsc), 61);\n e == (Ucd(), zcd) ? f2.n.a += c2.a - b.a : e == Rcd && (f2.n.b += c2.b - b.b);\n }\n }\n }\n h = a.d;\n a.f.a = c2.a - h.b - h.c;\n a.f.b = c2.b - h.d - h.a;\n }\n function kMc(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m;\n b = DMc(a);\n for (k = (h = new Pib(b).a.vc().Kc(), new Vib(h)); k.a.Ob(); ) {\n j = (e = BD(k.a.Pb(), 42), BD(e.cd(), 10));\n l = 0;\n m = 0;\n l = j.d.d;\n m = j.o.b + j.d.a;\n a.d[j.p] = 0;\n c2 = j;\n while ((f2 = a.a[c2.p]) != j) {\n d = FMc(c2, f2);\n i3 = 0;\n a.c == (YLc(), WLc) ? i3 = d.d.n.b + d.d.a.b - d.c.n.b - d.c.a.b : i3 = d.c.n.b + d.c.a.b - d.d.n.b - d.d.a.b;\n g = Edb(a.d[c2.p]) + i3;\n a.d[f2.p] = g;\n l = $wnd.Math.max(l, f2.d.d - g);\n m = $wnd.Math.max(m, g + f2.o.b + f2.d.a);\n c2 = f2;\n }\n c2 = j;\n do {\n a.d[c2.p] = Edb(a.d[c2.p]) + l;\n c2 = a.a[c2.p];\n } while (c2 != j);\n a.b[j.p] = l + m;\n }\n }\n function LOb(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m;\n a.b = false;\n l = Pje;\n i3 = Qje;\n m = Pje;\n j = Qje;\n for (d = a.e.a.ec().Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 266);\n e = c2.a;\n l = $wnd.Math.min(l, e.c);\n i3 = $wnd.Math.max(i3, e.c + e.b);\n m = $wnd.Math.min(m, e.d);\n j = $wnd.Math.max(j, e.d + e.a);\n for (g = new olb(c2.c); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 395);\n b = f2.a;\n if (b.a) {\n k = e.d + f2.b.b;\n h = k + f2.c;\n m = $wnd.Math.min(m, k);\n j = $wnd.Math.max(j, h);\n } else {\n k = e.c + f2.b.a;\n h = k + f2.c;\n l = $wnd.Math.min(l, k);\n i3 = $wnd.Math.max(i3, h);\n }\n }\n }\n a.a = new f7c(i3 - l, j - m);\n a.c = new f7c(l + a.d.a, m + a.d.b);\n }\n function xZc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l;\n l = new Rkb();\n k = new x$c(0, c2);\n f2 = 0;\n s$c(k, new PZc(0, 0, k, c2));\n e = 0;\n for (j = new Fyd(a); j.e != j.i.gc(); ) {\n i3 = BD(Dyd(j), 33);\n d = BD(Ikb(k.a, k.a.c.length - 1), 187);\n h = e + i3.g + (BD(Ikb(k.a, 0), 187).b.c.length == 0 ? 0 : c2);\n if (h > b) {\n e = 0;\n f2 += k.b + c2;\n l.c[l.c.length] = k;\n k = new x$c(f2, c2);\n d = new PZc(0, k.f, k, c2);\n s$c(k, d);\n e = 0;\n }\n if (d.b.c.length == 0 || i3.f >= d.o && i3.f <= d.f || d.a * 0.5 <= i3.f && d.a * 1.5 >= i3.f) {\n EZc(d, i3);\n } else {\n g = new PZc(d.s + d.r + c2, k.f, k, c2);\n s$c(k, g);\n EZc(g, i3);\n }\n e = i3.i + i3.g;\n }\n l.c[l.c.length] = k;\n return l;\n }\n function OKd(a) {\n var b, c2, d, e, f2, g, h, i3;\n if (!a.a) {\n a.o = null;\n i3 = new GNd(a);\n b = new KNd();\n c2 = KKd;\n h = c2.a.zc(a, c2);\n if (h == null) {\n for (g = new Fyd(_Kd(a)); g.e != g.i.gc(); ) {\n f2 = BD(Dyd(g), 26);\n ytd(i3, OKd(f2));\n }\n c2.a.Bc(a) != null;\n c2.a.gc() == 0 && void 0;\n }\n for (e = (!a.s && (a.s = new cUd(t5, a, 21, 17)), new Fyd(a.s)); e.e != e.i.gc(); ) {\n d = BD(Dyd(e), 170);\n JD(d, 322) && wtd(b, BD(d, 34));\n }\n vud(b);\n a.k = new PNd(a, (BD(qud(ZKd((NFd(), MFd).o), 7), 18), b.i), b.g);\n ytd(i3, a.k);\n vud(i3);\n a.a = new nNd((BD(qud(ZKd(MFd.o), 4), 18), i3.i), i3.g);\n $Kd(a).b &= -2;\n }\n return a.a;\n }\n function vZc(a, b, c2, d, e, f2, g) {\n var h, i3, j, k, l, m;\n l = false;\n i3 = ZZc(c2.q, b.f + b.b - c2.q.f);\n m = e - (c2.q.e + i3 - g);\n if (m < d.g) {\n return false;\n }\n j = f2 == a.c.length - 1 && m >= (tCb(f2, a.c.length), BD(a.c[f2], 200)).e;\n k = (h = MZc(d, m, false), h.a);\n if (k > b.b && !j) {\n return false;\n }\n if (j || k <= b.b) {\n if (j && k > b.b) {\n c2.d = k;\n KZc(c2, JZc(c2, k));\n } else {\n $Zc(c2.q, i3);\n c2.c = true;\n }\n KZc(d, e - (c2.s + c2.r));\n OZc(d, c2.q.e + c2.q.d, b.f);\n s$c(b, d);\n if (a.c.length > f2) {\n v$c((tCb(f2, a.c.length), BD(a.c[f2], 200)), d);\n (tCb(f2, a.c.length), BD(a.c[f2], 200)).a.c.length == 0 && Kkb(a, f2);\n }\n l = true;\n }\n return l;\n }\n function C2d(a, b, c2, d) {\n var e, f2, g, h, i3, j, k;\n k = S6d(a.e.Tg(), b);\n e = 0;\n f2 = BD(a.g, 119);\n i3 = null;\n Q6d();\n if (BD(b, 66).Oj()) {\n for (h = 0; h < a.i; ++h) {\n g = f2[h];\n if (k.rl(g.ak())) {\n if (pb(g, c2)) {\n i3 = g;\n break;\n }\n ++e;\n }\n }\n } else if (c2 != null) {\n for (h = 0; h < a.i; ++h) {\n g = f2[h];\n if (k.rl(g.ak())) {\n if (pb(c2, g.dd())) {\n i3 = g;\n break;\n }\n ++e;\n }\n }\n } else {\n for (h = 0; h < a.i; ++h) {\n g = f2[h];\n if (k.rl(g.ak())) {\n if (g.dd() == null) {\n i3 = g;\n break;\n }\n ++e;\n }\n }\n }\n if (i3) {\n if (oid(a.e)) {\n j = b.$j() ? new O7d(a.e, 4, b, c2, null, e, true) : H2d(a, b.Kj() ? 2 : 1, b, c2, b.zj(), -1, true);\n d ? d.Ei(j) : d = j;\n }\n d = B2d(a, i3, d);\n }\n return d;\n }\n function kYc(a, b, c2, d, e, f2, g) {\n var h, i3, j, k, l, m, n, o2, p;\n o2 = 0;\n p = 0;\n i3 = e.c;\n h = e.b;\n k = c2.f;\n n = c2.g;\n switch (b.g) {\n case 0:\n o2 = d.i + d.g + g;\n a.c ? p = tYc(o2, f2, d, g) : p = d.j;\n m = $wnd.Math.max(i3, o2 + n);\n j = $wnd.Math.max(h, p + k);\n break;\n case 1:\n p = d.j + d.f + g;\n a.c ? o2 = sYc(p, f2, d, g) : o2 = d.i;\n m = $wnd.Math.max(i3, o2 + n);\n j = $wnd.Math.max(h, p + k);\n break;\n case 2:\n o2 = i3 + g;\n p = 0;\n m = i3 + g + n;\n j = $wnd.Math.max(h, k);\n break;\n case 3:\n o2 = 0;\n p = h + g;\n m = $wnd.Math.max(i3, n);\n j = h + g + k;\n break;\n default:\n throw vbb(new Wdb(\"IllegalPlacementOption.\"));\n }\n l = new e$c(a.a, m, j, b, o2, p);\n return l;\n }\n function R2b(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m;\n h = a.d;\n l = BD(vNb(a, (wtc(), vtc)), 15);\n b = BD(vNb(a, tsc), 15);\n if (!l && !b) {\n return;\n }\n f2 = Edb(ED(pBc(a, (Nyc(), iyc))));\n g = Edb(ED(pBc(a, jyc)));\n m = 0;\n if (l) {\n j = 0;\n for (e = l.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 10);\n j = $wnd.Math.max(j, d.o.b);\n m += d.o.a;\n }\n m += f2 * (l.gc() - 1);\n h.d += j + g;\n }\n c2 = 0;\n if (b) {\n j = 0;\n for (e = b.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 10);\n j = $wnd.Math.max(j, d.o.b);\n c2 += d.o.a;\n }\n c2 += f2 * (b.gc() - 1);\n h.a += j + g;\n }\n i3 = $wnd.Math.max(m, c2);\n if (i3 > a.o.a) {\n k = (i3 - a.o.a) / 2;\n h.b = $wnd.Math.max(h.b, k);\n h.c = $wnd.Math.max(h.c, k);\n }\n }\n function rvd(a) {\n var b, c2, d, e, f2, g, h, i3;\n f2 = new b2c();\n Z1c(f2, (Y1c(), V1c));\n for (d = (e = $B(a, KC(ZI, nie, 2, 0, 6, 1)), new vib(new amb(new mC(a, e).b))); d.b < d.d.gc(); ) {\n c2 = (sCb(d.b < d.d.gc()), GD(d.d.Xb(d.c = d.b++)));\n g = k4c(lvd, c2);\n if (g) {\n b = aC(a, c2);\n b.je() ? h = b.je().a : b.ge() ? h = \"\" + b.ge().a : b.he() ? h = \"\" + b.he().a : h = b.Ib();\n i3 = o5c(g, h);\n if (i3 != null) {\n (uqb(g.j, (N5c(), K5c)) || uqb(g.j, L5c)) && xNb(_1c(f2, E2), g, i3);\n uqb(g.j, I5c) && xNb(_1c(f2, B2), g, i3);\n uqb(g.j, M5c) && xNb(_1c(f2, F2), g, i3);\n uqb(g.j, J5c) && xNb(_1c(f2, D2), g, i3);\n }\n }\n }\n return f2;\n }\n function J2d(a, b, c2, d) {\n var e, f2, g, h, i3, j;\n i3 = S6d(a.e.Tg(), b);\n f2 = BD(a.g, 119);\n if (T6d(a.e, b)) {\n e = 0;\n for (h = 0; h < a.i; ++h) {\n g = f2[h];\n if (i3.rl(g.ak())) {\n if (e == c2) {\n Q6d();\n if (BD(b, 66).Oj()) {\n return g;\n } else {\n j = g.dd();\n j != null && d && JD(b, 99) && (BD(b, 18).Bb & Tje) != 0 && (j = b3d(a, b, h, e, j));\n return j;\n }\n }\n ++e;\n }\n }\n throw vbb(new qcb(gve + c2 + mue + e));\n } else {\n e = 0;\n for (h = 0; h < a.i; ++h) {\n g = f2[h];\n if (i3.rl(g.ak())) {\n Q6d();\n if (BD(b, 66).Oj()) {\n return g;\n } else {\n j = g.dd();\n j != null && d && JD(b, 99) && (BD(b, 18).Bb & Tje) != 0 && (j = b3d(a, b, h, e, j));\n return j;\n }\n }\n ++e;\n }\n return b.zj();\n }\n }\n function K2d(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n e = BD(a.g, 119);\n if (T6d(a.e, b)) {\n return Q6d(), BD(b, 66).Oj() ? new R7d(b, a) : new f7d(b, a);\n } else {\n j = S6d(a.e.Tg(), b);\n d = 0;\n for (h = 0; h < a.i; ++h) {\n f2 = e[h];\n g = f2.ak();\n if (j.rl(g)) {\n Q6d();\n if (BD(b, 66).Oj()) {\n return f2;\n } else if (g == (m8d(), k8d) || g == h8d) {\n i3 = new Wfb(fcb(f2.dd()));\n while (++h < a.i) {\n f2 = e[h];\n g = f2.ak();\n (g == k8d || g == h8d) && Qfb(i3, fcb(f2.dd()));\n }\n return j6d(BD(b.Yj(), 148), i3.a);\n } else {\n k = f2.dd();\n k != null && c2 && JD(b, 99) && (BD(b, 18).Bb & Tje) != 0 && (k = b3d(a, b, h, d, k));\n return k;\n }\n }\n ++d;\n }\n return b.zj();\n }\n }\n function MZc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m;\n f2 = 0;\n g = a.t;\n e = 0;\n d = 0;\n i3 = 0;\n m = 0;\n l = 0;\n if (c2) {\n a.n.c = KC(SI, Uhe, 1, 0, 5, 1);\n Ekb(a.n, new VZc(a.s, a.t, a.i));\n }\n h = 0;\n for (k = new olb(a.b); k.a < k.c.c.length; ) {\n j = BD(mlb(k), 33);\n if (f2 + j.g + (h > 0 ? a.i : 0) > b && i3 > 0) {\n f2 = 0;\n g += i3 + a.i;\n e = $wnd.Math.max(e, m);\n d += i3 + a.i;\n i3 = 0;\n m = 0;\n if (c2) {\n ++l;\n Ekb(a.n, new VZc(a.s, g, a.i));\n }\n h = 0;\n }\n m += j.g + (h > 0 ? a.i : 0);\n i3 = $wnd.Math.max(i3, j.f);\n c2 && QZc(BD(Ikb(a.n, l), 211), j);\n f2 += j.g + (h > 0 ? a.i : 0);\n ++h;\n }\n e = $wnd.Math.max(e, m);\n d += i3;\n if (c2) {\n a.r = e;\n a.d = d;\n u$c(a.j);\n }\n return new J6c(a.s, a.t, e, d);\n }\n function $fb(a, b, c2, d, e) {\n Zfb();\n var f2, g, h, i3, j, k, l, m, n;\n vCb(a, \"src\");\n vCb(c2, \"dest\");\n m = rb(a);\n i3 = rb(c2);\n rCb((m.i & 4) != 0, \"srcType is not an array\");\n rCb((i3.i & 4) != 0, \"destType is not an array\");\n l = m.c;\n g = i3.c;\n rCb((l.i & 1) != 0 ? l == g : (g.i & 1) == 0, \"Array types don't match\");\n n = a.length;\n j = c2.length;\n if (b < 0 || d < 0 || e < 0 || b + e > n || d + e > j) {\n throw vbb(new pcb());\n }\n if ((l.i & 1) == 0 && m != i3) {\n k = CD(a);\n f2 = CD(c2);\n if (PD(a) === PD(c2) && b < d) {\n b += e;\n for (h = d + e; h-- > d; ) {\n NC(f2, h, k[--b]);\n }\n } else {\n for (h = d + e; d < h; ) {\n NC(f2, d++, k[b++]);\n }\n }\n } else\n e > 0 && $Bb(a, b, c2, d, e, true);\n }\n function phb() {\n phb = ccb;\n nhb = OC(GC(WD, 1), oje, 25, 15, [Rie, 1162261467, Iie, 1220703125, 362797056, 1977326743, Iie, 387420489, Jje, 214358881, 429981696, 815730721, 1475789056, 170859375, 268435456, 410338673, 612220032, 893871739, 128e7, 1801088541, 113379904, 148035889, 191102976, 244140625, 308915776, 387420489, 481890304, 594823321, 729e6, 887503681, Iie, 1291467969, 1544804416, 1838265625, 60466176]);\n ohb = OC(GC(WD, 1), oje, 25, 15, [-1, -1, 31, 19, 15, 13, 11, 11, 10, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5]);\n }\n function soc(a) {\n var b, c2, d, e, f2, g, h, i3;\n for (e = new olb(a.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 29);\n for (g = new olb(Mu(d.a)); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 10);\n if (ioc(f2)) {\n c2 = BD(vNb(f2, (wtc(), usc)), 305);\n if (!c2.g && !!c2.d) {\n b = c2;\n i3 = c2.d;\n while (i3) {\n roc(i3.i, i3.k, false, true);\n zoc(b.a);\n zoc(i3.i);\n zoc(i3.k);\n zoc(i3.b);\n RZb(i3.c, b.c.d);\n RZb(b.c, null);\n $_b(b.a, null);\n $_b(i3.i, null);\n $_b(i3.k, null);\n $_b(i3.b, null);\n h = new goc(b.i, i3.a, b.e, i3.j, i3.f);\n h.k = b.k;\n h.n = b.n;\n h.b = b.b;\n h.c = i3.c;\n h.g = b.g;\n h.d = i3.d;\n yNb(b.i, usc, h);\n yNb(i3.a, usc, h);\n i3 = i3.d;\n b = h;\n }\n }\n }\n }\n }\n }\n function Xfe(a, b) {\n var c2, d, e, f2, g;\n g = BD(b, 136);\n Yfe(a);\n Yfe(g);\n if (g.b == null)\n return;\n a.c = true;\n if (a.b == null) {\n a.b = KC(WD, oje, 25, g.b.length, 15, 1);\n $fb(g.b, 0, a.b, 0, g.b.length);\n return;\n }\n f2 = KC(WD, oje, 25, a.b.length + g.b.length, 15, 1);\n for (c2 = 0, d = 0, e = 0; c2 < a.b.length || d < g.b.length; ) {\n if (c2 >= a.b.length) {\n f2[e++] = g.b[d++];\n f2[e++] = g.b[d++];\n } else if (d >= g.b.length) {\n f2[e++] = a.b[c2++];\n f2[e++] = a.b[c2++];\n } else if (g.b[d] < a.b[c2] || g.b[d] === a.b[c2] && g.b[d + 1] < a.b[c2 + 1]) {\n f2[e++] = g.b[d++];\n f2[e++] = g.b[d++];\n } else {\n f2[e++] = a.b[c2++];\n f2[e++] = a.b[c2++];\n }\n }\n a.b = f2;\n }\n function S6b(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l;\n c2 = Ccb(DD(vNb(a, (wtc(), Usc))));\n h = Ccb(DD(vNb(b, Usc)));\n d = BD(vNb(a, Vsc), 11);\n i3 = BD(vNb(b, Vsc), 11);\n e = BD(vNb(a, Wsc), 11);\n j = BD(vNb(b, Wsc), 11);\n k = !!d && d == i3;\n l = !!e && e == j;\n if (!c2 && !h) {\n return new Z6b(BD(mlb(new olb(a.j)), 11).p == BD(mlb(new olb(b.j)), 11).p, k, l);\n }\n f2 = (!Ccb(DD(vNb(a, Usc))) || Ccb(DD(vNb(a, Tsc)))) && (!Ccb(DD(vNb(b, Usc))) || Ccb(DD(vNb(b, Tsc))));\n g = (!Ccb(DD(vNb(a, Usc))) || !Ccb(DD(vNb(a, Tsc)))) && (!Ccb(DD(vNb(b, Usc))) || !Ccb(DD(vNb(b, Tsc))));\n return new Z6b(k && f2 || l && g, k, l);\n }\n function HZc(a) {\n var b, c2, d, e, f2, g, h, i3;\n d = 0;\n c2 = 0;\n i3 = new Psb();\n b = 0;\n for (h = new olb(a.n); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 211);\n if (g.c.c.length == 0) {\n Gsb(i3, g, i3.c.b, i3.c);\n } else {\n d = $wnd.Math.max(d, g.d);\n c2 += g.a + (b > 0 ? a.i : 0);\n }\n ++b;\n }\n Ce(a.n, i3);\n a.d = c2;\n a.r = d;\n a.g = 0;\n a.f = 0;\n a.e = 0;\n a.o = Pje;\n a.p = Pje;\n for (f2 = new olb(a.b); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 33);\n a.p = $wnd.Math.min(a.p, e.g);\n a.g = $wnd.Math.max(a.g, e.g);\n a.f = $wnd.Math.max(a.f, e.f);\n a.o = $wnd.Math.min(a.o, e.f);\n a.e += e.f + a.i;\n }\n a.a = a.e / a.b.c.length - a.i * ((a.b.c.length - 1) / a.b.c.length);\n u$c(a.j);\n }\n function Sld(a) {\n var b, c2, d, e;\n if ((a.Db & 64) != 0)\n return Mkd(a);\n b = new Wfb(_se);\n d = a.k;\n if (!d) {\n !a.n && (a.n = new cUd(D2, a, 1, 7));\n if (a.n.i > 0) {\n e = (!a.n && (a.n = new cUd(D2, a, 1, 7)), BD(qud(a.n, 0), 137)).a;\n !e || Qfb(Qfb((b.a += ' \"', b), e), '\"');\n }\n } else {\n Qfb(Qfb((b.a += ' \"', b), d), '\"');\n }\n c2 = (!a.b && (a.b = new y5d(z2, a, 4, 7)), !(a.b.i <= 1 && (!a.c && (a.c = new y5d(z2, a, 5, 8)), a.c.i <= 1)));\n c2 ? (b.a += \" [\", b) : (b.a += \" \", b);\n Qfb(b, Eb(new Gb(), new Fyd(a.b)));\n c2 && (b.a += \"]\", b);\n b.a += gne;\n c2 && (b.a += \"[\", b);\n Qfb(b, Eb(new Gb(), new Fyd(a.c)));\n c2 && (b.a += \"]\", b);\n return b.a;\n }\n function TQd(a, b) {\n var c2, d, e, f2, g, h, i3;\n if (a.a) {\n h = a.a.ne();\n i3 = null;\n if (h != null) {\n b.a += \"\" + h;\n } else {\n g = a.a.Dj();\n if (g != null) {\n f2 = hfb(g, wfb(91));\n if (f2 != -1) {\n i3 = g.substr(f2);\n b.a += \"\" + qfb(g == null ? Xhe : (uCb(g), g), 0, f2);\n } else {\n b.a += \"\" + g;\n }\n }\n }\n if (!!a.d && a.d.i != 0) {\n e = true;\n b.a += \"<\";\n for (d = new Fyd(a.d); d.e != d.i.gc(); ) {\n c2 = BD(Dyd(d), 87);\n e ? e = false : (b.a += She, b);\n TQd(c2, b);\n }\n b.a += \">\";\n }\n i3 != null && (b.a += \"\" + i3, b);\n } else if (a.e) {\n h = a.e.zb;\n h != null && (b.a += \"\" + h, b);\n } else {\n b.a += \"?\";\n if (a.b) {\n b.a += \" super \";\n TQd(a.b, b);\n } else {\n if (a.f) {\n b.a += \" extends \";\n TQd(a.f, b);\n }\n }\n }\n }\n function Z9b(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D;\n v = a.c;\n w2 = b.c;\n c2 = Jkb(v.a, a, 0);\n d = Jkb(w2.a, b, 0);\n t = BD(W_b(a, (KAc(), HAc)).Kc().Pb(), 11);\n C = BD(W_b(a, IAc).Kc().Pb(), 11);\n u = BD(W_b(b, HAc).Kc().Pb(), 11);\n D = BD(W_b(b, IAc).Kc().Pb(), 11);\n r = k_b(t.e);\n A = k_b(C.g);\n s = k_b(u.e);\n B = k_b(D.g);\n Z_b(a, d, w2);\n for (g = s, k = 0, o2 = g.length; k < o2; ++k) {\n e = g[k];\n RZb(e, t);\n }\n for (h = B, l = 0, p = h.length; l < p; ++l) {\n e = h[l];\n QZb(e, C);\n }\n Z_b(b, c2, v);\n for (i3 = r, m = 0, q = i3.length; m < q; ++m) {\n e = i3[m];\n RZb(e, u);\n }\n for (f2 = A, j = 0, n = f2.length; j < n; ++j) {\n e = f2[j];\n QZb(e, D);\n }\n }\n function $$b(a, b, c2, d) {\n var e, f2, g, h, i3, j, k;\n f2 = a_b(d);\n h = Ccb(DD(vNb(d, (Nyc(), uxc))));\n if ((h || Ccb(DD(vNb(a, exc)))) && !fcd(BD(vNb(a, Vxc), 98))) {\n e = Zcd(f2);\n i3 = i_b(a, c2, c2 == (KAc(), IAc) ? e : Wcd(e));\n } else {\n i3 = new H0b();\n F0b(i3, a);\n if (b) {\n k = i3.n;\n k.a = b.a - a.n.a;\n k.b = b.b - a.n.b;\n Q6c(k, 0, 0, a.o.a, a.o.b);\n G0b(i3, W$b(i3, f2));\n } else {\n e = Zcd(f2);\n G0b(i3, c2 == (KAc(), IAc) ? e : Wcd(e));\n }\n g = BD(vNb(d, (wtc(), Ksc)), 21);\n j = i3.j;\n switch (f2.g) {\n case 2:\n case 1:\n (j == (Ucd(), Acd) || j == Rcd) && g.Fc((Orc(), Lrc));\n break;\n case 4:\n case 3:\n (j == (Ucd(), zcd) || j == Tcd) && g.Fc((Orc(), Lrc));\n }\n }\n return i3;\n }\n function pPc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n if ($wnd.Math.abs(b.s - b.c) < qme || $wnd.Math.abs(c2.s - c2.c) < qme) {\n return 0;\n }\n d = oPc(a, b.j, c2.e);\n e = oPc(a, c2.j, b.e);\n f2 = d == -1 || e == -1;\n g = 0;\n if (f2) {\n if (d == -1) {\n new DOc((HOc(), FOc), c2, b, 1);\n ++g;\n }\n if (e == -1) {\n new DOc((HOc(), FOc), b, c2, 1);\n ++g;\n }\n } else {\n h = vPc(b.j, c2.s, c2.c);\n h += vPc(c2.e, b.s, b.c);\n i3 = vPc(c2.j, b.s, b.c);\n i3 += vPc(b.e, c2.s, c2.c);\n j = d + 16 * h;\n k = e + 16 * i3;\n if (j < k) {\n new DOc((HOc(), GOc), b, c2, k - j);\n } else if (j > k) {\n new DOc((HOc(), GOc), c2, b, j - k);\n } else if (j > 0 && k > 0) {\n new DOc((HOc(), GOc), b, c2, 0);\n new DOc(GOc, c2, b, 0);\n }\n }\n return g;\n }\n function TUb(a, b) {\n var c2, d, e, f2, g, h;\n for (g = new nib(new eib(a.f.b).a); g.b; ) {\n f2 = lib(g);\n e = BD(f2.cd(), 594);\n if (b == 1) {\n if (e.gf() != (ead(), dad) && e.gf() != _9c) {\n continue;\n }\n } else {\n if (e.gf() != (ead(), aad) && e.gf() != bad) {\n continue;\n }\n }\n d = BD(BD(f2.dd(), 46).b, 81);\n h = BD(BD(f2.dd(), 46).a, 189);\n c2 = h.c;\n switch (e.gf().g) {\n case 2:\n d.g.c = a.e.a;\n d.g.b = $wnd.Math.max(1, d.g.b + c2);\n break;\n case 1:\n d.g.c = d.g.c + c2;\n d.g.b = $wnd.Math.max(1, d.g.b - c2);\n break;\n case 4:\n d.g.d = a.e.b;\n d.g.a = $wnd.Math.max(1, d.g.a + c2);\n break;\n case 3:\n d.g.d = d.g.d + c2;\n d.g.a = $wnd.Math.max(1, d.g.a - c2);\n }\n }\n }\n function nJc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p;\n h = KC(WD, oje, 25, b.b.c.length, 15, 1);\n j = KC(NQ, Kie, 267, b.b.c.length, 0, 1);\n i3 = KC(OQ, kne, 10, b.b.c.length, 0, 1);\n for (l = a.a, m = 0, n = l.length; m < n; ++m) {\n k = l[m];\n p = 0;\n for (g = new olb(k.e); g.a < g.c.c.length; ) {\n e = BD(mlb(g), 10);\n d = G1b(e.c);\n ++h[d];\n o2 = Edb(ED(vNb(b, (Nyc(), lyc))));\n h[d] > 0 && !!i3[d] && (o2 = jBc(a.b, i3[d], e));\n p = $wnd.Math.max(p, e.c.c.b + o2);\n }\n for (f2 = new olb(k.e); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 10);\n e.n.b = p + e.d.d;\n c2 = e.c;\n c2.c.b = p + e.d.d + e.o.b + e.d.a;\n j[Jkb(c2.b.b, c2, 0)] = e.k;\n i3[Jkb(c2.b.b, c2, 0)] = e;\n }\n }\n }\n function LXc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m;\n for (d = new Sr(ur(_sd(b).a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 79);\n if (!JD(qud((!c2.b && (c2.b = new y5d(z2, c2, 4, 7)), c2.b), 0), 186)) {\n i3 = atd(BD(qud((!c2.c && (c2.c = new y5d(z2, c2, 5, 8)), c2.c), 0), 82));\n if (!Pld(c2)) {\n g = b.i + b.g / 2;\n h = b.j + b.f / 2;\n k = i3.i + i3.g / 2;\n l = i3.j + i3.f / 2;\n m = new d7c();\n m.a = k - g;\n m.b = l - h;\n f2 = new f7c(m.a, m.b);\n l6c(f2, b.g, b.f);\n m.a -= f2.a;\n m.b -= f2.b;\n g = k - m.a;\n h = l - m.b;\n j = new f7c(m.a, m.b);\n l6c(j, i3.g, i3.f);\n m.a -= j.a;\n m.b -= j.b;\n k = g + m.a;\n l = h + m.b;\n e = itd(c2, true, true);\n omd(e, g);\n pmd(e, h);\n hmd(e, k);\n imd(e, l);\n LXc(a, i3);\n }\n }\n }\n }\n function e0c(a) {\n r4c(a, new E3c(P3c(M3c(O3c(N3c(new R3c(), Pre), \"ELK SPOrE Compaction\"), \"ShrinkTree is a compaction algorithm that maintains the topology of a layout. The relocation of diagram elements is based on contracting a spanning tree.\"), new h0c())));\n p4c(a, Pre, Qre, Ksd(c0c));\n p4c(a, Pre, Rre, Ksd(__c));\n p4c(a, Pre, Sre, Ksd($_c));\n p4c(a, Pre, Tre, Ksd(Y_c));\n p4c(a, Pre, Ure, Ksd(Z_c));\n p4c(a, Pre, ame, X_c);\n p4c(a, Pre, wme, 8);\n p4c(a, Pre, Vre, Ksd(b0c));\n p4c(a, Pre, Wre, Ksd(T_c));\n p4c(a, Pre, Xre, Ksd(U_c));\n p4c(a, Pre, Zpe, (Bcb(), false));\n }\n function JLc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l;\n Odd(b, \"Simple node placement\", 1);\n l = BD(vNb(a, (wtc(), otc)), 304);\n h = 0;\n for (f2 = new olb(a.b); f2.a < f2.c.c.length; ) {\n d = BD(mlb(f2), 29);\n g = d.c;\n g.b = 0;\n c2 = null;\n for (j = new olb(d.a); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 10);\n !!c2 && (g.b += hBc(i3, c2, l.c));\n g.b += i3.d.d + i3.o.b + i3.d.a;\n c2 = i3;\n }\n h = $wnd.Math.max(h, g.b);\n }\n for (e = new olb(a.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 29);\n g = d.c;\n k = (h - g.b) / 2;\n c2 = null;\n for (j = new olb(d.a); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 10);\n !!c2 && (k += hBc(i3, c2, l.c));\n k += i3.d.d;\n i3.n.b = k;\n k += i3.o.b + i3.d.a;\n c2 = i3;\n }\n }\n Qdd(b);\n }\n function s2d(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l;\n if (d.gc() == 0) {\n return false;\n }\n i3 = (Q6d(), BD(b, 66).Oj());\n g = i3 ? d : new zud(d.gc());\n if (T6d(a.e, b)) {\n if (b.hi()) {\n for (k = d.Kc(); k.Ob(); ) {\n j = k.Pb();\n if (!F2d(a, b, j, JD(b, 99) && (BD(b, 18).Bb & Tje) != 0)) {\n f2 = R6d(b, j);\n g.Fc(f2);\n }\n }\n } else if (!i3) {\n for (k = d.Kc(); k.Ob(); ) {\n j = k.Pb();\n f2 = R6d(b, j);\n g.Fc(f2);\n }\n }\n } else {\n l = S6d(a.e.Tg(), b);\n e = BD(a.g, 119);\n for (h = 0; h < a.i; ++h) {\n f2 = e[h];\n if (l.rl(f2.ak())) {\n throw vbb(new Wdb(Hwe));\n }\n }\n if (d.gc() > 1) {\n throw vbb(new Wdb(Hwe));\n }\n if (!i3) {\n f2 = R6d(b, d.Kc().Pb());\n g.Fc(f2);\n }\n }\n return xtd(a, I2d(a, b, c2), g);\n }\n function Pmc(a, b) {\n var c2, d, e, f2;\n Jmc(b.b.j);\n MAb(NAb(new YAb(null, new Kub(b.d, 16)), new $mc()), new anc());\n for (f2 = new olb(b.d); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 101);\n switch (e.e.g) {\n case 0:\n c2 = BD(Ikb(e.j, 0), 113).d.j;\n mjc(e, BD(Btb(RAb(BD(Qc(e.k, c2), 15).Oc(), Hmc)), 113));\n njc(e, BD(Btb(QAb(BD(Qc(e.k, c2), 15).Oc(), Hmc)), 113));\n break;\n case 1:\n d = Bkc(e);\n mjc(e, BD(Btb(RAb(BD(Qc(e.k, d[0]), 15).Oc(), Hmc)), 113));\n njc(e, BD(Btb(QAb(BD(Qc(e.k, d[1]), 15).Oc(), Hmc)), 113));\n break;\n case 2:\n Rmc(a, e);\n break;\n case 3:\n Qmc(e);\n break;\n case 4:\n Omc(a, e);\n }\n Mmc(e);\n }\n a.a = null;\n }\n function $Mc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n d = a.a.o == (eMc(), dMc) ? Pje : Qje;\n h = _Mc(a, new ZMc(b, c2));\n if (!h.a && h.c) {\n Dsb(a.d, h);\n return d;\n } else if (h.a) {\n e = h.a.c;\n i3 = h.a.d;\n if (c2) {\n j = a.a.c == (YLc(), XLc) ? i3 : e;\n f2 = a.a.c == XLc ? e : i3;\n g = a.a.g[f2.i.p];\n k = Edb(a.a.p[g.p]) + Edb(a.a.d[f2.i.p]) + f2.n.b + f2.a.b - Edb(a.a.d[j.i.p]) - j.n.b - j.a.b;\n } else {\n j = a.a.c == (YLc(), WLc) ? i3 : e;\n f2 = a.a.c == WLc ? e : i3;\n k = Edb(a.a.p[a.a.g[f2.i.p].p]) + Edb(a.a.d[f2.i.p]) + f2.n.b + f2.a.b - Edb(a.a.d[j.i.p]) - j.n.b - j.a.b;\n }\n a.a.n[a.a.g[e.i.p].p] = (Bcb(), true);\n a.a.n[a.a.g[i3.i.p].p] = true;\n return k;\n }\n return d;\n }\n function f3d(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n if (T6d(a.e, b)) {\n i3 = (Q6d(), BD(b, 66).Oj() ? new R7d(b, a) : new f7d(b, a));\n D2d(i3.c, i3.b);\n b7d(i3, BD(c2, 14));\n } else {\n k = S6d(a.e.Tg(), b);\n d = BD(a.g, 119);\n for (g = 0; g < a.i; ++g) {\n e = d[g];\n f2 = e.ak();\n if (k.rl(f2)) {\n if (f2 == (m8d(), k8d) || f2 == h8d) {\n j = m3d(a, b, c2);\n h = g;\n j ? Xxd(a, g) : ++g;\n while (g < a.i) {\n e = d[g];\n f2 = e.ak();\n f2 == k8d || f2 == h8d ? Xxd(a, g) : ++g;\n }\n j || BD(Gtd(a, h, R6d(b, c2)), 72);\n } else\n m3d(a, b, c2) ? Xxd(a, g) : BD(Gtd(a, g, (Q6d(), BD(b, 66).Oj() ? BD(c2, 72) : R6d(b, c2))), 72);\n return;\n }\n }\n m3d(a, b, c2) || wtd(a, (Q6d(), BD(b, 66).Oj() ? BD(c2, 72) : R6d(b, c2)));\n }\n }\n function IMb(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n if (!pb(c2, a.b)) {\n a.b = c2;\n f2 = new LMb();\n g = BD(GAb(NAb(new YAb(null, new Kub(c2.f, 16)), f2), Ayb(new hzb(), new jzb(), new Gzb(), new Izb(), OC(GC(xL, 1), Kie, 132, 0, [(Fyb(), Eyb), Dyb]))), 21);\n a.e = true;\n a.f = true;\n a.c = true;\n a.d = true;\n e = g.Hc((RMb(), OMb));\n d = g.Hc(PMb);\n e && !d && (a.f = false);\n !e && d && (a.d = false);\n e = g.Hc(NMb);\n d = g.Hc(QMb);\n e && !d && (a.c = false);\n !e && d && (a.e = false);\n }\n k = BD(a.a.Ce(b, c2), 46);\n i3 = BD(k.a, 19).a;\n j = BD(k.b, 19).a;\n h = false;\n i3 < 0 ? a.c || (h = true) : a.e || (h = true);\n j < 0 ? a.d || (h = true) : a.f || (h = true);\n return h ? IMb(a, k, c2) : k;\n }\n function oKb(a) {\n var b, c2, d, e;\n e = a.o;\n $Jb();\n if (a.A.dc() || pb(a.A, ZJb)) {\n b = e.b;\n } else {\n b = fIb(a.f);\n if (a.A.Hc((tdd(), qdd)) && !a.B.Hc((Idd(), Edd))) {\n b = $wnd.Math.max(b, fIb(BD(Mpb(a.p, (Ucd(), zcd)), 244)));\n b = $wnd.Math.max(b, fIb(BD(Mpb(a.p, Tcd), 244)));\n }\n c2 = aKb(a);\n !!c2 && (b = $wnd.Math.max(b, c2.b));\n if (a.A.Hc(rdd)) {\n if (a.q == (dcd(), _bd) || a.q == $bd) {\n b = $wnd.Math.max(b, _Gb(BD(Mpb(a.b, (Ucd(), zcd)), 124)));\n b = $wnd.Math.max(b, _Gb(BD(Mpb(a.b, Tcd), 124)));\n }\n }\n }\n Ccb(DD(a.e.yf().We((Y9c(), $8c)))) ? e.b = $wnd.Math.max(e.b, b) : e.b = b;\n d = a.f.i;\n d.d = 0;\n d.a = b;\n iIb(a.f);\n }\n function $Ic(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p;\n for (l = 0; l < b.length; l++) {\n for (h = a.Kc(); h.Ob(); ) {\n f2 = BD(h.Pb(), 225);\n f2.Of(l, b);\n }\n for (m = 0; m < b[l].length; m++) {\n for (i3 = a.Kc(); i3.Ob(); ) {\n f2 = BD(i3.Pb(), 225);\n f2.Pf(l, m, b);\n }\n p = b[l][m].j;\n for (n = 0; n < p.c.length; n++) {\n for (j = a.Kc(); j.Ob(); ) {\n f2 = BD(j.Pb(), 225);\n f2.Qf(l, m, n, b);\n }\n o2 = (tCb(n, p.c.length), BD(p.c[n], 11));\n c2 = 0;\n for (e = new b1b(o2.b); llb(e.a) || llb(e.b); ) {\n d = BD(llb(e.a) ? mlb(e.a) : mlb(e.b), 17);\n for (k = a.Kc(); k.Ob(); ) {\n f2 = BD(k.Pb(), 225);\n f2.Nf(l, m, n, c2++, d, b);\n }\n }\n }\n }\n }\n for (g = a.Kc(); g.Ob(); ) {\n f2 = BD(g.Pb(), 225);\n f2.Mf();\n }\n }\n function J4b(a, b) {\n var c2, d, e, f2, g, h, i3;\n a.b = Edb(ED(vNb(b, (Nyc(), myc))));\n a.c = Edb(ED(vNb(b, pyc)));\n a.d = BD(vNb(b, Xwc), 336);\n a.a = BD(vNb(b, swc), 275);\n H4b(b);\n h = BD(GAb(JAb(JAb(LAb(LAb(new YAb(null, new Kub(b.b, 16)), new N4b()), new P4b()), new R4b()), new T4b()), Byb(new fzb(), new dzb(), new Ezb(), OC(GC(xL, 1), Kie, 132, 0, [(Fyb(), Dyb)]))), 15);\n for (e = h.Kc(); e.Ob(); ) {\n c2 = BD(e.Pb(), 17);\n g = BD(vNb(c2, (wtc(), rtc)), 15);\n g.Jc(new V4b(a));\n yNb(c2, rtc, null);\n }\n for (d = h.Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 17);\n i3 = BD(vNb(c2, (wtc(), stc)), 17);\n f2 = BD(vNb(c2, ptc), 15);\n B4b(a, f2, i3);\n yNb(c2, ptc, null);\n }\n }\n function uZd(a) {\n a.b = null;\n a.a = null;\n a.o = null;\n a.q = null;\n a.v = null;\n a.w = null;\n a.B = null;\n a.p = null;\n a.Q = null;\n a.R = null;\n a.S = null;\n a.T = null;\n a.U = null;\n a.V = null;\n a.W = null;\n a.bb = null;\n a.eb = null;\n a.ab = null;\n a.H = null;\n a.db = null;\n a.c = null;\n a.d = null;\n a.f = null;\n a.n = null;\n a.r = null;\n a.s = null;\n a.u = null;\n a.G = null;\n a.J = null;\n a.e = null;\n a.j = null;\n a.i = null;\n a.g = null;\n a.k = null;\n a.t = null;\n a.F = null;\n a.I = null;\n a.L = null;\n a.M = null;\n a.O = null;\n a.P = null;\n a.$ = null;\n a.N = null;\n a.Z = null;\n a.cb = null;\n a.K = null;\n a.D = null;\n a.A = null;\n a.C = null;\n a._ = null;\n a.fb = null;\n a.X = null;\n a.Y = null;\n a.gb = false;\n a.hb = false;\n }\n function bKc(a) {\n var b, c2, d, e, f2, g, h, i3, j;\n if (a.k != (j0b(), h0b)) {\n return false;\n }\n if (a.j.c.length <= 1) {\n return false;\n }\n f2 = BD(vNb(a, (Nyc(), Vxc)), 98);\n if (f2 == (dcd(), $bd)) {\n return false;\n }\n e = (Izc(), (!a.q ? (mmb(), mmb(), kmb) : a.q)._b(Cxc) ? d = BD(vNb(a, Cxc), 197) : d = BD(vNb(Q_b(a), Dxc), 197), d);\n if (e == Gzc) {\n return false;\n }\n if (!(e == Fzc || e == Ezc)) {\n g = Edb(ED(pBc(a, zyc)));\n b = BD(vNb(a, yyc), 142);\n !b && (b = new J_b(g, g, g, g));\n j = V_b(a, (Ucd(), Tcd));\n i3 = b.d + b.a + (j.gc() - 1) * g;\n if (i3 > a.o.b) {\n return false;\n }\n c2 = V_b(a, zcd);\n h = b.d + b.a + (c2.gc() - 1) * g;\n if (h > a.o.b) {\n return false;\n }\n }\n return true;\n }\n function thb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2;\n g = a.e;\n i3 = b.e;\n if (g == 0) {\n return b;\n }\n if (i3 == 0) {\n return a;\n }\n f2 = a.d;\n h = b.d;\n if (f2 + h == 2) {\n c2 = xbb(a.a[0], Yje);\n d = xbb(b.a[0], Yje);\n if (g == i3) {\n k = wbb(c2, d);\n o2 = Tbb(k);\n n = Tbb(Pbb(k, 32));\n return n == 0 ? new Ugb(g, o2) : new Vgb(g, 2, OC(GC(WD, 1), oje, 25, 15, [o2, n]));\n }\n return ghb(g < 0 ? Qbb(d, c2) : Qbb(c2, d));\n } else if (g == i3) {\n m = g;\n l = f2 >= h ? uhb(a.a, f2, b.a, h) : uhb(b.a, h, a.a, f2);\n } else {\n e = f2 != h ? f2 > h ? 1 : -1 : whb(a.a, b.a, f2);\n if (e == 0) {\n return Hgb(), Ggb;\n }\n if (e == 1) {\n m = g;\n l = zhb(a.a, f2, b.a, h);\n } else {\n m = i3;\n l = zhb(b.a, h, a.a, f2);\n }\n }\n j = new Vgb(m, l.length, l);\n Jgb(j);\n return j;\n }\n function oZb(a, b, c2, d, e, f2, g) {\n var h, i3, j, k, l, m, n;\n l = Ccb(DD(vNb(b, (Nyc(), vxc))));\n m = null;\n f2 == (KAc(), HAc) && d.c.i == c2 ? m = d.c : f2 == IAc && d.d.i == c2 && (m = d.d);\n j = g;\n if (!j || !l || !!m) {\n k = (Ucd(), Scd);\n m ? k = m.j : fcd(BD(vNb(c2, Vxc), 98)) && (k = f2 == HAc ? Tcd : zcd);\n i3 = lZb(a, b, c2, f2, k, d);\n h = kZb((Q_b(c2), d));\n if (f2 == HAc) {\n QZb(h, BD(Ikb(i3.j, 0), 11));\n RZb(h, e);\n } else {\n QZb(h, e);\n RZb(h, BD(Ikb(i3.j, 0), 11));\n }\n j = new yZb(d, h, i3, BD(vNb(i3, (wtc(), $sc)), 11), f2, !m);\n } else {\n Ekb(j.e, d);\n n = $wnd.Math.max(Edb(ED(vNb(j.d, Zwc))), Edb(ED(vNb(d, Zwc))));\n yNb(j.d, Zwc, n);\n }\n Rc(a.a, d, new BZb(j.d, b, f2));\n return j;\n }\n function V1d(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l;\n k = null;\n !!a.d && (k = BD(Phb(a.d, b), 138));\n if (!k) {\n f2 = a.a.Mh();\n l = f2.i;\n if (!a.d || Vhb(a.d) != l) {\n i3 = new Lqb();\n !!a.d && Ld(i3, a.d);\n j = i3.f.c + i3.g.c;\n for (h = j; h < l; ++h) {\n d = BD(qud(f2, h), 138);\n e = o1d(a.e, d).ne();\n c2 = BD(e == null ? jrb(i3.f, null, d) : Drb(i3.g, e, d), 138);\n !!c2 && c2 != d && (e == null ? jrb(i3.f, null, c2) : Drb(i3.g, e, c2));\n }\n if (i3.f.c + i3.g.c != l) {\n for (g = 0; g < j; ++g) {\n d = BD(qud(f2, g), 138);\n e = o1d(a.e, d).ne();\n c2 = BD(e == null ? jrb(i3.f, null, d) : Drb(i3.g, e, d), 138);\n !!c2 && c2 != d && (e == null ? jrb(i3.f, null, c2) : Drb(i3.g, e, c2));\n }\n }\n a.d = i3;\n }\n k = BD(Phb(a.d, b), 138);\n }\n return k;\n }\n function lZb(a, b, c2, d, e, f2) {\n var g, h, i3, j, k, l;\n g = null;\n j = d == (KAc(), HAc) ? f2.c : f2.d;\n i3 = a_b(b);\n if (j.i == c2) {\n g = BD(Ohb(a.b, j), 10);\n if (!g) {\n g = Z$b(j, BD(vNb(c2, (Nyc(), Vxc)), 98), e, hZb(j), null, j.n, j.o, i3, b);\n yNb(g, (wtc(), $sc), j);\n Rhb(a.b, j, g);\n }\n } else {\n g = Z$b((k = new zNb(), l = Edb(ED(vNb(b, (Nyc(), lyc)))) / 2, xNb(k, Uxc, l), k), BD(vNb(c2, Vxc), 98), e, d == HAc ? -1 : 1, null, new d7c(), new f7c(0, 0), i3, b);\n h = mZb(g, c2, d);\n yNb(g, (wtc(), $sc), h);\n Rhb(a.b, h, g);\n }\n BD(vNb(b, (wtc(), Ksc)), 21).Fc((Orc(), Hrc));\n fcd(BD(vNb(b, (Nyc(), Vxc)), 98)) ? yNb(b, Vxc, (dcd(), acd)) : yNb(b, Vxc, (dcd(), bcd));\n return g;\n }\n function vNc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q;\n Odd(b, \"Orthogonal edge routing\", 1);\n j = Edb(ED(vNb(a, (Nyc(), wyc))));\n c2 = Edb(ED(vNb(a, myc)));\n d = Edb(ED(vNb(a, pyc)));\n m = new tPc(0, c2);\n q = 0;\n g = new Bib(a.b, 0);\n h = null;\n k = null;\n i3 = null;\n l = null;\n do {\n k = g.b < g.d.gc() ? (sCb(g.b < g.d.gc()), BD(g.d.Xb(g.c = g.b++), 29)) : null;\n l = !k ? null : k.a;\n if (h) {\n h_b(h, q);\n q += h.c.a;\n }\n p = !h ? q : q + d;\n o2 = sPc(m, a, i3, l, p);\n e = !h || Kq(i3, (FNc(), DNc));\n f2 = !k || Kq(l, (FNc(), DNc));\n if (o2 > 0) {\n n = (o2 - 1) * c2;\n !!h && (n += d);\n !!k && (n += d);\n n < j && !e && !f2 && (n = j);\n q += n;\n } else\n !e && !f2 && (q += j);\n h = k;\n i3 = l;\n } while (k);\n a.f.a = q;\n Qdd(b);\n }\n function IEd() {\n IEd = ccb;\n var a;\n HEd = new mFd();\n BEd = KC(ZI, nie, 2, 0, 6, 1);\n uEd = Mbb(ZEd(33, 58), ZEd(1, 26));\n vEd = Mbb(ZEd(97, 122), ZEd(65, 90));\n wEd = ZEd(48, 57);\n sEd = Mbb(uEd, 0);\n tEd = Mbb(vEd, wEd);\n xEd = Mbb(Mbb(0, ZEd(1, 6)), ZEd(33, 38));\n yEd = Mbb(Mbb(wEd, ZEd(65, 70)), ZEd(97, 102));\n EEd = Mbb(sEd, XEd(\"-_.!~*'()\"));\n FEd = Mbb(tEd, $Ed(\"-_.!~*'()\"));\n XEd(lve);\n $Ed(lve);\n Mbb(EEd, XEd(\";:@&=+$,\"));\n Mbb(FEd, $Ed(\";:@&=+$,\"));\n zEd = XEd(\":/?#\");\n AEd = $Ed(\":/?#\");\n CEd = XEd(\"/?#\");\n DEd = $Ed(\"/?#\");\n a = new Tqb();\n a.a.zc(\"jar\", a);\n a.a.zc(\"zip\", a);\n a.a.zc(\"archive\", a);\n GEd = (mmb(), new zob(a));\n }\n function yUc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l;\n yNb(b, (mTc(), cTc), 0);\n i3 = BD(vNb(b, aTc), 86);\n if (b.d.b == 0) {\n if (i3) {\n k = Edb(ED(vNb(i3, fTc))) + a.a + zUc(i3, b);\n yNb(b, fTc, k);\n } else {\n yNb(b, fTc, 0);\n }\n } else {\n for (d = (f2 = Jsb(new ZRc(b).a.d, 0), new aSc(f2)); Wsb(d.a); ) {\n c2 = BD(Xsb(d.a), 188).c;\n yUc(a, c2);\n }\n h = BD(pr((g = Jsb(new ZRc(b).a.d, 0), new aSc(g))), 86);\n l = BD(or((e = Jsb(new ZRc(b).a.d, 0), new aSc(e))), 86);\n j = (Edb(ED(vNb(l, fTc))) + Edb(ED(vNb(h, fTc)))) / 2;\n if (i3) {\n k = Edb(ED(vNb(i3, fTc))) + a.a + zUc(i3, b);\n yNb(b, fTc, k);\n yNb(b, cTc, Edb(ED(vNb(b, fTc))) - j);\n xUc(a, b);\n } else {\n yNb(b, fTc, j);\n }\n }\n }\n function Dbc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2;\n h = 0;\n o2 = 0;\n i3 = tlb(a.f, a.f.length);\n f2 = a.d;\n g = a.i;\n d = a.a;\n e = a.b;\n do {\n n = 0;\n for (k = new olb(a.p); k.a < k.c.c.length; ) {\n j = BD(mlb(k), 10);\n m = Cbc(a, j);\n c2 = true;\n (a.q == (kAc(), dAc) || a.q == gAc) && (c2 = Ccb(DD(m.b)));\n if (BD(m.a, 19).a < 0 && c2) {\n ++n;\n i3 = tlb(a.f, a.f.length);\n a.d = a.d + BD(m.a, 19).a;\n o2 += f2 - a.d;\n f2 = a.d + BD(m.a, 19).a;\n g = a.i;\n d = Mu(a.a);\n e = Mu(a.b);\n } else {\n a.f = tlb(i3, i3.length);\n a.d = f2;\n a.a = (Qb(d), d ? new Tkb(d) : Nu(new olb(d)));\n a.b = (Qb(e), e ? new Tkb(e) : Nu(new olb(e)));\n a.i = g;\n }\n }\n ++h;\n l = n != 0 && Ccb(DD(b.Kb(new vgd(meb(o2), meb(h)))));\n } while (l);\n }\n function lYc(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C;\n g = a.f;\n m = b.f;\n h = g == (k$c(), f$c) || g == h$c;\n n = m == f$c || m == h$c;\n i3 = g == g$c || g == i$c;\n o2 = m == g$c || m == i$c;\n j = g == g$c || g == f$c;\n p = m == g$c || m == f$c;\n if (h && n) {\n return a.f == h$c ? a : b;\n } else if (i3 && o2) {\n return a.f == i$c ? a : b;\n } else if (j && p) {\n if (g == g$c) {\n l = a;\n k = b;\n } else {\n l = b;\n k = a;\n }\n f2 = (q = c2.j + c2.f, r = l.e + d.f, s = $wnd.Math.max(q, r), t = s - $wnd.Math.min(c2.j, l.e), u = l.d + d.g - c2.i, u * t);\n e = (v = c2.i + c2.g, w2 = k.d + d.g, A = $wnd.Math.max(v, w2), B = A - $wnd.Math.min(c2.i, k.d), C = k.e + d.f - c2.j, B * C);\n return f2 <= e ? a.f == g$c ? a : b : a.f == f$c ? a : b;\n }\n return a;\n }\n function wGb(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l;\n k = a.e.a.c.length;\n for (g = new olb(a.e.a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 121);\n f2.j = false;\n }\n a.i = KC(WD, oje, 25, k, 15, 1);\n a.g = KC(WD, oje, 25, k, 15, 1);\n a.n = new Rkb();\n e = 0;\n l = new Rkb();\n for (i3 = new olb(a.e.a); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 121);\n h.d = e++;\n h.b.a.c.length == 0 && Ekb(a.n, h);\n Gkb(l, h.g);\n }\n b = 0;\n for (d = new olb(l); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 213);\n c2.c = b++;\n c2.f = false;\n }\n j = l.c.length;\n if (a.b == null || a.b.length < j) {\n a.b = KC(UD, Vje, 25, j, 15, 1);\n a.c = KC(sbb, dle, 25, j, 16, 1);\n } else {\n Blb(a.c);\n }\n a.d = l;\n a.p = new Asb(Cv(a.d.c.length));\n a.j = 1;\n }\n function sTb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n if (b.e.c.length <= 1) {\n return;\n }\n a.f = b;\n a.d = BD(vNb(a.f, (bTb(), SSb)), 379);\n a.g = BD(vNb(a.f, WSb), 19).a;\n a.e = Edb(ED(vNb(a.f, TSb)));\n a.c = Edb(ED(vNb(a.f, RSb)));\n it(a.b);\n for (e = new olb(a.f.c); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 282);\n ht(a.b, d.c, d, null);\n ht(a.b, d.d, d, null);\n }\n h = a.f.e.c.length;\n a.a = IC(UD, [nie, Vje], [104, 25], 15, [h, h], 2);\n for (j = new olb(a.f.e); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 144);\n oTb(a, i3, a.a[i3.b]);\n }\n a.i = IC(UD, [nie, Vje], [104, 25], 15, [h, h], 2);\n for (f2 = 0; f2 < h; ++f2) {\n for (g = 0; g < h; ++g) {\n c2 = a.a[f2][g];\n k = 1 / (c2 * c2);\n a.i[f2][g] = k;\n }\n }\n }\n function Vfe(a) {\n var b, c2, d, e;\n if (a.b == null || a.b.length <= 2)\n return;\n if (a.a)\n return;\n b = 0;\n e = 0;\n while (e < a.b.length) {\n if (b != e) {\n a.b[b] = a.b[e++];\n a.b[b + 1] = a.b[e++];\n } else\n e += 2;\n c2 = a.b[b + 1];\n while (e < a.b.length) {\n if (c2 + 1 < a.b[e])\n break;\n if (c2 + 1 == a.b[e]) {\n a.b[b + 1] = a.b[e + 1];\n c2 = a.b[b + 1];\n e += 2;\n } else if (c2 >= a.b[e + 1]) {\n e += 2;\n } else if (c2 < a.b[e + 1]) {\n a.b[b + 1] = a.b[e + 1];\n c2 = a.b[b + 1];\n e += 2;\n } else {\n throw vbb(new hz(\"Token#compactRanges(): Internel Error: [\" + a.b[b] + \",\" + a.b[b + 1] + \"] [\" + a.b[e] + \",\" + a.b[e + 1] + \"]\"));\n }\n }\n b += 2;\n }\n if (b != a.b.length) {\n d = KC(WD, oje, 25, b, 15, 1);\n $fb(a.b, 0, d, 0, b);\n a.b = d;\n }\n a.a = true;\n }\n function pZb(a, b) {\n var c2, d, e, f2, g, h, i3;\n for (g = Ec(a.a).Kc(); g.Ob(); ) {\n f2 = BD(g.Pb(), 17);\n if (f2.b.c.length > 0) {\n d = new Tkb(BD(Qc(a.a, f2), 21));\n mmb();\n Okb(d, new EZb(b));\n e = new Bib(f2.b, 0);\n while (e.b < e.d.gc()) {\n c2 = (sCb(e.b < e.d.gc()), BD(e.d.Xb(e.c = e.b++), 70));\n h = -1;\n switch (BD(vNb(c2, (Nyc(), Qwc)), 272).g) {\n case 1:\n h = d.c.length - 1;\n break;\n case 0:\n h = nZb(d);\n break;\n case 2:\n h = 0;\n }\n if (h != -1) {\n i3 = (tCb(h, d.c.length), BD(d.c[h], 243));\n Ekb(i3.b.b, c2);\n BD(vNb(Q_b(i3.b.c.i), (wtc(), Ksc)), 21).Fc((Orc(), Grc));\n BD(vNb(Q_b(i3.b.c.i), Ksc), 21).Fc(Erc);\n uib(e);\n yNb(c2, btc, f2);\n }\n }\n }\n QZb(f2, null);\n RZb(f2, null);\n }\n }\n function FLb(a, b) {\n var c2, d, e, f2;\n c2 = new KLb();\n d = BD(GAb(NAb(new YAb(null, new Kub(a.f, 16)), c2), Ayb(new hzb(), new jzb(), new Gzb(), new Izb(), OC(GC(xL, 1), Kie, 132, 0, [(Fyb(), Eyb), Dyb]))), 21);\n e = d.gc();\n e = e == 2 ? 1 : 0;\n e == 1 && Bbb(Hbb(BD(GAb(JAb(d.Lc(), new MLb()), Xyb(Aeb(0), new Czb())), 162).a, 2), 0) && (e = 0);\n d = BD(GAb(NAb(new YAb(null, new Kub(b.f, 16)), c2), Ayb(new hzb(), new jzb(), new Gzb(), new Izb(), OC(GC(xL, 1), Kie, 132, 0, [Eyb, Dyb]))), 21);\n f2 = d.gc();\n f2 = f2 == 2 ? 1 : 0;\n f2 == 1 && Bbb(Hbb(BD(GAb(JAb(d.Lc(), new OLb()), Xyb(Aeb(0), new Czb())), 162).a, 2), 0) && (f2 = 0);\n if (e < f2) {\n return -1;\n }\n if (e == f2) {\n return 0;\n }\n return 1;\n }\n function h6b(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n;\n j = new Rkb();\n if (!wNb(a, (wtc(), Fsc))) {\n return j;\n }\n for (d = BD(vNb(a, Fsc), 15).Kc(); d.Ob(); ) {\n b = BD(d.Pb(), 10);\n g6b(b, a);\n j.c[j.c.length] = b;\n }\n for (f2 = new olb(a.b); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 29);\n for (h = new olb(e.a); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 10);\n if (g.k != (j0b(), e0b)) {\n continue;\n }\n i3 = BD(vNb(g, Gsc), 10);\n !!i3 && (k = new H0b(), F0b(k, g), l = BD(vNb(g, Hsc), 61), G0b(k, l), m = BD(Ikb(i3.j, 0), 11), n = new UZb(), QZb(n, k), RZb(n, m), void 0);\n }\n }\n for (c2 = new olb(j); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 10);\n $_b(b, BD(Ikb(a.b, a.b.c.length - 1), 29));\n }\n return j;\n }\n function M1b(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m;\n b = mpd(a);\n f2 = Ccb(DD(hkd(b, (Nyc(), fxc))));\n k = 0;\n e = 0;\n for (j = new Fyd((!a.e && (a.e = new y5d(B2, a, 7, 4)), a.e)); j.e != j.i.gc(); ) {\n i3 = BD(Dyd(j), 79);\n h = Qld(i3);\n g = h && f2 && Ccb(DD(hkd(i3, gxc)));\n m = atd(BD(qud((!i3.c && (i3.c = new y5d(z2, i3, 5, 8)), i3.c), 0), 82));\n h && g ? ++e : h && !g ? ++k : Xod(m) == b || m == b ? ++e : ++k;\n }\n for (d = new Fyd((!a.d && (a.d = new y5d(B2, a, 8, 5)), a.d)); d.e != d.i.gc(); ) {\n c2 = BD(Dyd(d), 79);\n h = Qld(c2);\n g = h && f2 && Ccb(DD(hkd(c2, gxc)));\n l = atd(BD(qud((!c2.b && (c2.b = new y5d(z2, c2, 4, 7)), c2.b), 0), 82));\n h && g ? ++k : h && !g ? ++e : Xod(l) == b || l == b ? ++k : ++e;\n }\n return k - e;\n }\n function ubc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n;\n Odd(b, \"Edge splitting\", 1);\n if (a.b.c.length <= 2) {\n Qdd(b);\n return;\n }\n f2 = new Bib(a.b, 0);\n g = (sCb(f2.b < f2.d.gc()), BD(f2.d.Xb(f2.c = f2.b++), 29));\n while (f2.b < f2.d.gc()) {\n e = g;\n g = (sCb(f2.b < f2.d.gc()), BD(f2.d.Xb(f2.c = f2.b++), 29));\n for (i3 = new olb(e.a); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 10);\n for (k = new olb(h.j); k.a < k.c.c.length; ) {\n j = BD(mlb(k), 11);\n for (d = new olb(j.g); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 17);\n m = c2.d;\n l = m.i.c;\n l != e && l != g && zbc(c2, (n = new b0b(a), __b(n, (j0b(), g0b)), yNb(n, (wtc(), $sc), c2), yNb(n, (Nyc(), Vxc), (dcd(), $bd)), $_b(n, g), n));\n }\n }\n }\n }\n Qdd(b);\n }\n function MTb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n;\n h = b.p != null && !b.b;\n h || Odd(b, kme, 1);\n c2 = BD(vNb(a, (wtc(), itc)), 15);\n g = 1 / c2.gc();\n if (b.n) {\n Sdd(b, \"ELK Layered uses the following \" + c2.gc() + \" modules:\");\n n = 0;\n for (m = c2.Kc(); m.Ob(); ) {\n k = BD(m.Pb(), 51);\n d = (n < 10 ? \"0\" : \"\") + n++;\n Sdd(b, \" Slot \" + d + \": \" + hdb(rb(k)));\n }\n }\n for (l = c2.Kc(); l.Ob(); ) {\n k = BD(l.Pb(), 51);\n k.pf(a, Udd(b, g));\n }\n for (f2 = new olb(a.b); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 29);\n Gkb(a.a, e.a);\n e.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n }\n for (j = new olb(a.a); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 10);\n $_b(i3, null);\n }\n a.b.c = KC(SI, Uhe, 1, 0, 5, 1);\n h || Qdd(b);\n }\n function kJc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A;\n d = Edb(ED(vNb(b, (Nyc(), Bxc))));\n v = BD(vNb(b, Ayc), 19).a;\n m = 4;\n e = 3;\n w2 = 20 / v;\n n = false;\n i3 = 0;\n g = Ohe;\n do {\n f2 = i3 != 1;\n l = i3 != 0;\n A = 0;\n for (q = a.a, s = 0, u = q.length; s < u; ++s) {\n o2 = q[s];\n o2.f = null;\n lJc(a, o2, f2, l, d);\n A += $wnd.Math.abs(o2.a);\n }\n do {\n h = pJc(a, b);\n } while (h);\n for (p = a.a, r = 0, t = p.length; r < t; ++r) {\n o2 = p[r];\n c2 = xJc(o2).a;\n if (c2 != 0) {\n for (k = new olb(o2.e); k.a < k.c.c.length; ) {\n j = BD(mlb(k), 10);\n j.n.b += c2;\n }\n }\n }\n if (i3 == 0 || i3 == 1) {\n --m;\n if (m <= 0 && (A < g || -m > v)) {\n i3 = 2;\n g = Ohe;\n } else if (i3 == 0) {\n i3 = 1;\n g = A;\n } else {\n i3 = 0;\n g = A;\n }\n } else {\n n = A >= g || g - A < w2;\n g = A;\n n && --e;\n }\n } while (!(n && e <= 0));\n }\n function UCb(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2;\n o2 = new Lqb();\n for (f2 = a.a.ec().Kc(); f2.Ob(); ) {\n d = BD(f2.Pb(), 168);\n Rhb(o2, d, c2.Je(d));\n }\n g = (Qb(a), a ? new Tkb(a) : Nu(a.a.ec().Kc()));\n Okb(g, new WCb(o2));\n h = Gx(g);\n i3 = new hDb(b);\n n = new Lqb();\n jrb(n.f, b, i3);\n while (h.a.gc() != 0) {\n j = null;\n k = null;\n l = null;\n for (e = h.a.ec().Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 168);\n if (Edb(ED(Wd(irb(o2.f, d)))) <= Pje) {\n if (Mhb(n, d.a) && !Mhb(n, d.b)) {\n k = d.b;\n l = d.a;\n j = d;\n break;\n }\n if (Mhb(n, d.b)) {\n if (!Mhb(n, d.a)) {\n k = d.a;\n l = d.b;\n j = d;\n break;\n }\n }\n }\n }\n if (!j) {\n break;\n }\n m = new hDb(k);\n Ekb(BD(Wd(irb(n.f, l)), 221).a, m);\n jrb(n.f, k, m);\n h.a.Bc(j) != null;\n }\n return i3;\n }\n function UBc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n;\n Odd(c2, \"Depth-first cycle removal\", 1);\n l = b.a;\n k = l.c.length;\n a.c = new Rkb();\n a.d = KC(sbb, dle, 25, k, 16, 1);\n a.a = KC(sbb, dle, 25, k, 16, 1);\n a.b = new Rkb();\n g = 0;\n for (j = new olb(l); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 10);\n i3.p = g;\n Qq(R_b(i3)) && Ekb(a.c, i3);\n ++g;\n }\n for (n = new olb(a.c); n.a < n.c.c.length; ) {\n m = BD(mlb(n), 10);\n TBc(a, m);\n }\n for (f2 = 0; f2 < k; f2++) {\n if (!a.d[f2]) {\n h = (tCb(f2, l.c.length), BD(l.c[f2], 10));\n TBc(a, h);\n }\n }\n for (e = new olb(a.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 17);\n PZb(d, true);\n yNb(b, (wtc(), Asc), (Bcb(), true));\n }\n a.c = null;\n a.d = null;\n a.a = null;\n a.b = null;\n Qdd(c2);\n }\n function PSc(a, b) {\n var c2, d, e, f2, g, h, i3;\n a.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n for (d = Jsb(b.b, 0); d.b != d.d.c; ) {\n c2 = BD(Xsb(d), 86);\n if (c2.b.b == 0) {\n yNb(c2, (mTc(), jTc), (Bcb(), true));\n Ekb(a.a, c2);\n }\n }\n switch (a.a.c.length) {\n case 0:\n e = new XRc(0, b, \"DUMMY_ROOT\");\n yNb(e, (mTc(), jTc), (Bcb(), true));\n yNb(e, YSc, true);\n Dsb(b.b, e);\n break;\n case 1:\n break;\n default:\n f2 = new XRc(0, b, \"SUPER_ROOT\");\n for (h = new olb(a.a); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 86);\n i3 = new QRc(f2, g);\n yNb(i3, (mTc(), YSc), (Bcb(), true));\n Dsb(f2.a.a, i3);\n Dsb(f2.d, i3);\n Dsb(g.b, i3);\n yNb(g, jTc, false);\n }\n yNb(f2, (mTc(), jTc), (Bcb(), true));\n yNb(f2, YSc, true);\n Dsb(b.b, f2);\n }\n }\n function z6c(a, b) {\n i6c();\n var c2, d, e, f2, g, h;\n f2 = b.c - (a.c + a.b);\n e = a.c - (b.c + b.b);\n g = a.d - (b.d + b.a);\n c2 = b.d - (a.d + a.a);\n d = $wnd.Math.max(e, f2);\n h = $wnd.Math.max(g, c2);\n Iy();\n My(Jqe);\n if (($wnd.Math.abs(d) <= Jqe || d == 0 || isNaN(d) && isNaN(0) ? 0 : d < 0 ? -1 : d > 0 ? 1 : Ny(isNaN(d), isNaN(0))) >= 0 ^ (My(Jqe), ($wnd.Math.abs(h) <= Jqe || h == 0 || isNaN(h) && isNaN(0) ? 0 : h < 0 ? -1 : h > 0 ? 1 : Ny(isNaN(h), isNaN(0))) >= 0)) {\n return $wnd.Math.max(h, d);\n }\n My(Jqe);\n if (($wnd.Math.abs(d) <= Jqe || d == 0 || isNaN(d) && isNaN(0) ? 0 : d < 0 ? -1 : d > 0 ? 1 : Ny(isNaN(d), isNaN(0))) > 0) {\n return $wnd.Math.sqrt(h * h + d * d);\n }\n return -$wnd.Math.sqrt(h * h + d * d);\n }\n function Kge(a, b) {\n var c2, d, e, f2, g, h;\n if (!b)\n return;\n !a.a && (a.a = new Wvb());\n if (a.e == 2) {\n Tvb(a.a, b);\n return;\n }\n if (b.e == 1) {\n for (e = 0; e < b.em(); e++)\n Kge(a, b.am(e));\n return;\n }\n h = a.a.a.c.length;\n if (h == 0) {\n Tvb(a.a, b);\n return;\n }\n g = BD(Uvb(a.a, h - 1), 117);\n if (!((g.e == 0 || g.e == 10) && (b.e == 0 || b.e == 10))) {\n Tvb(a.a, b);\n return;\n }\n f2 = b.e == 0 ? 2 : b.bm().length;\n if (g.e == 0) {\n c2 = new Ifb();\n d = g._l();\n d >= Tje ? Efb(c2, Tee(d)) : Afb(c2, d & aje);\n g = new Hge(10, null, 0);\n Vvb(a.a, g, h - 1);\n } else {\n c2 = (g.bm().length + f2, new Ifb());\n Efb(c2, g.bm());\n }\n if (b.e == 0) {\n d = b._l();\n d >= Tje ? Efb(c2, Tee(d)) : Afb(c2, d & aje);\n } else {\n Efb(c2, b.bm());\n }\n BD(g, 521).b = c2.a;\n }\n function rgb2(a) {\n var b, c2, d, e, f2;\n if (a.g != null) {\n return a.g;\n }\n if (a.a < 32) {\n a.g = rhb(Cbb(a.f), QD(a.e));\n return a.g;\n }\n e = shb((!a.c && (a.c = fhb(a.f)), a.c), 0);\n if (a.e == 0) {\n return e;\n }\n b = (!a.c && (a.c = fhb(a.f)), a.c).e < 0 ? 2 : 1;\n c2 = e.length;\n d = -a.e + c2 - b;\n f2 = new Ufb();\n f2.a += \"\" + e;\n if (a.e > 0 && d >= -6) {\n if (d >= 0) {\n Tfb(f2, c2 - QD(a.e), String.fromCharCode(46));\n } else {\n f2.a = qfb(f2.a, 0, b - 1) + \"0.\" + pfb(f2.a, b - 1);\n Tfb(f2, b + 1, zfb(egb, 0, -QD(d) - 1));\n }\n } else {\n if (c2 - b >= 1) {\n Tfb(f2, b, String.fromCharCode(46));\n ++c2;\n }\n Tfb(f2, c2, String.fromCharCode(69));\n d > 0 && Tfb(f2, ++c2, String.fromCharCode(43));\n Tfb(f2, ++c2, \"\" + Ubb(Cbb(d)));\n }\n a.g = f2.a;\n return a.g;\n }\n function npc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q;\n if (c2.dc()) {\n return;\n }\n h = 0;\n m = 0;\n d = c2.Kc();\n o2 = BD(d.Pb(), 19).a;\n while (h < b.f) {\n if (h == o2) {\n m = 0;\n d.Ob() ? o2 = BD(d.Pb(), 19).a : o2 = b.f + 1;\n }\n if (h != m) {\n q = BD(Ikb(a.b, h), 29);\n n = BD(Ikb(a.b, m), 29);\n p = Mu(q.a);\n for (l = new olb(p); l.a < l.c.c.length; ) {\n k = BD(mlb(l), 10);\n Z_b(k, n.a.c.length, n);\n if (m == 0) {\n g = Mu(R_b(k));\n for (f2 = new olb(g); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 17);\n PZb(e, true);\n yNb(a, (wtc(), Asc), (Bcb(), true));\n Noc(a, e, 1);\n }\n }\n }\n }\n ++m;\n ++h;\n }\n i3 = new Bib(a.b, 0);\n while (i3.b < i3.d.gc()) {\n j = (sCb(i3.b < i3.d.gc()), BD(i3.d.Xb(i3.c = i3.b++), 29));\n j.a.c.length == 0 && uib(i3);\n }\n }\n function xmc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t;\n g = b.b;\n k = g.o;\n i3 = g.d;\n d = Edb(ED(c_b(g, (Nyc(), lyc))));\n e = Edb(ED(c_b(g, nyc)));\n j = Edb(ED(c_b(g, xyc)));\n h = new L_b();\n v_b(h, i3.d, i3.c, i3.a, i3.b);\n m = tmc(b, d, e, j);\n for (r = new olb(b.d); r.a < r.c.c.length; ) {\n q = BD(mlb(r), 101);\n for (o2 = q.f.a.ec().Kc(); o2.Ob(); ) {\n n = BD(o2.Pb(), 409);\n f2 = n.a;\n l = rmc(n);\n c2 = (s = new s7c(), pmc(n, n.c, m, s), omc(n, l, m, s), pmc(n, n.d, m, s), s);\n c2 = a.Uf(n, l, c2);\n Osb(f2.a);\n ye(f2.a, c2);\n MAb(new YAb(null, new Kub(c2, 16)), new Bmc(k, h));\n }\n p = q.i;\n if (p) {\n wmc(q, p, m, e);\n t = new g7c(p.g);\n ymc(k, h, t);\n P6c(t, p.j);\n ymc(k, h, t);\n }\n }\n v_b(i3, h.d, h.c, h.a, h.b);\n }\n function rgc(a, b, c2) {\n var d, e, f2;\n e = BD(vNb(b, (Nyc(), swc)), 275);\n if (e == (yrc(), wrc)) {\n return;\n }\n Odd(c2, \"Horizontal Compaction\", 1);\n a.a = b;\n f2 = new Ygc();\n d = new cEb((f2.d = b, f2.c = BD(vNb(f2.d, Swc), 218), Pgc(f2), Wgc(f2), Vgc(f2), f2.a));\n aEb(d, a.b);\n switch (BD(vNb(b, rwc), 422).g) {\n case 1:\n $Db(d, new jfc(a.a));\n break;\n default:\n $Db(d, (ODb(), MDb));\n }\n switch (e.g) {\n case 1:\n TDb(d);\n break;\n case 2:\n TDb(SDb(d, (ead(), bad)));\n break;\n case 3:\n TDb(_Db(SDb(TDb(d), (ead(), bad)), new Bgc()));\n break;\n case 4:\n TDb(_Db(SDb(TDb(d), (ead(), bad)), new Dgc(f2)));\n break;\n case 5:\n TDb(ZDb(d, pgc));\n }\n SDb(d, (ead(), aad));\n d.e = true;\n Mgc(f2);\n Qdd(c2);\n }\n function mYc(a, b, c2, d, e, f2, g, h) {\n var i3, j, k, l;\n i3 = Ou(OC(GC(z_, 1), Uhe, 220, 0, [b, c2, d, e]));\n l = null;\n switch (a.b.g) {\n case 1:\n l = Ou(OC(GC(o_, 1), Uhe, 526, 0, [new uYc(), new oYc(), new qYc()]));\n break;\n case 0:\n l = Ou(OC(GC(o_, 1), Uhe, 526, 0, [new qYc(), new oYc(), new uYc()]));\n break;\n case 2:\n l = Ou(OC(GC(o_, 1), Uhe, 526, 0, [new oYc(), new uYc(), new qYc()]));\n }\n for (k = new olb(l); k.a < k.c.c.length; ) {\n j = BD(mlb(k), 526);\n i3.c.length > 1 && (i3 = j.mg(i3, a.a, h));\n }\n if (i3.c.length == 1) {\n return BD(Ikb(i3, i3.c.length - 1), 220);\n }\n if (i3.c.length == 2) {\n return lYc((tCb(0, i3.c.length), BD(i3.c[0], 220)), (tCb(1, i3.c.length), BD(i3.c[1], 220)), g, f2);\n }\n return null;\n }\n function JNb(a) {\n var b, c2, d, e, f2, g;\n Hkb(a.a, new PNb());\n for (c2 = new olb(a.a); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 221);\n d = c7c(R6c(BD(a.b, 65).c), BD(b.b, 65).c);\n if (FNb) {\n g = BD(a.b, 65).b;\n f2 = BD(b.b, 65).b;\n if ($wnd.Math.abs(d.a) >= $wnd.Math.abs(d.b)) {\n d.b = 0;\n f2.d + f2.a > g.d && f2.d < g.d + g.a && $6c(d, $wnd.Math.max(g.c - (f2.c + f2.b), f2.c - (g.c + g.b)));\n } else {\n d.a = 0;\n f2.c + f2.b > g.c && f2.c < g.c + g.b && $6c(d, $wnd.Math.max(g.d - (f2.d + f2.a), f2.d - (g.d + g.a)));\n }\n } else {\n $6c(d, _Nb(BD(a.b, 65), BD(b.b, 65)));\n }\n e = $wnd.Math.sqrt(d.a * d.a + d.b * d.b);\n e = LNb(GNb, b, e, d);\n $6c(d, e);\n $Nb(BD(b.b, 65), d);\n Hkb(b.a, new RNb(d));\n BD(GNb.b, 65);\n KNb(GNb, HNb, b);\n }\n }\n function VJc(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2;\n a.f = new KFb();\n j = 0;\n e = 0;\n for (g = new olb(a.e.b); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 29);\n for (i3 = new olb(f2.a); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 10);\n h.p = j++;\n for (d = new Sr(ur(U_b(h).a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 17);\n c2.p = e++;\n }\n b = bKc(h);\n for (m = new olb(h.j); m.a < m.c.c.length; ) {\n l = BD(mlb(m), 11);\n if (b) {\n o2 = l.a.b;\n if (o2 != $wnd.Math.floor(o2)) {\n k = o2 - Sbb(Cbb($wnd.Math.round(o2)));\n l.a.b -= k;\n }\n }\n n = l.n.b + l.a.b;\n if (n != $wnd.Math.floor(n)) {\n k = n - Sbb(Cbb($wnd.Math.round(n)));\n l.n.b -= k;\n }\n }\n }\n }\n a.g = j;\n a.b = e;\n a.i = KC(xY, Uhe, 401, j, 0, 1);\n a.c = KC(wY, Uhe, 649, e, 0, 1);\n a.d.a.$b();\n }\n function Uxd(a) {\n var b, c2, d, e, f2, g, h, i3, j;\n if (a.ej()) {\n i3 = a.fj();\n if (a.i > 0) {\n b = new _zd(a.i, a.g);\n c2 = a.i;\n f2 = c2 < 100 ? null : new Ixd(c2);\n if (a.ij()) {\n for (d = 0; d < a.i; ++d) {\n g = a.g[d];\n f2 = a.kj(g, f2);\n }\n }\n oud(a);\n e = c2 == 1 ? a.Zi(4, qud(b, 0), null, 0, i3) : a.Zi(6, b, null, -1, i3);\n if (a.bj()) {\n for (d = new $yd(b); d.e != d.i.gc(); ) {\n f2 = a.dj(Zyd(d), f2);\n }\n if (!f2) {\n a.$i(e);\n } else {\n f2.Ei(e);\n f2.Fi();\n }\n } else {\n if (!f2) {\n a.$i(e);\n } else {\n f2.Ei(e);\n f2.Fi();\n }\n }\n } else {\n oud(a);\n a.$i(a.Zi(6, (mmb(), jmb), null, -1, i3));\n }\n } else if (a.bj()) {\n if (a.i > 0) {\n h = a.g;\n j = a.i;\n oud(a);\n f2 = j < 100 ? null : new Ixd(j);\n for (d = 0; d < j; ++d) {\n g = h[d];\n f2 = a.dj(g, f2);\n }\n !!f2 && f2.Fi();\n } else {\n oud(a);\n }\n } else {\n oud(a);\n }\n }\n function ZQc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m;\n TQc(this);\n c2 == (FQc(), DQc) ? Qqb(this.r, a) : Qqb(this.w, a);\n k = Pje;\n j = Qje;\n for (g = b.a.ec().Kc(); g.Ob(); ) {\n e = BD(g.Pb(), 46);\n h = BD(e.a, 455);\n d = BD(e.b, 17);\n i3 = d.c;\n i3 == a && (i3 = d.d);\n h == DQc ? Qqb(this.r, i3) : Qqb(this.w, i3);\n m = (Ucd(), Lcd).Hc(i3.j) ? Edb(ED(vNb(i3, (wtc(), qtc)))) : l7c(OC(GC(m1, 1), nie, 8, 0, [i3.i.n, i3.n, i3.a])).b;\n k = $wnd.Math.min(k, m);\n j = $wnd.Math.max(j, m);\n }\n l = (Ucd(), Lcd).Hc(a.j) ? Edb(ED(vNb(a, (wtc(), qtc)))) : l7c(OC(GC(m1, 1), nie, 8, 0, [a.i.n, a.n, a.a])).b;\n XQc(this, l, k, j);\n for (f2 = b.a.ec().Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 46);\n UQc(this, BD(e.b, 17));\n }\n this.o = false;\n }\n function gD(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F, G;\n c2 = a.l & 8191;\n d = a.l >> 13 | (a.m & 15) << 9;\n e = a.m >> 4 & 8191;\n f2 = a.m >> 17 | (a.h & 255) << 5;\n g = (a.h & 1048320) >> 8;\n h = b.l & 8191;\n i3 = b.l >> 13 | (b.m & 15) << 9;\n j = b.m >> 4 & 8191;\n k = b.m >> 17 | (b.h & 255) << 5;\n l = (b.h & 1048320) >> 8;\n B = c2 * h;\n C = d * h;\n D = e * h;\n F = f2 * h;\n G = g * h;\n if (i3 != 0) {\n C += c2 * i3;\n D += d * i3;\n F += e * i3;\n G += f2 * i3;\n }\n if (j != 0) {\n D += c2 * j;\n F += d * j;\n G += e * j;\n }\n if (k != 0) {\n F += c2 * k;\n G += d * k;\n }\n l != 0 && (G += c2 * l);\n n = B & Eje;\n o2 = (C & 511) << 13;\n m = n + o2;\n q = B >> 22;\n r = C >> 9;\n s = (D & 262143) << 4;\n t = (F & 31) << 17;\n p = q + r + s + t;\n v = D >> 18;\n w2 = F >> 5;\n A = (G & 4095) << 8;\n u = v + w2 + A;\n p += m >> 22;\n m &= Eje;\n u += p >> 22;\n p &= Eje;\n u &= Fje;\n return TC(m, p, u);\n }\n function o7b(a) {\n var b, c2, d, e, f2, g, h;\n h = BD(Ikb(a.j, 0), 11);\n if (h.g.c.length != 0 && h.e.c.length != 0) {\n throw vbb(new Zdb(\"Interactive layout does not support NORTH/SOUTH ports with incoming _and_ outgoing edges.\"));\n }\n if (h.g.c.length != 0) {\n f2 = Pje;\n for (c2 = new olb(h.g); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 17);\n g = b.d.i;\n d = BD(vNb(g, (Nyc(), txc)), 142);\n f2 = $wnd.Math.min(f2, g.n.a - d.b);\n }\n return new cc(Qb(f2));\n }\n if (h.e.c.length != 0) {\n e = Qje;\n for (c2 = new olb(h.e); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 17);\n g = b.c.i;\n d = BD(vNb(g, (Nyc(), txc)), 142);\n e = $wnd.Math.max(e, g.n.a + g.o.a + d.c);\n }\n return new cc(Qb(e));\n }\n return wb(), wb(), vb;\n }\n function ELd(a, b) {\n var c2, d, e, f2, g, h, i3;\n if (a.Fk()) {\n if (a.i > 4) {\n if (a.wj(b)) {\n if (a.rk()) {\n e = BD(b, 49);\n d = e.Ug();\n i3 = d == a.e && (a.Dk() ? e.Og(e.Vg(), a.zk()) == a.Ak() : -1 - e.Vg() == a.aj());\n if (a.Ek() && !i3 && !d && !!e.Zg()) {\n for (f2 = 0; f2 < a.i; ++f2) {\n c2 = a.Gk(BD(a.g[f2], 56));\n if (PD(c2) === PD(b)) {\n return true;\n }\n }\n }\n return i3;\n } else if (a.Dk() && !a.Ck()) {\n g = BD(b, 56).ah(zUd(BD(a.ak(), 18)));\n if (PD(g) === PD(a.e)) {\n return true;\n } else if (g == null || !BD(g, 56).kh()) {\n return false;\n }\n }\n } else {\n return false;\n }\n }\n h = pud(a, b);\n if (a.Ek() && !h) {\n for (f2 = 0; f2 < a.i; ++f2) {\n e = a.Gk(BD(a.g[f2], 56));\n if (PD(e) === PD(b)) {\n return true;\n }\n }\n }\n return h;\n } else {\n return pud(a, b);\n }\n }\n function mHc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m;\n k = new Rkb();\n m = new Tqb();\n g = b.b;\n for (e = 0; e < g.c.length; e++) {\n j = (tCb(e, g.c.length), BD(g.c[e], 29)).a;\n k.c = KC(SI, Uhe, 1, 0, 5, 1);\n for (f2 = 0; f2 < j.c.length; f2++) {\n h = a.a[e][f2];\n h.p = f2;\n h.k == (j0b(), i0b) && (k.c[k.c.length] = h, true);\n Nkb(BD(Ikb(b.b, e), 29).a, f2, h);\n h.j.c = KC(SI, Uhe, 1, 0, 5, 1);\n Gkb(h.j, BD(BD(Ikb(a.b, e), 15).Xb(f2), 14));\n ecd(BD(vNb(h, (Nyc(), Vxc)), 98)) || yNb(h, Vxc, (dcd(), Zbd));\n }\n for (d = new olb(k); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 10);\n l = kHc(c2);\n m.a.zc(l, m);\n m.a.zc(c2, m);\n }\n }\n for (i3 = m.a.ec().Kc(); i3.Ob(); ) {\n h = BD(i3.Pb(), 10);\n mmb();\n Okb(h.j, (Occ(), Icc));\n h.i = true;\n N_b(h);\n }\n }\n function g6b(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l;\n k = BD(vNb(a, (wtc(), Hsc)), 61);\n d = BD(Ikb(a.j, 0), 11);\n k == (Ucd(), Acd) ? G0b(d, Rcd) : k == Rcd && G0b(d, Acd);\n if (BD(vNb(b, (Nyc(), Fxc)), 174).Hc((tdd(), sdd))) {\n i3 = Edb(ED(vNb(a, tyc)));\n j = Edb(ED(vNb(a, uyc)));\n g = Edb(ED(vNb(a, ryc)));\n h = BD(vNb(b, Yxc), 21);\n if (h.Hc((rcd(), ncd))) {\n c2 = j;\n l = a.o.a / 2 - d.n.a;\n for (f2 = new olb(d.f); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 70);\n e.n.b = c2;\n e.n.a = l - e.o.a / 2;\n c2 += e.o.b + g;\n }\n } else if (h.Hc(pcd)) {\n for (f2 = new olb(d.f); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 70);\n e.n.a = i3 + a.o.a - d.n.a;\n }\n }\n WGb(new YGb((a$b(), new l$b(b, false, false, new T$b()))), new x$b(null, a, false));\n }\n }\n function Ugc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n if (b.c.length == 0) {\n return;\n }\n mmb();\n Mlb(b.c, b.c.length, null);\n e = new olb(b);\n d = BD(mlb(e), 145);\n while (e.a < e.c.c.length) {\n c2 = BD(mlb(e), 145);\n if (ADb(d.e.c, c2.e.c) && !(DDb(B6c(d.e).b, c2.e.d) || DDb(B6c(c2.e).b, d.e.d))) {\n d = (Gkb(d.k, c2.k), Gkb(d.b, c2.b), Gkb(d.c, c2.c), ye(d.i, c2.i), Gkb(d.d, c2.d), Gkb(d.j, c2.j), f2 = $wnd.Math.min(d.e.c, c2.e.c), g = $wnd.Math.min(d.e.d, c2.e.d), h = $wnd.Math.max(d.e.c + d.e.b, c2.e.c + c2.e.b), i3 = h - f2, j = $wnd.Math.max(d.e.d + d.e.a, c2.e.d + c2.e.a), k = j - g, G6c(d.e, f2, g, i3, k), hEb(d.f, c2.f), !d.a && (d.a = c2.a), Gkb(d.g, c2.g), Ekb(d.g, c2), d);\n } else {\n Xgc(a, d);\n d = c2;\n }\n }\n Xgc(a, d);\n }\n function e_b(a, b, c2, d) {\n var e, f2, g, h, i3, j;\n h = a.j;\n if (h == (Ucd(), Scd) && b != (dcd(), bcd) && b != (dcd(), ccd)) {\n h = W$b(a, c2);\n G0b(a, h);\n !(!a.q ? (mmb(), mmb(), kmb) : a.q)._b((Nyc(), Uxc)) && h != Scd && (a.n.a != 0 || a.n.b != 0) && yNb(a, Uxc, V$b(a, h));\n }\n if (b == (dcd(), _bd)) {\n j = 0;\n switch (h.g) {\n case 1:\n case 3:\n f2 = a.i.o.a;\n f2 > 0 && (j = a.n.a / f2);\n break;\n case 2:\n case 4:\n e = a.i.o.b;\n e > 0 && (j = a.n.b / e);\n }\n yNb(a, (wtc(), htc), j);\n }\n i3 = a.o;\n g = a.a;\n if (d) {\n g.a = d.a;\n g.b = d.b;\n a.d = true;\n } else if (b != bcd && b != ccd && h != Scd) {\n switch (h.g) {\n case 1:\n g.a = i3.a / 2;\n break;\n case 2:\n g.a = i3.a;\n g.b = i3.b / 2;\n break;\n case 3:\n g.a = i3.a / 2;\n g.b = i3.b;\n break;\n case 4:\n g.b = i3.b / 2;\n }\n } else {\n g.a = i3.a / 2;\n g.b = i3.b / 2;\n }\n }\n function vwd(a) {\n var b, c2, d, e, f2, g, h, i3, j, k;\n if (a.ej()) {\n k = a.Vi();\n i3 = a.fj();\n if (k > 0) {\n b = new Aud(a.Gi());\n c2 = k;\n f2 = c2 < 100 ? null : new Ixd(c2);\n Cvd(a, c2, b.g);\n e = c2 == 1 ? a.Zi(4, qud(b, 0), null, 0, i3) : a.Zi(6, b, null, -1, i3);\n if (a.bj()) {\n for (d = new Fyd(b); d.e != d.i.gc(); ) {\n f2 = a.dj(Dyd(d), f2);\n }\n if (!f2) {\n a.$i(e);\n } else {\n f2.Ei(e);\n f2.Fi();\n }\n } else {\n if (!f2) {\n a.$i(e);\n } else {\n f2.Ei(e);\n f2.Fi();\n }\n }\n } else {\n Cvd(a, a.Vi(), a.Wi());\n a.$i(a.Zi(6, (mmb(), jmb), null, -1, i3));\n }\n } else if (a.bj()) {\n k = a.Vi();\n if (k > 0) {\n h = a.Wi();\n j = k;\n Cvd(a, k, h);\n f2 = j < 100 ? null : new Ixd(j);\n for (d = 0; d < j; ++d) {\n g = h[d];\n f2 = a.dj(g, f2);\n }\n !!f2 && f2.Fi();\n } else {\n Cvd(a, a.Vi(), a.Wi());\n }\n } else {\n Cvd(a, a.Vi(), a.Wi());\n }\n }\n function LEc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n;\n for (h = new olb(b); h.a < h.c.c.length; ) {\n f2 = BD(mlb(h), 233);\n f2.e = null;\n f2.c = 0;\n }\n i3 = null;\n for (g = new olb(b); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 233);\n l = f2.d[0];\n if (c2 && l.k != (j0b(), h0b)) {\n continue;\n }\n for (n = BD(vNb(l, (wtc(), Qsc)), 15).Kc(); n.Ob(); ) {\n m = BD(n.Pb(), 10);\n if (!c2 || m.k == (j0b(), h0b)) {\n (!f2.e && (f2.e = new Rkb()), f2.e).Fc(a.b[m.c.p][m.p]);\n ++a.b[m.c.p][m.p].c;\n }\n }\n if (!c2 && l.k == (j0b(), h0b)) {\n if (i3) {\n for (k = BD(Qc(a.d, i3), 21).Kc(); k.Ob(); ) {\n j = BD(k.Pb(), 10);\n for (e = BD(Qc(a.d, l), 21).Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 10);\n YEc(a.b[j.c.p][j.p]).Fc(a.b[d.c.p][d.p]);\n ++a.b[d.c.p][d.p].c;\n }\n }\n }\n i3 = l;\n }\n }\n }\n function OHc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n c2 = 0;\n k = new Rkb();\n for (h = new olb(b); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 11);\n AHc(a.b, a.d[g.p]);\n k.c = KC(SI, Uhe, 1, 0, 5, 1);\n switch (g.i.k.g) {\n case 0:\n d = BD(vNb(g, (wtc(), gtc)), 10);\n Hkb(d.j, new xIc(k));\n break;\n case 1:\n Ctb(KAb(JAb(new YAb(null, new Kub(g.i.j, 16)), new zIc(g))), new CIc(k));\n break;\n case 3:\n e = BD(vNb(g, (wtc(), $sc)), 11);\n Ekb(k, new vgd(e, meb(g.e.c.length + g.g.c.length)));\n }\n for (j = new olb(k); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 46);\n f2 = aIc(a, BD(i3.a, 11));\n if (f2 > a.d[g.p]) {\n c2 += zHc(a.b, f2) * BD(i3.b, 19).a;\n Wjb(a.a, meb(f2));\n }\n }\n while (!akb(a.a)) {\n xHc(a.b, BD(fkb(a.a), 19).a);\n }\n }\n return c2;\n }\n function eed(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n, o2, p, q;\n l = new g7c(BD(hkd(a, (X7c(), R7c)), 8));\n l.a = $wnd.Math.max(l.a - c2.b - c2.c, 0);\n l.b = $wnd.Math.max(l.b - c2.d - c2.a, 0);\n e = ED(hkd(a, L7c));\n (e == null || (uCb(e), e) <= 0) && (e = 1.3);\n h = new Rkb();\n for (o2 = new Fyd((!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a)); o2.e != o2.i.gc(); ) {\n n = BD(Dyd(o2), 33);\n g = new xed(n);\n h.c[h.c.length] = g;\n }\n m = BD(hkd(a, M7c), 311);\n switch (m.g) {\n case 3:\n q = bed(h, b, l.a, l.b, (j = d, uCb(e), j));\n break;\n case 1:\n q = aed(h, b, l.a, l.b, (k = d, uCb(e), k));\n break;\n default:\n q = ced(h, b, l.a, l.b, (i3 = d, uCb(e), i3));\n }\n f2 = new wed(q);\n p = fed(f2, b, c2, l.a, l.b, d, (uCb(e), e));\n Afd(a, p.a, p.b, false, true);\n }\n function vkc(a, b) {\n var c2, d, e, f2;\n c2 = b.b;\n f2 = new Tkb(c2.j);\n e = 0;\n d = c2.j;\n d.c = KC(SI, Uhe, 1, 0, 5, 1);\n hkc(BD(Si(a.b, (Ucd(), Acd), (Fkc(), Ekc)), 15), c2);\n e = ikc(f2, e, new blc(), d);\n hkc(BD(Si(a.b, Acd, Dkc), 15), c2);\n e = ikc(f2, e, new dlc(), d);\n hkc(BD(Si(a.b, Acd, Ckc), 15), c2);\n hkc(BD(Si(a.b, zcd, Ekc), 15), c2);\n hkc(BD(Si(a.b, zcd, Dkc), 15), c2);\n e = ikc(f2, e, new flc(), d);\n hkc(BD(Si(a.b, zcd, Ckc), 15), c2);\n hkc(BD(Si(a.b, Rcd, Ekc), 15), c2);\n e = ikc(f2, e, new hlc(), d);\n hkc(BD(Si(a.b, Rcd, Dkc), 15), c2);\n e = ikc(f2, e, new jlc(), d);\n hkc(BD(Si(a.b, Rcd, Ckc), 15), c2);\n hkc(BD(Si(a.b, Tcd, Ekc), 15), c2);\n e = ikc(f2, e, new Pkc(), d);\n hkc(BD(Si(a.b, Tcd, Dkc), 15), c2);\n hkc(BD(Si(a.b, Tcd, Ckc), 15), c2);\n }\n function nbc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p;\n Odd(b, \"Layer size calculation\", 1);\n k = Pje;\n j = Qje;\n e = false;\n for (h = new olb(a.b); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 29);\n i3 = g.c;\n i3.a = 0;\n i3.b = 0;\n if (g.a.c.length == 0) {\n continue;\n }\n e = true;\n for (m = new olb(g.a); m.a < m.c.c.length; ) {\n l = BD(mlb(m), 10);\n o2 = l.o;\n n = l.d;\n i3.a = $wnd.Math.max(i3.a, o2.a + n.b + n.c);\n }\n d = BD(Ikb(g.a, 0), 10);\n p = d.n.b - d.d.d;\n d.k == (j0b(), e0b) && (p -= BD(vNb(a, (Nyc(), yyc)), 142).d);\n f2 = BD(Ikb(g.a, g.a.c.length - 1), 10);\n c2 = f2.n.b + f2.o.b + f2.d.a;\n f2.k == e0b && (c2 += BD(vNb(a, (Nyc(), yyc)), 142).a);\n i3.b = c2 - p;\n k = $wnd.Math.min(k, p);\n j = $wnd.Math.max(j, c2);\n }\n if (!e) {\n k = 0;\n j = 0;\n }\n a.f.b = j - k;\n a.c.b -= k;\n Qdd(b);\n }\n function h_b(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r;\n f2 = 0;\n g = 0;\n for (j = new olb(a.a); j.a < j.c.c.length; ) {\n h = BD(mlb(j), 10);\n f2 = $wnd.Math.max(f2, h.d.b);\n g = $wnd.Math.max(g, h.d.c);\n }\n for (i3 = new olb(a.a); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 10);\n c2 = BD(vNb(h, (Nyc(), mwc)), 248);\n switch (c2.g) {\n case 1:\n o2 = 0;\n break;\n case 2:\n o2 = 1;\n break;\n case 5:\n o2 = 0.5;\n break;\n default:\n d = 0;\n l = 0;\n for (n = new olb(h.j); n.a < n.c.c.length; ) {\n m = BD(mlb(n), 11);\n m.e.c.length == 0 || ++d;\n m.g.c.length == 0 || ++l;\n }\n d + l == 0 ? o2 = 0.5 : o2 = l / (d + l);\n }\n q = a.c;\n k = h.o.a;\n r = (q.a - k) * o2;\n o2 > 0.5 ? r -= g * 2 * (o2 - 0.5) : o2 < 0.5 && (r += f2 * 2 * (0.5 - o2));\n e = h.d.b;\n r < e && (r = e);\n p = h.d.c;\n r > q.a - p - k && (r = q.a - p - k);\n h.n.a = b + r;\n }\n }\n function ced(a, b, c2, d, e) {\n var f2, g, h, i3, j, k, l, m, n, o2, p, q;\n h = KC(UD, Vje, 25, a.c.length, 15, 1);\n m = new gub(new Ned());\n _tb(m, a);\n j = 0;\n p = new Rkb();\n while (m.b.c.length != 0) {\n g = BD(m.b.c.length == 0 ? null : Ikb(m.b, 0), 157);\n if (j > 1 && red(g) * qed(g) / 2 > h[0]) {\n f2 = 0;\n while (f2 < p.c.length - 1 && red(g) * qed(g) / 2 > h[f2]) {\n ++f2;\n }\n o2 = new Jib(p, 0, f2 + 1);\n l = new wed(o2);\n k = red(g) / qed(g);\n i3 = fed(l, b, new p0b(), c2, d, e, k);\n P6c(X6c(l.e), i3);\n zCb(cub(m, l));\n n = new Jib(p, f2 + 1, p.c.length);\n _tb(m, n);\n p.c = KC(SI, Uhe, 1, 0, 5, 1);\n j = 0;\n Dlb(h, h.length, 0);\n } else {\n q = m.b.c.length == 0 ? null : Ikb(m.b, 0);\n q != null && fub(m, 0);\n j > 0 && (h[j] = h[j - 1]);\n h[j] += red(g) * qed(g);\n ++j;\n p.c[p.c.length] = g;\n }\n }\n return p;\n }\n function Wac(a) {\n var b, c2, d, e, f2;\n d = BD(vNb(a, (Nyc(), mxc)), 163);\n if (d == (Ctc(), ytc)) {\n for (c2 = new Sr(ur(R_b(a).a.Kc(), new Sq())); Qr(c2); ) {\n b = BD(Rr(c2), 17);\n if (!Yac(b)) {\n throw vbb(new y2c(Fne + P_b(a) + \"' has its layer constraint set to FIRST_SEPARATE, but has at least one incoming edge. FIRST_SEPARATE nodes must not have incoming edges.\"));\n }\n }\n } else if (d == Atc) {\n for (f2 = new Sr(ur(U_b(a).a.Kc(), new Sq())); Qr(f2); ) {\n e = BD(Rr(f2), 17);\n if (!Yac(e)) {\n throw vbb(new y2c(Fne + P_b(a) + \"' has its layer constraint set to LAST_SEPARATE, but has at least one outgoing edge. LAST_SEPARATE nodes must not have outgoing edges.\"));\n }\n }\n }\n }\n function C9b(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2;\n Odd(b, \"Label dummy removal\", 1);\n d = Edb(ED(vNb(a, (Nyc(), nyc))));\n e = Edb(ED(vNb(a, ryc)));\n j = BD(vNb(a, Lwc), 103);\n for (i3 = new olb(a.b); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 29);\n l = new Bib(h.a, 0);\n while (l.b < l.d.gc()) {\n k = (sCb(l.b < l.d.gc()), BD(l.d.Xb(l.c = l.b++), 10));\n if (k.k == (j0b(), f0b)) {\n m = BD(vNb(k, (wtc(), $sc)), 17);\n o2 = Edb(ED(vNb(m, Zwc)));\n g = PD(vNb(k, Ssc)) === PD((rbd(), obd));\n c2 = new g7c(k.n);\n g && (c2.b += o2 + d);\n f2 = new f7c(k.o.a, k.o.b - o2 - d);\n n = BD(vNb(k, ktc), 15);\n j == (ead(), dad) || j == _9c ? B9b(n, c2, e, f2, g, j) : A9b(n, c2, e, f2);\n Gkb(m.b, n);\n sbc(k, PD(vNb(a, Swc)) === PD((Aad(), xad)));\n uib(l);\n }\n }\n }\n Qdd(b);\n }\n function tZb(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v;\n i3 = new Rkb();\n for (f2 = new olb(b.a); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 10);\n for (h = new olb(e.j); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 11);\n k = null;\n for (t = k_b(g.g), u = 0, v = t.length; u < v; ++u) {\n s = t[u];\n if (!f_b(s.d.i, c2)) {\n r = oZb(a, b, c2, s, s.c, (KAc(), IAc), k);\n r != k && (i3.c[i3.c.length] = r, true);\n r.c && (k = r);\n }\n }\n j = null;\n for (o2 = k_b(g.e), p = 0, q = o2.length; p < q; ++p) {\n n = o2[p];\n if (!f_b(n.c.i, c2)) {\n r = oZb(a, b, c2, n, n.d, (KAc(), HAc), j);\n r != j && (i3.c[i3.c.length] = r, true);\n r.c && (j = r);\n }\n }\n }\n }\n for (m = new olb(i3); m.a < m.c.c.length; ) {\n l = BD(mlb(m), 441);\n Jkb(b.a, l.a, 0) != -1 || Ekb(b.a, l.a);\n l.c && (d.c[d.c.length] = l, true);\n }\n }\n function jCc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q;\n Odd(c2, \"Interactive cycle breaking\", 1);\n l = new Rkb();\n for (n = new olb(b.a); n.a < n.c.c.length; ) {\n m = BD(mlb(n), 10);\n m.p = 1;\n o2 = T_b(m).a;\n for (k = W_b(m, (KAc(), IAc)).Kc(); k.Ob(); ) {\n j = BD(k.Pb(), 11);\n for (f2 = new olb(j.g); f2.a < f2.c.c.length; ) {\n d = BD(mlb(f2), 17);\n p = d.d.i;\n if (p != m) {\n q = T_b(p).a;\n q < o2 && (l.c[l.c.length] = d, true);\n }\n }\n }\n }\n for (g = new olb(l); g.a < g.c.c.length; ) {\n d = BD(mlb(g), 17);\n PZb(d, true);\n }\n l.c = KC(SI, Uhe, 1, 0, 5, 1);\n for (i3 = new olb(b.a); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 10);\n h.p > 0 && iCc(a, h, l);\n }\n for (e = new olb(l); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 17);\n PZb(d, true);\n }\n l.c = KC(SI, Uhe, 1, 0, 5, 1);\n Qdd(c2);\n }\n function _z(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n j = \"\";\n if (b.length == 0) {\n return a.de(Zie, Xie, -1, -1);\n }\n k = ufb(b);\n dfb(k.substr(0, 3), \"at \") && (k = k.substr(3));\n k = k.replace(/\\[.*?\\]/g, \"\");\n g = k.indexOf(\"(\");\n if (g == -1) {\n g = k.indexOf(\"@\");\n if (g == -1) {\n j = k;\n k = \"\";\n } else {\n j = ufb(k.substr(g + 1));\n k = ufb(k.substr(0, g));\n }\n } else {\n c2 = k.indexOf(\")\", g);\n j = k.substr(g + 1, c2 - (g + 1));\n k = ufb(k.substr(0, g));\n }\n g = hfb(k, wfb(46));\n g != -1 && (k = k.substr(g + 1));\n (k.length == 0 || dfb(k, \"Anonymous function\")) && (k = Xie);\n h = kfb(j, wfb(58));\n e = lfb(j, wfb(58), h - 1);\n i3 = -1;\n d = -1;\n f2 = Zie;\n if (h != -1 && e != -1) {\n f2 = j.substr(0, e);\n i3 = Vz(j.substr(e + 1, h - (e + 1)));\n d = Vz(j.substr(h + 1));\n }\n return a.de(f2, k, i3, d);\n }\n function UC(a, b, c2) {\n var d, e, f2, g, h, i3;\n if (b.l == 0 && b.m == 0 && b.h == 0) {\n throw vbb(new ocb(\"divide by zero\"));\n }\n if (a.l == 0 && a.m == 0 && a.h == 0) {\n c2 && (QC = TC(0, 0, 0));\n return TC(0, 0, 0);\n }\n if (b.h == Gje && b.m == 0 && b.l == 0) {\n return VC(a, c2);\n }\n i3 = false;\n if (b.h >> 19 != 0) {\n b = hD(b);\n i3 = !i3;\n }\n g = _C(b);\n f2 = false;\n e = false;\n d = false;\n if (a.h == Gje && a.m == 0 && a.l == 0) {\n e = true;\n f2 = true;\n if (g == -1) {\n a = SC((wD(), sD));\n d = true;\n i3 = !i3;\n } else {\n h = lD(a, g);\n i3 && ZC(h);\n c2 && (QC = TC(0, 0, 0));\n return h;\n }\n } else if (a.h >> 19 != 0) {\n f2 = true;\n a = hD(a);\n d = true;\n i3 = !i3;\n }\n if (g != -1) {\n return WC(a, g, i3, f2, c2);\n }\n if (eD(a, b) < 0) {\n c2 && (f2 ? QC = hD(a) : QC = TC(a.l, a.m, a.h));\n return TC(0, 0, 0);\n }\n return XC(d ? a : TC(a.l, a.m, a.h), b, i3, f2, e, c2);\n }\n function F2c(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2;\n if (a.e && a.c.c < a.f) {\n throw vbb(new Zdb(\"Expected \" + a.f + \" phases to be configured; only found \" + a.c.c));\n }\n k = BD(gdb(a.g), 9);\n n = Pu(a.f);\n for (f2 = k, h = 0, j = f2.length; h < j; ++h) {\n d = f2[h];\n l = BD(B2c(a, d.g), 246);\n l ? Ekb(n, BD(I2c(a, l), 123)) : (n.c[n.c.length] = null, true);\n }\n o2 = new j3c();\n MAb(JAb(NAb(JAb(new YAb(null, new Kub(n, 16)), new O2c()), new Q2c(b)), new S2c()), new U2c(o2));\n d3c(o2, a.a);\n c2 = new Rkb();\n for (e = k, g = 0, i3 = e.length; g < i3; ++g) {\n d = e[g];\n Gkb(c2, J2c(a, Dx(BD(B2c(o2, d.g), 20))));\n m = BD(Ikb(n, d.g), 123);\n !!m && (c2.c[c2.c.length] = m, true);\n }\n Gkb(c2, J2c(a, Dx(BD(B2c(o2, k[k.length - 1].g + 1), 20))));\n return c2;\n }\n function qCc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q;\n Odd(c2, \"Model order cycle breaking\", 1);\n a.a = 0;\n a.b = 0;\n n = new Rkb();\n k = b.a.c.length;\n for (j = new olb(b.a); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 10);\n wNb(i3, (wtc(), Zsc)) && (k = $wnd.Math.max(k, BD(vNb(i3, Zsc), 19).a + 1));\n }\n for (p = new olb(b.a); p.a < p.c.c.length; ) {\n o2 = BD(mlb(p), 10);\n g = pCc(a, o2, k);\n for (m = W_b(o2, (KAc(), IAc)).Kc(); m.Ob(); ) {\n l = BD(m.Pb(), 11);\n for (f2 = new olb(l.g); f2.a < f2.c.c.length; ) {\n d = BD(mlb(f2), 17);\n q = d.d.i;\n h = pCc(a, q, k);\n h < g && (n.c[n.c.length] = d, true);\n }\n }\n }\n for (e = new olb(n); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 17);\n PZb(d, true);\n yNb(b, (wtc(), Asc), (Bcb(), true));\n }\n n.c = KC(SI, Uhe, 1, 0, 5, 1);\n Qdd(c2);\n }\n function kQc(a, b) {\n var c2, d, e, f2, g, h, i3;\n if (a.g > b.f || b.g > a.f) {\n return;\n }\n c2 = 0;\n d = 0;\n for (g = a.w.a.ec().Kc(); g.Ob(); ) {\n e = BD(g.Pb(), 11);\n aRc(l7c(OC(GC(m1, 1), nie, 8, 0, [e.i.n, e.n, e.a])).b, b.g, b.f) && ++c2;\n }\n for (h = a.r.a.ec().Kc(); h.Ob(); ) {\n e = BD(h.Pb(), 11);\n aRc(l7c(OC(GC(m1, 1), nie, 8, 0, [e.i.n, e.n, e.a])).b, b.g, b.f) && --c2;\n }\n for (i3 = b.w.a.ec().Kc(); i3.Ob(); ) {\n e = BD(i3.Pb(), 11);\n aRc(l7c(OC(GC(m1, 1), nie, 8, 0, [e.i.n, e.n, e.a])).b, a.g, a.f) && ++d;\n }\n for (f2 = b.r.a.ec().Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 11);\n aRc(l7c(OC(GC(m1, 1), nie, 8, 0, [e.i.n, e.n, e.a])).b, a.g, a.f) && --d;\n }\n if (c2 < d) {\n new BQc(a, b, d - c2);\n } else if (d < c2) {\n new BQc(b, a, c2 - d);\n } else {\n new BQc(b, a, 0);\n new BQc(a, b, 0);\n }\n }\n function JPb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s;\n j = b.c;\n e = IOb(a.e);\n l = Y6c(b7c(R6c(HOb(a.e)), a.d * a.a, a.c * a.b), -0.5);\n c2 = e.a - l.a;\n d = e.b - l.b;\n g = b.a;\n c2 = g.c - c2;\n d = g.d - d;\n for (i3 = new olb(j); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 395);\n m = h.b;\n n = c2 + m.a;\n q = d + m.b;\n o2 = QD(n / a.a);\n r = QD(q / a.b);\n f2 = h.a;\n switch (f2.g) {\n case 0:\n k = (RMb(), OMb);\n break;\n case 1:\n k = (RMb(), NMb);\n break;\n case 2:\n k = (RMb(), PMb);\n break;\n default:\n k = (RMb(), QMb);\n }\n if (f2.a) {\n s = QD((q + h.c) / a.b);\n Ekb(a.f, new uOb(k, meb(r), meb(s)));\n f2 == (ROb(), QOb) ? nNb(a, 0, r, o2, s) : nNb(a, o2, r, a.d - 1, s);\n } else {\n p = QD((n + h.c) / a.a);\n Ekb(a.f, new uOb(k, meb(o2), meb(p)));\n f2 == (ROb(), OOb) ? nNb(a, o2, 0, p, r) : nNb(a, o2, r, p, a.c - 1);\n }\n }\n }\n function coc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u;\n m = new Rkb();\n e = new Rkb();\n p = null;\n for (h = b.Kc(); h.Ob(); ) {\n g = BD(h.Pb(), 19);\n f2 = new qoc(g.a);\n e.c[e.c.length] = f2;\n if (p) {\n f2.d = p;\n p.e = f2;\n }\n p = f2;\n }\n t = boc(a);\n for (k = 0; k < e.c.length; ++k) {\n n = null;\n q = poc((tCb(0, e.c.length), BD(e.c[0], 652)));\n c2 = null;\n d = Pje;\n for (l = 1; l < a.b.c.length; ++l) {\n r = q ? $wnd.Math.abs(q.b - l) : $wnd.Math.abs(l - n.b) + 1;\n o2 = n ? $wnd.Math.abs(l - n.b) : r + 1;\n if (o2 < r) {\n j = n;\n i3 = o2;\n } else {\n j = q;\n i3 = r;\n }\n s = (u = Edb(ED(vNb(a, (Nyc(), Hyc)))), t[l] + $wnd.Math.pow(i3, u));\n if (s < d) {\n d = s;\n c2 = j;\n c2.c = l;\n }\n if (!!q && l == q.b) {\n n = q;\n q = koc(q);\n }\n }\n if (c2) {\n Ekb(m, meb(c2.c));\n c2.a = true;\n loc(c2);\n }\n }\n mmb();\n Mlb(m.c, m.c.length, null);\n return m;\n }\n function qNd(a) {\n var b, c2, d, e, f2, g, h, i3, j, k;\n b = new zNd();\n c2 = new zNd();\n j = dfb(Qve, (e = Dmd(a.b, Rve), !e ? null : GD(AAd((!e.b && (e.b = new sId((jGd(), fGd), x6, e)), e.b), Sve))));\n for (i3 = 0; i3 < a.i; ++i3) {\n h = BD(a.g[i3], 170);\n if (JD(h, 99)) {\n g = BD(h, 18);\n (g.Bb & ote) != 0 ? ((g.Bb & oie) == 0 || !j && (f2 = Dmd(g, Rve), (!f2 ? null : GD(AAd((!f2.b && (f2.b = new sId((jGd(), fGd), x6, f2)), f2.b), eue))) == null)) && wtd(b, g) : (k = zUd(g), !!k && (k.Bb & ote) != 0 || ((g.Bb & oie) == 0 || !j && (d = Dmd(g, Rve), (!d ? null : GD(AAd((!d.b && (d.b = new sId((jGd(), fGd), x6, d)), d.b), eue))) == null)) && wtd(c2, g));\n } else {\n Q6d();\n if (BD(h, 66).Oj()) {\n if (!h.Jj()) {\n wtd(b, h);\n wtd(c2, h);\n }\n }\n }\n }\n vud(b);\n vud(c2);\n a.a = BD(b.g, 247);\n BD(c2.g, 247);\n }\n function LTb(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, p, q, r;\n j = ITb(b);\n q = BD(vNb(b, (Nyc(), Iwc)), 314);\n q != (Rpc(), Ppc) && reb(j, new STb());\n r = BD(vNb(b, Cwc), 292);\n reb(j, new UTb(r));\n p = 0;\n k = new Rkb();\n for (f2 = new xkb(j); f2.a != f2.b; ) {\n e = BD(vkb(f2), 37);\n aUb(a.c, e);\n m = BD(vNb(e, (wtc(), itc)), 15);\n p += m.gc();\n d = m.Kc();\n Ekb(k, new vgd(e, d));\n }\n Odd(c2, \"Recursive hierarchical layout\", p);\n n = BD(BD(Ikb(k, k.c.length - 1), 46).b, 47);\n while (n.Ob()) {\n for (i3 = new olb(k); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 46);\n m = BD(h.b, 47);\n g = BD(h.a, 37);\n while (m.Ob()) {\n l = BD(m.Pb(), 51);\n if (JD(l, 507)) {\n if (!g.e) {\n l.pf(g, Udd(c2, 1));\n break;\n } else {\n break;\n }\n } else {\n l.pf(g, Udd(c2, 1));\n }\n }\n }\n }\n Qdd(c2);\n }\n function rid(b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m;\n j = c2.length - 1;\n i3 = (BCb(j, c2.length), c2.charCodeAt(j));\n if (i3 == 93) {\n h = hfb(c2, wfb(91));\n if (h >= 0) {\n f2 = wid(b, c2.substr(1, h - 1));\n l = c2.substr(h + 1, j - (h + 1));\n return pid(b, l, f2);\n }\n } else {\n d = -1;\n Vcb == null && (Vcb = new RegExp(\"\\\\d\"));\n if (Vcb.test(String.fromCharCode(i3))) {\n d = lfb(c2, wfb(46), j - 1);\n if (d >= 0) {\n e = BD(hid(b, Bid(b, c2.substr(1, d - 1)), false), 58);\n k = 0;\n try {\n k = Icb(c2.substr(d + 1), Rie, Ohe);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 127)) {\n g = a;\n throw vbb(new rFd(g));\n } else\n throw vbb(a);\n }\n if (k < e.gc()) {\n m = e.Xb(k);\n JD(m, 72) && (m = BD(m, 72).dd());\n return BD(m, 56);\n }\n }\n }\n if (d < 0) {\n return BD(hid(b, Bid(b, c2.substr(1)), false), 56);\n }\n }\n return null;\n }\n function e1d(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l;\n if (bLd(b, c2) >= 0) {\n return c2;\n }\n switch ($1d(q1d(a, c2))) {\n case 2: {\n if (dfb(\"\", o1d(a, c2.Hj()).ne())) {\n i3 = b2d(q1d(a, c2));\n h = a2d(q1d(a, c2));\n k = r1d(a, b, i3, h);\n if (k) {\n return k;\n }\n e = f1d(a, b);\n for (g = 0, l = e.gc(); g < l; ++g) {\n k = BD(e.Xb(g), 170);\n if (x1d(c2d(q1d(a, k)), i3)) {\n return k;\n }\n }\n }\n return null;\n }\n case 4: {\n if (dfb(\"\", o1d(a, c2.Hj()).ne())) {\n for (d = c2; d; d = Z1d(q1d(a, d))) {\n j = b2d(q1d(a, d));\n h = a2d(q1d(a, d));\n k = s1d(a, b, j, h);\n if (k) {\n return k;\n }\n }\n i3 = b2d(q1d(a, c2));\n if (dfb(Ewe, i3)) {\n return t1d(a, b);\n } else {\n f2 = g1d(a, b);\n for (g = 0, l = f2.gc(); g < l; ++g) {\n k = BD(f2.Xb(g), 170);\n if (x1d(c2d(q1d(a, k)), i3)) {\n return k;\n }\n }\n }\n }\n return null;\n }\n default: {\n return null;\n }\n }\n }\n function t2d(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n if (c2.gc() == 0) {\n return false;\n }\n h = (Q6d(), BD(b, 66).Oj());\n f2 = h ? c2 : new zud(c2.gc());\n if (T6d(a.e, b)) {\n if (b.hi()) {\n for (j = c2.Kc(); j.Ob(); ) {\n i3 = j.Pb();\n if (!F2d(a, b, i3, JD(b, 99) && (BD(b, 18).Bb & Tje) != 0)) {\n e = R6d(b, i3);\n f2.Hc(e) || f2.Fc(e);\n }\n }\n } else if (!h) {\n for (j = c2.Kc(); j.Ob(); ) {\n i3 = j.Pb();\n e = R6d(b, i3);\n f2.Fc(e);\n }\n }\n } else {\n if (c2.gc() > 1) {\n throw vbb(new Wdb(Hwe));\n }\n k = S6d(a.e.Tg(), b);\n d = BD(a.g, 119);\n for (g = 0; g < a.i; ++g) {\n e = d[g];\n if (k.rl(e.ak())) {\n if (c2.Hc(h ? e : e.dd())) {\n return false;\n } else {\n for (j = c2.Kc(); j.Ob(); ) {\n i3 = j.Pb();\n BD(Gtd(a, g, h ? BD(i3, 72) : R6d(b, i3)), 72);\n }\n return true;\n }\n }\n }\n if (!h) {\n e = R6d(b, c2.Kc().Pb());\n f2.Fc(e);\n }\n }\n return ytd(a, f2);\n }\n function qMc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n k = new Psb();\n for (h = (j = new $ib(a.c).a.vc().Kc(), new djb(j)); h.a.Ob(); ) {\n f2 = (e = BD(h.a.Pb(), 42), BD(e.dd(), 458));\n f2.b == 0 && (Gsb(k, f2, k.c.b, k.c), true);\n }\n while (k.b != 0) {\n f2 = BD(k.b == 0 ? null : (sCb(k.b != 0), Nsb(k, k.a.a)), 458);\n f2.a == null && (f2.a = 0);\n for (d = new olb(f2.d); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 654);\n c2.b.a == null ? c2.b.a = Edb(f2.a) + c2.a : b.o == (eMc(), cMc) ? c2.b.a = $wnd.Math.min(Edb(c2.b.a), Edb(f2.a) + c2.a) : c2.b.a = $wnd.Math.max(Edb(c2.b.a), Edb(f2.a) + c2.a);\n --c2.b.b;\n c2.b.b == 0 && Dsb(k, c2.b);\n }\n }\n for (g = (i3 = new $ib(a.c).a.vc().Kc(), new djb(i3)); g.a.Ob(); ) {\n f2 = (e = BD(g.a.Pb(), 42), BD(e.dd(), 458));\n b.i[f2.c.p] = f2.a;\n }\n }\n function mTc() {\n mTc = ccb;\n dTc = new Lsd(Ime);\n new Msd(\"DEPTH\", meb(0));\n ZSc = new Msd(\"FAN\", meb(0));\n XSc = new Msd(Yqe, meb(0));\n jTc = new Msd(\"ROOT\", (Bcb(), false));\n _Sc = new Msd(\"LEFTNEIGHBOR\", null);\n hTc = new Msd(\"RIGHTNEIGHBOR\", null);\n aTc = new Msd(\"LEFTSIBLING\", null);\n iTc = new Msd(\"RIGHTSIBLING\", null);\n YSc = new Msd(\"DUMMY\", false);\n new Msd(\"LEVEL\", meb(0));\n gTc = new Msd(\"REMOVABLE_EDGES\", new Psb());\n kTc = new Msd(\"XCOOR\", meb(0));\n lTc = new Msd(\"YCOOR\", meb(0));\n bTc = new Msd(\"LEVELHEIGHT\", 0);\n $Sc = new Msd(\"ID\", \"\");\n eTc = new Msd(\"POSITION\", meb(0));\n fTc = new Msd(\"PRELIM\", 0);\n cTc = new Msd(\"MODIFIER\", 0);\n WSc = new Lsd(Kme);\n VSc = new Lsd(Lme);\n }\n function MNc(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n, o2;\n k = c2 + b.c.c.a;\n for (n = new olb(b.j); n.a < n.c.c.length; ) {\n m = BD(mlb(n), 11);\n e = l7c(OC(GC(m1, 1), nie, 8, 0, [m.i.n, m.n, m.a]));\n if (b.k == (j0b(), i0b)) {\n h = BD(vNb(m, (wtc(), $sc)), 11);\n e.a = l7c(OC(GC(m1, 1), nie, 8, 0, [h.i.n, h.n, h.a])).a;\n b.n.a = e.a;\n }\n g = new f7c(0, e.b);\n if (m.j == (Ucd(), zcd)) {\n g.a = k;\n } else if (m.j == Tcd) {\n g.a = c2;\n } else {\n continue;\n }\n o2 = $wnd.Math.abs(e.a - g.a);\n if (o2 <= d && !JNc(b)) {\n continue;\n }\n f2 = m.g.c.length + m.e.c.length > 1;\n for (j = new b1b(m.b); llb(j.a) || llb(j.b); ) {\n i3 = BD(llb(j.a) ? mlb(j.a) : mlb(j.b), 17);\n l = i3.c == m ? i3.d : i3.c;\n $wnd.Math.abs(l7c(OC(GC(m1, 1), nie, 8, 0, [l.i.n, l.n, l.a])).b - g.b) > 1 && GNc(a, i3, g, f2, m);\n }\n }\n }\n function XPc(a) {\n var b, c2, d, e, f2, g;\n e = new Bib(a.e, 0);\n d = new Bib(a.a, 0);\n if (a.d) {\n for (c2 = 0; c2 < a.b; c2++) {\n sCb(e.b < e.d.gc());\n e.d.Xb(e.c = e.b++);\n }\n } else {\n for (c2 = 0; c2 < a.b - 1; c2++) {\n sCb(e.b < e.d.gc());\n e.d.Xb(e.c = e.b++);\n uib(e);\n }\n }\n b = Edb((sCb(e.b < e.d.gc()), ED(e.d.Xb(e.c = e.b++))));\n while (a.f - b > Oqe) {\n f2 = b;\n g = 0;\n while ($wnd.Math.abs(b - f2) < Oqe) {\n ++g;\n b = Edb((sCb(e.b < e.d.gc()), ED(e.d.Xb(e.c = e.b++))));\n sCb(d.b < d.d.gc());\n d.d.Xb(d.c = d.b++);\n }\n if (g < a.b) {\n sCb(e.b > 0);\n e.a.Xb(e.c = --e.b);\n WPc(a, a.b - g, f2, d, e);\n sCb(e.b < e.d.gc());\n e.d.Xb(e.c = e.b++);\n }\n sCb(d.b > 0);\n d.a.Xb(d.c = --d.b);\n }\n if (!a.d) {\n for (c2 = 0; c2 < a.b - 1; c2++) {\n sCb(e.b < e.d.gc());\n e.d.Xb(e.c = e.b++);\n uib(e);\n }\n }\n a.d = true;\n a.c = true;\n }\n function Q8d() {\n Q8d = ccb;\n s8d = (r8d(), q8d).b;\n v8d = BD(qud(ZKd(q8d.b), 0), 34);\n t8d = BD(qud(ZKd(q8d.b), 1), 34);\n u8d = BD(qud(ZKd(q8d.b), 2), 34);\n F8d = q8d.bb;\n BD(qud(ZKd(q8d.bb), 0), 34);\n BD(qud(ZKd(q8d.bb), 1), 34);\n H8d = q8d.fb;\n I8d = BD(qud(ZKd(q8d.fb), 0), 34);\n BD(qud(ZKd(q8d.fb), 1), 34);\n BD(qud(ZKd(q8d.fb), 2), 18);\n K8d = q8d.qb;\n N8d = BD(qud(ZKd(q8d.qb), 0), 34);\n BD(qud(ZKd(q8d.qb), 1), 18);\n BD(qud(ZKd(q8d.qb), 2), 18);\n L8d = BD(qud(ZKd(q8d.qb), 3), 34);\n M8d = BD(qud(ZKd(q8d.qb), 4), 34);\n P8d = BD(qud(ZKd(q8d.qb), 6), 34);\n O8d = BD(qud(ZKd(q8d.qb), 5), 18);\n w8d = q8d.j;\n x8d = q8d.k;\n y8d = q8d.q;\n z8d = q8d.w;\n A8d = q8d.B;\n B8d = q8d.A;\n C8d = q8d.C;\n D8d = q8d.D;\n E8d = q8d._;\n G8d = q8d.cb;\n J8d = q8d.hb;\n }\n function $Dc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n;\n a.c = 0;\n a.b = 0;\n d = 2 * b.c.a.c.length + 1;\n o:\n for (l = c2.Kc(); l.Ob(); ) {\n k = BD(l.Pb(), 11);\n h = k.j == (Ucd(), Acd) || k.j == Rcd;\n n = 0;\n if (h) {\n m = BD(vNb(k, (wtc(), gtc)), 10);\n if (!m) {\n continue;\n }\n n += VDc(a, d, k, m);\n } else {\n for (j = new olb(k.g); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 17);\n e = i3.d;\n if (e.i.c == b.c) {\n Ekb(a.a, k);\n continue o;\n } else {\n n += a.g[e.p];\n }\n }\n for (g = new olb(k.e); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 17);\n e = f2.c;\n if (e.i.c == b.c) {\n Ekb(a.a, k);\n continue o;\n } else {\n n -= a.g[e.p];\n }\n }\n }\n if (k.e.c.length + k.g.c.length > 0) {\n a.f[k.p] = n / (k.e.c.length + k.g.c.length);\n a.c = $wnd.Math.min(a.c, a.f[k.p]);\n a.b = $wnd.Math.max(a.b, a.f[k.p]);\n } else\n h && (a.f[k.p] = n);\n }\n }\n function $9d(a) {\n a.b = null;\n a.bb = null;\n a.fb = null;\n a.qb = null;\n a.a = null;\n a.c = null;\n a.d = null;\n a.e = null;\n a.f = null;\n a.n = null;\n a.M = null;\n a.L = null;\n a.Q = null;\n a.R = null;\n a.K = null;\n a.db = null;\n a.eb = null;\n a.g = null;\n a.i = null;\n a.j = null;\n a.k = null;\n a.gb = null;\n a.o = null;\n a.p = null;\n a.q = null;\n a.r = null;\n a.$ = null;\n a.ib = null;\n a.S = null;\n a.T = null;\n a.t = null;\n a.s = null;\n a.u = null;\n a.v = null;\n a.w = null;\n a.B = null;\n a.A = null;\n a.C = null;\n a.D = null;\n a.F = null;\n a.G = null;\n a.H = null;\n a.I = null;\n a.J = null;\n a.P = null;\n a.Z = null;\n a.U = null;\n a.V = null;\n a.W = null;\n a.X = null;\n a.Y = null;\n a._ = null;\n a.ab = null;\n a.cb = null;\n a.hb = null;\n a.nb = null;\n a.lb = null;\n a.mb = null;\n a.ob = null;\n a.pb = null;\n a.jb = null;\n a.kb = null;\n a.N = false;\n a.O = false;\n }\n function l5b(a, b, c2) {\n var d, e, f2, g;\n Odd(c2, \"Graph transformation (\" + a.a + \")\", 1);\n g = Mu(b.a);\n for (f2 = new olb(b.b); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 29);\n Gkb(g, e.a);\n }\n d = BD(vNb(b, (Nyc(), Mwc)), 419);\n if (d == (xqc(), vqc)) {\n switch (BD(vNb(b, Lwc), 103).g) {\n case 2:\n _4b(b, g);\n break;\n case 3:\n p5b(b, g);\n break;\n case 4:\n if (a.a == (y5b(), x5b)) {\n p5b(b, g);\n a5b(b, g);\n } else {\n a5b(b, g);\n p5b(b, g);\n }\n }\n } else {\n if (a.a == (y5b(), x5b)) {\n switch (BD(vNb(b, Lwc), 103).g) {\n case 2:\n _4b(b, g);\n a5b(b, g);\n break;\n case 3:\n p5b(b, g);\n _4b(b, g);\n break;\n case 4:\n _4b(b, g);\n p5b(b, g);\n }\n } else {\n switch (BD(vNb(b, Lwc), 103).g) {\n case 2:\n _4b(b, g);\n a5b(b, g);\n break;\n case 3:\n _4b(b, g);\n p5b(b, g);\n break;\n case 4:\n p5b(b, g);\n _4b(b, g);\n }\n }\n }\n Qdd(c2);\n }\n function j6b(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p;\n j = new zsb();\n k = new zsb();\n o2 = new zsb();\n p = new zsb();\n i3 = Edb(ED(vNb(b, (Nyc(), vyc))));\n f2 = Edb(ED(vNb(b, lyc)));\n for (h = new olb(c2); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 10);\n l = BD(vNb(g, (wtc(), Hsc)), 61);\n if (l == (Ucd(), Acd)) {\n k.a.zc(g, k);\n for (e = new Sr(ur(R_b(g).a.Kc(), new Sq())); Qr(e); ) {\n d = BD(Rr(e), 17);\n Qqb(j, d.c.i);\n }\n } else if (l == Rcd) {\n p.a.zc(g, p);\n for (e = new Sr(ur(R_b(g).a.Kc(), new Sq())); Qr(e); ) {\n d = BD(Rr(e), 17);\n Qqb(o2, d.c.i);\n }\n }\n }\n if (j.a.gc() != 0) {\n m = new tPc(2, f2);\n n = sPc(m, b, j, k, -i3 - b.c.b);\n if (n > 0) {\n a.a = i3 + (n - 1) * f2;\n b.c.b += a.a;\n b.f.b += a.a;\n }\n }\n if (o2.a.gc() != 0) {\n m = new tPc(1, f2);\n n = sPc(m, b, o2, p, b.f.b + i3 - b.c.b);\n n > 0 && (b.f.b += i3 + (n - 1) * f2);\n }\n }\n function kKd(a, b) {\n var c2, d, e, f2;\n f2 = a.F;\n if (b == null) {\n a.F = null;\n $Jd(a, null);\n } else {\n a.F = (uCb(b), b);\n d = hfb(b, wfb(60));\n if (d != -1) {\n e = b.substr(0, d);\n hfb(b, wfb(46)) == -1 && !dfb(e, Khe) && !dfb(e, Eve) && !dfb(e, Fve) && !dfb(e, Gve) && !dfb(e, Hve) && !dfb(e, Ive) && !dfb(e, Jve) && !dfb(e, Kve) && (e = Lve);\n c2 = kfb(b, wfb(62));\n c2 != -1 && (e += \"\" + b.substr(c2 + 1));\n $Jd(a, e);\n } else {\n e = b;\n if (hfb(b, wfb(46)) == -1) {\n d = hfb(b, wfb(91));\n d != -1 && (e = b.substr(0, d));\n if (!dfb(e, Khe) && !dfb(e, Eve) && !dfb(e, Fve) && !dfb(e, Gve) && !dfb(e, Hve) && !dfb(e, Ive) && !dfb(e, Jve) && !dfb(e, Kve)) {\n e = Lve;\n d != -1 && (e += \"\" + b.substr(d));\n } else {\n e = b;\n }\n }\n $Jd(a, e);\n e == b && (a.F = a.D);\n }\n }\n (a.Db & 4) != 0 && (a.Db & 1) == 0 && Uhd(a, new nSd(a, 1, 5, f2, b));\n }\n function AMc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t;\n p = b.b.c.length;\n if (p < 3) {\n return;\n }\n n = KC(WD, oje, 25, p, 15, 1);\n l = 0;\n for (k = new olb(b.b); k.a < k.c.c.length; ) {\n j = BD(mlb(k), 29);\n n[l++] = j.a.c.length;\n }\n m = new Bib(b.b, 2);\n for (d = 1; d < p - 1; d++) {\n c2 = (sCb(m.b < m.d.gc()), BD(m.d.Xb(m.c = m.b++), 29));\n o2 = new olb(c2.a);\n f2 = 0;\n h = 0;\n for (i3 = 0; i3 < n[d + 1]; i3++) {\n t = BD(mlb(o2), 10);\n if (i3 == n[d + 1] - 1 || zMc(a, t, d + 1, d)) {\n g = n[d] - 1;\n zMc(a, t, d + 1, d) && (g = a.c.e[BD(BD(BD(Ikb(a.c.b, t.p), 15).Xb(0), 46).a, 10).p]);\n while (h <= i3) {\n s = BD(Ikb(c2.a, h), 10);\n if (!zMc(a, s, d + 1, d)) {\n for (r = BD(Ikb(a.c.b, s.p), 15).Kc(); r.Ob(); ) {\n q = BD(r.Pb(), 46);\n e = a.c.e[BD(q.a, 10).p];\n (e < f2 || e > g) && Qqb(a.b, BD(q.b, 17));\n }\n }\n ++h;\n }\n f2 = g;\n }\n }\n }\n }\n function o5c(b, c2) {\n var d;\n if (c2 == null || dfb(c2, Xhe)) {\n return null;\n }\n if (c2.length == 0 && b.k != (_5c(), W5c)) {\n return null;\n }\n switch (b.k.g) {\n case 1:\n return efb(c2, kse) ? (Bcb(), Acb) : efb(c2, lse) ? (Bcb(), zcb) : null;\n case 2:\n try {\n return meb(Icb(c2, Rie, Ohe));\n } catch (a) {\n a = ubb(a);\n if (JD(a, 127)) {\n return null;\n } else\n throw vbb(a);\n }\n case 4:\n try {\n return Hcb(c2);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 127)) {\n return null;\n } else\n throw vbb(a);\n }\n case 3:\n return c2;\n case 5:\n j5c(b);\n return m5c(b, c2);\n case 6:\n j5c(b);\n return n5c(b, b.a, c2);\n case 7:\n try {\n d = l5c(b);\n d.Jf(c2);\n return d;\n } catch (a) {\n a = ubb(a);\n if (JD(a, 32)) {\n return null;\n } else\n throw vbb(a);\n }\n default:\n throw vbb(new Zdb(\"Invalid type set for this layout option.\"));\n }\n }\n function JWb(a) {\n AWb();\n var b, c2, d, e, f2, g, h;\n h = new CWb();\n for (c2 = new olb(a); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 140);\n (!h.b || b.c >= h.b.c) && (h.b = b);\n if (!h.c || b.c <= h.c.c) {\n h.d = h.c;\n h.c = b;\n }\n (!h.e || b.d >= h.e.d) && (h.e = b);\n (!h.f || b.d <= h.f.d) && (h.f = b);\n }\n d = new NWb((lWb(), hWb));\n rXb(a, yWb, new amb(OC(GC(bQ, 1), Uhe, 369, 0, [d])));\n g = new NWb(kWb);\n rXb(a, xWb, new amb(OC(GC(bQ, 1), Uhe, 369, 0, [g])));\n e = new NWb(iWb);\n rXb(a, wWb, new amb(OC(GC(bQ, 1), Uhe, 369, 0, [e])));\n f2 = new NWb(jWb);\n rXb(a, vWb, new amb(OC(GC(bQ, 1), Uhe, 369, 0, [f2])));\n DWb(d.c, hWb);\n DWb(e.c, iWb);\n DWb(f2.c, jWb);\n DWb(g.c, kWb);\n h.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n Gkb(h.a, d.c);\n Gkb(h.a, Su(e.c));\n Gkb(h.a, f2.c);\n Gkb(h.a, Su(g.c));\n return h;\n }\n function jxd(a) {\n var b;\n switch (a.d) {\n case 1: {\n if (a.hj()) {\n return a.o != -2;\n }\n break;\n }\n case 2: {\n if (a.hj()) {\n return a.o == -2;\n }\n break;\n }\n case 3:\n case 5:\n case 4:\n case 6:\n case 7: {\n return a.o > -2;\n }\n default: {\n return false;\n }\n }\n b = a.gj();\n switch (a.p) {\n case 0:\n return b != null && Ccb(DD(b)) != Kbb(a.k, 0);\n case 1:\n return b != null && BD(b, 217).a != Tbb(a.k) << 24 >> 24;\n case 2:\n return b != null && BD(b, 172).a != (Tbb(a.k) & aje);\n case 6:\n return b != null && Kbb(BD(b, 162).a, a.k);\n case 5:\n return b != null && BD(b, 19).a != Tbb(a.k);\n case 7:\n return b != null && BD(b, 184).a != Tbb(a.k) << 16 >> 16;\n case 3:\n return b != null && Edb(ED(b)) != a.j;\n case 4:\n return b != null && BD(b, 155).a != a.j;\n default:\n return b == null ? a.n != null : !pb(b, a.n);\n }\n }\n function nOd(a, b, c2) {\n var d, e, f2, g;\n if (a.Fk() && a.Ek()) {\n g = oOd(a, BD(c2, 56));\n if (PD(g) !== PD(c2)) {\n a.Oi(b);\n a.Ui(b, pOd(a, b, g));\n if (a.rk()) {\n f2 = (e = BD(c2, 49), a.Dk() ? a.Bk() ? e.ih(a.b, zUd(BD(XKd(wjd(a.b), a.aj()), 18)).n, BD(XKd(wjd(a.b), a.aj()).Yj(), 26).Bj(), null) : e.ih(a.b, bLd(e.Tg(), zUd(BD(XKd(wjd(a.b), a.aj()), 18))), null, null) : e.ih(a.b, -1 - a.aj(), null, null));\n !BD(g, 49).eh() && (f2 = (d = BD(g, 49), a.Dk() ? a.Bk() ? d.gh(a.b, zUd(BD(XKd(wjd(a.b), a.aj()), 18)).n, BD(XKd(wjd(a.b), a.aj()).Yj(), 26).Bj(), f2) : d.gh(a.b, bLd(d.Tg(), zUd(BD(XKd(wjd(a.b), a.aj()), 18))), null, f2) : d.gh(a.b, -1 - a.aj(), null, f2)));\n !!f2 && f2.Fi();\n }\n oid(a.b) && a.$i(a.Zi(9, c2, g, b, false));\n return g;\n }\n }\n return c2;\n }\n function Noc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u;\n k = Edb(ED(vNb(a, (Nyc(), oyc))));\n d = Edb(ED(vNb(a, Cyc)));\n m = new _fd();\n yNb(m, oyc, k + d);\n j = b;\n r = j.d;\n p = j.c.i;\n s = j.d.i;\n q = G1b(p.c);\n t = G1b(s.c);\n e = new Rkb();\n for (l = q; l <= t; l++) {\n h = new b0b(a);\n __b(h, (j0b(), g0b));\n yNb(h, (wtc(), $sc), j);\n yNb(h, Vxc, (dcd(), $bd));\n yNb(h, qyc, m);\n n = BD(Ikb(a.b, l), 29);\n l == q ? Z_b(h, n.a.c.length - c2, n) : $_b(h, n);\n u = Edb(ED(vNb(j, Zwc)));\n if (u < 0) {\n u = 0;\n yNb(j, Zwc, u);\n }\n h.o.b = u;\n o2 = $wnd.Math.floor(u / 2);\n g = new H0b();\n G0b(g, (Ucd(), Tcd));\n F0b(g, h);\n g.n.b = o2;\n i3 = new H0b();\n G0b(i3, zcd);\n F0b(i3, h);\n i3.n.b = o2;\n RZb(j, g);\n f2 = new UZb();\n tNb(f2, j);\n yNb(f2, jxc, null);\n QZb(f2, i3);\n RZb(f2, r);\n Ooc(h, j, f2);\n e.c[e.c.length] = f2;\n j = f2;\n }\n return e;\n }\n function sbc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t;\n i3 = BD(Y_b(a, (Ucd(), Tcd)).Kc().Pb(), 11).e;\n n = BD(Y_b(a, zcd).Kc().Pb(), 11).g;\n h = i3.c.length;\n t = A0b(BD(Ikb(a.j, 0), 11));\n while (h-- > 0) {\n p = (tCb(0, i3.c.length), BD(i3.c[0], 17));\n e = (tCb(0, n.c.length), BD(n.c[0], 17));\n s = e.d.e;\n f2 = Jkb(s, e, 0);\n SZb(p, e.d, f2);\n QZb(e, null);\n RZb(e, null);\n o2 = p.a;\n b && Dsb(o2, new g7c(t));\n for (d = Jsb(e.a, 0); d.b != d.d.c; ) {\n c2 = BD(Xsb(d), 8);\n Dsb(o2, new g7c(c2));\n }\n r = p.b;\n for (m = new olb(e.b); m.a < m.c.c.length; ) {\n l = BD(mlb(m), 70);\n r.c[r.c.length] = l;\n }\n q = BD(vNb(p, (Nyc(), jxc)), 74);\n g = BD(vNb(e, jxc), 74);\n if (g) {\n if (!q) {\n q = new s7c();\n yNb(p, jxc, q);\n }\n for (k = Jsb(g, 0); k.b != k.d.c; ) {\n j = BD(Xsb(k), 8);\n Dsb(q, new g7c(j));\n }\n }\n }\n }\n function EJb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n;\n c2 = BD(Mpb(a.b, b), 124);\n i3 = BD(BD(Qc(a.r, b), 21), 84);\n if (i3.dc()) {\n c2.n.b = 0;\n c2.n.c = 0;\n return;\n }\n j = a.u.Hc((rcd(), ncd));\n g = 0;\n h = i3.Kc();\n k = null;\n l = 0;\n m = 0;\n while (h.Ob()) {\n d = BD(h.Pb(), 111);\n e = Edb(ED(d.b.We((CKb(), BKb))));\n f2 = d.b.rf().a;\n a.A.Hc((tdd(), sdd)) && KJb(a, b);\n if (!k) {\n !!a.C && a.C.b > 0 && (g = $wnd.Math.max(g, IJb(a.C.b + d.d.b, e)));\n } else {\n n = m + k.d.c + a.w + d.d.b;\n g = $wnd.Math.max(g, (Iy(), My(ple), $wnd.Math.abs(l - e) <= ple || l == e || isNaN(l) && isNaN(e) ? 0 : n / (e - l)));\n }\n k = d;\n l = e;\n m = f2;\n }\n if (!!a.C && a.C.c > 0) {\n n = m + a.C.c;\n j && (n += k.d.c);\n g = $wnd.Math.max(g, (Iy(), My(ple), $wnd.Math.abs(l - 1) <= ple || l == 1 || isNaN(l) && isNaN(1) ? 0 : n / (1 - l)));\n }\n c2.n.b = 0;\n c2.a.a = g;\n }\n function NKb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n;\n c2 = BD(Mpb(a.b, b), 124);\n i3 = BD(BD(Qc(a.r, b), 21), 84);\n if (i3.dc()) {\n c2.n.d = 0;\n c2.n.a = 0;\n return;\n }\n j = a.u.Hc((rcd(), ncd));\n g = 0;\n a.A.Hc((tdd(), sdd)) && SKb(a, b);\n h = i3.Kc();\n k = null;\n m = 0;\n l = 0;\n while (h.Ob()) {\n d = BD(h.Pb(), 111);\n f2 = Edb(ED(d.b.We((CKb(), BKb))));\n e = d.b.rf().b;\n if (!k) {\n !!a.C && a.C.d > 0 && (g = $wnd.Math.max(g, IJb(a.C.d + d.d.d, f2)));\n } else {\n n = l + k.d.a + a.w + d.d.d;\n g = $wnd.Math.max(g, (Iy(), My(ple), $wnd.Math.abs(m - f2) <= ple || m == f2 || isNaN(m) && isNaN(f2) ? 0 : n / (f2 - m)));\n }\n k = d;\n m = f2;\n l = e;\n }\n if (!!a.C && a.C.a > 0) {\n n = l + a.C.a;\n j && (n += k.d.a);\n g = $wnd.Math.max(g, (Iy(), My(ple), $wnd.Math.abs(m - 1) <= ple || m == 1 || isNaN(m) && isNaN(1) ? 0 : n / (1 - m)));\n }\n c2.n.d = 0;\n c2.a.b = g;\n }\n function _Ec(a, b, c2) {\n var d, e, f2, g, h, i3;\n this.g = a;\n h = b.d.length;\n i3 = c2.d.length;\n this.d = KC(OQ, kne, 10, h + i3, 0, 1);\n for (g = 0; g < h; g++) {\n this.d[g] = b.d[g];\n }\n for (f2 = 0; f2 < i3; f2++) {\n this.d[h + f2] = c2.d[f2];\n }\n if (b.e) {\n this.e = Ru(b.e);\n this.e.Mc(c2);\n if (c2.e) {\n for (e = c2.e.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 233);\n if (d == b) {\n continue;\n } else\n this.e.Hc(d) ? --d.c : this.e.Fc(d);\n }\n }\n } else if (c2.e) {\n this.e = Ru(c2.e);\n this.e.Mc(b);\n }\n this.f = b.f + c2.f;\n this.a = b.a + c2.a;\n this.a > 0 ? ZEc(this, this.f / this.a) : REc(b.g, b.d[0]).a != null && REc(c2.g, c2.d[0]).a != null ? ZEc(this, (Edb(REc(b.g, b.d[0]).a) + Edb(REc(c2.g, c2.d[0]).a)) / 2) : REc(b.g, b.d[0]).a != null ? ZEc(this, REc(b.g, b.d[0]).a) : REc(c2.g, c2.d[0]).a != null && ZEc(this, REc(c2.g, c2.d[0]).a);\n }\n function BUb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l;\n a.a = new dVb(oqb(t12));\n for (d = new olb(b.a); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 841);\n h = new gVb(OC(GC(IP, 1), Uhe, 81, 0, []));\n Ekb(a.a.a, h);\n for (j = new olb(c2.d); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 110);\n k = new GUb(a, i3);\n AUb(k, BD(vNb(c2.c, (wtc(), Esc)), 21));\n if (!Mhb(a.g, c2)) {\n Rhb(a.g, c2, new f7c(i3.c, i3.d));\n Rhb(a.f, c2, k);\n }\n Ekb(a.a.b, k);\n eVb(h, k);\n }\n for (g = new olb(c2.b); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 594);\n k = new GUb(a, f2.kf());\n Rhb(a.b, f2, new vgd(h, k));\n AUb(k, BD(vNb(c2.c, (wtc(), Esc)), 21));\n if (f2.hf()) {\n l = new HUb(a, f2.hf(), 1);\n AUb(l, BD(vNb(c2.c, Esc), 21));\n e = new gVb(OC(GC(IP, 1), Uhe, 81, 0, []));\n eVb(e, l);\n Rc(a.c, f2.gf(), new vgd(h, l));\n }\n }\n }\n return a.a;\n }\n function oBc(a) {\n var b;\n this.a = a;\n b = (j0b(), OC(GC(NQ, 1), Kie, 267, 0, [h0b, g0b, e0b, i0b, f0b, d0b])).length;\n this.b = IC(Q3, [nie, zqe], [593, 146], 0, [b, b], 2);\n this.c = IC(Q3, [nie, zqe], [593, 146], 0, [b, b], 2);\n nBc(this, h0b, (Nyc(), vyc), wyc);\n lBc(this, h0b, g0b, oyc, pyc);\n kBc(this, h0b, i0b, oyc);\n kBc(this, h0b, e0b, oyc);\n lBc(this, h0b, f0b, vyc, wyc);\n nBc(this, g0b, lyc, myc);\n kBc(this, g0b, i0b, lyc);\n kBc(this, g0b, e0b, lyc);\n lBc(this, g0b, f0b, oyc, pyc);\n mBc(this, i0b, lyc);\n kBc(this, i0b, e0b, lyc);\n kBc(this, i0b, f0b, syc);\n mBc(this, e0b, zyc);\n lBc(this, e0b, f0b, uyc, tyc);\n nBc(this, f0b, lyc, lyc);\n nBc(this, d0b, lyc, myc);\n lBc(this, d0b, h0b, oyc, pyc);\n lBc(this, d0b, f0b, oyc, pyc);\n lBc(this, d0b, g0b, oyc, pyc);\n }\n function _2d(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q;\n g = c2.ak();\n if (JD(g, 99) && (BD(g, 18).Bb & Tje) != 0) {\n m = BD(c2.dd(), 49);\n p = xid(a.e, m);\n if (p != m) {\n k = R6d(g, p);\n mud(a, b, t3d(a, b, k));\n l = null;\n if (oid(a.e)) {\n d = e1d((O6d(), M6d), a.e.Tg(), g);\n if (d != XKd(a.e.Tg(), a.c)) {\n q = S6d(a.e.Tg(), g);\n h = 0;\n f2 = BD(a.g, 119);\n for (i3 = 0; i3 < b; ++i3) {\n e = f2[i3];\n q.rl(e.ak()) && ++h;\n }\n l = new O7d(a.e, 9, d, m, p, h, false);\n l.Ei(new pSd(a.e, 9, a.c, c2, k, b, false));\n }\n }\n o2 = BD(g, 18);\n n = zUd(o2);\n if (n) {\n l = m.ih(a.e, bLd(m.Tg(), n), null, l);\n l = BD(p, 49).gh(a.e, bLd(p.Tg(), n), null, l);\n } else if ((o2.Bb & ote) != 0) {\n j = -1 - bLd(a.e.Tg(), o2);\n l = m.ih(a.e, j, null, null);\n !BD(p, 49).eh() && (l = BD(p, 49).gh(a.e, j, null, l));\n }\n !!l && l.Fi();\n return k;\n }\n }\n return c2;\n }\n function yUb(a) {\n var b, c2, d, e, f2, g, h, i3;\n for (f2 = new olb(a.a.b); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 81);\n e.b.c = e.g.c;\n e.b.d = e.g.d;\n }\n i3 = new f7c(Pje, Pje);\n b = new f7c(Qje, Qje);\n for (d = new olb(a.a.b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 81);\n i3.a = $wnd.Math.min(i3.a, c2.g.c);\n i3.b = $wnd.Math.min(i3.b, c2.g.d);\n b.a = $wnd.Math.max(b.a, c2.g.c + c2.g.b);\n b.b = $wnd.Math.max(b.b, c2.g.d + c2.g.a);\n }\n for (h = Uc(a.c).a.nc(); h.Ob(); ) {\n g = BD(h.Pb(), 46);\n c2 = BD(g.b, 81);\n i3.a = $wnd.Math.min(i3.a, c2.g.c);\n i3.b = $wnd.Math.min(i3.b, c2.g.d);\n b.a = $wnd.Math.max(b.a, c2.g.c + c2.g.b);\n b.b = $wnd.Math.max(b.b, c2.g.d + c2.g.a);\n }\n a.d = V6c(new f7c(i3.a, i3.b));\n a.e = c7c(new f7c(b.a, b.b), i3);\n a.a.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n a.a.b.c = KC(SI, Uhe, 1, 0, 5, 1);\n }\n function svd(a) {\n var b, c2, d;\n l4c(lvd, OC(GC(C0, 1), Uhe, 130, 0, [new Z9c()]));\n c2 = new xB(a);\n for (d = 0; d < c2.a.length; ++d) {\n b = tB(c2, d).je().a;\n dfb(b, \"layered\") ? l4c(lvd, OC(GC(C0, 1), Uhe, 130, 0, [new kwc()])) : dfb(b, \"force\") ? l4c(lvd, OC(GC(C0, 1), Uhe, 130, 0, [new TRb()])) : dfb(b, \"stress\") ? l4c(lvd, OC(GC(C0, 1), Uhe, 130, 0, [new PSb()])) : dfb(b, \"mrtree\") ? l4c(lvd, OC(GC(C0, 1), Uhe, 130, 0, [new sTc()])) : dfb(b, \"radial\") ? l4c(lvd, OC(GC(C0, 1), Uhe, 130, 0, [new IWc()])) : dfb(b, \"disco\") ? l4c(lvd, OC(GC(C0, 1), Uhe, 130, 0, [new gFb(), new oPb()])) : dfb(b, \"sporeOverlap\") || dfb(b, \"sporeCompaction\") ? l4c(lvd, OC(GC(C0, 1), Uhe, 130, 0, [new B0c()])) : dfb(b, \"rectpacking\") && l4c(lvd, OC(GC(C0, 1), Uhe, 130, 0, [new PYc()]));\n }\n }\n function j_b(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r;\n m = new g7c(a.o);\n r = b.a / m.a;\n h = b.b / m.b;\n p = b.a - m.a;\n f2 = b.b - m.b;\n if (c2) {\n e = PD(vNb(a, (Nyc(), Vxc))) === PD((dcd(), $bd));\n for (o2 = new olb(a.j); o2.a < o2.c.c.length; ) {\n n = BD(mlb(o2), 11);\n switch (n.j.g) {\n case 1:\n e || (n.n.a *= r);\n break;\n case 2:\n n.n.a += p;\n e || (n.n.b *= h);\n break;\n case 3:\n e || (n.n.a *= r);\n n.n.b += f2;\n break;\n case 4:\n e || (n.n.b *= h);\n }\n }\n }\n for (j = new olb(a.b); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 70);\n k = i3.n.a + i3.o.a / 2;\n l = i3.n.b + i3.o.b / 2;\n q = k / m.a;\n g = l / m.b;\n if (q + g >= 1) {\n if (q - g > 0 && l >= 0) {\n i3.n.a += p;\n i3.n.b += f2 * g;\n } else if (q - g < 0 && k >= 0) {\n i3.n.a += p * q;\n i3.n.b += f2;\n }\n }\n }\n a.o.a = b.a;\n a.o.b = b.b;\n yNb(a, (Nyc(), Fxc), (tdd(), d = BD(gdb(I1), 9), new xqb(d, BD(_Bb(d, d.length), 9), 0)));\n }\n function iFd(a, b, c2, d, e, f2) {\n var g;\n if (!(b == null || !OEd(b, zEd, AEd))) {\n throw vbb(new Wdb(\"invalid scheme: \" + b));\n }\n if (!a && !(c2 != null && hfb(c2, wfb(35)) == -1 && c2.length > 0 && (BCb(0, c2.length), c2.charCodeAt(0) != 47))) {\n throw vbb(new Wdb(\"invalid opaquePart: \" + c2));\n }\n if (a && !(b != null && hnb(GEd, b.toLowerCase())) && !(c2 == null || !OEd(c2, CEd, DEd))) {\n throw vbb(new Wdb(mve + c2));\n }\n if (a && b != null && hnb(GEd, b.toLowerCase()) && !eFd(c2)) {\n throw vbb(new Wdb(mve + c2));\n }\n if (!fFd(d)) {\n throw vbb(new Wdb(\"invalid device: \" + d));\n }\n if (!hFd(e)) {\n g = e == null ? \"invalid segments: null\" : \"invalid segment: \" + VEd(e);\n throw vbb(new Wdb(g));\n }\n if (!(f2 == null || hfb(f2, wfb(35)) == -1)) {\n throw vbb(new Wdb(\"invalid query: \" + f2));\n }\n }\n function nVc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r;\n Odd(b, \"Calculate Graph Size\", 1);\n b.n && !!a && Tdd(b, i6d(a), (pgd(), mgd));\n h = dme;\n i3 = dme;\n f2 = ere;\n g = ere;\n for (l = new Fyd((!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a)); l.e != l.i.gc(); ) {\n j = BD(Dyd(l), 33);\n o2 = j.i;\n p = j.j;\n r = j.g;\n d = j.f;\n e = BD(hkd(j, (Y9c(), S8c)), 142);\n h = $wnd.Math.min(h, o2 - e.b);\n i3 = $wnd.Math.min(i3, p - e.d);\n f2 = $wnd.Math.max(f2, o2 + r + e.c);\n g = $wnd.Math.max(g, p + d + e.a);\n }\n n = BD(hkd(a, (Y9c(), f9c)), 116);\n m = new f7c(h - n.b, i3 - n.d);\n for (k = new Fyd((!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a)); k.e != k.i.gc(); ) {\n j = BD(Dyd(k), 33);\n dld(j, j.i - m.a);\n eld(j, j.j - m.b);\n }\n q = f2 - h + (n.b + n.c);\n c2 = g - i3 + (n.d + n.a);\n cld(a, q);\n ald(a, c2);\n b.n && !!a && Tdd(b, i6d(a), (pgd(), mgd));\n }\n function rGb(a) {\n var b, c2, d, e, f2, g, h, i3, j, k;\n d = new Rkb();\n for (g = new olb(a.e.a); g.a < g.c.c.length; ) {\n e = BD(mlb(g), 121);\n k = 0;\n e.k.c = KC(SI, Uhe, 1, 0, 5, 1);\n for (c2 = new olb(LFb(e)); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 213);\n if (b.f) {\n Ekb(e.k, b);\n ++k;\n }\n }\n k == 1 && (d.c[d.c.length] = e, true);\n }\n for (f2 = new olb(d); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 121);\n while (e.k.c.length == 1) {\n j = BD(mlb(new olb(e.k)), 213);\n a.b[j.c] = j.g;\n h = j.d;\n i3 = j.e;\n for (c2 = new olb(LFb(e)); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 213);\n pb(b, j) || (b.f ? h == b.d || i3 == b.e ? a.b[j.c] -= a.b[b.c] - b.g : a.b[j.c] += a.b[b.c] - b.g : e == h ? b.d == e ? a.b[j.c] += b.g : a.b[j.c] -= b.g : b.d == e ? a.b[j.c] -= b.g : a.b[j.c] += b.g);\n }\n Lkb(h.k, j);\n Lkb(i3.k, j);\n h == e ? e = j.e : e = j.d;\n }\n }\n }\n function k4c(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2;\n if (b == null || b.length == 0) {\n return null;\n }\n f2 = BD(Phb(a.f, b), 23);\n if (!f2) {\n for (e = (n = new $ib(a.d).a.vc().Kc(), new djb(n)); e.a.Ob(); ) {\n c2 = (g = BD(e.a.Pb(), 42), BD(g.dd(), 23));\n h = c2.f;\n o2 = b.length;\n if (dfb(h.substr(h.length - o2, o2), b) && (b.length == h.length || bfb(h, h.length - b.length - 1) == 46)) {\n if (f2) {\n return null;\n }\n f2 = c2;\n }\n }\n if (!f2) {\n for (d = (m = new $ib(a.d).a.vc().Kc(), new djb(m)); d.a.Ob(); ) {\n c2 = (g = BD(d.a.Pb(), 42), BD(g.dd(), 23));\n l = c2.g;\n if (l != null) {\n for (i3 = l, j = 0, k = i3.length; j < k; ++j) {\n h = i3[j];\n o2 = b.length;\n if (dfb(h.substr(h.length - o2, o2), b) && (b.length == h.length || bfb(h, h.length - b.length - 1) == 46)) {\n if (f2) {\n return null;\n }\n f2 = c2;\n }\n }\n }\n }\n }\n !!f2 && Shb(a.f, b, f2);\n }\n return f2;\n }\n function sA(a, b) {\n var c2, d, e, f2, g;\n c2 = new Vfb();\n g = false;\n for (f2 = 0; f2 < b.length; f2++) {\n d = (BCb(f2, b.length), b.charCodeAt(f2));\n if (d == 32) {\n gA(a, c2, 0);\n c2.a += \" \";\n gA(a, c2, 0);\n while (f2 + 1 < b.length && (BCb(f2 + 1, b.length), b.charCodeAt(f2 + 1) == 32)) {\n ++f2;\n }\n continue;\n }\n if (g) {\n if (d == 39) {\n if (f2 + 1 < b.length && (BCb(f2 + 1, b.length), b.charCodeAt(f2 + 1) == 39)) {\n c2.a += String.fromCharCode(d);\n ++f2;\n } else {\n g = false;\n }\n } else {\n c2.a += String.fromCharCode(d);\n }\n continue;\n }\n if (hfb(\"GyMLdkHmsSEcDahKzZv\", wfb(d)) > 0) {\n gA(a, c2, 0);\n c2.a += String.fromCharCode(d);\n e = lA(b, f2);\n gA(a, c2, e);\n f2 += e - 1;\n continue;\n }\n if (d == 39) {\n if (f2 + 1 < b.length && (BCb(f2 + 1, b.length), b.charCodeAt(f2 + 1) == 39)) {\n c2.a += \"'\";\n ++f2;\n } else {\n g = true;\n }\n } else {\n c2.a += String.fromCharCode(d);\n }\n }\n gA(a, c2, 0);\n mA(a);\n }\n function wDc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r;\n Odd(c2, \"Network simplex layering\", 1);\n a.b = b;\n r = BD(vNb(b, (Nyc(), Ayc)), 19).a * 4;\n q = a.b.a;\n if (q.c.length < 1) {\n Qdd(c2);\n return;\n }\n f2 = sDc(a, q);\n p = null;\n for (e = Jsb(f2, 0); e.b != e.d.c; ) {\n d = BD(Xsb(e), 15);\n h = r * QD($wnd.Math.sqrt(d.gc()));\n g = vDc(d);\n uGb(HGb(JGb(IGb(LGb(g), h), p), true), Udd(c2, 1));\n m = a.b.b;\n for (o2 = new olb(g.a); o2.a < o2.c.c.length; ) {\n n = BD(mlb(o2), 121);\n while (m.c.length <= n.e) {\n Dkb(m, m.c.length, new H1b(a.b));\n }\n k = BD(n.f, 10);\n $_b(k, BD(Ikb(m, n.e), 29));\n }\n if (f2.b > 1) {\n p = KC(WD, oje, 25, a.b.b.c.length, 15, 1);\n l = 0;\n for (j = new olb(a.b.b); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 29);\n p[l++] = i3.a.c.length;\n }\n }\n }\n q.c = KC(SI, Uhe, 1, 0, 5, 1);\n a.a = null;\n a.b = null;\n a.c = null;\n Qdd(c2);\n }\n function OUb(a) {\n var b, c2, d, e, f2, g, h;\n b = 0;\n for (f2 = new olb(a.b.a); f2.a < f2.c.c.length; ) {\n d = BD(mlb(f2), 189);\n d.b = 0;\n d.c = 0;\n }\n NUb(a, 0);\n MUb(a, a.g);\n sVb(a.c);\n wVb(a.c);\n c2 = (ead(), aad);\n uVb(oVb(tVb(uVb(oVb(tVb(uVb(tVb(a.c, c2)), had(c2)))), c2)));\n tVb(a.c, aad);\n RUb(a, a.g);\n SUb(a, 0);\n TUb(a, 0);\n UUb(a, 1);\n NUb(a, 1);\n MUb(a, a.d);\n sVb(a.c);\n for (g = new olb(a.b.a); g.a < g.c.c.length; ) {\n d = BD(mlb(g), 189);\n b += $wnd.Math.abs(d.c);\n }\n for (h = new olb(a.b.a); h.a < h.c.c.length; ) {\n d = BD(mlb(h), 189);\n d.b = 0;\n d.c = 0;\n }\n c2 = dad;\n uVb(oVb(tVb(uVb(oVb(tVb(uVb(wVb(tVb(a.c, c2))), had(c2)))), c2)));\n tVb(a.c, aad);\n RUb(a, a.d);\n SUb(a, 1);\n TUb(a, 1);\n UUb(a, 0);\n wVb(a.c);\n for (e = new olb(a.b.a); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 189);\n b += $wnd.Math.abs(d.c);\n }\n return b;\n }\n function Wfe(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n j = b;\n if (j.b == null || a.b == null)\n return;\n Yfe(a);\n Vfe(a);\n Yfe(j);\n Vfe(j);\n c2 = KC(WD, oje, 25, a.b.length + j.b.length, 15, 1);\n k = 0;\n d = 0;\n g = 0;\n while (d < a.b.length && g < j.b.length) {\n e = a.b[d];\n f2 = a.b[d + 1];\n h = j.b[g];\n i3 = j.b[g + 1];\n if (f2 < h) {\n d += 2;\n } else if (f2 >= h && e <= i3) {\n if (h <= e && f2 <= i3) {\n c2[k++] = e;\n c2[k++] = f2;\n d += 2;\n } else if (h <= e) {\n c2[k++] = e;\n c2[k++] = i3;\n a.b[d] = i3 + 1;\n g += 2;\n } else if (f2 <= i3) {\n c2[k++] = h;\n c2[k++] = f2;\n d += 2;\n } else {\n c2[k++] = h;\n c2[k++] = i3;\n a.b[d] = i3 + 1;\n }\n } else if (i3 < e) {\n g += 2;\n } else {\n throw vbb(new hz(\"Token#intersectRanges(): Internal Error: [\" + a.b[d] + \",\" + a.b[d + 1] + \"] & [\" + j.b[g] + \",\" + j.b[g + 1] + \"]\"));\n }\n }\n while (d < a.b.length) {\n c2[k++] = a.b[d++];\n c2[k++] = a.b[d++];\n }\n a.b = KC(WD, oje, 25, k, 15, 1);\n $fb(c2, 0, a.b, 0, k);\n }\n function PUb(a) {\n var b, c2, d, e, f2, g, h;\n b = new Rkb();\n a.g = new Rkb();\n a.d = new Rkb();\n for (g = new nib(new eib(a.f.b).a); g.b; ) {\n f2 = lib(g);\n Ekb(b, BD(BD(f2.dd(), 46).b, 81));\n fad(BD(f2.cd(), 594).gf()) ? Ekb(a.d, BD(f2.dd(), 46)) : Ekb(a.g, BD(f2.dd(), 46));\n }\n MUb(a, a.d);\n MUb(a, a.g);\n a.c = new CVb(a.b);\n AVb(a.c, (xUb(), wUb));\n RUb(a, a.d);\n RUb(a, a.g);\n Gkb(b, a.c.a.b);\n a.e = new f7c(Pje, Pje);\n a.a = new f7c(Qje, Qje);\n for (d = new olb(b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 81);\n a.e.a = $wnd.Math.min(a.e.a, c2.g.c);\n a.e.b = $wnd.Math.min(a.e.b, c2.g.d);\n a.a.a = $wnd.Math.max(a.a.a, c2.g.c + c2.g.b);\n a.a.b = $wnd.Math.max(a.a.b, c2.g.d + c2.g.a);\n }\n zVb(a.c, new YUb());\n h = 0;\n do {\n e = OUb(a);\n ++h;\n } while ((h < 2 || e > Qie) && h < 10);\n zVb(a.c, new _Ub());\n OUb(a);\n vVb(a.c);\n yUb(a.f);\n }\n function sZb(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q;\n if (!Ccb(DD(vNb(c2, (Nyc(), fxc))))) {\n return;\n }\n for (h = new olb(c2.j); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 11);\n m = k_b(g.g);\n for (j = m, k = 0, l = j.length; k < l; ++k) {\n i3 = j[k];\n f2 = i3.d.i == c2;\n e = f2 && Ccb(DD(vNb(i3, gxc)));\n if (e) {\n o2 = i3.c;\n n = BD(Ohb(a.b, o2), 10);\n if (!n) {\n n = Z$b(o2, (dcd(), bcd), o2.j, -1, null, null, o2.o, BD(vNb(b, Lwc), 103), b);\n yNb(n, (wtc(), $sc), o2);\n Rhb(a.b, o2, n);\n Ekb(b.a, n);\n }\n q = i3.d;\n p = BD(Ohb(a.b, q), 10);\n if (!p) {\n p = Z$b(q, (dcd(), bcd), q.j, 1, null, null, q.o, BD(vNb(b, Lwc), 103), b);\n yNb(p, (wtc(), $sc), q);\n Rhb(a.b, q, p);\n Ekb(b.a, p);\n }\n d = kZb(i3);\n QZb(d, BD(Ikb(n.j, 0), 11));\n RZb(d, BD(Ikb(p.j, 0), 11));\n Rc(a.a, i3, new BZb(d, b, (KAc(), IAc)));\n BD(vNb(b, (wtc(), Ksc)), 21).Fc((Orc(), Hrc));\n }\n }\n }\n }\n function W9b(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2;\n Odd(c2, \"Label dummy switching\", 1);\n d = BD(vNb(b, (Nyc(), Owc)), 227);\n J9b(b);\n e = T9b(b, d);\n a.a = KC(UD, Vje, 25, b.b.c.length, 15, 1);\n for (h = (Apc(), OC(GC(EW, 1), Kie, 227, 0, [wpc, ypc, vpc, xpc, zpc, upc])), k = 0, n = h.length; k < n; ++k) {\n f2 = h[k];\n if ((f2 == zpc || f2 == upc || f2 == xpc) && !BD(uqb(e.a, f2) ? e.b[f2.g] : null, 15).dc()) {\n M9b(a, b);\n break;\n }\n }\n for (i3 = OC(GC(EW, 1), Kie, 227, 0, [wpc, ypc, vpc, xpc, zpc, upc]), l = 0, o2 = i3.length; l < o2; ++l) {\n f2 = i3[l];\n f2 == zpc || f2 == upc || f2 == xpc || X9b(a, BD(uqb(e.a, f2) ? e.b[f2.g] : null, 15));\n }\n for (g = OC(GC(EW, 1), Kie, 227, 0, [wpc, ypc, vpc, xpc, zpc, upc]), j = 0, m = g.length; j < m; ++j) {\n f2 = g[j];\n (f2 == zpc || f2 == upc || f2 == xpc) && X9b(a, BD(uqb(e.a, f2) ? e.b[f2.g] : null, 15));\n }\n a.a = null;\n Qdd(c2);\n }\n function AFc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m;\n switch (a.k.g) {\n case 1:\n d = BD(vNb(a, (wtc(), $sc)), 17);\n c2 = BD(vNb(d, _sc), 74);\n !c2 ? c2 = new s7c() : Ccb(DD(vNb(d, ltc))) && (c2 = w7c(c2));\n j = BD(vNb(a, Vsc), 11);\n if (j) {\n k = l7c(OC(GC(m1, 1), nie, 8, 0, [j.i.n, j.n, j.a]));\n if (b <= k.a) {\n return k.b;\n }\n Gsb(c2, k, c2.a, c2.a.a);\n }\n l = BD(vNb(a, Wsc), 11);\n if (l) {\n m = l7c(OC(GC(m1, 1), nie, 8, 0, [l.i.n, l.n, l.a]));\n if (m.a <= b) {\n return m.b;\n }\n Gsb(c2, m, c2.c.b, c2.c);\n }\n if (c2.b >= 2) {\n i3 = Jsb(c2, 0);\n g = BD(Xsb(i3), 8);\n h = BD(Xsb(i3), 8);\n while (h.a < b && i3.b != i3.d.c) {\n g = h;\n h = BD(Xsb(i3), 8);\n }\n return g.b + (b - g.a) / (h.a - g.a) * (h.b - g.b);\n }\n break;\n case 3:\n f2 = BD(vNb(BD(Ikb(a.j, 0), 11), (wtc(), $sc)), 11);\n e = f2.i;\n switch (f2.j.g) {\n case 1:\n return e.n.b;\n case 3:\n return e.n.b + e.o.b;\n }\n }\n return T_b(a).b;\n }\n function Wgc(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l;\n for (g = new olb(a.d.b); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 29);\n for (i3 = new olb(f2.a); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 10);\n if (Ccb(DD(vNb(h, (Nyc(), pwc))))) {\n if (!Qq(O_b(h))) {\n d = BD(Oq(O_b(h)), 17);\n k = d.c.i;\n k == h && (k = d.d.i);\n l = new vgd(k, c7c(R6c(h.n), k.n));\n Rhb(a.b, h, l);\n continue;\n }\n }\n e = new J6c(h.n.a - h.d.b, h.n.b - h.d.d, h.o.a + h.d.b + h.d.c, h.o.b + h.d.d + h.d.a);\n b = vDb(yDb(wDb(xDb(new zDb(), h), e), Fgc), a.a);\n pDb(qDb(rDb(new sDb(), OC(GC(PM, 1), Uhe, 57, 0, [b])), b), a.a);\n j = new lEb();\n Rhb(a.e, b, j);\n c2 = sr(new Sr(ur(R_b(h).a.Kc(), new Sq()))) - sr(new Sr(ur(U_b(h).a.Kc(), new Sq())));\n c2 < 0 ? jEb(j, true, (ead(), aad)) : c2 > 0 && jEb(j, true, (ead(), bad));\n h.k == (j0b(), e0b) && kEb(j);\n Rhb(a.f, h, b);\n }\n }\n }\n function Bbc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m;\n Odd(c2, \"Node promotion heuristic\", 1);\n a.g = b;\n Abc(a);\n a.q = BD(vNb(b, (Nyc(), rxc)), 260);\n k = BD(vNb(a.g, qxc), 19).a;\n f2 = new Jbc();\n switch (a.q.g) {\n case 2:\n case 1:\n Dbc(a, f2);\n break;\n case 3:\n a.q = (kAc(), jAc);\n Dbc(a, f2);\n i3 = 0;\n for (h = new olb(a.a); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 19);\n i3 = $wnd.Math.max(i3, g.a);\n }\n if (i3 > a.j) {\n a.q = dAc;\n Dbc(a, f2);\n }\n break;\n case 4:\n a.q = (kAc(), jAc);\n Dbc(a, f2);\n j = 0;\n for (e = new olb(a.b); e.a < e.c.c.length; ) {\n d = ED(mlb(e));\n j = $wnd.Math.max(j, (uCb(d), d));\n }\n if (j > a.k) {\n a.q = gAc;\n Dbc(a, f2);\n }\n break;\n case 6:\n m = QD($wnd.Math.ceil(a.f.length * k / 100));\n Dbc(a, new Mbc(m));\n break;\n case 5:\n l = QD($wnd.Math.ceil(a.d * k / 100));\n Dbc(a, new Pbc(l));\n break;\n default:\n Dbc(a, f2);\n }\n Ebc(a, b);\n Qdd(c2);\n }\n function fFc(a, b, c2) {\n var d, e, f2, g;\n this.j = a;\n this.e = WZb(a);\n this.o = this.j.e;\n this.i = !!this.o;\n this.p = this.i ? BD(Ikb(c2, Q_b(this.o).p), 214) : null;\n e = BD(vNb(a, (wtc(), Ksc)), 21);\n this.g = e.Hc((Orc(), Hrc));\n this.b = new Rkb();\n this.d = new rHc(this.e);\n g = BD(vNb(this.j, jtc), 230);\n this.q = wFc(b, g, this.e);\n this.k = new BGc(this);\n f2 = Ou(OC(GC(qY, 1), Uhe, 225, 0, [this, this.d, this.k, this.q]));\n if (b == (rGc(), oGc) && !Ccb(DD(vNb(a, (Nyc(), Awc))))) {\n d = new SEc(this.e);\n f2.c[f2.c.length] = d;\n this.c = new uEc(d, g, BD(this.q, 402));\n } else if (b == oGc && Ccb(DD(vNb(a, (Nyc(), Awc))))) {\n d = new SEc(this.e);\n f2.c[f2.c.length] = d;\n this.c = new XGc(d, g, BD(this.q, 402));\n } else {\n this.c = new Oic(b, this);\n }\n Ekb(f2, this.c);\n $Ic(f2, this.e);\n this.s = AGc(this.k);\n }\n function xUc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u;\n l = BD(pr((g = Jsb(new ZRc(b).a.d, 0), new aSc(g))), 86);\n o2 = l ? BD(vNb(l, (mTc(), _Sc)), 86) : null;\n e = 1;\n while (!!l && !!o2) {\n i3 = 0;\n u = 0;\n c2 = l;\n d = o2;\n for (h = 0; h < e; h++) {\n c2 = VRc(c2);\n d = VRc(d);\n u += Edb(ED(vNb(c2, (mTc(), cTc))));\n i3 += Edb(ED(vNb(d, cTc)));\n }\n t = Edb(ED(vNb(o2, (mTc(), fTc))));\n s = Edb(ED(vNb(l, fTc)));\n m = zUc(l, o2);\n n = t + i3 + a.a + m - s - u;\n if (0 < n) {\n j = b;\n k = 0;\n while (!!j && j != d) {\n ++k;\n j = BD(vNb(j, aTc), 86);\n }\n if (j) {\n r = n / k;\n j = b;\n while (j != d) {\n q = Edb(ED(vNb(j, fTc))) + n;\n yNb(j, fTc, q);\n p = Edb(ED(vNb(j, cTc))) + n;\n yNb(j, cTc, p);\n n -= r;\n j = BD(vNb(j, aTc), 86);\n }\n } else {\n return;\n }\n }\n ++e;\n l.d.b == 0 ? l = JRc(new ZRc(b), e) : l = BD(pr((f2 = Jsb(new ZRc(l).a.d, 0), new aSc(f2))), 86);\n o2 = l ? BD(vNb(l, _Sc), 86) : null;\n }\n }\n function Cbc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l;\n i3 = true;\n e = 0;\n j = a.f[b.p];\n k = b.o.b + a.n;\n c2 = a.c[b.p][2];\n Nkb(a.a, j, meb(BD(Ikb(a.a, j), 19).a - 1 + c2));\n Nkb(a.b, j, Edb(ED(Ikb(a.b, j))) - k + c2 * a.e);\n ++j;\n if (j >= a.i) {\n ++a.i;\n Ekb(a.a, meb(1));\n Ekb(a.b, k);\n } else {\n d = a.c[b.p][1];\n Nkb(a.a, j, meb(BD(Ikb(a.a, j), 19).a + 1 - d));\n Nkb(a.b, j, Edb(ED(Ikb(a.b, j))) + k - d * a.e);\n }\n (a.q == (kAc(), dAc) && (BD(Ikb(a.a, j), 19).a > a.j || BD(Ikb(a.a, j - 1), 19).a > a.j) || a.q == gAc && (Edb(ED(Ikb(a.b, j))) > a.k || Edb(ED(Ikb(a.b, j - 1))) > a.k)) && (i3 = false);\n for (g = new Sr(ur(R_b(b).a.Kc(), new Sq())); Qr(g); ) {\n f2 = BD(Rr(g), 17);\n h = f2.c.i;\n if (a.f[h.p] == j) {\n l = Cbc(a, h);\n e = e + BD(l.a, 19).a;\n i3 = i3 && Ccb(DD(l.b));\n }\n }\n a.f[b.p] = j;\n e = e + a.c[b.p][0];\n return new vgd(meb(e), (Bcb(), i3 ? true : false));\n }\n function sPc(a, b, c2, d, e) {\n var f2, g, h, i3, j, k, l, m, n, o2, p, q, r;\n l = new Lqb();\n g = new Rkb();\n qPc(a, c2, a.d.fg(), g, l);\n qPc(a, d, a.d.gg(), g, l);\n a.b = 0.2 * (p = rPc(LAb(new YAb(null, new Kub(g, 16)), new xPc())), q = rPc(LAb(new YAb(null, new Kub(g, 16)), new zPc())), $wnd.Math.min(p, q));\n f2 = 0;\n for (h = 0; h < g.c.length - 1; h++) {\n i3 = (tCb(h, g.c.length), BD(g.c[h], 112));\n for (o2 = h + 1; o2 < g.c.length; o2++) {\n f2 += pPc(a, i3, (tCb(o2, g.c.length), BD(g.c[o2], 112)));\n }\n }\n m = BD(vNb(b, (wtc(), jtc)), 230);\n f2 >= 2 && (r = WNc(g, true, m), !a.e && (a.e = new ZOc(a)), VOc(a.e, r, g, a.b), void 0);\n uPc(g, m);\n wPc(g);\n n = -1;\n for (k = new olb(g); k.a < k.c.c.length; ) {\n j = BD(mlb(k), 112);\n if ($wnd.Math.abs(j.s - j.c) < qme) {\n continue;\n }\n n = $wnd.Math.max(n, j.o);\n a.d.dg(j, e, a.c);\n }\n a.d.a.a.$b();\n return n + 1;\n }\n function aUb(a, b) {\n var c2, d, e, f2, g;\n c2 = Edb(ED(vNb(b, (Nyc(), lyc))));\n c2 < 2 && yNb(b, lyc, 2);\n d = BD(vNb(b, Lwc), 103);\n d == (ead(), cad) && yNb(b, Lwc, a_b(b));\n e = BD(vNb(b, fyc), 19);\n e.a == 0 ? yNb(b, (wtc(), jtc), new Gub()) : yNb(b, (wtc(), jtc), new Hub(e.a));\n f2 = DD(vNb(b, Axc));\n f2 == null && yNb(b, Axc, (Bcb(), PD(vNb(b, Swc)) === PD((Aad(), wad)) ? true : false));\n MAb(new YAb(null, new Kub(b.a, 16)), new dUb(a));\n MAb(LAb(new YAb(null, new Kub(b.b, 16)), new fUb()), new hUb(a));\n g = new oBc(b);\n yNb(b, (wtc(), otc), g);\n H2c(a.a);\n K2c(a.a, (qUb(), lUb), BD(vNb(b, Jwc), 246));\n K2c(a.a, mUb, BD(vNb(b, sxc), 246));\n K2c(a.a, nUb, BD(vNb(b, Iwc), 246));\n K2c(a.a, oUb, BD(vNb(b, Exc), 246));\n K2c(a.a, pUb, kNc(BD(vNb(b, Swc), 218)));\n E2c(a.a, _Tb(b));\n yNb(b, itc, F2c(a.a, b));\n }\n function fjc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2;\n if (m = a.c[b], n = a.c[c2], (o2 = BD(vNb(m, (wtc(), Qsc)), 15), !!o2 && o2.gc() != 0 && o2.Hc(n)) || (p = m.k != (j0b(), g0b) && n.k != g0b, q = BD(vNb(m, Psc), 10), r = BD(vNb(n, Psc), 10), s = q != r, t = !!q && q != m || !!r && r != n, u = gjc(m, (Ucd(), Acd)), v = gjc(n, Rcd), t = t | (gjc(m, Rcd) || gjc(n, Acd)), w2 = t && s || u || v, p && w2) || m.k == (j0b(), i0b) && n.k == h0b || n.k == (j0b(), i0b) && m.k == h0b) {\n return false;\n }\n k = a.c[b];\n f2 = a.c[c2];\n e = LHc(a.e, k, f2, (Ucd(), Tcd));\n i3 = LHc(a.i, k, f2, zcd);\n Yic(a.f, k, f2);\n j = Hic(a.b, k, f2) + BD(e.a, 19).a + BD(i3.a, 19).a + a.f.d;\n h = Hic(a.b, f2, k) + BD(e.b, 19).a + BD(i3.b, 19).a + a.f.b;\n if (a.a) {\n l = BD(vNb(k, $sc), 11);\n g = BD(vNb(f2, $sc), 11);\n d = JHc(a.g, l, g);\n j += BD(d.a, 19).a;\n h += BD(d.b, 19).a;\n }\n return j > h;\n }\n function k6b(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p;\n c2 = BD(vNb(a, (Nyc(), Vxc)), 98);\n g = a.f;\n f2 = a.d;\n h = g.a + f2.b + f2.c;\n i3 = 0 - f2.d - a.c.b;\n k = g.b + f2.d + f2.a - a.c.b;\n j = new Rkb();\n l = new Rkb();\n for (e = new olb(b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 10);\n switch (c2.g) {\n case 1:\n case 2:\n case 3:\n a6b(d);\n break;\n case 4:\n m = BD(vNb(d, Txc), 8);\n n = !m ? 0 : m.a;\n d.n.a = h * Edb(ED(vNb(d, (wtc(), htc)))) - n;\n M_b(d, true, false);\n break;\n case 5:\n o2 = BD(vNb(d, Txc), 8);\n p = !o2 ? 0 : o2.a;\n d.n.a = Edb(ED(vNb(d, (wtc(), htc)))) - p;\n M_b(d, true, false);\n g.a = $wnd.Math.max(g.a, d.n.a + d.o.a / 2);\n }\n switch (BD(vNb(d, (wtc(), Hsc)), 61).g) {\n case 1:\n d.n.b = i3;\n j.c[j.c.length] = d;\n break;\n case 3:\n d.n.b = k;\n l.c[l.c.length] = d;\n }\n }\n switch (c2.g) {\n case 1:\n case 2:\n c6b(j, a);\n c6b(l, a);\n break;\n case 3:\n i6b(j, a);\n i6b(l, a);\n }\n }\n function VHc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l;\n k = new Rkb();\n l = new jkb();\n f2 = null;\n e = 0;\n for (d = 0; d < b.length; ++d) {\n c2 = b[d];\n XHc(f2, c2) && (e = QHc(a, l, k, EHc, e));\n wNb(c2, (wtc(), Psc)) && (f2 = BD(vNb(c2, Psc), 10));\n switch (c2.k.g) {\n case 0:\n for (i3 = Vq(Nq(V_b(c2, (Ucd(), Acd)), new GIc())); xc(i3); ) {\n g = BD(yc(i3), 11);\n a.d[g.p] = e++;\n k.c[k.c.length] = g;\n }\n e = QHc(a, l, k, EHc, e);\n for (j = Vq(Nq(V_b(c2, Rcd), new GIc())); xc(j); ) {\n g = BD(yc(j), 11);\n a.d[g.p] = e++;\n k.c[k.c.length] = g;\n }\n break;\n case 3:\n if (!V_b(c2, DHc).dc()) {\n g = BD(V_b(c2, DHc).Xb(0), 11);\n a.d[g.p] = e++;\n k.c[k.c.length] = g;\n }\n V_b(c2, EHc).dc() || Wjb(l, c2);\n break;\n case 1:\n for (h = V_b(c2, (Ucd(), Tcd)).Kc(); h.Ob(); ) {\n g = BD(h.Pb(), 11);\n a.d[g.p] = e++;\n k.c[k.c.length] = g;\n }\n V_b(c2, zcd).Jc(new EIc(l, c2));\n }\n }\n QHc(a, l, k, EHc, e);\n return k;\n }\n function y$c(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s;\n j = Pje;\n k = Pje;\n h = Qje;\n i3 = Qje;\n for (m = new olb(b.i); m.a < m.c.c.length; ) {\n l = BD(mlb(m), 65);\n e = BD(BD(Ohb(a.g, l.a), 46).b, 33);\n bld(e, l.b.c, l.b.d);\n j = $wnd.Math.min(j, e.i);\n k = $wnd.Math.min(k, e.j);\n h = $wnd.Math.max(h, e.i + e.g);\n i3 = $wnd.Math.max(i3, e.j + e.f);\n }\n n = BD(hkd(a.c, (d0c(), W_c)), 116);\n Afd(a.c, h - j + (n.b + n.c), i3 - k + (n.d + n.a), true, true);\n Efd(a.c, -j + n.b, -k + n.d);\n for (d = new Fyd(Wod(a.c)); d.e != d.i.gc(); ) {\n c2 = BD(Dyd(d), 79);\n g = itd(c2, true, true);\n o2 = jtd(c2);\n q = ltd(c2);\n p = new f7c(o2.i + o2.g / 2, o2.j + o2.f / 2);\n f2 = new f7c(q.i + q.g / 2, q.j + q.f / 2);\n r = c7c(new f7c(f2.a, f2.b), p);\n l6c(r, o2.g, o2.f);\n P6c(p, r);\n s = c7c(new f7c(p.a, p.b), f2);\n l6c(s, q.g, q.f);\n P6c(f2, s);\n nmd(g, p.a, p.b);\n gmd(g, f2.a, f2.b);\n }\n }\n function EYb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2;\n a.c = a.d;\n o2 = DD(vNb(b, (Nyc(), gyc)));\n n = o2 == null || (uCb(o2), o2);\n f2 = BD(vNb(b, (wtc(), Ksc)), 21).Hc((Orc(), Hrc));\n e = BD(vNb(b, Vxc), 98);\n c2 = !(e == (dcd(), Zbd) || e == _bd || e == $bd);\n if (n && (c2 || !f2)) {\n for (l = new olb(b.a); l.a < l.c.c.length; ) {\n j = BD(mlb(l), 10);\n j.p = 0;\n }\n m = new Rkb();\n for (k = new olb(b.a); k.a < k.c.c.length; ) {\n j = BD(mlb(k), 10);\n d = DYb(a, j, null);\n if (d) {\n i3 = new XZb();\n tNb(i3, b);\n yNb(i3, Esc, BD(d.b, 21));\n u_b(i3.d, b.d);\n yNb(i3, Hxc, null);\n for (h = BD(d.a, 15).Kc(); h.Ob(); ) {\n g = BD(h.Pb(), 10);\n Ekb(i3.a, g);\n g.a = i3;\n }\n m.Fc(i3);\n }\n }\n f2 && (PD(vNb(b, twc)) === PD((RXb(), OXb)) ? a.c = a.b : a.c = a.a);\n } else {\n m = new amb(OC(GC(KQ, 1), cne, 37, 0, [b]));\n }\n PD(vNb(b, twc)) !== PD((RXb(), QXb)) && (mmb(), m.ad(new HYb()));\n return m;\n }\n function KTc(a) {\n r4c(a, new E3c(Q3c(L3c(P3c(M3c(O3c(N3c(new R3c(), are), \"ELK Mr. Tree\"), \"Tree-based algorithm provided by the Eclipse Layout Kernel. Computes a spanning tree of the input graph and arranges all nodes according to the resulting parent-children hierarchy. I pity the fool who doesn't use Mr. Tree Layout.\"), new NTc()), bre), pqb((Csd(), wsd)))));\n p4c(a, are, ame, CTc);\n p4c(a, are, wme, 20);\n p4c(a, are, _le, tme);\n p4c(a, are, vme, meb(1));\n p4c(a, are, zme, (Bcb(), true));\n p4c(a, are, Zpe, Ksd(vTc));\n p4c(a, are, Fme, Ksd(xTc));\n p4c(a, are, Tme, Ksd(yTc));\n p4c(a, are, Eme, Ksd(zTc));\n p4c(a, are, Gme, Ksd(wTc));\n p4c(a, are, Dme, Ksd(ATc));\n p4c(a, are, Hme, Ksd(DTc));\n p4c(a, are, Zqe, Ksd(ITc));\n p4c(a, are, $qe, Ksd(FTc));\n }\n function zod(a) {\n if (a.q)\n return;\n a.q = true;\n a.p = Lnd(a, 0);\n a.a = Lnd(a, 1);\n Qnd(a.a, 0);\n a.f = Lnd(a, 2);\n Qnd(a.f, 1);\n Knd(a.f, 2);\n a.n = Lnd(a, 3);\n Knd(a.n, 3);\n Knd(a.n, 4);\n Knd(a.n, 5);\n Knd(a.n, 6);\n a.g = Lnd(a, 4);\n Qnd(a.g, 7);\n Knd(a.g, 8);\n a.c = Lnd(a, 5);\n Qnd(a.c, 7);\n Qnd(a.c, 8);\n a.i = Lnd(a, 6);\n Qnd(a.i, 9);\n Qnd(a.i, 10);\n Qnd(a.i, 11);\n Qnd(a.i, 12);\n Knd(a.i, 13);\n a.j = Lnd(a, 7);\n Qnd(a.j, 9);\n a.d = Lnd(a, 8);\n Qnd(a.d, 3);\n Qnd(a.d, 4);\n Qnd(a.d, 5);\n Qnd(a.d, 6);\n Knd(a.d, 7);\n Knd(a.d, 8);\n Knd(a.d, 9);\n Knd(a.d, 10);\n a.b = Lnd(a, 9);\n Knd(a.b, 0);\n Knd(a.b, 1);\n a.e = Lnd(a, 10);\n Knd(a.e, 1);\n Knd(a.e, 2);\n Knd(a.e, 3);\n Knd(a.e, 4);\n Qnd(a.e, 5);\n Qnd(a.e, 6);\n Qnd(a.e, 7);\n Qnd(a.e, 8);\n Qnd(a.e, 9);\n Qnd(a.e, 10);\n Knd(a.e, 11);\n a.k = Lnd(a, 11);\n Knd(a.k, 0);\n Knd(a.k, 1);\n a.o = Mnd(a, 12);\n a.s = Mnd(a, 13);\n }\n function AUb(a, b) {\n b.dc() && HVb(a.j, true, true, true, true);\n pb(b, (Ucd(), Gcd)) && HVb(a.j, true, true, true, false);\n pb(b, Bcd) && HVb(a.j, false, true, true, true);\n pb(b, Ocd) && HVb(a.j, true, true, false, true);\n pb(b, Qcd) && HVb(a.j, true, false, true, true);\n pb(b, Hcd) && HVb(a.j, false, true, true, false);\n pb(b, Ccd) && HVb(a.j, false, true, false, true);\n pb(b, Pcd) && HVb(a.j, true, false, false, true);\n pb(b, Ncd) && HVb(a.j, true, false, true, false);\n pb(b, Lcd) && HVb(a.j, true, true, true, true);\n pb(b, Ecd) && HVb(a.j, true, true, true, true);\n pb(b, Lcd) && HVb(a.j, true, true, true, true);\n pb(b, Dcd) && HVb(a.j, true, true, true, true);\n pb(b, Mcd) && HVb(a.j, true, true, true, true);\n pb(b, Kcd) && HVb(a.j, true, true, true, true);\n pb(b, Jcd) && HVb(a.j, true, true, true, true);\n }\n function rZb(a, b, c2, d, e) {\n var f2, g, h, i3, j, k, l, m, n, o2, p, q;\n f2 = new Rkb();\n for (j = new olb(d); j.a < j.c.c.length; ) {\n h = BD(mlb(j), 441);\n g = null;\n if (h.f == (KAc(), IAc)) {\n for (o2 = new olb(h.e); o2.a < o2.c.c.length; ) {\n n = BD(mlb(o2), 17);\n q = n.d.i;\n if (Q_b(q) == b) {\n iZb(a, b, h, n, h.b, n.d);\n } else if (!c2 || f_b(q, c2)) {\n jZb(a, b, h, d, n);\n } else {\n m = oZb(a, b, c2, n, h.b, IAc, g);\n m != g && (f2.c[f2.c.length] = m, true);\n m.c && (g = m);\n }\n }\n } else {\n for (l = new olb(h.e); l.a < l.c.c.length; ) {\n k = BD(mlb(l), 17);\n p = k.c.i;\n if (Q_b(p) == b) {\n iZb(a, b, h, k, k.c, h.b);\n } else if (!c2 || f_b(p, c2)) {\n continue;\n } else {\n m = oZb(a, b, c2, k, h.b, HAc, g);\n m != g && (f2.c[f2.c.length] = m, true);\n m.c && (g = m);\n }\n }\n }\n }\n for (i3 = new olb(f2); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 441);\n Jkb(b.a, h.a, 0) != -1 || Ekb(b.a, h.a);\n h.c && (e.c[e.c.length] = h, true);\n }\n }\n function SJc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m;\n j = new Rkb();\n for (i3 = new olb(b.a); i3.a < i3.c.c.length; ) {\n g = BD(mlb(i3), 10);\n for (m = V_b(g, (Ucd(), zcd)).Kc(); m.Ob(); ) {\n l = BD(m.Pb(), 11);\n for (e = new olb(l.g); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 17);\n if (!OZb(d) && d.c.i.c == d.d.i.c || OZb(d) || d.d.i.c != c2) {\n continue;\n }\n j.c[j.c.length] = d;\n }\n }\n }\n for (h = Su(c2.a).Kc(); h.Ob(); ) {\n g = BD(h.Pb(), 10);\n for (m = V_b(g, (Ucd(), Tcd)).Kc(); m.Ob(); ) {\n l = BD(m.Pb(), 11);\n for (e = new olb(l.e); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 17);\n if (!OZb(d) && d.c.i.c == d.d.i.c || OZb(d) || d.c.i.c != b) {\n continue;\n }\n k = new Bib(j, j.c.length);\n f2 = (sCb(k.b > 0), BD(k.a.Xb(k.c = --k.b), 17));\n while (f2 != d && k.b > 0) {\n a.a[f2.p] = true;\n a.a[d.p] = true;\n f2 = (sCb(k.b > 0), BD(k.a.Xb(k.c = --k.b), 17));\n }\n k.b > 0 && uib(k);\n }\n }\n }\n }\n function Vmd(b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m;\n if (b.a != c2.Aj()) {\n throw vbb(new Wdb(tte + c2.ne() + ute));\n }\n e = o1d((O6d(), M6d), c2).$k();\n if (e) {\n return e.Aj().Nh().Ih(e, d);\n }\n h = o1d(M6d, c2).al();\n if (h) {\n if (d == null) {\n return null;\n }\n i3 = BD(d, 15);\n if (i3.dc()) {\n return \"\";\n }\n m = new Hfb();\n for (g = i3.Kc(); g.Ob(); ) {\n f2 = g.Pb();\n Efb(m, h.Aj().Nh().Ih(h, f2));\n m.a += \" \";\n }\n return lcb(m, m.a.length - 1);\n }\n l = o1d(M6d, c2).bl();\n if (!l.dc()) {\n for (k = l.Kc(); k.Ob(); ) {\n j = BD(k.Pb(), 148);\n if (j.wj(d)) {\n try {\n m = j.Aj().Nh().Ih(j, d);\n if (m != null) {\n return m;\n }\n } catch (a) {\n a = ubb(a);\n if (!JD(a, 102))\n throw vbb(a);\n }\n }\n }\n throw vbb(new Wdb(\"Invalid value: '\" + d + \"' for datatype :\" + c2.ne()));\n }\n BD(c2, 834).Fj();\n return d == null ? null : JD(d, 172) ? \"\" + BD(d, 172).a : rb(d) == $J ? CQd(Pmd[0], BD(d, 199)) : fcb(d);\n }\n function zQc(a) {\n var b, c2, d, e, f2, g, h, i3, j, k;\n j = new Psb();\n h = new Psb();\n for (f2 = new olb(a); f2.a < f2.c.c.length; ) {\n d = BD(mlb(f2), 128);\n d.v = 0;\n d.n = d.i.c.length;\n d.u = d.t.c.length;\n d.n == 0 && (Gsb(j, d, j.c.b, j.c), true);\n d.u == 0 && d.r.a.gc() == 0 && (Gsb(h, d, h.c.b, h.c), true);\n }\n g = -1;\n while (j.b != 0) {\n d = BD(Vt(j, 0), 128);\n for (c2 = new olb(d.t); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 268);\n k = b.b;\n k.v = $wnd.Math.max(k.v, d.v + 1);\n g = $wnd.Math.max(g, k.v);\n --k.n;\n k.n == 0 && (Gsb(j, k, j.c.b, j.c), true);\n }\n }\n if (g > -1) {\n for (e = Jsb(h, 0); e.b != e.d.c; ) {\n d = BD(Xsb(e), 128);\n d.v = g;\n }\n while (h.b != 0) {\n d = BD(Vt(h, 0), 128);\n for (c2 = new olb(d.i); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 268);\n i3 = b.a;\n if (i3.r.a.gc() != 0) {\n continue;\n }\n i3.v = $wnd.Math.min(i3.v, d.v - 1);\n --i3.u;\n i3.u == 0 && (Gsb(h, i3, h.c.b, h.c), true);\n }\n }\n }\n }\n function A6c(a, b, c2, d, e) {\n var f2, g, h, i3;\n i3 = Pje;\n g = false;\n h = v6c(a, c7c(new f7c(b.a, b.b), a), P6c(new f7c(c2.a, c2.b), e), c7c(new f7c(d.a, d.b), c2));\n f2 = !!h && !($wnd.Math.abs(h.a - a.a) <= nse && $wnd.Math.abs(h.b - a.b) <= nse || $wnd.Math.abs(h.a - b.a) <= nse && $wnd.Math.abs(h.b - b.b) <= nse);\n h = v6c(a, c7c(new f7c(b.a, b.b), a), c2, e);\n !!h && (($wnd.Math.abs(h.a - a.a) <= nse && $wnd.Math.abs(h.b - a.b) <= nse) == ($wnd.Math.abs(h.a - b.a) <= nse && $wnd.Math.abs(h.b - b.b) <= nse) || f2 ? i3 = $wnd.Math.min(i3, U6c(c7c(h, c2))) : g = true);\n h = v6c(a, c7c(new f7c(b.a, b.b), a), d, e);\n !!h && (g || ($wnd.Math.abs(h.a - a.a) <= nse && $wnd.Math.abs(h.b - a.b) <= nse) == ($wnd.Math.abs(h.a - b.a) <= nse && $wnd.Math.abs(h.b - b.b) <= nse) || f2) && (i3 = $wnd.Math.min(i3, U6c(c7c(h, d))));\n return i3;\n }\n function cTb(a) {\n r4c(a, new E3c(L3c(P3c(M3c(O3c(N3c(new R3c(), Rme), Sme), \"Minimizes the stress within a layout using stress majorization. Stress exists if the euclidean distance between a pair of nodes doesn't match their graph theoretic distance, that is, the shortest path between the two nodes. The method allows to specify individual edge lengths.\"), new fTb()), ume)));\n p4c(a, Rme, Ame, Ksd(VSb));\n p4c(a, Rme, Cme, (Bcb(), true));\n p4c(a, Rme, Fme, Ksd(YSb));\n p4c(a, Rme, Tme, Ksd(ZSb));\n p4c(a, Rme, Eme, Ksd($Sb));\n p4c(a, Rme, Gme, Ksd(XSb));\n p4c(a, Rme, Dme, Ksd(_Sb));\n p4c(a, Rme, Hme, Ksd(aTb));\n p4c(a, Rme, Mme, Ksd(USb));\n p4c(a, Rme, Ome, Ksd(SSb));\n p4c(a, Rme, Pme, Ksd(TSb));\n p4c(a, Rme, Qme, Ksd(WSb));\n p4c(a, Rme, Nme, Ksd(RSb));\n }\n function BFc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r;\n Odd(b, \"Interactive crossing minimization\", 1);\n g = 0;\n for (f2 = new olb(a.b); f2.a < f2.c.c.length; ) {\n d = BD(mlb(f2), 29);\n d.p = g++;\n }\n m = WZb(a);\n q = new iHc(m.length);\n $Ic(new amb(OC(GC(qY, 1), Uhe, 225, 0, [q])), m);\n p = 0;\n g = 0;\n for (e = new olb(a.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 29);\n c2 = 0;\n l = 0;\n for (k = new olb(d.a); k.a < k.c.c.length; ) {\n i3 = BD(mlb(k), 10);\n if (i3.n.a > 0) {\n c2 += i3.n.a + i3.o.a / 2;\n ++l;\n }\n for (o2 = new olb(i3.j); o2.a < o2.c.c.length; ) {\n n = BD(mlb(o2), 11);\n n.p = p++;\n }\n }\n l > 0 && (c2 /= l);\n r = KC(UD, Vje, 25, d.a.c.length, 15, 1);\n h = 0;\n for (j = new olb(d.a); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 10);\n i3.p = h++;\n r[i3.p] = AFc(i3, c2);\n i3.k == (j0b(), g0b) && yNb(i3, (wtc(), atc), r[i3.p]);\n }\n mmb();\n Okb(d.a, new GFc(r));\n YDc(q, m, g, true);\n ++g;\n }\n Qdd(b);\n }\n function Zfe(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n if (b.e == 5) {\n Wfe(a, b);\n return;\n }\n j = b;\n if (j.b == null || a.b == null)\n return;\n Yfe(a);\n Vfe(a);\n Yfe(j);\n Vfe(j);\n c2 = KC(WD, oje, 25, a.b.length + j.b.length, 15, 1);\n k = 0;\n d = 0;\n g = 0;\n while (d < a.b.length && g < j.b.length) {\n e = a.b[d];\n f2 = a.b[d + 1];\n h = j.b[g];\n i3 = j.b[g + 1];\n if (f2 < h) {\n c2[k++] = a.b[d++];\n c2[k++] = a.b[d++];\n } else if (f2 >= h && e <= i3) {\n if (h <= e && f2 <= i3) {\n d += 2;\n } else if (h <= e) {\n a.b[d] = i3 + 1;\n g += 2;\n } else if (f2 <= i3) {\n c2[k++] = e;\n c2[k++] = h - 1;\n d += 2;\n } else {\n c2[k++] = e;\n c2[k++] = h - 1;\n a.b[d] = i3 + 1;\n g += 2;\n }\n } else if (i3 < e) {\n g += 2;\n } else {\n throw vbb(new hz(\"Token#subtractRanges(): Internal Error: [\" + a.b[d] + \",\" + a.b[d + 1] + \"] - [\" + j.b[g] + \",\" + j.b[g + 1] + \"]\"));\n }\n }\n while (d < a.b.length) {\n c2[k++] = a.b[d++];\n c2[k++] = a.b[d++];\n }\n a.b = KC(WD, oje, 25, k, 15, 1);\n $fb(c2, 0, a.b, 0, k);\n }\n function BJb(a) {\n var b, c2, d, e, f2, g, h;\n if (a.A.dc()) {\n return;\n }\n if (a.A.Hc((tdd(), rdd))) {\n BD(Mpb(a.b, (Ucd(), Acd)), 124).k = true;\n BD(Mpb(a.b, Rcd), 124).k = true;\n b = a.q != (dcd(), _bd) && a.q != $bd;\n ZGb(BD(Mpb(a.b, zcd), 124), b);\n ZGb(BD(Mpb(a.b, Tcd), 124), b);\n ZGb(a.g, b);\n if (a.A.Hc(sdd)) {\n BD(Mpb(a.b, Acd), 124).j = true;\n BD(Mpb(a.b, Rcd), 124).j = true;\n BD(Mpb(a.b, zcd), 124).k = true;\n BD(Mpb(a.b, Tcd), 124).k = true;\n a.g.k = true;\n }\n }\n if (a.A.Hc(qdd)) {\n a.a.j = true;\n a.a.k = true;\n a.g.j = true;\n a.g.k = true;\n h = a.B.Hc((Idd(), Edd));\n for (e = wJb(), f2 = 0, g = e.length; f2 < g; ++f2) {\n d = e[f2];\n c2 = BD(Mpb(a.i, d), 306);\n if (c2) {\n if (sJb(d)) {\n c2.j = true;\n c2.k = true;\n } else {\n c2.j = !h;\n c2.k = !h;\n }\n }\n }\n }\n if (a.A.Hc(pdd) && a.B.Hc((Idd(), Ddd))) {\n a.g.j = true;\n a.g.j = true;\n if (!a.a.j) {\n a.a.j = true;\n a.a.k = true;\n a.a.e = true;\n }\n }\n }\n function GJc(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r;\n for (d = new olb(a.e.b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 29);\n for (f2 = new olb(c2.a); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 10);\n n = a.i[e.p];\n j = n.a.e;\n i3 = n.d.e;\n e.n.b = j;\n r = i3 - j - e.o.b;\n b = bKc(e);\n m = (Izc(), (!e.q ? (mmb(), mmb(), kmb) : e.q)._b((Nyc(), Cxc)) ? l = BD(vNb(e, Cxc), 197) : l = BD(vNb(Q_b(e), Dxc), 197), l);\n b && (m == Fzc || m == Ezc) && (e.o.b += r);\n if (b && (m == Hzc || m == Fzc || m == Ezc)) {\n for (p = new olb(e.j); p.a < p.c.c.length; ) {\n o2 = BD(mlb(p), 11);\n if ((Ucd(), Ecd).Hc(o2.j)) {\n k = BD(Ohb(a.k, o2), 121);\n o2.n.b = k.e - j;\n }\n }\n for (h = new olb(e.b); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 70);\n q = BD(vNb(e, xxc), 21);\n q.Hc((Hbd(), Ebd)) ? g.n.b += r : q.Hc(Fbd) && (g.n.b += r / 2);\n }\n (m == Fzc || m == Ezc) && V_b(e, (Ucd(), Rcd)).Jc(new $Kc(r));\n }\n }\n }\n }\n function Lwb(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n;\n if (!a.b) {\n return false;\n }\n g = null;\n m = null;\n i3 = new exb(null, null);\n e = 1;\n i3.a[1] = a.b;\n l = i3;\n while (l.a[e]) {\n j = e;\n h = m;\n m = l;\n l = l.a[e];\n d = a.a.ue(b, l.d);\n e = d < 0 ? 0 : 1;\n d == 0 && (!c2.c || wtb(l.e, c2.d)) && (g = l);\n if (!(!!l && l.b) && !Hwb(l.a[e])) {\n if (Hwb(l.a[1 - e])) {\n m = m.a[j] = Owb(l, e);\n } else if (!Hwb(l.a[1 - e])) {\n n = m.a[1 - j];\n if (n) {\n if (!Hwb(n.a[1 - j]) && !Hwb(n.a[j])) {\n m.b = false;\n n.b = true;\n l.b = true;\n } else {\n f2 = h.a[1] == m ? 1 : 0;\n Hwb(n.a[j]) ? h.a[f2] = Nwb(m, j) : Hwb(n.a[1 - j]) && (h.a[f2] = Owb(m, j));\n l.b = h.a[f2].b = true;\n h.a[f2].a[0].b = false;\n h.a[f2].a[1].b = false;\n }\n }\n }\n }\n }\n if (g) {\n c2.b = true;\n c2.d = g.e;\n if (l != g) {\n k = new exb(l.d, l.e);\n Mwb(a, i3, g, k);\n m == g && (m = k);\n }\n m.a[m.a[1] == l ? 1 : 0] = l.a[!l.a[0] ? 1 : 0];\n --a.c;\n }\n a.b = i3.a[1];\n !!a.b && (a.b.b = false);\n return c2.b;\n }\n function cic(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m;\n for (e = new olb(a.a.a.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 57);\n for (i3 = d.c.Kc(); i3.Ob(); ) {\n h = BD(i3.Pb(), 57);\n if (d.a == h.a) {\n continue;\n }\n fad(a.a.d) ? l = a.a.g.Oe(d, h) : l = a.a.g.Pe(d, h);\n f2 = d.b.a + d.d.b + l - h.b.a;\n f2 = $wnd.Math.ceil(f2);\n f2 = $wnd.Math.max(0, f2);\n if (vgc(d, h)) {\n g = nGb(new pGb(), a.d);\n j = QD($wnd.Math.ceil(h.b.a - d.b.a));\n b = j - (h.b.a - d.b.a);\n k = ugc(d).a;\n c2 = d;\n if (!k) {\n k = ugc(h).a;\n b = -b;\n c2 = h;\n }\n if (k) {\n c2.b.a -= b;\n k.n.a -= b;\n }\n AFb(DFb(CFb(EFb(BFb(new FFb(), $wnd.Math.max(0, j)), 1), g), a.c[d.a.d]));\n AFb(DFb(CFb(EFb(BFb(new FFb(), $wnd.Math.max(0, -j)), 1), g), a.c[h.a.d]));\n } else {\n m = 1;\n (JD(d.g, 145) && JD(h.g, 10) || JD(h.g, 145) && JD(d.g, 10)) && (m = 2);\n AFb(DFb(CFb(EFb(BFb(new FFb(), QD(f2)), m), a.c[d.a.d]), a.c[h.a.d]));\n }\n }\n }\n }\n function pEc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m;\n if (c2) {\n d = -1;\n k = new Bib(b, 0);\n while (k.b < k.d.gc()) {\n h = (sCb(k.b < k.d.gc()), BD(k.d.Xb(k.c = k.b++), 10));\n l = a.c[h.c.p][h.p].a;\n if (l == null) {\n g = d + 1;\n f2 = new Bib(b, k.b);\n while (f2.b < f2.d.gc()) {\n m = tEc(a, (sCb(f2.b < f2.d.gc()), BD(f2.d.Xb(f2.c = f2.b++), 10))).a;\n if (m != null) {\n g = (uCb(m), m);\n break;\n }\n }\n l = (d + g) / 2;\n a.c[h.c.p][h.p].a = l;\n a.c[h.c.p][h.p].d = (uCb(l), l);\n a.c[h.c.p][h.p].b = 1;\n }\n d = (uCb(l), l);\n }\n } else {\n e = 0;\n for (j = new olb(b); j.a < j.c.c.length; ) {\n h = BD(mlb(j), 10);\n a.c[h.c.p][h.p].a != null && (e = $wnd.Math.max(e, Edb(a.c[h.c.p][h.p].a)));\n }\n e += 2;\n for (i3 = new olb(b); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 10);\n if (a.c[h.c.p][h.p].a == null) {\n l = Cub(a.i, 24) * lke * e - 1;\n a.c[h.c.p][h.p].a = l;\n a.c[h.c.p][h.p].d = l;\n a.c[h.c.p][h.p].b = 1;\n }\n }\n }\n }\n function CZd() {\n rEd(b5, new i$d());\n rEd(a5, new P$d());\n rEd(c5, new u_d());\n rEd(d5, new M_d());\n rEd(f5, new P_d());\n rEd(h5, new S_d());\n rEd(g5, new V_d());\n rEd(i5, new Y_d());\n rEd(k5, new GZd());\n rEd(l5, new JZd());\n rEd(m5, new MZd());\n rEd(n5, new PZd());\n rEd(o5, new SZd());\n rEd(p5, new VZd());\n rEd(q5, new YZd());\n rEd(t5, new _Zd());\n rEd(v52, new c$d());\n rEd(x6, new f$d());\n rEd(j5, new l$d());\n rEd(u5, new o$d());\n rEd(wI, new r$d());\n rEd(GC(SD, 1), new u$d());\n rEd(xI, new x$d());\n rEd(yI, new A$d());\n rEd($J, new D$d());\n rEd(O4, new G$d());\n rEd(BI, new J$d());\n rEd(T4, new M$d());\n rEd(U4, new S$d());\n rEd(O9, new V$d());\n rEd(E9, new Y$d());\n rEd(FI, new _$d());\n rEd(JI, new c_d());\n rEd(AI, new f_d());\n rEd(MI, new i_d());\n rEd(DK, new l_d());\n rEd(v8, new o_d());\n rEd(u8, new r_d());\n rEd(UI, new x_d());\n rEd(ZI, new A_d());\n rEd(X4, new D_d());\n rEd(V4, new G_d());\n }\n function hA(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l;\n !c2 && (c2 = TA(b.q.getTimezoneOffset()));\n e = (b.q.getTimezoneOffset() - c2.a) * 6e4;\n h = new gB(wbb(Cbb(b.q.getTime()), e));\n i3 = h;\n if (h.q.getTimezoneOffset() != b.q.getTimezoneOffset()) {\n e > 0 ? e -= 864e5 : e += 864e5;\n i3 = new gB(wbb(Cbb(b.q.getTime()), e));\n }\n k = new Vfb();\n j = a.a.length;\n for (f2 = 0; f2 < j; ) {\n d = bfb(a.a, f2);\n if (d >= 97 && d <= 122 || d >= 65 && d <= 90) {\n for (g = f2 + 1; g < j && bfb(a.a, g) == d; ++g)\n ;\n vA(k, d, g - f2, h, i3, c2);\n f2 = g;\n } else if (d == 39) {\n ++f2;\n if (f2 < j && bfb(a.a, f2) == 39) {\n k.a += \"'\";\n ++f2;\n continue;\n }\n l = false;\n while (!l) {\n g = f2;\n while (g < j && bfb(a.a, g) != 39) {\n ++g;\n }\n if (g >= j) {\n throw vbb(new Wdb(\"Missing trailing '\"));\n }\n g + 1 < j && bfb(a.a, g + 1) == 39 ? ++g : l = true;\n Qfb(k, qfb(a.a, f2, g));\n f2 = g + 1;\n }\n } else {\n k.a += String.fromCharCode(d);\n ++f2;\n }\n }\n return k.a;\n }\n function MEc(a) {\n var b, c2, d, e, f2, g, h, i3;\n b = null;\n for (d = new olb(a); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 233);\n Edb(REc(c2.g, c2.d[0]).a);\n c2.b = null;\n if (!!c2.e && c2.e.gc() > 0 && c2.c == 0) {\n !b && (b = new Rkb());\n b.c[b.c.length] = c2;\n }\n }\n if (b) {\n while (b.c.length != 0) {\n c2 = BD(Kkb(b, 0), 233);\n if (!!c2.b && c2.b.c.length > 0) {\n for (f2 = (!c2.b && (c2.b = new Rkb()), new olb(c2.b)); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 233);\n if (Gdb(REc(e.g, e.d[0]).a) == Gdb(REc(c2.g, c2.d[0]).a)) {\n if (Jkb(a, e, 0) > Jkb(a, c2, 0)) {\n return new vgd(e, c2);\n }\n } else if (Edb(REc(e.g, e.d[0]).a) > Edb(REc(c2.g, c2.d[0]).a)) {\n return new vgd(e, c2);\n }\n }\n }\n for (h = (!c2.e && (c2.e = new Rkb()), c2.e).Kc(); h.Ob(); ) {\n g = BD(h.Pb(), 233);\n i3 = (!g.b && (g.b = new Rkb()), g.b);\n wCb(0, i3.c.length);\n aCb(i3.c, 0, c2);\n g.c == i3.c.length && (b.c[b.c.length] = g, true);\n }\n }\n }\n return null;\n }\n function wlb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n if (a == null) {\n return Xhe;\n }\n i3 = b.a.zc(a, b);\n if (i3 != null) {\n return \"[...]\";\n }\n c2 = new xwb(She, \"[\", \"]\");\n for (e = a, f2 = 0, g = e.length; f2 < g; ++f2) {\n d = e[f2];\n if (d != null && (rb(d).i & 4) != 0) {\n if (Array.isArray(d) && (k = HC(d), !(k >= 14 && k <= 16))) {\n if (b.a._b(d)) {\n !c2.a ? c2.a = new Wfb(c2.d) : Qfb(c2.a, c2.b);\n Nfb(c2.a, \"[...]\");\n } else {\n h = CD(d);\n j = new Vqb(b);\n uwb(c2, wlb(h, j));\n }\n } else\n JD(d, 177) ? uwb(c2, Xlb(BD(d, 177))) : JD(d, 190) ? uwb(c2, Qlb(BD(d, 190))) : JD(d, 195) ? uwb(c2, Rlb(BD(d, 195))) : JD(d, 2012) ? uwb(c2, Wlb(BD(d, 2012))) : JD(d, 48) ? uwb(c2, Ulb(BD(d, 48))) : JD(d, 364) ? uwb(c2, Vlb(BD(d, 364))) : JD(d, 832) ? uwb(c2, Tlb(BD(d, 832))) : JD(d, 104) && uwb(c2, Slb(BD(d, 104)));\n } else {\n uwb(c2, d == null ? Xhe : fcb(d));\n }\n }\n return !c2.a ? c2.c : c2.e.length == 0 ? c2.a.a : c2.a.a + (\"\" + c2.e);\n }\n function xQb(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t;\n h = itd(b, false, false);\n r = ofd(h);\n d && (r = w7c(r));\n t = Edb(ED(hkd(b, (CPb(), vPb))));\n q = (sCb(r.b != 0), BD(r.a.a.c, 8));\n l = BD(Ut(r, 1), 8);\n if (r.b > 2) {\n k = new Rkb();\n Gkb(k, new Jib(r, 1, r.b));\n f2 = sQb(k, t + a.a);\n s = new XOb(f2);\n tNb(s, b);\n c2.c[c2.c.length] = s;\n } else {\n d ? s = BD(Ohb(a.b, jtd(b)), 266) : s = BD(Ohb(a.b, ltd(b)), 266);\n }\n i3 = jtd(b);\n d && (i3 = ltd(b));\n g = zQb(q, i3);\n j = t + a.a;\n if (g.a) {\n j += $wnd.Math.abs(q.b - l.b);\n p = new f7c(l.a, (l.b + q.b) / 2);\n } else {\n j += $wnd.Math.abs(q.a - l.a);\n p = new f7c((l.a + q.a) / 2, l.b);\n }\n d ? Rhb(a.d, b, new ZOb(s, g, p, j)) : Rhb(a.c, b, new ZOb(s, g, p, j));\n Rhb(a.b, b, s);\n o2 = (!b.n && (b.n = new cUd(D2, b, 1, 7)), b.n);\n for (n = new Fyd(o2); n.e != n.i.gc(); ) {\n m = BD(Dyd(n), 137);\n e = wQb(a, m, true, 0, 0);\n c2.c[c2.c.length] = e;\n }\n }\n function wPc(a) {\n var b, c2, d, e, f2, g, h, i3, j, k;\n j = new Rkb();\n h = new Rkb();\n for (g = new olb(a); g.a < g.c.c.length; ) {\n e = BD(mlb(g), 112);\n pOc(e, e.f.c.length);\n qOc(e, e.k.c.length);\n e.d == 0 && (j.c[j.c.length] = e, true);\n e.i == 0 && e.e.b == 0 && (h.c[h.c.length] = e, true);\n }\n d = -1;\n while (j.c.length != 0) {\n e = BD(Kkb(j, 0), 112);\n for (c2 = new olb(e.k); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 129);\n k = b.b;\n rOc(k, $wnd.Math.max(k.o, e.o + 1));\n d = $wnd.Math.max(d, k.o);\n pOc(k, k.d - 1);\n k.d == 0 && (j.c[j.c.length] = k, true);\n }\n }\n if (d > -1) {\n for (f2 = new olb(h); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 112);\n e.o = d;\n }\n while (h.c.length != 0) {\n e = BD(Kkb(h, 0), 112);\n for (c2 = new olb(e.f); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 129);\n i3 = b.a;\n if (i3.e.b > 0) {\n continue;\n }\n rOc(i3, $wnd.Math.min(i3.o, e.o - 1));\n qOc(i3, i3.i - 1);\n i3.i == 0 && (h.c[h.c.length] = i3, true);\n }\n }\n }\n }\n function QQd(a, b, c2) {\n var d, e, f2, g, h, i3, j;\n j = a.c;\n !b && (b = FQd);\n a.c = b;\n if ((a.Db & 4) != 0 && (a.Db & 1) == 0) {\n i3 = new nSd(a, 1, 2, j, a.c);\n !c2 ? c2 = i3 : c2.Ei(i3);\n }\n if (j != b) {\n if (JD(a.Cb, 284)) {\n if (a.Db >> 16 == -10) {\n c2 = BD(a.Cb, 284).nk(b, c2);\n } else if (a.Db >> 16 == -15) {\n !b && (b = (jGd(), YFd));\n !j && (j = (jGd(), YFd));\n if (a.Cb.nh()) {\n i3 = new pSd(a.Cb, 1, 13, j, b, HLd(QSd(BD(a.Cb, 59)), a), false);\n !c2 ? c2 = i3 : c2.Ei(i3);\n }\n }\n } else if (JD(a.Cb, 88)) {\n if (a.Db >> 16 == -23) {\n JD(b, 88) || (b = (jGd(), _Fd));\n JD(j, 88) || (j = (jGd(), _Fd));\n if (a.Cb.nh()) {\n i3 = new pSd(a.Cb, 1, 10, j, b, HLd(VKd(BD(a.Cb, 26)), a), false);\n !c2 ? c2 = i3 : c2.Ei(i3);\n }\n }\n } else if (JD(a.Cb, 444)) {\n h = BD(a.Cb, 836);\n g = (!h.b && (h.b = new RYd(new NYd())), h.b);\n for (f2 = (d = new nib(new eib(g.a).a), new ZYd(d)); f2.a.b; ) {\n e = BD(lib(f2.a).cd(), 87);\n c2 = QQd(e, MQd(e, h), c2);\n }\n }\n }\n return c2;\n }\n function O1b(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m;\n g = Ccb(DD(hkd(a, (Nyc(), fxc))));\n m = BD(hkd(a, Yxc), 21);\n i3 = false;\n j = false;\n l = new Fyd((!a.c && (a.c = new cUd(F2, a, 9, 9)), a.c));\n while (l.e != l.i.gc() && (!i3 || !j)) {\n f2 = BD(Dyd(l), 118);\n h = 0;\n for (e = ul(pl(OC(GC(KI, 1), Uhe, 20, 0, [(!f2.d && (f2.d = new y5d(B2, f2, 8, 5)), f2.d), (!f2.e && (f2.e = new y5d(B2, f2, 7, 4)), f2.e)]))); Qr(e); ) {\n d = BD(Rr(e), 79);\n k = g && Qld(d) && Ccb(DD(hkd(d, gxc)));\n c2 = ELd((!d.b && (d.b = new y5d(z2, d, 4, 7)), d.b), f2) ? a == Xod(atd(BD(qud((!d.c && (d.c = new y5d(z2, d, 5, 8)), d.c), 0), 82))) : a == Xod(atd(BD(qud((!d.b && (d.b = new y5d(z2, d, 4, 7)), d.b), 0), 82)));\n if (k || c2) {\n ++h;\n if (h > 1) {\n break;\n }\n }\n }\n h > 0 ? i3 = true : m.Hc((rcd(), ncd)) && (!f2.n && (f2.n = new cUd(D2, f2, 1, 7)), f2.n).i > 0 && (i3 = true);\n h > 1 && (j = true);\n }\n i3 && b.Fc((Orc(), Hrc));\n j && b.Fc((Orc(), Irc));\n }\n function zfd(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m;\n m = BD(hkd(a, (Y9c(), Y8c)), 21);\n if (m.dc()) {\n return null;\n }\n h = 0;\n g = 0;\n if (m.Hc((tdd(), rdd))) {\n k = BD(hkd(a, t9c), 98);\n d = 2;\n c2 = 2;\n e = 2;\n f2 = 2;\n b = !Xod(a) ? BD(hkd(a, z8c), 103) : BD(hkd(Xod(a), z8c), 103);\n for (j = new Fyd((!a.c && (a.c = new cUd(F2, a, 9, 9)), a.c)); j.e != j.i.gc(); ) {\n i3 = BD(Dyd(j), 118);\n l = BD(hkd(i3, A9c), 61);\n if (l == (Ucd(), Scd)) {\n l = lfd(i3, b);\n jkd(i3, A9c, l);\n }\n if (k == (dcd(), $bd)) {\n switch (l.g) {\n case 1:\n d = $wnd.Math.max(d, i3.i + i3.g);\n break;\n case 2:\n c2 = $wnd.Math.max(c2, i3.j + i3.f);\n break;\n case 3:\n e = $wnd.Math.max(e, i3.i + i3.g);\n break;\n case 4:\n f2 = $wnd.Math.max(f2, i3.j + i3.f);\n }\n } else {\n switch (l.g) {\n case 1:\n d += i3.g + 2;\n break;\n case 2:\n c2 += i3.f + 2;\n break;\n case 3:\n e += i3.g + 2;\n break;\n case 4:\n f2 += i3.f + 2;\n }\n }\n }\n h = $wnd.Math.max(d, e);\n g = $wnd.Math.max(c2, f2);\n }\n return Afd(a, h, g, true, true);\n }\n function lnc(a, b, c2, d, e) {\n var f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u;\n s = BD(GAb(VAb(JAb(new YAb(null, new Kub(b.d, 16)), new pnc(c2)), new rnc(c2)), Byb(new fzb(), new dzb(), new Ezb(), OC(GC(xL, 1), Kie, 132, 0, [(Fyb(), Dyb)]))), 15);\n l = Ohe;\n k = Rie;\n for (i3 = new olb(b.b.j); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 11);\n if (h.j == c2) {\n l = $wnd.Math.min(l, h.p);\n k = $wnd.Math.max(k, h.p);\n }\n }\n if (l == Ohe) {\n for (g = 0; g < s.gc(); g++) {\n ojc(BD(s.Xb(g), 101), c2, g);\n }\n } else {\n t = KC(WD, oje, 25, e.length, 15, 1);\n Elb(t, t.length);\n for (r = s.Kc(); r.Ob(); ) {\n q = BD(r.Pb(), 101);\n f2 = BD(Ohb(a.b, q), 177);\n j = 0;\n for (p = l; p <= k; p++) {\n f2[p] && (j = $wnd.Math.max(j, d[p]));\n }\n if (q.i) {\n n = q.i.c;\n u = new Tqb();\n for (m = 0; m < e.length; m++) {\n e[n][m] && Qqb(u, meb(t[m]));\n }\n while (Rqb(u, meb(j))) {\n ++j;\n }\n }\n ojc(q, c2, j);\n for (o2 = l; o2 <= k; o2++) {\n f2[o2] && (d[o2] = j + 1);\n }\n !!q.i && (t[q.i.c] = j);\n }\n }\n }\n function YJc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p;\n e = null;\n for (d = new olb(b.a); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 10);\n bKc(c2) ? f2 = (h = nGb(oGb(new pGb(), c2), a.f), i3 = nGb(oGb(new pGb(), c2), a.f), j = new rKc(c2, true, h, i3), k = c2.o.b, l = (Izc(), (!c2.q ? (mmb(), mmb(), kmb) : c2.q)._b((Nyc(), Cxc)) ? m = BD(vNb(c2, Cxc), 197) : m = BD(vNb(Q_b(c2), Dxc), 197), m), n = 1e4, l == Ezc && (n = 1), o2 = AFb(DFb(CFb(BFb(EFb(new FFb(), n), QD($wnd.Math.ceil(k))), h), i3)), l == Fzc && Qqb(a.d, o2), ZJc(a, Su(V_b(c2, (Ucd(), Tcd))), j), ZJc(a, V_b(c2, zcd), j), j) : f2 = (p = nGb(oGb(new pGb(), c2), a.f), MAb(JAb(new YAb(null, new Kub(c2.j, 16)), new EKc()), new GKc(a, p)), new rKc(c2, false, p, p));\n a.i[c2.p] = f2;\n if (e) {\n g = e.c.d.a + jBc(a.n, e.c, c2) + c2.d.d;\n e.b || (g += e.c.o.b);\n AFb(DFb(CFb(EFb(BFb(new FFb(), QD($wnd.Math.ceil(g))), 0), e.d), f2.a));\n }\n e = f2;\n }\n }\n function s9b(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p;\n Odd(b, \"Label dummy insertions\", 1);\n l = new Rkb();\n g = Edb(ED(vNb(a, (Nyc(), nyc))));\n j = Edb(ED(vNb(a, ryc)));\n k = BD(vNb(a, Lwc), 103);\n for (n = new olb(a.a); n.a < n.c.c.length; ) {\n m = BD(mlb(n), 10);\n for (f2 = new Sr(ur(U_b(m).a.Kc(), new Sq())); Qr(f2); ) {\n e = BD(Rr(f2), 17);\n if (e.c.i != e.d.i && Lq(e.b, p9b)) {\n p = t9b(e);\n o2 = Pu(e.b.c.length);\n c2 = r9b(a, e, p, o2);\n l.c[l.c.length] = c2;\n d = c2.o;\n h = new Bib(e.b, 0);\n while (h.b < h.d.gc()) {\n i3 = (sCb(h.b < h.d.gc()), BD(h.d.Xb(h.c = h.b++), 70));\n if (PD(vNb(i3, Qwc)) === PD((qad(), nad))) {\n if (k == (ead(), dad) || k == _9c) {\n d.a += i3.o.a + j;\n d.b = $wnd.Math.max(d.b, i3.o.b);\n } else {\n d.a = $wnd.Math.max(d.a, i3.o.a);\n d.b += i3.o.b + j;\n }\n o2.c[o2.c.length] = i3;\n uib(h);\n }\n }\n if (k == (ead(), dad) || k == _9c) {\n d.a -= j;\n d.b += g + p;\n } else {\n d.b += g - j + p;\n }\n }\n }\n }\n Gkb(a.a, l);\n Qdd(b);\n }\n function eYb(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n;\n f2 = new qYb(b);\n l = _Xb(a, b, f2);\n n = $wnd.Math.max(Edb(ED(vNb(b, (Nyc(), Zwc)))), 1);\n for (k = new olb(l.a); k.a < k.c.c.length; ) {\n j = BD(mlb(k), 46);\n i3 = dYb(BD(j.a, 8), BD(j.b, 8), n);\n o = true;\n o = o & iYb(c2, new f7c(i3.c, i3.d));\n o = o & iYb(c2, O6c(new f7c(i3.c, i3.d), i3.b, 0));\n o = o & iYb(c2, O6c(new f7c(i3.c, i3.d), 0, i3.a));\n o & iYb(c2, O6c(new f7c(i3.c, i3.d), i3.b, i3.a));\n }\n m = f2.d;\n h = dYb(BD(l.b.a, 8), BD(l.b.b, 8), n);\n if (m == (Ucd(), Tcd) || m == zcd) {\n d.c[m.g] = $wnd.Math.min(d.c[m.g], h.d);\n d.b[m.g] = $wnd.Math.max(d.b[m.g], h.d + h.a);\n } else {\n d.c[m.g] = $wnd.Math.min(d.c[m.g], h.c);\n d.b[m.g] = $wnd.Math.max(d.b[m.g], h.c + h.b);\n }\n e = Qje;\n g = f2.c.i.d;\n switch (m.g) {\n case 4:\n e = g.c;\n break;\n case 2:\n e = g.b;\n break;\n case 1:\n e = g.a;\n break;\n case 3:\n e = g.d;\n }\n d.a[m.g] = $wnd.Math.max(d.a[m.g], e);\n return f2;\n }\n function eKd(b) {\n var c2, d, e, f2;\n d = b.D != null ? b.D : b.B;\n c2 = hfb(d, wfb(91));\n if (c2 != -1) {\n e = d.substr(0, c2);\n f2 = new Hfb();\n do\n f2.a += \"[\";\n while ((c2 = gfb(d, 91, ++c2)) != -1);\n if (dfb(e, Khe))\n f2.a += \"Z\";\n else if (dfb(e, Eve))\n f2.a += \"B\";\n else if (dfb(e, Fve))\n f2.a += \"C\";\n else if (dfb(e, Gve))\n f2.a += \"D\";\n else if (dfb(e, Hve))\n f2.a += \"F\";\n else if (dfb(e, Ive))\n f2.a += \"I\";\n else if (dfb(e, Jve))\n f2.a += \"J\";\n else if (dfb(e, Kve))\n f2.a += \"S\";\n else {\n f2.a += \"L\";\n f2.a += \"\" + e;\n f2.a += \";\";\n }\n try {\n return null;\n } catch (a) {\n a = ubb(a);\n if (!JD(a, 60))\n throw vbb(a);\n }\n } else if (hfb(d, wfb(46)) == -1) {\n if (dfb(d, Khe))\n return sbb;\n else if (dfb(d, Eve))\n return SD;\n else if (dfb(d, Fve))\n return TD;\n else if (dfb(d, Gve))\n return UD;\n else if (dfb(d, Hve))\n return VD;\n else if (dfb(d, Ive))\n return WD;\n else if (dfb(d, Jve))\n return XD;\n else if (dfb(d, Kve))\n return rbb;\n }\n return null;\n }\n function $1b(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n j = new b0b(c2);\n tNb(j, b);\n yNb(j, (wtc(), $sc), b);\n j.o.a = b.g;\n j.o.b = b.f;\n j.n.a = b.i;\n j.n.b = b.j;\n Ekb(c2.a, j);\n Rhb(a.a, b, j);\n ((!b.a && (b.a = new cUd(E2, b, 10, 11)), b.a).i != 0 || Ccb(DD(hkd(b, (Nyc(), fxc))))) && yNb(j, wsc, (Bcb(), true));\n i3 = BD(vNb(c2, Ksc), 21);\n k = BD(vNb(j, (Nyc(), Vxc)), 98);\n k == (dcd(), ccd) ? yNb(j, Vxc, bcd) : k != bcd && i3.Fc((Orc(), Krc));\n d = BD(vNb(c2, Lwc), 103);\n for (h = new Fyd((!b.c && (b.c = new cUd(F2, b, 9, 9)), b.c)); h.e != h.i.gc(); ) {\n g = BD(Dyd(h), 118);\n Ccb(DD(hkd(g, Jxc))) || _1b(a, g, j, i3, d, k);\n }\n for (f2 = new Fyd((!b.n && (b.n = new cUd(D2, b, 1, 7)), b.n)); f2.e != f2.i.gc(); ) {\n e = BD(Dyd(f2), 137);\n !Ccb(DD(hkd(e, Jxc))) && !!e.a && Ekb(j.b, Z1b(e));\n }\n Ccb(DD(vNb(j, pwc))) && i3.Fc((Orc(), Frc));\n if (Ccb(DD(vNb(j, exc)))) {\n i3.Fc((Orc(), Jrc));\n i3.Fc(Irc);\n yNb(j, Vxc, bcd);\n }\n return j;\n }\n function F4b(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D;\n h = BD(Ohb(b.c, a), 459);\n s = b.a.c;\n i3 = b.a.c + b.a.b;\n C = h.f;\n D = h.a;\n g = C < D;\n p = new f7c(s, C);\n t = new f7c(i3, D);\n e = (s + i3) / 2;\n q = new f7c(e, C);\n u = new f7c(e, D);\n f2 = G4b(a, C, D);\n w2 = A0b(b.B);\n A = new f7c(e, f2);\n B = A0b(b.D);\n c2 = j6c(OC(GC(m1, 1), nie, 8, 0, [w2, A, B]));\n n = false;\n r = b.B.i;\n if (!!r && !!r.c && h.d) {\n j = g && r.p < r.c.a.c.length - 1 || !g && r.p > 0;\n if (j) {\n if (j) {\n m = r.p;\n g ? ++m : --m;\n l = BD(Ikb(r.c.a, m), 10);\n d = I4b(l);\n n = !(s6c(d, w2, c2[0]) || n6c(d, w2, c2[0]));\n }\n } else {\n n = true;\n }\n }\n o2 = false;\n v = b.D.i;\n if (!!v && !!v.c && h.e) {\n k = g && v.p > 0 || !g && v.p < v.c.a.c.length - 1;\n if (k) {\n m = v.p;\n g ? --m : ++m;\n l = BD(Ikb(v.c.a, m), 10);\n d = I4b(l);\n o2 = !(s6c(d, c2[0], B) || n6c(d, c2[0], B));\n } else {\n o2 = true;\n }\n }\n n && o2 && Dsb(a.a, A);\n n || n7c(a.a, OC(GC(m1, 1), nie, 8, 0, [p, q]));\n o2 || n7c(a.a, OC(GC(m1, 1), nie, 8, 0, [u, t]));\n }\n function yfd(a, b) {\n var c2, d, e, f2, g, h, i3, j;\n if (JD(a.Ug(), 160)) {\n yfd(BD(a.Ug(), 160), b);\n b.a += \" > \";\n } else {\n b.a += \"Root \";\n }\n c2 = a.Tg().zb;\n dfb(c2.substr(0, 3), \"Elk\") ? Qfb(b, c2.substr(3)) : (b.a += \"\" + c2, b);\n e = a.zg();\n if (e) {\n Qfb((b.a += \" \", b), e);\n return;\n }\n if (JD(a, 354)) {\n j = BD(a, 137).a;\n if (j) {\n Qfb((b.a += \" \", b), j);\n return;\n }\n }\n for (g = new Fyd(a.Ag()); g.e != g.i.gc(); ) {\n f2 = BD(Dyd(g), 137);\n j = f2.a;\n if (j) {\n Qfb((b.a += \" \", b), j);\n return;\n }\n }\n if (JD(a, 352)) {\n d = BD(a, 79);\n !d.b && (d.b = new y5d(z2, d, 4, 7));\n if (d.b.i != 0 && (!d.c && (d.c = new y5d(z2, d, 5, 8)), d.c.i != 0)) {\n b.a += \" (\";\n h = new Oyd((!d.b && (d.b = new y5d(z2, d, 4, 7)), d.b));\n while (h.e != h.i.gc()) {\n h.e > 0 && (b.a += She, b);\n yfd(BD(Dyd(h), 160), b);\n }\n b.a += gne;\n i3 = new Oyd((!d.c && (d.c = new y5d(z2, d, 5, 8)), d.c));\n while (i3.e != i3.i.gc()) {\n i3.e > 0 && (b.a += She, b);\n yfd(BD(Dyd(i3), 160), b);\n }\n b.a += \")\";\n }\n }\n }\n function y2b(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n;\n f2 = BD(vNb(a, (wtc(), $sc)), 79);\n if (!f2) {\n return;\n }\n d = a.a;\n e = new g7c(c2);\n P6c(e, C2b(a));\n if (f_b(a.d.i, a.c.i)) {\n m = a.c;\n l = l7c(OC(GC(m1, 1), nie, 8, 0, [m.n, m.a]));\n c7c(l, c2);\n } else {\n l = A0b(a.c);\n }\n Gsb(d, l, d.a, d.a.a);\n n = A0b(a.d);\n vNb(a, utc) != null && P6c(n, BD(vNb(a, utc), 8));\n Gsb(d, n, d.c.b, d.c);\n q7c(d, e);\n g = itd(f2, true, true);\n kmd(g, BD(qud((!f2.b && (f2.b = new y5d(z2, f2, 4, 7)), f2.b), 0), 82));\n lmd(g, BD(qud((!f2.c && (f2.c = new y5d(z2, f2, 5, 8)), f2.c), 0), 82));\n ifd(d, g);\n for (k = new olb(a.b); k.a < k.c.c.length; ) {\n j = BD(mlb(k), 70);\n h = BD(vNb(j, $sc), 137);\n cld(h, j.o.a);\n ald(h, j.o.b);\n bld(h, j.n.a + e.a, j.n.b + e.b);\n jkd(h, (I9b(), H9b), DD(vNb(j, H9b)));\n }\n i3 = BD(vNb(a, (Nyc(), jxc)), 74);\n if (i3) {\n q7c(i3, e);\n jkd(f2, jxc, i3);\n } else {\n jkd(f2, jxc, null);\n }\n b == (Aad(), yad) ? jkd(f2, Swc, yad) : jkd(f2, Swc, null);\n }\n function mJc(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s;\n n = b.c.length;\n m = 0;\n for (l = new olb(a.b); l.a < l.c.c.length; ) {\n k = BD(mlb(l), 29);\n r = k.a;\n if (r.c.length == 0) {\n continue;\n }\n q = new olb(r);\n j = 0;\n s = null;\n e = BD(mlb(q), 10);\n f2 = null;\n while (e) {\n f2 = BD(Ikb(b, e.p), 257);\n if (f2.c >= 0) {\n i3 = null;\n h = new Bib(k.a, j + 1);\n while (h.b < h.d.gc()) {\n g = (sCb(h.b < h.d.gc()), BD(h.d.Xb(h.c = h.b++), 10));\n i3 = BD(Ikb(b, g.p), 257);\n if (i3.d == f2.d && i3.c < f2.c) {\n break;\n } else {\n i3 = null;\n }\n }\n if (i3) {\n if (s) {\n Nkb(d, e.p, meb(BD(Ikb(d, e.p), 19).a - 1));\n BD(Ikb(c2, s.p), 15).Mc(f2);\n }\n f2 = yJc(f2, e, n++);\n b.c[b.c.length] = f2;\n Ekb(c2, new Rkb());\n if (s) {\n BD(Ikb(c2, s.p), 15).Fc(f2);\n Ekb(d, meb(1));\n } else {\n Ekb(d, meb(0));\n }\n }\n }\n o2 = null;\n if (q.a < q.c.c.length) {\n o2 = BD(mlb(q), 10);\n p = BD(Ikb(b, o2.p), 257);\n BD(Ikb(c2, e.p), 15).Fc(p);\n Nkb(d, o2.p, meb(BD(Ikb(d, o2.p), 19).a + 1));\n }\n f2.d = m;\n f2.c = j++;\n s = e;\n e = o2;\n }\n ++m;\n }\n }\n function u6c(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t;\n i3 = a;\n k = c7c(new f7c(b.a, b.b), a);\n j = c2;\n l = c7c(new f7c(d.a, d.b), c2);\n m = i3.a;\n q = i3.b;\n o2 = j.a;\n s = j.b;\n n = k.a;\n r = k.b;\n p = l.a;\n t = l.b;\n e = p * r - n * t;\n Iy();\n My(Jqe);\n if ($wnd.Math.abs(0 - e) <= Jqe || 0 == e || isNaN(0) && isNaN(e)) {\n return false;\n }\n g = 1 / e * ((m - o2) * r - (q - s) * n);\n h = 1 / e * -(-(m - o2) * t + (q - s) * p);\n f2 = (My(Jqe), ($wnd.Math.abs(0 - g) <= Jqe || 0 == g || isNaN(0) && isNaN(g) ? 0 : 0 < g ? -1 : 0 > g ? 1 : Ny(isNaN(0), isNaN(g))) < 0 && (My(Jqe), ($wnd.Math.abs(g - 1) <= Jqe || g == 1 || isNaN(g) && isNaN(1) ? 0 : g < 1 ? -1 : g > 1 ? 1 : Ny(isNaN(g), isNaN(1))) < 0) && (My(Jqe), ($wnd.Math.abs(0 - h) <= Jqe || 0 == h || isNaN(0) && isNaN(h) ? 0 : 0 < h ? -1 : 0 > h ? 1 : Ny(isNaN(0), isNaN(h))) < 0) && (My(Jqe), ($wnd.Math.abs(h - 1) <= Jqe || h == 1 || isNaN(h) && isNaN(1) ? 0 : h < 1 ? -1 : h > 1 ? 1 : Ny(isNaN(h), isNaN(1))) < 0));\n return f2;\n }\n function z6d(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2;\n for (l = new usb(new nsb(a)); l.b != l.c.a.d; ) {\n k = tsb(l);\n h = BD(k.d, 56);\n b = BD(k.e, 56);\n g = h.Tg();\n for (p = 0, u = (g.i == null && TKd(g), g.i).length; p < u; ++p) {\n j = (f2 = (g.i == null && TKd(g), g.i), p >= 0 && p < f2.length ? f2[p] : null);\n if (j.Ij() && !j.Jj()) {\n if (JD(j, 99)) {\n i3 = BD(j, 18);\n (i3.Bb & ote) == 0 && (w2 = zUd(i3), !(!!w2 && (w2.Bb & ote) != 0)) && y6d(a, i3, h, b);\n } else {\n Q6d();\n if (BD(j, 66).Oj()) {\n c2 = (v = j, BD(!v ? null : BD(b, 49).xh(v), 153));\n if (c2) {\n n = BD(h.ah(j), 153);\n d = c2.gc();\n for (q = 0, o2 = n.gc(); q < o2; ++q) {\n m = n.il(q);\n if (JD(m, 99)) {\n t = n.jl(q);\n e = Wrb(a, t);\n if (e == null && t != null) {\n s = BD(m, 18);\n if (!a.b || (s.Bb & ote) != 0 || !!zUd(s)) {\n continue;\n }\n e = t;\n }\n if (!c2.dl(m, e)) {\n for (r = 0; r < d; ++r) {\n if (c2.il(r) == m && PD(c2.jl(r)) === PD(e)) {\n c2.ii(c2.gc() - 1, r);\n --d;\n break;\n }\n }\n }\n } else {\n c2.dl(n.il(q), n.jl(q));\n }\n }\n }\n }\n }\n }\n }\n }\n }\n function CZc(a, b, c2, d, e, f2, g) {\n var h, i3, j, k, l, m, n, o2, p, q, r, s, t;\n r = xZc(b, c2, a.g);\n e.n && e.n && !!f2 && Tdd(e, i6d(f2), (pgd(), mgd));\n if (a.b) {\n for (q = 0; q < r.c.length; q++) {\n l = (tCb(q, r.c.length), BD(r.c[q], 200));\n if (q != 0) {\n n = (tCb(q - 1, r.c.length), BD(r.c[q - 1], 200));\n w$c(l, n.f + n.b + a.g);\n }\n tZc(q, r, c2, a.g);\n AZc(a, l);\n e.n && !!f2 && Tdd(e, i6d(f2), (pgd(), mgd));\n }\n } else {\n for (p = new olb(r); p.a < p.c.c.length; ) {\n o2 = BD(mlb(p), 200);\n for (k = new olb(o2.a); k.a < k.c.c.length; ) {\n j = BD(mlb(k), 187);\n s = new b$c(j.s, j.t, a.g);\n WZc(s, j);\n Ekb(o2.d, s);\n }\n }\n }\n BZc(a, r);\n e.n && e.n && !!f2 && Tdd(e, i6d(f2), (pgd(), mgd));\n t = $wnd.Math.max(a.d, d.a - (g.b + g.c));\n m = $wnd.Math.max(a.c, d.b - (g.d + g.a));\n h = m - a.c;\n if (a.e && a.f) {\n i3 = t / m;\n i3 < a.a ? t = m * a.a : h += t / a.a - m;\n }\n a.e && zZc(r, t, h);\n e.n && e.n && !!f2 && Tdd(e, i6d(f2), (pgd(), mgd));\n return new d$c(a.a, t, a.c + h, (k$c(), j$c));\n }\n function UJc(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l;\n a.j = KC(WD, oje, 25, a.g, 15, 1);\n a.o = new Rkb();\n MAb(LAb(new YAb(null, new Kub(a.e.b, 16)), new aLc()), new cLc(a));\n a.a = KC(sbb, dle, 25, a.b, 16, 1);\n TAb(new YAb(null, new Kub(a.e.b, 16)), new rLc(a));\n d = (l = new Rkb(), MAb(JAb(LAb(new YAb(null, new Kub(a.e.b, 16)), new hLc()), new jLc(a)), new lLc(a, l)), l);\n for (i3 = new olb(d); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 508);\n if (h.c.length <= 1) {\n continue;\n }\n if (h.c.length == 2) {\n uKc(h);\n bKc((tCb(0, h.c.length), BD(h.c[0], 17)).d.i) || Ekb(a.o, h);\n continue;\n }\n if (tKc(h) || sKc(h, new fLc())) {\n continue;\n }\n j = new olb(h);\n e = null;\n while (j.a < j.c.c.length) {\n b = BD(mlb(j), 17);\n c2 = a.c[b.p];\n !e || j.a >= j.c.c.length ? k = JJc((j0b(), h0b), g0b) : k = JJc((j0b(), g0b), g0b);\n k *= 2;\n f2 = c2.a.g;\n c2.a.g = $wnd.Math.max(f2, f2 + (k - f2));\n g = c2.b.g;\n c2.b.g = $wnd.Math.max(g, g + (k - g));\n e = b;\n }\n }\n }\n function VNc(a, b, c2, d, e) {\n var f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v;\n v = Hx(a);\n k = new Rkb();\n h = a.c.length;\n l = h - 1;\n m = h + 1;\n while (v.a.c != 0) {\n while (c2.b != 0) {\n t = (sCb(c2.b != 0), BD(Nsb(c2, c2.a.a), 112));\n Jwb(v.a, t) != null;\n t.g = l--;\n YNc(t, b, c2, d);\n }\n while (b.b != 0) {\n u = (sCb(b.b != 0), BD(Nsb(b, b.a.a), 112));\n Jwb(v.a, u) != null;\n u.g = m++;\n YNc(u, b, c2, d);\n }\n j = Rie;\n for (r = (g = new Ywb(new cxb(new Gjb(v.a).a).b), new Njb(g)); sib(r.a.a); ) {\n q = (f2 = Wwb(r.a), BD(f2.cd(), 112));\n if (!d && q.b > 0 && q.a <= 0) {\n k.c = KC(SI, Uhe, 1, 0, 5, 1);\n k.c[k.c.length] = q;\n break;\n }\n p = q.i - q.d;\n if (p >= j) {\n if (p > j) {\n k.c = KC(SI, Uhe, 1, 0, 5, 1);\n j = p;\n }\n k.c[k.c.length] = q;\n }\n }\n if (k.c.length != 0) {\n i3 = BD(Ikb(k, Bub(e, k.c.length)), 112);\n Jwb(v.a, i3) != null;\n i3.g = m++;\n YNc(i3, b, c2, d);\n k.c = KC(SI, Uhe, 1, 0, 5, 1);\n }\n }\n s = a.c.length + 1;\n for (o2 = new olb(a); o2.a < o2.c.c.length; ) {\n n = BD(mlb(o2), 112);\n n.g < h && (n.g = n.g + s);\n }\n }\n function SDb(a, b) {\n var c2;\n if (a.e) {\n throw vbb(new Zdb((fdb(TM), Jke + TM.k + Kke)));\n }\n if (!lDb(a.a, b)) {\n throw vbb(new hz(Lke + b + Mke));\n }\n if (b == a.d) {\n return a;\n }\n c2 = a.d;\n a.d = b;\n switch (c2.g) {\n case 0:\n switch (b.g) {\n case 2:\n PDb(a);\n break;\n case 1:\n XDb(a);\n PDb(a);\n break;\n case 4:\n bEb(a);\n PDb(a);\n break;\n case 3:\n bEb(a);\n XDb(a);\n PDb(a);\n }\n break;\n case 2:\n switch (b.g) {\n case 1:\n XDb(a);\n YDb(a);\n break;\n case 4:\n bEb(a);\n PDb(a);\n break;\n case 3:\n bEb(a);\n XDb(a);\n PDb(a);\n }\n break;\n case 1:\n switch (b.g) {\n case 2:\n XDb(a);\n YDb(a);\n break;\n case 4:\n XDb(a);\n bEb(a);\n PDb(a);\n break;\n case 3:\n XDb(a);\n bEb(a);\n XDb(a);\n PDb(a);\n }\n break;\n case 4:\n switch (b.g) {\n case 2:\n bEb(a);\n PDb(a);\n break;\n case 1:\n bEb(a);\n XDb(a);\n PDb(a);\n break;\n case 3:\n XDb(a);\n YDb(a);\n }\n break;\n case 3:\n switch (b.g) {\n case 2:\n XDb(a);\n bEb(a);\n PDb(a);\n break;\n case 1:\n XDb(a);\n bEb(a);\n XDb(a);\n PDb(a);\n break;\n case 4:\n XDb(a);\n YDb(a);\n }\n }\n return a;\n }\n function tVb(a, b) {\n var c2;\n if (a.d) {\n throw vbb(new Zdb((fdb(LP), Jke + LP.k + Kke)));\n }\n if (!cVb(a.a, b)) {\n throw vbb(new hz(Lke + b + Mke));\n }\n if (b == a.c) {\n return a;\n }\n c2 = a.c;\n a.c = b;\n switch (c2.g) {\n case 0:\n switch (b.g) {\n case 2:\n qVb(a);\n break;\n case 1:\n xVb(a);\n qVb(a);\n break;\n case 4:\n BVb(a);\n qVb(a);\n break;\n case 3:\n BVb(a);\n xVb(a);\n qVb(a);\n }\n break;\n case 2:\n switch (b.g) {\n case 1:\n xVb(a);\n yVb(a);\n break;\n case 4:\n BVb(a);\n qVb(a);\n break;\n case 3:\n BVb(a);\n xVb(a);\n qVb(a);\n }\n break;\n case 1:\n switch (b.g) {\n case 2:\n xVb(a);\n yVb(a);\n break;\n case 4:\n xVb(a);\n BVb(a);\n qVb(a);\n break;\n case 3:\n xVb(a);\n BVb(a);\n xVb(a);\n qVb(a);\n }\n break;\n case 4:\n switch (b.g) {\n case 2:\n BVb(a);\n qVb(a);\n break;\n case 1:\n BVb(a);\n xVb(a);\n qVb(a);\n break;\n case 3:\n xVb(a);\n yVb(a);\n }\n break;\n case 3:\n switch (b.g) {\n case 2:\n xVb(a);\n BVb(a);\n qVb(a);\n break;\n case 1:\n xVb(a);\n BVb(a);\n xVb(a);\n qVb(a);\n break;\n case 4:\n xVb(a);\n yVb(a);\n }\n }\n return a;\n }\n function UQb(a, b, c2) {\n var d, e, f2, g, h, i3, j, k;\n for (i3 = new Fyd((!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a)); i3.e != i3.i.gc(); ) {\n h = BD(Dyd(i3), 33);\n for (e = new Sr(ur(_sd(h).a.Kc(), new Sq())); Qr(e); ) {\n d = BD(Rr(e), 79);\n !d.b && (d.b = new y5d(z2, d, 4, 7));\n if (!(d.b.i <= 1 && (!d.c && (d.c = new y5d(z2, d, 5, 8)), d.c.i <= 1))) {\n throw vbb(new z2c(\"Graph must not contain hyperedges.\"));\n }\n if (!Pld(d) && h != atd(BD(qud((!d.c && (d.c = new y5d(z2, d, 5, 8)), d.c), 0), 82))) {\n j = new gRb();\n tNb(j, d);\n yNb(j, (HSb(), FSb), d);\n dRb(j, BD(Wd(irb(c2.f, h)), 144));\n eRb(j, BD(Ohb(c2, atd(BD(qud((!d.c && (d.c = new y5d(z2, d, 5, 8)), d.c), 0), 82))), 144));\n Ekb(b.c, j);\n for (g = new Fyd((!d.n && (d.n = new cUd(D2, d, 1, 7)), d.n)); g.e != g.i.gc(); ) {\n f2 = BD(Dyd(g), 137);\n k = new mRb(j, f2.a);\n tNb(k, f2);\n yNb(k, FSb, f2);\n k.e.a = $wnd.Math.max(f2.g, 1);\n k.e.b = $wnd.Math.max(f2.f, 1);\n lRb(k);\n Ekb(b.d, k);\n }\n }\n }\n }\n }\n function OGb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t;\n l = new LIb(a);\n iKb(l, !(b == (ead(), dad) || b == _9c));\n k = l.a;\n m = new p0b();\n for (e = (gHb(), OC(GC(pN, 1), Kie, 232, 0, [dHb, eHb, fHb])), g = 0, i3 = e.length; g < i3; ++g) {\n c2 = e[g];\n j = xHb(k, dHb, c2);\n !!j && (m.d = $wnd.Math.max(m.d, j.Re()));\n }\n for (d = OC(GC(pN, 1), Kie, 232, 0, [dHb, eHb, fHb]), f2 = 0, h = d.length; f2 < h; ++f2) {\n c2 = d[f2];\n j = xHb(k, fHb, c2);\n !!j && (m.a = $wnd.Math.max(m.a, j.Re()));\n }\n for (p = OC(GC(pN, 1), Kie, 232, 0, [dHb, eHb, fHb]), r = 0, t = p.length; r < t; ++r) {\n n = p[r];\n j = xHb(k, n, dHb);\n !!j && (m.b = $wnd.Math.max(m.b, j.Se()));\n }\n for (o2 = OC(GC(pN, 1), Kie, 232, 0, [dHb, eHb, fHb]), q = 0, s = o2.length; q < s; ++q) {\n n = o2[q];\n j = xHb(k, n, fHb);\n !!j && (m.c = $wnd.Math.max(m.c, j.Se()));\n }\n if (m.d > 0) {\n m.d += k.n.d;\n m.d += k.d;\n }\n if (m.a > 0) {\n m.a += k.n.a;\n m.a += k.d;\n }\n if (m.b > 0) {\n m.b += k.n.b;\n m.b += k.d;\n }\n if (m.c > 0) {\n m.c += k.n.c;\n m.c += k.d;\n }\n return m;\n }\n function d6b(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2;\n m = c2.d;\n l = c2.c;\n f2 = new f7c(c2.f.a + c2.d.b + c2.d.c, c2.f.b + c2.d.d + c2.d.a);\n g = f2.b;\n for (j = new olb(a.a); j.a < j.c.c.length; ) {\n h = BD(mlb(j), 10);\n if (h.k != (j0b(), e0b)) {\n continue;\n }\n d = BD(vNb(h, (wtc(), Hsc)), 61);\n e = BD(vNb(h, Isc), 8);\n k = h.n;\n switch (d.g) {\n case 2:\n k.a = c2.f.a + m.c - l.a;\n break;\n case 4:\n k.a = -l.a - m.b;\n }\n o2 = 0;\n switch (d.g) {\n case 2:\n case 4:\n if (b == (dcd(), _bd)) {\n n = Edb(ED(vNb(h, htc)));\n k.b = f2.b * n - BD(vNb(h, (Nyc(), Txc)), 8).b;\n o2 = k.b + e.b;\n M_b(h, false, true);\n } else if (b == $bd) {\n k.b = Edb(ED(vNb(h, htc))) - BD(vNb(h, (Nyc(), Txc)), 8).b;\n o2 = k.b + e.b;\n M_b(h, false, true);\n }\n }\n g = $wnd.Math.max(g, o2);\n }\n c2.f.b += g - f2.b;\n for (i3 = new olb(a.a); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 10);\n if (h.k != (j0b(), e0b)) {\n continue;\n }\n d = BD(vNb(h, (wtc(), Hsc)), 61);\n k = h.n;\n switch (d.g) {\n case 1:\n k.b = -l.b - m.d;\n break;\n case 3:\n k.b = c2.f.b + m.a - l.b;\n }\n }\n }\n function nRc(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B;\n e = BD(vNb(a, (mTc(), dTc)), 33);\n j = Ohe;\n k = Ohe;\n h = Rie;\n i3 = Rie;\n for (w2 = Jsb(a.b, 0); w2.b != w2.d.c; ) {\n u = BD(Xsb(w2), 86);\n p = u.e;\n q = u.f;\n j = $wnd.Math.min(j, p.a - q.a / 2);\n k = $wnd.Math.min(k, p.b - q.b / 2);\n h = $wnd.Math.max(h, p.a + q.a / 2);\n i3 = $wnd.Math.max(i3, p.b + q.b / 2);\n }\n o2 = BD(hkd(e, (JTc(), BTc)), 116);\n n = new f7c(o2.b - j, o2.d - k);\n for (v = Jsb(a.b, 0); v.b != v.d.c; ) {\n u = BD(Xsb(v), 86);\n m = vNb(u, dTc);\n if (JD(m, 239)) {\n f2 = BD(m, 33);\n l = P6c(u.e, n);\n bld(f2, l.a - f2.g / 2, l.b - f2.f / 2);\n }\n }\n for (t = Jsb(a.a, 0); t.b != t.d.c; ) {\n s = BD(Xsb(t), 188);\n d = BD(vNb(s, dTc), 79);\n if (d) {\n b = s.a;\n r = new g7c(s.b.e);\n Gsb(b, r, b.a, b.a.a);\n A = new g7c(s.c.e);\n Gsb(b, A, b.c.b, b.c);\n qRc(r, BD(Ut(b, 1), 8), s.b.f);\n qRc(A, BD(Ut(b, b.b - 2), 8), s.c.f);\n c2 = itd(d, true, true);\n ifd(b, c2);\n }\n }\n B = h - j + (o2.b + o2.c);\n g = i3 - k + (o2.d + o2.a);\n Afd(e, B, g, false, false);\n }\n function xoc(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t;\n l = a.b;\n k = new Bib(l, 0);\n Aib(k, new H1b(a));\n s = false;\n g = 1;\n while (k.b < k.d.gc()) {\n j = (sCb(k.b < k.d.gc()), BD(k.d.Xb(k.c = k.b++), 29));\n p = (tCb(g, l.c.length), BD(l.c[g], 29));\n q = Mu(j.a);\n r = q.c.length;\n for (o2 = new olb(q); o2.a < o2.c.c.length; ) {\n m = BD(mlb(o2), 10);\n $_b(m, p);\n }\n if (s) {\n for (n = av(new ov(q), 0); n.c.Sb(); ) {\n m = BD(pv(n), 10);\n for (f2 = new olb(Mu(R_b(m))); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 17);\n PZb(e, true);\n yNb(a, (wtc(), Asc), (Bcb(), true));\n d = Noc(a, e, r);\n c2 = BD(vNb(m, usc), 305);\n t = BD(Ikb(d, d.c.length - 1), 17);\n c2.k = t.c.i;\n c2.n = t;\n c2.b = e.d.i;\n c2.c = e;\n }\n }\n s = false;\n } else {\n if (q.c.length != 0) {\n b = (tCb(0, q.c.length), BD(q.c[0], 10));\n if (b.k == (j0b(), d0b)) {\n s = true;\n g = -1;\n }\n }\n }\n ++g;\n }\n h = new Bib(a.b, 0);\n while (h.b < h.d.gc()) {\n i3 = (sCb(h.b < h.d.gc()), BD(h.d.Xb(h.c = h.b++), 29));\n i3.a.c.length == 0 && uib(h);\n }\n }\n function wKb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r;\n k = BD(BD(Qc(a.r, b), 21), 84);\n if (k.gc() <= 2 || b == (Ucd(), zcd) || b == (Ucd(), Tcd)) {\n AKb(a, b);\n return;\n }\n p = a.u.Hc((rcd(), qcd));\n c2 = b == (Ucd(), Acd) ? (vLb(), uLb) : (vLb(), rLb);\n r = b == Acd ? (EIb(), BIb) : (EIb(), DIb);\n d = dLb(iLb(c2), a.s);\n q = b == Acd ? Pje : Qje;\n for (j = k.Kc(); j.Ob(); ) {\n h = BD(j.Pb(), 111);\n if (!h.c || h.c.d.c.length <= 0) {\n continue;\n }\n o2 = h.b.rf();\n n = h.e;\n l = h.c;\n m = l.i;\n m.b = (f2 = l.n, l.e.a + f2.b + f2.c);\n m.a = (g = l.n, l.e.b + g.d + g.a);\n if (p) {\n m.c = n.a - (e = l.n, l.e.a + e.b + e.c) - a.s;\n p = false;\n } else {\n m.c = n.a + o2.a + a.s;\n }\n ytb(r, lle);\n l.f = r;\n $Hb(l, (NHb(), MHb));\n Ekb(d.d, new BLb(m, bLb(d, m)));\n q = b == Acd ? $wnd.Math.min(q, n.b) : $wnd.Math.max(q, n.b + h.b.rf().b);\n }\n q += b == Acd ? -a.t : a.t;\n cLb((d.e = q, d));\n for (i3 = k.Kc(); i3.Ob(); ) {\n h = BD(i3.Pb(), 111);\n if (!h.c || h.c.d.c.length <= 0) {\n continue;\n }\n m = h.c.i;\n m.c -= h.e.a;\n m.d -= h.e.b;\n }\n }\n function IDc(a, b, c2) {\n var d;\n Odd(c2, \"StretchWidth layering\", 1);\n if (b.a.c.length == 0) {\n Qdd(c2);\n return;\n }\n a.c = b;\n a.t = 0;\n a.u = 0;\n a.i = Pje;\n a.g = Qje;\n a.d = Edb(ED(vNb(b, (Nyc(), lyc))));\n CDc(a);\n DDc(a);\n ADc(a);\n HDc(a);\n BDc(a);\n a.i = $wnd.Math.max(1, a.i);\n a.g = $wnd.Math.max(1, a.g);\n a.d = a.d / a.i;\n a.f = a.g / a.i;\n a.s = FDc(a);\n d = new H1b(a.c);\n Ekb(a.c.b, d);\n a.r = Mu(a.p);\n a.n = tlb(a.k, a.k.length);\n while (a.r.c.length != 0) {\n a.o = JDc(a);\n if (!a.o || EDc(a) && a.b.a.gc() != 0) {\n KDc(a, d);\n d = new H1b(a.c);\n Ekb(a.c.b, d);\n ye(a.a, a.b);\n a.b.a.$b();\n a.t = a.u;\n a.u = 0;\n } else {\n if (EDc(a)) {\n a.c.b.c = KC(SI, Uhe, 1, 0, 5, 1);\n d = new H1b(a.c);\n Ekb(a.c.b, d);\n a.t = 0;\n a.u = 0;\n a.b.a.$b();\n a.a.a.$b();\n ++a.f;\n a.r = Mu(a.p);\n a.n = tlb(a.k, a.k.length);\n } else {\n $_b(a.o, d);\n Lkb(a.r, a.o);\n Qqb(a.b, a.o);\n a.t = a.t - a.k[a.o.p] * a.d + a.j[a.o.p];\n a.u += a.e[a.o.p] * a.d;\n }\n }\n }\n b.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n smb(b.b);\n Qdd(c2);\n }\n function Mgc(a) {\n var b, c2, d, e;\n MAb(JAb(new YAb(null, new Kub(a.a.b, 16)), new khc()), new mhc());\n Kgc(a);\n MAb(JAb(new YAb(null, new Kub(a.a.b, 16)), new ohc()), new qhc());\n if (a.c == (Aad(), yad)) {\n MAb(JAb(LAb(new YAb(null, new Kub(new Pib(a.f), 1)), new yhc()), new Ahc()), new Chc(a));\n MAb(JAb(NAb(LAb(LAb(new YAb(null, new Kub(a.d.b, 16)), new Ghc()), new Ihc()), new Khc()), new Mhc()), new Ohc(a));\n }\n e = new f7c(Pje, Pje);\n b = new f7c(Qje, Qje);\n for (d = new olb(a.a.b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 57);\n e.a = $wnd.Math.min(e.a, c2.d.c);\n e.b = $wnd.Math.min(e.b, c2.d.d);\n b.a = $wnd.Math.max(b.a, c2.d.c + c2.d.b);\n b.b = $wnd.Math.max(b.b, c2.d.d + c2.d.a);\n }\n P6c(X6c(a.d.c), V6c(new f7c(e.a, e.b)));\n P6c(X6c(a.d.f), c7c(new f7c(b.a, b.b), e));\n Lgc(a, e, b);\n Uhb(a.f);\n Uhb(a.b);\n Uhb(a.g);\n Uhb(a.e);\n a.a.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n a.a.b.c = KC(SI, Uhe, 1, 0, 5, 1);\n a.a = null;\n a.d = null;\n }\n function vZb(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t;\n e = new Rkb();\n for (p = new olb(b.a); p.a < p.c.c.length; ) {\n o2 = BD(mlb(p), 10);\n n = o2.e;\n if (n) {\n d = vZb(a, n, o2);\n Gkb(e, d);\n sZb(a, n, o2);\n if (BD(vNb(n, (wtc(), Ksc)), 21).Hc((Orc(), Hrc))) {\n s = BD(vNb(o2, (Nyc(), Vxc)), 98);\n m = BD(vNb(o2, Yxc), 174).Hc((rcd(), ncd));\n for (r = new olb(o2.j); r.a < r.c.c.length; ) {\n q = BD(mlb(r), 11);\n f2 = BD(Ohb(a.b, q), 10);\n if (!f2) {\n f2 = Z$b(q, s, q.j, -(q.e.c.length - q.g.c.length), null, new d7c(), q.o, BD(vNb(n, Lwc), 103), n);\n yNb(f2, $sc, q);\n Rhb(a.b, q, f2);\n Ekb(n.a, f2);\n }\n g = BD(Ikb(f2.j, 0), 11);\n for (k = new olb(q.f); k.a < k.c.c.length; ) {\n j = BD(mlb(k), 70);\n h = new p_b();\n h.o.a = j.o.a;\n h.o.b = j.o.b;\n Ekb(g.f, h);\n if (!m) {\n t = q.j;\n l = 0;\n tcd(BD(vNb(o2, Yxc), 21)) && (l = mfd(j.n, j.o, q.o, 0, t));\n s == (dcd(), bcd) || (Ucd(), Ecd).Hc(t) ? h.o.a = l : h.o.b = l;\n }\n }\n }\n }\n }\n }\n i3 = new Rkb();\n rZb(a, b, c2, e, i3);\n !!c2 && tZb(a, b, c2, i3);\n return i3;\n }\n function nEc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l;\n if (a.c[b.c.p][b.p].e) {\n return;\n } else {\n a.c[b.c.p][b.p].e = true;\n }\n a.c[b.c.p][b.p].b = 0;\n a.c[b.c.p][b.p].d = 0;\n a.c[b.c.p][b.p].a = null;\n for (k = new olb(b.j); k.a < k.c.c.length; ) {\n j = BD(mlb(k), 11);\n l = c2 ? new J0b(j) : new R0b(j);\n for (i3 = l.Kc(); i3.Ob(); ) {\n h = BD(i3.Pb(), 11);\n g = h.i;\n if (g.c == b.c) {\n if (g != b) {\n nEc(a, g, c2);\n a.c[b.c.p][b.p].b += a.c[g.c.p][g.p].b;\n a.c[b.c.p][b.p].d += a.c[g.c.p][g.p].d;\n }\n } else {\n a.c[b.c.p][b.p].d += a.g[h.p];\n ++a.c[b.c.p][b.p].b;\n }\n }\n }\n f2 = BD(vNb(b, (wtc(), ssc)), 15);\n if (f2) {\n for (e = f2.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 10);\n if (b.c == d.c) {\n nEc(a, d, c2);\n a.c[b.c.p][b.p].b += a.c[d.c.p][d.p].b;\n a.c[b.c.p][b.p].d += a.c[d.c.p][d.p].d;\n }\n }\n }\n if (a.c[b.c.p][b.p].b > 0) {\n a.c[b.c.p][b.p].d += Cub(a.i, 24) * lke * 0.07000000029802322 - 0.03500000014901161;\n a.c[b.c.p][b.p].a = a.c[b.c.p][b.p].d / a.c[b.c.p][b.p].b;\n }\n }\n function m5b(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q;\n for (o2 = new olb(a); o2.a < o2.c.c.length; ) {\n n = BD(mlb(o2), 10);\n n5b(n.n);\n n5b(n.o);\n o5b(n.f);\n r5b(n);\n t5b(n);\n for (q = new olb(n.j); q.a < q.c.c.length; ) {\n p = BD(mlb(q), 11);\n n5b(p.n);\n n5b(p.a);\n n5b(p.o);\n G0b(p, s5b(p.j));\n f2 = BD(vNb(p, (Nyc(), Wxc)), 19);\n !!f2 && yNb(p, Wxc, meb(-f2.a));\n for (e = new olb(p.g); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 17);\n for (c2 = Jsb(d.a, 0); c2.b != c2.d.c; ) {\n b = BD(Xsb(c2), 8);\n n5b(b);\n }\n i3 = BD(vNb(d, jxc), 74);\n if (i3) {\n for (h = Jsb(i3, 0); h.b != h.d.c; ) {\n g = BD(Xsb(h), 8);\n n5b(g);\n }\n }\n for (l = new olb(d.b); l.a < l.c.c.length; ) {\n j = BD(mlb(l), 70);\n n5b(j.n);\n n5b(j.o);\n }\n }\n for (m = new olb(p.f); m.a < m.c.c.length; ) {\n j = BD(mlb(m), 70);\n n5b(j.n);\n n5b(j.o);\n }\n }\n if (n.k == (j0b(), e0b)) {\n yNb(n, (wtc(), Hsc), s5b(BD(vNb(n, Hsc), 61)));\n q5b(n);\n }\n for (k = new olb(n.b); k.a < k.c.c.length; ) {\n j = BD(mlb(k), 70);\n r5b(j);\n n5b(j.o);\n n5b(j.n);\n }\n }\n }\n function yQb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A;\n a.e = b;\n h = $Pb(b);\n w2 = new Rkb();\n for (d = new olb(h); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 15);\n A = new Rkb();\n w2.c[w2.c.length] = A;\n i3 = new Tqb();\n for (o2 = c2.Kc(); o2.Ob(); ) {\n n = BD(o2.Pb(), 33);\n f2 = wQb(a, n, true, 0, 0);\n A.c[A.c.length] = f2;\n p = n.i;\n q = n.j;\n m = (!n.n && (n.n = new cUd(D2, n, 1, 7)), n.n);\n for (l = new Fyd(m); l.e != l.i.gc(); ) {\n j = BD(Dyd(l), 137);\n e = wQb(a, j, false, p, q);\n A.c[A.c.length] = e;\n }\n v = (!n.c && (n.c = new cUd(F2, n, 9, 9)), n.c);\n for (s = new Fyd(v); s.e != s.i.gc(); ) {\n r = BD(Dyd(s), 118);\n g = wQb(a, r, false, p, q);\n A.c[A.c.length] = g;\n t = r.i + p;\n u = r.j + q;\n m = (!r.n && (r.n = new cUd(D2, r, 1, 7)), r.n);\n for (k = new Fyd(m); k.e != k.i.gc(); ) {\n j = BD(Dyd(k), 137);\n e = wQb(a, j, false, t, u);\n A.c[A.c.length] = e;\n }\n }\n ye(i3, Dx(pl(OC(GC(KI, 1), Uhe, 20, 0, [_sd(n), $sd(n)]))));\n }\n vQb(a, i3, A);\n }\n a.f = new aPb(w2);\n tNb(a.f, b);\n return a.f;\n }\n function Kqd(a, b, c2, d, e) {\n var f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F, G;\n D = Ohb(a.e, d);\n if (D == null) {\n D = new eC();\n n = BD(D, 183);\n s = b + \"_s\";\n t = s + e;\n m = new yC(t);\n cC(n, Vte, m);\n }\n C = BD(D, 183);\n Qpd(c2, C);\n G = new eC();\n Spd(G, \"x\", d.j);\n Spd(G, \"y\", d.k);\n cC(C, Yte, G);\n A = new eC();\n Spd(A, \"x\", d.b);\n Spd(A, \"y\", d.c);\n cC(C, \"endPoint\", A);\n l = Fhe((!d.a && (d.a = new xMd(y2, d, 5)), d.a));\n o2 = !l;\n if (o2) {\n w2 = new wB();\n f2 = new Srd(w2);\n reb((!d.a && (d.a = new xMd(y2, d, 5)), d.a), f2);\n cC(C, Ote, w2);\n }\n i3 = dmd(d);\n u = !!i3;\n u && Tpd(a.a, C, Qte, kqd(a, dmd(d)));\n r = emd(d);\n v = !!r;\n v && Tpd(a.a, C, Pte, kqd(a, emd(d)));\n j = (!d.e && (d.e = new y5d(A2, d, 10, 9)), d.e).i == 0;\n p = !j;\n if (p) {\n B = new wB();\n g = new Urd(a, B);\n reb((!d.e && (d.e = new y5d(A2, d, 10, 9)), d.e), g);\n cC(C, Ste, B);\n }\n k = (!d.g && (d.g = new y5d(A2, d, 9, 10)), d.g).i == 0;\n q = !k;\n if (q) {\n F = new wB();\n h = new Wrd(a, F);\n reb((!d.g && (d.g = new y5d(A2, d, 9, 10)), d.g), h);\n cC(C, Rte, F);\n }\n }\n function eKb(a) {\n $Jb();\n var b, c2, d, e, f2, g, h;\n d = a.f.n;\n for (g = ci(a.r).a.nc(); g.Ob(); ) {\n f2 = BD(g.Pb(), 111);\n e = 0;\n if (f2.b.Xe((Y9c(), s9c))) {\n e = Edb(ED(f2.b.We(s9c)));\n if (e < 0) {\n switch (f2.b.Hf().g) {\n case 1:\n d.d = $wnd.Math.max(d.d, -e);\n break;\n case 3:\n d.a = $wnd.Math.max(d.a, -e);\n break;\n case 2:\n d.c = $wnd.Math.max(d.c, -e);\n break;\n case 4:\n d.b = $wnd.Math.max(d.b, -e);\n }\n }\n }\n if (tcd(a.u)) {\n b = nfd(f2.b, e);\n h = !BD(a.e.We(b9c), 174).Hc((Idd(), zdd));\n c2 = false;\n switch (f2.b.Hf().g) {\n case 1:\n c2 = b > d.d;\n d.d = $wnd.Math.max(d.d, b);\n if (h && c2) {\n d.d = $wnd.Math.max(d.d, d.a);\n d.a = d.d + e;\n }\n break;\n case 3:\n c2 = b > d.a;\n d.a = $wnd.Math.max(d.a, b);\n if (h && c2) {\n d.a = $wnd.Math.max(d.a, d.d);\n d.d = d.a + e;\n }\n break;\n case 2:\n c2 = b > d.c;\n d.c = $wnd.Math.max(d.c, b);\n if (h && c2) {\n d.c = $wnd.Math.max(d.b, d.c);\n d.b = d.c + e;\n }\n break;\n case 4:\n c2 = b > d.b;\n d.b = $wnd.Math.max(d.b, b);\n if (h && c2) {\n d.b = $wnd.Math.max(d.b, d.c);\n d.c = d.b + e;\n }\n }\n }\n }\n }\n function l3b(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l;\n for (j = new olb(a); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 10);\n g = BD(vNb(i3, (Nyc(), mxc)), 163);\n f2 = null;\n switch (g.g) {\n case 1:\n case 2:\n f2 = (Gqc(), Fqc);\n break;\n case 3:\n case 4:\n f2 = (Gqc(), Dqc);\n }\n if (f2) {\n yNb(i3, (wtc(), Bsc), (Gqc(), Fqc));\n f2 == Dqc ? o3b(i3, g, (KAc(), HAc)) : f2 == Fqc && o3b(i3, g, (KAc(), IAc));\n } else {\n if (fcd(BD(vNb(i3, Vxc), 98)) && i3.j.c.length != 0) {\n b = true;\n for (l = new olb(i3.j); l.a < l.c.c.length; ) {\n k = BD(mlb(l), 11);\n if (!(k.j == (Ucd(), zcd) && k.e.c.length - k.g.c.length > 0 || k.j == Tcd && k.e.c.length - k.g.c.length < 0)) {\n b = false;\n break;\n }\n for (e = new olb(k.g); e.a < e.c.c.length; ) {\n c2 = BD(mlb(e), 17);\n h = BD(vNb(c2.d.i, mxc), 163);\n if (h == (Ctc(), ztc) || h == Atc) {\n b = false;\n break;\n }\n }\n for (d = new olb(k.e); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 17);\n h = BD(vNb(c2.c.i, mxc), 163);\n if (h == (Ctc(), xtc) || h == ytc) {\n b = false;\n break;\n }\n }\n }\n b && o3b(i3, g, (KAc(), JAc));\n }\n }\n }\n }\n function lJc(a, b, c2, d, e) {\n var f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2;\n w2 = 0;\n n = 0;\n for (l = new olb(b.e); l.a < l.c.c.length; ) {\n k = BD(mlb(l), 10);\n m = 0;\n h = 0;\n i3 = c2 ? BD(vNb(k, hJc), 19).a : Rie;\n r = d ? BD(vNb(k, iJc), 19).a : Rie;\n j = $wnd.Math.max(i3, r);\n for (t = new olb(k.j); t.a < t.c.c.length; ) {\n s = BD(mlb(t), 11);\n u = k.n.b + s.n.b + s.a.b;\n if (d) {\n for (g = new olb(s.g); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 17);\n p = f2.d;\n o2 = p.i;\n if (b != a.a[o2.p]) {\n q = $wnd.Math.max(BD(vNb(o2, hJc), 19).a, BD(vNb(o2, iJc), 19).a);\n v = BD(vNb(f2, (Nyc(), eyc)), 19).a;\n if (v >= j && v >= q) {\n m += o2.n.b + p.n.b + p.a.b - u;\n ++h;\n }\n }\n }\n }\n if (c2) {\n for (g = new olb(s.e); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 17);\n p = f2.c;\n o2 = p.i;\n if (b != a.a[o2.p]) {\n q = $wnd.Math.max(BD(vNb(o2, hJc), 19).a, BD(vNb(o2, iJc), 19).a);\n v = BD(vNb(f2, (Nyc(), eyc)), 19).a;\n if (v >= j && v >= q) {\n m += o2.n.b + p.n.b + p.a.b - u;\n ++h;\n }\n }\n }\n }\n }\n if (h > 0) {\n w2 += m / h;\n ++n;\n }\n }\n if (n > 0) {\n b.a = e * w2 / n;\n b.g = n;\n } else {\n b.a = 0;\n b.g = 0;\n }\n }\n function oMc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m;\n for (e = new olb(a.a.b); e.a < e.c.c.length; ) {\n c2 = BD(mlb(e), 29);\n for (i3 = new olb(c2.a); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 10);\n b.j[h.p] = h;\n b.i[h.p] = b.o == (eMc(), dMc) ? Qje : Pje;\n }\n }\n Uhb(a.c);\n g = a.a.b;\n b.c == (YLc(), WLc) && (g = JD(g, 152) ? km(BD(g, 152)) : JD(g, 131) ? BD(g, 131).a : JD(g, 54) ? new ov(g) : new dv(g));\n UMc(a.e, b, a.b);\n Alb(b.p, null);\n for (f2 = g.Kc(); f2.Ob(); ) {\n c2 = BD(f2.Pb(), 29);\n j = c2.a;\n b.o == (eMc(), dMc) && (j = JD(j, 152) ? km(BD(j, 152)) : JD(j, 131) ? BD(j, 131).a : JD(j, 54) ? new ov(j) : new dv(j));\n for (m = j.Kc(); m.Ob(); ) {\n l = BD(m.Pb(), 10);\n b.g[l.p] == l && pMc(a, l, b);\n }\n }\n qMc(a, b);\n for (d = g.Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 29);\n for (m = new olb(c2.a); m.a < m.c.c.length; ) {\n l = BD(mlb(m), 10);\n b.p[l.p] = b.p[b.g[l.p].p];\n if (l == b.g[l.p]) {\n k = Edb(b.i[b.j[l.p].p]);\n (b.o == (eMc(), dMc) && k > Qje || b.o == cMc && k < Pje) && (b.p[l.p] = Edb(b.p[l.p]) + k);\n }\n }\n }\n a.e.cg();\n }\n function PGb(a, b, c2, d) {\n var e, f2, g, h, i3;\n h = new LIb(b);\n rKb(h, d);\n e = true;\n if (!!a && a.Xe((Y9c(), z8c))) {\n f2 = BD(a.We((Y9c(), z8c)), 103);\n e = f2 == (ead(), cad) || f2 == aad || f2 == bad;\n }\n hKb(h, false);\n Hkb(h.e.wf(), new mKb(h, false, e));\n NJb(h, h.f, (gHb(), dHb), (Ucd(), Acd));\n NJb(h, h.f, fHb, Rcd);\n NJb(h, h.g, dHb, Tcd);\n NJb(h, h.g, fHb, zcd);\n PJb(h, Acd);\n PJb(h, Rcd);\n OJb(h, zcd);\n OJb(h, Tcd);\n $Jb();\n g = h.A.Hc((tdd(), pdd)) && h.B.Hc((Idd(), Ddd)) ? _Jb(h) : null;\n !!g && DHb(h.a, g);\n eKb(h);\n GJb(h);\n PKb(h);\n BJb(h);\n pKb(h);\n HKb(h);\n xKb(h, Acd);\n xKb(h, Rcd);\n CJb(h);\n oKb(h);\n if (!c2) {\n return h.o;\n }\n cKb(h);\n LKb(h);\n xKb(h, zcd);\n xKb(h, Tcd);\n i3 = h.B.Hc((Idd(), Edd));\n RJb(h, i3, Acd);\n RJb(h, i3, Rcd);\n SJb(h, i3, zcd);\n SJb(h, i3, Tcd);\n MAb(new YAb(null, new Kub(new $ib(h.i), 0)), new TJb());\n MAb(JAb(new YAb(null, ci(h.r).a.oc()), new VJb()), new XJb());\n dKb(h);\n h.e.uf(h.o);\n MAb(new YAb(null, ci(h.r).a.oc()), new fKb());\n return h.o;\n }\n function JVb(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p;\n j = Pje;\n for (d = new olb(a.a.b); d.a < d.c.c.length; ) {\n b = BD(mlb(d), 81);\n j = $wnd.Math.min(j, b.d.f.g.c + b.e.a);\n }\n n = new Psb();\n for (g = new olb(a.a.a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 189);\n f2.i = j;\n f2.e == 0 && (Gsb(n, f2, n.c.b, n.c), true);\n }\n while (n.b != 0) {\n f2 = BD(n.b == 0 ? null : (sCb(n.b != 0), Nsb(n, n.a.a)), 189);\n e = f2.f.g.c;\n for (m = f2.a.a.ec().Kc(); m.Ob(); ) {\n k = BD(m.Pb(), 81);\n p = f2.i + k.e.a;\n k.d.g || k.g.c < p ? k.o = p : k.o = k.g.c;\n }\n e -= f2.f.o;\n f2.b += e;\n a.c == (ead(), bad) || a.c == _9c ? f2.c += e : f2.c -= e;\n for (l = f2.a.a.ec().Kc(); l.Ob(); ) {\n k = BD(l.Pb(), 81);\n for (i3 = k.f.Kc(); i3.Ob(); ) {\n h = BD(i3.Pb(), 81);\n fad(a.c) ? o2 = a.f.ef(k, h) : o2 = a.f.ff(k, h);\n h.d.i = $wnd.Math.max(h.d.i, k.o + k.g.b + o2 - h.e.a);\n h.k || (h.d.i = $wnd.Math.max(h.d.i, h.g.c - h.e.a));\n --h.d.e;\n h.d.e == 0 && Dsb(n, h.d);\n }\n }\n }\n for (c2 = new olb(a.a.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 81);\n b.g.c = b.o;\n }\n }\n function ELb(a) {\n var b, c2, d, e, f2, g, h, i3;\n h = a.b;\n b = a.a;\n switch (BD(vNb(a, (fFb(), bFb)), 427).g) {\n case 0:\n Okb(h, new tpb(new bMb()));\n break;\n case 1:\n default:\n Okb(h, new tpb(new gMb()));\n }\n switch (BD(vNb(a, _Eb), 428).g) {\n case 1:\n Okb(h, new YLb());\n Okb(h, new lMb());\n Okb(h, new GLb());\n break;\n case 0:\n default:\n Okb(h, new YLb());\n Okb(h, new RLb());\n }\n switch (BD(vNb(a, dFb), 250).g) {\n case 0:\n i3 = new FMb();\n break;\n case 1:\n i3 = new zMb();\n break;\n case 2:\n i3 = new CMb();\n break;\n case 3:\n i3 = new wMb();\n break;\n case 5:\n i3 = new JMb(new CMb());\n break;\n case 4:\n i3 = new JMb(new zMb());\n break;\n case 7:\n i3 = new tMb(new JMb(new zMb()), new JMb(new CMb()));\n break;\n case 8:\n i3 = new tMb(new JMb(new wMb()), new JMb(new CMb()));\n break;\n case 6:\n default:\n i3 = new JMb(new wMb());\n }\n for (g = new olb(h); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 167);\n d = 0;\n e = 0;\n c2 = new vgd(meb(d), meb(e));\n while (gNb(b, f2, d, e)) {\n c2 = BD(i3.Ce(c2, f2), 46);\n d = BD(c2.a, 19).a;\n e = BD(c2.b, 19).a;\n }\n dNb(b, f2, d, e);\n }\n }\n function qQb(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A;\n f2 = a.f.b;\n m = f2.a;\n k = f2.b;\n o2 = a.e.g;\n n = a.e.f;\n _kd(a.e, f2.a, f2.b);\n w2 = m / o2;\n A = k / n;\n for (j = new Fyd(Kkd(a.e)); j.e != j.i.gc(); ) {\n i3 = BD(Dyd(j), 137);\n dld(i3, i3.i * w2);\n eld(i3, i3.j * A);\n }\n for (s = new Fyd(Yod(a.e)); s.e != s.i.gc(); ) {\n r = BD(Dyd(s), 118);\n u = r.i;\n v = r.j;\n u > 0 && dld(r, u * w2);\n v > 0 && eld(r, v * A);\n }\n stb(a.b, new CQb());\n b = new Rkb();\n for (h = new nib(new eib(a.c).a); h.b; ) {\n g = lib(h);\n d = BD(g.cd(), 79);\n c2 = BD(g.dd(), 395).a;\n e = itd(d, false, false);\n l = oQb(jtd(d), ofd(e), c2);\n ifd(l, e);\n t = ktd(d);\n if (!!t && Jkb(b, t, 0) == -1) {\n b.c[b.c.length] = t;\n pQb(t, (sCb(l.b != 0), BD(l.a.a.c, 8)), c2);\n }\n }\n for (q = new nib(new eib(a.d).a); q.b; ) {\n p = lib(q);\n d = BD(p.cd(), 79);\n c2 = BD(p.dd(), 395).a;\n e = itd(d, false, false);\n l = oQb(ltd(d), w7c(ofd(e)), c2);\n l = w7c(l);\n ifd(l, e);\n t = mtd(d);\n if (!!t && Jkb(b, t, 0) == -1) {\n b.c[b.c.length] = t;\n pQb(t, (sCb(l.b != 0), BD(l.c.b.c, 8)), c2);\n }\n }\n }\n function _Vc(a, b, c2, d) {\n var e, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B;\n if (c2.c.length != 0) {\n o2 = new Rkb();\n for (n = new olb(c2); n.a < n.c.c.length; ) {\n m = BD(mlb(n), 33);\n Ekb(o2, new f7c(m.i, m.j));\n }\n d.n && !!b && Tdd(d, i6d(b), (pgd(), mgd));\n while (CVc(a, c2)) {\n AVc(a, c2, false);\n }\n d.n && !!b && Tdd(d, i6d(b), (pgd(), mgd));\n h = 0;\n i3 = 0;\n e = null;\n if (c2.c.length != 0) {\n e = (tCb(0, c2.c.length), BD(c2.c[0], 33));\n h = e.i - (tCb(0, o2.c.length), BD(o2.c[0], 8)).a;\n i3 = e.j - (tCb(0, o2.c.length), BD(o2.c[0], 8)).b;\n }\n g = $wnd.Math.sqrt(h * h + i3 * i3);\n l = cVc(c2);\n while (l.a.gc() != 0) {\n for (k = l.a.ec().Kc(); k.Ob(); ) {\n j = BD(k.Pb(), 33);\n p = a.f;\n q = p.i + p.g / 2;\n r = p.j + p.f / 2;\n s = j.i + j.g / 2;\n t = j.j + j.f / 2;\n u = s - q;\n v = t - r;\n w2 = $wnd.Math.sqrt(u * u + v * v);\n A = u / w2;\n B = v / w2;\n dld(j, j.i + A * g);\n eld(j, j.j + B * g);\n }\n d.n && !!b && Tdd(d, i6d(b), (pgd(), mgd));\n l = cVc(new Tkb(l));\n }\n !!a.a && a.a.lg(new Tkb(l));\n d.n && !!b && Tdd(d, i6d(b), (pgd(), mgd));\n _Vc(a, b, new Tkb(l), d);\n }\n }\n function $2b(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r;\n p = a.n;\n q = a.o;\n m = a.d;\n l = Edb(ED(pBc(a, (Nyc(), iyc))));\n if (b) {\n k = l * (b.gc() - 1);\n n = 0;\n for (i3 = b.Kc(); i3.Ob(); ) {\n g = BD(i3.Pb(), 10);\n k += g.o.a;\n n = $wnd.Math.max(n, g.o.b);\n }\n r = p.a - (k - q.a) / 2;\n f2 = p.b - m.d + n;\n d = q.a / (b.gc() + 1);\n e = d;\n for (h = b.Kc(); h.Ob(); ) {\n g = BD(h.Pb(), 10);\n g.n.a = r;\n g.n.b = f2 - g.o.b;\n r += g.o.a + l;\n j = Y2b(g);\n j.n.a = g.o.a / 2 - j.a.a;\n j.n.b = g.o.b;\n o2 = BD(vNb(g, (wtc(), vsc)), 11);\n if (o2.e.c.length + o2.g.c.length == 1) {\n o2.n.a = e - o2.a.a;\n o2.n.b = 0;\n F0b(o2, a);\n }\n e += d;\n }\n }\n if (c2) {\n k = l * (c2.gc() - 1);\n n = 0;\n for (i3 = c2.Kc(); i3.Ob(); ) {\n g = BD(i3.Pb(), 10);\n k += g.o.a;\n n = $wnd.Math.max(n, g.o.b);\n }\n r = p.a - (k - q.a) / 2;\n f2 = p.b + q.b + m.a - n;\n d = q.a / (c2.gc() + 1);\n e = d;\n for (h = c2.Kc(); h.Ob(); ) {\n g = BD(h.Pb(), 10);\n g.n.a = r;\n g.n.b = f2;\n r += g.o.a + l;\n j = Y2b(g);\n j.n.a = g.o.a / 2 - j.a.a;\n j.n.b = 0;\n o2 = BD(vNb(g, (wtc(), vsc)), 11);\n if (o2.e.c.length + o2.g.c.length == 1) {\n o2.n.a = e - o2.a.a;\n o2.n.b = q.b;\n F0b(o2, a);\n }\n e += d;\n }\n }\n }\n function q7b(a, b) {\n var c2, d, e, f2, g, h;\n if (!BD(vNb(b, (wtc(), Ksc)), 21).Hc((Orc(), Hrc))) {\n return;\n }\n for (h = new olb(b.a); h.a < h.c.c.length; ) {\n f2 = BD(mlb(h), 10);\n if (f2.k == (j0b(), h0b)) {\n e = BD(vNb(f2, (Nyc(), txc)), 142);\n a.c = $wnd.Math.min(a.c, f2.n.a - e.b);\n a.a = $wnd.Math.max(a.a, f2.n.a + f2.o.a + e.c);\n a.d = $wnd.Math.min(a.d, f2.n.b - e.d);\n a.b = $wnd.Math.max(a.b, f2.n.b + f2.o.b + e.a);\n }\n }\n for (g = new olb(b.a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 10);\n if (f2.k != (j0b(), h0b)) {\n switch (f2.k.g) {\n case 2:\n d = BD(vNb(f2, (Nyc(), mxc)), 163);\n if (d == (Ctc(), ytc)) {\n f2.n.a = a.c - 10;\n p7b(f2, new x7b()).Jb(new A7b(f2));\n break;\n }\n if (d == Atc) {\n f2.n.a = a.a + 10;\n p7b(f2, new D7b()).Jb(new G7b(f2));\n break;\n }\n c2 = BD(vNb(f2, Osc), 303);\n if (c2 == (esc(), dsc)) {\n o7b(f2).Jb(new J7b(f2));\n f2.n.b = a.d - 10;\n break;\n }\n if (c2 == bsc) {\n o7b(f2).Jb(new M7b(f2));\n f2.n.b = a.b + 10;\n break;\n }\n break;\n default:\n throw vbb(new Wdb(\"The node type \" + f2.k + \" is not supported by the \" + zS));\n }\n }\n }\n }\n function Y1b(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n, o2, p, q;\n i3 = new f7c(d.i + d.g / 2, d.j + d.f / 2);\n n = M1b(d);\n o2 = BD(hkd(b, (Nyc(), Vxc)), 98);\n q = BD(hkd(d, $xc), 61);\n if (!hCd(gkd(d), Uxc)) {\n d.i == 0 && d.j == 0 ? p = 0 : p = kfd(d, q);\n jkd(d, Uxc, p);\n }\n j = new f7c(b.g, b.f);\n e = Z$b(d, o2, q, n, j, i3, new f7c(d.g, d.f), BD(vNb(c2, Lwc), 103), c2);\n yNb(e, (wtc(), $sc), d);\n f2 = BD(Ikb(e.j, 0), 11);\n E0b(f2, W1b(d));\n yNb(e, Yxc, (rcd(), pqb(pcd)));\n l = BD(hkd(b, Yxc), 174).Hc(ncd);\n for (h = new Fyd((!d.n && (d.n = new cUd(D2, d, 1, 7)), d.n)); h.e != h.i.gc(); ) {\n g = BD(Dyd(h), 137);\n if (!Ccb(DD(hkd(g, Jxc))) && !!g.a) {\n m = Z1b(g);\n Ekb(f2.f, m);\n if (!l) {\n k = 0;\n tcd(BD(hkd(b, Yxc), 21)) && (k = mfd(new f7c(g.i, g.j), new f7c(g.g, g.f), new f7c(d.g, d.f), 0, q));\n switch (q.g) {\n case 2:\n case 4:\n m.o.a = k;\n break;\n case 1:\n case 3:\n m.o.b = k;\n }\n }\n }\n }\n yNb(e, tyc, ED(hkd(Xod(b), tyc)));\n yNb(e, uyc, ED(hkd(Xod(b), uyc)));\n yNb(e, ryc, ED(hkd(Xod(b), ryc)));\n Ekb(c2.a, e);\n Rhb(a.a, d, e);\n }\n function qUc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v;\n Odd(c2, \"Processor arrange level\", 1);\n k = 0;\n mmb();\n ktb(b, new Wsd((mTc(), ZSc)));\n f2 = b.b;\n h = Jsb(b, b.b);\n j = true;\n while (j && h.b.b != h.d.a) {\n r = BD(Ysb(h), 86);\n BD(vNb(r, ZSc), 19).a == 0 ? --f2 : j = false;\n }\n v = new Jib(b, 0, f2);\n g = new Qsb(v);\n v = new Jib(b, f2, b.b);\n i3 = new Qsb(v);\n if (g.b == 0) {\n for (o2 = Jsb(i3, 0); o2.b != o2.d.c; ) {\n n = BD(Xsb(o2), 86);\n yNb(n, eTc, meb(k++));\n }\n } else {\n l = g.b;\n for (u = Jsb(g, 0); u.b != u.d.c; ) {\n t = BD(Xsb(u), 86);\n yNb(t, eTc, meb(k++));\n d = URc(t);\n qUc(a, d, Udd(c2, 1 / l | 0));\n ktb(d, tmb(new Wsd(eTc)));\n m = new Psb();\n for (s = Jsb(d, 0); s.b != s.d.c; ) {\n r = BD(Xsb(s), 86);\n for (q = Jsb(t.d, 0); q.b != q.d.c; ) {\n p = BD(Xsb(q), 188);\n p.c == r && (Gsb(m, p, m.c.b, m.c), true);\n }\n }\n Osb(t.d);\n ye(t.d, m);\n h = Jsb(i3, i3.b);\n e = t.d.b;\n j = true;\n while (0 < e && j && h.b.b != h.d.a) {\n r = BD(Ysb(h), 86);\n if (BD(vNb(r, ZSc), 19).a == 0) {\n yNb(r, eTc, meb(k++));\n --e;\n Zsb(h);\n } else {\n j = false;\n }\n }\n }\n }\n Qdd(c2);\n }\n function _8b(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t;\n Odd(b, \"Inverted port preprocessing\", 1);\n k = a.b;\n j = new Bib(k, 0);\n c2 = null;\n t = new Rkb();\n while (j.b < j.d.gc()) {\n s = c2;\n c2 = (sCb(j.b < j.d.gc()), BD(j.d.Xb(j.c = j.b++), 29));\n for (n = new olb(t); n.a < n.c.c.length; ) {\n l = BD(mlb(n), 10);\n $_b(l, s);\n }\n t.c = KC(SI, Uhe, 1, 0, 5, 1);\n for (o2 = new olb(c2.a); o2.a < o2.c.c.length; ) {\n l = BD(mlb(o2), 10);\n if (l.k != (j0b(), h0b)) {\n continue;\n }\n if (!fcd(BD(vNb(l, (Nyc(), Vxc)), 98))) {\n continue;\n }\n for (r = X_b(l, (KAc(), HAc), (Ucd(), zcd)).Kc(); r.Ob(); ) {\n p = BD(r.Pb(), 11);\n i3 = p.e;\n h = BD(Qkb(i3, KC(AQ, jne, 17, i3.c.length, 0, 1)), 474);\n for (e = h, f2 = 0, g = e.length; f2 < g; ++f2) {\n d = e[f2];\n Z8b(a, p, d, t);\n }\n }\n for (q = X_b(l, IAc, Tcd).Kc(); q.Ob(); ) {\n p = BD(q.Pb(), 11);\n i3 = p.g;\n h = BD(Qkb(i3, KC(AQ, jne, 17, i3.c.length, 0, 1)), 474);\n for (e = h, f2 = 0, g = e.length; f2 < g; ++f2) {\n d = e[f2];\n $8b(a, p, d, t);\n }\n }\n }\n }\n for (m = new olb(t); m.a < m.c.c.length; ) {\n l = BD(mlb(m), 10);\n $_b(l, c2);\n }\n Qdd(b);\n }\n function _1b(a, b, c2, d, e, f2) {\n var g, h, i3, j, k, l;\n j = new H0b();\n tNb(j, b);\n G0b(j, BD(hkd(b, (Nyc(), $xc)), 61));\n yNb(j, (wtc(), $sc), b);\n F0b(j, c2);\n l = j.o;\n l.a = b.g;\n l.b = b.f;\n k = j.n;\n k.a = b.i;\n k.b = b.j;\n Rhb(a.a, b, j);\n g = FAb(NAb(LAb(new YAb(null, (!b.e && (b.e = new y5d(B2, b, 7, 4)), new Kub(b.e, 16))), new m2b()), new e2b()), new o2b(b));\n g || (g = FAb(NAb(LAb(new YAb(null, (!b.d && (b.d = new y5d(B2, b, 8, 5)), new Kub(b.d, 16))), new q2b()), new g2b()), new s2b(b)));\n g || (g = FAb(new YAb(null, (!b.e && (b.e = new y5d(B2, b, 7, 4)), new Kub(b.e, 16))), new u2b()));\n yNb(j, Nsc, (Bcb(), g ? true : false));\n e_b(j, f2, e, BD(hkd(b, Txc), 8));\n for (i3 = new Fyd((!b.n && (b.n = new cUd(D2, b, 1, 7)), b.n)); i3.e != i3.i.gc(); ) {\n h = BD(Dyd(i3), 137);\n !Ccb(DD(hkd(h, Jxc))) && !!h.a && Ekb(j.f, Z1b(h));\n }\n switch (e.g) {\n case 2:\n case 1:\n (j.j == (Ucd(), Acd) || j.j == Rcd) && d.Fc((Orc(), Lrc));\n break;\n case 4:\n case 3:\n (j.j == (Ucd(), zcd) || j.j == Tcd) && d.Fc((Orc(), Lrc));\n }\n return j;\n }\n function nQc(a, b, c2, d, e, f2, g) {\n var h, i3, j, k, l, m, n, o2, p, q, r, s, t;\n m = null;\n d == (FQc(), DQc) ? m = b : d == EQc && (m = c2);\n for (p = m.a.ec().Kc(); p.Ob(); ) {\n o2 = BD(p.Pb(), 11);\n q = l7c(OC(GC(m1, 1), nie, 8, 0, [o2.i.n, o2.n, o2.a])).b;\n t = new Tqb();\n h = new Tqb();\n for (j = new b1b(o2.b); llb(j.a) || llb(j.b); ) {\n i3 = BD(llb(j.a) ? mlb(j.a) : mlb(j.b), 17);\n if (Ccb(DD(vNb(i3, (wtc(), ltc)))) != e) {\n continue;\n }\n if (Jkb(f2, i3, 0) != -1) {\n i3.d == o2 ? r = i3.c : r = i3.d;\n s = l7c(OC(GC(m1, 1), nie, 8, 0, [r.i.n, r.n, r.a])).b;\n if ($wnd.Math.abs(s - q) < 0.2) {\n continue;\n }\n s < q ? b.a._b(r) ? Qqb(t, new vgd(DQc, i3)) : Qqb(t, new vgd(EQc, i3)) : b.a._b(r) ? Qqb(h, new vgd(DQc, i3)) : Qqb(h, new vgd(EQc, i3));\n }\n }\n if (t.a.gc() > 1) {\n n = new ZQc(o2, t, d);\n reb(t, new PQc(a, n));\n g.c[g.c.length] = n;\n for (l = t.a.ec().Kc(); l.Ob(); ) {\n k = BD(l.Pb(), 46);\n Lkb(f2, k.b);\n }\n }\n if (h.a.gc() > 1) {\n n = new ZQc(o2, h, d);\n reb(h, new RQc(a, n));\n g.c[g.c.length] = n;\n for (l = h.a.ec().Kc(); l.Ob(); ) {\n k = BD(l.Pb(), 46);\n Lkb(f2, k.b);\n }\n }\n }\n }\n function $Wc(a) {\n r4c(a, new E3c(L3c(P3c(M3c(O3c(N3c(new R3c(), sre), \"ELK Radial\"), 'A radial layout provider which is based on the algorithm of Peter Eades published in \"Drawing free trees.\", published by International Institute for Advanced Study of Social Information Science, Fujitsu Limited in 1991. The radial layouter takes a tree and places the nodes in radial order around the root. The nodes of the same tree level are placed on the same radius.'), new bXc()), sre)));\n p4c(a, sre, uqe, Ksd(UWc));\n p4c(a, sre, wme, Ksd(XWc));\n p4c(a, sre, Fme, Ksd(NWc));\n p4c(a, sre, Tme, Ksd(OWc));\n p4c(a, sre, Eme, Ksd(PWc));\n p4c(a, sre, Gme, Ksd(MWc));\n p4c(a, sre, Dme, Ksd(QWc));\n p4c(a, sre, Hme, Ksd(TWc));\n p4c(a, sre, ore, Ksd(KWc));\n p4c(a, sre, nre, Ksd(LWc));\n p4c(a, sre, rre, Ksd(RWc));\n p4c(a, sre, lre, Ksd(SWc));\n p4c(a, sre, mre, Ksd(VWc));\n p4c(a, sre, pre, Ksd(WWc));\n p4c(a, sre, qre, Ksd(YWc));\n }\n function LIb(a) {\n var b;\n this.r = Cy(new OIb(), new SIb());\n this.b = new Rpb(BD(Qb(F1), 290));\n this.p = new Rpb(BD(Qb(F1), 290));\n this.i = new Rpb(BD(Qb(DN), 290));\n this.e = a;\n this.o = new g7c(a.rf());\n this.D = a.Df() || Ccb(DD(a.We((Y9c(), M8c))));\n this.A = BD(a.We((Y9c(), Y8c)), 21);\n this.B = BD(a.We(b9c), 21);\n this.q = BD(a.We(t9c), 98);\n this.u = BD(a.We(x9c), 21);\n if (!ucd(this.u)) {\n throw vbb(new y2c(\"Invalid port label placement: \" + this.u));\n }\n this.v = Ccb(DD(a.We(z9c)));\n this.j = BD(a.We(W8c), 21);\n if (!Jbd(this.j)) {\n throw vbb(new y2c(\"Invalid node label placement: \" + this.j));\n }\n this.n = BD(bgd(a, U8c), 116);\n this.k = Edb(ED(bgd(a, Q9c)));\n this.d = Edb(ED(bgd(a, P9c)));\n this.w = Edb(ED(bgd(a, X9c)));\n this.s = Edb(ED(bgd(a, R9c)));\n this.t = Edb(ED(bgd(a, S9c)));\n this.C = BD(bgd(a, V9c), 142);\n this.c = 2 * this.d;\n b = !this.B.Hc((Idd(), zdd));\n this.f = new mIb(0, b, 0);\n this.g = new mIb(1, b, 0);\n lIb(this.f, (gHb(), eHb), this.g);\n }\n function Lgd(a, b, c2, d, e) {\n var f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D;\n t = 0;\n o2 = 0;\n n = 0;\n m = 1;\n for (s = new Fyd((!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a)); s.e != s.i.gc(); ) {\n q = BD(Dyd(s), 33);\n m += sr(new Sr(ur(_sd(q).a.Kc(), new Sq())));\n B = q.g;\n o2 = $wnd.Math.max(o2, B);\n l = q.f;\n n = $wnd.Math.max(n, l);\n t += B * l;\n }\n p = (!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a).i;\n g = t + 2 * d * d * m * p;\n f2 = $wnd.Math.sqrt(g);\n i3 = $wnd.Math.max(f2 * c2, o2);\n h = $wnd.Math.max(f2 / c2, n);\n for (r = new Fyd((!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a)); r.e != r.i.gc(); ) {\n q = BD(Dyd(r), 33);\n C = e.b + (Cub(b, 26) * ike + Cub(b, 27) * jke) * (i3 - q.g);\n D = e.b + (Cub(b, 26) * ike + Cub(b, 27) * jke) * (h - q.f);\n dld(q, C);\n eld(q, D);\n }\n A = i3 + (e.b + e.c);\n w2 = h + (e.d + e.a);\n for (v = new Fyd((!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a)); v.e != v.i.gc(); ) {\n u = BD(Dyd(v), 33);\n for (k = new Sr(ur(_sd(u).a.Kc(), new Sq())); Qr(k); ) {\n j = BD(Rr(k), 79);\n Pld(j) || Kgd(j, b, A, w2);\n }\n }\n A += e.b + e.c;\n w2 += e.d + e.a;\n Afd(a, A, w2, false, true);\n }\n function Jcb(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l;\n if (a == null) {\n throw vbb(new Oeb(Xhe));\n }\n j = a;\n f2 = a.length;\n i3 = false;\n if (f2 > 0) {\n b = (BCb(0, a.length), a.charCodeAt(0));\n if (b == 45 || b == 43) {\n a = a.substr(1);\n --f2;\n i3 = b == 45;\n }\n }\n if (f2 == 0) {\n throw vbb(new Oeb(Oje + j + '\"'));\n }\n while (a.length > 0 && (BCb(0, a.length), a.charCodeAt(0) == 48)) {\n a = a.substr(1);\n --f2;\n }\n if (f2 > (Neb(), Leb)[10]) {\n throw vbb(new Oeb(Oje + j + '\"'));\n }\n for (e = 0; e < f2; e++) {\n if (Zcb((BCb(e, a.length), a.charCodeAt(e))) == -1) {\n throw vbb(new Oeb(Oje + j + '\"'));\n }\n }\n l = 0;\n g = Jeb[10];\n k = Keb[10];\n h = Jbb(Meb[10]);\n c2 = true;\n d = f2 % g;\n if (d > 0) {\n l = -parseInt(a.substr(0, d), 10);\n a = a.substr(d);\n f2 -= d;\n c2 = false;\n }\n while (f2 >= g) {\n d = parseInt(a.substr(0, g), 10);\n a = a.substr(g);\n f2 -= g;\n if (c2) {\n c2 = false;\n } else {\n if (ybb(l, h) < 0) {\n throw vbb(new Oeb(Oje + j + '\"'));\n }\n l = Ibb(l, k);\n }\n l = Qbb(l, d);\n }\n if (ybb(l, 0) > 0) {\n throw vbb(new Oeb(Oje + j + '\"'));\n }\n if (!i3) {\n l = Jbb(l);\n if (ybb(l, 0) < 0) {\n throw vbb(new Oeb(Oje + j + '\"'));\n }\n }\n return l;\n }\n function Z6d(a, b) {\n X6d();\n var c2, d, e, f2, g, h, i3;\n this.a = new a7d(this);\n this.b = a;\n this.c = b;\n this.f = c2d(q1d((O6d(), M6d), b));\n if (this.f.dc()) {\n if ((h = t1d(M6d, a)) == b) {\n this.e = true;\n this.d = new Rkb();\n this.f = new oFd();\n this.f.Fc(Ewe);\n BD(V1d(p1d(M6d, bKd(a)), \"\"), 26) == a && this.f.Fc(u1d(M6d, bKd(a)));\n for (e = g1d(M6d, a).Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 170);\n switch ($1d(q1d(M6d, d))) {\n case 4: {\n this.d.Fc(d);\n break;\n }\n case 5: {\n this.f.Gc(c2d(q1d(M6d, d)));\n break;\n }\n }\n }\n } else {\n Q6d();\n if (BD(b, 66).Oj()) {\n this.e = true;\n this.f = null;\n this.d = new Rkb();\n for (g = 0, i3 = (a.i == null && TKd(a), a.i).length; g < i3; ++g) {\n d = (c2 = (a.i == null && TKd(a), a.i), g >= 0 && g < c2.length ? c2[g] : null);\n for (f2 = _1d(q1d(M6d, d)); f2; f2 = _1d(q1d(M6d, f2))) {\n f2 == b && this.d.Fc(d);\n }\n }\n } else if ($1d(q1d(M6d, b)) == 1 && !!h) {\n this.f = null;\n this.d = (m8d(), l8d);\n } else {\n this.f = null;\n this.e = true;\n this.d = (mmb(), new anb(b));\n }\n }\n } else {\n this.e = $1d(q1d(M6d, b)) == 5;\n this.f.Fb(W6d) && (this.f = W6d);\n }\n }\n function zKb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2;\n c2 = 0;\n d = yKb(a, b);\n m = a.s;\n n = a.t;\n for (j = BD(BD(Qc(a.r, b), 21), 84).Kc(); j.Ob(); ) {\n i3 = BD(j.Pb(), 111);\n if (!i3.c || i3.c.d.c.length <= 0) {\n continue;\n }\n o2 = i3.b.rf();\n h = i3.b.Xe((Y9c(), s9c)) ? Edb(ED(i3.b.We(s9c))) : 0;\n k = i3.c;\n l = k.i;\n l.b = (g = k.n, k.e.a + g.b + g.c);\n l.a = (f2 = k.n, k.e.b + f2.d + f2.a);\n switch (b.g) {\n case 1:\n l.c = i3.a ? (o2.a - l.b) / 2 : o2.a + m;\n l.d = o2.b + h + d;\n $Hb(k, (NHb(), KHb));\n _Hb(k, (EIb(), DIb));\n break;\n case 3:\n l.c = i3.a ? (o2.a - l.b) / 2 : o2.a + m;\n l.d = -h - d - l.a;\n $Hb(k, (NHb(), KHb));\n _Hb(k, (EIb(), BIb));\n break;\n case 2:\n l.c = -h - d - l.b;\n if (i3.a) {\n e = a.v ? l.a : BD(Ikb(k.d, 0), 181).rf().b;\n l.d = (o2.b - e) / 2;\n } else {\n l.d = o2.b + n;\n }\n $Hb(k, (NHb(), MHb));\n _Hb(k, (EIb(), CIb));\n break;\n case 4:\n l.c = o2.a + h + d;\n if (i3.a) {\n e = a.v ? l.a : BD(Ikb(k.d, 0), 181).rf().b;\n l.d = (o2.b - e) / 2;\n } else {\n l.d = o2.b + n;\n }\n $Hb(k, (NHb(), LHb));\n _Hb(k, (EIb(), CIb));\n }\n (b == (Ucd(), Acd) || b == Rcd) && (c2 = $wnd.Math.max(c2, l.a));\n }\n c2 > 0 && (BD(Mpb(a.b, b), 124).a.b = c2);\n }\n function b3b(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r;\n Odd(b, \"Comment pre-processing\", 1);\n c2 = 0;\n i3 = new olb(a.a);\n while (i3.a < i3.c.c.length) {\n h = BD(mlb(i3), 10);\n if (Ccb(DD(vNb(h, (Nyc(), pwc))))) {\n ++c2;\n e = 0;\n d = null;\n j = null;\n for (o2 = new olb(h.j); o2.a < o2.c.c.length; ) {\n m = BD(mlb(o2), 11);\n e += m.e.c.length + m.g.c.length;\n if (m.e.c.length == 1) {\n d = BD(Ikb(m.e, 0), 17);\n j = d.c;\n }\n if (m.g.c.length == 1) {\n d = BD(Ikb(m.g, 0), 17);\n j = d.d;\n }\n }\n if (e == 1 && j.e.c.length + j.g.c.length == 1 && !Ccb(DD(vNb(j.i, pwc)))) {\n c3b(h, d, j, j.i);\n nlb(i3);\n } else {\n r = new Rkb();\n for (n = new olb(h.j); n.a < n.c.c.length; ) {\n m = BD(mlb(n), 11);\n for (l = new olb(m.g); l.a < l.c.c.length; ) {\n k = BD(mlb(l), 17);\n k.d.g.c.length == 0 || (r.c[r.c.length] = k, true);\n }\n for (g = new olb(m.e); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 17);\n f2.c.e.c.length == 0 || (r.c[r.c.length] = f2, true);\n }\n }\n for (q = new olb(r); q.a < q.c.c.length; ) {\n p = BD(mlb(q), 17);\n PZb(p, true);\n }\n }\n }\n }\n b.n && Sdd(b, \"Found \" + c2 + \" comment boxes\");\n Qdd(b);\n }\n function f9b(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n, o2, p;\n m = Edb(ED(vNb(a, (Nyc(), tyc))));\n n = Edb(ED(vNb(a, uyc)));\n l = Edb(ED(vNb(a, ryc)));\n h = a.o;\n f2 = BD(Ikb(a.j, 0), 11);\n g = f2.n;\n p = d9b(f2, l);\n if (!p) {\n return;\n }\n if (b.Hc((rcd(), ncd))) {\n switch (BD(vNb(a, (wtc(), Hsc)), 61).g) {\n case 1:\n p.c = (h.a - p.b) / 2 - g.a;\n p.d = n;\n break;\n case 3:\n p.c = (h.a - p.b) / 2 - g.a;\n p.d = -n - p.a;\n break;\n case 2:\n if (c2 && f2.e.c.length == 0 && f2.g.c.length == 0) {\n k = d ? p.a : BD(Ikb(f2.f, 0), 70).o.b;\n p.d = (h.b - k) / 2 - g.b;\n } else {\n p.d = h.b + n - g.b;\n }\n p.c = -m - p.b;\n break;\n case 4:\n if (c2 && f2.e.c.length == 0 && f2.g.c.length == 0) {\n k = d ? p.a : BD(Ikb(f2.f, 0), 70).o.b;\n p.d = (h.b - k) / 2 - g.b;\n } else {\n p.d = h.b + n - g.b;\n }\n p.c = m;\n }\n } else if (b.Hc(pcd)) {\n switch (BD(vNb(a, (wtc(), Hsc)), 61).g) {\n case 1:\n case 3:\n p.c = g.a + m;\n break;\n case 2:\n case 4:\n if (c2 && !f2.c) {\n k = d ? p.a : BD(Ikb(f2.f, 0), 70).o.b;\n p.d = (h.b - k) / 2 - g.b;\n } else {\n p.d = g.b + n;\n }\n }\n }\n e = p.d;\n for (j = new olb(f2.f); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 70);\n o2 = i3.n;\n o2.a = p.c;\n o2.b = e;\n e += i3.o.b + l;\n }\n }\n function eae() {\n rEd(Q9, new Lae());\n rEd(S9, new qbe());\n rEd(T9, new Xbe());\n rEd(U9, new Cce());\n rEd(ZI, new Oce());\n rEd(GC(SD, 1), new Rce());\n rEd(wI, new Uce());\n rEd(xI, new Xce());\n rEd(ZI, new hae());\n rEd(ZI, new kae());\n rEd(ZI, new nae());\n rEd(BI, new qae());\n rEd(ZI, new tae());\n rEd(yK, new wae());\n rEd(yK, new zae());\n rEd(ZI, new Cae());\n rEd(FI, new Fae());\n rEd(ZI, new Iae());\n rEd(ZI, new Oae());\n rEd(ZI, new Rae());\n rEd(ZI, new Uae());\n rEd(ZI, new Xae());\n rEd(GC(SD, 1), new $ae());\n rEd(ZI, new bbe());\n rEd(ZI, new ebe());\n rEd(yK, new hbe());\n rEd(yK, new kbe());\n rEd(ZI, new nbe());\n rEd(JI, new tbe());\n rEd(ZI, new wbe());\n rEd(MI, new zbe());\n rEd(ZI, new Cbe());\n rEd(ZI, new Fbe());\n rEd(ZI, new Ibe());\n rEd(ZI, new Lbe());\n rEd(yK, new Obe());\n rEd(yK, new Rbe());\n rEd(ZI, new Ube());\n rEd(ZI, new $be());\n rEd(ZI, new bce());\n rEd(ZI, new ece());\n rEd(ZI, new hce());\n rEd(ZI, new kce());\n rEd(UI, new nce());\n rEd(ZI, new qce());\n rEd(ZI, new tce());\n rEd(ZI, new wce());\n rEd(UI, new zce());\n rEd(MI, new Fce());\n rEd(ZI, new Ice());\n rEd(JI, new Lce());\n }\n function Bmd(b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u;\n n = c2.length;\n if (n > 0) {\n j = (BCb(0, c2.length), c2.charCodeAt(0));\n if (j != 64) {\n if (j == 37) {\n m = c2.lastIndexOf(\"%\");\n k = false;\n if (m != 0 && (m == n - 1 || (k = (BCb(m + 1, c2.length), c2.charCodeAt(m + 1) == 46)))) {\n h = c2.substr(1, m - 1);\n u = dfb(\"%\", h) ? null : QEd(h);\n e = 0;\n if (k) {\n try {\n e = Icb(c2.substr(m + 2), Rie, Ohe);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 127)) {\n i3 = a;\n throw vbb(new rFd(i3));\n } else\n throw vbb(a);\n }\n }\n for (r = pRd(b.Wg()); r.Ob(); ) {\n p = MRd(r);\n if (JD(p, 510)) {\n f2 = BD(p, 590);\n t = f2.d;\n if ((u == null ? t == null : dfb(u, t)) && e-- == 0) {\n return f2;\n }\n }\n }\n return null;\n }\n }\n l = c2.lastIndexOf(\".\");\n o2 = l == -1 ? c2 : c2.substr(0, l);\n d = 0;\n if (l != -1) {\n try {\n d = Icb(c2.substr(l + 1), Rie, Ohe);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 127)) {\n o2 = c2;\n } else\n throw vbb(a);\n }\n }\n o2 = dfb(\"%\", o2) ? null : QEd(o2);\n for (q = pRd(b.Wg()); q.Ob(); ) {\n p = MRd(q);\n if (JD(p, 191)) {\n g = BD(p, 191);\n s = g.ne();\n if ((o2 == null ? s == null : dfb(o2, s)) && d-- == 0) {\n return g;\n }\n }\n }\n return null;\n }\n }\n return rid(b, c2);\n }\n function f6b(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F;\n w2 = new Rkb();\n for (o2 = new olb(a.b); o2.a < o2.c.c.length; ) {\n n = BD(mlb(o2), 29);\n for (r = new olb(n.a); r.a < r.c.c.length; ) {\n p = BD(mlb(r), 10);\n if (p.k != (j0b(), e0b)) {\n continue;\n }\n if (!wNb(p, (wtc(), Gsc))) {\n continue;\n }\n s = null;\n u = null;\n t = null;\n for (C = new olb(p.j); C.a < C.c.c.length; ) {\n B = BD(mlb(C), 11);\n switch (B.j.g) {\n case 4:\n s = B;\n break;\n case 2:\n u = B;\n break;\n default:\n t = B;\n }\n }\n v = BD(Ikb(t.g, 0), 17);\n k = new t7c(v.a);\n j = new g7c(t.n);\n P6c(j, p.n);\n l = Jsb(k, 0);\n Vsb(l, j);\n A = w7c(v.a);\n m = new g7c(t.n);\n P6c(m, p.n);\n Gsb(A, m, A.c.b, A.c);\n D = BD(vNb(p, Gsc), 10);\n F = BD(Ikb(D.j, 0), 11);\n i3 = BD(Qkb(s.e, KC(AQ, jne, 17, 0, 0, 1)), 474);\n for (d = i3, f2 = 0, h = d.length; f2 < h; ++f2) {\n b = d[f2];\n RZb(b, F);\n o7c(b.a, b.a.b, k);\n }\n i3 = k_b(u.g);\n for (c2 = i3, e = 0, g = c2.length; e < g; ++e) {\n b = c2[e];\n QZb(b, F);\n o7c(b.a, 0, A);\n }\n QZb(v, null);\n RZb(v, null);\n w2.c[w2.c.length] = p;\n }\n }\n for (q = new olb(w2); q.a < q.c.c.length; ) {\n p = BD(mlb(q), 10);\n $_b(p, null);\n }\n }\n function lgb() {\n lgb = ccb;\n var a, b, c2;\n new sgb(1, 0);\n new sgb(10, 0);\n new sgb(0, 0);\n dgb = KC(bJ, nie, 240, 11, 0, 1);\n egb = KC(TD, $ie, 25, 100, 15, 1);\n fgb = OC(GC(UD, 1), Vje, 25, 15, [1, 5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, 48828125, 244140625, 1220703125, 6103515625, 30517578125, 152587890625, 762939453125, 3814697265625, 19073486328125, 95367431640625, 476837158203125, 2384185791015625]);\n ggb = KC(WD, oje, 25, fgb.length, 15, 1);\n hgb = OC(GC(UD, 1), Vje, 25, 15, [1, 10, 100, _ie, 1e4, Wje, 1e6, 1e7, 1e8, Jje, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16]);\n igb = KC(WD, oje, 25, hgb.length, 15, 1);\n jgb = KC(bJ, nie, 240, 11, 0, 1);\n a = 0;\n for (; a < jgb.length; a++) {\n dgb[a] = new sgb(a, 0);\n jgb[a] = new sgb(0, a);\n egb[a] = 48;\n }\n for (; a < egb.length; a++) {\n egb[a] = 48;\n }\n for (c2 = 0; c2 < ggb.length; c2++) {\n ggb[c2] = ugb(fgb[c2]);\n }\n for (b = 0; b < igb.length; b++) {\n igb[b] = ugb(hgb[b]);\n }\n Dhb();\n }\n function zrb() {\n function e() {\n this.obj = this.createObject();\n }\n e.prototype.createObject = function(a) {\n return /* @__PURE__ */ Object.create(null);\n };\n e.prototype.get = function(a) {\n return this.obj[a];\n };\n e.prototype.set = function(a, b) {\n this.obj[a] = b;\n };\n e.prototype[hke] = function(a) {\n delete this.obj[a];\n };\n e.prototype.keys = function() {\n return Object.getOwnPropertyNames(this.obj);\n };\n e.prototype.entries = function() {\n var b = this.keys();\n var c2 = this;\n var d = 0;\n return { next: function() {\n if (d >= b.length)\n return { done: true };\n var a = b[d++];\n return { value: [a, c2.get(a)], done: false };\n } };\n };\n if (!xrb()) {\n e.prototype.createObject = function() {\n return {};\n };\n e.prototype.get = function(a) {\n return this.obj[\":\" + a];\n };\n e.prototype.set = function(a, b) {\n this.obj[\":\" + a] = b;\n };\n e.prototype[hke] = function(a) {\n delete this.obj[\":\" + a];\n };\n e.prototype.keys = function() {\n var a = [];\n for (var b in this.obj) {\n b.charCodeAt(0) == 58 && a.push(b.substring(1));\n }\n return a;\n };\n }\n return e;\n }\n function cde(a) {\n ade();\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q;\n if (a == null)\n return null;\n l = a.length * 8;\n if (l == 0) {\n return \"\";\n }\n h = l % 24;\n n = l / 24 | 0;\n m = h != 0 ? n + 1 : n;\n f2 = null;\n f2 = KC(TD, $ie, 25, m * 4, 15, 1);\n j = 0;\n k = 0;\n b = 0;\n c2 = 0;\n d = 0;\n g = 0;\n e = 0;\n for (i3 = 0; i3 < n; i3++) {\n b = a[e++];\n c2 = a[e++];\n d = a[e++];\n k = (c2 & 15) << 24 >> 24;\n j = (b & 3) << 24 >> 24;\n o2 = (b & -128) == 0 ? b >> 2 << 24 >> 24 : (b >> 2 ^ 192) << 24 >> 24;\n p = (c2 & -128) == 0 ? c2 >> 4 << 24 >> 24 : (c2 >> 4 ^ 240) << 24 >> 24;\n q = (d & -128) == 0 ? d >> 6 << 24 >> 24 : (d >> 6 ^ 252) << 24 >> 24;\n f2[g++] = _ce[o2];\n f2[g++] = _ce[p | j << 4];\n f2[g++] = _ce[k << 2 | q];\n f2[g++] = _ce[d & 63];\n }\n if (h == 8) {\n b = a[e];\n j = (b & 3) << 24 >> 24;\n o2 = (b & -128) == 0 ? b >> 2 << 24 >> 24 : (b >> 2 ^ 192) << 24 >> 24;\n f2[g++] = _ce[o2];\n f2[g++] = _ce[j << 4];\n f2[g++] = 61;\n f2[g++] = 61;\n } else if (h == 16) {\n b = a[e];\n c2 = a[e + 1];\n k = (c2 & 15) << 24 >> 24;\n j = (b & 3) << 24 >> 24;\n o2 = (b & -128) == 0 ? b >> 2 << 24 >> 24 : (b >> 2 ^ 192) << 24 >> 24;\n p = (c2 & -128) == 0 ? c2 >> 4 << 24 >> 24 : (c2 >> 4 ^ 240) << 24 >> 24;\n f2[g++] = _ce[o2];\n f2[g++] = _ce[p | j << 4];\n f2[g++] = _ce[k << 2];\n f2[g++] = 61;\n }\n return zfb(f2, 0, f2.length);\n }\n function mB(a, b) {\n var c2, d, e, f2, g, h, i3;\n a.e == 0 && a.p > 0 && (a.p = -(a.p - 1));\n a.p > Rie && dB(b, a.p - nje);\n g = b.q.getDate();\n ZA(b, 1);\n a.k >= 0 && aB(b, a.k);\n if (a.c >= 0) {\n ZA(b, a.c);\n } else if (a.k >= 0) {\n i3 = new fB(b.q.getFullYear() - nje, b.q.getMonth(), 35);\n d = 35 - i3.q.getDate();\n ZA(b, $wnd.Math.min(d, g));\n } else {\n ZA(b, g);\n }\n a.f < 0 && (a.f = b.q.getHours());\n a.b > 0 && a.f < 12 && (a.f += 12);\n $A(b, a.f == 24 && a.g ? 0 : a.f);\n a.j >= 0 && _A(b, a.j);\n a.n >= 0 && bB(b, a.n);\n a.i >= 0 && cB(b, wbb(Ibb(Abb(Cbb(b.q.getTime()), _ie), _ie), a.i));\n if (a.a) {\n e = new eB();\n dB(e, e.q.getFullYear() - nje - 80);\n Gbb(Cbb(b.q.getTime()), Cbb(e.q.getTime())) && dB(b, e.q.getFullYear() - nje + 100);\n }\n if (a.d >= 0) {\n if (a.c == -1) {\n c2 = (7 + a.d - b.q.getDay()) % 7;\n c2 > 3 && (c2 -= 7);\n h = b.q.getMonth();\n ZA(b, b.q.getDate() + c2);\n b.q.getMonth() != h && ZA(b, b.q.getDate() + (c2 > 0 ? -7 : 7));\n } else {\n if (b.q.getDay() != a.d) {\n return false;\n }\n }\n }\n if (a.o > Rie) {\n f2 = b.q.getTimezoneOffset();\n cB(b, wbb(Cbb(b.q.getTime()), (a.o - f2) * 60 * _ie));\n }\n return true;\n }\n function z2b(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u;\n e = vNb(b, (wtc(), $sc));\n if (!JD(e, 239)) {\n return;\n }\n o2 = BD(e, 33);\n p = b.e;\n m = new g7c(b.c);\n f2 = b.d;\n m.a += f2.b;\n m.b += f2.d;\n u = BD(hkd(o2, (Nyc(), Ixc)), 174);\n if (uqb(u, (Idd(), Add))) {\n n = BD(hkd(o2, Kxc), 116);\n w_b(n, f2.a);\n z_b(n, f2.d);\n x_b(n, f2.b);\n y_b(n, f2.c);\n }\n c2 = new Rkb();\n for (k = new olb(b.a); k.a < k.c.c.length; ) {\n i3 = BD(mlb(k), 10);\n if (JD(vNb(i3, $sc), 239)) {\n A2b(i3, m);\n } else if (JD(vNb(i3, $sc), 186) && !p) {\n d = BD(vNb(i3, $sc), 118);\n s = b_b(b, i3, d.g, d.f);\n bld(d, s.a, s.b);\n }\n for (r = new olb(i3.j); r.a < r.c.c.length; ) {\n q = BD(mlb(r), 11);\n MAb(JAb(new YAb(null, new Kub(q.g, 16)), new G2b(i3)), new I2b(c2));\n }\n }\n if (p) {\n for (r = new olb(p.j); r.a < r.c.c.length; ) {\n q = BD(mlb(r), 11);\n MAb(JAb(new YAb(null, new Kub(q.g, 16)), new K2b(p)), new M2b(c2));\n }\n }\n t = BD(hkd(o2, Swc), 218);\n for (h = new olb(c2); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 17);\n y2b(g, t, m);\n }\n B2b(b);\n for (j = new olb(b.a); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 10);\n l = i3.e;\n !!l && z2b(a, l);\n }\n }\n function xSb(a) {\n r4c(a, new E3c(Q3c(L3c(P3c(M3c(O3c(N3c(new R3c(), ume), \"ELK Force\"), \"Force-based algorithm provided by the Eclipse Layout Kernel. Implements methods that follow physical analogies by simulating forces that move the nodes into a balanced distribution. Currently the original Eades model and the Fruchterman - Reingold model are supported.\"), new ASb()), ume), qqb((Csd(), zsd), OC(GC(O3, 1), Kie, 237, 0, [xsd])))));\n p4c(a, ume, vme, meb(1));\n p4c(a, ume, wme, 80);\n p4c(a, ume, xme, 5);\n p4c(a, ume, _le, tme);\n p4c(a, ume, yme, meb(1));\n p4c(a, ume, zme, (Bcb(), true));\n p4c(a, ume, ame, lSb);\n p4c(a, ume, Ame, Ksd(dSb));\n p4c(a, ume, Bme, Ksd(mSb));\n p4c(a, ume, Cme, false);\n p4c(a, ume, Dme, Ksd(jSb));\n p4c(a, ume, Eme, Ksd(iSb));\n p4c(a, ume, Fme, Ksd(hSb));\n p4c(a, ume, Gme, Ksd(gSb));\n p4c(a, ume, Hme, Ksd(nSb));\n p4c(a, ume, mme, Ksd(fSb));\n p4c(a, ume, pme, Ksd(vSb));\n p4c(a, ume, nme, Ksd(eSb));\n p4c(a, ume, rme, Ksd(qSb));\n p4c(a, ume, ome, Ksd(rSb));\n }\n function GKb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n;\n if (BD(BD(Qc(a.r, b), 21), 84).dc()) {\n return;\n }\n g = BD(Mpb(a.b, b), 124);\n i3 = g.i;\n h = g.n;\n k = KIb(a, b);\n d = i3.b - h.b - h.c;\n e = g.a.a;\n f2 = i3.c + h.b;\n n = a.w;\n if ((k == (Tbd(), Qbd) || k == Sbd) && BD(BD(Qc(a.r, b), 21), 84).gc() == 1) {\n e = k == Qbd ? e - 2 * a.w : e;\n k = Pbd;\n }\n if (d < e && !a.B.Hc((Idd(), Fdd))) {\n if (k == Qbd) {\n n += (d - e) / (BD(BD(Qc(a.r, b), 21), 84).gc() + 1);\n f2 += n;\n } else {\n n += (d - e) / (BD(BD(Qc(a.r, b), 21), 84).gc() - 1);\n }\n } else {\n if (d < e) {\n e = k == Qbd ? e - 2 * a.w : e;\n k = Pbd;\n }\n switch (k.g) {\n case 3:\n f2 += (d - e) / 2;\n break;\n case 4:\n f2 += d - e;\n break;\n case 0:\n c2 = (d - e) / (BD(BD(Qc(a.r, b), 21), 84).gc() + 1);\n n += $wnd.Math.max(0, c2);\n f2 += n;\n break;\n case 1:\n c2 = (d - e) / (BD(BD(Qc(a.r, b), 21), 84).gc() - 1);\n n += $wnd.Math.max(0, c2);\n }\n }\n for (m = BD(BD(Qc(a.r, b), 21), 84).Kc(); m.Ob(); ) {\n l = BD(m.Pb(), 111);\n l.e.a = f2 + l.d.b;\n l.e.b = (j = l.b, j.Xe((Y9c(), s9c)) ? j.Hf() == (Ucd(), Acd) ? -j.rf().b - Edb(ED(j.We(s9c))) : Edb(ED(j.We(s9c))) : j.Hf() == (Ucd(), Acd) ? -j.rf().b : 0);\n f2 += l.d.b + l.b.rf().a + l.d.c + n;\n }\n }\n function KKb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2;\n if (BD(BD(Qc(a.r, b), 21), 84).dc()) {\n return;\n }\n g = BD(Mpb(a.b, b), 124);\n i3 = g.i;\n h = g.n;\n l = KIb(a, b);\n d = i3.a - h.d - h.a;\n e = g.a.b;\n f2 = i3.d + h.d;\n o2 = a.w;\n j = a.o.a;\n if ((l == (Tbd(), Qbd) || l == Sbd) && BD(BD(Qc(a.r, b), 21), 84).gc() == 1) {\n e = l == Qbd ? e - 2 * a.w : e;\n l = Pbd;\n }\n if (d < e && !a.B.Hc((Idd(), Fdd))) {\n if (l == Qbd) {\n o2 += (d - e) / (BD(BD(Qc(a.r, b), 21), 84).gc() + 1);\n f2 += o2;\n } else {\n o2 += (d - e) / (BD(BD(Qc(a.r, b), 21), 84).gc() - 1);\n }\n } else {\n if (d < e) {\n e = l == Qbd ? e - 2 * a.w : e;\n l = Pbd;\n }\n switch (l.g) {\n case 3:\n f2 += (d - e) / 2;\n break;\n case 4:\n f2 += d - e;\n break;\n case 0:\n c2 = (d - e) / (BD(BD(Qc(a.r, b), 21), 84).gc() + 1);\n o2 += $wnd.Math.max(0, c2);\n f2 += o2;\n break;\n case 1:\n c2 = (d - e) / (BD(BD(Qc(a.r, b), 21), 84).gc() - 1);\n o2 += $wnd.Math.max(0, c2);\n }\n }\n for (n = BD(BD(Qc(a.r, b), 21), 84).Kc(); n.Ob(); ) {\n m = BD(n.Pb(), 111);\n m.e.a = (k = m.b, k.Xe((Y9c(), s9c)) ? k.Hf() == (Ucd(), Tcd) ? -k.rf().a - Edb(ED(k.We(s9c))) : j + Edb(ED(k.We(s9c))) : k.Hf() == (Ucd(), Tcd) ? -k.rf().a : j);\n m.e.b = f2 + m.d.d;\n f2 += m.d.d + m.b.rf().b + m.d.a + o2;\n }\n }\n function Abc(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p;\n a.n = Edb(ED(vNb(a.g, (Nyc(), vyc))));\n a.e = Edb(ED(vNb(a.g, pyc)));\n a.i = a.g.b.c.length;\n h = a.i - 1;\n m = 0;\n a.j = 0;\n a.k = 0;\n a.a = Ou(KC(JI, nie, 19, a.i, 0, 1));\n a.b = Ou(KC(BI, nie, 333, a.i, 7, 1));\n for (g = new olb(a.g.b); g.a < g.c.c.length; ) {\n e = BD(mlb(g), 29);\n e.p = h;\n for (l = new olb(e.a); l.a < l.c.c.length; ) {\n k = BD(mlb(l), 10);\n k.p = m;\n ++m;\n }\n --h;\n }\n a.f = KC(WD, oje, 25, m, 15, 1);\n a.c = IC(WD, [nie, oje], [48, 25], 15, [m, 3], 2);\n a.o = new Rkb();\n a.p = new Rkb();\n b = 0;\n a.d = 0;\n for (f2 = new olb(a.g.b); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 29);\n h = e.p;\n d = 0;\n p = 0;\n i3 = e.a.c.length;\n j = 0;\n for (l = new olb(e.a); l.a < l.c.c.length; ) {\n k = BD(mlb(l), 10);\n m = k.p;\n a.f[m] = k.c.p;\n j += k.o.b + a.n;\n c2 = sr(new Sr(ur(R_b(k).a.Kc(), new Sq())));\n o2 = sr(new Sr(ur(U_b(k).a.Kc(), new Sq())));\n a.c[m][0] = o2 - c2;\n a.c[m][1] = c2;\n a.c[m][2] = o2;\n d += c2;\n p += o2;\n c2 > 0 && Ekb(a.p, k);\n Ekb(a.o, k);\n }\n b -= d;\n n = i3 + b;\n j += b * a.e;\n Nkb(a.a, h, meb(n));\n Nkb(a.b, h, j);\n a.j = $wnd.Math.max(a.j, n);\n a.k = $wnd.Math.max(a.k, j);\n a.d += b;\n b += p;\n }\n }\n function Ucd() {\n Ucd = ccb;\n var a;\n Scd = new Ycd(ole, 0);\n Acd = new Ycd(xle, 1);\n zcd = new Ycd(yle, 2);\n Rcd = new Ycd(zle, 3);\n Tcd = new Ycd(Ale, 4);\n Fcd = (mmb(), new zob((a = BD(gdb(F1), 9), new xqb(a, BD(_Bb(a, a.length), 9), 0))));\n Gcd = Up(qqb(Acd, OC(GC(F1, 1), bne, 61, 0, [])));\n Bcd = Up(qqb(zcd, OC(GC(F1, 1), bne, 61, 0, [])));\n Ocd = Up(qqb(Rcd, OC(GC(F1, 1), bne, 61, 0, [])));\n Qcd = Up(qqb(Tcd, OC(GC(F1, 1), bne, 61, 0, [])));\n Lcd = Up(qqb(Acd, OC(GC(F1, 1), bne, 61, 0, [Rcd])));\n Ecd = Up(qqb(zcd, OC(GC(F1, 1), bne, 61, 0, [Tcd])));\n Ncd = Up(qqb(Acd, OC(GC(F1, 1), bne, 61, 0, [Tcd])));\n Hcd = Up(qqb(Acd, OC(GC(F1, 1), bne, 61, 0, [zcd])));\n Pcd = Up(qqb(Rcd, OC(GC(F1, 1), bne, 61, 0, [Tcd])));\n Ccd = Up(qqb(zcd, OC(GC(F1, 1), bne, 61, 0, [Rcd])));\n Kcd = Up(qqb(Acd, OC(GC(F1, 1), bne, 61, 0, [zcd, Tcd])));\n Dcd = Up(qqb(zcd, OC(GC(F1, 1), bne, 61, 0, [Rcd, Tcd])));\n Mcd = Up(qqb(Acd, OC(GC(F1, 1), bne, 61, 0, [Rcd, Tcd])));\n Icd = Up(qqb(Acd, OC(GC(F1, 1), bne, 61, 0, [zcd, Rcd])));\n Jcd = Up(qqb(Acd, OC(GC(F1, 1), bne, 61, 0, [zcd, Rcd, Tcd])));\n }\n function fSc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t;\n if (b.b != 0) {\n n = new Psb();\n h = null;\n o2 = null;\n d = QD($wnd.Math.floor($wnd.Math.log(b.b) * $wnd.Math.LOG10E) + 1);\n i3 = 0;\n for (t = Jsb(b, 0); t.b != t.d.c; ) {\n r = BD(Xsb(t), 86);\n if (PD(o2) !== PD(vNb(r, (mTc(), $Sc)))) {\n o2 = GD(vNb(r, $Sc));\n i3 = 0;\n }\n o2 != null ? h = o2 + iSc(i3++, d) : h = iSc(i3++, d);\n yNb(r, $Sc, h);\n for (q = (e = Jsb(new ZRc(r).a.d, 0), new aSc(e)); Wsb(q.a); ) {\n p = BD(Xsb(q.a), 188).c;\n Gsb(n, p, n.c.b, n.c);\n yNb(p, $Sc, h);\n }\n }\n m = new Lqb();\n for (g = 0; g < h.length - d; g++) {\n for (s = Jsb(b, 0); s.b != s.d.c; ) {\n r = BD(Xsb(s), 86);\n j = qfb(GD(vNb(r, (mTc(), $Sc))), 0, g + 1);\n c2 = (j == null ? Wd(irb(m.f, null)) : Crb(m.g, j)) != null ? BD(j == null ? Wd(irb(m.f, null)) : Crb(m.g, j), 19).a + 1 : 1;\n Shb(m, j, meb(c2));\n }\n }\n for (l = new nib(new eib(m).a); l.b; ) {\n k = lib(l);\n f2 = meb(Ohb(a.a, k.cd()) != null ? BD(Ohb(a.a, k.cd()), 19).a : 0);\n Shb(a.a, GD(k.cd()), meb(BD(k.dd(), 19).a + f2.a));\n f2 = BD(Ohb(a.b, k.cd()), 19);\n (!f2 || f2.a < BD(k.dd(), 19).a) && Shb(a.b, GD(k.cd()), BD(k.dd(), 19));\n }\n fSc(a, n);\n }\n }\n function PCc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r;\n Odd(c2, \"Interactive node layering\", 1);\n d = new Rkb();\n for (n = new olb(b.a); n.a < n.c.c.length; ) {\n l = BD(mlb(n), 10);\n j = l.n.a;\n i3 = j + l.o.a;\n i3 = $wnd.Math.max(j + 1, i3);\n r = new Bib(d, 0);\n e = null;\n while (r.b < r.d.gc()) {\n p = (sCb(r.b < r.d.gc()), BD(r.d.Xb(r.c = r.b++), 569));\n if (p.c >= i3) {\n sCb(r.b > 0);\n r.a.Xb(r.c = --r.b);\n break;\n } else if (p.a > j) {\n if (!e) {\n Ekb(p.b, l);\n p.c = $wnd.Math.min(p.c, j);\n p.a = $wnd.Math.max(p.a, i3);\n e = p;\n } else {\n Gkb(e.b, p.b);\n e.a = $wnd.Math.max(e.a, p.a);\n uib(r);\n }\n }\n }\n if (!e) {\n e = new TCc();\n e.c = j;\n e.a = i3;\n Aib(r, e);\n Ekb(e.b, l);\n }\n }\n h = b.b;\n k = 0;\n for (q = new olb(d); q.a < q.c.c.length; ) {\n p = BD(mlb(q), 569);\n f2 = new H1b(b);\n f2.p = k++;\n h.c[h.c.length] = f2;\n for (o2 = new olb(p.b); o2.a < o2.c.c.length; ) {\n l = BD(mlb(o2), 10);\n $_b(l, f2);\n l.p = 0;\n }\n }\n for (m = new olb(b.a); m.a < m.c.c.length; ) {\n l = BD(mlb(m), 10);\n l.p == 0 && OCc(a, l, b);\n }\n g = new Bib(h, 0);\n while (g.b < g.d.gc()) {\n (sCb(g.b < g.d.gc()), BD(g.d.Xb(g.c = g.b++), 29)).a.c.length == 0 && uib(g);\n }\n b.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n Qdd(c2);\n }\n function Snc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m;\n if (b.e.c.length != 0 && c2.e.c.length != 0) {\n d = BD(Ikb(b.e, 0), 17).c.i;\n g = BD(Ikb(c2.e, 0), 17).c.i;\n if (d == g) {\n return beb(BD(vNb(BD(Ikb(b.e, 0), 17), (wtc(), Zsc)), 19).a, BD(vNb(BD(Ikb(c2.e, 0), 17), Zsc), 19).a);\n }\n for (k = a.a, l = 0, m = k.length; l < m; ++l) {\n j = k[l];\n if (j == d) {\n return 1;\n } else if (j == g) {\n return -1;\n }\n }\n }\n if (b.g.c.length != 0 && c2.g.c.length != 0) {\n f2 = BD(vNb(b, (wtc(), Xsc)), 10);\n i3 = BD(vNb(c2, Xsc), 10);\n e = 0;\n h = 0;\n wNb(BD(Ikb(b.g, 0), 17), Zsc) && (e = BD(vNb(BD(Ikb(b.g, 0), 17), Zsc), 19).a);\n wNb(BD(Ikb(c2.g, 0), 17), Zsc) && (h = BD(vNb(BD(Ikb(b.g, 0), 17), Zsc), 19).a);\n if (!!f2 && f2 == i3) {\n if (Ccb(DD(vNb(BD(Ikb(b.g, 0), 17), ltc))) && !Ccb(DD(vNb(BD(Ikb(c2.g, 0), 17), ltc)))) {\n return 1;\n } else if (!Ccb(DD(vNb(BD(Ikb(b.g, 0), 17), ltc))) && Ccb(DD(vNb(BD(Ikb(c2.g, 0), 17), ltc)))) {\n return -1;\n }\n return e < h ? -1 : e > h ? 1 : 0;\n }\n if (a.b) {\n a.b._b(f2) && (e = BD(a.b.xc(f2), 19).a);\n a.b._b(i3) && (h = BD(a.b.xc(i3), 19).a);\n }\n return e < h ? -1 : e > h ? 1 : 0;\n }\n return b.e.c.length != 0 && c2.g.c.length != 0 ? 1 : -1;\n }\n function acc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A;\n Odd(b, Ine, 1);\n p = new Rkb();\n w2 = new Rkb();\n for (j = new olb(a.b); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 29);\n r = -1;\n o2 = l_b(i3.a);\n for (l = o2, m = 0, n = l.length; m < n; ++m) {\n k = l[m];\n ++r;\n if (!(k.k == (j0b(), h0b) && fcd(BD(vNb(k, (Nyc(), Vxc)), 98)))) {\n continue;\n }\n ecd(BD(vNb(k, (Nyc(), Vxc)), 98)) || bcc(k);\n yNb(k, (wtc(), Psc), k);\n p.c = KC(SI, Uhe, 1, 0, 5, 1);\n w2.c = KC(SI, Uhe, 1, 0, 5, 1);\n c2 = new Rkb();\n u = new Psb();\n Jq(u, Y_b(k, (Ucd(), Acd)));\n $bc(a, u, p, w2, c2);\n h = r;\n A = k;\n for (f2 = new olb(p); f2.a < f2.c.c.length; ) {\n d = BD(mlb(f2), 10);\n Z_b(d, h, i3);\n ++r;\n yNb(d, Psc, k);\n g = BD(Ikb(d.j, 0), 11);\n q = BD(vNb(g, $sc), 11);\n Ccb(DD(vNb(q, nwc))) || BD(vNb(d, Qsc), 15).Fc(A);\n }\n Osb(u);\n for (t = Y_b(k, Rcd).Kc(); t.Ob(); ) {\n s = BD(t.Pb(), 11);\n Gsb(u, s, u.a, u.a.a);\n }\n $bc(a, u, w2, null, c2);\n v = k;\n for (e = new olb(w2); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 10);\n Z_b(d, ++r, i3);\n yNb(d, Psc, k);\n g = BD(Ikb(d.j, 0), 11);\n q = BD(vNb(g, $sc), 11);\n Ccb(DD(vNb(q, nwc))) || BD(vNb(v, Qsc), 15).Fc(d);\n }\n c2.c.length == 0 || yNb(k, ssc, c2);\n }\n }\n Qdd(b);\n }\n function SQb(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F, G, H, I;\n l = BD(vNb(a, (HSb(), FSb)), 33);\n r = Ohe;\n s = Ohe;\n p = Rie;\n q = Rie;\n for (u = new olb(a.e); u.a < u.c.c.length; ) {\n t = BD(mlb(u), 144);\n C = t.d;\n D = t.e;\n r = $wnd.Math.min(r, C.a - D.a / 2);\n s = $wnd.Math.min(s, C.b - D.b / 2);\n p = $wnd.Math.max(p, C.a + D.a / 2);\n q = $wnd.Math.max(q, C.b + D.b / 2);\n }\n B = BD(hkd(l, (wSb(), kSb)), 116);\n A = new f7c(B.b - r, B.d - s);\n for (h = new olb(a.e); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 144);\n w2 = vNb(g, FSb);\n if (JD(w2, 239)) {\n n = BD(w2, 33);\n v = P6c(g.d, A);\n bld(n, v.a - n.g / 2, v.b - n.f / 2);\n }\n }\n for (d = new olb(a.c); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 282);\n j = BD(vNb(c2, FSb), 79);\n k = itd(j, true, true);\n F = (H = c7c(R6c(c2.d.d), c2.c.d), l6c(H, c2.c.e.a, c2.c.e.b), P6c(H, c2.c.d));\n nmd(k, F.a, F.b);\n b = (I = c7c(R6c(c2.c.d), c2.d.d), l6c(I, c2.d.e.a, c2.d.e.b), P6c(I, c2.d.d));\n gmd(k, b.a, b.b);\n }\n for (f2 = new olb(a.d); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 447);\n m = BD(vNb(e, FSb), 137);\n o2 = P6c(e.d, A);\n bld(m, o2.a, o2.b);\n }\n G = p - r + (B.b + B.c);\n i3 = q - s + (B.d + B.a);\n Afd(l, G, i3, false, true);\n }\n function bmc(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m;\n c2 = null;\n i3 = null;\n e = BD(vNb(a.b, (Nyc(), Wwc)), 376);\n if (e == (_Ac(), ZAc)) {\n c2 = new Rkb();\n i3 = new Rkb();\n }\n for (h = new olb(a.d); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 101);\n f2 = g.i;\n if (!f2) {\n continue;\n }\n switch (g.e.g) {\n case 0:\n b = BD(Fqb(new Gqb(g.b)), 61);\n e == ZAc && b == (Ucd(), Acd) ? (c2.c[c2.c.length] = g, true) : e == ZAc && b == (Ucd(), Rcd) ? (i3.c[i3.c.length] = g, true) : _lc(g, b);\n break;\n case 1:\n j = g.a.d.j;\n k = g.c.d.j;\n j == (Ucd(), Acd) ? amc(g, Acd, (Ajc(), xjc), g.a) : k == Acd ? amc(g, Acd, (Ajc(), yjc), g.c) : j == Rcd ? amc(g, Rcd, (Ajc(), yjc), g.a) : k == Rcd && amc(g, Rcd, (Ajc(), xjc), g.c);\n break;\n case 2:\n case 3:\n d = g.b;\n uqb(d, (Ucd(), Acd)) ? uqb(d, Rcd) ? uqb(d, Tcd) ? uqb(d, zcd) || amc(g, Acd, (Ajc(), yjc), g.c) : amc(g, Acd, (Ajc(), xjc), g.a) : amc(g, Acd, (Ajc(), wjc), null) : amc(g, Rcd, (Ajc(), wjc), null);\n break;\n case 4:\n l = g.a.d.j;\n m = g.a.d.j;\n l == (Ucd(), Acd) || m == Acd ? amc(g, Rcd, (Ajc(), wjc), null) : amc(g, Acd, (Ajc(), wjc), null);\n }\n }\n if (c2) {\n c2.c.length == 0 || $lc(c2, (Ucd(), Acd));\n i3.c.length == 0 || $lc(i3, (Ucd(), Rcd));\n }\n }\n function A2b(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p;\n d = BD(vNb(a, (wtc(), $sc)), 33);\n o2 = BD(vNb(a, (Nyc(), Gwc)), 19).a;\n f2 = BD(vNb(a, nxc), 19).a;\n jkd(d, Gwc, meb(o2));\n jkd(d, nxc, meb(f2));\n dld(d, a.n.a + b.a);\n eld(d, a.n.b + b.b);\n if (BD(hkd(d, Fxc), 174).gc() != 0 || !!a.e || PD(vNb(Q_b(a), Exc)) === PD((Vzc(), Tzc)) && Jzc((Izc(), (!a.q ? (mmb(), mmb(), kmb) : a.q)._b(Cxc) ? m = BD(vNb(a, Cxc), 197) : m = BD(vNb(Q_b(a), Dxc), 197), m))) {\n cld(d, a.o.a);\n ald(d, a.o.b);\n }\n for (l = new olb(a.j); l.a < l.c.c.length; ) {\n j = BD(mlb(l), 11);\n p = vNb(j, $sc);\n if (JD(p, 186)) {\n e = BD(p, 118);\n bld(e, j.n.a, j.n.b);\n jkd(e, $xc, j.j);\n }\n }\n n = BD(vNb(a, xxc), 174).gc() != 0;\n for (i3 = new olb(a.b); i3.a < i3.c.c.length; ) {\n g = BD(mlb(i3), 70);\n if (n || BD(vNb(g, xxc), 174).gc() != 0) {\n c2 = BD(vNb(g, $sc), 137);\n _kd(c2, g.o.a, g.o.b);\n bld(c2, g.n.a, g.n.b);\n }\n }\n if (!tcd(BD(vNb(a, Yxc), 21))) {\n for (k = new olb(a.j); k.a < k.c.c.length; ) {\n j = BD(mlb(k), 11);\n for (h = new olb(j.f); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 70);\n c2 = BD(vNb(g, $sc), 137);\n cld(c2, g.o.a);\n ald(c2, g.o.b);\n bld(c2, g.n.a, g.n.b);\n }\n }\n }\n }\n function gtd(a) {\n var b, c2, d, e, f2;\n ytb(a, hue2);\n switch ((!a.b && (a.b = new y5d(z2, a, 4, 7)), a.b).i + (!a.c && (a.c = new y5d(z2, a, 5, 8)), a.c).i) {\n case 0:\n throw vbb(new Wdb(\"The edge must have at least one source or target.\"));\n case 1:\n return (!a.b && (a.b = new y5d(z2, a, 4, 7)), a.b).i == 0 ? Xod(atd(BD(qud((!a.c && (a.c = new y5d(z2, a, 5, 8)), a.c), 0), 82))) : Xod(atd(BD(qud((!a.b && (a.b = new y5d(z2, a, 4, 7)), a.b), 0), 82)));\n }\n if ((!a.b && (a.b = new y5d(z2, a, 4, 7)), a.b).i == 1 && (!a.c && (a.c = new y5d(z2, a, 5, 8)), a.c).i == 1) {\n e = atd(BD(qud((!a.b && (a.b = new y5d(z2, a, 4, 7)), a.b), 0), 82));\n f2 = atd(BD(qud((!a.c && (a.c = new y5d(z2, a, 5, 8)), a.c), 0), 82));\n if (Xod(e) == Xod(f2)) {\n return Xod(e);\n } else if (e == Xod(f2)) {\n return e;\n } else if (f2 == Xod(e)) {\n return f2;\n }\n }\n d = ul(pl(OC(GC(KI, 1), Uhe, 20, 0, [(!a.b && (a.b = new y5d(z2, a, 4, 7)), a.b), (!a.c && (a.c = new y5d(z2, a, 5, 8)), a.c)])));\n b = atd(BD(Rr(d), 82));\n while (Qr(d)) {\n c2 = atd(BD(Rr(d), 82));\n if (c2 != b && !ntd(c2, b)) {\n if (Xod(c2) == Xod(b)) {\n b = Xod(c2);\n } else {\n b = htd(b, c2);\n if (!b) {\n return null;\n }\n }\n }\n }\n return b;\n }\n function KNc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u;\n Odd(c2, \"Polyline edge routing\", 1);\n q = Edb(ED(vNb(b, (Nyc(), Uwc))));\n n = Edb(ED(vNb(b, wyc)));\n e = Edb(ED(vNb(b, myc)));\n d = $wnd.Math.min(1, e / n);\n t = 0;\n i3 = 0;\n if (b.b.c.length != 0) {\n u = HNc(BD(Ikb(b.b, 0), 29));\n t = 0.4 * d * u;\n }\n h = new Bib(b.b, 0);\n while (h.b < h.d.gc()) {\n g = (sCb(h.b < h.d.gc()), BD(h.d.Xb(h.c = h.b++), 29));\n f2 = Kq(g, DNc);\n f2 && t > 0 && (t -= n);\n h_b(g, t);\n k = 0;\n for (m = new olb(g.a); m.a < m.c.c.length; ) {\n l = BD(mlb(m), 10);\n j = 0;\n for (p = new Sr(ur(U_b(l).a.Kc(), new Sq())); Qr(p); ) {\n o2 = BD(Rr(p), 17);\n r = A0b(o2.c).b;\n s = A0b(o2.d).b;\n if (g == o2.d.i.c && !OZb(o2)) {\n LNc(o2, t, 0.4 * d * $wnd.Math.abs(r - s));\n if (o2.c.j == (Ucd(), Tcd)) {\n r = 0;\n s = 0;\n }\n }\n j = $wnd.Math.max(j, $wnd.Math.abs(s - r));\n }\n switch (l.k.g) {\n case 0:\n case 4:\n case 1:\n case 3:\n case 5:\n MNc(a, l, t, q);\n }\n k = $wnd.Math.max(k, j);\n }\n if (h.b < h.d.gc()) {\n u = HNc((sCb(h.b < h.d.gc()), BD(h.d.Xb(h.c = h.b++), 29)));\n k = $wnd.Math.max(k, u);\n sCb(h.b > 0);\n h.a.Xb(h.c = --h.b);\n }\n i3 = 0.4 * d * k;\n !f2 && h.b < h.d.gc() && (i3 += n);\n t += g.c.a + i3;\n }\n a.a.a.$b();\n b.f.a = t;\n Qdd(c2);\n }\n function bic(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s;\n k = new Lqb();\n i3 = new Hp();\n for (d = new olb(a.a.a.b); d.a < d.c.c.length; ) {\n b = BD(mlb(d), 57);\n j = tgc(b);\n if (j) {\n jrb(k.f, j, b);\n } else {\n s = ugc(b);\n if (s) {\n for (f2 = new olb(s.k); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 17);\n Rc(i3, e, b);\n }\n }\n }\n }\n for (c2 = new olb(a.a.a.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 57);\n j = tgc(b);\n if (j) {\n for (h = new Sr(ur(U_b(j).a.Kc(), new Sq())); Qr(h); ) {\n g = BD(Rr(h), 17);\n if (OZb(g)) {\n continue;\n }\n o2 = g.c;\n r = g.d;\n if ((Ucd(), Lcd).Hc(g.c.j) && Lcd.Hc(g.d.j)) {\n continue;\n }\n p = BD(Ohb(k, g.d.i), 57);\n AFb(DFb(CFb(EFb(BFb(new FFb(), 0), 100), a.c[b.a.d]), a.c[p.a.d]));\n if (o2.j == Tcd && l1b((z0b(), o2))) {\n for (m = BD(Qc(i3, g), 21).Kc(); m.Ob(); ) {\n l = BD(m.Pb(), 57);\n if (l.d.c < b.d.c) {\n n = a.c[l.a.d];\n q = a.c[b.a.d];\n if (n == q) {\n continue;\n }\n AFb(DFb(CFb(EFb(BFb(new FFb(), 1), 100), n), q));\n }\n }\n }\n if (r.j == zcd && g1b((z0b(), r))) {\n for (m = BD(Qc(i3, g), 21).Kc(); m.Ob(); ) {\n l = BD(m.Pb(), 57);\n if (l.d.c > b.d.c) {\n n = a.c[b.a.d];\n q = a.c[l.a.d];\n if (n == q) {\n continue;\n }\n AFb(DFb(CFb(EFb(BFb(new FFb(), 1), 100), n), q));\n }\n }\n }\n }\n }\n }\n }\n function QEd(a) {\n IEd();\n var b, c2, d, e, f2, g, h, i3;\n if (a == null)\n return null;\n e = hfb(a, wfb(37));\n if (e < 0) {\n return a;\n } else {\n i3 = new Wfb(a.substr(0, e));\n b = KC(SD, wte, 25, 4, 15, 1);\n h = 0;\n d = 0;\n for (g = a.length; e < g; e++) {\n BCb(e, a.length);\n if (a.charCodeAt(e) == 37 && a.length > e + 2 && _Ed((BCb(e + 1, a.length), a.charCodeAt(e + 1)), xEd, yEd) && _Ed((BCb(e + 2, a.length), a.charCodeAt(e + 2)), xEd, yEd)) {\n c2 = dFd((BCb(e + 1, a.length), a.charCodeAt(e + 1)), (BCb(e + 2, a.length), a.charCodeAt(e + 2)));\n e += 2;\n if (d > 0) {\n (c2 & 192) == 128 ? b[h++] = c2 << 24 >> 24 : d = 0;\n } else if (c2 >= 128) {\n if ((c2 & 224) == 192) {\n b[h++] = c2 << 24 >> 24;\n d = 2;\n } else if ((c2 & 240) == 224) {\n b[h++] = c2 << 24 >> 24;\n d = 3;\n } else if ((c2 & 248) == 240) {\n b[h++] = c2 << 24 >> 24;\n d = 4;\n }\n }\n if (d > 0) {\n if (h == d) {\n switch (h) {\n case 2: {\n Kfb(i3, ((b[0] & 31) << 6 | b[1] & 63) & aje);\n break;\n }\n case 3: {\n Kfb(i3, ((b[0] & 15) << 12 | (b[1] & 63) << 6 | b[2] & 63) & aje);\n break;\n }\n }\n h = 0;\n d = 0;\n }\n } else {\n for (f2 = 0; f2 < h; ++f2) {\n Kfb(i3, b[f2] & aje);\n }\n h = 0;\n i3.a += String.fromCharCode(c2);\n }\n } else {\n for (f2 = 0; f2 < h; ++f2) {\n Kfb(i3, b[f2] & aje);\n }\n h = 0;\n Kfb(i3, (BCb(e, a.length), a.charCodeAt(e)));\n }\n }\n return i3.a;\n }\n }\n function wA(a, b, c2, d, e) {\n var f2, g, h;\n uA(a, b);\n g = b[0];\n f2 = bfb(c2.c, 0);\n h = -1;\n if (nA(c2)) {\n if (d > 0) {\n if (g + d > a.length) {\n return false;\n }\n h = rA(a.substr(0, g + d), b);\n } else {\n h = rA(a, b);\n }\n }\n switch (f2) {\n case 71:\n h = oA(a, g, OC(GC(ZI, 1), nie, 2, 6, [pje, qje]), b);\n e.e = h;\n return true;\n case 77:\n return zA(a, b, e, h, g);\n case 76:\n return BA(a, b, e, h, g);\n case 69:\n return xA(a, b, g, e);\n case 99:\n return AA(a, b, g, e);\n case 97:\n h = oA(a, g, OC(GC(ZI, 1), nie, 2, 6, [\"AM\", \"PM\"]), b);\n e.b = h;\n return true;\n case 121:\n return DA(a, b, g, h, c2, e);\n case 100:\n if (h <= 0) {\n return false;\n }\n e.c = h;\n return true;\n case 83:\n if (h < 0) {\n return false;\n }\n return yA(h, g, b[0], e);\n case 104:\n h == 12 && (h = 0);\n case 75:\n case 72:\n if (h < 0) {\n return false;\n }\n e.f = h;\n e.g = false;\n return true;\n case 107:\n if (h < 0) {\n return false;\n }\n e.f = h;\n e.g = true;\n return true;\n case 109:\n if (h < 0) {\n return false;\n }\n e.j = h;\n return true;\n case 115:\n if (h < 0) {\n return false;\n }\n e.n = h;\n return true;\n case 90:\n if (g < a.length && (BCb(g, a.length), a.charCodeAt(g) == 90)) {\n ++b[0];\n e.o = 0;\n return true;\n }\n case 122:\n case 118:\n return CA(a, g, b, e);\n default:\n return false;\n }\n }\n function vKb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2;\n m = BD(BD(Qc(a.r, b), 21), 84);\n if (b == (Ucd(), zcd) || b == Tcd) {\n zKb(a, b);\n return;\n }\n f2 = b == Acd ? (vLb(), rLb) : (vLb(), uLb);\n u = b == Acd ? (EIb(), DIb) : (EIb(), BIb);\n c2 = BD(Mpb(a.b, b), 124);\n d = c2.i;\n e = d.c + w6c(OC(GC(UD, 1), Vje, 25, 15, [c2.n.b, a.C.b, a.k]));\n r = d.c + d.b - w6c(OC(GC(UD, 1), Vje, 25, 15, [c2.n.c, a.C.c, a.k]));\n g = dLb(iLb(f2), a.t);\n s = b == Acd ? Qje : Pje;\n for (l = m.Kc(); l.Ob(); ) {\n j = BD(l.Pb(), 111);\n if (!j.c || j.c.d.c.length <= 0) {\n continue;\n }\n q = j.b.rf();\n p = j.e;\n n = j.c;\n o2 = n.i;\n o2.b = (i3 = n.n, n.e.a + i3.b + i3.c);\n o2.a = (h = n.n, n.e.b + h.d + h.a);\n ytb(u, lle);\n n.f = u;\n $Hb(n, (NHb(), MHb));\n o2.c = p.a - (o2.b - q.a) / 2;\n v = $wnd.Math.min(e, p.a);\n w2 = $wnd.Math.max(r, p.a + q.a);\n o2.c < v ? o2.c = v : o2.c + o2.b > w2 && (o2.c = w2 - o2.b);\n Ekb(g.d, new BLb(o2, bLb(g, o2)));\n s = b == Acd ? $wnd.Math.max(s, p.b + j.b.rf().b) : $wnd.Math.min(s, p.b);\n }\n s += b == Acd ? a.t : -a.t;\n t = cLb((g.e = s, g));\n t > 0 && (BD(Mpb(a.b, b), 124).a.b = t);\n for (k = m.Kc(); k.Ob(); ) {\n j = BD(k.Pb(), 111);\n if (!j.c || j.c.d.c.length <= 0) {\n continue;\n }\n o2 = j.c.i;\n o2.c -= j.e.a;\n o2.d -= j.e.b;\n }\n }\n function SPb(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n;\n b = new Lqb();\n for (i3 = new Fyd(a); i3.e != i3.i.gc(); ) {\n h = BD(Dyd(i3), 33);\n c2 = new Tqb();\n Rhb(OPb, h, c2);\n n = new aQb();\n e = BD(GAb(new YAb(null, new Lub(new Sr(ur($sd(h).a.Kc(), new Sq())))), Wyb(n, Byb(new fzb(), new dzb(), new Ezb(), OC(GC(xL, 1), Kie, 132, 0, [(Fyb(), Dyb)])))), 83);\n RPb(c2, BD(e.xc((Bcb(), true)), 14), new cQb());\n d = BD(GAb(JAb(BD(e.xc(false), 15).Lc(), new eQb()), Byb(new fzb(), new dzb(), new Ezb(), OC(GC(xL, 1), Kie, 132, 0, [Dyb]))), 15);\n for (g = d.Kc(); g.Ob(); ) {\n f2 = BD(g.Pb(), 79);\n m = ktd(f2);\n if (m) {\n j = BD(Wd(irb(b.f, m)), 21);\n if (!j) {\n j = UPb(m);\n jrb(b.f, m, j);\n }\n ye(c2, j);\n }\n }\n e = BD(GAb(new YAb(null, new Lub(new Sr(ur(_sd(h).a.Kc(), new Sq())))), Wyb(n, Byb(new fzb(), new dzb(), new Ezb(), OC(GC(xL, 1), Kie, 132, 0, [Dyb])))), 83);\n RPb(c2, BD(e.xc(true), 14), new gQb());\n d = BD(GAb(JAb(BD(e.xc(false), 15).Lc(), new iQb()), Byb(new fzb(), new dzb(), new Ezb(), OC(GC(xL, 1), Kie, 132, 0, [Dyb]))), 15);\n for (l = d.Kc(); l.Ob(); ) {\n k = BD(l.Pb(), 79);\n m = mtd(k);\n if (m) {\n j = BD(Wd(irb(b.f, m)), 21);\n if (!j) {\n j = UPb(m);\n jrb(b.f, m, j);\n }\n ye(c2, j);\n }\n }\n }\n }\n function rhb(a, b) {\n phb();\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p;\n i3 = ybb(a, 0) < 0;\n i3 && (a = Jbb(a));\n if (ybb(a, 0) == 0) {\n switch (b) {\n case 0:\n return \"0\";\n case 1:\n return $je;\n case 2:\n return \"0.00\";\n case 3:\n return \"0.000\";\n case 4:\n return \"0.0000\";\n case 5:\n return \"0.00000\";\n case 6:\n return \"0.000000\";\n default:\n n = new Ufb();\n b < 0 ? (n.a += \"0E+\", n) : (n.a += \"0E\", n);\n n.a += b == Rie ? \"2147483648\" : \"\" + -b;\n return n.a;\n }\n }\n k = 18;\n l = KC(TD, $ie, 25, k + 1, 15, 1);\n c2 = k;\n p = a;\n do {\n j = p;\n p = Abb(p, 10);\n l[--c2] = Tbb(wbb(48, Qbb(j, Ibb(p, 10)))) & aje;\n } while (ybb(p, 0) != 0);\n e = Qbb(Qbb(Qbb(k, c2), b), 1);\n if (b == 0) {\n i3 && (l[--c2] = 45);\n return zfb(l, c2, k - c2);\n }\n if (b > 0 && ybb(e, -6) >= 0) {\n if (ybb(e, 0) >= 0) {\n f2 = c2 + Tbb(e);\n for (h = k - 1; h >= f2; h--) {\n l[h + 1] = l[h];\n }\n l[++f2] = 46;\n i3 && (l[--c2] = 45);\n return zfb(l, c2, k - c2 + 1);\n }\n for (g = 2; Gbb(g, wbb(Jbb(e), 1)); g++) {\n l[--c2] = 48;\n }\n l[--c2] = 46;\n l[--c2] = 48;\n i3 && (l[--c2] = 45);\n return zfb(l, c2, k - c2);\n }\n o2 = c2 + 1;\n d = k;\n m = new Vfb();\n i3 && (m.a += \"-\", m);\n if (d - o2 >= 1) {\n Kfb(m, l[c2]);\n m.a += \".\";\n m.a += zfb(l, c2 + 1, k - c2 - 1);\n } else {\n m.a += zfb(l, c2, k - c2);\n }\n m.a += \"E\";\n ybb(e, 0) > 0 && (m.a += \"+\", m);\n m.a += \"\" + Ubb(e);\n return m.a;\n }\n function iQc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n;\n a.e.a.$b();\n a.f.a.$b();\n a.c.c = KC(SI, Uhe, 1, 0, 5, 1);\n a.i.c = KC(SI, Uhe, 1, 0, 5, 1);\n a.g.a.$b();\n if (b) {\n for (g = new olb(b.a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 10);\n for (l = Y_b(f2, (Ucd(), zcd)).Kc(); l.Ob(); ) {\n k = BD(l.Pb(), 11);\n Qqb(a.e, k);\n for (e = new olb(k.g); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 17);\n if (OZb(d)) {\n continue;\n }\n Ekb(a.c, d);\n oQc(a, d);\n h = d.c.i.k;\n (h == (j0b(), h0b) || h == i0b || h == e0b || h == d0b) && Ekb(a.j, d);\n n = d.d;\n m = n.i.c;\n m == c2 ? Qqb(a.f, n) : m == b ? Qqb(a.e, n) : Lkb(a.c, d);\n }\n }\n }\n }\n if (c2) {\n for (g = new olb(c2.a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 10);\n for (j = new olb(f2.j); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 11);\n for (e = new olb(i3.g); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 17);\n OZb(d) && Qqb(a.g, d);\n }\n }\n for (l = Y_b(f2, (Ucd(), Tcd)).Kc(); l.Ob(); ) {\n k = BD(l.Pb(), 11);\n Qqb(a.f, k);\n for (e = new olb(k.g); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 17);\n if (OZb(d)) {\n continue;\n }\n Ekb(a.c, d);\n oQc(a, d);\n h = d.c.i.k;\n (h == (j0b(), h0b) || h == i0b || h == e0b || h == d0b) && Ekb(a.j, d);\n n = d.d;\n m = n.i.c;\n m == c2 ? Qqb(a.f, n) : m == b ? Qqb(a.e, n) : Lkb(a.c, d);\n }\n }\n }\n }\n }\n function Afd(a, b, c2, d, e) {\n var f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2;\n q = new f7c(a.g, a.f);\n p = rfd(a);\n p.a = $wnd.Math.max(p.a, b);\n p.b = $wnd.Math.max(p.b, c2);\n w2 = p.a / q.a;\n k = p.b / q.b;\n u = p.a - q.a;\n i3 = p.b - q.b;\n if (d) {\n g = !Xod(a) ? BD(hkd(a, (Y9c(), z8c)), 103) : BD(hkd(Xod(a), (Y9c(), z8c)), 103);\n h = PD(hkd(a, (Y9c(), t9c))) === PD((dcd(), $bd));\n for (s = new Fyd((!a.c && (a.c = new cUd(F2, a, 9, 9)), a.c)); s.e != s.i.gc(); ) {\n r = BD(Dyd(s), 118);\n t = BD(hkd(r, A9c), 61);\n if (t == (Ucd(), Scd)) {\n t = lfd(r, g);\n jkd(r, A9c, t);\n }\n switch (t.g) {\n case 1:\n h || dld(r, r.i * w2);\n break;\n case 2:\n dld(r, r.i + u);\n h || eld(r, r.j * k);\n break;\n case 3:\n h || dld(r, r.i * w2);\n eld(r, r.j + i3);\n break;\n case 4:\n h || eld(r, r.j * k);\n }\n }\n }\n _kd(a, p.a, p.b);\n if (e) {\n for (m = new Fyd((!a.n && (a.n = new cUd(D2, a, 1, 7)), a.n)); m.e != m.i.gc(); ) {\n l = BD(Dyd(m), 137);\n n = l.i + l.g / 2;\n o2 = l.j + l.f / 2;\n v = n / q.a;\n j = o2 / q.b;\n if (v + j >= 1) {\n if (v - j > 0 && o2 >= 0) {\n dld(l, l.i + u);\n eld(l, l.j + i3 * j);\n } else if (v - j < 0 && n >= 0) {\n dld(l, l.i + u * v);\n eld(l, l.j + i3);\n }\n }\n }\n }\n jkd(a, (Y9c(), Y8c), (tdd(), f2 = BD(gdb(I1), 9), new xqb(f2, BD(_Bb(f2, f2.length), 9), 0)));\n return new f7c(w2, k);\n }\n function Yfd(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2;\n n = Xod(atd(BD(qud((!a.b && (a.b = new y5d(z2, a, 4, 7)), a.b), 0), 82)));\n o2 = Xod(atd(BD(qud((!a.c && (a.c = new y5d(z2, a, 5, 8)), a.c), 0), 82)));\n l = n == o2;\n h = new d7c();\n b = BD(hkd(a, (Zad(), Sad)), 74);\n if (!!b && b.b >= 2) {\n if ((!a.a && (a.a = new cUd(A2, a, 6, 6)), a.a).i == 0) {\n c2 = (Fhd(), e = new rmd(), e);\n wtd((!a.a && (a.a = new cUd(A2, a, 6, 6)), a.a), c2);\n } else if ((!a.a && (a.a = new cUd(A2, a, 6, 6)), a.a).i > 1) {\n m = new Oyd((!a.a && (a.a = new cUd(A2, a, 6, 6)), a.a));\n while (m.e != m.i.gc()) {\n Eyd(m);\n }\n }\n ifd(b, BD(qud((!a.a && (a.a = new cUd(A2, a, 6, 6)), a.a), 0), 202));\n }\n if (l) {\n for (d = new Fyd((!a.a && (a.a = new cUd(A2, a, 6, 6)), a.a)); d.e != d.i.gc(); ) {\n c2 = BD(Dyd(d), 202);\n for (j = new Fyd((!c2.a && (c2.a = new xMd(y2, c2, 5)), c2.a)); j.e != j.i.gc(); ) {\n i3 = BD(Dyd(j), 469);\n h.a = $wnd.Math.max(h.a, i3.a);\n h.b = $wnd.Math.max(h.b, i3.b);\n }\n }\n }\n for (g = new Fyd((!a.n && (a.n = new cUd(D2, a, 1, 7)), a.n)); g.e != g.i.gc(); ) {\n f2 = BD(Dyd(g), 137);\n k = BD(hkd(f2, Yad), 8);\n !!k && bld(f2, k.a, k.b);\n if (l) {\n h.a = $wnd.Math.max(h.a, f2.i + f2.g);\n h.b = $wnd.Math.max(h.b, f2.j + f2.f);\n }\n }\n return h;\n }\n function yMc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B;\n t = b.c.length;\n e = new ULc(a.a, c2, null, null);\n B = KC(UD, Vje, 25, t, 15, 1);\n p = KC(UD, Vje, 25, t, 15, 1);\n o2 = KC(UD, Vje, 25, t, 15, 1);\n q = 0;\n for (h = 0; h < t; h++) {\n p[h] = Ohe;\n o2[h] = Rie;\n }\n for (i3 = 0; i3 < t; i3++) {\n d = (tCb(i3, b.c.length), BD(b.c[i3], 180));\n B[i3] = SLc(d);\n B[q] > B[i3] && (q = i3);\n for (l = new olb(a.a.b); l.a < l.c.c.length; ) {\n k = BD(mlb(l), 29);\n for (s = new olb(k.a); s.a < s.c.c.length; ) {\n r = BD(mlb(s), 10);\n w2 = Edb(d.p[r.p]) + Edb(d.d[r.p]);\n p[i3] = $wnd.Math.min(p[i3], w2);\n o2[i3] = $wnd.Math.max(o2[i3], w2 + r.o.b);\n }\n }\n }\n A = KC(UD, Vje, 25, t, 15, 1);\n for (j = 0; j < t; j++) {\n (tCb(j, b.c.length), BD(b.c[j], 180)).o == (eMc(), cMc) ? A[j] = p[q] - p[j] : A[j] = o2[q] - o2[j];\n }\n f2 = KC(UD, Vje, 25, t, 15, 1);\n for (n = new olb(a.a.b); n.a < n.c.c.length; ) {\n m = BD(mlb(n), 29);\n for (v = new olb(m.a); v.a < v.c.c.length; ) {\n u = BD(mlb(v), 10);\n for (g = 0; g < t; g++) {\n f2[g] = Edb((tCb(g, b.c.length), BD(b.c[g], 180)).p[u.p]) + Edb((tCb(g, b.c.length), BD(b.c[g], 180)).d[u.p]) + A[g];\n }\n f2.sort(dcb(Ylb.prototype.te, Ylb, []));\n e.p[u.p] = (f2[1] + f2[2]) / 2;\n e.d[u.p] = 0;\n }\n }\n return e;\n }\n function G3b(a, b, c2) {\n var d, e, f2, g, h;\n d = b.i;\n f2 = a.i.o;\n e = a.i.d;\n h = a.n;\n g = l7c(OC(GC(m1, 1), nie, 8, 0, [h, a.a]));\n switch (a.j.g) {\n case 1:\n _Hb(b, (EIb(), BIb));\n d.d = -e.d - c2 - d.a;\n if (BD(BD(Ikb(b.d, 0), 181).We((wtc(), Ssc)), 285) == (rbd(), nbd)) {\n $Hb(b, (NHb(), MHb));\n d.c = g.a - Edb(ED(vNb(a, Ysc))) - c2 - d.b;\n } else {\n $Hb(b, (NHb(), LHb));\n d.c = g.a + Edb(ED(vNb(a, Ysc))) + c2;\n }\n break;\n case 2:\n $Hb(b, (NHb(), LHb));\n d.c = f2.a + e.c + c2;\n if (BD(BD(Ikb(b.d, 0), 181).We((wtc(), Ssc)), 285) == (rbd(), nbd)) {\n _Hb(b, (EIb(), BIb));\n d.d = g.b - Edb(ED(vNb(a, Ysc))) - c2 - d.a;\n } else {\n _Hb(b, (EIb(), DIb));\n d.d = g.b + Edb(ED(vNb(a, Ysc))) + c2;\n }\n break;\n case 3:\n _Hb(b, (EIb(), DIb));\n d.d = f2.b + e.a + c2;\n if (BD(BD(Ikb(b.d, 0), 181).We((wtc(), Ssc)), 285) == (rbd(), nbd)) {\n $Hb(b, (NHb(), MHb));\n d.c = g.a - Edb(ED(vNb(a, Ysc))) - c2 - d.b;\n } else {\n $Hb(b, (NHb(), LHb));\n d.c = g.a + Edb(ED(vNb(a, Ysc))) + c2;\n }\n break;\n case 4:\n $Hb(b, (NHb(), MHb));\n d.c = -e.b - c2 - d.b;\n if (BD(BD(Ikb(b.d, 0), 181).We((wtc(), Ssc)), 285) == (rbd(), nbd)) {\n _Hb(b, (EIb(), BIb));\n d.d = g.b - Edb(ED(vNb(a, Ysc))) - c2 - d.a;\n } else {\n _Hb(b, (EIb(), DIb));\n d.d = g.b + Edb(ED(vNb(a, Ysc))) + c2;\n }\n }\n }\n function ded(a, b, c2, d, e, f2, g) {\n var h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F, G, H, I;\n n = 0;\n D = 0;\n for (i3 = new olb(a); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 33);\n zfd(h);\n n = $wnd.Math.max(n, h.g);\n D += h.g * h.f;\n }\n o2 = D / a.c.length;\n C = $dd(a, o2);\n D += a.c.length * C;\n n = $wnd.Math.max(n, $wnd.Math.sqrt(D * g)) + c2.b;\n H = c2.b;\n I = c2.d;\n m = 0;\n k = c2.b + c2.c;\n B = new Psb();\n Dsb(B, meb(0));\n w2 = new Psb();\n j = new Bib(a, 0);\n while (j.b < j.d.gc()) {\n h = (sCb(j.b < j.d.gc()), BD(j.d.Xb(j.c = j.b++), 33));\n G = h.g;\n l = h.f;\n if (H + G > n) {\n if (f2) {\n Fsb(w2, m);\n Fsb(B, meb(j.b - 1));\n }\n H = c2.b;\n I += m + b;\n m = 0;\n k = $wnd.Math.max(k, c2.b + c2.c + G);\n }\n dld(h, H);\n eld(h, I);\n k = $wnd.Math.max(k, H + G + c2.c);\n m = $wnd.Math.max(m, l);\n H += G + b;\n }\n k = $wnd.Math.max(k, d);\n F = I + m + c2.a;\n if (F < e) {\n m += e - F;\n F = e;\n }\n if (f2) {\n H = c2.b;\n j = new Bib(a, 0);\n Fsb(B, meb(a.c.length));\n A = Jsb(B, 0);\n r = BD(Xsb(A), 19).a;\n Fsb(w2, m);\n v = Jsb(w2, 0);\n u = 0;\n while (j.b < j.d.gc()) {\n if (j.b == r) {\n H = c2.b;\n u = Edb(ED(Xsb(v)));\n r = BD(Xsb(A), 19).a;\n }\n h = (sCb(j.b < j.d.gc()), BD(j.d.Xb(j.c = j.b++), 33));\n s = h.f;\n ald(h, u);\n p = u;\n if (j.b == r) {\n q = k - H - c2.c;\n t = h.g;\n cld(h, q);\n Ffd(h, new f7c(q, p), new f7c(t, s));\n }\n H += h.g + b;\n }\n }\n return new f7c(k, F);\n }\n function _Yb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C;\n Odd(b, \"Compound graph postprocessor\", 1);\n c2 = Ccb(DD(vNb(a, (Nyc(), Byc))));\n h = BD(vNb(a, (wtc(), zsc)), 224);\n k = new Tqb();\n for (r = h.ec().Kc(); r.Ob(); ) {\n q = BD(r.Pb(), 17);\n g = new Tkb(h.cc(q));\n mmb();\n Okb(g, new EZb(a));\n v = zZb((tCb(0, g.c.length), BD(g.c[0], 243)));\n A = AZb(BD(Ikb(g, g.c.length - 1), 243));\n t = v.i;\n f_b(A.i, t) ? s = t.e : s = Q_b(t);\n l = aZb(q, g);\n Osb(q.a);\n m = null;\n for (f2 = new olb(g); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 243);\n p = new d7c();\n Y$b(p, e.a, s);\n n = e.b;\n d = new s7c();\n o7c(d, 0, n.a);\n q7c(d, p);\n u = new g7c(A0b(n.c));\n w2 = new g7c(A0b(n.d));\n P6c(u, p);\n P6c(w2, p);\n if (m) {\n d.b == 0 ? o2 = w2 : o2 = (sCb(d.b != 0), BD(d.a.a.c, 8));\n B = $wnd.Math.abs(m.a - o2.a) > qme;\n C = $wnd.Math.abs(m.b - o2.b) > qme;\n (!c2 && B && C || c2 && (B || C)) && Dsb(q.a, u);\n }\n ye(q.a, d);\n d.b == 0 ? m = u : m = (sCb(d.b != 0), BD(d.c.b.c, 8));\n bZb(n, l, p);\n if (AZb(e) == A) {\n if (Q_b(A.i) != e.a) {\n p = new d7c();\n Y$b(p, Q_b(A.i), s);\n }\n yNb(q, utc, p);\n }\n cZb(n, q, s);\n k.a.zc(n, k);\n }\n QZb(q, v);\n RZb(q, A);\n }\n for (j = k.a.ec().Kc(); j.Ob(); ) {\n i3 = BD(j.Pb(), 17);\n QZb(i3, null);\n RZb(i3, null);\n }\n Qdd(b);\n }\n function KQb(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u;\n if (a.gc() == 1) {\n return BD(a.Xb(0), 231);\n } else if (a.gc() <= 0) {\n return new kRb();\n }\n for (e = a.Kc(); e.Ob(); ) {\n c2 = BD(e.Pb(), 231);\n o2 = 0;\n k = Ohe;\n l = Ohe;\n i3 = Rie;\n j = Rie;\n for (n = new olb(c2.e); n.a < n.c.c.length; ) {\n m = BD(mlb(n), 144);\n o2 += BD(vNb(m, (wSb(), oSb)), 19).a;\n k = $wnd.Math.min(k, m.d.a - m.e.a / 2);\n l = $wnd.Math.min(l, m.d.b - m.e.b / 2);\n i3 = $wnd.Math.max(i3, m.d.a + m.e.a / 2);\n j = $wnd.Math.max(j, m.d.b + m.e.b / 2);\n }\n yNb(c2, (wSb(), oSb), meb(o2));\n yNb(c2, (HSb(), ESb), new f7c(k, l));\n yNb(c2, DSb, new f7c(i3, j));\n }\n mmb();\n a.ad(new OQb());\n p = new kRb();\n tNb(p, BD(a.Xb(0), 94));\n h = 0;\n s = 0;\n for (f2 = a.Kc(); f2.Ob(); ) {\n c2 = BD(f2.Pb(), 231);\n q = c7c(R6c(BD(vNb(c2, (HSb(), DSb)), 8)), BD(vNb(c2, ESb), 8));\n h = $wnd.Math.max(h, q.a);\n s += q.a * q.b;\n }\n h = $wnd.Math.max(h, $wnd.Math.sqrt(s) * Edb(ED(vNb(p, (wSb(), bSb)))));\n r = Edb(ED(vNb(p, uSb)));\n t = 0;\n u = 0;\n g = 0;\n b = r;\n for (d = a.Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 231);\n q = c7c(R6c(BD(vNb(c2, (HSb(), DSb)), 8)), BD(vNb(c2, ESb), 8));\n if (t + q.a > h) {\n t = 0;\n u += g + r;\n g = 0;\n }\n JQb(p, c2, t, u);\n b = $wnd.Math.max(b, t + q.a);\n g = $wnd.Math.max(g, q.b);\n t += q.a + r;\n }\n return p;\n }\n function Ioc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2;\n k = new s7c();\n switch (a.a.g) {\n case 3:\n m = BD(vNb(b.e, (wtc(), rtc)), 15);\n n = BD(vNb(b.j, rtc), 15);\n o2 = BD(vNb(b.f, rtc), 15);\n c2 = BD(vNb(b.e, ptc), 15);\n d = BD(vNb(b.j, ptc), 15);\n e = BD(vNb(b.f, ptc), 15);\n g = new Rkb();\n Gkb(g, m);\n n.Jc(new Loc());\n Gkb(g, JD(n, 152) ? km(BD(n, 152)) : JD(n, 131) ? BD(n, 131).a : JD(n, 54) ? new ov(n) : new dv(n));\n Gkb(g, o2);\n f2 = new Rkb();\n Gkb(f2, c2);\n Gkb(f2, JD(d, 152) ? km(BD(d, 152)) : JD(d, 131) ? BD(d, 131).a : JD(d, 54) ? new ov(d) : new dv(d));\n Gkb(f2, e);\n yNb(b.f, rtc, g);\n yNb(b.f, ptc, f2);\n yNb(b.f, stc, b.f);\n yNb(b.e, rtc, null);\n yNb(b.e, ptc, null);\n yNb(b.j, rtc, null);\n yNb(b.j, ptc, null);\n break;\n case 1:\n ye(k, b.e.a);\n Dsb(k, b.i.n);\n ye(k, Su(b.j.a));\n Dsb(k, b.a.n);\n ye(k, b.f.a);\n break;\n default:\n ye(k, b.e.a);\n ye(k, Su(b.j.a));\n ye(k, b.f.a);\n }\n Osb(b.f.a);\n ye(b.f.a, k);\n QZb(b.f, b.e.c);\n h = BD(vNb(b.e, (Nyc(), jxc)), 74);\n j = BD(vNb(b.j, jxc), 74);\n i3 = BD(vNb(b.f, jxc), 74);\n if (!!h || !!j || !!i3) {\n l = new s7c();\n Goc(l, i3);\n Goc(l, j);\n Goc(l, h);\n yNb(b.f, jxc, l);\n }\n QZb(b.j, null);\n RZb(b.j, null);\n QZb(b.e, null);\n RZb(b.e, null);\n $_b(b.a, null);\n $_b(b.i, null);\n !!b.g && Ioc(a, b.g);\n }\n function bde(a) {\n ade();\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q;\n if (a == null)\n return null;\n f2 = rfb(a);\n o2 = ede(f2);\n if (o2 % 4 != 0) {\n return null;\n }\n p = o2 / 4 | 0;\n if (p == 0)\n return KC(SD, wte, 25, 0, 15, 1);\n l = null;\n b = 0;\n c2 = 0;\n d = 0;\n e = 0;\n g = 0;\n h = 0;\n i3 = 0;\n j = 0;\n n = 0;\n m = 0;\n k = 0;\n l = KC(SD, wte, 25, p * 3, 15, 1);\n for (; n < p - 1; n++) {\n if (!dde(g = f2[k++]) || !dde(h = f2[k++]) || !dde(i3 = f2[k++]) || !dde(j = f2[k++]))\n return null;\n b = $ce[g];\n c2 = $ce[h];\n d = $ce[i3];\n e = $ce[j];\n l[m++] = (b << 2 | c2 >> 4) << 24 >> 24;\n l[m++] = ((c2 & 15) << 4 | d >> 2 & 15) << 24 >> 24;\n l[m++] = (d << 6 | e) << 24 >> 24;\n }\n if (!dde(g = f2[k++]) || !dde(h = f2[k++])) {\n return null;\n }\n b = $ce[g];\n c2 = $ce[h];\n i3 = f2[k++];\n j = f2[k++];\n if ($ce[i3] == -1 || $ce[j] == -1) {\n if (i3 == 61 && j == 61) {\n if ((c2 & 15) != 0)\n return null;\n q = KC(SD, wte, 25, n * 3 + 1, 15, 1);\n $fb(l, 0, q, 0, n * 3);\n q[m] = (b << 2 | c2 >> 4) << 24 >> 24;\n return q;\n } else if (i3 != 61 && j == 61) {\n d = $ce[i3];\n if ((d & 3) != 0)\n return null;\n q = KC(SD, wte, 25, n * 3 + 2, 15, 1);\n $fb(l, 0, q, 0, n * 3);\n q[m++] = (b << 2 | c2 >> 4) << 24 >> 24;\n q[m] = ((c2 & 15) << 4 | d >> 2 & 15) << 24 >> 24;\n return q;\n } else {\n return null;\n }\n } else {\n d = $ce[i3];\n e = $ce[j];\n l[m++] = (b << 2 | c2 >> 4) << 24 >> 24;\n l[m++] = ((c2 & 15) << 4 | d >> 2 & 15) << 24 >> 24;\n l[m++] = (d << 6 | e) << 24 >> 24;\n }\n return l;\n }\n function Sbc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v;\n Odd(b, Ine, 1);\n o2 = BD(vNb(a, (Nyc(), Swc)), 218);\n for (e = new olb(a.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 29);\n j = l_b(d.a);\n for (g = j, h = 0, i3 = g.length; h < i3; ++h) {\n f2 = g[h];\n if (f2.k != (j0b(), i0b)) {\n continue;\n }\n if (o2 == (Aad(), yad)) {\n for (l = new olb(f2.j); l.a < l.c.c.length; ) {\n k = BD(mlb(l), 11);\n k.e.c.length == 0 || Vbc(k);\n k.g.c.length == 0 || Wbc(k);\n }\n } else if (JD(vNb(f2, (wtc(), $sc)), 17)) {\n q = BD(vNb(f2, $sc), 17);\n r = BD(Y_b(f2, (Ucd(), Tcd)).Kc().Pb(), 11);\n s = BD(Y_b(f2, zcd).Kc().Pb(), 11);\n t = BD(vNb(r, $sc), 11);\n u = BD(vNb(s, $sc), 11);\n QZb(q, u);\n RZb(q, t);\n v = new g7c(s.i.n);\n v.a = l7c(OC(GC(m1, 1), nie, 8, 0, [u.i.n, u.n, u.a])).a;\n Dsb(q.a, v);\n v = new g7c(r.i.n);\n v.a = l7c(OC(GC(m1, 1), nie, 8, 0, [t.i.n, t.n, t.a])).a;\n Dsb(q.a, v);\n } else {\n if (f2.j.c.length >= 2) {\n p = true;\n m = new olb(f2.j);\n c2 = BD(mlb(m), 11);\n n = null;\n while (m.a < m.c.c.length) {\n n = c2;\n c2 = BD(mlb(m), 11);\n if (!pb(vNb(n, $sc), vNb(c2, $sc))) {\n p = false;\n break;\n }\n }\n } else {\n p = false;\n }\n for (l = new olb(f2.j); l.a < l.c.c.length; ) {\n k = BD(mlb(l), 11);\n k.e.c.length == 0 || Tbc(k, p);\n k.g.c.length == 0 || Ubc(k, p);\n }\n }\n $_b(f2, null);\n }\n }\n Qdd(b);\n }\n function KJc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B;\n t = a.c[(tCb(0, b.c.length), BD(b.c[0], 17)).p];\n A = a.c[(tCb(1, b.c.length), BD(b.c[1], 17)).p];\n if (t.a.e.e - t.a.a - (t.b.e.e - t.b.a) == 0 && A.a.e.e - A.a.a - (A.b.e.e - A.b.a) == 0) {\n return false;\n }\n r = t.b.e.f;\n if (!JD(r, 10)) {\n return false;\n }\n q = BD(r, 10);\n v = a.i[q.p];\n w2 = !q.c ? -1 : Jkb(q.c.a, q, 0);\n f2 = Pje;\n if (w2 > 0) {\n e = BD(Ikb(q.c.a, w2 - 1), 10);\n g = a.i[e.p];\n B = $wnd.Math.ceil(jBc(a.n, e, q));\n f2 = v.a.e - q.d.d - (g.a.e + e.o.b + e.d.a) - B;\n }\n j = Pje;\n if (w2 < q.c.a.c.length - 1) {\n i3 = BD(Ikb(q.c.a, w2 + 1), 10);\n k = a.i[i3.p];\n B = $wnd.Math.ceil(jBc(a.n, i3, q));\n j = k.a.e - i3.d.d - (v.a.e + q.o.b + q.d.a) - B;\n }\n if (c2 && (Iy(), My(Jqe), $wnd.Math.abs(f2 - j) <= Jqe || f2 == j || isNaN(f2) && isNaN(j))) {\n return true;\n }\n d = gKc(t.a);\n h = -gKc(t.b);\n l = -gKc(A.a);\n s = gKc(A.b);\n p = t.a.e.e - t.a.a - (t.b.e.e - t.b.a) > 0 && A.a.e.e - A.a.a - (A.b.e.e - A.b.a) < 0;\n o2 = t.a.e.e - t.a.a - (t.b.e.e - t.b.a) < 0 && A.a.e.e - A.a.a - (A.b.e.e - A.b.a) > 0;\n n = t.a.e.e + t.b.a < A.b.e.e + A.a.a;\n m = t.a.e.e + t.b.a > A.b.e.e + A.a.a;\n u = 0;\n !p && !o2 && (m ? f2 + l > 0 ? u = l : j - d > 0 && (u = d) : n && (f2 + h > 0 ? u = h : j - s > 0 && (u = s)));\n v.a.e += u;\n v.b && (v.d.e += u);\n return false;\n }\n function XGb(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m;\n d = new J6c(b.qf().a, b.qf().b, b.rf().a, b.rf().b);\n e = new I6c();\n if (a.c) {\n for (g = new olb(b.wf()); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 181);\n e.c = f2.qf().a + b.qf().a;\n e.d = f2.qf().b + b.qf().b;\n e.b = f2.rf().a;\n e.a = f2.rf().b;\n H6c(d, e);\n }\n }\n for (j = new olb(b.Cf()); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 838);\n k = i3.qf().a + b.qf().a;\n l = i3.qf().b + b.qf().b;\n if (a.e) {\n e.c = k;\n e.d = l;\n e.b = i3.rf().a;\n e.a = i3.rf().b;\n H6c(d, e);\n }\n if (a.d) {\n for (g = new olb(i3.wf()); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 181);\n e.c = f2.qf().a + k;\n e.d = f2.qf().b + l;\n e.b = f2.rf().a;\n e.a = f2.rf().b;\n H6c(d, e);\n }\n }\n if (a.b) {\n m = new f7c(-c2, -c2);\n if (BD(b.We((Y9c(), x9c)), 174).Hc((rcd(), pcd))) {\n for (g = new olb(i3.wf()); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 181);\n m.a += f2.rf().a + c2;\n m.b += f2.rf().b + c2;\n }\n }\n m.a = $wnd.Math.max(m.a, 0);\n m.b = $wnd.Math.max(m.b, 0);\n VGb(d, i3.Bf(), i3.zf(), b, i3, m, c2);\n }\n }\n a.b && VGb(d, b.Bf(), b.zf(), b, null, null, c2);\n h = new K_b(b.Af());\n h.d = $wnd.Math.max(0, b.qf().b - d.d);\n h.a = $wnd.Math.max(0, d.d + d.a - (b.qf().b + b.rf().b));\n h.b = $wnd.Math.max(0, b.qf().a - d.c);\n h.c = $wnd.Math.max(0, d.c + d.b - (b.qf().a + b.rf().a));\n b.Ef(h);\n }\n function wz() {\n var a = [\"\\\\u0000\", \"\\\\u0001\", \"\\\\u0002\", \"\\\\u0003\", \"\\\\u0004\", \"\\\\u0005\", \"\\\\u0006\", \"\\\\u0007\", \"\\\\b\", \"\\\\t\", \"\\\\n\", \"\\\\u000B\", \"\\\\f\", \"\\\\r\", \"\\\\u000E\", \"\\\\u000F\", \"\\\\u0010\", \"\\\\u0011\", \"\\\\u0012\", \"\\\\u0013\", \"\\\\u0014\", \"\\\\u0015\", \"\\\\u0016\", \"\\\\u0017\", \"\\\\u0018\", \"\\\\u0019\", \"\\\\u001A\", \"\\\\u001B\", \"\\\\u001C\", \"\\\\u001D\", \"\\\\u001E\", \"\\\\u001F\"];\n a[34] = '\\\\\"';\n a[92] = \"\\\\\\\\\";\n a[173] = \"\\\\u00ad\";\n a[1536] = \"\\\\u0600\";\n a[1537] = \"\\\\u0601\";\n a[1538] = \"\\\\u0602\";\n a[1539] = \"\\\\u0603\";\n a[1757] = \"\\\\u06dd\";\n a[1807] = \"\\\\u070f\";\n a[6068] = \"\\\\u17b4\";\n a[6069] = \"\\\\u17b5\";\n a[8203] = \"\\\\u200b\";\n a[8204] = \"\\\\u200c\";\n a[8205] = \"\\\\u200d\";\n a[8206] = \"\\\\u200e\";\n a[8207] = \"\\\\u200f\";\n a[8232] = \"\\\\u2028\";\n a[8233] = \"\\\\u2029\";\n a[8234] = \"\\\\u202a\";\n a[8235] = \"\\\\u202b\";\n a[8236] = \"\\\\u202c\";\n a[8237] = \"\\\\u202d\";\n a[8238] = \"\\\\u202e\";\n a[8288] = \"\\\\u2060\";\n a[8289] = \"\\\\u2061\";\n a[8290] = \"\\\\u2062\";\n a[8291] = \"\\\\u2063\";\n a[8292] = \"\\\\u2064\";\n a[8298] = \"\\\\u206a\";\n a[8299] = \"\\\\u206b\";\n a[8300] = \"\\\\u206c\";\n a[8301] = \"\\\\u206d\";\n a[8302] = \"\\\\u206e\";\n a[8303] = \"\\\\u206f\";\n a[65279] = \"\\\\ufeff\";\n a[65529] = \"\\\\ufff9\";\n a[65530] = \"\\\\ufffa\";\n a[65531] = \"\\\\ufffb\";\n return a;\n }\n function pid(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m;\n i3 = new Rkb();\n l = b.length;\n g = AUd(c2);\n for (j = 0; j < l; ++j) {\n k = ifb(b, wfb(61), j);\n d = $hd(g, b.substr(j, k - j));\n e = KJd(d);\n f2 = e.Aj().Nh();\n switch (bfb(b, ++k)) {\n case 39: {\n h = gfb(b, 39, ++k);\n Ekb(i3, new kGd(d, Pid(b.substr(k, h - k), f2, e)));\n j = h + 1;\n break;\n }\n case 34: {\n h = gfb(b, 34, ++k);\n Ekb(i3, new kGd(d, Pid(b.substr(k, h - k), f2, e)));\n j = h + 1;\n break;\n }\n case 91: {\n m = new Rkb();\n Ekb(i3, new kGd(d, m));\n n:\n for (; ; ) {\n switch (bfb(b, ++k)) {\n case 39: {\n h = gfb(b, 39, ++k);\n Ekb(m, Pid(b.substr(k, h - k), f2, e));\n k = h + 1;\n break;\n }\n case 34: {\n h = gfb(b, 34, ++k);\n Ekb(m, Pid(b.substr(k, h - k), f2, e));\n k = h + 1;\n break;\n }\n case 110: {\n ++k;\n if (b.indexOf(\"ull\", k) == k) {\n m.c[m.c.length] = null;\n } else {\n throw vbb(new hz(kte));\n }\n k += 3;\n break;\n }\n }\n if (k < l) {\n switch (BCb(k, b.length), b.charCodeAt(k)) {\n case 44: {\n break;\n }\n case 93: {\n break n;\n }\n default: {\n throw vbb(new hz(\"Expecting , or ]\"));\n }\n }\n } else {\n break;\n }\n }\n j = k + 1;\n break;\n }\n case 110: {\n ++k;\n if (b.indexOf(\"ull\", k) == k) {\n Ekb(i3, new kGd(d, null));\n } else {\n throw vbb(new hz(kte));\n }\n j = k + 3;\n break;\n }\n }\n if (j < l) {\n BCb(j, b.length);\n if (b.charCodeAt(j) != 44) {\n throw vbb(new hz(\"Expecting ,\"));\n }\n } else {\n break;\n }\n }\n return qid(a, i3, c2);\n }\n function AKb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m;\n j = BD(BD(Qc(a.r, b), 21), 84);\n g = bKb(a, b);\n c2 = a.u.Hc((rcd(), lcd));\n for (i3 = j.Kc(); i3.Ob(); ) {\n h = BD(i3.Pb(), 111);\n if (!h.c || h.c.d.c.length <= 0) {\n continue;\n }\n m = h.b.rf();\n k = h.c;\n l = k.i;\n l.b = (f2 = k.n, k.e.a + f2.b + f2.c);\n l.a = (e = k.n, k.e.b + e.d + e.a);\n switch (b.g) {\n case 1:\n if (h.a) {\n l.c = (m.a - l.b) / 2;\n $Hb(k, (NHb(), KHb));\n } else if (g || c2) {\n l.c = -l.b - a.s;\n $Hb(k, (NHb(), MHb));\n } else {\n l.c = m.a + a.s;\n $Hb(k, (NHb(), LHb));\n }\n l.d = -l.a - a.t;\n _Hb(k, (EIb(), BIb));\n break;\n case 3:\n if (h.a) {\n l.c = (m.a - l.b) / 2;\n $Hb(k, (NHb(), KHb));\n } else if (g || c2) {\n l.c = -l.b - a.s;\n $Hb(k, (NHb(), MHb));\n } else {\n l.c = m.a + a.s;\n $Hb(k, (NHb(), LHb));\n }\n l.d = m.b + a.t;\n _Hb(k, (EIb(), DIb));\n break;\n case 2:\n if (h.a) {\n d = a.v ? l.a : BD(Ikb(k.d, 0), 181).rf().b;\n l.d = (m.b - d) / 2;\n _Hb(k, (EIb(), CIb));\n } else if (g || c2) {\n l.d = -l.a - a.t;\n _Hb(k, (EIb(), BIb));\n } else {\n l.d = m.b + a.t;\n _Hb(k, (EIb(), DIb));\n }\n l.c = m.a + a.s;\n $Hb(k, (NHb(), LHb));\n break;\n case 4:\n if (h.a) {\n d = a.v ? l.a : BD(Ikb(k.d, 0), 181).rf().b;\n l.d = (m.b - d) / 2;\n _Hb(k, (EIb(), CIb));\n } else if (g || c2) {\n l.d = -l.a - a.t;\n _Hb(k, (EIb(), BIb));\n } else {\n l.d = m.b + a.t;\n _Hb(k, (EIb(), DIb));\n }\n l.c = -l.b - a.s;\n $Hb(k, (NHb(), MHb));\n }\n g = false;\n }\n }\n function Kfe(a, b) {\n wfe();\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2;\n if (Vhb(Zee) == 0) {\n l = KC(lbb, nie, 117, _ee.length, 0, 1);\n for (g = 0; g < l.length; g++) {\n l[g] = new $fe(4);\n }\n d = new Ifb();\n for (f2 = 0; f2 < Yee.length; f2++) {\n k = new $fe(4);\n if (f2 < 84) {\n h = f2 * 2;\n n = (BCb(h, wxe.length), wxe.charCodeAt(h));\n m = (BCb(h + 1, wxe.length), wxe.charCodeAt(h + 1));\n Ufe(k, n, m);\n } else {\n h = (f2 - 84) * 2;\n Ufe(k, afe[h], afe[h + 1]);\n }\n i3 = Yee[f2];\n dfb(i3, \"Specials\") && Ufe(k, 65520, 65533);\n if (dfb(i3, uxe)) {\n Ufe(k, 983040, 1048573);\n Ufe(k, 1048576, 1114109);\n }\n Shb(Zee, i3, k);\n Shb($ee, i3, _fe(k));\n j = d.a.length;\n 0 < j ? d.a = d.a.substr(0, 0) : 0 > j && (d.a += yfb(KC(TD, $ie, 25, -j, 15, 1)));\n d.a += \"Is\";\n if (hfb(i3, wfb(32)) >= 0) {\n for (e = 0; e < i3.length; e++) {\n BCb(e, i3.length);\n i3.charCodeAt(e) != 32 && Afb(d, (BCb(e, i3.length), i3.charCodeAt(e)));\n }\n } else {\n d.a += \"\" + i3;\n }\n Ofe(d.a, i3, true);\n }\n Ofe(vxe, \"Cn\", false);\n Ofe(xxe, \"Cn\", true);\n c2 = new $fe(4);\n Ufe(c2, 0, lxe);\n Shb(Zee, \"ALL\", c2);\n Shb($ee, \"ALL\", _fe(c2));\n !bfe && (bfe = new Lqb());\n Shb(bfe, vxe, vxe);\n !bfe && (bfe = new Lqb());\n Shb(bfe, xxe, xxe);\n !bfe && (bfe = new Lqb());\n Shb(bfe, \"ALL\", \"ALL\");\n }\n o2 = b ? BD(Phb(Zee, a), 136) : BD(Phb($ee, a), 136);\n return o2;\n }\n function c3b(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s;\n m = false;\n l = false;\n if (fcd(BD(vNb(d, (Nyc(), Vxc)), 98))) {\n g = false;\n h = false;\n t:\n for (o2 = new olb(d.j); o2.a < o2.c.c.length; ) {\n n = BD(mlb(o2), 11);\n for (q = ul(pl(OC(GC(KI, 1), Uhe, 20, 0, [new J0b(n), new R0b(n)]))); Qr(q); ) {\n p = BD(Rr(q), 11);\n if (!Ccb(DD(vNb(p.i, pwc)))) {\n if (n.j == (Ucd(), Acd)) {\n g = true;\n break t;\n }\n if (n.j == Rcd) {\n h = true;\n break t;\n }\n }\n }\n }\n m = h && !g;\n l = g && !h;\n }\n if (!m && !l && d.b.c.length != 0) {\n k = 0;\n for (j = new olb(d.b); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 70);\n k += i3.n.b + i3.o.b / 2;\n }\n k /= d.b.c.length;\n s = k >= d.o.b / 2;\n } else {\n s = !l;\n }\n if (s) {\n r = BD(vNb(d, (wtc(), vtc)), 15);\n if (!r) {\n f2 = new Rkb();\n yNb(d, vtc, f2);\n } else if (m) {\n f2 = r;\n } else {\n e = BD(vNb(d, tsc), 15);\n if (!e) {\n f2 = new Rkb();\n yNb(d, tsc, f2);\n } else {\n r.gc() <= e.gc() ? f2 = r : f2 = e;\n }\n }\n } else {\n e = BD(vNb(d, (wtc(), tsc)), 15);\n if (!e) {\n f2 = new Rkb();\n yNb(d, tsc, f2);\n } else if (l) {\n f2 = e;\n } else {\n r = BD(vNb(d, vtc), 15);\n if (!r) {\n f2 = new Rkb();\n yNb(d, vtc, f2);\n } else {\n e.gc() <= r.gc() ? f2 = e : f2 = r;\n }\n }\n }\n f2.Fc(a);\n yNb(a, (wtc(), vsc), c2);\n if (b.d == c2) {\n RZb(b, null);\n c2.e.c.length + c2.g.c.length == 0 && F0b(c2, null);\n d3b(c2);\n } else {\n QZb(b, null);\n c2.e.c.length + c2.g.c.length == 0 && F0b(c2, null);\n }\n Osb(b.a);\n }\n function aoc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F, G, H;\n s = new Bib(a.b, 0);\n k = b.Kc();\n o2 = 0;\n j = BD(k.Pb(), 19).a;\n v = 0;\n c2 = new Tqb();\n A = new zsb();\n while (s.b < s.d.gc()) {\n r = (sCb(s.b < s.d.gc()), BD(s.d.Xb(s.c = s.b++), 29));\n for (u = new olb(r.a); u.a < u.c.c.length; ) {\n t = BD(mlb(u), 10);\n for (n = new Sr(ur(U_b(t).a.Kc(), new Sq())); Qr(n); ) {\n l = BD(Rr(n), 17);\n A.a.zc(l, A);\n }\n for (m = new Sr(ur(R_b(t).a.Kc(), new Sq())); Qr(m); ) {\n l = BD(Rr(m), 17);\n A.a.Bc(l) != null;\n }\n }\n if (o2 + 1 == j) {\n e = new H1b(a);\n Aib(s, e);\n f2 = new H1b(a);\n Aib(s, f2);\n for (C = A.a.ec().Kc(); C.Ob(); ) {\n B = BD(C.Pb(), 17);\n if (!c2.a._b(B)) {\n ++v;\n c2.a.zc(B, c2);\n }\n g = new b0b(a);\n yNb(g, (Nyc(), Vxc), (dcd(), acd));\n $_b(g, e);\n __b(g, (j0b(), d0b));\n p = new H0b();\n F0b(p, g);\n G0b(p, (Ucd(), Tcd));\n D = new H0b();\n F0b(D, g);\n G0b(D, zcd);\n d = new b0b(a);\n yNb(d, Vxc, acd);\n $_b(d, f2);\n __b(d, d0b);\n q = new H0b();\n F0b(q, d);\n G0b(q, Tcd);\n F = new H0b();\n F0b(F, d);\n G0b(F, zcd);\n w2 = new UZb();\n QZb(w2, B.c);\n RZb(w2, p);\n H = new UZb();\n QZb(H, D);\n RZb(H, q);\n QZb(B, F);\n h = new goc(g, d, w2, H, B);\n yNb(g, (wtc(), usc), h);\n yNb(d, usc, h);\n G = w2.c.i;\n if (G.k == d0b) {\n i3 = BD(vNb(G, usc), 305);\n i3.d = h;\n h.g = i3;\n }\n }\n if (k.Ob()) {\n j = BD(k.Pb(), 19).a;\n } else {\n break;\n }\n }\n ++o2;\n }\n return meb(v);\n }\n function T1b(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p;\n l = 0;\n for (e = new Fyd((!b.a && (b.a = new cUd(E2, b, 10, 11)), b.a)); e.e != e.i.gc(); ) {\n d = BD(Dyd(e), 33);\n if (!Ccb(DD(hkd(d, (Nyc(), Jxc))))) {\n if ((PD(hkd(b, ywc)) !== PD((tAc(), rAc)) || PD(hkd(b, Jwc)) === PD((mqc(), lqc)) || PD(hkd(b, Jwc)) === PD((mqc(), jqc)) || Ccb(DD(hkd(b, Awc))) || PD(hkd(b, twc)) !== PD((RXb(), QXb))) && !Ccb(DD(hkd(d, xwc)))) {\n jkd(d, (wtc(), Zsc), meb(l));\n ++l;\n }\n $1b(a, d, c2);\n }\n }\n l = 0;\n for (j = new Fyd((!b.b && (b.b = new cUd(B2, b, 12, 3)), b.b)); j.e != j.i.gc(); ) {\n h = BD(Dyd(j), 79);\n if (PD(hkd(b, (Nyc(), ywc))) !== PD((tAc(), rAc)) || PD(hkd(b, Jwc)) === PD((mqc(), lqc)) || PD(hkd(b, Jwc)) === PD((mqc(), jqc)) || Ccb(DD(hkd(b, Awc))) || PD(hkd(b, twc)) !== PD((RXb(), QXb))) {\n jkd(h, (wtc(), Zsc), meb(l));\n ++l;\n }\n o2 = jtd(h);\n p = ltd(h);\n k = Ccb(DD(hkd(o2, fxc)));\n n = !Ccb(DD(hkd(h, Jxc)));\n m = k && Qld(h) && Ccb(DD(hkd(h, gxc)));\n f2 = Xod(o2) == b && Xod(o2) == Xod(p);\n g = (Xod(o2) == b && p == b) ^ (Xod(p) == b && o2 == b);\n n && !m && (g || f2) && X1b(a, h, b, c2);\n }\n if (Xod(b)) {\n for (i3 = new Fyd(Wod(Xod(b))); i3.e != i3.i.gc(); ) {\n h = BD(Dyd(i3), 79);\n o2 = jtd(h);\n if (o2 == b && Qld(h)) {\n m = Ccb(DD(hkd(o2, (Nyc(), fxc)))) && Ccb(DD(hkd(h, gxc)));\n m && X1b(a, h, b, c2);\n }\n }\n }\n }\n function gDc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F, G, H, I;\n Odd(c2, \"MinWidth layering\", 1);\n n = b.b;\n A = b.a;\n I = BD(vNb(b, (Nyc(), oxc)), 19).a;\n h = BD(vNb(b, pxc), 19).a;\n a.b = Edb(ED(vNb(b, lyc)));\n a.d = Pje;\n for (u = new olb(A); u.a < u.c.c.length; ) {\n s = BD(mlb(u), 10);\n if (s.k != (j0b(), h0b)) {\n continue;\n }\n D = s.o.b;\n a.d = $wnd.Math.min(a.d, D);\n }\n a.d = $wnd.Math.max(1, a.d);\n B = A.c.length;\n a.c = KC(WD, oje, 25, B, 15, 1);\n a.f = KC(WD, oje, 25, B, 15, 1);\n a.e = KC(UD, Vje, 25, B, 15, 1);\n j = 0;\n a.a = 0;\n for (v = new olb(A); v.a < v.c.c.length; ) {\n s = BD(mlb(v), 10);\n s.p = j++;\n a.c[s.p] = eDc(R_b(s));\n a.f[s.p] = eDc(U_b(s));\n a.e[s.p] = s.o.b / a.d;\n a.a += a.e[s.p];\n }\n a.b /= a.d;\n a.a /= B;\n w2 = fDc(A);\n Okb(A, tmb(new mDc(a)));\n p = Pje;\n o2 = Ohe;\n g = null;\n H = I;\n G = I;\n f2 = h;\n e = h;\n if (I < 0) {\n H = BD(bDc.a.zd(), 19).a;\n G = BD(bDc.b.zd(), 19).a;\n }\n if (h < 0) {\n f2 = BD(aDc.a.zd(), 19).a;\n e = BD(aDc.b.zd(), 19).a;\n }\n for (F = H; F <= G; F++) {\n for (d = f2; d <= e; d++) {\n C = dDc(a, F, d, A, w2);\n r = Edb(ED(C.a));\n m = BD(C.b, 15);\n q = m.gc();\n if (r < p || r == p && q < o2) {\n p = r;\n o2 = q;\n g = m;\n }\n }\n }\n for (l = g.Kc(); l.Ob(); ) {\n k = BD(l.Pb(), 15);\n i3 = new H1b(b);\n for (t = k.Kc(); t.Ob(); ) {\n s = BD(t.Pb(), 10);\n $_b(s, i3);\n }\n n.c[n.c.length] = i3;\n }\n smb(n);\n A.c = KC(SI, Uhe, 1, 0, 5, 1);\n Qdd(c2);\n }\n function I6b(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D;\n a.b = b;\n a.a = BD(vNb(b, (Nyc(), bxc)), 19).a;\n a.c = BD(vNb(b, dxc), 19).a;\n a.c == 0 && (a.c = Ohe);\n q = new Bib(b.b, 0);\n while (q.b < q.d.gc()) {\n p = (sCb(q.b < q.d.gc()), BD(q.d.Xb(q.c = q.b++), 29));\n h = new Rkb();\n k = -1;\n u = -1;\n for (t = new olb(p.a); t.a < t.c.c.length; ) {\n s = BD(mlb(t), 10);\n if (sr((D6b(), new Sr(ur(O_b(s).a.Kc(), new Sq())))) >= a.a) {\n d = E6b(a, s);\n k = $wnd.Math.max(k, d.b);\n u = $wnd.Math.max(u, d.d);\n Ekb(h, new vgd(s, d));\n }\n }\n B = new Rkb();\n for (j = 0; j < k; ++j) {\n Dkb(B, 0, (sCb(q.b > 0), q.a.Xb(q.c = --q.b), C = new H1b(a.b), Aib(q, C), sCb(q.b < q.d.gc()), q.d.Xb(q.c = q.b++), C));\n }\n for (g = new olb(h); g.a < g.c.c.length; ) {\n e = BD(mlb(g), 46);\n n = BD(e.b, 571).a;\n if (!n) {\n continue;\n }\n for (m = new olb(n); m.a < m.c.c.length; ) {\n l = BD(mlb(m), 10);\n H6b(a, l, B6b, B);\n }\n }\n c2 = new Rkb();\n for (i3 = 0; i3 < u; ++i3) {\n Ekb(c2, (D = new H1b(a.b), Aib(q, D), D));\n }\n for (f2 = new olb(h); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 46);\n A = BD(e.b, 571).c;\n if (!A) {\n continue;\n }\n for (w2 = new olb(A); w2.a < w2.c.c.length; ) {\n v = BD(mlb(w2), 10);\n H6b(a, v, C6b, c2);\n }\n }\n }\n r = new Bib(b.b, 0);\n while (r.b < r.d.gc()) {\n o2 = (sCb(r.b < r.d.gc()), BD(r.d.Xb(r.c = r.b++), 29));\n o2.a.c.length == 0 && uib(r);\n }\n }\n function uQc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F, G;\n Odd(c2, \"Spline edge routing\", 1);\n if (b.b.c.length == 0) {\n b.f.a = 0;\n Qdd(c2);\n return;\n }\n s = Edb(ED(vNb(b, (Nyc(), wyc))));\n h = Edb(ED(vNb(b, pyc)));\n g = Edb(ED(vNb(b, myc)));\n r = BD(vNb(b, Xwc), 336);\n B = r == (tBc(), sBc);\n A = Edb(ED(vNb(b, Ywc)));\n a.d = b;\n a.j.c = KC(SI, Uhe, 1, 0, 5, 1);\n a.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n Uhb(a.k);\n i3 = BD(Ikb(b.b, 0), 29);\n k = Kq(i3.a, (FNc(), DNc));\n o2 = BD(Ikb(b.b, b.b.c.length - 1), 29);\n l = Kq(o2.a, DNc);\n p = new olb(b.b);\n q = null;\n G = 0;\n do {\n t = p.a < p.c.c.length ? BD(mlb(p), 29) : null;\n iQc(a, q, t);\n lQc(a);\n C = Vtb(uAb(PAb(JAb(new YAb(null, new Kub(a.i, 16)), new LQc()), new NQc())));\n F = 0;\n u = G;\n m = !q || k && q == i3;\n n = !t || l && t == o2;\n if (C > 0) {\n j = 0;\n !!q && (j += h);\n j += (C - 1) * g;\n !!t && (j += h);\n B && !!t && (j = $wnd.Math.max(j, jQc(t, g, s, A)));\n if (j < s && !m && !n) {\n F = (s - j) / 2;\n j = s;\n }\n u += j;\n } else\n !m && !n && (u += s);\n !!t && h_b(t, u);\n for (w2 = new olb(a.i); w2.a < w2.c.c.length; ) {\n v = BD(mlb(w2), 128);\n v.a.c = G;\n v.a.b = u - G;\n v.F = F;\n v.p = !q;\n }\n Gkb(a.a, a.i);\n G = u;\n !!t && (G += t.c.a);\n q = t;\n m = n;\n } while (t);\n for (e = new olb(a.j); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 17);\n f2 = pQc(a, d);\n yNb(d, (wtc(), ptc), f2);\n D = rQc(a, d);\n yNb(d, rtc, D);\n }\n b.f.a = G;\n a.d = null;\n Qdd(c2);\n }\n function Yxd(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u;\n p = a.i != 0;\n t = false;\n r = null;\n if (oid(a.e)) {\n k = b.gc();\n if (k > 0) {\n m = k < 100 ? null : new Ixd(k);\n j = new Aud(b);\n o2 = j.g;\n r = KC(WD, oje, 25, k, 15, 1);\n d = 0;\n u = new zud(k);\n for (e = 0; e < a.i; ++e) {\n h = a.g[e];\n n = h;\n v:\n for (s = 0; s < 2; ++s) {\n for (i3 = k; --i3 >= 0; ) {\n if (n != null ? pb(n, o2[i3]) : PD(n) === PD(o2[i3])) {\n if (r.length <= d) {\n q = r;\n r = KC(WD, oje, 25, 2 * r.length, 15, 1);\n $fb(q, 0, r, 0, d);\n }\n r[d++] = e;\n wtd(u, o2[i3]);\n break v;\n }\n }\n n = n;\n if (PD(n) === PD(h)) {\n break;\n }\n }\n }\n j = u;\n o2 = u.g;\n k = d;\n if (d > r.length) {\n q = r;\n r = KC(WD, oje, 25, d, 15, 1);\n $fb(q, 0, r, 0, d);\n }\n if (d > 0) {\n t = true;\n for (f2 = 0; f2 < d; ++f2) {\n n = o2[f2];\n m = k3d(a, BD(n, 72), m);\n }\n for (g = d; --g >= 0; ) {\n tud(a, r[g]);\n }\n if (d != k) {\n for (e = k; --e >= d; ) {\n tud(j, e);\n }\n q = r;\n r = KC(WD, oje, 25, d, 15, 1);\n $fb(q, 0, r, 0, d);\n }\n b = j;\n }\n }\n } else {\n b = Ctd(a, b);\n for (e = a.i; --e >= 0; ) {\n if (b.Hc(a.g[e])) {\n tud(a, e);\n t = true;\n }\n }\n }\n if (t) {\n if (r != null) {\n c2 = b.gc();\n l = c2 == 1 ? FLd(a, 4, b.Kc().Pb(), null, r[0], p) : FLd(a, 6, b, r, r[0], p);\n m = c2 < 100 ? null : new Ixd(c2);\n for (e = b.Kc(); e.Ob(); ) {\n n = e.Pb();\n m = Q2d(a, BD(n, 72), m);\n }\n if (!m) {\n Uhd(a.e, l);\n } else {\n m.Ei(l);\n m.Fi();\n }\n } else {\n m = Vxd(b.gc());\n for (e = b.Kc(); e.Ob(); ) {\n n = e.Pb();\n m = Q2d(a, BD(n, 72), m);\n }\n !!m && m.Fi();\n }\n return true;\n } else {\n return false;\n }\n }\n function fYb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t;\n c2 = new mYb(b);\n c2.a || $Xb(b);\n j = ZXb(b);\n i3 = new Hp();\n q = new AYb();\n for (p = new olb(b.a); p.a < p.c.c.length; ) {\n o2 = BD(mlb(p), 10);\n for (e = new Sr(ur(U_b(o2).a.Kc(), new Sq())); Qr(e); ) {\n d = BD(Rr(e), 17);\n if (d.c.i.k == (j0b(), e0b) || d.d.i.k == e0b) {\n k = eYb(a, d, j, q);\n Rc(i3, cYb(k.d), k.a);\n }\n }\n }\n g = new Rkb();\n for (t = BD(vNb(c2.c, (wtc(), Esc)), 21).Kc(); t.Ob(); ) {\n s = BD(t.Pb(), 61);\n n = q.c[s.g];\n m = q.b[s.g];\n h = q.a[s.g];\n f2 = null;\n r = null;\n switch (s.g) {\n case 4:\n f2 = new J6c(a.d.a, n, j.b.a - a.d.a, m - n);\n r = new J6c(a.d.a, n, h, m - n);\n iYb(j, new f7c(f2.c + f2.b, f2.d));\n iYb(j, new f7c(f2.c + f2.b, f2.d + f2.a));\n break;\n case 2:\n f2 = new J6c(j.a.a, n, a.c.a - j.a.a, m - n);\n r = new J6c(a.c.a - h, n, h, m - n);\n iYb(j, new f7c(f2.c, f2.d));\n iYb(j, new f7c(f2.c, f2.d + f2.a));\n break;\n case 1:\n f2 = new J6c(n, a.d.b, m - n, j.b.b - a.d.b);\n r = new J6c(n, a.d.b, m - n, h);\n iYb(j, new f7c(f2.c, f2.d + f2.a));\n iYb(j, new f7c(f2.c + f2.b, f2.d + f2.a));\n break;\n case 3:\n f2 = new J6c(n, j.a.b, m - n, a.c.b - j.a.b);\n r = new J6c(n, a.c.b - h, m - n, h);\n iYb(j, new f7c(f2.c, f2.d));\n iYb(j, new f7c(f2.c + f2.b, f2.d));\n }\n if (f2) {\n l = new vYb();\n l.d = s;\n l.b = f2;\n l.c = r;\n l.a = Dx(BD(Qc(i3, cYb(s)), 21));\n g.c[g.c.length] = l;\n }\n }\n Gkb(c2.b, g);\n c2.d = BWb(JWb(j));\n return c2;\n }\n function pMc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p;\n if (c2.p[b.p] != null) {\n return;\n }\n h = true;\n c2.p[b.p] = 0;\n g = b;\n p = c2.o == (eMc(), cMc) ? Qje : Pje;\n do {\n e = a.b.e[g.p];\n f2 = g.c.a.c.length;\n if (c2.o == cMc && e > 0 || c2.o == dMc && e < f2 - 1) {\n i3 = null;\n j = null;\n c2.o == dMc ? i3 = BD(Ikb(g.c.a, e + 1), 10) : i3 = BD(Ikb(g.c.a, e - 1), 10);\n j = c2.g[i3.p];\n pMc(a, j, c2);\n p = a.e.bg(p, b, g);\n c2.j[b.p] == b && (c2.j[b.p] = c2.j[j.p]);\n if (c2.j[b.p] == c2.j[j.p]) {\n o2 = jBc(a.d, g, i3);\n if (c2.o == dMc) {\n d = Edb(c2.p[b.p]);\n l = Edb(c2.p[j.p]) + Edb(c2.d[i3.p]) - i3.d.d - o2 - g.d.a - g.o.b - Edb(c2.d[g.p]);\n if (h) {\n h = false;\n c2.p[b.p] = $wnd.Math.min(l, p);\n } else {\n c2.p[b.p] = $wnd.Math.min(d, $wnd.Math.min(l, p));\n }\n } else {\n d = Edb(c2.p[b.p]);\n l = Edb(c2.p[j.p]) + Edb(c2.d[i3.p]) + i3.o.b + i3.d.a + o2 + g.d.d - Edb(c2.d[g.p]);\n if (h) {\n h = false;\n c2.p[b.p] = $wnd.Math.max(l, p);\n } else {\n c2.p[b.p] = $wnd.Math.max(d, $wnd.Math.max(l, p));\n }\n }\n } else {\n o2 = Edb(ED(vNb(a.a, (Nyc(), vyc))));\n n = nMc(a, c2.j[b.p]);\n k = nMc(a, c2.j[j.p]);\n if (c2.o == dMc) {\n m = Edb(c2.p[b.p]) + Edb(c2.d[g.p]) + g.o.b + g.d.a + o2 - (Edb(c2.p[j.p]) + Edb(c2.d[i3.p]) - i3.d.d);\n tMc(n, k, m);\n } else {\n m = Edb(c2.p[b.p]) + Edb(c2.d[g.p]) - g.d.d - Edb(c2.p[j.p]) - Edb(c2.d[i3.p]) - i3.o.b - i3.d.a - o2;\n tMc(n, k, m);\n }\n }\n } else {\n p = a.e.bg(p, b, g);\n }\n g = c2.a[g.p];\n } while (g != b);\n SMc(a.e, b);\n }\n function _qd(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F, G;\n t = b;\n s = new Hp();\n u = new Hp();\n k = Ypd(t, Nte);\n d = new ord(a, c2, s, u);\n qqd(d.a, d.b, d.c, d.d, k);\n i3 = (A = s.i, !A ? s.i = new zf(s, s.c) : A);\n for (C = i3.Kc(); C.Ob(); ) {\n B = BD(C.Pb(), 202);\n e = BD(Qc(s, B), 21);\n for (p = e.Kc(); p.Ob(); ) {\n o2 = p.Pb();\n v = BD(oo(a.d, o2), 202);\n if (v) {\n h = (!B.e && (B.e = new y5d(A2, B, 10, 9)), B.e);\n wtd(h, v);\n } else {\n g = _pd(t, Vte);\n m = _te + o2 + aue + g;\n n = m + $te;\n throw vbb(new cqd(n));\n }\n }\n }\n j = (w2 = u.i, !w2 ? u.i = new zf(u, u.c) : w2);\n for (F = j.Kc(); F.Ob(); ) {\n D = BD(F.Pb(), 202);\n f2 = BD(Qc(u, D), 21);\n for (r = f2.Kc(); r.Ob(); ) {\n q = r.Pb();\n v = BD(oo(a.d, q), 202);\n if (v) {\n l = (!D.g && (D.g = new y5d(A2, D, 9, 10)), D.g);\n wtd(l, v);\n } else {\n g = _pd(t, Vte);\n m = _te + q + aue + g;\n n = m + $te;\n throw vbb(new cqd(n));\n }\n }\n }\n !c2.b && (c2.b = new y5d(z2, c2, 4, 7));\n if (c2.b.i != 0 && (!c2.c && (c2.c = new y5d(z2, c2, 5, 8)), c2.c.i != 0) && (!c2.b && (c2.b = new y5d(z2, c2, 4, 7)), c2.b.i <= 1 && (!c2.c && (c2.c = new y5d(z2, c2, 5, 8)), c2.c.i <= 1)) && (!c2.a && (c2.a = new cUd(A2, c2, 6, 6)), c2.a).i == 1) {\n G = BD(qud((!c2.a && (c2.a = new cUd(A2, c2, 6, 6)), c2.a), 0), 202);\n if (!dmd(G) && !emd(G)) {\n kmd(G, BD(qud((!c2.b && (c2.b = new y5d(z2, c2, 4, 7)), c2.b), 0), 82));\n lmd(G, BD(qud((!c2.c && (c2.c = new y5d(z2, c2, 5, 8)), c2.c), 0), 82));\n }\n }\n }\n function qJc(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D;\n for (t = a.a, u = 0, v = t.length; u < v; ++u) {\n s = t[u];\n j = Ohe;\n k = Ohe;\n for (o2 = new olb(s.e); o2.a < o2.c.c.length; ) {\n m = BD(mlb(o2), 10);\n g = !m.c ? -1 : Jkb(m.c.a, m, 0);\n if (g > 0) {\n l = BD(Ikb(m.c.a, g - 1), 10);\n B = jBc(a.b, m, l);\n q = m.n.b - m.d.d - (l.n.b + l.o.b + l.d.a + B);\n } else {\n q = m.n.b - m.d.d;\n }\n j = $wnd.Math.min(q, j);\n if (g < m.c.a.c.length - 1) {\n l = BD(Ikb(m.c.a, g + 1), 10);\n B = jBc(a.b, m, l);\n r = l.n.b - l.d.d - (m.n.b + m.o.b + m.d.a + B);\n } else {\n r = 2 * m.n.b;\n }\n k = $wnd.Math.min(r, k);\n }\n i3 = Ohe;\n f2 = false;\n e = BD(Ikb(s.e, 0), 10);\n for (D = new olb(e.j); D.a < D.c.c.length; ) {\n C = BD(mlb(D), 11);\n p = e.n.b + C.n.b + C.a.b;\n for (d = new olb(C.e); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 17);\n w2 = c2.c;\n b = w2.i.n.b + w2.n.b + w2.a.b - p;\n if ($wnd.Math.abs(b) < $wnd.Math.abs(i3) && $wnd.Math.abs(b) < (b < 0 ? j : k)) {\n i3 = b;\n f2 = true;\n }\n }\n }\n h = BD(Ikb(s.e, s.e.c.length - 1), 10);\n for (A = new olb(h.j); A.a < A.c.c.length; ) {\n w2 = BD(mlb(A), 11);\n p = h.n.b + w2.n.b + w2.a.b;\n for (d = new olb(w2.g); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 17);\n C = c2.d;\n b = C.i.n.b + C.n.b + C.a.b - p;\n if ($wnd.Math.abs(b) < $wnd.Math.abs(i3) && $wnd.Math.abs(b) < (b < 0 ? j : k)) {\n i3 = b;\n f2 = true;\n }\n }\n }\n if (f2 && i3 != 0) {\n for (n = new olb(s.e); n.a < n.c.c.length; ) {\n m = BD(mlb(n), 10);\n m.n.b += i3;\n }\n }\n }\n }\n function ync(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q;\n if (Mhb(a.a, b)) {\n if (Rqb(BD(Ohb(a.a, b), 53), c2)) {\n return 1;\n }\n } else {\n Rhb(a.a, b, new Tqb());\n }\n if (Mhb(a.a, c2)) {\n if (Rqb(BD(Ohb(a.a, c2), 53), b)) {\n return -1;\n }\n } else {\n Rhb(a.a, c2, new Tqb());\n }\n if (Mhb(a.e, b)) {\n if (Rqb(BD(Ohb(a.e, b), 53), c2)) {\n return -1;\n }\n } else {\n Rhb(a.e, b, new Tqb());\n }\n if (Mhb(a.e, c2)) {\n if (Rqb(BD(Ohb(a.a, c2), 53), b)) {\n return 1;\n }\n } else {\n Rhb(a.e, c2, new Tqb());\n }\n if (a.c == (tAc(), sAc) || !wNb(b, (wtc(), Zsc)) || !wNb(c2, (wtc(), Zsc))) {\n i3 = BD(Etb(Dtb(KAb(JAb(new YAb(null, new Kub(b.j, 16)), new Hnc())), new Jnc())), 11);\n k = BD(Etb(Dtb(KAb(JAb(new YAb(null, new Kub(c2.j, 16)), new Lnc())), new Nnc())), 11);\n if (!!i3 && !!k) {\n h = i3.i;\n j = k.i;\n if (!!h && h == j) {\n for (m = new olb(h.j); m.a < m.c.c.length; ) {\n l = BD(mlb(m), 11);\n if (l == i3) {\n Anc(a, c2, b);\n return -1;\n } else if (l == k) {\n Anc(a, b, c2);\n return 1;\n }\n }\n return beb(znc(a, b), znc(a, c2));\n }\n for (o2 = a.d, p = 0, q = o2.length; p < q; ++p) {\n n = o2[p];\n if (n == h) {\n Anc(a, c2, b);\n return -1;\n } else if (n == j) {\n Anc(a, b, c2);\n return 1;\n }\n }\n }\n if (!wNb(b, (wtc(), Zsc)) || !wNb(c2, Zsc)) {\n e = znc(a, b);\n g = znc(a, c2);\n e > g ? Anc(a, b, c2) : Anc(a, c2, b);\n return e < g ? -1 : e > g ? 1 : 0;\n }\n }\n d = BD(vNb(b, (wtc(), Zsc)), 19).a;\n f2 = BD(vNb(c2, Zsc), 19).a;\n d > f2 ? Anc(a, b, c2) : Anc(a, c2, b);\n return d < f2 ? -1 : d > f2 ? 1 : 0;\n }\n function u2c(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s;\n if (Ccb(DD(hkd(b, (Y9c(), d9c))))) {\n return mmb(), mmb(), jmb;\n }\n j = (!b.a && (b.a = new cUd(E2, b, 10, 11)), b.a).i != 0;\n l = s2c(b);\n k = !l.dc();\n if (j || k) {\n e = BD(hkd(b, F9c), 149);\n if (!e) {\n throw vbb(new y2c(\"Resolved algorithm is not set; apply a LayoutAlgorithmResolver before computing layout.\"));\n }\n s = D3c(e, (Csd(), ysd));\n q2c(b);\n if (!j && k && !s) {\n return mmb(), mmb(), jmb;\n }\n i3 = new Rkb();\n if (PD(hkd(b, J8c)) === PD((hbd(), ebd)) && (D3c(e, vsd) || D3c(e, usd))) {\n n = p2c(a, b);\n o2 = new Psb();\n ye(o2, (!b.a && (b.a = new cUd(E2, b, 10, 11)), b.a));\n while (o2.b != 0) {\n m = BD(o2.b == 0 ? null : (sCb(o2.b != 0), Nsb(o2, o2.a.a)), 33);\n q2c(m);\n r = PD(hkd(m, J8c)) === PD(gbd);\n if (r || ikd(m, o8c) && !C3c(e, hkd(m, F9c))) {\n h = u2c(a, m, c2, d);\n Gkb(i3, h);\n jkd(m, J8c, gbd);\n hfd(m);\n } else {\n ye(o2, (!m.a && (m.a = new cUd(E2, m, 10, 11)), m.a));\n }\n }\n } else {\n n = (!b.a && (b.a = new cUd(E2, b, 10, 11)), b.a).i;\n for (g = new Fyd((!b.a && (b.a = new cUd(E2, b, 10, 11)), b.a)); g.e != g.i.gc(); ) {\n f2 = BD(Dyd(g), 33);\n h = u2c(a, f2, c2, d);\n Gkb(i3, h);\n hfd(f2);\n }\n }\n for (q = new olb(i3); q.a < q.c.c.length; ) {\n p = BD(mlb(q), 79);\n jkd(p, d9c, (Bcb(), true));\n }\n r2c(b, e, Udd(d, n));\n v2c(i3);\n return k && s ? l : (mmb(), mmb(), jmb);\n } else {\n return mmb(), mmb(), jmb;\n }\n }\n function Z$b(a, b, c2, d, e, f2, g, h, i3) {\n var j, k, l, m, n, o2, p;\n n = c2;\n k = new b0b(i3);\n __b(k, (j0b(), e0b));\n yNb(k, (wtc(), Isc), g);\n yNb(k, (Nyc(), Vxc), (dcd(), $bd));\n p = Edb(ED(a.We(Uxc)));\n yNb(k, Uxc, p);\n l = new H0b();\n F0b(l, k);\n if (!(b != bcd && b != ccd)) {\n d >= 0 ? n = Zcd(h) : n = Wcd(Zcd(h));\n a.Ye($xc, n);\n }\n j = new d7c();\n m = false;\n if (a.Xe(Txc)) {\n a7c(j, BD(a.We(Txc), 8));\n m = true;\n } else {\n _6c(j, g.a / 2, g.b / 2);\n }\n switch (n.g) {\n case 4:\n yNb(k, mxc, (Ctc(), ytc));\n yNb(k, Bsc, (Gqc(), Fqc));\n k.o.b = g.b;\n p < 0 && (k.o.a = -p);\n G0b(l, (Ucd(), zcd));\n m || (j.a = g.a);\n j.a -= g.a;\n break;\n case 2:\n yNb(k, mxc, (Ctc(), Atc));\n yNb(k, Bsc, (Gqc(), Dqc));\n k.o.b = g.b;\n p < 0 && (k.o.a = -p);\n G0b(l, (Ucd(), Tcd));\n m || (j.a = 0);\n break;\n case 1:\n yNb(k, Osc, (esc(), dsc));\n k.o.a = g.a;\n p < 0 && (k.o.b = -p);\n G0b(l, (Ucd(), Rcd));\n m || (j.b = g.b);\n j.b -= g.b;\n break;\n case 3:\n yNb(k, Osc, (esc(), bsc));\n k.o.a = g.a;\n p < 0 && (k.o.b = -p);\n G0b(l, (Ucd(), Acd));\n m || (j.b = 0);\n }\n a7c(l.n, j);\n yNb(k, Txc, j);\n if (b == Zbd || b == _bd || b == $bd) {\n o2 = 0;\n if (b == Zbd && a.Xe(Wxc)) {\n switch (n.g) {\n case 1:\n case 2:\n o2 = BD(a.We(Wxc), 19).a;\n break;\n case 3:\n case 4:\n o2 = -BD(a.We(Wxc), 19).a;\n }\n } else {\n switch (n.g) {\n case 4:\n case 2:\n o2 = f2.b;\n b == _bd && (o2 /= e.b);\n break;\n case 1:\n case 3:\n o2 = f2.a;\n b == _bd && (o2 /= e.a);\n }\n }\n yNb(k, htc, o2);\n }\n yNb(k, Hsc, n);\n return k;\n }\n function AGc(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C;\n c2 = Edb(ED(vNb(a.a.j, (Nyc(), Ewc))));\n if (c2 < -1 || !a.a.i || ecd(BD(vNb(a.a.o, Vxc), 98)) || V_b(a.a.o, (Ucd(), zcd)).gc() < 2 && V_b(a.a.o, Tcd).gc() < 2) {\n return true;\n }\n if (a.a.c.Rf()) {\n return false;\n }\n v = 0;\n u = 0;\n t = new Rkb();\n for (i3 = a.a.e, j = 0, k = i3.length; j < k; ++j) {\n h = i3[j];\n for (m = h, n = 0, p = m.length; n < p; ++n) {\n l = m[n];\n if (l.k == (j0b(), i0b)) {\n t.c[t.c.length] = l;\n continue;\n }\n d = a.b[l.c.p][l.p];\n if (l.k == e0b) {\n d.b = 1;\n BD(vNb(l, (wtc(), $sc)), 11).j == (Ucd(), zcd) && (u += d.a);\n } else {\n C = V_b(l, (Ucd(), Tcd));\n C.dc() || !Lq(C, new NGc()) ? d.c = 1 : (e = V_b(l, zcd), (e.dc() || !Lq(e, new JGc())) && (v += d.a));\n }\n for (g = new Sr(ur(U_b(l).a.Kc(), new Sq())); Qr(g); ) {\n f2 = BD(Rr(g), 17);\n v += d.c;\n u += d.b;\n B = f2.d.i;\n zGc(a, d, B);\n }\n r = pl(OC(GC(KI, 1), Uhe, 20, 0, [V_b(l, (Ucd(), Acd)), V_b(l, Rcd)]));\n for (A = new Sr(new xl(r.a.length, r.a)); Qr(A); ) {\n w2 = BD(Rr(A), 11);\n s = BD(vNb(w2, (wtc(), gtc)), 10);\n if (s) {\n v += d.c;\n u += d.b;\n zGc(a, d, s);\n }\n }\n }\n for (o2 = new olb(t); o2.a < o2.c.c.length; ) {\n l = BD(mlb(o2), 10);\n d = a.b[l.c.p][l.p];\n for (g = new Sr(ur(U_b(l).a.Kc(), new Sq())); Qr(g); ) {\n f2 = BD(Rr(g), 17);\n v += d.c;\n u += d.b;\n B = f2.d.i;\n zGc(a, d, B);\n }\n }\n t.c = KC(SI, Uhe, 1, 0, 5, 1);\n }\n b = v + u;\n q = b == 0 ? Pje : (v - u) / b;\n return q >= c2;\n }\n function ovd() {\n mvd();\n function h(f2) {\n var g = this;\n this.dispatch = function(a) {\n var b = a.data;\n switch (b.cmd) {\n case \"algorithms\":\n var c2 = pvd((mmb(), new lnb(new $ib(lvd.b))));\n f2.postMessage({ id: b.id, data: c2 });\n break;\n case \"categories\":\n var d = pvd((mmb(), new lnb(new $ib(lvd.c))));\n f2.postMessage({ id: b.id, data: d });\n break;\n case \"options\":\n var e = pvd((mmb(), new lnb(new $ib(lvd.d))));\n f2.postMessage({ id: b.id, data: e });\n break;\n case \"register\":\n svd(b.algorithms);\n f2.postMessage({ id: b.id });\n break;\n case \"layout\":\n qvd(b.graph, b.layoutOptions || {}, b.options || {});\n f2.postMessage({ id: b.id, data: b.graph });\n break;\n }\n };\n this.saveDispatch = function(b) {\n try {\n g.dispatch(b);\n } catch (a) {\n f2.postMessage({ id: b.data.id, error: a });\n }\n };\n }\n function j(b) {\n var c2 = this;\n this.dispatcher = new h({ postMessage: function(a) {\n c2.onmessage({ data: a });\n } });\n this.postMessage = function(a) {\n setTimeout(function() {\n c2.dispatcher.saveDispatch({ data: a });\n }, 0);\n };\n }\n if (typeof document === uke && typeof self !== uke) {\n var i3 = new h(self);\n self.onmessage = i3.saveDispatch;\n } else if (typeof module3 !== uke && module3.exports) {\n Object.defineProperty(exports3, \"__esModule\", { value: true });\n module3.exports = { \"default\": j, Worker: j };\n }\n }\n function aae(a) {\n if (a.N)\n return;\n a.N = true;\n a.b = Lnd(a, 0);\n Knd(a.b, 0);\n Knd(a.b, 1);\n Knd(a.b, 2);\n a.bb = Lnd(a, 1);\n Knd(a.bb, 0);\n Knd(a.bb, 1);\n a.fb = Lnd(a, 2);\n Knd(a.fb, 3);\n Knd(a.fb, 4);\n Qnd(a.fb, 5);\n a.qb = Lnd(a, 3);\n Knd(a.qb, 0);\n Qnd(a.qb, 1);\n Qnd(a.qb, 2);\n Knd(a.qb, 3);\n Knd(a.qb, 4);\n Qnd(a.qb, 5);\n Knd(a.qb, 6);\n a.a = Mnd(a, 4);\n a.c = Mnd(a, 5);\n a.d = Mnd(a, 6);\n a.e = Mnd(a, 7);\n a.f = Mnd(a, 8);\n a.g = Mnd(a, 9);\n a.i = Mnd(a, 10);\n a.j = Mnd(a, 11);\n a.k = Mnd(a, 12);\n a.n = Mnd(a, 13);\n a.o = Mnd(a, 14);\n a.p = Mnd(a, 15);\n a.q = Mnd(a, 16);\n a.s = Mnd(a, 17);\n a.r = Mnd(a, 18);\n a.t = Mnd(a, 19);\n a.u = Mnd(a, 20);\n a.v = Mnd(a, 21);\n a.w = Mnd(a, 22);\n a.B = Mnd(a, 23);\n a.A = Mnd(a, 24);\n a.C = Mnd(a, 25);\n a.D = Mnd(a, 26);\n a.F = Mnd(a, 27);\n a.G = Mnd(a, 28);\n a.H = Mnd(a, 29);\n a.J = Mnd(a, 30);\n a.I = Mnd(a, 31);\n a.K = Mnd(a, 32);\n a.M = Mnd(a, 33);\n a.L = Mnd(a, 34);\n a.P = Mnd(a, 35);\n a.Q = Mnd(a, 36);\n a.R = Mnd(a, 37);\n a.S = Mnd(a, 38);\n a.T = Mnd(a, 39);\n a.U = Mnd(a, 40);\n a.V = Mnd(a, 41);\n a.X = Mnd(a, 42);\n a.W = Mnd(a, 43);\n a.Y = Mnd(a, 44);\n a.Z = Mnd(a, 45);\n a.$ = Mnd(a, 46);\n a._ = Mnd(a, 47);\n a.ab = Mnd(a, 48);\n a.cb = Mnd(a, 49);\n a.db = Mnd(a, 50);\n a.eb = Mnd(a, 51);\n a.gb = Mnd(a, 52);\n a.hb = Mnd(a, 53);\n a.ib = Mnd(a, 54);\n a.jb = Mnd(a, 55);\n a.kb = Mnd(a, 56);\n a.lb = Mnd(a, 57);\n a.mb = Mnd(a, 58);\n a.nb = Mnd(a, 59);\n a.ob = Mnd(a, 60);\n a.pb = Mnd(a, 61);\n }\n function f5b(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u;\n s = 0;\n if (b.f.a == 0) {\n for (q = new olb(a); q.a < q.c.c.length; ) {\n o2 = BD(mlb(q), 10);\n s = $wnd.Math.max(s, o2.n.a + o2.o.a + o2.d.c);\n }\n } else {\n s = b.f.a - b.c.a;\n }\n s -= b.c.a;\n for (p = new olb(a); p.a < p.c.c.length; ) {\n o2 = BD(mlb(p), 10);\n g5b(o2.n, s - o2.o.a);\n h5b(o2.f);\n d5b(o2);\n (!o2.q ? (mmb(), mmb(), kmb) : o2.q)._b((Nyc(), ayc)) && g5b(BD(vNb(o2, ayc), 8), s - o2.o.a);\n switch (BD(vNb(o2, mwc), 248).g) {\n case 1:\n yNb(o2, mwc, (F7c(), D7c));\n break;\n case 2:\n yNb(o2, mwc, (F7c(), C7c));\n }\n r = o2.o;\n for (u = new olb(o2.j); u.a < u.c.c.length; ) {\n t = BD(mlb(u), 11);\n g5b(t.n, r.a - t.o.a);\n g5b(t.a, t.o.a);\n G0b(t, Z4b(t.j));\n g = BD(vNb(t, Wxc), 19);\n !!g && yNb(t, Wxc, meb(-g.a));\n for (f2 = new olb(t.g); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 17);\n for (d = Jsb(e.a, 0); d.b != d.d.c; ) {\n c2 = BD(Xsb(d), 8);\n c2.a = s - c2.a;\n }\n j = BD(vNb(e, jxc), 74);\n if (j) {\n for (i3 = Jsb(j, 0); i3.b != i3.d.c; ) {\n h = BD(Xsb(i3), 8);\n h.a = s - h.a;\n }\n }\n for (m = new olb(e.b); m.a < m.c.c.length; ) {\n k = BD(mlb(m), 70);\n g5b(k.n, s - k.o.a);\n }\n }\n for (n = new olb(t.f); n.a < n.c.c.length; ) {\n k = BD(mlb(n), 70);\n g5b(k.n, t.o.a - k.o.a);\n }\n }\n if (o2.k == (j0b(), e0b)) {\n yNb(o2, (wtc(), Hsc), Z4b(BD(vNb(o2, Hsc), 61)));\n c5b(o2);\n }\n for (l = new olb(o2.b); l.a < l.c.c.length; ) {\n k = BD(mlb(l), 70);\n d5b(k);\n g5b(k.n, r.a - k.o.a);\n }\n }\n }\n function i5b(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u;\n s = 0;\n if (b.f.b == 0) {\n for (q = new olb(a); q.a < q.c.c.length; ) {\n o2 = BD(mlb(q), 10);\n s = $wnd.Math.max(s, o2.n.b + o2.o.b + o2.d.a);\n }\n } else {\n s = b.f.b - b.c.b;\n }\n s -= b.c.b;\n for (p = new olb(a); p.a < p.c.c.length; ) {\n o2 = BD(mlb(p), 10);\n j5b(o2.n, s - o2.o.b);\n k5b(o2.f);\n e5b(o2);\n (!o2.q ? (mmb(), mmb(), kmb) : o2.q)._b((Nyc(), ayc)) && j5b(BD(vNb(o2, ayc), 8), s - o2.o.b);\n switch (BD(vNb(o2, mwc), 248).g) {\n case 3:\n yNb(o2, mwc, (F7c(), A7c));\n break;\n case 4:\n yNb(o2, mwc, (F7c(), E7c));\n }\n r = o2.o;\n for (u = new olb(o2.j); u.a < u.c.c.length; ) {\n t = BD(mlb(u), 11);\n j5b(t.n, r.b - t.o.b);\n j5b(t.a, t.o.b);\n G0b(t, $4b(t.j));\n g = BD(vNb(t, Wxc), 19);\n !!g && yNb(t, Wxc, meb(-g.a));\n for (f2 = new olb(t.g); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 17);\n for (d = Jsb(e.a, 0); d.b != d.d.c; ) {\n c2 = BD(Xsb(d), 8);\n c2.b = s - c2.b;\n }\n j = BD(vNb(e, jxc), 74);\n if (j) {\n for (i3 = Jsb(j, 0); i3.b != i3.d.c; ) {\n h = BD(Xsb(i3), 8);\n h.b = s - h.b;\n }\n }\n for (m = new olb(e.b); m.a < m.c.c.length; ) {\n k = BD(mlb(m), 70);\n j5b(k.n, s - k.o.b);\n }\n }\n for (n = new olb(t.f); n.a < n.c.c.length; ) {\n k = BD(mlb(n), 70);\n j5b(k.n, t.o.b - k.o.b);\n }\n }\n if (o2.k == (j0b(), e0b)) {\n yNb(o2, (wtc(), Hsc), $4b(BD(vNb(o2, Hsc), 61)));\n b5b(o2);\n }\n for (l = new olb(o2.b); l.a < l.c.c.length; ) {\n k = BD(mlb(l), 70);\n e5b(k);\n j5b(k.n, r.b - k.o.b);\n }\n }\n }\n function tZc(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n;\n l = false;\n j = a + 1;\n k = (tCb(a, b.c.length), BD(b.c[a], 200));\n g = k.a;\n h = null;\n for (f2 = 0; f2 < k.a.c.length; f2++) {\n e = (tCb(f2, g.c.length), BD(g.c[f2], 187));\n if (e.c) {\n continue;\n }\n if (e.b.c.length == 0) {\n Zfb();\n v$c(k, e);\n --f2;\n l = true;\n continue;\n }\n if (!e.k) {\n !!h && a$c(h);\n h = new b$c(!h ? 0 : h.e + h.d + d, k.f, d);\n OZc(e, h.e + h.d, k.f);\n Ekb(k.d, h);\n WZc(h, e);\n e.k = true;\n }\n i3 = null;\n i3 = (n = null, f2 < k.a.c.length - 1 ? n = BD(Ikb(k.a, f2 + 1), 187) : j < b.c.length && (tCb(j, b.c.length), BD(b.c[j], 200)).a.c.length != 0 && (n = BD(Ikb((tCb(j, b.c.length), BD(b.c[j], 200)).a, 0), 187)), n);\n m = false;\n !!i3 && (m = !pb(i3.j, k));\n if (i3) {\n if (i3.b.c.length == 0) {\n v$c(k, i3);\n break;\n } else {\n KZc(e, c2 - e.s);\n a$c(e.q);\n l = l | sZc(k, e, i3, c2, d);\n }\n if (i3.b.c.length == 0) {\n v$c((tCb(j, b.c.length), BD(b.c[j], 200)), i3);\n i3 = null;\n while (b.c.length > j && (tCb(j, b.c.length), BD(b.c[j], 200)).a.c.length == 0) {\n Lkb(b, (tCb(j, b.c.length), b.c[j]));\n }\n }\n if (!i3) {\n --f2;\n continue;\n }\n if (uZc(b, k, e, i3, m, c2, j, d)) {\n l = true;\n continue;\n }\n if (m) {\n if (vZc(b, k, e, i3, c2, j, d)) {\n l = true;\n continue;\n } else if (wZc(k, e)) {\n e.c = true;\n l = true;\n continue;\n }\n } else if (wZc(k, e)) {\n e.c = true;\n l = true;\n continue;\n }\n if (l) {\n continue;\n }\n }\n if (wZc(k, e)) {\n e.c = true;\n l = true;\n !!i3 && (i3.k = false);\n continue;\n } else {\n a$c(e.q);\n }\n }\n return l;\n }\n function fed(a, b, c2, d, e, f2, g) {\n var h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F, G, H, I;\n p = 0;\n D = 0;\n for (j = new olb(a.b); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 157);\n !!i3.c && zfd(i3.c);\n p = $wnd.Math.max(p, red(i3));\n D += red(i3) * qed(i3);\n }\n q = D / a.b.c.length;\n C = _dd(a.b, q);\n D += a.b.c.length * C;\n p = $wnd.Math.max(p, $wnd.Math.sqrt(D * g)) + c2.b;\n H = c2.b;\n I = c2.d;\n n = 0;\n l = c2.b + c2.c;\n B = new Psb();\n Dsb(B, meb(0));\n w2 = new Psb();\n k = new Bib(a.b, 0);\n o2 = null;\n h = new Rkb();\n while (k.b < k.d.gc()) {\n i3 = (sCb(k.b < k.d.gc()), BD(k.d.Xb(k.c = k.b++), 157));\n G = red(i3);\n m = qed(i3);\n if (H + G > p) {\n if (f2) {\n Fsb(w2, n);\n Fsb(B, meb(k.b - 1));\n Ekb(a.d, o2);\n h.c = KC(SI, Uhe, 1, 0, 5, 1);\n }\n H = c2.b;\n I += n + b;\n n = 0;\n l = $wnd.Math.max(l, c2.b + c2.c + G);\n }\n h.c[h.c.length] = i3;\n ued(i3, H, I);\n l = $wnd.Math.max(l, H + G + c2.c);\n n = $wnd.Math.max(n, m);\n H += G + b;\n o2 = i3;\n }\n Gkb(a.a, h);\n Ekb(a.d, BD(Ikb(h, h.c.length - 1), 157));\n l = $wnd.Math.max(l, d);\n F = I + n + c2.a;\n if (F < e) {\n n += e - F;\n F = e;\n }\n if (f2) {\n H = c2.b;\n k = new Bib(a.b, 0);\n Fsb(B, meb(a.b.c.length));\n A = Jsb(B, 0);\n s = BD(Xsb(A), 19).a;\n Fsb(w2, n);\n v = Jsb(w2, 0);\n u = 0;\n while (k.b < k.d.gc()) {\n if (k.b == s) {\n H = c2.b;\n u = Edb(ED(Xsb(v)));\n s = BD(Xsb(A), 19).a;\n }\n i3 = (sCb(k.b < k.d.gc()), BD(k.d.Xb(k.c = k.b++), 157));\n sed(i3, u);\n if (k.b == s) {\n r = l - H - c2.c;\n t = red(i3);\n ted(i3, r);\n ved(i3, (r - t) / 2, 0);\n }\n H += red(i3) + b;\n }\n }\n return new f7c(l, F);\n }\n function pde(a) {\n var b, c2, d, e, f2;\n b = a.c;\n f2 = null;\n switch (b) {\n case 6:\n return a.Vl();\n case 13:\n return a.Wl();\n case 23:\n return a.Nl();\n case 22:\n return a.Sl();\n case 18:\n return a.Pl();\n case 8:\n nde(a);\n f2 = (wfe(), efe);\n break;\n case 9:\n return a.vl(true);\n case 19:\n return a.wl();\n case 10:\n switch (a.a) {\n case 100:\n case 68:\n case 119:\n case 87:\n case 115:\n case 83:\n f2 = a.ul(a.a);\n nde(a);\n return f2;\n case 101:\n case 102:\n case 110:\n case 114:\n case 116:\n case 117:\n case 118:\n case 120:\n {\n c2 = a.tl();\n c2 < Tje ? f2 = (wfe(), wfe(), new ige(0, c2)) : f2 = Ffe(Tee(c2));\n }\n break;\n case 99:\n return a.Fl();\n case 67:\n return a.Al();\n case 105:\n return a.Il();\n case 73:\n return a.Bl();\n case 103:\n return a.Gl();\n case 88:\n return a.Cl();\n case 49:\n case 50:\n case 51:\n case 52:\n case 53:\n case 54:\n case 55:\n case 56:\n case 57:\n return a.xl();\n case 80:\n case 112:\n f2 = tde(a, a.a);\n if (!f2)\n throw vbb(new mde(tvd((h0d(), Iue))));\n break;\n default:\n f2 = zfe(a.a);\n }\n nde(a);\n break;\n case 0:\n if (a.a == 93 || a.a == 123 || a.a == 125)\n throw vbb(new mde(tvd((h0d(), Hue))));\n f2 = zfe(a.a);\n d = a.a;\n nde(a);\n if ((d & 64512) == Uje && a.c == 0 && (a.a & 64512) == 56320) {\n e = KC(TD, $ie, 25, 2, 15, 1);\n e[0] = d & aje;\n e[1] = a.a & aje;\n f2 = Efe(Ffe(zfb(e, 0, e.length)), 0);\n nde(a);\n }\n break;\n default:\n throw vbb(new mde(tvd((h0d(), Hue))));\n }\n return f2;\n }\n function e7b(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r;\n d = new Rkb();\n e = Ohe;\n f2 = Ohe;\n g = Ohe;\n if (c2) {\n e = a.f.a;\n for (p = new olb(b.j); p.a < p.c.c.length; ) {\n o2 = BD(mlb(p), 11);\n for (i3 = new olb(o2.g); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 17);\n if (h.a.b != 0) {\n k = BD(Hsb(h.a), 8);\n if (k.a < e) {\n f2 = e - k.a;\n g = Ohe;\n d.c = KC(SI, Uhe, 1, 0, 5, 1);\n e = k.a;\n }\n if (k.a <= e) {\n d.c[d.c.length] = h;\n h.a.b > 1 && (g = $wnd.Math.min(g, $wnd.Math.abs(BD(Ut(h.a, 1), 8).b - k.b)));\n }\n }\n }\n }\n } else {\n for (p = new olb(b.j); p.a < p.c.c.length; ) {\n o2 = BD(mlb(p), 11);\n for (i3 = new olb(o2.e); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 17);\n if (h.a.b != 0) {\n m = BD(Isb(h.a), 8);\n if (m.a > e) {\n f2 = m.a - e;\n g = Ohe;\n d.c = KC(SI, Uhe, 1, 0, 5, 1);\n e = m.a;\n }\n if (m.a >= e) {\n d.c[d.c.length] = h;\n h.a.b > 1 && (g = $wnd.Math.min(g, $wnd.Math.abs(BD(Ut(h.a, h.a.b - 2), 8).b - m.b)));\n }\n }\n }\n }\n }\n if (d.c.length != 0 && f2 > b.o.a / 2 && g > b.o.b / 2) {\n n = new H0b();\n F0b(n, b);\n G0b(n, (Ucd(), Acd));\n n.n.a = b.o.a / 2;\n r = new H0b();\n F0b(r, b);\n G0b(r, Rcd);\n r.n.a = b.o.a / 2;\n r.n.b = b.o.b;\n for (i3 = new olb(d); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 17);\n if (c2) {\n j = BD(Lsb(h.a), 8);\n q = h.a.b == 0 ? A0b(h.d) : BD(Hsb(h.a), 8);\n q.b >= j.b ? QZb(h, r) : QZb(h, n);\n } else {\n j = BD(Msb(h.a), 8);\n q = h.a.b == 0 ? A0b(h.c) : BD(Isb(h.a), 8);\n q.b >= j.b ? RZb(h, r) : RZb(h, n);\n }\n l = BD(vNb(h, (Nyc(), jxc)), 74);\n !!l && ze(l, j, true);\n }\n b.n.a = e - b.o.a / 2;\n }\n }\n function erd(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F, G, H, I, J, K2;\n D = null;\n G = b;\n F = Rqd(a, dtd(c2), G);\n Lkd(F, _pd(G, Vte));\n H = BD(oo(a.g, Vpd(aC(G, Cte))), 33);\n m = aC(G, \"sourcePort\");\n d = null;\n !!m && (d = Vpd(m));\n I = BD(oo(a.j, d), 118);\n if (!H) {\n h = Wpd(G);\n o2 = \"An edge must have a source node (edge id: '\" + h;\n p = o2 + $te;\n throw vbb(new cqd(p));\n }\n if (!!I && !Hb(mpd(I), H)) {\n i3 = _pd(G, Vte);\n q = \"The source port of an edge must be a port of the edge's source node (edge id: '\" + i3;\n r = q + $te;\n throw vbb(new cqd(r));\n }\n B = (!F.b && (F.b = new y5d(z2, F, 4, 7)), F.b);\n f2 = null;\n I ? f2 = I : f2 = H;\n wtd(B, f2);\n J = BD(oo(a.g, Vpd(aC(G, bue))), 33);\n n = aC(G, \"targetPort\");\n e = null;\n !!n && (e = Vpd(n));\n K2 = BD(oo(a.j, e), 118);\n if (!J) {\n l = Wpd(G);\n s = \"An edge must have a target node (edge id: '\" + l;\n t = s + $te;\n throw vbb(new cqd(t));\n }\n if (!!K2 && !Hb(mpd(K2), J)) {\n j = _pd(G, Vte);\n u = \"The target port of an edge must be a port of the edge's target node (edge id: '\" + j;\n v = u + $te;\n throw vbb(new cqd(v));\n }\n C = (!F.c && (F.c = new y5d(z2, F, 5, 8)), F.c);\n g = null;\n K2 ? g = K2 : g = J;\n wtd(C, g);\n if ((!F.b && (F.b = new y5d(z2, F, 4, 7)), F.b).i == 0 || (!F.c && (F.c = new y5d(z2, F, 5, 8)), F.c).i == 0) {\n k = _pd(G, Vte);\n w2 = Zte + k;\n A = w2 + $te;\n throw vbb(new cqd(A));\n }\n grd(G, F);\n frd(G, F);\n D = crd(a, G, F);\n return D;\n }\n function DXb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D;\n l = FXb(zXb(a, (Ucd(), Fcd)), b);\n o2 = EXb(zXb(a, Gcd), b);\n u = EXb(zXb(a, Ocd), b);\n B = GXb(zXb(a, Qcd), b);\n m = GXb(zXb(a, Bcd), b);\n s = EXb(zXb(a, Ncd), b);\n p = EXb(zXb(a, Hcd), b);\n w2 = EXb(zXb(a, Pcd), b);\n v = EXb(zXb(a, Ccd), b);\n C = GXb(zXb(a, Ecd), b);\n r = EXb(zXb(a, Lcd), b);\n t = EXb(zXb(a, Kcd), b);\n A = EXb(zXb(a, Dcd), b);\n D = GXb(zXb(a, Mcd), b);\n n = GXb(zXb(a, Icd), b);\n q = EXb(zXb(a, Jcd), b);\n c2 = w6c(OC(GC(UD, 1), Vje, 25, 15, [s.a, B.a, w2.a, D.a]));\n d = w6c(OC(GC(UD, 1), Vje, 25, 15, [o2.a, l.a, u.a, q.a]));\n e = r.a;\n f2 = w6c(OC(GC(UD, 1), Vje, 25, 15, [p.a, m.a, v.a, n.a]));\n j = w6c(OC(GC(UD, 1), Vje, 25, 15, [s.b, o2.b, p.b, t.b]));\n i3 = w6c(OC(GC(UD, 1), Vje, 25, 15, [B.b, l.b, m.b, q.b]));\n k = C.b;\n h = w6c(OC(GC(UD, 1), Vje, 25, 15, [w2.b, u.b, v.b, A.b]));\n vXb(zXb(a, Fcd), c2 + e, j + k);\n vXb(zXb(a, Jcd), c2 + e, j + k);\n vXb(zXb(a, Gcd), c2 + e, 0);\n vXb(zXb(a, Ocd), c2 + e, j + k + i3);\n vXb(zXb(a, Qcd), 0, j + k);\n vXb(zXb(a, Bcd), c2 + e + d, j + k);\n vXb(zXb(a, Hcd), c2 + e + d, 0);\n vXb(zXb(a, Pcd), 0, j + k + i3);\n vXb(zXb(a, Ccd), c2 + e + d, j + k + i3);\n vXb(zXb(a, Ecd), 0, j);\n vXb(zXb(a, Lcd), c2, 0);\n vXb(zXb(a, Dcd), 0, j + k + i3);\n vXb(zXb(a, Icd), c2 + e + d, 0);\n g = new d7c();\n g.a = w6c(OC(GC(UD, 1), Vje, 25, 15, [c2 + d + e + f2, C.a, t.a, A.a]));\n g.b = w6c(OC(GC(UD, 1), Vje, 25, 15, [j + i3 + k + h, r.b, D.b, n.b]));\n return g;\n }\n function Ngc(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q;\n p = new Rkb();\n for (m = new olb(a.d.b); m.a < m.c.c.length; ) {\n l = BD(mlb(m), 29);\n for (o2 = new olb(l.a); o2.a < o2.c.c.length; ) {\n n = BD(mlb(o2), 10);\n e = BD(Ohb(a.f, n), 57);\n for (i3 = new Sr(ur(U_b(n).a.Kc(), new Sq())); Qr(i3); ) {\n g = BD(Rr(i3), 17);\n d = Jsb(g.a, 0);\n j = true;\n k = null;\n if (d.b != d.d.c) {\n b = BD(Xsb(d), 8);\n c2 = null;\n if (g.c.j == (Ucd(), Acd)) {\n q = new hic(b, new f7c(b.a, e.d.d), e, g);\n q.f.a = true;\n q.a = g.c;\n p.c[p.c.length] = q;\n }\n if (g.c.j == Rcd) {\n q = new hic(b, new f7c(b.a, e.d.d + e.d.a), e, g);\n q.f.d = true;\n q.a = g.c;\n p.c[p.c.length] = q;\n }\n while (d.b != d.d.c) {\n c2 = BD(Xsb(d), 8);\n if (!ADb(b.b, c2.b)) {\n k = new hic(b, c2, null, g);\n p.c[p.c.length] = k;\n if (j) {\n j = false;\n if (c2.b < e.d.d) {\n k.f.a = true;\n } else if (c2.b > e.d.d + e.d.a) {\n k.f.d = true;\n } else {\n k.f.d = true;\n k.f.a = true;\n }\n }\n }\n d.b != d.d.c && (b = c2);\n }\n if (k) {\n f2 = BD(Ohb(a.f, g.d.i), 57);\n if (b.b < f2.d.d) {\n k.f.a = true;\n } else if (b.b > f2.d.d + f2.d.a) {\n k.f.d = true;\n } else {\n k.f.d = true;\n k.f.a = true;\n }\n }\n }\n }\n for (h = new Sr(ur(R_b(n).a.Kc(), new Sq())); Qr(h); ) {\n g = BD(Rr(h), 17);\n if (g.a.b != 0) {\n b = BD(Isb(g.a), 8);\n if (g.d.j == (Ucd(), Acd)) {\n q = new hic(b, new f7c(b.a, e.d.d), e, g);\n q.f.a = true;\n q.a = g.d;\n p.c[p.c.length] = q;\n }\n if (g.d.j == Rcd) {\n q = new hic(b, new f7c(b.a, e.d.d + e.d.a), e, g);\n q.f.d = true;\n q.a = g.d;\n p.c[p.c.length] = q;\n }\n }\n }\n }\n }\n return p;\n }\n function WJc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l;\n Odd(c2, \"Network simplex node placement\", 1);\n a.e = b;\n a.n = BD(vNb(b, (wtc(), otc)), 304);\n VJc(a);\n HJc(a);\n MAb(LAb(new YAb(null, new Kub(a.e.b, 16)), new KKc()), new MKc(a));\n MAb(JAb(LAb(JAb(LAb(new YAb(null, new Kub(a.e.b, 16)), new zLc()), new BLc()), new DLc()), new FLc()), new IKc(a));\n if (Ccb(DD(vNb(a.e, (Nyc(), Axc))))) {\n g = Udd(c2, 1);\n Odd(g, \"Straight Edges Pre-Processing\", 1);\n UJc(a);\n Qdd(g);\n }\n JFb(a.f);\n f2 = BD(vNb(b, Ayc), 19).a * a.f.a.c.length;\n uGb(HGb(IGb(LGb(a.f), f2), false), Udd(c2, 1));\n if (a.d.a.gc() != 0) {\n g = Udd(c2, 1);\n Odd(g, \"Flexible Where Space Processing\", 1);\n h = BD(Btb(RAb(NAb(new YAb(null, new Kub(a.f.a, 16)), new OKc()), new iKc())), 19).a;\n i3 = BD(Btb(QAb(NAb(new YAb(null, new Kub(a.f.a, 16)), new QKc()), new mKc())), 19).a;\n j = i3 - h;\n k = nGb(new pGb(), a.f);\n l = nGb(new pGb(), a.f);\n AFb(DFb(CFb(BFb(EFb(new FFb(), 2e4), j), k), l));\n MAb(JAb(JAb(Plb(a.i), new SKc()), new UKc()), new WKc(h, k, j, l));\n for (e = a.d.a.ec().Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 213);\n d.g = 1;\n }\n uGb(HGb(IGb(LGb(a.f), f2), false), Udd(g, 1));\n Qdd(g);\n }\n if (Ccb(DD(vNb(b, Axc)))) {\n g = Udd(c2, 1);\n Odd(g, \"Straight Edges Post-Processing\", 1);\n TJc(a);\n Qdd(g);\n }\n GJc(a);\n a.e = null;\n a.f = null;\n a.i = null;\n a.c = null;\n Uhb(a.k);\n a.j = null;\n a.a = null;\n a.o = null;\n a.d.a.$b();\n Qdd(c2);\n }\n function lMc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v;\n for (h = new olb(a.a.b); h.a < h.c.c.length; ) {\n f2 = BD(mlb(h), 29);\n for (t = new olb(f2.a); t.a < t.c.c.length; ) {\n s = BD(mlb(t), 10);\n b.g[s.p] = s;\n b.a[s.p] = s;\n b.d[s.p] = 0;\n }\n }\n i3 = a.a.b;\n b.c == (YLc(), WLc) && (i3 = JD(i3, 152) ? km(BD(i3, 152)) : JD(i3, 131) ? BD(i3, 131).a : JD(i3, 54) ? new ov(i3) : new dv(i3));\n for (g = i3.Kc(); g.Ob(); ) {\n f2 = BD(g.Pb(), 29);\n n = -1;\n m = f2.a;\n if (b.o == (eMc(), dMc)) {\n n = Ohe;\n m = JD(m, 152) ? km(BD(m, 152)) : JD(m, 131) ? BD(m, 131).a : JD(m, 54) ? new ov(m) : new dv(m);\n }\n for (v = m.Kc(); v.Ob(); ) {\n u = BD(v.Pb(), 10);\n l = null;\n b.c == WLc ? l = BD(Ikb(a.b.f, u.p), 15) : l = BD(Ikb(a.b.b, u.p), 15);\n if (l.gc() > 0) {\n d = l.gc();\n j = QD($wnd.Math.floor((d + 1) / 2)) - 1;\n e = QD($wnd.Math.ceil((d + 1) / 2)) - 1;\n if (b.o == dMc) {\n for (k = e; k >= j; k--) {\n if (b.a[u.p] == u) {\n p = BD(l.Xb(k), 46);\n o2 = BD(p.a, 10);\n if (!Rqb(c2, p.b) && n > a.b.e[o2.p]) {\n b.a[o2.p] = u;\n b.g[u.p] = b.g[o2.p];\n b.a[u.p] = b.g[u.p];\n b.f[b.g[u.p].p] = (Bcb(), Ccb(b.f[b.g[u.p].p]) & u.k == (j0b(), g0b) ? true : false);\n n = a.b.e[o2.p];\n }\n }\n }\n } else {\n for (k = j; k <= e; k++) {\n if (b.a[u.p] == u) {\n r = BD(l.Xb(k), 46);\n q = BD(r.a, 10);\n if (!Rqb(c2, r.b) && n < a.b.e[q.p]) {\n b.a[q.p] = u;\n b.g[u.p] = b.g[q.p];\n b.a[u.p] = b.g[u.p];\n b.f[b.g[u.p].p] = (Bcb(), Ccb(b.f[b.g[u.p].p]) & u.k == (j0b(), g0b) ? true : false);\n n = a.b.e[q.p];\n }\n }\n }\n }\n }\n }\n }\n }\n function Thd() {\n Thd = ccb;\n Hhd();\n Shd = Ghd.a;\n BD(qud(ZKd(Ghd.a), 0), 18);\n Mhd = Ghd.f;\n BD(qud(ZKd(Ghd.f), 0), 18);\n BD(qud(ZKd(Ghd.f), 1), 34);\n Rhd = Ghd.n;\n BD(qud(ZKd(Ghd.n), 0), 34);\n BD(qud(ZKd(Ghd.n), 1), 34);\n BD(qud(ZKd(Ghd.n), 2), 34);\n BD(qud(ZKd(Ghd.n), 3), 34);\n Nhd = Ghd.g;\n BD(qud(ZKd(Ghd.g), 0), 18);\n BD(qud(ZKd(Ghd.g), 1), 34);\n Jhd = Ghd.c;\n BD(qud(ZKd(Ghd.c), 0), 18);\n BD(qud(ZKd(Ghd.c), 1), 18);\n Ohd = Ghd.i;\n BD(qud(ZKd(Ghd.i), 0), 18);\n BD(qud(ZKd(Ghd.i), 1), 18);\n BD(qud(ZKd(Ghd.i), 2), 18);\n BD(qud(ZKd(Ghd.i), 3), 18);\n BD(qud(ZKd(Ghd.i), 4), 34);\n Phd = Ghd.j;\n BD(qud(ZKd(Ghd.j), 0), 18);\n Khd = Ghd.d;\n BD(qud(ZKd(Ghd.d), 0), 18);\n BD(qud(ZKd(Ghd.d), 1), 18);\n BD(qud(ZKd(Ghd.d), 2), 18);\n BD(qud(ZKd(Ghd.d), 3), 18);\n BD(qud(ZKd(Ghd.d), 4), 34);\n BD(qud(ZKd(Ghd.d), 5), 34);\n BD(qud(ZKd(Ghd.d), 6), 34);\n BD(qud(ZKd(Ghd.d), 7), 34);\n Ihd = Ghd.b;\n BD(qud(ZKd(Ghd.b), 0), 34);\n BD(qud(ZKd(Ghd.b), 1), 34);\n Lhd = Ghd.e;\n BD(qud(ZKd(Ghd.e), 0), 34);\n BD(qud(ZKd(Ghd.e), 1), 34);\n BD(qud(ZKd(Ghd.e), 2), 34);\n BD(qud(ZKd(Ghd.e), 3), 34);\n BD(qud(ZKd(Ghd.e), 4), 18);\n BD(qud(ZKd(Ghd.e), 5), 18);\n BD(qud(ZKd(Ghd.e), 6), 18);\n BD(qud(ZKd(Ghd.e), 7), 18);\n BD(qud(ZKd(Ghd.e), 8), 18);\n BD(qud(ZKd(Ghd.e), 9), 18);\n BD(qud(ZKd(Ghd.e), 10), 34);\n Qhd = Ghd.k;\n BD(qud(ZKd(Ghd.k), 0), 34);\n BD(qud(ZKd(Ghd.k), 1), 34);\n }\n function wQc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F;\n C = new Psb();\n w2 = new Psb();\n q = -1;\n for (i3 = new olb(a); i3.a < i3.c.c.length; ) {\n g = BD(mlb(i3), 128);\n g.s = q--;\n k = 0;\n t = 0;\n for (f2 = new olb(g.t); f2.a < f2.c.c.length; ) {\n d = BD(mlb(f2), 268);\n t += d.c;\n }\n for (e = new olb(g.i); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 268);\n k += d.c;\n }\n g.n = k;\n g.u = t;\n t == 0 ? (Gsb(w2, g, w2.c.b, w2.c), true) : k == 0 && (Gsb(C, g, C.c.b, C.c), true);\n }\n F = Gx(a);\n l = a.c.length;\n p = l + 1;\n r = l - 1;\n n = new Rkb();\n while (F.a.gc() != 0) {\n while (w2.b != 0) {\n v = (sCb(w2.b != 0), BD(Nsb(w2, w2.a.a), 128));\n F.a.Bc(v) != null;\n v.s = r--;\n AQc(v, C, w2);\n }\n while (C.b != 0) {\n A = (sCb(C.b != 0), BD(Nsb(C, C.a.a), 128));\n F.a.Bc(A) != null;\n A.s = p++;\n AQc(A, C, w2);\n }\n o2 = Rie;\n for (j = F.a.ec().Kc(); j.Ob(); ) {\n g = BD(j.Pb(), 128);\n s = g.u - g.n;\n if (s >= o2) {\n if (s > o2) {\n n.c = KC(SI, Uhe, 1, 0, 5, 1);\n o2 = s;\n }\n n.c[n.c.length] = g;\n }\n }\n if (n.c.length != 0) {\n m = BD(Ikb(n, Bub(b, n.c.length)), 128);\n F.a.Bc(m) != null;\n m.s = p++;\n AQc(m, C, w2);\n n.c = KC(SI, Uhe, 1, 0, 5, 1);\n }\n }\n u = a.c.length + 1;\n for (h = new olb(a); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 128);\n g.s < l && (g.s += u);\n }\n for (B = new olb(a); B.a < B.c.c.length; ) {\n A = BD(mlb(B), 128);\n c2 = new Bib(A.t, 0);\n while (c2.b < c2.d.gc()) {\n d = (sCb(c2.b < c2.d.gc()), BD(c2.d.Xb(c2.c = c2.b++), 268));\n D = d.b;\n if (A.s > D.s) {\n uib(c2);\n Lkb(D.i, d);\n if (d.c > 0) {\n d.a = D;\n Ekb(D.t, d);\n d.b = A;\n Ekb(A.i, d);\n }\n }\n }\n }\n }\n function qde(a) {\n var b, c2, d, e, f2;\n b = a.c;\n switch (b) {\n case 11:\n return a.Ml();\n case 12:\n return a.Ol();\n case 14:\n return a.Ql();\n case 15:\n return a.Tl();\n case 16:\n return a.Rl();\n case 17:\n return a.Ul();\n case 21:\n nde(a);\n return wfe(), wfe(), ffe;\n case 10:\n switch (a.a) {\n case 65:\n return a.yl();\n case 90:\n return a.Dl();\n case 122:\n return a.Kl();\n case 98:\n return a.El();\n case 66:\n return a.zl();\n case 60:\n return a.Jl();\n case 62:\n return a.Hl();\n }\n }\n f2 = pde(a);\n b = a.c;\n switch (b) {\n case 3:\n return a.Zl(f2);\n case 4:\n return a.Xl(f2);\n case 5:\n return a.Yl(f2);\n case 0:\n if (a.a == 123 && a.d < a.j) {\n e = a.d;\n d = 0;\n c2 = -1;\n if ((b = bfb(a.i, e++)) >= 48 && b <= 57) {\n d = b - 48;\n while (e < a.j && (b = bfb(a.i, e++)) >= 48 && b <= 57) {\n d = d * 10 + b - 48;\n if (d < 0)\n throw vbb(new mde(tvd((h0d(), bve))));\n }\n } else {\n throw vbb(new mde(tvd((h0d(), Zue))));\n }\n c2 = d;\n if (b == 44) {\n if (e >= a.j) {\n throw vbb(new mde(tvd((h0d(), _ue))));\n } else if ((b = bfb(a.i, e++)) >= 48 && b <= 57) {\n c2 = b - 48;\n while (e < a.j && (b = bfb(a.i, e++)) >= 48 && b <= 57) {\n c2 = c2 * 10 + b - 48;\n if (c2 < 0)\n throw vbb(new mde(tvd((h0d(), bve))));\n }\n if (d > c2)\n throw vbb(new mde(tvd((h0d(), ave))));\n } else {\n c2 = -1;\n }\n }\n if (b != 125)\n throw vbb(new mde(tvd((h0d(), $ue))));\n if (a.sl(e)) {\n f2 = (wfe(), wfe(), new lge(9, f2));\n a.d = e + 1;\n } else {\n f2 = (wfe(), wfe(), new lge(3, f2));\n a.d = e;\n }\n f2.dm(d);\n f2.cm(c2);\n nde(a);\n }\n }\n return f2;\n }\n function $bc(a, b, c2, d, e) {\n var f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F;\n p = new Skb(b.b);\n u = new Skb(b.b);\n m = new Skb(b.b);\n B = new Skb(b.b);\n q = new Skb(b.b);\n for (A = Jsb(b, 0); A.b != A.d.c; ) {\n v = BD(Xsb(A), 11);\n for (h = new olb(v.g); h.a < h.c.c.length; ) {\n f2 = BD(mlb(h), 17);\n if (f2.c.i == f2.d.i) {\n if (v.j == f2.d.j) {\n B.c[B.c.length] = f2;\n continue;\n } else if (v.j == (Ucd(), Acd) && f2.d.j == Rcd) {\n q.c[q.c.length] = f2;\n continue;\n }\n }\n }\n }\n for (i3 = new olb(q); i3.a < i3.c.c.length; ) {\n f2 = BD(mlb(i3), 17);\n _bc(a, f2, c2, d, (Ucd(), zcd));\n }\n for (g = new olb(B); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 17);\n C = new b0b(a);\n __b(C, (j0b(), i0b));\n yNb(C, (Nyc(), Vxc), (dcd(), $bd));\n yNb(C, (wtc(), $sc), f2);\n D = new H0b();\n yNb(D, $sc, f2.d);\n G0b(D, (Ucd(), Tcd));\n F0b(D, C);\n F = new H0b();\n yNb(F, $sc, f2.c);\n G0b(F, zcd);\n F0b(F, C);\n yNb(f2.c, gtc, C);\n yNb(f2.d, gtc, C);\n QZb(f2, null);\n RZb(f2, null);\n c2.c[c2.c.length] = C;\n yNb(C, ysc, meb(2));\n }\n for (w2 = Jsb(b, 0); w2.b != w2.d.c; ) {\n v = BD(Xsb(w2), 11);\n j = v.e.c.length > 0;\n r = v.g.c.length > 0;\n j && r ? (m.c[m.c.length] = v, true) : j ? (p.c[p.c.length] = v, true) : r && (u.c[u.c.length] = v, true);\n }\n for (o2 = new olb(p); o2.a < o2.c.c.length; ) {\n n = BD(mlb(o2), 11);\n Ekb(e, Zbc(a, n, null, c2));\n }\n for (t = new olb(u); t.a < t.c.c.length; ) {\n s = BD(mlb(t), 11);\n Ekb(e, Zbc(a, null, s, c2));\n }\n for (l = new olb(m); l.a < l.c.c.length; ) {\n k = BD(mlb(l), 11);\n Ekb(e, Zbc(a, k, k, c2));\n }\n }\n function NCb(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D;\n s = new f7c(Pje, Pje);\n b = new f7c(Qje, Qje);\n for (B = new olb(a); B.a < B.c.c.length; ) {\n A = BD(mlb(B), 8);\n s.a = $wnd.Math.min(s.a, A.a);\n s.b = $wnd.Math.min(s.b, A.b);\n b.a = $wnd.Math.max(b.a, A.a);\n b.b = $wnd.Math.max(b.b, A.b);\n }\n m = new f7c(b.a - s.a, b.b - s.b);\n j = new f7c(s.a - 50, s.b - m.a - 50);\n k = new f7c(s.a - 50, b.b + m.a + 50);\n l = new f7c(b.a + m.b / 2 + 50, s.b + m.b / 2);\n n = new eDb(j, k, l);\n w2 = new Tqb();\n f2 = new Rkb();\n c2 = new Rkb();\n w2.a.zc(n, w2);\n for (D = new olb(a); D.a < D.c.c.length; ) {\n C = BD(mlb(D), 8);\n f2.c = KC(SI, Uhe, 1, 0, 5, 1);\n for (v = w2.a.ec().Kc(); v.Ob(); ) {\n t = BD(v.Pb(), 308);\n d = t.d;\n S6c(d, t.a);\n Jy(S6c(t.d, C), S6c(t.d, t.a)) < 0 && (f2.c[f2.c.length] = t, true);\n }\n c2.c = KC(SI, Uhe, 1, 0, 5, 1);\n for (u = new olb(f2); u.a < u.c.c.length; ) {\n t = BD(mlb(u), 308);\n for (q = new olb(t.e); q.a < q.c.c.length; ) {\n o2 = BD(mlb(q), 168);\n g = true;\n for (i3 = new olb(f2); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 308);\n h != t && (wtb(o2, Ikb(h.e, 0)) || wtb(o2, Ikb(h.e, 1)) || wtb(o2, Ikb(h.e, 2))) && (g = false);\n }\n g && (c2.c[c2.c.length] = o2, true);\n }\n }\n Ve(w2, f2);\n reb(w2, new OCb());\n for (p = new olb(c2); p.a < p.c.c.length; ) {\n o2 = BD(mlb(p), 168);\n Qqb(w2, new eDb(C, o2.a, o2.b));\n }\n }\n r = new Tqb();\n reb(w2, new QCb(r));\n e = r.a.ec().Kc();\n while (e.Ob()) {\n o2 = BD(e.Pb(), 168);\n (dDb(n, o2.a) || dDb(n, o2.b)) && e.Qb();\n }\n reb(r, new SCb());\n return r;\n }\n function _Tb(a) {\n var b, c2, d, e, f2;\n c2 = BD(vNb(a, (wtc(), Ksc)), 21);\n b = k3c(WTb);\n e = BD(vNb(a, (Nyc(), axc)), 334);\n e == (hbd(), ebd) && d3c(b, XTb);\n Ccb(DD(vNb(a, $wc))) ? e3c(b, (qUb(), lUb), (S8b(), I8b)) : e3c(b, (qUb(), nUb), (S8b(), I8b));\n vNb(a, (g6c(), f6c)) != null && d3c(b, YTb);\n (Ccb(DD(vNb(a, hxc))) || Ccb(DD(vNb(a, _wc)))) && c3c(b, (qUb(), pUb), (S8b(), W7b));\n switch (BD(vNb(a, Lwc), 103).g) {\n case 2:\n case 3:\n case 4:\n c3c(e3c(b, (qUb(), lUb), (S8b(), Y7b)), pUb, X7b);\n }\n c2.Hc((Orc(), Frc)) && c3c(e3c(e3c(b, (qUb(), lUb), (S8b(), V7b)), oUb, T7b), pUb, U7b);\n PD(vNb(a, rxc)) !== PD((kAc(), iAc)) && e3c(b, (qUb(), nUb), (S8b(), A8b));\n if (c2.Hc(Mrc)) {\n e3c(b, (qUb(), lUb), (S8b(), G8b));\n e3c(b, mUb, E8b);\n e3c(b, nUb, F8b);\n }\n PD(vNb(a, swc)) !== PD((yrc(), wrc)) && PD(vNb(a, Swc)) !== PD((Aad(), xad)) && c3c(b, (qUb(), pUb), (S8b(), j8b));\n Ccb(DD(vNb(a, cxc))) && e3c(b, (qUb(), nUb), (S8b(), i8b));\n Ccb(DD(vNb(a, Hwc))) && e3c(b, (qUb(), nUb), (S8b(), O8b));\n if (cUb(a)) {\n PD(vNb(a, axc)) === PD(ebd) ? d = BD(vNb(a, Cwc), 292) : d = BD(vNb(a, Dwc), 292);\n f2 = d == (Xrc(), Vrc) ? (S8b(), D8b) : (S8b(), R8b);\n e3c(b, (qUb(), oUb), f2);\n }\n switch (BD(vNb(a, Kyc), 377).g) {\n case 1:\n e3c(b, (qUb(), oUb), (S8b(), P8b));\n break;\n case 2:\n c3c(e3c(e3c(b, (qUb(), nUb), (S8b(), P7b)), oUb, Q7b), pUb, R7b);\n }\n PD(vNb(a, ywc)) !== PD((tAc(), rAc)) && e3c(b, (qUb(), nUb), (S8b(), Q8b));\n return b;\n }\n function mZc(a) {\n r4c(a, new E3c(P3c(M3c(O3c(N3c(new R3c(), Kre), \"ELK Rectangle Packing\"), \"Algorithm for packing of unconnected boxes, i.e. graphs without edges. The given order of the boxes is always preserved and the main reading direction of the boxes is left to right. The algorithm is divided into two phases. One phase approximates the width in which the rectangles can be placed. The next phase places the rectangles in rows using the previously calculated width as bounding width and bundles rectangles with a similar height in blocks. A compaction step reduces the size of the drawing. Finally, the rectangles are expanded to fill their bounding box and eliminate empty unused spaces.\"), new pZc())));\n p4c(a, Kre, _le, 1.3);\n p4c(a, Kre, Jre, Ksd(VYc));\n p4c(a, Kre, ame, gZc);\n p4c(a, Kre, wme, 15);\n p4c(a, Kre, lqe, Ksd(SYc));\n p4c(a, Kre, Fme, Ksd(_Yc));\n p4c(a, Kre, Tme, Ksd(aZc));\n p4c(a, Kre, Eme, Ksd(bZc));\n p4c(a, Kre, Gme, Ksd($Yc));\n p4c(a, Kre, Dme, Ksd(cZc));\n p4c(a, Kre, Hme, Ksd(hZc));\n p4c(a, Kre, Bre, Ksd(eZc));\n p4c(a, Kre, Cre, Ksd(ZYc));\n p4c(a, Kre, Fre, Ksd(dZc));\n p4c(a, Kre, Gre, Ksd(iZc));\n p4c(a, Kre, Hre, Ksd(WYc));\n p4c(a, Kre, Ame, Ksd(XYc));\n p4c(a, Kre, xqe, Ksd(YYc));\n p4c(a, Kre, Ere, Ksd(UYc));\n p4c(a, Kre, Dre, Ksd(TYc));\n p4c(a, Kre, Ire, Ksd(kZc));\n }\n function Wmd(b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r;\n if (d == null) {\n return null;\n }\n if (b.a != c2.Aj()) {\n throw vbb(new Wdb(tte + c2.ne() + ute));\n }\n if (JD(c2, 457)) {\n r = _Pd(BD(c2, 671), d);\n if (!r) {\n throw vbb(new Wdb(vte + d + \"' is not a valid enumerator of '\" + c2.ne() + \"'\"));\n }\n return r;\n }\n switch (o1d((O6d(), M6d), c2).cl()) {\n case 2: {\n d = Qge(d, false);\n break;\n }\n case 3: {\n d = Qge(d, true);\n break;\n }\n }\n e = o1d(M6d, c2).$k();\n if (e) {\n return e.Aj().Nh().Kh(e, d);\n }\n n = o1d(M6d, c2).al();\n if (n) {\n r = new Rkb();\n for (k = Zmd(d), l = 0, m = k.length; l < m; ++l) {\n j = k[l];\n Ekb(r, n.Aj().Nh().Kh(n, j));\n }\n return r;\n }\n q = o1d(M6d, c2).bl();\n if (!q.dc()) {\n for (p = q.Kc(); p.Ob(); ) {\n o2 = BD(p.Pb(), 148);\n try {\n r = o2.Aj().Nh().Kh(o2, d);\n if (r != null) {\n return r;\n }\n } catch (a) {\n a = ubb(a);\n if (!JD(a, 60))\n throw vbb(a);\n }\n }\n throw vbb(new Wdb(vte + d + \"' does not match any member types of the union datatype '\" + c2.ne() + \"'\"));\n }\n BD(c2, 834).Fj();\n f2 = r6d(c2.Bj());\n if (!f2)\n return null;\n if (f2 == yI) {\n h = 0;\n try {\n h = Icb(d, Rie, Ohe) & aje;\n } catch (a) {\n a = ubb(a);\n if (JD(a, 127)) {\n g = rfb(d);\n h = g[0];\n } else\n throw vbb(a);\n }\n return bdb(h);\n }\n if (f2 == $J) {\n for (i3 = 0; i3 < Pmd.length; ++i3) {\n try {\n return DQd(Pmd[i3], d);\n } catch (a) {\n a = ubb(a);\n if (!JD(a, 32))\n throw vbb(a);\n }\n }\n throw vbb(new Wdb(vte + d + \"' is not a date formatted string of the form yyyy-MM-dd'T'HH:mm:ss'.'SSSZ or a valid subset thereof\"));\n }\n throw vbb(new Wdb(vte + d + \"' is invalid. \"));\n }\n function ngb(a, b) {\n var c2, d, e, f2, g, h, i3, j;\n c2 = 0;\n g = 0;\n f2 = b.length;\n h = null;\n j = new Vfb();\n if (g < f2 && (BCb(g, b.length), b.charCodeAt(g) == 43)) {\n ++g;\n ++c2;\n if (g < f2 && (BCb(g, b.length), b.charCodeAt(g) == 43 || (BCb(g, b.length), b.charCodeAt(g) == 45))) {\n throw vbb(new Oeb(Oje + b + '\"'));\n }\n }\n while (g < f2 && (BCb(g, b.length), b.charCodeAt(g) != 46) && (BCb(g, b.length), b.charCodeAt(g) != 101) && (BCb(g, b.length), b.charCodeAt(g) != 69)) {\n ++g;\n }\n j.a += \"\" + qfb(b == null ? Xhe : (uCb(b), b), c2, g);\n if (g < f2 && (BCb(g, b.length), b.charCodeAt(g) == 46)) {\n ++g;\n c2 = g;\n while (g < f2 && (BCb(g, b.length), b.charCodeAt(g) != 101) && (BCb(g, b.length), b.charCodeAt(g) != 69)) {\n ++g;\n }\n a.e = g - c2;\n j.a += \"\" + qfb(b == null ? Xhe : (uCb(b), b), c2, g);\n } else {\n a.e = 0;\n }\n if (g < f2 && (BCb(g, b.length), b.charCodeAt(g) == 101 || (BCb(g, b.length), b.charCodeAt(g) == 69))) {\n ++g;\n c2 = g;\n if (g < f2 && (BCb(g, b.length), b.charCodeAt(g) == 43)) {\n ++g;\n g < f2 && (BCb(g, b.length), b.charCodeAt(g) != 45) && ++c2;\n }\n h = b.substr(c2, f2 - c2);\n a.e = a.e - Icb(h, Rie, Ohe);\n if (a.e != QD(a.e)) {\n throw vbb(new Oeb(\"Scale out of range.\"));\n }\n }\n i3 = j.a;\n if (i3.length < 16) {\n a.f = (kgb == null && (kgb = new RegExp(\"^[+-]?\\\\d*$\", \"i\")), kgb.test(i3) ? parseInt(i3, 10) : NaN);\n if (isNaN(a.f)) {\n throw vbb(new Oeb(Oje + b + '\"'));\n }\n a.a = ugb(a.f);\n } else {\n ogb(a, new Ygb(i3));\n }\n a.d = j.a.length;\n for (e = 0; e < j.a.length; ++e) {\n d = bfb(j.a, e);\n if (d != 45 && d != 48) {\n break;\n }\n --a.d;\n }\n a.d == 0 && (a.d = 1);\n }\n function xXb() {\n xXb = ccb;\n wXb = new Hp();\n Rc(wXb, (Ucd(), Fcd), Jcd);\n Rc(wXb, Qcd, Jcd);\n Rc(wXb, Qcd, Mcd);\n Rc(wXb, Bcd, Icd);\n Rc(wXb, Bcd, Jcd);\n Rc(wXb, Gcd, Jcd);\n Rc(wXb, Gcd, Kcd);\n Rc(wXb, Ocd, Dcd);\n Rc(wXb, Ocd, Jcd);\n Rc(wXb, Lcd, Ecd);\n Rc(wXb, Lcd, Jcd);\n Rc(wXb, Lcd, Kcd);\n Rc(wXb, Lcd, Dcd);\n Rc(wXb, Ecd, Lcd);\n Rc(wXb, Ecd, Mcd);\n Rc(wXb, Ecd, Icd);\n Rc(wXb, Ecd, Jcd);\n Rc(wXb, Ncd, Ncd);\n Rc(wXb, Ncd, Kcd);\n Rc(wXb, Ncd, Mcd);\n Rc(wXb, Hcd, Hcd);\n Rc(wXb, Hcd, Kcd);\n Rc(wXb, Hcd, Icd);\n Rc(wXb, Pcd, Pcd);\n Rc(wXb, Pcd, Dcd);\n Rc(wXb, Pcd, Mcd);\n Rc(wXb, Ccd, Ccd);\n Rc(wXb, Ccd, Dcd);\n Rc(wXb, Ccd, Icd);\n Rc(wXb, Kcd, Gcd);\n Rc(wXb, Kcd, Lcd);\n Rc(wXb, Kcd, Ncd);\n Rc(wXb, Kcd, Hcd);\n Rc(wXb, Kcd, Jcd);\n Rc(wXb, Kcd, Kcd);\n Rc(wXb, Kcd, Mcd);\n Rc(wXb, Kcd, Icd);\n Rc(wXb, Dcd, Ocd);\n Rc(wXb, Dcd, Lcd);\n Rc(wXb, Dcd, Pcd);\n Rc(wXb, Dcd, Ccd);\n Rc(wXb, Dcd, Dcd);\n Rc(wXb, Dcd, Mcd);\n Rc(wXb, Dcd, Icd);\n Rc(wXb, Dcd, Jcd);\n Rc(wXb, Mcd, Qcd);\n Rc(wXb, Mcd, Ecd);\n Rc(wXb, Mcd, Ncd);\n Rc(wXb, Mcd, Pcd);\n Rc(wXb, Mcd, Kcd);\n Rc(wXb, Mcd, Dcd);\n Rc(wXb, Mcd, Mcd);\n Rc(wXb, Mcd, Jcd);\n Rc(wXb, Icd, Bcd);\n Rc(wXb, Icd, Ecd);\n Rc(wXb, Icd, Hcd);\n Rc(wXb, Icd, Ccd);\n Rc(wXb, Icd, Kcd);\n Rc(wXb, Icd, Dcd);\n Rc(wXb, Icd, Icd);\n Rc(wXb, Icd, Jcd);\n Rc(wXb, Jcd, Fcd);\n Rc(wXb, Jcd, Qcd);\n Rc(wXb, Jcd, Bcd);\n Rc(wXb, Jcd, Gcd);\n Rc(wXb, Jcd, Ocd);\n Rc(wXb, Jcd, Lcd);\n Rc(wXb, Jcd, Ecd);\n Rc(wXb, Jcd, Kcd);\n Rc(wXb, Jcd, Dcd);\n Rc(wXb, Jcd, Mcd);\n Rc(wXb, Jcd, Icd);\n Rc(wXb, Jcd, Jcd);\n }\n function YXb(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B;\n a.d = new f7c(Pje, Pje);\n a.c = new f7c(Qje, Qje);\n for (m = b.Kc(); m.Ob(); ) {\n k = BD(m.Pb(), 37);\n for (t = new olb(k.a); t.a < t.c.c.length; ) {\n s = BD(mlb(t), 10);\n a.d.a = $wnd.Math.min(a.d.a, s.n.a - s.d.b);\n a.d.b = $wnd.Math.min(a.d.b, s.n.b - s.d.d);\n a.c.a = $wnd.Math.max(a.c.a, s.n.a + s.o.a + s.d.c);\n a.c.b = $wnd.Math.max(a.c.b, s.n.b + s.o.b + s.d.a);\n }\n }\n h = new nYb();\n for (l = b.Kc(); l.Ob(); ) {\n k = BD(l.Pb(), 37);\n d = fYb(a, k);\n Ekb(h.a, d);\n d.a = d.a | !BD(vNb(d.c, (wtc(), Esc)), 21).dc();\n }\n a.b = (LUb(), B = new VUb(), B.f = new CUb(c2), B.b = BUb(B.f, h), B);\n PUb((o2 = a.b, new Zdd(), o2));\n a.e = new d7c();\n a.a = a.b.f.e;\n for (g = new olb(h.a); g.a < g.c.c.length; ) {\n e = BD(mlb(g), 841);\n u = QUb(a.b, e);\n g_b(e.c, u.a, u.b);\n for (q = new olb(e.c.a); q.a < q.c.c.length; ) {\n p = BD(mlb(q), 10);\n if (p.k == (j0b(), e0b)) {\n r = aYb(a, p.n, BD(vNb(p, (wtc(), Hsc)), 61));\n P6c(X6c(p.n), r);\n }\n }\n }\n for (f2 = new olb(h.a); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 841);\n for (j = new olb(lYb(e)); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 17);\n A = new t7c(i3.a);\n St(A, 0, A0b(i3.c));\n Dsb(A, A0b(i3.d));\n n = null;\n for (w2 = Jsb(A, 0); w2.b != w2.d.c; ) {\n v = BD(Xsb(w2), 8);\n if (!n) {\n n = v;\n continue;\n }\n if (Ky(n.a, v.a)) {\n a.e.a = $wnd.Math.min(a.e.a, n.a);\n a.a.a = $wnd.Math.max(a.a.a, n.a);\n } else if (Ky(n.b, v.b)) {\n a.e.b = $wnd.Math.min(a.e.b, n.b);\n a.a.b = $wnd.Math.max(a.a.b, n.b);\n }\n n = v;\n }\n }\n }\n V6c(a.e);\n P6c(a.a, a.e);\n }\n function wZd(a) {\n Bnd(a.b, _ve, OC(GC(ZI, 1), nie, 2, 6, [bwe, \"ConsistentTransient\"]));\n Bnd(a.a, _ve, OC(GC(ZI, 1), nie, 2, 6, [bwe, \"WellFormedSourceURI\"]));\n Bnd(a.o, _ve, OC(GC(ZI, 1), nie, 2, 6, [bwe, \"InterfaceIsAbstract AtMostOneID UniqueFeatureNames UniqueOperationSignatures NoCircularSuperTypes WellFormedMapEntryClass ConsistentSuperTypes DisjointFeatureAndOperationSignatures\"]));\n Bnd(a.p, _ve, OC(GC(ZI, 1), nie, 2, 6, [bwe, \"WellFormedInstanceTypeName UniqueTypeParameterNames\"]));\n Bnd(a.v, _ve, OC(GC(ZI, 1), nie, 2, 6, [bwe, \"UniqueEnumeratorNames UniqueEnumeratorLiterals\"]));\n Bnd(a.R, _ve, OC(GC(ZI, 1), nie, 2, 6, [bwe, \"WellFormedName\"]));\n Bnd(a.T, _ve, OC(GC(ZI, 1), nie, 2, 6, [bwe, \"UniqueParameterNames UniqueTypeParameterNames NoRepeatingVoid\"]));\n Bnd(a.U, _ve, OC(GC(ZI, 1), nie, 2, 6, [bwe, \"WellFormedNsURI WellFormedNsPrefix UniqueSubpackageNames UniqueClassifierNames UniqueNsURIs\"]));\n Bnd(a.W, _ve, OC(GC(ZI, 1), nie, 2, 6, [bwe, \"ConsistentOpposite SingleContainer ConsistentKeys ConsistentUnique ConsistentContainer\"]));\n Bnd(a.bb, _ve, OC(GC(ZI, 1), nie, 2, 6, [bwe, \"ValidDefaultValueLiteral\"]));\n Bnd(a.eb, _ve, OC(GC(ZI, 1), nie, 2, 6, [bwe, \"ValidLowerBound ValidUpperBound ConsistentBounds ValidType\"]));\n Bnd(a.H, _ve, OC(GC(ZI, 1), nie, 2, 6, [bwe, \"ConsistentType ConsistentBounds ConsistentArguments\"]));\n }\n function B4b(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C;\n if (b.dc()) {\n return;\n }\n e = new s7c();\n h = c2 ? c2 : BD(b.Xb(0), 17);\n o2 = h.c;\n hQc();\n m = o2.i.k;\n if (!(m == (j0b(), h0b) || m == i0b || m == e0b || m == d0b)) {\n throw vbb(new Wdb(\"The target node of the edge must be a normal node or a northSouthPort.\"));\n }\n Fsb(e, l7c(OC(GC(m1, 1), nie, 8, 0, [o2.i.n, o2.n, o2.a])));\n if ((Ucd(), Lcd).Hc(o2.j)) {\n q = Edb(ED(vNb(o2, (wtc(), qtc))));\n l = new f7c(l7c(OC(GC(m1, 1), nie, 8, 0, [o2.i.n, o2.n, o2.a])).a, q);\n Gsb(e, l, e.c.b, e.c);\n }\n k = null;\n d = false;\n i3 = b.Kc();\n while (i3.Ob()) {\n g = BD(i3.Pb(), 17);\n f2 = g.a;\n if (f2.b != 0) {\n if (d) {\n j = Y6c(P6c(k, (sCb(f2.b != 0), BD(f2.a.a.c, 8))), 0.5);\n Gsb(e, j, e.c.b, e.c);\n d = false;\n } else {\n d = true;\n }\n k = R6c((sCb(f2.b != 0), BD(f2.c.b.c, 8)));\n ye(e, f2);\n Osb(f2);\n }\n }\n p = h.d;\n if (Lcd.Hc(p.j)) {\n q = Edb(ED(vNb(p, (wtc(), qtc))));\n l = new f7c(l7c(OC(GC(m1, 1), nie, 8, 0, [p.i.n, p.n, p.a])).a, q);\n Gsb(e, l, e.c.b, e.c);\n }\n Fsb(e, l7c(OC(GC(m1, 1), nie, 8, 0, [p.i.n, p.n, p.a])));\n a.d == (tBc(), qBc) && (r = (sCb(e.b != 0), BD(e.a.a.c, 8)), s = BD(Ut(e, 1), 8), t = new e7c(bRc(o2.j)), t.a *= 5, t.b *= 5, u = c7c(new f7c(s.a, s.b), r), v = new f7c(A4b(t.a, u.a), A4b(t.b, u.b)), P6c(v, r), w2 = Jsb(e, 1), Vsb(w2, v), A = (sCb(e.b != 0), BD(e.c.b.c, 8)), B = BD(Ut(e, e.b - 2), 8), t = new e7c(bRc(p.j)), t.a *= 5, t.b *= 5, u = c7c(new f7c(B.a, B.b), A), C = new f7c(A4b(t.a, u.a), A4b(t.b, u.b)), P6c(C, A), St(e, e.b - 1, C), void 0);\n n = new YPc(e);\n ye(h.a, UPc(n));\n }\n function Kgd(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F, G, H, I, J, K2, L, M, N, O, P;\n t = BD(qud((!a.b && (a.b = new y5d(z2, a, 4, 7)), a.b), 0), 82);\n v = t.Dg();\n w2 = t.Eg();\n u = t.Cg() / 2;\n p = t.Bg() / 2;\n if (JD(t, 186)) {\n s = BD(t, 118);\n v += mpd(s).i;\n v += mpd(s).i;\n }\n v += u;\n w2 += p;\n F = BD(qud((!a.b && (a.b = new y5d(z2, a, 4, 7)), a.b), 0), 82);\n H = F.Dg();\n I = F.Eg();\n G = F.Cg() / 2;\n A = F.Bg() / 2;\n if (JD(F, 186)) {\n D = BD(F, 118);\n H += mpd(D).i;\n H += mpd(D).i;\n }\n H += G;\n I += A;\n if ((!a.a && (a.a = new cUd(A2, a, 6, 6)), a.a).i == 0) {\n h = (Fhd(), j = new rmd(), j);\n wtd((!a.a && (a.a = new cUd(A2, a, 6, 6)), a.a), h);\n } else if ((!a.a && (a.a = new cUd(A2, a, 6, 6)), a.a).i > 1) {\n o2 = new Oyd((!a.a && (a.a = new cUd(A2, a, 6, 6)), a.a));\n while (o2.e != o2.i.gc()) {\n Eyd(o2);\n }\n }\n g = BD(qud((!a.a && (a.a = new cUd(A2, a, 6, 6)), a.a), 0), 202);\n q = H;\n H > v + u ? q = v + u : H < v - u && (q = v - u);\n r = I;\n I > w2 + p ? r = w2 + p : I < w2 - p && (r = w2 - p);\n q > v - u && q < v + u && r > w2 - p && r < w2 + p && (q = v + u);\n omd(g, q);\n pmd(g, r);\n B = v;\n v > H + G ? B = H + G : v < H - G && (B = H - G);\n C = w2;\n w2 > I + A ? C = I + A : w2 < I - A && (C = I - A);\n B > H - G && B < H + G && C > I - A && C < I + A && (C = I + A);\n hmd(g, B);\n imd(g, C);\n Uxd((!g.a && (g.a = new xMd(y2, g, 5)), g.a));\n f2 = Bub(b, 5);\n t == F && ++f2;\n L = B - q;\n O = C - r;\n J = $wnd.Math.sqrt(L * L + O * O);\n l = J * 0.20000000298023224;\n M = L / (f2 + 1);\n P = O / (f2 + 1);\n K2 = q;\n N = r;\n for (k = 0; k < f2; k++) {\n K2 += M;\n N += P;\n m = K2 + Cub(b, 24) * lke * l - l / 2;\n m < 0 ? m = 1 : m > c2 && (m = c2 - 1);\n n = N + Cub(b, 24) * lke * l - l / 2;\n n < 0 ? n = 1 : n > d && (n = d - 1);\n e = (Fhd(), i3 = new xkd(), i3);\n vkd(e, m);\n wkd(e, n);\n wtd((!g.a && (g.a = new xMd(y2, g, 5)), g.a), e);\n }\n }\n function Nyc() {\n Nyc = ccb;\n iyc = (Y9c(), I9c);\n jyc = J9c;\n kyc = K9c;\n lyc = L9c;\n nyc = M9c;\n oyc = N9c;\n ryc = P9c;\n tyc = R9c;\n uyc = S9c;\n syc = Q9c;\n vyc = T9c;\n xyc = U9c;\n zyc = X9c;\n qyc = O9c;\n hyc = (jwc(), Bvc);\n myc = Cvc;\n pyc = Dvc;\n wyc = Evc;\n byc = new Osd(D9c, meb(0));\n cyc = yvc;\n dyc = zvc;\n eyc = Avc;\n Kyc = awc;\n Cyc = Hvc;\n Dyc = Kvc;\n Gyc = Svc;\n Eyc = Nvc;\n Fyc = Pvc;\n Myc = fwc;\n Lyc = cwc;\n Iyc = Yvc;\n Hyc = Wvc;\n Jyc = $vc;\n Cxc = pvc;\n Dxc = qvc;\n Xwc = Auc;\n Ywc = Duc;\n Lxc = new q0b(12);\n Kxc = new Osd(f9c, Lxc);\n Twc = (Aad(), wad);\n Swc = new Osd(E8c, Twc);\n Uxc = new Osd(s9c, 0);\n fyc = new Osd(E9c, meb(1));\n owc = new Osd(r8c, tme);\n Jxc = d9c;\n Vxc = t9c;\n $xc = A9c;\n Kwc = y8c;\n mwc = p8c;\n axc = J8c;\n gyc = new Osd(H9c, (Bcb(), true));\n fxc = M8c;\n gxc = N8c;\n Fxc = Y8c;\n Ixc = b9c;\n Gxc = $8c;\n Nwc = (ead(), cad);\n Lwc = new Osd(z8c, Nwc);\n xxc = W8c;\n wxc = U8c;\n Yxc = x9c;\n Xxc = w9c;\n Zxc = z9c;\n Oxc = (Tbd(), Sbd);\n new Osd(l9c, Oxc);\n Qxc = o9c;\n Rxc = p9c;\n Sxc = q9c;\n Pxc = n9c;\n Byc = Gvc;\n sxc = avc;\n rxc = $uc;\n Ayc = Fvc;\n mxc = Suc;\n Jwc = muc;\n Iwc = kuc;\n Awc = Xtc;\n Bwc = Ytc;\n Dwc = buc;\n Cwc = Ztc;\n Hwc = iuc;\n uxc = cvc;\n vxc = dvc;\n ixc = Luc;\n Exc = uvc;\n zxc = hvc;\n $wc = Guc;\n Bxc = nvc;\n Vwc = wuc;\n Wwc = yuc;\n zwc = w8c;\n yxc = evc;\n swc = Mtc;\n rwc = Ktc;\n qwc = Jtc;\n cxc = Juc;\n bxc = Iuc;\n dxc = Kuc;\n Hxc = _8c;\n jxc = Q8c;\n Zwc = G8c;\n Qwc = C8c;\n Pwc = B8c;\n Ewc = euc;\n Wxc = v9c;\n pwc = v8c;\n exc = L8c;\n Txc = r9c;\n Mxc = h9c;\n Nxc = j9c;\n oxc = Vuc;\n pxc = Xuc;\n ayc = C9c;\n nwc = Itc;\n qxc = Zuc;\n Rwc = suc;\n Owc = quc;\n txc = S8c;\n kxc = Puc;\n Axc = kvc;\n yyc = V9c;\n Mwc = ouc;\n _xc = wvc;\n Uwc = uuc;\n lxc = Ruc;\n Fwc = guc;\n hxc = P8c;\n nxc = Uuc;\n Gwc = huc;\n ywc = Vtc;\n wwc = Stc;\n uwc = Qtc;\n vwc = Rtc;\n xwc = Utc;\n twc = Otc;\n _wc = Huc;\n }\n function shb(a, b) {\n phb();\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F, G, H;\n B = a.e;\n o2 = a.d;\n e = a.a;\n if (B == 0) {\n switch (b) {\n case 0:\n return \"0\";\n case 1:\n return $je;\n case 2:\n return \"0.00\";\n case 3:\n return \"0.000\";\n case 4:\n return \"0.0000\";\n case 5:\n return \"0.00000\";\n case 6:\n return \"0.000000\";\n default:\n w2 = new Ufb();\n b < 0 ? (w2.a += \"0E+\", w2) : (w2.a += \"0E\", w2);\n w2.a += -b;\n return w2.a;\n }\n }\n t = o2 * 10 + 1 + 7;\n u = KC(TD, $ie, 25, t + 1, 15, 1);\n c2 = t;\n if (o2 == 1) {\n h = e[0];\n if (h < 0) {\n H = xbb(h, Yje);\n do {\n p = H;\n H = Abb(H, 10);\n u[--c2] = 48 + Tbb(Qbb(p, Ibb(H, 10))) & aje;\n } while (ybb(H, 0) != 0);\n } else {\n H = h;\n do {\n p = H;\n H = H / 10 | 0;\n u[--c2] = 48 + (p - H * 10) & aje;\n } while (H != 0);\n }\n } else {\n D = KC(WD, oje, 25, o2, 15, 1);\n G = o2;\n $fb(e, 0, D, 0, G);\n I:\n while (true) {\n A = 0;\n for (j = G - 1; j >= 0; j--) {\n F = wbb(Nbb(A, 32), xbb(D[j], Yje));\n r = qhb(F);\n D[j] = Tbb(r);\n A = Tbb(Obb(r, 32));\n }\n s = Tbb(A);\n q = c2;\n do {\n u[--c2] = 48 + s % 10 & aje;\n } while ((s = s / 10 | 0) != 0 && c2 != 0);\n d = 9 - q + c2;\n for (i3 = 0; i3 < d && c2 > 0; i3++) {\n u[--c2] = 48;\n }\n l = G - 1;\n for (; D[l] == 0; l--) {\n if (l == 0) {\n break I;\n }\n }\n G = l + 1;\n }\n while (u[c2] == 48) {\n ++c2;\n }\n }\n n = B < 0;\n g = t - c2 - b - 1;\n if (b == 0) {\n n && (u[--c2] = 45);\n return zfb(u, c2, t - c2);\n }\n if (b > 0 && g >= -6) {\n if (g >= 0) {\n k = c2 + g;\n for (m = t - 1; m >= k; m--) {\n u[m + 1] = u[m];\n }\n u[++k] = 46;\n n && (u[--c2] = 45);\n return zfb(u, c2, t - c2 + 1);\n }\n for (l = 2; l < -g + 1; l++) {\n u[--c2] = 48;\n }\n u[--c2] = 46;\n u[--c2] = 48;\n n && (u[--c2] = 45);\n return zfb(u, c2, t - c2);\n }\n C = c2 + 1;\n f2 = t;\n v = new Vfb();\n n && (v.a += \"-\", v);\n if (f2 - C >= 1) {\n Kfb(v, u[c2]);\n v.a += \".\";\n v.a += zfb(u, c2 + 1, t - c2 - 1);\n } else {\n v.a += zfb(u, c2, t - c2);\n }\n v.a += \"E\";\n g > 0 && (v.a += \"+\", v);\n v.a += \"\" + g;\n return v.a;\n }\n function z$c(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2;\n a.c = b;\n a.g = new Lqb();\n c2 = (Pgd(), new bhd(a.c));\n d = new YGb(c2);\n UGb(d);\n t = GD(hkd(a.c, (d0c(), Y_c)));\n i3 = BD(hkd(a.c, $_c), 316);\n v = BD(hkd(a.c, __c), 429);\n g = BD(hkd(a.c, T_c), 482);\n u = BD(hkd(a.c, Z_c), 430);\n a.j = Edb(ED(hkd(a.c, a0c)));\n h = a.a;\n switch (i3.g) {\n case 0:\n h = a.a;\n break;\n case 1:\n h = a.b;\n break;\n case 2:\n h = a.i;\n break;\n case 3:\n h = a.e;\n break;\n case 4:\n h = a.f;\n break;\n default:\n throw vbb(new Wdb(Mre + (i3.f != null ? i3.f : \"\" + i3.g)));\n }\n a.d = new g_c(h, v, g);\n yNb(a.d, (XNb(), VNb), DD(hkd(a.c, V_c)));\n a.d.c = Ccb(DD(hkd(a.c, U_c)));\n if (Vod(a.c).i == 0) {\n return a.d;\n }\n for (l = new Fyd(Vod(a.c)); l.e != l.i.gc(); ) {\n k = BD(Dyd(l), 33);\n n = k.g / 2;\n m = k.f / 2;\n w2 = new f7c(k.i + n, k.j + m);\n while (Mhb(a.g, w2)) {\n O6c(w2, ($wnd.Math.random() - 0.5) * qme, ($wnd.Math.random() - 0.5) * qme);\n }\n p = BD(hkd(k, (Y9c(), S8c)), 142);\n q = new aOb(w2, new J6c(w2.a - n - a.j / 2 - p.b, w2.b - m - a.j / 2 - p.d, k.g + a.j + (p.b + p.c), k.f + a.j + (p.d + p.a)));\n Ekb(a.d.i, q);\n Rhb(a.g, w2, new vgd(q, k));\n }\n switch (u.g) {\n case 0:\n if (t == null) {\n a.d.d = BD(Ikb(a.d.i, 0), 65);\n } else {\n for (s = new olb(a.d.i); s.a < s.c.c.length; ) {\n q = BD(mlb(s), 65);\n o2 = BD(BD(Ohb(a.g, q.a), 46).b, 33).zg();\n o2 != null && dfb(o2, t) && (a.d.d = q);\n }\n }\n break;\n case 1:\n e = new f7c(a.c.g, a.c.f);\n e.a *= 0.5;\n e.b *= 0.5;\n O6c(e, a.c.i, a.c.j);\n f2 = Pje;\n for (r = new olb(a.d.i); r.a < r.c.c.length; ) {\n q = BD(mlb(r), 65);\n j = S6c(q.a, e);\n if (j < f2) {\n f2 = j;\n a.d.d = q;\n }\n }\n break;\n default:\n throw vbb(new Wdb(Mre + (u.f != null ? u.f : \"\" + u.g)));\n }\n return a.d;\n }\n function qfd(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2;\n v = BD(qud((!a.a && (a.a = new cUd(A2, a, 6, 6)), a.a), 0), 202);\n k = new s7c();\n u = new Lqb();\n w2 = tfd(v);\n jrb(u.f, v, w2);\n m = new Lqb();\n d = new Psb();\n for (o2 = ul(pl(OC(GC(KI, 1), Uhe, 20, 0, [(!b.d && (b.d = new y5d(B2, b, 8, 5)), b.d), (!b.e && (b.e = new y5d(B2, b, 7, 4)), b.e)]))); Qr(o2); ) {\n n = BD(Rr(o2), 79);\n if ((!a.a && (a.a = new cUd(A2, a, 6, 6)), a.a).i != 1) {\n throw vbb(new Wdb(Tse + (!a.a && (a.a = new cUd(A2, a, 6, 6)), a.a).i));\n }\n if (n != a) {\n q = BD(qud((!n.a && (n.a = new cUd(A2, n, 6, 6)), n.a), 0), 202);\n Gsb(d, q, d.c.b, d.c);\n p = BD(Wd(irb(u.f, q)), 12);\n if (!p) {\n p = tfd(q);\n jrb(u.f, q, p);\n }\n l = c2 ? c7c(new g7c(BD(Ikb(w2, w2.c.length - 1), 8)), BD(Ikb(p, p.c.length - 1), 8)) : c7c(new g7c((tCb(0, w2.c.length), BD(w2.c[0], 8))), (tCb(0, p.c.length), BD(p.c[0], 8)));\n jrb(m.f, q, l);\n }\n }\n if (d.b != 0) {\n r = BD(Ikb(w2, c2 ? w2.c.length - 1 : 0), 8);\n for (j = 1; j < w2.c.length; j++) {\n s = BD(Ikb(w2, c2 ? w2.c.length - 1 - j : j), 8);\n e = Jsb(d, 0);\n while (e.b != e.d.c) {\n q = BD(Xsb(e), 202);\n p = BD(Wd(irb(u.f, q)), 12);\n if (p.c.length <= j) {\n Zsb(e);\n } else {\n t = P6c(new g7c(BD(Ikb(p, c2 ? p.c.length - 1 - j : j), 8)), BD(Wd(irb(m.f, q)), 8));\n if (s.a != t.a || s.b != t.b) {\n f2 = s.a - r.a;\n h = s.b - r.b;\n g = t.a - r.a;\n i3 = t.b - r.b;\n g * h == i3 * f2 && (f2 == 0 || isNaN(f2) ? f2 : f2 < 0 ? -1 : 1) == (g == 0 || isNaN(g) ? g : g < 0 ? -1 : 1) && (h == 0 || isNaN(h) ? h : h < 0 ? -1 : 1) == (i3 == 0 || isNaN(i3) ? i3 : i3 < 0 ? -1 : 1) ? ($wnd.Math.abs(f2) < $wnd.Math.abs(g) || $wnd.Math.abs(h) < $wnd.Math.abs(i3)) && (Gsb(k, s, k.c.b, k.c), true) : j > 1 && (Gsb(k, r, k.c.b, k.c), true);\n Zsb(e);\n }\n }\n }\n r = s;\n }\n }\n return k;\n }\n function $Bc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F, G, H, I, J, K2, L;\n Odd(c2, \"Greedy cycle removal\", 1);\n t = b.a;\n L = t.c.length;\n a.a = KC(WD, oje, 25, L, 15, 1);\n a.c = KC(WD, oje, 25, L, 15, 1);\n a.b = KC(WD, oje, 25, L, 15, 1);\n j = 0;\n for (r = new olb(t); r.a < r.c.c.length; ) {\n p = BD(mlb(r), 10);\n p.p = j;\n for (C = new olb(p.j); C.a < C.c.c.length; ) {\n w2 = BD(mlb(C), 11);\n for (h = new olb(w2.e); h.a < h.c.c.length; ) {\n d = BD(mlb(h), 17);\n if (d.c.i == p) {\n continue;\n }\n G = BD(vNb(d, (Nyc(), cyc)), 19).a;\n a.a[j] += G > 0 ? G + 1 : 1;\n }\n for (g = new olb(w2.g); g.a < g.c.c.length; ) {\n d = BD(mlb(g), 17);\n if (d.d.i == p) {\n continue;\n }\n G = BD(vNb(d, (Nyc(), cyc)), 19).a;\n a.c[j] += G > 0 ? G + 1 : 1;\n }\n }\n a.c[j] == 0 ? Dsb(a.e, p) : a.a[j] == 0 && Dsb(a.f, p);\n ++j;\n }\n o2 = -1;\n n = 1;\n l = new Rkb();\n a.d = BD(vNb(b, (wtc(), jtc)), 230);\n while (L > 0) {\n while (a.e.b != 0) {\n I = BD(Lsb(a.e), 10);\n a.b[I.p] = o2--;\n _Bc(a, I);\n --L;\n }\n while (a.f.b != 0) {\n J = BD(Lsb(a.f), 10);\n a.b[J.p] = n++;\n _Bc(a, J);\n --L;\n }\n if (L > 0) {\n m = Rie;\n for (s = new olb(t); s.a < s.c.c.length; ) {\n p = BD(mlb(s), 10);\n if (a.b[p.p] == 0) {\n u = a.c[p.p] - a.a[p.p];\n if (u >= m) {\n if (u > m) {\n l.c = KC(SI, Uhe, 1, 0, 5, 1);\n m = u;\n }\n l.c[l.c.length] = p;\n }\n }\n }\n k = a.Zf(l);\n a.b[k.p] = n++;\n _Bc(a, k);\n --L;\n }\n }\n H = t.c.length + 1;\n for (j = 0; j < t.c.length; j++) {\n a.b[j] < 0 && (a.b[j] += H);\n }\n for (q = new olb(t); q.a < q.c.c.length; ) {\n p = BD(mlb(q), 10);\n F = m_b(p.j);\n for (A = F, B = 0, D = A.length; B < D; ++B) {\n w2 = A[B];\n v = k_b(w2.g);\n for (e = v, f2 = 0, i3 = e.length; f2 < i3; ++f2) {\n d = e[f2];\n K2 = d.d.i.p;\n if (a.b[p.p] > a.b[K2]) {\n PZb(d, true);\n yNb(b, Asc, (Bcb(), true));\n }\n }\n }\n }\n a.a = null;\n a.c = null;\n a.b = null;\n Osb(a.f);\n Osb(a.e);\n Qdd(c2);\n }\n function sQb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r;\n d = new Rkb();\n h = new Rkb();\n q = b / 2;\n n = a.gc();\n e = BD(a.Xb(0), 8);\n r = BD(a.Xb(1), 8);\n o2 = tQb(e.a, e.b, r.a, r.b, q);\n Ekb(d, (tCb(0, o2.c.length), BD(o2.c[0], 8)));\n Ekb(h, (tCb(1, o2.c.length), BD(o2.c[1], 8)));\n for (j = 2; j < n; j++) {\n p = e;\n e = r;\n r = BD(a.Xb(j), 8);\n o2 = tQb(e.a, e.b, p.a, p.b, q);\n Ekb(d, (tCb(1, o2.c.length), BD(o2.c[1], 8)));\n Ekb(h, (tCb(0, o2.c.length), BD(o2.c[0], 8)));\n o2 = tQb(e.a, e.b, r.a, r.b, q);\n Ekb(d, (tCb(0, o2.c.length), BD(o2.c[0], 8)));\n Ekb(h, (tCb(1, o2.c.length), BD(o2.c[1], 8)));\n }\n o2 = tQb(r.a, r.b, e.a, e.b, q);\n Ekb(d, (tCb(1, o2.c.length), BD(o2.c[1], 8)));\n Ekb(h, (tCb(0, o2.c.length), BD(o2.c[0], 8)));\n c2 = new s7c();\n g = new Rkb();\n Dsb(c2, (tCb(0, d.c.length), BD(d.c[0], 8)));\n for (k = 1; k < d.c.length - 2; k += 2) {\n f2 = (tCb(k, d.c.length), BD(d.c[k], 8));\n m = rQb((tCb(k - 1, d.c.length), BD(d.c[k - 1], 8)), f2, (tCb(k + 1, d.c.length), BD(d.c[k + 1], 8)), (tCb(k + 2, d.c.length), BD(d.c[k + 2], 8)));\n !isFinite(m.a) || !isFinite(m.b) ? (Gsb(c2, f2, c2.c.b, c2.c), true) : (Gsb(c2, m, c2.c.b, c2.c), true);\n }\n Dsb(c2, BD(Ikb(d, d.c.length - 1), 8));\n Ekb(g, (tCb(0, h.c.length), BD(h.c[0], 8)));\n for (l = 1; l < h.c.length - 2; l += 2) {\n f2 = (tCb(l, h.c.length), BD(h.c[l], 8));\n m = rQb((tCb(l - 1, h.c.length), BD(h.c[l - 1], 8)), f2, (tCb(l + 1, h.c.length), BD(h.c[l + 1], 8)), (tCb(l + 2, h.c.length), BD(h.c[l + 2], 8)));\n !isFinite(m.a) || !isFinite(m.b) ? (g.c[g.c.length] = f2, true) : (g.c[g.c.length] = m, true);\n }\n Ekb(g, BD(Ikb(h, h.c.length - 1), 8));\n for (i3 = g.c.length - 1; i3 >= 0; i3--) {\n Dsb(c2, (tCb(i3, g.c.length), BD(g.c[i3], 8)));\n }\n return c2;\n }\n function aFd(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n;\n g = true;\n l = null;\n d = null;\n e = null;\n b = false;\n n = BEd;\n j = null;\n f2 = null;\n h = 0;\n i3 = UEd(a, h, zEd, AEd);\n if (i3 < a.length && (BCb(i3, a.length), a.charCodeAt(i3) == 58)) {\n l = a.substr(h, i3 - h);\n h = i3 + 1;\n }\n c2 = l != null && hnb(GEd, l.toLowerCase());\n if (c2) {\n i3 = a.lastIndexOf(\"!/\");\n if (i3 == -1) {\n throw vbb(new Wdb(\"no archive separator\"));\n }\n g = true;\n d = qfb(a, h, ++i3);\n h = i3;\n } else if (h >= 0 && dfb(a.substr(h, \"//\".length), \"//\")) {\n h += 2;\n i3 = UEd(a, h, CEd, DEd);\n d = a.substr(h, i3 - h);\n h = i3;\n } else if (l != null && (h == a.length || (BCb(h, a.length), a.charCodeAt(h) != 47))) {\n g = false;\n i3 = ifb(a, wfb(35), h);\n i3 == -1 && (i3 = a.length);\n d = a.substr(h, i3 - h);\n h = i3;\n }\n if (!c2 && h < a.length && (BCb(h, a.length), a.charCodeAt(h) == 47)) {\n i3 = UEd(a, h + 1, CEd, DEd);\n k = a.substr(h + 1, i3 - (h + 1));\n if (k.length > 0 && bfb(k, k.length - 1) == 58) {\n e = k;\n h = i3;\n }\n }\n if (h < a.length && (BCb(h, a.length), a.charCodeAt(h) == 47)) {\n ++h;\n b = true;\n }\n if (h < a.length && (BCb(h, a.length), a.charCodeAt(h) != 63) && (BCb(h, a.length), a.charCodeAt(h) != 35)) {\n m = new Rkb();\n while (h < a.length && (BCb(h, a.length), a.charCodeAt(h) != 63) && (BCb(h, a.length), a.charCodeAt(h) != 35)) {\n i3 = UEd(a, h, CEd, DEd);\n Ekb(m, a.substr(h, i3 - h));\n h = i3;\n h < a.length && (BCb(h, a.length), a.charCodeAt(h) == 47) && (bFd(a, ++h) || (m.c[m.c.length] = \"\", true));\n }\n n = KC(ZI, nie, 2, m.c.length, 6, 1);\n Qkb(m, n);\n }\n if (h < a.length && (BCb(h, a.length), a.charCodeAt(h) == 63)) {\n i3 = gfb(a, 35, ++h);\n i3 == -1 && (i3 = a.length);\n j = a.substr(h, i3 - h);\n h = i3;\n }\n h < a.length && (f2 = pfb(a, ++h));\n iFd(g, l, d, e, n, j);\n return new NEd(g, l, d, e, b, n, j, f2);\n }\n function sJc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F, G, H, I, J, K2;\n I = new Rkb();\n for (o2 = new olb(b.b); o2.a < o2.c.c.length; ) {\n m = BD(mlb(o2), 29);\n for (v = new olb(m.a); v.a < v.c.c.length; ) {\n u = BD(mlb(v), 10);\n u.p = -1;\n l = Rie;\n B = Rie;\n for (D = new olb(u.j); D.a < D.c.c.length; ) {\n C = BD(mlb(D), 11);\n for (e = new olb(C.e); e.a < e.c.c.length; ) {\n c2 = BD(mlb(e), 17);\n F = BD(vNb(c2, (Nyc(), eyc)), 19).a;\n l = $wnd.Math.max(l, F);\n }\n for (d = new olb(C.g); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 17);\n F = BD(vNb(c2, (Nyc(), eyc)), 19).a;\n B = $wnd.Math.max(B, F);\n }\n }\n yNb(u, hJc, meb(l));\n yNb(u, iJc, meb(B));\n }\n }\n r = 0;\n for (n = new olb(b.b); n.a < n.c.c.length; ) {\n m = BD(mlb(n), 29);\n for (v = new olb(m.a); v.a < v.c.c.length; ) {\n u = BD(mlb(v), 10);\n if (u.p < 0) {\n H = new zJc();\n H.b = r++;\n oJc(a, u, H);\n I.c[I.c.length] = H;\n }\n }\n }\n A = Pu(I.c.length);\n k = Pu(I.c.length);\n for (g = 0; g < I.c.length; g++) {\n Ekb(A, new Rkb());\n Ekb(k, meb(0));\n }\n mJc(b, I, A, k);\n J = BD(Qkb(I, KC(sY, Iqe, 257, I.c.length, 0, 1)), 840);\n w2 = BD(Qkb(A, KC(yK, eme, 15, A.c.length, 0, 1)), 192);\n j = KC(WD, oje, 25, k.c.length, 15, 1);\n for (h = 0; h < j.length; h++) {\n j[h] = (tCb(h, k.c.length), BD(k.c[h], 19)).a;\n }\n s = 0;\n t = new Rkb();\n for (i3 = 0; i3 < J.length; i3++) {\n j[i3] == 0 && Ekb(t, J[i3]);\n }\n q = KC(WD, oje, 25, J.length, 15, 1);\n while (t.c.length != 0) {\n H = BD(Kkb(t, 0), 257);\n q[H.b] = s++;\n while (!w2[H.b].dc()) {\n K2 = BD(w2[H.b].$c(0), 257);\n --j[K2.b];\n j[K2.b] == 0 && (t.c[t.c.length] = K2, true);\n }\n }\n a.a = KC(sY, Iqe, 257, J.length, 0, 1);\n for (f2 = 0; f2 < J.length; f2++) {\n p = J[f2];\n G = q[f2];\n a.a[G] = p;\n p.b = G;\n for (v = new olb(p.e); v.a < v.c.c.length; ) {\n u = BD(mlb(v), 10);\n u.p = G;\n }\n }\n return a.a;\n }\n function nde(a) {\n var b, c2, d;\n if (a.d >= a.j) {\n a.a = -1;\n a.c = 1;\n return;\n }\n b = bfb(a.i, a.d++);\n a.a = b;\n if (a.b == 1) {\n switch (b) {\n case 92:\n d = 10;\n if (a.d >= a.j)\n throw vbb(new mde(tvd((h0d(), uue))));\n a.a = bfb(a.i, a.d++);\n break;\n case 45:\n if ((a.e & 512) == 512 && a.d < a.j && bfb(a.i, a.d) == 91) {\n ++a.d;\n d = 24;\n } else\n d = 0;\n break;\n case 91:\n if ((a.e & 512) != 512 && a.d < a.j && bfb(a.i, a.d) == 58) {\n ++a.d;\n d = 20;\n break;\n }\n default:\n if ((b & 64512) == Uje && a.d < a.j) {\n c2 = bfb(a.i, a.d);\n if ((c2 & 64512) == 56320) {\n a.a = Tje + (b - Uje << 10) + c2 - 56320;\n ++a.d;\n }\n }\n d = 0;\n }\n a.c = d;\n return;\n }\n switch (b) {\n case 124:\n d = 2;\n break;\n case 42:\n d = 3;\n break;\n case 43:\n d = 4;\n break;\n case 63:\n d = 5;\n break;\n case 41:\n d = 7;\n break;\n case 46:\n d = 8;\n break;\n case 91:\n d = 9;\n break;\n case 94:\n d = 11;\n break;\n case 36:\n d = 12;\n break;\n case 40:\n d = 6;\n if (a.d >= a.j)\n break;\n if (bfb(a.i, a.d) != 63)\n break;\n if (++a.d >= a.j)\n throw vbb(new mde(tvd((h0d(), vue))));\n b = bfb(a.i, a.d++);\n switch (b) {\n case 58:\n d = 13;\n break;\n case 61:\n d = 14;\n break;\n case 33:\n d = 15;\n break;\n case 91:\n d = 19;\n break;\n case 62:\n d = 18;\n break;\n case 60:\n if (a.d >= a.j)\n throw vbb(new mde(tvd((h0d(), vue))));\n b = bfb(a.i, a.d++);\n if (b == 61) {\n d = 16;\n } else if (b == 33) {\n d = 17;\n } else\n throw vbb(new mde(tvd((h0d(), wue))));\n break;\n case 35:\n while (a.d < a.j) {\n b = bfb(a.i, a.d++);\n if (b == 41)\n break;\n }\n if (b != 41)\n throw vbb(new mde(tvd((h0d(), xue))));\n d = 21;\n break;\n default:\n if (b == 45 || 97 <= b && b <= 122 || 65 <= b && b <= 90) {\n --a.d;\n d = 22;\n break;\n } else if (b == 40) {\n d = 23;\n break;\n }\n throw vbb(new mde(tvd((h0d(), vue))));\n }\n break;\n case 92:\n d = 10;\n if (a.d >= a.j)\n throw vbb(new mde(tvd((h0d(), uue))));\n a.a = bfb(a.i, a.d++);\n break;\n default:\n d = 0;\n }\n a.c = d;\n }\n function P5b(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F, G;\n A = BD(vNb(a, (Nyc(), Vxc)), 98);\n if (!(A != (dcd(), bcd) && A != ccd)) {\n return;\n }\n o2 = a.b;\n n = o2.c.length;\n k = new Skb((Xj(n + 2, Mie), Oy(wbb(wbb(5, n + 2), (n + 2) / 10 | 0))));\n p = new Skb((Xj(n + 2, Mie), Oy(wbb(wbb(5, n + 2), (n + 2) / 10 | 0))));\n Ekb(k, new Lqb());\n Ekb(k, new Lqb());\n Ekb(p, new Rkb());\n Ekb(p, new Rkb());\n w2 = new Rkb();\n for (b = 0; b < n; b++) {\n c2 = (tCb(b, o2.c.length), BD(o2.c[b], 29));\n B = (tCb(b, k.c.length), BD(k.c[b], 83));\n q = new Lqb();\n k.c[k.c.length] = q;\n D = (tCb(b, p.c.length), BD(p.c[b], 15));\n s = new Rkb();\n p.c[p.c.length] = s;\n for (e = new olb(c2.a); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 10);\n if (L5b(d)) {\n w2.c[w2.c.length] = d;\n continue;\n }\n for (j = new Sr(ur(R_b(d).a.Kc(), new Sq())); Qr(j); ) {\n h = BD(Rr(j), 17);\n F = h.c.i;\n if (!L5b(F)) {\n continue;\n }\n C = BD(B.xc(vNb(F, (wtc(), $sc))), 10);\n if (!C) {\n C = K5b(a, F);\n B.zc(vNb(F, $sc), C);\n D.Fc(C);\n }\n QZb(h, BD(Ikb(C.j, 1), 11));\n }\n for (i3 = new Sr(ur(U_b(d).a.Kc(), new Sq())); Qr(i3); ) {\n h = BD(Rr(i3), 17);\n G = h.d.i;\n if (!L5b(G)) {\n continue;\n }\n r = BD(Ohb(q, vNb(G, (wtc(), $sc))), 10);\n if (!r) {\n r = K5b(a, G);\n Rhb(q, vNb(G, $sc), r);\n s.c[s.c.length] = r;\n }\n RZb(h, BD(Ikb(r.j, 0), 11));\n }\n }\n }\n for (l = 0; l < p.c.length; l++) {\n t = (tCb(l, p.c.length), BD(p.c[l], 15));\n if (t.dc()) {\n continue;\n }\n m = null;\n if (l == 0) {\n m = new H1b(a);\n wCb(0, o2.c.length);\n aCb(o2.c, 0, m);\n } else if (l == k.c.length - 1) {\n m = new H1b(a);\n o2.c[o2.c.length] = m;\n } else {\n m = (tCb(l - 1, o2.c.length), BD(o2.c[l - 1], 29));\n }\n for (g = t.Kc(); g.Ob(); ) {\n f2 = BD(g.Pb(), 10);\n $_b(f2, m);\n }\n }\n for (v = new olb(w2); v.a < v.c.c.length; ) {\n u = BD(mlb(v), 10);\n $_b(u, null);\n }\n yNb(a, (wtc(), Fsc), w2);\n }\n function BCc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v;\n Odd(c2, \"Coffman-Graham Layering\", 1);\n if (b.a.c.length == 0) {\n Qdd(c2);\n return;\n }\n v = BD(vNb(b, (Nyc(), kxc)), 19).a;\n i3 = 0;\n g = 0;\n for (m = new olb(b.a); m.a < m.c.c.length; ) {\n l = BD(mlb(m), 10);\n l.p = i3++;\n for (f2 = new Sr(ur(U_b(l).a.Kc(), new Sq())); Qr(f2); ) {\n e = BD(Rr(f2), 17);\n e.p = g++;\n }\n }\n a.d = KC(sbb, dle, 25, i3, 16, 1);\n a.a = KC(sbb, dle, 25, g, 16, 1);\n a.b = KC(WD, oje, 25, i3, 15, 1);\n a.e = KC(WD, oje, 25, i3, 15, 1);\n a.f = KC(WD, oje, 25, i3, 15, 1);\n Nc(a.c);\n CCc(a, b);\n o2 = new gub(new GCc(a));\n for (u = new olb(b.a); u.a < u.c.c.length; ) {\n s = BD(mlb(u), 10);\n for (f2 = new Sr(ur(R_b(s).a.Kc(), new Sq())); Qr(f2); ) {\n e = BD(Rr(f2), 17);\n a.a[e.p] || ++a.b[s.p];\n }\n a.b[s.p] == 0 && (zCb(cub(o2, s)), true);\n }\n h = 0;\n while (o2.b.c.length != 0) {\n s = BD(dub(o2), 10);\n a.f[s.p] = h++;\n for (f2 = new Sr(ur(U_b(s).a.Kc(), new Sq())); Qr(f2); ) {\n e = BD(Rr(f2), 17);\n if (a.a[e.p]) {\n continue;\n }\n q = e.d.i;\n --a.b[q.p];\n Rc(a.c, q, meb(a.f[s.p]));\n a.b[q.p] == 0 && (zCb(cub(o2, q)), true);\n }\n }\n n = new gub(new KCc(a));\n for (t = new olb(b.a); t.a < t.c.c.length; ) {\n s = BD(mlb(t), 10);\n for (f2 = new Sr(ur(U_b(s).a.Kc(), new Sq())); Qr(f2); ) {\n e = BD(Rr(f2), 17);\n a.a[e.p] || ++a.e[s.p];\n }\n a.e[s.p] == 0 && (zCb(cub(n, s)), true);\n }\n k = new Rkb();\n d = yCc(b, k);\n while (n.b.c.length != 0) {\n r = BD(dub(n), 10);\n (d.a.c.length >= v || !wCc(r, d)) && (d = yCc(b, k));\n $_b(r, d);\n for (f2 = new Sr(ur(R_b(r).a.Kc(), new Sq())); Qr(f2); ) {\n e = BD(Rr(f2), 17);\n if (a.a[e.p]) {\n continue;\n }\n p = e.c.i;\n --a.e[p.p];\n a.e[p.p] == 0 && (zCb(cub(n, p)), true);\n }\n }\n for (j = k.c.length - 1; j >= 0; --j) {\n Ekb(b.b, (tCb(j, k.c.length), BD(k.c[j], 29)));\n }\n b.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n Qdd(c2);\n }\n function gee(a) {\n var b, c2, d, e, f2, g, h, i3, j;\n a.b = 1;\n nde(a);\n b = null;\n if (a.c == 0 && a.a == 94) {\n nde(a);\n b = (wfe(), wfe(), new $fe(4));\n Ufe(b, 0, lxe);\n h = new $fe(4);\n } else {\n h = (wfe(), wfe(), new $fe(4));\n }\n e = true;\n while ((j = a.c) != 1) {\n if (j == 0 && a.a == 93 && !e) {\n if (b) {\n Zfe(b, h);\n h = b;\n }\n break;\n }\n c2 = a.a;\n d = false;\n if (j == 10) {\n switch (c2) {\n case 100:\n case 68:\n case 119:\n case 87:\n case 115:\n case 83:\n Xfe(h, fee(c2));\n d = true;\n break;\n case 105:\n case 73:\n case 99:\n case 67:\n c2 = (Xfe(h, fee(c2)), -1);\n c2 < 0 && (d = true);\n break;\n case 112:\n case 80:\n i3 = tde(a, c2);\n if (!i3)\n throw vbb(new mde(tvd((h0d(), Iue))));\n Xfe(h, i3);\n d = true;\n break;\n default:\n c2 = eee(a);\n }\n } else if (j == 24 && !e) {\n if (b) {\n Zfe(b, h);\n h = b;\n }\n f2 = gee(a);\n Zfe(h, f2);\n if (a.c != 0 || a.a != 93)\n throw vbb(new mde(tvd((h0d(), Mue))));\n break;\n }\n nde(a);\n if (!d) {\n if (j == 0) {\n if (c2 == 91)\n throw vbb(new mde(tvd((h0d(), Nue))));\n if (c2 == 93)\n throw vbb(new mde(tvd((h0d(), Oue))));\n if (c2 == 45 && !e && a.a != 93)\n throw vbb(new mde(tvd((h0d(), Pue))));\n }\n if (a.c != 0 || a.a != 45 || c2 == 45 && e) {\n Ufe(h, c2, c2);\n } else {\n nde(a);\n if ((j = a.c) == 1)\n throw vbb(new mde(tvd((h0d(), Kue))));\n if (j == 0 && a.a == 93) {\n Ufe(h, c2, c2);\n Ufe(h, 45, 45);\n } else if (j == 0 && a.a == 93 || j == 24) {\n throw vbb(new mde(tvd((h0d(), Pue))));\n } else {\n g = a.a;\n if (j == 0) {\n if (g == 91)\n throw vbb(new mde(tvd((h0d(), Nue))));\n if (g == 93)\n throw vbb(new mde(tvd((h0d(), Oue))));\n if (g == 45)\n throw vbb(new mde(tvd((h0d(), Pue))));\n } else\n j == 10 && (g = eee(a));\n nde(a);\n if (c2 > g)\n throw vbb(new mde(tvd((h0d(), Sue))));\n Ufe(h, c2, g);\n }\n }\n }\n e = false;\n }\n if (a.c == 1)\n throw vbb(new mde(tvd((h0d(), Kue))));\n Yfe(h);\n Vfe(h);\n a.b = 0;\n nde(a);\n return h;\n }\n function xZd(a) {\n Bnd(a.c, Rve, OC(GC(ZI, 1), nie, 2, 6, [cwe, \"http://www.w3.org/2001/XMLSchema#decimal\"]));\n Bnd(a.d, Rve, OC(GC(ZI, 1), nie, 2, 6, [cwe, \"http://www.w3.org/2001/XMLSchema#integer\"]));\n Bnd(a.e, Rve, OC(GC(ZI, 1), nie, 2, 6, [cwe, \"http://www.w3.org/2001/XMLSchema#boolean\"]));\n Bnd(a.f, Rve, OC(GC(ZI, 1), nie, 2, 6, [cwe, \"EBoolean\", fue, \"EBoolean:Object\"]));\n Bnd(a.i, Rve, OC(GC(ZI, 1), nie, 2, 6, [cwe, \"http://www.w3.org/2001/XMLSchema#byte\"]));\n Bnd(a.g, Rve, OC(GC(ZI, 1), nie, 2, 6, [cwe, \"http://www.w3.org/2001/XMLSchema#hexBinary\"]));\n Bnd(a.j, Rve, OC(GC(ZI, 1), nie, 2, 6, [cwe, \"EByte\", fue, \"EByte:Object\"]));\n Bnd(a.n, Rve, OC(GC(ZI, 1), nie, 2, 6, [cwe, \"EChar\", fue, \"EChar:Object\"]));\n Bnd(a.t, Rve, OC(GC(ZI, 1), nie, 2, 6, [cwe, \"http://www.w3.org/2001/XMLSchema#double\"]));\n Bnd(a.u, Rve, OC(GC(ZI, 1), nie, 2, 6, [cwe, \"EDouble\", fue, \"EDouble:Object\"]));\n Bnd(a.F, Rve, OC(GC(ZI, 1), nie, 2, 6, [cwe, \"http://www.w3.org/2001/XMLSchema#float\"]));\n Bnd(a.G, Rve, OC(GC(ZI, 1), nie, 2, 6, [cwe, \"EFloat\", fue, \"EFloat:Object\"]));\n Bnd(a.I, Rve, OC(GC(ZI, 1), nie, 2, 6, [cwe, \"http://www.w3.org/2001/XMLSchema#int\"]));\n Bnd(a.J, Rve, OC(GC(ZI, 1), nie, 2, 6, [cwe, \"EInt\", fue, \"EInt:Object\"]));\n Bnd(a.N, Rve, OC(GC(ZI, 1), nie, 2, 6, [cwe, \"http://www.w3.org/2001/XMLSchema#long\"]));\n Bnd(a.O, Rve, OC(GC(ZI, 1), nie, 2, 6, [cwe, \"ELong\", fue, \"ELong:Object\"]));\n Bnd(a.Z, Rve, OC(GC(ZI, 1), nie, 2, 6, [cwe, \"http://www.w3.org/2001/XMLSchema#short\"]));\n Bnd(a.$, Rve, OC(GC(ZI, 1), nie, 2, 6, [cwe, \"EShort\", fue, \"EShort:Object\"]));\n Bnd(a._, Rve, OC(GC(ZI, 1), nie, 2, 6, [cwe, \"http://www.w3.org/2001/XMLSchema#string\"]));\n }\n function fRc(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F, G;\n if (a.c.length == 1) {\n return tCb(0, a.c.length), BD(a.c[0], 135);\n } else if (a.c.length <= 0) {\n return new SRc();\n }\n for (i3 = new olb(a); i3.a < i3.c.c.length; ) {\n g = BD(mlb(i3), 135);\n s = 0;\n o2 = Ohe;\n p = Ohe;\n m = Rie;\n n = Rie;\n for (r = Jsb(g.b, 0); r.b != r.d.c; ) {\n q = BD(Xsb(r), 86);\n s += BD(vNb(q, (JTc(), ETc)), 19).a;\n o2 = $wnd.Math.min(o2, q.e.a);\n p = $wnd.Math.min(p, q.e.b);\n m = $wnd.Math.max(m, q.e.a + q.f.a);\n n = $wnd.Math.max(n, q.e.b + q.f.b);\n }\n yNb(g, (JTc(), ETc), meb(s));\n yNb(g, (mTc(), WSc), new f7c(o2, p));\n yNb(g, VSc, new f7c(m, n));\n }\n mmb();\n Okb(a, new jRc());\n v = new SRc();\n tNb(v, (tCb(0, a.c.length), BD(a.c[0], 94)));\n l = 0;\n D = 0;\n for (j = new olb(a); j.a < j.c.c.length; ) {\n g = BD(mlb(j), 135);\n w2 = c7c(R6c(BD(vNb(g, (mTc(), VSc)), 8)), BD(vNb(g, WSc), 8));\n l = $wnd.Math.max(l, w2.a);\n D += w2.a * w2.b;\n }\n l = $wnd.Math.max(l, $wnd.Math.sqrt(D) * Edb(ED(vNb(v, (JTc(), uTc)))));\n A = Edb(ED(vNb(v, HTc)));\n F = 0;\n G = 0;\n k = 0;\n b = A;\n for (h = new olb(a); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 135);\n w2 = c7c(R6c(BD(vNb(g, (mTc(), VSc)), 8)), BD(vNb(g, WSc), 8));\n if (F + w2.a > l) {\n F = 0;\n G += k + A;\n k = 0;\n }\n eRc(v, g, F, G);\n b = $wnd.Math.max(b, F + w2.a);\n k = $wnd.Math.max(k, w2.b);\n F += w2.a + A;\n }\n u = new Lqb();\n c2 = new Lqb();\n for (C = new olb(a); C.a < C.c.c.length; ) {\n B = BD(mlb(C), 135);\n d = Ccb(DD(vNb(B, (Y9c(), y8c))));\n t = !B.q ? kmb : B.q;\n for (f2 = t.vc().Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 42);\n if (Mhb(u, e.cd())) {\n if (PD(BD(e.cd(), 146).wg()) !== PD(e.dd())) {\n if (d && Mhb(c2, e.cd())) {\n Zfb();\n \"Found different values for property \" + BD(e.cd(), 146).tg() + \" in components.\";\n } else {\n Rhb(u, BD(e.cd(), 146), e.dd());\n yNb(v, BD(e.cd(), 146), e.dd());\n d && Rhb(c2, BD(e.cd(), 146), e.dd());\n }\n }\n } else {\n Rhb(u, BD(e.cd(), 146), e.dd());\n yNb(v, BD(e.cd(), 146), e.dd());\n }\n }\n }\n return v;\n }\n function MYb() {\n MYb = ccb;\n xXb();\n LYb = new Hp();\n Rc(LYb, (Ucd(), Gcd), Fcd);\n Rc(LYb, Qcd, Fcd);\n Rc(LYb, Hcd, Fcd);\n Rc(LYb, Ncd, Fcd);\n Rc(LYb, Mcd, Fcd);\n Rc(LYb, Kcd, Fcd);\n Rc(LYb, Ncd, Gcd);\n Rc(LYb, Fcd, Bcd);\n Rc(LYb, Gcd, Bcd);\n Rc(LYb, Qcd, Bcd);\n Rc(LYb, Hcd, Bcd);\n Rc(LYb, Lcd, Bcd);\n Rc(LYb, Ncd, Bcd);\n Rc(LYb, Mcd, Bcd);\n Rc(LYb, Kcd, Bcd);\n Rc(LYb, Ecd, Bcd);\n Rc(LYb, Fcd, Ocd);\n Rc(LYb, Gcd, Ocd);\n Rc(LYb, Bcd, Ocd);\n Rc(LYb, Qcd, Ocd);\n Rc(LYb, Hcd, Ocd);\n Rc(LYb, Lcd, Ocd);\n Rc(LYb, Ncd, Ocd);\n Rc(LYb, Ecd, Ocd);\n Rc(LYb, Pcd, Ocd);\n Rc(LYb, Mcd, Ocd);\n Rc(LYb, Icd, Ocd);\n Rc(LYb, Kcd, Ocd);\n Rc(LYb, Gcd, Qcd);\n Rc(LYb, Hcd, Qcd);\n Rc(LYb, Ncd, Qcd);\n Rc(LYb, Kcd, Qcd);\n Rc(LYb, Gcd, Hcd);\n Rc(LYb, Qcd, Hcd);\n Rc(LYb, Ncd, Hcd);\n Rc(LYb, Hcd, Hcd);\n Rc(LYb, Mcd, Hcd);\n Rc(LYb, Fcd, Ccd);\n Rc(LYb, Gcd, Ccd);\n Rc(LYb, Bcd, Ccd);\n Rc(LYb, Ocd, Ccd);\n Rc(LYb, Qcd, Ccd);\n Rc(LYb, Hcd, Ccd);\n Rc(LYb, Lcd, Ccd);\n Rc(LYb, Ncd, Ccd);\n Rc(LYb, Pcd, Ccd);\n Rc(LYb, Ecd, Ccd);\n Rc(LYb, Kcd, Ccd);\n Rc(LYb, Mcd, Ccd);\n Rc(LYb, Jcd, Ccd);\n Rc(LYb, Fcd, Pcd);\n Rc(LYb, Gcd, Pcd);\n Rc(LYb, Bcd, Pcd);\n Rc(LYb, Qcd, Pcd);\n Rc(LYb, Hcd, Pcd);\n Rc(LYb, Lcd, Pcd);\n Rc(LYb, Ncd, Pcd);\n Rc(LYb, Ecd, Pcd);\n Rc(LYb, Kcd, Pcd);\n Rc(LYb, Icd, Pcd);\n Rc(LYb, Jcd, Pcd);\n Rc(LYb, Gcd, Ecd);\n Rc(LYb, Qcd, Ecd);\n Rc(LYb, Hcd, Ecd);\n Rc(LYb, Ncd, Ecd);\n Rc(LYb, Pcd, Ecd);\n Rc(LYb, Kcd, Ecd);\n Rc(LYb, Mcd, Ecd);\n Rc(LYb, Fcd, Dcd);\n Rc(LYb, Gcd, Dcd);\n Rc(LYb, Bcd, Dcd);\n Rc(LYb, Qcd, Dcd);\n Rc(LYb, Hcd, Dcd);\n Rc(LYb, Lcd, Dcd);\n Rc(LYb, Ncd, Dcd);\n Rc(LYb, Ecd, Dcd);\n Rc(LYb, Kcd, Dcd);\n Rc(LYb, Gcd, Mcd);\n Rc(LYb, Bcd, Mcd);\n Rc(LYb, Ocd, Mcd);\n Rc(LYb, Hcd, Mcd);\n Rc(LYb, Fcd, Icd);\n Rc(LYb, Gcd, Icd);\n Rc(LYb, Ocd, Icd);\n Rc(LYb, Qcd, Icd);\n Rc(LYb, Hcd, Icd);\n Rc(LYb, Lcd, Icd);\n Rc(LYb, Ncd, Icd);\n Rc(LYb, Ncd, Jcd);\n Rc(LYb, Hcd, Jcd);\n Rc(LYb, Ecd, Fcd);\n Rc(LYb, Ecd, Qcd);\n Rc(LYb, Ecd, Bcd);\n Rc(LYb, Lcd, Fcd);\n Rc(LYb, Lcd, Gcd);\n Rc(LYb, Lcd, Ocd);\n }\n function HVd(a, b) {\n switch (a.e) {\n case 0:\n case 2:\n case 4:\n case 6:\n case 42:\n case 44:\n case 46:\n case 48:\n case 8:\n case 10:\n case 12:\n case 14:\n case 16:\n case 18:\n case 20:\n case 22:\n case 24:\n case 26:\n case 28:\n case 30:\n case 32:\n case 34:\n case 36:\n case 38:\n return new U5d(a.b, a.a, b, a.c);\n case 1:\n return new BMd(a.a, b, bLd(b.Tg(), a.c));\n case 43:\n return new N4d(a.a, b, bLd(b.Tg(), a.c));\n case 3:\n return new xMd(a.a, b, bLd(b.Tg(), a.c));\n case 45:\n return new K4d(a.a, b, bLd(b.Tg(), a.c));\n case 41:\n return new dId(BD(wId(a.c), 26), a.a, b, bLd(b.Tg(), a.c));\n case 50:\n return new c6d(BD(wId(a.c), 26), a.a, b, bLd(b.Tg(), a.c));\n case 5:\n return new Q4d(a.a, b, bLd(b.Tg(), a.c), a.d.n);\n case 47:\n return new U4d(a.a, b, bLd(b.Tg(), a.c), a.d.n);\n case 7:\n return new cUd(a.a, b, bLd(b.Tg(), a.c), a.d.n);\n case 49:\n return new gUd(a.a, b, bLd(b.Tg(), a.c), a.d.n);\n case 9:\n return new I4d(a.a, b, bLd(b.Tg(), a.c));\n case 11:\n return new G4d(a.a, b, bLd(b.Tg(), a.c));\n case 13:\n return new C4d(a.a, b, bLd(b.Tg(), a.c));\n case 15:\n return new k2d(a.a, b, bLd(b.Tg(), a.c));\n case 17:\n return new c5d(a.a, b, bLd(b.Tg(), a.c));\n case 19:\n return new _4d(a.a, b, bLd(b.Tg(), a.c));\n case 21:\n return new X4d(a.a, b, bLd(b.Tg(), a.c));\n case 23:\n return new pMd(a.a, b, bLd(b.Tg(), a.c));\n case 25:\n return new D5d(a.a, b, bLd(b.Tg(), a.c), a.d.n);\n case 27:\n return new y5d(a.a, b, bLd(b.Tg(), a.c), a.d.n);\n case 29:\n return new t5d(a.a, b, bLd(b.Tg(), a.c), a.d.n);\n case 31:\n return new n5d(a.a, b, bLd(b.Tg(), a.c), a.d.n);\n case 33:\n return new A5d(a.a, b, bLd(b.Tg(), a.c), a.d.n);\n case 35:\n return new v5d(a.a, b, bLd(b.Tg(), a.c), a.d.n);\n case 37:\n return new p5d(a.a, b, bLd(b.Tg(), a.c), a.d.n);\n case 39:\n return new i5d(a.a, b, bLd(b.Tg(), a.c), a.d.n);\n case 40:\n return new u3d(b, bLd(b.Tg(), a.c));\n default:\n throw vbb(new hz(\"Unknown feature style: \" + a.e));\n }\n }\n function BMc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2;\n Odd(c2, \"Brandes & Koepf node placement\", 1);\n a.a = b;\n a.c = KMc(b);\n d = BD(vNb(b, (Nyc(), zxc)), 274);\n n = Ccb(DD(vNb(b, Axc)));\n a.d = d == (lrc(), irc) && !n || d == frc;\n AMc(a, b);\n v = null;\n w2 = null;\n r = null;\n s = null;\n q = (Xj(4, Jie), new Skb(4));\n switch (BD(vNb(b, zxc), 274).g) {\n case 3:\n r = new ULc(b, a.c.d, (eMc(), cMc), (YLc(), WLc));\n q.c[q.c.length] = r;\n break;\n case 1:\n s = new ULc(b, a.c.d, (eMc(), dMc), (YLc(), WLc));\n q.c[q.c.length] = s;\n break;\n case 4:\n v = new ULc(b, a.c.d, (eMc(), cMc), (YLc(), XLc));\n q.c[q.c.length] = v;\n break;\n case 2:\n w2 = new ULc(b, a.c.d, (eMc(), dMc), (YLc(), XLc));\n q.c[q.c.length] = w2;\n break;\n default:\n r = new ULc(b, a.c.d, (eMc(), cMc), (YLc(), WLc));\n s = new ULc(b, a.c.d, dMc, WLc);\n v = new ULc(b, a.c.d, cMc, XLc);\n w2 = new ULc(b, a.c.d, dMc, XLc);\n q.c[q.c.length] = v;\n q.c[q.c.length] = w2;\n q.c[q.c.length] = r;\n q.c[q.c.length] = s;\n }\n e = new mMc(b, a.c);\n for (h = new olb(q); h.a < h.c.c.length; ) {\n f2 = BD(mlb(h), 180);\n lMc(e, f2, a.b);\n kMc(f2);\n }\n m = new rMc(b, a.c);\n for (i3 = new olb(q); i3.a < i3.c.c.length; ) {\n f2 = BD(mlb(i3), 180);\n oMc(m, f2);\n }\n if (c2.n) {\n for (j = new olb(q); j.a < j.c.c.length; ) {\n f2 = BD(mlb(j), 180);\n Sdd(c2, f2 + \" size is \" + SLc(f2));\n }\n }\n l = null;\n if (a.d) {\n k = yMc(a, q, a.c.d);\n xMc(b, k, c2) && (l = k);\n }\n if (!l) {\n for (j = new olb(q); j.a < j.c.c.length; ) {\n f2 = BD(mlb(j), 180);\n xMc(b, f2, c2) && (!l || SLc(l) > SLc(f2)) && (l = f2);\n }\n }\n !l && (l = (tCb(0, q.c.length), BD(q.c[0], 180)));\n for (p = new olb(b.b); p.a < p.c.c.length; ) {\n o2 = BD(mlb(p), 29);\n for (u = new olb(o2.a); u.a < u.c.c.length; ) {\n t = BD(mlb(u), 10);\n t.n.b = Edb(l.p[t.p]) + Edb(l.d[t.p]);\n }\n }\n if (c2.n) {\n Sdd(c2, \"Chosen node placement: \" + l);\n Sdd(c2, \"Blocks: \" + DMc(l));\n Sdd(c2, \"Classes: \" + EMc(l, c2));\n Sdd(c2, \"Marked edges: \" + a.b);\n }\n for (g = new olb(q); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 180);\n f2.g = null;\n f2.b = null;\n f2.a = null;\n f2.d = null;\n f2.j = null;\n f2.i = null;\n f2.p = null;\n }\n IMc(a.c);\n a.b.a.$b();\n Qdd(c2);\n }\n function V1b(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F;\n g = new Psb();\n v = BD(vNb(c2, (Nyc(), Lwc)), 103);\n o2 = 0;\n ye(g, (!b.a && (b.a = new cUd(E2, b, 10, 11)), b.a));\n while (g.b != 0) {\n j = BD(g.b == 0 ? null : (sCb(g.b != 0), Nsb(g, g.a.a)), 33);\n (PD(hkd(b, ywc)) !== PD((tAc(), rAc)) || PD(hkd(b, Jwc)) === PD((mqc(), lqc)) || PD(hkd(b, Jwc)) === PD((mqc(), jqc)) || Ccb(DD(hkd(b, Awc))) || PD(hkd(b, twc)) !== PD((RXb(), QXb))) && !Ccb(DD(hkd(j, xwc))) && jkd(j, (wtc(), Zsc), meb(o2++));\n q = !Ccb(DD(hkd(j, Jxc)));\n if (q) {\n l = (!j.a && (j.a = new cUd(E2, j, 10, 11)), j.a).i != 0;\n n = S1b(j);\n m = PD(hkd(j, axc)) === PD((hbd(), ebd));\n F = !ikd(j, (Y9c(), o8c)) || dfb(GD(hkd(j, o8c)), sne);\n t = null;\n if (F && m && (l || n)) {\n t = P1b(j);\n yNb(t, Lwc, v);\n wNb(t, hyc) && Wyc(new ezc(Edb(ED(vNb(t, hyc)))), t);\n if (BD(hkd(j, Fxc), 174).gc() != 0) {\n k = t;\n MAb(new YAb(null, (!j.c && (j.c = new cUd(F2, j, 9, 9)), new Kub(j.c, 16))), new k2b(k));\n L1b(j, t);\n }\n }\n w2 = c2;\n A = BD(Ohb(a.a, Xod(j)), 10);\n !!A && (w2 = A.e);\n s = $1b(a, j, w2);\n if (t) {\n s.e = t;\n t.e = s;\n ye(g, (!j.a && (j.a = new cUd(E2, j, 10, 11)), j.a));\n }\n }\n }\n o2 = 0;\n Gsb(g, b, g.c.b, g.c);\n while (g.b != 0) {\n f2 = BD(g.b == 0 ? null : (sCb(g.b != 0), Nsb(g, g.a.a)), 33);\n for (i3 = new Fyd((!f2.b && (f2.b = new cUd(B2, f2, 12, 3)), f2.b)); i3.e != i3.i.gc(); ) {\n h = BD(Dyd(i3), 79);\n N1b(h);\n (PD(hkd(b, ywc)) !== PD((tAc(), rAc)) || PD(hkd(b, Jwc)) === PD((mqc(), lqc)) || PD(hkd(b, Jwc)) === PD((mqc(), jqc)) || Ccb(DD(hkd(b, Awc))) || PD(hkd(b, twc)) !== PD((RXb(), QXb))) && jkd(h, (wtc(), Zsc), meb(o2++));\n C = atd(BD(qud((!h.b && (h.b = new y5d(z2, h, 4, 7)), h.b), 0), 82));\n D = atd(BD(qud((!h.c && (h.c = new y5d(z2, h, 5, 8)), h.c), 0), 82));\n if (Ccb(DD(hkd(h, Jxc))) || Ccb(DD(hkd(C, Jxc))) || Ccb(DD(hkd(D, Jxc)))) {\n continue;\n }\n p = Qld(h) && Ccb(DD(hkd(C, fxc))) && Ccb(DD(hkd(h, gxc)));\n u = f2;\n p || ntd(D, C) ? u = C : ntd(C, D) && (u = D);\n w2 = c2;\n A = BD(Ohb(a.a, u), 10);\n !!A && (w2 = A.e);\n r = X1b(a, h, u, w2);\n yNb(r, (wtc(), xsc), R1b(a, h, b, c2));\n }\n m = PD(hkd(f2, axc)) === PD((hbd(), ebd));\n if (m) {\n for (e = new Fyd((!f2.a && (f2.a = new cUd(E2, f2, 10, 11)), f2.a)); e.e != e.i.gc(); ) {\n d = BD(Dyd(e), 33);\n F = !ikd(d, (Y9c(), o8c)) || dfb(GD(hkd(d, o8c)), sne);\n B = PD(hkd(d, axc)) === PD(ebd);\n F && B && (Gsb(g, d, g.c.b, g.c), true);\n }\n }\n }\n }\n function vA(a, b, c2, d, e, f2) {\n var g, h, i3, j, k, l, m, n, o2, p, q, r;\n switch (b) {\n case 71:\n h = d.q.getFullYear() - nje >= -1900 ? 1 : 0;\n c2 >= 4 ? Qfb(a, OC(GC(ZI, 1), nie, 2, 6, [pje, qje])[h]) : Qfb(a, OC(GC(ZI, 1), nie, 2, 6, [\"BC\", \"AD\"])[h]);\n break;\n case 121:\n kA(a, c2, d);\n break;\n case 77:\n jA(a, c2, d);\n break;\n case 107:\n i3 = e.q.getHours();\n i3 == 0 ? EA(a, 24, c2) : EA(a, i3, c2);\n break;\n case 83:\n iA(a, c2, e);\n break;\n case 69:\n k = d.q.getDay();\n c2 == 5 ? Qfb(a, OC(GC(ZI, 1), nie, 2, 6, [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"])[k]) : c2 == 4 ? Qfb(a, OC(GC(ZI, 1), nie, 2, 6, [rje, sje, tje, uje, vje, wje, xje])[k]) : Qfb(a, OC(GC(ZI, 1), nie, 2, 6, [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"])[k]);\n break;\n case 97:\n e.q.getHours() >= 12 && e.q.getHours() < 24 ? Qfb(a, OC(GC(ZI, 1), nie, 2, 6, [\"AM\", \"PM\"])[1]) : Qfb(a, OC(GC(ZI, 1), nie, 2, 6, [\"AM\", \"PM\"])[0]);\n break;\n case 104:\n l = e.q.getHours() % 12;\n l == 0 ? EA(a, 12, c2) : EA(a, l, c2);\n break;\n case 75:\n m = e.q.getHours() % 12;\n EA(a, m, c2);\n break;\n case 72:\n n = e.q.getHours();\n EA(a, n, c2);\n break;\n case 99:\n o2 = d.q.getDay();\n c2 == 5 ? Qfb(a, OC(GC(ZI, 1), nie, 2, 6, [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"])[o2]) : c2 == 4 ? Qfb(a, OC(GC(ZI, 1), nie, 2, 6, [rje, sje, tje, uje, vje, wje, xje])[o2]) : c2 == 3 ? Qfb(a, OC(GC(ZI, 1), nie, 2, 6, [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"])[o2]) : EA(a, o2, 1);\n break;\n case 76:\n p = d.q.getMonth();\n c2 == 5 ? Qfb(a, OC(GC(ZI, 1), nie, 2, 6, [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"])[p]) : c2 == 4 ? Qfb(a, OC(GC(ZI, 1), nie, 2, 6, [bje, cje, dje, eje, fje, gje, hje, ije, jje, kje, lje, mje])[p]) : c2 == 3 ? Qfb(a, OC(GC(ZI, 1), nie, 2, 6, [\"Jan\", \"Feb\", \"Mar\", \"Apr\", fje, \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"])[p]) : EA(a, p + 1, c2);\n break;\n case 81:\n q = d.q.getMonth() / 3 | 0;\n c2 < 4 ? Qfb(a, OC(GC(ZI, 1), nie, 2, 6, [\"Q1\", \"Q2\", \"Q3\", \"Q4\"])[q]) : Qfb(a, OC(GC(ZI, 1), nie, 2, 6, [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"])[q]);\n break;\n case 100:\n r = d.q.getDate();\n EA(a, r, c2);\n break;\n case 109:\n j = e.q.getMinutes();\n EA(a, j, c2);\n break;\n case 115:\n g = e.q.getSeconds();\n EA(a, g, c2);\n break;\n case 122:\n c2 < 4 ? Qfb(a, f2.c[0]) : Qfb(a, f2.c[1]);\n break;\n case 118:\n Qfb(a, f2.b);\n break;\n case 90:\n c2 < 3 ? Qfb(a, OA(f2)) : c2 == 3 ? Qfb(a, NA(f2)) : Qfb(a, QA(f2.a));\n break;\n default:\n return false;\n }\n return true;\n }\n function X1b(a, b, c2, d) {\n var e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F, G, H;\n N1b(b);\n i3 = BD(qud((!b.b && (b.b = new y5d(z2, b, 4, 7)), b.b), 0), 82);\n k = BD(qud((!b.c && (b.c = new y5d(z2, b, 5, 8)), b.c), 0), 82);\n h = atd(i3);\n j = atd(k);\n g = (!b.a && (b.a = new cUd(A2, b, 6, 6)), b.a).i == 0 ? null : BD(qud((!b.a && (b.a = new cUd(A2, b, 6, 6)), b.a), 0), 202);\n A = BD(Ohb(a.a, h), 10);\n F = BD(Ohb(a.a, j), 10);\n B = null;\n G = null;\n if (JD(i3, 186)) {\n w2 = BD(Ohb(a.a, i3), 299);\n if (JD(w2, 11)) {\n B = BD(w2, 11);\n } else if (JD(w2, 10)) {\n A = BD(w2, 10);\n B = BD(Ikb(A.j, 0), 11);\n }\n }\n if (JD(k, 186)) {\n D = BD(Ohb(a.a, k), 299);\n if (JD(D, 11)) {\n G = BD(D, 11);\n } else if (JD(D, 10)) {\n F = BD(D, 10);\n G = BD(Ikb(F.j, 0), 11);\n }\n }\n if (!A || !F) {\n throw vbb(new z2c(\"The source or the target of edge \" + b + \" could not be found. This usually happens when an edge connects a node laid out by ELK Layered to a node in another level of hierarchy laid out by either another instance of ELK Layered or another layout algorithm alltogether. The former can be solved by setting the hierarchyHandling option to INCLUDE_CHILDREN.\"));\n }\n p = new UZb();\n tNb(p, b);\n yNb(p, (wtc(), $sc), b);\n yNb(p, (Nyc(), jxc), null);\n n = BD(vNb(d, Ksc), 21);\n A == F && n.Fc((Orc(), Nrc));\n if (!B) {\n v = (KAc(), IAc);\n C = null;\n if (!!g && fcd(BD(vNb(A, Vxc), 98))) {\n C = new f7c(g.j, g.k);\n Bfd(C, Mld(b));\n Cfd(C, c2);\n if (ntd(j, h)) {\n v = HAc;\n P6c(C, A.n);\n }\n }\n B = $$b(A, C, v, d);\n }\n if (!G) {\n v = (KAc(), HAc);\n H = null;\n if (!!g && fcd(BD(vNb(F, Vxc), 98))) {\n H = new f7c(g.b, g.c);\n Bfd(H, Mld(b));\n Cfd(H, c2);\n }\n G = $$b(F, H, v, Q_b(F));\n }\n QZb(p, B);\n RZb(p, G);\n (B.e.c.length > 1 || B.g.c.length > 1 || G.e.c.length > 1 || G.g.c.length > 1) && n.Fc((Orc(), Irc));\n for (m = new Fyd((!b.n && (b.n = new cUd(D2, b, 1, 7)), b.n)); m.e != m.i.gc(); ) {\n l = BD(Dyd(m), 137);\n if (!Ccb(DD(hkd(l, Jxc))) && !!l.a) {\n q = Z1b(l);\n Ekb(p.b, q);\n switch (BD(vNb(q, Qwc), 272).g) {\n case 1:\n case 2:\n n.Fc((Orc(), Grc));\n break;\n case 0:\n n.Fc((Orc(), Erc));\n yNb(q, Qwc, (qad(), nad));\n }\n }\n }\n f2 = BD(vNb(d, Iwc), 314);\n r = BD(vNb(d, Exc), 315);\n e = f2 == (Rpc(), Opc) || r == (Vzc(), Rzc);\n if (!!g && (!g.a && (g.a = new xMd(y2, g, 5)), g.a).i != 0 && e) {\n s = ofd(g);\n o2 = new s7c();\n for (u = Jsb(s, 0); u.b != u.d.c; ) {\n t = BD(Xsb(u), 8);\n Dsb(o2, new g7c(t));\n }\n yNb(p, _sc, o2);\n }\n return p;\n }\n function yZd(a) {\n if (a.gb)\n return;\n a.gb = true;\n a.b = Lnd(a, 0);\n Knd(a.b, 18);\n Qnd(a.b, 19);\n a.a = Lnd(a, 1);\n Knd(a.a, 1);\n Qnd(a.a, 2);\n Qnd(a.a, 3);\n Qnd(a.a, 4);\n Qnd(a.a, 5);\n a.o = Lnd(a, 2);\n Knd(a.o, 8);\n Knd(a.o, 9);\n Qnd(a.o, 10);\n Qnd(a.o, 11);\n Qnd(a.o, 12);\n Qnd(a.o, 13);\n Qnd(a.o, 14);\n Qnd(a.o, 15);\n Qnd(a.o, 16);\n Qnd(a.o, 17);\n Qnd(a.o, 18);\n Qnd(a.o, 19);\n Qnd(a.o, 20);\n Qnd(a.o, 21);\n Qnd(a.o, 22);\n Qnd(a.o, 23);\n Pnd(a.o);\n Pnd(a.o);\n Pnd(a.o);\n Pnd(a.o);\n Pnd(a.o);\n Pnd(a.o);\n Pnd(a.o);\n Pnd(a.o);\n Pnd(a.o);\n Pnd(a.o);\n a.p = Lnd(a, 3);\n Knd(a.p, 2);\n Knd(a.p, 3);\n Knd(a.p, 4);\n Knd(a.p, 5);\n Qnd(a.p, 6);\n Qnd(a.p, 7);\n Pnd(a.p);\n Pnd(a.p);\n a.q = Lnd(a, 4);\n Knd(a.q, 8);\n a.v = Lnd(a, 5);\n Qnd(a.v, 9);\n Pnd(a.v);\n Pnd(a.v);\n Pnd(a.v);\n a.w = Lnd(a, 6);\n Knd(a.w, 2);\n Knd(a.w, 3);\n Knd(a.w, 4);\n Qnd(a.w, 5);\n a.B = Lnd(a, 7);\n Qnd(a.B, 1);\n Pnd(a.B);\n Pnd(a.B);\n Pnd(a.B);\n a.Q = Lnd(a, 8);\n Qnd(a.Q, 0);\n Pnd(a.Q);\n a.R = Lnd(a, 9);\n Knd(a.R, 1);\n a.S = Lnd(a, 10);\n Pnd(a.S);\n Pnd(a.S);\n Pnd(a.S);\n Pnd(a.S);\n Pnd(a.S);\n Pnd(a.S);\n Pnd(a.S);\n Pnd(a.S);\n Pnd(a.S);\n Pnd(a.S);\n Pnd(a.S);\n Pnd(a.S);\n Pnd(a.S);\n Pnd(a.S);\n Pnd(a.S);\n a.T = Lnd(a, 11);\n Qnd(a.T, 10);\n Qnd(a.T, 11);\n Qnd(a.T, 12);\n Qnd(a.T, 13);\n Qnd(a.T, 14);\n Pnd(a.T);\n Pnd(a.T);\n a.U = Lnd(a, 12);\n Knd(a.U, 2);\n Knd(a.U, 3);\n Qnd(a.U, 4);\n Qnd(a.U, 5);\n Qnd(a.U, 6);\n Qnd(a.U, 7);\n Pnd(a.U);\n a.V = Lnd(a, 13);\n Qnd(a.V, 10);\n a.W = Lnd(a, 14);\n Knd(a.W, 18);\n Knd(a.W, 19);\n Knd(a.W, 20);\n Qnd(a.W, 21);\n Qnd(a.W, 22);\n Qnd(a.W, 23);\n a.bb = Lnd(a, 15);\n Knd(a.bb, 10);\n Knd(a.bb, 11);\n Knd(a.bb, 12);\n Knd(a.bb, 13);\n Knd(a.bb, 14);\n Knd(a.bb, 15);\n Knd(a.bb, 16);\n Qnd(a.bb, 17);\n Pnd(a.bb);\n Pnd(a.bb);\n a.eb = Lnd(a, 16);\n Knd(a.eb, 2);\n Knd(a.eb, 3);\n Knd(a.eb, 4);\n Knd(a.eb, 5);\n Knd(a.eb, 6);\n Knd(a.eb, 7);\n Qnd(a.eb, 8);\n Qnd(a.eb, 9);\n a.ab = Lnd(a, 17);\n Knd(a.ab, 0);\n Knd(a.ab, 1);\n a.H = Lnd(a, 18);\n Qnd(a.H, 0);\n Qnd(a.H, 1);\n Qnd(a.H, 2);\n Qnd(a.H, 3);\n Qnd(a.H, 4);\n Qnd(a.H, 5);\n Pnd(a.H);\n a.db = Lnd(a, 19);\n Qnd(a.db, 2);\n a.c = Mnd(a, 20);\n a.d = Mnd(a, 21);\n a.e = Mnd(a, 22);\n a.f = Mnd(a, 23);\n a.i = Mnd(a, 24);\n a.g = Mnd(a, 25);\n a.j = Mnd(a, 26);\n a.k = Mnd(a, 27);\n a.n = Mnd(a, 28);\n a.r = Mnd(a, 29);\n a.s = Mnd(a, 30);\n a.t = Mnd(a, 31);\n a.u = Mnd(a, 32);\n a.fb = Mnd(a, 33);\n a.A = Mnd(a, 34);\n a.C = Mnd(a, 35);\n a.D = Mnd(a, 36);\n a.F = Mnd(a, 37);\n a.G = Mnd(a, 38);\n a.I = Mnd(a, 39);\n a.J = Mnd(a, 40);\n a.L = Mnd(a, 41);\n a.M = Mnd(a, 42);\n a.N = Mnd(a, 43);\n a.O = Mnd(a, 44);\n a.P = Mnd(a, 45);\n a.X = Mnd(a, 46);\n a.Y = Mnd(a, 47);\n a.Z = Mnd(a, 48);\n a.$ = Mnd(a, 49);\n a._ = Mnd(a, 50);\n a.cb = Mnd(a, 51);\n a.K = Mnd(a, 52);\n }\n function Y9c() {\n Y9c = ccb;\n var a, b;\n o8c = new Lsd(sse);\n F9c = new Lsd(tse);\n q8c = (F7c(), z7c);\n p8c = new Nsd($pe, q8c);\n r8c = new Nsd(_le, null);\n s8c = new Lsd(use);\n x8c = (i8c(), qqb(h8c, OC(GC(r1, 1), Kie, 291, 0, [d8c])));\n w8c = new Nsd(lqe, x8c);\n y8c = new Nsd(Zpe, (Bcb(), false));\n A8c = (ead(), cad);\n z8c = new Nsd(cqe, A8c);\n F8c = (Aad(), zad);\n E8c = new Nsd(ype, F8c);\n I8c = new Nsd(Jre, false);\n K8c = (hbd(), fbd);\n J8c = new Nsd(tpe, K8c);\n g9c = new q0b(12);\n f9c = new Nsd(ame, g9c);\n O8c = new Nsd(Ame, false);\n P8c = new Nsd(xqe, false);\n e9c = new Nsd(Dme, false);\n u9c = (dcd(), ccd);\n t9c = new Nsd(Bme, u9c);\n C9c = new Lsd(uqe);\n D9c = new Lsd(vme);\n E9c = new Lsd(yme);\n H9c = new Lsd(zme);\n R8c = new s7c();\n Q8c = new Nsd(mqe, R8c);\n v8c = new Nsd(pqe, false);\n L8c = new Nsd(qqe, false);\n T8c = new H_b();\n S8c = new Nsd(vqe, T8c);\n d9c = new Nsd(Xpe, false);\n G9c = new Nsd(wse, 1);\n new Nsd(xse, true);\n meb(0);\n new Nsd(yse, meb(100));\n new Nsd(zse, false);\n meb(0);\n new Nsd(Ase, meb(4e3));\n meb(0);\n new Nsd(Bse, meb(400));\n new Nsd(Cse, false);\n new Nsd(Dse, false);\n new Nsd(Ese, true);\n new Nsd(Fse, false);\n u8c = (Ded(), Ced);\n t8c = new Nsd(rse, u8c);\n I9c = new Nsd(Lpe, 10);\n J9c = new Nsd(Mpe, 10);\n K9c = new Nsd(Zle, 20);\n L9c = new Nsd(Npe, 10);\n M9c = new Nsd(xme, 2);\n N9c = new Nsd(Ope, 10);\n P9c = new Nsd(Ppe, 0);\n Q9c = new Nsd(Spe, 5);\n R9c = new Nsd(Qpe, 1);\n S9c = new Nsd(Rpe, 1);\n T9c = new Nsd(wme, 20);\n U9c = new Nsd(Tpe, 10);\n X9c = new Nsd(Upe, 10);\n O9c = new Lsd(Vpe);\n W9c = new I_b();\n V9c = new Nsd(wqe, W9c);\n j9c = new Lsd(tqe);\n i9c = false;\n h9c = new Nsd(sqe, i9c);\n V8c = new q0b(5);\n U8c = new Nsd(dqe, V8c);\n X8c = (Hbd(), b = BD(gdb(B1), 9), new xqb(b, BD(_Bb(b, b.length), 9), 0));\n W8c = new Nsd(Gme, X8c);\n m9c = (Tbd(), Qbd);\n l9c = new Nsd(gqe, m9c);\n o9c = new Lsd(hqe);\n p9c = new Lsd(iqe);\n q9c = new Lsd(jqe);\n n9c = new Lsd(kqe);\n Z8c = (a = BD(gdb(I1), 9), new xqb(a, BD(_Bb(a, a.length), 9), 0));\n Y8c = new Nsd(Fme, Z8c);\n c9c = pqb((Idd(), Bdd));\n b9c = new Nsd(Eme, c9c);\n a9c = new f7c(0, 0);\n _8c = new Nsd(Tme, a9c);\n $8c = new Nsd(bqe, false);\n D8c = (qad(), nad);\n C8c = new Nsd(nqe, D8c);\n B8c = new Nsd(Cme, false);\n meb(1);\n new Nsd(Hse, null);\n r9c = new Lsd(rqe);\n v9c = new Lsd(oqe);\n B9c = (Ucd(), Scd);\n A9c = new Nsd(Ype, B9c);\n s9c = new Lsd(Wpe);\n y9c = (rcd(), pqb(pcd));\n x9c = new Nsd(Hme, y9c);\n w9c = new Nsd(eqe, false);\n z9c = new Nsd(fqe, true);\n M8c = new Nsd(_pe, false);\n N8c = new Nsd(aqe, false);\n G8c = new Nsd($le, 1);\n H8c = (Mad(), Kad);\n new Nsd(Ise, H8c);\n k9c = true;\n }\n function wtc() {\n wtc = ccb;\n var a, b;\n $sc = new Lsd(Ime);\n xsc = new Lsd(\"coordinateOrigin\");\n itc = new Lsd(\"processors\");\n wsc = new Msd(\"compoundNode\", (Bcb(), false));\n Nsc = new Msd(\"insideConnections\", false);\n _sc = new Lsd(\"originalBendpoints\");\n atc = new Lsd(\"originalDummyNodePosition\");\n btc = new Lsd(\"originalLabelEdge\");\n ktc = new Lsd(\"representedLabels\");\n Csc = new Lsd(\"endLabels\");\n Dsc = new Lsd(\"endLabel.origin\");\n Ssc = new Msd(\"labelSide\", (rbd(), qbd));\n Ysc = new Msd(\"maxEdgeThickness\", 0);\n ltc = new Msd(\"reversed\", false);\n jtc = new Lsd(Jme);\n Vsc = new Msd(\"longEdgeSource\", null);\n Wsc = new Msd(\"longEdgeTarget\", null);\n Usc = new Msd(\"longEdgeHasLabelDummies\", false);\n Tsc = new Msd(\"longEdgeBeforeLabelDummy\", false);\n Bsc = new Msd(\"edgeConstraint\", (Gqc(), Eqc));\n Psc = new Lsd(\"inLayerLayoutUnit\");\n Osc = new Msd(\"inLayerConstraint\", (esc(), csc));\n Qsc = new Msd(\"inLayerSuccessorConstraint\", new Rkb());\n Rsc = new Msd(\"inLayerSuccessorConstraintBetweenNonDummies\", false);\n gtc = new Lsd(\"portDummy\");\n ysc = new Msd(\"crossingHint\", meb(0));\n Ksc = new Msd(\"graphProperties\", (b = BD(gdb(PW), 9), new xqb(b, BD(_Bb(b, b.length), 9), 0)));\n Hsc = new Msd(\"externalPortSide\", (Ucd(), Scd));\n Isc = new Msd(\"externalPortSize\", new d7c());\n Fsc = new Lsd(\"externalPortReplacedDummies\");\n Gsc = new Lsd(\"externalPortReplacedDummy\");\n Esc = new Msd(\"externalPortConnections\", (a = BD(gdb(F1), 9), new xqb(a, BD(_Bb(a, a.length), 9), 0)));\n htc = new Msd(tle, 0);\n ssc = new Lsd(\"barycenterAssociates\");\n vtc = new Lsd(\"TopSideComments\");\n tsc = new Lsd(\"BottomSideComments\");\n vsc = new Lsd(\"CommentConnectionPort\");\n Msc = new Msd(\"inputCollect\", false);\n etc = new Msd(\"outputCollect\", false);\n Asc = new Msd(\"cyclic\", false);\n zsc = new Lsd(\"crossHierarchyMap\");\n utc = new Lsd(\"targetOffset\");\n new Msd(\"splineLabelSize\", new d7c());\n otc = new Lsd(\"spacings\");\n ftc = new Msd(\"partitionConstraint\", false);\n usc = new Lsd(\"breakingPoint.info\");\n stc = new Lsd(\"splines.survivingEdge\");\n rtc = new Lsd(\"splines.route.start\");\n ptc = new Lsd(\"splines.edgeChain\");\n dtc = new Lsd(\"originalPortConstraints\");\n ntc = new Lsd(\"selfLoopHolder\");\n qtc = new Lsd(\"splines.nsPortY\");\n Zsc = new Lsd(\"modelOrder\");\n Xsc = new Lsd(\"longEdgeTargetNode\");\n Jsc = new Msd(Xne, false);\n mtc = new Msd(Xne, false);\n Lsc = new Lsd(\"layerConstraints.hiddenNodes\");\n ctc = new Lsd(\"layerConstraints.opposidePort\");\n ttc = new Lsd(\"targetNode.modelOrder\");\n }\n function jwc() {\n jwc = ccb;\n puc = (xqc(), vqc);\n ouc = new Nsd(Yne, puc);\n Guc = new Nsd(Zne, (Bcb(), false));\n Muc = (msc(), ksc);\n Luc = new Nsd($ne, Muc);\n cvc = new Nsd(_ne, false);\n dvc = new Nsd(aoe, true);\n Itc = new Nsd(boe, false);\n xvc = (BAc(), zAc);\n wvc = new Nsd(coe, xvc);\n meb(1);\n Fvc = new Nsd(doe, meb(7));\n Gvc = new Nsd(eoe, false);\n Huc = new Nsd(foe, false);\n nuc = (mqc(), iqc);\n muc = new Nsd(goe, nuc);\n bvc = (lzc(), jzc);\n avc = new Nsd(hoe, bvc);\n Tuc = (Ctc(), Btc);\n Suc = new Nsd(ioe, Tuc);\n meb(-1);\n Ruc = new Nsd(joe, meb(-1));\n meb(-1);\n Uuc = new Nsd(koe, meb(-1));\n meb(-1);\n Vuc = new Nsd(loe, meb(4));\n meb(-1);\n Xuc = new Nsd(moe, meb(2));\n _uc = (kAc(), iAc);\n $uc = new Nsd(noe, _uc);\n meb(0);\n Zuc = new Nsd(ooe, meb(0));\n Puc = new Nsd(poe, meb(Ohe));\n luc = (Rpc(), Ppc);\n kuc = new Nsd(qoe, luc);\n Xtc = new Nsd(roe, false);\n euc = new Nsd(soe, 0.1);\n iuc = new Nsd(toe, false);\n meb(-1);\n guc = new Nsd(uoe, meb(-1));\n meb(-1);\n huc = new Nsd(voe, meb(-1));\n meb(0);\n Ytc = new Nsd(woe, meb(40));\n cuc = (Xrc(), Wrc);\n buc = new Nsd(xoe, cuc);\n $tc = Urc;\n Ztc = new Nsd(yoe, $tc);\n vvc = (Vzc(), Qzc);\n uvc = new Nsd(zoe, vvc);\n kvc = new Lsd(Aoe);\n fvc = (_qc(), Zqc);\n evc = new Nsd(Boe, fvc);\n ivc = (lrc(), irc);\n hvc = new Nsd(Coe, ivc);\n nvc = new Nsd(Doe, 0.3);\n pvc = new Lsd(Eoe);\n rvc = (Izc(), Gzc);\n qvc = new Nsd(Foe, rvc);\n xuc = (TAc(), RAc);\n wuc = new Nsd(Goe, xuc);\n zuc = (_Ac(), $Ac);\n yuc = new Nsd(Hoe, zuc);\n Buc = (tBc(), sBc);\n Auc = new Nsd(Ioe, Buc);\n Duc = new Nsd(Joe, 0.2);\n uuc = new Nsd(Koe, 2);\n Bvc = new Nsd(Loe, null);\n Dvc = new Nsd(Moe, 10);\n Cvc = new Nsd(Noe, 10);\n Evc = new Nsd(Ooe, 20);\n meb(0);\n yvc = new Nsd(Poe, meb(0));\n meb(0);\n zvc = new Nsd(Qoe, meb(0));\n meb(0);\n Avc = new Nsd(Roe, meb(0));\n Jtc = new Nsd(Soe, false);\n Ntc = (yrc(), wrc);\n Mtc = new Nsd(Toe, Ntc);\n Ltc = (Ipc(), Hpc);\n Ktc = new Nsd(Uoe, Ltc);\n Juc = new Nsd(Voe, false);\n meb(0);\n Iuc = new Nsd(Woe, meb(16));\n meb(0);\n Kuc = new Nsd(Xoe, meb(5));\n bwc = (LBc(), JBc);\n awc = new Nsd(Yoe, bwc);\n Hvc = new Nsd(Zoe, 10);\n Kvc = new Nsd($oe, 1);\n Tvc = (bqc(), aqc);\n Svc = new Nsd(_oe, Tvc);\n Nvc = new Lsd(ape);\n Qvc = meb(1);\n meb(0);\n Pvc = new Nsd(bpe, Qvc);\n gwc = (CBc(), zBc);\n fwc = new Nsd(cpe, gwc);\n cwc = new Lsd(dpe);\n Yvc = new Nsd(epe, true);\n Wvc = new Nsd(fpe, 2);\n $vc = new Nsd(gpe, true);\n tuc = (Sqc(), Qqc);\n suc = new Nsd(hpe, tuc);\n ruc = (Apc(), wpc);\n quc = new Nsd(ipe, ruc);\n Wtc = (tAc(), rAc);\n Vtc = new Nsd(jpe, Wtc);\n Utc = new Nsd(kpe, false);\n Ptc = (RXb(), QXb);\n Otc = new Nsd(lpe, Ptc);\n Ttc = (xzc(), uzc);\n Stc = new Nsd(mpe, Ttc);\n Qtc = new Nsd(npe, 0);\n Rtc = new Nsd(ope, 0);\n Ouc = kqc;\n Nuc = Opc;\n Wuc = izc;\n Yuc = izc;\n Quc = fzc;\n fuc = (hbd(), ebd);\n juc = Ppc;\n duc = Ppc;\n _tc = Ppc;\n auc = ebd;\n lvc = Tzc;\n mvc = Qzc;\n gvc = Qzc;\n jvc = Qzc;\n ovc = Szc;\n tvc = Tzc;\n svc = Tzc;\n Cuc = (Aad(), yad);\n Euc = yad;\n Fuc = sBc;\n vuc = xad;\n Ivc = KBc;\n Jvc = IBc;\n Lvc = KBc;\n Mvc = IBc;\n Uvc = KBc;\n Vvc = IBc;\n Ovc = _pc;\n Rvc = aqc;\n hwc = KBc;\n iwc = IBc;\n dwc = KBc;\n ewc = IBc;\n Zvc = IBc;\n Xvc = IBc;\n _vc = IBc;\n }\n function S8b() {\n S8b = ccb;\n Y7b = new T8b(\"DIRECTION_PREPROCESSOR\", 0);\n V7b = new T8b(\"COMMENT_PREPROCESSOR\", 1);\n Z7b = new T8b(\"EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER\", 2);\n n8b = new T8b(\"INTERACTIVE_EXTERNAL_PORT_POSITIONER\", 3);\n G8b = new T8b(\"PARTITION_PREPROCESSOR\", 4);\n r8b = new T8b(\"LABEL_DUMMY_INSERTER\", 5);\n M8b = new T8b(\"SELF_LOOP_PREPROCESSOR\", 6);\n w8b = new T8b(\"LAYER_CONSTRAINT_PREPROCESSOR\", 7);\n E8b = new T8b(\"PARTITION_MIDPROCESSOR\", 8);\n i8b = new T8b(\"HIGH_DEGREE_NODE_LAYER_PROCESSOR\", 9);\n A8b = new T8b(\"NODE_PROMOTION\", 10);\n v8b = new T8b(\"LAYER_CONSTRAINT_POSTPROCESSOR\", 11);\n F8b = new T8b(\"PARTITION_POSTPROCESSOR\", 12);\n e8b = new T8b(\"HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR\", 13);\n O8b = new T8b(\"SEMI_INTERACTIVE_CROSSMIN_PROCESSOR\", 14);\n P7b = new T8b(\"BREAKING_POINT_INSERTER\", 15);\n z8b = new T8b(\"LONG_EDGE_SPLITTER\", 16);\n I8b = new T8b(\"PORT_SIDE_PROCESSOR\", 17);\n o8b = new T8b(\"INVERTED_PORT_PROCESSOR\", 18);\n H8b = new T8b(\"PORT_LIST_SORTER\", 19);\n Q8b = new T8b(\"SORT_BY_INPUT_ORDER_OF_MODEL\", 20);\n C8b = new T8b(\"NORTH_SOUTH_PORT_PREPROCESSOR\", 21);\n Q7b = new T8b(\"BREAKING_POINT_PROCESSOR\", 22);\n D8b = new T8b(Bne, 23);\n R8b = new T8b(Cne, 24);\n K8b = new T8b(\"SELF_LOOP_PORT_RESTORER\", 25);\n P8b = new T8b(\"SINGLE_EDGE_GRAPH_WRAPPER\", 26);\n p8b = new T8b(\"IN_LAYER_CONSTRAINT_PROCESSOR\", 27);\n b8b = new T8b(\"END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR\", 28);\n q8b = new T8b(\"LABEL_AND_NODE_SIZE_PROCESSOR\", 29);\n m8b = new T8b(\"INNERMOST_NODE_MARGIN_CALCULATOR\", 30);\n N8b = new T8b(\"SELF_LOOP_ROUTER\", 31);\n T7b = new T8b(\"COMMENT_NODE_MARGIN_CALCULATOR\", 32);\n _7b = new T8b(\"END_LABEL_PREPROCESSOR\", 33);\n t8b = new T8b(\"LABEL_DUMMY_SWITCHER\", 34);\n S7b = new T8b(\"CENTER_LABEL_MANAGEMENT_PROCESSOR\", 35);\n u8b = new T8b(\"LABEL_SIDE_SELECTOR\", 36);\n k8b = new T8b(\"HYPEREDGE_DUMMY_MERGER\", 37);\n f8b = new T8b(\"HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR\", 38);\n x8b = new T8b(\"LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR\", 39);\n h8b = new T8b(\"HIERARCHICAL_PORT_POSITION_PROCESSOR\", 40);\n W7b = new T8b(\"CONSTRAINTS_POSTPROCESSOR\", 41);\n U7b = new T8b(\"COMMENT_POSTPROCESSOR\", 42);\n l8b = new T8b(\"HYPERNODE_PROCESSOR\", 43);\n g8b = new T8b(\"HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER\", 44);\n y8b = new T8b(\"LONG_EDGE_JOINER\", 45);\n L8b = new T8b(\"SELF_LOOP_POSTPROCESSOR\", 46);\n R7b = new T8b(\"BREAKING_POINT_REMOVER\", 47);\n B8b = new T8b(\"NORTH_SOUTH_PORT_POSTPROCESSOR\", 48);\n j8b = new T8b(\"HORIZONTAL_COMPACTOR\", 49);\n s8b = new T8b(\"LABEL_DUMMY_REMOVER\", 50);\n c8b = new T8b(\"FINAL_SPLINE_BENDPOINTS_CALCULATOR\", 51);\n a8b = new T8b(\"END_LABEL_SORTER\", 52);\n J8b = new T8b(\"REVERSED_EDGE_RESTORER\", 53);\n $7b = new T8b(\"END_LABEL_POSTPROCESSOR\", 54);\n d8b = new T8b(\"HIERARCHICAL_NODE_RESIZER\", 55);\n X7b = new T8b(\"DIRECTION_POSTPROCESSOR\", 56);\n }\n function KIc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F, G, H, I, J, K2, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, $, ab, bb, cb, db2, eb, fb, gb, hb, ib, jb, kb, lb;\n cb = 0;\n for (H = b, K2 = 0, N = H.length; K2 < N; ++K2) {\n F = H[K2];\n for (V = new olb(F.j); V.a < V.c.c.length; ) {\n U = BD(mlb(V), 11);\n X = 0;\n for (h = new olb(U.g); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 17);\n F.c != g.d.i.c && ++X;\n }\n X > 0 && (a.a[U.p] = cb++);\n }\n }\n hb = 0;\n for (I = c2, L = 0, O = I.length; L < O; ++L) {\n F = I[L];\n P = 0;\n for (V = new olb(F.j); V.a < V.c.c.length; ) {\n U = BD(mlb(V), 11);\n if (U.j == (Ucd(), Acd)) {\n for (h = new olb(U.e); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 17);\n if (F.c != g.c.i.c) {\n ++P;\n break;\n }\n }\n } else {\n break;\n }\n }\n R = 0;\n Y = new Bib(F.j, F.j.c.length);\n while (Y.b > 0) {\n U = (sCb(Y.b > 0), BD(Y.a.Xb(Y.c = --Y.b), 11));\n X = 0;\n for (h = new olb(U.e); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 17);\n F.c != g.c.i.c && ++X;\n }\n if (X > 0) {\n if (U.j == (Ucd(), Acd)) {\n a.a[U.p] = hb;\n ++hb;\n } else {\n a.a[U.p] = hb + P + R;\n ++R;\n }\n }\n }\n hb += R;\n }\n W = new Lqb();\n o2 = new zsb();\n for (G = b, J = 0, M = G.length; J < M; ++J) {\n F = G[J];\n for (fb = new olb(F.j); fb.a < fb.c.c.length; ) {\n eb = BD(mlb(fb), 11);\n for (h = new olb(eb.g); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 17);\n jb = g.d;\n if (F.c != jb.i.c) {\n db2 = BD(Wd(irb(W.f, eb)), 467);\n ib = BD(Wd(irb(W.f, jb)), 467);\n if (!db2 && !ib) {\n n = new NIc();\n o2.a.zc(n, o2);\n Ekb(n.a, g);\n Ekb(n.d, eb);\n jrb(W.f, eb, n);\n Ekb(n.d, jb);\n jrb(W.f, jb, n);\n } else if (!db2) {\n Ekb(ib.a, g);\n Ekb(ib.d, eb);\n jrb(W.f, eb, ib);\n } else if (!ib) {\n Ekb(db2.a, g);\n Ekb(db2.d, jb);\n jrb(W.f, jb, db2);\n } else if (db2 == ib) {\n Ekb(db2.a, g);\n } else {\n Ekb(db2.a, g);\n for (T = new olb(ib.d); T.a < T.c.c.length; ) {\n S = BD(mlb(T), 11);\n jrb(W.f, S, db2);\n }\n Gkb(db2.a, ib.a);\n Gkb(db2.d, ib.d);\n o2.a.Bc(ib) != null;\n }\n }\n }\n }\n }\n p = BD(Ee(o2, KC(oY, { 3: 1, 4: 1, 5: 1, 1946: 1 }, 467, o2.a.gc(), 0, 1)), 1946);\n D = b[0].c;\n bb = c2[0].c;\n for (k = p, l = 0, m = k.length; l < m; ++l) {\n j = k[l];\n j.e = cb;\n j.f = hb;\n for (V = new olb(j.d); V.a < V.c.c.length; ) {\n U = BD(mlb(V), 11);\n Z = a.a[U.p];\n if (U.i.c == D) {\n Z < j.e && (j.e = Z);\n Z > j.b && (j.b = Z);\n } else if (U.i.c == bb) {\n Z < j.f && (j.f = Z);\n Z > j.c && (j.c = Z);\n }\n }\n }\n Klb(p, 0, p.length, null);\n gb = KC(WD, oje, 25, p.length, 15, 1);\n d = KC(WD, oje, 25, hb + 1, 15, 1);\n for (r = 0; r < p.length; r++) {\n gb[r] = p[r].f;\n d[gb[r]] = 1;\n }\n f2 = 0;\n for (s = 0; s < d.length; s++) {\n d[s] == 1 ? d[s] = f2 : --f2;\n }\n $ = 0;\n for (t = 0; t < gb.length; t++) {\n gb[t] += d[gb[t]];\n $ = $wnd.Math.max($, gb[t] + 1);\n }\n i3 = 1;\n while (i3 < $) {\n i3 *= 2;\n }\n lb = 2 * i3 - 1;\n i3 -= 1;\n kb = KC(WD, oje, 25, lb, 15, 1);\n e = 0;\n for (B = 0; B < gb.length; B++) {\n A = gb[B] + i3;\n ++kb[A];\n while (A > 0) {\n A % 2 > 0 && (e += kb[A + 1]);\n A = (A - 1) / 2 | 0;\n ++kb[A];\n }\n }\n C = KC(nY, Uhe, 362, p.length * 2, 0, 1);\n for (u = 0; u < p.length; u++) {\n C[2 * u] = new QIc(p[u], p[u].e, p[u].b, (UIc(), TIc));\n C[2 * u + 1] = new QIc(p[u], p[u].b, p[u].e, SIc);\n }\n Klb(C, 0, C.length, null);\n Q = 0;\n for (v = 0; v < C.length; v++) {\n switch (C[v].d.g) {\n case 0:\n ++Q;\n break;\n case 1:\n --Q;\n e += Q;\n }\n }\n ab = KC(nY, Uhe, 362, p.length * 2, 0, 1);\n for (w2 = 0; w2 < p.length; w2++) {\n ab[2 * w2] = new QIc(p[w2], p[w2].f, p[w2].c, (UIc(), TIc));\n ab[2 * w2 + 1] = new QIc(p[w2], p[w2].c, p[w2].f, SIc);\n }\n Klb(ab, 0, ab.length, null);\n Q = 0;\n for (q = 0; q < ab.length; q++) {\n switch (ab[q].d.g) {\n case 0:\n ++Q;\n break;\n case 1:\n --Q;\n e += Q;\n }\n }\n return e;\n }\n function wfe() {\n wfe = ccb;\n ffe = new xfe(7);\n hfe = new ige(8, 94);\n new ige(8, 64);\n ife = new ige(8, 36);\n ofe = new ige(8, 65);\n pfe = new ige(8, 122);\n qfe = new ige(8, 90);\n tfe = new ige(8, 98);\n mfe = new ige(8, 66);\n rfe = new ige(8, 60);\n ufe = new ige(8, 62);\n efe = new xfe(11);\n cfe = new $fe(4);\n Ufe(cfe, 48, 57);\n sfe = new $fe(4);\n Ufe(sfe, 48, 57);\n Ufe(sfe, 65, 90);\n Ufe(sfe, 95, 95);\n Ufe(sfe, 97, 122);\n nfe = new $fe(4);\n Ufe(nfe, 9, 9);\n Ufe(nfe, 10, 10);\n Ufe(nfe, 12, 12);\n Ufe(nfe, 13, 13);\n Ufe(nfe, 32, 32);\n jfe = _fe(cfe);\n lfe = _fe(sfe);\n kfe = _fe(nfe);\n Zee = new Lqb();\n $ee = new Lqb();\n _ee = OC(GC(ZI, 1), nie, 2, 6, [\"Cn\", \"Lu\", \"Ll\", \"Lt\", \"Lm\", \"Lo\", \"Mn\", \"Me\", \"Mc\", \"Nd\", \"Nl\", \"No\", \"Zs\", \"Zl\", \"Zp\", \"Cc\", \"Cf\", null, \"Co\", \"Cs\", \"Pd\", \"Ps\", \"Pe\", \"Pc\", \"Po\", \"Sm\", \"Sc\", \"Sk\", \"So\", \"Pi\", \"Pf\", \"L\", \"M\", \"N\", \"Z\", \"C\", \"P\", \"S\"]);\n Yee = OC(GC(ZI, 1), nie, 2, 6, [\"Basic Latin\", \"Latin-1 Supplement\", \"Latin Extended-A\", \"Latin Extended-B\", \"IPA Extensions\", \"Spacing Modifier Letters\", \"Combining Diacritical Marks\", \"Greek\", \"Cyrillic\", \"Armenian\", \"Hebrew\", \"Arabic\", \"Syriac\", \"Thaana\", \"Devanagari\", \"Bengali\", \"Gurmukhi\", \"Gujarati\", \"Oriya\", \"Tamil\", \"Telugu\", \"Kannada\", \"Malayalam\", \"Sinhala\", \"Thai\", \"Lao\", \"Tibetan\", \"Myanmar\", \"Georgian\", \"Hangul Jamo\", \"Ethiopic\", \"Cherokee\", \"Unified Canadian Aboriginal Syllabics\", \"Ogham\", \"Runic\", \"Khmer\", \"Mongolian\", \"Latin Extended Additional\", \"Greek Extended\", \"General Punctuation\", \"Superscripts and Subscripts\", \"Currency Symbols\", \"Combining Marks for Symbols\", \"Letterlike Symbols\", \"Number Forms\", \"Arrows\", \"Mathematical Operators\", \"Miscellaneous Technical\", \"Control Pictures\", \"Optical Character Recognition\", \"Enclosed Alphanumerics\", \"Box Drawing\", \"Block Elements\", \"Geometric Shapes\", \"Miscellaneous Symbols\", \"Dingbats\", \"Braille Patterns\", \"CJK Radicals Supplement\", \"Kangxi Radicals\", \"Ideographic Description Characters\", \"CJK Symbols and Punctuation\", \"Hiragana\", \"Katakana\", \"Bopomofo\", \"Hangul Compatibility Jamo\", \"Kanbun\", \"Bopomofo Extended\", \"Enclosed CJK Letters and Months\", \"CJK Compatibility\", \"CJK Unified Ideographs Extension A\", \"CJK Unified Ideographs\", \"Yi Syllables\", \"Yi Radicals\", \"Hangul Syllables\", uxe, \"CJK Compatibility Ideographs\", \"Alphabetic Presentation Forms\", \"Arabic Presentation Forms-A\", \"Combining Half Marks\", \"CJK Compatibility Forms\", \"Small Form Variants\", \"Arabic Presentation Forms-B\", \"Specials\", \"Halfwidth and Fullwidth Forms\", \"Old Italic\", \"Gothic\", \"Deseret\", \"Byzantine Musical Symbols\", \"Musical Symbols\", \"Mathematical Alphanumeric Symbols\", \"CJK Unified Ideographs Extension B\", \"CJK Compatibility Ideographs Supplement\", \"Tags\"]);\n afe = OC(GC(WD, 1), oje, 25, 15, [66304, 66351, 66352, 66383, 66560, 66639, 118784, 119039, 119040, 119295, 119808, 120831, 131072, 173782, 194560, 195103, 917504, 917631]);\n }\n function qJb() {\n qJb = ccb;\n nJb = new tJb(\"OUT_T_L\", 0, (NHb(), LHb), (EIb(), BIb), (gHb(), dHb), dHb, OC(GC(LK, 1), Uhe, 21, 0, [qqb((Hbd(), Dbd), OC(GC(B1, 1), Kie, 93, 0, [Gbd, zbd]))]));\n mJb = new tJb(\"OUT_T_C\", 1, KHb, BIb, dHb, eHb, OC(GC(LK, 1), Uhe, 21, 0, [qqb(Dbd, OC(GC(B1, 1), Kie, 93, 0, [Gbd, ybd])), qqb(Dbd, OC(GC(B1, 1), Kie, 93, 0, [Gbd, ybd, Abd]))]));\n oJb = new tJb(\"OUT_T_R\", 2, MHb, BIb, dHb, fHb, OC(GC(LK, 1), Uhe, 21, 0, [qqb(Dbd, OC(GC(B1, 1), Kie, 93, 0, [Gbd, Bbd]))]));\n eJb = new tJb(\"OUT_B_L\", 3, LHb, DIb, fHb, dHb, OC(GC(LK, 1), Uhe, 21, 0, [qqb(Dbd, OC(GC(B1, 1), Kie, 93, 0, [Ebd, zbd]))]));\n dJb = new tJb(\"OUT_B_C\", 4, KHb, DIb, fHb, eHb, OC(GC(LK, 1), Uhe, 21, 0, [qqb(Dbd, OC(GC(B1, 1), Kie, 93, 0, [Ebd, ybd])), qqb(Dbd, OC(GC(B1, 1), Kie, 93, 0, [Ebd, ybd, Abd]))]));\n fJb = new tJb(\"OUT_B_R\", 5, MHb, DIb, fHb, fHb, OC(GC(LK, 1), Uhe, 21, 0, [qqb(Dbd, OC(GC(B1, 1), Kie, 93, 0, [Ebd, Bbd]))]));\n iJb = new tJb(\"OUT_L_T\", 6, MHb, DIb, dHb, dHb, OC(GC(LK, 1), Uhe, 21, 0, [qqb(Dbd, OC(GC(B1, 1), Kie, 93, 0, [zbd, Gbd, Abd]))]));\n hJb = new tJb(\"OUT_L_C\", 7, MHb, CIb, eHb, dHb, OC(GC(LK, 1), Uhe, 21, 0, [qqb(Dbd, OC(GC(B1, 1), Kie, 93, 0, [zbd, Fbd])), qqb(Dbd, OC(GC(B1, 1), Kie, 93, 0, [zbd, Fbd, Abd]))]));\n gJb = new tJb(\"OUT_L_B\", 8, MHb, BIb, fHb, dHb, OC(GC(LK, 1), Uhe, 21, 0, [qqb(Dbd, OC(GC(B1, 1), Kie, 93, 0, [zbd, Ebd, Abd]))]));\n lJb = new tJb(\"OUT_R_T\", 9, LHb, DIb, dHb, fHb, OC(GC(LK, 1), Uhe, 21, 0, [qqb(Dbd, OC(GC(B1, 1), Kie, 93, 0, [Bbd, Gbd, Abd]))]));\n kJb = new tJb(\"OUT_R_C\", 10, LHb, CIb, eHb, fHb, OC(GC(LK, 1), Uhe, 21, 0, [qqb(Dbd, OC(GC(B1, 1), Kie, 93, 0, [Bbd, Fbd])), qqb(Dbd, OC(GC(B1, 1), Kie, 93, 0, [Bbd, Fbd, Abd]))]));\n jJb = new tJb(\"OUT_R_B\", 11, LHb, BIb, fHb, fHb, OC(GC(LK, 1), Uhe, 21, 0, [qqb(Dbd, OC(GC(B1, 1), Kie, 93, 0, [Bbd, Ebd, Abd]))]));\n bJb = new tJb(\"IN_T_L\", 12, LHb, DIb, dHb, dHb, OC(GC(LK, 1), Uhe, 21, 0, [qqb(Cbd, OC(GC(B1, 1), Kie, 93, 0, [Gbd, zbd])), qqb(Cbd, OC(GC(B1, 1), Kie, 93, 0, [Gbd, zbd, Abd]))]));\n aJb = new tJb(\"IN_T_C\", 13, KHb, DIb, dHb, eHb, OC(GC(LK, 1), Uhe, 21, 0, [qqb(Cbd, OC(GC(B1, 1), Kie, 93, 0, [Gbd, ybd])), qqb(Cbd, OC(GC(B1, 1), Kie, 93, 0, [Gbd, ybd, Abd]))]));\n cJb = new tJb(\"IN_T_R\", 14, MHb, DIb, dHb, fHb, OC(GC(LK, 1), Uhe, 21, 0, [qqb(Cbd, OC(GC(B1, 1), Kie, 93, 0, [Gbd, Bbd])), qqb(Cbd, OC(GC(B1, 1), Kie, 93, 0, [Gbd, Bbd, Abd]))]));\n $Ib = new tJb(\"IN_C_L\", 15, LHb, CIb, eHb, dHb, OC(GC(LK, 1), Uhe, 21, 0, [qqb(Cbd, OC(GC(B1, 1), Kie, 93, 0, [Fbd, zbd])), qqb(Cbd, OC(GC(B1, 1), Kie, 93, 0, [Fbd, zbd, Abd]))]));\n ZIb = new tJb(\"IN_C_C\", 16, KHb, CIb, eHb, eHb, OC(GC(LK, 1), Uhe, 21, 0, [qqb(Cbd, OC(GC(B1, 1), Kie, 93, 0, [Fbd, ybd])), qqb(Cbd, OC(GC(B1, 1), Kie, 93, 0, [Fbd, ybd, Abd]))]));\n _Ib = new tJb(\"IN_C_R\", 17, MHb, CIb, eHb, fHb, OC(GC(LK, 1), Uhe, 21, 0, [qqb(Cbd, OC(GC(B1, 1), Kie, 93, 0, [Fbd, Bbd])), qqb(Cbd, OC(GC(B1, 1), Kie, 93, 0, [Fbd, Bbd, Abd]))]));\n XIb = new tJb(\"IN_B_L\", 18, LHb, BIb, fHb, dHb, OC(GC(LK, 1), Uhe, 21, 0, [qqb(Cbd, OC(GC(B1, 1), Kie, 93, 0, [Ebd, zbd])), qqb(Cbd, OC(GC(B1, 1), Kie, 93, 0, [Ebd, zbd, Abd]))]));\n WIb = new tJb(\"IN_B_C\", 19, KHb, BIb, fHb, eHb, OC(GC(LK, 1), Uhe, 21, 0, [qqb(Cbd, OC(GC(B1, 1), Kie, 93, 0, [Ebd, ybd])), qqb(Cbd, OC(GC(B1, 1), Kie, 93, 0, [Ebd, ybd, Abd]))]));\n YIb = new tJb(\"IN_B_R\", 20, MHb, BIb, fHb, fHb, OC(GC(LK, 1), Uhe, 21, 0, [qqb(Cbd, OC(GC(B1, 1), Kie, 93, 0, [Ebd, Bbd])), qqb(Cbd, OC(GC(B1, 1), Kie, 93, 0, [Ebd, Bbd, Abd]))]));\n pJb = new tJb(ole, 21, null, null, null, null, OC(GC(LK, 1), Uhe, 21, 0, []));\n }\n function jGd() {\n jGd = ccb;\n PFd = (NFd(), MFd).b;\n BD(qud(ZKd(MFd.b), 0), 34);\n BD(qud(ZKd(MFd.b), 1), 18);\n OFd = MFd.a;\n BD(qud(ZKd(MFd.a), 0), 34);\n BD(qud(ZKd(MFd.a), 1), 18);\n BD(qud(ZKd(MFd.a), 2), 18);\n BD(qud(ZKd(MFd.a), 3), 18);\n BD(qud(ZKd(MFd.a), 4), 18);\n QFd = MFd.o;\n BD(qud(ZKd(MFd.o), 0), 34);\n BD(qud(ZKd(MFd.o), 1), 34);\n SFd = BD(qud(ZKd(MFd.o), 2), 18);\n BD(qud(ZKd(MFd.o), 3), 18);\n BD(qud(ZKd(MFd.o), 4), 18);\n BD(qud(ZKd(MFd.o), 5), 18);\n BD(qud(ZKd(MFd.o), 6), 18);\n BD(qud(ZKd(MFd.o), 7), 18);\n BD(qud(ZKd(MFd.o), 8), 18);\n BD(qud(ZKd(MFd.o), 9), 18);\n BD(qud(ZKd(MFd.o), 10), 18);\n BD(qud(ZKd(MFd.o), 11), 18);\n BD(qud(ZKd(MFd.o), 12), 18);\n BD(qud(ZKd(MFd.o), 13), 18);\n BD(qud(ZKd(MFd.o), 14), 18);\n BD(qud(ZKd(MFd.o), 15), 18);\n BD(qud(WKd(MFd.o), 0), 59);\n BD(qud(WKd(MFd.o), 1), 59);\n BD(qud(WKd(MFd.o), 2), 59);\n BD(qud(WKd(MFd.o), 3), 59);\n BD(qud(WKd(MFd.o), 4), 59);\n BD(qud(WKd(MFd.o), 5), 59);\n BD(qud(WKd(MFd.o), 6), 59);\n BD(qud(WKd(MFd.o), 7), 59);\n BD(qud(WKd(MFd.o), 8), 59);\n BD(qud(WKd(MFd.o), 9), 59);\n RFd = MFd.p;\n BD(qud(ZKd(MFd.p), 0), 34);\n BD(qud(ZKd(MFd.p), 1), 34);\n BD(qud(ZKd(MFd.p), 2), 34);\n BD(qud(ZKd(MFd.p), 3), 34);\n BD(qud(ZKd(MFd.p), 4), 18);\n BD(qud(ZKd(MFd.p), 5), 18);\n BD(qud(WKd(MFd.p), 0), 59);\n BD(qud(WKd(MFd.p), 1), 59);\n TFd = MFd.q;\n BD(qud(ZKd(MFd.q), 0), 34);\n UFd = MFd.v;\n BD(qud(ZKd(MFd.v), 0), 18);\n BD(qud(WKd(MFd.v), 0), 59);\n BD(qud(WKd(MFd.v), 1), 59);\n BD(qud(WKd(MFd.v), 2), 59);\n VFd = MFd.w;\n BD(qud(ZKd(MFd.w), 0), 34);\n BD(qud(ZKd(MFd.w), 1), 34);\n BD(qud(ZKd(MFd.w), 2), 34);\n BD(qud(ZKd(MFd.w), 3), 18);\n WFd = MFd.B;\n BD(qud(ZKd(MFd.B), 0), 18);\n BD(qud(WKd(MFd.B), 0), 59);\n BD(qud(WKd(MFd.B), 1), 59);\n BD(qud(WKd(MFd.B), 2), 59);\n ZFd = MFd.Q;\n BD(qud(ZKd(MFd.Q), 0), 18);\n BD(qud(WKd(MFd.Q), 0), 59);\n $Fd = MFd.R;\n BD(qud(ZKd(MFd.R), 0), 34);\n _Fd = MFd.S;\n BD(qud(WKd(MFd.S), 0), 59);\n BD(qud(WKd(MFd.S), 1), 59);\n BD(qud(WKd(MFd.S), 2), 59);\n BD(qud(WKd(MFd.S), 3), 59);\n BD(qud(WKd(MFd.S), 4), 59);\n BD(qud(WKd(MFd.S), 5), 59);\n BD(qud(WKd(MFd.S), 6), 59);\n BD(qud(WKd(MFd.S), 7), 59);\n BD(qud(WKd(MFd.S), 8), 59);\n BD(qud(WKd(MFd.S), 9), 59);\n BD(qud(WKd(MFd.S), 10), 59);\n BD(qud(WKd(MFd.S), 11), 59);\n BD(qud(WKd(MFd.S), 12), 59);\n BD(qud(WKd(MFd.S), 13), 59);\n BD(qud(WKd(MFd.S), 14), 59);\n aGd = MFd.T;\n BD(qud(ZKd(MFd.T), 0), 18);\n BD(qud(ZKd(MFd.T), 2), 18);\n bGd = BD(qud(ZKd(MFd.T), 3), 18);\n BD(qud(ZKd(MFd.T), 4), 18);\n BD(qud(WKd(MFd.T), 0), 59);\n BD(qud(WKd(MFd.T), 1), 59);\n BD(qud(ZKd(MFd.T), 1), 18);\n cGd = MFd.U;\n BD(qud(ZKd(MFd.U), 0), 34);\n BD(qud(ZKd(MFd.U), 1), 34);\n BD(qud(ZKd(MFd.U), 2), 18);\n BD(qud(ZKd(MFd.U), 3), 18);\n BD(qud(ZKd(MFd.U), 4), 18);\n BD(qud(ZKd(MFd.U), 5), 18);\n BD(qud(WKd(MFd.U), 0), 59);\n dGd = MFd.V;\n BD(qud(ZKd(MFd.V), 0), 18);\n eGd = MFd.W;\n BD(qud(ZKd(MFd.W), 0), 34);\n BD(qud(ZKd(MFd.W), 1), 34);\n BD(qud(ZKd(MFd.W), 2), 34);\n BD(qud(ZKd(MFd.W), 3), 18);\n BD(qud(ZKd(MFd.W), 4), 18);\n BD(qud(ZKd(MFd.W), 5), 18);\n gGd = MFd.bb;\n BD(qud(ZKd(MFd.bb), 0), 34);\n BD(qud(ZKd(MFd.bb), 1), 34);\n BD(qud(ZKd(MFd.bb), 2), 34);\n BD(qud(ZKd(MFd.bb), 3), 34);\n BD(qud(ZKd(MFd.bb), 4), 34);\n BD(qud(ZKd(MFd.bb), 5), 34);\n BD(qud(ZKd(MFd.bb), 6), 34);\n BD(qud(ZKd(MFd.bb), 7), 18);\n BD(qud(WKd(MFd.bb), 0), 59);\n BD(qud(WKd(MFd.bb), 1), 59);\n hGd = MFd.eb;\n BD(qud(ZKd(MFd.eb), 0), 34);\n BD(qud(ZKd(MFd.eb), 1), 34);\n BD(qud(ZKd(MFd.eb), 2), 34);\n BD(qud(ZKd(MFd.eb), 3), 34);\n BD(qud(ZKd(MFd.eb), 4), 34);\n BD(qud(ZKd(MFd.eb), 5), 34);\n BD(qud(ZKd(MFd.eb), 6), 18);\n BD(qud(ZKd(MFd.eb), 7), 18);\n fGd = MFd.ab;\n BD(qud(ZKd(MFd.ab), 0), 34);\n BD(qud(ZKd(MFd.ab), 1), 34);\n XFd = MFd.H;\n BD(qud(ZKd(MFd.H), 0), 18);\n BD(qud(ZKd(MFd.H), 1), 18);\n BD(qud(ZKd(MFd.H), 2), 18);\n BD(qud(ZKd(MFd.H), 3), 18);\n BD(qud(ZKd(MFd.H), 4), 18);\n BD(qud(ZKd(MFd.H), 5), 18);\n BD(qud(WKd(MFd.H), 0), 59);\n iGd = MFd.db;\n BD(qud(ZKd(MFd.db), 0), 18);\n YFd = MFd.M;\n }\n function bae(a) {\n var b;\n if (a.O)\n return;\n a.O = true;\n pnd(a, \"type\");\n cod(a, \"ecore.xml.type\");\n dod(a, Ewe);\n b = BD(nUd((yFd(), xFd), Ewe), 1945);\n wtd(_Kd(a.fb), a.b);\n Xnd(a.b, Q9, \"AnyType\", false, false, true);\n Vnd(BD(qud(ZKd(a.b), 0), 34), a.wb.D, Qve, null, 0, -1, Q9, false, false, true, false, false, false);\n Vnd(BD(qud(ZKd(a.b), 1), 34), a.wb.D, \"any\", null, 0, -1, Q9, true, true, true, false, false, true);\n Vnd(BD(qud(ZKd(a.b), 2), 34), a.wb.D, \"anyAttribute\", null, 0, -1, Q9, false, false, true, false, false, false);\n Xnd(a.bb, S9, Jwe, false, false, true);\n Vnd(BD(qud(ZKd(a.bb), 0), 34), a.gb, \"data\", null, 0, 1, S9, false, false, true, false, true, false);\n Vnd(BD(qud(ZKd(a.bb), 1), 34), a.gb, bue, null, 1, 1, S9, false, false, true, false, true, false);\n Xnd(a.fb, T9, Kwe, false, false, true);\n Vnd(BD(qud(ZKd(a.fb), 0), 34), b.gb, \"rawValue\", null, 0, 1, T9, true, true, true, false, true, true);\n Vnd(BD(qud(ZKd(a.fb), 1), 34), b.a, Bte, null, 0, 1, T9, true, true, true, false, true, true);\n _nd(BD(qud(ZKd(a.fb), 2), 18), a.wb.q, null, \"instanceType\", 1, 1, T9, false, false, true, false, false, false, false);\n Xnd(a.qb, U9, Lwe, false, false, true);\n Vnd(BD(qud(ZKd(a.qb), 0), 34), a.wb.D, Qve, null, 0, -1, null, false, false, true, false, false, false);\n _nd(BD(qud(ZKd(a.qb), 1), 18), a.wb.ab, null, \"xMLNSPrefixMap\", 0, -1, null, true, false, true, true, false, false, false);\n _nd(BD(qud(ZKd(a.qb), 2), 18), a.wb.ab, null, \"xSISchemaLocation\", 0, -1, null, true, false, true, true, false, false, false);\n Vnd(BD(qud(ZKd(a.qb), 3), 34), a.gb, \"cDATA\", null, 0, -2, null, true, true, true, false, false, true);\n Vnd(BD(qud(ZKd(a.qb), 4), 34), a.gb, \"comment\", null, 0, -2, null, true, true, true, false, false, true);\n _nd(BD(qud(ZKd(a.qb), 5), 18), a.bb, null, jxe, 0, -2, null, true, true, true, true, false, false, true);\n Vnd(BD(qud(ZKd(a.qb), 6), 34), a.gb, Ite, null, 0, -2, null, true, true, true, false, false, true);\n Znd(a.a, SI, \"AnySimpleType\", true);\n Znd(a.c, ZI, \"AnyURI\", true);\n Znd(a.d, GC(SD, 1), \"Base64Binary\", true);\n Znd(a.e, sbb, \"Boolean\", true);\n Znd(a.f, wI, \"BooleanObject\", true);\n Znd(a.g, SD, \"Byte\", true);\n Znd(a.i, xI, \"ByteObject\", true);\n Znd(a.j, ZI, \"Date\", true);\n Znd(a.k, ZI, \"DateTime\", true);\n Znd(a.n, bJ, \"Decimal\", true);\n Znd(a.o, UD, \"Double\", true);\n Znd(a.p, BI, \"DoubleObject\", true);\n Znd(a.q, ZI, \"Duration\", true);\n Znd(a.s, yK, \"ENTITIES\", true);\n Znd(a.r, yK, \"ENTITIESBase\", true);\n Znd(a.t, ZI, Rwe, true);\n Znd(a.u, VD, \"Float\", true);\n Znd(a.v, FI, \"FloatObject\", true);\n Znd(a.w, ZI, \"GDay\", true);\n Znd(a.B, ZI, \"GMonth\", true);\n Znd(a.A, ZI, \"GMonthDay\", true);\n Znd(a.C, ZI, \"GYear\", true);\n Znd(a.D, ZI, \"GYearMonth\", true);\n Znd(a.F, GC(SD, 1), \"HexBinary\", true);\n Znd(a.G, ZI, \"ID\", true);\n Znd(a.H, ZI, \"IDREF\", true);\n Znd(a.J, yK, \"IDREFS\", true);\n Znd(a.I, yK, \"IDREFSBase\", true);\n Znd(a.K, WD, \"Int\", true);\n Znd(a.M, cJ, \"Integer\", true);\n Znd(a.L, JI, \"IntObject\", true);\n Znd(a.P, ZI, \"Language\", true);\n Znd(a.Q, XD, \"Long\", true);\n Znd(a.R, MI, \"LongObject\", true);\n Znd(a.S, ZI, \"Name\", true);\n Znd(a.T, ZI, Swe, true);\n Znd(a.U, cJ, \"NegativeInteger\", true);\n Znd(a.V, ZI, axe, true);\n Znd(a.X, yK, \"NMTOKENS\", true);\n Znd(a.W, yK, \"NMTOKENSBase\", true);\n Znd(a.Y, cJ, \"NonNegativeInteger\", true);\n Znd(a.Z, cJ, \"NonPositiveInteger\", true);\n Znd(a.$, ZI, \"NormalizedString\", true);\n Znd(a._, ZI, \"NOTATION\", true);\n Znd(a.ab, ZI, \"PositiveInteger\", true);\n Znd(a.cb, ZI, \"QName\", true);\n Znd(a.db, rbb, \"Short\", true);\n Znd(a.eb, UI, \"ShortObject\", true);\n Znd(a.gb, ZI, Vie, true);\n Znd(a.hb, ZI, \"Time\", true);\n Znd(a.ib, ZI, \"Token\", true);\n Znd(a.jb, rbb, \"UnsignedByte\", true);\n Znd(a.kb, UI, \"UnsignedByteObject\", true);\n Znd(a.lb, XD, \"UnsignedInt\", true);\n Znd(a.mb, MI, \"UnsignedIntObject\", true);\n Znd(a.nb, cJ, \"UnsignedLong\", true);\n Znd(a.ob, WD, \"UnsignedShort\", true);\n Znd(a.pb, JI, \"UnsignedShortObject\", true);\n Rnd(a, Ewe);\n _9d(a);\n }\n function Oyc(a) {\n r4c(a, new E3c(Q3c(L3c(P3c(M3c(O3c(N3c(new R3c(), sne), \"ELK Layered\"), \"Layer-based algorithm provided by the Eclipse Layout Kernel. Arranges as many edges as possible into one direction by placing nodes into subsequent layers. This implementation supports different routing styles (straight, orthogonal, splines); if orthogonal routing is selected, arbitrary port constraints are respected, thus enabling the layout of block diagrams such as actor-oriented models or circuit schematics. Furthermore, full layout of compound graphs with cross-hierarchy edges is supported when the respective option is activated on the top level.\"), new Ryc()), sne), qqb((Csd(), Bsd), OC(GC(O3, 1), Kie, 237, 0, [ysd, zsd, xsd, Asd, vsd, usd])))));\n p4c(a, sne, Lpe, Ksd(iyc));\n p4c(a, sne, Mpe, Ksd(jyc));\n p4c(a, sne, Zle, Ksd(kyc));\n p4c(a, sne, Npe, Ksd(lyc));\n p4c(a, sne, xme, Ksd(nyc));\n p4c(a, sne, Ope, Ksd(oyc));\n p4c(a, sne, Ppe, Ksd(ryc));\n p4c(a, sne, Qpe, Ksd(tyc));\n p4c(a, sne, Rpe, Ksd(uyc));\n p4c(a, sne, Spe, Ksd(syc));\n p4c(a, sne, wme, Ksd(vyc));\n p4c(a, sne, Tpe, Ksd(xyc));\n p4c(a, sne, Upe, Ksd(zyc));\n p4c(a, sne, Vpe, Ksd(qyc));\n p4c(a, sne, Loe, Ksd(hyc));\n p4c(a, sne, Noe, Ksd(myc));\n p4c(a, sne, Moe, Ksd(pyc));\n p4c(a, sne, Ooe, Ksd(wyc));\n p4c(a, sne, vme, meb(0));\n p4c(a, sne, Poe, Ksd(cyc));\n p4c(a, sne, Qoe, Ksd(dyc));\n p4c(a, sne, Roe, Ksd(eyc));\n p4c(a, sne, Yoe, Ksd(Kyc));\n p4c(a, sne, Zoe, Ksd(Cyc));\n p4c(a, sne, $oe, Ksd(Dyc));\n p4c(a, sne, _oe, Ksd(Gyc));\n p4c(a, sne, ape, Ksd(Eyc));\n p4c(a, sne, bpe, Ksd(Fyc));\n p4c(a, sne, cpe, Ksd(Myc));\n p4c(a, sne, dpe, Ksd(Lyc));\n p4c(a, sne, epe, Ksd(Iyc));\n p4c(a, sne, fpe, Ksd(Hyc));\n p4c(a, sne, gpe, Ksd(Jyc));\n p4c(a, sne, Eoe, Ksd(Cxc));\n p4c(a, sne, Foe, Ksd(Dxc));\n p4c(a, sne, Ioe, Ksd(Xwc));\n p4c(a, sne, Joe, Ksd(Ywc));\n p4c(a, sne, ame, Lxc);\n p4c(a, sne, ype, Twc);\n p4c(a, sne, Wpe, 0);\n p4c(a, sne, yme, meb(1));\n p4c(a, sne, _le, tme);\n p4c(a, sne, Xpe, Ksd(Jxc));\n p4c(a, sne, Bme, Ksd(Vxc));\n p4c(a, sne, Ype, Ksd($xc));\n p4c(a, sne, Zpe, Ksd(Kwc));\n p4c(a, sne, $pe, Ksd(mwc));\n p4c(a, sne, tpe, Ksd(axc));\n p4c(a, sne, zme, (Bcb(), true));\n p4c(a, sne, _pe, Ksd(fxc));\n p4c(a, sne, aqe, Ksd(gxc));\n p4c(a, sne, Fme, Ksd(Fxc));\n p4c(a, sne, Eme, Ksd(Ixc));\n p4c(a, sne, bqe, Ksd(Gxc));\n p4c(a, sne, cqe, Nwc);\n p4c(a, sne, Gme, Ksd(xxc));\n p4c(a, sne, dqe, Ksd(wxc));\n p4c(a, sne, Hme, Ksd(Yxc));\n p4c(a, sne, eqe, Ksd(Xxc));\n p4c(a, sne, fqe, Ksd(Zxc));\n p4c(a, sne, gqe, Oxc);\n p4c(a, sne, hqe, Ksd(Qxc));\n p4c(a, sne, iqe, Ksd(Rxc));\n p4c(a, sne, jqe, Ksd(Sxc));\n p4c(a, sne, kqe, Ksd(Pxc));\n p4c(a, sne, eoe, Ksd(Byc));\n p4c(a, sne, hoe, Ksd(sxc));\n p4c(a, sne, noe, Ksd(rxc));\n p4c(a, sne, doe, Ksd(Ayc));\n p4c(a, sne, ioe, Ksd(mxc));\n p4c(a, sne, goe, Ksd(Jwc));\n p4c(a, sne, qoe, Ksd(Iwc));\n p4c(a, sne, roe, Ksd(Awc));\n p4c(a, sne, woe, Ksd(Bwc));\n p4c(a, sne, xoe, Ksd(Dwc));\n p4c(a, sne, yoe, Ksd(Cwc));\n p4c(a, sne, toe, Ksd(Hwc));\n p4c(a, sne, _ne, Ksd(uxc));\n p4c(a, sne, aoe, Ksd(vxc));\n p4c(a, sne, $ne, Ksd(ixc));\n p4c(a, sne, zoe, Ksd(Exc));\n p4c(a, sne, Coe, Ksd(zxc));\n p4c(a, sne, Zne, Ksd($wc));\n p4c(a, sne, Doe, Ksd(Bxc));\n p4c(a, sne, Goe, Ksd(Vwc));\n p4c(a, sne, Hoe, Ksd(Wwc));\n p4c(a, sne, lqe, Ksd(zwc));\n p4c(a, sne, Boe, Ksd(yxc));\n p4c(a, sne, Toe, Ksd(swc));\n p4c(a, sne, Uoe, Ksd(rwc));\n p4c(a, sne, Soe, Ksd(qwc));\n p4c(a, sne, Voe, Ksd(cxc));\n p4c(a, sne, Woe, Ksd(bxc));\n p4c(a, sne, Xoe, Ksd(dxc));\n p4c(a, sne, Tme, Ksd(Hxc));\n p4c(a, sne, mqe, Ksd(jxc));\n p4c(a, sne, $le, Ksd(Zwc));\n p4c(a, sne, nqe, Ksd(Qwc));\n p4c(a, sne, Cme, Ksd(Pwc));\n p4c(a, sne, soe, Ksd(Ewc));\n p4c(a, sne, oqe, Ksd(Wxc));\n p4c(a, sne, pqe, Ksd(pwc));\n p4c(a, sne, qqe, Ksd(exc));\n p4c(a, sne, rqe, Ksd(Txc));\n p4c(a, sne, sqe, Ksd(Mxc));\n p4c(a, sne, tqe, Ksd(Nxc));\n p4c(a, sne, loe, Ksd(oxc));\n p4c(a, sne, moe, Ksd(pxc));\n p4c(a, sne, uqe, Ksd(ayc));\n p4c(a, sne, boe, Ksd(nwc));\n p4c(a, sne, ooe, Ksd(qxc));\n p4c(a, sne, hpe, Ksd(Rwc));\n p4c(a, sne, ipe, Ksd(Owc));\n p4c(a, sne, vqe, Ksd(txc));\n p4c(a, sne, poe, Ksd(kxc));\n p4c(a, sne, Aoe, Ksd(Axc));\n p4c(a, sne, wqe, Ksd(yyc));\n p4c(a, sne, Yne, Ksd(Mwc));\n p4c(a, sne, coe, Ksd(_xc));\n p4c(a, sne, Koe, Ksd(Uwc));\n p4c(a, sne, joe, Ksd(lxc));\n p4c(a, sne, uoe, Ksd(Fwc));\n p4c(a, sne, xqe, Ksd(hxc));\n p4c(a, sne, koe, Ksd(nxc));\n p4c(a, sne, voe, Ksd(Gwc));\n p4c(a, sne, jpe, Ksd(ywc));\n p4c(a, sne, mpe, Ksd(wwc));\n p4c(a, sne, npe, Ksd(uwc));\n p4c(a, sne, ope, Ksd(vwc));\n p4c(a, sne, kpe, Ksd(xwc));\n p4c(a, sne, lpe, Ksd(twc));\n p4c(a, sne, foe, Ksd(_wc));\n }\n function kee(a, b) {\n var c2, d;\n if (!cee) {\n cee = new Lqb();\n dee = new Lqb();\n d = (wfe(), wfe(), new $fe(4));\n Ree(d, \"\t\\n\\r\\r \");\n Shb(cee, pxe, d);\n Shb(dee, pxe, _fe(d));\n d = new $fe(4);\n Ree(d, sxe);\n Shb(cee, nxe, d);\n Shb(dee, nxe, _fe(d));\n d = new $fe(4);\n Ree(d, sxe);\n Shb(cee, nxe, d);\n Shb(dee, nxe, _fe(d));\n d = new $fe(4);\n Ree(d, txe);\n Xfe(d, BD(Phb(cee, nxe), 117));\n Shb(cee, oxe, d);\n Shb(dee, oxe, _fe(d));\n d = new $fe(4);\n Ree(d, \"-.0:AZ__az··ÀÖØöøıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁːˑ̀͠͡ͅΆΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁ҃҆ҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆֹֻֽֿֿׁׂ֑֣֡ׄׄאתװײءغـْ٠٩ٰڷںھۀێېۓە۪ۭۨ۰۹ँःअह़्॑॔क़ॣ०९ঁঃঅঌএঐওনপরললশহ়়াৄেৈো্ৗৗড়ঢ়য়ৣ০ৱਂਂਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹ਼਼ਾੂੇੈੋ੍ਖ਼ੜਫ਼ਫ਼੦ੴઁઃઅઋઍઍએઑઓનપરલળવહ઼ૅેૉો્ૠૠ૦૯ଁଃଅଌଏଐଓନପରଲଳଶହ଼ୃେୈୋ୍ୖୗଡ଼ଢ଼ୟୡ୦୯ஂஃஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹாூெைொ்ௗௗ௧௯ఁఃఅఌఎఐఒనపళవహాౄెైొ్ౕౖౠౡ౦౯ಂಃಅಌಎಐಒನಪಳವಹಾೄೆೈೊ್ೕೖೞೞೠೡ೦೯ംഃഅഌഎഐഒനപഹാൃെൈൊ്ൗൗൠൡ൦൯กฮะฺเ๎๐๙ກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະູົຽເໄໆໆ່ໍ໐໙༘༙༠༩༹༹༵༵༷༷༾ཇཉཀྵ྄ཱ྆ྋྐྕྗྗྙྭྱྷྐྵྐྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅟᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼιιῂῄῆῌῐΐῖΊῠῬῲῴῶῼ⃐⃜⃡⃡ΩΩKÅ℮℮ↀↂ々々〇〇〡〯〱〵ぁゔ゙゚ゝゞァヺーヾㄅㄬ一龥가힣\");\n Shb(cee, qxe, d);\n Shb(dee, qxe, _fe(d));\n d = new $fe(4);\n Ree(d, txe);\n Ufe(d, 95, 95);\n Ufe(d, 58, 58);\n Shb(cee, rxe, d);\n Shb(dee, rxe, _fe(d));\n }\n c2 = b ? BD(Phb(cee, a), 136) : BD(Phb(dee, a), 136);\n return c2;\n }\n function _9d(a) {\n Bnd(a.a, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"anySimpleType\"]));\n Bnd(a.b, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"anyType\", Sve, Qve]));\n Bnd(BD(qud(ZKd(a.b), 0), 34), Rve, OC(GC(ZI, 1), nie, 2, 6, [Sve, xwe, fue, \":mixed\"]));\n Bnd(BD(qud(ZKd(a.b), 1), 34), Rve, OC(GC(ZI, 1), nie, 2, 6, [Sve, xwe, Dwe, Fwe, fue, \":1\", Owe, \"lax\"]));\n Bnd(BD(qud(ZKd(a.b), 2), 34), Rve, OC(GC(ZI, 1), nie, 2, 6, [Sve, vwe, Dwe, Fwe, fue, \":2\", Owe, \"lax\"]));\n Bnd(a.c, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"anyURI\", Cwe, ywe]));\n Bnd(a.d, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"base64Binary\", Cwe, ywe]));\n Bnd(a.e, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, Khe, Cwe, ywe]));\n Bnd(a.f, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"boolean:Object\", cwe, Khe]));\n Bnd(a.g, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, Eve]));\n Bnd(a.i, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"byte:Object\", cwe, Eve]));\n Bnd(a.j, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"date\", Cwe, ywe]));\n Bnd(a.k, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"dateTime\", Cwe, ywe]));\n Bnd(a.n, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"decimal\", Cwe, ywe]));\n Bnd(a.o, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, Gve, Cwe, ywe]));\n Bnd(a.p, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"double:Object\", cwe, Gve]));\n Bnd(a.q, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"duration\", Cwe, ywe]));\n Bnd(a.s, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"ENTITIES\", cwe, Pwe, Qwe, \"1\"]));\n Bnd(a.r, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, Pwe, zwe, Rwe]));\n Bnd(a.t, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, Rwe, cwe, Swe]));\n Bnd(a.u, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, Hve, Cwe, ywe]));\n Bnd(a.v, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"float:Object\", cwe, Hve]));\n Bnd(a.w, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"gDay\", Cwe, ywe]));\n Bnd(a.B, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"gMonth\", Cwe, ywe]));\n Bnd(a.A, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"gMonthDay\", Cwe, ywe]));\n Bnd(a.C, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"gYear\", Cwe, ywe]));\n Bnd(a.D, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"gYearMonth\", Cwe, ywe]));\n Bnd(a.F, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"hexBinary\", Cwe, ywe]));\n Bnd(a.G, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"ID\", cwe, Swe]));\n Bnd(a.H, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"IDREF\", cwe, Swe]));\n Bnd(a.J, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"IDREFS\", cwe, Twe, Qwe, \"1\"]));\n Bnd(a.I, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, Twe, zwe, \"IDREF\"]));\n Bnd(a.K, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, Ive]));\n Bnd(a.M, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, Uwe]));\n Bnd(a.L, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"int:Object\", cwe, Ive]));\n Bnd(a.P, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"language\", cwe, Vwe, Wwe, Xwe]));\n Bnd(a.Q, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, Jve]));\n Bnd(a.R, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"long:Object\", cwe, Jve]));\n Bnd(a.S, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"Name\", cwe, Vwe, Wwe, Ywe]));\n Bnd(a.T, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, Swe, cwe, \"Name\", Wwe, Zwe]));\n Bnd(a.U, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"negativeInteger\", cwe, $we, _we, \"-1\"]));\n Bnd(a.V, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, axe, cwe, Vwe, Wwe, \"\\\\c+\"]));\n Bnd(a.X, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"NMTOKENS\", cwe, bxe, Qwe, \"1\"]));\n Bnd(a.W, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, bxe, zwe, axe]));\n Bnd(a.Y, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, cxe, cwe, Uwe, dxe, \"0\"]));\n Bnd(a.Z, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, $we, cwe, Uwe, _we, \"0\"]));\n Bnd(a.$, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, exe, cwe, Mhe, Cwe, \"replace\"]));\n Bnd(a._, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"NOTATION\", Cwe, ywe]));\n Bnd(a.ab, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"positiveInteger\", cwe, cxe, dxe, \"1\"]));\n Bnd(a.bb, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"processingInstruction_._type\", Sve, \"empty\"]));\n Bnd(BD(qud(ZKd(a.bb), 0), 34), Rve, OC(GC(ZI, 1), nie, 2, 6, [Sve, uwe, fue, \"data\"]));\n Bnd(BD(qud(ZKd(a.bb), 1), 34), Rve, OC(GC(ZI, 1), nie, 2, 6, [Sve, uwe, fue, bue]));\n Bnd(a.cb, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"QName\", Cwe, ywe]));\n Bnd(a.db, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, Kve]));\n Bnd(a.eb, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"short:Object\", cwe, Kve]));\n Bnd(a.fb, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"simpleAnyType\", Sve, twe]));\n Bnd(BD(qud(ZKd(a.fb), 0), 34), Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \":3\", Sve, twe]));\n Bnd(BD(qud(ZKd(a.fb), 1), 34), Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \":4\", Sve, twe]));\n Bnd(BD(qud(ZKd(a.fb), 2), 18), Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \":5\", Sve, twe]));\n Bnd(a.gb, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, Mhe, Cwe, \"preserve\"]));\n Bnd(a.hb, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"time\", Cwe, ywe]));\n Bnd(a.ib, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, Vwe, cwe, exe, Cwe, ywe]));\n Bnd(a.jb, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, fxe, _we, \"255\", dxe, \"0\"]));\n Bnd(a.kb, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"unsignedByte:Object\", cwe, fxe]));\n Bnd(a.lb, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, gxe, _we, \"4294967295\", dxe, \"0\"]));\n Bnd(a.mb, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"unsignedInt:Object\", cwe, gxe]));\n Bnd(a.nb, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"unsignedLong\", cwe, cxe, _we, hxe, dxe, \"0\"]));\n Bnd(a.ob, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, ixe, _we, \"65535\", dxe, \"0\"]));\n Bnd(a.pb, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"unsignedShort:Object\", cwe, ixe]));\n Bnd(a.qb, Rve, OC(GC(ZI, 1), nie, 2, 6, [fue, \"\", Sve, Qve]));\n Bnd(BD(qud(ZKd(a.qb), 0), 34), Rve, OC(GC(ZI, 1), nie, 2, 6, [Sve, xwe, fue, \":mixed\"]));\n Bnd(BD(qud(ZKd(a.qb), 1), 18), Rve, OC(GC(ZI, 1), nie, 2, 6, [Sve, uwe, fue, \"xmlns:prefix\"]));\n Bnd(BD(qud(ZKd(a.qb), 2), 18), Rve, OC(GC(ZI, 1), nie, 2, 6, [Sve, uwe, fue, \"xsi:schemaLocation\"]));\n Bnd(BD(qud(ZKd(a.qb), 3), 34), Rve, OC(GC(ZI, 1), nie, 2, 6, [Sve, wwe, fue, \"cDATA\", Awe, Bwe]));\n Bnd(BD(qud(ZKd(a.qb), 4), 34), Rve, OC(GC(ZI, 1), nie, 2, 6, [Sve, wwe, fue, \"comment\", Awe, Bwe]));\n Bnd(BD(qud(ZKd(a.qb), 5), 18), Rve, OC(GC(ZI, 1), nie, 2, 6, [Sve, wwe, fue, jxe, Awe, Bwe]));\n Bnd(BD(qud(ZKd(a.qb), 6), 34), Rve, OC(GC(ZI, 1), nie, 2, 6, [Sve, wwe, fue, Ite, Awe, Bwe]));\n }\n function tvd(a) {\n return dfb(\"_UI_EMFDiagnostic_marker\", a) ? \"EMF Problem\" : dfb(\"_UI_CircularContainment_diagnostic\", a) ? \"An object may not circularly contain itself\" : dfb(sue, a) ? \"Wrong character.\" : dfb(tue, a) ? \"Invalid reference number.\" : dfb(uue, a) ? \"A character is required after \\\\.\" : dfb(vue, a) ? \"'?' is not expected. '(?:' or '(?=' or '(?!' or '(?<' or '(?#' or '(?>'?\" : dfb(wue, a) ? \"'(?<' or '(? toIndex: \", zke = \", toIndex: \", Ake = \"Index: \", Bke = \", Size: \", Cke = \"org.eclipse.elk.alg.common\", Dke = { 62: 1 }, Eke = \"org.eclipse.elk.alg.common.compaction\", Fke = \"Scanline/EventHandler\", Gke = \"org.eclipse.elk.alg.common.compaction.oned\", Hke = \"CNode belongs to another CGroup.\", Ike = \"ISpacingsHandler/1\", Jke = \"The \", Kke = \" instance has been finished already.\", Lke = \"The direction \", Mke = \" is not supported by the CGraph instance.\", Nke = \"OneDimensionalCompactor\", Oke = \"OneDimensionalCompactor/lambda$0$Type\", Pke = \"Quadruplet\", Qke = \"ScanlineConstraintCalculator\", Rke = \"ScanlineConstraintCalculator/ConstraintsScanlineHandler\", Ske = \"ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type\", Tke = \"ScanlineConstraintCalculator/Timestamp\", Uke = \"ScanlineConstraintCalculator/lambda$0$Type\", Vke = { 169: 1, 45: 1 }, Wke = \"org.eclipse.elk.alg.common.compaction.options\", Xke = \"org.eclipse.elk.core.data\", Yke = \"org.eclipse.elk.polyomino.traversalStrategy\", Zke = \"org.eclipse.elk.polyomino.lowLevelSort\", $ke = \"org.eclipse.elk.polyomino.highLevelSort\", _ke = \"org.eclipse.elk.polyomino.fill\", ale = { 130: 1 }, ble = \"polyomino\", cle = \"org.eclipse.elk.alg.common.networksimplex\", dle = { 177: 1, 3: 1, 4: 1 }, ele = \"org.eclipse.elk.alg.common.nodespacing\", fle = \"org.eclipse.elk.alg.common.nodespacing.cellsystem\", gle = \"CENTER\", hle = { 212: 1, 326: 1 }, ile = { 3: 1, 4: 1, 5: 1, 595: 1 }, jle = \"LEFT\", kle = \"RIGHT\", lle = \"Vertical alignment cannot be null\", mle = \"BOTTOM\", nle = \"org.eclipse.elk.alg.common.nodespacing.internal\", ole = \"UNDEFINED\", ple = 0.01, qle = \"org.eclipse.elk.alg.common.nodespacing.internal.algorithm\", rle = \"LabelPlacer/lambda$0$Type\", sle = \"LabelPlacer/lambda$1$Type\", tle = \"portRatioOrPosition\", ule = \"org.eclipse.elk.alg.common.overlaps\", vle = \"DOWN\", wle = \"org.eclipse.elk.alg.common.polyomino\", xle = \"NORTH\", yle = \"EAST\", zle = \"SOUTH\", Ale = \"WEST\", Ble = \"org.eclipse.elk.alg.common.polyomino.structures\", Cle = \"Direction\", Dle = \"Grid is only of size \", Ele = \". Requested point (\", Fle = \") is out of bounds.\", Gle = \" Given center based coordinates were (\", Hle = \"org.eclipse.elk.graph.properties\", Ile = \"IPropertyHolder\", Jle = { 3: 1, 94: 1, 134: 1 }, Kle = \"org.eclipse.elk.alg.common.spore\", Lle = \"org.eclipse.elk.alg.common.utils\", Mle = { 209: 1 }, Nle = \"org.eclipse.elk.core\", Ole = \"Connected Components Compaction\", Ple = \"org.eclipse.elk.alg.disco\", Qle = \"org.eclipse.elk.alg.disco.graph\", Rle = \"org.eclipse.elk.alg.disco.options\", Sle = \"CompactionStrategy\", Tle = \"org.eclipse.elk.disco.componentCompaction.strategy\", Ule = \"org.eclipse.elk.disco.componentCompaction.componentLayoutAlgorithm\", Vle = \"org.eclipse.elk.disco.debug.discoGraph\", Wle = \"org.eclipse.elk.disco.debug.discoPolys\", Xle = \"componentCompaction\", Yle = \"org.eclipse.elk.disco\", Zle = \"org.eclipse.elk.spacing.componentComponent\", $le = \"org.eclipse.elk.edge.thickness\", _le = \"org.eclipse.elk.aspectRatio\", ame = \"org.eclipse.elk.padding\", bme = \"org.eclipse.elk.alg.disco.transform\", cme = 1.5707963267948966, dme = 17976931348623157e292, eme = { 3: 1, 4: 1, 5: 1, 192: 1 }, fme = { 3: 1, 6: 1, 4: 1, 5: 1, 106: 1, 120: 1 }, gme = \"org.eclipse.elk.alg.force\", hme = \"ComponentsProcessor\", ime = \"ComponentsProcessor/1\", jme = \"org.eclipse.elk.alg.force.graph\", kme = \"Component Layout\", lme = \"org.eclipse.elk.alg.force.model\", mme = \"org.eclipse.elk.force.model\", nme = \"org.eclipse.elk.force.iterations\", ome = \"org.eclipse.elk.force.repulsivePower\", pme = \"org.eclipse.elk.force.temperature\", qme = 1e-3, rme = \"org.eclipse.elk.force.repulsion\", sme = \"org.eclipse.elk.alg.force.options\", tme = 1.600000023841858, ume = \"org.eclipse.elk.force\", vme = \"org.eclipse.elk.priority\", wme = \"org.eclipse.elk.spacing.nodeNode\", xme = \"org.eclipse.elk.spacing.edgeLabel\", yme = \"org.eclipse.elk.randomSeed\", zme = \"org.eclipse.elk.separateConnectedComponents\", Ame = \"org.eclipse.elk.interactive\", Bme = \"org.eclipse.elk.portConstraints\", Cme = \"org.eclipse.elk.edgeLabels.inline\", Dme = \"org.eclipse.elk.omitNodeMicroLayout\", Eme = \"org.eclipse.elk.nodeSize.options\", Fme = \"org.eclipse.elk.nodeSize.constraints\", Gme = \"org.eclipse.elk.nodeLabels.placement\", Hme = \"org.eclipse.elk.portLabels.placement\", Ime = \"origin\", Jme = \"random\", Kme = \"boundingBox.upLeft\", Lme = \"boundingBox.lowRight\", Mme = \"org.eclipse.elk.stress.fixed\", Nme = \"org.eclipse.elk.stress.desiredEdgeLength\", Ome = \"org.eclipse.elk.stress.dimension\", Pme = \"org.eclipse.elk.stress.epsilon\", Qme = \"org.eclipse.elk.stress.iterationLimit\", Rme = \"org.eclipse.elk.stress\", Sme = \"ELK Stress\", Tme = \"org.eclipse.elk.nodeSize.minimum\", Ume = \"org.eclipse.elk.alg.force.stress\", Vme = \"Layered layout\", Wme = \"org.eclipse.elk.alg.layered\", Xme = \"org.eclipse.elk.alg.layered.compaction.components\", Yme = \"org.eclipse.elk.alg.layered.compaction.oned\", Zme = \"org.eclipse.elk.alg.layered.compaction.oned.algs\", $me = \"org.eclipse.elk.alg.layered.compaction.recthull\", _me = \"org.eclipse.elk.alg.layered.components\", ane = \"NONE\", bne = { 3: 1, 6: 1, 4: 1, 9: 1, 5: 1, 122: 1 }, cne = { 3: 1, 6: 1, 4: 1, 5: 1, 141: 1, 106: 1, 120: 1 }, dne = \"org.eclipse.elk.alg.layered.compound\", ene = { 51: 1 }, fne = \"org.eclipse.elk.alg.layered.graph\", gne = \" -> \", hne = \"Not supported by LGraph\", ine = \"Port side is undefined\", jne = { 3: 1, 6: 1, 4: 1, 5: 1, 474: 1, 141: 1, 106: 1, 120: 1 }, kne = { 3: 1, 6: 1, 4: 1, 5: 1, 141: 1, 193: 1, 203: 1, 106: 1, 120: 1 }, lne = { 3: 1, 6: 1, 4: 1, 5: 1, 141: 1, 1943: 1, 203: 1, 106: 1, 120: 1 }, mne = `([{\"' \t\\r\n`, nne = `)]}\"' \t\\r\n`, one2 = \"The given string contains parts that cannot be parsed as numbers.\", pne = \"org.eclipse.elk.core.math\", qne = { 3: 1, 4: 1, 142: 1, 207: 1, 414: 1 }, rne = { 3: 1, 4: 1, 116: 1, 207: 1, 414: 1 }, sne = \"org.eclipse.elk.layered\", tne = \"org.eclipse.elk.alg.layered.graph.transform\", une = \"ElkGraphImporter\", vne = \"ElkGraphImporter/lambda$0$Type\", wne = \"ElkGraphImporter/lambda$1$Type\", xne = \"ElkGraphImporter/lambda$2$Type\", yne = \"ElkGraphImporter/lambda$4$Type\", zne = \"Node margin calculation\", Ane = \"org.eclipse.elk.alg.layered.intermediate\", Bne = \"ONE_SIDED_GREEDY_SWITCH\", Cne = \"TWO_SIDED_GREEDY_SWITCH\", Dne = \"No implementation is available for the layout processor \", Ene = \"IntermediateProcessorStrategy\", Fne = \"Node '\", Gne = \"FIRST_SEPARATE\", Hne = \"LAST_SEPARATE\", Ine = \"Odd port side processing\", Jne = \"org.eclipse.elk.alg.layered.intermediate.compaction\", Kne = \"org.eclipse.elk.alg.layered.intermediate.greedyswitch\", Lne = \"org.eclipse.elk.alg.layered.p3order.counting\", Mne = { 225: 1 }, Nne = \"org.eclipse.elk.alg.layered.intermediate.loops\", One = \"org.eclipse.elk.alg.layered.intermediate.loops.ordering\", Pne = \"org.eclipse.elk.alg.layered.intermediate.loops.routing\", Qne = \"org.eclipse.elk.alg.layered.intermediate.preserveorder\", Rne = \"org.eclipse.elk.alg.layered.intermediate.wrapping\", Sne = \"org.eclipse.elk.alg.layered.options\", Tne = \"INTERACTIVE\", Une = \"DEPTH_FIRST\", Vne = \"EDGE_LENGTH\", Wne = \"SELF_LOOPS\", Xne = \"firstTryWithInitialOrder\", Yne = \"org.eclipse.elk.layered.directionCongruency\", Zne = \"org.eclipse.elk.layered.feedbackEdges\", $ne = \"org.eclipse.elk.layered.interactiveReferencePoint\", _ne = \"org.eclipse.elk.layered.mergeEdges\", aoe = \"org.eclipse.elk.layered.mergeHierarchyEdges\", boe = \"org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides\", coe = \"org.eclipse.elk.layered.portSortingStrategy\", doe = \"org.eclipse.elk.layered.thoroughness\", eoe = \"org.eclipse.elk.layered.unnecessaryBendpoints\", foe = \"org.eclipse.elk.layered.generatePositionAndLayerIds\", goe = \"org.eclipse.elk.layered.cycleBreaking.strategy\", hoe = \"org.eclipse.elk.layered.layering.strategy\", ioe = \"org.eclipse.elk.layered.layering.layerConstraint\", joe = \"org.eclipse.elk.layered.layering.layerChoiceConstraint\", koe = \"org.eclipse.elk.layered.layering.layerId\", loe = \"org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth\", moe = \"org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor\", noe = \"org.eclipse.elk.layered.layering.nodePromotion.strategy\", ooe = \"org.eclipse.elk.layered.layering.nodePromotion.maxIterations\", poe = \"org.eclipse.elk.layered.layering.coffmanGraham.layerBound\", qoe = \"org.eclipse.elk.layered.crossingMinimization.strategy\", roe = \"org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder\", soe = \"org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness\", toe = \"org.eclipse.elk.layered.crossingMinimization.semiInteractive\", uoe = \"org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint\", voe = \"org.eclipse.elk.layered.crossingMinimization.positionId\", woe = \"org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold\", xoe = \"org.eclipse.elk.layered.crossingMinimization.greedySwitch.type\", yoe = \"org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type\", zoe = \"org.eclipse.elk.layered.nodePlacement.strategy\", Aoe = \"org.eclipse.elk.layered.nodePlacement.favorStraightEdges\", Boe = \"org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening\", Coe = \"org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment\", Doe = \"org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening\", Eoe = \"org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility\", Foe = \"org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default\", Goe = \"org.eclipse.elk.layered.edgeRouting.selfLoopDistribution\", Hoe = \"org.eclipse.elk.layered.edgeRouting.selfLoopOrdering\", Ioe = \"org.eclipse.elk.layered.edgeRouting.splines.mode\", Joe = \"org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor\", Koe = \"org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth\", Loe = \"org.eclipse.elk.layered.spacing.baseValue\", Moe = \"org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers\", Noe = \"org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers\", Ooe = \"org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers\", Poe = \"org.eclipse.elk.layered.priority.direction\", Qoe = \"org.eclipse.elk.layered.priority.shortness\", Roe = \"org.eclipse.elk.layered.priority.straightness\", Soe = \"org.eclipse.elk.layered.compaction.connectedComponents\", Toe = \"org.eclipse.elk.layered.compaction.postCompaction.strategy\", Uoe = \"org.eclipse.elk.layered.compaction.postCompaction.constraints\", Voe = \"org.eclipse.elk.layered.highDegreeNodes.treatment\", Woe = \"org.eclipse.elk.layered.highDegreeNodes.threshold\", Xoe = \"org.eclipse.elk.layered.highDegreeNodes.treeHeight\", Yoe = \"org.eclipse.elk.layered.wrapping.strategy\", Zoe = \"org.eclipse.elk.layered.wrapping.additionalEdgeSpacing\", $oe = \"org.eclipse.elk.layered.wrapping.correctionFactor\", _oe = \"org.eclipse.elk.layered.wrapping.cutting.strategy\", ape = \"org.eclipse.elk.layered.wrapping.cutting.cuts\", bpe = \"org.eclipse.elk.layered.wrapping.cutting.msd.freedom\", cpe = \"org.eclipse.elk.layered.wrapping.validify.strategy\", dpe = \"org.eclipse.elk.layered.wrapping.validify.forbiddenIndices\", epe = \"org.eclipse.elk.layered.wrapping.multiEdge.improveCuts\", fpe = \"org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty\", gpe = \"org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges\", hpe = \"org.eclipse.elk.layered.edgeLabels.sideSelection\", ipe = \"org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy\", jpe = \"org.eclipse.elk.layered.considerModelOrder.strategy\", kpe = \"org.eclipse.elk.layered.considerModelOrder.noModelOrder\", lpe = \"org.eclipse.elk.layered.considerModelOrder.components\", mpe = \"org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy\", npe = \"org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence\", ope = \"org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence\", ppe = \"layering\", qpe = \"layering.minWidth\", rpe = \"layering.nodePromotion\", spe = \"crossingMinimization\", tpe = \"org.eclipse.elk.hierarchyHandling\", upe = \"crossingMinimization.greedySwitch\", vpe = \"nodePlacement\", wpe = \"nodePlacement.bk\", xpe = \"edgeRouting\", ype = \"org.eclipse.elk.edgeRouting\", zpe = \"spacing\", Ape = \"priority\", Bpe = \"compaction\", Cpe = \"compaction.postCompaction\", Dpe = \"Specifies whether and how post-process compaction is applied.\", Epe = \"highDegreeNodes\", Fpe = \"wrapping\", Gpe = \"wrapping.cutting\", Hpe = \"wrapping.validify\", Ipe = \"wrapping.multiEdge\", Jpe = \"edgeLabels\", Kpe = \"considerModelOrder\", Lpe = \"org.eclipse.elk.spacing.commentComment\", Mpe = \"org.eclipse.elk.spacing.commentNode\", Npe = \"org.eclipse.elk.spacing.edgeEdge\", Ope = \"org.eclipse.elk.spacing.edgeNode\", Ppe = \"org.eclipse.elk.spacing.labelLabel\", Qpe = \"org.eclipse.elk.spacing.labelPortHorizontal\", Rpe = \"org.eclipse.elk.spacing.labelPortVertical\", Spe = \"org.eclipse.elk.spacing.labelNode\", Tpe = \"org.eclipse.elk.spacing.nodeSelfLoop\", Upe = \"org.eclipse.elk.spacing.portPort\", Vpe = \"org.eclipse.elk.spacing.individual\", Wpe = \"org.eclipse.elk.port.borderOffset\", Xpe = \"org.eclipse.elk.noLayout\", Ype = \"org.eclipse.elk.port.side\", Zpe = \"org.eclipse.elk.debugMode\", $pe = \"org.eclipse.elk.alignment\", _pe = \"org.eclipse.elk.insideSelfLoops.activate\", aqe = \"org.eclipse.elk.insideSelfLoops.yo\", bqe = \"org.eclipse.elk.nodeSize.fixedGraphSize\", cqe = \"org.eclipse.elk.direction\", dqe = \"org.eclipse.elk.nodeLabels.padding\", eqe = \"org.eclipse.elk.portLabels.nextToPortIfPossible\", fqe = \"org.eclipse.elk.portLabels.treatAsGroup\", gqe = \"org.eclipse.elk.portAlignment.default\", hqe = \"org.eclipse.elk.portAlignment.north\", iqe = \"org.eclipse.elk.portAlignment.south\", jqe = \"org.eclipse.elk.portAlignment.west\", kqe = \"org.eclipse.elk.portAlignment.east\", lqe = \"org.eclipse.elk.contentAlignment\", mqe = \"org.eclipse.elk.junctionPoints\", nqe = \"org.eclipse.elk.edgeLabels.placement\", oqe = \"org.eclipse.elk.port.index\", pqe = \"org.eclipse.elk.commentBox\", qqe = \"org.eclipse.elk.hypernode\", rqe = \"org.eclipse.elk.port.anchor\", sqe = \"org.eclipse.elk.partitioning.activate\", tqe = \"org.eclipse.elk.partitioning.partition\", uqe = \"org.eclipse.elk.position\", vqe = \"org.eclipse.elk.margins\", wqe = \"org.eclipse.elk.spacing.portsSurrounding\", xqe = \"org.eclipse.elk.interactiveLayout\", yqe = \"org.eclipse.elk.core.util\", zqe = { 3: 1, 4: 1, 5: 1, 593: 1 }, Aqe = \"NETWORK_SIMPLEX\", Bqe = { 123: 1, 51: 1 }, Cqe = \"org.eclipse.elk.alg.layered.p1cycles\", Dqe = \"org.eclipse.elk.alg.layered.p2layers\", Eqe = { 402: 1, 225: 1 }, Fqe = { 832: 1, 3: 1, 4: 1 }, Gqe = \"org.eclipse.elk.alg.layered.p3order\", Hqe = \"org.eclipse.elk.alg.layered.p4nodes\", Iqe = { 3: 1, 4: 1, 5: 1, 840: 1 }, Jqe = 1e-5, Kqe = \"org.eclipse.elk.alg.layered.p4nodes.bk\", Lqe = \"org.eclipse.elk.alg.layered.p5edges\", Mqe = \"org.eclipse.elk.alg.layered.p5edges.orthogonal\", Nqe = \"org.eclipse.elk.alg.layered.p5edges.orthogonal.direction\", Oqe = 1e-6, Pqe = \"org.eclipse.elk.alg.layered.p5edges.splines\", Qqe = 0.09999999999999998, Rqe = 1e-8, Sqe = 4.71238898038469, Tqe = 3.141592653589793, Uqe = \"org.eclipse.elk.alg.mrtree\", Vqe = \"org.eclipse.elk.alg.mrtree.graph\", Wqe = \"org.eclipse.elk.alg.mrtree.intermediate\", Xqe = \"Set neighbors in level\", Yqe = \"DESCENDANTS\", Zqe = \"org.eclipse.elk.mrtree.weighting\", $qe = \"org.eclipse.elk.mrtree.searchOrder\", _qe = \"org.eclipse.elk.alg.mrtree.options\", are = \"org.eclipse.elk.mrtree\", bre = \"org.eclipse.elk.tree\", cre = \"org.eclipse.elk.alg.radial\", dre = 6.283185307179586, ere = 5e-324, fre = \"org.eclipse.elk.alg.radial.intermediate\", gre = \"org.eclipse.elk.alg.radial.intermediate.compaction\", hre = { 3: 1, 4: 1, 5: 1, 106: 1 }, ire = \"org.eclipse.elk.alg.radial.intermediate.optimization\", jre = \"No implementation is available for the layout option \", kre = \"org.eclipse.elk.alg.radial.options\", lre = \"org.eclipse.elk.radial.orderId\", mre = \"org.eclipse.elk.radial.radius\", nre = \"org.eclipse.elk.radial.compactor\", ore = \"org.eclipse.elk.radial.compactionStepSize\", pre = \"org.eclipse.elk.radial.sorter\", qre = \"org.eclipse.elk.radial.wedgeCriteria\", rre = \"org.eclipse.elk.radial.optimizationCriteria\", sre = \"org.eclipse.elk.radial\", tre = \"org.eclipse.elk.alg.radial.p1position.wedge\", ure = \"org.eclipse.elk.alg.radial.sorting\", vre = 5.497787143782138, wre = 3.9269908169872414, xre = 2.356194490192345, yre = \"org.eclipse.elk.alg.rectpacking\", zre = \"org.eclipse.elk.alg.rectpacking.firstiteration\", Are = \"org.eclipse.elk.alg.rectpacking.options\", Bre = \"org.eclipse.elk.rectpacking.optimizationGoal\", Cre = \"org.eclipse.elk.rectpacking.lastPlaceShift\", Dre = \"org.eclipse.elk.rectpacking.currentPosition\", Ere = \"org.eclipse.elk.rectpacking.desiredPosition\", Fre = \"org.eclipse.elk.rectpacking.onlyFirstIteration\", Gre = \"org.eclipse.elk.rectpacking.rowCompaction\", Hre = \"org.eclipse.elk.rectpacking.expandToAspectRatio\", Ire = \"org.eclipse.elk.rectpacking.targetWidth\", Jre = \"org.eclipse.elk.expandNodes\", Kre = \"org.eclipse.elk.rectpacking\", Lre = \"org.eclipse.elk.alg.rectpacking.util\", Mre = \"No implementation available for \", Nre = \"org.eclipse.elk.alg.spore\", Ore = \"org.eclipse.elk.alg.spore.options\", Pre = \"org.eclipse.elk.sporeCompaction\", Qre = \"org.eclipse.elk.underlyingLayoutAlgorithm\", Rre = \"org.eclipse.elk.processingOrder.treeConstruction\", Sre = \"org.eclipse.elk.processingOrder.spanningTreeCostFunction\", Tre = \"org.eclipse.elk.processingOrder.preferredRoot\", Ure = \"org.eclipse.elk.processingOrder.rootSelection\", Vre = \"org.eclipse.elk.structure.structureExtractionStrategy\", Wre = \"org.eclipse.elk.compaction.compactionStrategy\", Xre = \"org.eclipse.elk.compaction.orthogonal\", Yre = \"org.eclipse.elk.overlapRemoval.maxIterations\", Zre = \"org.eclipse.elk.overlapRemoval.runScanline\", $re = \"processingOrder\", _re = \"overlapRemoval\", ase = \"org.eclipse.elk.sporeOverlap\", bse = \"org.eclipse.elk.alg.spore.p1structure\", cse = \"org.eclipse.elk.alg.spore.p2processingorder\", dse = \"org.eclipse.elk.alg.spore.p3execution\", ese = \"Invalid index: \", fse = \"org.eclipse.elk.core.alg\", gse = { 331: 1 }, hse = { 288: 1 }, ise = \"Make sure its type is registered with the \", jse = \" utility class.\", kse = \"true\", lse = \"false\", mse = \"Couldn't clone property '\", nse = 0.05, ose = \"org.eclipse.elk.core.options\", pse = 1.2999999523162842, qse = \"org.eclipse.elk.box\", rse = \"org.eclipse.elk.box.packingMode\", sse = \"org.eclipse.elk.algorithm\", tse = \"org.eclipse.elk.resolvedAlgorithm\", use = \"org.eclipse.elk.bendPoints\", vse = \"org.eclipse.elk.labelManager\", wse = \"org.eclipse.elk.scaleFactor\", xse = \"org.eclipse.elk.animate\", yse = \"org.eclipse.elk.animTimeFactor\", zse = \"org.eclipse.elk.layoutAncestors\", Ase = \"org.eclipse.elk.maxAnimTime\", Bse = \"org.eclipse.elk.minAnimTime\", Cse = \"org.eclipse.elk.progressBar\", Dse = \"org.eclipse.elk.validateGraph\", Ese = \"org.eclipse.elk.validateOptions\", Fse = \"org.eclipse.elk.zoomToFit\", Gse = \"org.eclipse.elk.font.name\", Hse = \"org.eclipse.elk.font.size\", Ise = \"org.eclipse.elk.edge.type\", Jse = \"partitioning\", Kse = \"nodeLabels\", Lse = \"portAlignment\", Mse = \"nodeSize\", Nse = \"port\", Ose = \"portLabels\", Pse = \"insideSelfLoops\", Qse = \"org.eclipse.elk.fixed\", Rse = \"org.eclipse.elk.random\", Sse = \"port must have a parent node to calculate the port side\", Tse = \"The edge needs to have exactly one edge section. Found: \", Use = \"org.eclipse.elk.core.util.adapters\", Vse = \"org.eclipse.emf.ecore\", Wse = \"org.eclipse.elk.graph\", Xse = \"EMapPropertyHolder\", Yse = \"ElkBendPoint\", Zse = \"ElkGraphElement\", $se = \"ElkConnectableShape\", _se = \"ElkEdge\", ate = \"ElkEdgeSection\", bte = \"EModelElement\", cte = \"ENamedElement\", dte = \"ElkLabel\", ete = \"ElkNode\", fte = \"ElkPort\", gte = { 92: 1, 90: 1 }, hte = \"org.eclipse.emf.common.notify.impl\", ite = \"The feature '\", jte = \"' is not a valid changeable feature\", kte = \"Expecting null\", lte = \"' is not a valid feature\", mte = \"The feature ID\", nte = \" is not a valid feature ID\", ote = 32768, pte = { 105: 1, 92: 1, 90: 1, 56: 1, 49: 1, 97: 1 }, qte = \"org.eclipse.emf.ecore.impl\", rte = \"org.eclipse.elk.graph.impl\", ste = \"Recursive containment not allowed for \", tte = \"The datatype '\", ute = \"' is not a valid classifier\", vte = \"The value '\", wte = { 190: 1, 3: 1, 4: 1 }, xte = \"The class '\", yte = \"http://www.eclipse.org/elk/ElkGraph\", zte = 1024, Ate = \"property\", Bte = \"value\", Cte = \"source\", Dte = \"properties\", Ete = \"identifier\", Fte = \"height\", Gte = \"width\", Hte = \"parent\", Ite = \"text\", Jte = \"children\", Kte = \"hierarchical\", Lte = \"sources\", Mte = \"targets\", Nte = \"sections\", Ote = \"bendPoints\", Pte = \"outgoingShape\", Qte = \"incomingShape\", Rte = \"outgoingSections\", Ste = \"incomingSections\", Tte = \"org.eclipse.emf.common.util\", Ute = \"Severe implementation error in the Json to ElkGraph importer.\", Vte = \"id\", Wte = \"org.eclipse.elk.graph.json\", Xte = \"Unhandled parameter types: \", Yte = \"startPoint\", Zte = \"An edge must have at least one source and one target (edge id: '\", $te = \"').\", _te = \"Referenced edge section does not exist: \", aue = \" (edge id: '\", bue = \"target\", cue = \"sourcePoint\", due = \"targetPoint\", eue = \"group\", fue = \"name\", gue = \"connectableShape cannot be null\", hue2 = \"edge cannot be null\", iue = \"Passed edge is not 'simple'.\", jue = \"org.eclipse.elk.graph.util\", kue = \"The 'no duplicates' constraint is violated\", lue = \"targetIndex=\", mue = \", size=\", nue = \"sourceIndex=\", oue = { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 54: 1, 67: 1, 63: 1, 58: 1 }, pue = { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 47: 1, 15: 1, 54: 1, 67: 1, 63: 1, 58: 1, 588: 1 }, que = \"logging\", rue = \"measureExecutionTime\", sue = \"parser.parse.1\", tue = \"parser.parse.2\", uue = \"parser.next.1\", vue = \"parser.next.2\", wue = \"parser.next.3\", xue = \"parser.next.4\", yue = \"parser.factor.1\", zue = \"parser.factor.2\", Aue = \"parser.factor.3\", Bue = \"parser.factor.4\", Cue = \"parser.factor.5\", Due = \"parser.factor.6\", Eue = \"parser.atom.1\", Fue = \"parser.atom.2\", Gue = \"parser.atom.3\", Hue = \"parser.atom.4\", Iue = \"parser.atom.5\", Jue = \"parser.cc.1\", Kue = \"parser.cc.2\", Lue = \"parser.cc.3\", Mue = \"parser.cc.5\", Nue = \"parser.cc.6\", Oue = \"parser.cc.7\", Pue = \"parser.cc.8\", Que = \"parser.ope.1\", Rue = \"parser.ope.2\", Sue = \"parser.ope.3\", Tue = \"parser.descape.1\", Uue = \"parser.descape.2\", Vue = \"parser.descape.3\", Wue = \"parser.descape.4\", Xue = \"parser.descape.5\", Yue = \"parser.process.1\", Zue = \"parser.quantifier.1\", $ue = \"parser.quantifier.2\", _ue = \"parser.quantifier.3\", ave = \"parser.quantifier.4\", bve = \"parser.quantifier.5\", cve = \"org.eclipse.emf.common.notify\", dve = { 415: 1, 672: 1 }, eve = { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 67: 1, 58: 1 }, fve = { 366: 1, 143: 1 }, gve = \"index=\", hve = { 3: 1, 4: 1, 5: 1, 126: 1 }, ive = { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 54: 1, 67: 1, 58: 1 }, jve = { 3: 1, 6: 1, 4: 1, 5: 1, 192: 1 }, kve = { 3: 1, 4: 1, 5: 1, 165: 1, 367: 1 }, lve = \";/?:@&=+$,\", mve = \"invalid authority: \", nve = \"EAnnotation\", ove = \"ETypedElement\", pve = \"EStructuralFeature\", qve = \"EAttribute\", rve = \"EClassifier\", sve = \"EEnumLiteral\", tve = \"EGenericType\", uve = \"EOperation\", vve = \"EParameter\", wve = \"EReference\", xve = \"ETypeParameter\", yve = \"org.eclipse.emf.ecore.util\", zve = { 76: 1 }, Ave = { 3: 1, 20: 1, 14: 1, 15: 1, 58: 1, 589: 1, 76: 1, 69: 1, 95: 1 }, Bve = \"org.eclipse.emf.ecore.util.FeatureMap$Entry\", Cve = 8192, Dve = 2048, Eve = \"byte\", Fve = \"char\", Gve = \"double\", Hve = \"float\", Ive = \"int\", Jve = \"long\", Kve = \"short\", Lve = \"java.lang.Object\", Mve = { 3: 1, 4: 1, 5: 1, 247: 1 }, Nve = { 3: 1, 4: 1, 5: 1, 673: 1 }, Ove = { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 54: 1, 67: 1, 63: 1, 58: 1, 69: 1 }, Pve = { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 54: 1, 67: 1, 63: 1, 58: 1, 76: 1, 69: 1, 95: 1 }, Qve = \"mixed\", Rve = \"http:///org/eclipse/emf/ecore/util/ExtendedMetaData\", Sve = \"kind\", Tve = { 3: 1, 4: 1, 5: 1, 674: 1 }, Uve = { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 67: 1, 58: 1, 76: 1, 69: 1, 95: 1 }, Vve = { 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 58: 1, 69: 1 }, Wve = { 47: 1, 125: 1, 279: 1 }, Xve = { 72: 1, 332: 1 }, Yve = \"The value of type '\", Zve = \"' must be of type '\", $ve = 1316, _ve = \"http://www.eclipse.org/emf/2002/Ecore\", awe = -32768, bwe = \"constraints\", cwe = \"baseType\", dwe = \"getEStructuralFeature\", ewe = \"getFeatureID\", fwe = \"feature\", gwe = \"getOperationID\", hwe = \"operation\", iwe = \"defaultValue\", jwe = \"eTypeParameters\", kwe = \"isInstance\", lwe = \"getEEnumLiteral\", mwe = \"eContainingClass\", nwe = { 55: 1 }, owe = { 3: 1, 4: 1, 5: 1, 119: 1 }, pwe = \"org.eclipse.emf.ecore.resource\", qwe = { 92: 1, 90: 1, 591: 1, 1935: 1 }, rwe = \"org.eclipse.emf.ecore.resource.impl\", swe = \"unspecified\", twe = \"simple\", uwe = \"attribute\", vwe = \"attributeWildcard\", wwe = \"element\", xwe = \"elementWildcard\", ywe = \"collapse\", zwe = \"itemType\", Awe = \"namespace\", Bwe = \"##targetNamespace\", Cwe = \"whiteSpace\", Dwe = \"wildcards\", Ewe = \"http://www.eclipse.org/emf/2003/XMLType\", Fwe = \"##any\", Gwe = \"uninitialized\", Hwe = \"The multiplicity constraint is violated\", Iwe = \"org.eclipse.emf.ecore.xml.type\", Jwe = \"ProcessingInstruction\", Kwe = \"SimpleAnyType\", Lwe = \"XMLTypeDocumentRoot\", Mwe = \"org.eclipse.emf.ecore.xml.type.impl\", Nwe = \"INF\", Owe = \"processing\", Pwe = \"ENTITIES_._base\", Qwe = \"minLength\", Rwe = \"ENTITY\", Swe = \"NCName\", Twe = \"IDREFS_._base\", Uwe = \"integer\", Vwe = \"token\", Wwe = \"pattern\", Xwe = \"[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*\", Ywe = \"\\\\i\\\\c*\", Zwe = \"[\\\\i-[:]][\\\\c-[:]]*\", $we = \"nonPositiveInteger\", _we = \"maxInclusive\", axe = \"NMTOKEN\", bxe = \"NMTOKENS_._base\", cxe = \"nonNegativeInteger\", dxe = \"minInclusive\", exe = \"normalizedString\", fxe = \"unsignedByte\", gxe = \"unsignedInt\", hxe = \"18446744073709551615\", ixe = \"unsignedShort\", jxe = \"processingInstruction\", kxe = \"org.eclipse.emf.ecore.xml.type.internal\", lxe = 1114111, mxe = \"Internal Error: shorthands: \\\\u\", nxe = \"xml:isDigit\", oxe = \"xml:isWord\", pxe = \"xml:isSpace\", qxe = \"xml:isNameChar\", rxe = \"xml:isInitialNameChar\", sxe = \"09٠٩۰۹०९০৯੦੯૦૯୦୯௧௯౦౯೦೯൦൯๐๙໐໙༠༩\", txe = \"AZazÀÖØöøıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁΆΆΈΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆאתװײءغفيٱڷںھۀێېۓەەۥۦअहऽऽक़ॡঅঌএঐওনপরললশহড়ঢ়য়ৡৰৱਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹਖ਼ੜਫ਼ਫ਼ੲੴઅઋઍઍએઑઓનપરલળવહઽઽૠૠଅଌଏଐଓନପରଲଳଶହଽଽଡ଼ଢ଼ୟୡஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹఅఌఎఐఒనపళవహౠౡಅಌಎಐಒನಪಳವಹೞೞೠೡഅഌഎഐഒനപഹൠൡกฮะะาำเๅກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະະາຳຽຽເໄཀཇཉཀྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅟᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼιιῂῄῆῌῐΐῖΊῠῬῲῴῶῼΩΩKÅ℮℮ↀↂ〇〇〡〩ぁゔァヺㄅㄬ一龥가힣\", uxe = \"Private Use\", vxe = \"ASSIGNED\", wxe = \"\\0€ÿĀſƀɏɐʯʰ˿̀ͯͰϿЀӿ԰֏֐׿؀ۿ܀ݏހ޿ऀॿঀ৿਀੿઀૿଀୿஀௿ఀ౿ಀ೿ഀൿ඀෿฀๿຀໿ༀ࿿က႟Ⴀჿᄀᇿሀ፿Ꭰ᏿᐀ᙿ ᚟ᚠ᛿ក៿᠀᢯Ḁỿἀ῿ ⁰₟₠⃏⃐⃿℀⅏⅐↏←⇿∀⋿⌀⏿␀␿⑀⑟①⓿─╿▀▟■◿☀⛿✀➿⠀⣿⺀⻿⼀⿟⿰⿿ 〿぀ゟ゠ヿ㄀ㄯ㄰㆏㆐㆟ㆠㆿ㈀㋿㌀㏿㐀䶵一鿿ꀀ꒏꒐꓏가힣豈﫿ffﭏﭐ﷿︠︯︰﹏﹐﹯ﹰ﻾\\uFEFF\\uFEFF＀￯\", xxe = \"UNASSIGNED\", yxe = { 3: 1, 117: 1 }, zxe = \"org.eclipse.emf.ecore.xml.type.util\", Axe = { 3: 1, 4: 1, 5: 1, 368: 1 }, Bxe = \"org.eclipse.xtext.xbase.lib\", Cxe = \"Cannot add elements to a Range\", Dxe = \"Cannot set elements in a Range\", Exe = \"Cannot remove elements from a Range\", Fxe = \"locale\", Gxe = \"default\", Hxe = \"user.agent\";\n var _2, _bb, Wbb;\n $wnd.goog = $wnd.goog || {};\n $wnd.goog.global = $wnd.goog.global || $wnd;\n acb();\n bcb(1, null, {}, nb);\n _2.Fb = function ob(a) {\n return mb(this, a);\n };\n _2.Gb = function qb() {\n return this.gm;\n };\n _2.Hb = function sb() {\n return FCb(this);\n };\n _2.Ib = function ub() {\n var a;\n return hdb(rb(this)) + \"@\" + (a = tb(this) >>> 0, a.toString(16));\n };\n _2.equals = function(a) {\n return this.Fb(a);\n };\n _2.hashCode = function() {\n return this.Hb();\n };\n _2.toString = function() {\n return this.Ib();\n };\n var xD, yD, zD;\n bcb(290, 1, { 290: 1, 2026: 1 }, jdb);\n _2.le = function kdb(a) {\n var b;\n b = new jdb();\n b.i = 4;\n a > 1 ? b.c = rdb(this, a - 1) : b.c = this;\n return b;\n };\n _2.me = function qdb() {\n fdb(this);\n return this.b;\n };\n _2.ne = function sdb() {\n return hdb(this);\n };\n _2.oe = function udb() {\n return fdb(this), this.k;\n };\n _2.pe = function wdb() {\n return (this.i & 4) != 0;\n };\n _2.qe = function xdb() {\n return (this.i & 1) != 0;\n };\n _2.Ib = function Adb() {\n return idb(this);\n };\n _2.i = 0;\n var SI = mdb(Phe, \"Object\", 1);\n var AI = mdb(Phe, \"Class\", 290);\n bcb(1998, 1, Qhe);\n mdb(Rhe, \"Optional\", 1998);\n bcb(1170, 1998, Qhe, xb);\n _2.Fb = function yb(a) {\n return a === this;\n };\n _2.Hb = function zb() {\n return 2040732332;\n };\n _2.Ib = function Ab() {\n return \"Optional.absent()\";\n };\n _2.Jb = function Bb(a) {\n Qb(a);\n return wb(), vb;\n };\n var vb;\n mdb(Rhe, \"Absent\", 1170);\n bcb(628, 1, {}, Gb);\n mdb(Rhe, \"Joiner\", 628);\n var _D = odb(Rhe, \"Predicate\");\n bcb(582, 1, { 169: 1, 582: 1, 3: 1, 45: 1 }, Yb);\n _2.Mb = function ac(a) {\n return Xb(this, a);\n };\n _2.Lb = function Zb(a) {\n return Xb(this, a);\n };\n _2.Fb = function $b(a) {\n var b;\n if (JD(a, 582)) {\n b = BD(a, 582);\n return At(this.a, b.a);\n }\n return false;\n };\n _2.Hb = function _b() {\n return qmb(this.a) + 306654252;\n };\n _2.Ib = function bc() {\n return Wb(this.a);\n };\n mdb(Rhe, \"Predicates/AndPredicate\", 582);\n bcb(408, 1998, { 408: 1, 3: 1 }, cc);\n _2.Fb = function dc(a) {\n var b;\n if (JD(a, 408)) {\n b = BD(a, 408);\n return pb(this.a, b.a);\n }\n return false;\n };\n _2.Hb = function ec() {\n return 1502476572 + tb(this.a);\n };\n _2.Ib = function fc() {\n return Whe + this.a + \")\";\n };\n _2.Jb = function gc(a) {\n return new cc(Rb(a.Kb(this.a), \"the Function passed to Optional.transform() must not return null.\"));\n };\n mdb(Rhe, \"Present\", 408);\n bcb(198, 1, Yhe);\n _2.Nb = function kc(a) {\n Rrb(this, a);\n };\n _2.Qb = function lc() {\n jc();\n };\n mdb(Zhe, \"UnmodifiableIterator\", 198);\n bcb(1978, 198, $he);\n _2.Qb = function nc() {\n jc();\n };\n _2.Rb = function mc(a) {\n throw vbb(new bgb());\n };\n _2.Wb = function oc(a) {\n throw vbb(new bgb());\n };\n mdb(Zhe, \"UnmodifiableListIterator\", 1978);\n bcb(386, 1978, $he);\n _2.Ob = function rc() {\n return this.c < this.d;\n };\n _2.Sb = function sc() {\n return this.c > 0;\n };\n _2.Pb = function tc() {\n if (this.c >= this.d) {\n throw vbb(new utb());\n }\n return this.Xb(this.c++);\n };\n _2.Tb = function uc() {\n return this.c;\n };\n _2.Ub = function vc() {\n if (this.c <= 0) {\n throw vbb(new utb());\n }\n return this.Xb(--this.c);\n };\n _2.Vb = function wc() {\n return this.c - 1;\n };\n _2.c = 0;\n _2.d = 0;\n mdb(Zhe, \"AbstractIndexedListIterator\", 386);\n bcb(699, 198, Yhe);\n _2.Ob = function Ac() {\n return xc(this);\n };\n _2.Pb = function Bc() {\n return yc(this);\n };\n _2.e = 1;\n mdb(Zhe, \"AbstractIterator\", 699);\n bcb(1986, 1, { 224: 1 });\n _2.Zb = function Hc() {\n var a;\n return a = this.f, !a ? this.f = this.ac() : a;\n };\n _2.Fb = function Ic(a) {\n return hw(this, a);\n };\n _2.Hb = function Jc() {\n return tb(this.Zb());\n };\n _2.dc = function Kc() {\n return this.gc() == 0;\n };\n _2.ec = function Lc() {\n return Ec(this);\n };\n _2.Ib = function Mc() {\n return fcb(this.Zb());\n };\n mdb(Zhe, \"AbstractMultimap\", 1986);\n bcb(726, 1986, _he);\n _2.$b = function Xc() {\n Nc(this);\n };\n _2._b = function Yc(a) {\n return Oc(this, a);\n };\n _2.ac = function Zc() {\n return new ne(this, this.c);\n };\n _2.ic = function $c(a) {\n return this.hc();\n };\n _2.bc = function _c() {\n return new zf(this, this.c);\n };\n _2.jc = function ad() {\n return this.mc(this.hc());\n };\n _2.kc = function bd() {\n return new Hd(this);\n };\n _2.lc = function cd() {\n return Yj(this.c.vc().Nc(), new $g(), 64, this.d);\n };\n _2.cc = function dd(a) {\n return Qc(this, a);\n };\n _2.fc = function gd(a) {\n return Sc(this, a);\n };\n _2.gc = function hd() {\n return this.d;\n };\n _2.mc = function jd(a) {\n return mmb(), new lnb(a);\n };\n _2.nc = function kd() {\n return new Dd(this);\n };\n _2.oc = function ld() {\n return Yj(this.c.Cc().Nc(), new Fd(), 64, this.d);\n };\n _2.pc = function md(a, b) {\n return new dg(this, a, b, null);\n };\n _2.d = 0;\n mdb(Zhe, \"AbstractMapBasedMultimap\", 726);\n bcb(1631, 726, _he);\n _2.hc = function pd() {\n return new Skb(this.a);\n };\n _2.jc = function qd() {\n return mmb(), mmb(), jmb;\n };\n _2.cc = function sd(a) {\n return BD(Qc(this, a), 15);\n };\n _2.fc = function ud(a) {\n return BD(Sc(this, a), 15);\n };\n _2.Zb = function od() {\n return nd(this);\n };\n _2.Fb = function rd(a) {\n return hw(this, a);\n };\n _2.qc = function td(a) {\n return BD(Qc(this, a), 15);\n };\n _2.rc = function vd(a) {\n return BD(Sc(this, a), 15);\n };\n _2.mc = function wd(a) {\n return vmb(BD(a, 15));\n };\n _2.pc = function xd(a, b) {\n return Vc(this, a, BD(b, 15), null);\n };\n mdb(Zhe, \"AbstractListMultimap\", 1631);\n bcb(732, 1, aie);\n _2.Nb = function zd(a) {\n Rrb(this, a);\n };\n _2.Ob = function Ad() {\n return this.c.Ob() || this.e.Ob();\n };\n _2.Pb = function Bd() {\n var a;\n if (!this.e.Ob()) {\n a = BD(this.c.Pb(), 42);\n this.b = a.cd();\n this.a = BD(a.dd(), 14);\n this.e = this.a.Kc();\n }\n return this.sc(this.b, this.e.Pb());\n };\n _2.Qb = function Cd() {\n this.e.Qb();\n this.a.dc() && this.c.Qb();\n --this.d.d;\n };\n mdb(Zhe, \"AbstractMapBasedMultimap/Itr\", 732);\n bcb(1099, 732, aie, Dd);\n _2.sc = function Ed(a, b) {\n return b;\n };\n mdb(Zhe, \"AbstractMapBasedMultimap/1\", 1099);\n bcb(1100, 1, {}, Fd);\n _2.Kb = function Gd(a) {\n return BD(a, 14).Nc();\n };\n mdb(Zhe, \"AbstractMapBasedMultimap/1methodref$spliterator$Type\", 1100);\n bcb(1101, 732, aie, Hd);\n _2.sc = function Id(a, b) {\n return new Wo(a, b);\n };\n mdb(Zhe, \"AbstractMapBasedMultimap/2\", 1101);\n var DK = odb(bie, \"Map\");\n bcb(1967, 1, cie);\n _2.wc = function Td(a) {\n stb(this, a);\n };\n _2.yc = function $d(a, b, c2) {\n return ttb(this, a, b, c2);\n };\n _2.$b = function Od() {\n this.vc().$b();\n };\n _2.tc = function Pd(a) {\n return Jd(this, a);\n };\n _2._b = function Qd(a) {\n return !!Kd(this, a, false);\n };\n _2.uc = function Rd(a) {\n var b, c2, d;\n for (c2 = this.vc().Kc(); c2.Ob(); ) {\n b = BD(c2.Pb(), 42);\n d = b.dd();\n if (PD(a) === PD(d) || a != null && pb(a, d)) {\n return true;\n }\n }\n return false;\n };\n _2.Fb = function Sd(a) {\n var b, c2, d;\n if (a === this) {\n return true;\n }\n if (!JD(a, 83)) {\n return false;\n }\n d = BD(a, 83);\n if (this.gc() != d.gc()) {\n return false;\n }\n for (c2 = d.vc().Kc(); c2.Ob(); ) {\n b = BD(c2.Pb(), 42);\n if (!this.tc(b)) {\n return false;\n }\n }\n return true;\n };\n _2.xc = function Ud(a) {\n return Wd(Kd(this, a, false));\n };\n _2.Hb = function Xd() {\n return pmb(this.vc());\n };\n _2.dc = function Yd() {\n return this.gc() == 0;\n };\n _2.ec = function Zd() {\n return new Pib(this);\n };\n _2.zc = function _d(a, b) {\n throw vbb(new cgb(\"Put not supported on this map\"));\n };\n _2.Ac = function ae(a) {\n Ld(this, a);\n };\n _2.Bc = function be(a) {\n return Wd(Kd(this, a, true));\n };\n _2.gc = function ce() {\n return this.vc().gc();\n };\n _2.Ib = function de() {\n return Md(this);\n };\n _2.Cc = function ee() {\n return new $ib(this);\n };\n mdb(bie, \"AbstractMap\", 1967);\n bcb(1987, 1967, cie);\n _2.bc = function ge() {\n return new rf(this);\n };\n _2.vc = function he() {\n return fe(this);\n };\n _2.ec = function ie() {\n var a;\n a = this.g;\n return !a ? this.g = this.bc() : a;\n };\n _2.Cc = function je() {\n var a;\n a = this.i;\n return !a ? this.i = new Zv(this) : a;\n };\n mdb(Zhe, \"Maps/ViewCachingAbstractMap\", 1987);\n bcb(389, 1987, cie, ne);\n _2.xc = function se(a) {\n return ke(this, a);\n };\n _2.Bc = function ve(a) {\n return le(this, a);\n };\n _2.$b = function oe() {\n this.d == this.e.c ? this.e.$b() : ir(new mf(this));\n };\n _2._b = function pe(a) {\n return Gv(this.d, a);\n };\n _2.Ec = function qe() {\n return new df(this);\n };\n _2.Dc = function() {\n return this.Ec();\n };\n _2.Fb = function re2(a) {\n return this === a || pb(this.d, a);\n };\n _2.Hb = function te() {\n return tb(this.d);\n };\n _2.ec = function ue() {\n return this.e.ec();\n };\n _2.gc = function we() {\n return this.d.gc();\n };\n _2.Ib = function xe() {\n return fcb(this.d);\n };\n mdb(Zhe, \"AbstractMapBasedMultimap/AsMap\", 389);\n var KI = odb(Phe, \"Iterable\");\n bcb(28, 1, die);\n _2.Jc = function Le(a) {\n reb(this, a);\n };\n _2.Lc = function Ne() {\n return this.Oc();\n };\n _2.Nc = function Pe() {\n return new Kub(this, 0);\n };\n _2.Oc = function Qe() {\n return new YAb(null, this.Nc());\n };\n _2.Fc = function Ge(a) {\n throw vbb(new cgb(\"Add not supported on this collection\"));\n };\n _2.Gc = function He(a) {\n return ye(this, a);\n };\n _2.$b = function Ie() {\n Ae(this);\n };\n _2.Hc = function Je(a) {\n return ze(this, a, false);\n };\n _2.Ic = function Ke(a) {\n return Be(this, a);\n };\n _2.dc = function Me() {\n return this.gc() == 0;\n };\n _2.Mc = function Oe(a) {\n return ze(this, a, true);\n };\n _2.Pc = function Re() {\n return De(this);\n };\n _2.Qc = function Se(a) {\n return Ee(this, a);\n };\n _2.Ib = function Te() {\n return Fe(this);\n };\n mdb(bie, \"AbstractCollection\", 28);\n var LK = odb(bie, \"Set\");\n bcb(eie, 28, fie);\n _2.Nc = function Ye() {\n return new Kub(this, 1);\n };\n _2.Fb = function We(a) {\n return Ue(this, a);\n };\n _2.Hb = function Xe() {\n return pmb(this);\n };\n mdb(bie, \"AbstractSet\", eie);\n bcb(1970, eie, fie);\n mdb(Zhe, \"Sets/ImprovedAbstractSet\", 1970);\n bcb(1971, 1970, fie);\n _2.$b = function $e() {\n this.Rc().$b();\n };\n _2.Hc = function _e(a) {\n return Ze(this, a);\n };\n _2.dc = function af() {\n return this.Rc().dc();\n };\n _2.Mc = function bf(a) {\n var b;\n if (this.Hc(a)) {\n b = BD(a, 42);\n return this.Rc().ec().Mc(b.cd());\n }\n return false;\n };\n _2.gc = function cf() {\n return this.Rc().gc();\n };\n mdb(Zhe, \"Maps/EntrySet\", 1971);\n bcb(1097, 1971, fie, df);\n _2.Hc = function ef(a) {\n return Ck(this.a.d.vc(), a);\n };\n _2.Kc = function ff() {\n return new mf(this.a);\n };\n _2.Rc = function gf() {\n return this.a;\n };\n _2.Mc = function hf(a) {\n var b;\n if (!Ck(this.a.d.vc(), a)) {\n return false;\n }\n b = BD(a, 42);\n Tc(this.a.e, b.cd());\n return true;\n };\n _2.Nc = function jf() {\n return $j(this.a.d.vc().Nc(), new kf(this.a));\n };\n mdb(Zhe, \"AbstractMapBasedMultimap/AsMap/AsMapEntries\", 1097);\n bcb(1098, 1, {}, kf);\n _2.Kb = function lf(a) {\n return me(this.a, BD(a, 42));\n };\n mdb(Zhe, \"AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type\", 1098);\n bcb(730, 1, aie, mf);\n _2.Nb = function nf(a) {\n Rrb(this, a);\n };\n _2.Pb = function pf() {\n var a;\n return a = BD(this.b.Pb(), 42), this.a = BD(a.dd(), 14), me(this.c, a);\n };\n _2.Ob = function of() {\n return this.b.Ob();\n };\n _2.Qb = function qf() {\n Vb(!!this.a);\n this.b.Qb();\n this.c.e.d -= this.a.gc();\n this.a.$b();\n this.a = null;\n };\n mdb(Zhe, \"AbstractMapBasedMultimap/AsMap/AsMapIterator\", 730);\n bcb(532, 1970, fie, rf);\n _2.$b = function sf() {\n this.b.$b();\n };\n _2.Hc = function tf(a) {\n return this.b._b(a);\n };\n _2.Jc = function uf(a) {\n Qb(a);\n this.b.wc(new Xv(a));\n };\n _2.dc = function vf() {\n return this.b.dc();\n };\n _2.Kc = function wf() {\n return new Mv(this.b.vc().Kc());\n };\n _2.Mc = function xf(a) {\n if (this.b._b(a)) {\n this.b.Bc(a);\n return true;\n }\n return false;\n };\n _2.gc = function yf() {\n return this.b.gc();\n };\n mdb(Zhe, \"Maps/KeySet\", 532);\n bcb(318, 532, fie, zf);\n _2.$b = function Af() {\n var a;\n ir((a = this.b.vc().Kc(), new Hf(this, a)));\n };\n _2.Ic = function Bf(a) {\n return this.b.ec().Ic(a);\n };\n _2.Fb = function Cf(a) {\n return this === a || pb(this.b.ec(), a);\n };\n _2.Hb = function Df() {\n return tb(this.b.ec());\n };\n _2.Kc = function Ef() {\n var a;\n return a = this.b.vc().Kc(), new Hf(this, a);\n };\n _2.Mc = function Ff(a) {\n var b, c2;\n c2 = 0;\n b = BD(this.b.Bc(a), 14);\n if (b) {\n c2 = b.gc();\n b.$b();\n this.a.d -= c2;\n }\n return c2 > 0;\n };\n _2.Nc = function Gf() {\n return this.b.ec().Nc();\n };\n mdb(Zhe, \"AbstractMapBasedMultimap/KeySet\", 318);\n bcb(731, 1, aie, Hf);\n _2.Nb = function If(a) {\n Rrb(this, a);\n };\n _2.Ob = function Jf() {\n return this.c.Ob();\n };\n _2.Pb = function Kf() {\n this.a = BD(this.c.Pb(), 42);\n return this.a.cd();\n };\n _2.Qb = function Lf() {\n var a;\n Vb(!!this.a);\n a = BD(this.a.dd(), 14);\n this.c.Qb();\n this.b.a.d -= a.gc();\n a.$b();\n this.a = null;\n };\n mdb(Zhe, \"AbstractMapBasedMultimap/KeySet/1\", 731);\n bcb(491, 389, { 83: 1, 161: 1 }, Mf);\n _2.bc = function Nf() {\n return this.Sc();\n };\n _2.ec = function Pf() {\n return this.Tc();\n };\n _2.Sc = function Of() {\n return new Yf(this.c, this.Uc());\n };\n _2.Tc = function Qf() {\n var a;\n return a = this.b, !a ? this.b = this.Sc() : a;\n };\n _2.Uc = function Rf() {\n return BD(this.d, 161);\n };\n mdb(Zhe, \"AbstractMapBasedMultimap/SortedAsMap\", 491);\n bcb(542, 491, gie, Sf);\n _2.bc = function Tf() {\n return new $f(this.a, BD(BD(this.d, 161), 171));\n };\n _2.Sc = function Uf() {\n return new $f(this.a, BD(BD(this.d, 161), 171));\n };\n _2.ec = function Vf() {\n var a;\n return a = this.b, BD(!a ? this.b = new $f(this.a, BD(BD(this.d, 161), 171)) : a, 271);\n };\n _2.Tc = function Wf() {\n var a;\n return a = this.b, BD(!a ? this.b = new $f(this.a, BD(BD(this.d, 161), 171)) : a, 271);\n };\n _2.Uc = function Xf() {\n return BD(BD(this.d, 161), 171);\n };\n mdb(Zhe, \"AbstractMapBasedMultimap/NavigableAsMap\", 542);\n bcb(490, 318, hie, Yf);\n _2.Nc = function Zf() {\n return this.b.ec().Nc();\n };\n mdb(Zhe, \"AbstractMapBasedMultimap/SortedKeySet\", 490);\n bcb(388, 490, iie, $f);\n mdb(Zhe, \"AbstractMapBasedMultimap/NavigableKeySet\", 388);\n bcb(541, 28, die, dg);\n _2.Fc = function eg(a) {\n var b, c2;\n ag(this);\n c2 = this.d.dc();\n b = this.d.Fc(a);\n if (b) {\n ++this.f.d;\n c2 && _f(this);\n }\n return b;\n };\n _2.Gc = function fg(a) {\n var b, c2, d;\n if (a.dc()) {\n return false;\n }\n d = (ag(this), this.d.gc());\n b = this.d.Gc(a);\n if (b) {\n c2 = this.d.gc();\n this.f.d += c2 - d;\n d == 0 && _f(this);\n }\n return b;\n };\n _2.$b = function gg() {\n var a;\n a = (ag(this), this.d.gc());\n if (a == 0) {\n return;\n }\n this.d.$b();\n this.f.d -= a;\n bg(this);\n };\n _2.Hc = function hg(a) {\n ag(this);\n return this.d.Hc(a);\n };\n _2.Ic = function ig(a) {\n ag(this);\n return this.d.Ic(a);\n };\n _2.Fb = function jg(a) {\n if (a === this) {\n return true;\n }\n ag(this);\n return pb(this.d, a);\n };\n _2.Hb = function kg() {\n ag(this);\n return tb(this.d);\n };\n _2.Kc = function lg() {\n ag(this);\n return new Gg(this);\n };\n _2.Mc = function mg(a) {\n var b;\n ag(this);\n b = this.d.Mc(a);\n if (b) {\n --this.f.d;\n bg(this);\n }\n return b;\n };\n _2.gc = function ng() {\n return cg(this);\n };\n _2.Nc = function og() {\n return ag(this), this.d.Nc();\n };\n _2.Ib = function pg() {\n ag(this);\n return fcb(this.d);\n };\n mdb(Zhe, \"AbstractMapBasedMultimap/WrappedCollection\", 541);\n var yK = odb(bie, \"List\");\n bcb(728, 541, { 20: 1, 28: 1, 14: 1, 15: 1 }, qg);\n _2.ad = function zg(a) {\n ktb(this, a);\n };\n _2.Nc = function Ag() {\n return ag(this), this.d.Nc();\n };\n _2.Vc = function rg(a, b) {\n var c2;\n ag(this);\n c2 = this.d.dc();\n BD(this.d, 15).Vc(a, b);\n ++this.a.d;\n c2 && _f(this);\n };\n _2.Wc = function sg(a, b) {\n var c2, d, e;\n if (b.dc()) {\n return false;\n }\n e = (ag(this), this.d.gc());\n c2 = BD(this.d, 15).Wc(a, b);\n if (c2) {\n d = this.d.gc();\n this.a.d += d - e;\n e == 0 && _f(this);\n }\n return c2;\n };\n _2.Xb = function tg(a) {\n ag(this);\n return BD(this.d, 15).Xb(a);\n };\n _2.Xc = function ug(a) {\n ag(this);\n return BD(this.d, 15).Xc(a);\n };\n _2.Yc = function vg() {\n ag(this);\n return new Mg(this);\n };\n _2.Zc = function wg(a) {\n ag(this);\n return new Ng(this, a);\n };\n _2.$c = function xg(a) {\n var b;\n ag(this);\n b = BD(this.d, 15).$c(a);\n --this.a.d;\n bg(this);\n return b;\n };\n _2._c = function yg(a, b) {\n ag(this);\n return BD(this.d, 15)._c(a, b);\n };\n _2.bd = function Bg(a, b) {\n ag(this);\n return Vc(this.a, this.e, BD(this.d, 15).bd(a, b), !this.b ? this : this.b);\n };\n mdb(Zhe, \"AbstractMapBasedMultimap/WrappedList\", 728);\n bcb(1096, 728, { 20: 1, 28: 1, 14: 1, 15: 1, 54: 1 }, Cg);\n mdb(Zhe, \"AbstractMapBasedMultimap/RandomAccessWrappedList\", 1096);\n bcb(620, 1, aie, Gg);\n _2.Nb = function Ig(a) {\n Rrb(this, a);\n };\n _2.Ob = function Jg() {\n Fg(this);\n return this.b.Ob();\n };\n _2.Pb = function Kg() {\n Fg(this);\n return this.b.Pb();\n };\n _2.Qb = function Lg() {\n Eg(this);\n };\n mdb(Zhe, \"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator\", 620);\n bcb(729, 620, jie, Mg, Ng);\n _2.Qb = function Tg() {\n Eg(this);\n };\n _2.Rb = function Og(a) {\n var b;\n b = cg(this.a) == 0;\n (Fg(this), BD(this.b, 125)).Rb(a);\n ++this.a.a.d;\n b && _f(this.a);\n };\n _2.Sb = function Pg() {\n return (Fg(this), BD(this.b, 125)).Sb();\n };\n _2.Tb = function Qg() {\n return (Fg(this), BD(this.b, 125)).Tb();\n };\n _2.Ub = function Rg() {\n return (Fg(this), BD(this.b, 125)).Ub();\n };\n _2.Vb = function Sg() {\n return (Fg(this), BD(this.b, 125)).Vb();\n };\n _2.Wb = function Ug(a) {\n (Fg(this), BD(this.b, 125)).Wb(a);\n };\n mdb(Zhe, \"AbstractMapBasedMultimap/WrappedList/WrappedListIterator\", 729);\n bcb(727, 541, hie, Vg);\n _2.Nc = function Wg() {\n return ag(this), this.d.Nc();\n };\n mdb(Zhe, \"AbstractMapBasedMultimap/WrappedSortedSet\", 727);\n bcb(1095, 727, iie, Xg);\n mdb(Zhe, \"AbstractMapBasedMultimap/WrappedNavigableSet\", 1095);\n bcb(1094, 541, fie, Yg);\n _2.Nc = function Zg() {\n return ag(this), this.d.Nc();\n };\n mdb(Zhe, \"AbstractMapBasedMultimap/WrappedSet\", 1094);\n bcb(1103, 1, {}, $g);\n _2.Kb = function _g(a) {\n return fd(BD(a, 42));\n };\n mdb(Zhe, \"AbstractMapBasedMultimap/lambda$1$Type\", 1103);\n bcb(1102, 1, {}, ah);\n _2.Kb = function bh(a) {\n return new Wo(this.a, a);\n };\n mdb(Zhe, \"AbstractMapBasedMultimap/lambda$2$Type\", 1102);\n var CK = odb(bie, \"Map/Entry\");\n bcb(345, 1, kie);\n _2.Fb = function dh(a) {\n var b;\n if (JD(a, 42)) {\n b = BD(a, 42);\n return Hb(this.cd(), b.cd()) && Hb(this.dd(), b.dd());\n }\n return false;\n };\n _2.Hb = function eh() {\n var a, b;\n a = this.cd();\n b = this.dd();\n return (a == null ? 0 : tb(a)) ^ (b == null ? 0 : tb(b));\n };\n _2.ed = function fh(a) {\n throw vbb(new bgb());\n };\n _2.Ib = function gh() {\n return this.cd() + \"=\" + this.dd();\n };\n mdb(Zhe, lie, 345);\n bcb(1988, 28, die);\n _2.$b = function hh() {\n this.fd().$b();\n };\n _2.Hc = function ih(a) {\n var b;\n if (JD(a, 42)) {\n b = BD(a, 42);\n return Cc(this.fd(), b.cd(), b.dd());\n }\n return false;\n };\n _2.Mc = function jh(a) {\n var b;\n if (JD(a, 42)) {\n b = BD(a, 42);\n return Gc(this.fd(), b.cd(), b.dd());\n }\n return false;\n };\n _2.gc = function kh() {\n return this.fd().d;\n };\n mdb(Zhe, \"Multimaps/Entries\", 1988);\n bcb(733, 1988, die, lh);\n _2.Kc = function mh() {\n return this.a.kc();\n };\n _2.fd = function nh() {\n return this.a;\n };\n _2.Nc = function oh() {\n return this.a.lc();\n };\n mdb(Zhe, \"AbstractMultimap/Entries\", 733);\n bcb(734, 733, fie, ph);\n _2.Nc = function sh() {\n return this.a.lc();\n };\n _2.Fb = function qh(a) {\n return Ax(this, a);\n };\n _2.Hb = function rh() {\n return Bx(this);\n };\n mdb(Zhe, \"AbstractMultimap/EntrySet\", 734);\n bcb(735, 28, die, th);\n _2.$b = function uh() {\n this.a.$b();\n };\n _2.Hc = function vh(a) {\n return Dc(this.a, a);\n };\n _2.Kc = function wh() {\n return this.a.nc();\n };\n _2.gc = function xh() {\n return this.a.d;\n };\n _2.Nc = function yh() {\n return this.a.oc();\n };\n mdb(Zhe, \"AbstractMultimap/Values\", 735);\n bcb(1989, 28, { 835: 1, 20: 1, 28: 1, 14: 1 });\n _2.Jc = function Gh(a) {\n Qb(a);\n Ah(this).Jc(new Xw(a));\n };\n _2.Nc = function Kh() {\n var a;\n return a = Ah(this).Nc(), Yj(a, new cx(), 64 | a.qd() & 1296, this.a.d);\n };\n _2.Fc = function Ch(a) {\n zh();\n return true;\n };\n _2.Gc = function Dh(a) {\n return Qb(this), Qb(a), JD(a, 543) ? Zw(BD(a, 835)) : !a.dc() && fr(this, a.Kc());\n };\n _2.Hc = function Eh(a) {\n var b;\n return b = BD(Hv(nd(this.a), a), 14), (!b ? 0 : b.gc()) > 0;\n };\n _2.Fb = function Fh(a) {\n return $w(this, a);\n };\n _2.Hb = function Hh() {\n return tb(Ah(this));\n };\n _2.dc = function Ih() {\n return Ah(this).dc();\n };\n _2.Mc = function Jh(a) {\n return Bw(this, a, 1) > 0;\n };\n _2.Ib = function Lh() {\n return fcb(Ah(this));\n };\n mdb(Zhe, \"AbstractMultiset\", 1989);\n bcb(1991, 1970, fie);\n _2.$b = function Mh() {\n Nc(this.a.a);\n };\n _2.Hc = function Nh(a) {\n var b, c2;\n if (JD(a, 492)) {\n c2 = BD(a, 416);\n if (BD(c2.a.dd(), 14).gc() <= 0) {\n return false;\n }\n b = Aw(this.a, c2.a.cd());\n return b == BD(c2.a.dd(), 14).gc();\n }\n return false;\n };\n _2.Mc = function Oh(a) {\n var b, c2, d, e;\n if (JD(a, 492)) {\n c2 = BD(a, 416);\n b = c2.a.cd();\n d = BD(c2.a.dd(), 14).gc();\n if (d != 0) {\n e = this.a;\n return ax(e, b, d);\n }\n }\n return false;\n };\n mdb(Zhe, \"Multisets/EntrySet\", 1991);\n bcb(1109, 1991, fie, Ph);\n _2.Kc = function Qh() {\n return new Lw(fe(nd(this.a.a)).Kc());\n };\n _2.gc = function Rh() {\n return nd(this.a.a).gc();\n };\n mdb(Zhe, \"AbstractMultiset/EntrySet\", 1109);\n bcb(619, 726, _he);\n _2.hc = function Uh() {\n return this.gd();\n };\n _2.jc = function Vh() {\n return this.hd();\n };\n _2.cc = function Yh(a) {\n return this.jd(a);\n };\n _2.fc = function $h(a) {\n return this.kd(a);\n };\n _2.Zb = function Th() {\n var a;\n return a = this.f, !a ? this.f = this.ac() : a;\n };\n _2.hd = function Wh() {\n return mmb(), mmb(), lmb;\n };\n _2.Fb = function Xh(a) {\n return hw(this, a);\n };\n _2.jd = function Zh(a) {\n return BD(Qc(this, a), 21);\n };\n _2.kd = function _h(a) {\n return BD(Sc(this, a), 21);\n };\n _2.mc = function ai(a) {\n return mmb(), new zob(BD(a, 21));\n };\n _2.pc = function bi(a, b) {\n return new Yg(this, a, BD(b, 21));\n };\n mdb(Zhe, \"AbstractSetMultimap\", 619);\n bcb(1657, 619, _he);\n _2.hc = function ei() {\n return new Hxb(this.b);\n };\n _2.gd = function fi() {\n return new Hxb(this.b);\n };\n _2.jc = function gi() {\n return Ix(new Hxb(this.b));\n };\n _2.hd = function hi() {\n return Ix(new Hxb(this.b));\n };\n _2.cc = function ii(a) {\n return BD(BD(Qc(this, a), 21), 84);\n };\n _2.jd = function ji(a) {\n return BD(BD(Qc(this, a), 21), 84);\n };\n _2.fc = function ki(a) {\n return BD(BD(Sc(this, a), 21), 84);\n };\n _2.kd = function li(a) {\n return BD(BD(Sc(this, a), 21), 84);\n };\n _2.mc = function mi(a) {\n return JD(a, 271) ? Ix(BD(a, 271)) : (mmb(), new Zob(BD(a, 84)));\n };\n _2.Zb = function di() {\n var a;\n return a = this.f, !a ? this.f = JD(this.c, 171) ? new Sf(this, BD(this.c, 171)) : JD(this.c, 161) ? new Mf(this, BD(this.c, 161)) : new ne(this, this.c) : a;\n };\n _2.pc = function ni(a, b) {\n return JD(b, 271) ? new Xg(this, a, BD(b, 271)) : new Vg(this, a, BD(b, 84));\n };\n mdb(Zhe, \"AbstractSortedSetMultimap\", 1657);\n bcb(1658, 1657, _he);\n _2.Zb = function pi2() {\n var a;\n return a = this.f, BD(BD(!a ? this.f = JD(this.c, 171) ? new Sf(this, BD(this.c, 171)) : JD(this.c, 161) ? new Mf(this, BD(this.c, 161)) : new ne(this, this.c) : a, 161), 171);\n };\n _2.ec = function ri() {\n var a;\n return a = this.i, BD(BD(!a ? this.i = JD(this.c, 171) ? new $f(this, BD(this.c, 171)) : JD(this.c, 161) ? new Yf(this, BD(this.c, 161)) : new zf(this, this.c) : a, 84), 271);\n };\n _2.bc = function qi() {\n return JD(this.c, 171) ? new $f(this, BD(this.c, 171)) : JD(this.c, 161) ? new Yf(this, BD(this.c, 161)) : new zf(this, this.c);\n };\n mdb(Zhe, \"AbstractSortedKeySortedSetMultimap\", 1658);\n bcb(2010, 1, { 1947: 1 });\n _2.Fb = function si(a) {\n return zy(this, a);\n };\n _2.Hb = function ti() {\n var a;\n return pmb((a = this.g, !a ? this.g = new vi(this) : a));\n };\n _2.Ib = function ui() {\n var a;\n return Md((a = this.f, !a ? this.f = new Rj(this) : a));\n };\n mdb(Zhe, \"AbstractTable\", 2010);\n bcb(665, eie, fie, vi);\n _2.$b = function wi() {\n Pi();\n };\n _2.Hc = function xi(a) {\n var b, c2;\n if (JD(a, 468)) {\n b = BD(a, 682);\n c2 = BD(Hv(Vi(this.a), Em(b.c.e, b.b)), 83);\n return !!c2 && Ck(c2.vc(), new Wo(Em(b.c.c, b.a), Mi(b.c, b.b, b.a)));\n }\n return false;\n };\n _2.Kc = function yi() {\n return Ni(this.a);\n };\n _2.Mc = function zi(a) {\n var b, c2;\n if (JD(a, 468)) {\n b = BD(a, 682);\n c2 = BD(Hv(Vi(this.a), Em(b.c.e, b.b)), 83);\n return !!c2 && Dk(c2.vc(), new Wo(Em(b.c.c, b.a), Mi(b.c, b.b, b.a)));\n }\n return false;\n };\n _2.gc = function Ai() {\n return Xi(this.a);\n };\n _2.Nc = function Bi() {\n return Oi(this.a);\n };\n mdb(Zhe, \"AbstractTable/CellSet\", 665);\n bcb(1928, 28, die, Ci);\n _2.$b = function Di() {\n Pi();\n };\n _2.Hc = function Ei(a) {\n return Qi(this.a, a);\n };\n _2.Kc = function Fi() {\n return Zi(this.a);\n };\n _2.gc = function Gi() {\n return Xi(this.a);\n };\n _2.Nc = function Hi() {\n return $i(this.a);\n };\n mdb(Zhe, \"AbstractTable/Values\", 1928);\n bcb(1632, 1631, _he);\n mdb(Zhe, \"ArrayListMultimapGwtSerializationDependencies\", 1632);\n bcb(513, 1632, _he, Ji, Ki);\n _2.hc = function Li() {\n return new Skb(this.a);\n };\n _2.a = 0;\n mdb(Zhe, \"ArrayListMultimap\", 513);\n bcb(664, 2010, { 664: 1, 1947: 1, 3: 1 }, _i);\n mdb(Zhe, \"ArrayTable\", 664);\n bcb(1924, 386, $he, aj);\n _2.Xb = function bj(a) {\n return new hj(this.a, a);\n };\n mdb(Zhe, \"ArrayTable/1\", 1924);\n bcb(1925, 1, {}, cj);\n _2.ld = function dj(a) {\n return new hj(this.a, a);\n };\n mdb(Zhe, \"ArrayTable/1methodref$getCell$Type\", 1925);\n bcb(2011, 1, { 682: 1 });\n _2.Fb = function ej(a) {\n var b;\n if (a === this) {\n return true;\n }\n if (JD(a, 468)) {\n b = BD(a, 682);\n return Hb(Em(this.c.e, this.b), Em(b.c.e, b.b)) && Hb(Em(this.c.c, this.a), Em(b.c.c, b.a)) && Hb(Mi(this.c, this.b, this.a), Mi(b.c, b.b, b.a));\n }\n return false;\n };\n _2.Hb = function fj() {\n return Hlb(OC(GC(SI, 1), Uhe, 1, 5, [Em(this.c.e, this.b), Em(this.c.c, this.a), Mi(this.c, this.b, this.a)]));\n };\n _2.Ib = function gj() {\n return \"(\" + Em(this.c.e, this.b) + \",\" + Em(this.c.c, this.a) + \")=\" + Mi(this.c, this.b, this.a);\n };\n mdb(Zhe, \"Tables/AbstractCell\", 2011);\n bcb(468, 2011, { 468: 1, 682: 1 }, hj);\n _2.a = 0;\n _2.b = 0;\n _2.d = 0;\n mdb(Zhe, \"ArrayTable/2\", 468);\n bcb(1927, 1, {}, ij);\n _2.ld = function jj(a) {\n return Ti(this.a, a);\n };\n mdb(Zhe, \"ArrayTable/2methodref$getValue$Type\", 1927);\n bcb(1926, 386, $he, kj);\n _2.Xb = function lj(a) {\n return Ti(this.a, a);\n };\n mdb(Zhe, \"ArrayTable/3\", 1926);\n bcb(1979, 1967, cie);\n _2.$b = function nj() {\n ir(this.kc());\n };\n _2.vc = function oj() {\n return new Sv(this);\n };\n _2.lc = function pj() {\n return new Mub(this.kc(), this.gc());\n };\n mdb(Zhe, \"Maps/IteratorBasedAbstractMap\", 1979);\n bcb(828, 1979, cie);\n _2.$b = function tj() {\n throw vbb(new bgb());\n };\n _2._b = function uj(a) {\n return sn(this.c, a);\n };\n _2.kc = function vj() {\n return new Jj(this, this.c.b.c.gc());\n };\n _2.lc = function wj() {\n return Zj(this.c.b.c.gc(), 16, new Dj(this));\n };\n _2.xc = function xj(a) {\n var b;\n b = BD(tn(this.c, a), 19);\n return !b ? null : this.nd(b.a);\n };\n _2.dc = function yj() {\n return this.c.b.c.dc();\n };\n _2.ec = function zj() {\n return Xm(this.c);\n };\n _2.zc = function Aj(a, b) {\n var c2;\n c2 = BD(tn(this.c, a), 19);\n if (!c2) {\n throw vbb(new Wdb(this.md() + \" \" + a + \" not in \" + Xm(this.c)));\n }\n return this.od(c2.a, b);\n };\n _2.Bc = function Bj(a) {\n throw vbb(new bgb());\n };\n _2.gc = function Cj() {\n return this.c.b.c.gc();\n };\n mdb(Zhe, \"ArrayTable/ArrayMap\", 828);\n bcb(1923, 1, {}, Dj);\n _2.ld = function Ej(a) {\n return qj(this.a, a);\n };\n mdb(Zhe, \"ArrayTable/ArrayMap/0methodref$getEntry$Type\", 1923);\n bcb(1921, 345, kie, Fj);\n _2.cd = function Gj() {\n return rj(this.a, this.b);\n };\n _2.dd = function Hj() {\n return this.a.nd(this.b);\n };\n _2.ed = function Ij(a) {\n return this.a.od(this.b, a);\n };\n _2.b = 0;\n mdb(Zhe, \"ArrayTable/ArrayMap/1\", 1921);\n bcb(1922, 386, $he, Jj);\n _2.Xb = function Kj(a) {\n return qj(this.a, a);\n };\n mdb(Zhe, \"ArrayTable/ArrayMap/2\", 1922);\n bcb(1920, 828, cie, Lj);\n _2.md = function Mj() {\n return \"Column\";\n };\n _2.nd = function Nj(a) {\n return Mi(this.b, this.a, a);\n };\n _2.od = function Oj(a, b) {\n return Wi(this.b, this.a, a, b);\n };\n _2.a = 0;\n mdb(Zhe, \"ArrayTable/Row\", 1920);\n bcb(829, 828, cie, Rj);\n _2.nd = function Tj(a) {\n return new Lj(this.a, a);\n };\n _2.zc = function Uj(a, b) {\n return BD(b, 83), Pj();\n };\n _2.od = function Vj(a, b) {\n return BD(b, 83), Qj();\n };\n _2.md = function Sj() {\n return \"Row\";\n };\n mdb(Zhe, \"ArrayTable/RowMap\", 829);\n bcb(1120, 1, pie, _j);\n _2.qd = function ak() {\n return this.a.qd() & -262;\n };\n _2.rd = function bk() {\n return this.a.rd();\n };\n _2.Nb = function ck(a) {\n this.a.Nb(new gk(a, this.b));\n };\n _2.sd = function dk(a) {\n return this.a.sd(new ek(a, this.b));\n };\n mdb(Zhe, \"CollectSpliterators/1\", 1120);\n bcb(1121, 1, qie, ek);\n _2.td = function fk(a) {\n this.a.td(this.b.Kb(a));\n };\n mdb(Zhe, \"CollectSpliterators/1/lambda$0$Type\", 1121);\n bcb(1122, 1, qie, gk);\n _2.td = function hk(a) {\n this.a.td(this.b.Kb(a));\n };\n mdb(Zhe, \"CollectSpliterators/1/lambda$1$Type\", 1122);\n bcb(1123, 1, pie, jk);\n _2.qd = function kk() {\n return this.a;\n };\n _2.rd = function lk() {\n !!this.d && (this.b = Deb(this.b, this.d.rd()));\n return Deb(this.b, 0);\n };\n _2.Nb = function mk(a) {\n if (this.d) {\n this.d.Nb(a);\n this.d = null;\n }\n this.c.Nb(new rk(this.e, a));\n this.b = 0;\n };\n _2.sd = function ok(a) {\n while (true) {\n if (!!this.d && this.d.sd(a)) {\n Kbb(this.b, rie) && (this.b = Qbb(this.b, 1));\n return true;\n } else {\n this.d = null;\n }\n if (!this.c.sd(new pk(this, this.e))) {\n return false;\n }\n }\n };\n _2.a = 0;\n _2.b = 0;\n mdb(Zhe, \"CollectSpliterators/1FlatMapSpliterator\", 1123);\n bcb(1124, 1, qie, pk);\n _2.td = function qk(a) {\n ik(this.a, this.b, a);\n };\n mdb(Zhe, \"CollectSpliterators/1FlatMapSpliterator/lambda$0$Type\", 1124);\n bcb(1125, 1, qie, rk);\n _2.td = function sk(a) {\n nk(this.b, this.a, a);\n };\n mdb(Zhe, \"CollectSpliterators/1FlatMapSpliterator/lambda$1$Type\", 1125);\n bcb(1117, 1, pie, tk);\n _2.qd = function uk() {\n return 16464 | this.b;\n };\n _2.rd = function vk() {\n return this.a.rd();\n };\n _2.Nb = function wk(a) {\n this.a.xe(new Ak(a, this.c));\n };\n _2.sd = function xk(a) {\n return this.a.ye(new yk(a, this.c));\n };\n _2.b = 0;\n mdb(Zhe, \"CollectSpliterators/1WithCharacteristics\", 1117);\n bcb(1118, 1, sie, yk);\n _2.ud = function zk(a) {\n this.a.td(this.b.ld(a));\n };\n mdb(Zhe, \"CollectSpliterators/1WithCharacteristics/lambda$0$Type\", 1118);\n bcb(1119, 1, sie, Ak);\n _2.ud = function Bk(a) {\n this.a.td(this.b.ld(a));\n };\n mdb(Zhe, \"CollectSpliterators/1WithCharacteristics/lambda$1$Type\", 1119);\n bcb(245, 1, tie);\n _2.wd = function Hk(a) {\n return this.vd(BD(a, 245));\n };\n _2.vd = function Gk(a) {\n var b;\n if (a == (_k(), $k)) {\n return 1;\n }\n if (a == (Lk(), Kk)) {\n return -1;\n }\n b = (ex(), Fcb(this.a, a.a));\n if (b != 0) {\n return b;\n }\n return JD(this, 519) == JD(a, 519) ? 0 : JD(this, 519) ? 1 : -1;\n };\n _2.zd = function Ik() {\n return this.a;\n };\n _2.Fb = function Jk(a) {\n return Ek(this, a);\n };\n mdb(Zhe, \"Cut\", 245);\n bcb(1761, 245, tie, Mk);\n _2.vd = function Nk(a) {\n return a == this ? 0 : 1;\n };\n _2.xd = function Ok(a) {\n throw vbb(new xcb());\n };\n _2.yd = function Pk(a) {\n a.a += \"+∞)\";\n };\n _2.zd = function Qk() {\n throw vbb(new Zdb(uie));\n };\n _2.Hb = function Rk() {\n return Zfb(), kCb(this);\n };\n _2.Ad = function Sk(a) {\n return false;\n };\n _2.Ib = function Tk() {\n return \"+∞\";\n };\n var Kk;\n mdb(Zhe, \"Cut/AboveAll\", 1761);\n bcb(519, 245, { 245: 1, 519: 1, 3: 1, 35: 1 }, Uk);\n _2.xd = function Vk(a) {\n Pfb((a.a += \"(\", a), this.a);\n };\n _2.yd = function Wk(a) {\n Kfb(Pfb(a, this.a), 93);\n };\n _2.Hb = function Xk() {\n return ~tb(this.a);\n };\n _2.Ad = function Yk(a) {\n return ex(), Fcb(this.a, a) < 0;\n };\n _2.Ib = function Zk() {\n return \"/\" + this.a + \"\\\\\";\n };\n mdb(Zhe, \"Cut/AboveValue\", 519);\n bcb(1760, 245, tie, al);\n _2.vd = function bl(a) {\n return a == this ? 0 : -1;\n };\n _2.xd = function cl(a) {\n a.a += \"(-∞\";\n };\n _2.yd = function dl(a) {\n throw vbb(new xcb());\n };\n _2.zd = function el() {\n throw vbb(new Zdb(uie));\n };\n _2.Hb = function fl() {\n return Zfb(), kCb(this);\n };\n _2.Ad = function gl(a) {\n return true;\n };\n _2.Ib = function hl() {\n return \"-∞\";\n };\n var $k;\n mdb(Zhe, \"Cut/BelowAll\", 1760);\n bcb(1762, 245, tie, il);\n _2.xd = function jl(a) {\n Pfb((a.a += \"[\", a), this.a);\n };\n _2.yd = function kl(a) {\n Kfb(Pfb(a, this.a), 41);\n };\n _2.Hb = function ll() {\n return tb(this.a);\n };\n _2.Ad = function ml(a) {\n return ex(), Fcb(this.a, a) <= 0;\n };\n _2.Ib = function nl() {\n return \"\\\\\" + this.a + \"/\";\n };\n mdb(Zhe, \"Cut/BelowValue\", 1762);\n bcb(537, 1, vie);\n _2.Jc = function ql(a) {\n reb(this, a);\n };\n _2.Ib = function rl() {\n return tr(BD(Rb(this, \"use Optional.orNull() instead of Optional.or(null)\"), 20).Kc());\n };\n mdb(Zhe, \"FluentIterable\", 537);\n bcb(433, 537, vie, sl);\n _2.Kc = function tl() {\n return new Sr(ur(this.a.Kc(), new Sq()));\n };\n mdb(Zhe, \"FluentIterable/2\", 433);\n bcb(1046, 537, vie, vl);\n _2.Kc = function wl() {\n return ul(this);\n };\n mdb(Zhe, \"FluentIterable/3\", 1046);\n bcb(708, 386, $he, xl);\n _2.Xb = function yl(a) {\n return this.a[a].Kc();\n };\n mdb(Zhe, \"FluentIterable/3/1\", 708);\n bcb(1972, 1, {});\n _2.Ib = function zl() {\n return fcb(this.Bd().b);\n };\n mdb(Zhe, \"ForwardingObject\", 1972);\n bcb(1973, 1972, wie);\n _2.Bd = function Fl() {\n return this.Cd();\n };\n _2.Jc = function Gl(a) {\n reb(this, a);\n };\n _2.Lc = function Jl() {\n return this.Oc();\n };\n _2.Nc = function Ml() {\n return new Kub(this, 0);\n };\n _2.Oc = function Nl() {\n return new YAb(null, this.Nc());\n };\n _2.Fc = function Al(a) {\n return this.Cd(), enb();\n };\n _2.Gc = function Bl(a) {\n return this.Cd(), fnb();\n };\n _2.$b = function Cl() {\n this.Cd(), gnb();\n };\n _2.Hc = function Dl(a) {\n return this.Cd().Hc(a);\n };\n _2.Ic = function El(a) {\n return this.Cd().Ic(a);\n };\n _2.dc = function Hl() {\n return this.Cd().b.dc();\n };\n _2.Kc = function Il() {\n return this.Cd().Kc();\n };\n _2.Mc = function Kl(a) {\n return this.Cd(), jnb();\n };\n _2.gc = function Ll() {\n return this.Cd().b.gc();\n };\n _2.Pc = function Ol() {\n return this.Cd().Pc();\n };\n _2.Qc = function Pl(a) {\n return this.Cd().Qc(a);\n };\n mdb(Zhe, \"ForwardingCollection\", 1973);\n bcb(1980, 28, xie);\n _2.Kc = function Xl() {\n return this.Ed();\n };\n _2.Fc = function Sl(a) {\n throw vbb(new bgb());\n };\n _2.Gc = function Tl(a) {\n throw vbb(new bgb());\n };\n _2.$b = function Ul() {\n throw vbb(new bgb());\n };\n _2.Hc = function Vl(a) {\n return a != null && ze(this, a, false);\n };\n _2.Dd = function Wl() {\n switch (this.gc()) {\n case 0:\n return im(), im(), hm;\n case 1:\n return im(), new my(Qb(this.Ed().Pb()));\n default:\n return new px(this, this.Pc());\n }\n };\n _2.Mc = function Yl(a) {\n throw vbb(new bgb());\n };\n mdb(Zhe, \"ImmutableCollection\", 1980);\n bcb(712, 1980, xie, Zl);\n _2.Kc = function cm() {\n return vr(this.a.Kc());\n };\n _2.Hc = function $l(a) {\n return a != null && this.a.Hc(a);\n };\n _2.Ic = function _l(a) {\n return this.a.Ic(a);\n };\n _2.dc = function am() {\n return this.a.dc();\n };\n _2.Ed = function bm() {\n return vr(this.a.Kc());\n };\n _2.gc = function dm() {\n return this.a.gc();\n };\n _2.Pc = function em() {\n return this.a.Pc();\n };\n _2.Qc = function fm(a) {\n return this.a.Qc(a);\n };\n _2.Ib = function gm() {\n return fcb(this.a);\n };\n mdb(Zhe, \"ForwardingImmutableCollection\", 712);\n bcb(152, 1980, yie);\n _2.Kc = function sm() {\n return this.Ed();\n };\n _2.Yc = function tm() {\n return this.Fd(0);\n };\n _2.Zc = function vm(a) {\n return this.Fd(a);\n };\n _2.ad = function zm(a) {\n ktb(this, a);\n };\n _2.Nc = function Am() {\n return new Kub(this, 16);\n };\n _2.bd = function Cm(a, b) {\n return this.Gd(a, b);\n };\n _2.Vc = function lm(a, b) {\n throw vbb(new bgb());\n };\n _2.Wc = function mm(a, b) {\n throw vbb(new bgb());\n };\n _2.Fb = function om(a) {\n return Ju(this, a);\n };\n _2.Hb = function pm() {\n return Ku(this);\n };\n _2.Xc = function qm(a) {\n return a == null ? -1 : Lu(this, a);\n };\n _2.Ed = function rm() {\n return this.Fd(0);\n };\n _2.Fd = function um(a) {\n return jm(this, a);\n };\n _2.$c = function xm(a) {\n throw vbb(new bgb());\n };\n _2._c = function ym(a, b) {\n throw vbb(new bgb());\n };\n _2.Gd = function Bm(a, b) {\n var c2;\n return Dm((c2 = new $u(this), new Jib(c2, a, b)));\n };\n var hm;\n mdb(Zhe, \"ImmutableList\", 152);\n bcb(2006, 152, yie);\n _2.Kc = function Nm() {\n return vr(this.Hd().Kc());\n };\n _2.bd = function Qm(a, b) {\n return Dm(this.Hd().bd(a, b));\n };\n _2.Hc = function Fm(a) {\n return a != null && this.Hd().Hc(a);\n };\n _2.Ic = function Gm(a) {\n return this.Hd().Ic(a);\n };\n _2.Fb = function Hm(a) {\n return pb(this.Hd(), a);\n };\n _2.Xb = function Im(a) {\n return Em(this, a);\n };\n _2.Hb = function Jm() {\n return tb(this.Hd());\n };\n _2.Xc = function Km(a) {\n return this.Hd().Xc(a);\n };\n _2.dc = function Lm() {\n return this.Hd().dc();\n };\n _2.Ed = function Mm() {\n return vr(this.Hd().Kc());\n };\n _2.gc = function Om() {\n return this.Hd().gc();\n };\n _2.Gd = function Pm(a, b) {\n return Dm(this.Hd().bd(a, b));\n };\n _2.Pc = function Rm() {\n return this.Hd().Qc(KC(SI, Uhe, 1, this.Hd().gc(), 5, 1));\n };\n _2.Qc = function Sm(a) {\n return this.Hd().Qc(a);\n };\n _2.Ib = function Tm() {\n return fcb(this.Hd());\n };\n mdb(Zhe, \"ForwardingImmutableList\", 2006);\n bcb(714, 1, Aie);\n _2.vc = function cn() {\n return Wm(this);\n };\n _2.wc = function en(a) {\n stb(this, a);\n };\n _2.ec = function jn() {\n return Xm(this);\n };\n _2.yc = function kn(a, b, c2) {\n return ttb(this, a, b, c2);\n };\n _2.Cc = function rn() {\n return this.Ld();\n };\n _2.$b = function Zm() {\n throw vbb(new bgb());\n };\n _2._b = function $m(a) {\n return this.xc(a) != null;\n };\n _2.uc = function _m(a) {\n return this.Ld().Hc(a);\n };\n _2.Jd = function an() {\n return new jq(this);\n };\n _2.Kd = function bn() {\n return new sq(this);\n };\n _2.Fb = function dn(a) {\n return Dv(this, a);\n };\n _2.Hb = function gn() {\n return Wm(this).Hb();\n };\n _2.dc = function hn() {\n return this.gc() == 0;\n };\n _2.zc = function nn(a, b) {\n return Ym();\n };\n _2.Bc = function on(a) {\n throw vbb(new bgb());\n };\n _2.Ib = function pn() {\n return Jv(this);\n };\n _2.Ld = function qn() {\n if (this.e) {\n return this.e;\n }\n return this.e = this.Kd();\n };\n _2.c = null;\n _2.d = null;\n _2.e = null;\n var Um;\n mdb(Zhe, \"ImmutableMap\", 714);\n bcb(715, 714, Aie);\n _2._b = function vn(a) {\n return sn(this, a);\n };\n _2.uc = function wn(a) {\n return dob(this.b, a);\n };\n _2.Id = function xn() {\n return Vn(new Ln(this));\n };\n _2.Jd = function yn() {\n return Vn(gob(this.b));\n };\n _2.Kd = function zn() {\n return Ql(), new Zl(hob(this.b));\n };\n _2.Fb = function An(a) {\n return fob(this.b, a);\n };\n _2.xc = function Bn(a) {\n return tn(this, a);\n };\n _2.Hb = function Cn() {\n return tb(this.b.c);\n };\n _2.dc = function Dn() {\n return this.b.c.dc();\n };\n _2.gc = function En() {\n return this.b.c.gc();\n };\n _2.Ib = function Fn() {\n return fcb(this.b.c);\n };\n mdb(Zhe, \"ForwardingImmutableMap\", 715);\n bcb(1974, 1973, Bie);\n _2.Bd = function Gn() {\n return this.Md();\n };\n _2.Cd = function Hn() {\n return this.Md();\n };\n _2.Nc = function Kn() {\n return new Kub(this, 1);\n };\n _2.Fb = function In(a) {\n return a === this || this.Md().Fb(a);\n };\n _2.Hb = function Jn() {\n return this.Md().Hb();\n };\n mdb(Zhe, \"ForwardingSet\", 1974);\n bcb(1069, 1974, Bie, Ln);\n _2.Bd = function Nn() {\n return eob(this.a.b);\n };\n _2.Cd = function On() {\n return eob(this.a.b);\n };\n _2.Hc = function Mn(b) {\n if (JD(b, 42) && BD(b, 42).cd() == null) {\n return false;\n }\n try {\n return Dob(eob(this.a.b), b);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 205)) {\n return false;\n } else\n throw vbb(a);\n }\n };\n _2.Md = function Pn() {\n return eob(this.a.b);\n };\n _2.Qc = function Qn(a) {\n var b;\n b = Eob(eob(this.a.b), a);\n eob(this.a.b).b.gc() < b.length && NC(b, eob(this.a.b).b.gc(), null);\n return b;\n };\n mdb(Zhe, \"ForwardingImmutableMap/1\", 1069);\n bcb(1981, 1980, Cie);\n _2.Kc = function Tn() {\n return this.Ed();\n };\n _2.Nc = function Un() {\n return new Kub(this, 1);\n };\n _2.Fb = function Rn(a) {\n return Ax(this, a);\n };\n _2.Hb = function Sn() {\n return Bx(this);\n };\n mdb(Zhe, \"ImmutableSet\", 1981);\n bcb(703, 1981, Cie);\n _2.Kc = function ao() {\n return vr(new Dnb(this.a.b.Kc()));\n };\n _2.Hc = function Xn2(a) {\n return a != null && hnb(this.a, a);\n };\n _2.Ic = function Yn2(a) {\n return inb(this.a, a);\n };\n _2.Hb = function Zn2() {\n return tb(this.a.b);\n };\n _2.dc = function $n() {\n return this.a.b.dc();\n };\n _2.Ed = function _n() {\n return vr(new Dnb(this.a.b.Kc()));\n };\n _2.gc = function bo() {\n return this.a.b.gc();\n };\n _2.Pc = function co() {\n return this.a.b.Pc();\n };\n _2.Qc = function eo(a) {\n return knb(this.a, a);\n };\n _2.Ib = function fo() {\n return fcb(this.a.b);\n };\n mdb(Zhe, \"ForwardingImmutableSet\", 703);\n bcb(1975, 1974, Die);\n _2.Bd = function go() {\n return this.b;\n };\n _2.Cd = function ho() {\n return this.b;\n };\n _2.Md = function io() {\n return this.b;\n };\n _2.Nc = function jo() {\n return new Rub(this);\n };\n mdb(Zhe, \"ForwardingSortedSet\", 1975);\n bcb(533, 1979, Aie, wo);\n _2.Ac = function Fo(a) {\n Ld(this, a);\n };\n _2.Cc = function Io() {\n var a;\n return a = this.d, new up(!a ? this.d = new ap(this) : a);\n };\n _2.$b = function xo() {\n ko(this);\n };\n _2._b = function yo(a) {\n return !!uo(this, a, Tbb(Ibb(Eie, keb(Tbb(Ibb(a == null ? 0 : tb(a), Fie)), 15))));\n };\n _2.uc = function zo(a) {\n return lo(this, a);\n };\n _2.kc = function Ao() {\n return new Qo(this, this);\n };\n _2.wc = function Bo(a) {\n no(this, a);\n };\n _2.xc = function Co(a) {\n return oo(this, a);\n };\n _2.ec = function Do() {\n return new Bp(this);\n };\n _2.zc = function Eo(a, b) {\n return ro(this, a, b);\n };\n _2.Bc = function Go(a) {\n var b;\n b = uo(this, a, Tbb(Ibb(Eie, keb(Tbb(Ibb(a == null ? 0 : tb(a), Fie)), 15))));\n if (!b) {\n return null;\n } else {\n mo(this, b);\n b.e = null;\n b.c = null;\n return b.i;\n }\n };\n _2.gc = function Ho() {\n return this.i;\n };\n _2.pd = function Jo() {\n var a;\n return a = this.d, new up(!a ? this.d = new ap(this) : a);\n };\n _2.f = 0;\n _2.g = 0;\n _2.i = 0;\n mdb(Zhe, \"HashBiMap\", 533);\n bcb(534, 1, aie);\n _2.Nb = function Mo(a) {\n Rrb(this, a);\n };\n _2.Ob = function No() {\n return Ko(this);\n };\n _2.Pb = function Oo() {\n var a;\n if (!Ko(this)) {\n throw vbb(new utb());\n }\n a = this.c;\n this.c = a.c;\n this.f = a;\n --this.d;\n return this.Nd(a);\n };\n _2.Qb = function Po() {\n if (this.e.g != this.b) {\n throw vbb(new Apb());\n }\n Vb(!!this.f);\n mo(this.e, this.f);\n this.b = this.e.g;\n this.f = null;\n };\n _2.b = 0;\n _2.d = 0;\n _2.f = null;\n mdb(Zhe, \"HashBiMap/Itr\", 534);\n bcb(1011, 534, aie, Qo);\n _2.Nd = function Ro(a) {\n return new So(this, a);\n };\n mdb(Zhe, \"HashBiMap/1\", 1011);\n bcb(1012, 345, kie, So);\n _2.cd = function To() {\n return this.a.g;\n };\n _2.dd = function Uo() {\n return this.a.i;\n };\n _2.ed = function Vo(a) {\n var b, c2, d;\n c2 = this.a.i;\n d = Tbb(Ibb(Eie, keb(Tbb(Ibb(a == null ? 0 : tb(a), Fie)), 15)));\n if (d == this.a.f && (PD(a) === PD(c2) || a != null && pb(a, c2))) {\n return a;\n }\n Nb(!vo(this.b.a, a, d), a);\n mo(this.b.a, this.a);\n b = new $o(this.a.g, this.a.a, a, d);\n po(this.b.a, b, this.a);\n this.a.e = null;\n this.a.c = null;\n this.b.b = this.b.a.g;\n this.b.f == this.a && (this.b.f = b);\n this.a = b;\n return c2;\n };\n mdb(Zhe, \"HashBiMap/1/MapEntry\", 1012);\n bcb(238, 345, { 345: 1, 238: 1, 3: 1, 42: 1 }, Wo);\n _2.cd = function Xo() {\n return this.g;\n };\n _2.dd = function Yo() {\n return this.i;\n };\n _2.ed = function Zo(a) {\n throw vbb(new bgb());\n };\n mdb(Zhe, \"ImmutableEntry\", 238);\n bcb(317, 238, { 345: 1, 317: 1, 238: 1, 3: 1, 42: 1 }, $o);\n _2.a = 0;\n _2.f = 0;\n var GF = mdb(Zhe, \"HashBiMap/BiEntry\", 317);\n bcb(610, 1979, Aie, ap);\n _2.Ac = function jp(a) {\n Ld(this, a);\n };\n _2.Cc = function mp() {\n return new Bp(this.a);\n };\n _2.$b = function bp() {\n ko(this.a);\n };\n _2._b = function cp(a) {\n return lo(this.a, a);\n };\n _2.kc = function dp() {\n return new op(this, this.a);\n };\n _2.wc = function ep(a) {\n Qb(a);\n no(this.a, new zp(a));\n };\n _2.xc = function fp(a) {\n return _o(this, a);\n };\n _2.ec = function gp() {\n return new up(this);\n };\n _2.zc = function ip(a, b) {\n return so(this.a, a, b, false);\n };\n _2.Bc = function kp(a) {\n var b;\n b = vo(this.a, a, Tbb(Ibb(Eie, keb(Tbb(Ibb(a == null ? 0 : tb(a), Fie)), 15))));\n if (!b) {\n return null;\n } else {\n mo(this.a, b);\n b.e = null;\n b.c = null;\n return b.g;\n }\n };\n _2.gc = function lp() {\n return this.a.i;\n };\n _2.pd = function np() {\n return new Bp(this.a);\n };\n mdb(Zhe, \"HashBiMap/Inverse\", 610);\n bcb(1008, 534, aie, op);\n _2.Nd = function pp(a) {\n return new qp(this, a);\n };\n mdb(Zhe, \"HashBiMap/Inverse/1\", 1008);\n bcb(1009, 345, kie, qp);\n _2.cd = function rp() {\n return this.a.i;\n };\n _2.dd = function sp() {\n return this.a.g;\n };\n _2.ed = function tp(a) {\n var b, c2, d;\n d = this.a.g;\n b = Tbb(Ibb(Eie, keb(Tbb(Ibb(a == null ? 0 : tb(a), Fie)), 15)));\n if (b == this.a.a && (PD(a) === PD(d) || a != null && pb(a, d))) {\n return a;\n }\n Nb(!uo(this.b.a.a, a, b), a);\n mo(this.b.a.a, this.a);\n c2 = new $o(a, b, this.a.i, this.a.f);\n this.a = c2;\n po(this.b.a.a, c2, null);\n this.b.b = this.b.a.a.g;\n return d;\n };\n mdb(Zhe, \"HashBiMap/Inverse/1/InverseEntry\", 1009);\n bcb(611, 532, fie, up);\n _2.Kc = function vp() {\n return new xp(this.a.a);\n };\n _2.Mc = function wp(a) {\n var b;\n b = vo(this.a.a, a, Tbb(Ibb(Eie, keb(Tbb(Ibb(a == null ? 0 : tb(a), Fie)), 15))));\n if (!b) {\n return false;\n } else {\n mo(this.a.a, b);\n return true;\n }\n };\n mdb(Zhe, \"HashBiMap/Inverse/InverseKeySet\", 611);\n bcb(1007, 534, aie, xp);\n _2.Nd = function yp(a) {\n return a.i;\n };\n mdb(Zhe, \"HashBiMap/Inverse/InverseKeySet/1\", 1007);\n bcb(1010, 1, {}, zp);\n _2.Od = function Ap(a, b) {\n hp(this.a, a, b);\n };\n mdb(Zhe, \"HashBiMap/Inverse/lambda$0$Type\", 1010);\n bcb(609, 532, fie, Bp);\n _2.Kc = function Cp() {\n return new Ep(this.a);\n };\n _2.Mc = function Dp(a) {\n var b;\n b = uo(this.a, a, Tbb(Ibb(Eie, keb(Tbb(Ibb(a == null ? 0 : tb(a), Fie)), 15))));\n if (!b) {\n return false;\n } else {\n mo(this.a, b);\n b.e = null;\n b.c = null;\n return true;\n }\n };\n mdb(Zhe, \"HashBiMap/KeySet\", 609);\n bcb(1006, 534, aie, Ep);\n _2.Nd = function Fp(a) {\n return a.g;\n };\n mdb(Zhe, \"HashBiMap/KeySet/1\", 1006);\n bcb(1093, 619, _he);\n mdb(Zhe, \"HashMultimapGwtSerializationDependencies\", 1093);\n bcb(265, 1093, _he, Hp);\n _2.hc = function Ip() {\n return new Uqb(Cv(this.a));\n };\n _2.gd = function Jp() {\n return new Uqb(Cv(this.a));\n };\n _2.a = 2;\n mdb(Zhe, \"HashMultimap\", 265);\n bcb(1999, 152, yie);\n _2.Hc = function Mp(a) {\n return this.Pd().Hc(a);\n };\n _2.dc = function Np() {\n return this.Pd().dc();\n };\n _2.gc = function Op() {\n return this.Pd().gc();\n };\n mdb(Zhe, \"ImmutableAsList\", 1999);\n bcb(1931, 715, Aie);\n _2.Ld = function Qp() {\n return Ql(), new oy(this.a);\n };\n _2.Cc = function Rp() {\n return Ql(), new oy(this.a);\n };\n _2.pd = function Sp() {\n return Ql(), new oy(this.a);\n };\n mdb(Zhe, \"ImmutableBiMap\", 1931);\n bcb(1977, 1, {});\n mdb(Zhe, \"ImmutableCollection/Builder\", 1977);\n bcb(1022, 703, Cie, Tp);\n mdb(Zhe, \"ImmutableEnumSet\", 1022);\n bcb(969, 386, $he, Vp);\n _2.Xb = function Wp(a) {\n return this.a.Xb(a);\n };\n mdb(Zhe, \"ImmutableList/1\", 969);\n bcb(968, 1977, {}, Xp);\n mdb(Zhe, \"ImmutableList/Builder\", 968);\n bcb(614, 198, Yhe, Yp);\n _2.Ob = function Zp() {\n return this.a.Ob();\n };\n _2.Pb = function $p() {\n return BD(this.a.Pb(), 42).cd();\n };\n mdb(Zhe, \"ImmutableMap/1\", 614);\n bcb(1041, 1, {}, _p);\n _2.Kb = function aq(a) {\n return BD(a, 42).cd();\n };\n mdb(Zhe, \"ImmutableMap/2methodref$getKey$Type\", 1041);\n bcb(1040, 1, {}, cq);\n mdb(Zhe, \"ImmutableMap/Builder\", 1040);\n bcb(2e3, 1981, Cie);\n _2.Kc = function gq() {\n var a;\n return a = Wm(this.a).Ed(), new Yp(a);\n };\n _2.Dd = function dq() {\n return new Fq(this);\n };\n _2.Jc = function eq2(a) {\n var b, c2;\n Qb(a);\n c2 = this.gc();\n for (b = 0; b < c2; b++) {\n a.td(BD(Rl(Wm(this.a)).Xb(b), 42).cd());\n }\n };\n _2.Ed = function fq() {\n var a;\n return (a = this.c, !a ? this.c = new Fq(this) : a).Ed();\n };\n _2.Nc = function hq() {\n return Zj(this.gc(), 1296, new Dq(this));\n };\n mdb(Zhe, \"IndexedImmutableSet\", 2e3);\n bcb(1180, 2e3, Cie, jq);\n _2.Kc = function nq() {\n var a;\n return a = Wm(this.a).Ed(), new Yp(a);\n };\n _2.Hc = function kq(a) {\n return this.a._b(a);\n };\n _2.Jc = function lq(a) {\n Qb(a);\n stb(this.a, new qq(a));\n };\n _2.Ed = function mq() {\n var a;\n return a = Wm(this.a).Ed(), new Yp(a);\n };\n _2.gc = function oq() {\n return this.a.gc();\n };\n _2.Nc = function pq() {\n return $j(Wm(this.a).Nc(), new _p());\n };\n mdb(Zhe, \"ImmutableMapKeySet\", 1180);\n bcb(1181, 1, {}, qq);\n _2.Od = function rq(a, b) {\n Ql();\n this.a.td(a);\n };\n mdb(Zhe, \"ImmutableMapKeySet/lambda$0$Type\", 1181);\n bcb(1178, 1980, xie, sq);\n _2.Kc = function vq() {\n return new Aq(this);\n };\n _2.Hc = function tq(a) {\n return a != null && jr(new Aq(this), a);\n };\n _2.Ed = function uq() {\n return new Aq(this);\n };\n _2.gc = function wq() {\n return this.a.gc();\n };\n _2.Nc = function xq() {\n return $j(Wm(this.a).Nc(), new yq());\n };\n mdb(Zhe, \"ImmutableMapValues\", 1178);\n bcb(1179, 1, {}, yq);\n _2.Kb = function zq(a) {\n return BD(a, 42).dd();\n };\n mdb(Zhe, \"ImmutableMapValues/0methodref$getValue$Type\", 1179);\n bcb(626, 198, Yhe, Aq);\n _2.Ob = function Bq() {\n return this.a.Ob();\n };\n _2.Pb = function Cq() {\n return BD(this.a.Pb(), 42).dd();\n };\n mdb(Zhe, \"ImmutableMapValues/1\", 626);\n bcb(1182, 1, {}, Dq);\n _2.ld = function Eq(a) {\n return iq(this.a, a);\n };\n mdb(Zhe, \"IndexedImmutableSet/0methodref$get$Type\", 1182);\n bcb(752, 1999, yie, Fq);\n _2.Pd = function Gq() {\n return this.a;\n };\n _2.Xb = function Hq(a) {\n return iq(this.a, a);\n };\n _2.gc = function Iq() {\n return this.a.a.gc();\n };\n mdb(Zhe, \"IndexedImmutableSet/1\", 752);\n bcb(44, 1, {}, Sq);\n _2.Kb = function Tq(a) {\n return BD(a, 20).Kc();\n };\n _2.Fb = function Uq(a) {\n return this === a;\n };\n mdb(Zhe, \"Iterables/10\", 44);\n bcb(1042, 537, vie, Wq);\n _2.Jc = function Xq(a) {\n Qb(a);\n this.b.Jc(new $q(this.a, a));\n };\n _2.Kc = function Yq() {\n return Vq(this);\n };\n mdb(Zhe, \"Iterables/4\", 1042);\n bcb(1043, 1, qie, $q);\n _2.td = function _q(a) {\n Zq(this.b, this.a, a);\n };\n mdb(Zhe, \"Iterables/4/lambda$0$Type\", 1043);\n bcb(1044, 537, vie, ar);\n _2.Jc = function br(a) {\n Qb(a);\n reb(this.a, new dr(a, this.b));\n };\n _2.Kc = function cr() {\n return ur(new Fyd(this.a), this.b);\n };\n mdb(Zhe, \"Iterables/5\", 1044);\n bcb(1045, 1, qie, dr);\n _2.td = function er(a) {\n this.a.td(Gfd(a));\n };\n mdb(Zhe, \"Iterables/5/lambda$0$Type\", 1045);\n bcb(1071, 198, Yhe, wr);\n _2.Ob = function xr() {\n return this.a.Ob();\n };\n _2.Pb = function yr() {\n return this.a.Pb();\n };\n mdb(Zhe, \"Iterators/1\", 1071);\n bcb(1072, 699, Yhe, zr);\n _2.Yb = function Ar() {\n var a;\n while (this.b.Ob()) {\n a = this.b.Pb();\n if (this.a.Lb(a)) {\n return a;\n }\n }\n return this.e = 2, null;\n };\n mdb(Zhe, \"Iterators/5\", 1072);\n bcb(487, 1, aie);\n _2.Nb = function Cr(a) {\n Rrb(this, a);\n };\n _2.Ob = function Dr() {\n return this.b.Ob();\n };\n _2.Pb = function Er() {\n return this.Qd(this.b.Pb());\n };\n _2.Qb = function Fr() {\n this.b.Qb();\n };\n mdb(Zhe, \"TransformedIterator\", 487);\n bcb(1073, 487, aie, Gr);\n _2.Qd = function Hr(a) {\n return this.a.Kb(a);\n };\n mdb(Zhe, \"Iterators/6\", 1073);\n bcb(717, 198, Yhe, Ir);\n _2.Ob = function Jr() {\n return !this.a;\n };\n _2.Pb = function Kr() {\n if (this.a) {\n throw vbb(new utb());\n }\n this.a = true;\n return this.b;\n };\n _2.a = false;\n mdb(Zhe, \"Iterators/9\", 717);\n bcb(1070, 386, $he, Nr);\n _2.Xb = function Or(a) {\n return this.a[this.b + a];\n };\n _2.b = 0;\n var Lr;\n mdb(Zhe, \"Iterators/ArrayItr\", 1070);\n bcb(39, 1, { 39: 1, 47: 1 }, Sr);\n _2.Nb = function Tr(a) {\n Rrb(this, a);\n };\n _2.Ob = function Ur() {\n return Qr(this);\n };\n _2.Pb = function Vr() {\n return Rr(this);\n };\n _2.Qb = function Wr() {\n Vb(!!this.c);\n this.c.Qb();\n this.c = null;\n };\n mdb(Zhe, \"Iterators/ConcatenatedIterator\", 39);\n bcb(22, 1, { 3: 1, 35: 1, 22: 1 });\n _2.wd = function _r(a) {\n return Xr(this, BD(a, 22));\n };\n _2.Fb = function bs(a) {\n return this === a;\n };\n _2.Hb = function cs() {\n return FCb(this);\n };\n _2.Ib = function ds() {\n return Zr(this);\n };\n _2.g = 0;\n var CI = mdb(Phe, \"Enum\", 22);\n bcb(538, 22, { 538: 1, 3: 1, 35: 1, 22: 1, 47: 1 }, is);\n _2.Nb = function js(a) {\n Rrb(this, a);\n };\n _2.Ob = function ks() {\n return false;\n };\n _2.Pb = function ls() {\n throw vbb(new utb());\n };\n _2.Qb = function ms() {\n Vb(false);\n };\n var gs;\n var yG = ndb(Zhe, \"Iterators/EmptyModifiableIterator\", 538, CI, os, ns);\n var ps;\n bcb(1834, 619, _he);\n mdb(Zhe, \"LinkedHashMultimapGwtSerializationDependencies\", 1834);\n bcb(1835, 1834, _he, ss);\n _2.hc = function us() {\n return new Asb(Cv(this.b));\n };\n _2.$b = function ts() {\n Nc(this);\n As(this.a, this.a);\n };\n _2.gd = function vs() {\n return new Asb(Cv(this.b));\n };\n _2.ic = function ws(a) {\n return new Ss(this, a, this.b);\n };\n _2.kc = function xs() {\n return new Hs(this);\n };\n _2.lc = function ys() {\n var a;\n return new Kub((a = this.g, BD(!a ? this.g = new ph(this) : a, 21)), 17);\n };\n _2.ec = function zs() {\n var a;\n return a = this.i, !a ? this.i = new zf(this, this.c) : a;\n };\n _2.nc = function Cs() {\n return new Ov(new Hs(this));\n };\n _2.oc = function Ds() {\n var a;\n return $j(new Kub((a = this.g, BD(!a ? this.g = new ph(this) : a, 21)), 17), new Es());\n };\n _2.b = 2;\n mdb(Zhe, \"LinkedHashMultimap\", 1835);\n bcb(1838, 1, {}, Es);\n _2.Kb = function Fs(a) {\n return BD(a, 42).dd();\n };\n mdb(Zhe, \"LinkedHashMultimap/0methodref$getValue$Type\", 1838);\n bcb(824, 1, aie, Hs);\n _2.Nb = function Is(a) {\n Rrb(this, a);\n };\n _2.Pb = function Ks() {\n return Gs(this);\n };\n _2.Ob = function Js() {\n return this.a != this.b.a;\n };\n _2.Qb = function Ls() {\n Vb(!!this.c);\n Gc(this.b, this.c.g, this.c.i);\n this.c = null;\n };\n mdb(Zhe, \"LinkedHashMultimap/1\", 824);\n bcb(330, 238, { 345: 1, 238: 1, 330: 1, 2020: 1, 3: 1, 42: 1 }, Ms);\n _2.Rd = function Ns() {\n return this.f;\n };\n _2.Sd = function Os(a) {\n this.c = a;\n };\n _2.Td = function Ps(a) {\n this.f = a;\n };\n _2.d = 0;\n var BG = mdb(Zhe, \"LinkedHashMultimap/ValueEntry\", 330);\n bcb(1836, 1970, { 2020: 1, 20: 1, 28: 1, 14: 1, 21: 1 }, Ss);\n _2.Fc = function Ts(a) {\n var b, c2, d, e, f2;\n f2 = Tbb(Ibb(Eie, keb(Tbb(Ibb(a == null ? 0 : tb(a), Fie)), 15)));\n b = f2 & this.b.length - 1;\n e = this.b[b];\n for (c2 = e; c2; c2 = c2.a) {\n if (c2.d == f2 && Hb(c2.i, a)) {\n return false;\n }\n }\n d = new Ms(this.c, a, f2, e);\n Bs(this.d, d);\n d.f = this;\n this.d = d;\n As(this.g.a.b, d);\n As(d, this.g.a);\n this.b[b] = d;\n ++this.f;\n ++this.e;\n Qs(this);\n return true;\n };\n _2.$b = function Us() {\n var a, b;\n Alb(this.b, null);\n this.f = 0;\n for (a = this.a; a != this; a = a.Rd()) {\n b = BD(a, 330);\n As(b.b, b.e);\n }\n this.a = this;\n this.d = this;\n ++this.e;\n };\n _2.Hc = function Vs(a) {\n var b, c2;\n c2 = Tbb(Ibb(Eie, keb(Tbb(Ibb(a == null ? 0 : tb(a), Fie)), 15)));\n for (b = this.b[c2 & this.b.length - 1]; b; b = b.a) {\n if (b.d == c2 && Hb(b.i, a)) {\n return true;\n }\n }\n return false;\n };\n _2.Jc = function Ws(a) {\n var b;\n Qb(a);\n for (b = this.a; b != this; b = b.Rd()) {\n a.td(BD(b, 330).i);\n }\n };\n _2.Rd = function Xs() {\n return this.a;\n };\n _2.Kc = function Ys() {\n return new ct(this);\n };\n _2.Mc = function Zs(a) {\n return Rs(this, a);\n };\n _2.Sd = function $s(a) {\n this.d = a;\n };\n _2.Td = function _s(a) {\n this.a = a;\n };\n _2.gc = function at() {\n return this.f;\n };\n _2.e = 0;\n _2.f = 0;\n mdb(Zhe, \"LinkedHashMultimap/ValueSet\", 1836);\n bcb(1837, 1, aie, ct);\n _2.Nb = function dt(a) {\n Rrb(this, a);\n };\n _2.Ob = function et() {\n return bt(this), this.b != this.c;\n };\n _2.Pb = function ft() {\n var a, b;\n bt(this);\n if (this.b == this.c) {\n throw vbb(new utb());\n }\n a = BD(this.b, 330);\n b = a.i;\n this.d = a;\n this.b = a.f;\n return b;\n };\n _2.Qb = function gt() {\n bt(this);\n Vb(!!this.d);\n Rs(this.c, this.d.i);\n this.a = this.c.e;\n this.d = null;\n };\n _2.a = 0;\n mdb(Zhe, \"LinkedHashMultimap/ValueSet/1\", 1837);\n bcb(766, 1986, _he, mt);\n _2.Zb = function nt() {\n var a;\n return a = this.f, !a ? this.f = new jw(this) : a;\n };\n _2.Fb = function tt(a) {\n return hw(this, a);\n };\n _2.cc = function ut(a) {\n return new bu(this, a);\n };\n _2.fc = function xt(a) {\n return kt(this, a);\n };\n _2.$b = function pt() {\n it(this);\n };\n _2._b = function qt(a) {\n return jt(this, a);\n };\n _2.ac = function rt() {\n return new jw(this);\n };\n _2.bc = function st() {\n return new eu(this);\n };\n _2.qc = function vt(a) {\n return new bu(this, a);\n };\n _2.dc = function wt() {\n return !this.a;\n };\n _2.rc = function yt(a) {\n return kt(this, a);\n };\n _2.gc = function zt() {\n return this.d;\n };\n _2.c = 0;\n _2.d = 0;\n mdb(Zhe, \"LinkedListMultimap\", 766);\n bcb(52, 28, Lie);\n _2.ad = function Pt(a) {\n ktb(this, a);\n };\n _2.Nc = function Qt() {\n return new Kub(this, 16);\n };\n _2.Vc = function Ct(a, b) {\n throw vbb(new cgb(\"Add not supported on this list\"));\n };\n _2.Fc = function Dt(a) {\n this.Vc(this.gc(), a);\n return true;\n };\n _2.Wc = function Et(a, b) {\n var c2, d, e;\n uCb(b);\n c2 = false;\n for (e = b.Kc(); e.Ob(); ) {\n d = e.Pb();\n this.Vc(a++, d);\n c2 = true;\n }\n return c2;\n };\n _2.$b = function Ft() {\n this.Ud(0, this.gc());\n };\n _2.Fb = function Gt(a) {\n return At(this, a);\n };\n _2.Hb = function Ht() {\n return qmb(this);\n };\n _2.Xc = function It(a) {\n return Bt(this, a);\n };\n _2.Kc = function Jt() {\n return new vib(this);\n };\n _2.Yc = function Kt() {\n return this.Zc(0);\n };\n _2.Zc = function Lt(a) {\n return new Bib(this, a);\n };\n _2.$c = function Mt(a) {\n throw vbb(new cgb(\"Remove not supported on this list\"));\n };\n _2.Ud = function Nt(a, b) {\n var c2, d;\n d = this.Zc(a);\n for (c2 = a; c2 < b; ++c2) {\n d.Pb();\n d.Qb();\n }\n };\n _2._c = function Ot(a, b) {\n throw vbb(new cgb(\"Set not supported on this list\"));\n };\n _2.bd = function Rt(a, b) {\n return new Jib(this, a, b);\n };\n _2.j = 0;\n mdb(bie, \"AbstractList\", 52);\n bcb(1964, 52, Lie);\n _2.Vc = function Wt(a, b) {\n St(this, a, b);\n };\n _2.Wc = function Xt(a, b) {\n return Tt(this, a, b);\n };\n _2.Xb = function Yt(a) {\n return Ut(this, a);\n };\n _2.Kc = function Zt() {\n return this.Zc(0);\n };\n _2.$c = function $t(a) {\n return Vt(this, a);\n };\n _2._c = function _t(b, c2) {\n var d, e;\n d = this.Zc(b);\n try {\n e = d.Pb();\n d.Wb(c2);\n return e;\n } catch (a) {\n a = ubb(a);\n if (JD(a, 109)) {\n throw vbb(new qcb(\"Can't set element \" + b));\n } else\n throw vbb(a);\n }\n };\n mdb(bie, \"AbstractSequentialList\", 1964);\n bcb(636, 1964, Lie, bu);\n _2.Zc = function cu(a) {\n return au(this, a);\n };\n _2.gc = function du() {\n var a;\n a = BD(Ohb(this.a.b, this.b), 283);\n return !a ? 0 : a.a;\n };\n mdb(Zhe, \"LinkedListMultimap/1\", 636);\n bcb(1297, 1970, fie, eu);\n _2.Hc = function fu(a) {\n return jt(this.a, a);\n };\n _2.Kc = function gu() {\n return new ku(this.a);\n };\n _2.Mc = function hu(a) {\n return !kt(this.a, a).a.dc();\n };\n _2.gc = function iu() {\n return Vhb(this.a.b);\n };\n mdb(Zhe, \"LinkedListMultimap/1KeySetImpl\", 1297);\n bcb(1296, 1, aie, ku);\n _2.Nb = function lu(a) {\n Rrb(this, a);\n };\n _2.Ob = function mu() {\n ju(this);\n return !!this.c;\n };\n _2.Pb = function nu() {\n ju(this);\n ot(this.c);\n this.a = this.c;\n Qqb(this.d, this.a.a);\n do {\n this.c = this.c.b;\n } while (!!this.c && !Qqb(this.d, this.c.a));\n return this.a.a;\n };\n _2.Qb = function ou() {\n ju(this);\n Vb(!!this.a);\n ir(new wu(this.e, this.a.a));\n this.a = null;\n this.b = this.e.c;\n };\n _2.b = 0;\n mdb(Zhe, \"LinkedListMultimap/DistinctKeyIterator\", 1296);\n bcb(283, 1, { 283: 1 }, pu);\n _2.a = 0;\n mdb(Zhe, \"LinkedListMultimap/KeyList\", 283);\n bcb(1295, 345, kie, qu);\n _2.cd = function ru() {\n return this.a;\n };\n _2.dd = function su() {\n return this.f;\n };\n _2.ed = function tu(a) {\n var b;\n b = this.f;\n this.f = a;\n return b;\n };\n mdb(Zhe, \"LinkedListMultimap/Node\", 1295);\n bcb(560, 1, jie, wu, xu);\n _2.Nb = function zu(a) {\n Rrb(this, a);\n };\n _2.Rb = function yu(a) {\n this.e = ht(this.f, this.b, a, this.c);\n ++this.d;\n this.a = null;\n };\n _2.Ob = function Au() {\n return !!this.c;\n };\n _2.Sb = function Bu() {\n return !!this.e;\n };\n _2.Pb = function Cu() {\n return uu(this);\n };\n _2.Tb = function Du() {\n return this.d;\n };\n _2.Ub = function Eu() {\n return vu(this);\n };\n _2.Vb = function Fu() {\n return this.d - 1;\n };\n _2.Qb = function Gu() {\n Vb(!!this.a);\n if (this.a != this.c) {\n this.e = this.a.e;\n --this.d;\n } else {\n this.c = this.a.c;\n }\n lt(this.f, this.a);\n this.a = null;\n };\n _2.Wb = function Hu(a) {\n Ub(!!this.a);\n this.a.f = a;\n };\n _2.d = 0;\n mdb(Zhe, \"LinkedListMultimap/ValueForKeyIterator\", 560);\n bcb(1018, 52, Lie);\n _2.Vc = function Tu(a, b) {\n this.a.Vc(a, b);\n };\n _2.Wc = function Uu(a, b) {\n return this.a.Wc(a, b);\n };\n _2.Hc = function Vu(a) {\n return this.a.Hc(a);\n };\n _2.Xb = function Wu(a) {\n return this.a.Xb(a);\n };\n _2.$c = function Xu(a) {\n return this.a.$c(a);\n };\n _2._c = function Yu(a, b) {\n return this.a._c(a, b);\n };\n _2.gc = function Zu() {\n return this.a.gc();\n };\n mdb(Zhe, \"Lists/AbstractListWrapper\", 1018);\n bcb(1019, 1018, Nie);\n mdb(Zhe, \"Lists/RandomAccessListWrapper\", 1019);\n bcb(1021, 1019, Nie, $u);\n _2.Zc = function _u(a) {\n return this.a.Zc(a);\n };\n mdb(Zhe, \"Lists/1\", 1021);\n bcb(131, 52, { 131: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1 }, dv);\n _2.Vc = function ev(a, b) {\n this.a.Vc(cv(this, a), b);\n };\n _2.$b = function fv() {\n this.a.$b();\n };\n _2.Xb = function gv(a) {\n return this.a.Xb(bv(this, a));\n };\n _2.Kc = function hv() {\n return av(this, 0);\n };\n _2.Zc = function iv(a) {\n return av(this, a);\n };\n _2.$c = function jv(a) {\n return this.a.$c(bv(this, a));\n };\n _2.Ud = function kv(a, b) {\n (Tb(a, b, this.a.gc()), Su(this.a.bd(cv(this, b), cv(this, a)))).$b();\n };\n _2._c = function lv(a, b) {\n return this.a._c(bv(this, a), b);\n };\n _2.gc = function mv() {\n return this.a.gc();\n };\n _2.bd = function nv(a, b) {\n return Tb(a, b, this.a.gc()), Su(this.a.bd(cv(this, b), cv(this, a)));\n };\n mdb(Zhe, \"Lists/ReverseList\", 131);\n bcb(280, 131, { 131: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 54: 1 }, ov);\n mdb(Zhe, \"Lists/RandomAccessReverseList\", 280);\n bcb(1020, 1, jie, qv);\n _2.Nb = function sv(a) {\n Rrb(this, a);\n };\n _2.Rb = function rv(a) {\n this.c.Rb(a);\n this.c.Ub();\n this.a = false;\n };\n _2.Ob = function tv() {\n return this.c.Sb();\n };\n _2.Sb = function uv() {\n return this.c.Ob();\n };\n _2.Pb = function vv() {\n return pv(this);\n };\n _2.Tb = function wv() {\n return cv(this.b, this.c.Tb());\n };\n _2.Ub = function xv() {\n if (!this.c.Ob()) {\n throw vbb(new utb());\n }\n this.a = true;\n return this.c.Pb();\n };\n _2.Vb = function yv() {\n return cv(this.b, this.c.Tb()) - 1;\n };\n _2.Qb = function zv() {\n Vb(this.a);\n this.c.Qb();\n this.a = false;\n };\n _2.Wb = function Av(a) {\n Ub(this.a);\n this.c.Wb(a);\n };\n _2.a = false;\n mdb(Zhe, \"Lists/ReverseList/1\", 1020);\n bcb(432, 487, aie, Mv);\n _2.Qd = function Nv(a) {\n return Lv(a);\n };\n mdb(Zhe, \"Maps/1\", 432);\n bcb(698, 487, aie, Ov);\n _2.Qd = function Pv(a) {\n return BD(a, 42).dd();\n };\n mdb(Zhe, \"Maps/2\", 698);\n bcb(962, 487, aie, Qv);\n _2.Qd = function Rv(a) {\n return new Wo(a, ww(this.a, a));\n };\n mdb(Zhe, \"Maps/3\", 962);\n bcb(959, 1971, fie, Sv);\n _2.Jc = function Tv(a) {\n mj(this.a, a);\n };\n _2.Kc = function Uv() {\n return this.a.kc();\n };\n _2.Rc = function Vv() {\n return this.a;\n };\n _2.Nc = function Wv() {\n return this.a.lc();\n };\n mdb(Zhe, \"Maps/IteratorBasedAbstractMap/1\", 959);\n bcb(960, 1, {}, Xv);\n _2.Od = function Yv(a, b) {\n this.a.td(a);\n };\n mdb(Zhe, \"Maps/KeySet/lambda$0$Type\", 960);\n bcb(958, 28, die, Zv);\n _2.$b = function $v() {\n this.a.$b();\n };\n _2.Hc = function _v(a) {\n return this.a.uc(a);\n };\n _2.Jc = function aw(a) {\n Qb(a);\n this.a.wc(new fw(a));\n };\n _2.dc = function bw() {\n return this.a.dc();\n };\n _2.Kc = function cw() {\n return new Ov(this.a.vc().Kc());\n };\n _2.Mc = function dw(b) {\n var c2, d;\n try {\n return ze(this, b, true);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 41)) {\n for (d = this.a.vc().Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 42);\n if (Hb(b, c2.dd())) {\n this.a.Bc(c2.cd());\n return true;\n }\n }\n return false;\n } else\n throw vbb(a);\n }\n };\n _2.gc = function ew() {\n return this.a.gc();\n };\n mdb(Zhe, \"Maps/Values\", 958);\n bcb(961, 1, {}, fw);\n _2.Od = function gw(a, b) {\n this.a.td(b);\n };\n mdb(Zhe, \"Maps/Values/lambda$0$Type\", 961);\n bcb(736, 1987, cie, jw);\n _2.xc = function nw(a) {\n return this.a._b(a) ? this.a.cc(a) : null;\n };\n _2.Bc = function qw(a) {\n return this.a._b(a) ? this.a.fc(a) : null;\n };\n _2.$b = function kw() {\n this.a.$b();\n };\n _2._b = function lw(a) {\n return this.a._b(a);\n };\n _2.Ec = function mw() {\n return new sw(this);\n };\n _2.Dc = function() {\n return this.Ec();\n };\n _2.dc = function ow() {\n return this.a.dc();\n };\n _2.ec = function pw() {\n return this.a.ec();\n };\n _2.gc = function rw() {\n return this.a.ec().gc();\n };\n mdb(Zhe, \"Multimaps/AsMap\", 736);\n bcb(1104, 1971, fie, sw);\n _2.Kc = function tw() {\n return Bv(this.a.a.ec(), new xw(this));\n };\n _2.Rc = function uw() {\n return this.a;\n };\n _2.Mc = function vw(a) {\n var b;\n if (!Ze(this, a)) {\n return false;\n }\n b = BD(a, 42);\n iw(this.a, b.cd());\n return true;\n };\n mdb(Zhe, \"Multimaps/AsMap/EntrySet\", 1104);\n bcb(1108, 1, {}, xw);\n _2.Kb = function yw(a) {\n return ww(this, a);\n };\n _2.Fb = function zw(a) {\n return this === a;\n };\n mdb(Zhe, \"Multimaps/AsMap/EntrySet/1\", 1108);\n bcb(543, 1989, { 543: 1, 835: 1, 20: 1, 28: 1, 14: 1 }, Cw);\n _2.$b = function Dw() {\n Nc(this.a);\n };\n _2.Hc = function Ew(a) {\n return Oc(this.a, a);\n };\n _2.Jc = function Fw(a) {\n Qb(a);\n reb(Pc(this.a), new Rw(a));\n };\n _2.Kc = function Gw() {\n return new Mv(Pc(this.a).a.kc());\n };\n _2.gc = function Hw() {\n return this.a.d;\n };\n _2.Nc = function Iw() {\n return $j(Pc(this.a).Nc(), new Jw());\n };\n mdb(Zhe, \"Multimaps/Keys\", 543);\n bcb(1106, 1, {}, Jw);\n _2.Kb = function Kw(a) {\n return BD(a, 42).cd();\n };\n mdb(Zhe, \"Multimaps/Keys/0methodref$getKey$Type\", 1106);\n bcb(1105, 487, aie, Lw);\n _2.Qd = function Mw(a) {\n return new Qw(BD(a, 42));\n };\n mdb(Zhe, \"Multimaps/Keys/1\", 1105);\n bcb(1990, 1, { 416: 1 });\n _2.Fb = function Nw(a) {\n var b;\n if (JD(a, 492)) {\n b = BD(a, 416);\n return BD(this.a.dd(), 14).gc() == BD(b.a.dd(), 14).gc() && Hb(this.a.cd(), b.a.cd());\n }\n return false;\n };\n _2.Hb = function Ow() {\n var a;\n a = this.a.cd();\n return (a == null ? 0 : tb(a)) ^ BD(this.a.dd(), 14).gc();\n };\n _2.Ib = function Pw() {\n var a, b;\n b = xfb(this.a.cd());\n a = BD(this.a.dd(), 14).gc();\n return a == 1 ? b : b + \" x \" + a;\n };\n mdb(Zhe, \"Multisets/AbstractEntry\", 1990);\n bcb(492, 1990, { 492: 1, 416: 1 }, Qw);\n mdb(Zhe, \"Multimaps/Keys/1/1\", 492);\n bcb(1107, 1, qie, Rw);\n _2.td = function Sw(a) {\n this.a.td(BD(a, 42).cd());\n };\n mdb(Zhe, \"Multimaps/Keys/lambda$1$Type\", 1107);\n bcb(1110, 1, qie, Vw);\n _2.td = function Ww(a) {\n Tw(BD(a, 416));\n };\n mdb(Zhe, \"Multiset/lambda$0$Type\", 1110);\n bcb(737, 1, qie, Xw);\n _2.td = function Yw(a) {\n Uw(this.a, BD(a, 416));\n };\n mdb(Zhe, \"Multiset/lambda$1$Type\", 737);\n bcb(1111, 1, {}, bx);\n mdb(Zhe, \"Multisets/0methodref$add$Type\", 1111);\n bcb(738, 1, {}, cx);\n _2.Kb = function dx(a) {\n return _w(BD(a, 416));\n };\n mdb(Zhe, \"Multisets/lambda$3$Type\", 738);\n bcb(2008, 1, Qhe);\n mdb(Zhe, \"RangeGwtSerializationDependencies\", 2008);\n bcb(514, 2008, { 169: 1, 514: 1, 3: 1, 45: 1 }, gx);\n _2.Lb = function hx(a) {\n return fx(this, BD(a, 35));\n };\n _2.Mb = function lx(a) {\n return fx(this, BD(a, 35));\n };\n _2.Fb = function jx(a) {\n var b;\n if (JD(a, 514)) {\n b = BD(a, 514);\n return Ek(this.a, b.a) && Ek(this.b, b.b);\n }\n return false;\n };\n _2.Hb = function kx() {\n return this.a.Hb() * 31 + this.b.Hb();\n };\n _2.Ib = function mx() {\n return nx(this.a, this.b);\n };\n mdb(Zhe, \"Range\", 514);\n bcb(778, 1999, yie, px);\n _2.Zc = function tx(a) {\n return jm(this.b, a);\n };\n _2.Pd = function qx() {\n return this.a;\n };\n _2.Xb = function rx(a) {\n return Em(this.b, a);\n };\n _2.Fd = function sx(a) {\n return jm(this.b, a);\n };\n mdb(Zhe, \"RegularImmutableAsList\", 778);\n bcb(646, 2006, yie, ux);\n _2.Hd = function vx() {\n return this.a;\n };\n mdb(Zhe, \"RegularImmutableList\", 646);\n bcb(616, 715, Aie, wx);\n mdb(Zhe, \"RegularImmutableMap\", 616);\n bcb(716, 703, Cie, zx);\n var xx;\n mdb(Zhe, \"RegularImmutableSet\", 716);\n bcb(1976, eie, fie);\n _2.Kc = function Mx() {\n return new Xx(this.a, this.b);\n };\n _2.Fc = function Jx(a) {\n throw vbb(new bgb());\n };\n _2.Gc = function Kx(a) {\n throw vbb(new bgb());\n };\n _2.$b = function Lx() {\n throw vbb(new bgb());\n };\n _2.Mc = function Nx(a) {\n throw vbb(new bgb());\n };\n mdb(Zhe, \"Sets/SetView\", 1976);\n bcb(963, 1976, fie, Px);\n _2.Kc = function Tx() {\n return new Xx(this.a, this.b);\n };\n _2.Hc = function Qx(a) {\n return tqb(this.a, a) && this.b.Hc(a);\n };\n _2.Ic = function Rx(a) {\n return Be(this.a, a) && this.b.Ic(a);\n };\n _2.dc = function Sx() {\n return omb(this.b, this.a);\n };\n _2.Lc = function Ux() {\n return JAb(new YAb(null, new Kub(this.a, 1)), new _x(this.b));\n };\n _2.gc = function Vx() {\n return Ox(this);\n };\n _2.Oc = function Wx() {\n return JAb(new YAb(null, new Kub(this.a, 1)), new Zx(this.b));\n };\n mdb(Zhe, \"Sets/2\", 963);\n bcb(700, 699, Yhe, Xx);\n _2.Yb = function Yx() {\n var a;\n while (Eqb(this.a)) {\n a = Fqb(this.a);\n if (this.c.Hc(a)) {\n return a;\n }\n }\n return this.e = 2, null;\n };\n mdb(Zhe, \"Sets/2/1\", 700);\n bcb(964, 1, Oie, Zx);\n _2.Mb = function $x(a) {\n return this.a.Hc(a);\n };\n mdb(Zhe, \"Sets/2/4methodref$contains$Type\", 964);\n bcb(965, 1, Oie, _x);\n _2.Mb = function ay(a) {\n return this.a.Hc(a);\n };\n mdb(Zhe, \"Sets/2/5methodref$contains$Type\", 965);\n bcb(607, 1975, { 607: 1, 3: 1, 20: 1, 14: 1, 271: 1, 21: 1, 84: 1 }, by);\n _2.Bd = function cy() {\n return this.b;\n };\n _2.Cd = function dy() {\n return this.b;\n };\n _2.Md = function ey() {\n return this.b;\n };\n _2.Jc = function fy(a) {\n this.a.Jc(a);\n };\n _2.Lc = function gy() {\n return this.a.Lc();\n };\n _2.Oc = function hy() {\n return this.a.Oc();\n };\n mdb(Zhe, \"Sets/UnmodifiableNavigableSet\", 607);\n bcb(1932, 1931, Aie, iy);\n _2.Ld = function jy() {\n return Ql(), new oy(this.a);\n };\n _2.Cc = function ky() {\n return Ql(), new oy(this.a);\n };\n _2.pd = function ly() {\n return Ql(), new oy(this.a);\n };\n mdb(Zhe, \"SingletonImmutableBiMap\", 1932);\n bcb(647, 2006, yie, my);\n _2.Hd = function ny() {\n return this.a;\n };\n mdb(Zhe, \"SingletonImmutableList\", 647);\n bcb(350, 1981, Cie, oy);\n _2.Kc = function ry() {\n return new Ir(this.a);\n };\n _2.Hc = function py(a) {\n return pb(this.a, a);\n };\n _2.Ed = function qy() {\n return new Ir(this.a);\n };\n _2.gc = function sy() {\n return 1;\n };\n mdb(Zhe, \"SingletonImmutableSet\", 350);\n bcb(1115, 1, {}, vy);\n _2.Kb = function wy(a) {\n return BD(a, 164);\n };\n mdb(Zhe, \"Streams/lambda$0$Type\", 1115);\n bcb(1116, 1, Pie, xy);\n _2.Vd = function yy() {\n uy(this.a);\n };\n mdb(Zhe, \"Streams/lambda$1$Type\", 1116);\n bcb(1659, 1658, _he, Ay);\n _2.Zb = function By() {\n var a;\n return a = this.f, BD(BD(!a ? this.f = JD(this.c, 171) ? new Sf(this, BD(this.c, 171)) : JD(this.c, 161) ? new Mf(this, BD(this.c, 161)) : new ne(this, this.c) : a, 161), 171);\n };\n _2.hc = function Ey() {\n return new Hxb(this.b);\n };\n _2.gd = function Fy() {\n return new Hxb(this.b);\n };\n _2.ec = function Hy() {\n var a;\n return a = this.i, BD(BD(!a ? this.i = JD(this.c, 171) ? new $f(this, BD(this.c, 171)) : JD(this.c, 161) ? new Yf(this, BD(this.c, 161)) : new zf(this, this.c) : a, 84), 271);\n };\n _2.ac = function Dy() {\n return JD(this.c, 171) ? new Sf(this, BD(this.c, 171)) : JD(this.c, 161) ? new Mf(this, BD(this.c, 161)) : new ne(this, this.c);\n };\n _2.ic = function Gy(a) {\n a == null && this.a.ue(a, a);\n return new Hxb(this.b);\n };\n mdb(Zhe, \"TreeMultimap\", 1659);\n bcb(78, 1, { 3: 1, 78: 1 });\n _2.Wd = function $y(a) {\n return new Error(a);\n };\n _2.Xd = function az() {\n return this.e;\n };\n _2.Yd = function bz() {\n return XAb(NAb(Plb((this.k == null && (this.k = KC(_I, nie, 78, 0, 0, 1)), this.k)), new _fb()));\n };\n _2.Zd = function cz() {\n return this.f;\n };\n _2.$d = function dz() {\n return this.g;\n };\n _2._d = function ez() {\n Vy(this, _y(this.Wd(Wy(this, this.g))));\n Sz(this);\n };\n _2.Ib = function fz() {\n return Wy(this, this.$d());\n };\n _2.e = Sie;\n _2.i = false;\n _2.n = true;\n var _I = mdb(Phe, \"Throwable\", 78);\n bcb(102, 78, { 3: 1, 102: 1, 78: 1 });\n mdb(Phe, \"Exception\", 102);\n bcb(60, 102, Tie, gz, hz);\n mdb(Phe, \"RuntimeException\", 60);\n bcb(598, 60, Tie);\n mdb(Phe, \"JsException\", 598);\n bcb(863, 598, Tie);\n mdb(Uie, \"JavaScriptExceptionBase\", 863);\n bcb(477, 863, { 477: 1, 3: 1, 102: 1, 60: 1, 78: 1 }, lz);\n _2.$d = function oz() {\n kz(this);\n return this.c;\n };\n _2.ae = function pz() {\n return PD(this.b) === PD(iz) ? null : this.b;\n };\n var iz;\n mdb(Wie, \"JavaScriptException\", 477);\n var PH = mdb(Wie, \"JavaScriptObject$\", 0);\n var tz;\n bcb(1948, 1, {});\n mdb(Wie, \"Scheduler\", 1948);\n var xz = 0, yz = 0, zz = -1;\n bcb(890, 1948, {}, Nz);\n var Jz;\n mdb(Uie, \"SchedulerImpl\", 890);\n var Qz;\n bcb(1960, 1, {});\n mdb(Uie, \"StackTraceCreator/Collector\", 1960);\n bcb(864, 1960, {}, Yz);\n _2.be = function Zz(a) {\n var b = {};\n var c2 = [];\n a[Yie] = c2;\n var d = arguments.callee.caller;\n while (d) {\n var e = (Rz(), d.name || (d.name = Uz(d.toString())));\n c2.push(e);\n var f2 = \":\" + e;\n var g = b[f2];\n if (g) {\n var h, i3;\n for (h = 0, i3 = g.length; h < i3; h++) {\n if (g[h] === d) {\n return;\n }\n }\n }\n (g || (b[f2] = [])).push(d);\n d = d.caller;\n }\n };\n _2.ce = function $z(a) {\n var b, c2, d, e;\n d = (Rz(), a && a[Yie] ? a[Yie] : []);\n c2 = d.length;\n e = KC(VI, nie, 310, c2, 0, 1);\n for (b = 0; b < c2; b++) {\n e[b] = new Zeb(d[b], null, -1);\n }\n return e;\n };\n mdb(Uie, \"StackTraceCreator/CollectorLegacy\", 864);\n bcb(1961, 1960, {});\n _2.be = function aA(a) {\n };\n _2.de = function bA(a, b, c2, d) {\n return new Zeb(b, a + \"@\" + d, c2 < 0 ? -1 : c2);\n };\n _2.ce = function cA(a) {\n var b, c2, d, e, f2, g;\n e = Wz(a);\n f2 = KC(VI, nie, 310, 0, 0, 1);\n b = 0;\n d = e.length;\n if (d == 0) {\n return f2;\n }\n g = _z(this, e[0]);\n dfb(g.d, Xie) || (f2[b++] = g);\n for (c2 = 1; c2 < d; c2++) {\n f2[b++] = _z(this, e[c2]);\n }\n return f2;\n };\n mdb(Uie, \"StackTraceCreator/CollectorModern\", 1961);\n bcb(865, 1961, {}, dA);\n _2.de = function eA(a, b, c2, d) {\n return new Zeb(b, a, -1);\n };\n mdb(Uie, \"StackTraceCreator/CollectorModernNoSourceMap\", 865);\n bcb(1050, 1, {});\n mdb(yje, zje, 1050);\n bcb(615, 1050, { 615: 1 }, HA);\n var FA;\n mdb(Aje, zje, 615);\n bcb(2001, 1, {});\n mdb(yje, Bje, 2001);\n bcb(2002, 2001, {});\n mdb(Aje, Bje, 2002);\n bcb(1090, 1, {}, MA);\n var JA;\n mdb(Aje, \"LocaleInfo\", 1090);\n bcb(1918, 1, {}, PA);\n _2.a = 0;\n mdb(Aje, \"TimeZone\", 1918);\n bcb(1258, 2002, {}, VA);\n mdb(\"com.google.gwt.i18n.client.impl.cldr\", \"DateTimeFormatInfoImpl\", 1258);\n bcb(434, 1, { 434: 1 }, WA);\n _2.a = false;\n _2.b = 0;\n mdb(yje, \"DateTimeFormat/PatternPart\", 434);\n bcb(199, 1, Cje, eB, fB, gB);\n _2.wd = function hB(a) {\n return XA(this, BD(a, 199));\n };\n _2.Fb = function iB(a) {\n return JD(a, 199) && Bbb(Cbb(this.q.getTime()), Cbb(BD(a, 199).q.getTime()));\n };\n _2.Hb = function jB() {\n var a;\n a = Cbb(this.q.getTime());\n return Tbb(Vbb(a, Pbb(a, 32)));\n };\n _2.Ib = function lB() {\n var a, b, c2;\n c2 = -this.q.getTimezoneOffset();\n a = (c2 >= 0 ? \"+\" : \"\") + (c2 / 60 | 0);\n b = kB($wnd.Math.abs(c2) % 60);\n return (Dpb(), Bpb)[this.q.getDay()] + \" \" + Cpb[this.q.getMonth()] + \" \" + kB(this.q.getDate()) + \" \" + kB(this.q.getHours()) + \":\" + kB(this.q.getMinutes()) + \":\" + kB(this.q.getSeconds()) + \" GMT\" + a + b + \" \" + this.q.getFullYear();\n };\n var $J = mdb(bie, \"Date\", 199);\n bcb(1915, 199, Cje, nB);\n _2.a = false;\n _2.b = 0;\n _2.c = 0;\n _2.d = 0;\n _2.e = 0;\n _2.f = 0;\n _2.g = false;\n _2.i = 0;\n _2.j = 0;\n _2.k = 0;\n _2.n = 0;\n _2.o = 0;\n _2.p = 0;\n mdb(\"com.google.gwt.i18n.shared.impl\", \"DateRecord\", 1915);\n bcb(1966, 1, {});\n _2.fe = function oB() {\n return null;\n };\n _2.ge = function pB() {\n return null;\n };\n _2.he = function qB() {\n return null;\n };\n _2.ie = function rB() {\n return null;\n };\n _2.je = function sB() {\n return null;\n };\n mdb(Dje, \"JSONValue\", 1966);\n bcb(216, 1966, { 216: 1 }, wB, xB);\n _2.Fb = function yB(a) {\n if (!JD(a, 216)) {\n return false;\n }\n return qz(this.a, BD(a, 216).a);\n };\n _2.ee = function zB() {\n return DB;\n };\n _2.Hb = function AB() {\n return rz(this.a);\n };\n _2.fe = function BB() {\n return this;\n };\n _2.Ib = function CB() {\n var a, b, c2;\n c2 = new Wfb(\"[\");\n for (b = 0, a = this.a.length; b < a; b++) {\n b > 0 && (c2.a += \",\", c2);\n Pfb(c2, tB(this, b));\n }\n c2.a += \"]\";\n return c2.a;\n };\n mdb(Dje, \"JSONArray\", 216);\n bcb(483, 1966, { 483: 1 }, HB);\n _2.ee = function IB() {\n return LB;\n };\n _2.ge = function JB() {\n return this;\n };\n _2.Ib = function KB() {\n return Bcb(), \"\" + this.a;\n };\n _2.a = false;\n var EB, FB;\n mdb(Dje, \"JSONBoolean\", 483);\n bcb(985, 60, Tie, MB);\n mdb(Dje, \"JSONException\", 985);\n bcb(1023, 1966, {}, PB);\n _2.ee = function QB() {\n return SB;\n };\n _2.Ib = function RB() {\n return Xhe;\n };\n var NB;\n mdb(Dje, \"JSONNull\", 1023);\n bcb(258, 1966, { 258: 1 }, TB);\n _2.Fb = function UB(a) {\n if (!JD(a, 258)) {\n return false;\n }\n return this.a == BD(a, 258).a;\n };\n _2.ee = function VB() {\n return ZB;\n };\n _2.Hb = function WB() {\n return Hdb(this.a);\n };\n _2.he = function XB() {\n return this;\n };\n _2.Ib = function YB() {\n return this.a + \"\";\n };\n _2.a = 0;\n mdb(Dje, \"JSONNumber\", 258);\n bcb(183, 1966, { 183: 1 }, eC, fC);\n _2.Fb = function gC(a) {\n if (!JD(a, 183)) {\n return false;\n }\n return qz(this.a, BD(a, 183).a);\n };\n _2.ee = function hC() {\n return lC;\n };\n _2.Hb = function iC() {\n return rz(this.a);\n };\n _2.ie = function jC() {\n return this;\n };\n _2.Ib = function kC() {\n var a, b, c2, d, e, f2, g;\n g = new Wfb(\"{\");\n a = true;\n f2 = $B(this, KC(ZI, nie, 2, 0, 6, 1));\n for (c2 = f2, d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n a ? a = false : (g.a += She, g);\n Qfb(g, vz(b));\n g.a += \":\";\n Pfb(g, aC(this, b));\n }\n g.a += \"}\";\n return g.a;\n };\n mdb(Dje, \"JSONObject\", 183);\n bcb(596, eie, fie, mC);\n _2.Hc = function nC(a) {\n return ND(a) && _B(this.a, GD(a));\n };\n _2.Kc = function oC() {\n return new vib(new amb(this.b));\n };\n _2.gc = function pC() {\n return this.b.length;\n };\n mdb(Dje, \"JSONObject/1\", 596);\n var qC;\n bcb(204, 1966, { 204: 1 }, yC);\n _2.Fb = function zC(a) {\n if (!JD(a, 204)) {\n return false;\n }\n return dfb(this.a, BD(a, 204).a);\n };\n _2.ee = function AC() {\n return EC;\n };\n _2.Hb = function BC() {\n return LCb(this.a);\n };\n _2.je = function CC() {\n return this;\n };\n _2.Ib = function DC() {\n return vz(this.a);\n };\n mdb(Dje, \"JSONString\", 204);\n var QC;\n var sD, tD, uD, vD;\n bcb(1962, 1, { 525: 1 });\n mdb(Lje, \"OutputStream\", 1962);\n bcb(1963, 1962, { 525: 1 });\n mdb(Lje, \"FilterOutputStream\", 1963);\n bcb(866, 1963, { 525: 1 }, jcb);\n mdb(Lje, \"PrintStream\", 866);\n bcb(418, 1, { 475: 1 });\n _2.Ib = function ncb() {\n return this.a;\n };\n mdb(Phe, \"AbstractStringBuilder\", 418);\n bcb(529, 60, Tie, ocb);\n mdb(Phe, \"ArithmeticException\", 529);\n bcb(73, 60, Mje, pcb, qcb);\n mdb(Phe, \"IndexOutOfBoundsException\", 73);\n bcb(320, 73, { 3: 1, 320: 1, 102: 1, 73: 1, 60: 1, 78: 1 }, rcb, scb);\n mdb(Phe, \"ArrayIndexOutOfBoundsException\", 320);\n bcb(528, 60, Tie, tcb, ucb);\n mdb(Phe, \"ArrayStoreException\", 528);\n bcb(289, 78, Nje, vcb);\n mdb(Phe, \"Error\", 289);\n bcb(194, 289, Nje, xcb, ycb);\n mdb(Phe, \"AssertionError\", 194);\n xD = { 3: 1, 476: 1, 35: 1 };\n var zcb, Acb;\n var wI = mdb(Phe, \"Boolean\", 476);\n bcb(236, 1, { 3: 1, 236: 1 });\n var Gcb;\n mdb(Phe, \"Number\", 236);\n bcb(217, 236, { 3: 1, 217: 1, 35: 1, 236: 1 }, Mcb);\n _2.wd = function Ncb(a) {\n return Lcb(this, BD(a, 217));\n };\n _2.ke = function Ocb() {\n return this.a;\n };\n _2.Fb = function Pcb(a) {\n return JD(a, 217) && BD(a, 217).a == this.a;\n };\n _2.Hb = function Qcb() {\n return this.a;\n };\n _2.Ib = function Rcb() {\n return \"\" + this.a;\n };\n _2.a = 0;\n var xI = mdb(Phe, \"Byte\", 217);\n var Tcb;\n bcb(172, 1, { 3: 1, 172: 1, 35: 1 }, Xcb);\n _2.wd = function Ycb(a) {\n return Wcb(this, BD(a, 172));\n };\n _2.Fb = function $cb(a) {\n return JD(a, 172) && BD(a, 172).a == this.a;\n };\n _2.Hb = function _cb() {\n return this.a;\n };\n _2.Ib = function adb() {\n return String.fromCharCode(this.a);\n };\n _2.a = 0;\n var Vcb;\n var yI = mdb(Phe, \"Character\", 172);\n var cdb;\n bcb(205, 60, { 3: 1, 205: 1, 102: 1, 60: 1, 78: 1 }, Bdb, Cdb);\n mdb(Phe, \"ClassCastException\", 205);\n yD = { 3: 1, 35: 1, 333: 1, 236: 1 };\n var BI = mdb(Phe, \"Double\", 333);\n bcb(155, 236, { 3: 1, 35: 1, 155: 1, 236: 1 }, Ndb, Odb);\n _2.wd = function Pdb(a) {\n return Mdb(this, BD(a, 155));\n };\n _2.ke = function Qdb() {\n return this.a;\n };\n _2.Fb = function Rdb(a) {\n return JD(a, 155) && Fdb(this.a, BD(a, 155).a);\n };\n _2.Hb = function Sdb() {\n return QD(this.a);\n };\n _2.Ib = function Udb() {\n return \"\" + this.a;\n };\n _2.a = 0;\n var FI = mdb(Phe, \"Float\", 155);\n bcb(32, 60, { 3: 1, 102: 1, 32: 1, 60: 1, 78: 1 }, Vdb, Wdb, Xdb);\n mdb(Phe, \"IllegalArgumentException\", 32);\n bcb(71, 60, Tie, Ydb, Zdb);\n mdb(Phe, \"IllegalStateException\", 71);\n bcb(19, 236, { 3: 1, 35: 1, 19: 1, 236: 1 }, _db);\n _2.wd = function ceb(a) {\n return $db(this, BD(a, 19));\n };\n _2.ke = function deb() {\n return this.a;\n };\n _2.Fb = function eeb(a) {\n return JD(a, 19) && BD(a, 19).a == this.a;\n };\n _2.Hb = function feb() {\n return this.a;\n };\n _2.Ib = function leb() {\n return \"\" + this.a;\n };\n _2.a = 0;\n var JI = mdb(Phe, \"Integer\", 19);\n var neb;\n var peb;\n bcb(162, 236, { 3: 1, 35: 1, 162: 1, 236: 1 }, teb);\n _2.wd = function veb(a) {\n return seb(this, BD(a, 162));\n };\n _2.ke = function web() {\n return Sbb(this.a);\n };\n _2.Fb = function xeb(a) {\n return JD(a, 162) && Bbb(BD(a, 162).a, this.a);\n };\n _2.Hb = function yeb() {\n return Tbb(this.a);\n };\n _2.Ib = function zeb() {\n return \"\" + Ubb(this.a);\n };\n _2.a = 0;\n var MI = mdb(Phe, \"Long\", 162);\n var Beb;\n bcb(2039, 1, {});\n bcb(1831, 60, Tie, Feb);\n mdb(Phe, \"NegativeArraySizeException\", 1831);\n bcb(173, 598, { 3: 1, 102: 1, 173: 1, 60: 1, 78: 1 }, Geb, Heb);\n _2.Wd = function Ieb(a) {\n return new TypeError(a);\n };\n mdb(Phe, \"NullPointerException\", 173);\n var Jeb, Keb, Leb, Meb;\n bcb(127, 32, { 3: 1, 102: 1, 32: 1, 127: 1, 60: 1, 78: 1 }, Oeb);\n mdb(Phe, \"NumberFormatException\", 127);\n bcb(184, 236, { 3: 1, 35: 1, 236: 1, 184: 1 }, Qeb);\n _2.wd = function Reb(a) {\n return Peb(this, BD(a, 184));\n };\n _2.ke = function Seb() {\n return this.a;\n };\n _2.Fb = function Teb(a) {\n return JD(a, 184) && BD(a, 184).a == this.a;\n };\n _2.Hb = function Ueb() {\n return this.a;\n };\n _2.Ib = function Veb() {\n return \"\" + this.a;\n };\n _2.a = 0;\n var UI = mdb(Phe, \"Short\", 184);\n var Xeb;\n bcb(310, 1, { 3: 1, 310: 1 }, Zeb);\n _2.Fb = function $eb(a) {\n var b;\n if (JD(a, 310)) {\n b = BD(a, 310);\n return this.c == b.c && this.d == b.d && this.a == b.a && this.b == b.b;\n }\n return false;\n };\n _2.Hb = function _eb() {\n return Hlb(OC(GC(SI, 1), Uhe, 1, 5, [meb(this.c), this.a, this.d, this.b]));\n };\n _2.Ib = function afb() {\n return this.a + \".\" + this.d + \"(\" + (this.b != null ? this.b : \"Unknown Source\") + (this.c >= 0 ? \":\" + this.c : \"\") + \")\";\n };\n _2.c = 0;\n var VI = mdb(Phe, \"StackTraceElement\", 310);\n zD = { 3: 1, 475: 1, 35: 1, 2: 1 };\n var ZI = mdb(Phe, Vie, 2);\n bcb(107, 418, { 475: 1 }, Hfb, Ifb, Jfb);\n mdb(Phe, \"StringBuffer\", 107);\n bcb(100, 418, { 475: 1 }, Ufb, Vfb, Wfb);\n mdb(Phe, \"StringBuilder\", 100);\n bcb(687, 73, Mje, Xfb);\n mdb(Phe, \"StringIndexOutOfBoundsException\", 687);\n bcb(2043, 1, {});\n var Yfb;\n bcb(844, 1, {}, _fb);\n _2.Kb = function agb(a) {\n return BD(a, 78).e;\n };\n mdb(Phe, \"Throwable/lambda$0$Type\", 844);\n bcb(41, 60, { 3: 1, 102: 1, 60: 1, 78: 1, 41: 1 }, bgb, cgb);\n mdb(Phe, \"UnsupportedOperationException\", 41);\n bcb(240, 236, { 3: 1, 35: 1, 236: 1, 240: 1 }, sgb, tgb);\n _2.wd = function wgb(a) {\n return mgb(this, BD(a, 240));\n };\n _2.ke = function xgb() {\n return Hcb(rgb2(this));\n };\n _2.Fb = function ygb(a) {\n var b;\n if (this === a) {\n return true;\n }\n if (JD(a, 240)) {\n b = BD(a, 240);\n return this.e == b.e && mgb(this, b) == 0;\n }\n return false;\n };\n _2.Hb = function zgb() {\n var a;\n if (this.b != 0) {\n return this.b;\n }\n if (this.a < 54) {\n a = Cbb(this.f);\n this.b = Tbb(xbb(a, -1));\n this.b = 33 * this.b + Tbb(xbb(Obb(a, 32), -1));\n this.b = 17 * this.b + QD(this.e);\n return this.b;\n }\n this.b = 17 * Ngb(this.c) + QD(this.e);\n return this.b;\n };\n _2.Ib = function Agb() {\n return rgb2(this);\n };\n _2.a = 0;\n _2.b = 0;\n _2.d = 0;\n _2.e = 0;\n _2.f = 0;\n var dgb, egb, fgb, ggb, hgb, igb, jgb, kgb;\n var bJ = mdb(\"java.math\", \"BigDecimal\", 240);\n bcb(91, 236, { 3: 1, 35: 1, 236: 1, 91: 1 }, Tgb, Ugb, Vgb, Wgb, Xgb, Ygb);\n _2.wd = function $gb(a) {\n return Igb(this, BD(a, 91));\n };\n _2.ke = function _gb() {\n return Hcb(shb(this, 0));\n };\n _2.Fb = function ahb(a) {\n return Kgb(this, a);\n };\n _2.Hb = function chb() {\n return Ngb(this);\n };\n _2.Ib = function ehb() {\n return shb(this, 0);\n };\n _2.b = -2;\n _2.c = 0;\n _2.d = 0;\n _2.e = 0;\n var Bgb, Cgb, Dgb, Egb, Fgb, Ggb;\n var cJ = mdb(\"java.math\", \"BigInteger\", 91);\n var nhb, ohb;\n var Bhb, Chb;\n bcb(488, 1967, cie);\n _2.$b = function Xhb() {\n Uhb(this);\n };\n _2._b = function Yhb(a) {\n return Mhb(this, a);\n };\n _2.uc = function Zhb(a) {\n return Nhb(this, a, this.g) || Nhb(this, a, this.f);\n };\n _2.vc = function $hb() {\n return new eib(this);\n };\n _2.xc = function _hb(a) {\n return Ohb(this, a);\n };\n _2.zc = function aib(a, b) {\n return Rhb(this, a, b);\n };\n _2.Bc = function bib(a) {\n return Thb(this, a);\n };\n _2.gc = function cib() {\n return Vhb(this);\n };\n mdb(bie, \"AbstractHashMap\", 488);\n bcb(261, eie, fie, eib);\n _2.$b = function fib() {\n this.a.$b();\n };\n _2.Hc = function gib(a) {\n return dib(this, a);\n };\n _2.Kc = function hib() {\n return new nib(this.a);\n };\n _2.Mc = function iib(a) {\n var b;\n if (dib(this, a)) {\n b = BD(a, 42).cd();\n this.a.Bc(b);\n return true;\n }\n return false;\n };\n _2.gc = function jib() {\n return this.a.gc();\n };\n mdb(bie, \"AbstractHashMap/EntrySet\", 261);\n bcb(262, 1, aie, nib);\n _2.Nb = function oib(a) {\n Rrb(this, a);\n };\n _2.Pb = function qib() {\n return lib(this);\n };\n _2.Ob = function pib() {\n return this.b;\n };\n _2.Qb = function rib() {\n mib(this);\n };\n _2.b = false;\n mdb(bie, \"AbstractHashMap/EntrySetIterator\", 262);\n bcb(417, 1, aie, vib);\n _2.Nb = function wib(a) {\n Rrb(this, a);\n };\n _2.Ob = function xib() {\n return sib(this);\n };\n _2.Pb = function yib() {\n return tib(this);\n };\n _2.Qb = function zib() {\n uib(this);\n };\n _2.b = 0;\n _2.c = -1;\n mdb(bie, \"AbstractList/IteratorImpl\", 417);\n bcb(96, 417, jie, Bib);\n _2.Qb = function Hib() {\n uib(this);\n };\n _2.Rb = function Cib(a) {\n Aib(this, a);\n };\n _2.Sb = function Dib() {\n return this.b > 0;\n };\n _2.Tb = function Eib() {\n return this.b;\n };\n _2.Ub = function Fib() {\n return sCb(this.b > 0), this.a.Xb(this.c = --this.b);\n };\n _2.Vb = function Gib() {\n return this.b - 1;\n };\n _2.Wb = function Iib(a) {\n yCb(this.c != -1);\n this.a._c(this.c, a);\n };\n mdb(bie, \"AbstractList/ListIteratorImpl\", 96);\n bcb(219, 52, Lie, Jib);\n _2.Vc = function Kib(a, b) {\n wCb(a, this.b);\n this.c.Vc(this.a + a, b);\n ++this.b;\n };\n _2.Xb = function Lib(a) {\n tCb(a, this.b);\n return this.c.Xb(this.a + a);\n };\n _2.$c = function Mib(a) {\n var b;\n tCb(a, this.b);\n b = this.c.$c(this.a + a);\n --this.b;\n return b;\n };\n _2._c = function Nib(a, b) {\n tCb(a, this.b);\n return this.c._c(this.a + a, b);\n };\n _2.gc = function Oib() {\n return this.b;\n };\n _2.a = 0;\n _2.b = 0;\n mdb(bie, \"AbstractList/SubList\", 219);\n bcb(384, eie, fie, Pib);\n _2.$b = function Qib() {\n this.a.$b();\n };\n _2.Hc = function Rib(a) {\n return this.a._b(a);\n };\n _2.Kc = function Sib() {\n var a;\n return a = this.a.vc().Kc(), new Vib(a);\n };\n _2.Mc = function Tib(a) {\n if (this.a._b(a)) {\n this.a.Bc(a);\n return true;\n }\n return false;\n };\n _2.gc = function Uib() {\n return this.a.gc();\n };\n mdb(bie, \"AbstractMap/1\", 384);\n bcb(691, 1, aie, Vib);\n _2.Nb = function Wib(a) {\n Rrb(this, a);\n };\n _2.Ob = function Xib() {\n return this.a.Ob();\n };\n _2.Pb = function Yib() {\n var a;\n return a = BD(this.a.Pb(), 42), a.cd();\n };\n _2.Qb = function Zib() {\n this.a.Qb();\n };\n mdb(bie, \"AbstractMap/1/1\", 691);\n bcb(226, 28, die, $ib);\n _2.$b = function _ib() {\n this.a.$b();\n };\n _2.Hc = function ajb(a) {\n return this.a.uc(a);\n };\n _2.Kc = function bjb() {\n var a;\n return a = this.a.vc().Kc(), new djb(a);\n };\n _2.gc = function cjb() {\n return this.a.gc();\n };\n mdb(bie, \"AbstractMap/2\", 226);\n bcb(294, 1, aie, djb);\n _2.Nb = function ejb(a) {\n Rrb(this, a);\n };\n _2.Ob = function fjb() {\n return this.a.Ob();\n };\n _2.Pb = function gjb() {\n var a;\n return a = BD(this.a.Pb(), 42), a.dd();\n };\n _2.Qb = function hjb() {\n this.a.Qb();\n };\n mdb(bie, \"AbstractMap/2/1\", 294);\n bcb(484, 1, { 484: 1, 42: 1 });\n _2.Fb = function jjb(a) {\n var b;\n if (!JD(a, 42)) {\n return false;\n }\n b = BD(a, 42);\n return wtb(this.d, b.cd()) && wtb(this.e, b.dd());\n };\n _2.cd = function kjb() {\n return this.d;\n };\n _2.dd = function ljb() {\n return this.e;\n };\n _2.Hb = function mjb() {\n return xtb(this.d) ^ xtb(this.e);\n };\n _2.ed = function njb(a) {\n return ijb(this, a);\n };\n _2.Ib = function ojb() {\n return this.d + \"=\" + this.e;\n };\n mdb(bie, \"AbstractMap/AbstractEntry\", 484);\n bcb(383, 484, { 484: 1, 383: 1, 42: 1 }, pjb);\n mdb(bie, \"AbstractMap/SimpleEntry\", 383);\n bcb(1984, 1, _je);\n _2.Fb = function qjb(a) {\n var b;\n if (!JD(a, 42)) {\n return false;\n }\n b = BD(a, 42);\n return wtb(this.cd(), b.cd()) && wtb(this.dd(), b.dd());\n };\n _2.Hb = function rjb() {\n return xtb(this.cd()) ^ xtb(this.dd());\n };\n _2.Ib = function sjb() {\n return this.cd() + \"=\" + this.dd();\n };\n mdb(bie, lie, 1984);\n bcb(1992, 1967, gie);\n _2.tc = function vjb(a) {\n return tjb(this, a);\n };\n _2._b = function wjb(a) {\n return ujb(this, a);\n };\n _2.vc = function xjb() {\n return new Bjb(this);\n };\n _2.xc = function yjb(a) {\n var b;\n b = a;\n return Wd(Awb(this, b));\n };\n _2.ec = function Ajb() {\n return new Gjb(this);\n };\n mdb(bie, \"AbstractNavigableMap\", 1992);\n bcb(739, eie, fie, Bjb);\n _2.Hc = function Cjb(a) {\n return JD(a, 42) && tjb(this.b, BD(a, 42));\n };\n _2.Kc = function Djb() {\n return new Ywb(this.b);\n };\n _2.Mc = function Ejb(a) {\n var b;\n if (JD(a, 42)) {\n b = BD(a, 42);\n return Kwb(this.b, b);\n }\n return false;\n };\n _2.gc = function Fjb() {\n return this.b.c;\n };\n mdb(bie, \"AbstractNavigableMap/EntrySet\", 739);\n bcb(493, eie, iie, Gjb);\n _2.Nc = function Mjb() {\n return new Rub(this);\n };\n _2.$b = function Hjb() {\n zwb(this.a);\n };\n _2.Hc = function Ijb(a) {\n return ujb(this.a, a);\n };\n _2.Kc = function Jjb() {\n var a;\n return a = new Ywb(new cxb(this.a).b), new Njb(a);\n };\n _2.Mc = function Kjb(a) {\n if (ujb(this.a, a)) {\n Jwb(this.a, a);\n return true;\n }\n return false;\n };\n _2.gc = function Ljb() {\n return this.a.c;\n };\n mdb(bie, \"AbstractNavigableMap/NavigableKeySet\", 493);\n bcb(494, 1, aie, Njb);\n _2.Nb = function Ojb(a) {\n Rrb(this, a);\n };\n _2.Ob = function Pjb() {\n return sib(this.a.a);\n };\n _2.Pb = function Qjb() {\n var a;\n return a = Wwb(this.a), a.cd();\n };\n _2.Qb = function Rjb() {\n Xwb(this.a);\n };\n mdb(bie, \"AbstractNavigableMap/NavigableKeySet/1\", 494);\n bcb(2004, 28, die);\n _2.Fc = function Sjb(a) {\n return zCb(cub(this, a)), true;\n };\n _2.Gc = function Tjb(a) {\n uCb(a);\n mCb(a != this, \"Can't add a queue to itself\");\n return ye(this, a);\n };\n _2.$b = function Ujb() {\n while (dub(this) != null)\n ;\n };\n mdb(bie, \"AbstractQueue\", 2004);\n bcb(302, 28, { 4: 1, 20: 1, 28: 1, 14: 1 }, jkb, kkb);\n _2.Fc = function lkb(a) {\n return Xjb(this, a), true;\n };\n _2.$b = function nkb() {\n Yjb(this);\n };\n _2.Hc = function okb(a) {\n return Zjb(new xkb(this), a);\n };\n _2.dc = function pkb() {\n return akb(this);\n };\n _2.Kc = function qkb() {\n return new xkb(this);\n };\n _2.Mc = function rkb(a) {\n return dkb(new xkb(this), a);\n };\n _2.gc = function skb() {\n return this.c - this.b & this.a.length - 1;\n };\n _2.Nc = function tkb() {\n return new Kub(this, 272);\n };\n _2.Qc = function ukb(a) {\n var b;\n b = this.c - this.b & this.a.length - 1;\n a.length < b && (a = eCb(new Array(b), a));\n $jb(this, a, b);\n a.length > b && NC(a, b, null);\n return a;\n };\n _2.b = 0;\n _2.c = 0;\n mdb(bie, \"ArrayDeque\", 302);\n bcb(446, 1, aie, xkb);\n _2.Nb = function ykb(a) {\n Rrb(this, a);\n };\n _2.Ob = function zkb() {\n return this.a != this.b;\n };\n _2.Pb = function Akb() {\n return vkb(this);\n };\n _2.Qb = function Bkb() {\n wkb(this);\n };\n _2.a = 0;\n _2.b = 0;\n _2.c = -1;\n mdb(bie, \"ArrayDeque/IteratorImpl\", 446);\n bcb(12, 52, ake, Rkb, Skb, Tkb);\n _2.Vc = function Ukb(a, b) {\n Dkb(this, a, b);\n };\n _2.Fc = function Vkb(a) {\n return Ekb(this, a);\n };\n _2.Wc = function Wkb(a, b) {\n return Fkb(this, a, b);\n };\n _2.Gc = function Xkb(a) {\n return Gkb(this, a);\n };\n _2.$b = function Ykb() {\n this.c = KC(SI, Uhe, 1, 0, 5, 1);\n };\n _2.Hc = function Zkb(a) {\n return Jkb(this, a, 0) != -1;\n };\n _2.Jc = function $kb(a) {\n Hkb(this, a);\n };\n _2.Xb = function _kb(a) {\n return Ikb(this, a);\n };\n _2.Xc = function alb(a) {\n return Jkb(this, a, 0);\n };\n _2.dc = function blb() {\n return this.c.length == 0;\n };\n _2.Kc = function clb() {\n return new olb(this);\n };\n _2.$c = function dlb(a) {\n return Kkb(this, a);\n };\n _2.Mc = function elb(a) {\n return Lkb(this, a);\n };\n _2.Ud = function flb(a, b) {\n Mkb(this, a, b);\n };\n _2._c = function glb(a, b) {\n return Nkb(this, a, b);\n };\n _2.gc = function hlb() {\n return this.c.length;\n };\n _2.ad = function ilb(a) {\n Okb(this, a);\n };\n _2.Pc = function jlb() {\n return Pkb(this);\n };\n _2.Qc = function klb(a) {\n return Qkb(this, a);\n };\n var DJ = mdb(bie, \"ArrayList\", 12);\n bcb(7, 1, aie, olb);\n _2.Nb = function plb(a) {\n Rrb(this, a);\n };\n _2.Ob = function qlb() {\n return llb(this);\n };\n _2.Pb = function rlb() {\n return mlb(this);\n };\n _2.Qb = function slb() {\n nlb(this);\n };\n _2.a = 0;\n _2.b = -1;\n mdb(bie, \"ArrayList/1\", 7);\n bcb(2013, $wnd.Function, {}, Ylb);\n _2.te = function Zlb(a, b) {\n return Kdb(a, b);\n };\n bcb(154, 52, bke, amb);\n _2.Hc = function bmb(a) {\n return Bt(this, a) != -1;\n };\n _2.Jc = function cmb(a) {\n var b, c2, d, e;\n uCb(a);\n for (c2 = this.a, d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n a.td(b);\n }\n };\n _2.Xb = function dmb(a) {\n return $lb(this, a);\n };\n _2._c = function emb(a, b) {\n var c2;\n c2 = (tCb(a, this.a.length), this.a[a]);\n NC(this.a, a, b);\n return c2;\n };\n _2.gc = function fmb() {\n return this.a.length;\n };\n _2.ad = function gmb(a) {\n Mlb(this.a, this.a.length, a);\n };\n _2.Pc = function hmb() {\n return _lb(this, KC(SI, Uhe, 1, this.a.length, 5, 1));\n };\n _2.Qc = function imb(a) {\n return _lb(this, a);\n };\n mdb(bie, \"Arrays/ArrayList\", 154);\n var jmb, kmb, lmb;\n bcb(940, 52, bke, xmb);\n _2.Hc = function ymb(a) {\n return false;\n };\n _2.Xb = function zmb(a) {\n return wmb(a);\n };\n _2.Kc = function Amb() {\n return mmb(), Emb(), Dmb;\n };\n _2.Yc = function Bmb() {\n return mmb(), Emb(), Dmb;\n };\n _2.gc = function Cmb() {\n return 0;\n };\n mdb(bie, \"Collections/EmptyList\", 940);\n bcb(941, 1, jie, Fmb);\n _2.Nb = function Hmb(a) {\n Rrb(this, a);\n };\n _2.Rb = function Gmb(a) {\n throw vbb(new bgb());\n };\n _2.Ob = function Imb() {\n return false;\n };\n _2.Sb = function Jmb() {\n return false;\n };\n _2.Pb = function Kmb() {\n throw vbb(new utb());\n };\n _2.Tb = function Lmb() {\n return 0;\n };\n _2.Ub = function Mmb() {\n throw vbb(new utb());\n };\n _2.Vb = function Nmb() {\n return -1;\n };\n _2.Qb = function Omb() {\n throw vbb(new Ydb());\n };\n _2.Wb = function Pmb(a) {\n throw vbb(new Ydb());\n };\n var Dmb;\n mdb(bie, \"Collections/EmptyListIterator\", 941);\n bcb(943, 1967, Aie, Qmb);\n _2._b = function Rmb(a) {\n return false;\n };\n _2.uc = function Smb(a) {\n return false;\n };\n _2.vc = function Tmb() {\n return mmb(), lmb;\n };\n _2.xc = function Umb(a) {\n return null;\n };\n _2.ec = function Vmb() {\n return mmb(), lmb;\n };\n _2.gc = function Wmb() {\n return 0;\n };\n _2.Cc = function Xmb() {\n return mmb(), jmb;\n };\n mdb(bie, \"Collections/EmptyMap\", 943);\n bcb(942, eie, Cie, Ymb);\n _2.Hc = function Zmb(a) {\n return false;\n };\n _2.Kc = function $mb() {\n return mmb(), Emb(), Dmb;\n };\n _2.gc = function _mb() {\n return 0;\n };\n mdb(bie, \"Collections/EmptySet\", 942);\n bcb(599, 52, { 3: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1 }, anb);\n _2.Hc = function bnb(a) {\n return wtb(this.a, a);\n };\n _2.Xb = function cnb(a) {\n tCb(a, 1);\n return this.a;\n };\n _2.gc = function dnb() {\n return 1;\n };\n mdb(bie, \"Collections/SingletonList\", 599);\n bcb(372, 1, wie, lnb);\n _2.Jc = function rnb(a) {\n reb(this, a);\n };\n _2.Lc = function unb() {\n return new YAb(null, this.Nc());\n };\n _2.Nc = function xnb() {\n return new Kub(this, 0);\n };\n _2.Oc = function ynb() {\n return new YAb(null, this.Nc());\n };\n _2.Fc = function mnb(a) {\n return enb();\n };\n _2.Gc = function nnb(a) {\n return fnb();\n };\n _2.$b = function onb() {\n gnb();\n };\n _2.Hc = function pnb(a) {\n return hnb(this, a);\n };\n _2.Ic = function qnb(a) {\n return inb(this, a);\n };\n _2.dc = function snb() {\n return this.b.dc();\n };\n _2.Kc = function tnb() {\n return new Dnb(this.b.Kc());\n };\n _2.Mc = function vnb(a) {\n return jnb();\n };\n _2.gc = function wnb() {\n return this.b.gc();\n };\n _2.Pc = function znb() {\n return this.b.Pc();\n };\n _2.Qc = function Anb(a) {\n return knb(this, a);\n };\n _2.Ib = function Bnb() {\n return fcb(this.b);\n };\n mdb(bie, \"Collections/UnmodifiableCollection\", 372);\n bcb(371, 1, aie, Dnb);\n _2.Nb = function Enb(a) {\n Rrb(this, a);\n };\n _2.Ob = function Fnb() {\n return this.b.Ob();\n };\n _2.Pb = function Gnb() {\n return this.b.Pb();\n };\n _2.Qb = function Hnb() {\n Cnb();\n };\n mdb(bie, \"Collections/UnmodifiableCollectionIterator\", 371);\n bcb(531, 372, cke, Inb);\n _2.Nc = function Vnb() {\n return new Kub(this, 16);\n };\n _2.Vc = function Jnb(a, b) {\n throw vbb(new bgb());\n };\n _2.Wc = function Knb(a, b) {\n throw vbb(new bgb());\n };\n _2.Fb = function Lnb(a) {\n return pb(this.a, a);\n };\n _2.Xb = function Mnb(a) {\n return this.a.Xb(a);\n };\n _2.Hb = function Nnb() {\n return tb(this.a);\n };\n _2.Xc = function Onb(a) {\n return this.a.Xc(a);\n };\n _2.dc = function Pnb() {\n return this.a.dc();\n };\n _2.Yc = function Qnb() {\n return new Xnb(this.a.Zc(0));\n };\n _2.Zc = function Rnb(a) {\n return new Xnb(this.a.Zc(a));\n };\n _2.$c = function Snb(a) {\n throw vbb(new bgb());\n };\n _2._c = function Tnb(a, b) {\n throw vbb(new bgb());\n };\n _2.ad = function Unb(a) {\n throw vbb(new bgb());\n };\n _2.bd = function Wnb(a, b) {\n return new Inb(this.a.bd(a, b));\n };\n mdb(bie, \"Collections/UnmodifiableList\", 531);\n bcb(690, 371, jie, Xnb);\n _2.Qb = function bob() {\n Cnb();\n };\n _2.Rb = function Ynb(a) {\n throw vbb(new bgb());\n };\n _2.Sb = function Znb() {\n return this.a.Sb();\n };\n _2.Tb = function $nb() {\n return this.a.Tb();\n };\n _2.Ub = function _nb() {\n return this.a.Ub();\n };\n _2.Vb = function aob() {\n return this.a.Vb();\n };\n _2.Wb = function cob(a) {\n throw vbb(new bgb());\n };\n mdb(bie, \"Collections/UnmodifiableListIterator\", 690);\n bcb(600, 1, cie, iob);\n _2.wc = function oob(a) {\n stb(this, a);\n };\n _2.yc = function tob(a, b, c2) {\n return ttb(this, a, b, c2);\n };\n _2.$b = function job() {\n throw vbb(new bgb());\n };\n _2._b = function kob(a) {\n return this.c._b(a);\n };\n _2.uc = function lob(a) {\n return dob(this, a);\n };\n _2.vc = function mob() {\n return eob(this);\n };\n _2.Fb = function nob(a) {\n return fob(this, a);\n };\n _2.xc = function pob(a) {\n return this.c.xc(a);\n };\n _2.Hb = function qob() {\n return tb(this.c);\n };\n _2.dc = function rob() {\n return this.c.dc();\n };\n _2.ec = function sob() {\n return gob(this);\n };\n _2.zc = function uob(a, b) {\n throw vbb(new bgb());\n };\n _2.Bc = function vob(a) {\n throw vbb(new bgb());\n };\n _2.gc = function wob() {\n return this.c.gc();\n };\n _2.Ib = function xob() {\n return fcb(this.c);\n };\n _2.Cc = function yob() {\n return hob(this);\n };\n mdb(bie, \"Collections/UnmodifiableMap\", 600);\n bcb(382, 372, Bie, zob);\n _2.Nc = function Cob() {\n return new Kub(this, 1);\n };\n _2.Fb = function Aob(a) {\n return pb(this.b, a);\n };\n _2.Hb = function Bob() {\n return tb(this.b);\n };\n mdb(bie, \"Collections/UnmodifiableSet\", 382);\n bcb(944, 382, Bie, Gob);\n _2.Hc = function Hob(a) {\n return Dob(this, a);\n };\n _2.Ic = function Iob(a) {\n return this.b.Ic(a);\n };\n _2.Kc = function Job() {\n var a;\n a = this.b.Kc();\n return new Mob(a);\n };\n _2.Pc = function Kob() {\n var a;\n a = this.b.Pc();\n Fob(a, a.length);\n return a;\n };\n _2.Qc = function Lob(a) {\n return Eob(this, a);\n };\n mdb(bie, \"Collections/UnmodifiableMap/UnmodifiableEntrySet\", 944);\n bcb(945, 1, aie, Mob);\n _2.Nb = function Nob(a) {\n Rrb(this, a);\n };\n _2.Pb = function Pob() {\n return new Rob(BD(this.a.Pb(), 42));\n };\n _2.Ob = function Oob() {\n return this.a.Ob();\n };\n _2.Qb = function Qob() {\n throw vbb(new bgb());\n };\n mdb(bie, \"Collections/UnmodifiableMap/UnmodifiableEntrySet/1\", 945);\n bcb(688, 1, _je, Rob);\n _2.Fb = function Sob(a) {\n return this.a.Fb(a);\n };\n _2.cd = function Tob() {\n return this.a.cd();\n };\n _2.dd = function Uob() {\n return this.a.dd();\n };\n _2.Hb = function Vob() {\n return this.a.Hb();\n };\n _2.ed = function Wob(a) {\n throw vbb(new bgb());\n };\n _2.Ib = function Xob() {\n return fcb(this.a);\n };\n mdb(bie, \"Collections/UnmodifiableMap/UnmodifiableEntrySet/UnmodifiableEntry\", 688);\n bcb(601, 531, { 20: 1, 14: 1, 15: 1, 54: 1 }, Yob);\n mdb(bie, \"Collections/UnmodifiableRandomAccessList\", 601);\n bcb(689, 382, Die, Zob);\n _2.Nc = function apb() {\n return new Rub(this);\n };\n _2.Fb = function $ob(a) {\n return pb(this.a, a);\n };\n _2.Hb = function _ob() {\n return tb(this.a);\n };\n mdb(bie, \"Collections/UnmodifiableSortedSet\", 689);\n bcb(847, 1, dke, bpb);\n _2.ue = function cpb(a, b) {\n var c2;\n return c2 = Ucc(BD(a, 11), BD(b, 11)), c2 != 0 ? c2 : Wcc(BD(a, 11), BD(b, 11));\n };\n _2.Fb = function dpb(a) {\n return this === a;\n };\n _2.ve = function epb() {\n return new tpb(this);\n };\n mdb(bie, \"Comparator/lambda$0$Type\", 847);\n var fpb, gpb, hpb;\n bcb(751, 1, dke, kpb);\n _2.ue = function lpb(a, b) {\n return jpb(BD(a, 35), BD(b, 35));\n };\n _2.Fb = function mpb(a) {\n return this === a;\n };\n _2.ve = function npb() {\n return ipb(), hpb;\n };\n mdb(bie, \"Comparators/NaturalOrderComparator\", 751);\n bcb(1177, 1, dke, ppb);\n _2.ue = function qpb(a, b) {\n return opb(BD(a, 35), BD(b, 35));\n };\n _2.Fb = function rpb(a) {\n return this === a;\n };\n _2.ve = function spb() {\n return ipb(), gpb;\n };\n mdb(bie, \"Comparators/ReverseNaturalOrderComparator\", 1177);\n bcb(64, 1, dke, tpb);\n _2.Fb = function vpb(a) {\n return this === a;\n };\n _2.ue = function upb(a, b) {\n return this.a.ue(b, a);\n };\n _2.ve = function wpb() {\n return this.a;\n };\n mdb(bie, \"Comparators/ReversedComparator\", 64);\n bcb(166, 60, Tie, Apb);\n mdb(bie, \"ConcurrentModificationException\", 166);\n var Bpb, Cpb;\n bcb(1904, 1, eke, Gpb);\n _2.we = function Hpb(a) {\n Epb(this, a);\n };\n _2.Ib = function Ipb() {\n return \"DoubleSummaryStatistics[count = \" + Ubb(this.a) + \", avg = \" + (Dbb(this.a, 0) ? Fpb(this) / Sbb(this.a) : 0) + \", min = \" + this.c + \", max = \" + this.b + \", sum = \" + Fpb(this) + \"]\";\n };\n _2.a = 0;\n _2.b = Qje;\n _2.c = Pje;\n _2.d = 0;\n _2.e = 0;\n _2.f = 0;\n mdb(bie, \"DoubleSummaryStatistics\", 1904);\n bcb(1805, 60, Tie, Jpb);\n mdb(bie, \"EmptyStackException\", 1805);\n bcb(451, 1967, cie, Rpb);\n _2.zc = function Xpb(a, b) {\n return Opb(this, a, b);\n };\n _2.$b = function Spb() {\n Kpb(this);\n };\n _2._b = function Tpb(a) {\n return Lpb(this, a);\n };\n _2.uc = function Upb(a) {\n var b, c2;\n for (c2 = new Gqb(this.a); c2.a < c2.c.a.length; ) {\n b = Fqb(c2);\n if (wtb(a, this.b[b.g])) {\n return true;\n }\n }\n return false;\n };\n _2.vc = function Vpb() {\n return new _pb(this);\n };\n _2.xc = function Wpb(a) {\n return Mpb(this, a);\n };\n _2.Bc = function Ypb(a) {\n return Ppb(this, a);\n };\n _2.gc = function Zpb() {\n return this.a.c;\n };\n mdb(bie, \"EnumMap\", 451);\n bcb(1352, eie, fie, _pb);\n _2.$b = function aqb() {\n Kpb(this.a);\n };\n _2.Hc = function bqb(a) {\n return $pb(this, a);\n };\n _2.Kc = function cqb() {\n return new fqb(this.a);\n };\n _2.Mc = function dqb(a) {\n var b;\n if ($pb(this, a)) {\n b = BD(a, 42).cd();\n Ppb(this.a, b);\n return true;\n }\n return false;\n };\n _2.gc = function eqb() {\n return this.a.a.c;\n };\n mdb(bie, \"EnumMap/EntrySet\", 1352);\n bcb(1353, 1, aie, fqb);\n _2.Nb = function gqb(a) {\n Rrb(this, a);\n };\n _2.Pb = function iqb() {\n return this.b = Fqb(this.a), new kqb(this.c, this.b);\n };\n _2.Ob = function hqb() {\n return Eqb(this.a);\n };\n _2.Qb = function jqb() {\n yCb(!!this.b);\n Ppb(this.c, this.b);\n this.b = null;\n };\n mdb(bie, \"EnumMap/EntrySetIterator\", 1353);\n bcb(1354, 1984, _je, kqb);\n _2.cd = function lqb() {\n return this.a;\n };\n _2.dd = function mqb() {\n return this.b.b[this.a.g];\n };\n _2.ed = function nqb(a) {\n return Qpb(this.b, this.a.g, a);\n };\n mdb(bie, \"EnumMap/MapEntry\", 1354);\n bcb(174, eie, { 20: 1, 28: 1, 14: 1, 174: 1, 21: 1 });\n var hK = mdb(bie, \"EnumSet\", 174);\n bcb(156, 174, { 20: 1, 28: 1, 14: 1, 174: 1, 156: 1, 21: 1 }, xqb);\n _2.Fc = function yqb(a) {\n return rqb(this, BD(a, 22));\n };\n _2.Hc = function zqb(a) {\n return tqb(this, a);\n };\n _2.Kc = function Aqb() {\n return new Gqb(this);\n };\n _2.Mc = function Bqb(a) {\n return vqb(this, a);\n };\n _2.gc = function Cqb() {\n return this.c;\n };\n _2.c = 0;\n mdb(bie, \"EnumSet/EnumSetImpl\", 156);\n bcb(343, 1, aie, Gqb);\n _2.Nb = function Hqb(a) {\n Rrb(this, a);\n };\n _2.Pb = function Jqb() {\n return Fqb(this);\n };\n _2.Ob = function Iqb() {\n return Eqb(this);\n };\n _2.Qb = function Kqb() {\n yCb(this.b != -1);\n NC(this.c.b, this.b, null);\n --this.c.c;\n this.b = -1;\n };\n _2.a = -1;\n _2.b = -1;\n mdb(bie, \"EnumSet/EnumSetImpl/IteratorImpl\", 343);\n bcb(43, 488, fke, Lqb, Mqb, Nqb);\n _2.re = function Oqb(a, b) {\n return PD(a) === PD(b) || a != null && pb(a, b);\n };\n _2.se = function Pqb(a) {\n var b;\n b = tb(a);\n return b | 0;\n };\n mdb(bie, \"HashMap\", 43);\n bcb(53, eie, gke, Tqb, Uqb, Vqb);\n _2.Fc = function Xqb(a) {\n return Qqb(this, a);\n };\n _2.$b = function Yqb() {\n this.a.$b();\n };\n _2.Hc = function Zqb(a) {\n return Rqb(this, a);\n };\n _2.dc = function $qb() {\n return this.a.gc() == 0;\n };\n _2.Kc = function _qb() {\n return this.a.ec().Kc();\n };\n _2.Mc = function arb(a) {\n return Sqb(this, a);\n };\n _2.gc = function brb() {\n return this.a.gc();\n };\n var jK = mdb(bie, \"HashSet\", 53);\n bcb(1781, 1, sie, drb);\n _2.ud = function erb(a) {\n crb(this, a);\n };\n _2.Ib = function frb() {\n return \"IntSummaryStatistics[count = \" + Ubb(this.a) + \", avg = \" + (Dbb(this.a, 0) ? Sbb(this.d) / Sbb(this.a) : 0) + \", min = \" + this.c + \", max = \" + this.b + \", sum = \" + Ubb(this.d) + \"]\";\n };\n _2.a = 0;\n _2.b = Rie;\n _2.c = Ohe;\n _2.d = 0;\n mdb(bie, \"IntSummaryStatistics\", 1781);\n bcb(1049, 1, vie, lrb);\n _2.Jc = function mrb(a) {\n reb(this, a);\n };\n _2.Kc = function nrb() {\n return new orb(this);\n };\n _2.c = 0;\n mdb(bie, \"InternalHashCodeMap\", 1049);\n bcb(711, 1, aie, orb);\n _2.Nb = function prb(a) {\n Rrb(this, a);\n };\n _2.Pb = function rrb() {\n return this.d = this.a[this.c++], this.d;\n };\n _2.Ob = function qrb() {\n var a;\n if (this.c < this.a.length) {\n return true;\n }\n a = this.b.next();\n if (!a.done) {\n this.a = a.value[1];\n this.c = 0;\n return true;\n }\n return false;\n };\n _2.Qb = function srb() {\n krb(this.e, this.d.cd());\n this.c != 0 && --this.c;\n };\n _2.c = 0;\n _2.d = null;\n mdb(bie, \"InternalHashCodeMap/1\", 711);\n var vrb;\n bcb(1047, 1, vie, Frb);\n _2.Jc = function Grb(a) {\n reb(this, a);\n };\n _2.Kc = function Hrb() {\n return new Irb(this);\n };\n _2.c = 0;\n _2.d = 0;\n mdb(bie, \"InternalStringMap\", 1047);\n bcb(710, 1, aie, Irb);\n _2.Nb = function Jrb(a) {\n Rrb(this, a);\n };\n _2.Pb = function Lrb() {\n return this.c = this.a, this.a = this.b.next(), new Nrb(this.d, this.c, this.d.d);\n };\n _2.Ob = function Krb() {\n return !this.a.done;\n };\n _2.Qb = function Mrb() {\n Erb(this.d, this.c.value[0]);\n };\n mdb(bie, \"InternalStringMap/1\", 710);\n bcb(1048, 1984, _je, Nrb);\n _2.cd = function Orb() {\n return this.b.value[0];\n };\n _2.dd = function Prb() {\n if (this.a.d != this.c) {\n return Crb(this.a, this.b.value[0]);\n }\n return this.b.value[1];\n };\n _2.ed = function Qrb(a) {\n return Drb(this.a, this.b.value[0], a);\n };\n _2.c = 0;\n mdb(bie, \"InternalStringMap/2\", 1048);\n bcb(228, 43, fke, $rb, _rb);\n _2.$b = function asb() {\n Urb(this);\n };\n _2._b = function bsb(a) {\n return Vrb(this, a);\n };\n _2.uc = function csb(a) {\n var b;\n b = this.d.a;\n while (b != this.d) {\n if (wtb(b.e, a)) {\n return true;\n }\n b = b.a;\n }\n return false;\n };\n _2.vc = function dsb() {\n return new nsb(this);\n };\n _2.xc = function esb(a) {\n return Wrb(this, a);\n };\n _2.zc = function fsb(a, b) {\n return Xrb(this, a, b);\n };\n _2.Bc = function gsb(a) {\n return Zrb(this, a);\n };\n _2.gc = function hsb() {\n return Vhb(this.e);\n };\n _2.c = false;\n mdb(bie, \"LinkedHashMap\", 228);\n bcb(387, 383, { 484: 1, 383: 1, 387: 1, 42: 1 }, ksb, lsb);\n mdb(bie, \"LinkedHashMap/ChainEntry\", 387);\n bcb(701, eie, fie, nsb);\n _2.$b = function osb() {\n Urb(this.a);\n };\n _2.Hc = function psb(a) {\n return msb(this, a);\n };\n _2.Kc = function qsb() {\n return new usb(this);\n };\n _2.Mc = function rsb(a) {\n var b;\n if (msb(this, a)) {\n b = BD(a, 42).cd();\n Zrb(this.a, b);\n return true;\n }\n return false;\n };\n _2.gc = function ssb() {\n return Vhb(this.a.e);\n };\n mdb(bie, \"LinkedHashMap/EntrySet\", 701);\n bcb(702, 1, aie, usb);\n _2.Nb = function vsb(a) {\n Rrb(this, a);\n };\n _2.Pb = function xsb() {\n return tsb(this);\n };\n _2.Ob = function wsb() {\n return this.b != this.c.a.d;\n };\n _2.Qb = function ysb() {\n yCb(!!this.a);\n xpb(this.c.a.e, this);\n jsb(this.a);\n Thb(this.c.a.e, this.a.d);\n ypb(this.c.a.e, this);\n this.a = null;\n };\n mdb(bie, \"LinkedHashMap/EntrySet/EntryIterator\", 702);\n bcb(178, 53, gke, zsb, Asb, Bsb);\n var uK = mdb(bie, \"LinkedHashSet\", 178);\n bcb(68, 1964, { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 68: 1, 15: 1 }, Psb, Qsb);\n _2.Fc = function Rsb(a) {\n return Dsb(this, a);\n };\n _2.$b = function Ssb() {\n Osb(this);\n };\n _2.Zc = function Tsb(a) {\n return Jsb(this, a);\n };\n _2.gc = function Usb() {\n return this.b;\n };\n _2.b = 0;\n var xK = mdb(bie, \"LinkedList\", 68);\n bcb(970, 1, jie, $sb);\n _2.Nb = function atb(a) {\n Rrb(this, a);\n };\n _2.Rb = function _sb(a) {\n Vsb(this, a);\n };\n _2.Ob = function btb() {\n return Wsb(this);\n };\n _2.Sb = function ctb() {\n return this.b.b != this.d.a;\n };\n _2.Pb = function dtb() {\n return Xsb(this);\n };\n _2.Tb = function etb() {\n return this.a;\n };\n _2.Ub = function ftb() {\n return Ysb(this);\n };\n _2.Vb = function gtb() {\n return this.a - 1;\n };\n _2.Qb = function htb() {\n Zsb(this);\n };\n _2.Wb = function itb(a) {\n yCb(!!this.c);\n this.c.c = a;\n };\n _2.a = 0;\n _2.c = null;\n mdb(bie, \"LinkedList/ListIteratorImpl\", 970);\n bcb(608, 1, {}, jtb);\n mdb(bie, \"LinkedList/Node\", 608);\n bcb(1959, 1, {});\n var ltb, mtb;\n mdb(bie, \"Locale\", 1959);\n bcb(861, 1959, {}, otb);\n _2.Ib = function ptb() {\n return \"\";\n };\n mdb(bie, \"Locale/1\", 861);\n bcb(862, 1959, {}, qtb);\n _2.Ib = function rtb() {\n return \"unknown\";\n };\n mdb(bie, \"Locale/4\", 862);\n bcb(109, 60, { 3: 1, 102: 1, 60: 1, 78: 1, 109: 1 }, utb, vtb);\n mdb(bie, \"NoSuchElementException\", 109);\n bcb(404, 1, { 404: 1 }, Ftb);\n _2.Fb = function Gtb(a) {\n var b;\n if (a === this) {\n return true;\n }\n if (!JD(a, 404)) {\n return false;\n }\n b = BD(a, 404);\n return wtb(this.a, b.a);\n };\n _2.Hb = function Htb() {\n return xtb(this.a);\n };\n _2.Ib = function Jtb() {\n return this.a != null ? Whe + xfb(this.a) + \")\" : \"Optional.empty()\";\n };\n var ztb;\n mdb(bie, \"Optional\", 404);\n bcb(463, 1, { 463: 1 }, Otb, Ptb);\n _2.Fb = function Qtb(a) {\n var b;\n if (a === this) {\n return true;\n }\n if (!JD(a, 463)) {\n return false;\n }\n b = BD(a, 463);\n return this.a == b.a && Kdb(this.b, b.b) == 0;\n };\n _2.Hb = function Rtb() {\n return this.a ? QD(this.b) : 0;\n };\n _2.Ib = function Stb() {\n return this.a ? \"OptionalDouble.of(\" + (\"\" + this.b) + \")\" : \"OptionalDouble.empty()\";\n };\n _2.a = false;\n _2.b = 0;\n var Ktb;\n mdb(bie, \"OptionalDouble\", 463);\n bcb(517, 1, { 517: 1 }, Wtb, Xtb);\n _2.Fb = function Ytb(a) {\n var b;\n if (a === this) {\n return true;\n }\n if (!JD(a, 517)) {\n return false;\n }\n b = BD(a, 517);\n return this.a == b.a && beb(this.b, b.b) == 0;\n };\n _2.Hb = function Ztb() {\n return this.a ? this.b : 0;\n };\n _2.Ib = function $tb() {\n return this.a ? \"OptionalInt.of(\" + (\"\" + this.b) + \")\" : \"OptionalInt.empty()\";\n };\n _2.a = false;\n _2.b = 0;\n var Ttb;\n mdb(bie, \"OptionalInt\", 517);\n bcb(503, 2004, die, gub);\n _2.Gc = function hub(a) {\n return _tb(this, a);\n };\n _2.$b = function iub() {\n this.b.c = KC(SI, Uhe, 1, 0, 5, 1);\n };\n _2.Hc = function jub(a) {\n return (a == null ? -1 : Jkb(this.b, a, 0)) != -1;\n };\n _2.Kc = function kub() {\n return new qub(this);\n };\n _2.Mc = function lub(a) {\n return eub(this, a);\n };\n _2.gc = function mub() {\n return this.b.c.length;\n };\n _2.Nc = function nub() {\n return new Kub(this, 256);\n };\n _2.Pc = function oub() {\n return Pkb(this.b);\n };\n _2.Qc = function pub(a) {\n return Qkb(this.b, a);\n };\n mdb(bie, \"PriorityQueue\", 503);\n bcb(1277, 1, aie, qub);\n _2.Nb = function rub(a) {\n Rrb(this, a);\n };\n _2.Ob = function tub() {\n return this.a < this.c.b.c.length;\n };\n _2.Pb = function uub() {\n sCb(this.a < this.c.b.c.length);\n this.b = this.a++;\n return Ikb(this.c.b, this.b);\n };\n _2.Qb = function vub() {\n yCb(this.b != -1);\n fub(this.c, this.a = this.b);\n this.b = -1;\n };\n _2.a = 0;\n _2.b = -1;\n mdb(bie, \"PriorityQueue/1\", 1277);\n bcb(230, 1, { 230: 1 }, Gub, Hub);\n _2.a = 0;\n _2.b = 0;\n var wub, xub, yub = 0;\n mdb(bie, \"Random\", 230);\n bcb(27, 1, pie, Kub, Lub, Mub);\n _2.qd = function Nub() {\n return this.a;\n };\n _2.rd = function Oub() {\n Iub(this);\n return this.c;\n };\n _2.Nb = function Pub(a) {\n Iub(this);\n this.d.Nb(a);\n };\n _2.sd = function Qub(a) {\n return Jub(this, a);\n };\n _2.a = 0;\n _2.c = 0;\n mdb(bie, \"Spliterators/IteratorSpliterator\", 27);\n bcb(485, 27, pie, Rub);\n mdb(bie, \"SortedSet/1\", 485);\n bcb(602, 1, eke, Tub);\n _2.we = function Uub(a) {\n this.a.td(a);\n };\n mdb(bie, \"Spliterator/OfDouble/0methodref$accept$Type\", 602);\n bcb(603, 1, eke, Vub);\n _2.we = function Wub(a) {\n this.a.td(a);\n };\n mdb(bie, \"Spliterator/OfDouble/1methodref$accept$Type\", 603);\n bcb(604, 1, sie, Xub);\n _2.ud = function Yub(a) {\n this.a.td(meb(a));\n };\n mdb(bie, \"Spliterator/OfInt/2methodref$accept$Type\", 604);\n bcb(605, 1, sie, Zub);\n _2.ud = function $ub(a) {\n this.a.td(meb(a));\n };\n mdb(bie, \"Spliterator/OfInt/3methodref$accept$Type\", 605);\n bcb(617, 1, pie);\n _2.Nb = function evb(a) {\n Sub(this, a);\n };\n _2.qd = function cvb() {\n return this.d;\n };\n _2.rd = function dvb() {\n return this.e;\n };\n _2.d = 0;\n _2.e = 0;\n mdb(bie, \"Spliterators/BaseSpliterator\", 617);\n bcb(721, 617, pie);\n _2.xe = function gvb(a) {\n _ub(this, a);\n };\n _2.Nb = function hvb(a) {\n JD(a, 182) ? _ub(this, BD(a, 182)) : _ub(this, new Vub(a));\n };\n _2.sd = function ivb(a) {\n return JD(a, 182) ? this.ye(BD(a, 182)) : this.ye(new Tub(a));\n };\n mdb(bie, \"Spliterators/AbstractDoubleSpliterator\", 721);\n bcb(720, 617, pie);\n _2.xe = function kvb(a) {\n _ub(this, a);\n };\n _2.Nb = function lvb(a) {\n JD(a, 196) ? _ub(this, BD(a, 196)) : _ub(this, new Zub(a));\n };\n _2.sd = function mvb(a) {\n return JD(a, 196) ? this.ye(BD(a, 196)) : this.ye(new Xub(a));\n };\n mdb(bie, \"Spliterators/AbstractIntSpliterator\", 720);\n bcb(540, 617, pie);\n mdb(bie, \"Spliterators/AbstractSpliterator\", 540);\n bcb(692, 1, pie);\n _2.Nb = function tvb(a) {\n Sub(this, a);\n };\n _2.qd = function rvb() {\n return this.b;\n };\n _2.rd = function svb() {\n return this.d - this.c;\n };\n _2.b = 0;\n _2.c = 0;\n _2.d = 0;\n mdb(bie, \"Spliterators/BaseArraySpliterator\", 692);\n bcb(947, 692, pie, vvb);\n _2.ze = function wvb(a, b) {\n uvb(this, BD(a, 38), b);\n };\n _2.Nb = function xvb(a) {\n ovb(this, a);\n };\n _2.sd = function yvb(a) {\n return pvb(this, a);\n };\n mdb(bie, \"Spliterators/ArraySpliterator\", 947);\n bcb(693, 692, pie, Avb);\n _2.ze = function Cvb(a, b) {\n zvb(this, BD(a, 182), b);\n };\n _2.xe = function Dvb(a) {\n ovb(this, a);\n };\n _2.Nb = function Evb(a) {\n JD(a, 182) ? ovb(this, BD(a, 182)) : ovb(this, new Vub(a));\n };\n _2.ye = function Fvb(a) {\n return pvb(this, a);\n };\n _2.sd = function Gvb(a) {\n return JD(a, 182) ? pvb(this, BD(a, 182)) : pvb(this, new Tub(a));\n };\n mdb(bie, \"Spliterators/DoubleArraySpliterator\", 693);\n bcb(1968, 1, pie);\n _2.Nb = function Lvb(a) {\n Sub(this, a);\n };\n _2.qd = function Jvb() {\n return 16448;\n };\n _2.rd = function Kvb() {\n return 0;\n };\n var Hvb;\n mdb(bie, \"Spliterators/EmptySpliterator\", 1968);\n bcb(946, 1968, pie, Ovb);\n _2.xe = function Pvb(a) {\n Mvb(a);\n };\n _2.Nb = function Qvb(a) {\n JD(a, 196) ? Mvb(BD(a, 196)) : Mvb(new Zub(a));\n };\n _2.ye = function Rvb(a) {\n return Nvb(a);\n };\n _2.sd = function Svb(a) {\n return JD(a, 196) ? Nvb(BD(a, 196)) : Nvb(new Xub(a));\n };\n mdb(bie, \"Spliterators/EmptySpliterator/OfInt\", 946);\n bcb(580, 52, pke, Wvb);\n _2.Vc = function Xvb(a, b) {\n _vb(a, this.a.c.length + 1);\n Dkb(this.a, a, b);\n };\n _2.Fc = function Yvb(a) {\n return Ekb(this.a, a);\n };\n _2.Wc = function Zvb(a, b) {\n _vb(a, this.a.c.length + 1);\n return Fkb(this.a, a, b);\n };\n _2.Gc = function $vb(a) {\n return Gkb(this.a, a);\n };\n _2.$b = function awb() {\n this.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n };\n _2.Hc = function bwb(a) {\n return Jkb(this.a, a, 0) != -1;\n };\n _2.Ic = function cwb(a) {\n return Be(this.a, a);\n };\n _2.Jc = function dwb(a) {\n Hkb(this.a, a);\n };\n _2.Xb = function ewb(a) {\n return _vb(a, this.a.c.length), Ikb(this.a, a);\n };\n _2.Xc = function fwb(a) {\n return Jkb(this.a, a, 0);\n };\n _2.dc = function gwb() {\n return this.a.c.length == 0;\n };\n _2.Kc = function hwb() {\n return new olb(this.a);\n };\n _2.$c = function iwb(a) {\n return _vb(a, this.a.c.length), Kkb(this.a, a);\n };\n _2.Ud = function jwb(a, b) {\n Mkb(this.a, a, b);\n };\n _2._c = function kwb(a, b) {\n return _vb(a, this.a.c.length), Nkb(this.a, a, b);\n };\n _2.gc = function lwb() {\n return this.a.c.length;\n };\n _2.ad = function mwb(a) {\n Okb(this.a, a);\n };\n _2.bd = function nwb(a, b) {\n return new Jib(this.a, a, b);\n };\n _2.Pc = function owb() {\n return Pkb(this.a);\n };\n _2.Qc = function pwb(a) {\n return Qkb(this.a, a);\n };\n _2.Ib = function qwb() {\n return Fe(this.a);\n };\n mdb(bie, \"Vector\", 580);\n bcb(809, 580, pke, twb);\n mdb(bie, \"Stack\", 809);\n bcb(206, 1, { 206: 1 }, xwb);\n _2.Ib = function ywb() {\n return wwb(this);\n };\n mdb(bie, \"StringJoiner\", 206);\n bcb(544, 1992, { 3: 1, 83: 1, 171: 1, 161: 1 }, Pwb, Qwb);\n _2.$b = function Rwb() {\n zwb(this);\n };\n _2.vc = function Swb() {\n return new cxb(this);\n };\n _2.zc = function Twb(a, b) {\n return Iwb(this, a, b);\n };\n _2.Bc = function Uwb(a) {\n return Jwb(this, a);\n };\n _2.gc = function Vwb() {\n return this.c;\n };\n _2.c = 0;\n mdb(bie, \"TreeMap\", 544);\n bcb(390, 1, aie, Ywb);\n _2.Nb = function $wb(a) {\n Rrb(this, a);\n };\n _2.Pb = function axb() {\n return Wwb(this);\n };\n _2.Ob = function _wb() {\n return sib(this.a);\n };\n _2.Qb = function bxb() {\n Xwb(this);\n };\n mdb(bie, \"TreeMap/EntryIterator\", 390);\n bcb(435, 739, fie, cxb);\n _2.$b = function dxb() {\n zwb(this.a);\n };\n mdb(bie, \"TreeMap/EntrySet\", 435);\n bcb(436, 383, { 484: 1, 383: 1, 42: 1, 436: 1 }, exb);\n _2.b = false;\n var dL = mdb(bie, \"TreeMap/Node\", 436);\n bcb(621, 1, {}, fxb);\n _2.Ib = function gxb() {\n return \"State: mv=\" + this.c + \" value=\" + this.d + \" done=\" + this.a + \" found=\" + this.b;\n };\n _2.a = false;\n _2.b = false;\n _2.c = false;\n mdb(bie, \"TreeMap/State\", 621);\n bcb(297, 22, qke, mxb);\n _2.Ae = function nxb() {\n return false;\n };\n _2.Be = function oxb() {\n return false;\n };\n var hxb, ixb, jxb, kxb;\n var iL = ndb(bie, \"TreeMap/SubMapType\", 297, CI, qxb, pxb);\n bcb(1112, 297, qke, rxb);\n _2.Be = function sxb() {\n return true;\n };\n ndb(bie, \"TreeMap/SubMapType/1\", 1112, iL, null, null);\n bcb(1113, 297, qke, txb);\n _2.Ae = function uxb() {\n return true;\n };\n _2.Be = function vxb() {\n return true;\n };\n ndb(bie, \"TreeMap/SubMapType/2\", 1113, iL, null, null);\n bcb(1114, 297, qke, wxb);\n _2.Ae = function xxb() {\n return true;\n };\n ndb(bie, \"TreeMap/SubMapType/3\", 1114, iL, null, null);\n var yxb;\n bcb(208, eie, { 3: 1, 20: 1, 28: 1, 14: 1, 271: 1, 21: 1, 84: 1, 208: 1 }, Gxb, Hxb);\n _2.Nc = function Oxb() {\n return new Rub(this);\n };\n _2.Fc = function Ixb(a) {\n return Axb(this, a);\n };\n _2.$b = function Jxb() {\n zwb(this.a);\n };\n _2.Hc = function Kxb(a) {\n return ujb(this.a, a);\n };\n _2.Kc = function Lxb() {\n var a;\n return a = new Ywb(new cxb(new Gjb(this.a).a).b), new Njb(a);\n };\n _2.Mc = function Mxb(a) {\n return Fxb(this, a);\n };\n _2.gc = function Nxb() {\n return this.a.c;\n };\n var kL = mdb(bie, \"TreeSet\", 208);\n bcb(966, 1, {}, Rxb);\n _2.Ce = function Sxb(a, b) {\n return Pxb(this.a, a, b);\n };\n mdb(rke, \"BinaryOperator/lambda$0$Type\", 966);\n bcb(967, 1, {}, Txb);\n _2.Ce = function Uxb(a, b) {\n return Qxb(this.a, a, b);\n };\n mdb(rke, \"BinaryOperator/lambda$1$Type\", 967);\n bcb(846, 1, {}, Vxb);\n _2.Kb = function Wxb(a) {\n return a;\n };\n mdb(rke, \"Function/lambda$0$Type\", 846);\n bcb(431, 1, Oie, Xxb);\n _2.Mb = function Yxb(a) {\n return !this.a.Mb(a);\n };\n mdb(rke, \"Predicate/lambda$2$Type\", 431);\n bcb(572, 1, { 572: 1 });\n var qL = mdb(ske, \"Handler\", 572);\n bcb(2007, 1, Qhe);\n _2.ne = function _xb() {\n return \"DUMMY\";\n };\n _2.Ib = function ayb() {\n return this.ne();\n };\n var Zxb;\n mdb(ske, \"Level\", 2007);\n bcb(1621, 2007, Qhe, byb);\n _2.ne = function cyb() {\n return \"INFO\";\n };\n mdb(ske, \"Level/LevelInfo\", 1621);\n bcb(1640, 1, {}, gyb);\n var dyb;\n mdb(ske, \"LogManager\", 1640);\n bcb(1780, 1, Qhe, iyb);\n _2.b = null;\n mdb(ske, \"LogRecord\", 1780);\n bcb(512, 1, { 512: 1 }, wyb);\n _2.e = false;\n var jyb = false, kyb = false, lyb = false, myb = false, nyb = false;\n mdb(ske, \"Logger\", 512);\n bcb(819, 572, { 572: 1 }, zyb);\n mdb(ske, \"SimpleConsoleLogHandler\", 819);\n bcb(132, 22, { 3: 1, 35: 1, 22: 1, 132: 1 }, Gyb);\n var Cyb, Dyb, Eyb;\n var xL = ndb(vke, \"Collector/Characteristics\", 132, CI, Iyb, Hyb);\n var Jyb;\n bcb(744, 1, {}, Lyb);\n mdb(vke, \"CollectorImpl\", 744);\n bcb(1060, 1, {}, Zyb);\n _2.Ce = function $yb(a, b) {\n return vwb(BD(a, 206), BD(b, 206));\n };\n mdb(vke, \"Collectors/10methodref$merge$Type\", 1060);\n bcb(1061, 1, {}, _yb);\n _2.Kb = function azb(a) {\n return wwb(BD(a, 206));\n };\n mdb(vke, \"Collectors/11methodref$toString$Type\", 1061);\n bcb(1062, 1, {}, bzb);\n _2.Kb = function czb(a) {\n return Bcb(), _Pb(a) ? true : false;\n };\n mdb(vke, \"Collectors/12methodref$test$Type\", 1062);\n bcb(251, 1, {}, dzb);\n _2.Od = function ezb(a, b) {\n BD(a, 14).Fc(b);\n };\n mdb(vke, \"Collectors/20methodref$add$Type\", 251);\n bcb(253, 1, {}, fzb);\n _2.Ee = function gzb() {\n return new Rkb();\n };\n mdb(vke, \"Collectors/21methodref$ctor$Type\", 253);\n bcb(346, 1, {}, hzb);\n _2.Ee = function izb() {\n return new Tqb();\n };\n mdb(vke, \"Collectors/23methodref$ctor$Type\", 346);\n bcb(347, 1, {}, jzb);\n _2.Od = function kzb(a, b) {\n Qqb(BD(a, 53), b);\n };\n mdb(vke, \"Collectors/24methodref$add$Type\", 347);\n bcb(1055, 1, {}, lzb);\n _2.Ce = function mzb(a, b) {\n return Myb(BD(a, 15), BD(b, 14));\n };\n mdb(vke, \"Collectors/4methodref$addAll$Type\", 1055);\n bcb(1059, 1, {}, nzb);\n _2.Od = function ozb(a, b) {\n uwb(BD(a, 206), BD(b, 475));\n };\n mdb(vke, \"Collectors/9methodref$add$Type\", 1059);\n bcb(1058, 1, {}, pzb);\n _2.Ee = function qzb() {\n return new xwb(this.a, this.b, this.c);\n };\n mdb(vke, \"Collectors/lambda$15$Type\", 1058);\n bcb(1063, 1, {}, rzb);\n _2.Ee = function szb() {\n var a;\n return a = new $rb(), Xrb(a, (Bcb(), false), new Rkb()), Xrb(a, true, new Rkb()), a;\n };\n mdb(vke, \"Collectors/lambda$22$Type\", 1063);\n bcb(1064, 1, {}, tzb);\n _2.Ee = function uzb() {\n return OC(GC(SI, 1), Uhe, 1, 5, [this.a]);\n };\n mdb(vke, \"Collectors/lambda$25$Type\", 1064);\n bcb(1065, 1, {}, vzb);\n _2.Od = function wzb(a, b) {\n Oyb(this.a, CD(a));\n };\n mdb(vke, \"Collectors/lambda$26$Type\", 1065);\n bcb(1066, 1, {}, xzb);\n _2.Ce = function yzb(a, b) {\n return Pyb(this.a, CD(a), CD(b));\n };\n mdb(vke, \"Collectors/lambda$27$Type\", 1066);\n bcb(1067, 1, {}, zzb);\n _2.Kb = function Azb(a) {\n return CD(a)[0];\n };\n mdb(vke, \"Collectors/lambda$28$Type\", 1067);\n bcb(713, 1, {}, Czb);\n _2.Ce = function Dzb(a, b) {\n return Bzb(a, b);\n };\n mdb(vke, \"Collectors/lambda$4$Type\", 713);\n bcb(252, 1, {}, Ezb);\n _2.Ce = function Fzb(a, b) {\n return Ryb(BD(a, 14), BD(b, 14));\n };\n mdb(vke, \"Collectors/lambda$42$Type\", 252);\n bcb(348, 1, {}, Gzb);\n _2.Ce = function Hzb(a, b) {\n return Syb(BD(a, 53), BD(b, 53));\n };\n mdb(vke, \"Collectors/lambda$50$Type\", 348);\n bcb(349, 1, {}, Izb);\n _2.Kb = function Jzb(a) {\n return BD(a, 53);\n };\n mdb(vke, \"Collectors/lambda$51$Type\", 349);\n bcb(1054, 1, {}, Kzb);\n _2.Od = function Lzb(a, b) {\n Tyb(this.a, BD(a, 83), b);\n };\n mdb(vke, \"Collectors/lambda$7$Type\", 1054);\n bcb(1056, 1, {}, Mzb);\n _2.Ce = function Nzb(a, b) {\n return Vyb(BD(a, 83), BD(b, 83), new lzb());\n };\n mdb(vke, \"Collectors/lambda$8$Type\", 1056);\n bcb(1057, 1, {}, Ozb);\n _2.Kb = function Pzb(a) {\n return Uyb(this.a, BD(a, 83));\n };\n mdb(vke, \"Collectors/lambda$9$Type\", 1057);\n bcb(539, 1, {});\n _2.He = function Wzb() {\n Qzb(this);\n };\n _2.d = false;\n mdb(vke, \"TerminatableStream\", 539);\n bcb(812, 539, wke, bAb);\n _2.He = function cAb() {\n Qzb(this);\n };\n mdb(vke, \"DoubleStreamImpl\", 812);\n bcb(1784, 721, pie, fAb);\n _2.ye = function hAb(a) {\n return eAb(this, BD(a, 182));\n };\n _2.a = null;\n mdb(vke, \"DoubleStreamImpl/2\", 1784);\n bcb(1785, 1, eke, iAb);\n _2.we = function jAb(a) {\n gAb(this.a, a);\n };\n mdb(vke, \"DoubleStreamImpl/2/lambda$0$Type\", 1785);\n bcb(1782, 1, eke, kAb);\n _2.we = function lAb(a) {\n dAb(this.a, a);\n };\n mdb(vke, \"DoubleStreamImpl/lambda$0$Type\", 1782);\n bcb(1783, 1, eke, mAb);\n _2.we = function nAb(a) {\n Epb(this.a, a);\n };\n mdb(vke, \"DoubleStreamImpl/lambda$2$Type\", 1783);\n bcb(1358, 720, pie, rAb);\n _2.ye = function sAb(a) {\n return qAb(this, BD(a, 196));\n };\n _2.a = 0;\n _2.b = 0;\n _2.c = 0;\n mdb(vke, \"IntStream/5\", 1358);\n bcb(787, 539, wke, vAb);\n _2.He = function wAb() {\n Qzb(this);\n };\n _2.Ie = function xAb() {\n return Tzb(this), this.a;\n };\n mdb(vke, \"IntStreamImpl\", 787);\n bcb(788, 539, wke, yAb);\n _2.He = function zAb() {\n Qzb(this);\n };\n _2.Ie = function AAb() {\n return Tzb(this), Ivb(), Hvb;\n };\n mdb(vke, \"IntStreamImpl/Empty\", 788);\n bcb(1463, 1, sie, BAb);\n _2.ud = function CAb(a) {\n crb(this.a, a);\n };\n mdb(vke, \"IntStreamImpl/lambda$4$Type\", 1463);\n var xM = odb(vke, \"Stream\");\n bcb(30, 539, { 525: 1, 670: 1, 833: 1 }, YAb);\n _2.He = function ZAb() {\n Qzb(this);\n };\n var DAb;\n mdb(vke, \"StreamImpl\", 30);\n bcb(845, 1, {}, bBb);\n _2.ld = function cBb(a) {\n return aBb(a);\n };\n mdb(vke, \"StreamImpl/0methodref$lambda$2$Type\", 845);\n bcb(1084, 540, pie, fBb);\n _2.sd = function gBb(a) {\n while (dBb(this)) {\n if (this.a.sd(a)) {\n return true;\n } else {\n Qzb(this.b);\n this.b = null;\n this.a = null;\n }\n }\n return false;\n };\n mdb(vke, \"StreamImpl/1\", 1084);\n bcb(1085, 1, qie, hBb);\n _2.td = function iBb(a) {\n eBb(this.a, BD(a, 833));\n };\n mdb(vke, \"StreamImpl/1/lambda$0$Type\", 1085);\n bcb(1086, 1, Oie, jBb);\n _2.Mb = function kBb(a) {\n return Qqb(this.a, a);\n };\n mdb(vke, \"StreamImpl/1methodref$add$Type\", 1086);\n bcb(1087, 540, pie, lBb);\n _2.sd = function mBb(a) {\n var b;\n if (!this.a) {\n b = new Rkb();\n this.b.a.Nb(new nBb(b));\n mmb();\n Okb(b, this.c);\n this.a = new Kub(b, 16);\n }\n return Jub(this.a, a);\n };\n _2.a = null;\n mdb(vke, \"StreamImpl/5\", 1087);\n bcb(1088, 1, qie, nBb);\n _2.td = function oBb(a) {\n Ekb(this.a, a);\n };\n mdb(vke, \"StreamImpl/5/2methodref$add$Type\", 1088);\n bcb(722, 540, pie, qBb);\n _2.sd = function rBb(a) {\n this.b = false;\n while (!this.b && this.c.sd(new sBb(this, a)))\n ;\n return this.b;\n };\n _2.b = false;\n mdb(vke, \"StreamImpl/FilterSpliterator\", 722);\n bcb(1079, 1, qie, sBb);\n _2.td = function tBb(a) {\n pBb(this.a, this.b, a);\n };\n mdb(vke, \"StreamImpl/FilterSpliterator/lambda$0$Type\", 1079);\n bcb(1075, 721, pie, wBb);\n _2.ye = function xBb(a) {\n return vBb(this, BD(a, 182));\n };\n mdb(vke, \"StreamImpl/MapToDoubleSpliterator\", 1075);\n bcb(1078, 1, qie, yBb);\n _2.td = function zBb(a) {\n uBb(this.a, this.b, a);\n };\n mdb(vke, \"StreamImpl/MapToDoubleSpliterator/lambda$0$Type\", 1078);\n bcb(1074, 720, pie, CBb);\n _2.ye = function DBb(a) {\n return BBb(this, BD(a, 196));\n };\n mdb(vke, \"StreamImpl/MapToIntSpliterator\", 1074);\n bcb(1077, 1, qie, EBb);\n _2.td = function FBb(a) {\n ABb(this.a, this.b, a);\n };\n mdb(vke, \"StreamImpl/MapToIntSpliterator/lambda$0$Type\", 1077);\n bcb(719, 540, pie, IBb);\n _2.sd = function JBb(a) {\n return HBb(this, a);\n };\n mdb(vke, \"StreamImpl/MapToObjSpliterator\", 719);\n bcb(1076, 1, qie, KBb);\n _2.td = function LBb(a) {\n GBb(this.a, this.b, a);\n };\n mdb(vke, \"StreamImpl/MapToObjSpliterator/lambda$0$Type\", 1076);\n bcb(618, 1, qie, NBb);\n _2.td = function OBb(a) {\n MBb(this, a);\n };\n mdb(vke, \"StreamImpl/ValueConsumer\", 618);\n bcb(1080, 1, qie, PBb);\n _2.td = function QBb(a) {\n EAb();\n };\n mdb(vke, \"StreamImpl/lambda$0$Type\", 1080);\n bcb(1081, 1, qie, RBb);\n _2.td = function SBb(a) {\n EAb();\n };\n mdb(vke, \"StreamImpl/lambda$1$Type\", 1081);\n bcb(1082, 1, {}, TBb);\n _2.Ce = function UBb(a, b) {\n return $Ab(this.a, a, b);\n };\n mdb(vke, \"StreamImpl/lambda$4$Type\", 1082);\n bcb(1083, 1, qie, VBb);\n _2.td = function WBb(a) {\n _Ab(this.b, this.a, a);\n };\n mdb(vke, \"StreamImpl/lambda$5$Type\", 1083);\n bcb(1089, 1, qie, XBb);\n _2.td = function YBb(a) {\n Xzb(this.a, BD(a, 365));\n };\n mdb(vke, \"TerminatableStream/lambda$0$Type\", 1089);\n bcb(2041, 1, {});\n bcb(1914, 1, {}, iCb);\n mdb(\"javaemul.internal\", \"ConsoleLogger\", 1914);\n bcb(2038, 1, {});\n var ECb = 0;\n var GCb, HCb = 0, ICb;\n bcb(1768, 1, qie, OCb);\n _2.td = function PCb(a) {\n BD(a, 308);\n };\n mdb(Cke, \"BowyerWatsonTriangulation/lambda$0$Type\", 1768);\n bcb(1769, 1, qie, QCb);\n _2.td = function RCb(a) {\n ye(this.a, BD(a, 308).e);\n };\n mdb(Cke, \"BowyerWatsonTriangulation/lambda$1$Type\", 1769);\n bcb(1770, 1, qie, SCb);\n _2.td = function TCb(a) {\n BD(a, 168);\n };\n mdb(Cke, \"BowyerWatsonTriangulation/lambda$2$Type\", 1770);\n bcb(1765, 1, Dke, WCb);\n _2.ue = function XCb(a, b) {\n return VCb(this.a, BD(a, 168), BD(b, 168));\n };\n _2.Fb = function YCb(a) {\n return this === a;\n };\n _2.ve = function ZCb() {\n return new tpb(this);\n };\n mdb(Cke, \"NaiveMinST/lambda$0$Type\", 1765);\n bcb(499, 1, {}, _Cb);\n mdb(Cke, \"NodeMicroLayout\", 499);\n bcb(168, 1, { 168: 1 }, aDb);\n _2.Fb = function bDb(a) {\n var b;\n if (JD(a, 168)) {\n b = BD(a, 168);\n return wtb(this.a, b.a) && wtb(this.b, b.b) || wtb(this.a, b.b) && wtb(this.b, b.a);\n } else {\n return false;\n }\n };\n _2.Hb = function cDb() {\n return xtb(this.a) + xtb(this.b);\n };\n var GM = mdb(Cke, \"TEdge\", 168);\n bcb(308, 1, { 308: 1 }, eDb);\n _2.Fb = function fDb(a) {\n var b;\n if (JD(a, 308)) {\n b = BD(a, 308);\n return dDb(this, b.a) && dDb(this, b.b) && dDb(this, b.c);\n } else {\n return false;\n }\n };\n _2.Hb = function gDb() {\n return xtb(this.a) + xtb(this.b) + xtb(this.c);\n };\n mdb(Cke, \"TTriangle\", 308);\n bcb(221, 1, { 221: 1 }, hDb);\n mdb(Cke, \"Tree\", 221);\n bcb(1254, 1, {}, jDb);\n mdb(Eke, \"Scanline\", 1254);\n var JM = odb(Eke, Fke);\n bcb(1692, 1, {}, mDb);\n mdb(Gke, \"CGraph\", 1692);\n bcb(307, 1, { 307: 1 }, oDb);\n _2.b = 0;\n _2.c = 0;\n _2.d = 0;\n _2.g = 0;\n _2.i = 0;\n _2.k = Qje;\n mdb(Gke, \"CGroup\", 307);\n bcb(815, 1, {}, sDb);\n mdb(Gke, \"CGroup/CGroupBuilder\", 815);\n bcb(57, 1, { 57: 1 }, tDb);\n _2.Ib = function uDb() {\n var a;\n if (this.j) {\n return GD(this.j.Kb(this));\n }\n return fdb(PM), PM.o + \"@\" + (a = FCb(this) >>> 0, a.toString(16));\n };\n _2.f = 0;\n _2.i = Qje;\n var PM = mdb(Gke, \"CNode\", 57);\n bcb(814, 1, {}, zDb);\n mdb(Gke, \"CNode/CNodeBuilder\", 814);\n var EDb;\n bcb(1525, 1, {}, GDb);\n _2.Oe = function HDb(a, b) {\n return 0;\n };\n _2.Pe = function IDb(a, b) {\n return 0;\n };\n mdb(Gke, Ike, 1525);\n bcb(1790, 1, {}, JDb);\n _2.Le = function KDb(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p;\n j = Pje;\n for (d = new olb(a.a.b); d.a < d.c.c.length; ) {\n b = BD(mlb(d), 57);\n j = $wnd.Math.min(j, b.a.j.d.c + b.b.a);\n }\n n = new Psb();\n for (g = new olb(a.a.a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 307);\n f2.k = j;\n f2.g == 0 && (Gsb(n, f2, n.c.b, n.c), true);\n }\n while (n.b != 0) {\n f2 = BD(n.b == 0 ? null : (sCb(n.b != 0), Nsb(n, n.a.a)), 307);\n e = f2.j.d.c;\n for (m = f2.a.a.ec().Kc(); m.Ob(); ) {\n k = BD(m.Pb(), 57);\n p = f2.k + k.b.a;\n !UDb(a, f2, a.d) || k.d.c < p ? k.i = p : k.i = k.d.c;\n }\n e -= f2.j.i;\n f2.b += e;\n a.d == (ead(), bad) || a.d == _9c ? f2.c += e : f2.c -= e;\n for (l = f2.a.a.ec().Kc(); l.Ob(); ) {\n k = BD(l.Pb(), 57);\n for (i3 = k.c.Kc(); i3.Ob(); ) {\n h = BD(i3.Pb(), 57);\n fad(a.d) ? o2 = a.g.Oe(k, h) : o2 = a.g.Pe(k, h);\n h.a.k = $wnd.Math.max(h.a.k, k.i + k.d.b + o2 - h.b.a);\n VDb(a, h, a.d) && (h.a.k = $wnd.Math.max(h.a.k, h.d.c - h.b.a));\n --h.a.g;\n h.a.g == 0 && Dsb(n, h.a);\n }\n }\n }\n for (c2 = new olb(a.a.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 57);\n b.d.c = b.i;\n }\n };\n mdb(Gke, \"LongestPathCompaction\", 1790);\n bcb(1690, 1, {}, cEb);\n _2.e = false;\n var LDb, MDb, NDb;\n var TM = mdb(Gke, Nke, 1690);\n bcb(1691, 1, qie, dEb);\n _2.td = function eEb(a) {\n WDb(this.a, BD(a, 46));\n };\n mdb(Gke, Oke, 1691);\n bcb(1791, 1, {}, fEb);\n _2.Me = function gEb(a) {\n var b, c2, d, e, f2, g, h;\n for (c2 = new olb(a.a.b); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 57);\n b.c.$b();\n }\n for (e = new olb(a.a.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 57);\n for (g = new olb(a.a.b); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 57);\n if (d == f2) {\n continue;\n }\n if (!!d.a && d.a == f2.a) {\n continue;\n }\n fad(a.d) ? h = a.g.Pe(d, f2) : h = a.g.Oe(d, f2);\n (f2.d.c > d.d.c || d.d.c == f2.d.c && d.d.b < f2.d.b) && BDb(f2.d.d + f2.d.a + h, d.d.d) && DDb(f2.d.d, d.d.d + d.d.a + h) && d.c.Fc(f2);\n }\n }\n };\n mdb(Gke, \"QuadraticConstraintCalculation\", 1791);\n bcb(522, 1, { 522: 1 }, lEb);\n _2.a = false;\n _2.b = false;\n _2.c = false;\n _2.d = false;\n mdb(Gke, Pke, 522);\n bcb(803, 1, {}, oEb);\n _2.Me = function pEb(a) {\n this.c = a;\n nEb(this, new GEb());\n };\n mdb(Gke, Qke, 803);\n bcb(1718, 1, { 679: 1 }, uEb);\n _2.Ke = function vEb(a) {\n rEb(this, BD(a, 464));\n };\n mdb(Gke, Rke, 1718);\n bcb(1719, 1, Dke, xEb);\n _2.ue = function yEb(a, b) {\n return wEb(BD(a, 57), BD(b, 57));\n };\n _2.Fb = function zEb(a) {\n return this === a;\n };\n _2.ve = function AEb() {\n return new tpb(this);\n };\n mdb(Gke, Ske, 1719);\n bcb(464, 1, { 464: 1 }, BEb);\n _2.a = false;\n mdb(Gke, Tke, 464);\n bcb(1720, 1, Dke, CEb);\n _2.ue = function DEb(a, b) {\n return qEb(BD(a, 464), BD(b, 464));\n };\n _2.Fb = function EEb(a) {\n return this === a;\n };\n _2.ve = function FEb() {\n return new tpb(this);\n };\n mdb(Gke, Uke, 1720);\n bcb(1721, 1, Vke, GEb);\n _2.Lb = function HEb(a) {\n return BD(a, 57), true;\n };\n _2.Fb = function IEb(a) {\n return this === a;\n };\n _2.Mb = function JEb(a) {\n return BD(a, 57), true;\n };\n mdb(Gke, \"ScanlineConstraintCalculator/lambda$1$Type\", 1721);\n bcb(428, 22, { 3: 1, 35: 1, 22: 1, 428: 1 }, NEb);\n var KEb, LEb;\n var aN = ndb(Wke, \"HighLevelSortingCriterion\", 428, CI, PEb, OEb);\n var QEb;\n bcb(427, 22, { 3: 1, 35: 1, 22: 1, 427: 1 }, VEb);\n var SEb, TEb;\n var bN = ndb(Wke, \"LowLevelSortingCriterion\", 427, CI, XEb, WEb);\n var YEb;\n var C0 = odb(Xke, \"ILayoutMetaDataProvider\");\n bcb(853, 1, ale, gFb);\n _2.Qe = function hFb(a) {\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Yke), ble), \"Polyomino Traversal Strategy\"), \"Traversal strategy for trying different candidate positions for polyominoes.\"), eFb), (_5c(), V5c)), dN), pqb((N5c(), L5c)))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Zke), ble), \"Polyomino Secondary Sorting Criterion\"), \"Possible secondary sorting criteria for the processing order of polyominoes. They are used when polyominoes are equal according to the primary sorting criterion HighLevelSortingCriterion.\"), cFb), V5c), bN), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), $ke), ble), \"Polyomino Primary Sorting Criterion\"), \"Possible primary sorting criteria for the processing order of polyominoes.\"), aFb), V5c), aN), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), _ke), ble), \"Fill Polyominoes\"), \"Use the Profile Fill algorithm to fill polyominoes to prevent small polyominoes from being placed inside of big polyominoes with large holes. Might increase packing area.\"), (Bcb(), true)), T5c), wI), pqb(L5c))));\n };\n var $Eb, _Eb, aFb, bFb, cFb, dFb, eFb;\n mdb(Wke, \"PolyominoOptions\", 853);\n bcb(250, 22, { 3: 1, 35: 1, 22: 1, 250: 1 }, sFb);\n var iFb, jFb, kFb, lFb, mFb, nFb, oFb, pFb, qFb;\n var dN = ndb(Wke, \"TraversalStrategy\", 250, CI, uFb, tFb);\n var vFb;\n bcb(213, 1, { 213: 1 }, yFb);\n _2.Ib = function zFb() {\n return \"NEdge[id=\" + this.b + \" w=\" + this.g + \" d=\" + this.a + \"]\";\n };\n _2.a = 1;\n _2.b = 0;\n _2.c = 0;\n _2.f = false;\n _2.g = 0;\n var fN = mdb(cle, \"NEdge\", 213);\n bcb(176, 1, {}, FFb);\n mdb(cle, \"NEdge/NEdgeBuilder\", 176);\n bcb(653, 1, {}, KFb);\n mdb(cle, \"NGraph\", 653);\n bcb(121, 1, { 121: 1 }, MFb);\n _2.c = -1;\n _2.d = 0;\n _2.e = 0;\n _2.i = -1;\n _2.j = false;\n var jN = mdb(cle, \"NNode\", 121);\n bcb(795, 1, cke, PFb);\n _2.Jc = function XFb(a) {\n reb(this, a);\n };\n _2.Lc = function cGb() {\n return new YAb(null, new Kub(this, 16));\n };\n _2.ad = function hGb(a) {\n ktb(this, a);\n };\n _2.Nc = function iGb() {\n return new Kub(this, 16);\n };\n _2.Oc = function jGb() {\n return new YAb(null, new Kub(this, 16));\n };\n _2.Vc = function QFb(a, b) {\n ++this.b;\n Dkb(this.a, a, b);\n };\n _2.Fc = function RFb(a) {\n return NFb(this, a);\n };\n _2.Wc = function SFb(a, b) {\n ++this.b;\n return Fkb(this.a, a, b);\n };\n _2.Gc = function TFb(a) {\n ++this.b;\n return Gkb(this.a, a);\n };\n _2.$b = function UFb() {\n ++this.b;\n this.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n };\n _2.Hc = function VFb(a) {\n return Jkb(this.a, a, 0) != -1;\n };\n _2.Ic = function WFb(a) {\n return Be(this.a, a);\n };\n _2.Xb = function YFb(a) {\n return Ikb(this.a, a);\n };\n _2.Xc = function ZFb(a) {\n return Jkb(this.a, a, 0);\n };\n _2.dc = function $Fb() {\n return this.a.c.length == 0;\n };\n _2.Kc = function _Fb() {\n return vr(new olb(this.a));\n };\n _2.Yc = function aGb() {\n throw vbb(new bgb());\n };\n _2.Zc = function bGb(a) {\n throw vbb(new bgb());\n };\n _2.$c = function dGb(a) {\n ++this.b;\n return Kkb(this.a, a);\n };\n _2.Mc = function eGb(a) {\n return OFb(this, a);\n };\n _2._c = function fGb(a, b) {\n ++this.b;\n return Nkb(this.a, a, b);\n };\n _2.gc = function gGb() {\n return this.a.c.length;\n };\n _2.bd = function kGb(a, b) {\n return new Jib(this.a, a, b);\n };\n _2.Pc = function lGb() {\n return Pkb(this.a);\n };\n _2.Qc = function mGb(a) {\n return Qkb(this.a, a);\n };\n _2.b = 0;\n mdb(cle, \"NNode/ChangeAwareArrayList\", 795);\n bcb(269, 1, {}, pGb);\n mdb(cle, \"NNode/NNodeBuilder\", 269);\n bcb(1630, 1, {}, KGb);\n _2.a = false;\n _2.f = Ohe;\n _2.j = 0;\n mdb(cle, \"NetworkSimplex\", 1630);\n bcb(1294, 1, qie, QGb);\n _2.td = function RGb(a) {\n PGb(this.a, BD(a, 680), true, false);\n };\n mdb(ele, \"NodeLabelAndSizeCalculator/lambda$0$Type\", 1294);\n bcb(558, 1, {}, YGb);\n _2.b = true;\n _2.c = true;\n _2.d = true;\n _2.e = true;\n mdb(ele, \"NodeMarginCalculator\", 558);\n bcb(212, 1, { 212: 1 });\n _2.j = false;\n _2.k = false;\n var oN = mdb(fle, \"Cell\", 212);\n bcb(124, 212, { 124: 1, 212: 1 }, aHb);\n _2.Re = function bHb() {\n return _Gb(this);\n };\n _2.Se = function cHb() {\n var a;\n a = this.n;\n return this.a.a + a.b + a.c;\n };\n mdb(fle, \"AtomicCell\", 124);\n bcb(232, 22, { 3: 1, 35: 1, 22: 1, 232: 1 }, hHb);\n var dHb, eHb, fHb;\n var pN = ndb(fle, \"ContainerArea\", 232, CI, jHb, iHb);\n var kHb;\n bcb(326, 212, hle);\n mdb(fle, \"ContainerCell\", 326);\n bcb(1473, 326, hle, FHb);\n _2.Re = function GHb() {\n var a;\n a = 0;\n this.e ? this.b ? a = this.b.b : !!this.a[1][1] && (a = this.a[1][1].Re()) : a = EHb(this, AHb(this, true));\n return a > 0 ? a + this.n.d + this.n.a : 0;\n };\n _2.Se = function HHb() {\n var a, b, c2, d, e;\n e = 0;\n if (this.e) {\n this.b ? e = this.b.a : !!this.a[1][1] && (e = this.a[1][1].Se());\n } else if (this.g) {\n e = EHb(this, yHb(this, null, true));\n } else {\n for (b = (gHb(), OC(GC(pN, 1), Kie, 232, 0, [dHb, eHb, fHb])), c2 = 0, d = b.length; c2 < d; ++c2) {\n a = b[c2];\n e = $wnd.Math.max(e, EHb(this, yHb(this, a, true)));\n }\n }\n return e > 0 ? e + this.n.b + this.n.c : 0;\n };\n _2.Te = function IHb() {\n var a, b, c2, d, e;\n if (this.g) {\n a = yHb(this, null, false);\n for (c2 = (gHb(), OC(GC(pN, 1), Kie, 232, 0, [dHb, eHb, fHb])), d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n wHb(this, b, a);\n }\n } else {\n for (c2 = (gHb(), OC(GC(pN, 1), Kie, 232, 0, [dHb, eHb, fHb])), d = 0, e = c2.length; d < e; ++d) {\n b = c2[d];\n a = yHb(this, b, false);\n wHb(this, b, a);\n }\n }\n };\n _2.Ue = function JHb() {\n var a, b, c2, d;\n b = this.i;\n a = this.n;\n d = AHb(this, false);\n uHb(this, (gHb(), dHb), b.d + a.d, d);\n uHb(this, fHb, b.d + b.a - a.a - d[2], d);\n c2 = b.a - a.d - a.a;\n if (d[0] > 0) {\n d[0] += this.d;\n c2 -= d[0];\n }\n if (d[2] > 0) {\n d[2] += this.d;\n c2 -= d[2];\n }\n this.c.a = $wnd.Math.max(0, c2);\n this.c.d = b.d + a.d + (this.c.a - c2) / 2;\n d[1] = $wnd.Math.max(d[1], c2);\n uHb(this, eHb, b.d + a.d + d[0] - (d[1] - c2) / 2, d);\n };\n _2.b = null;\n _2.d = 0;\n _2.e = false;\n _2.f = false;\n _2.g = false;\n var rHb = 0, sHb = 0;\n mdb(fle, \"GridContainerCell\", 1473);\n bcb(461, 22, { 3: 1, 35: 1, 22: 1, 461: 1 }, OHb);\n var KHb, LHb, MHb;\n var sN = ndb(fle, \"HorizontalLabelAlignment\", 461, CI, QHb, PHb);\n var RHb;\n bcb(306, 212, { 212: 1, 306: 1 }, aIb, bIb, cIb);\n _2.Re = function dIb() {\n return YHb(this);\n };\n _2.Se = function eIb() {\n return ZHb(this);\n };\n _2.a = 0;\n _2.c = false;\n var tN = mdb(fle, \"LabelCell\", 306);\n bcb(244, 326, { 212: 1, 326: 1, 244: 1 }, mIb);\n _2.Re = function nIb() {\n return fIb(this);\n };\n _2.Se = function oIb() {\n return gIb(this);\n };\n _2.Te = function rIb() {\n hIb(this);\n };\n _2.Ue = function sIb() {\n iIb(this);\n };\n _2.b = 0;\n _2.c = 0;\n _2.d = false;\n mdb(fle, \"StripContainerCell\", 244);\n bcb(1626, 1, Oie, tIb);\n _2.Mb = function uIb(a) {\n return pIb(BD(a, 212));\n };\n mdb(fle, \"StripContainerCell/lambda$0$Type\", 1626);\n bcb(1627, 1, {}, vIb);\n _2.Fe = function wIb(a) {\n return BD(a, 212).Se();\n };\n mdb(fle, \"StripContainerCell/lambda$1$Type\", 1627);\n bcb(1628, 1, Oie, xIb);\n _2.Mb = function yIb(a) {\n return qIb(BD(a, 212));\n };\n mdb(fle, \"StripContainerCell/lambda$2$Type\", 1628);\n bcb(1629, 1, {}, zIb);\n _2.Fe = function AIb(a) {\n return BD(a, 212).Re();\n };\n mdb(fle, \"StripContainerCell/lambda$3$Type\", 1629);\n bcb(462, 22, { 3: 1, 35: 1, 22: 1, 462: 1 }, FIb);\n var BIb, CIb, DIb;\n var zN = ndb(fle, \"VerticalLabelAlignment\", 462, CI, HIb, GIb);\n var IIb;\n bcb(789, 1, {}, LIb);\n _2.c = 0;\n _2.d = 0;\n _2.k = 0;\n _2.s = 0;\n _2.t = 0;\n _2.v = false;\n _2.w = 0;\n _2.D = false;\n mdb(nle, \"NodeContext\", 789);\n bcb(1471, 1, Dke, OIb);\n _2.ue = function PIb(a, b) {\n return NIb(BD(a, 61), BD(b, 61));\n };\n _2.Fb = function QIb(a) {\n return this === a;\n };\n _2.ve = function RIb() {\n return new tpb(this);\n };\n mdb(nle, \"NodeContext/0methodref$comparePortSides$Type\", 1471);\n bcb(1472, 1, Dke, SIb);\n _2.ue = function TIb(a, b) {\n return MIb(BD(a, 111), BD(b, 111));\n };\n _2.Fb = function UIb(a) {\n return this === a;\n };\n _2.ve = function VIb() {\n return new tpb(this);\n };\n mdb(nle, \"NodeContext/1methodref$comparePortContexts$Type\", 1472);\n bcb(159, 22, { 3: 1, 35: 1, 22: 1, 159: 1 }, tJb);\n var WIb, XIb, YIb, ZIb, $Ib, _Ib, aJb, bJb, cJb, dJb, eJb, fJb, gJb, hJb, iJb, jJb, kJb, lJb, mJb, nJb, oJb, pJb;\n var DN = ndb(nle, \"NodeLabelLocation\", 159, CI, wJb, vJb);\n var xJb;\n bcb(111, 1, { 111: 1 }, AJb);\n _2.a = false;\n mdb(nle, \"PortContext\", 111);\n bcb(1476, 1, qie, TJb);\n _2.td = function UJb(a) {\n WHb(BD(a, 306));\n };\n mdb(qle, rle, 1476);\n bcb(1477, 1, Oie, VJb);\n _2.Mb = function WJb(a) {\n return !!BD(a, 111).c;\n };\n mdb(qle, sle, 1477);\n bcb(1478, 1, qie, XJb);\n _2.td = function YJb(a) {\n WHb(BD(a, 111).c);\n };\n mdb(qle, \"LabelPlacer/lambda$2$Type\", 1478);\n var ZJb;\n bcb(1475, 1, qie, fKb);\n _2.td = function gKb(a) {\n $Jb();\n zJb(BD(a, 111));\n };\n mdb(qle, \"NodeLabelAndSizeUtilities/lambda$0$Type\", 1475);\n bcb(790, 1, qie, mKb);\n _2.td = function nKb(a) {\n kKb(this.b, this.c, this.a, BD(a, 181));\n };\n _2.a = false;\n _2.c = false;\n mdb(qle, \"NodeLabelCellCreator/lambda$0$Type\", 790);\n bcb(1474, 1, qie, tKb);\n _2.td = function uKb(a) {\n sKb(this.a, BD(a, 181));\n };\n mdb(qle, \"PortContextCreator/lambda$0$Type\", 1474);\n var BKb;\n bcb(1829, 1, {}, VKb);\n mdb(ule, \"GreedyRectangleStripOverlapRemover\", 1829);\n bcb(1830, 1, Dke, XKb);\n _2.ue = function YKb(a, b) {\n return WKb(BD(a, 222), BD(b, 222));\n };\n _2.Fb = function ZKb(a) {\n return this === a;\n };\n _2.ve = function $Kb() {\n return new tpb(this);\n };\n mdb(ule, \"GreedyRectangleStripOverlapRemover/0methodref$compareByYCoordinate$Type\", 1830);\n bcb(1786, 1, {}, fLb);\n _2.a = 5;\n _2.e = 0;\n mdb(ule, \"RectangleStripOverlapRemover\", 1786);\n bcb(1787, 1, Dke, jLb);\n _2.ue = function kLb(a, b) {\n return gLb(BD(a, 222), BD(b, 222));\n };\n _2.Fb = function lLb(a) {\n return this === a;\n };\n _2.ve = function mLb() {\n return new tpb(this);\n };\n mdb(ule, \"RectangleStripOverlapRemover/0methodref$compareLeftRectangleBorders$Type\", 1787);\n bcb(1789, 1, Dke, nLb);\n _2.ue = function oLb(a, b) {\n return hLb(BD(a, 222), BD(b, 222));\n };\n _2.Fb = function pLb(a) {\n return this === a;\n };\n _2.ve = function qLb() {\n return new tpb(this);\n };\n mdb(ule, \"RectangleStripOverlapRemover/1methodref$compareRightRectangleBorders$Type\", 1789);\n bcb(406, 22, { 3: 1, 35: 1, 22: 1, 406: 1 }, wLb);\n var rLb, sLb, tLb, uLb;\n var PN = ndb(ule, \"RectangleStripOverlapRemover/OverlapRemovalDirection\", 406, CI, yLb, xLb);\n var zLb;\n bcb(222, 1, { 222: 1 }, BLb);\n mdb(ule, \"RectangleStripOverlapRemover/RectangleNode\", 222);\n bcb(1788, 1, qie, CLb);\n _2.td = function DLb(a) {\n aLb(this.a, BD(a, 222));\n };\n mdb(ule, \"RectangleStripOverlapRemover/lambda$1$Type\", 1788);\n bcb(1304, 1, Dke, GLb);\n _2.ue = function HLb(a, b) {\n return FLb(BD(a, 167), BD(b, 167));\n };\n _2.Fb = function ILb(a) {\n return this === a;\n };\n _2.ve = function JLb() {\n return new tpb(this);\n };\n mdb(wle, \"PolyominoCompactor/CornerCasesGreaterThanRestComparator\", 1304);\n bcb(1307, 1, {}, KLb);\n _2.Kb = function LLb(a) {\n return BD(a, 324).a;\n };\n mdb(wle, \"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$0$Type\", 1307);\n bcb(1308, 1, Oie, MLb);\n _2.Mb = function NLb(a) {\n return BD(a, 323).a;\n };\n mdb(wle, \"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$1$Type\", 1308);\n bcb(1309, 1, Oie, OLb);\n _2.Mb = function PLb(a) {\n return BD(a, 323).a;\n };\n mdb(wle, \"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$2$Type\", 1309);\n bcb(1302, 1, Dke, RLb);\n _2.ue = function SLb(a, b) {\n return QLb(BD(a, 167), BD(b, 167));\n };\n _2.Fb = function TLb(a) {\n return this === a;\n };\n _2.ve = function ULb() {\n return new tpb(this);\n };\n mdb(wle, \"PolyominoCompactor/MinNumOfExtensionDirectionsComparator\", 1302);\n bcb(1305, 1, {}, VLb);\n _2.Kb = function WLb(a) {\n return BD(a, 324).a;\n };\n mdb(wle, \"PolyominoCompactor/MinNumOfExtensionDirectionsComparator/lambda$0$Type\", 1305);\n bcb(767, 1, Dke, YLb);\n _2.ue = function ZLb(a, b) {\n return XLb(BD(a, 167), BD(b, 167));\n };\n _2.Fb = function $Lb(a) {\n return this === a;\n };\n _2.ve = function _Lb() {\n return new tpb(this);\n };\n mdb(wle, \"PolyominoCompactor/MinNumOfExtensionsComparator\", 767);\n bcb(1300, 1, Dke, bMb);\n _2.ue = function cMb(a, b) {\n return aMb(BD(a, 321), BD(b, 321));\n };\n _2.Fb = function dMb(a) {\n return this === a;\n };\n _2.ve = function eMb() {\n return new tpb(this);\n };\n mdb(wle, \"PolyominoCompactor/MinPerimeterComparator\", 1300);\n bcb(1301, 1, Dke, gMb);\n _2.ue = function hMb(a, b) {\n return fMb(BD(a, 321), BD(b, 321));\n };\n _2.Fb = function iMb(a) {\n return this === a;\n };\n _2.ve = function jMb() {\n return new tpb(this);\n };\n mdb(wle, \"PolyominoCompactor/MinPerimeterComparatorWithShape\", 1301);\n bcb(1303, 1, Dke, lMb);\n _2.ue = function mMb(a, b) {\n return kMb(BD(a, 167), BD(b, 167));\n };\n _2.Fb = function nMb(a) {\n return this === a;\n };\n _2.ve = function oMb() {\n return new tpb(this);\n };\n mdb(wle, \"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator\", 1303);\n bcb(1306, 1, {}, pMb);\n _2.Kb = function qMb(a) {\n return BD(a, 324).a;\n };\n mdb(wle, \"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator/lambda$0$Type\", 1306);\n bcb(777, 1, {}, tMb);\n _2.Ce = function uMb(a, b) {\n return sMb(this, BD(a, 46), BD(b, 167));\n };\n mdb(wle, \"SuccessorCombination\", 777);\n bcb(644, 1, {}, wMb);\n _2.Ce = function xMb(a, b) {\n var c2;\n return vMb((c2 = BD(a, 46), BD(b, 167), c2));\n };\n mdb(wle, \"SuccessorJitter\", 644);\n bcb(643, 1, {}, zMb);\n _2.Ce = function AMb(a, b) {\n var c2;\n return yMb((c2 = BD(a, 46), BD(b, 167), c2));\n };\n mdb(wle, \"SuccessorLineByLine\", 643);\n bcb(568, 1, {}, CMb);\n _2.Ce = function DMb(a, b) {\n var c2;\n return BMb((c2 = BD(a, 46), BD(b, 167), c2));\n };\n mdb(wle, \"SuccessorManhattan\", 568);\n bcb(1356, 1, {}, FMb);\n _2.Ce = function GMb(a, b) {\n var c2;\n return EMb((c2 = BD(a, 46), BD(b, 167), c2));\n };\n mdb(wle, \"SuccessorMaxNormWindingInMathPosSense\", 1356);\n bcb(400, 1, {}, JMb);\n _2.Ce = function KMb(a, b) {\n return HMb(this, a, b);\n };\n _2.c = false;\n _2.d = false;\n _2.e = false;\n _2.f = false;\n mdb(wle, \"SuccessorQuadrantsGeneric\", 400);\n bcb(1357, 1, {}, LMb);\n _2.Kb = function MMb(a) {\n return BD(a, 324).a;\n };\n mdb(wle, \"SuccessorQuadrantsGeneric/lambda$0$Type\", 1357);\n bcb(323, 22, { 3: 1, 35: 1, 22: 1, 323: 1 }, SMb);\n _2.a = false;\n var NMb, OMb, PMb, QMb;\n var jO = ndb(Ble, Cle, 323, CI, UMb, TMb);\n var VMb;\n bcb(1298, 1, {});\n _2.Ib = function bNb() {\n var a, b, c2, d, e, f2;\n c2 = \" \";\n a = meb(0);\n for (e = 0; e < this.o; e++) {\n c2 += \"\" + a.a;\n a = meb(XMb(a.a));\n }\n c2 += \"\\n\";\n a = meb(0);\n for (f2 = 0; f2 < this.p; f2++) {\n c2 += \"\" + a.a;\n a = meb(XMb(a.a));\n for (d = 0; d < this.o; d++) {\n b = _Mb(this, d, f2);\n ybb(b, 0) == 0 ? c2 += \"_\" : ybb(b, 1) == 0 ? c2 += \"X\" : c2 += \"0\";\n }\n c2 += \"\\n\";\n }\n return qfb(c2, 0, c2.length - 1);\n };\n _2.o = 0;\n _2.p = 0;\n mdb(Ble, \"TwoBitGrid\", 1298);\n bcb(321, 1298, { 321: 1 }, pNb);\n _2.j = 0;\n _2.k = 0;\n mdb(Ble, \"PlanarGrid\", 321);\n bcb(167, 321, { 321: 1, 167: 1 });\n _2.g = 0;\n _2.i = 0;\n mdb(Ble, \"Polyomino\", 167);\n var P3 = odb(Hle, Ile);\n bcb(134, 1, Jle, zNb);\n _2.Ye = function DNb(a, b) {\n return xNb(this, a, b);\n };\n _2.Ve = function ANb() {\n return uNb(this);\n };\n _2.We = function BNb(a) {\n return vNb(this, a);\n };\n _2.Xe = function CNb(a) {\n return wNb(this, a);\n };\n mdb(Hle, \"MapPropertyHolder\", 134);\n bcb(1299, 134, Jle, ENb);\n mdb(Ble, \"Polyominoes\", 1299);\n var FNb = false, GNb, HNb;\n bcb(1766, 1, qie, PNb);\n _2.td = function QNb(a) {\n JNb(BD(a, 221));\n };\n mdb(Kle, \"DepthFirstCompaction/0methodref$compactTree$Type\", 1766);\n bcb(810, 1, qie, RNb);\n _2.td = function SNb(a) {\n MNb(this.a, BD(a, 221));\n };\n mdb(Kle, \"DepthFirstCompaction/lambda$1$Type\", 810);\n bcb(1767, 1, qie, TNb);\n _2.td = function UNb(a) {\n NNb(this.a, this.b, this.c, BD(a, 221));\n };\n mdb(Kle, \"DepthFirstCompaction/lambda$2$Type\", 1767);\n var VNb, WNb;\n bcb(65, 1, { 65: 1 }, aOb);\n mdb(Kle, \"Node\", 65);\n bcb(1250, 1, {}, dOb);\n mdb(Kle, \"ScanlineOverlapCheck\", 1250);\n bcb(1251, 1, { 679: 1 }, hOb);\n _2.Ke = function iOb(a) {\n fOb(this, BD(a, 440));\n };\n mdb(Kle, \"ScanlineOverlapCheck/OverlapsScanlineHandler\", 1251);\n bcb(1252, 1, Dke, kOb);\n _2.ue = function lOb(a, b) {\n return jOb(BD(a, 65), BD(b, 65));\n };\n _2.Fb = function mOb(a) {\n return this === a;\n };\n _2.ve = function nOb() {\n return new tpb(this);\n };\n mdb(Kle, \"ScanlineOverlapCheck/OverlapsScanlineHandler/lambda$0$Type\", 1252);\n bcb(440, 1, { 440: 1 }, oOb);\n _2.a = false;\n mdb(Kle, \"ScanlineOverlapCheck/Timestamp\", 440);\n bcb(1253, 1, Dke, pOb);\n _2.ue = function qOb(a, b) {\n return eOb(BD(a, 440), BD(b, 440));\n };\n _2.Fb = function rOb(a) {\n return this === a;\n };\n _2.ve = function sOb() {\n return new tpb(this);\n };\n mdb(Kle, \"ScanlineOverlapCheck/lambda$0$Type\", 1253);\n bcb(550, 1, {}, tOb);\n mdb(Lle, \"SVGImage\", 550);\n bcb(324, 1, { 324: 1 }, uOb);\n _2.Ib = function vOb() {\n return \"(\" + this.a + She + this.b + She + this.c + \")\";\n };\n mdb(Lle, \"UniqueTriple\", 324);\n bcb(209, 1, Mle);\n mdb(Nle, \"AbstractLayoutProvider\", 209);\n bcb(1132, 209, Mle, yOb);\n _2.Ze = function zOb(a, b) {\n var c2, d, e, f2;\n Odd(b, Ole, 1);\n this.a = Edb(ED(hkd(a, (CPb(), BPb))));\n if (ikd(a, rPb)) {\n e = GD(hkd(a, rPb));\n c2 = h4c(n4c(), e);\n if (c2) {\n d = BD(hgd(c2.f), 209);\n d.Ze(a, Udd(b, 1));\n }\n }\n f2 = new AQb(this.a);\n this.b = yQb(f2, a);\n switch (BD(hkd(a, (nPb(), jPb)), 481).g) {\n case 0:\n BOb(new FOb(), this.b);\n jkd(a, uPb, vNb(this.b, uPb));\n break;\n default:\n Zfb();\n }\n qQb(f2);\n jkd(a, tPb, this.b);\n Qdd(b);\n };\n _2.a = 0;\n mdb(Ple, \"DisCoLayoutProvider\", 1132);\n bcb(1244, 1, {}, FOb);\n _2.c = false;\n _2.e = 0;\n _2.f = 0;\n mdb(Ple, \"DisCoPolyominoCompactor\", 1244);\n bcb(561, 1, { 561: 1 }, MOb);\n _2.b = true;\n mdb(Qle, \"DCComponent\", 561);\n bcb(394, 22, { 3: 1, 35: 1, 22: 1, 394: 1 }, SOb);\n _2.a = false;\n var NOb, OOb, POb, QOb;\n var CO = ndb(Qle, \"DCDirection\", 394, CI, UOb, TOb);\n var VOb;\n bcb(266, 134, { 3: 1, 266: 1, 94: 1, 134: 1 }, XOb);\n mdb(Qle, \"DCElement\", 266);\n bcb(395, 1, { 395: 1 }, ZOb);\n _2.c = 0;\n mdb(Qle, \"DCExtension\", 395);\n bcb(755, 134, Jle, aPb);\n mdb(Qle, \"DCGraph\", 755);\n bcb(481, 22, { 3: 1, 35: 1, 22: 1, 481: 1 }, dPb);\n var bPb;\n var GO = ndb(Rle, Sle, 481, CI, fPb, ePb);\n var gPb;\n bcb(854, 1, ale, oPb);\n _2.Qe = function pPb(a) {\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Tle), Xle), \"Connected Components Compaction Strategy\"), \"Strategy for packing different connected components in order to save space and enhance readability of a graph.\"), kPb), (_5c(), V5c)), GO), pqb((N5c(), L5c)))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), Ule), Xle), \"Connected Components Layout Algorithm\"), \"A layout algorithm that is to be applied to each connected component before the components themselves are compacted. If unspecified, the positions of the components' nodes are not altered.\"), Z5c), ZI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), Vle), \"debug\"), \"DCGraph\"), \"Access to the DCGraph is intended for the debug view,\"), Y5c), SI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), Wle), \"debug\"), \"List of Polyominoes\"), \"Access to the polyominoes is intended for the debug view,\"), Y5c), SI), pqb(L5c))));\n DPb((new EPb(), a));\n };\n var iPb, jPb, kPb, lPb, mPb;\n mdb(Rle, \"DisCoMetaDataProvider\", 854);\n bcb(998, 1, ale, EPb);\n _2.Qe = function FPb(a) {\n DPb(a);\n };\n var qPb, rPb, sPb, tPb, uPb, vPb, wPb, xPb, yPb, zPb, APb, BPb;\n mdb(Rle, \"DisCoOptions\", 998);\n bcb(999, 1, {}, GPb);\n _2.$e = function HPb() {\n var a;\n return a = new yOb(), a;\n };\n _2._e = function IPb(a) {\n };\n mdb(Rle, \"DisCoOptions/DiscoFactory\", 999);\n bcb(562, 167, { 321: 1, 167: 1, 562: 1 }, MPb);\n _2.a = 0;\n _2.b = 0;\n _2.c = 0;\n _2.d = 0;\n mdb(\"org.eclipse.elk.alg.disco.structures\", \"DCPolyomino\", 562);\n var NPb, OPb, PPb;\n bcb(1268, 1, Oie, aQb);\n _2.Mb = function bQb(a) {\n return _Pb(a);\n };\n mdb(bme, \"ElkGraphComponentsProcessor/lambda$0$Type\", 1268);\n bcb(1269, 1, {}, cQb);\n _2.Kb = function dQb(a) {\n return QPb(), jtd(BD(a, 79));\n };\n mdb(bme, \"ElkGraphComponentsProcessor/lambda$1$Type\", 1269);\n bcb(1270, 1, Oie, eQb);\n _2.Mb = function fQb(a) {\n return WPb(BD(a, 79));\n };\n mdb(bme, \"ElkGraphComponentsProcessor/lambda$2$Type\", 1270);\n bcb(1271, 1, {}, gQb);\n _2.Kb = function hQb(a) {\n return QPb(), ltd(BD(a, 79));\n };\n mdb(bme, \"ElkGraphComponentsProcessor/lambda$3$Type\", 1271);\n bcb(1272, 1, Oie, iQb);\n _2.Mb = function jQb(a) {\n return XPb(BD(a, 79));\n };\n mdb(bme, \"ElkGraphComponentsProcessor/lambda$4$Type\", 1272);\n bcb(1273, 1, Oie, kQb);\n _2.Mb = function lQb(a) {\n return YPb(this.a, BD(a, 79));\n };\n mdb(bme, \"ElkGraphComponentsProcessor/lambda$5$Type\", 1273);\n bcb(1274, 1, {}, mQb);\n _2.Kb = function nQb(a) {\n return ZPb(this.a, BD(a, 79));\n };\n mdb(bme, \"ElkGraphComponentsProcessor/lambda$6$Type\", 1274);\n bcb(1241, 1, {}, AQb);\n _2.a = 0;\n mdb(bme, \"ElkGraphTransformer\", 1241);\n bcb(1242, 1, {}, CQb);\n _2.Od = function DQb(a, b) {\n BQb(this, BD(a, 160), BD(b, 266));\n };\n mdb(bme, \"ElkGraphTransformer/OffsetApplier\", 1242);\n bcb(1243, 1, qie, FQb);\n _2.td = function GQb(a) {\n EQb(this, BD(a, 8));\n };\n mdb(bme, \"ElkGraphTransformer/OffsetApplier/OffSetToChainApplier\", 1243);\n bcb(753, 1, {}, MQb);\n mdb(gme, hme, 753);\n bcb(1232, 1, Dke, OQb);\n _2.ue = function PQb(a, b) {\n return NQb(BD(a, 231), BD(b, 231));\n };\n _2.Fb = function QQb(a) {\n return this === a;\n };\n _2.ve = function RQb() {\n return new tpb(this);\n };\n mdb(gme, ime, 1232);\n bcb(740, 209, Mle, ZQb);\n _2.Ze = function $Qb(a, b) {\n WQb(this, a, b);\n };\n mdb(gme, \"ForceLayoutProvider\", 740);\n bcb(357, 134, { 3: 1, 357: 1, 94: 1, 134: 1 });\n mdb(jme, \"FParticle\", 357);\n bcb(559, 357, { 3: 1, 559: 1, 357: 1, 94: 1, 134: 1 }, aRb);\n _2.Ib = function bRb() {\n var a;\n if (this.a) {\n a = Jkb(this.a.a, this, 0);\n return a >= 0 ? \"b\" + a + \"[\" + fRb(this.a) + \"]\" : \"b[\" + fRb(this.a) + \"]\";\n }\n return \"b_\" + FCb(this);\n };\n mdb(jme, \"FBendpoint\", 559);\n bcb(282, 134, { 3: 1, 282: 1, 94: 1, 134: 1 }, gRb);\n _2.Ib = function hRb() {\n return fRb(this);\n };\n mdb(jme, \"FEdge\", 282);\n bcb(231, 134, { 3: 1, 231: 1, 94: 1, 134: 1 }, kRb);\n var $O = mdb(jme, \"FGraph\", 231);\n bcb(447, 357, { 3: 1, 447: 1, 357: 1, 94: 1, 134: 1 }, mRb);\n _2.Ib = function nRb() {\n return this.b == null || this.b.length == 0 ? \"l[\" + fRb(this.a) + \"]\" : \"l_\" + this.b;\n };\n mdb(jme, \"FLabel\", 447);\n bcb(144, 357, { 3: 1, 144: 1, 357: 1, 94: 1, 134: 1 }, pRb);\n _2.Ib = function qRb() {\n return oRb(this);\n };\n _2.b = 0;\n mdb(jme, \"FNode\", 144);\n bcb(2003, 1, {});\n _2.bf = function vRb(a) {\n rRb(this, a);\n };\n _2.cf = function wRb() {\n sRb(this);\n };\n _2.d = 0;\n mdb(lme, \"AbstractForceModel\", 2003);\n bcb(631, 2003, { 631: 1 }, xRb);\n _2.af = function zRb(a, b) {\n var c2, d, e, f2, g;\n uRb(this.f, a, b);\n e = c7c(R6c(b.d), a.d);\n g = $wnd.Math.sqrt(e.a * e.a + e.b * e.b);\n d = $wnd.Math.max(0, g - U6c(a.e) / 2 - U6c(b.e) / 2);\n c2 = jRb(this.e, a, b);\n c2 > 0 ? f2 = -yRb(d, this.c) * c2 : f2 = CRb(d, this.b) * BD(vNb(a, (wSb(), oSb)), 19).a;\n Y6c(e, f2 / g);\n return e;\n };\n _2.bf = function ARb(a) {\n rRb(this, a);\n this.a = BD(vNb(a, (wSb(), eSb)), 19).a;\n this.c = Edb(ED(vNb(a, uSb)));\n this.b = Edb(ED(vNb(a, qSb)));\n };\n _2.df = function BRb(a) {\n return a < this.a;\n };\n _2.a = 0;\n _2.b = 0;\n _2.c = 0;\n mdb(lme, \"EadesModel\", 631);\n bcb(632, 2003, { 632: 1 }, DRb);\n _2.af = function FRb(a, b) {\n var c2, d, e, f2, g;\n uRb(this.f, a, b);\n e = c7c(R6c(b.d), a.d);\n g = $wnd.Math.sqrt(e.a * e.a + e.b * e.b);\n d = $wnd.Math.max(0, g - U6c(a.e) / 2 - U6c(b.e) / 2);\n f2 = JRb(d, this.a) * BD(vNb(a, (wSb(), oSb)), 19).a;\n c2 = jRb(this.e, a, b);\n c2 > 0 && (f2 -= ERb(d, this.a) * c2);\n Y6c(e, f2 * this.b / g);\n return e;\n };\n _2.bf = function GRb(a) {\n var b, c2, d, e, f2, g, h;\n rRb(this, a);\n this.b = Edb(ED(vNb(a, (wSb(), vSb))));\n this.c = this.b / BD(vNb(a, eSb), 19).a;\n d = a.e.c.length;\n f2 = 0;\n e = 0;\n for (h = new olb(a.e); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 144);\n f2 += g.e.a;\n e += g.e.b;\n }\n b = f2 * e;\n c2 = Edb(ED(vNb(a, uSb))) * ple;\n this.a = $wnd.Math.sqrt(b / (2 * d)) * c2;\n };\n _2.cf = function HRb() {\n sRb(this);\n this.b -= this.c;\n };\n _2.df = function IRb(a) {\n return this.b > 0;\n };\n _2.a = 0;\n _2.b = 0;\n _2.c = 0;\n mdb(lme, \"FruchtermanReingoldModel\", 632);\n bcb(849, 1, ale, TRb);\n _2.Qe = function URb(a) {\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), mme), \"\"), \"Force Model\"), \"Determines the model for force calculation.\"), MRb), (_5c(), V5c)), gP), pqb((N5c(), L5c)))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), nme), \"\"), \"Iterations\"), \"The number of iterations on the force model.\"), meb(300)), X5c), JI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), ome), \"\"), \"Repulsive Power\"), \"Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model\"), meb(0)), X5c), JI), pqb(I5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), pme), \"\"), \"FR Temperature\"), \"The temperature is used as a scaling factor for particle displacements.\"), qme), U5c), BI), pqb(L5c))));\n o4c(a, pme, mme, RRb);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), rme), \"\"), \"Eades Repulsion\"), \"Factor for repulsive forces in Eades' model.\"), 5), U5c), BI), pqb(L5c))));\n o4c(a, rme, mme, ORb);\n xSb((new ySb(), a));\n };\n var KRb, LRb, MRb, NRb, ORb, PRb, QRb, RRb;\n mdb(sme, \"ForceMetaDataProvider\", 849);\n bcb(424, 22, { 3: 1, 35: 1, 22: 1, 424: 1 }, YRb);\n var VRb, WRb;\n var gP = ndb(sme, \"ForceModelStrategy\", 424, CI, $Rb, ZRb);\n var _Rb;\n bcb(988, 1, ale, ySb);\n _2.Qe = function zSb(a) {\n xSb(a);\n };\n var bSb, cSb, dSb, eSb, fSb, gSb, hSb, iSb, jSb, kSb, lSb, mSb, nSb, oSb, pSb, qSb, rSb, sSb, tSb, uSb, vSb;\n mdb(sme, \"ForceOptions\", 988);\n bcb(989, 1, {}, ASb);\n _2.$e = function BSb() {\n var a;\n return a = new ZQb(), a;\n };\n _2._e = function CSb(a) {\n };\n mdb(sme, \"ForceOptions/ForceFactory\", 989);\n var DSb, ESb, FSb, GSb;\n bcb(850, 1, ale, PSb);\n _2.Qe = function QSb(a) {\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Mme), \"\"), \"Fixed Position\"), \"Prevent that the node is moved by the layout algorithm.\"), (Bcb(), false)), (_5c(), T5c)), wI), pqb((N5c(), K5c)))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Nme), \"\"), \"Desired Edge Length\"), \"Either specified for parent nodes or for individual edges, where the latter takes higher precedence.\"), 100), U5c), BI), qqb(L5c, OC(GC(e1, 1), Kie, 175, 0, [I5c])))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Ome), \"\"), \"Layout Dimension\"), \"Dimensions that are permitted to be altered during layout.\"), KSb), V5c), oP), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Pme), \"\"), \"Stress Epsilon\"), \"Termination criterion for the iterative process.\"), qme), U5c), BI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Qme), \"\"), \"Iteration Limit\"), \"Maximum number of performed iterations. Takes higher precedence than 'epsilon'.\"), meb(Ohe)), X5c), JI), pqb(L5c))));\n cTb((new dTb(), a));\n };\n var ISb, JSb, KSb, LSb, MSb, NSb;\n mdb(sme, \"StressMetaDataProvider\", 850);\n bcb(992, 1, ale, dTb);\n _2.Qe = function eTb(a) {\n cTb(a);\n };\n var RSb, SSb, TSb, USb, VSb, WSb, XSb, YSb, ZSb, $Sb, _Sb, aTb;\n mdb(sme, \"StressOptions\", 992);\n bcb(993, 1, {}, fTb);\n _2.$e = function gTb() {\n var a;\n return a = new iTb(), a;\n };\n _2._e = function hTb(a) {\n };\n mdb(sme, \"StressOptions/StressFactory\", 993);\n bcb(1128, 209, Mle, iTb);\n _2.Ze = function jTb(a, b) {\n var c2, d, e, f2, g;\n Odd(b, Sme, 1);\n Ccb(DD(hkd(a, (bTb(), VSb)))) ? Ccb(DD(hkd(a, _Sb))) || $Cb((c2 = new _Cb((Pgd(), new bhd(a))), c2)) : WQb(new ZQb(), a, Udd(b, 1));\n e = TQb(a);\n d = LQb(this.a, e);\n for (g = d.Kc(); g.Ob(); ) {\n f2 = BD(g.Pb(), 231);\n if (f2.e.c.length <= 1) {\n continue;\n }\n sTb(this.b, f2);\n qTb(this.b);\n Hkb(f2.d, new kTb());\n }\n e = KQb(d);\n SQb(e);\n Qdd(b);\n };\n mdb(Ume, \"StressLayoutProvider\", 1128);\n bcb(1129, 1, qie, kTb);\n _2.td = function lTb(a) {\n lRb(BD(a, 447));\n };\n mdb(Ume, \"StressLayoutProvider/lambda$0$Type\", 1129);\n bcb(990, 1, {}, tTb);\n _2.c = 0;\n _2.e = 0;\n _2.g = 0;\n mdb(Ume, \"StressMajorization\", 990);\n bcb(379, 22, { 3: 1, 35: 1, 22: 1, 379: 1 }, zTb);\n var vTb, wTb, xTb;\n var oP = ndb(Ume, \"StressMajorization/Dimension\", 379, CI, BTb, ATb);\n var CTb;\n bcb(991, 1, Dke, ETb);\n _2.ue = function FTb(a, b) {\n return uTb(this.a, BD(a, 144), BD(b, 144));\n };\n _2.Fb = function GTb(a) {\n return this === a;\n };\n _2.ve = function HTb() {\n return new tpb(this);\n };\n mdb(Ume, \"StressMajorization/lambda$0$Type\", 991);\n bcb(1229, 1, {}, PTb);\n mdb(Wme, \"ElkLayered\", 1229);\n bcb(1230, 1, qie, STb);\n _2.td = function TTb(a) {\n QTb(BD(a, 37));\n };\n mdb(Wme, \"ElkLayered/lambda$0$Type\", 1230);\n bcb(1231, 1, qie, UTb);\n _2.td = function VTb(a) {\n RTb(this.a, BD(a, 37));\n };\n mdb(Wme, \"ElkLayered/lambda$1$Type\", 1231);\n bcb(1263, 1, {}, bUb);\n var WTb, XTb, YTb;\n mdb(Wme, \"GraphConfigurator\", 1263);\n bcb(759, 1, qie, dUb);\n _2.td = function eUb(a) {\n $Tb(this.a, BD(a, 10));\n };\n mdb(Wme, \"GraphConfigurator/lambda$0$Type\", 759);\n bcb(760, 1, {}, fUb);\n _2.Kb = function gUb(a) {\n return ZTb(), new YAb(null, new Kub(BD(a, 29).a, 16));\n };\n mdb(Wme, \"GraphConfigurator/lambda$1$Type\", 760);\n bcb(761, 1, qie, hUb);\n _2.td = function iUb(a) {\n $Tb(this.a, BD(a, 10));\n };\n mdb(Wme, \"GraphConfigurator/lambda$2$Type\", 761);\n bcb(1127, 209, Mle, jUb);\n _2.Ze = function kUb(a, b) {\n var c2;\n c2 = U1b(new a2b(), a);\n PD(hkd(a, (Nyc(), axc))) === PD((hbd(), ebd)) ? JTb(this.a, c2, b) : KTb(this.a, c2, b);\n z2b(new D2b(), c2);\n };\n mdb(Wme, \"LayeredLayoutProvider\", 1127);\n bcb(356, 22, { 3: 1, 35: 1, 22: 1, 356: 1 }, rUb);\n var lUb, mUb, nUb, oUb, pUb;\n var zP = ndb(Wme, \"LayeredPhases\", 356, CI, tUb, sUb);\n var uUb;\n bcb(1651, 1, {}, CUb);\n _2.i = 0;\n var wUb;\n mdb(Xme, \"ComponentsToCGraphTransformer\", 1651);\n var hVb;\n bcb(1652, 1, {}, DUb);\n _2.ef = function EUb(a, b) {\n return $wnd.Math.min(a.a != null ? Edb(a.a) : a.c.i, b.a != null ? Edb(b.a) : b.c.i);\n };\n _2.ff = function FUb(a, b) {\n return $wnd.Math.min(a.a != null ? Edb(a.a) : a.c.i, b.a != null ? Edb(b.a) : b.c.i);\n };\n mdb(Xme, \"ComponentsToCGraphTransformer/1\", 1652);\n bcb(81, 1, { 81: 1 });\n _2.i = 0;\n _2.k = true;\n _2.o = Qje;\n var IP = mdb(Yme, \"CNode\", 81);\n bcb(460, 81, { 460: 1, 81: 1 }, GUb, HUb);\n _2.Ib = function IUb() {\n return \"\";\n };\n mdb(Xme, \"ComponentsToCGraphTransformer/CRectNode\", 460);\n bcb(1623, 1, {}, VUb);\n var JUb, KUb;\n mdb(Xme, \"OneDimensionalComponentsCompaction\", 1623);\n bcb(1624, 1, {}, YUb);\n _2.Kb = function ZUb(a) {\n return WUb(BD(a, 46));\n };\n _2.Fb = function $Ub(a) {\n return this === a;\n };\n mdb(Xme, \"OneDimensionalComponentsCompaction/lambda$0$Type\", 1624);\n bcb(1625, 1, {}, _Ub);\n _2.Kb = function aVb(a) {\n return XUb(BD(a, 46));\n };\n _2.Fb = function bVb(a) {\n return this === a;\n };\n mdb(Xme, \"OneDimensionalComponentsCompaction/lambda$1$Type\", 1625);\n bcb(1654, 1, {}, dVb);\n mdb(Yme, \"CGraph\", 1654);\n bcb(189, 1, { 189: 1 }, gVb);\n _2.b = 0;\n _2.c = 0;\n _2.e = 0;\n _2.g = true;\n _2.i = Qje;\n mdb(Yme, \"CGroup\", 189);\n bcb(1653, 1, {}, jVb);\n _2.ef = function kVb(a, b) {\n return $wnd.Math.max(a.a != null ? Edb(a.a) : a.c.i, b.a != null ? Edb(b.a) : b.c.i);\n };\n _2.ff = function lVb(a, b) {\n return $wnd.Math.max(a.a != null ? Edb(a.a) : a.c.i, b.a != null ? Edb(b.a) : b.c.i);\n };\n mdb(Yme, Ike, 1653);\n bcb(1655, 1, {}, CVb);\n _2.d = false;\n var mVb;\n var LP = mdb(Yme, Nke, 1655);\n bcb(1656, 1, {}, DVb);\n _2.Kb = function EVb(a) {\n return nVb(), Bcb(), BD(BD(a, 46).a, 81).d.e != 0 ? true : false;\n };\n _2.Fb = function FVb(a) {\n return this === a;\n };\n mdb(Yme, Oke, 1656);\n bcb(823, 1, {}, IVb);\n _2.a = false;\n _2.b = false;\n _2.c = false;\n _2.d = false;\n mdb(Yme, Pke, 823);\n bcb(1825, 1, {}, OVb);\n mdb(Zme, Qke, 1825);\n var bQ = odb($me, Fke);\n bcb(1826, 1, { 369: 1 }, SVb);\n _2.Ke = function TVb(a) {\n QVb(this, BD(a, 466));\n };\n mdb(Zme, Rke, 1826);\n bcb(1827, 1, Dke, VVb);\n _2.ue = function WVb(a, b) {\n return UVb(BD(a, 81), BD(b, 81));\n };\n _2.Fb = function XVb(a) {\n return this === a;\n };\n _2.ve = function YVb() {\n return new tpb(this);\n };\n mdb(Zme, Ske, 1827);\n bcb(466, 1, { 466: 1 }, ZVb);\n _2.a = false;\n mdb(Zme, Tke, 466);\n bcb(1828, 1, Dke, $Vb);\n _2.ue = function _Vb(a, b) {\n return PVb(BD(a, 466), BD(b, 466));\n };\n _2.Fb = function aWb(a) {\n return this === a;\n };\n _2.ve = function bWb() {\n return new tpb(this);\n };\n mdb(Zme, Uke, 1828);\n bcb(140, 1, { 140: 1 }, cWb, dWb);\n _2.Fb = function eWb(a) {\n var b;\n if (a == null) {\n return false;\n }\n if (TP != rb(a)) {\n return false;\n }\n b = BD(a, 140);\n return wtb(this.c, b.c) && wtb(this.d, b.d);\n };\n _2.Hb = function fWb() {\n return Hlb(OC(GC(SI, 1), Uhe, 1, 5, [this.c, this.d]));\n };\n _2.Ib = function gWb() {\n return \"(\" + this.c + She + this.d + (this.a ? \"cx\" : \"\") + this.b + \")\";\n };\n _2.a = true;\n _2.c = 0;\n _2.d = 0;\n var TP = mdb($me, \"Point\", 140);\n bcb(405, 22, { 3: 1, 35: 1, 22: 1, 405: 1 }, oWb);\n var hWb, iWb, jWb, kWb;\n var SP = ndb($me, \"Point/Quadrant\", 405, CI, sWb, rWb);\n var tWb;\n bcb(1642, 1, {}, CWb);\n _2.b = null;\n _2.c = null;\n _2.d = null;\n _2.e = null;\n _2.f = null;\n var vWb, wWb, xWb, yWb, zWb;\n mdb($me, \"RectilinearConvexHull\", 1642);\n bcb(574, 1, { 369: 1 }, NWb);\n _2.Ke = function OWb(a) {\n MWb(this, BD(a, 140));\n };\n _2.b = 0;\n var KWb;\n mdb($me, \"RectilinearConvexHull/MaximalElementsEventHandler\", 574);\n bcb(1644, 1, Dke, QWb);\n _2.ue = function RWb(a, b) {\n return PWb(ED(a), ED(b));\n };\n _2.Fb = function SWb(a) {\n return this === a;\n };\n _2.ve = function TWb() {\n return new tpb(this);\n };\n mdb($me, \"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type\", 1644);\n bcb(1643, 1, { 369: 1 }, VWb);\n _2.Ke = function WWb(a) {\n UWb(this, BD(a, 140));\n };\n _2.a = 0;\n _2.b = null;\n _2.c = null;\n _2.d = null;\n _2.e = null;\n mdb($me, \"RectilinearConvexHull/RectangleEventHandler\", 1643);\n bcb(1645, 1, Dke, XWb);\n _2.ue = function YWb(a, b) {\n return EWb(BD(a, 140), BD(b, 140));\n };\n _2.Fb = function ZWb(a) {\n return this === a;\n };\n _2.ve = function $Wb() {\n return new tpb(this);\n };\n mdb($me, \"RectilinearConvexHull/lambda$0$Type\", 1645);\n bcb(1646, 1, Dke, _Wb);\n _2.ue = function aXb(a, b) {\n return FWb(BD(a, 140), BD(b, 140));\n };\n _2.Fb = function bXb(a) {\n return this === a;\n };\n _2.ve = function cXb() {\n return new tpb(this);\n };\n mdb($me, \"RectilinearConvexHull/lambda$1$Type\", 1646);\n bcb(1647, 1, Dke, dXb);\n _2.ue = function eXb(a, b) {\n return GWb(BD(a, 140), BD(b, 140));\n };\n _2.Fb = function fXb(a) {\n return this === a;\n };\n _2.ve = function gXb() {\n return new tpb(this);\n };\n mdb($me, \"RectilinearConvexHull/lambda$2$Type\", 1647);\n bcb(1648, 1, Dke, hXb);\n _2.ue = function iXb(a, b) {\n return HWb(BD(a, 140), BD(b, 140));\n };\n _2.Fb = function jXb(a) {\n return this === a;\n };\n _2.ve = function kXb() {\n return new tpb(this);\n };\n mdb($me, \"RectilinearConvexHull/lambda$3$Type\", 1648);\n bcb(1649, 1, Dke, lXb);\n _2.ue = function mXb(a, b) {\n return IWb(BD(a, 140), BD(b, 140));\n };\n _2.Fb = function nXb(a) {\n return this === a;\n };\n _2.ve = function oXb() {\n return new tpb(this);\n };\n mdb($me, \"RectilinearConvexHull/lambda$4$Type\", 1649);\n bcb(1650, 1, {}, qXb);\n mdb($me, \"Scanline\", 1650);\n bcb(2005, 1, {});\n mdb(_me, \"AbstractGraphPlacer\", 2005);\n bcb(325, 1, { 325: 1 }, AXb);\n _2.mf = function BXb(a) {\n if (this.nf(a)) {\n Rc(this.b, BD(vNb(a, (wtc(), Esc)), 21), a);\n return true;\n } else {\n return false;\n }\n };\n _2.nf = function CXb(a) {\n var b, c2, d, e;\n b = BD(vNb(a, (wtc(), Esc)), 21);\n e = BD(Qc(wXb, b), 21);\n for (d = e.Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 21);\n if (!BD(Qc(this.b, c2), 15).dc()) {\n return false;\n }\n }\n return true;\n };\n var wXb;\n mdb(_me, \"ComponentGroup\", 325);\n bcb(765, 2005, {}, HXb);\n _2.of = function IXb(a) {\n var b, c2;\n for (c2 = new olb(this.a); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 325);\n if (b.mf(a)) {\n return;\n }\n }\n Ekb(this.a, new AXb(a));\n };\n _2.lf = function JXb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2;\n this.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n b.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n if (a.dc()) {\n b.f.a = 0;\n b.f.b = 0;\n return;\n }\n g = BD(a.Xb(0), 37);\n tNb(b, g);\n for (e = a.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 37);\n this.of(d);\n }\n o2 = new d7c();\n f2 = Edb(ED(vNb(g, (Nyc(), kyc))));\n for (j = new olb(this.a); j.a < j.c.c.length; ) {\n h = BD(mlb(j), 325);\n k = DXb(h, f2);\n vXb(Uc(h.b), o2.a, o2.b);\n o2.a += k.a;\n o2.b += k.b;\n }\n b.f.a = o2.a - f2;\n b.f.b = o2.b - f2;\n if (Ccb(DD(vNb(g, qwc))) && PD(vNb(g, Swc)) === PD((Aad(), wad))) {\n for (n = a.Kc(); n.Ob(); ) {\n l = BD(n.Pb(), 37);\n uXb(l, l.c.a, l.c.b);\n }\n c2 = new gYb();\n YXb(c2, a, f2);\n for (m = a.Kc(); m.Ob(); ) {\n l = BD(m.Pb(), 37);\n P6c(X6c(l.c), c2.e);\n }\n P6c(X6c(b.f), c2.a);\n }\n for (i3 = new olb(this.a); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 325);\n tXb(b, Uc(h.b));\n }\n };\n mdb(_me, \"ComponentGroupGraphPlacer\", 765);\n bcb(1293, 765, {}, LXb);\n _2.of = function MXb(a) {\n KXb(this, a);\n };\n _2.lf = function NXb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t;\n this.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n b.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n if (a.dc()) {\n b.f.a = 0;\n b.f.b = 0;\n return;\n }\n g = BD(a.Xb(0), 37);\n tNb(b, g);\n for (e = a.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 37);\n KXb(this, d);\n }\n t = new d7c();\n s = new d7c();\n p = new d7c();\n o2 = new d7c();\n f2 = Edb(ED(vNb(g, (Nyc(), kyc))));\n for (j = new olb(this.a); j.a < j.c.c.length; ) {\n h = BD(mlb(j), 325);\n if (fad(BD(vNb(b, (Y9c(), z8c)), 103))) {\n p.a = t.a;\n for (r = new Mv(Pc(Fc(h.b).a).a.kc()); r.b.Ob(); ) {\n q = BD(Lv(r.b.Pb()), 21);\n if (q.Hc((Ucd(), Acd))) {\n p.a = s.a;\n break;\n }\n }\n } else if (gad(BD(vNb(b, z8c), 103))) {\n p.b = t.b;\n for (r = new Mv(Pc(Fc(h.b).a).a.kc()); r.b.Ob(); ) {\n q = BD(Lv(r.b.Pb()), 21);\n if (q.Hc((Ucd(), Tcd))) {\n p.b = s.b;\n break;\n }\n }\n }\n k = DXb(BD(h, 570), f2);\n vXb(Uc(h.b), p.a, p.b);\n if (fad(BD(vNb(b, z8c), 103))) {\n s.a = p.a + k.a;\n o2.a = $wnd.Math.max(o2.a, s.a);\n for (r = new Mv(Pc(Fc(h.b).a).a.kc()); r.b.Ob(); ) {\n q = BD(Lv(r.b.Pb()), 21);\n if (q.Hc((Ucd(), Rcd))) {\n t.a = p.a + k.a;\n break;\n }\n }\n s.b = p.b + k.b;\n p.b = s.b;\n o2.b = $wnd.Math.max(o2.b, p.b);\n } else if (gad(BD(vNb(b, z8c), 103))) {\n s.b = p.b + k.b;\n o2.b = $wnd.Math.max(o2.b, s.b);\n for (r = new Mv(Pc(Fc(h.b).a).a.kc()); r.b.Ob(); ) {\n q = BD(Lv(r.b.Pb()), 21);\n if (q.Hc((Ucd(), zcd))) {\n t.b = p.b + k.b;\n break;\n }\n }\n s.a = p.a + k.a;\n p.a = s.a;\n o2.a = $wnd.Math.max(o2.a, p.a);\n }\n }\n b.f.a = o2.a - f2;\n b.f.b = o2.b - f2;\n if (Ccb(DD(vNb(g, qwc))) && PD(vNb(g, Swc)) === PD((Aad(), wad))) {\n for (n = a.Kc(); n.Ob(); ) {\n l = BD(n.Pb(), 37);\n uXb(l, l.c.a, l.c.b);\n }\n c2 = new gYb();\n YXb(c2, a, f2);\n for (m = a.Kc(); m.Ob(); ) {\n l = BD(m.Pb(), 37);\n P6c(X6c(l.c), c2.e);\n }\n P6c(X6c(b.f), c2.a);\n }\n for (i3 = new olb(this.a); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 325);\n tXb(b, Uc(h.b));\n }\n };\n mdb(_me, \"ComponentGroupModelOrderGraphPlacer\", 1293);\n bcb(423, 22, { 3: 1, 35: 1, 22: 1, 423: 1 }, SXb);\n var OXb, PXb, QXb;\n var hQ = ndb(_me, \"ComponentOrderingStrategy\", 423, CI, UXb, TXb);\n var VXb;\n bcb(650, 1, {}, gYb);\n mdb(_me, \"ComponentsCompactor\", 650);\n bcb(1468, 12, ake, jYb);\n _2.Fc = function kYb(a) {\n return hYb(this, BD(a, 140));\n };\n mdb(_me, \"ComponentsCompactor/Hullpoints\", 1468);\n bcb(1465, 1, { 841: 1 }, mYb);\n _2.a = false;\n mdb(_me, \"ComponentsCompactor/InternalComponent\", 1465);\n bcb(1464, 1, vie, nYb);\n _2.Jc = function oYb(a) {\n reb(this, a);\n };\n _2.Kc = function pYb() {\n return new olb(this.a);\n };\n mdb(_me, \"ComponentsCompactor/InternalConnectedComponents\", 1464);\n bcb(1467, 1, { 594: 1 }, qYb);\n _2.hf = function sYb() {\n return null;\n };\n _2.jf = function tYb() {\n return this.a;\n };\n _2.gf = function rYb() {\n return cYb(this.d);\n };\n _2.kf = function uYb() {\n return this.b;\n };\n mdb(_me, \"ComponentsCompactor/InternalExternalExtension\", 1467);\n bcb(1466, 1, { 594: 1 }, vYb);\n _2.jf = function yYb() {\n return this.a;\n };\n _2.gf = function wYb() {\n return cYb(this.d);\n };\n _2.hf = function xYb() {\n return this.c;\n };\n _2.kf = function zYb() {\n return this.b;\n };\n mdb(_me, \"ComponentsCompactor/InternalUnionExternalExtension\", 1466);\n bcb(1470, 1, {}, AYb);\n mdb(_me, \"ComponentsCompactor/OuterSegments\", 1470);\n bcb(1469, 1, {}, BYb);\n mdb(_me, \"ComponentsCompactor/Segments\", 1469);\n bcb(1264, 1, {}, FYb);\n mdb(_me, hme, 1264);\n bcb(1265, 1, Dke, HYb);\n _2.ue = function IYb(a, b) {\n return GYb(BD(a, 37), BD(b, 37));\n };\n _2.Fb = function JYb(a) {\n return this === a;\n };\n _2.ve = function KYb() {\n return new tpb(this);\n };\n mdb(_me, \"ComponentsProcessor/lambda$0$Type\", 1265);\n bcb(570, 325, { 325: 1, 570: 1 }, PYb);\n _2.mf = function QYb(a) {\n return NYb(this, a);\n };\n _2.nf = function RYb(a) {\n return OYb(this, a);\n };\n var LYb;\n mdb(_me, \"ModelOrderComponentGroup\", 570);\n bcb(1291, 2005, {}, SYb);\n _2.lf = function TYb(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2;\n if (a.gc() == 1) {\n t = BD(a.Xb(0), 37);\n if (t != b) {\n b.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n sXb(b, t, 0, 0);\n tNb(b, t);\n u_b(b.d, t.d);\n b.f.a = t.f.a;\n b.f.b = t.f.b;\n }\n return;\n } else if (a.dc()) {\n b.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n b.f.a = 0;\n b.f.b = 0;\n return;\n }\n if (PD(vNb(b, (Nyc(), twc))) === PD((RXb(), QXb))) {\n for (i3 = a.Kc(); i3.Ob(); ) {\n g = BD(i3.Pb(), 37);\n r = 0;\n for (p = new olb(g.a); p.a < p.c.c.length; ) {\n o2 = BD(mlb(p), 10);\n r += BD(vNb(o2, byc), 19).a;\n }\n g.p = r;\n }\n mmb();\n a.ad(new VYb());\n }\n f2 = BD(a.Xb(0), 37);\n b.a.c = KC(SI, Uhe, 1, 0, 5, 1);\n tNb(b, f2);\n n = 0;\n u = 0;\n for (j = a.Kc(); j.Ob(); ) {\n g = BD(j.Pb(), 37);\n s = g.f;\n n = $wnd.Math.max(n, s.a);\n u += s.a * s.b;\n }\n n = $wnd.Math.max(n, $wnd.Math.sqrt(u) * Edb(ED(vNb(b, owc))));\n e = Edb(ED(vNb(b, kyc)));\n v = 0;\n w2 = 0;\n m = 0;\n c2 = e;\n for (h = a.Kc(); h.Ob(); ) {\n g = BD(h.Pb(), 37);\n s = g.f;\n if (v + s.a > n) {\n v = 0;\n w2 += m + e;\n m = 0;\n }\n q = g.c;\n uXb(g, v + q.a, w2 + q.b);\n X6c(q);\n c2 = $wnd.Math.max(c2, v + s.a);\n m = $wnd.Math.max(m, s.b);\n v += s.a + e;\n }\n b.f.a = c2;\n b.f.b = w2 + m;\n if (Ccb(DD(vNb(f2, qwc)))) {\n d = new gYb();\n YXb(d, a, e);\n for (l = a.Kc(); l.Ob(); ) {\n k = BD(l.Pb(), 37);\n P6c(X6c(k.c), d.e);\n }\n P6c(X6c(b.f), d.a);\n }\n tXb(b, a);\n };\n mdb(_me, \"SimpleRowGraphPlacer\", 1291);\n bcb(1292, 1, Dke, VYb);\n _2.ue = function WYb(a, b) {\n return UYb(BD(a, 37), BD(b, 37));\n };\n _2.Fb = function XYb(a) {\n return this === a;\n };\n _2.ve = function YYb() {\n return new tpb(this);\n };\n mdb(_me, \"SimpleRowGraphPlacer/1\", 1292);\n var ZYb;\n bcb(1262, 1, Vke, dZb);\n _2.Lb = function eZb(a) {\n var b;\n return b = BD(vNb(BD(a, 243).b, (Nyc(), jxc)), 74), !!b && b.b != 0;\n };\n _2.Fb = function fZb(a) {\n return this === a;\n };\n _2.Mb = function gZb(a) {\n var b;\n return b = BD(vNb(BD(a, 243).b, (Nyc(), jxc)), 74), !!b && b.b != 0;\n };\n mdb(dne, \"CompoundGraphPostprocessor/1\", 1262);\n bcb(1261, 1, ene, wZb);\n _2.pf = function xZb(a, b) {\n qZb(this, BD(a, 37), b);\n };\n mdb(dne, \"CompoundGraphPreprocessor\", 1261);\n bcb(441, 1, { 441: 1 }, yZb);\n _2.c = false;\n mdb(dne, \"CompoundGraphPreprocessor/ExternalPort\", 441);\n bcb(243, 1, { 243: 1 }, BZb);\n _2.Ib = function CZb() {\n return Zr(this.c) + \":\" + TZb(this.b);\n };\n mdb(dne, \"CrossHierarchyEdge\", 243);\n bcb(763, 1, Dke, EZb);\n _2.ue = function FZb(a, b) {\n return DZb(this, BD(a, 243), BD(b, 243));\n };\n _2.Fb = function GZb(a) {\n return this === a;\n };\n _2.ve = function IZb() {\n return new tpb(this);\n };\n mdb(dne, \"CrossHierarchyEdgeComparator\", 763);\n bcb(299, 134, { 3: 1, 299: 1, 94: 1, 134: 1 });\n _2.p = 0;\n mdb(fne, \"LGraphElement\", 299);\n bcb(17, 299, { 3: 1, 17: 1, 299: 1, 94: 1, 134: 1 }, UZb);\n _2.Ib = function VZb() {\n return TZb(this);\n };\n var AQ = mdb(fne, \"LEdge\", 17);\n bcb(37, 299, { 3: 1, 20: 1, 37: 1, 299: 1, 94: 1, 134: 1 }, XZb);\n _2.Jc = function YZb(a) {\n reb(this, a);\n };\n _2.Kc = function ZZb() {\n return new olb(this.b);\n };\n _2.Ib = function $Zb() {\n if (this.b.c.length == 0) {\n return \"G-unlayered\" + Fe(this.a);\n } else if (this.a.c.length == 0) {\n return \"G-layered\" + Fe(this.b);\n }\n return \"G[layerless\" + Fe(this.a) + \", layers\" + Fe(this.b) + \"]\";\n };\n var KQ = mdb(fne, \"LGraph\", 37);\n var _Zb;\n bcb(657, 1, {});\n _2.qf = function b$b() {\n return this.e.n;\n };\n _2.We = function c$b(a) {\n return vNb(this.e, a);\n };\n _2.rf = function d$b() {\n return this.e.o;\n };\n _2.sf = function e$b() {\n return this.e.p;\n };\n _2.Xe = function f$b(a) {\n return wNb(this.e, a);\n };\n _2.tf = function g$b(a) {\n this.e.n.a = a.a;\n this.e.n.b = a.b;\n };\n _2.uf = function h$b(a) {\n this.e.o.a = a.a;\n this.e.o.b = a.b;\n };\n _2.vf = function i$b(a) {\n this.e.p = a;\n };\n mdb(fne, \"LGraphAdapters/AbstractLShapeAdapter\", 657);\n bcb(577, 1, { 839: 1 }, j$b);\n _2.wf = function k$b() {\n var a, b;\n if (!this.b) {\n this.b = Pu(this.a.b.c.length);\n for (b = new olb(this.a.b); b.a < b.c.c.length; ) {\n a = BD(mlb(b), 70);\n Ekb(this.b, new v$b(a));\n }\n }\n return this.b;\n };\n _2.b = null;\n mdb(fne, \"LGraphAdapters/LEdgeAdapter\", 577);\n bcb(656, 1, {}, l$b);\n _2.xf = function m$b() {\n var a, b, c2, d, e, f2;\n if (!this.b) {\n this.b = new Rkb();\n for (d = new olb(this.a.b); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 29);\n for (f2 = new olb(c2.a); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 10);\n if (this.c.Mb(e)) {\n Ekb(this.b, new x$b(this, e, this.e));\n if (this.d) {\n if (wNb(e, (wtc(), vtc))) {\n for (b = BD(vNb(e, vtc), 15).Kc(); b.Ob(); ) {\n a = BD(b.Pb(), 10);\n Ekb(this.b, new x$b(this, a, false));\n }\n }\n if (wNb(e, tsc)) {\n for (b = BD(vNb(e, tsc), 15).Kc(); b.Ob(); ) {\n a = BD(b.Pb(), 10);\n Ekb(this.b, new x$b(this, a, false));\n }\n }\n }\n }\n }\n }\n }\n return this.b;\n };\n _2.qf = function n$b() {\n throw vbb(new cgb(hne));\n };\n _2.We = function o$b(a) {\n return vNb(this.a, a);\n };\n _2.rf = function p$b() {\n return this.a.f;\n };\n _2.sf = function q$b() {\n return this.a.p;\n };\n _2.Xe = function r$b(a) {\n return wNb(this.a, a);\n };\n _2.tf = function s$b(a) {\n throw vbb(new cgb(hne));\n };\n _2.uf = function t$b(a) {\n this.a.f.a = a.a;\n this.a.f.b = a.b;\n };\n _2.vf = function u$b(a) {\n this.a.p = a;\n };\n _2.b = null;\n _2.d = false;\n _2.e = false;\n mdb(fne, \"LGraphAdapters/LGraphAdapter\", 656);\n bcb(576, 657, { 181: 1 }, v$b);\n mdb(fne, \"LGraphAdapters/LLabelAdapter\", 576);\n bcb(575, 657, { 680: 1 }, x$b);\n _2.yf = function y$b() {\n return this.b;\n };\n _2.zf = function z$b() {\n return mmb(), mmb(), jmb;\n };\n _2.wf = function A$b() {\n var a, b;\n if (!this.a) {\n this.a = Pu(BD(this.e, 10).b.c.length);\n for (b = new olb(BD(this.e, 10).b); b.a < b.c.c.length; ) {\n a = BD(mlb(b), 70);\n Ekb(this.a, new v$b(a));\n }\n }\n return this.a;\n };\n _2.Af = function B$b() {\n var a;\n a = BD(this.e, 10).d;\n return new J_b(a.d, a.c, a.a, a.b);\n };\n _2.Bf = function C$b() {\n return mmb(), mmb(), jmb;\n };\n _2.Cf = function D$b() {\n var a, b;\n if (!this.c) {\n this.c = Pu(BD(this.e, 10).j.c.length);\n for (b = new olb(BD(this.e, 10).j); b.a < b.c.c.length; ) {\n a = BD(mlb(b), 11);\n Ekb(this.c, new I$b(a, this.d));\n }\n }\n return this.c;\n };\n _2.Df = function E$b() {\n return Ccb(DD(vNb(BD(this.e, 10), (wtc(), wsc))));\n };\n _2.Ef = function F$b(a) {\n BD(this.e, 10).d.b = a.b;\n BD(this.e, 10).d.d = a.d;\n BD(this.e, 10).d.c = a.c;\n BD(this.e, 10).d.a = a.a;\n };\n _2.Ff = function G$b(a) {\n BD(this.e, 10).f.b = a.b;\n BD(this.e, 10).f.d = a.d;\n BD(this.e, 10).f.c = a.c;\n BD(this.e, 10).f.a = a.a;\n };\n _2.Gf = function H$b() {\n w$b(this, (a$b(), _Zb));\n };\n _2.a = null;\n _2.b = null;\n _2.c = null;\n _2.d = false;\n mdb(fne, \"LGraphAdapters/LNodeAdapter\", 575);\n bcb(1722, 657, { 838: 1 }, I$b);\n _2.zf = function J$b() {\n var a, b, c2, d;\n if (this.d && BD(this.e, 11).i.k == (j0b(), i0b)) {\n return mmb(), mmb(), jmb;\n } else if (!this.a) {\n this.a = new Rkb();\n for (c2 = new olb(BD(this.e, 11).e); c2.a < c2.c.c.length; ) {\n a = BD(mlb(c2), 17);\n Ekb(this.a, new j$b(a));\n }\n if (this.d) {\n d = BD(vNb(BD(this.e, 11), (wtc(), gtc)), 10);\n if (d) {\n for (b = new Sr(ur(R_b(d).a.Kc(), new Sq())); Qr(b); ) {\n a = BD(Rr(b), 17);\n Ekb(this.a, new j$b(a));\n }\n }\n }\n }\n return this.a;\n };\n _2.wf = function K$b() {\n var a, b;\n if (!this.b) {\n this.b = Pu(BD(this.e, 11).f.c.length);\n for (b = new olb(BD(this.e, 11).f); b.a < b.c.c.length; ) {\n a = BD(mlb(b), 70);\n Ekb(this.b, new v$b(a));\n }\n }\n return this.b;\n };\n _2.Bf = function L$b() {\n var a, b, c2, d;\n if (this.d && BD(this.e, 11).i.k == (j0b(), i0b)) {\n return mmb(), mmb(), jmb;\n } else if (!this.c) {\n this.c = new Rkb();\n for (c2 = new olb(BD(this.e, 11).g); c2.a < c2.c.c.length; ) {\n a = BD(mlb(c2), 17);\n Ekb(this.c, new j$b(a));\n }\n if (this.d) {\n d = BD(vNb(BD(this.e, 11), (wtc(), gtc)), 10);\n if (d) {\n for (b = new Sr(ur(U_b(d).a.Kc(), new Sq())); Qr(b); ) {\n a = BD(Rr(b), 17);\n Ekb(this.c, new j$b(a));\n }\n }\n }\n }\n return this.c;\n };\n _2.Hf = function M$b() {\n return BD(this.e, 11).j;\n };\n _2.If = function N$b() {\n return Ccb(DD(vNb(BD(this.e, 11), (wtc(), Nsc))));\n };\n _2.a = null;\n _2.b = null;\n _2.c = null;\n _2.d = false;\n mdb(fne, \"LGraphAdapters/LPortAdapter\", 1722);\n bcb(1723, 1, Dke, P$b);\n _2.ue = function Q$b(a, b) {\n return O$b(BD(a, 11), BD(b, 11));\n };\n _2.Fb = function R$b(a) {\n return this === a;\n };\n _2.ve = function S$b() {\n return new tpb(this);\n };\n mdb(fne, \"LGraphAdapters/PortComparator\", 1723);\n bcb(804, 1, Oie, T$b);\n _2.Mb = function U$b(a) {\n return BD(a, 10), a$b(), true;\n };\n mdb(fne, \"LGraphAdapters/lambda$0$Type\", 804);\n bcb(392, 299, { 3: 1, 299: 1, 392: 1, 94: 1, 134: 1 });\n mdb(fne, \"LShape\", 392);\n bcb(70, 392, { 3: 1, 299: 1, 70: 1, 392: 1, 94: 1, 134: 1 }, p_b, q_b);\n _2.Ib = function r_b() {\n var a;\n a = o_b(this);\n return a == null ? \"label\" : \"l_\" + a;\n };\n mdb(fne, \"LLabel\", 70);\n bcb(207, 1, { 3: 1, 4: 1, 207: 1, 414: 1 });\n _2.Fb = function C_b(a) {\n var b;\n if (JD(a, 207)) {\n b = BD(a, 207);\n return this.d == b.d && this.a == b.a && this.b == b.b && this.c == b.c;\n } else {\n return false;\n }\n };\n _2.Hb = function D_b() {\n var a, b;\n a = Hdb(this.b) << 16;\n a |= Hdb(this.a) & aje;\n b = Hdb(this.c) << 16;\n b |= Hdb(this.d) & aje;\n return a ^ b;\n };\n _2.Jf = function F_b(b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m;\n g = 0;\n while (g < b.length && E_b((BCb(g, b.length), b.charCodeAt(g)), mne)) {\n ++g;\n }\n c2 = b.length;\n while (c2 > 0 && E_b((BCb(c2 - 1, b.length), b.charCodeAt(c2 - 1)), nne)) {\n --c2;\n }\n if (g < c2) {\n l = mfb(b.substr(g, c2 - g), \",|;\");\n try {\n for (i3 = l, j = 0, k = i3.length; j < k; ++j) {\n h = i3[j];\n f2 = mfb(h, \"=\");\n if (f2.length != 2) {\n throw vbb(new Wdb(\"Expecting a list of key-value pairs.\"));\n }\n e = ufb(f2[0]);\n m = Hcb(ufb(f2[1]));\n dfb(e, \"top\") ? this.d = m : dfb(e, \"left\") ? this.b = m : dfb(e, \"bottom\") ? this.a = m : dfb(e, \"right\") && (this.c = m);\n }\n } catch (a) {\n a = ubb(a);\n if (JD(a, 127)) {\n d = a;\n throw vbb(new Wdb(one2 + d));\n } else\n throw vbb(a);\n }\n }\n };\n _2.Ib = function G_b() {\n return \"[top=\" + this.d + \",left=\" + this.b + \",bottom=\" + this.a + \",right=\" + this.c + \"]\";\n };\n _2.a = 0;\n _2.b = 0;\n _2.c = 0;\n _2.d = 0;\n mdb(pne, \"Spacing\", 207);\n bcb(142, 207, qne, H_b, I_b, J_b, K_b);\n var i1 = mdb(pne, \"ElkMargin\", 142);\n bcb(651, 142, qne, L_b);\n mdb(fne, \"LMargin\", 651);\n bcb(10, 392, { 3: 1, 299: 1, 10: 1, 392: 1, 94: 1, 134: 1 }, b0b);\n _2.Ib = function c0b() {\n return a0b(this);\n };\n _2.i = false;\n var OQ = mdb(fne, \"LNode\", 10);\n bcb(267, 22, { 3: 1, 35: 1, 22: 1, 267: 1 }, k0b);\n var d0b, e0b, f0b, g0b, h0b, i0b;\n var NQ = ndb(fne, \"LNode/NodeType\", 267, CI, m0b, l0b);\n var n0b;\n bcb(116, 207, rne, p0b, q0b, r0b);\n var j1 = mdb(pne, \"ElkPadding\", 116);\n bcb(764, 116, rne, s0b);\n mdb(fne, \"LPadding\", 764);\n bcb(11, 392, { 3: 1, 299: 1, 11: 1, 392: 1, 94: 1, 134: 1 }, H0b);\n _2.Ib = function I0b() {\n var a, b, c2;\n a = new Ufb();\n Qfb((a.a += \"p_\", a), C0b(this));\n !!this.i && Qfb(Pfb((a.a += \"[\", a), this.i), \"]\");\n if (this.e.c.length == 1 && this.g.c.length == 0 && BD(Ikb(this.e, 0), 17).c != this) {\n b = BD(Ikb(this.e, 0), 17).c;\n Qfb((a.a += \" << \", a), C0b(b));\n Qfb(Pfb((a.a += \"[\", a), b.i), \"]\");\n }\n if (this.e.c.length == 0 && this.g.c.length == 1 && BD(Ikb(this.g, 0), 17).d != this) {\n c2 = BD(Ikb(this.g, 0), 17).d;\n Qfb((a.a += \" >> \", a), C0b(c2));\n Qfb(Pfb((a.a += \"[\", a), c2.i), \"]\");\n }\n return a.a;\n };\n _2.c = true;\n _2.d = false;\n var t0b, u0b, v0b, w0b, x0b, y0b;\n var aR = mdb(fne, \"LPort\", 11);\n bcb(397, 1, vie, J0b);\n _2.Jc = function K0b(a) {\n reb(this, a);\n };\n _2.Kc = function L0b() {\n var a;\n a = new olb(this.a.e);\n return new M0b(a);\n };\n mdb(fne, \"LPort/1\", 397);\n bcb(1290, 1, aie, M0b);\n _2.Nb = function N0b(a) {\n Rrb(this, a);\n };\n _2.Pb = function P0b() {\n return BD(mlb(this.a), 17).c;\n };\n _2.Ob = function O0b() {\n return llb(this.a);\n };\n _2.Qb = function Q0b() {\n nlb(this.a);\n };\n mdb(fne, \"LPort/1/1\", 1290);\n bcb(359, 1, vie, R0b);\n _2.Jc = function S0b(a) {\n reb(this, a);\n };\n _2.Kc = function T0b() {\n var a;\n return a = new olb(this.a.g), new U0b(a);\n };\n mdb(fne, \"LPort/2\", 359);\n bcb(762, 1, aie, U0b);\n _2.Nb = function V0b(a) {\n Rrb(this, a);\n };\n _2.Pb = function X0b() {\n return BD(mlb(this.a), 17).d;\n };\n _2.Ob = function W0b() {\n return llb(this.a);\n };\n _2.Qb = function Y0b() {\n nlb(this.a);\n };\n mdb(fne, \"LPort/2/1\", 762);\n bcb(1283, 1, vie, Z0b);\n _2.Jc = function $0b(a) {\n reb(this, a);\n };\n _2.Kc = function _0b() {\n return new b1b(this);\n };\n mdb(fne, \"LPort/CombineIter\", 1283);\n bcb(201, 1, aie, b1b);\n _2.Nb = function c1b(a) {\n Rrb(this, a);\n };\n _2.Qb = function f1b() {\n Srb();\n };\n _2.Ob = function d1b() {\n return a1b(this);\n };\n _2.Pb = function e1b() {\n return llb(this.a) ? mlb(this.a) : mlb(this.b);\n };\n mdb(fne, \"LPort/CombineIter/1\", 201);\n bcb(1285, 1, Vke, h1b);\n _2.Lb = function i1b(a) {\n return g1b(a);\n };\n _2.Fb = function j1b(a) {\n return this === a;\n };\n _2.Mb = function k1b(a) {\n return z0b(), BD(a, 11).e.c.length != 0;\n };\n mdb(fne, \"LPort/lambda$0$Type\", 1285);\n bcb(1284, 1, Vke, m1b);\n _2.Lb = function n1b(a) {\n return l1b(a);\n };\n _2.Fb = function o1b(a) {\n return this === a;\n };\n _2.Mb = function p1b(a) {\n return z0b(), BD(a, 11).g.c.length != 0;\n };\n mdb(fne, \"LPort/lambda$1$Type\", 1284);\n bcb(1286, 1, Vke, q1b);\n _2.Lb = function r1b(a) {\n return z0b(), BD(a, 11).j == (Ucd(), Acd);\n };\n _2.Fb = function s1b(a) {\n return this === a;\n };\n _2.Mb = function t1b(a) {\n return z0b(), BD(a, 11).j == (Ucd(), Acd);\n };\n mdb(fne, \"LPort/lambda$2$Type\", 1286);\n bcb(1287, 1, Vke, u1b);\n _2.Lb = function v1b(a) {\n return z0b(), BD(a, 11).j == (Ucd(), zcd);\n };\n _2.Fb = function w1b(a) {\n return this === a;\n };\n _2.Mb = function x1b(a) {\n return z0b(), BD(a, 11).j == (Ucd(), zcd);\n };\n mdb(fne, \"LPort/lambda$3$Type\", 1287);\n bcb(1288, 1, Vke, y1b);\n _2.Lb = function z1b(a) {\n return z0b(), BD(a, 11).j == (Ucd(), Rcd);\n };\n _2.Fb = function A1b(a) {\n return this === a;\n };\n _2.Mb = function B1b(a) {\n return z0b(), BD(a, 11).j == (Ucd(), Rcd);\n };\n mdb(fne, \"LPort/lambda$4$Type\", 1288);\n bcb(1289, 1, Vke, C1b);\n _2.Lb = function D1b(a) {\n return z0b(), BD(a, 11).j == (Ucd(), Tcd);\n };\n _2.Fb = function E1b(a) {\n return this === a;\n };\n _2.Mb = function F1b(a) {\n return z0b(), BD(a, 11).j == (Ucd(), Tcd);\n };\n mdb(fne, \"LPort/lambda$5$Type\", 1289);\n bcb(29, 299, { 3: 1, 20: 1, 299: 1, 29: 1, 94: 1, 134: 1 }, H1b);\n _2.Jc = function I1b(a) {\n reb(this, a);\n };\n _2.Kc = function J1b() {\n return new olb(this.a);\n };\n _2.Ib = function K1b() {\n return \"L_\" + Jkb(this.b.b, this, 0) + Fe(this.a);\n };\n mdb(fne, \"Layer\", 29);\n bcb(1342, 1, {}, a2b);\n mdb(tne, une, 1342);\n bcb(1346, 1, {}, e2b);\n _2.Kb = function f2b(a) {\n return atd(BD(a, 82));\n };\n mdb(tne, \"ElkGraphImporter/0methodref$connectableShapeToNode$Type\", 1346);\n bcb(1349, 1, {}, g2b);\n _2.Kb = function h2b(a) {\n return atd(BD(a, 82));\n };\n mdb(tne, \"ElkGraphImporter/1methodref$connectableShapeToNode$Type\", 1349);\n bcb(1343, 1, qie, i2b);\n _2.td = function j2b(a) {\n Q1b(this.a, BD(a, 118));\n };\n mdb(tne, vne, 1343);\n bcb(1344, 1, qie, k2b);\n _2.td = function l2b(a) {\n Q1b(this.a, BD(a, 118));\n };\n mdb(tne, wne, 1344);\n bcb(1345, 1, {}, m2b);\n _2.Kb = function n2b(a) {\n return new YAb(null, new Kub(Old(BD(a, 79)), 16));\n };\n mdb(tne, xne, 1345);\n bcb(1347, 1, Oie, o2b);\n _2.Mb = function p2b(a) {\n return b2b(this.a, BD(a, 33));\n };\n mdb(tne, yne, 1347);\n bcb(1348, 1, {}, q2b);\n _2.Kb = function r2b(a) {\n return new YAb(null, new Kub(Nld(BD(a, 79)), 16));\n };\n mdb(tne, \"ElkGraphImporter/lambda$5$Type\", 1348);\n bcb(1350, 1, Oie, s2b);\n _2.Mb = function t2b(a) {\n return c2b(this.a, BD(a, 33));\n };\n mdb(tne, \"ElkGraphImporter/lambda$7$Type\", 1350);\n bcb(1351, 1, Oie, u2b);\n _2.Mb = function v2b(a) {\n return d2b(BD(a, 79));\n };\n mdb(tne, \"ElkGraphImporter/lambda$8$Type\", 1351);\n bcb(1278, 1, {}, D2b);\n var w2b;\n mdb(tne, \"ElkGraphLayoutTransferrer\", 1278);\n bcb(1279, 1, Oie, G2b);\n _2.Mb = function H2b(a) {\n return E2b(this.a, BD(a, 17));\n };\n mdb(tne, \"ElkGraphLayoutTransferrer/lambda$0$Type\", 1279);\n bcb(1280, 1, qie, I2b);\n _2.td = function J2b(a) {\n x2b();\n Ekb(this.a, BD(a, 17));\n };\n mdb(tne, \"ElkGraphLayoutTransferrer/lambda$1$Type\", 1280);\n bcb(1281, 1, Oie, K2b);\n _2.Mb = function L2b(a) {\n return F2b(this.a, BD(a, 17));\n };\n mdb(tne, \"ElkGraphLayoutTransferrer/lambda$2$Type\", 1281);\n bcb(1282, 1, qie, M2b);\n _2.td = function N2b(a) {\n x2b();\n Ekb(this.a, BD(a, 17));\n };\n mdb(tne, \"ElkGraphLayoutTransferrer/lambda$3$Type\", 1282);\n bcb(1485, 1, ene, S2b);\n _2.pf = function T2b(a, b) {\n Q2b(BD(a, 37), b);\n };\n mdb(Ane, \"CommentNodeMarginCalculator\", 1485);\n bcb(1486, 1, {}, U2b);\n _2.Kb = function V2b(a) {\n return new YAb(null, new Kub(BD(a, 29).a, 16));\n };\n mdb(Ane, \"CommentNodeMarginCalculator/lambda$0$Type\", 1486);\n bcb(1487, 1, qie, W2b);\n _2.td = function X2b(a) {\n R2b(BD(a, 10));\n };\n mdb(Ane, \"CommentNodeMarginCalculator/lambda$1$Type\", 1487);\n bcb(1488, 1, ene, _2b);\n _2.pf = function a3b(a, b) {\n Z2b(BD(a, 37), b);\n };\n mdb(Ane, \"CommentPostprocessor\", 1488);\n bcb(1489, 1, ene, e3b);\n _2.pf = function f3b(a, b) {\n b3b(BD(a, 37), b);\n };\n mdb(Ane, \"CommentPreprocessor\", 1489);\n bcb(1490, 1, ene, h3b);\n _2.pf = function i3b(a, b) {\n g3b(BD(a, 37), b);\n };\n mdb(Ane, \"ConstraintsPostprocessor\", 1490);\n bcb(1491, 1, ene, p3b);\n _2.pf = function q3b(a, b) {\n n3b(BD(a, 37), b);\n };\n mdb(Ane, \"EdgeAndLayerConstraintEdgeReverser\", 1491);\n bcb(1492, 1, ene, t3b);\n _2.pf = function v3b(a, b) {\n r3b(BD(a, 37), b);\n };\n mdb(Ane, \"EndLabelPostprocessor\", 1492);\n bcb(1493, 1, {}, w3b);\n _2.Kb = function x3b(a) {\n return new YAb(null, new Kub(BD(a, 29).a, 16));\n };\n mdb(Ane, \"EndLabelPostprocessor/lambda$0$Type\", 1493);\n bcb(1494, 1, Oie, y3b);\n _2.Mb = function z3b(a) {\n return u3b(BD(a, 10));\n };\n mdb(Ane, \"EndLabelPostprocessor/lambda$1$Type\", 1494);\n bcb(1495, 1, qie, A3b);\n _2.td = function B3b(a) {\n s3b(BD(a, 10));\n };\n mdb(Ane, \"EndLabelPostprocessor/lambda$2$Type\", 1495);\n bcb(1496, 1, ene, M3b);\n _2.pf = function P3b(a, b) {\n I3b(BD(a, 37), b);\n };\n mdb(Ane, \"EndLabelPreprocessor\", 1496);\n bcb(1497, 1, {}, Q3b);\n _2.Kb = function R3b(a) {\n return new YAb(null, new Kub(BD(a, 29).a, 16));\n };\n mdb(Ane, \"EndLabelPreprocessor/lambda$0$Type\", 1497);\n bcb(1498, 1, qie, S3b);\n _2.td = function T3b(a) {\n E3b(this.a, this.b, this.c, BD(a, 10));\n };\n _2.a = 0;\n _2.b = 0;\n _2.c = false;\n mdb(Ane, \"EndLabelPreprocessor/lambda$1$Type\", 1498);\n bcb(1499, 1, Oie, U3b);\n _2.Mb = function V3b(a) {\n return PD(vNb(BD(a, 70), (Nyc(), Qwc))) === PD((qad(), pad2));\n };\n mdb(Ane, \"EndLabelPreprocessor/lambda$2$Type\", 1499);\n bcb(1500, 1, qie, W3b);\n _2.td = function X3b(a) {\n Dsb(this.a, BD(a, 70));\n };\n mdb(Ane, \"EndLabelPreprocessor/lambda$3$Type\", 1500);\n bcb(1501, 1, Oie, Y3b);\n _2.Mb = function Z3b(a) {\n return PD(vNb(BD(a, 70), (Nyc(), Qwc))) === PD((qad(), oad));\n };\n mdb(Ane, \"EndLabelPreprocessor/lambda$4$Type\", 1501);\n bcb(1502, 1, qie, $3b);\n _2.td = function _3b(a) {\n Dsb(this.a, BD(a, 70));\n };\n mdb(Ane, \"EndLabelPreprocessor/lambda$5$Type\", 1502);\n bcb(1551, 1, ene, i4b);\n _2.pf = function j4b(a, b) {\n f4b(BD(a, 37), b);\n };\n var a4b;\n mdb(Ane, \"EndLabelSorter\", 1551);\n bcb(1552, 1, Dke, l4b);\n _2.ue = function m4b(a, b) {\n return k4b(BD(a, 456), BD(b, 456));\n };\n _2.Fb = function n4b(a) {\n return this === a;\n };\n _2.ve = function o4b() {\n return new tpb(this);\n };\n mdb(Ane, \"EndLabelSorter/1\", 1552);\n bcb(456, 1, { 456: 1 }, p4b);\n mdb(Ane, \"EndLabelSorter/LabelGroup\", 456);\n bcb(1553, 1, {}, q4b);\n _2.Kb = function r4b(a) {\n return b4b(), new YAb(null, new Kub(BD(a, 29).a, 16));\n };\n mdb(Ane, \"EndLabelSorter/lambda$0$Type\", 1553);\n bcb(1554, 1, Oie, s4b);\n _2.Mb = function t4b(a) {\n return b4b(), BD(a, 10).k == (j0b(), h0b);\n };\n mdb(Ane, \"EndLabelSorter/lambda$1$Type\", 1554);\n bcb(1555, 1, qie, u4b);\n _2.td = function v4b(a) {\n g4b(BD(a, 10));\n };\n mdb(Ane, \"EndLabelSorter/lambda$2$Type\", 1555);\n bcb(1556, 1, Oie, w4b);\n _2.Mb = function x4b(a) {\n return b4b(), PD(vNb(BD(a, 70), (Nyc(), Qwc))) === PD((qad(), oad));\n };\n mdb(Ane, \"EndLabelSorter/lambda$3$Type\", 1556);\n bcb(1557, 1, Oie, y4b);\n _2.Mb = function z4b(a) {\n return b4b(), PD(vNb(BD(a, 70), (Nyc(), Qwc))) === PD((qad(), pad2));\n };\n mdb(Ane, \"EndLabelSorter/lambda$4$Type\", 1557);\n bcb(1503, 1, ene, L4b);\n _2.pf = function M4b(a, b) {\n J4b(this, BD(a, 37));\n };\n _2.b = 0;\n _2.c = 0;\n mdb(Ane, \"FinalSplineBendpointsCalculator\", 1503);\n bcb(1504, 1, {}, N4b);\n _2.Kb = function O4b(a) {\n return new YAb(null, new Kub(BD(a, 29).a, 16));\n };\n mdb(Ane, \"FinalSplineBendpointsCalculator/lambda$0$Type\", 1504);\n bcb(1505, 1, {}, P4b);\n _2.Kb = function Q4b(a) {\n return new YAb(null, new Lub(new Sr(ur(U_b(BD(a, 10)).a.Kc(), new Sq()))));\n };\n mdb(Ane, \"FinalSplineBendpointsCalculator/lambda$1$Type\", 1505);\n bcb(1506, 1, Oie, R4b);\n _2.Mb = function S4b(a) {\n return !OZb(BD(a, 17));\n };\n mdb(Ane, \"FinalSplineBendpointsCalculator/lambda$2$Type\", 1506);\n bcb(1507, 1, Oie, T4b);\n _2.Mb = function U4b(a) {\n return wNb(BD(a, 17), (wtc(), rtc));\n };\n mdb(Ane, \"FinalSplineBendpointsCalculator/lambda$3$Type\", 1507);\n bcb(1508, 1, qie, V4b);\n _2.td = function W4b(a) {\n C4b(this.a, BD(a, 128));\n };\n mdb(Ane, \"FinalSplineBendpointsCalculator/lambda$4$Type\", 1508);\n bcb(1509, 1, qie, X4b);\n _2.td = function Y4b(a) {\n smb(BD(a, 17).a);\n };\n mdb(Ane, \"FinalSplineBendpointsCalculator/lambda$5$Type\", 1509);\n bcb(792, 1, ene, u5b);\n _2.pf = function v5b(a, b) {\n l5b(this, BD(a, 37), b);\n };\n mdb(Ane, \"GraphTransformer\", 792);\n bcb(511, 22, { 3: 1, 35: 1, 22: 1, 511: 1 }, z5b);\n var w5b, x5b;\n var ZR = ndb(Ane, \"GraphTransformer/Mode\", 511, CI, B5b, A5b);\n var C5b;\n bcb(1510, 1, ene, I5b);\n _2.pf = function J5b(a, b) {\n F5b(BD(a, 37), b);\n };\n mdb(Ane, \"HierarchicalNodeResizingProcessor\", 1510);\n bcb(1511, 1, ene, Q5b);\n _2.pf = function R5b(a, b) {\n M5b(BD(a, 37), b);\n };\n mdb(Ane, \"HierarchicalPortConstraintProcessor\", 1511);\n bcb(1512, 1, Dke, T5b);\n _2.ue = function U5b(a, b) {\n return S5b(BD(a, 10), BD(b, 10));\n };\n _2.Fb = function V5b(a) {\n return this === a;\n };\n _2.ve = function W5b() {\n return new tpb(this);\n };\n mdb(Ane, \"HierarchicalPortConstraintProcessor/NodeComparator\", 1512);\n bcb(1513, 1, ene, Z5b);\n _2.pf = function $5b(a, b) {\n X5b(BD(a, 37), b);\n };\n mdb(Ane, \"HierarchicalPortDummySizeProcessor\", 1513);\n bcb(1514, 1, ene, l6b);\n _2.pf = function m6b(a, b) {\n e6b(this, BD(a, 37), b);\n };\n _2.a = 0;\n mdb(Ane, \"HierarchicalPortOrthogonalEdgeRouter\", 1514);\n bcb(1515, 1, Dke, o6b);\n _2.ue = function p6b(a, b) {\n return n6b(BD(a, 10), BD(b, 10));\n };\n _2.Fb = function q6b(a) {\n return this === a;\n };\n _2.ve = function r6b() {\n return new tpb(this);\n };\n mdb(Ane, \"HierarchicalPortOrthogonalEdgeRouter/1\", 1515);\n bcb(1516, 1, Dke, t6b);\n _2.ue = function u6b(a, b) {\n return s6b(BD(a, 10), BD(b, 10));\n };\n _2.Fb = function v6b(a) {\n return this === a;\n };\n _2.ve = function w6b() {\n return new tpb(this);\n };\n mdb(Ane, \"HierarchicalPortOrthogonalEdgeRouter/2\", 1516);\n bcb(1517, 1, ene, z6b);\n _2.pf = function A6b(a, b) {\n y6b(BD(a, 37), b);\n };\n mdb(Ane, \"HierarchicalPortPositionProcessor\", 1517);\n bcb(1518, 1, ene, J6b);\n _2.pf = function K6b(a, b) {\n I6b(this, BD(a, 37));\n };\n _2.a = 0;\n _2.c = 0;\n var B6b, C6b;\n mdb(Ane, \"HighDegreeNodeLayeringProcessor\", 1518);\n bcb(571, 1, { 571: 1 }, L6b);\n _2.b = -1;\n _2.d = -1;\n mdb(Ane, \"HighDegreeNodeLayeringProcessor/HighDegreeNodeInformation\", 571);\n bcb(1519, 1, {}, M6b);\n _2.Kb = function N6b(a) {\n return D6b(), R_b(BD(a, 10));\n };\n _2.Fb = function O6b(a) {\n return this === a;\n };\n mdb(Ane, \"HighDegreeNodeLayeringProcessor/lambda$0$Type\", 1519);\n bcb(1520, 1, {}, P6b);\n _2.Kb = function Q6b(a) {\n return D6b(), U_b(BD(a, 10));\n };\n _2.Fb = function R6b(a) {\n return this === a;\n };\n mdb(Ane, \"HighDegreeNodeLayeringProcessor/lambda$1$Type\", 1520);\n bcb(1526, 1, ene, X6b);\n _2.pf = function Y6b(a, b) {\n W6b(this, BD(a, 37), b);\n };\n mdb(Ane, \"HyperedgeDummyMerger\", 1526);\n bcb(793, 1, {}, Z6b);\n _2.a = false;\n _2.b = false;\n _2.c = false;\n mdb(Ane, \"HyperedgeDummyMerger/MergeState\", 793);\n bcb(1527, 1, {}, $6b);\n _2.Kb = function _6b(a) {\n return new YAb(null, new Kub(BD(a, 29).a, 16));\n };\n mdb(Ane, \"HyperedgeDummyMerger/lambda$0$Type\", 1527);\n bcb(1528, 1, {}, a7b);\n _2.Kb = function b7b(a) {\n return new YAb(null, new Kub(BD(a, 10).j, 16));\n };\n mdb(Ane, \"HyperedgeDummyMerger/lambda$1$Type\", 1528);\n bcb(1529, 1, qie, c7b);\n _2.td = function d7b(a) {\n BD(a, 11).p = -1;\n };\n mdb(Ane, \"HyperedgeDummyMerger/lambda$2$Type\", 1529);\n bcb(1530, 1, ene, g7b);\n _2.pf = function h7b(a, b) {\n f7b(BD(a, 37), b);\n };\n mdb(Ane, \"HypernodesProcessor\", 1530);\n bcb(1531, 1, ene, j7b);\n _2.pf = function k7b(a, b) {\n i7b(BD(a, 37), b);\n };\n mdb(Ane, \"InLayerConstraintProcessor\", 1531);\n bcb(1532, 1, ene, m7b);\n _2.pf = function n7b(a, b) {\n l7b(BD(a, 37), b);\n };\n mdb(Ane, \"InnermostNodeMarginCalculator\", 1532);\n bcb(1533, 1, ene, r7b);\n _2.pf = function w7b(a, b) {\n q7b(this, BD(a, 37));\n };\n _2.a = Qje;\n _2.b = Qje;\n _2.c = Pje;\n _2.d = Pje;\n var zS = mdb(Ane, \"InteractiveExternalPortPositioner\", 1533);\n bcb(1534, 1, {}, x7b);\n _2.Kb = function y7b(a) {\n return BD(a, 17).d.i;\n };\n _2.Fb = function z7b(a) {\n return this === a;\n };\n mdb(Ane, \"InteractiveExternalPortPositioner/lambda$0$Type\", 1534);\n bcb(1535, 1, {}, A7b);\n _2.Kb = function B7b(a) {\n return s7b(this.a, ED(a));\n };\n _2.Fb = function C7b(a) {\n return this === a;\n };\n mdb(Ane, \"InteractiveExternalPortPositioner/lambda$1$Type\", 1535);\n bcb(1536, 1, {}, D7b);\n _2.Kb = function E7b(a) {\n return BD(a, 17).c.i;\n };\n _2.Fb = function F7b(a) {\n return this === a;\n };\n mdb(Ane, \"InteractiveExternalPortPositioner/lambda$2$Type\", 1536);\n bcb(1537, 1, {}, G7b);\n _2.Kb = function H7b(a) {\n return t7b(this.a, ED(a));\n };\n _2.Fb = function I7b(a) {\n return this === a;\n };\n mdb(Ane, \"InteractiveExternalPortPositioner/lambda$3$Type\", 1537);\n bcb(1538, 1, {}, J7b);\n _2.Kb = function K7b(a) {\n return u7b(this.a, ED(a));\n };\n _2.Fb = function L7b(a) {\n return this === a;\n };\n mdb(Ane, \"InteractiveExternalPortPositioner/lambda$4$Type\", 1538);\n bcb(1539, 1, {}, M7b);\n _2.Kb = function N7b(a) {\n return v7b(this.a, ED(a));\n };\n _2.Fb = function O7b(a) {\n return this === a;\n };\n mdb(Ane, \"InteractiveExternalPortPositioner/lambda$5$Type\", 1539);\n bcb(77, 22, { 3: 1, 35: 1, 22: 1, 77: 1, 234: 1 }, T8b);\n _2.Kf = function U8b() {\n switch (this.g) {\n case 15:\n return new eoc();\n case 22:\n return new Aoc();\n case 47:\n return new Joc();\n case 28:\n case 35:\n return new uac();\n case 32:\n return new S2b();\n case 42:\n return new _2b();\n case 1:\n return new e3b();\n case 41:\n return new h3b();\n case 56:\n return new u5b((y5b(), x5b));\n case 0:\n return new u5b((y5b(), w5b));\n case 2:\n return new p3b();\n case 54:\n return new t3b();\n case 33:\n return new M3b();\n case 51:\n return new L4b();\n case 55:\n return new I5b();\n case 13:\n return new Q5b();\n case 38:\n return new Z5b();\n case 44:\n return new l6b();\n case 40:\n return new z6b();\n case 9:\n return new J6b();\n case 49:\n return new sgc();\n case 37:\n return new X6b();\n case 43:\n return new g7b();\n case 27:\n return new j7b();\n case 30:\n return new m7b();\n case 3:\n return new r7b();\n case 18:\n return new b9b();\n case 29:\n return new h9b();\n case 5:\n return new u9b();\n case 50:\n return new D9b();\n case 34:\n return new $9b();\n case 36:\n return new Iac();\n case 52:\n return new i4b();\n case 11:\n return new Sac();\n case 7:\n return new abc();\n case 39:\n return new obc();\n case 45:\n return new rbc();\n case 16:\n return new vbc();\n case 10:\n return new Fbc();\n case 48:\n return new Xbc();\n case 21:\n return new ccc();\n case 23:\n return new fGc((rGc(), pGc));\n case 8:\n return new lcc();\n case 12:\n return new tcc();\n case 4:\n return new ycc();\n case 19:\n return new Tcc();\n case 17:\n return new pdc();\n case 53:\n return new sdc();\n case 6:\n return new hec();\n case 25:\n return new wdc();\n case 46:\n return new Ndc();\n case 31:\n return new sec();\n case 14:\n return new Fec();\n case 26:\n return new ppc();\n case 20:\n return new Uec();\n case 24:\n return new fGc((rGc(), qGc));\n default:\n throw vbb(new Wdb(Dne + (this.f != null ? this.f : \"\" + this.g)));\n }\n };\n var P7b, Q7b, R7b, S7b, T7b, U7b, V7b, W7b, X7b, Y7b, Z7b, $7b, _7b, a8b, b8b, c8b, d8b, e8b, f8b, g8b, h8b, i8b, j8b, k8b, l8b, m8b, n8b, o8b, p8b, q8b, r8b, s8b, t8b, u8b, v8b, w8b, x8b, y8b, z8b, A8b, B8b, C8b, D8b, E8b, F8b, G8b, H8b, I8b, J8b, K8b, L8b, M8b, N8b, O8b, P8b, Q8b, R8b;\n var AS = ndb(Ane, Ene, 77, CI, W8b, V8b);\n var X8b;\n bcb(1540, 1, ene, b9b);\n _2.pf = function c9b(a, b) {\n _8b(BD(a, 37), b);\n };\n mdb(Ane, \"InvertedPortProcessor\", 1540);\n bcb(1541, 1, ene, h9b);\n _2.pf = function i9b(a, b) {\n g9b(BD(a, 37), b);\n };\n mdb(Ane, \"LabelAndNodeSizeProcessor\", 1541);\n bcb(1542, 1, Oie, j9b);\n _2.Mb = function k9b(a) {\n return BD(a, 10).k == (j0b(), h0b);\n };\n mdb(Ane, \"LabelAndNodeSizeProcessor/lambda$0$Type\", 1542);\n bcb(1543, 1, Oie, l9b);\n _2.Mb = function m9b(a) {\n return BD(a, 10).k == (j0b(), e0b);\n };\n mdb(Ane, \"LabelAndNodeSizeProcessor/lambda$1$Type\", 1543);\n bcb(1544, 1, qie, n9b);\n _2.td = function o9b(a) {\n e9b(this.b, this.a, this.c, BD(a, 10));\n };\n _2.a = false;\n _2.c = false;\n mdb(Ane, \"LabelAndNodeSizeProcessor/lambda$2$Type\", 1544);\n bcb(1545, 1, ene, u9b);\n _2.pf = function v9b(a, b) {\n s9b(BD(a, 37), b);\n };\n var p9b;\n mdb(Ane, \"LabelDummyInserter\", 1545);\n bcb(1546, 1, Vke, w9b);\n _2.Lb = function x9b(a) {\n return PD(vNb(BD(a, 70), (Nyc(), Qwc))) === PD((qad(), nad));\n };\n _2.Fb = function y9b(a) {\n return this === a;\n };\n _2.Mb = function z9b(a) {\n return PD(vNb(BD(a, 70), (Nyc(), Qwc))) === PD((qad(), nad));\n };\n mdb(Ane, \"LabelDummyInserter/1\", 1546);\n bcb(1547, 1, ene, D9b);\n _2.pf = function E9b(a, b) {\n C9b(BD(a, 37), b);\n };\n mdb(Ane, \"LabelDummyRemover\", 1547);\n bcb(1548, 1, Oie, F9b);\n _2.Mb = function G9b(a) {\n return Ccb(DD(vNb(BD(a, 70), (Nyc(), Pwc))));\n };\n mdb(Ane, \"LabelDummyRemover/lambda$0$Type\", 1548);\n bcb(1359, 1, ene, $9b);\n _2.pf = function cac(a, b) {\n W9b(this, BD(a, 37), b);\n };\n _2.a = null;\n var H9b;\n mdb(Ane, \"LabelDummySwitcher\", 1359);\n bcb(286, 1, { 286: 1 }, gac);\n _2.c = 0;\n _2.d = null;\n _2.f = 0;\n mdb(Ane, \"LabelDummySwitcher/LabelDummyInfo\", 286);\n bcb(1360, 1, {}, hac);\n _2.Kb = function iac(a) {\n return I9b(), new YAb(null, new Kub(BD(a, 29).a, 16));\n };\n mdb(Ane, \"LabelDummySwitcher/lambda$0$Type\", 1360);\n bcb(1361, 1, Oie, jac);\n _2.Mb = function kac(a) {\n return I9b(), BD(a, 10).k == (j0b(), f0b);\n };\n mdb(Ane, \"LabelDummySwitcher/lambda$1$Type\", 1361);\n bcb(1362, 1, {}, lac);\n _2.Kb = function mac(a) {\n return _9b(this.a, BD(a, 10));\n };\n mdb(Ane, \"LabelDummySwitcher/lambda$2$Type\", 1362);\n bcb(1363, 1, qie, nac);\n _2.td = function oac(a) {\n aac(this.a, BD(a, 286));\n };\n mdb(Ane, \"LabelDummySwitcher/lambda$3$Type\", 1363);\n bcb(1364, 1, Dke, pac);\n _2.ue = function qac(a, b) {\n return bac(BD(a, 286), BD(b, 286));\n };\n _2.Fb = function rac(a) {\n return this === a;\n };\n _2.ve = function sac() {\n return new tpb(this);\n };\n mdb(Ane, \"LabelDummySwitcher/lambda$4$Type\", 1364);\n bcb(791, 1, ene, uac);\n _2.pf = function vac(a, b) {\n tac(BD(a, 37), b);\n };\n mdb(Ane, \"LabelManagementProcessor\", 791);\n bcb(1549, 1, ene, Iac);\n _2.pf = function Jac(a, b) {\n Cac(BD(a, 37), b);\n };\n mdb(Ane, \"LabelSideSelector\", 1549);\n bcb(1550, 1, Oie, Kac);\n _2.Mb = function Lac(a) {\n return Ccb(DD(vNb(BD(a, 70), (Nyc(), Pwc))));\n };\n mdb(Ane, \"LabelSideSelector/lambda$0$Type\", 1550);\n bcb(1558, 1, ene, Sac);\n _2.pf = function Tac(a, b) {\n Oac(BD(a, 37), b);\n };\n mdb(Ane, \"LayerConstraintPostprocessor\", 1558);\n bcb(1559, 1, ene, abc);\n _2.pf = function bbc(a, b) {\n $ac(BD(a, 37), b);\n };\n var Uac;\n mdb(Ane, \"LayerConstraintPreprocessor\", 1559);\n bcb(360, 22, { 3: 1, 35: 1, 22: 1, 360: 1 }, ibc);\n var cbc, dbc, ebc, fbc;\n var VS = ndb(Ane, \"LayerConstraintPreprocessor/HiddenNodeConnections\", 360, CI, kbc, jbc);\n var lbc;\n bcb(1560, 1, ene, obc);\n _2.pf = function pbc(a, b) {\n nbc(BD(a, 37), b);\n };\n mdb(Ane, \"LayerSizeAndGraphHeightCalculator\", 1560);\n bcb(1561, 1, ene, rbc);\n _2.pf = function tbc(a, b) {\n qbc(BD(a, 37), b);\n };\n mdb(Ane, \"LongEdgeJoiner\", 1561);\n bcb(1562, 1, ene, vbc);\n _2.pf = function xbc(a, b) {\n ubc(BD(a, 37), b);\n };\n mdb(Ane, \"LongEdgeSplitter\", 1562);\n bcb(1563, 1, ene, Fbc);\n _2.pf = function Ibc(a, b) {\n Bbc(this, BD(a, 37), b);\n };\n _2.d = 0;\n _2.e = 0;\n _2.i = 0;\n _2.j = 0;\n _2.k = 0;\n _2.n = 0;\n mdb(Ane, \"NodePromotion\", 1563);\n bcb(1564, 1, {}, Jbc);\n _2.Kb = function Kbc(a) {\n return BD(a, 46), Bcb(), true;\n };\n _2.Fb = function Lbc(a) {\n return this === a;\n };\n mdb(Ane, \"NodePromotion/lambda$0$Type\", 1564);\n bcb(1565, 1, {}, Mbc);\n _2.Kb = function Nbc(a) {\n return Gbc(this.a, BD(a, 46));\n };\n _2.Fb = function Obc(a) {\n return this === a;\n };\n _2.a = 0;\n mdb(Ane, \"NodePromotion/lambda$1$Type\", 1565);\n bcb(1566, 1, {}, Pbc);\n _2.Kb = function Qbc(a) {\n return Hbc(this.a, BD(a, 46));\n };\n _2.Fb = function Rbc(a) {\n return this === a;\n };\n _2.a = 0;\n mdb(Ane, \"NodePromotion/lambda$2$Type\", 1566);\n bcb(1567, 1, ene, Xbc);\n _2.pf = function Ybc(a, b) {\n Sbc(BD(a, 37), b);\n };\n mdb(Ane, \"NorthSouthPortPostprocessor\", 1567);\n bcb(1568, 1, ene, ccc);\n _2.pf = function ecc(a, b) {\n acc(BD(a, 37), b);\n };\n mdb(Ane, \"NorthSouthPortPreprocessor\", 1568);\n bcb(1569, 1, Dke, fcc);\n _2.ue = function gcc(a, b) {\n return dcc(BD(a, 11), BD(b, 11));\n };\n _2.Fb = function hcc(a) {\n return this === a;\n };\n _2.ve = function icc() {\n return new tpb(this);\n };\n mdb(Ane, \"NorthSouthPortPreprocessor/lambda$0$Type\", 1569);\n bcb(1570, 1, ene, lcc);\n _2.pf = function ncc(a, b) {\n kcc(BD(a, 37), b);\n };\n mdb(Ane, \"PartitionMidprocessor\", 1570);\n bcb(1571, 1, Oie, occ);\n _2.Mb = function pcc(a) {\n return wNb(BD(a, 10), (Nyc(), Nxc));\n };\n mdb(Ane, \"PartitionMidprocessor/lambda$0$Type\", 1571);\n bcb(1572, 1, qie, qcc);\n _2.td = function rcc(a) {\n mcc(this.a, BD(a, 10));\n };\n mdb(Ane, \"PartitionMidprocessor/lambda$1$Type\", 1572);\n bcb(1573, 1, ene, tcc);\n _2.pf = function ucc(a, b) {\n scc(BD(a, 37), b);\n };\n mdb(Ane, \"PartitionPostprocessor\", 1573);\n bcb(1574, 1, ene, ycc);\n _2.pf = function zcc(a, b) {\n wcc(BD(a, 37), b);\n };\n mdb(Ane, \"PartitionPreprocessor\", 1574);\n bcb(1575, 1, Oie, Acc);\n _2.Mb = function Bcc(a) {\n return wNb(BD(a, 10), (Nyc(), Nxc));\n };\n mdb(Ane, \"PartitionPreprocessor/lambda$0$Type\", 1575);\n bcb(1576, 1, {}, Ccc);\n _2.Kb = function Dcc(a) {\n return new YAb(null, new Lub(new Sr(ur(U_b(BD(a, 10)).a.Kc(), new Sq()))));\n };\n mdb(Ane, \"PartitionPreprocessor/lambda$1$Type\", 1576);\n bcb(1577, 1, Oie, Ecc);\n _2.Mb = function Fcc(a) {\n return vcc(BD(a, 17));\n };\n mdb(Ane, \"PartitionPreprocessor/lambda$2$Type\", 1577);\n bcb(1578, 1, qie, Gcc);\n _2.td = function Hcc(a) {\n xcc(BD(a, 17));\n };\n mdb(Ane, \"PartitionPreprocessor/lambda$3$Type\", 1578);\n bcb(1579, 1, ene, Tcc);\n _2.pf = function Xcc(a, b) {\n Qcc(BD(a, 37), b);\n };\n var Icc, Jcc, Kcc, Lcc, Mcc, Ncc;\n mdb(Ane, \"PortListSorter\", 1579);\n bcb(1580, 1, {}, Zcc);\n _2.Kb = function $cc(a) {\n return Occ(), BD(a, 11).e;\n };\n mdb(Ane, \"PortListSorter/lambda$0$Type\", 1580);\n bcb(1581, 1, {}, _cc);\n _2.Kb = function adc(a) {\n return Occ(), BD(a, 11).g;\n };\n mdb(Ane, \"PortListSorter/lambda$1$Type\", 1581);\n bcb(1582, 1, Dke, bdc);\n _2.ue = function cdc(a, b) {\n return Ucc(BD(a, 11), BD(b, 11));\n };\n _2.Fb = function ddc(a) {\n return this === a;\n };\n _2.ve = function edc() {\n return new tpb(this);\n };\n mdb(Ane, \"PortListSorter/lambda$2$Type\", 1582);\n bcb(1583, 1, Dke, fdc);\n _2.ue = function gdc(a, b) {\n return Vcc(BD(a, 11), BD(b, 11));\n };\n _2.Fb = function hdc(a) {\n return this === a;\n };\n _2.ve = function idc() {\n return new tpb(this);\n };\n mdb(Ane, \"PortListSorter/lambda$3$Type\", 1583);\n bcb(1584, 1, Dke, jdc);\n _2.ue = function kdc(a, b) {\n return Wcc(BD(a, 11), BD(b, 11));\n };\n _2.Fb = function ldc(a) {\n return this === a;\n };\n _2.ve = function mdc() {\n return new tpb(this);\n };\n mdb(Ane, \"PortListSorter/lambda$4$Type\", 1584);\n bcb(1585, 1, ene, pdc);\n _2.pf = function qdc(a, b) {\n ndc(BD(a, 37), b);\n };\n mdb(Ane, \"PortSideProcessor\", 1585);\n bcb(1586, 1, ene, sdc);\n _2.pf = function tdc(a, b) {\n rdc(BD(a, 37), b);\n };\n mdb(Ane, \"ReversedEdgeRestorer\", 1586);\n bcb(1591, 1, ene, wdc);\n _2.pf = function xdc(a, b) {\n udc(this, BD(a, 37), b);\n };\n mdb(Ane, \"SelfLoopPortRestorer\", 1591);\n bcb(1592, 1, {}, ydc);\n _2.Kb = function zdc(a) {\n return new YAb(null, new Kub(BD(a, 29).a, 16));\n };\n mdb(Ane, \"SelfLoopPortRestorer/lambda$0$Type\", 1592);\n bcb(1593, 1, Oie, Adc);\n _2.Mb = function Bdc(a) {\n return BD(a, 10).k == (j0b(), h0b);\n };\n mdb(Ane, \"SelfLoopPortRestorer/lambda$1$Type\", 1593);\n bcb(1594, 1, Oie, Cdc);\n _2.Mb = function Ddc(a) {\n return wNb(BD(a, 10), (wtc(), ntc));\n };\n mdb(Ane, \"SelfLoopPortRestorer/lambda$2$Type\", 1594);\n bcb(1595, 1, {}, Edc);\n _2.Kb = function Fdc(a) {\n return BD(vNb(BD(a, 10), (wtc(), ntc)), 403);\n };\n mdb(Ane, \"SelfLoopPortRestorer/lambda$3$Type\", 1595);\n bcb(1596, 1, qie, Gdc);\n _2.td = function Hdc(a) {\n vdc(this.a, BD(a, 403));\n };\n mdb(Ane, \"SelfLoopPortRestorer/lambda$4$Type\", 1596);\n bcb(794, 1, qie, Idc);\n _2.td = function Jdc(a) {\n ljc(BD(a, 101));\n };\n mdb(Ane, \"SelfLoopPortRestorer/lambda$5$Type\", 794);\n bcb(1597, 1, ene, Ndc);\n _2.pf = function Pdc(a, b) {\n Kdc(BD(a, 37), b);\n };\n mdb(Ane, \"SelfLoopPostProcessor\", 1597);\n bcb(1598, 1, {}, Qdc);\n _2.Kb = function Rdc(a) {\n return new YAb(null, new Kub(BD(a, 29).a, 16));\n };\n mdb(Ane, \"SelfLoopPostProcessor/lambda$0$Type\", 1598);\n bcb(1599, 1, Oie, Sdc);\n _2.Mb = function Tdc(a) {\n return BD(a, 10).k == (j0b(), h0b);\n };\n mdb(Ane, \"SelfLoopPostProcessor/lambda$1$Type\", 1599);\n bcb(1600, 1, Oie, Udc);\n _2.Mb = function Vdc(a) {\n return wNb(BD(a, 10), (wtc(), ntc));\n };\n mdb(Ane, \"SelfLoopPostProcessor/lambda$2$Type\", 1600);\n bcb(1601, 1, qie, Wdc);\n _2.td = function Xdc(a) {\n Ldc(BD(a, 10));\n };\n mdb(Ane, \"SelfLoopPostProcessor/lambda$3$Type\", 1601);\n bcb(1602, 1, {}, Ydc);\n _2.Kb = function Zdc(a) {\n return new YAb(null, new Kub(BD(a, 101).f, 1));\n };\n mdb(Ane, \"SelfLoopPostProcessor/lambda$4$Type\", 1602);\n bcb(1603, 1, qie, $dc);\n _2.td = function _dc(a) {\n Mdc(this.a, BD(a, 409));\n };\n mdb(Ane, \"SelfLoopPostProcessor/lambda$5$Type\", 1603);\n bcb(1604, 1, Oie, aec);\n _2.Mb = function bec(a) {\n return !!BD(a, 101).i;\n };\n mdb(Ane, \"SelfLoopPostProcessor/lambda$6$Type\", 1604);\n bcb(1605, 1, qie, cec);\n _2.td = function dec(a) {\n Odc(this.a, BD(a, 101));\n };\n mdb(Ane, \"SelfLoopPostProcessor/lambda$7$Type\", 1605);\n bcb(1587, 1, ene, hec);\n _2.pf = function iec(a, b) {\n gec(BD(a, 37), b);\n };\n mdb(Ane, \"SelfLoopPreProcessor\", 1587);\n bcb(1588, 1, {}, jec);\n _2.Kb = function kec(a) {\n return new YAb(null, new Kub(BD(a, 101).f, 1));\n };\n mdb(Ane, \"SelfLoopPreProcessor/lambda$0$Type\", 1588);\n bcb(1589, 1, {}, lec);\n _2.Kb = function mec(a) {\n return BD(a, 409).a;\n };\n mdb(Ane, \"SelfLoopPreProcessor/lambda$1$Type\", 1589);\n bcb(1590, 1, qie, nec);\n _2.td = function oec(a) {\n fec(BD(a, 17));\n };\n mdb(Ane, \"SelfLoopPreProcessor/lambda$2$Type\", 1590);\n bcb(1606, 1, ene, sec);\n _2.pf = function tec(a, b) {\n qec(this, BD(a, 37), b);\n };\n mdb(Ane, \"SelfLoopRouter\", 1606);\n bcb(1607, 1, {}, uec);\n _2.Kb = function vec(a) {\n return new YAb(null, new Kub(BD(a, 29).a, 16));\n };\n mdb(Ane, \"SelfLoopRouter/lambda$0$Type\", 1607);\n bcb(1608, 1, Oie, wec);\n _2.Mb = function xec(a) {\n return BD(a, 10).k == (j0b(), h0b);\n };\n mdb(Ane, \"SelfLoopRouter/lambda$1$Type\", 1608);\n bcb(1609, 1, Oie, yec);\n _2.Mb = function zec(a) {\n return wNb(BD(a, 10), (wtc(), ntc));\n };\n mdb(Ane, \"SelfLoopRouter/lambda$2$Type\", 1609);\n bcb(1610, 1, {}, Aec);\n _2.Kb = function Bec(a) {\n return BD(vNb(BD(a, 10), (wtc(), ntc)), 403);\n };\n mdb(Ane, \"SelfLoopRouter/lambda$3$Type\", 1610);\n bcb(1611, 1, qie, Cec);\n _2.td = function Dec(a) {\n pec(this.a, this.b, BD(a, 403));\n };\n mdb(Ane, \"SelfLoopRouter/lambda$4$Type\", 1611);\n bcb(1612, 1, ene, Fec);\n _2.pf = function Iec(a, b) {\n Eec(BD(a, 37), b);\n };\n mdb(Ane, \"SemiInteractiveCrossMinProcessor\", 1612);\n bcb(1613, 1, Oie, Jec);\n _2.Mb = function Kec(a) {\n return BD(a, 10).k == (j0b(), h0b);\n };\n mdb(Ane, \"SemiInteractiveCrossMinProcessor/lambda$0$Type\", 1613);\n bcb(1614, 1, Oie, Lec);\n _2.Mb = function Mec(a) {\n return uNb(BD(a, 10))._b((Nyc(), ayc));\n };\n mdb(Ane, \"SemiInteractiveCrossMinProcessor/lambda$1$Type\", 1614);\n bcb(1615, 1, Dke, Nec);\n _2.ue = function Oec(a, b) {\n return Gec(BD(a, 10), BD(b, 10));\n };\n _2.Fb = function Pec(a) {\n return this === a;\n };\n _2.ve = function Qec() {\n return new tpb(this);\n };\n mdb(Ane, \"SemiInteractiveCrossMinProcessor/lambda$2$Type\", 1615);\n bcb(1616, 1, {}, Rec);\n _2.Ce = function Sec(a, b) {\n return Hec(BD(a, 10), BD(b, 10));\n };\n mdb(Ane, \"SemiInteractiveCrossMinProcessor/lambda$3$Type\", 1616);\n bcb(1618, 1, ene, Uec);\n _2.pf = function Yec(a, b) {\n Tec(BD(a, 37), b);\n };\n mdb(Ane, \"SortByInputModelProcessor\", 1618);\n bcb(1619, 1, Oie, Zec);\n _2.Mb = function $ec(a) {\n return BD(a, 11).g.c.length != 0;\n };\n mdb(Ane, \"SortByInputModelProcessor/lambda$0$Type\", 1619);\n bcb(1620, 1, qie, _ec);\n _2.td = function afc(a) {\n Wec(this.a, BD(a, 11));\n };\n mdb(Ane, \"SortByInputModelProcessor/lambda$1$Type\", 1620);\n bcb(1693, 803, {}, jfc);\n _2.Me = function kfc(a) {\n var b, c2, d, e;\n this.c = a;\n switch (this.a.g) {\n case 2:\n b = new Rkb();\n MAb(JAb(new YAb(null, new Kub(this.c.a.b, 16)), new lgc()), new ngc(this, b));\n nEb(this, new tfc());\n Hkb(b, new xfc());\n b.c = KC(SI, Uhe, 1, 0, 5, 1);\n MAb(JAb(new YAb(null, new Kub(this.c.a.b, 16)), new zfc()), new Bfc(b));\n nEb(this, new Ffc());\n Hkb(b, new Jfc());\n b.c = KC(SI, Uhe, 1, 0, 5, 1);\n c2 = Ntb($zb(OAb(new YAb(null, new Kub(this.c.a.b, 16)), new Lfc(this))), new Nfc());\n MAb(new YAb(null, new Kub(this.c.a.a, 16)), new Rfc(c2, b));\n nEb(this, new Vfc());\n Hkb(b, new Zfc());\n b.c = KC(SI, Uhe, 1, 0, 5, 1);\n break;\n case 3:\n d = new Rkb();\n nEb(this, new lfc());\n e = Ntb($zb(OAb(new YAb(null, new Kub(this.c.a.b, 16)), new pfc(this))), new Pfc());\n MAb(JAb(new YAb(null, new Kub(this.c.a.b, 16)), new _fc()), new bgc(e, d));\n nEb(this, new fgc());\n Hkb(d, new jgc());\n d.c = KC(SI, Uhe, 1, 0, 5, 1);\n break;\n default:\n throw vbb(new x2c());\n }\n };\n _2.b = 0;\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation\", 1693);\n bcb(1694, 1, Vke, lfc);\n _2.Lb = function mfc(a) {\n return JD(BD(a, 57).g, 145);\n };\n _2.Fb = function nfc(a) {\n return this === a;\n };\n _2.Mb = function ofc(a) {\n return JD(BD(a, 57).g, 145);\n };\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$0$Type\", 1694);\n bcb(1695, 1, {}, pfc);\n _2.Fe = function qfc(a) {\n return dfc(this.a, BD(a, 57));\n };\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$1$Type\", 1695);\n bcb(1703, 1, Pie, rfc);\n _2.Vd = function sfc() {\n cfc(this.a, this.b, -1);\n };\n _2.b = 0;\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$10$Type\", 1703);\n bcb(1705, 1, Vke, tfc);\n _2.Lb = function ufc(a) {\n return JD(BD(a, 57).g, 145);\n };\n _2.Fb = function vfc(a) {\n return this === a;\n };\n _2.Mb = function wfc(a) {\n return JD(BD(a, 57).g, 145);\n };\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$11$Type\", 1705);\n bcb(1706, 1, qie, xfc);\n _2.td = function yfc(a) {\n BD(a, 365).Vd();\n };\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$12$Type\", 1706);\n bcb(1707, 1, Oie, zfc);\n _2.Mb = function Afc(a) {\n return JD(BD(a, 57).g, 10);\n };\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$13$Type\", 1707);\n bcb(1709, 1, qie, Bfc);\n _2.td = function Cfc(a) {\n efc(this.a, BD(a, 57));\n };\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$14$Type\", 1709);\n bcb(1708, 1, Pie, Dfc);\n _2.Vd = function Efc() {\n cfc(this.b, this.a, -1);\n };\n _2.a = 0;\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$15$Type\", 1708);\n bcb(1710, 1, Vke, Ffc);\n _2.Lb = function Gfc(a) {\n return JD(BD(a, 57).g, 10);\n };\n _2.Fb = function Hfc(a) {\n return this === a;\n };\n _2.Mb = function Ifc(a) {\n return JD(BD(a, 57).g, 10);\n };\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$16$Type\", 1710);\n bcb(1711, 1, qie, Jfc);\n _2.td = function Kfc(a) {\n BD(a, 365).Vd();\n };\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$17$Type\", 1711);\n bcb(1712, 1, {}, Lfc);\n _2.Fe = function Mfc(a) {\n return ffc(this.a, BD(a, 57));\n };\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$18$Type\", 1712);\n bcb(1713, 1, {}, Nfc);\n _2.De = function Ofc() {\n return 0;\n };\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$19$Type\", 1713);\n bcb(1696, 1, {}, Pfc);\n _2.De = function Qfc() {\n return 0;\n };\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$2$Type\", 1696);\n bcb(1715, 1, qie, Rfc);\n _2.td = function Sfc(a) {\n gfc(this.a, this.b, BD(a, 307));\n };\n _2.a = 0;\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$20$Type\", 1715);\n bcb(1714, 1, Pie, Tfc);\n _2.Vd = function Ufc() {\n bfc(this.a, this.b, -1);\n };\n _2.b = 0;\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$21$Type\", 1714);\n bcb(1716, 1, Vke, Vfc);\n _2.Lb = function Wfc(a) {\n return BD(a, 57), true;\n };\n _2.Fb = function Xfc(a) {\n return this === a;\n };\n _2.Mb = function Yfc(a) {\n return BD(a, 57), true;\n };\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$22$Type\", 1716);\n bcb(1717, 1, qie, Zfc);\n _2.td = function $fc(a) {\n BD(a, 365).Vd();\n };\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$23$Type\", 1717);\n bcb(1697, 1, Oie, _fc);\n _2.Mb = function agc(a) {\n return JD(BD(a, 57).g, 10);\n };\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$3$Type\", 1697);\n bcb(1699, 1, qie, bgc);\n _2.td = function cgc(a) {\n hfc(this.a, this.b, BD(a, 57));\n };\n _2.a = 0;\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$4$Type\", 1699);\n bcb(1698, 1, Pie, dgc);\n _2.Vd = function egc() {\n cfc(this.b, this.a, -1);\n };\n _2.a = 0;\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$5$Type\", 1698);\n bcb(1700, 1, Vke, fgc);\n _2.Lb = function ggc(a) {\n return BD(a, 57), true;\n };\n _2.Fb = function hgc(a) {\n return this === a;\n };\n _2.Mb = function igc(a) {\n return BD(a, 57), true;\n };\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$6$Type\", 1700);\n bcb(1701, 1, qie, jgc);\n _2.td = function kgc(a) {\n BD(a, 365).Vd();\n };\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$7$Type\", 1701);\n bcb(1702, 1, Oie, lgc);\n _2.Mb = function mgc(a) {\n return JD(BD(a, 57).g, 145);\n };\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$8$Type\", 1702);\n bcb(1704, 1, qie, ngc);\n _2.td = function ogc(a) {\n ifc(this.a, this.b, BD(a, 57));\n };\n mdb(Jne, \"EdgeAwareScanlineConstraintCalculation/lambda$9$Type\", 1704);\n bcb(1521, 1, ene, sgc);\n _2.pf = function xgc(a, b) {\n rgc(this, BD(a, 37), b);\n };\n var pgc;\n mdb(Jne, \"HorizontalGraphCompactor\", 1521);\n bcb(1522, 1, {}, ygc);\n _2.Oe = function zgc(a, b) {\n var c2, d, e;\n if (vgc(a, b)) {\n return 0;\n }\n c2 = tgc(a);\n d = tgc(b);\n if (!!c2 && c2.k == (j0b(), e0b) || !!d && d.k == (j0b(), e0b)) {\n return 0;\n }\n e = BD(vNb(this.a.a, (wtc(), otc)), 304);\n return fBc(e, c2 ? c2.k : (j0b(), g0b), d ? d.k : (j0b(), g0b));\n };\n _2.Pe = function Agc(a, b) {\n var c2, d, e;\n if (vgc(a, b)) {\n return 1;\n }\n c2 = tgc(a);\n d = tgc(b);\n e = BD(vNb(this.a.a, (wtc(), otc)), 304);\n return iBc(e, c2 ? c2.k : (j0b(), g0b), d ? d.k : (j0b(), g0b));\n };\n mdb(Jne, \"HorizontalGraphCompactor/1\", 1522);\n bcb(1523, 1, {}, Bgc);\n _2.Ne = function Cgc(a, b) {\n return qgc(), a.a.i == 0;\n };\n mdb(Jne, \"HorizontalGraphCompactor/lambda$0$Type\", 1523);\n bcb(1524, 1, {}, Dgc);\n _2.Ne = function Egc(a, b) {\n return wgc(this.a, a, b);\n };\n mdb(Jne, \"HorizontalGraphCompactor/lambda$1$Type\", 1524);\n bcb(1664, 1, {}, Ygc);\n var Fgc, Ggc;\n mdb(Jne, \"LGraphToCGraphTransformer\", 1664);\n bcb(1672, 1, Oie, ehc);\n _2.Mb = function fhc(a) {\n return a != null;\n };\n mdb(Jne, \"LGraphToCGraphTransformer/0methodref$nonNull$Type\", 1672);\n bcb(1665, 1, {}, ghc);\n _2.Kb = function hhc(a) {\n return Hgc(), fcb(vNb(BD(BD(a, 57).g, 10), (wtc(), $sc)));\n };\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$0$Type\", 1665);\n bcb(1666, 1, {}, ihc);\n _2.Kb = function jhc(a) {\n return Hgc(), gic(BD(BD(a, 57).g, 145));\n };\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$1$Type\", 1666);\n bcb(1675, 1, Oie, khc);\n _2.Mb = function lhc(a) {\n return Hgc(), JD(BD(a, 57).g, 10);\n };\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$10$Type\", 1675);\n bcb(1676, 1, qie, mhc);\n _2.td = function nhc(a) {\n Zgc(BD(a, 57));\n };\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$11$Type\", 1676);\n bcb(1677, 1, Oie, ohc);\n _2.Mb = function phc(a) {\n return Hgc(), JD(BD(a, 57).g, 145);\n };\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$12$Type\", 1677);\n bcb(1681, 1, qie, qhc);\n _2.td = function rhc(a) {\n $gc(BD(a, 57));\n };\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$13$Type\", 1681);\n bcb(1678, 1, qie, shc);\n _2.td = function thc(a) {\n _gc(this.a, BD(a, 8));\n };\n _2.a = 0;\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$14$Type\", 1678);\n bcb(1679, 1, qie, uhc);\n _2.td = function vhc(a) {\n ahc(this.a, BD(a, 110));\n };\n _2.a = 0;\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$15$Type\", 1679);\n bcb(1680, 1, qie, whc);\n _2.td = function xhc(a) {\n bhc(this.a, BD(a, 8));\n };\n _2.a = 0;\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$16$Type\", 1680);\n bcb(1682, 1, {}, yhc);\n _2.Kb = function zhc(a) {\n return Hgc(), new YAb(null, new Lub(new Sr(ur(U_b(BD(a, 10)).a.Kc(), new Sq()))));\n };\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$17$Type\", 1682);\n bcb(1683, 1, Oie, Ahc);\n _2.Mb = function Bhc(a) {\n return Hgc(), OZb(BD(a, 17));\n };\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$18$Type\", 1683);\n bcb(1684, 1, qie, Chc);\n _2.td = function Dhc(a) {\n Qgc(this.a, BD(a, 17));\n };\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$19$Type\", 1684);\n bcb(1668, 1, qie, Ehc);\n _2.td = function Fhc(a) {\n Rgc(this.a, BD(a, 145));\n };\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$2$Type\", 1668);\n bcb(1685, 1, {}, Ghc);\n _2.Kb = function Hhc(a) {\n return Hgc(), new YAb(null, new Kub(BD(a, 29).a, 16));\n };\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$20$Type\", 1685);\n bcb(1686, 1, {}, Ihc);\n _2.Kb = function Jhc(a) {\n return Hgc(), new YAb(null, new Lub(new Sr(ur(U_b(BD(a, 10)).a.Kc(), new Sq()))));\n };\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$21$Type\", 1686);\n bcb(1687, 1, {}, Khc);\n _2.Kb = function Lhc(a) {\n return Hgc(), BD(vNb(BD(a, 17), (wtc(), rtc)), 15);\n };\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$22$Type\", 1687);\n bcb(1688, 1, Oie, Mhc);\n _2.Mb = function Nhc(a) {\n return chc(BD(a, 15));\n };\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$23$Type\", 1688);\n bcb(1689, 1, qie, Ohc);\n _2.td = function Phc(a) {\n Jgc(this.a, BD(a, 15));\n };\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$24$Type\", 1689);\n bcb(1667, 1, qie, Qhc);\n _2.td = function Rhc(a) {\n Sgc(this.a, this.b, BD(a, 145));\n };\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$3$Type\", 1667);\n bcb(1669, 1, {}, Shc);\n _2.Kb = function Thc(a) {\n return Hgc(), new YAb(null, new Kub(BD(a, 29).a, 16));\n };\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$4$Type\", 1669);\n bcb(1670, 1, {}, Uhc);\n _2.Kb = function Vhc(a) {\n return Hgc(), new YAb(null, new Lub(new Sr(ur(U_b(BD(a, 10)).a.Kc(), new Sq()))));\n };\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$5$Type\", 1670);\n bcb(1671, 1, {}, Whc);\n _2.Kb = function Xhc(a) {\n return Hgc(), BD(vNb(BD(a, 17), (wtc(), rtc)), 15);\n };\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$6$Type\", 1671);\n bcb(1673, 1, qie, Yhc);\n _2.td = function Zhc(a) {\n dhc(this.a, BD(a, 15));\n };\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$8$Type\", 1673);\n bcb(1674, 1, qie, $hc);\n _2.td = function _hc(a) {\n Tgc(this.a, this.b, BD(a, 145));\n };\n mdb(Jne, \"LGraphToCGraphTransformer/lambda$9$Type\", 1674);\n bcb(1663, 1, {}, dic);\n _2.Le = function eic(a) {\n var b, c2, d, e, f2;\n this.a = a;\n this.d = new KFb();\n this.c = KC(jN, Uhe, 121, this.a.a.a.c.length, 0, 1);\n this.b = 0;\n for (c2 = new olb(this.a.a.a); c2.a < c2.c.c.length; ) {\n b = BD(mlb(c2), 307);\n b.d = this.b;\n f2 = nGb(oGb(new pGb(), b), this.d);\n this.c[this.b] = f2;\n ++this.b;\n }\n cic(this);\n bic(this);\n aic(this);\n uGb(LGb(this.d), new Zdd());\n for (e = new olb(this.a.a.b); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 57);\n d.d.c = this.c[d.a.d].e + d.b.a;\n }\n };\n _2.b = 0;\n mdb(Jne, \"NetworkSimplexCompaction\", 1663);\n bcb(145, 1, { 35: 1, 145: 1 }, hic);\n _2.wd = function iic(a) {\n return fic(this, BD(a, 145));\n };\n _2.Ib = function jic() {\n return gic(this);\n };\n mdb(Jne, \"VerticalSegment\", 145);\n bcb(827, 1, {}, sic);\n _2.c = 0;\n _2.e = 0;\n _2.i = 0;\n mdb(Kne, \"BetweenLayerEdgeTwoNodeCrossingsCounter\", 827);\n bcb(663, 1, { 663: 1 }, zic);\n _2.Ib = function Aic() {\n return \"AdjacencyList [node=\" + this.d + \", adjacencies= \" + this.a + \"]\";\n };\n _2.b = 0;\n _2.c = 0;\n _2.f = 0;\n mdb(Kne, \"BetweenLayerEdgeTwoNodeCrossingsCounter/AdjacencyList\", 663);\n bcb(287, 1, { 35: 1, 287: 1 }, Dic);\n _2.wd = function Eic(a) {\n return Bic(this, BD(a, 287));\n };\n _2.Ib = function Fic() {\n return \"Adjacency [position=\" + this.c + \", cardinality=\" + this.a + \", currentCardinality=\" + this.b + \"]\";\n };\n _2.a = 0;\n _2.b = 0;\n _2.c = 0;\n mdb(Kne, \"BetweenLayerEdgeTwoNodeCrossingsCounter/AdjacencyList/Adjacency\", 287);\n bcb(1929, 1, {}, Iic);\n _2.b = 0;\n _2.e = false;\n mdb(Kne, \"CrossingMatrixFiller\", 1929);\n var qY = odb(Lne, \"IInitializable\");\n bcb(1804, 1, Mne, Oic);\n _2.Nf = function Ric(a, b, c2, d, e, f2) {\n };\n _2.Pf = function Tic(a, b, c2) {\n };\n _2.Lf = function Pic() {\n return this.c != (rGc(), pGc);\n };\n _2.Mf = function Qic() {\n this.e = KC(WD, oje, 25, this.d, 15, 1);\n };\n _2.Of = function Sic(a, b) {\n b[a][0].c.p = a;\n };\n _2.Qf = function Uic(a, b, c2, d) {\n ++this.d;\n };\n _2.Rf = function Vic() {\n return true;\n };\n _2.Sf = function Wic(a, b, c2, d) {\n Kic(this, a, b, c2);\n return Jic(this, b);\n };\n _2.Tf = function Xic(a, b) {\n var c2;\n c2 = Lic(b, a.length);\n Kic(this, a, c2, b);\n return Mic(this, c2);\n };\n _2.d = 0;\n mdb(Kne, \"GreedySwitchHeuristic\", 1804);\n bcb(1930, 1, {}, ejc);\n _2.b = 0;\n _2.d = 0;\n mdb(Kne, \"NorthSouthEdgeNeighbouringNodeCrossingsCounter\", 1930);\n bcb(1917, 1, {}, jjc);\n _2.a = false;\n mdb(Kne, \"SwitchDecider\", 1917);\n bcb(101, 1, { 101: 1 }, pjc);\n _2.a = null;\n _2.c = null;\n _2.i = null;\n mdb(Nne, \"SelfHyperLoop\", 101);\n bcb(1916, 1, {}, vjc);\n _2.c = 0;\n _2.e = 0;\n mdb(Nne, \"SelfHyperLoopLabels\", 1916);\n bcb(411, 22, { 3: 1, 35: 1, 22: 1, 411: 1 }, Bjc);\n var wjc, xjc, yjc, zjc;\n var mV = ndb(Nne, \"SelfHyperLoopLabels/Alignment\", 411, CI, Djc, Cjc);\n var Ejc;\n bcb(409, 1, { 409: 1 }, Gjc);\n mdb(Nne, \"SelfLoopEdge\", 409);\n bcb(403, 1, { 403: 1 }, Kjc);\n _2.a = false;\n mdb(Nne, \"SelfLoopHolder\", 403);\n bcb(1724, 1, Oie, Mjc);\n _2.Mb = function Njc(a) {\n return OZb(BD(a, 17));\n };\n mdb(Nne, \"SelfLoopHolder/lambda$0$Type\", 1724);\n bcb(113, 1, { 113: 1 }, Pjc);\n _2.a = false;\n _2.c = false;\n mdb(Nne, \"SelfLoopPort\", 113);\n bcb(1792, 1, Oie, Qjc);\n _2.Mb = function Rjc(a) {\n return OZb(BD(a, 17));\n };\n mdb(Nne, \"SelfLoopPort/lambda$0$Type\", 1792);\n bcb(363, 22, { 3: 1, 35: 1, 22: 1, 363: 1 }, Yjc);\n var Sjc, Tjc, Ujc, Vjc, Wjc;\n var uV = ndb(Nne, \"SelfLoopType\", 363, CI, _jc, $jc);\n var akc;\n bcb(1732, 1, {}, xkc);\n var ckc, dkc, ekc, fkc;\n mdb(One, \"PortRestorer\", 1732);\n bcb(361, 22, { 3: 1, 35: 1, 22: 1, 361: 1 }, Gkc);\n var Ckc, Dkc, Ekc;\n var vV = ndb(One, \"PortRestorer/PortSideArea\", 361, CI, Ikc, Hkc);\n var Jkc;\n bcb(1733, 1, {}, Lkc);\n _2.Kb = function Mkc(a) {\n return gkc(), BD(a, 15).Oc();\n };\n mdb(One, \"PortRestorer/lambda$0$Type\", 1733);\n bcb(1734, 1, qie, Nkc);\n _2.td = function Okc(a) {\n gkc();\n BD(a, 113).c = false;\n };\n mdb(One, \"PortRestorer/lambda$1$Type\", 1734);\n bcb(1743, 1, Oie, Pkc);\n _2.Mb = function Qkc(a) {\n return gkc(), BD(a, 11).j == (Ucd(), Tcd);\n };\n mdb(One, \"PortRestorer/lambda$10$Type\", 1743);\n bcb(1744, 1, {}, Rkc);\n _2.Kb = function Skc(a) {\n return gkc(), BD(a, 113).d;\n };\n mdb(One, \"PortRestorer/lambda$11$Type\", 1744);\n bcb(1745, 1, qie, Tkc);\n _2.td = function Ukc(a) {\n ykc(this.a, BD(a, 11));\n };\n mdb(One, \"PortRestorer/lambda$12$Type\", 1745);\n bcb(1735, 1, qie, Vkc);\n _2.td = function Wkc(a) {\n zkc(this.a, BD(a, 101));\n };\n mdb(One, \"PortRestorer/lambda$2$Type\", 1735);\n bcb(1736, 1, Dke, Xkc);\n _2.ue = function Ykc(a, b) {\n return Akc(BD(a, 113), BD(b, 113));\n };\n _2.Fb = function Zkc(a) {\n return this === a;\n };\n _2.ve = function $kc() {\n return new tpb(this);\n };\n mdb(One, \"PortRestorer/lambda$3$Type\", 1736);\n bcb(1737, 1, Oie, _kc);\n _2.Mb = function alc(a) {\n return gkc(), BD(a, 113).c;\n };\n mdb(One, \"PortRestorer/lambda$4$Type\", 1737);\n bcb(1738, 1, Oie, blc);\n _2.Mb = function clc(a) {\n return nkc(BD(a, 11));\n };\n mdb(One, \"PortRestorer/lambda$5$Type\", 1738);\n bcb(1739, 1, Oie, dlc);\n _2.Mb = function elc(a) {\n return gkc(), BD(a, 11).j == (Ucd(), Acd);\n };\n mdb(One, \"PortRestorer/lambda$6$Type\", 1739);\n bcb(1740, 1, Oie, flc);\n _2.Mb = function glc(a) {\n return gkc(), BD(a, 11).j == (Ucd(), zcd);\n };\n mdb(One, \"PortRestorer/lambda$7$Type\", 1740);\n bcb(1741, 1, Oie, hlc);\n _2.Mb = function ilc(a) {\n return okc(BD(a, 11));\n };\n mdb(One, \"PortRestorer/lambda$8$Type\", 1741);\n bcb(1742, 1, Oie, jlc);\n _2.Mb = function klc(a) {\n return gkc(), BD(a, 11).j == (Ucd(), Rcd);\n };\n mdb(One, \"PortRestorer/lambda$9$Type\", 1742);\n bcb(270, 22, { 3: 1, 35: 1, 22: 1, 270: 1 }, Blc);\n var slc, tlc, ulc, vlc, wlc, xlc, ylc, zlc;\n var KV = ndb(One, \"PortSideAssigner/Target\", 270, CI, Dlc, Clc);\n var Elc;\n bcb(1725, 1, {}, Glc);\n _2.Kb = function Hlc(a) {\n return JAb(new YAb(null, new Kub(BD(a, 101).j, 16)), new Ylc());\n };\n mdb(One, \"PortSideAssigner/lambda$1$Type\", 1725);\n bcb(1726, 1, {}, Ilc);\n _2.Kb = function Jlc(a) {\n return BD(a, 113).d;\n };\n mdb(One, \"PortSideAssigner/lambda$2$Type\", 1726);\n bcb(1727, 1, qie, Klc);\n _2.td = function Llc(a) {\n G0b(BD(a, 11), (Ucd(), Acd));\n };\n mdb(One, \"PortSideAssigner/lambda$3$Type\", 1727);\n bcb(1728, 1, {}, Mlc);\n _2.Kb = function Nlc(a) {\n return BD(a, 113).d;\n };\n mdb(One, \"PortSideAssigner/lambda$4$Type\", 1728);\n bcb(1729, 1, qie, Olc);\n _2.td = function Plc(a) {\n plc(this.a, BD(a, 11));\n };\n mdb(One, \"PortSideAssigner/lambda$5$Type\", 1729);\n bcb(1730, 1, Dke, Qlc);\n _2.ue = function Rlc(a, b) {\n return qlc(BD(a, 101), BD(b, 101));\n };\n _2.Fb = function Slc(a) {\n return this === a;\n };\n _2.ve = function Tlc() {\n return new tpb(this);\n };\n mdb(One, \"PortSideAssigner/lambda$6$Type\", 1730);\n bcb(1731, 1, Dke, Ulc);\n _2.ue = function Vlc(a, b) {\n return rlc(BD(a, 113), BD(b, 113));\n };\n _2.Fb = function Wlc(a) {\n return this === a;\n };\n _2.ve = function Xlc() {\n return new tpb(this);\n };\n mdb(One, \"PortSideAssigner/lambda$7$Type\", 1731);\n bcb(805, 1, Oie, Ylc);\n _2.Mb = function Zlc(a) {\n return BD(a, 113).c;\n };\n mdb(One, \"PortSideAssigner/lambda$8$Type\", 805);\n bcb(2009, 1, {});\n mdb(Pne, \"AbstractSelfLoopRouter\", 2009);\n bcb(1750, 1, Dke, gmc);\n _2.ue = function hmc(a, b) {\n return emc(BD(a, 101), BD(b, 101));\n };\n _2.Fb = function imc(a) {\n return this === a;\n };\n _2.ve = function jmc() {\n return new tpb(this);\n };\n mdb(Pne, rle, 1750);\n bcb(1751, 1, Dke, kmc);\n _2.ue = function lmc(a, b) {\n return fmc(BD(a, 101), BD(b, 101));\n };\n _2.Fb = function mmc(a) {\n return this === a;\n };\n _2.ve = function nmc() {\n return new tpb(this);\n };\n mdb(Pne, sle, 1751);\n bcb(1793, 2009, {}, zmc);\n _2.Uf = function Amc(a, b, c2) {\n return c2;\n };\n mdb(Pne, \"OrthogonalSelfLoopRouter\", 1793);\n bcb(1795, 1, qie, Bmc);\n _2.td = function Cmc(a) {\n ymc(this.b, this.a, BD(a, 8));\n };\n mdb(Pne, \"OrthogonalSelfLoopRouter/lambda$0$Type\", 1795);\n bcb(1794, 1793, {}, Fmc);\n _2.Uf = function Gmc(a, b, c2) {\n var d, e;\n d = a.c.d;\n St(c2, 0, P6c(R6c(d.n), d.a));\n e = a.d.d;\n Dsb(c2, P6c(R6c(e.n), e.a));\n return Dmc(c2);\n };\n mdb(Pne, \"PolylineSelfLoopRouter\", 1794);\n bcb(1746, 1, {}, Umc);\n _2.a = null;\n var Hmc;\n mdb(Pne, \"RoutingDirector\", 1746);\n bcb(1747, 1, Dke, Wmc);\n _2.ue = function Xmc(a, b) {\n return Vmc(BD(a, 113), BD(b, 113));\n };\n _2.Fb = function Ymc(a) {\n return this === a;\n };\n _2.ve = function Zmc() {\n return new tpb(this);\n };\n mdb(Pne, \"RoutingDirector/lambda$0$Type\", 1747);\n bcb(1748, 1, {}, $mc);\n _2.Kb = function _mc(a) {\n return Imc(), BD(a, 101).j;\n };\n mdb(Pne, \"RoutingDirector/lambda$1$Type\", 1748);\n bcb(1749, 1, qie, anc);\n _2.td = function bnc(a) {\n Imc();\n BD(a, 15).ad(Hmc);\n };\n mdb(Pne, \"RoutingDirector/lambda$2$Type\", 1749);\n bcb(1752, 1, {}, mnc);\n mdb(Pne, \"RoutingSlotAssigner\", 1752);\n bcb(1753, 1, Oie, pnc);\n _2.Mb = function qnc(a) {\n return nnc(this.a, BD(a, 101));\n };\n mdb(Pne, \"RoutingSlotAssigner/lambda$0$Type\", 1753);\n bcb(1754, 1, Dke, rnc);\n _2.ue = function snc(a, b) {\n return onc(this.a, BD(a, 101), BD(b, 101));\n };\n _2.Fb = function tnc(a) {\n return this === a;\n };\n _2.ve = function unc() {\n return new tpb(this);\n };\n mdb(Pne, \"RoutingSlotAssigner/lambda$1$Type\", 1754);\n bcb(1796, 1793, {}, wnc);\n _2.Uf = function xnc(a, b, c2) {\n var d, e, f2, g;\n d = Edb(ED(c_b(a.b.g.b, (Nyc(), nyc))));\n g = new u7c(OC(GC(m1, 1), nie, 8, 0, [(f2 = a.c.d, P6c(new g7c(f2.n), f2.a))]));\n vnc(a, b, c2, g, d);\n Dsb(g, (e = a.d.d, P6c(new g7c(e.n), e.a)));\n return UPc(new YPc(g));\n };\n mdb(Pne, \"SplineSelfLoopRouter\", 1796);\n bcb(578, 1, Dke, Bnc, Dnc);\n _2.ue = function Enc(a, b) {\n return ync(this, BD(a, 10), BD(b, 10));\n };\n _2.Fb = function Fnc(a) {\n return this === a;\n };\n _2.ve = function Gnc() {\n return new tpb(this);\n };\n mdb(Qne, \"ModelOrderNodeComparator\", 578);\n bcb(1755, 1, Oie, Hnc);\n _2.Mb = function Inc(a) {\n return BD(a, 11).e.c.length != 0;\n };\n mdb(Qne, \"ModelOrderNodeComparator/lambda$0$Type\", 1755);\n bcb(1756, 1, {}, Jnc);\n _2.Kb = function Knc(a) {\n return BD(Ikb(BD(a, 11).e, 0), 17).c;\n };\n mdb(Qne, \"ModelOrderNodeComparator/lambda$1$Type\", 1756);\n bcb(1757, 1, Oie, Lnc);\n _2.Mb = function Mnc(a) {\n return BD(a, 11).e.c.length != 0;\n };\n mdb(Qne, \"ModelOrderNodeComparator/lambda$2$Type\", 1757);\n bcb(1758, 1, {}, Nnc);\n _2.Kb = function Onc(a) {\n return BD(Ikb(BD(a, 11).e, 0), 17).c;\n };\n mdb(Qne, \"ModelOrderNodeComparator/lambda$3$Type\", 1758);\n bcb(1759, 1, Oie, Pnc);\n _2.Mb = function Qnc(a) {\n return BD(a, 11).e.c.length != 0;\n };\n mdb(Qne, \"ModelOrderNodeComparator/lambda$4$Type\", 1759);\n bcb(806, 1, Dke, Tnc, Unc);\n _2.ue = function Vnc(a, b) {\n return Rnc(this, a, b);\n };\n _2.Fb = function Wnc(a) {\n return this === a;\n };\n _2.ve = function Xnc() {\n return new tpb(this);\n };\n mdb(Qne, \"ModelOrderPortComparator\", 806);\n bcb(801, 1, {}, Ync);\n _2.Vf = function $nc(a, b) {\n var c2, d, e, f2;\n e = Znc(b);\n c2 = new Rkb();\n f2 = b.f / e;\n for (d = 1; d < e; ++d) {\n Ekb(c2, meb(Tbb(Cbb($wnd.Math.round(d * f2)))));\n }\n return c2;\n };\n _2.Wf = function _nc() {\n return false;\n };\n mdb(Rne, \"ARDCutIndexHeuristic\", 801);\n bcb(1479, 1, ene, eoc);\n _2.pf = function foc(a, b) {\n doc(BD(a, 37), b);\n };\n mdb(Rne, \"BreakingPointInserter\", 1479);\n bcb(305, 1, { 305: 1 }, goc);\n _2.Ib = function joc() {\n var a;\n a = new Ufb();\n a.a += \"BPInfo[\";\n a.a += \"\\n\tstart=\";\n Pfb(a, this.i);\n a.a += \"\\n\tend=\";\n Pfb(a, this.a);\n a.a += \"\\n\tnodeStartEdge=\";\n Pfb(a, this.e);\n a.a += \"\\n\tstartEndEdge=\";\n Pfb(a, this.j);\n a.a += \"\\n\toriginalEdge=\";\n Pfb(a, this.f);\n a.a += \"\\n\tstartInLayerDummy=\";\n Pfb(a, this.k);\n a.a += \"\\n\tstartInLayerEdge=\";\n Pfb(a, this.n);\n a.a += \"\\n\tendInLayerDummy=\";\n Pfb(a, this.b);\n a.a += \"\\n\tendInLayerEdge=\";\n Pfb(a, this.c);\n return a.a;\n };\n mdb(Rne, \"BreakingPointInserter/BPInfo\", 305);\n bcb(652, 1, { 652: 1 }, qoc);\n _2.a = false;\n _2.b = 0;\n _2.c = 0;\n mdb(Rne, \"BreakingPointInserter/Cut\", 652);\n bcb(1480, 1, ene, Aoc);\n _2.pf = function Boc(a, b) {\n yoc(BD(a, 37), b);\n };\n mdb(Rne, \"BreakingPointProcessor\", 1480);\n bcb(1481, 1, Oie, Coc);\n _2.Mb = function Doc(a) {\n return hoc(BD(a, 10));\n };\n mdb(Rne, \"BreakingPointProcessor/0methodref$isEnd$Type\", 1481);\n bcb(1482, 1, Oie, Eoc);\n _2.Mb = function Foc(a) {\n return ioc(BD(a, 10));\n };\n mdb(Rne, \"BreakingPointProcessor/1methodref$isStart$Type\", 1482);\n bcb(1483, 1, ene, Joc);\n _2.pf = function Koc(a, b) {\n Hoc(this, BD(a, 37), b);\n };\n mdb(Rne, \"BreakingPointRemover\", 1483);\n bcb(1484, 1, qie, Loc);\n _2.td = function Moc(a) {\n BD(a, 128).k = true;\n };\n mdb(Rne, \"BreakingPointRemover/lambda$0$Type\", 1484);\n bcb(797, 1, {}, Xoc);\n _2.b = 0;\n _2.e = 0;\n _2.f = 0;\n _2.j = 0;\n mdb(Rne, \"GraphStats\", 797);\n bcb(798, 1, {}, Zoc);\n _2.Ce = function $oc(a, b) {\n return $wnd.Math.max(Edb(ED(a)), Edb(ED(b)));\n };\n mdb(Rne, \"GraphStats/0methodref$max$Type\", 798);\n bcb(799, 1, {}, _oc);\n _2.Ce = function apc(a, b) {\n return $wnd.Math.max(Edb(ED(a)), Edb(ED(b)));\n };\n mdb(Rne, \"GraphStats/2methodref$max$Type\", 799);\n bcb(1660, 1, {}, bpc);\n _2.Ce = function cpc(a, b) {\n return Yoc(ED(a), ED(b));\n };\n mdb(Rne, \"GraphStats/lambda$1$Type\", 1660);\n bcb(1661, 1, {}, dpc);\n _2.Kb = function epc(a) {\n return Roc(this.a, BD(a, 29));\n };\n mdb(Rne, \"GraphStats/lambda$2$Type\", 1661);\n bcb(1662, 1, {}, fpc);\n _2.Kb = function gpc(a) {\n return Qoc(this.a, BD(a, 29));\n };\n mdb(Rne, \"GraphStats/lambda$6$Type\", 1662);\n bcb(800, 1, {}, hpc);\n _2.Vf = function ipc(a, b) {\n var c2;\n c2 = BD(vNb(a, (Nyc(), Eyc)), 15);\n return c2 ? c2 : (mmb(), mmb(), jmb);\n };\n _2.Wf = function jpc() {\n return false;\n };\n mdb(Rne, \"ICutIndexCalculator/ManualCutIndexCalculator\", 800);\n bcb(802, 1, {}, kpc);\n _2.Vf = function lpc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u;\n u = (b.n == null && Uoc(b), b.n);\n i3 = (b.d == null && Uoc(b), b.d);\n t = KC(UD, Vje, 25, u.length, 15, 1);\n t[0] = u[0];\n r = u[0];\n for (j = 1; j < u.length; j++) {\n t[j] = t[j - 1] + u[j];\n r += u[j];\n }\n e = Znc(b) - 1;\n g = BD(vNb(a, (Nyc(), Fyc)), 19).a;\n d = Qje;\n c2 = new Rkb();\n for (m = $wnd.Math.max(0, e - g); m <= $wnd.Math.min(b.f - 1, e + g); m++) {\n p = r / (m + 1);\n q = 0;\n k = 1;\n f2 = new Rkb();\n s = Qje;\n l = 0;\n h = 0;\n o2 = i3[0];\n if (m == 0) {\n s = r;\n h = (b.g == null && (b.g = Poc(b, new _oc())), Edb(b.g));\n } else {\n while (k < b.f) {\n if (t[k - 1] - q >= p) {\n Ekb(f2, meb(k));\n s = $wnd.Math.max(s, t[k - 1] - l);\n h += o2;\n q += t[k - 1] - q;\n l = t[k - 1];\n o2 = i3[k];\n }\n o2 = $wnd.Math.max(o2, i3[k]);\n ++k;\n }\n h += o2;\n }\n n = $wnd.Math.min(1 / s, 1 / b.b / h);\n if (n > d) {\n d = n;\n c2 = f2;\n }\n }\n return c2;\n };\n _2.Wf = function mpc() {\n return false;\n };\n mdb(Rne, \"MSDCutIndexHeuristic\", 802);\n bcb(1617, 1, ene, ppc);\n _2.pf = function qpc(a, b) {\n opc(BD(a, 37), b);\n };\n mdb(Rne, \"SingleEdgeGraphWrapper\", 1617);\n bcb(227, 22, { 3: 1, 35: 1, 22: 1, 227: 1 }, Bpc);\n var upc, vpc, wpc, xpc, ypc, zpc;\n var EW = ndb(Sne, \"CenterEdgeLabelPlacementStrategy\", 227, CI, Dpc, Cpc);\n var Epc;\n bcb(422, 22, { 3: 1, 35: 1, 22: 1, 422: 1 }, Jpc);\n var Gpc, Hpc;\n var FW = ndb(Sne, \"ConstraintCalculationStrategy\", 422, CI, Lpc, Kpc);\n var Mpc;\n bcb(314, 22, { 3: 1, 35: 1, 22: 1, 314: 1, 246: 1, 234: 1 }, Tpc);\n _2.Kf = function Vpc() {\n return Spc(this);\n };\n _2.Xf = function Upc() {\n return Spc(this);\n };\n var Opc, Ppc, Qpc;\n var GW = ndb(Sne, \"CrossingMinimizationStrategy\", 314, CI, Xpc, Wpc);\n var Ypc;\n bcb(337, 22, { 3: 1, 35: 1, 22: 1, 337: 1 }, cqc);\n var $pc, _pc, aqc;\n var HW = ndb(Sne, \"CuttingStrategy\", 337, CI, eqc, dqc);\n var fqc;\n bcb(335, 22, { 3: 1, 35: 1, 22: 1, 335: 1, 246: 1, 234: 1 }, oqc);\n _2.Kf = function qqc() {\n return nqc(this);\n };\n _2.Xf = function pqc() {\n return nqc(this);\n };\n var hqc, iqc, jqc, kqc, lqc;\n var IW = ndb(Sne, \"CycleBreakingStrategy\", 335, CI, sqc, rqc);\n var tqc;\n bcb(419, 22, { 3: 1, 35: 1, 22: 1, 419: 1 }, yqc);\n var vqc, wqc;\n var JW = ndb(Sne, \"DirectionCongruency\", 419, CI, Aqc, zqc);\n var Bqc;\n bcb(450, 22, { 3: 1, 35: 1, 22: 1, 450: 1 }, Hqc);\n var Dqc, Eqc, Fqc;\n var KW = ndb(Sne, \"EdgeConstraint\", 450, CI, Jqc, Iqc);\n var Kqc;\n bcb(276, 22, { 3: 1, 35: 1, 22: 1, 276: 1 }, Uqc);\n var Mqc, Nqc, Oqc, Pqc, Qqc, Rqc;\n var LW = ndb(Sne, \"EdgeLabelSideSelection\", 276, CI, Wqc, Vqc);\n var Xqc;\n bcb(479, 22, { 3: 1, 35: 1, 22: 1, 479: 1 }, arc);\n var Zqc, $qc;\n var MW = ndb(Sne, \"EdgeStraighteningStrategy\", 479, CI, crc, brc);\n var drc;\n bcb(274, 22, { 3: 1, 35: 1, 22: 1, 274: 1 }, mrc);\n var frc, grc, hrc, irc, jrc, krc;\n var NW = ndb(Sne, \"FixedAlignment\", 274, CI, orc, nrc);\n var prc;\n bcb(275, 22, { 3: 1, 35: 1, 22: 1, 275: 1 }, zrc);\n var rrc, trc, urc, vrc, wrc, xrc;\n var OW = ndb(Sne, \"GraphCompactionStrategy\", 275, CI, Brc, Arc);\n var Crc;\n bcb(256, 22, { 3: 1, 35: 1, 22: 1, 256: 1 }, Prc);\n var Erc, Frc, Grc, Hrc, Irc, Jrc, Krc, Lrc, Mrc, Nrc;\n var PW = ndb(Sne, \"GraphProperties\", 256, CI, Rrc, Qrc);\n var Src;\n bcb(292, 22, { 3: 1, 35: 1, 22: 1, 292: 1 }, Yrc);\n var Urc, Vrc, Wrc;\n var QW = ndb(Sne, \"GreedySwitchType\", 292, CI, $rc, Zrc);\n var _rc;\n bcb(303, 22, { 3: 1, 35: 1, 22: 1, 303: 1 }, fsc);\n var bsc, csc, dsc;\n var RW = ndb(Sne, \"InLayerConstraint\", 303, CI, hsc, gsc);\n var isc;\n bcb(420, 22, { 3: 1, 35: 1, 22: 1, 420: 1 }, nsc);\n var ksc, lsc;\n var SW = ndb(Sne, \"InteractiveReferencePoint\", 420, CI, psc, osc);\n var qsc;\n var ssc, tsc, usc, vsc, wsc, xsc, ysc, zsc, Asc, Bsc, Csc, Dsc, Esc, Fsc, Gsc, Hsc, Isc, Jsc, Ksc, Lsc, Msc, Nsc, Osc, Psc, Qsc, Rsc, Ssc, Tsc, Usc, Vsc, Wsc, Xsc, Ysc, Zsc, $sc, _sc, atc, btc, ctc, dtc, etc, ftc, gtc, htc, itc, jtc, ktc, ltc, mtc, ntc, otc, ptc, qtc, rtc, stc, ttc, utc, vtc;\n bcb(163, 22, { 3: 1, 35: 1, 22: 1, 163: 1 }, Dtc);\n var xtc, ytc, ztc, Atc, Btc;\n var TW = ndb(Sne, \"LayerConstraint\", 163, CI, Ftc, Etc);\n var Gtc;\n bcb(848, 1, ale, kwc);\n _2.Qe = function lwc(a) {\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Yne), \"\"), \"Direction Congruency\"), \"Specifies how drawings of the same graph with different layout directions compare to each other: either a natural reading direction is preserved or the drawings are rotated versions of each other.\"), puc), (_5c(), V5c)), JW), pqb((N5c(), L5c)))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Zne), \"\"), \"Feedback Edges\"), \"Whether feedback edges should be highlighted by routing around the nodes.\"), (Bcb(), false)), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), $ne), \"\"), \"Interactive Reference Point\"), \"Determines which point of a node is considered by interactive layout phases.\"), Muc), V5c), SW), pqb(L5c))));\n o4c(a, $ne, goe, Ouc);\n o4c(a, $ne, qoe, Nuc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), _ne), \"\"), \"Merge Edges\"), \"Edges that have no ports are merged so they touch the connected nodes at the same points. When this option is disabled, one port is created for each edge directly connected to a node. When it is enabled, all such incoming edges share an input port, and all outgoing edges share an output port.\"), false), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), aoe), \"\"), \"Merge Hierarchy-Crossing Edges\"), \"If hierarchical layout is active, hierarchy-crossing edges use as few hierarchical ports as possible. They are broken by the algorithm, with hierarchical ports inserted as required. Usually, one such port is created for each edge at each hierarchy crossing point. With this option set to true, we try to create as few hierarchical ports as possible in the process. In particular, all edges that form a hyperedge can share a port.\"), true), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(C5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), boe), \"\"), \"Allow Non-Flow Ports To Switch Sides\"), \"Specifies whether non-flow ports may switch sides if their node's port constraints are either FIXED_SIDE or FIXED_ORDER. A non-flow port is a port on a side that is not part of the currently configured layout flow. For instance, given a left-to-right layout direction, north and south ports would be considered non-flow ports. Further note that the underlying criterium whether to switch sides or not solely relies on the minimization of edge crossings. Hence, edge length and other aesthetics criteria are not addressed.\"), false), T5c), wI), pqb(M5c)), OC(GC(ZI, 1), nie, 2, 6, [\"org.eclipse.elk.layered.northOrSouthPort\"]))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), coe), \"\"), \"Port Sorting Strategy\"), \"Only relevant for nodes with FIXED_SIDE port constraints. Determines the way a node's ports are distributed on the sides of a node if their order is not prescribed. The option is set on parent nodes.\"), xvc), V5c), cX), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), doe), \"\"), \"Thoroughness\"), \"How much effort should be spent to produce a nice layout.\"), meb(7)), X5c), JI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), eoe), \"\"), \"Add Unnecessary Bendpoints\"), \"Adds bend points even if an edge does not change direction. If true, each long edge dummy will contribute a bend point to its edges and hierarchy-crossing edges will always get a bend point where they cross hierarchy boundaries. By default, bend points are only added where an edge changes direction.\"), false), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), foe), \"\"), \"Generate Position and Layer IDs\"), \"If enabled position id and layer id are generated, which are usually only used internally when setting the interactiveLayout option. This option should be specified on the root node.\"), false), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), goe), \"cycleBreaking\"), \"Cycle Breaking Strategy\"), \"Strategy for cycle breaking. Cycle breaking looks for cycles in the graph and determines which edges to reverse to break the cycles. Reversed edges will end up pointing to the opposite direction of regular edges (that is, reversed edges will point left if edges usually point right).\"), nuc), V5c), IW), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), hoe), ppe), \"Node Layering Strategy\"), \"Strategy for node layering.\"), bvc), V5c), YW), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), ioe), ppe), \"Layer Constraint\"), \"Determines a constraint on the placement of the node regarding the layering.\"), Tuc), V5c), TW), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), joe), ppe), \"Layer Choice Constraint\"), \"Allows to set a constraint regarding the layer placement of a node. Let i be the value of teh constraint. Assumed the drawing has n layers and i < n. If set to i, it expresses that the node should be placed in i-th layer. Should i>=n be true then the node is placed in the last layer of the drawing. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine.\"), meb(-1)), X5c), JI), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), koe), ppe), \"Layer ID\"), \"Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set.\"), meb(-1)), X5c), JI), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), loe), qpe), \"Upper Bound On Width [MinWidth Layerer]\"), \"Defines a loose upper bound on the width of the MinWidth layerer. If set to '-1' multiple values are tested and the best result is selected.\"), meb(4)), X5c), JI), pqb(L5c))));\n o4c(a, loe, hoe, Wuc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), moe), qpe), \"Upper Layer Estimation Scaling Factor [MinWidth Layerer]\"), \"Multiplied with Upper Bound On Width for defining an upper bound on the width of layers which haven't been determined yet, but whose maximum width had been (roughly) estimated by the MinWidth algorithm. Compensates for too high estimations. If set to '-1' multiple values are tested and the best result is selected.\"), meb(2)), X5c), JI), pqb(L5c))));\n o4c(a, moe, hoe, Yuc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), noe), rpe), \"Node Promotion Strategy\"), \"Reduces number of dummy nodes after layering phase (if possible).\"), _uc), V5c), aX), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), ooe), rpe), \"Max Node Promotion Iterations\"), \"Limits the number of iterations for node promotion.\"), meb(0)), X5c), JI), pqb(L5c))));\n o4c(a, ooe, noe, null);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), poe), \"layering.coffmanGraham\"), \"Layer Bound\"), \"The maximum number of nodes allowed per layer.\"), meb(Ohe)), X5c), JI), pqb(L5c))));\n o4c(a, poe, hoe, Quc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), qoe), spe), \"Crossing Minimization Strategy\"), \"Strategy for crossing minimization.\"), luc), V5c), GW), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), roe), spe), \"Force Node Model Order\"), \"The node order given by the model does not change to produce a better layout. E.g. if node A is before node B in the model this is not changed during crossing minimization. This assumes that the node model order is already respected before crossing minimization. This can be achieved by setting considerModelOrder.strategy to NODES_AND_EDGES.\"), false), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), soe), spe), \"Hierarchical Sweepiness\"), \"How likely it is to use cross-hierarchy (1) vs bottom-up (-1).\"), 0.1), U5c), BI), pqb(L5c))));\n o4c(a, soe, tpe, fuc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), toe), spe), \"Semi-Interactive Crossing Minimization\"), \"Preserves the order of nodes within a layer but still minimizes crossings between edges connecting long edge dummies. Derives the desired order from positions specified by the 'org.eclipse.elk.position' layout option. Requires a crossing minimization strategy that is able to process 'in-layer' constraints.\"), false), T5c), wI), pqb(L5c))));\n o4c(a, toe, qoe, juc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), uoe), spe), \"Position Choice Constraint\"), \"Allows to set a constraint regarding the position placement of a node in a layer. Assumed the layer in which the node placed includes n other nodes and i < n. If set to i, it expresses that the node should be placed at the i-th position. Should i>=n be true then the node is placed at the last position in the layer. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine.\"), meb(-1)), X5c), JI), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), voe), spe), \"Position ID\"), \"Position within a layer that was determined by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set.\"), meb(-1)), X5c), JI), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), woe), upe), \"Greedy Switch Activation Threshold\"), \"By default it is decided automatically if the greedy switch is activated or not. The decision is based on whether the size of the input graph (without dummy nodes) is smaller than the value of this option. A '0' enforces the activation.\"), meb(40)), X5c), JI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), xoe), upe), \"Greedy Switch Crossing Minimization\"), \"Greedy Switch strategy for crossing minimization. The greedy switch heuristic is executed after the regular crossing minimization as a post-processor. Note that if 'hierarchyHandling' is set to 'INCLUDE_CHILDREN', the 'greedySwitchHierarchical.type' option must be used.\"), cuc), V5c), QW), pqb(L5c))));\n o4c(a, xoe, qoe, duc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), yoe), \"crossingMinimization.greedySwitchHierarchical\"), \"Greedy Switch Crossing Minimization (hierarchical)\"), \"Activates the greedy switch heuristic in case hierarchical layout is used. The differences to the non-hierarchical case (see 'greedySwitch.type') are: 1) greedy switch is inactive by default, 3) only the option value set on the node at which hierarchical layout starts is relevant, and 2) if it's activated by the user, it properly addresses hierarchy-crossing edges.\"), $tc), V5c), QW), pqb(L5c))));\n o4c(a, yoe, qoe, _tc);\n o4c(a, yoe, tpe, auc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), zoe), vpe), \"Node Placement Strategy\"), \"Strategy for node placement.\"), vvc), V5c), _W), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), Aoe), vpe), \"Favor Straight Edges Over Balancing\"), \"Favor straight edges over a balanced node placement. The default behavior is determined automatically based on the used 'edgeRouting'. For an orthogonal style it is set to true, for all other styles to false.\"), T5c), wI), pqb(L5c))));\n o4c(a, Aoe, zoe, lvc);\n o4c(a, Aoe, zoe, mvc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Boe), wpe), \"BK Edge Straightening\"), \"Specifies whether the Brandes Koepf node placer tries to increase the number of straight edges at the expense of diagram size. There is a subtle difference to the 'favorStraightEdges' option, which decides whether a balanced placement of the nodes is desired, or not. In bk terms this means combining the four alignments into a single balanced one, or not. This option on the other hand tries to straighten additional edges during the creation of each of the four alignments.\"), fvc), V5c), MW), pqb(L5c))));\n o4c(a, Boe, zoe, gvc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Coe), wpe), \"BK Fixed Alignment\"), \"Tells the BK node placer to use a certain alignment (out of its four) instead of the one producing the smallest height, or the combination of all four.\"), ivc), V5c), NW), pqb(L5c))));\n o4c(a, Coe, zoe, jvc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Doe), \"nodePlacement.linearSegments\"), \"Linear Segments Deflection Dampening\"), \"Dampens the movement of nodes to keep the diagram from getting too large.\"), 0.3), U5c), BI), pqb(L5c))));\n o4c(a, Doe, zoe, ovc);\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), Eoe), \"nodePlacement.networkSimplex\"), \"Node Flexibility\"), \"Aims at shorter and straighter edges. Two configurations are possible: (a) allow ports to move freely on the side they are assigned to (the order is always defined beforehand), (b) additionally allow to enlarge a node wherever it helps. If this option is not configured for a node, the 'nodeFlexibility.default' value is used, which is specified for the node's parent.\"), V5c), $W), pqb(K5c))));\n o4c(a, Eoe, zoe, tvc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Foe), \"nodePlacement.networkSimplex.nodeFlexibility\"), \"Node Flexibility Default\"), \"Default value of the 'nodeFlexibility' option for the children of a hierarchical node.\"), rvc), V5c), $W), pqb(L5c))));\n o4c(a, Foe, zoe, svc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Goe), xpe), \"Self-Loop Distribution\"), \"Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE.\"), xuc), V5c), eX), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Hoe), xpe), \"Self-Loop Ordering\"), \"Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE.\"), zuc), V5c), fX), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Ioe), \"edgeRouting.splines\"), \"Spline Routing Mode\"), \"Specifies the way control points are assembled for each individual edge. CONSERVATIVE ensures that edges are properly routed around the nodes but feels rather orthogonal at times. SLOPPY uses fewer control points to obtain curvier edge routes but may result in edges overlapping nodes.\"), Buc), V5c), hX), pqb(L5c))));\n o4c(a, Ioe, ype, Cuc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Joe), \"edgeRouting.splines.sloppy\"), \"Sloppy Spline Layer Spacing Factor\"), \"Spacing factor for routing area between layers when using sloppy spline routing.\"), 0.2), U5c), BI), pqb(L5c))));\n o4c(a, Joe, ype, Euc);\n o4c(a, Joe, Ioe, Fuc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Koe), \"edgeRouting.polyline\"), \"Sloped Edge Zone Width\"), \"Width of the strip to the left and to the right of each layer where the polyline edge router is allowed to refrain from ensuring that edges are routed horizontally. This prevents awkward bend points for nodes that extent almost to the edge of their layer.\"), 2), U5c), BI), pqb(L5c))));\n o4c(a, Koe, ype, vuc);\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), Loe), zpe), \"Spacing Base Value\"), \"An optional base value for all other layout options of the 'spacing' group. It can be used to conveniently alter the overall 'spaciousness' of the drawing. Whenever an explicit value is set for the other layout options, this base value will have no effect. The base value is not inherited, i.e. it must be set for each hierarchical node.\"), U5c), BI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Moe), zpe), \"Edge Node Between Layers Spacing\"), \"The spacing to be preserved between nodes and edges that are routed next to the node's layer. For the spacing between nodes and edges that cross the node's layer 'spacing.edgeNode' is used.\"), 10), U5c), BI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Noe), zpe), \"Edge Edge Between Layer Spacing\"), \"Spacing to be preserved between pairs of edges that are routed between the same pair of layers. Note that 'spacing.edgeEdge' is used for the spacing between pairs of edges crossing the same layer.\"), 10), U5c), BI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Ooe), zpe), \"Node Node Between Layers Spacing\"), \"The spacing to be preserved between any pair of nodes of two adjacent layers. Note that 'spacing.nodeNode' is used for the spacing between nodes within the layer itself.\"), 20), U5c), BI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Poe), Ape), \"Direction Priority\"), \"Defines how important it is to have a certain edge point into the direction of the overall layout. This option is evaluated during the cycle breaking phase.\"), meb(0)), X5c), JI), pqb(I5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Qoe), Ape), \"Shortness Priority\"), \"Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase.\"), meb(0)), X5c), JI), pqb(I5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Roe), Ape), \"Straightness Priority\"), \"Defines how important it is to keep an edge straight, i.e. aligned with one of the two axes. This option is evaluated during node placement.\"), meb(0)), X5c), JI), pqb(I5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Soe), Bpe), Ole), \"Tries to further compact components (disconnected sub-graphs).\"), false), T5c), wI), pqb(L5c))));\n o4c(a, Soe, zme, true);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Toe), Cpe), \"Post Compaction Strategy\"), Dpe), Ntc), V5c), OW), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Uoe), Cpe), \"Post Compaction Constraint Calculation\"), Dpe), Ltc), V5c), FW), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Voe), Epe), \"High Degree Node Treatment\"), \"Makes room around high degree nodes to place leafs and trees.\"), false), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Woe), Epe), \"High Degree Node Threshold\"), \"Whether a node is considered to have a high degree.\"), meb(16)), X5c), JI), pqb(L5c))));\n o4c(a, Woe, Voe, true);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Xoe), Epe), \"High Degree Node Maximum Tree Height\"), \"Maximum height of a subtree connected to a high degree node to be moved to separate layers.\"), meb(5)), X5c), JI), pqb(L5c))));\n o4c(a, Xoe, Voe, true);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Yoe), Fpe), \"Graph Wrapping Strategy\"), \"For certain graphs and certain prescribed drawing areas it may be desirable to split the laid out graph into chunks that are placed side by side. The edges that connect different chunks are 'wrapped' around from the end of one chunk to the start of the other chunk. The points between the chunks are referred to as 'cuts'.\"), bwc), V5c), jX), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Zoe), Fpe), \"Additional Wrapped Edges Spacing\"), \"To visually separate edges that are wrapped from regularly routed edges an additional spacing value can be specified in form of this layout option. The spacing is added to the regular edgeNode spacing.\"), 10), U5c), BI), pqb(L5c))));\n o4c(a, Zoe, Yoe, Ivc);\n o4c(a, Zoe, Yoe, Jvc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), $oe), Fpe), \"Correction Factor for Wrapping\"), \"At times and for certain types of graphs the executed wrapping may produce results that are consistently biased in the same fashion: either wrapping to often or to rarely. This factor can be used to correct the bias. Internally, it is simply multiplied with the 'aspect ratio' layout option.\"), 1), U5c), BI), pqb(L5c))));\n o4c(a, $oe, Yoe, Lvc);\n o4c(a, $oe, Yoe, Mvc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), _oe), Gpe), \"Cutting Strategy\"), \"The strategy by which the layer indexes are determined at which the layering crumbles into chunks.\"), Tvc), V5c), HW), pqb(L5c))));\n o4c(a, _oe, Yoe, Uvc);\n o4c(a, _oe, Yoe, Vvc);\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), ape), Gpe), \"Manually Specified Cuts\"), \"Allows the user to specify her own cuts for a certain graph.\"), Y5c), yK), pqb(L5c))));\n o4c(a, ape, _oe, Ovc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), bpe), \"wrapping.cutting.msd\"), \"MSD Freedom\"), \"The MSD cutting strategy starts with an initial guess on the number of chunks the graph should be split into. The freedom specifies how much the strategy may deviate from this guess. E.g. if an initial number of 3 is computed, a freedom of 1 allows 2, 3, and 4 cuts.\"), Qvc), X5c), JI), pqb(L5c))));\n o4c(a, bpe, _oe, Rvc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), cpe), Hpe), \"Validification Strategy\"), \"When wrapping graphs, one can specify indices that are not allowed as split points. The validification strategy makes sure every computed split point is allowed.\"), gwc), V5c), iX), pqb(L5c))));\n o4c(a, cpe, Yoe, hwc);\n o4c(a, cpe, Yoe, iwc);\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), dpe), Hpe), \"Valid Indices for Wrapping\"), null), Y5c), yK), pqb(L5c))));\n o4c(a, dpe, Yoe, dwc);\n o4c(a, dpe, Yoe, ewc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), epe), Ipe), \"Improve Cuts\"), \"For general graphs it is important that not too many edges wrap backwards. Thus a compromise between evenly-distributed cuts and the total number of cut edges is sought.\"), true), T5c), wI), pqb(L5c))));\n o4c(a, epe, Yoe, Zvc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), fpe), Ipe), \"Distance Penalty When Improving Cuts\"), null), 2), U5c), BI), pqb(L5c))));\n o4c(a, fpe, Yoe, Xvc);\n o4c(a, fpe, epe, true);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), gpe), Ipe), \"Improve Wrapped Edges\"), \"The initial wrapping is performed in a very simple way. As a consequence, edges that wrap from one chunk to another may be unnecessarily long. Activating this option tries to shorten such edges.\"), true), T5c), wI), pqb(L5c))));\n o4c(a, gpe, Yoe, _vc);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), hpe), Jpe), \"Edge Label Side Selection\"), \"Method to decide on edge label sides.\"), tuc), V5c), LW), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), ipe), Jpe), \"Edge Center Label Placement Strategy\"), \"Determines in which layer center labels of long edges should be placed.\"), ruc), V5c), EW), qqb(L5c, OC(GC(e1, 1), Kie, 175, 0, [J5c])))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), jpe), Kpe), \"Consider Model Order\"), \"Preserves the order of nodes and edges in the model file if this does not lead to additional edge crossings. Depending on the strategy this is not always possible since the node and edge order might be conflicting.\"), Wtc), V5c), bX), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), kpe), Kpe), \"No Model Order\"), \"Set on a node to not set a model order for this node even though it is a real node.\"), false), T5c), wI), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), lpe), Kpe), \"Consider Model Order for Components\"), \"If set to NONE the usual ordering strategy (by cumulative node priority and size of nodes) is used. INSIDE_PORT_SIDES orders the components with external ports only inside the groups with the same port side. FORCE_MODEL_ORDER enforces the mode order on components. This option might produce bad alignments and sub optimal drawings in terms of used area since the ordering should be respected.\"), Ptc), V5c), hQ), pqb(L5c))));\n o4c(a, lpe, zme, null);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), mpe), Kpe), \"Long Edge Ordering Strategy\"), \"Indicates whether long edges are sorted under, over, or equal to nodes that have no connection to a previous layer in a left-to-right or right-to-left layout. Under and over changes to right and left in a vertical layout.\"), Ttc), V5c), ZW), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), npe), Kpe), \"Crossing Counter Node Order Influence\"), \"Indicates with what percentage (1 for 100%) violations of the node model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal node order. Defaults to no influence (0).\"), 0), U5c), BI), pqb(L5c))));\n o4c(a, npe, jpe, null);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), ope), Kpe), \"Crossing Counter Port Order Influence\"), \"Indicates with what percentage (1 for 100%) violations of the port model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal port order. Defaults to no influence (0).\"), 0), U5c), BI), pqb(L5c))));\n o4c(a, ope, jpe, null);\n Oyc((new Pyc(), a));\n };\n var Itc, Jtc, Ktc, Ltc, Mtc, Ntc, Otc, Ptc, Qtc, Rtc, Stc, Ttc, Utc, Vtc, Wtc, Xtc, Ytc, Ztc, $tc, _tc, auc, buc, cuc, duc, euc, fuc, guc, huc, iuc, juc, kuc, luc, muc, nuc, ouc, puc, quc, ruc, suc, tuc, uuc, vuc, wuc, xuc, yuc, zuc, Auc, Buc, Cuc, Duc, Euc, Fuc, Guc, Huc, Iuc, Juc, Kuc, Luc, Muc, Nuc, Ouc, Puc, Quc, Ruc, Suc, Tuc, Uuc, Vuc, Wuc, Xuc, Yuc, Zuc, $uc, _uc, avc, bvc, cvc, dvc, evc, fvc, gvc, hvc, ivc, jvc, kvc, lvc, mvc, nvc, ovc, pvc, qvc, rvc, svc, tvc, uvc, vvc, wvc, xvc, yvc, zvc, Avc, Bvc, Cvc, Dvc, Evc, Fvc, Gvc, Hvc, Ivc, Jvc, Kvc, Lvc, Mvc, Nvc, Ovc, Pvc, Qvc, Rvc, Svc, Tvc, Uvc, Vvc, Wvc, Xvc, Yvc, Zvc, $vc, _vc, awc, bwc, cwc, dwc, ewc, fwc, gwc, hwc, iwc;\n mdb(Sne, \"LayeredMetaDataProvider\", 848);\n bcb(986, 1, ale, Pyc);\n _2.Qe = function Qyc(a) {\n Oyc(a);\n };\n var mwc, nwc, owc, pwc, qwc, rwc, swc, twc, uwc, vwc, wwc, xwc, ywc, zwc, Awc, Bwc, Cwc, Dwc, Ewc, Fwc, Gwc, Hwc, Iwc, Jwc, Kwc, Lwc, Mwc, Nwc, Owc, Pwc, Qwc, Rwc, Swc, Twc, Uwc, Vwc, Wwc, Xwc, Ywc, Zwc, $wc, _wc, axc, bxc, cxc, dxc, exc, fxc, gxc, hxc, ixc, jxc, kxc, lxc, mxc, nxc, oxc, pxc, qxc, rxc, sxc, txc, uxc, vxc, wxc, xxc, yxc, zxc, Axc, Bxc, Cxc, Dxc, Exc, Fxc, Gxc, Hxc, Ixc, Jxc, Kxc, Lxc, Mxc, Nxc, Oxc, Pxc, Qxc, Rxc, Sxc, Txc, Uxc, Vxc, Wxc, Xxc, Yxc, Zxc, $xc, _xc, ayc, byc, cyc, dyc, eyc, fyc, gyc, hyc, iyc, jyc, kyc, lyc, myc, nyc, oyc, pyc, qyc, ryc, syc, tyc, uyc, vyc, wyc, xyc, yyc, zyc, Ayc, Byc, Cyc, Dyc, Eyc, Fyc, Gyc, Hyc, Iyc, Jyc, Kyc, Lyc, Myc;\n mdb(Sne, \"LayeredOptions\", 986);\n bcb(987, 1, {}, Ryc);\n _2.$e = function Syc() {\n var a;\n return a = new jUb(), a;\n };\n _2._e = function Tyc(a) {\n };\n mdb(Sne, \"LayeredOptions/LayeredFactory\", 987);\n bcb(1372, 1, {});\n _2.a = 0;\n var Uyc;\n mdb(yqe, \"ElkSpacings/AbstractSpacingsBuilder\", 1372);\n bcb(779, 1372, {}, ezc);\n var bzc, czc;\n mdb(Sne, \"LayeredSpacings/LayeredSpacingsBuilder\", 779);\n bcb(313, 22, { 3: 1, 35: 1, 22: 1, 313: 1, 246: 1, 234: 1 }, nzc);\n _2.Kf = function pzc() {\n return mzc(this);\n };\n _2.Xf = function ozc() {\n return mzc(this);\n };\n var fzc, gzc, hzc, izc, jzc, kzc;\n var YW = ndb(Sne, \"LayeringStrategy\", 313, CI, rzc, qzc);\n var szc;\n bcb(378, 22, { 3: 1, 35: 1, 22: 1, 378: 1 }, zzc);\n var uzc, vzc, wzc;\n var ZW = ndb(Sne, \"LongEdgeOrderingStrategy\", 378, CI, Bzc, Azc);\n var Czc;\n bcb(197, 22, { 3: 1, 35: 1, 22: 1, 197: 1 }, Kzc);\n var Ezc, Fzc, Gzc, Hzc;\n var $W = ndb(Sne, \"NodeFlexibility\", 197, CI, Nzc, Mzc);\n var Ozc;\n bcb(315, 22, { 3: 1, 35: 1, 22: 1, 315: 1, 246: 1, 234: 1 }, Xzc);\n _2.Kf = function Zzc() {\n return Wzc(this);\n };\n _2.Xf = function Yzc() {\n return Wzc(this);\n };\n var Qzc, Rzc, Szc, Tzc, Uzc;\n var _W = ndb(Sne, \"NodePlacementStrategy\", 315, CI, _zc, $zc);\n var aAc;\n bcb(260, 22, { 3: 1, 35: 1, 22: 1, 260: 1 }, lAc);\n var cAc, dAc, eAc, fAc, gAc, hAc, iAc, jAc;\n var aX = ndb(Sne, \"NodePromotionStrategy\", 260, CI, nAc, mAc);\n var oAc;\n bcb(339, 22, { 3: 1, 35: 1, 22: 1, 339: 1 }, uAc);\n var qAc, rAc, sAc;\n var bX = ndb(Sne, \"OrderingStrategy\", 339, CI, wAc, vAc);\n var xAc;\n bcb(421, 22, { 3: 1, 35: 1, 22: 1, 421: 1 }, CAc);\n var zAc, AAc;\n var cX = ndb(Sne, \"PortSortingStrategy\", 421, CI, EAc, DAc);\n var FAc;\n bcb(452, 22, { 3: 1, 35: 1, 22: 1, 452: 1 }, LAc);\n var HAc, IAc, JAc;\n var dX = ndb(Sne, \"PortType\", 452, CI, NAc, MAc);\n var OAc;\n bcb(375, 22, { 3: 1, 35: 1, 22: 1, 375: 1 }, UAc);\n var QAc, RAc, SAc;\n var eX = ndb(Sne, \"SelfLoopDistributionStrategy\", 375, CI, WAc, VAc);\n var XAc;\n bcb(376, 22, { 3: 1, 35: 1, 22: 1, 376: 1 }, aBc);\n var ZAc, $Ac;\n var fX = ndb(Sne, \"SelfLoopOrderingStrategy\", 376, CI, cBc, bBc);\n var dBc;\n bcb(304, 1, { 304: 1 }, oBc);\n mdb(Sne, \"Spacings\", 304);\n bcb(336, 22, { 3: 1, 35: 1, 22: 1, 336: 1 }, uBc);\n var qBc, rBc, sBc;\n var hX = ndb(Sne, \"SplineRoutingMode\", 336, CI, wBc, vBc);\n var xBc;\n bcb(338, 22, { 3: 1, 35: 1, 22: 1, 338: 1 }, DBc);\n var zBc, ABc, BBc;\n var iX = ndb(Sne, \"ValidifyStrategy\", 338, CI, FBc, EBc);\n var GBc;\n bcb(377, 22, { 3: 1, 35: 1, 22: 1, 377: 1 }, MBc);\n var IBc, JBc, KBc;\n var jX = ndb(Sne, \"WrappingStrategy\", 377, CI, OBc, NBc);\n var PBc;\n bcb(1383, 1, Bqe, VBc);\n _2.Yf = function WBc(a) {\n return BD(a, 37), RBc;\n };\n _2.pf = function XBc(a, b) {\n UBc(this, BD(a, 37), b);\n };\n var RBc;\n mdb(Cqe, \"DepthFirstCycleBreaker\", 1383);\n bcb(782, 1, Bqe, aCc);\n _2.Yf = function cCc(a) {\n return BD(a, 37), YBc;\n };\n _2.pf = function dCc(a, b) {\n $Bc(this, BD(a, 37), b);\n };\n _2.Zf = function bCc(a) {\n return BD(Ikb(a, Bub(this.d, a.c.length)), 10);\n };\n var YBc;\n mdb(Cqe, \"GreedyCycleBreaker\", 782);\n bcb(1386, 782, Bqe, eCc);\n _2.Zf = function fCc(a) {\n var b, c2, d, e;\n e = null;\n b = Ohe;\n for (d = new olb(a); d.a < d.c.c.length; ) {\n c2 = BD(mlb(d), 10);\n if (wNb(c2, (wtc(), Zsc)) && BD(vNb(c2, Zsc), 19).a < b) {\n b = BD(vNb(c2, Zsc), 19).a;\n e = c2;\n }\n }\n if (!e) {\n return BD(Ikb(a, Bub(this.d, a.c.length)), 10);\n }\n return e;\n };\n mdb(Cqe, \"GreedyModelOrderCycleBreaker\", 1386);\n bcb(1384, 1, Bqe, kCc);\n _2.Yf = function lCc(a) {\n return BD(a, 37), gCc;\n };\n _2.pf = function mCc(a, b) {\n jCc(this, BD(a, 37), b);\n };\n var gCc;\n mdb(Cqe, \"InteractiveCycleBreaker\", 1384);\n bcb(1385, 1, Bqe, rCc);\n _2.Yf = function sCc(a) {\n return BD(a, 37), nCc;\n };\n _2.pf = function tCc(a, b) {\n qCc(this, BD(a, 37), b);\n };\n _2.a = 0;\n _2.b = 0;\n var nCc;\n mdb(Cqe, \"ModelOrderCycleBreaker\", 1385);\n bcb(1389, 1, Bqe, DCc);\n _2.Yf = function ECc(a) {\n return BD(a, 37), uCc;\n };\n _2.pf = function FCc(a, b) {\n BCc(this, BD(a, 37), b);\n };\n var uCc;\n mdb(Dqe, \"CoffmanGrahamLayerer\", 1389);\n bcb(1390, 1, Dke, GCc);\n _2.ue = function HCc(a, b) {\n return xCc(this.a, BD(a, 10), BD(b, 10));\n };\n _2.Fb = function ICc(a) {\n return this === a;\n };\n _2.ve = function JCc() {\n return new tpb(this);\n };\n mdb(Dqe, \"CoffmanGrahamLayerer/0methodref$compareNodesInTopo$Type\", 1390);\n bcb(1391, 1, Dke, KCc);\n _2.ue = function LCc(a, b) {\n return ACc(this.a, BD(a, 10), BD(b, 10));\n };\n _2.Fb = function MCc(a) {\n return this === a;\n };\n _2.ve = function NCc() {\n return new tpb(this);\n };\n mdb(Dqe, \"CoffmanGrahamLayerer/lambda$1$Type\", 1391);\n bcb(1392, 1, Bqe, QCc);\n _2.Yf = function RCc(a) {\n return BD(a, 37), e3c(e3c(e3c(new j3c(), (qUb(), lUb), (S8b(), n8b)), mUb, w8b), nUb, v8b);\n };\n _2.pf = function SCc(a, b) {\n PCc(this, BD(a, 37), b);\n };\n mdb(Dqe, \"InteractiveLayerer\", 1392);\n bcb(569, 1, { 569: 1 }, TCc);\n _2.a = 0;\n _2.c = 0;\n mdb(Dqe, \"InteractiveLayerer/LayerSpan\", 569);\n bcb(1388, 1, Bqe, ZCc);\n _2.Yf = function $Cc(a) {\n return BD(a, 37), UCc;\n };\n _2.pf = function _Cc(a, b) {\n WCc(this, BD(a, 37), b);\n };\n var UCc;\n mdb(Dqe, \"LongestPathLayerer\", 1388);\n bcb(1395, 1, Bqe, iDc);\n _2.Yf = function jDc(a) {\n return BD(a, 37), e3c(e3c(e3c(new j3c(), (qUb(), lUb), (S8b(), Z7b)), mUb, w8b), nUb, v8b);\n };\n _2.pf = function kDc(a, b) {\n gDc(this, BD(a, 37), b);\n };\n _2.a = 0;\n _2.b = 0;\n _2.d = 0;\n var aDc, bDc;\n mdb(Dqe, \"MinWidthLayerer\", 1395);\n bcb(1396, 1, Dke, mDc);\n _2.ue = function nDc(a, b) {\n return lDc(this, BD(a, 10), BD(b, 10));\n };\n _2.Fb = function oDc(a) {\n return this === a;\n };\n _2.ve = function pDc() {\n return new tpb(this);\n };\n mdb(Dqe, \"MinWidthLayerer/MinOutgoingEdgesComparator\", 1396);\n bcb(1387, 1, Bqe, xDc);\n _2.Yf = function yDc(a) {\n return BD(a, 37), qDc;\n };\n _2.pf = function zDc(a, b) {\n wDc(this, BD(a, 37), b);\n };\n var qDc;\n mdb(Dqe, \"NetworkSimplexLayerer\", 1387);\n bcb(1393, 1, Bqe, LDc);\n _2.Yf = function MDc(a) {\n return BD(a, 37), e3c(e3c(e3c(new j3c(), (qUb(), lUb), (S8b(), Z7b)), mUb, w8b), nUb, v8b);\n };\n _2.pf = function NDc(a, b) {\n IDc(this, BD(a, 37), b);\n };\n _2.d = 0;\n _2.f = 0;\n _2.g = 0;\n _2.i = 0;\n _2.s = 0;\n _2.t = 0;\n _2.u = 0;\n mdb(Dqe, \"StretchWidthLayerer\", 1393);\n bcb(1394, 1, Dke, PDc);\n _2.ue = function QDc(a, b) {\n return ODc(BD(a, 10), BD(b, 10));\n };\n _2.Fb = function RDc(a) {\n return this === a;\n };\n _2.ve = function SDc() {\n return new tpb(this);\n };\n mdb(Dqe, \"StretchWidthLayerer/1\", 1394);\n bcb(402, 1, Eqe);\n _2.Nf = function fEc(a, b, c2, d, e, f2) {\n };\n _2._f = function dEc(a, b, c2) {\n return YDc(this, a, b, c2);\n };\n _2.Mf = function eEc() {\n this.g = KC(VD, Fqe, 25, this.d, 15, 1);\n this.f = KC(VD, Fqe, 25, this.d, 15, 1);\n };\n _2.Of = function gEc(a, b) {\n this.e[a] = KC(WD, oje, 25, b[a].length, 15, 1);\n };\n _2.Pf = function hEc(a, b, c2) {\n var d;\n d = c2[a][b];\n d.p = b;\n this.e[a][b] = b;\n };\n _2.Qf = function iEc(a, b, c2, d) {\n BD(Ikb(d[a][b].j, c2), 11).p = this.d++;\n };\n _2.b = 0;\n _2.c = 0;\n _2.d = 0;\n mdb(Gqe, \"AbstractBarycenterPortDistributor\", 402);\n bcb(1633, 1, Dke, jEc);\n _2.ue = function kEc(a, b) {\n return _Dc(this.a, BD(a, 11), BD(b, 11));\n };\n _2.Fb = function lEc(a) {\n return this === a;\n };\n _2.ve = function mEc() {\n return new tpb(this);\n };\n mdb(Gqe, \"AbstractBarycenterPortDistributor/lambda$0$Type\", 1633);\n bcb(817, 1, Mne, uEc);\n _2.Nf = function xEc(a, b, c2, d, e, f2) {\n };\n _2.Pf = function zEc(a, b, c2) {\n };\n _2.Qf = function AEc(a, b, c2, d) {\n };\n _2.Lf = function vEc() {\n return false;\n };\n _2.Mf = function wEc() {\n this.c = this.e.a;\n this.g = this.f.g;\n };\n _2.Of = function yEc(a, b) {\n b[a][0].c.p = a;\n };\n _2.Rf = function BEc() {\n return false;\n };\n _2.ag = function CEc(a, b, c2, d) {\n if (c2) {\n rEc(this, a);\n } else {\n oEc(this, a, d);\n pEc(this, a, b);\n }\n if (a.c.length > 1) {\n Ccb(DD(vNb(Q_b((tCb(0, a.c.length), BD(a.c[0], 10))), (Nyc(), Awc)))) ? YGc(a, this.d, BD(this, 660)) : (mmb(), Okb(a, this.d));\n PEc(this.e, a);\n }\n };\n _2.Sf = function DEc(a, b, c2, d) {\n var e, f2, g, h, i3, j, k;\n if (b != sEc(c2, a.length)) {\n f2 = a[b - (c2 ? 1 : -1)];\n UDc(this.f, f2, c2 ? (KAc(), IAc) : (KAc(), HAc));\n }\n e = a[b][0];\n k = !d || e.k == (j0b(), e0b);\n j = Ou(a[b]);\n this.ag(j, k, false, c2);\n g = 0;\n for (i3 = new olb(j); i3.a < i3.c.c.length; ) {\n h = BD(mlb(i3), 10);\n a[b][g++] = h;\n }\n return false;\n };\n _2.Tf = function EEc(a, b) {\n var c2, d, e, f2, g;\n g = sEc(b, a.length);\n f2 = Ou(a[g]);\n this.ag(f2, false, true, b);\n c2 = 0;\n for (e = new olb(f2); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 10);\n a[g][c2++] = d;\n }\n return false;\n };\n mdb(Gqe, \"BarycenterHeuristic\", 817);\n bcb(658, 1, { 658: 1 }, FEc);\n _2.Ib = function GEc() {\n return \"BarycenterState [node=\" + this.c + \", summedWeight=\" + this.d + \", degree=\" + this.b + \", barycenter=\" + this.a + \", visited=\" + this.e + \"]\";\n };\n _2.b = 0;\n _2.d = 0;\n _2.e = false;\n var CX = mdb(Gqe, \"BarycenterHeuristic/BarycenterState\", 658);\n bcb(1802, 1, Dke, HEc);\n _2.ue = function IEc(a, b) {\n return qEc(this.a, BD(a, 10), BD(b, 10));\n };\n _2.Fb = function JEc(a) {\n return this === a;\n };\n _2.ve = function KEc() {\n return new tpb(this);\n };\n mdb(Gqe, \"BarycenterHeuristic/lambda$0$Type\", 1802);\n bcb(816, 1, Mne, SEc);\n _2.Mf = function TEc() {\n };\n _2.Nf = function UEc(a, b, c2, d, e, f2) {\n };\n _2.Qf = function XEc(a, b, c2, d) {\n };\n _2.Of = function VEc(a, b) {\n this.a[a] = KC(CX, { 3: 1, 4: 1, 5: 1, 2018: 1 }, 658, b[a].length, 0, 1);\n this.b[a] = KC(FX, { 3: 1, 4: 1, 5: 1, 2019: 1 }, 233, b[a].length, 0, 1);\n };\n _2.Pf = function WEc(a, b, c2) {\n OEc(this, c2[a][b], true);\n };\n _2.c = false;\n mdb(Gqe, \"ForsterConstraintResolver\", 816);\n bcb(233, 1, { 233: 1 }, $Ec, _Ec);\n _2.Ib = function aFc() {\n var a, b;\n b = new Ufb();\n b.a += \"[\";\n for (a = 0; a < this.d.length; a++) {\n Qfb(b, a0b(this.d[a]));\n REc(this.g, this.d[0]).a != null && Qfb(Qfb((b.a += \"<\", b), Jdb(REc(this.g, this.d[0]).a)), \">\");\n a < this.d.length - 1 && (b.a += She, b);\n }\n return (b.a += \"]\", b).a;\n };\n _2.a = 0;\n _2.c = 0;\n _2.f = 0;\n var FX = mdb(Gqe, \"ForsterConstraintResolver/ConstraintGroup\", 233);\n bcb(1797, 1, qie, bFc);\n _2.td = function cFc(a) {\n OEc(this.a, BD(a, 10), false);\n };\n mdb(Gqe, \"ForsterConstraintResolver/lambda$0$Type\", 1797);\n bcb(214, 1, { 214: 1, 225: 1 }, fFc);\n _2.Nf = function hFc(a, b, c2, d, e, f2) {\n };\n _2.Of = function iFc(a, b) {\n };\n _2.Mf = function gFc() {\n this.r = KC(WD, oje, 25, this.n, 15, 1);\n };\n _2.Pf = function jFc(a, b, c2) {\n var d, e;\n e = c2[a][b];\n d = e.e;\n !!d && Ekb(this.b, d);\n };\n _2.Qf = function kFc(a, b, c2, d) {\n ++this.n;\n };\n _2.Ib = function lFc() {\n return wlb(this.e, new Tqb());\n };\n _2.g = false;\n _2.i = false;\n _2.n = 0;\n _2.s = false;\n mdb(Gqe, \"GraphInfoHolder\", 214);\n bcb(1832, 1, Mne, pFc);\n _2.Nf = function sFc(a, b, c2, d, e, f2) {\n };\n _2.Of = function tFc(a, b) {\n };\n _2.Qf = function vFc(a, b, c2, d) {\n };\n _2._f = function qFc(a, b, c2) {\n c2 && b > 0 ? (RHc(this.a, a[b - 1], a[b]), void 0) : !c2 && b < a.length - 1 ? (RHc(this.a, a[b], a[b + 1]), void 0) : THc(this.a, a[b], c2 ? (Ucd(), Tcd) : (Ucd(), zcd));\n return mFc(this, a, b, c2);\n };\n _2.Mf = function rFc() {\n this.d = KC(WD, oje, 25, this.c, 15, 1);\n this.a = new dIc(this.d);\n };\n _2.Pf = function uFc(a, b, c2) {\n var d;\n d = c2[a][b];\n this.c += d.j.c.length;\n };\n _2.c = 0;\n mdb(Gqe, \"GreedyPortDistributor\", 1832);\n bcb(1401, 1, Bqe, CFc);\n _2.Yf = function DFc(a) {\n return zFc(BD(a, 37));\n };\n _2.pf = function EFc(a, b) {\n BFc(BD(a, 37), b);\n };\n var xFc;\n mdb(Gqe, \"InteractiveCrossingMinimizer\", 1401);\n bcb(1402, 1, Dke, GFc);\n _2.ue = function HFc(a, b) {\n return FFc(this, BD(a, 10), BD(b, 10));\n };\n _2.Fb = function IFc(a) {\n return this === a;\n };\n _2.ve = function JFc() {\n return new tpb(this);\n };\n mdb(Gqe, \"InteractiveCrossingMinimizer/1\", 1402);\n bcb(507, 1, { 507: 1, 123: 1, 51: 1 }, fGc);\n _2.Yf = function gGc(a) {\n var b;\n return BD(a, 37), b = k3c(KFc), e3c(b, (qUb(), nUb), (S8b(), H8b)), b;\n };\n _2.pf = function hGc(a, b) {\n YFc(this, BD(a, 37), b);\n };\n _2.e = 0;\n var KFc;\n mdb(Gqe, \"LayerSweepCrossingMinimizer\", 507);\n bcb(1398, 1, qie, iGc);\n _2.td = function jGc(a) {\n MFc(this.a, BD(a, 214));\n };\n mdb(Gqe, \"LayerSweepCrossingMinimizer/0methodref$compareDifferentRandomizedLayouts$Type\", 1398);\n bcb(1399, 1, qie, kGc);\n _2.td = function lGc(a) {\n VFc(this.a, BD(a, 214));\n };\n mdb(Gqe, \"LayerSweepCrossingMinimizer/1methodref$minimizeCrossingsNoCounter$Type\", 1399);\n bcb(1400, 1, qie, mGc);\n _2.td = function nGc(a) {\n XFc(this.a, BD(a, 214));\n };\n mdb(Gqe, \"LayerSweepCrossingMinimizer/2methodref$minimizeCrossingsWithCounter$Type\", 1400);\n bcb(454, 22, { 3: 1, 35: 1, 22: 1, 454: 1 }, sGc);\n var oGc, pGc, qGc;\n var PX = ndb(Gqe, \"LayerSweepCrossingMinimizer/CrossMinType\", 454, CI, uGc, tGc);\n var vGc;\n bcb(1397, 1, Oie, xGc);\n _2.Mb = function yGc(a) {\n return LFc(), BD(a, 29).a.c.length == 0;\n };\n mdb(Gqe, \"LayerSweepCrossingMinimizer/lambda$0$Type\", 1397);\n bcb(1799, 1, Mne, BGc);\n _2.Mf = function CGc() {\n };\n _2.Nf = function DGc(a, b, c2, d, e, f2) {\n };\n _2.Qf = function GGc(a, b, c2, d) {\n };\n _2.Of = function EGc(a, b) {\n b[a][0].c.p = a;\n this.b[a] = KC(SX, { 3: 1, 4: 1, 5: 1, 1944: 1 }, 659, b[a].length, 0, 1);\n };\n _2.Pf = function FGc(a, b, c2) {\n var d;\n d = c2[a][b];\n d.p = b;\n NC(this.b[a], b, new HGc());\n };\n mdb(Gqe, \"LayerSweepTypeDecider\", 1799);\n bcb(659, 1, { 659: 1 }, HGc);\n _2.Ib = function IGc() {\n return \"NodeInfo [connectedEdges=\" + this.a + \", hierarchicalInfluence=\" + this.b + \", randomInfluence=\" + this.c + \"]\";\n };\n _2.a = 0;\n _2.b = 0;\n _2.c = 0;\n var SX = mdb(Gqe, \"LayerSweepTypeDecider/NodeInfo\", 659);\n bcb(1800, 1, Vke, JGc);\n _2.Lb = function KGc(a) {\n return a1b(new b1b(BD(a, 11).b));\n };\n _2.Fb = function LGc(a) {\n return this === a;\n };\n _2.Mb = function MGc(a) {\n return a1b(new b1b(BD(a, 11).b));\n };\n mdb(Gqe, \"LayerSweepTypeDecider/lambda$0$Type\", 1800);\n bcb(1801, 1, Vke, NGc);\n _2.Lb = function OGc(a) {\n return a1b(new b1b(BD(a, 11).b));\n };\n _2.Fb = function PGc(a) {\n return this === a;\n };\n _2.Mb = function QGc(a) {\n return a1b(new b1b(BD(a, 11).b));\n };\n mdb(Gqe, \"LayerSweepTypeDecider/lambda$1$Type\", 1801);\n bcb(1833, 402, Eqe, RGc);\n _2.$f = function SGc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l;\n j = this.g;\n switch (c2.g) {\n case 1: {\n d = 0;\n e = 0;\n for (i3 = new olb(a.j); i3.a < i3.c.c.length; ) {\n g = BD(mlb(i3), 11);\n if (g.e.c.length != 0) {\n ++d;\n g.j == (Ucd(), Acd) && ++e;\n }\n }\n f2 = b + e;\n l = b + d;\n for (h = W_b(a, (KAc(), HAc)).Kc(); h.Ob(); ) {\n g = BD(h.Pb(), 11);\n if (g.j == (Ucd(), Acd)) {\n j[g.p] = f2;\n --f2;\n } else {\n j[g.p] = l;\n --l;\n }\n }\n return d;\n }\n case 2: {\n k = 0;\n for (h = W_b(a, (KAc(), IAc)).Kc(); h.Ob(); ) {\n g = BD(h.Pb(), 11);\n ++k;\n j[g.p] = b + k;\n }\n return k;\n }\n default:\n throw vbb(new Vdb());\n }\n };\n mdb(Gqe, \"LayerTotalPortDistributor\", 1833);\n bcb(660, 817, { 660: 1, 225: 1 }, XGc);\n _2.ag = function ZGc(a, b, c2, d) {\n if (c2) {\n rEc(this, a);\n } else {\n oEc(this, a, d);\n pEc(this, a, b);\n }\n if (a.c.length > 1) {\n Ccb(DD(vNb(Q_b((tCb(0, a.c.length), BD(a.c[0], 10))), (Nyc(), Awc)))) ? YGc(a, this.d, this) : (mmb(), Okb(a, this.d));\n Ccb(DD(vNb(Q_b((tCb(0, a.c.length), BD(a.c[0], 10))), Awc))) || PEc(this.e, a);\n }\n };\n mdb(Gqe, \"ModelOrderBarycenterHeuristic\", 660);\n bcb(1803, 1, Dke, $Gc);\n _2.ue = function _Gc(a, b) {\n return VGc(this.a, BD(a, 10), BD(b, 10));\n };\n _2.Fb = function aHc(a) {\n return this === a;\n };\n _2.ve = function bHc() {\n return new tpb(this);\n };\n mdb(Gqe, \"ModelOrderBarycenterHeuristic/lambda$0$Type\", 1803);\n bcb(1403, 1, Bqe, fHc);\n _2.Yf = function gHc(a) {\n var b;\n return BD(a, 37), b = k3c(cHc), e3c(b, (qUb(), nUb), (S8b(), H8b)), b;\n };\n _2.pf = function hHc(a, b) {\n eHc((BD(a, 37), b));\n };\n var cHc;\n mdb(Gqe, \"NoCrossingMinimizer\", 1403);\n bcb(796, 402, Eqe, iHc);\n _2.$f = function jHc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n;\n l = this.g;\n switch (c2.g) {\n case 1: {\n e = 0;\n f2 = 0;\n for (k = new olb(a.j); k.a < k.c.c.length; ) {\n i3 = BD(mlb(k), 11);\n if (i3.e.c.length != 0) {\n ++e;\n i3.j == (Ucd(), Acd) && ++f2;\n }\n }\n d = 1 / (e + 1);\n g = b + f2 * d;\n n = b + 1 - d;\n for (j = W_b(a, (KAc(), HAc)).Kc(); j.Ob(); ) {\n i3 = BD(j.Pb(), 11);\n if (i3.j == (Ucd(), Acd)) {\n l[i3.p] = g;\n g -= d;\n } else {\n l[i3.p] = n;\n n -= d;\n }\n }\n break;\n }\n case 2: {\n h = 0;\n for (k = new olb(a.j); k.a < k.c.c.length; ) {\n i3 = BD(mlb(k), 11);\n i3.g.c.length == 0 || ++h;\n }\n d = 1 / (h + 1);\n m = b + d;\n for (j = W_b(a, (KAc(), IAc)).Kc(); j.Ob(); ) {\n i3 = BD(j.Pb(), 11);\n l[i3.p] = m;\n m += d;\n }\n break;\n }\n default:\n throw vbb(new Wdb(\"Port type is undefined\"));\n }\n return 1;\n };\n mdb(Gqe, \"NodeRelativePortDistributor\", 796);\n bcb(807, 1, {}, nHc, oHc);\n mdb(Gqe, \"SweepCopy\", 807);\n bcb(1798, 1, Mne, rHc);\n _2.Of = function uHc(a, b) {\n };\n _2.Mf = function sHc() {\n var a;\n a = KC(WD, oje, 25, this.f, 15, 1);\n this.d = new LIc(a);\n this.a = new dIc(a);\n };\n _2.Nf = function tHc(a, b, c2, d, e, f2) {\n var g;\n g = BD(Ikb(f2[a][b].j, c2), 11);\n e.c == g && e.c.i.c == e.d.i.c && ++this.e[a];\n };\n _2.Pf = function vHc(a, b, c2) {\n var d;\n d = c2[a][b];\n this.c[a] = this.c[a] | d.k == (j0b(), i0b);\n };\n _2.Qf = function wHc(a, b, c2, d) {\n var e;\n e = BD(Ikb(d[a][b].j, c2), 11);\n e.p = this.f++;\n e.g.c.length + e.e.c.length > 1 && (e.j == (Ucd(), zcd) ? this.b[a] = true : e.j == Tcd && a > 0 && (this.b[a - 1] = true));\n };\n _2.f = 0;\n mdb(Lne, \"AllCrossingsCounter\", 1798);\n bcb(587, 1, {}, BHc);\n _2.b = 0;\n _2.d = 0;\n mdb(Lne, \"BinaryIndexedTree\", 587);\n bcb(524, 1, {}, dIc);\n var DHc, EHc;\n mdb(Lne, \"CrossingsCounter\", 524);\n bcb(1906, 1, Dke, hIc);\n _2.ue = function iIc(a, b) {\n return YHc(this.a, BD(a, 11), BD(b, 11));\n };\n _2.Fb = function jIc(a) {\n return this === a;\n };\n _2.ve = function kIc() {\n return new tpb(this);\n };\n mdb(Lne, \"CrossingsCounter/lambda$0$Type\", 1906);\n bcb(1907, 1, Dke, lIc);\n _2.ue = function mIc(a, b) {\n return ZHc(this.a, BD(a, 11), BD(b, 11));\n };\n _2.Fb = function nIc(a) {\n return this === a;\n };\n _2.ve = function oIc() {\n return new tpb(this);\n };\n mdb(Lne, \"CrossingsCounter/lambda$1$Type\", 1907);\n bcb(1908, 1, Dke, pIc);\n _2.ue = function qIc(a, b) {\n return $Hc(this.a, BD(a, 11), BD(b, 11));\n };\n _2.Fb = function rIc(a) {\n return this === a;\n };\n _2.ve = function sIc() {\n return new tpb(this);\n };\n mdb(Lne, \"CrossingsCounter/lambda$2$Type\", 1908);\n bcb(1909, 1, Dke, tIc);\n _2.ue = function uIc(a, b) {\n return _Hc(this.a, BD(a, 11), BD(b, 11));\n };\n _2.Fb = function vIc(a) {\n return this === a;\n };\n _2.ve = function wIc() {\n return new tpb(this);\n };\n mdb(Lne, \"CrossingsCounter/lambda$3$Type\", 1909);\n bcb(1910, 1, qie, xIc);\n _2.td = function yIc(a) {\n eIc(this.a, BD(a, 11));\n };\n mdb(Lne, \"CrossingsCounter/lambda$4$Type\", 1910);\n bcb(1911, 1, Oie, zIc);\n _2.Mb = function AIc(a) {\n return fIc(this.a, BD(a, 11));\n };\n mdb(Lne, \"CrossingsCounter/lambda$5$Type\", 1911);\n bcb(1912, 1, qie, CIc);\n _2.td = function DIc(a) {\n BIc(this, a);\n };\n mdb(Lne, \"CrossingsCounter/lambda$6$Type\", 1912);\n bcb(1913, 1, qie, EIc);\n _2.td = function FIc(a) {\n var b;\n FHc();\n Wjb(this.b, (b = this.a, BD(a, 11), b));\n };\n mdb(Lne, \"CrossingsCounter/lambda$7$Type\", 1913);\n bcb(826, 1, Vke, GIc);\n _2.Lb = function HIc(a) {\n return FHc(), wNb(BD(a, 11), (wtc(), gtc));\n };\n _2.Fb = function IIc(a) {\n return this === a;\n };\n _2.Mb = function JIc(a) {\n return FHc(), wNb(BD(a, 11), (wtc(), gtc));\n };\n mdb(Lne, \"CrossingsCounter/lambda$8$Type\", 826);\n bcb(1905, 1, {}, LIc);\n mdb(Lne, \"HyperedgeCrossingsCounter\", 1905);\n bcb(467, 1, { 35: 1, 467: 1 }, NIc);\n _2.wd = function OIc(a) {\n return MIc(this, BD(a, 467));\n };\n _2.b = 0;\n _2.c = 0;\n _2.e = 0;\n _2.f = 0;\n var oY = mdb(Lne, \"HyperedgeCrossingsCounter/Hyperedge\", 467);\n bcb(362, 1, { 35: 1, 362: 1 }, QIc);\n _2.wd = function RIc(a) {\n return PIc(this, BD(a, 362));\n };\n _2.b = 0;\n _2.c = 0;\n var nY = mdb(Lne, \"HyperedgeCrossingsCounter/HyperedgeCorner\", 362);\n bcb(523, 22, { 3: 1, 35: 1, 22: 1, 523: 1 }, VIc);\n var SIc, TIc;\n var mY = ndb(Lne, \"HyperedgeCrossingsCounter/HyperedgeCorner/Type\", 523, CI, XIc, WIc);\n var YIc;\n bcb(1405, 1, Bqe, dJc);\n _2.Yf = function eJc(a) {\n return BD(vNb(BD(a, 37), (wtc(), Ksc)), 21).Hc((Orc(), Hrc)) ? _Ic : null;\n };\n _2.pf = function fJc(a, b) {\n cJc(this, BD(a, 37), b);\n };\n var _Ic;\n mdb(Hqe, \"InteractiveNodePlacer\", 1405);\n bcb(1406, 1, Bqe, tJc);\n _2.Yf = function uJc(a) {\n return BD(vNb(BD(a, 37), (wtc(), Ksc)), 21).Hc((Orc(), Hrc)) ? gJc : null;\n };\n _2.pf = function vJc(a, b) {\n rJc(this, BD(a, 37), b);\n };\n var gJc, hJc, iJc;\n mdb(Hqe, \"LinearSegmentsNodePlacer\", 1406);\n bcb(257, 1, { 35: 1, 257: 1 }, zJc);\n _2.wd = function AJc(a) {\n return wJc(this, BD(a, 257));\n };\n _2.Fb = function BJc(a) {\n var b;\n if (JD(a, 257)) {\n b = BD(a, 257);\n return this.b == b.b;\n }\n return false;\n };\n _2.Hb = function CJc() {\n return this.b;\n };\n _2.Ib = function DJc() {\n return \"ls\" + Fe(this.e);\n };\n _2.a = 0;\n _2.b = 0;\n _2.c = -1;\n _2.d = -1;\n _2.g = 0;\n var sY = mdb(Hqe, \"LinearSegmentsNodePlacer/LinearSegment\", 257);\n bcb(1408, 1, Bqe, $Jc);\n _2.Yf = function _Jc(a) {\n return BD(vNb(BD(a, 37), (wtc(), Ksc)), 21).Hc((Orc(), Hrc)) ? EJc : null;\n };\n _2.pf = function hKc(a, b) {\n WJc(this, BD(a, 37), b);\n };\n _2.b = 0;\n _2.g = 0;\n var EJc;\n mdb(Hqe, \"NetworkSimplexPlacer\", 1408);\n bcb(1427, 1, Dke, iKc);\n _2.ue = function jKc(a, b) {\n return beb(BD(a, 19).a, BD(b, 19).a);\n };\n _2.Fb = function kKc(a) {\n return this === a;\n };\n _2.ve = function lKc() {\n return new tpb(this);\n };\n mdb(Hqe, \"NetworkSimplexPlacer/0methodref$compare$Type\", 1427);\n bcb(1429, 1, Dke, mKc);\n _2.ue = function nKc(a, b) {\n return beb(BD(a, 19).a, BD(b, 19).a);\n };\n _2.Fb = function oKc(a) {\n return this === a;\n };\n _2.ve = function pKc() {\n return new tpb(this);\n };\n mdb(Hqe, \"NetworkSimplexPlacer/1methodref$compare$Type\", 1429);\n bcb(649, 1, { 649: 1 }, qKc);\n var wY = mdb(Hqe, \"NetworkSimplexPlacer/EdgeRep\", 649);\n bcb(401, 1, { 401: 1 }, rKc);\n _2.b = false;\n var xY = mdb(Hqe, \"NetworkSimplexPlacer/NodeRep\", 401);\n bcb(508, 12, { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 12: 1, 14: 1, 15: 1, 54: 1, 508: 1 }, vKc);\n mdb(Hqe, \"NetworkSimplexPlacer/Path\", 508);\n bcb(1409, 1, {}, wKc);\n _2.Kb = function xKc(a) {\n return BD(a, 17).d.i.k;\n };\n mdb(Hqe, \"NetworkSimplexPlacer/Path/lambda$0$Type\", 1409);\n bcb(1410, 1, Oie, yKc);\n _2.Mb = function zKc(a) {\n return BD(a, 267) == (j0b(), g0b);\n };\n mdb(Hqe, \"NetworkSimplexPlacer/Path/lambda$1$Type\", 1410);\n bcb(1411, 1, {}, AKc);\n _2.Kb = function BKc(a) {\n return BD(a, 17).d.i;\n };\n mdb(Hqe, \"NetworkSimplexPlacer/Path/lambda$2$Type\", 1411);\n bcb(1412, 1, Oie, CKc);\n _2.Mb = function DKc(a) {\n return eLc(Lzc(BD(a, 10)));\n };\n mdb(Hqe, \"NetworkSimplexPlacer/Path/lambda$3$Type\", 1412);\n bcb(1413, 1, Oie, EKc);\n _2.Mb = function FKc(a) {\n return dKc(BD(a, 11));\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$0$Type\", 1413);\n bcb(1414, 1, qie, GKc);\n _2.td = function HKc(a) {\n LJc(this.a, this.b, BD(a, 11));\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$1$Type\", 1414);\n bcb(1423, 1, qie, IKc);\n _2.td = function JKc(a) {\n MJc(this.a, BD(a, 17));\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$10$Type\", 1423);\n bcb(1424, 1, {}, KKc);\n _2.Kb = function LKc(a) {\n return FJc(), new YAb(null, new Kub(BD(a, 29).a, 16));\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$11$Type\", 1424);\n bcb(1425, 1, qie, MKc);\n _2.td = function NKc(a) {\n NJc(this.a, BD(a, 10));\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$12$Type\", 1425);\n bcb(1426, 1, {}, OKc);\n _2.Kb = function PKc(a) {\n return FJc(), meb(BD(a, 121).e);\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$13$Type\", 1426);\n bcb(1428, 1, {}, QKc);\n _2.Kb = function RKc(a) {\n return FJc(), meb(BD(a, 121).e);\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$15$Type\", 1428);\n bcb(1430, 1, Oie, SKc);\n _2.Mb = function TKc(a) {\n return FJc(), BD(a, 401).c.k == (j0b(), h0b);\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$17$Type\", 1430);\n bcb(1431, 1, Oie, UKc);\n _2.Mb = function VKc(a) {\n return FJc(), BD(a, 401).c.j.c.length > 1;\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$18$Type\", 1431);\n bcb(1432, 1, qie, WKc);\n _2.td = function XKc(a) {\n eKc(this.c, this.b, this.d, this.a, BD(a, 401));\n };\n _2.c = 0;\n _2.d = 0;\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$19$Type\", 1432);\n bcb(1415, 1, {}, YKc);\n _2.Kb = function ZKc(a) {\n return FJc(), new YAb(null, new Kub(BD(a, 29).a, 16));\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$2$Type\", 1415);\n bcb(1433, 1, qie, $Kc);\n _2.td = function _Kc(a) {\n fKc(this.a, BD(a, 11));\n };\n _2.a = 0;\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$20$Type\", 1433);\n bcb(1434, 1, {}, aLc);\n _2.Kb = function bLc(a) {\n return FJc(), new YAb(null, new Kub(BD(a, 29).a, 16));\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$21$Type\", 1434);\n bcb(1435, 1, qie, cLc);\n _2.td = function dLc(a) {\n OJc(this.a, BD(a, 10));\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$22$Type\", 1435);\n bcb(1436, 1, Oie, fLc);\n _2.Mb = function gLc(a) {\n return eLc(a);\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$23$Type\", 1436);\n bcb(1437, 1, {}, hLc);\n _2.Kb = function iLc(a) {\n return FJc(), new YAb(null, new Kub(BD(a, 29).a, 16));\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$24$Type\", 1437);\n bcb(1438, 1, Oie, jLc);\n _2.Mb = function kLc(a) {\n return PJc(this.a, BD(a, 10));\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$25$Type\", 1438);\n bcb(1439, 1, qie, lLc);\n _2.td = function mLc(a) {\n QJc(this.a, this.b, BD(a, 10));\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$26$Type\", 1439);\n bcb(1440, 1, Oie, nLc);\n _2.Mb = function oLc(a) {\n return FJc(), !OZb(BD(a, 17));\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$27$Type\", 1440);\n bcb(1441, 1, Oie, pLc);\n _2.Mb = function qLc(a) {\n return FJc(), !OZb(BD(a, 17));\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$28$Type\", 1441);\n bcb(1442, 1, {}, rLc);\n _2.Ce = function sLc(a, b) {\n return RJc(this.a, BD(a, 29), BD(b, 29));\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$29$Type\", 1442);\n bcb(1416, 1, {}, tLc);\n _2.Kb = function uLc(a) {\n return FJc(), new YAb(null, new Lub(new Sr(ur(U_b(BD(a, 10)).a.Kc(), new Sq()))));\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$3$Type\", 1416);\n bcb(1417, 1, Oie, vLc);\n _2.Mb = function wLc(a) {\n return FJc(), cKc(BD(a, 17));\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$4$Type\", 1417);\n bcb(1418, 1, qie, xLc);\n _2.td = function yLc(a) {\n XJc(this.a, BD(a, 17));\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$5$Type\", 1418);\n bcb(1419, 1, {}, zLc);\n _2.Kb = function ALc(a) {\n return FJc(), new YAb(null, new Kub(BD(a, 29).a, 16));\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$6$Type\", 1419);\n bcb(1420, 1, Oie, BLc);\n _2.Mb = function CLc(a) {\n return FJc(), BD(a, 10).k == (j0b(), h0b);\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$7$Type\", 1420);\n bcb(1421, 1, {}, DLc);\n _2.Kb = function ELc(a) {\n return FJc(), new YAb(null, new Lub(new Sr(ur(O_b(BD(a, 10)).a.Kc(), new Sq()))));\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$8$Type\", 1421);\n bcb(1422, 1, Oie, FLc);\n _2.Mb = function GLc(a) {\n return FJc(), NZb(BD(a, 17));\n };\n mdb(Hqe, \"NetworkSimplexPlacer/lambda$9$Type\", 1422);\n bcb(1404, 1, Bqe, KLc);\n _2.Yf = function LLc(a) {\n return BD(vNb(BD(a, 37), (wtc(), Ksc)), 21).Hc((Orc(), Hrc)) ? HLc : null;\n };\n _2.pf = function MLc(a, b) {\n JLc(BD(a, 37), b);\n };\n var HLc;\n mdb(Hqe, \"SimpleNodePlacer\", 1404);\n bcb(180, 1, { 180: 1 }, ULc);\n _2.Ib = function VLc() {\n var a;\n a = \"\";\n this.c == (YLc(), XLc) ? a += kle : this.c == WLc && (a += jle);\n this.o == (eMc(), cMc) ? a += vle : this.o == dMc ? a += \"UP\" : a += \"BALANCED\";\n return a;\n };\n mdb(Kqe, \"BKAlignedLayout\", 180);\n bcb(516, 22, { 3: 1, 35: 1, 22: 1, 516: 1 }, ZLc);\n var WLc, XLc;\n var fZ = ndb(Kqe, \"BKAlignedLayout/HDirection\", 516, CI, _Lc, $Lc);\n var aMc;\n bcb(515, 22, { 3: 1, 35: 1, 22: 1, 515: 1 }, fMc);\n var cMc, dMc;\n var gZ = ndb(Kqe, \"BKAlignedLayout/VDirection\", 515, CI, hMc, gMc);\n var iMc;\n bcb(1634, 1, {}, mMc);\n mdb(Kqe, \"BKAligner\", 1634);\n bcb(1637, 1, {}, rMc);\n mdb(Kqe, \"BKCompactor\", 1637);\n bcb(654, 1, { 654: 1 }, sMc);\n _2.a = 0;\n mdb(Kqe, \"BKCompactor/ClassEdge\", 654);\n bcb(458, 1, { 458: 1 }, uMc);\n _2.a = null;\n _2.b = 0;\n mdb(Kqe, \"BKCompactor/ClassNode\", 458);\n bcb(1407, 1, Bqe, CMc);\n _2.Yf = function GMc(a) {\n return BD(vNb(BD(a, 37), (wtc(), Ksc)), 21).Hc((Orc(), Hrc)) ? vMc : null;\n };\n _2.pf = function HMc(a, b) {\n BMc(this, BD(a, 37), b);\n };\n _2.d = false;\n var vMc;\n mdb(Kqe, \"BKNodePlacer\", 1407);\n bcb(1635, 1, {}, JMc);\n _2.d = 0;\n mdb(Kqe, \"NeighborhoodInformation\", 1635);\n bcb(1636, 1, Dke, OMc);\n _2.ue = function PMc(a, b) {\n return NMc(this, BD(a, 46), BD(b, 46));\n };\n _2.Fb = function QMc(a) {\n return this === a;\n };\n _2.ve = function RMc() {\n return new tpb(this);\n };\n mdb(Kqe, \"NeighborhoodInformation/NeighborComparator\", 1636);\n bcb(808, 1, {});\n mdb(Kqe, \"ThresholdStrategy\", 808);\n bcb(1763, 808, {}, WMc);\n _2.bg = function XMc(a, b, c2) {\n return this.a.o == (eMc(), dMc) ? Pje : Qje;\n };\n _2.cg = function YMc() {\n };\n mdb(Kqe, \"ThresholdStrategy/NullThresholdStrategy\", 1763);\n bcb(579, 1, { 579: 1 }, ZMc);\n _2.c = false;\n _2.d = false;\n mdb(Kqe, \"ThresholdStrategy/Postprocessable\", 579);\n bcb(1764, 808, {}, bNc);\n _2.bg = function cNc(a, b, c2) {\n var d, e, f2;\n e = b == c2;\n d = this.a.a[c2.p] == b;\n if (!(e || d)) {\n return a;\n }\n f2 = a;\n if (this.a.c == (YLc(), XLc)) {\n e && (f2 = $Mc(this, b, true));\n !isNaN(f2) && !isFinite(f2) && d && (f2 = $Mc(this, c2, false));\n } else {\n e && (f2 = $Mc(this, b, true));\n !isNaN(f2) && !isFinite(f2) && d && (f2 = $Mc(this, c2, false));\n }\n return f2;\n };\n _2.cg = function dNc() {\n var a, b, c2, d, e;\n while (this.d.b != 0) {\n e = BD(Ksb(this.d), 579);\n d = _Mc(this, e);\n if (!d.a) {\n continue;\n }\n a = d.a;\n c2 = Ccb(this.a.f[this.a.g[e.b.p].p]);\n if (!c2 && !OZb(a) && a.c.i.c == a.d.i.c) {\n continue;\n }\n b = aNc(this, e);\n b || swb(this.e, e);\n }\n while (this.e.a.c.length != 0) {\n aNc(this, BD(rwb(this.e), 579));\n }\n };\n mdb(Kqe, \"ThresholdStrategy/SimpleThresholdStrategy\", 1764);\n bcb(635, 1, { 635: 1, 246: 1, 234: 1 }, hNc);\n _2.Kf = function jNc() {\n return gNc(this);\n };\n _2.Xf = function iNc() {\n return gNc(this);\n };\n var eNc;\n mdb(Lqe, \"EdgeRouterFactory\", 635);\n bcb(1458, 1, Bqe, wNc);\n _2.Yf = function xNc(a) {\n return uNc(BD(a, 37));\n };\n _2.pf = function yNc(a, b) {\n vNc(BD(a, 37), b);\n };\n var lNc, mNc, nNc, oNc, pNc, qNc, rNc, sNc;\n mdb(Lqe, \"OrthogonalEdgeRouter\", 1458);\n bcb(1451, 1, Bqe, NNc);\n _2.Yf = function ONc(a) {\n return INc(BD(a, 37));\n };\n _2.pf = function PNc(a, b) {\n KNc(this, BD(a, 37), b);\n };\n var zNc, ANc, BNc, CNc, DNc, ENc;\n mdb(Lqe, \"PolylineEdgeRouter\", 1451);\n bcb(1452, 1, Vke, RNc);\n _2.Lb = function SNc(a) {\n return QNc(BD(a, 10));\n };\n _2.Fb = function TNc(a) {\n return this === a;\n };\n _2.Mb = function UNc(a) {\n return QNc(BD(a, 10));\n };\n mdb(Lqe, \"PolylineEdgeRouter/1\", 1452);\n bcb(1809, 1, Oie, ZNc);\n _2.Mb = function $Nc(a) {\n return BD(a, 129).c == (HOc(), FOc);\n };\n mdb(Mqe, \"HyperEdgeCycleDetector/lambda$0$Type\", 1809);\n bcb(1810, 1, {}, _Nc);\n _2.Ge = function aOc(a) {\n return BD(a, 129).d;\n };\n mdb(Mqe, \"HyperEdgeCycleDetector/lambda$1$Type\", 1810);\n bcb(1811, 1, Oie, bOc);\n _2.Mb = function cOc(a) {\n return BD(a, 129).c == (HOc(), FOc);\n };\n mdb(Mqe, \"HyperEdgeCycleDetector/lambda$2$Type\", 1811);\n bcb(1812, 1, {}, dOc);\n _2.Ge = function eOc(a) {\n return BD(a, 129).d;\n };\n mdb(Mqe, \"HyperEdgeCycleDetector/lambda$3$Type\", 1812);\n bcb(1813, 1, {}, fOc);\n _2.Ge = function gOc(a) {\n return BD(a, 129).d;\n };\n mdb(Mqe, \"HyperEdgeCycleDetector/lambda$4$Type\", 1813);\n bcb(1814, 1, {}, hOc);\n _2.Ge = function iOc(a) {\n return BD(a, 129).d;\n };\n mdb(Mqe, \"HyperEdgeCycleDetector/lambda$5$Type\", 1814);\n bcb(112, 1, { 35: 1, 112: 1 }, uOc);\n _2.wd = function vOc(a) {\n return kOc(this, BD(a, 112));\n };\n _2.Fb = function wOc(a) {\n var b;\n if (JD(a, 112)) {\n b = BD(a, 112);\n return this.g == b.g;\n }\n return false;\n };\n _2.Hb = function xOc() {\n return this.g;\n };\n _2.Ib = function zOc() {\n var a, b, c2, d;\n a = new Wfb(\"{\");\n d = new olb(this.n);\n while (d.a < d.c.c.length) {\n c2 = BD(mlb(d), 11);\n b = P_b(c2.i);\n b == null && (b = \"n\" + S_b(c2.i));\n a.a += \"\" + b;\n d.a < d.c.c.length && (a.a += \",\", a);\n }\n a.a += \"}\";\n return a.a;\n };\n _2.a = 0;\n _2.b = 0;\n _2.c = NaN;\n _2.d = 0;\n _2.g = 0;\n _2.i = 0;\n _2.o = 0;\n _2.s = NaN;\n mdb(Mqe, \"HyperEdgeSegment\", 112);\n bcb(129, 1, { 129: 1 }, DOc);\n _2.Ib = function EOc() {\n return this.a + \"->\" + this.b + \" (\" + Yr(this.c) + \")\";\n };\n _2.d = 0;\n mdb(Mqe, \"HyperEdgeSegmentDependency\", 129);\n bcb(520, 22, { 3: 1, 35: 1, 22: 1, 520: 1 }, IOc);\n var FOc, GOc;\n var DZ = ndb(Mqe, \"HyperEdgeSegmentDependency/DependencyType\", 520, CI, KOc, JOc);\n var LOc;\n bcb(1815, 1, {}, ZOc);\n mdb(Mqe, \"HyperEdgeSegmentSplitter\", 1815);\n bcb(1816, 1, {}, aPc);\n _2.a = 0;\n _2.b = 0;\n mdb(Mqe, \"HyperEdgeSegmentSplitter/AreaRating\", 1816);\n bcb(329, 1, { 329: 1 }, bPc);\n _2.a = 0;\n _2.b = 0;\n _2.c = 0;\n mdb(Mqe, \"HyperEdgeSegmentSplitter/FreeArea\", 329);\n bcb(1817, 1, Dke, cPc);\n _2.ue = function dPc(a, b) {\n return _Oc(BD(a, 112), BD(b, 112));\n };\n _2.Fb = function ePc(a) {\n return this === a;\n };\n _2.ve = function fPc() {\n return new tpb(this);\n };\n mdb(Mqe, \"HyperEdgeSegmentSplitter/lambda$0$Type\", 1817);\n bcb(1818, 1, qie, gPc);\n _2.td = function hPc(a) {\n TOc(this.a, this.d, this.c, this.b, BD(a, 112));\n };\n _2.b = 0;\n mdb(Mqe, \"HyperEdgeSegmentSplitter/lambda$1$Type\", 1818);\n bcb(1819, 1, {}, iPc);\n _2.Kb = function jPc(a) {\n return new YAb(null, new Kub(BD(a, 112).e, 16));\n };\n mdb(Mqe, \"HyperEdgeSegmentSplitter/lambda$2$Type\", 1819);\n bcb(1820, 1, {}, kPc);\n _2.Kb = function lPc(a) {\n return new YAb(null, new Kub(BD(a, 112).j, 16));\n };\n mdb(Mqe, \"HyperEdgeSegmentSplitter/lambda$3$Type\", 1820);\n bcb(1821, 1, {}, mPc);\n _2.Fe = function nPc(a) {\n return Edb(ED(a));\n };\n mdb(Mqe, \"HyperEdgeSegmentSplitter/lambda$4$Type\", 1821);\n bcb(655, 1, {}, tPc);\n _2.a = 0;\n _2.b = 0;\n _2.c = 0;\n mdb(Mqe, \"OrthogonalRoutingGenerator\", 655);\n bcb(1638, 1, {}, xPc);\n _2.Kb = function yPc(a) {\n return new YAb(null, new Kub(BD(a, 112).e, 16));\n };\n mdb(Mqe, \"OrthogonalRoutingGenerator/lambda$0$Type\", 1638);\n bcb(1639, 1, {}, zPc);\n _2.Kb = function APc(a) {\n return new YAb(null, new Kub(BD(a, 112).j, 16));\n };\n mdb(Mqe, \"OrthogonalRoutingGenerator/lambda$1$Type\", 1639);\n bcb(661, 1, {});\n mdb(Nqe, \"BaseRoutingDirectionStrategy\", 661);\n bcb(1807, 661, {}, EPc);\n _2.dg = function FPc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p;\n if (!!a.r && !a.q) {\n return;\n }\n k = b + a.o * c2;\n for (j = new olb(a.n); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 11);\n l = l7c(OC(GC(m1, 1), nie, 8, 0, [i3.i.n, i3.n, i3.a])).a;\n for (h = new olb(i3.g); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 17);\n if (!OZb(g)) {\n o2 = g.d;\n p = l7c(OC(GC(m1, 1), nie, 8, 0, [o2.i.n, o2.n, o2.a])).a;\n if ($wnd.Math.abs(l - p) > qme) {\n f2 = k;\n e = a;\n d = new f7c(l, f2);\n Dsb(g.a, d);\n BPc(this, g, e, d, false);\n m = a.r;\n if (m) {\n n = Edb(ED(Ut(m.e, 0)));\n d = new f7c(n, f2);\n Dsb(g.a, d);\n BPc(this, g, e, d, false);\n f2 = b + m.o * c2;\n e = m;\n d = new f7c(n, f2);\n Dsb(g.a, d);\n BPc(this, g, e, d, false);\n }\n d = new f7c(p, f2);\n Dsb(g.a, d);\n BPc(this, g, e, d, false);\n }\n }\n }\n }\n };\n _2.eg = function GPc(a) {\n return a.i.n.a + a.n.a + a.a.a;\n };\n _2.fg = function HPc() {\n return Ucd(), Rcd;\n };\n _2.gg = function IPc() {\n return Ucd(), Acd;\n };\n mdb(Nqe, \"NorthToSouthRoutingStrategy\", 1807);\n bcb(1808, 661, {}, JPc);\n _2.dg = function KPc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p;\n if (!!a.r && !a.q) {\n return;\n }\n k = b - a.o * c2;\n for (j = new olb(a.n); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 11);\n l = l7c(OC(GC(m1, 1), nie, 8, 0, [i3.i.n, i3.n, i3.a])).a;\n for (h = new olb(i3.g); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 17);\n if (!OZb(g)) {\n o2 = g.d;\n p = l7c(OC(GC(m1, 1), nie, 8, 0, [o2.i.n, o2.n, o2.a])).a;\n if ($wnd.Math.abs(l - p) > qme) {\n f2 = k;\n e = a;\n d = new f7c(l, f2);\n Dsb(g.a, d);\n BPc(this, g, e, d, false);\n m = a.r;\n if (m) {\n n = Edb(ED(Ut(m.e, 0)));\n d = new f7c(n, f2);\n Dsb(g.a, d);\n BPc(this, g, e, d, false);\n f2 = b - m.o * c2;\n e = m;\n d = new f7c(n, f2);\n Dsb(g.a, d);\n BPc(this, g, e, d, false);\n }\n d = new f7c(p, f2);\n Dsb(g.a, d);\n BPc(this, g, e, d, false);\n }\n }\n }\n }\n };\n _2.eg = function LPc(a) {\n return a.i.n.a + a.n.a + a.a.a;\n };\n _2.fg = function MPc() {\n return Ucd(), Acd;\n };\n _2.gg = function NPc() {\n return Ucd(), Rcd;\n };\n mdb(Nqe, \"SouthToNorthRoutingStrategy\", 1808);\n bcb(1806, 661, {}, OPc);\n _2.dg = function PPc(a, b, c2) {\n var d, e, f2, g, h, i3, j, k, l, m, n, o2, p;\n if (!!a.r && !a.q) {\n return;\n }\n k = b + a.o * c2;\n for (j = new olb(a.n); j.a < j.c.c.length; ) {\n i3 = BD(mlb(j), 11);\n l = l7c(OC(GC(m1, 1), nie, 8, 0, [i3.i.n, i3.n, i3.a])).b;\n for (h = new olb(i3.g); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 17);\n if (!OZb(g)) {\n o2 = g.d;\n p = l7c(OC(GC(m1, 1), nie, 8, 0, [o2.i.n, o2.n, o2.a])).b;\n if ($wnd.Math.abs(l - p) > qme) {\n f2 = k;\n e = a;\n d = new f7c(f2, l);\n Dsb(g.a, d);\n BPc(this, g, e, d, true);\n m = a.r;\n if (m) {\n n = Edb(ED(Ut(m.e, 0)));\n d = new f7c(f2, n);\n Dsb(g.a, d);\n BPc(this, g, e, d, true);\n f2 = b + m.o * c2;\n e = m;\n d = new f7c(f2, n);\n Dsb(g.a, d);\n BPc(this, g, e, d, true);\n }\n d = new f7c(f2, p);\n Dsb(g.a, d);\n BPc(this, g, e, d, true);\n }\n }\n }\n }\n };\n _2.eg = function QPc(a) {\n return a.i.n.b + a.n.b + a.a.b;\n };\n _2.fg = function RPc() {\n return Ucd(), zcd;\n };\n _2.gg = function SPc() {\n return Ucd(), Tcd;\n };\n mdb(Nqe, \"WestToEastRoutingStrategy\", 1806);\n bcb(813, 1, {}, YPc);\n _2.Ib = function ZPc() {\n return Fe(this.a);\n };\n _2.b = 0;\n _2.c = false;\n _2.d = false;\n _2.f = 0;\n mdb(Pqe, \"NubSpline\", 813);\n bcb(407, 1, { 407: 1 }, aQc, bQc);\n mdb(Pqe, \"NubSpline/PolarCP\", 407);\n bcb(1453, 1, Bqe, vQc);\n _2.Yf = function xQc(a) {\n return qQc(BD(a, 37));\n };\n _2.pf = function yQc(a, b) {\n uQc(this, BD(a, 37), b);\n };\n var cQc, dQc, eQc, fQc, gQc;\n mdb(Pqe, \"SplineEdgeRouter\", 1453);\n bcb(268, 1, { 268: 1 }, BQc);\n _2.Ib = function CQc() {\n return this.a + \" ->(\" + this.c + \") \" + this.b;\n };\n _2.c = 0;\n mdb(Pqe, \"SplineEdgeRouter/Dependency\", 268);\n bcb(455, 22, { 3: 1, 35: 1, 22: 1, 455: 1 }, GQc);\n var DQc, EQc;\n var YZ = ndb(Pqe, \"SplineEdgeRouter/SideToProcess\", 455, CI, IQc, HQc);\n var JQc;\n bcb(1454, 1, Oie, LQc);\n _2.Mb = function MQc(a) {\n return hQc(), !BD(a, 128).o;\n };\n mdb(Pqe, \"SplineEdgeRouter/lambda$0$Type\", 1454);\n bcb(1455, 1, {}, NQc);\n _2.Ge = function OQc(a) {\n return hQc(), BD(a, 128).v + 1;\n };\n mdb(Pqe, \"SplineEdgeRouter/lambda$1$Type\", 1455);\n bcb(1456, 1, qie, PQc);\n _2.td = function QQc(a) {\n sQc(this.a, this.b, BD(a, 46));\n };\n mdb(Pqe, \"SplineEdgeRouter/lambda$2$Type\", 1456);\n bcb(1457, 1, qie, RQc);\n _2.td = function SQc(a) {\n tQc(this.a, this.b, BD(a, 46));\n };\n mdb(Pqe, \"SplineEdgeRouter/lambda$3$Type\", 1457);\n bcb(128, 1, { 35: 1, 128: 1 }, YQc, ZQc);\n _2.wd = function $Qc(a) {\n return WQc(this, BD(a, 128));\n };\n _2.b = 0;\n _2.e = false;\n _2.f = 0;\n _2.g = 0;\n _2.j = false;\n _2.k = false;\n _2.n = 0;\n _2.o = false;\n _2.p = false;\n _2.q = false;\n _2.s = 0;\n _2.u = 0;\n _2.v = 0;\n _2.F = 0;\n mdb(Pqe, \"SplineSegment\", 128);\n bcb(459, 1, { 459: 1 }, _Qc);\n _2.a = 0;\n _2.b = false;\n _2.c = false;\n _2.d = false;\n _2.e = false;\n _2.f = 0;\n mdb(Pqe, \"SplineSegment/EdgeInformation\", 459);\n bcb(1234, 1, {}, hRc);\n mdb(Uqe, hme, 1234);\n bcb(1235, 1, Dke, jRc);\n _2.ue = function kRc(a, b) {\n return iRc(BD(a, 135), BD(b, 135));\n };\n _2.Fb = function lRc(a) {\n return this === a;\n };\n _2.ve = function mRc() {\n return new tpb(this);\n };\n mdb(Uqe, ime, 1235);\n bcb(1233, 1, {}, tRc);\n mdb(Uqe, \"MrTree\", 1233);\n bcb(393, 22, { 3: 1, 35: 1, 22: 1, 393: 1, 246: 1, 234: 1 }, ARc);\n _2.Kf = function CRc() {\n return zRc(this);\n };\n _2.Xf = function BRc() {\n return zRc(this);\n };\n var uRc, vRc, wRc, xRc;\n var h$ = ndb(Uqe, \"TreeLayoutPhases\", 393, CI, ERc, DRc);\n var FRc;\n bcb(1130, 209, Mle, HRc);\n _2.Ze = function IRc(a, b) {\n var c2, d, e, f2, g, h, i3;\n Ccb(DD(hkd(a, (JTc(), ATc)))) || $Cb((c2 = new _Cb((Pgd(), new bhd(a))), c2));\n g = (h = new SRc(), tNb(h, a), yNb(h, (mTc(), dTc), a), i3 = new Lqb(), pRc(a, h, i3), oRc(a, h, i3), h);\n f2 = gRc(this.a, g);\n for (e = new olb(f2); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 135);\n rRc(this.b, d, Udd(b, 1 / f2.c.length));\n }\n g = fRc(f2);\n nRc(g);\n };\n mdb(Uqe, \"TreeLayoutProvider\", 1130);\n bcb(1847, 1, vie, KRc);\n _2.Jc = function LRc(a) {\n reb(this, a);\n };\n _2.Kc = function MRc() {\n return mmb(), Emb(), Dmb;\n };\n mdb(Uqe, \"TreeUtil/1\", 1847);\n bcb(1848, 1, vie, NRc);\n _2.Jc = function ORc(a) {\n reb(this, a);\n };\n _2.Kc = function PRc() {\n return mmb(), Emb(), Dmb;\n };\n mdb(Uqe, \"TreeUtil/2\", 1848);\n bcb(502, 134, { 3: 1, 502: 1, 94: 1, 134: 1 });\n _2.g = 0;\n mdb(Vqe, \"TGraphElement\", 502);\n bcb(188, 502, { 3: 1, 188: 1, 502: 1, 94: 1, 134: 1 }, QRc);\n _2.Ib = function RRc() {\n return !!this.b && !!this.c ? WRc(this.b) + \"->\" + WRc(this.c) : \"e_\" + tb(this);\n };\n mdb(Vqe, \"TEdge\", 188);\n bcb(135, 134, { 3: 1, 135: 1, 94: 1, 134: 1 }, SRc);\n _2.Ib = function TRc() {\n var a, b, c2, d, e;\n e = null;\n for (d = Jsb(this.b, 0); d.b != d.d.c; ) {\n c2 = BD(Xsb(d), 86);\n e += (c2.c == null || c2.c.length == 0 ? \"n_\" + c2.g : \"n_\" + c2.c) + \"\\n\";\n }\n for (b = Jsb(this.a, 0); b.b != b.d.c; ) {\n a = BD(Xsb(b), 188);\n e += (!!a.b && !!a.c ? WRc(a.b) + \"->\" + WRc(a.c) : \"e_\" + tb(a)) + \"\\n\";\n }\n return e;\n };\n var n$ = mdb(Vqe, \"TGraph\", 135);\n bcb(633, 502, { 3: 1, 502: 1, 633: 1, 94: 1, 134: 1 });\n mdb(Vqe, \"TShape\", 633);\n bcb(86, 633, { 3: 1, 502: 1, 86: 1, 633: 1, 94: 1, 134: 1 }, XRc);\n _2.Ib = function YRc() {\n return WRc(this);\n };\n var q$ = mdb(Vqe, \"TNode\", 86);\n bcb(255, 1, vie, ZRc);\n _2.Jc = function $Rc(a) {\n reb(this, a);\n };\n _2.Kc = function _Rc() {\n var a;\n return a = Jsb(this.a.d, 0), new aSc(a);\n };\n mdb(Vqe, \"TNode/2\", 255);\n bcb(358, 1, aie, aSc);\n _2.Nb = function bSc(a) {\n Rrb(this, a);\n };\n _2.Pb = function dSc() {\n return BD(Xsb(this.a), 188).c;\n };\n _2.Ob = function cSc() {\n return Wsb(this.a);\n };\n _2.Qb = function eSc() {\n Zsb(this.a);\n };\n mdb(Vqe, \"TNode/2/1\", 358);\n bcb(1840, 1, ene, hSc);\n _2.pf = function jSc(a, b) {\n gSc(this, BD(a, 135), b);\n };\n mdb(Wqe, \"FanProcessor\", 1840);\n bcb(327, 22, { 3: 1, 35: 1, 22: 1, 327: 1, 234: 1 }, rSc);\n _2.Kf = function sSc() {\n switch (this.g) {\n case 0:\n return new QSc();\n case 1:\n return new hSc();\n case 2:\n return new GSc();\n case 3:\n return new zSc();\n case 4:\n return new NSc();\n case 5:\n return new TSc();\n default:\n throw vbb(new Wdb(Dne + (this.f != null ? this.f : \"\" + this.g)));\n }\n };\n var kSc, lSc, mSc, nSc, oSc, pSc;\n var t$ = ndb(Wqe, Ene, 327, CI, uSc, tSc);\n var vSc;\n bcb(1843, 1, ene, zSc);\n _2.pf = function ASc(a, b) {\n xSc(this, BD(a, 135), b);\n };\n _2.a = 0;\n mdb(Wqe, \"LevelHeightProcessor\", 1843);\n bcb(1844, 1, vie, BSc);\n _2.Jc = function CSc(a) {\n reb(this, a);\n };\n _2.Kc = function DSc() {\n return mmb(), Emb(), Dmb;\n };\n mdb(Wqe, \"LevelHeightProcessor/1\", 1844);\n bcb(1841, 1, ene, GSc);\n _2.pf = function HSc(a, b) {\n ESc(this, BD(a, 135), b);\n };\n _2.a = 0;\n mdb(Wqe, \"NeighborsProcessor\", 1841);\n bcb(1842, 1, vie, ISc);\n _2.Jc = function JSc(a) {\n reb(this, a);\n };\n _2.Kc = function KSc() {\n return mmb(), Emb(), Dmb;\n };\n mdb(Wqe, \"NeighborsProcessor/1\", 1842);\n bcb(1845, 1, ene, NSc);\n _2.pf = function OSc(a, b) {\n LSc(this, BD(a, 135), b);\n };\n _2.a = 0;\n mdb(Wqe, \"NodePositionProcessor\", 1845);\n bcb(1839, 1, ene, QSc);\n _2.pf = function RSc(a, b) {\n PSc(this, BD(a, 135));\n };\n mdb(Wqe, \"RootProcessor\", 1839);\n bcb(1846, 1, ene, TSc);\n _2.pf = function USc(a, b) {\n SSc(BD(a, 135));\n };\n mdb(Wqe, \"Untreeifyer\", 1846);\n var VSc, WSc, XSc, YSc, ZSc, $Sc, _Sc, aTc, bTc, cTc, dTc, eTc, fTc, gTc, hTc, iTc, jTc, kTc, lTc;\n bcb(851, 1, ale, sTc);\n _2.Qe = function tTc(a) {\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Zqe), \"\"), \"Weighting of Nodes\"), \"Which weighting to use when computing a node order.\"), qTc), (_5c(), V5c)), E$), pqb((N5c(), L5c)))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), $qe), \"\"), \"Search Order\"), \"Which search order to use when computing a spanning tree.\"), oTc), V5c), F$), pqb(L5c))));\n KTc((new LTc(), a));\n };\n var nTc, oTc, pTc, qTc;\n mdb(_qe, \"MrTreeMetaDataProvider\", 851);\n bcb(994, 1, ale, LTc);\n _2.Qe = function MTc(a) {\n KTc(a);\n };\n var uTc, vTc, wTc, xTc, yTc, zTc, ATc, BTc, CTc, DTc, ETc, FTc, GTc, HTc, ITc;\n mdb(_qe, \"MrTreeOptions\", 994);\n bcb(995, 1, {}, NTc);\n _2.$e = function OTc() {\n var a;\n return a = new HRc(), a;\n };\n _2._e = function PTc(a) {\n };\n mdb(_qe, \"MrTreeOptions/MrtreeFactory\", 995);\n bcb(480, 22, { 3: 1, 35: 1, 22: 1, 480: 1 }, TTc);\n var QTc, RTc;\n var E$ = ndb(_qe, \"OrderWeighting\", 480, CI, VTc, UTc);\n var WTc;\n bcb(425, 22, { 3: 1, 35: 1, 22: 1, 425: 1 }, _Tc);\n var YTc, ZTc;\n var F$ = ndb(_qe, \"TreeifyingOrder\", 425, CI, bUc, aUc);\n var cUc;\n bcb(1459, 1, Bqe, lUc);\n _2.Yf = function mUc(a) {\n return BD(a, 135), eUc;\n };\n _2.pf = function nUc(a, b) {\n kUc(this, BD(a, 135), b);\n };\n var eUc;\n mdb(\"org.eclipse.elk.alg.mrtree.p1treeify\", \"DFSTreeifyer\", 1459);\n bcb(1460, 1, Bqe, sUc);\n _2.Yf = function tUc(a) {\n return BD(a, 135), oUc;\n };\n _2.pf = function uUc(a, b) {\n rUc(this, BD(a, 135), b);\n };\n var oUc;\n mdb(\"org.eclipse.elk.alg.mrtree.p2order\", \"NodeOrderer\", 1460);\n bcb(1461, 1, Bqe, CUc);\n _2.Yf = function DUc(a) {\n return BD(a, 135), vUc;\n };\n _2.pf = function EUc(a, b) {\n AUc(this, BD(a, 135), b);\n };\n _2.a = 0;\n var vUc;\n mdb(\"org.eclipse.elk.alg.mrtree.p3place\", \"NodePlacer\", 1461);\n bcb(1462, 1, Bqe, IUc);\n _2.Yf = function JUc(a) {\n return BD(a, 135), FUc;\n };\n _2.pf = function KUc(a, b) {\n HUc(BD(a, 135), b);\n };\n var FUc;\n mdb(\"org.eclipse.elk.alg.mrtree.p4route\", \"EdgeRouter\", 1462);\n var LUc;\n bcb(495, 22, { 3: 1, 35: 1, 22: 1, 495: 1, 246: 1, 234: 1 }, RUc);\n _2.Kf = function TUc() {\n return QUc(this);\n };\n _2.Xf = function SUc() {\n return QUc(this);\n };\n var NUc, OUc;\n var K$ = ndb(cre, \"RadialLayoutPhases\", 495, CI, VUc, UUc);\n var WUc;\n bcb(1131, 209, Mle, ZUc);\n _2.Ze = function $Uc(a, b) {\n var c2, d, e, f2, g, h;\n c2 = YUc(this, a);\n Odd(b, \"Radial layout\", c2.c.length);\n Ccb(DD(hkd(a, (ZWc(), QWc)))) || $Cb((d = new _Cb((Pgd(), new bhd(a))), d));\n h = aVc(a);\n jkd(a, (MUc(), LUc), h);\n if (!h) {\n throw vbb(new Wdb(\"The given graph is not a tree!\"));\n }\n e = Edb(ED(hkd(a, VWc)));\n e == 0 && (e = _Uc(a));\n jkd(a, VWc, e);\n for (g = new olb(YUc(this, a)); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 51);\n f2.pf(a, Udd(b, 1));\n }\n Qdd(b);\n };\n mdb(cre, \"RadialLayoutProvider\", 1131);\n bcb(549, 1, Dke, jVc);\n _2.ue = function kVc(a, b) {\n return iVc(this.a, this.b, BD(a, 33), BD(b, 33));\n };\n _2.Fb = function lVc(a) {\n return this === a;\n };\n _2.ve = function mVc() {\n return new tpb(this);\n };\n _2.a = 0;\n _2.b = 0;\n mdb(cre, \"RadialUtil/lambda$0$Type\", 549);\n bcb(1375, 1, ene, oVc);\n _2.pf = function pVc(a, b) {\n nVc(BD(a, 33), b);\n };\n mdb(fre, \"CalculateGraphSize\", 1375);\n bcb(442, 22, { 3: 1, 35: 1, 22: 1, 442: 1, 234: 1 }, uVc);\n _2.Kf = function vVc() {\n switch (this.g) {\n case 0:\n return new bWc();\n case 1:\n return new NVc();\n case 2:\n return new oVc();\n default:\n throw vbb(new Wdb(Dne + (this.f != null ? this.f : \"\" + this.g)));\n }\n };\n var qVc, rVc, sVc;\n var O$ = ndb(fre, Ene, 442, CI, xVc, wVc);\n var yVc;\n bcb(645, 1, {});\n _2.e = 1;\n _2.g = 0;\n mdb(gre, \"AbstractRadiusExtensionCompaction\", 645);\n bcb(1772, 645, {}, KVc);\n _2.hg = function LVc(a) {\n var b, c2, d, e, f2, g, h, i3, j;\n this.c = BD(hkd(a, (MUc(), LUc)), 33);\n EVc(this, this.c);\n this.d = tXc(BD(hkd(a, (ZWc(), WWc)), 293));\n i3 = BD(hkd(a, KWc), 19);\n !!i3 && DVc(this, i3.a);\n h = ED(hkd(a, (Y9c(), T9c)));\n FVc(this, (uCb(h), h));\n j = gVc(this.c);\n !!this.d && this.d.lg(j);\n GVc(this, j);\n g = new amb(OC(GC(E2, 1), hre, 33, 0, [this.c]));\n for (c2 = 0; c2 < 2; c2++) {\n for (b = 0; b < j.c.length; b++) {\n e = new amb(OC(GC(E2, 1), hre, 33, 0, [(tCb(b, j.c.length), BD(j.c[b], 33))]));\n f2 = b < j.c.length - 1 ? (tCb(b + 1, j.c.length), BD(j.c[b + 1], 33)) : (tCb(0, j.c.length), BD(j.c[0], 33));\n d = b == 0 ? BD(Ikb(j, j.c.length - 1), 33) : (tCb(b - 1, j.c.length), BD(j.c[b - 1], 33));\n IVc(this, (tCb(b, j.c.length), BD(j.c[b], 33), g), d, f2, e);\n }\n }\n };\n mdb(gre, \"AnnulusWedgeCompaction\", 1772);\n bcb(1374, 1, ene, NVc);\n _2.pf = function OVc(a, b) {\n MVc(BD(a, 33), b);\n };\n mdb(gre, \"GeneralCompactor\", 1374);\n bcb(1771, 645, {}, SVc);\n _2.hg = function TVc(a) {\n var b, c2, d, e;\n c2 = BD(hkd(a, (MUc(), LUc)), 33);\n this.f = c2;\n this.b = tXc(BD(hkd(a, (ZWc(), WWc)), 293));\n e = BD(hkd(a, KWc), 19);\n !!e && DVc(this, e.a);\n d = ED(hkd(a, (Y9c(), T9c)));\n FVc(this, (uCb(d), d));\n b = gVc(c2);\n !!this.b && this.b.lg(b);\n QVc(this, b);\n };\n _2.a = 0;\n mdb(gre, \"RadialCompaction\", 1771);\n bcb(1779, 1, {}, VVc);\n _2.ig = function WVc(a) {\n var b, c2, d, e, f2, g;\n this.a = a;\n b = 0;\n g = gVc(a);\n d = 0;\n for (f2 = new olb(g); f2.a < f2.c.c.length; ) {\n e = BD(mlb(f2), 33);\n ++d;\n for (c2 = d; c2 < g.c.length; c2++) {\n UVc(this, e, (tCb(c2, g.c.length), BD(g.c[c2], 33))) && (b += 1);\n }\n }\n return b;\n };\n mdb(ire, \"CrossingMinimizationPosition\", 1779);\n bcb(1777, 1, {}, XVc);\n _2.ig = function YVc(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n;\n d = 0;\n for (c2 = new Sr(ur(_sd(a).a.Kc(), new Sq())); Qr(c2); ) {\n b = BD(Rr(c2), 79);\n h = atd(BD(qud((!b.c && (b.c = new y5d(z2, b, 5, 8)), b.c), 0), 82));\n j = h.i + h.g / 2;\n k = h.j + h.f / 2;\n e = a.i + a.g / 2;\n f2 = a.j + a.f / 2;\n l = new d7c();\n l.a = j - e;\n l.b = k - f2;\n g = new f7c(l.a, l.b);\n l6c(g, a.g, a.f);\n l.a -= g.a;\n l.b -= g.b;\n e = j - l.a;\n f2 = k - l.b;\n i3 = new f7c(l.a, l.b);\n l6c(i3, h.g, h.f);\n l.a -= i3.a;\n l.b -= i3.b;\n j = e + l.a;\n k = f2 + l.b;\n m = j - e;\n n = k - f2;\n d += $wnd.Math.sqrt(m * m + n * n);\n }\n return d;\n };\n mdb(ire, \"EdgeLengthOptimization\", 1777);\n bcb(1778, 1, {}, ZVc);\n _2.ig = function $Vc(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l;\n d = 0;\n for (c2 = new Sr(ur(_sd(a).a.Kc(), new Sq())); Qr(c2); ) {\n b = BD(Rr(c2), 79);\n h = atd(BD(qud((!b.c && (b.c = new y5d(z2, b, 5, 8)), b.c), 0), 82));\n i3 = h.i + h.g / 2;\n j = h.j + h.f / 2;\n e = BD(hkd(h, (Y9c(), C9c)), 8);\n f2 = a.i + e.a + a.g / 2;\n g = a.j + e.b + a.f;\n k = i3 - f2;\n l = j - g;\n d += $wnd.Math.sqrt(k * k + l * l);\n }\n return d;\n };\n mdb(ire, \"EdgeLengthPositionOptimization\", 1778);\n bcb(1373, 645, ene, bWc);\n _2.pf = function cWc(a, b) {\n aWc(this, BD(a, 33), b);\n };\n mdb(\"org.eclipse.elk.alg.radial.intermediate.overlaps\", \"RadiusExtensionOverlapRemoval\", 1373);\n bcb(426, 22, { 3: 1, 35: 1, 22: 1, 426: 1 }, hWc);\n var dWc, eWc;\n var X$ = ndb(kre, \"AnnulusWedgeCriteria\", 426, CI, jWc, iWc);\n var kWc;\n bcb(380, 22, { 3: 1, 35: 1, 22: 1, 380: 1 }, rWc);\n var mWc, nWc, oWc;\n var Y$ = ndb(kre, Sle, 380, CI, tWc, sWc);\n var uWc;\n bcb(852, 1, ale, IWc);\n _2.Qe = function JWc(a) {\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), lre), \"\"), \"Order ID\"), \"The id can be used to define an order for nodes of one radius. This can be used to sort them in the layer accordingly.\"), meb(0)), (_5c(), X5c)), JI), pqb((N5c(), K5c)))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), mre), \"\"), \"Radius\"), \"The radius option can be used to set the initial radius for the radial layouter.\"), 0), U5c), BI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), nre), \"\"), \"Compaction\"), \"With the compacter option it can be determined how compaction on the graph is done. It can be chosen between none, the radial compaction or the compaction of wedges separately.\"), yWc), V5c), Y$), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), ore), \"\"), \"Compaction Step Size\"), \"Determine the size of steps with which the compaction is done. Step size 1 correlates to a compaction of 1 pixel per Iteration.\"), meb(1)), X5c), JI), pqb(L5c))));\n o4c(a, ore, nre, null);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), pre), \"\"), \"Sorter\"), \"Sort the nodes per radius according to the sorting algorithm. The strategies are none, by the given order id, or sorting them by polar coordinates.\"), EWc), V5c), b_), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), qre), \"\"), \"Annulus Wedge Criteria\"), \"Determine how the wedge for the node placement is calculated. It can be chosen between wedge determination by the number of leaves or by the maximum sum of diagonals.\"), GWc), V5c), X$), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), rre), \"\"), \"Translation Optimization\"), \"Find the optimal translation of the nodes of the first radii according to this criteria. For example edge crossings can be minimized.\"), AWc), V5c), a_), pqb(L5c))));\n $Wc((new _Wc(), a));\n };\n var wWc, xWc, yWc, zWc, AWc, BWc, CWc, DWc, EWc, FWc, GWc;\n mdb(kre, \"RadialMetaDataProvider\", 852);\n bcb(996, 1, ale, _Wc);\n _2.Qe = function aXc(a) {\n $Wc(a);\n };\n var KWc, LWc, MWc, NWc, OWc, PWc, QWc, RWc, SWc, TWc, UWc, VWc, WWc, XWc, YWc;\n mdb(kre, \"RadialOptions\", 996);\n bcb(997, 1, {}, bXc);\n _2.$e = function cXc() {\n var a;\n return a = new ZUc(), a;\n };\n _2._e = function dXc(a) {\n };\n mdb(kre, \"RadialOptions/RadialFactory\", 997);\n bcb(340, 22, { 3: 1, 35: 1, 22: 1, 340: 1 }, kXc);\n var eXc, fXc, gXc, hXc;\n var a_ = ndb(kre, \"RadialTranslationStrategy\", 340, CI, mXc, lXc);\n var nXc;\n bcb(293, 22, { 3: 1, 35: 1, 22: 1, 293: 1 }, uXc);\n var pXc, qXc, rXc;\n var b_ = ndb(kre, \"SortingStrategy\", 293, CI, wXc, vXc);\n var xXc;\n bcb(1449, 1, Bqe, CXc);\n _2.Yf = function DXc(a) {\n return BD(a, 33), null;\n };\n _2.pf = function EXc(a, b) {\n AXc(this, BD(a, 33), b);\n };\n _2.c = 0;\n mdb(\"org.eclipse.elk.alg.radial.p1position\", \"EadesRadial\", 1449);\n bcb(1775, 1, {}, FXc);\n _2.jg = function GXc(a) {\n return eVc(a);\n };\n mdb(tre, \"AnnulusWedgeByLeafs\", 1775);\n bcb(1776, 1, {}, IXc);\n _2.jg = function JXc(a) {\n return HXc(this, a);\n };\n mdb(tre, \"AnnulusWedgeByNodeSpace\", 1776);\n bcb(1450, 1, Bqe, MXc);\n _2.Yf = function NXc(a) {\n return BD(a, 33), null;\n };\n _2.pf = function OXc(a, b) {\n KXc(this, BD(a, 33), b);\n };\n mdb(\"org.eclipse.elk.alg.radial.p2routing\", \"StraightLineEdgeRouter\", 1450);\n bcb(811, 1, {}, QXc);\n _2.kg = function RXc(a) {\n };\n _2.lg = function TXc(a) {\n PXc(this, a);\n };\n mdb(ure, \"IDSorter\", 811);\n bcb(1774, 1, Dke, UXc);\n _2.ue = function VXc(a, b) {\n return SXc(BD(a, 33), BD(b, 33));\n };\n _2.Fb = function WXc(a) {\n return this === a;\n };\n _2.ve = function XXc() {\n return new tpb(this);\n };\n mdb(ure, \"IDSorter/lambda$0$Type\", 1774);\n bcb(1773, 1, {}, $Xc);\n _2.kg = function _Xc(a) {\n YXc(this, a);\n };\n _2.lg = function aYc(a) {\n var b;\n if (!a.dc()) {\n if (!this.e) {\n b = bVc(BD(a.Xb(0), 33));\n YXc(this, b);\n }\n PXc(this.e, a);\n }\n };\n mdb(ure, \"PolarCoordinateSorter\", 1773);\n bcb(1136, 209, Mle, bYc);\n _2.Ze = function eYc(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B, C, D, F;\n Odd(b, \"Rectangle Packing\", 1);\n b.n && b.n && !!a && Tdd(b, i6d(a), (pgd(), mgd));\n c2 = Edb(ED(hkd(a, (lZc(), RYc))));\n p = BD(hkd(a, eZc), 381);\n s = Ccb(DD(hkd(a, ZYc)));\n w2 = Ccb(DD(hkd(a, dZc)));\n l = Ccb(DD(hkd(a, VYc)));\n A = BD(hkd(a, fZc), 116);\n v = Edb(ED(hkd(a, jZc)));\n e = Ccb(DD(hkd(a, iZc)));\n m = Ccb(DD(hkd(a, WYc)));\n r = Ccb(DD(hkd(a, XYc)));\n F = Edb(ED(hkd(a, kZc)));\n C = (!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a);\n r$c(C);\n if (r) {\n o2 = new Rkb();\n for (i3 = new Fyd(C); i3.e != i3.i.gc(); ) {\n g = BD(Dyd(i3), 33);\n ikd(g, UYc) && (o2.c[o2.c.length] = g, true);\n }\n for (j = new olb(o2); j.a < j.c.c.length; ) {\n g = BD(mlb(j), 33);\n Ftd(C, g);\n }\n mmb();\n Okb(o2, new fYc());\n for (k = new olb(o2); k.a < k.c.c.length; ) {\n g = BD(mlb(k), 33);\n B = BD(hkd(g, UYc), 19).a;\n B = $wnd.Math.min(B, C.i);\n vtd(C, B, g);\n }\n q = 0;\n for (h = new Fyd(C); h.e != h.i.gc(); ) {\n g = BD(Dyd(h), 33);\n jkd(g, TYc, meb(q));\n ++q;\n }\n }\n u = rfd(a);\n u.a -= A.b + A.c;\n u.b -= A.d + A.a;\n t = u.a;\n if (F < 0 || F < u.a) {\n n = new nYc(c2, p, s);\n f2 = jYc(n, C, v, A);\n b.n && b.n && !!a && Tdd(b, i6d(a), (pgd(), mgd));\n } else {\n f2 = new d$c(c2, F, 0, (k$c(), j$c));\n }\n u.a += A.b + A.c;\n u.b += A.d + A.a;\n if (!w2) {\n r$c(C);\n D = new DZc(c2, l, m, e, v);\n t = $wnd.Math.max(u.a, f2.c);\n f2 = CZc(D, C, t, u, b, a, A);\n }\n cYc(C, A);\n Afd(a, f2.c + (A.b + A.c), f2.b + (A.d + A.a), false, true);\n Ccb(DD(hkd(a, cZc))) || $Cb((d = new _Cb((Pgd(), new bhd(a))), d));\n b.n && b.n && !!a && Tdd(b, i6d(a), (pgd(), mgd));\n Qdd(b);\n };\n mdb(yre, \"RectPackingLayoutProvider\", 1136);\n bcb(1137, 1, Dke, fYc);\n _2.ue = function gYc(a, b) {\n return dYc(BD(a, 33), BD(b, 33));\n };\n _2.Fb = function hYc(a) {\n return this === a;\n };\n _2.ve = function iYc() {\n return new tpb(this);\n };\n mdb(yre, \"RectPackingLayoutProvider/lambda$0$Type\", 1137);\n bcb(1256, 1, {}, nYc);\n _2.a = 0;\n _2.c = false;\n mdb(zre, \"AreaApproximation\", 1256);\n var o_ = odb(zre, \"BestCandidateFilter\");\n bcb(638, 1, { 526: 1 }, oYc);\n _2.mg = function pYc(a, b, c2) {\n var d, e, f2, g, h, i3;\n i3 = new Rkb();\n f2 = Pje;\n for (h = new olb(a); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 220);\n f2 = $wnd.Math.min(f2, (g.c + (c2.b + c2.c)) * (g.b + (c2.d + c2.a)));\n }\n for (e = new olb(a); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 220);\n (d.c + (c2.b + c2.c)) * (d.b + (c2.d + c2.a)) == f2 && (i3.c[i3.c.length] = d, true);\n }\n return i3;\n };\n mdb(zre, \"AreaFilter\", 638);\n bcb(639, 1, { 526: 1 }, qYc);\n _2.mg = function rYc(a, b, c2) {\n var d, e, f2, g, h, i3;\n h = new Rkb();\n i3 = Pje;\n for (g = new olb(a); g.a < g.c.c.length; ) {\n f2 = BD(mlb(g), 220);\n i3 = $wnd.Math.min(i3, $wnd.Math.abs((f2.c + (c2.b + c2.c)) / (f2.b + (c2.d + c2.a)) - b));\n }\n for (e = new olb(a); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 220);\n $wnd.Math.abs((d.c + (c2.b + c2.c)) / (d.b + (c2.d + c2.a)) - b) == i3 && (h.c[h.c.length] = d, true);\n }\n return h;\n };\n mdb(zre, \"AspectRatioFilter\", 639);\n bcb(637, 1, { 526: 1 }, uYc);\n _2.mg = function vYc(a, b, c2) {\n var d, e, f2, g, h, i3;\n i3 = new Rkb();\n f2 = Qje;\n for (h = new olb(a); h.a < h.c.c.length; ) {\n g = BD(mlb(h), 220);\n f2 = $wnd.Math.max(f2, q$c(g.c + (c2.b + c2.c), g.b + (c2.d + c2.a), g.a));\n }\n for (e = new olb(a); e.a < e.c.c.length; ) {\n d = BD(mlb(e), 220);\n q$c(d.c + (c2.b + c2.c), d.b + (c2.d + c2.a), d.a) == f2 && (i3.c[i3.c.length] = d, true);\n }\n return i3;\n };\n mdb(zre, \"ScaleMeasureFilter\", 637);\n bcb(381, 22, { 3: 1, 35: 1, 22: 1, 381: 1 }, AYc);\n var wYc, xYc, yYc;\n var q_ = ndb(Are, \"OptimizationGoal\", 381, CI, CYc, BYc);\n var DYc;\n bcb(856, 1, ale, PYc);\n _2.Qe = function QYc(a) {\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Bre), \"\"), \"Optimization Goal\"), \"Optimization goal for approximation of the bounding box given by the first iteration. Determines whether layout is sorted by the maximum scaling, aspect ratio, or area. Depending on the strategy the aspect ratio might be nearly ignored.\"), LYc), (_5c(), V5c)), q_), pqb((N5c(), K5c)))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Cre), \"\"), \"Shift Last Placed.\"), \"When placing a rectangle behind or below the last placed rectangle in the first iteration, it is sometimes possible to shift the rectangle further to the left or right, resulting in less whitespace. True (default) enables the shift and false disables it. Disabling the shift produces a greater approximated area by the first iteration and a layout, when using ONLY the first iteration (default not the case), where it is sometimes impossible to implement a size transformation of rectangles that will fill the bounding box and eliminate empty spaces.\"), (Bcb(), true)), T5c), wI), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Dre), \"\"), \"Current position of a node in the order of nodes\"), \"The rectangles are ordered. Normally according to their definition the the model. This option specifies the current position of a node.\"), meb(-1)), X5c), JI), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Ere), \"\"), \"Desired index of node\"), \"The rectangles are ordered. Normally according to their definition the the model. This option allows to specify a desired position that has preference over the original position.\"), meb(-1)), X5c), JI), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Fre), \"\"), \"Only Area Approximation\"), \"If enabled only the width approximation step is executed and the nodes are placed accordingly. The nodes are layouted according to the packingStrategy. If set to true not expansion of nodes is taking place.\"), false), T5c), wI), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Gre), \"\"), \"Compact Rows\"), \"Enables compaction. Compacts blocks if they do not use the full height of the row. This option allows to have a smaller drawing. If this option is disabled all nodes are placed next to each other in rows.\"), true), T5c), wI), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Hre), \"\"), \"Fit Aspect Ratio\"), \"Expands nodes if expandNodes is true to fit the aspect ratio instead of only in their bounds. The option is only useful if the used packingStrategy is ASPECT_RATIO_DRIVEN, otherwise this may result in unreasonable ndoe expansion.\"), false), T5c), wI), pqb(K5c))));\n o4c(a, Hre, Jre, null);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Ire), \"\"), \"Target Width\"), \"Option to place the rectangles in the given target width instead of approximating the width using the desired aspect ratio. The padding is not included in this. Meaning a drawing will have width of targetwidth + horizontal padding.\"), -1), U5c), BI), pqb(K5c))));\n mZc((new nZc(), a));\n };\n var FYc, GYc, HYc, IYc, JYc, KYc, LYc, MYc, NYc;\n mdb(Are, \"RectPackingMetaDataProvider\", 856);\n bcb(1004, 1, ale, nZc);\n _2.Qe = function oZc(a) {\n mZc(a);\n };\n var RYc, SYc, TYc, UYc, VYc, WYc, XYc, YYc, ZYc, $Yc, _Yc, aZc, bZc, cZc, dZc, eZc, fZc, gZc, hZc, iZc, jZc, kZc;\n mdb(Are, \"RectPackingOptions\", 1004);\n bcb(1005, 1, {}, pZc);\n _2.$e = function qZc() {\n var a;\n return a = new bYc(), a;\n };\n _2._e = function rZc(a) {\n };\n mdb(Are, \"RectPackingOptions/RectpackingFactory\", 1005);\n bcb(1257, 1, {}, DZc);\n _2.a = 0;\n _2.b = false;\n _2.c = 0;\n _2.d = 0;\n _2.e = false;\n _2.f = false;\n _2.g = 0;\n mdb(\"org.eclipse.elk.alg.rectpacking.seconditeration\", \"RowFillingAndCompaction\", 1257);\n bcb(187, 1, { 187: 1 }, PZc);\n _2.a = 0;\n _2.c = false;\n _2.d = 0;\n _2.e = 0;\n _2.f = 0;\n _2.g = 0;\n _2.i = 0;\n _2.k = false;\n _2.o = Pje;\n _2.p = Pje;\n _2.r = 0;\n _2.s = 0;\n _2.t = 0;\n mdb(Lre, \"Block\", 187);\n bcb(211, 1, { 211: 1 }, VZc);\n _2.a = 0;\n _2.b = 0;\n _2.d = 0;\n _2.e = 0;\n _2.f = 0;\n mdb(Lre, \"BlockRow\", 211);\n bcb(443, 1, { 443: 1 }, b$c);\n _2.b = 0;\n _2.c = 0;\n _2.d = 0;\n _2.e = 0;\n _2.f = 0;\n mdb(Lre, \"BlockStack\", 443);\n bcb(220, 1, { 220: 1 }, d$c, e$c);\n _2.a = 0;\n _2.b = 0;\n _2.c = 0;\n _2.d = 0;\n _2.e = 0;\n var z_ = mdb(Lre, \"DrawingData\", 220);\n bcb(355, 22, { 3: 1, 35: 1, 22: 1, 355: 1 }, l$c);\n var f$c, g$c, h$c, i$c, j$c;\n var y_ = ndb(Lre, \"DrawingDataDescriptor\", 355, CI, n$c, m$c);\n var o$c;\n bcb(200, 1, { 200: 1 }, x$c);\n _2.b = 0;\n _2.c = 0;\n _2.e = 0;\n _2.f = 0;\n mdb(Lre, \"RectRow\", 200);\n bcb(756, 1, {}, F$c);\n _2.j = 0;\n mdb(Nre, une, 756);\n bcb(1245, 1, {}, G$c);\n _2.Je = function H$c(a) {\n return S6c(a.a, a.b);\n };\n mdb(Nre, vne, 1245);\n bcb(1246, 1, {}, I$c);\n _2.Je = function J$c(a) {\n return A$c(this.a, a);\n };\n mdb(Nre, wne, 1246);\n bcb(1247, 1, {}, K$c);\n _2.Je = function L$c(a) {\n return B$c(this.a, a);\n };\n mdb(Nre, xne, 1247);\n bcb(1248, 1, {}, M$c);\n _2.Je = function N$c(a) {\n return C$c(this.a, a);\n };\n mdb(Nre, \"ElkGraphImporter/lambda$3$Type\", 1248);\n bcb(1249, 1, {}, O$c);\n _2.Je = function P$c(a) {\n return D$c(this.a, a);\n };\n mdb(Nre, yne, 1249);\n bcb(1133, 209, Mle, Q$c);\n _2.Ze = function S$c(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n;\n if (ikd(a, (d0c(), c0c))) {\n n = GD(hkd(a, (J0c(), I0c)));\n f2 = h4c(n4c(), n);\n if (f2) {\n g = BD(hgd(f2.f), 209);\n g.Ze(a, Udd(b, 1));\n }\n }\n jkd(a, Z_c, (C_c(), A_c));\n jkd(a, $_c, (N_c(), K_c));\n jkd(a, __c, (a1c(), _0c));\n h = BD(hkd(a, (J0c(), E0c)), 19).a;\n Odd(b, \"Overlap removal\", 1);\n Ccb(DD(hkd(a, D0c))) && \"null45scanlineOverlaps\";\n i3 = new Tqb();\n j = new U$c(i3);\n d = new F$c();\n c2 = z$c(d, a);\n k = true;\n e = 0;\n while (e < h && k) {\n if (Ccb(DD(hkd(a, F0c)))) {\n i3.a.$b();\n cOb(new dOb(j), c2.i);\n if (i3.a.gc() == 0) {\n break;\n }\n c2.e = i3;\n }\n H2c(this.b);\n K2c(this.b, (Y$c(), V$c), (R0c(), Q0c));\n K2c(this.b, W$c, c2.g);\n K2c(this.b, X$c, (s_c(), r_c));\n this.a = F2c(this.b, c2);\n for (m = new olb(this.a); m.a < m.c.c.length; ) {\n l = BD(mlb(m), 51);\n l.pf(c2, Udd(b, 1));\n }\n E$c(d, c2);\n k = Ccb(DD(vNb(c2, (XNb(), WNb))));\n ++e;\n }\n y$c(d, c2);\n Qdd(b);\n };\n mdb(Nre, \"OverlapRemovalLayoutProvider\", 1133);\n bcb(1134, 1, {}, U$c);\n mdb(Nre, \"OverlapRemovalLayoutProvider/lambda$0$Type\", 1134);\n bcb(437, 22, { 3: 1, 35: 1, 22: 1, 437: 1 }, Z$c);\n var V$c, W$c, X$c;\n var J_ = ndb(Nre, \"SPOrEPhases\", 437, CI, _$c, $$c);\n var a_c;\n bcb(1255, 1, {}, d_c);\n mdb(Nre, \"ShrinkTree\", 1255);\n bcb(1135, 209, Mle, e_c);\n _2.Ze = function f_c(a, b) {\n var c2, d, e, f2, g;\n if (ikd(a, (d0c(), c0c))) {\n g = GD(hkd(a, c0c));\n e = h4c(n4c(), g);\n if (e) {\n f2 = BD(hgd(e.f), 209);\n f2.Ze(a, Udd(b, 1));\n }\n }\n d = new F$c();\n c2 = z$c(d, a);\n c_c(this.a, c2, Udd(b, 1));\n y$c(d, c2);\n };\n mdb(Nre, \"ShrinkTreeLayoutProvider\", 1135);\n bcb(300, 134, { 3: 1, 300: 1, 94: 1, 134: 1 }, g_c);\n _2.c = false;\n mdb(\"org.eclipse.elk.alg.spore.graph\", \"Graph\", 300);\n bcb(482, 22, { 3: 1, 35: 1, 22: 1, 482: 1, 246: 1, 234: 1 }, k_c);\n _2.Kf = function m_c() {\n return j_c(this);\n };\n _2.Xf = function l_c() {\n return j_c(this);\n };\n var h_c;\n var N_ = ndb(Ore, Sle, 482, CI, o_c, n_c);\n var p_c;\n bcb(551, 22, { 3: 1, 35: 1, 22: 1, 551: 1, 246: 1, 234: 1 }, t_c);\n _2.Kf = function v_c() {\n return new I1c();\n };\n _2.Xf = function u_c() {\n return new I1c();\n };\n var r_c;\n var O_ = ndb(Ore, \"OverlapRemovalStrategy\", 551, CI, x_c, w_c);\n var y_c;\n bcb(430, 22, { 3: 1, 35: 1, 22: 1, 430: 1 }, D_c);\n var A_c, B_c;\n var P_ = ndb(Ore, \"RootSelection\", 430, CI, F_c, E_c);\n var G_c;\n bcb(316, 22, { 3: 1, 35: 1, 22: 1, 316: 1 }, O_c);\n var I_c, J_c, K_c, L_c, M_c;\n var Q_ = ndb(Ore, \"SpanningTreeCostFunction\", 316, CI, Q_c, P_c);\n var R_c;\n bcb(1002, 1, ale, f0c);\n _2.Qe = function g0c(a) {\n e0c(a);\n };\n var T_c, U_c, V_c, W_c, X_c, Y_c, Z_c, $_c, __c, a0c, b0c, c0c;\n mdb(Ore, \"SporeCompactionOptions\", 1002);\n bcb(1003, 1, {}, h0c);\n _2.$e = function i0c() {\n var a;\n return a = new e_c(), a;\n };\n _2._e = function j0c(a) {\n };\n mdb(Ore, \"SporeCompactionOptions/SporeCompactionFactory\", 1003);\n bcb(855, 1, ale, B0c);\n _2.Qe = function C0c(a) {\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), Qre), \"\"), \"Underlying Layout Algorithm\"), \"A layout algorithm that is applied to the graph before it is compacted. If this is null, nothing is applied before compaction.\"), (_5c(), Z5c)), ZI), pqb((N5c(), L5c)))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Vre), \"structure\"), \"Structure Extraction Strategy\"), \"This option defines what kind of triangulation or other partitioning of the plane is applied to the vertices.\"), y0c), V5c), W_), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Rre), $re), \"Tree Construction Strategy\"), \"Whether a minimum spanning tree or a maximum spanning tree should be constructed.\"), w0c), V5c), X_), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Sre), $re), \"Cost Function for Spanning Tree\"), \"The cost function is used in the creation of the spanning tree.\"), u0c), V5c), Q_), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Tre), $re), \"Root node for spanning tree construction\"), \"The identifier of the node that is preferred as the root of the spanning tree. If this is null, the first node is chosen.\"), null), Z5c), ZI), pqb(L5c))));\n o4c(a, Tre, Ure, q0c);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Ure), $re), \"Root selection for spanning tree\"), \"This sets the method used to select a root node for the construction of a spanning tree\"), s0c), V5c), P_), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Wre), Bpe), \"Compaction Strategy\"), \"This option defines how the compaction is applied.\"), l0c), V5c), N_), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Xre), Bpe), \"Orthogonal Compaction\"), \"Restricts the translation of nodes to orthogonal directions in the compaction phase.\"), (Bcb(), false)), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Yre), _re), \"Upper limit for iterations of overlap removal\"), null), meb(64)), X5c), JI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Zre), _re), \"Whether to run a supplementary scanline overlap check.\"), null), true), T5c), wI), pqb(L5c))));\n K0c((new L0c(), a));\n e0c((new f0c(), a));\n };\n var k0c, l0c, m0c, n0c, o0c, p0c, q0c, r0c, s0c, t0c, u0c, v0c, w0c, x0c, y0c, z0c;\n mdb(Ore, \"SporeMetaDataProvider\", 855);\n bcb(_ie, 1, ale, L0c);\n _2.Qe = function M0c(a) {\n K0c(a);\n };\n var D0c, E0c, F0c, G0c, H0c, I0c;\n mdb(Ore, \"SporeOverlapRemovalOptions\", _ie);\n bcb(1001, 1, {}, N0c);\n _2.$e = function O0c() {\n var a;\n return a = new Q$c(), a;\n };\n _2._e = function P0c(a) {\n };\n mdb(Ore, \"SporeOverlapRemovalOptions/SporeOverlapFactory\", 1001);\n bcb(530, 22, { 3: 1, 35: 1, 22: 1, 530: 1, 246: 1, 234: 1 }, T0c);\n _2.Kf = function V0c() {\n return S0c(this);\n };\n _2.Xf = function U0c() {\n return S0c(this);\n };\n var Q0c;\n var W_ = ndb(Ore, \"StructureExtractionStrategy\", 530, CI, X0c, W0c);\n var Y0c;\n bcb(429, 22, { 3: 1, 35: 1, 22: 1, 429: 1, 246: 1, 234: 1 }, c1c);\n _2.Kf = function e1c() {\n return b1c(this);\n };\n _2.Xf = function d1c() {\n return b1c(this);\n };\n var $0c, _0c;\n var X_ = ndb(Ore, \"TreeConstructionStrategy\", 429, CI, g1c, f1c);\n var h1c;\n bcb(1443, 1, Bqe, k1c);\n _2.Yf = function l1c(a) {\n return BD(a, 300), new j3c();\n };\n _2.pf = function m1c(a, b) {\n j1c(BD(a, 300), b);\n };\n mdb(bse, \"DelaunayTriangulationPhase\", 1443);\n bcb(1444, 1, qie, n1c);\n _2.td = function o1c(a) {\n Ekb(this.a, BD(a, 65).a);\n };\n mdb(bse, \"DelaunayTriangulationPhase/lambda$0$Type\", 1444);\n bcb(783, 1, Bqe, s1c);\n _2.Yf = function t1c(a) {\n return BD(a, 300), new j3c();\n };\n _2.pf = function u1c(a, b) {\n this.ng(BD(a, 300), b);\n };\n _2.ng = function v1c(a, b) {\n var c2, d, e;\n Odd(b, \"Minimum spanning tree construction\", 1);\n a.d ? d = a.d.a : d = BD(Ikb(a.i, 0), 65).a;\n Ccb(DD(vNb(a, (XNb(), VNb)))) ? e = UCb(a.e, d, (c2 = a.b, c2)) : e = UCb(a.e, d, a.b);\n q1c(this, e, a);\n Qdd(b);\n };\n mdb(cse, \"MinSTPhase\", 783);\n bcb(1446, 783, Bqe, w1c);\n _2.ng = function y1c(a, b) {\n var c2, d, e, f2;\n Odd(b, \"Maximum spanning tree construction\", 1);\n c2 = new z1c(a);\n a.d ? e = a.d.c : e = BD(Ikb(a.i, 0), 65).c;\n Ccb(DD(vNb(a, (XNb(), VNb)))) ? f2 = UCb(a.e, e, (d = c2, d)) : f2 = UCb(a.e, e, c2);\n q1c(this, f2, a);\n Qdd(b);\n };\n mdb(cse, \"MaxSTPhase\", 1446);\n bcb(1447, 1, {}, z1c);\n _2.Je = function A1c(a) {\n return x1c(this.a, a);\n };\n mdb(cse, \"MaxSTPhase/lambda$0$Type\", 1447);\n bcb(1445, 1, qie, B1c);\n _2.td = function C1c(a) {\n r1c(this.a, BD(a, 65));\n };\n mdb(cse, \"MinSTPhase/lambda$0$Type\", 1445);\n bcb(785, 1, Bqe, I1c);\n _2.Yf = function J1c(a) {\n return BD(a, 300), new j3c();\n };\n _2.pf = function K1c(a, b) {\n H1c(this, BD(a, 300), b);\n };\n _2.a = false;\n mdb(dse, \"GrowTreePhase\", 785);\n bcb(786, 1, qie, L1c);\n _2.td = function M1c(a) {\n G1c(this.a, this.b, this.c, BD(a, 221));\n };\n mdb(dse, \"GrowTreePhase/lambda$0$Type\", 786);\n bcb(1448, 1, Bqe, Q1c);\n _2.Yf = function R1c(a) {\n return BD(a, 300), new j3c();\n };\n _2.pf = function S1c(a, b) {\n P1c(this, BD(a, 300), b);\n };\n mdb(dse, \"ShrinkTreeCompactionPhase\", 1448);\n bcb(784, 1, qie, T1c);\n _2.td = function U1c(a) {\n O1c(this.a, this.b, this.c, BD(a, 221));\n };\n mdb(dse, \"ShrinkTreeCompactionPhase/lambda$0$Type\", 784);\n var g2 = odb(yqe, \"IGraphElementVisitor\");\n bcb(860, 1, { 527: 1 }, b2c);\n _2.og = function e2c(a) {\n var b;\n b = a2c(this, a);\n tNb(b, BD(Ohb(this.b, a), 94));\n $1c(this, a, b);\n };\n var V1c, W1c;\n mdb(Nle, \"LayoutConfigurator\", 860);\n var h0 = odb(Nle, \"LayoutConfigurator/IPropertyHolderOptionFilter\");\n bcb(932, 1, { 1933: 1 }, f2c);\n _2.pg = function g2c(a, b) {\n return Y1c(), !a.Xe(b);\n };\n mdb(Nle, \"LayoutConfigurator/lambda$0$Type\", 932);\n bcb(933, 1, { 1933: 1 }, i2c);\n _2.pg = function j2c(a, b) {\n return h2c(a, b);\n };\n mdb(Nle, \"LayoutConfigurator/lambda$1$Type\", 933);\n bcb(931, 1, { 831: 1 }, k2c);\n _2.qg = function l2c(a, b) {\n return Y1c(), !a.Xe(b);\n };\n mdb(Nle, \"LayoutConfigurator/lambda$2$Type\", 931);\n bcb(934, 1, Oie, m2c);\n _2.Mb = function n2c(a) {\n return d2c(this.a, this.b, BD(a, 1933));\n };\n mdb(Nle, \"LayoutConfigurator/lambda$3$Type\", 934);\n bcb(858, 1, {}, w2c);\n mdb(Nle, \"RecursiveGraphLayoutEngine\", 858);\n bcb(296, 60, Tie, x2c, y2c);\n mdb(Nle, \"UnsupportedConfigurationException\", 296);\n bcb(453, 60, Tie, z2c);\n mdb(Nle, \"UnsupportedGraphException\", 453);\n bcb(754, 1, {});\n mdb(yqe, \"AbstractRandomListAccessor\", 754);\n bcb(500, 754, {}, L2c);\n _2.rg = function N2c() {\n return null;\n };\n _2.d = true;\n _2.e = true;\n _2.f = 0;\n mdb(fse, \"AlgorithmAssembler\", 500);\n bcb(1236, 1, Oie, O2c);\n _2.Mb = function P2c(a) {\n return !!BD(a, 123);\n };\n mdb(fse, \"AlgorithmAssembler/lambda$0$Type\", 1236);\n bcb(1237, 1, {}, Q2c);\n _2.Kb = function R2c(a) {\n return M2c(this.a, BD(a, 123));\n };\n mdb(fse, \"AlgorithmAssembler/lambda$1$Type\", 1237);\n bcb(1238, 1, Oie, S2c);\n _2.Mb = function T2c(a) {\n return !!BD(a, 80);\n };\n mdb(fse, \"AlgorithmAssembler/lambda$2$Type\", 1238);\n bcb(1239, 1, qie, U2c);\n _2.td = function V2c(a) {\n d3c(this.a, BD(a, 80));\n };\n mdb(fse, \"AlgorithmAssembler/lambda$3$Type\", 1239);\n bcb(1240, 1, qie, W2c);\n _2.td = function X2c(a) {\n G2c(this.a, this.b, BD(a, 234));\n };\n mdb(fse, \"AlgorithmAssembler/lambda$4$Type\", 1240);\n bcb(1355, 1, Dke, Z2c);\n _2.ue = function $2c(a, b) {\n return Y2c(BD(a, 234), BD(b, 234));\n };\n _2.Fb = function _2c(a) {\n return this === a;\n };\n _2.ve = function a3c() {\n return new tpb(this);\n };\n mdb(fse, \"EnumBasedFactoryComparator\", 1355);\n bcb(80, 754, { 80: 1 }, j3c);\n _2.rg = function l3c() {\n return new Tqb();\n };\n _2.a = 0;\n mdb(fse, \"LayoutProcessorConfiguration\", 80);\n bcb(1013, 1, { 527: 1 }, q3c);\n _2.og = function u3c(a) {\n stb(n3c, new z3c(a));\n };\n var m3c, n3c, o3c;\n mdb(Xke, \"DeprecatedLayoutOptionReplacer\", 1013);\n bcb(1014, 1, qie, v3c);\n _2.td = function w3c(a) {\n r3c(BD(a, 160));\n };\n mdb(Xke, \"DeprecatedLayoutOptionReplacer/lambda$0$Type\", 1014);\n bcb(1015, 1, qie, x3c);\n _2.td = function y3c(a) {\n s3c(BD(a, 160));\n };\n mdb(Xke, \"DeprecatedLayoutOptionReplacer/lambda$1$Type\", 1015);\n bcb(1016, 1, {}, z3c);\n _2.Od = function A3c(a, b) {\n t3c(this.a, BD(a, 146), BD(b, 38));\n };\n mdb(Xke, \"DeprecatedLayoutOptionReplacer/lambda$2$Type\", 1016);\n bcb(149, 1, { 686: 1, 149: 1 }, E3c);\n _2.Fb = function F3c(a) {\n return C3c(this, a);\n };\n _2.sg = function G3c() {\n return this.b;\n };\n _2.tg = function H3c() {\n return this.c;\n };\n _2.ne = function I3c() {\n return this.e;\n };\n _2.Hb = function J3c() {\n return LCb(this.c);\n };\n _2.Ib = function K3c() {\n return \"Layout Algorithm: \" + this.c;\n };\n var E0 = mdb(Xke, \"LayoutAlgorithmData\", 149);\n bcb(263, 1, {}, R3c);\n mdb(Xke, \"LayoutAlgorithmData/Builder\", 263);\n bcb(1017, 1, { 527: 1 }, U3c);\n _2.og = function V3c(a) {\n JD(a, 239) && !Ccb(DD(a.We((Y9c(), d9c)))) && S3c(BD(a, 33));\n };\n mdb(Xke, \"LayoutAlgorithmResolver\", 1017);\n bcb(229, 1, { 686: 1, 229: 1 }, W3c);\n _2.Fb = function X3c(a) {\n if (JD(a, 229)) {\n return dfb(this.b, BD(a, 229).b);\n }\n return false;\n };\n _2.sg = function Y3c() {\n return this.a;\n };\n _2.tg = function Z3c() {\n return this.b;\n };\n _2.ne = function $3c() {\n return this.d;\n };\n _2.Hb = function _3c() {\n return LCb(this.b);\n };\n _2.Ib = function a4c() {\n return \"Layout Type: \" + this.b;\n };\n mdb(Xke, \"LayoutCategoryData\", 229);\n bcb(344, 1, {}, e4c);\n mdb(Xke, \"LayoutCategoryData/Builder\", 344);\n bcb(867, 1, {}, m4c);\n var f4c;\n mdb(Xke, \"LayoutMetaDataService\", 867);\n bcb(868, 1, {}, v4c);\n mdb(Xke, \"LayoutMetaDataService/Registry\", 868);\n bcb(478, 1, { 478: 1 }, w4c);\n mdb(Xke, \"LayoutMetaDataService/Registry/Triple\", 478);\n bcb(869, 1, gse, x4c);\n _2.ug = function y4c() {\n return new d7c();\n };\n mdb(Xke, \"LayoutMetaDataService/lambda$0$Type\", 869);\n bcb(870, 1, hse, z4c);\n _2.vg = function A4c(a) {\n return R6c(BD(a, 8));\n };\n mdb(Xke, \"LayoutMetaDataService/lambda$1$Type\", 870);\n bcb(879, 1, gse, B4c);\n _2.ug = function C4c() {\n return new Rkb();\n };\n mdb(Xke, \"LayoutMetaDataService/lambda$10$Type\", 879);\n bcb(880, 1, hse, D4c);\n _2.vg = function E4c(a) {\n return new Tkb(BD(a, 12));\n };\n mdb(Xke, \"LayoutMetaDataService/lambda$11$Type\", 880);\n bcb(881, 1, gse, F4c);\n _2.ug = function G4c() {\n return new Psb();\n };\n mdb(Xke, \"LayoutMetaDataService/lambda$12$Type\", 881);\n bcb(882, 1, hse, H4c);\n _2.vg = function I4c(a) {\n return Ru(BD(a, 68));\n };\n mdb(Xke, \"LayoutMetaDataService/lambda$13$Type\", 882);\n bcb(883, 1, gse, J4c);\n _2.ug = function K4c() {\n return new Tqb();\n };\n mdb(Xke, \"LayoutMetaDataService/lambda$14$Type\", 883);\n bcb(884, 1, hse, L4c);\n _2.vg = function M4c(a) {\n return Dx(BD(a, 53));\n };\n mdb(Xke, \"LayoutMetaDataService/lambda$15$Type\", 884);\n bcb(885, 1, gse, N4c);\n _2.ug = function O4c() {\n return new zsb();\n };\n mdb(Xke, \"LayoutMetaDataService/lambda$16$Type\", 885);\n bcb(886, 1, hse, P4c);\n _2.vg = function Q4c(a) {\n return Gx(BD(a, 53));\n };\n mdb(Xke, \"LayoutMetaDataService/lambda$17$Type\", 886);\n bcb(887, 1, gse, R4c);\n _2.ug = function S4c() {\n return new Gxb();\n };\n mdb(Xke, \"LayoutMetaDataService/lambda$18$Type\", 887);\n bcb(888, 1, hse, T4c);\n _2.vg = function U4c(a) {\n return Hx(BD(a, 208));\n };\n mdb(Xke, \"LayoutMetaDataService/lambda$19$Type\", 888);\n bcb(871, 1, gse, V4c);\n _2.ug = function W4c() {\n return new s7c();\n };\n mdb(Xke, \"LayoutMetaDataService/lambda$2$Type\", 871);\n bcb(872, 1, hse, X4c);\n _2.vg = function Y4c(a) {\n return new t7c(BD(a, 74));\n };\n mdb(Xke, \"LayoutMetaDataService/lambda$3$Type\", 872);\n bcb(873, 1, gse, Z4c);\n _2.ug = function $4c() {\n return new H_b();\n };\n mdb(Xke, \"LayoutMetaDataService/lambda$4$Type\", 873);\n bcb(874, 1, hse, _4c);\n _2.vg = function a5c(a) {\n return new K_b(BD(a, 142));\n };\n mdb(Xke, \"LayoutMetaDataService/lambda$5$Type\", 874);\n bcb(875, 1, gse, b5c);\n _2.ug = function c5c() {\n return new p0b();\n };\n mdb(Xke, \"LayoutMetaDataService/lambda$6$Type\", 875);\n bcb(876, 1, hse, d5c);\n _2.vg = function e5c(a) {\n return new r0b(BD(a, 116));\n };\n mdb(Xke, \"LayoutMetaDataService/lambda$7$Type\", 876);\n bcb(877, 1, gse, f5c);\n _2.ug = function g5c() {\n return new _fd();\n };\n mdb(Xke, \"LayoutMetaDataService/lambda$8$Type\", 877);\n bcb(878, 1, hse, h5c);\n _2.vg = function i5c(a) {\n return new agd(BD(a, 373));\n };\n mdb(Xke, \"LayoutMetaDataService/lambda$9$Type\", 878);\n var Q3 = odb(Hle, \"IProperty\");\n bcb(23, 1, { 35: 1, 686: 1, 23: 1, 146: 1 }, p5c);\n _2.wd = function q5c(a) {\n return k5c(this, BD(a, 146));\n };\n _2.Fb = function r5c(a) {\n return JD(a, 23) ? dfb(this.f, BD(a, 23).f) : JD(a, 146) && dfb(this.f, BD(a, 146).tg());\n };\n _2.wg = function s5c() {\n var a;\n if (JD(this.b, 4)) {\n a = fvd(this.b);\n if (a == null) {\n throw vbb(new Zdb(mse + this.f + \"'. Make sure it's type is registered with the \" + (fdb(Y3), Y3.k) + jse));\n }\n return a;\n } else {\n return this.b;\n }\n };\n _2.sg = function t5c() {\n return this.d;\n };\n _2.tg = function u5c() {\n return this.f;\n };\n _2.ne = function v5c() {\n return this.i;\n };\n _2.Hb = function w5c() {\n return LCb(this.f);\n };\n _2.Ib = function x5c() {\n return \"Layout Option: \" + this.f;\n };\n mdb(Xke, \"LayoutOptionData\", 23);\n bcb(24, 1, {}, H5c);\n mdb(Xke, \"LayoutOptionData/Builder\", 24);\n bcb(175, 22, { 3: 1, 35: 1, 22: 1, 175: 1 }, O5c);\n var I5c, J5c, K5c, L5c, M5c;\n var e1 = ndb(Xke, \"LayoutOptionData/Target\", 175, CI, Q5c, P5c);\n var R5c;\n bcb(277, 22, { 3: 1, 35: 1, 22: 1, 277: 1 }, a6c);\n var T5c, U5c, V5c, W5c, X5c, Y5c, Z5c, $5c;\n var f1 = ndb(Xke, \"LayoutOptionData/Type\", 277, CI, c6c, b6c);\n var d6c;\n var f6c;\n var h6c;\n bcb(110, 1, { 110: 1 }, I6c, J6c, K6c);\n _2.Fb = function L6c(a) {\n var b;\n if (a == null || !JD(a, 110)) {\n return false;\n }\n b = BD(a, 110);\n return wtb(this.c, b.c) && wtb(this.d, b.d) && wtb(this.b, b.b) && wtb(this.a, b.a);\n };\n _2.Hb = function M6c() {\n return Hlb(OC(GC(SI, 1), Uhe, 1, 5, [this.c, this.d, this.b, this.a]));\n };\n _2.Ib = function N6c() {\n return \"Rect[x=\" + this.c + \",y=\" + this.d + \",w=\" + this.b + \",h=\" + this.a + \"]\";\n };\n _2.a = 0;\n _2.b = 0;\n _2.c = 0;\n _2.d = 0;\n mdb(pne, \"ElkRectangle\", 110);\n bcb(8, 1, { 3: 1, 4: 1, 8: 1, 414: 1 }, d7c, e7c, f7c, g7c);\n _2.Fb = function h7c(a) {\n return T6c(this, a);\n };\n _2.Hb = function i7c() {\n return Hdb(this.a) + jeb(Hdb(this.b));\n };\n _2.Jf = function k7c(b) {\n var c2, d, e, f2;\n e = 0;\n while (e < b.length && j7c((BCb(e, b.length), b.charCodeAt(e)), mne)) {\n ++e;\n }\n c2 = b.length;\n while (c2 > 0 && j7c((BCb(c2 - 1, b.length), b.charCodeAt(c2 - 1)), nne)) {\n --c2;\n }\n if (e >= c2) {\n throw vbb(new Wdb(\"The given string does not contain any numbers.\"));\n }\n f2 = mfb(b.substr(e, c2 - e), \",|;|\\r|\\n\");\n if (f2.length != 2) {\n throw vbb(new Wdb(\"Exactly two numbers are expected, \" + f2.length + \" were found.\"));\n }\n try {\n this.a = Hcb(ufb(f2[0]));\n this.b = Hcb(ufb(f2[1]));\n } catch (a) {\n a = ubb(a);\n if (JD(a, 127)) {\n d = a;\n throw vbb(new Wdb(one2 + d));\n } else\n throw vbb(a);\n }\n };\n _2.Ib = function m7c() {\n return \"(\" + this.a + \",\" + this.b + \")\";\n };\n _2.a = 0;\n _2.b = 0;\n var m1 = mdb(pne, \"KVector\", 8);\n bcb(74, 68, { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 68: 1, 15: 1, 74: 1, 414: 1 }, s7c, t7c, u7c);\n _2.Pc = function x7c() {\n return r7c(this);\n };\n _2.Jf = function v7c(b) {\n var c2, d, e, f2, g, h;\n e = mfb(b, \",|;|\\\\(|\\\\)|\\\\[|\\\\]|\\\\{|\\\\}| |\t|\\n\");\n Osb(this);\n try {\n d = 0;\n g = 0;\n f2 = 0;\n h = 0;\n while (d < e.length) {\n if (e[d] != null && ufb(e[d]).length > 0) {\n g % 2 == 0 ? f2 = Hcb(e[d]) : h = Hcb(e[d]);\n g > 0 && g % 2 != 0 && Dsb(this, new f7c(f2, h));\n ++g;\n }\n ++d;\n }\n } catch (a) {\n a = ubb(a);\n if (JD(a, 127)) {\n c2 = a;\n throw vbb(new Wdb(\"The given string does not match the expected format for vectors.\" + c2));\n } else\n throw vbb(a);\n }\n };\n _2.Ib = function y7c() {\n var a, b, c2;\n a = new Wfb(\"(\");\n b = Jsb(this, 0);\n while (b.b != b.d.c) {\n c2 = BD(Xsb(b), 8);\n Qfb(a, c2.a + \",\" + c2.b);\n b.b != b.d.c && (a.a += \"; \", a);\n }\n return (a.a += \")\", a).a;\n };\n var l1 = mdb(pne, \"KVectorChain\", 74);\n bcb(248, 22, { 3: 1, 35: 1, 22: 1, 248: 1 }, G7c);\n var z7c, A7c, B7c, C7c, D7c, E7c;\n var o1 = ndb(ose, \"Alignment\", 248, CI, I7c, H7c);\n var J7c;\n bcb(979, 1, ale, Z7c);\n _2.Qe = function $7c(a) {\n Y7c(a);\n };\n var L7c, M7c, N7c, O7c, P7c, Q7c, R7c, S7c, T7c, U7c, V7c, W7c;\n mdb(ose, \"BoxLayouterOptions\", 979);\n bcb(980, 1, {}, _7c);\n _2.$e = function a8c() {\n var a;\n return a = new ged(), a;\n };\n _2._e = function b8c(a) {\n };\n mdb(ose, \"BoxLayouterOptions/BoxFactory\", 980);\n bcb(291, 22, { 3: 1, 35: 1, 22: 1, 291: 1 }, j8c);\n var c8c, d8c, e8c, f8c, g8c, h8c;\n var r1 = ndb(ose, \"ContentAlignment\", 291, CI, l8c, k8c);\n var m8c;\n bcb(684, 1, ale, Z9c);\n _2.Qe = function $9c(a) {\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), sse), \"\"), \"Layout Algorithm\"), \"Select a specific layout algorithm.\"), (_5c(), Z5c)), ZI), pqb((N5c(), L5c)))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), tse), \"\"), \"Resolved Layout Algorithm\"), \"Meta data associated with the selected algorithm.\"), Y5c), E0), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), $pe), \"\"), \"Alignment\"), \"Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm.\"), q8c), V5c), o1), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), _le), \"\"), \"Aspect Ratio\"), \"The desired aspect ratio of the drawing, that is the quotient of width by height.\"), U5c), BI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), use), \"\"), \"Bend Points\"), \"A fixed list of bend points for the edge. This is used by the 'Fixed Layout' algorithm to specify a pre-defined routing for an edge. The vector chain must include the source point, any bend points, and the target point, so it must have at least two points.\"), Y5c), l1), pqb(I5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), lqe), \"\"), \"Content Alignment\"), \"Specifies how the content of a node are aligned. Each node can individually control the alignment of its contents. I.e. if a node should be aligned top left in its parent node, the parent node should specify that option.\"), x8c), W5c), r1), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Zpe), \"\"), \"Debug Mode\"), \"Whether additional debug information shall be generated.\"), (Bcb(), false)), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), cqe), \"\"), Cle), \"Overall direction of edges: horizontal (right / left) or vertical (down / up).\"), A8c), V5c), t12), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), ype), \"\"), \"Edge Routing\"), \"What kind of edge routing style should be applied for the content of a parent node. Algorithms may also set this option to single edges in order to mark them as splines. The bend point list of edges with this option set to SPLINES must be interpreted as control points for a piecewise cubic spline.\"), F8c), V5c), v1), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Jre), \"\"), \"Expand Nodes\"), \"If active, nodes are expanded to fill the area of their parent.\"), false), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), tpe), \"\"), \"Hierarchy Handling\"), \"Determines whether separate layout runs are triggered for different compound nodes in a hierarchical graph. Setting a node's hierarchy handling to `INCLUDE_CHILDREN` will lay out that node and all of its descendants in a single layout run, until a descendant is encountered which has its hierarchy handling set to `SEPARATE_CHILDREN`. In general, `SEPARATE_CHILDREN` will ensure that a new layout run is triggered for a node with that setting. Including multiple levels of hierarchy in a single layout run may allow cross-hierarchical edges to be laid out properly. If the root node is set to `INHERIT` (or not set at all), the default behavior is `SEPARATE_CHILDREN`.\"), K8c), V5c), z1), qqb(L5c, OC(GC(e1, 1), Kie, 175, 0, [K5c])))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), ame), \"\"), \"Padding\"), \"The padding to be left to a parent element's border when placing child elements. This can also serve as an output option of a layout algorithm if node size calculation is setup appropriately.\"), g9c), Y5c), j1), qqb(L5c, OC(GC(e1, 1), Kie, 175, 0, [K5c])))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Ame), \"\"), \"Interactive\"), \"Whether the algorithm should be run in interactive mode for the content of a parent node. What this means exactly depends on how the specific algorithm interprets this option. Usually in the interactive mode algorithms try to modify the current layout as little as possible.\"), false), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), xqe), \"\"), \"interactive Layout\"), \"Whether the graph should be changeable interactively and by setting constraints\"), false), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Dme), \"\"), \"Omit Node Micro Layout\"), \"Node micro layout comprises the computation of node dimensions (if requested), the placement of ports and their labels, and the placement of node labels. The functionality is implemented independent of any specific layout algorithm and shouldn't have any negative impact on the layout algorithm's performance itself. Yet, if any unforeseen behavior occurs, this option allows to deactivate the micro layout.\"), false), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Bme), \"\"), \"Port Constraints\"), \"Defines constraints of the position of the ports of a node.\"), u9c), V5c), D1), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), uqe), \"\"), \"Position\"), \"The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position.\"), Y5c), m1), qqb(K5c, OC(GC(e1, 1), Kie, 175, 0, [M5c, J5c])))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), vme), \"\"), \"Priority\"), \"Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used.\"), X5c), JI), qqb(K5c, OC(GC(e1, 1), Kie, 175, 0, [I5c])))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), yme), \"\"), \"Randomization Seed\"), \"Seed used for pseudo-random number generators to control the layout algorithm. If the value is 0, the seed shall be determined pseudo-randomly (e.g. from the system time).\"), X5c), JI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), zme), \"\"), \"Separate Connected Components\"), \"Whether each connected component should be processed separately.\"), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), mqe), \"\"), \"Junction Points\"), \"This option is not used as option, but as output of the layout algorithms. It is attached to edges and determines the points where junction symbols should be drawn in order to represent hyperedges with orthogonal routing. Whether such points are computed depends on the chosen layout algorithm and edge routing style. The points are put into the vector chain with no specific order.\"), R8c), Y5c), l1), pqb(I5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), pqe), \"\"), \"Comment Box\"), \"Whether the node should be regarded as a comment box instead of a regular node. In that case its placement should be similar to how labels are handled. Any edges incident to a comment box specify to which graph elements the comment is related.\"), false), T5c), wI), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), qqe), \"\"), \"Hypernode\"), \"Whether the node should be handled as a hypernode.\"), false), T5c), wI), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), vse), \"\"), \"Label Manager\"), \"Label managers can shorten labels upon a layout algorithm's request.\"), Y5c), h1), qqb(L5c, OC(GC(e1, 1), Kie, 175, 0, [J5c])))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), vqe), \"\"), \"Margins\"), \"Margins define additional space around the actual bounds of a graph element. For instance, ports or labels being placed on the outside of a node's border might introduce such a margin. The margin is used to guarantee non-overlap of other graph elements with those ports or labels.\"), T8c), Y5c), i1), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Xpe), \"\"), \"No Layout\"), \"No layout is done for the associated element. This is used to mark parts of a diagram to avoid their inclusion in the layout graph, or to mark parts of the layout graph to prevent layout engines from processing them. If you wish to exclude the contents of a compound node from automatic layout, while the node itself is still considered on its own layer, use the 'Fixed Layout' algorithm for that node.\"), false), T5c), wI), qqb(K5c, OC(GC(e1, 1), Kie, 175, 0, [I5c, M5c, J5c])))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), wse), \"\"), \"Scale Factor\"), \"The scaling factor to be applied to the corresponding node in recursive layout. It causes the corresponding node's size to be adjusted, and its ports and labels to be sized and placed accordingly after the layout of that node has been determined (and before the node itself and its siblings are arranged). The scaling is not reverted afterwards, so the resulting layout graph contains the adjusted size and position data. This option is currently not supported if 'Layout Hierarchy' is set.\"), 1), U5c), BI), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), xse), \"\"), \"Animate\"), \"Whether the shift from the old layout to the new computed layout shall be animated.\"), true), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), yse), \"\"), \"Animation Time Factor\"), \"Factor for computation of animation time. The higher the value, the longer the animation time. If the value is 0, the resulting time is always equal to the minimum defined by 'Minimal Animation Time'.\"), meb(100)), X5c), JI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), zse), \"\"), \"Layout Ancestors\"), \"Whether the hierarchy levels on the path from the selected element to the root of the diagram shall be included in the layout process.\"), false), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Ase), \"\"), \"Maximal Animation Time\"), \"The maximal time for animations, in milliseconds.\"), meb(4e3)), X5c), JI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Bse), \"\"), \"Minimal Animation Time\"), \"The minimal time for animations, in milliseconds.\"), meb(400)), X5c), JI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Cse), \"\"), \"Progress Bar\"), \"Whether a progress bar shall be displayed during layout computations.\"), false), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Dse), \"\"), \"Validate Graph\"), \"Whether the graph shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user.\"), false), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Ese), \"\"), \"Validate Options\"), \"Whether layout options shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user.\"), true), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Fse), \"\"), \"Zoom to Fit\"), \"Whether the zoom level shall be set to view the whole diagram after layout.\"), false), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), rse), \"box\"), \"Box Layout Mode\"), \"Configures the packing mode used by the {@link BoxLayoutProvider}. If SIMPLE is not required (neither priorities are used nor the interactive mode), GROUP_DEC can improve the packing and decrease the area. GROUP_MIXED and GROUP_INC may, in very specific scenarios, work better.\"), u8c), V5c), O1), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Lpe), zpe), \"Comment Comment Spacing\"), \"Spacing to be preserved between a comment box and other comment boxes connected to the same node. The space left between comment boxes of different nodes is controlled by the node-node spacing.\"), 10), U5c), BI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Mpe), zpe), \"Comment Node Spacing\"), \"Spacing to be preserved between a node and its connected comment boxes. The space left between a node and the comments of another node is controlled by the node-node spacing.\"), 10), U5c), BI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Zle), zpe), \"Components Spacing\"), \"Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated.\"), 20), U5c), BI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Npe), zpe), \"Edge Spacing\"), \"Spacing to be preserved between any two edges. Note that while this can somewhat easily be satisfied for the segments of orthogonally drawn edges, it is harder for general polylines or splines.\"), 10), U5c), BI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), xme), zpe), \"Edge Label Spacing\"), \"The minimal distance to be preserved between a label and the edge it is associated with. Note that the placement of a label is influenced by the 'edgelabels.placement' option.\"), 2), U5c), BI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Ope), zpe), \"Edge Node Spacing\"), \"Spacing to be preserved between nodes and edges.\"), 10), U5c), BI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Ppe), zpe), \"Label Spacing\"), \"Determines the amount of space to be left between two labels of the same graph element.\"), 0), U5c), BI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Spe), zpe), \"Label Node Spacing\"), \"Spacing to be preserved between labels and the border of node they are associated with. Note that the placement of a label is influenced by the 'nodelabels.placement' option.\"), 5), U5c), BI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Qpe), zpe), \"Horizontal spacing between Label and Port\"), \"Horizontal spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option.\"), 1), U5c), BI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Rpe), zpe), \"Vertical spacing between Label and Port\"), \"Vertical spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option.\"), 1), U5c), BI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), wme), zpe), \"Node Spacing\"), \"The minimal distance to be preserved between each two nodes.\"), 20), U5c), BI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Tpe), zpe), \"Node Self Loop Spacing\"), \"Spacing to be preserved between a node and its self loops.\"), 10), U5c), BI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Upe), zpe), \"Port Spacing\"), \"Spacing between pairs of ports of the same node.\"), 10), U5c), BI), qqb(L5c, OC(GC(e1, 1), Kie, 175, 0, [K5c])))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), Vpe), zpe), \"Individual Spacing\"), \"Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent.\"), Y5c), i2), qqb(K5c, OC(GC(e1, 1), Kie, 175, 0, [I5c, M5c, J5c])))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), wqe), zpe), \"Additional Port Space\"), \"Additional space around the sets of ports on each node side. For each side of a node, this option can reserve additional space before and after the ports on each side. For example, a top spacing of 20 makes sure that the first port on the western and eastern side is 20 units away from the northern border.\"), W9c), Y5c), i1), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), tqe), Jse), \"Layout Partition\"), \"Partition to which the node belongs. This requires Layout Partitioning to be active. Nodes with lower partition IDs will appear to the left of nodes with higher partition IDs (assuming a left-to-right layout direction).\"), X5c), JI), qqb(L5c, OC(GC(e1, 1), Kie, 175, 0, [K5c])))));\n o4c(a, tqe, sqe, k9c);\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), sqe), Jse), \"Layout Partitioning\"), \"Whether to activate partitioned layout. This will allow to group nodes through the Layout Partition option. a pair of nodes with different partition indices is then placed such that the node with lower index is placed to the left of the other node (with left-to-right layout direction). Depending on the layout algorithm, this may only be guaranteed to work if all nodes have a layout partition configured, or at least if edges that cross partitions are not part of a partition-crossing cycle.\"), i9c), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), dqe), Kse), \"Node Label Padding\"), \"Define padding for node labels that are placed inside of a node.\"), V8c), Y5c), j1), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Gme), Kse), \"Node Label Placement\"), \"Hints for where node labels are to be placed; if empty, the node label's position is not modified.\"), X8c), W5c), B1), qqb(K5c, OC(GC(e1, 1), Kie, 175, 0, [J5c])))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), gqe), Lse), \"Port Alignment\"), \"Defines the default port distribution for a node. May be overridden for each side individually.\"), m9c), V5c), C1), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), hqe), Lse), \"Port Alignment (North)\"), \"Defines how ports on the northern side are placed, overriding the node's general port alignment.\"), V5c), C1), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), iqe), Lse), \"Port Alignment (South)\"), \"Defines how ports on the southern side are placed, overriding the node's general port alignment.\"), V5c), C1), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), jqe), Lse), \"Port Alignment (West)\"), \"Defines how ports on the western side are placed, overriding the node's general port alignment.\"), V5c), C1), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), kqe), Lse), \"Port Alignment (East)\"), \"Defines how ports on the eastern side are placed, overriding the node's general port alignment.\"), V5c), C1), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Fme), Mse), \"Node Size Constraints\"), \"What should be taken into account when calculating a node's size. Empty size constraints specify that a node's size is already fixed and should not be changed.\"), Z8c), W5c), I1), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Eme), Mse), \"Node Size Options\"), \"Options modifying the behavior of the size constraints set on a node. Each member of the set specifies something that should be taken into account when calculating node sizes. The empty set corresponds to no further modifications.\"), c9c), W5c), J1), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Tme), Mse), \"Node Size Minimum\"), \"The minimal size to which a node can be reduced.\"), a9c), Y5c), m1), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), bqe), Mse), \"Fixed Graph Size\"), \"By default, the fixed layout provider will enlarge a graph until it is large enough to contain its children. If this option is set, it won't do so.\"), false), T5c), wI), pqb(L5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), nqe), Jpe), \"Edge Label Placement\"), \"Gives a hint on where to put edge labels.\"), D8c), V5c), u1), pqb(J5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Cme), Jpe), \"Inline Edge Labels\"), \"If true, an edge label is placed directly on its edge. May only apply to center edge labels. This kind of label placement is only advisable if the label's rendering is such that it is not crossed by its edge and thus stays legible.\"), false), T5c), wI), pqb(J5c))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), Gse), \"font\"), \"Font Name\"), \"Font name used for a label.\"), Z5c), ZI), pqb(J5c))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), Hse), \"font\"), \"Font Size\"), \"Font size used for a label.\"), X5c), JI), pqb(J5c))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), rqe), Nse), \"Port Anchor Offset\"), \"The offset to the port position where connections shall be attached.\"), Y5c), m1), pqb(M5c))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), oqe), Nse), \"Port Index\"), \"The index of a port in the fixed order around a node. The order is assumed as clockwise, starting with the leftmost port on the top side. This option must be set if 'Port Constraints' is set to FIXED_ORDER and no specific positions are given for the ports. Additionally, the option 'Port Side' must be defined in this case.\"), X5c), JI), pqb(M5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Ype), Nse), \"Port Side\"), \"The side of a node on which a port is situated. This option must be set if 'Port Constraints' is set to FIXED_SIDE or FIXED_ORDER and no specific positions are given for the ports.\"), B9c), V5c), F1), pqb(M5c))));\n t4c(a, new p5c(F5c(E5c(G5c(z5c(D5c(A5c(B5c(new H5c(), Wpe), Nse), \"Port Border Offset\"), \"The offset of ports on the node border. With a positive offset the port is moved outside of the node, while with a negative offset the port is moved towards the inside. An offset of 0 means that the port is placed directly on the node border, i.e. if the port side is north, the port's south border touches the nodes's north border; if the port side is east, the port's west border touches the nodes's east border; if the port side is south, the port's north border touches the node's south border; if the port side is west, the port's east border touches the node's west border.\"), U5c), BI), pqb(M5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Hme), Ose), \"Port Label Placement\"), \"Decides on a placement method for port labels; if empty, the node label's position is not modified.\"), y9c), W5c), E1), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), eqe), Ose), \"Port Labels Next to Port\"), \"Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE.\"), false), T5c), wI), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), fqe), Ose), \"Treat Port Labels as Group\"), \"If this option is true (default), the labels of a port will be treated as a group when it comes to centering them next to their port. If this option is false, only the first label will be centered next to the port, with the others being placed below. This only applies to labels of eastern and western ports and will have no effect if labels are not placed next to their port.\"), true), T5c), wI), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), _pe), Pse), \"Activate Inside Self Loops\"), \"Whether this node allows to route self loops inside of it instead of around it. If set to true, this will make the node a compound node if it isn't already, and will require the layout algorithm to support compound nodes with hierarchical ports.\"), false), T5c), wI), pqb(K5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), aqe), Pse), \"Inside Self Loop\"), \"Whether a self loop should be routed inside a node instead of around that node.\"), false), T5c), wI), pqb(I5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), $le), \"edge\"), \"Edge Thickness\"), \"The thickness of an edge. This is a hint on the line width used to draw an edge, possibly requiring more space to be reserved for it.\"), 1), U5c), BI), pqb(I5c))));\n t4c(a, new p5c(F5c(E5c(G5c(y5c(z5c(D5c(A5c(B5c(new H5c(), Ise), \"edge\"), \"Edge Type\"), \"The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations.\"), H8c), V5c), w1), pqb(I5c))));\n s4c(a, new W3c(b4c(d4c(c4c(new e4c(), sne), \"Layered\"), 'The layer-based method was introduced by Sugiyama, Tagawa and Toda in 1981. It emphasizes the direction of edges by pointing as many edges as possible into the same direction. The nodes are arranged in layers, which are sometimes called \"hierarchies\", and then reordered such that the number of edge crossings is minimized. Afterwards, concrete coordinates are computed for the nodes and edge bend points.')));\n s4c(a, new W3c(b4c(d4c(c4c(new e4c(), \"org.eclipse.elk.orthogonal\"), \"Orthogonal\"), `Orthogonal methods that follow the \"topology-shape-metrics\" approach by Batini, Nardelli and Tamassia '86. The first phase determines the topology of the drawing by applying a planarization technique, which results in a planar representation of the graph. The orthogonal shape is computed in the second phase, which aims at minimizing the number of edge bends, and is called orthogonalization. The third phase leads to concrete coordinates for nodes and edge bend points by applying a compaction method, thus defining the metrics.`)));\n s4c(a, new W3c(b4c(d4c(c4c(new e4c(), ume), \"Force\"), \"Layout algorithms that follow physical analogies by simulating a system of attractive and repulsive forces. The first successful method of this kind was proposed by Eades in 1984.\")));\n s4c(a, new W3c(b4c(d4c(c4c(new e4c(), \"org.eclipse.elk.circle\"), \"Circle\"), \"Circular layout algorithms emphasize cycles or biconnected components of a graph by arranging them in circles. This is useful if a drawing is desired where such components are clearly grouped, or where cycles are shown as prominent OPTIONS of the graph.\")));\n s4c(a, new W3c(b4c(d4c(c4c(new e4c(), bre), \"Tree\"), \"Specialized layout methods for trees, i.e. acyclic graphs. The regular structure of graphs that have no undirected cycles can be emphasized using an algorithm of this type.\")));\n s4c(a, new W3c(b4c(d4c(c4c(new e4c(), \"org.eclipse.elk.planar\"), \"Planar\"), \"Algorithms that require a planar or upward planar graph. Most of these algorithms are theoretically interesting, but not practically usable.\")));\n s4c(a, new W3c(b4c(d4c(c4c(new e4c(), sre), \"Radial\"), \"Radial layout algorithms usually position the nodes of the graph on concentric circles.\")));\n $ad((new _ad(), a));\n Y7c((new Z7c(), a));\n jdd((new kdd(), a));\n };\n var o8c, p8c, q8c, r8c, s8c, t8c, u8c, v8c, w8c, x8c, y8c, z8c, A8c, B8c, C8c, D8c, E8c, F8c, G8c, H8c, I8c, J8c, K8c, L8c, M8c, N8c, O8c, P8c, Q8c, R8c, S8c, T8c, U8c, V8c, W8c, X8c, Y8c, Z8c, $8c, _8c, a9c, b9c, c9c, d9c, e9c, f9c, g9c, h9c, i9c, j9c, k9c, l9c, m9c, n9c, o9c, p9c, q9c, r9c, s9c, t9c, u9c, v9c, w9c, x9c, y9c, z9c, A9c, B9c, C9c, D9c, E9c, F9c, G9c, H9c, I9c, J9c, K9c, L9c, M9c, N9c, O9c, P9c, Q9c, R9c, S9c, T9c, U9c, V9c, W9c, X9c;\n mdb(ose, \"CoreOptions\", 684);\n bcb(103, 22, { 3: 1, 35: 1, 22: 1, 103: 1 }, iad);\n var _9c, aad, bad, cad, dad;\n var t12 = ndb(ose, Cle, 103, CI, kad, jad);\n var lad;\n bcb(272, 22, { 3: 1, 35: 1, 22: 1, 272: 1 }, rad);\n var nad, oad, pad2;\n var u1 = ndb(ose, \"EdgeLabelPlacement\", 272, CI, tad, sad);\n var uad;\n bcb(218, 22, { 3: 1, 35: 1, 22: 1, 218: 1 }, Bad);\n var wad, xad, yad, zad;\n var v1 = ndb(ose, \"EdgeRouting\", 218, CI, Dad, Cad);\n var Ead;\n bcb(312, 22, { 3: 1, 35: 1, 22: 1, 312: 1 }, Nad);\n var Gad, Had, Iad, Jad, Kad, Lad;\n var w1 = ndb(ose, \"EdgeType\", 312, CI, Pad, Oad);\n var Qad;\n bcb(977, 1, ale, _ad);\n _2.Qe = function abd(a) {\n $ad(a);\n };\n var Sad, Tad, Uad, Vad, Wad, Xad, Yad;\n mdb(ose, \"FixedLayouterOptions\", 977);\n bcb(978, 1, {}, bbd);\n _2.$e = function cbd() {\n var a;\n return a = new Zfd(), a;\n };\n _2._e = function dbd(a) {\n };\n mdb(ose, \"FixedLayouterOptions/FixedFactory\", 978);\n bcb(334, 22, { 3: 1, 35: 1, 22: 1, 334: 1 }, ibd);\n var ebd, fbd, gbd;\n var z1 = ndb(ose, \"HierarchyHandling\", 334, CI, kbd, jbd);\n var lbd;\n bcb(285, 22, { 3: 1, 35: 1, 22: 1, 285: 1 }, tbd);\n var nbd, obd, pbd, qbd;\n var A1 = ndb(ose, \"LabelSide\", 285, CI, vbd, ubd);\n var wbd;\n bcb(93, 22, { 3: 1, 35: 1, 22: 1, 93: 1 }, Ibd);\n var ybd, zbd, Abd, Bbd, Cbd, Dbd, Ebd, Fbd, Gbd;\n var B1 = ndb(ose, \"NodeLabelPlacement\", 93, CI, Lbd, Kbd);\n var Mbd;\n bcb(249, 22, { 3: 1, 35: 1, 22: 1, 249: 1 }, Ubd);\n var Obd, Pbd, Qbd, Rbd, Sbd;\n var C1 = ndb(ose, \"PortAlignment\", 249, CI, Wbd, Vbd);\n var Xbd;\n bcb(98, 22, { 3: 1, 35: 1, 22: 1, 98: 1 }, gcd);\n var Zbd, $bd, _bd, acd, bcd, ccd;\n var D1 = ndb(ose, \"PortConstraints\", 98, CI, icd, hcd);\n var jcd;\n bcb(273, 22, { 3: 1, 35: 1, 22: 1, 273: 1 }, scd);\n var lcd, mcd, ncd, ocd, pcd, qcd;\n var E1 = ndb(ose, \"PortLabelPlacement\", 273, CI, wcd, vcd);\n var xcd;\n bcb(61, 22, { 3: 1, 35: 1, 22: 1, 61: 1 }, Ycd);\n var zcd, Acd, Bcd, Ccd, Dcd, Ecd, Fcd, Gcd, Hcd, Icd, Jcd, Kcd, Lcd, Mcd, Ncd, Ocd, Pcd, Qcd, Rcd, Scd, Tcd;\n var F1 = ndb(ose, \"PortSide\", 61, CI, _cd, $cd);\n var bdd;\n bcb(981, 1, ale, kdd);\n _2.Qe = function ldd(a) {\n jdd(a);\n };\n var ddd, edd, fdd, gdd, hdd;\n mdb(ose, \"RandomLayouterOptions\", 981);\n bcb(982, 1, {}, mdd);\n _2.$e = function ndd() {\n var a;\n return a = new Mgd(), a;\n };\n _2._e = function odd(a) {\n };\n mdb(ose, \"RandomLayouterOptions/RandomFactory\", 982);\n bcb(374, 22, { 3: 1, 35: 1, 22: 1, 374: 1 }, udd);\n var pdd, qdd, rdd, sdd;\n var I1 = ndb(ose, \"SizeConstraint\", 374, CI, wdd, vdd);\n var xdd;\n bcb(259, 22, { 3: 1, 35: 1, 22: 1, 259: 1 }, Jdd);\n var zdd, Add, Bdd, Cdd, Ddd, Edd, Fdd, Gdd, Hdd;\n var J1 = ndb(ose, \"SizeOptions\", 259, CI, Ldd, Kdd);\n var Mdd;\n bcb(370, 1, { 1949: 1 }, Zdd);\n _2.b = false;\n _2.c = 0;\n _2.d = -1;\n _2.e = null;\n _2.f = null;\n _2.g = -1;\n _2.j = false;\n _2.k = false;\n _2.n = false;\n _2.o = 0;\n _2.q = 0;\n _2.r = 0;\n mdb(yqe, \"BasicProgressMonitor\", 370);\n bcb(972, 209, Mle, ged);\n _2.Ze = function ked(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n Odd(b, \"Box layout\", 2);\n e = Gdb(ED(hkd(a, (X7c(), W7c))));\n f2 = BD(hkd(a, T7c), 116);\n c2 = Ccb(DD(hkd(a, O7c)));\n d = Ccb(DD(hkd(a, P7c)));\n switch (BD(hkd(a, M7c), 311).g) {\n case 0:\n g = (h = new Tkb((!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a)), mmb(), Okb(h, new med(d)), h);\n i3 = rfd(a);\n j = ED(hkd(a, L7c));\n (j == null || (uCb(j), j) <= 0) && (j = 1.3);\n k = ded(g, e, f2, i3.a, i3.b, c2, (uCb(j), j));\n Afd(a, k.a, k.b, false, true);\n break;\n default:\n eed(a, e, f2, c2);\n }\n Qdd(b);\n };\n mdb(yqe, \"BoxLayoutProvider\", 972);\n bcb(973, 1, Dke, med);\n _2.ue = function ned(a, b) {\n return led(this, BD(a, 33), BD(b, 33));\n };\n _2.Fb = function oed(a) {\n return this === a;\n };\n _2.ve = function ped() {\n return new tpb(this);\n };\n _2.a = false;\n mdb(yqe, \"BoxLayoutProvider/1\", 973);\n bcb(157, 1, { 157: 1 }, wed, xed);\n _2.Ib = function yed() {\n return this.c ? _od(this.c) : Fe(this.b);\n };\n mdb(yqe, \"BoxLayoutProvider/Group\", 157);\n bcb(311, 22, { 3: 1, 35: 1, 22: 1, 311: 1 }, Eed);\n var zed, Aed, Bed, Ced;\n var O1 = ndb(yqe, \"BoxLayoutProvider/PackingMode\", 311, CI, Ged, Fed);\n var Hed;\n bcb(974, 1, Dke, Jed);\n _2.ue = function Ked(a, b) {\n return hed(BD(a, 157), BD(b, 157));\n };\n _2.Fb = function Led(a) {\n return this === a;\n };\n _2.ve = function Med() {\n return new tpb(this);\n };\n mdb(yqe, \"BoxLayoutProvider/lambda$0$Type\", 974);\n bcb(975, 1, Dke, Ned);\n _2.ue = function Oed(a, b) {\n return ied(BD(a, 157), BD(b, 157));\n };\n _2.Fb = function Ped(a) {\n return this === a;\n };\n _2.ve = function Qed() {\n return new tpb(this);\n };\n mdb(yqe, \"BoxLayoutProvider/lambda$1$Type\", 975);\n bcb(976, 1, Dke, Red);\n _2.ue = function Sed(a, b) {\n return jed(BD(a, 157), BD(b, 157));\n };\n _2.Fb = function Ted(a) {\n return this === a;\n };\n _2.ve = function Ued() {\n return new tpb(this);\n };\n mdb(yqe, \"BoxLayoutProvider/lambda$2$Type\", 976);\n bcb(1365, 1, { 831: 1 }, Ved);\n _2.qg = function Wed(a, b) {\n return Vyc(), !JD(b, 160) || h2c((Y1c(), BD(a, 160)), b);\n };\n mdb(yqe, \"ElkSpacings/AbstractSpacingsBuilder/lambda$0$Type\", 1365);\n bcb(1366, 1, qie, Xed);\n _2.td = function Yed(a) {\n Yyc(this.a, BD(a, 146));\n };\n mdb(yqe, \"ElkSpacings/AbstractSpacingsBuilder/lambda$1$Type\", 1366);\n bcb(1367, 1, qie, Zed);\n _2.td = function $ed(a) {\n BD(a, 94);\n Vyc();\n };\n mdb(yqe, \"ElkSpacings/AbstractSpacingsBuilder/lambda$2$Type\", 1367);\n bcb(1371, 1, qie, _ed);\n _2.td = function afd(a) {\n Zyc(this.a, BD(a, 94));\n };\n mdb(yqe, \"ElkSpacings/AbstractSpacingsBuilder/lambda$3$Type\", 1371);\n bcb(1369, 1, Oie, bfd);\n _2.Mb = function cfd(a) {\n return $yc(this.a, this.b, BD(a, 146));\n };\n mdb(yqe, \"ElkSpacings/AbstractSpacingsBuilder/lambda$4$Type\", 1369);\n bcb(1368, 1, Oie, dfd);\n _2.Mb = function efd(a) {\n return azc(this.a, this.b, BD(a, 831));\n };\n mdb(yqe, \"ElkSpacings/AbstractSpacingsBuilder/lambda$5$Type\", 1368);\n bcb(1370, 1, qie, ffd);\n _2.td = function gfd(a) {\n _yc(this.a, this.b, BD(a, 146));\n };\n mdb(yqe, \"ElkSpacings/AbstractSpacingsBuilder/lambda$6$Type\", 1370);\n bcb(935, 1, {}, Hfd);\n _2.Kb = function Ifd(a) {\n return Gfd(a);\n };\n _2.Fb = function Jfd(a) {\n return this === a;\n };\n mdb(yqe, \"ElkUtil/lambda$0$Type\", 935);\n bcb(936, 1, qie, Kfd);\n _2.td = function Lfd(a) {\n ufd(this.a, this.b, BD(a, 79));\n };\n _2.a = 0;\n _2.b = 0;\n mdb(yqe, \"ElkUtil/lambda$1$Type\", 936);\n bcb(937, 1, qie, Mfd);\n _2.td = function Nfd(a) {\n vfd(this.a, this.b, BD(a, 202));\n };\n _2.a = 0;\n _2.b = 0;\n mdb(yqe, \"ElkUtil/lambda$2$Type\", 937);\n bcb(938, 1, qie, Ofd);\n _2.td = function Pfd(a) {\n wfd(this.a, this.b, BD(a, 137));\n };\n _2.a = 0;\n _2.b = 0;\n mdb(yqe, \"ElkUtil/lambda$3$Type\", 938);\n bcb(939, 1, qie, Qfd);\n _2.td = function Rfd(a) {\n xfd(this.a, BD(a, 469));\n };\n mdb(yqe, \"ElkUtil/lambda$4$Type\", 939);\n bcb(342, 1, { 35: 1, 342: 1 }, Tfd);\n _2.wd = function Ufd(a) {\n return Sfd(this, BD(a, 236));\n };\n _2.Fb = function Vfd(a) {\n var b;\n if (JD(a, 342)) {\n b = BD(a, 342);\n return this.a == b.a;\n }\n return false;\n };\n _2.Hb = function Wfd() {\n return QD(this.a);\n };\n _2.Ib = function Xfd() {\n return this.a + \" (exclusive)\";\n };\n _2.a = 0;\n mdb(yqe, \"ExclusiveBounds/ExclusiveLowerBound\", 342);\n bcb(1138, 209, Mle, Zfd);\n _2.Ze = function $fd(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r, s, t, u, v, w2, A, B;\n Odd(b, \"Fixed Layout\", 1);\n f2 = BD(hkd(a, (Y9c(), E8c)), 218);\n l = 0;\n m = 0;\n for (s = new Fyd((!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a)); s.e != s.i.gc(); ) {\n q = BD(Dyd(s), 33);\n B = BD(hkd(q, (Zad(), Yad)), 8);\n if (B) {\n bld(q, B.a, B.b);\n if (BD(hkd(q, Tad), 174).Hc((tdd(), pdd))) {\n n = BD(hkd(q, Vad), 8);\n n.a > 0 && n.b > 0 && Afd(q, n.a, n.b, true, true);\n }\n }\n l = $wnd.Math.max(l, q.i + q.g);\n m = $wnd.Math.max(m, q.j + q.f);\n for (j = new Fyd((!q.n && (q.n = new cUd(D2, q, 1, 7)), q.n)); j.e != j.i.gc(); ) {\n h = BD(Dyd(j), 137);\n B = BD(hkd(h, Yad), 8);\n !!B && bld(h, B.a, B.b);\n l = $wnd.Math.max(l, q.i + h.i + h.g);\n m = $wnd.Math.max(m, q.j + h.j + h.f);\n }\n for (v = new Fyd((!q.c && (q.c = new cUd(F2, q, 9, 9)), q.c)); v.e != v.i.gc(); ) {\n u = BD(Dyd(v), 118);\n B = BD(hkd(u, Yad), 8);\n !!B && bld(u, B.a, B.b);\n w2 = q.i + u.i;\n A = q.j + u.j;\n l = $wnd.Math.max(l, w2 + u.g);\n m = $wnd.Math.max(m, A + u.f);\n for (i3 = new Fyd((!u.n && (u.n = new cUd(D2, u, 1, 7)), u.n)); i3.e != i3.i.gc(); ) {\n h = BD(Dyd(i3), 137);\n B = BD(hkd(h, Yad), 8);\n !!B && bld(h, B.a, B.b);\n l = $wnd.Math.max(l, w2 + h.i + h.g);\n m = $wnd.Math.max(m, A + h.j + h.f);\n }\n }\n for (e = new Sr(ur(_sd(q).a.Kc(), new Sq())); Qr(e); ) {\n c2 = BD(Rr(e), 79);\n k = Yfd(c2);\n l = $wnd.Math.max(l, k.a);\n m = $wnd.Math.max(m, k.b);\n }\n for (d = new Sr(ur($sd(q).a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 79);\n if (Xod(jtd(c2)) != a) {\n k = Yfd(c2);\n l = $wnd.Math.max(l, k.a);\n m = $wnd.Math.max(m, k.b);\n }\n }\n }\n if (f2 == (Aad(), wad)) {\n for (r = new Fyd((!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a)); r.e != r.i.gc(); ) {\n q = BD(Dyd(r), 33);\n for (d = new Sr(ur(_sd(q).a.Kc(), new Sq())); Qr(d); ) {\n c2 = BD(Rr(d), 79);\n g = pfd(c2);\n g.b == 0 ? jkd(c2, Q8c, null) : jkd(c2, Q8c, g);\n }\n }\n }\n if (!Ccb(DD(hkd(a, (Zad(), Uad))))) {\n t = BD(hkd(a, Wad), 116);\n p = l + t.b + t.c;\n o2 = m + t.d + t.a;\n Afd(a, p, o2, true, true);\n }\n Qdd(b);\n };\n mdb(yqe, \"FixedLayoutProvider\", 1138);\n bcb(373, 134, { 3: 1, 414: 1, 373: 1, 94: 1, 134: 1 }, _fd, agd);\n _2.Jf = function dgd(b) {\n var c2, d, e, f2, g, h, i3, j, k;\n if (!b) {\n return;\n }\n try {\n j = mfb(b, \";,;\");\n for (g = j, h = 0, i3 = g.length; h < i3; ++h) {\n f2 = g[h];\n d = mfb(f2, \"\\\\:\");\n e = k4c(n4c(), d[0]);\n if (!e) {\n throw vbb(new Wdb(\"Invalid option id: \" + d[0]));\n }\n k = o5c(e, d[1]);\n if (k == null) {\n throw vbb(new Wdb(\"Invalid option value: \" + d[1]));\n }\n k == null ? (!this.q && (this.q = new Lqb()), Thb(this.q, e)) : (!this.q && (this.q = new Lqb()), Rhb(this.q, e, k));\n }\n } catch (a) {\n a = ubb(a);\n if (JD(a, 102)) {\n c2 = a;\n throw vbb(new Xdb(c2));\n } else\n throw vbb(a);\n }\n };\n _2.Ib = function egd() {\n var a;\n a = GD(GAb(NAb((!this.q ? (mmb(), mmb(), kmb) : this.q).vc().Oc(), new fgd()), Ayb(new pzb(), new nzb(), new Zyb(), new _yb(), OC(GC(xL, 1), Kie, 132, 0, []))));\n return a;\n };\n var i2 = mdb(yqe, \"IndividualSpacings\", 373);\n bcb(971, 1, {}, fgd);\n _2.Kb = function ggd(a) {\n return cgd(BD(a, 42));\n };\n mdb(yqe, \"IndividualSpacings/lambda$0$Type\", 971);\n bcb(709, 1, {}, jgd);\n _2.c = 0;\n mdb(yqe, \"InstancePool\", 709);\n bcb(1275, 1, {}, kgd);\n mdb(yqe, \"LoggedGraph\", 1275);\n bcb(396, 22, { 3: 1, 35: 1, 22: 1, 396: 1 }, qgd);\n var lgd, mgd, ngd, ogd;\n var k2 = ndb(yqe, \"LoggedGraph/Type\", 396, CI, sgd, rgd);\n var tgd;\n bcb(46, 1, { 20: 1, 46: 1 }, vgd);\n _2.Jc = function xgd(a) {\n reb(this, a);\n };\n _2.Fb = function wgd(a) {\n var b, c2, d;\n if (JD(a, 46)) {\n c2 = BD(a, 46);\n b = this.a == null ? c2.a == null : pb(this.a, c2.a);\n d = this.b == null ? c2.b == null : pb(this.b, c2.b);\n return b && d;\n } else {\n return false;\n }\n };\n _2.Hb = function ygd() {\n var a, b, c2, d, e, f2;\n c2 = this.a == null ? 0 : tb(this.a);\n a = c2 & aje;\n b = c2 & -65536;\n f2 = this.b == null ? 0 : tb(this.b);\n d = f2 & aje;\n e = f2 & -65536;\n return a ^ e >> 16 & aje | b ^ d << 16;\n };\n _2.Kc = function zgd() {\n return new Bgd(this);\n };\n _2.Ib = function Agd() {\n return this.a == null && this.b == null ? \"pair(null,null)\" : this.a == null ? \"pair(null,\" + fcb(this.b) + \")\" : this.b == null ? \"pair(\" + fcb(this.a) + \",null)\" : \"pair(\" + fcb(this.a) + \",\" + fcb(this.b) + \")\";\n };\n mdb(yqe, \"Pair\", 46);\n bcb(983, 1, aie, Bgd);\n _2.Nb = function Cgd(a) {\n Rrb(this, a);\n };\n _2.Ob = function Dgd() {\n return !this.c && (!this.b && this.a.a != null || this.a.b != null);\n };\n _2.Pb = function Egd() {\n if (!this.c && !this.b && this.a.a != null) {\n this.b = true;\n return this.a.a;\n } else if (!this.c && this.a.b != null) {\n this.c = true;\n return this.a.b;\n }\n throw vbb(new utb());\n };\n _2.Qb = function Fgd() {\n this.c && this.a.b != null ? this.a.b = null : this.b && this.a.a != null && (this.a.a = null);\n throw vbb(new Ydb());\n };\n _2.b = false;\n _2.c = false;\n mdb(yqe, \"Pair/1\", 983);\n bcb(448, 1, { 448: 1 }, Ggd);\n _2.Fb = function Hgd(a) {\n return wtb(this.a, BD(a, 448).a) && wtb(this.c, BD(a, 448).c) && wtb(this.d, BD(a, 448).d) && wtb(this.b, BD(a, 448).b);\n };\n _2.Hb = function Igd() {\n return Hlb(OC(GC(SI, 1), Uhe, 1, 5, [this.a, this.c, this.d, this.b]));\n };\n _2.Ib = function Jgd() {\n return \"(\" + this.a + She + this.c + She + this.d + She + this.b + \")\";\n };\n mdb(yqe, \"Quadruple\", 448);\n bcb(1126, 209, Mle, Mgd);\n _2.Ze = function Ngd(a, b) {\n var c2, d, e, f2, g;\n Odd(b, \"Random Layout\", 1);\n if ((!a.a && (a.a = new cUd(E2, a, 10, 11)), a.a).i == 0) {\n Qdd(b);\n return;\n }\n f2 = BD(hkd(a, (idd(), gdd)), 19);\n !!f2 && f2.a != 0 ? e = new Hub(f2.a) : e = new Gub();\n c2 = Gdb(ED(hkd(a, ddd)));\n g = Gdb(ED(hkd(a, hdd)));\n d = BD(hkd(a, edd), 116);\n Lgd(a, e, c2, g, d);\n Qdd(b);\n };\n mdb(yqe, \"RandomLayoutProvider\", 1126);\n var Ogd;\n bcb(553, 1, {});\n _2.qf = function Sgd() {\n return new f7c(this.f.i, this.f.j);\n };\n _2.We = function Tgd(a) {\n if (Jsd(a, (Y9c(), s9c))) {\n return hkd(this.f, Qgd);\n }\n return hkd(this.f, a);\n };\n _2.rf = function Ugd() {\n return new f7c(this.f.g, this.f.f);\n };\n _2.sf = function Vgd() {\n return this.g;\n };\n _2.Xe = function Wgd(a) {\n return ikd(this.f, a);\n };\n _2.tf = function Xgd(a) {\n dld(this.f, a.a);\n eld(this.f, a.b);\n };\n _2.uf = function Ygd(a) {\n cld(this.f, a.a);\n ald(this.f, a.b);\n };\n _2.vf = function Zgd(a) {\n this.g = a;\n };\n _2.g = 0;\n var Qgd;\n mdb(Use, \"ElkGraphAdapters/AbstractElkGraphElementAdapter\", 553);\n bcb(554, 1, { 839: 1 }, $gd);\n _2.wf = function _gd() {\n var a, b;\n if (!this.b) {\n this.b = Qu(Kkd(this.a).i);\n for (b = new Fyd(Kkd(this.a)); b.e != b.i.gc(); ) {\n a = BD(Dyd(b), 137);\n Ekb(this.b, new dhd(a));\n }\n }\n return this.b;\n };\n _2.b = null;\n mdb(Use, \"ElkGraphAdapters/ElkEdgeAdapter\", 554);\n bcb(301, 553, {}, bhd);\n _2.xf = function chd() {\n return ahd(this);\n };\n _2.a = null;\n mdb(Use, \"ElkGraphAdapters/ElkGraphAdapter\", 301);\n bcb(630, 553, { 181: 1 }, dhd);\n mdb(Use, \"ElkGraphAdapters/ElkLabelAdapter\", 630);\n bcb(629, 553, { 680: 1 }, hhd);\n _2.wf = function khd() {\n return ehd(this);\n };\n _2.Af = function lhd() {\n var a;\n return a = BD(hkd(this.f, (Y9c(), S8c)), 142), !a && (a = new H_b()), a;\n };\n _2.Cf = function nhd() {\n return fhd(this);\n };\n _2.Ef = function phd(a) {\n var b;\n b = new K_b(a);\n jkd(this.f, (Y9c(), S8c), b);\n };\n _2.Ff = function qhd(a) {\n jkd(this.f, (Y9c(), f9c), new r0b(a));\n };\n _2.yf = function ihd() {\n return this.d;\n };\n _2.zf = function jhd() {\n var a, b;\n if (!this.a) {\n this.a = new Rkb();\n for (b = new Sr(ur($sd(BD(this.f, 33)).a.Kc(), new Sq())); Qr(b); ) {\n a = BD(Rr(b), 79);\n Ekb(this.a, new $gd(a));\n }\n }\n return this.a;\n };\n _2.Bf = function mhd() {\n var a, b;\n if (!this.c) {\n this.c = new Rkb();\n for (b = new Sr(ur(_sd(BD(this.f, 33)).a.Kc(), new Sq())); Qr(b); ) {\n a = BD(Rr(b), 79);\n Ekb(this.c, new $gd(a));\n }\n }\n return this.c;\n };\n _2.Df = function ohd() {\n return Vod(BD(this.f, 33)).i != 0 || Ccb(DD(BD(this.f, 33).We((Y9c(), M8c))));\n };\n _2.Gf = function rhd() {\n ghd(this, (Pgd(), Ogd));\n };\n _2.a = null;\n _2.b = null;\n _2.c = null;\n _2.d = null;\n _2.e = null;\n mdb(Use, \"ElkGraphAdapters/ElkNodeAdapter\", 629);\n bcb(1266, 553, { 838: 1 }, thd);\n _2.wf = function vhd() {\n return shd(this);\n };\n _2.zf = function uhd() {\n var a, b;\n if (!this.a) {\n this.a = Pu(BD(this.f, 118).xg().i);\n for (b = new Fyd(BD(this.f, 118).xg()); b.e != b.i.gc(); ) {\n a = BD(Dyd(b), 79);\n Ekb(this.a, new $gd(a));\n }\n }\n return this.a;\n };\n _2.Bf = function whd() {\n var a, b;\n if (!this.c) {\n this.c = Pu(BD(this.f, 118).yg().i);\n for (b = new Fyd(BD(this.f, 118).yg()); b.e != b.i.gc(); ) {\n a = BD(Dyd(b), 79);\n Ekb(this.c, new $gd(a));\n }\n }\n return this.c;\n };\n _2.Hf = function xhd() {\n return BD(BD(this.f, 118).We((Y9c(), A9c)), 61);\n };\n _2.If = function yhd() {\n var a, b, c2, d, e, f2, g, h;\n d = mpd(BD(this.f, 118));\n for (c2 = new Fyd(BD(this.f, 118).yg()); c2.e != c2.i.gc(); ) {\n a = BD(Dyd(c2), 79);\n for (h = new Fyd((!a.c && (a.c = new y5d(z2, a, 5, 8)), a.c)); h.e != h.i.gc(); ) {\n g = BD(Dyd(h), 82);\n if (ntd(atd(g), d)) {\n return true;\n } else if (atd(g) == d && Ccb(DD(hkd(a, (Y9c(), N8c))))) {\n return true;\n }\n }\n }\n for (b = new Fyd(BD(this.f, 118).xg()); b.e != b.i.gc(); ) {\n a = BD(Dyd(b), 79);\n for (f2 = new Fyd((!a.b && (a.b = new y5d(z2, a, 4, 7)), a.b)); f2.e != f2.i.gc(); ) {\n e = BD(Dyd(f2), 82);\n if (ntd(atd(e), d)) {\n return true;\n }\n }\n }\n return false;\n };\n _2.a = null;\n _2.b = null;\n _2.c = null;\n mdb(Use, \"ElkGraphAdapters/ElkPortAdapter\", 1266);\n bcb(1267, 1, Dke, Ahd);\n _2.ue = function Bhd(a, b) {\n return zhd(BD(a, 118), BD(b, 118));\n };\n _2.Fb = function Chd(a) {\n return this === a;\n };\n _2.ve = function Dhd() {\n return new tpb(this);\n };\n mdb(Use, \"ElkGraphAdapters/PortComparator\", 1267);\n var m5 = odb(Vse, \"EObject\");\n var x2 = odb(Wse, Xse);\n var y2 = odb(Wse, Yse);\n var C2 = odb(Wse, Zse);\n var G2 = odb(Wse, \"ElkShape\");\n var z2 = odb(Wse, $se);\n var B2 = odb(Wse, _se);\n var A2 = odb(Wse, ate);\n var k5 = odb(Vse, bte);\n var i5 = odb(Vse, \"EFactory\");\n var Ehd;\n var l5 = odb(Vse, cte);\n var o5 = odb(Vse, \"EPackage\");\n var Ghd;\n var Ihd, Jhd, Khd, Lhd, Mhd, Nhd, Ohd, Phd, Qhd, Rhd, Shd;\n var D2 = odb(Wse, dte);\n var E2 = odb(Wse, ete);\n var F2 = odb(Wse, fte);\n bcb(90, 1, gte);\n _2.Jg = function Vhd() {\n this.Kg();\n return null;\n };\n _2.Kg = function Whd() {\n return null;\n };\n _2.Lg = function Xhd() {\n return this.Kg(), false;\n };\n _2.Mg = function Yhd() {\n return false;\n };\n _2.Ng = function Zhd(a) {\n Uhd(this, a);\n };\n mdb(hte, \"BasicNotifierImpl\", 90);\n bcb(97, 90, pte);\n _2.nh = function fjd() {\n return oid(this);\n };\n _2.Og = function Fid(a, b) {\n return a;\n };\n _2.Pg = function Gid() {\n throw vbb(new bgb());\n };\n _2.Qg = function Hid(a) {\n var b;\n return b = zUd(BD(XKd(this.Tg(), this.Vg()), 18)), this.eh().ih(this, b.n, b.f, a);\n };\n _2.Rg = function Iid(a, b) {\n throw vbb(new bgb());\n };\n _2.Sg = function Jid(a, b, c2) {\n return _hd(this, a, b, c2);\n };\n _2.Tg = function Kid() {\n var a;\n if (this.Pg()) {\n a = this.Pg().ck();\n if (a) {\n return a;\n }\n }\n return this.zh();\n };\n _2.Ug = function Lid() {\n return aid(this);\n };\n _2.Vg = function Mid() {\n throw vbb(new bgb());\n };\n _2.Wg = function Oid() {\n var a, b;\n b = this.ph().dk();\n !b && this.Pg().ik(b = (nRd(), a = pNd(TKd(this.Tg())), a == null ? mRd : new qRd(this, a)));\n return b;\n };\n _2.Xg = function Qid(a, b) {\n return a;\n };\n _2.Yg = function Rid(a) {\n var b;\n b = a.Gj();\n return !b ? bLd(this.Tg(), a) : a.aj();\n };\n _2.Zg = function Sid() {\n var a;\n a = this.Pg();\n return !a ? null : a.fk();\n };\n _2.$g = function Tid() {\n return !this.Pg() ? null : this.Pg().ck();\n };\n _2._g = function Uid(a, b, c2) {\n return fid(this, a, b, c2);\n };\n _2.ah = function Vid(a) {\n return gid(this, a);\n };\n _2.bh = function Wid(a, b) {\n return hid(this, a, b);\n };\n _2.dh = function Xid() {\n var a;\n a = this.Pg();\n return !!a && a.gk();\n };\n _2.eh = function Yid() {\n throw vbb(new bgb());\n };\n _2.fh = function Zid() {\n return jid(this);\n };\n _2.gh = function $id(a, b, c2, d) {\n return kid(this, a, b, d);\n };\n _2.hh = function _id(a, b, c2) {\n var d;\n return d = BD(XKd(this.Tg(), b), 66), d.Nj().Qj(this, this.yh(), b - this.Ah(), a, c2);\n };\n _2.ih = function ajd(a, b, c2, d) {\n return lid(this, a, b, d);\n };\n _2.jh = function bjd(a, b, c2) {\n var d;\n return d = BD(XKd(this.Tg(), b), 66), d.Nj().Rj(this, this.yh(), b - this.Ah(), a, c2);\n };\n _2.kh = function cjd() {\n return !!this.Pg() && !!this.Pg().ek();\n };\n _2.lh = function djd(a) {\n return mid(this, a);\n };\n _2.mh = function ejd(a) {\n return nid(this, a);\n };\n _2.oh = function gjd(a) {\n return rid(this, a);\n };\n _2.ph = function hjd() {\n throw vbb(new bgb());\n };\n _2.qh = function ijd() {\n return !this.Pg() ? null : this.Pg().ek();\n };\n _2.rh = function jjd() {\n return jid(this);\n };\n _2.sh = function kjd(a, b) {\n yid(this, a, b);\n };\n _2.th = function ljd(a) {\n this.ph().hk(a);\n };\n _2.uh = function mjd(a) {\n this.ph().kk(a);\n };\n _2.vh = function njd(a) {\n this.ph().jk(a);\n };\n _2.wh = function ojd(a, b) {\n var c2, d, e, f2;\n f2 = this.Zg();\n if (!!f2 && !!a) {\n b = Txd(f2.Vk(), this, b);\n f2.Zk(this);\n }\n d = this.eh();\n if (d) {\n if ((Nid(this, this.eh(), this.Vg()).Bb & Tje) != 0) {\n e = d.fh();\n !!e && (!a ? e.Yk(this) : !f2 && e.Zk(this));\n } else {\n b = (c2 = this.Vg(), c2 >= 0 ? this.Qg(b) : this.eh().ih(this, -1 - c2, null, b));\n b = this.Sg(null, -1, b);\n }\n }\n this.uh(a);\n return b;\n };\n _2.xh = function pjd(a) {\n var b, c2, d, e, f2, g, h, i3;\n c2 = this.Tg();\n f2 = bLd(c2, a);\n b = this.Ah();\n if (f2 >= b) {\n return BD(a, 66).Nj().Uj(this, this.yh(), f2 - b);\n } else if (f2 <= -1) {\n g = e1d((O6d(), M6d), c2, a);\n if (g) {\n Q6d();\n BD(g, 66).Oj() || (g = _1d(q1d(M6d, g)));\n e = (d = this.Yg(g), BD(d >= 0 ? this._g(d, true, true) : sid(this, g, true), 153));\n i3 = g.Zj();\n if (i3 > 1 || i3 == -1) {\n return BD(BD(e, 215).hl(a, false), 76);\n }\n } else {\n throw vbb(new Wdb(ite + a.ne() + lte));\n }\n } else if (a.$j()) {\n return d = this.Yg(a), BD(d >= 0 ? this._g(d, false, true) : sid(this, a, false), 76);\n }\n h = new nGd(this, a);\n return h;\n };\n _2.yh = function qjd() {\n return Aid(this);\n };\n _2.zh = function rjd() {\n return (NFd(), MFd).S;\n };\n _2.Ah = function sjd() {\n return aLd(this.zh());\n };\n _2.Bh = function tjd(a) {\n Cid(this, a);\n };\n _2.Ib = function ujd() {\n return Eid(this);\n };\n mdb(qte, \"BasicEObjectImpl\", 97);\n var zFd;\n bcb(114, 97, { 105: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1 });\n _2.Ch = function Djd(a) {\n var b;\n b = xjd(this);\n return b[a];\n };\n _2.Dh = function Ejd(a, b) {\n var c2;\n c2 = xjd(this);\n NC(c2, a, b);\n };\n _2.Eh = function Fjd(a) {\n var b;\n b = xjd(this);\n NC(b, a, null);\n };\n _2.Jg = function Gjd() {\n return BD(Ajd(this, 4), 126);\n };\n _2.Kg = function Hjd() {\n throw vbb(new bgb());\n };\n _2.Lg = function Ijd() {\n return (this.Db & 4) != 0;\n };\n _2.Pg = function Jjd() {\n throw vbb(new bgb());\n };\n _2.Fh = function Kjd(a) {\n Cjd(this, 2, a);\n };\n _2.Rg = function Ljd(a, b) {\n this.Db = b << 16 | this.Db & 255;\n this.Fh(a);\n };\n _2.Tg = function Mjd() {\n return wjd(this);\n };\n _2.Vg = function Njd() {\n return this.Db >> 16;\n };\n _2.Wg = function Ojd() {\n var a, b;\n return nRd(), b = pNd(TKd((a = BD(Ajd(this, 16), 26), !a ? this.zh() : a))), b == null ? mRd : new qRd(this, b);\n };\n _2.Mg = function Pjd() {\n return (this.Db & 1) == 0;\n };\n _2.Zg = function Qjd() {\n return BD(Ajd(this, 128), 1935);\n };\n _2.$g = function Rjd() {\n return BD(Ajd(this, 16), 26);\n };\n _2.dh = function Sjd() {\n return (this.Db & 32) != 0;\n };\n _2.eh = function Tjd() {\n return BD(Ajd(this, 2), 49);\n };\n _2.kh = function Ujd() {\n return (this.Db & 64) != 0;\n };\n _2.ph = function Vjd() {\n throw vbb(new bgb());\n };\n _2.qh = function Wjd() {\n return BD(Ajd(this, 64), 281);\n };\n _2.th = function Xjd(a) {\n Cjd(this, 16, a);\n };\n _2.uh = function Yjd(a) {\n Cjd(this, 128, a);\n };\n _2.vh = function Zjd(a) {\n Cjd(this, 64, a);\n };\n _2.yh = function $jd() {\n return yjd(this);\n };\n _2.Db = 0;\n mdb(qte, \"MinimalEObjectImpl\", 114);\n bcb(115, 114, { 105: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 });\n _2.Fh = function _jd(a) {\n this.Cb = a;\n };\n _2.eh = function akd() {\n return this.Cb;\n };\n mdb(qte, \"MinimalEObjectImpl/Container\", 115);\n bcb(1985, 115, { 105: 1, 413: 1, 94: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 });\n _2._g = function kkd(a, b, c2) {\n return bkd(this, a, b, c2);\n };\n _2.jh = function lkd(a, b, c2) {\n return ckd(this, a, b, c2);\n };\n _2.lh = function mkd(a) {\n return dkd(this, a);\n };\n _2.sh = function nkd(a, b) {\n ekd(this, a, b);\n };\n _2.zh = function okd() {\n return Thd(), Shd;\n };\n _2.Bh = function pkd(a) {\n fkd(this, a);\n };\n _2.Ve = function qkd() {\n return gkd(this);\n };\n _2.We = function rkd(a) {\n return hkd(this, a);\n };\n _2.Xe = function skd(a) {\n return ikd(this, a);\n };\n _2.Ye = function tkd(a, b) {\n return jkd(this, a, b);\n };\n mdb(rte, \"EMapPropertyHolderImpl\", 1985);\n bcb(567, 115, { 105: 1, 469: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 }, xkd);\n _2._g = function ykd(a, b, c2) {\n switch (a) {\n case 0:\n return this.a;\n case 1:\n return this.b;\n }\n return fid(this, a, b, c2);\n };\n _2.lh = function zkd(a) {\n switch (a) {\n case 0:\n return this.a != 0;\n case 1:\n return this.b != 0;\n }\n return mid(this, a);\n };\n _2.sh = function Akd(a, b) {\n switch (a) {\n case 0:\n vkd(this, Edb(ED(b)));\n return;\n case 1:\n wkd(this, Edb(ED(b)));\n return;\n }\n yid(this, a, b);\n };\n _2.zh = function Bkd() {\n return Thd(), Ihd;\n };\n _2.Bh = function Ckd(a) {\n switch (a) {\n case 0:\n vkd(this, 0);\n return;\n case 1:\n wkd(this, 0);\n return;\n }\n Cid(this, a);\n };\n _2.Ib = function Dkd() {\n var a;\n if ((this.Db & 64) != 0)\n return Eid(this);\n a = new Jfb(Eid(this));\n a.a += \" (x: \";\n Bfb(a, this.a);\n a.a += \", y: \";\n Bfb(a, this.b);\n a.a += \")\";\n return a.a;\n };\n _2.a = 0;\n _2.b = 0;\n mdb(rte, \"ElkBendPointImpl\", 567);\n bcb(723, 1985, { 105: 1, 413: 1, 160: 1, 94: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 });\n _2._g = function Nkd(a, b, c2) {\n return Ekd(this, a, b, c2);\n };\n _2.hh = function Okd(a, b, c2) {\n return Fkd(this, a, b, c2);\n };\n _2.jh = function Pkd(a, b, c2) {\n return Gkd(this, a, b, c2);\n };\n _2.lh = function Qkd(a) {\n return Hkd(this, a);\n };\n _2.sh = function Rkd(a, b) {\n Ikd(this, a, b);\n };\n _2.zh = function Skd() {\n return Thd(), Mhd;\n };\n _2.Bh = function Tkd(a) {\n Jkd(this, a);\n };\n _2.zg = function Ukd() {\n return this.k;\n };\n _2.Ag = function Vkd() {\n return Kkd(this);\n };\n _2.Ib = function Wkd() {\n return Mkd(this);\n };\n _2.k = null;\n mdb(rte, \"ElkGraphElementImpl\", 723);\n bcb(724, 723, { 105: 1, 413: 1, 160: 1, 470: 1, 94: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 });\n _2._g = function gld(a, b, c2) {\n return Xkd(this, a, b, c2);\n };\n _2.lh = function hld(a) {\n return Ykd(this, a);\n };\n _2.sh = function ild(a, b) {\n Zkd(this, a, b);\n };\n _2.zh = function jld() {\n return Thd(), Rhd;\n };\n _2.Bh = function kld(a) {\n $kd(this, a);\n };\n _2.Bg = function lld() {\n return this.f;\n };\n _2.Cg = function mld() {\n return this.g;\n };\n _2.Dg = function nld() {\n return this.i;\n };\n _2.Eg = function old() {\n return this.j;\n };\n _2.Fg = function pld(a, b) {\n _kd(this, a, b);\n };\n _2.Gg = function qld(a, b) {\n bld(this, a, b);\n };\n _2.Hg = function rld(a) {\n dld(this, a);\n };\n _2.Ig = function sld(a) {\n eld(this, a);\n };\n _2.Ib = function tld() {\n return fld(this);\n };\n _2.f = 0;\n _2.g = 0;\n _2.i = 0;\n _2.j = 0;\n mdb(rte, \"ElkShapeImpl\", 724);\n bcb(725, 724, { 105: 1, 413: 1, 82: 1, 160: 1, 470: 1, 94: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 });\n _2._g = function Bld(a, b, c2) {\n return uld(this, a, b, c2);\n };\n _2.hh = function Cld(a, b, c2) {\n return vld(this, a, b, c2);\n };\n _2.jh = function Dld(a, b, c2) {\n return wld(this, a, b, c2);\n };\n _2.lh = function Eld(a) {\n return xld(this, a);\n };\n _2.sh = function Fld(a, b) {\n yld(this, a, b);\n };\n _2.zh = function Gld() {\n return Thd(), Jhd;\n };\n _2.Bh = function Hld(a) {\n zld(this, a);\n };\n _2.xg = function Ild() {\n return !this.d && (this.d = new y5d(B2, this, 8, 5)), this.d;\n };\n _2.yg = function Jld() {\n return !this.e && (this.e = new y5d(B2, this, 7, 4)), this.e;\n };\n mdb(rte, \"ElkConnectableShapeImpl\", 725);\n bcb(352, 723, { 105: 1, 413: 1, 79: 1, 160: 1, 352: 1, 94: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 }, Tld);\n _2.Qg = function Uld(a) {\n return Lld(this, a);\n };\n _2._g = function Vld(a, b, c2) {\n switch (a) {\n case 3:\n return Mld(this);\n case 4:\n return !this.b && (this.b = new y5d(z2, this, 4, 7)), this.b;\n case 5:\n return !this.c && (this.c = new y5d(z2, this, 5, 8)), this.c;\n case 6:\n return !this.a && (this.a = new cUd(A2, this, 6, 6)), this.a;\n case 7:\n return Bcb(), !this.b && (this.b = new y5d(z2, this, 4, 7)), this.b.i <= 1 && (!this.c && (this.c = new y5d(z2, this, 5, 8)), this.c.i <= 1) ? false : true;\n case 8:\n return Bcb(), Pld(this) ? true : false;\n case 9:\n return Bcb(), Qld(this) ? true : false;\n case 10:\n return Bcb(), !this.b && (this.b = new y5d(z2, this, 4, 7)), this.b.i != 0 && (!this.c && (this.c = new y5d(z2, this, 5, 8)), this.c.i != 0) ? true : false;\n }\n return Ekd(this, a, b, c2);\n };\n _2.hh = function Wld(a, b, c2) {\n var d;\n switch (b) {\n case 3:\n !!this.Cb && (c2 = (d = this.Db >> 16, d >= 0 ? Lld(this, c2) : this.Cb.ih(this, -1 - d, null, c2)));\n return Kld(this, BD(a, 33), c2);\n case 4:\n return !this.b && (this.b = new y5d(z2, this, 4, 7)), Sxd(this.b, a, c2);\n case 5:\n return !this.c && (this.c = new y5d(z2, this, 5, 8)), Sxd(this.c, a, c2);\n case 6:\n return !this.a && (this.a = new cUd(A2, this, 6, 6)), Sxd(this.a, a, c2);\n }\n return Fkd(this, a, b, c2);\n };\n _2.jh = function Xld(a, b, c2) {\n switch (b) {\n case 3:\n return Kld(this, null, c2);\n case 4:\n return !this.b && (this.b = new y5d(z2, this, 4, 7)), Txd(this.b, a, c2);\n case 5:\n return !this.c && (this.c = new y5d(z2, this, 5, 8)), Txd(this.c, a, c2);\n case 6:\n return !this.a && (this.a = new cUd(A2, this, 6, 6)), Txd(this.a, a, c2);\n }\n return Gkd(this, a, b, c2);\n };\n _2.lh = function Yld(a) {\n switch (a) {\n case 3:\n return !!Mld(this);\n case 4:\n return !!this.b && this.b.i != 0;\n case 5:\n return !!this.c && this.c.i != 0;\n case 6:\n return !!this.a && this.a.i != 0;\n case 7:\n return !this.b && (this.b = new y5d(z2, this, 4, 7)), !(this.b.i <= 1 && (!this.c && (this.c = new y5d(z2, this, 5, 8)), this.c.i <= 1));\n case 8:\n return Pld(this);\n case 9:\n return Qld(this);\n case 10:\n return !this.b && (this.b = new y5d(z2, this, 4, 7)), this.b.i != 0 && (!this.c && (this.c = new y5d(z2, this, 5, 8)), this.c.i != 0);\n }\n return Hkd(this, a);\n };\n _2.sh = function Zld(a, b) {\n switch (a) {\n case 3:\n Rld(this, BD(b, 33));\n return;\n case 4:\n !this.b && (this.b = new y5d(z2, this, 4, 7));\n Uxd(this.b);\n !this.b && (this.b = new y5d(z2, this, 4, 7));\n ytd(this.b, BD(b, 14));\n return;\n case 5:\n !this.c && (this.c = new y5d(z2, this, 5, 8));\n Uxd(this.c);\n !this.c && (this.c = new y5d(z2, this, 5, 8));\n ytd(this.c, BD(b, 14));\n return;\n case 6:\n !this.a && (this.a = new cUd(A2, this, 6, 6));\n Uxd(this.a);\n !this.a && (this.a = new cUd(A2, this, 6, 6));\n ytd(this.a, BD(b, 14));\n return;\n }\n Ikd(this, a, b);\n };\n _2.zh = function $ld() {\n return Thd(), Khd;\n };\n _2.Bh = function _ld(a) {\n switch (a) {\n case 3:\n Rld(this, null);\n return;\n case 4:\n !this.b && (this.b = new y5d(z2, this, 4, 7));\n Uxd(this.b);\n return;\n case 5:\n !this.c && (this.c = new y5d(z2, this, 5, 8));\n Uxd(this.c);\n return;\n case 6:\n !this.a && (this.a = new cUd(A2, this, 6, 6));\n Uxd(this.a);\n return;\n }\n Jkd(this, a);\n };\n _2.Ib = function amd() {\n return Sld(this);\n };\n mdb(rte, \"ElkEdgeImpl\", 352);\n bcb(439, 1985, { 105: 1, 413: 1, 202: 1, 439: 1, 94: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 }, rmd);\n _2.Qg = function smd(a) {\n return cmd(this, a);\n };\n _2._g = function tmd(a, b, c2) {\n switch (a) {\n case 1:\n return this.j;\n case 2:\n return this.k;\n case 3:\n return this.b;\n case 4:\n return this.c;\n case 5:\n return !this.a && (this.a = new xMd(y2, this, 5)), this.a;\n case 6:\n return fmd(this);\n case 7:\n if (b)\n return emd(this);\n return this.i;\n case 8:\n if (b)\n return dmd(this);\n return this.f;\n case 9:\n return !this.g && (this.g = new y5d(A2, this, 9, 10)), this.g;\n case 10:\n return !this.e && (this.e = new y5d(A2, this, 10, 9)), this.e;\n case 11:\n return this.d;\n }\n return bkd(this, a, b, c2);\n };\n _2.hh = function umd(a, b, c2) {\n var d, e, f2;\n switch (b) {\n case 6:\n !!this.Cb && (c2 = (e = this.Db >> 16, e >= 0 ? cmd(this, c2) : this.Cb.ih(this, -1 - e, null, c2)));\n return bmd(this, BD(a, 79), c2);\n case 9:\n return !this.g && (this.g = new y5d(A2, this, 9, 10)), Sxd(this.g, a, c2);\n case 10:\n return !this.e && (this.e = new y5d(A2, this, 10, 9)), Sxd(this.e, a, c2);\n }\n return f2 = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? (Thd(), Lhd) : d), b), 66), f2.Nj().Qj(this, yjd(this), b - aLd((Thd(), Lhd)), a, c2);\n };\n _2.jh = function vmd(a, b, c2) {\n switch (b) {\n case 5:\n return !this.a && (this.a = new xMd(y2, this, 5)), Txd(this.a, a, c2);\n case 6:\n return bmd(this, null, c2);\n case 9:\n return !this.g && (this.g = new y5d(A2, this, 9, 10)), Txd(this.g, a, c2);\n case 10:\n return !this.e && (this.e = new y5d(A2, this, 10, 9)), Txd(this.e, a, c2);\n }\n return ckd(this, a, b, c2);\n };\n _2.lh = function wmd(a) {\n switch (a) {\n case 1:\n return this.j != 0;\n case 2:\n return this.k != 0;\n case 3:\n return this.b != 0;\n case 4:\n return this.c != 0;\n case 5:\n return !!this.a && this.a.i != 0;\n case 6:\n return !!fmd(this);\n case 7:\n return !!this.i;\n case 8:\n return !!this.f;\n case 9:\n return !!this.g && this.g.i != 0;\n case 10:\n return !!this.e && this.e.i != 0;\n case 11:\n return this.d != null;\n }\n return dkd(this, a);\n };\n _2.sh = function xmd(a, b) {\n switch (a) {\n case 1:\n omd(this, Edb(ED(b)));\n return;\n case 2:\n pmd(this, Edb(ED(b)));\n return;\n case 3:\n hmd(this, Edb(ED(b)));\n return;\n case 4:\n imd(this, Edb(ED(b)));\n return;\n case 5:\n !this.a && (this.a = new xMd(y2, this, 5));\n Uxd(this.a);\n !this.a && (this.a = new xMd(y2, this, 5));\n ytd(this.a, BD(b, 14));\n return;\n case 6:\n mmd(this, BD(b, 79));\n return;\n case 7:\n lmd(this, BD(b, 82));\n return;\n case 8:\n kmd(this, BD(b, 82));\n return;\n case 9:\n !this.g && (this.g = new y5d(A2, this, 9, 10));\n Uxd(this.g);\n !this.g && (this.g = new y5d(A2, this, 9, 10));\n ytd(this.g, BD(b, 14));\n return;\n case 10:\n !this.e && (this.e = new y5d(A2, this, 10, 9));\n Uxd(this.e);\n !this.e && (this.e = new y5d(A2, this, 10, 9));\n ytd(this.e, BD(b, 14));\n return;\n case 11:\n jmd(this, GD(b));\n return;\n }\n ekd(this, a, b);\n };\n _2.zh = function ymd() {\n return Thd(), Lhd;\n };\n _2.Bh = function zmd(a) {\n switch (a) {\n case 1:\n omd(this, 0);\n return;\n case 2:\n pmd(this, 0);\n return;\n case 3:\n hmd(this, 0);\n return;\n case 4:\n imd(this, 0);\n return;\n case 5:\n !this.a && (this.a = new xMd(y2, this, 5));\n Uxd(this.a);\n return;\n case 6:\n mmd(this, null);\n return;\n case 7:\n lmd(this, null);\n return;\n case 8:\n kmd(this, null);\n return;\n case 9:\n !this.g && (this.g = new y5d(A2, this, 9, 10));\n Uxd(this.g);\n return;\n case 10:\n !this.e && (this.e = new y5d(A2, this, 10, 9));\n Uxd(this.e);\n return;\n case 11:\n jmd(this, null);\n return;\n }\n fkd(this, a);\n };\n _2.Ib = function Amd() {\n return qmd(this);\n };\n _2.b = 0;\n _2.c = 0;\n _2.d = null;\n _2.j = 0;\n _2.k = 0;\n mdb(rte, \"ElkEdgeSectionImpl\", 439);\n bcb(150, 115, { 105: 1, 92: 1, 90: 1, 147: 1, 56: 1, 108: 1, 49: 1, 97: 1, 150: 1, 114: 1, 115: 1 });\n _2._g = function Emd(a, b, c2) {\n var d;\n if (a == 0) {\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), this.Ab;\n }\n return bid(this, a - aLd(this.zh()), XKd((d = BD(Ajd(this, 16), 26), !d ? this.zh() : d), a), b, c2);\n };\n _2.hh = function Fmd(a, b, c2) {\n var d, e;\n if (b == 0) {\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Sxd(this.Ab, a, c2);\n }\n return e = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? this.zh() : d), b), 66), e.Nj().Qj(this, yjd(this), b - aLd(this.zh()), a, c2);\n };\n _2.jh = function Gmd(a, b, c2) {\n var d, e;\n if (b == 0) {\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Txd(this.Ab, a, c2);\n }\n return e = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? this.zh() : d), b), 66), e.Nj().Rj(this, yjd(this), b - aLd(this.zh()), a, c2);\n };\n _2.lh = function Hmd(a) {\n var b;\n if (a == 0) {\n return !!this.Ab && this.Ab.i != 0;\n }\n return cid(this, a - aLd(this.zh()), XKd((b = BD(Ajd(this, 16), 26), !b ? this.zh() : b), a));\n };\n _2.oh = function Imd(a) {\n return Bmd(this, a);\n };\n _2.sh = function Jmd(a, b) {\n var c2;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n ytd(this.Ab, BD(b, 14));\n return;\n }\n did(this, a - aLd(this.zh()), XKd((c2 = BD(Ajd(this, 16), 26), !c2 ? this.zh() : c2), a), b);\n };\n _2.uh = function Kmd(a) {\n Cjd(this, 128, a);\n };\n _2.zh = function Lmd() {\n return jGd(), ZFd;\n };\n _2.Bh = function Mmd(a) {\n var b;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n return;\n }\n eid(this, a - aLd(this.zh()), XKd((b = BD(Ajd(this, 16), 26), !b ? this.zh() : b), a));\n };\n _2.Gh = function Nmd() {\n this.Bb |= 1;\n };\n _2.Hh = function Omd(a) {\n return Dmd(this, a);\n };\n _2.Bb = 0;\n mdb(qte, \"EModelElementImpl\", 150);\n bcb(704, 150, { 105: 1, 92: 1, 90: 1, 471: 1, 147: 1, 56: 1, 108: 1, 49: 1, 97: 1, 150: 1, 114: 1, 115: 1 }, $md);\n _2.Ih = function _md(a, b) {\n return Vmd(this, a, b);\n };\n _2.Jh = function and(a) {\n var b, c2, d, e, f2;\n if (this.a != bKd(a) || (a.Bb & 256) != 0) {\n throw vbb(new Wdb(xte + a.zb + ute));\n }\n for (d = _Kd(a); VKd(d.a).i != 0; ) {\n c2 = BD(nOd(d, 0, (b = BD(qud(VKd(d.a), 0), 87), f2 = b.c, JD(f2, 88) ? BD(f2, 26) : (jGd(), _Fd))), 26);\n if (dKd(c2)) {\n e = bKd(c2).Nh().Jh(c2);\n BD(e, 49).th(a);\n return e;\n }\n d = _Kd(c2);\n }\n return (a.D != null ? a.D : a.B) == \"java.util.Map$Entry\" ? new lHd(a) : new _Gd(a);\n };\n _2.Kh = function bnd(a, b) {\n return Wmd(this, a, b);\n };\n _2._g = function cnd(a, b, c2) {\n var d;\n switch (a) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), this.Ab;\n case 1:\n return this.a;\n }\n return bid(this, a - aLd((jGd(), WFd)), XKd((d = BD(Ajd(this, 16), 26), !d ? WFd : d), a), b, c2);\n };\n _2.hh = function dnd(a, b, c2) {\n var d, e;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Sxd(this.Ab, a, c2);\n case 1:\n !!this.a && (c2 = BD(this.a, 49).ih(this, 4, o5, c2));\n return Tmd(this, BD(a, 235), c2);\n }\n return e = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? (jGd(), WFd) : d), b), 66), e.Nj().Qj(this, yjd(this), b - aLd((jGd(), WFd)), a, c2);\n };\n _2.jh = function end2(a, b, c2) {\n var d, e;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Txd(this.Ab, a, c2);\n case 1:\n return Tmd(this, null, c2);\n }\n return e = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? (jGd(), WFd) : d), b), 66), e.Nj().Rj(this, yjd(this), b - aLd((jGd(), WFd)), a, c2);\n };\n _2.lh = function fnd(a) {\n var b;\n switch (a) {\n case 0:\n return !!this.Ab && this.Ab.i != 0;\n case 1:\n return !!this.a;\n }\n return cid(this, a - aLd((jGd(), WFd)), XKd((b = BD(Ajd(this, 16), 26), !b ? WFd : b), a));\n };\n _2.sh = function gnd(a, b) {\n var c2;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n ytd(this.Ab, BD(b, 14));\n return;\n case 1:\n Ymd(this, BD(b, 235));\n return;\n }\n did(this, a - aLd((jGd(), WFd)), XKd((c2 = BD(Ajd(this, 16), 26), !c2 ? WFd : c2), a), b);\n };\n _2.zh = function hnd() {\n return jGd(), WFd;\n };\n _2.Bh = function ind(a) {\n var b;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n return;\n case 1:\n Ymd(this, null);\n return;\n }\n eid(this, a - aLd((jGd(), WFd)), XKd((b = BD(Ajd(this, 16), 26), !b ? WFd : b), a));\n };\n var Pmd, Qmd, Rmd;\n mdb(qte, \"EFactoryImpl\", 704);\n bcb(zte, 704, { 105: 1, 2014: 1, 92: 1, 90: 1, 471: 1, 147: 1, 56: 1, 108: 1, 49: 1, 97: 1, 150: 1, 114: 1, 115: 1 }, knd);\n _2.Ih = function lnd(a, b) {\n switch (a.yj()) {\n case 12:\n return BD(b, 146).tg();\n case 13:\n return fcb(b);\n default:\n throw vbb(new Wdb(tte + a.ne() + ute));\n }\n };\n _2.Jh = function mnd(a) {\n var b, c2, d, e, f2, g, h, i3;\n switch (a.G == -1 && (a.G = (b = bKd(a), b ? HLd(b.Mh(), a) : -1)), a.G) {\n case 4:\n return f2 = new Jod(), f2;\n case 6:\n return g = new apd(), g;\n case 7:\n return h = new ppd(), h;\n case 8:\n return d = new Tld(), d;\n case 9:\n return c2 = new xkd(), c2;\n case 10:\n return e = new rmd(), e;\n case 11:\n return i3 = new Bpd(), i3;\n default:\n throw vbb(new Wdb(xte + a.zb + ute));\n }\n };\n _2.Kh = function nnd(a, b) {\n switch (a.yj()) {\n case 13:\n case 12:\n return null;\n default:\n throw vbb(new Wdb(tte + a.ne() + ute));\n }\n };\n mdb(rte, \"ElkGraphFactoryImpl\", zte);\n bcb(438, 150, { 105: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 108: 1, 49: 1, 97: 1, 150: 1, 114: 1, 115: 1 });\n _2.Wg = function rnd() {\n var a, b;\n b = (a = BD(Ajd(this, 16), 26), pNd(TKd(!a ? this.zh() : a)));\n return b == null ? (nRd(), nRd(), mRd) : new GRd(this, b);\n };\n _2._g = function snd(a, b, c2) {\n var d;\n switch (a) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), this.Ab;\n case 1:\n return this.ne();\n }\n return bid(this, a - aLd(this.zh()), XKd((d = BD(Ajd(this, 16), 26), !d ? this.zh() : d), a), b, c2);\n };\n _2.lh = function tnd(a) {\n var b;\n switch (a) {\n case 0:\n return !!this.Ab && this.Ab.i != 0;\n case 1:\n return this.zb != null;\n }\n return cid(this, a - aLd(this.zh()), XKd((b = BD(Ajd(this, 16), 26), !b ? this.zh() : b), a));\n };\n _2.sh = function und(a, b) {\n var c2;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n ytd(this.Ab, BD(b, 14));\n return;\n case 1:\n this.Lh(GD(b));\n return;\n }\n did(this, a - aLd(this.zh()), XKd((c2 = BD(Ajd(this, 16), 26), !c2 ? this.zh() : c2), a), b);\n };\n _2.zh = function vnd() {\n return jGd(), $Fd;\n };\n _2.Bh = function wnd(a) {\n var b;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n return;\n case 1:\n this.Lh(null);\n return;\n }\n eid(this, a - aLd(this.zh()), XKd((b = BD(Ajd(this, 16), 26), !b ? this.zh() : b), a));\n };\n _2.ne = function xnd() {\n return this.zb;\n };\n _2.Lh = function ynd(a) {\n pnd(this, a);\n };\n _2.Ib = function znd() {\n return qnd(this);\n };\n _2.zb = null;\n mdb(qte, \"ENamedElementImpl\", 438);\n bcb(179, 438, { 105: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 235: 1, 108: 1, 49: 1, 97: 1, 150: 1, 179: 1, 114: 1, 115: 1, 675: 1 }, eod);\n _2.Qg = function god(a) {\n return Snd(this, a);\n };\n _2._g = function hod(a, b, c2) {\n var d;\n switch (a) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), this.Ab;\n case 1:\n return this.zb;\n case 2:\n return this.yb;\n case 3:\n return this.xb;\n case 4:\n return this.sb;\n case 5:\n return !this.rb && (this.rb = new jUd(this, d5, this)), this.rb;\n case 6:\n return !this.vb && (this.vb = new gUd(o5, this, 6, 7)), this.vb;\n case 7:\n if (b)\n return this.Db >> 16 == 7 ? BD(this.Cb, 235) : null;\n return Ind(this);\n }\n return bid(this, a - aLd((jGd(), cGd)), XKd((d = BD(Ajd(this, 16), 26), !d ? cGd : d), a), b, c2);\n };\n _2.hh = function iod(a, b, c2) {\n var d, e, f2;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Sxd(this.Ab, a, c2);\n case 4:\n !!this.sb && (c2 = BD(this.sb, 49).ih(this, 1, i5, c2));\n return Jnd(this, BD(a, 471), c2);\n case 5:\n return !this.rb && (this.rb = new jUd(this, d5, this)), Sxd(this.rb, a, c2);\n case 6:\n return !this.vb && (this.vb = new gUd(o5, this, 6, 7)), Sxd(this.vb, a, c2);\n case 7:\n !!this.Cb && (c2 = (e = this.Db >> 16, e >= 0 ? Snd(this, c2) : this.Cb.ih(this, -1 - e, null, c2)));\n return _hd(this, a, 7, c2);\n }\n return f2 = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? (jGd(), cGd) : d), b), 66), f2.Nj().Qj(this, yjd(this), b - aLd((jGd(), cGd)), a, c2);\n };\n _2.jh = function jod(a, b, c2) {\n var d, e;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Txd(this.Ab, a, c2);\n case 4:\n return Jnd(this, null, c2);\n case 5:\n return !this.rb && (this.rb = new jUd(this, d5, this)), Txd(this.rb, a, c2);\n case 6:\n return !this.vb && (this.vb = new gUd(o5, this, 6, 7)), Txd(this.vb, a, c2);\n case 7:\n return _hd(this, null, 7, c2);\n }\n return e = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? (jGd(), cGd) : d), b), 66), e.Nj().Rj(this, yjd(this), b - aLd((jGd(), cGd)), a, c2);\n };\n _2.lh = function kod(a) {\n var b;\n switch (a) {\n case 0:\n return !!this.Ab && this.Ab.i != 0;\n case 1:\n return this.zb != null;\n case 2:\n return this.yb != null;\n case 3:\n return this.xb != null;\n case 4:\n return !!this.sb;\n case 5:\n return !!this.rb && this.rb.i != 0;\n case 6:\n return !!this.vb && this.vb.i != 0;\n case 7:\n return !!Ind(this);\n }\n return cid(this, a - aLd((jGd(), cGd)), XKd((b = BD(Ajd(this, 16), 26), !b ? cGd : b), a));\n };\n _2.oh = function lod(a) {\n var b;\n b = Und(this, a);\n return b ? b : Bmd(this, a);\n };\n _2.sh = function mod(a, b) {\n var c2;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n ytd(this.Ab, BD(b, 14));\n return;\n case 1:\n pnd(this, GD(b));\n return;\n case 2:\n dod(this, GD(b));\n return;\n case 3:\n cod(this, GD(b));\n return;\n case 4:\n bod(this, BD(b, 471));\n return;\n case 5:\n !this.rb && (this.rb = new jUd(this, d5, this));\n Uxd(this.rb);\n !this.rb && (this.rb = new jUd(this, d5, this));\n ytd(this.rb, BD(b, 14));\n return;\n case 6:\n !this.vb && (this.vb = new gUd(o5, this, 6, 7));\n Uxd(this.vb);\n !this.vb && (this.vb = new gUd(o5, this, 6, 7));\n ytd(this.vb, BD(b, 14));\n return;\n }\n did(this, a - aLd((jGd(), cGd)), XKd((c2 = BD(Ajd(this, 16), 26), !c2 ? cGd : c2), a), b);\n };\n _2.vh = function nod(a) {\n var b, c2;\n if (!!a && !!this.rb) {\n for (c2 = new Fyd(this.rb); c2.e != c2.i.gc(); ) {\n b = Dyd(c2);\n JD(b, 351) && (BD(b, 351).w = null);\n }\n }\n Cjd(this, 64, a);\n };\n _2.zh = function ood() {\n return jGd(), cGd;\n };\n _2.Bh = function pod(a) {\n var b;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n return;\n case 1:\n pnd(this, null);\n return;\n case 2:\n dod(this, null);\n return;\n case 3:\n cod(this, null);\n return;\n case 4:\n bod(this, null);\n return;\n case 5:\n !this.rb && (this.rb = new jUd(this, d5, this));\n Uxd(this.rb);\n return;\n case 6:\n !this.vb && (this.vb = new gUd(o5, this, 6, 7));\n Uxd(this.vb);\n return;\n }\n eid(this, a - aLd((jGd(), cGd)), XKd((b = BD(Ajd(this, 16), 26), !b ? cGd : b), a));\n };\n _2.Gh = function qod() {\n Tnd(this);\n };\n _2.Mh = function rod() {\n return !this.rb && (this.rb = new jUd(this, d5, this)), this.rb;\n };\n _2.Nh = function sod() {\n return this.sb;\n };\n _2.Oh = function tod() {\n return this.ub;\n };\n _2.Ph = function uod() {\n return this.xb;\n };\n _2.Qh = function vod() {\n return this.yb;\n };\n _2.Rh = function wod(a) {\n this.ub = a;\n };\n _2.Ib = function xod() {\n var a;\n if ((this.Db & 64) != 0)\n return qnd(this);\n a = new Jfb(qnd(this));\n a.a += \" (nsURI: \";\n Efb(a, this.yb);\n a.a += \", nsPrefix: \";\n Efb(a, this.xb);\n a.a += \")\";\n return a.a;\n };\n _2.xb = null;\n _2.yb = null;\n mdb(qte, \"EPackageImpl\", 179);\n bcb(555, 179, { 105: 1, 2016: 1, 555: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 235: 1, 108: 1, 49: 1, 97: 1, 150: 1, 179: 1, 114: 1, 115: 1, 675: 1 }, Bod);\n _2.q = false;\n _2.r = false;\n var yod = false;\n mdb(rte, \"ElkGraphPackageImpl\", 555);\n bcb(354, 724, { 105: 1, 413: 1, 160: 1, 137: 1, 470: 1, 354: 1, 94: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 }, Jod);\n _2.Qg = function Kod(a) {\n return Eod(this, a);\n };\n _2._g = function Lod(a, b, c2) {\n switch (a) {\n case 7:\n return Fod(this);\n case 8:\n return this.a;\n }\n return Xkd(this, a, b, c2);\n };\n _2.hh = function Mod(a, b, c2) {\n var d;\n switch (b) {\n case 7:\n !!this.Cb && (c2 = (d = this.Db >> 16, d >= 0 ? Eod(this, c2) : this.Cb.ih(this, -1 - d, null, c2)));\n return Dod(this, BD(a, 160), c2);\n }\n return Fkd(this, a, b, c2);\n };\n _2.jh = function Nod(a, b, c2) {\n if (b == 7) {\n return Dod(this, null, c2);\n }\n return Gkd(this, a, b, c2);\n };\n _2.lh = function Ood(a) {\n switch (a) {\n case 7:\n return !!Fod(this);\n case 8:\n return !dfb(\"\", this.a);\n }\n return Ykd(this, a);\n };\n _2.sh = function Pod(a, b) {\n switch (a) {\n case 7:\n God(this, BD(b, 160));\n return;\n case 8:\n Hod(this, GD(b));\n return;\n }\n Zkd(this, a, b);\n };\n _2.zh = function Qod() {\n return Thd(), Nhd;\n };\n _2.Bh = function Rod(a) {\n switch (a) {\n case 7:\n God(this, null);\n return;\n case 8:\n Hod(this, \"\");\n return;\n }\n $kd(this, a);\n };\n _2.Ib = function Sod() {\n return Iod(this);\n };\n _2.a = \"\";\n mdb(rte, \"ElkLabelImpl\", 354);\n bcb(239, 725, { 105: 1, 413: 1, 82: 1, 160: 1, 33: 1, 470: 1, 239: 1, 94: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 }, apd);\n _2.Qg = function bpd(a) {\n return Uod(this, a);\n };\n _2._g = function cpd(a, b, c2) {\n switch (a) {\n case 9:\n return !this.c && (this.c = new cUd(F2, this, 9, 9)), this.c;\n case 10:\n return !this.a && (this.a = new cUd(E2, this, 10, 11)), this.a;\n case 11:\n return Xod(this);\n case 12:\n return !this.b && (this.b = new cUd(B2, this, 12, 3)), this.b;\n case 13:\n return Bcb(), !this.a && (this.a = new cUd(E2, this, 10, 11)), this.a.i > 0 ? true : false;\n }\n return uld(this, a, b, c2);\n };\n _2.hh = function dpd(a, b, c2) {\n var d;\n switch (b) {\n case 9:\n return !this.c && (this.c = new cUd(F2, this, 9, 9)), Sxd(this.c, a, c2);\n case 10:\n return !this.a && (this.a = new cUd(E2, this, 10, 11)), Sxd(this.a, a, c2);\n case 11:\n !!this.Cb && (c2 = (d = this.Db >> 16, d >= 0 ? Uod(this, c2) : this.Cb.ih(this, -1 - d, null, c2)));\n return Tod(this, BD(a, 33), c2);\n case 12:\n return !this.b && (this.b = new cUd(B2, this, 12, 3)), Sxd(this.b, a, c2);\n }\n return vld(this, a, b, c2);\n };\n _2.jh = function epd(a, b, c2) {\n switch (b) {\n case 9:\n return !this.c && (this.c = new cUd(F2, this, 9, 9)), Txd(this.c, a, c2);\n case 10:\n return !this.a && (this.a = new cUd(E2, this, 10, 11)), Txd(this.a, a, c2);\n case 11:\n return Tod(this, null, c2);\n case 12:\n return !this.b && (this.b = new cUd(B2, this, 12, 3)), Txd(this.b, a, c2);\n }\n return wld(this, a, b, c2);\n };\n _2.lh = function fpd(a) {\n switch (a) {\n case 9:\n return !!this.c && this.c.i != 0;\n case 10:\n return !!this.a && this.a.i != 0;\n case 11:\n return !!Xod(this);\n case 12:\n return !!this.b && this.b.i != 0;\n case 13:\n return !this.a && (this.a = new cUd(E2, this, 10, 11)), this.a.i > 0;\n }\n return xld(this, a);\n };\n _2.sh = function gpd(a, b) {\n switch (a) {\n case 9:\n !this.c && (this.c = new cUd(F2, this, 9, 9));\n Uxd(this.c);\n !this.c && (this.c = new cUd(F2, this, 9, 9));\n ytd(this.c, BD(b, 14));\n return;\n case 10:\n !this.a && (this.a = new cUd(E2, this, 10, 11));\n Uxd(this.a);\n !this.a && (this.a = new cUd(E2, this, 10, 11));\n ytd(this.a, BD(b, 14));\n return;\n case 11:\n $od(this, BD(b, 33));\n return;\n case 12:\n !this.b && (this.b = new cUd(B2, this, 12, 3));\n Uxd(this.b);\n !this.b && (this.b = new cUd(B2, this, 12, 3));\n ytd(this.b, BD(b, 14));\n return;\n }\n yld(this, a, b);\n };\n _2.zh = function hpd() {\n return Thd(), Ohd;\n };\n _2.Bh = function ipd(a) {\n switch (a) {\n case 9:\n !this.c && (this.c = new cUd(F2, this, 9, 9));\n Uxd(this.c);\n return;\n case 10:\n !this.a && (this.a = new cUd(E2, this, 10, 11));\n Uxd(this.a);\n return;\n case 11:\n $od(this, null);\n return;\n case 12:\n !this.b && (this.b = new cUd(B2, this, 12, 3));\n Uxd(this.b);\n return;\n }\n zld(this, a);\n };\n _2.Ib = function jpd() {\n return _od(this);\n };\n mdb(rte, \"ElkNodeImpl\", 239);\n bcb(186, 725, { 105: 1, 413: 1, 82: 1, 160: 1, 118: 1, 470: 1, 186: 1, 94: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 }, ppd);\n _2.Qg = function qpd(a) {\n return lpd(this, a);\n };\n _2._g = function rpd(a, b, c2) {\n if (a == 9) {\n return mpd(this);\n }\n return uld(this, a, b, c2);\n };\n _2.hh = function spd(a, b, c2) {\n var d;\n switch (b) {\n case 9:\n !!this.Cb && (c2 = (d = this.Db >> 16, d >= 0 ? lpd(this, c2) : this.Cb.ih(this, -1 - d, null, c2)));\n return kpd(this, BD(a, 33), c2);\n }\n return vld(this, a, b, c2);\n };\n _2.jh = function tpd(a, b, c2) {\n if (b == 9) {\n return kpd(this, null, c2);\n }\n return wld(this, a, b, c2);\n };\n _2.lh = function upd(a) {\n if (a == 9) {\n return !!mpd(this);\n }\n return xld(this, a);\n };\n _2.sh = function vpd(a, b) {\n switch (a) {\n case 9:\n npd(this, BD(b, 33));\n return;\n }\n yld(this, a, b);\n };\n _2.zh = function wpd() {\n return Thd(), Phd;\n };\n _2.Bh = function xpd(a) {\n switch (a) {\n case 9:\n npd(this, null);\n return;\n }\n zld(this, a);\n };\n _2.Ib = function ypd() {\n return opd(this);\n };\n mdb(rte, \"ElkPortImpl\", 186);\n var J4 = odb(Tte, \"BasicEMap/Entry\");\n bcb(1092, 115, { 105: 1, 42: 1, 92: 1, 90: 1, 133: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 }, Bpd);\n _2.Fb = function Hpd(a) {\n return this === a;\n };\n _2.cd = function Jpd() {\n return this.b;\n };\n _2.Hb = function Lpd() {\n return FCb(this);\n };\n _2.Uh = function Npd(a) {\n zpd(this, BD(a, 146));\n };\n _2._g = function Cpd(a, b, c2) {\n switch (a) {\n case 0:\n return this.b;\n case 1:\n return this.c;\n }\n return fid(this, a, b, c2);\n };\n _2.lh = function Dpd(a) {\n switch (a) {\n case 0:\n return !!this.b;\n case 1:\n return this.c != null;\n }\n return mid(this, a);\n };\n _2.sh = function Epd(a, b) {\n switch (a) {\n case 0:\n zpd(this, BD(b, 146));\n return;\n case 1:\n Apd(this, b);\n return;\n }\n yid(this, a, b);\n };\n _2.zh = function Fpd() {\n return Thd(), Qhd;\n };\n _2.Bh = function Gpd(a) {\n switch (a) {\n case 0:\n zpd(this, null);\n return;\n case 1:\n Apd(this, null);\n return;\n }\n Cid(this, a);\n };\n _2.Sh = function Ipd() {\n var a;\n if (this.a == -1) {\n a = this.b;\n this.a = !a ? 0 : tb(a);\n }\n return this.a;\n };\n _2.dd = function Kpd() {\n return this.c;\n };\n _2.Th = function Mpd(a) {\n this.a = a;\n };\n _2.ed = function Opd(a) {\n var b;\n b = this.c;\n Apd(this, a);\n return b;\n };\n _2.Ib = function Ppd() {\n var a;\n if ((this.Db & 64) != 0)\n return Eid(this);\n a = new Ufb();\n Qfb(Qfb(Qfb(a, this.b ? this.b.tg() : Xhe), gne), xfb(this.c));\n return a.a;\n };\n _2.a = -1;\n _2.c = null;\n var S2 = mdb(rte, \"ElkPropertyToValueMapEntryImpl\", 1092);\n bcb(984, 1, {}, bqd);\n mdb(Wte, \"JsonAdapter\", 984);\n bcb(210, 60, Tie, cqd);\n mdb(Wte, \"JsonImportException\", 210);\n bcb(857, 1, {}, ird);\n mdb(Wte, \"JsonImporter\", 857);\n bcb(891, 1, {}, jrd);\n mdb(Wte, \"JsonImporter/lambda$0$Type\", 891);\n bcb(892, 1, {}, krd);\n mdb(Wte, \"JsonImporter/lambda$1$Type\", 892);\n bcb(900, 1, {}, lrd);\n mdb(Wte, \"JsonImporter/lambda$10$Type\", 900);\n bcb(902, 1, {}, mrd);\n mdb(Wte, \"JsonImporter/lambda$11$Type\", 902);\n bcb(903, 1, {}, nrd);\n mdb(Wte, \"JsonImporter/lambda$12$Type\", 903);\n bcb(909, 1, {}, ord);\n mdb(Wte, \"JsonImporter/lambda$13$Type\", 909);\n bcb(908, 1, {}, prd);\n mdb(Wte, \"JsonImporter/lambda$14$Type\", 908);\n bcb(904, 1, {}, qrd);\n mdb(Wte, \"JsonImporter/lambda$15$Type\", 904);\n bcb(905, 1, {}, rrd);\n mdb(Wte, \"JsonImporter/lambda$16$Type\", 905);\n bcb(906, 1, {}, srd);\n mdb(Wte, \"JsonImporter/lambda$17$Type\", 906);\n bcb(907, 1, {}, trd);\n mdb(Wte, \"JsonImporter/lambda$18$Type\", 907);\n bcb(912, 1, {}, urd);\n mdb(Wte, \"JsonImporter/lambda$19$Type\", 912);\n bcb(893, 1, {}, vrd);\n mdb(Wte, \"JsonImporter/lambda$2$Type\", 893);\n bcb(910, 1, {}, wrd);\n mdb(Wte, \"JsonImporter/lambda$20$Type\", 910);\n bcb(911, 1, {}, xrd);\n mdb(Wte, \"JsonImporter/lambda$21$Type\", 911);\n bcb(915, 1, {}, yrd);\n mdb(Wte, \"JsonImporter/lambda$22$Type\", 915);\n bcb(913, 1, {}, zrd);\n mdb(Wte, \"JsonImporter/lambda$23$Type\", 913);\n bcb(914, 1, {}, Ard);\n mdb(Wte, \"JsonImporter/lambda$24$Type\", 914);\n bcb(917, 1, {}, Brd);\n mdb(Wte, \"JsonImporter/lambda$25$Type\", 917);\n bcb(916, 1, {}, Crd);\n mdb(Wte, \"JsonImporter/lambda$26$Type\", 916);\n bcb(918, 1, qie, Drd);\n _2.td = function Erd(a) {\n Bqd(this.b, this.a, GD(a));\n };\n mdb(Wte, \"JsonImporter/lambda$27$Type\", 918);\n bcb(919, 1, qie, Frd);\n _2.td = function Grd(a) {\n Cqd(this.b, this.a, GD(a));\n };\n mdb(Wte, \"JsonImporter/lambda$28$Type\", 919);\n bcb(920, 1, {}, Hrd);\n mdb(Wte, \"JsonImporter/lambda$29$Type\", 920);\n bcb(896, 1, {}, Ird);\n mdb(Wte, \"JsonImporter/lambda$3$Type\", 896);\n bcb(921, 1, {}, Jrd);\n mdb(Wte, \"JsonImporter/lambda$30$Type\", 921);\n bcb(922, 1, {}, Krd);\n mdb(Wte, \"JsonImporter/lambda$31$Type\", 922);\n bcb(923, 1, {}, Lrd);\n mdb(Wte, \"JsonImporter/lambda$32$Type\", 923);\n bcb(924, 1, {}, Mrd);\n mdb(Wte, \"JsonImporter/lambda$33$Type\", 924);\n bcb(925, 1, {}, Nrd);\n mdb(Wte, \"JsonImporter/lambda$34$Type\", 925);\n bcb(859, 1, {}, Prd);\n mdb(Wte, \"JsonImporter/lambda$35$Type\", 859);\n bcb(929, 1, {}, Rrd);\n mdb(Wte, \"JsonImporter/lambda$36$Type\", 929);\n bcb(926, 1, qie, Srd);\n _2.td = function Trd(a) {\n Lqd(this.a, BD(a, 469));\n };\n mdb(Wte, \"JsonImporter/lambda$37$Type\", 926);\n bcb(927, 1, qie, Urd);\n _2.td = function Vrd(a) {\n Mqd(this.a, this.b, BD(a, 202));\n };\n mdb(Wte, \"JsonImporter/lambda$38$Type\", 927);\n bcb(928, 1, qie, Wrd);\n _2.td = function Xrd(a) {\n Nqd(this.a, this.b, BD(a, 202));\n };\n mdb(Wte, \"JsonImporter/lambda$39$Type\", 928);\n bcb(894, 1, {}, Yrd);\n mdb(Wte, \"JsonImporter/lambda$4$Type\", 894);\n bcb(930, 1, qie, Zrd);\n _2.td = function $rd(a) {\n Oqd(this.a, BD(a, 8));\n };\n mdb(Wte, \"JsonImporter/lambda$40$Type\", 930);\n bcb(895, 1, {}, _rd);\n mdb(Wte, \"JsonImporter/lambda$5$Type\", 895);\n bcb(899, 1, {}, asd);\n mdb(Wte, \"JsonImporter/lambda$6$Type\", 899);\n bcb(897, 1, {}, bsd);\n mdb(Wte, \"JsonImporter/lambda$7$Type\", 897);\n bcb(898, 1, {}, csd);\n mdb(Wte, \"JsonImporter/lambda$8$Type\", 898);\n bcb(901, 1, {}, dsd);\n mdb(Wte, \"JsonImporter/lambda$9$Type\", 901);\n bcb(948, 1, qie, msd);\n _2.td = function nsd(a) {\n Qpd(this.a, new yC(GD(a)));\n };\n mdb(Wte, \"JsonMetaDataConverter/lambda$0$Type\", 948);\n bcb(949, 1, qie, osd);\n _2.td = function psd(a) {\n isd(this.a, BD(a, 237));\n };\n mdb(Wte, \"JsonMetaDataConverter/lambda$1$Type\", 949);\n bcb(950, 1, qie, qsd);\n _2.td = function rsd(a) {\n jsd(this.a, BD(a, 149));\n };\n mdb(Wte, \"JsonMetaDataConverter/lambda$2$Type\", 950);\n bcb(951, 1, qie, ssd);\n _2.td = function tsd(a) {\n ksd(this.a, BD(a, 175));\n };\n mdb(Wte, \"JsonMetaDataConverter/lambda$3$Type\", 951);\n bcb(237, 22, { 3: 1, 35: 1, 22: 1, 237: 1 }, Dsd);\n var usd, vsd, wsd, xsd, ysd, zsd, Asd, Bsd;\n var O3 = ndb(Hle, \"GraphFeature\", 237, CI, Fsd, Esd);\n var Gsd;\n bcb(13, 1, { 35: 1, 146: 1 }, Lsd, Msd, Nsd, Osd);\n _2.wd = function Psd(a) {\n return Isd(this, BD(a, 146));\n };\n _2.Fb = function Qsd(a) {\n return Jsd(this, a);\n };\n _2.wg = function Rsd() {\n return Ksd(this);\n };\n _2.tg = function Ssd() {\n return this.b;\n };\n _2.Hb = function Tsd() {\n return LCb(this.b);\n };\n _2.Ib = function Usd() {\n return this.b;\n };\n mdb(Hle, \"Property\", 13);\n bcb(818, 1, Dke, Wsd);\n _2.ue = function Xsd(a, b) {\n return Vsd(this, BD(a, 94), BD(b, 94));\n };\n _2.Fb = function Ysd(a) {\n return this === a;\n };\n _2.ve = function Zsd() {\n return new tpb(this);\n };\n mdb(Hle, \"PropertyHolderComparator\", 818);\n bcb(695, 1, aie, qtd);\n _2.Nb = function rtd(a) {\n Rrb(this, a);\n };\n _2.Pb = function ttd() {\n return ptd(this);\n };\n _2.Qb = function utd() {\n Srb();\n };\n _2.Ob = function std() {\n return !!this.a;\n };\n mdb(jue, \"ElkGraphUtil/AncestorIterator\", 695);\n var T4 = odb(Tte, \"EList\");\n bcb(67, 52, { 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 67: 1, 58: 1 });\n _2.Vc = function Jtd(a, b) {\n vtd(this, a, b);\n };\n _2.Fc = function Ktd(a) {\n return wtd(this, a);\n };\n _2.Wc = function Ltd(a, b) {\n return xtd(this, a, b);\n };\n _2.Gc = function Mtd(a) {\n return ytd(this, a);\n };\n _2.Zh = function Ntd() {\n return new $yd(this);\n };\n _2.$h = function Otd() {\n return new bzd(this);\n };\n _2._h = function Ptd(a) {\n return ztd(this, a);\n };\n _2.ai = function Qtd() {\n return true;\n };\n _2.bi = function Rtd(a, b) {\n };\n _2.ci = function Std() {\n };\n _2.di = function Ttd(a, b) {\n Atd(this, a, b);\n };\n _2.ei = function Utd(a, b, c2) {\n };\n _2.fi = function Vtd(a, b) {\n };\n _2.gi = function Wtd(a, b, c2) {\n };\n _2.Fb = function Xtd(a) {\n return Btd(this, a);\n };\n _2.Hb = function Ytd() {\n return Etd(this);\n };\n _2.hi = function Ztd() {\n return false;\n };\n _2.Kc = function $td() {\n return new Fyd(this);\n };\n _2.Yc = function _td() {\n return new Oyd(this);\n };\n _2.Zc = function aud(a) {\n var b;\n b = this.gc();\n if (a < 0 || a > b)\n throw vbb(new Cyd(a, b));\n return new Pyd(this, a);\n };\n _2.ji = function bud(a, b) {\n this.ii(a, this.Xc(b));\n };\n _2.Mc = function cud(a) {\n return Ftd(this, a);\n };\n _2.li = function dud(a, b) {\n return b;\n };\n _2._c = function eud(a, b) {\n return Gtd(this, a, b);\n };\n _2.Ib = function fud() {\n return Htd(this);\n };\n _2.ni = function gud() {\n return true;\n };\n _2.oi = function hud(a, b) {\n return Itd(this, b);\n };\n mdb(Tte, \"AbstractEList\", 67);\n bcb(63, 67, oue, yud, zud, Aud);\n _2.Vh = function Bud(a, b) {\n return iud(this, a, b);\n };\n _2.Wh = function Cud(a) {\n return jud(this, a);\n };\n _2.Xh = function Dud(a, b) {\n kud(this, a, b);\n };\n _2.Yh = function Eud(a) {\n lud(this, a);\n };\n _2.pi = function Fud(a) {\n return nud(this, a);\n };\n _2.$b = function Gud() {\n oud(this);\n };\n _2.Hc = function Hud(a) {\n return pud(this, a);\n };\n _2.Xb = function Iud(a) {\n return qud(this, a);\n };\n _2.qi = function Jud(a) {\n var b, c2, d;\n ++this.j;\n c2 = this.g == null ? 0 : this.g.length;\n if (a > c2) {\n d = this.g;\n b = c2 + (c2 / 2 | 0) + 4;\n b < a && (b = a);\n this.g = this.ri(b);\n d != null && $fb(d, 0, this.g, 0, this.i);\n }\n };\n _2.Xc = function Kud(a) {\n return rud(this, a);\n };\n _2.dc = function Lud() {\n return this.i == 0;\n };\n _2.ii = function Mud(a, b) {\n return sud(this, a, b);\n };\n _2.ri = function Nud(a) {\n return KC(SI, Uhe, 1, a, 5, 1);\n };\n _2.ki = function Oud(a) {\n return this.g[a];\n };\n _2.$c = function Pud(a) {\n return tud(this, a);\n };\n _2.mi = function Qud(a, b) {\n return uud(this, a, b);\n };\n _2.gc = function Rud() {\n return this.i;\n };\n _2.Pc = function Sud() {\n return wud(this);\n };\n _2.Qc = function Tud(a) {\n return xud(this, a);\n };\n _2.i = 0;\n var y4 = mdb(Tte, \"BasicEList\", 63);\n var X4 = odb(Tte, \"TreeIterator\");\n bcb(694, 63, pue);\n _2.Nb = function Xud(a) {\n Rrb(this, a);\n };\n _2.Ob = function Yud() {\n return this.g == null && !this.c ? Uud(this) : this.g == null || this.i != 0 && BD(this.g[this.i - 1], 47).Ob();\n };\n _2.Pb = function Zud() {\n return Vud(this);\n };\n _2.Qb = function $ud() {\n if (!this.e) {\n throw vbb(new Zdb(\"There is no valid object to remove.\"));\n }\n this.e.Qb();\n };\n _2.c = false;\n mdb(Tte, \"AbstractTreeIterator\", 694);\n bcb(685, 694, pue, _ud);\n _2.si = function avd(a) {\n var b;\n b = BD(a, 56).Wg().Kc();\n JD(b, 279) && BD(b, 279).Nk(new bvd());\n return b;\n };\n mdb(jue, \"ElkGraphUtil/PropertiesSkippingTreeIterator\", 685);\n bcb(952, 1, {}, bvd);\n mdb(jue, \"ElkGraphUtil/PropertiesSkippingTreeIterator/1\", 952);\n var cvd, dvd;\n var Y3 = mdb(jue, \"ElkReflect\", null);\n bcb(889, 1, hse, jvd);\n _2.vg = function kvd(a) {\n return evd(), sqb(BD(a, 174));\n };\n mdb(jue, \"ElkReflect/lambda$0$Type\", 889);\n var lvd;\n odb(Tte, \"ResourceLocator\");\n bcb(1051, 1, {});\n mdb(Tte, \"DelegatingResourceLocator\", 1051);\n bcb(1052, 1051, {});\n mdb(\"org.eclipse.emf.common\", \"EMFPlugin\", 1052);\n var $3 = odb(cve, \"Adapter\");\n var _3 = odb(cve, \"Notification\");\n bcb(1153, 1, dve);\n _2.ti = function vvd() {\n return this.d;\n };\n _2.ui = function wvd(a) {\n };\n _2.vi = function xvd(a) {\n this.d = a;\n };\n _2.wi = function yvd(a) {\n this.d == a && (this.d = null);\n };\n _2.d = null;\n mdb(hte, \"AdapterImpl\", 1153);\n bcb(1995, 67, eve);\n _2.Vh = function Fvd(a, b) {\n return zvd(this, a, b);\n };\n _2.Wh = function Gvd(a) {\n var b, c2, d;\n ++this.j;\n if (a.dc()) {\n return false;\n } else {\n b = this.Vi();\n for (d = a.Kc(); d.Ob(); ) {\n c2 = d.Pb();\n this.Ii(this.oi(b, c2));\n ++b;\n }\n return true;\n }\n };\n _2.Xh = function Hvd(a, b) {\n Avd(this, a, b);\n };\n _2.Yh = function Ivd(a) {\n Bvd(this, a);\n };\n _2.Gi = function Jvd() {\n return this.Ji();\n };\n _2.$b = function Kvd() {\n Cvd(this, this.Vi(), this.Wi());\n };\n _2.Hc = function Lvd(a) {\n return this.Li(a);\n };\n _2.Ic = function Mvd(a) {\n return this.Mi(a);\n };\n _2.Hi = function Nvd(a, b) {\n this.Si().jm();\n };\n _2.Ii = function Ovd(a) {\n this.Si().jm();\n };\n _2.Ji = function Pvd() {\n return this.Si();\n };\n _2.Ki = function Qvd() {\n this.Si().jm();\n };\n _2.Li = function Rvd(a) {\n return this.Si().jm();\n };\n _2.Mi = function Svd(a) {\n return this.Si().jm();\n };\n _2.Ni = function Tvd(a) {\n return this.Si().jm();\n };\n _2.Oi = function Uvd(a) {\n return this.Si().jm();\n };\n _2.Pi = function Vvd() {\n return this.Si().jm();\n };\n _2.Qi = function Wvd(a) {\n return this.Si().jm();\n };\n _2.Ri = function Xvd() {\n return this.Si().jm();\n };\n _2.Ti = function Yvd(a) {\n return this.Si().jm();\n };\n _2.Ui = function Zvd(a, b) {\n return this.Si().jm();\n };\n _2.Vi = function $vd() {\n return this.Si().jm();\n };\n _2.Wi = function _vd() {\n return this.Si().jm();\n };\n _2.Xi = function awd(a) {\n return this.Si().jm();\n };\n _2.Yi = function bwd() {\n return this.Si().jm();\n };\n _2.Fb = function cwd(a) {\n return this.Ni(a);\n };\n _2.Xb = function dwd(a) {\n return this.li(a, this.Oi(a));\n };\n _2.Hb = function ewd() {\n return this.Pi();\n };\n _2.Xc = function fwd(a) {\n return this.Qi(a);\n };\n _2.dc = function gwd() {\n return this.Ri();\n };\n _2.ii = function hwd(a, b) {\n return Dvd(this, a, b);\n };\n _2.ki = function iwd(a) {\n return this.Oi(a);\n };\n _2.$c = function jwd(a) {\n return Evd(this, a);\n };\n _2.Mc = function kwd(a) {\n var b;\n b = this.Xc(a);\n if (b >= 0) {\n this.$c(b);\n return true;\n } else {\n return false;\n }\n };\n _2.mi = function lwd(a, b) {\n return this.Ui(a, this.oi(a, b));\n };\n _2.gc = function mwd() {\n return this.Vi();\n };\n _2.Pc = function nwd() {\n return this.Wi();\n };\n _2.Qc = function owd(a) {\n return this.Xi(a);\n };\n _2.Ib = function pwd() {\n return this.Yi();\n };\n mdb(Tte, \"DelegatingEList\", 1995);\n bcb(1996, 1995, eve);\n _2.Vh = function xwd(a, b) {\n return qwd(this, a, b);\n };\n _2.Wh = function ywd(a) {\n return this.Vh(this.Vi(), a);\n };\n _2.Xh = function zwd(a, b) {\n rwd(this, a, b);\n };\n _2.Yh = function Awd(a) {\n swd(this, a);\n };\n _2.ai = function Bwd() {\n return !this.bj();\n };\n _2.$b = function Cwd() {\n vwd(this);\n };\n _2.Zi = function Dwd(a, b, c2, d, e) {\n return new Cxd(this, a, b, c2, d, e);\n };\n _2.$i = function Ewd(a) {\n Uhd(this.Ai(), a);\n };\n _2._i = function Fwd() {\n return null;\n };\n _2.aj = function Gwd() {\n return -1;\n };\n _2.Ai = function Hwd() {\n return null;\n };\n _2.bj = function Iwd() {\n return false;\n };\n _2.cj = function Jwd(a, b) {\n return b;\n };\n _2.dj = function Kwd(a, b) {\n return b;\n };\n _2.ej = function Lwd() {\n return false;\n };\n _2.fj = function Mwd() {\n return !this.Ri();\n };\n _2.ii = function Nwd(a, b) {\n var c2, d;\n if (this.ej()) {\n d = this.fj();\n c2 = Dvd(this, a, b);\n this.$i(this.Zi(7, meb(b), c2, a, d));\n return c2;\n } else {\n return Dvd(this, a, b);\n }\n };\n _2.$c = function Owd(a) {\n var b, c2, d, e;\n if (this.ej()) {\n c2 = null;\n d = this.fj();\n b = this.Zi(4, e = Evd(this, a), null, a, d);\n if (this.bj() && !!e) {\n c2 = this.dj(e, c2);\n if (!c2) {\n this.$i(b);\n } else {\n c2.Ei(b);\n c2.Fi();\n }\n } else {\n if (!c2) {\n this.$i(b);\n } else {\n c2.Ei(b);\n c2.Fi();\n }\n }\n return e;\n } else {\n e = Evd(this, a);\n if (this.bj() && !!e) {\n c2 = this.dj(e, null);\n !!c2 && c2.Fi();\n }\n return e;\n }\n };\n _2.mi = function Pwd(a, b) {\n return wwd(this, a, b);\n };\n mdb(hte, \"DelegatingNotifyingListImpl\", 1996);\n bcb(143, 1, fve);\n _2.Ei = function pxd(a) {\n return Qwd(this, a);\n };\n _2.Fi = function qxd() {\n Rwd(this);\n };\n _2.xi = function rxd() {\n return this.d;\n };\n _2._i = function sxd() {\n return null;\n };\n _2.gj = function txd() {\n return null;\n };\n _2.yi = function uxd(a) {\n return -1;\n };\n _2.zi = function vxd() {\n return $wd(this);\n };\n _2.Ai = function wxd() {\n return null;\n };\n _2.Bi = function xxd() {\n return hxd(this);\n };\n _2.Ci = function yxd() {\n return this.o < 0 ? this.o < -2 ? -2 - this.o - 1 : -1 : this.o;\n };\n _2.hj = function zxd() {\n return false;\n };\n _2.Di = function Axd(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l;\n switch (this.d) {\n case 1:\n case 2: {\n e = a.xi();\n switch (e) {\n case 1:\n case 2: {\n f2 = a.Ai();\n if (PD(f2) === PD(this.Ai()) && this.yi(null) == a.yi(null)) {\n this.g = a.zi();\n a.xi() == 1 && (this.d = 1);\n return true;\n }\n }\n }\n }\n case 4: {\n e = a.xi();\n switch (e) {\n case 4: {\n f2 = a.Ai();\n if (PD(f2) === PD(this.Ai()) && this.yi(null) == a.yi(null)) {\n j = jxd(this);\n i3 = this.o < 0 ? this.o < -2 ? -2 - this.o - 1 : -1 : this.o;\n g = a.Ci();\n this.d = 6;\n l = new zud(2);\n if (i3 <= g) {\n wtd(l, this.n);\n wtd(l, a.Bi());\n this.g = OC(GC(WD, 1), oje, 25, 15, [this.o = i3, g + 1]);\n } else {\n wtd(l, a.Bi());\n wtd(l, this.n);\n this.g = OC(GC(WD, 1), oje, 25, 15, [this.o = g, i3]);\n }\n this.n = l;\n j || (this.o = -2 - this.o - 1);\n return true;\n }\n break;\n }\n }\n break;\n }\n case 6: {\n e = a.xi();\n switch (e) {\n case 4: {\n f2 = a.Ai();\n if (PD(f2) === PD(this.Ai()) && this.yi(null) == a.yi(null)) {\n j = jxd(this);\n g = a.Ci();\n k = BD(this.g, 48);\n d = KC(WD, oje, 25, k.length + 1, 15, 1);\n b = 0;\n while (b < k.length) {\n h = k[b];\n if (h <= g) {\n d[b++] = h;\n ++g;\n } else {\n break;\n }\n }\n c2 = BD(this.n, 15);\n c2.Vc(b, a.Bi());\n d[b] = g;\n while (++b < d.length) {\n d[b] = k[b - 1];\n }\n this.g = d;\n j || (this.o = -2 - d[0]);\n return true;\n }\n break;\n }\n }\n break;\n }\n }\n return false;\n };\n _2.Ib = function Bxd() {\n var a, b, c2, d;\n d = new Jfb(hdb(this.gm) + \"@\" + (b = tb(this) >>> 0, b.toString(16)));\n d.a += \" (eventType: \";\n switch (this.d) {\n case 1: {\n d.a += \"SET\";\n break;\n }\n case 2: {\n d.a += \"UNSET\";\n break;\n }\n case 3: {\n d.a += \"ADD\";\n break;\n }\n case 5: {\n d.a += \"ADD_MANY\";\n break;\n }\n case 4: {\n d.a += \"REMOVE\";\n break;\n }\n case 6: {\n d.a += \"REMOVE_MANY\";\n break;\n }\n case 7: {\n d.a += \"MOVE\";\n break;\n }\n case 8: {\n d.a += \"REMOVING_ADAPTER\";\n break;\n }\n case 9: {\n d.a += \"RESOLVE\";\n break;\n }\n default: {\n Cfb(d, this.d);\n break;\n }\n }\n ixd(this) && (d.a += \", touch: true\", d);\n d.a += \", position: \";\n Cfb(d, this.o < 0 ? this.o < -2 ? -2 - this.o - 1 : -1 : this.o);\n d.a += \", notifier: \";\n Dfb(d, this.Ai());\n d.a += \", feature: \";\n Dfb(d, this._i());\n d.a += \", oldValue: \";\n Dfb(d, hxd(this));\n d.a += \", newValue: \";\n if (this.d == 6 && JD(this.g, 48)) {\n c2 = BD(this.g, 48);\n d.a += \"[\";\n for (a = 0; a < c2.length; ) {\n d.a += c2[a];\n ++a < c2.length && (d.a += She, d);\n }\n d.a += \"]\";\n } else {\n Dfb(d, $wd(this));\n }\n d.a += \", isTouch: \";\n Ffb(d, ixd(this));\n d.a += \", wasSet: \";\n Ffb(d, jxd(this));\n d.a += \")\";\n return d.a;\n };\n _2.d = 0;\n _2.e = 0;\n _2.f = 0;\n _2.j = 0;\n _2.k = 0;\n _2.o = 0;\n _2.p = 0;\n mdb(hte, \"NotificationImpl\", 143);\n bcb(1167, 143, fve, Cxd);\n _2._i = function Dxd() {\n return this.a._i();\n };\n _2.yi = function Exd(a) {\n return this.a.aj();\n };\n _2.Ai = function Fxd() {\n return this.a.Ai();\n };\n mdb(hte, \"DelegatingNotifyingListImpl/1\", 1167);\n bcb(242, 63, oue, Hxd, Ixd);\n _2.Fc = function Jxd(a) {\n return Gxd(this, BD(a, 366));\n };\n _2.Ei = function Kxd(a) {\n return Gxd(this, a);\n };\n _2.Fi = function Lxd() {\n var a, b, c2;\n for (a = 0; a < this.i; ++a) {\n b = BD(this.g[a], 366);\n c2 = b.Ai();\n c2 != null && b.xi() != -1 && BD(c2, 92).Ng(b);\n }\n };\n _2.ri = function Mxd(a) {\n return KC(_3, Uhe, 366, a, 0, 1);\n };\n mdb(hte, \"NotificationChainImpl\", 242);\n bcb(1378, 90, gte);\n _2.Kg = function Nxd() {\n return this.e;\n };\n _2.Mg = function Oxd() {\n return (this.f & 1) != 0;\n };\n _2.f = 1;\n mdb(hte, \"NotifierImpl\", 1378);\n bcb(1993, 63, oue);\n _2.Vh = function $xd(a, b) {\n return Pxd(this, a, b);\n };\n _2.Wh = function _xd(a) {\n return this.Vh(this.i, a);\n };\n _2.Xh = function ayd(a, b) {\n Qxd(this, a, b);\n };\n _2.Yh = function byd(a) {\n Rxd(this, a);\n };\n _2.ai = function cyd() {\n return !this.bj();\n };\n _2.$b = function dyd() {\n Uxd(this);\n };\n _2.Zi = function eyd(a, b, c2, d, e) {\n return new vyd(this, a, b, c2, d, e);\n };\n _2.$i = function fyd(a) {\n Uhd(this.Ai(), a);\n };\n _2._i = function gyd() {\n return null;\n };\n _2.aj = function hyd() {\n return -1;\n };\n _2.Ai = function iyd() {\n return null;\n };\n _2.bj = function jyd() {\n return false;\n };\n _2.ij = function kyd() {\n return false;\n };\n _2.cj = function lyd(a, b) {\n return b;\n };\n _2.dj = function myd(a, b) {\n return b;\n };\n _2.ej = function nyd() {\n return false;\n };\n _2.fj = function oyd() {\n return this.i != 0;\n };\n _2.ii = function pyd(a, b) {\n return Wxd(this, a, b);\n };\n _2.$c = function qyd(a) {\n return Xxd(this, a);\n };\n _2.mi = function ryd(a, b) {\n return Zxd(this, a, b);\n };\n _2.jj = function syd(a, b) {\n return b;\n };\n _2.kj = function tyd(a, b) {\n return b;\n };\n _2.lj = function uyd(a, b, c2) {\n return c2;\n };\n mdb(hte, \"NotifyingListImpl\", 1993);\n bcb(1166, 143, fve, vyd);\n _2._i = function wyd() {\n return this.a._i();\n };\n _2.yi = function xyd(a) {\n return this.a.aj();\n };\n _2.Ai = function yyd() {\n return this.a.Ai();\n };\n mdb(hte, \"NotifyingListImpl/1\", 1166);\n bcb(953, 63, oue, zyd);\n _2.Hc = function Ayd(a) {\n if (this.i > 10) {\n if (!this.b || this.c.j != this.a) {\n this.b = new Vqb(this);\n this.a = this.j;\n }\n return Rqb(this.b, a);\n } else {\n return pud(this, a);\n }\n };\n _2.ni = function Byd() {\n return true;\n };\n _2.a = 0;\n mdb(Tte, \"AbstractEList/1\", 953);\n bcb(295, 73, Mje, Cyd);\n mdb(Tte, \"AbstractEList/BasicIndexOutOfBoundsException\", 295);\n bcb(40, 1, aie, Fyd);\n _2.Nb = function Iyd(a) {\n Rrb(this, a);\n };\n _2.mj = function Gyd() {\n if (this.i.j != this.f) {\n throw vbb(new Apb());\n }\n };\n _2.nj = function Hyd() {\n return Dyd(this);\n };\n _2.Ob = function Jyd() {\n return this.e != this.i.gc();\n };\n _2.Pb = function Kyd() {\n return this.nj();\n };\n _2.Qb = function Lyd() {\n Eyd(this);\n };\n _2.e = 0;\n _2.f = 0;\n _2.g = -1;\n mdb(Tte, \"AbstractEList/EIterator\", 40);\n bcb(278, 40, jie, Oyd, Pyd);\n _2.Qb = function Xyd() {\n Eyd(this);\n };\n _2.Rb = function Qyd(a) {\n Myd(this, a);\n };\n _2.oj = function Ryd() {\n var b;\n try {\n b = this.d.Xb(--this.e);\n this.mj();\n this.g = this.e;\n return b;\n } catch (a) {\n a = ubb(a);\n if (JD(a, 73)) {\n this.mj();\n throw vbb(new utb());\n } else\n throw vbb(a);\n }\n };\n _2.pj = function Syd(a) {\n Nyd(this, a);\n };\n _2.Sb = function Tyd() {\n return this.e != 0;\n };\n _2.Tb = function Uyd() {\n return this.e;\n };\n _2.Ub = function Vyd() {\n return this.oj();\n };\n _2.Vb = function Wyd() {\n return this.e - 1;\n };\n _2.Wb = function Yyd(a) {\n this.pj(a);\n };\n mdb(Tte, \"AbstractEList/EListIterator\", 278);\n bcb(341, 40, aie, $yd);\n _2.nj = function _yd() {\n return Zyd(this);\n };\n _2.Qb = function azd() {\n throw vbb(new bgb());\n };\n mdb(Tte, \"AbstractEList/NonResolvingEIterator\", 341);\n bcb(385, 278, jie, bzd, czd);\n _2.Rb = function dzd(a) {\n throw vbb(new bgb());\n };\n _2.nj = function ezd() {\n var b;\n try {\n b = this.c.ki(this.e);\n this.mj();\n this.g = this.e++;\n return b;\n } catch (a) {\n a = ubb(a);\n if (JD(a, 73)) {\n this.mj();\n throw vbb(new utb());\n } else\n throw vbb(a);\n }\n };\n _2.oj = function fzd() {\n var b;\n try {\n b = this.c.ki(--this.e);\n this.mj();\n this.g = this.e;\n return b;\n } catch (a) {\n a = ubb(a);\n if (JD(a, 73)) {\n this.mj();\n throw vbb(new utb());\n } else\n throw vbb(a);\n }\n };\n _2.Qb = function gzd() {\n throw vbb(new bgb());\n };\n _2.Wb = function hzd(a) {\n throw vbb(new bgb());\n };\n mdb(Tte, \"AbstractEList/NonResolvingEListIterator\", 385);\n bcb(1982, 67, ive);\n _2.Vh = function pzd(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m;\n e = b.gc();\n if (e != 0) {\n j = BD(Ajd(this.a, 4), 126);\n k = j == null ? 0 : j.length;\n m = k + e;\n d = nzd(this, m);\n l = k - a;\n l > 0 && $fb(j, a, d, a + e, l);\n i3 = b.Kc();\n for (g = 0; g < e; ++g) {\n h = i3.Pb();\n c2 = a + g;\n lzd(d, c2, Itd(this, h));\n }\n b0d(this, d);\n for (f2 = 0; f2 < e; ++f2) {\n h = d[a];\n this.bi(a, h);\n ++a;\n }\n return true;\n } else {\n ++this.j;\n return false;\n }\n };\n _2.Wh = function qzd(a) {\n var b, c2, d, e, f2, g, h, i3, j;\n d = a.gc();\n if (d != 0) {\n i3 = (c2 = BD(Ajd(this.a, 4), 126), c2 == null ? 0 : c2.length);\n j = i3 + d;\n b = nzd(this, j);\n h = a.Kc();\n for (f2 = i3; f2 < j; ++f2) {\n g = h.Pb();\n lzd(b, f2, Itd(this, g));\n }\n b0d(this, b);\n for (e = i3; e < j; ++e) {\n g = b[e];\n this.bi(e, g);\n }\n return true;\n } else {\n ++this.j;\n return false;\n }\n };\n _2.Xh = function rzd(a, b) {\n var c2, d, e, f2;\n d = BD(Ajd(this.a, 4), 126);\n e = d == null ? 0 : d.length;\n c2 = nzd(this, e + 1);\n f2 = Itd(this, b);\n a != e && $fb(d, a, c2, a + 1, e - a);\n NC(c2, a, f2);\n b0d(this, c2);\n this.bi(a, b);\n };\n _2.Yh = function szd(a) {\n var b, c2, d;\n d = (c2 = BD(Ajd(this.a, 4), 126), c2 == null ? 0 : c2.length);\n b = nzd(this, d + 1);\n lzd(b, d, Itd(this, a));\n b0d(this, b);\n this.bi(d, a);\n };\n _2.Zh = function tzd() {\n return new Uzd(this);\n };\n _2.$h = function uzd() {\n return new Xzd(this);\n };\n _2._h = function vzd(a) {\n var b, c2;\n c2 = (b = BD(Ajd(this.a, 4), 126), b == null ? 0 : b.length);\n if (a < 0 || a > c2)\n throw vbb(new Cyd(a, c2));\n return new Yzd(this, a);\n };\n _2.$b = function wzd() {\n var a, b;\n ++this.j;\n a = BD(Ajd(this.a, 4), 126);\n b = a == null ? 0 : a.length;\n b0d(this, null);\n Atd(this, b, a);\n };\n _2.Hc = function xzd(a) {\n var b, c2, d, e, f2;\n b = BD(Ajd(this.a, 4), 126);\n if (b != null) {\n if (a != null) {\n for (d = b, e = 0, f2 = d.length; e < f2; ++e) {\n c2 = d[e];\n if (pb(a, c2)) {\n return true;\n }\n }\n } else {\n for (d = b, e = 0, f2 = d.length; e < f2; ++e) {\n c2 = d[e];\n if (PD(c2) === PD(a)) {\n return true;\n }\n }\n }\n }\n return false;\n };\n _2.Xb = function yzd(a) {\n var b, c2;\n b = BD(Ajd(this.a, 4), 126);\n c2 = b == null ? 0 : b.length;\n if (a >= c2)\n throw vbb(new Cyd(a, c2));\n return b[a];\n };\n _2.Xc = function zzd(a) {\n var b, c2, d;\n b = BD(Ajd(this.a, 4), 126);\n if (b != null) {\n if (a != null) {\n for (c2 = 0, d = b.length; c2 < d; ++c2) {\n if (pb(a, b[c2])) {\n return c2;\n }\n }\n } else {\n for (c2 = 0, d = b.length; c2 < d; ++c2) {\n if (PD(b[c2]) === PD(a)) {\n return c2;\n }\n }\n }\n }\n return -1;\n };\n _2.dc = function Azd() {\n return BD(Ajd(this.a, 4), 126) == null;\n };\n _2.Kc = function Bzd() {\n return new Lzd(this);\n };\n _2.Yc = function Czd() {\n return new Pzd(this);\n };\n _2.Zc = function Dzd(a) {\n var b, c2;\n c2 = (b = BD(Ajd(this.a, 4), 126), b == null ? 0 : b.length);\n if (a < 0 || a > c2)\n throw vbb(new Cyd(a, c2));\n return new Qzd(this, a);\n };\n _2.ii = function Ezd(a, b) {\n var c2, d, e;\n c2 = mzd(this);\n e = c2 == null ? 0 : c2.length;\n if (a >= e)\n throw vbb(new qcb(lue + a + mue + e));\n if (b >= e)\n throw vbb(new qcb(nue + b + mue + e));\n d = c2[b];\n if (a != b) {\n a < b ? $fb(c2, a, c2, a + 1, b - a) : $fb(c2, b + 1, c2, b, a - b);\n NC(c2, a, d);\n b0d(this, c2);\n }\n return d;\n };\n _2.ki = function Fzd(a) {\n return BD(Ajd(this.a, 4), 126)[a];\n };\n _2.$c = function Gzd(a) {\n return ozd(this, a);\n };\n _2.mi = function Hzd(a, b) {\n var c2, d;\n c2 = mzd(this);\n d = c2[a];\n lzd(c2, a, Itd(this, b));\n b0d(this, c2);\n return d;\n };\n _2.gc = function Izd() {\n var a;\n return a = BD(Ajd(this.a, 4), 126), a == null ? 0 : a.length;\n };\n _2.Pc = function Jzd() {\n var a, b, c2;\n a = BD(Ajd(this.a, 4), 126);\n c2 = a == null ? 0 : a.length;\n b = KC($3, hve, 415, c2, 0, 1);\n c2 > 0 && $fb(a, 0, b, 0, c2);\n return b;\n };\n _2.Qc = function Kzd(a) {\n var b, c2, d;\n b = BD(Ajd(this.a, 4), 126);\n d = b == null ? 0 : b.length;\n if (d > 0) {\n if (a.length < d) {\n c2 = izd(rb(a).c, d);\n a = c2;\n }\n $fb(b, 0, a, 0, d);\n }\n a.length > d && NC(a, d, null);\n return a;\n };\n var jzd;\n mdb(Tte, \"ArrayDelegatingEList\", 1982);\n bcb(1038, 40, aie, Lzd);\n _2.mj = function Mzd() {\n if (this.b.j != this.f || PD(BD(Ajd(this.b.a, 4), 126)) !== PD(this.a)) {\n throw vbb(new Apb());\n }\n };\n _2.Qb = function Nzd() {\n Eyd(this);\n this.a = BD(Ajd(this.b.a, 4), 126);\n };\n mdb(Tte, \"ArrayDelegatingEList/EIterator\", 1038);\n bcb(706, 278, jie, Pzd, Qzd);\n _2.mj = function Rzd() {\n if (this.b.j != this.f || PD(BD(Ajd(this.b.a, 4), 126)) !== PD(this.a)) {\n throw vbb(new Apb());\n }\n };\n _2.pj = function Szd(a) {\n Nyd(this, a);\n this.a = BD(Ajd(this.b.a, 4), 126);\n };\n _2.Qb = function Tzd() {\n Eyd(this);\n this.a = BD(Ajd(this.b.a, 4), 126);\n };\n mdb(Tte, \"ArrayDelegatingEList/EListIterator\", 706);\n bcb(1039, 341, aie, Uzd);\n _2.mj = function Vzd() {\n if (this.b.j != this.f || PD(BD(Ajd(this.b.a, 4), 126)) !== PD(this.a)) {\n throw vbb(new Apb());\n }\n };\n mdb(Tte, \"ArrayDelegatingEList/NonResolvingEIterator\", 1039);\n bcb(707, 385, jie, Xzd, Yzd);\n _2.mj = function Zzd() {\n if (this.b.j != this.f || PD(BD(Ajd(this.b.a, 4), 126)) !== PD(this.a)) {\n throw vbb(new Apb());\n }\n };\n mdb(Tte, \"ArrayDelegatingEList/NonResolvingEListIterator\", 707);\n bcb(606, 295, Mje, $zd);\n mdb(Tte, \"BasicEList/BasicIndexOutOfBoundsException\", 606);\n bcb(696, 63, oue, _zd);\n _2.Vc = function aAd(a, b) {\n throw vbb(new bgb());\n };\n _2.Fc = function bAd(a) {\n throw vbb(new bgb());\n };\n _2.Wc = function cAd(a, b) {\n throw vbb(new bgb());\n };\n _2.Gc = function dAd(a) {\n throw vbb(new bgb());\n };\n _2.$b = function eAd() {\n throw vbb(new bgb());\n };\n _2.qi = function fAd(a) {\n throw vbb(new bgb());\n };\n _2.Kc = function gAd() {\n return this.Zh();\n };\n _2.Yc = function hAd() {\n return this.$h();\n };\n _2.Zc = function iAd(a) {\n return this._h(a);\n };\n _2.ii = function jAd(a, b) {\n throw vbb(new bgb());\n };\n _2.ji = function kAd(a, b) {\n throw vbb(new bgb());\n };\n _2.$c = function lAd(a) {\n throw vbb(new bgb());\n };\n _2.Mc = function mAd(a) {\n throw vbb(new bgb());\n };\n _2._c = function nAd(a, b) {\n throw vbb(new bgb());\n };\n mdb(Tte, \"BasicEList/UnmodifiableEList\", 696);\n bcb(705, 1, { 3: 1, 20: 1, 14: 1, 15: 1, 58: 1, 589: 1 });\n _2.Vc = function OAd(a, b) {\n oAd(this, a, BD(b, 42));\n };\n _2.Fc = function PAd(a) {\n return pAd(this, BD(a, 42));\n };\n _2.Jc = function XAd(a) {\n reb(this, a);\n };\n _2.Xb = function YAd(a) {\n return BD(qud(this.c, a), 133);\n };\n _2.ii = function fBd(a, b) {\n return BD(this.c.ii(a, b), 42);\n };\n _2.ji = function gBd(a, b) {\n GAd(this, a, BD(b, 42));\n };\n _2.Lc = function jBd() {\n return new YAb(null, new Kub(this, 16));\n };\n _2.$c = function kBd(a) {\n return BD(this.c.$c(a), 42);\n };\n _2._c = function mBd(a, b) {\n return MAd(this, a, BD(b, 42));\n };\n _2.ad = function oBd(a) {\n ktb(this, a);\n };\n _2.Nc = function pBd() {\n return new Kub(this, 16);\n };\n _2.Oc = function qBd() {\n return new YAb(null, new Kub(this, 16));\n };\n _2.Wc = function QAd(a, b) {\n return this.c.Wc(a, b);\n };\n _2.Gc = function RAd(a) {\n return this.c.Gc(a);\n };\n _2.$b = function SAd() {\n this.c.$b();\n };\n _2.Hc = function TAd(a) {\n return this.c.Hc(a);\n };\n _2.Ic = function UAd(a) {\n return Be(this.c, a);\n };\n _2.qj = function VAd() {\n var a, b, c2;\n if (this.d == null) {\n this.d = KC(y4, jve, 63, 2 * this.f + 1, 0, 1);\n c2 = this.e;\n this.f = 0;\n for (b = this.c.Kc(); b.e != b.i.gc(); ) {\n a = BD(b.nj(), 133);\n uAd(this, a);\n }\n this.e = c2;\n }\n };\n _2.Fb = function WAd(a) {\n return zAd(this, a);\n };\n _2.Hb = function ZAd() {\n return Etd(this.c);\n };\n _2.Xc = function $Ad(a) {\n return this.c.Xc(a);\n };\n _2.rj = function _Ad() {\n this.c = new yBd(this);\n };\n _2.dc = function aBd() {\n return this.f == 0;\n };\n _2.Kc = function bBd() {\n return this.c.Kc();\n };\n _2.Yc = function cBd() {\n return this.c.Yc();\n };\n _2.Zc = function dBd(a) {\n return this.c.Zc(a);\n };\n _2.sj = function eBd() {\n return FAd(this);\n };\n _2.tj = function hBd(a, b, c2) {\n return new zCd(a, b, c2);\n };\n _2.uj = function iBd() {\n return new EBd();\n };\n _2.Mc = function lBd(a) {\n return JAd(this, a);\n };\n _2.gc = function nBd() {\n return this.f;\n };\n _2.bd = function rBd(a, b) {\n return new Jib(this.c, a, b);\n };\n _2.Pc = function sBd() {\n return this.c.Pc();\n };\n _2.Qc = function tBd(a) {\n return this.c.Qc(a);\n };\n _2.Ib = function uBd() {\n return Htd(this.c);\n };\n _2.e = 0;\n _2.f = 0;\n mdb(Tte, \"BasicEMap\", 705);\n bcb(1033, 63, oue, yBd);\n _2.bi = function zBd(a, b) {\n vBd(this, BD(b, 133));\n };\n _2.ei = function BBd(a, b, c2) {\n var d;\n ++(d = this, BD(b, 133), d).a.e;\n };\n _2.fi = function CBd(a, b) {\n wBd(this, BD(b, 133));\n };\n _2.gi = function DBd(a, b, c2) {\n xBd(this, BD(b, 133), BD(c2, 133));\n };\n _2.di = function ABd(a, b) {\n tAd(this.a);\n };\n mdb(Tte, \"BasicEMap/1\", 1033);\n bcb(1034, 63, oue, EBd);\n _2.ri = function FBd(a) {\n return KC(I4, kve, 612, a, 0, 1);\n };\n mdb(Tte, \"BasicEMap/2\", 1034);\n bcb(1035, eie, fie, GBd);\n _2.$b = function HBd() {\n this.a.c.$b();\n };\n _2.Hc = function IBd(a) {\n return qAd(this.a, a);\n };\n _2.Kc = function JBd() {\n return this.a.f == 0 ? (LCd(), KCd.a) : new dCd(this.a);\n };\n _2.Mc = function KBd(a) {\n var b;\n b = this.a.f;\n LAd(this.a, a);\n return this.a.f != b;\n };\n _2.gc = function LBd() {\n return this.a.f;\n };\n mdb(Tte, \"BasicEMap/3\", 1035);\n bcb(1036, 28, die, MBd);\n _2.$b = function NBd() {\n this.a.c.$b();\n };\n _2.Hc = function OBd(a) {\n return rAd(this.a, a);\n };\n _2.Kc = function PBd() {\n return this.a.f == 0 ? (LCd(), KCd.a) : new fCd(this.a);\n };\n _2.gc = function QBd() {\n return this.a.f;\n };\n mdb(Tte, \"BasicEMap/4\", 1036);\n bcb(1037, eie, fie, SBd);\n _2.$b = function TBd() {\n this.a.c.$b();\n };\n _2.Hc = function UBd(a) {\n var b, c2, d, e, f2, g, h, i3, j;\n if (this.a.f > 0 && JD(a, 42)) {\n this.a.qj();\n i3 = BD(a, 42);\n h = i3.cd();\n e = h == null ? 0 : tb(h);\n f2 = DAd(this.a, e);\n b = this.a.d[f2];\n if (b) {\n c2 = BD(b.g, 367);\n j = b.i;\n for (g = 0; g < j; ++g) {\n d = c2[g];\n if (d.Sh() == e && d.Fb(i3)) {\n return true;\n }\n }\n }\n }\n return false;\n };\n _2.Kc = function VBd() {\n return this.a.f == 0 ? (LCd(), KCd.a) : new ZBd(this.a);\n };\n _2.Mc = function WBd(a) {\n return RBd(this, a);\n };\n _2.gc = function XBd() {\n return this.a.f;\n };\n mdb(Tte, \"BasicEMap/5\", 1037);\n bcb(613, 1, aie, ZBd);\n _2.Nb = function $Bd(a) {\n Rrb(this, a);\n };\n _2.Ob = function _Bd() {\n return this.b != -1;\n };\n _2.Pb = function aCd() {\n var a;\n if (this.f.e != this.c) {\n throw vbb(new Apb());\n }\n if (this.b == -1) {\n throw vbb(new utb());\n }\n this.d = this.a;\n this.e = this.b;\n YBd(this);\n a = BD(this.f.d[this.d].g[this.e], 133);\n return this.vj(a);\n };\n _2.Qb = function bCd() {\n if (this.f.e != this.c) {\n throw vbb(new Apb());\n }\n if (this.e == -1) {\n throw vbb(new Ydb());\n }\n this.f.c.Mc(qud(this.f.d[this.d], this.e));\n this.c = this.f.e;\n this.e = -1;\n this.a == this.d && this.b != -1 && --this.b;\n };\n _2.vj = function cCd(a) {\n return a;\n };\n _2.a = 0;\n _2.b = -1;\n _2.c = 0;\n _2.d = 0;\n _2.e = 0;\n mdb(Tte, \"BasicEMap/BasicEMapIterator\", 613);\n bcb(1031, 613, aie, dCd);\n _2.vj = function eCd(a) {\n return a.cd();\n };\n mdb(Tte, \"BasicEMap/BasicEMapKeyIterator\", 1031);\n bcb(1032, 613, aie, fCd);\n _2.vj = function gCd(a) {\n return a.dd();\n };\n mdb(Tte, \"BasicEMap/BasicEMapValueIterator\", 1032);\n bcb(1030, 1, cie, iCd);\n _2.wc = function oCd(a) {\n stb(this, a);\n };\n _2.yc = function tCd(a, b, c2) {\n return ttb(this, a, b, c2);\n };\n _2.$b = function jCd() {\n this.a.c.$b();\n };\n _2._b = function kCd(a) {\n return hCd(this, a);\n };\n _2.uc = function lCd(a) {\n return rAd(this.a, a);\n };\n _2.vc = function mCd() {\n return yAd(this.a);\n };\n _2.Fb = function nCd(a) {\n return zAd(this.a, a);\n };\n _2.xc = function pCd(a) {\n return AAd(this.a, a);\n };\n _2.Hb = function qCd() {\n return Etd(this.a.c);\n };\n _2.dc = function rCd() {\n return this.a.f == 0;\n };\n _2.ec = function sCd() {\n return EAd(this.a);\n };\n _2.zc = function uCd(a, b) {\n return HAd(this.a, a, b);\n };\n _2.Bc = function vCd(a) {\n return LAd(this.a, a);\n };\n _2.gc = function wCd() {\n return this.a.f;\n };\n _2.Ib = function xCd() {\n return Htd(this.a.c);\n };\n _2.Cc = function yCd() {\n return NAd(this.a);\n };\n mdb(Tte, \"BasicEMap/DelegatingMap\", 1030);\n bcb(612, 1, { 42: 1, 133: 1, 612: 1 }, zCd);\n _2.Fb = function ACd(a) {\n var b;\n if (JD(a, 42)) {\n b = BD(a, 42);\n return (this.b != null ? pb(this.b, b.cd()) : PD(this.b) === PD(b.cd())) && (this.c != null ? pb(this.c, b.dd()) : PD(this.c) === PD(b.dd()));\n } else {\n return false;\n }\n };\n _2.Sh = function BCd() {\n return this.a;\n };\n _2.cd = function CCd() {\n return this.b;\n };\n _2.dd = function DCd() {\n return this.c;\n };\n _2.Hb = function ECd() {\n return this.a ^ (this.c == null ? 0 : tb(this.c));\n };\n _2.Th = function FCd(a) {\n this.a = a;\n };\n _2.Uh = function GCd(a) {\n throw vbb(new gz());\n };\n _2.ed = function HCd(a) {\n var b;\n b = this.c;\n this.c = a;\n return b;\n };\n _2.Ib = function ICd() {\n return this.b + \"->\" + this.c;\n };\n _2.a = 0;\n var I4 = mdb(Tte, \"BasicEMap/EntryImpl\", 612);\n bcb(536, 1, {}, JCd);\n mdb(Tte, \"BasicEMap/View\", 536);\n var KCd;\n bcb(768, 1, {});\n _2.Fb = function ZCd(a) {\n return At((mmb(), jmb), a);\n };\n _2.Hb = function $Cd() {\n return qmb((mmb(), jmb));\n };\n _2.Ib = function _Cd() {\n return Fe((mmb(), jmb));\n };\n mdb(Tte, \"ECollections/BasicEmptyUnmodifiableEList\", 768);\n bcb(1312, 1, jie, aDd);\n _2.Nb = function cDd(a) {\n Rrb(this, a);\n };\n _2.Rb = function bDd(a) {\n throw vbb(new bgb());\n };\n _2.Ob = function dDd() {\n return false;\n };\n _2.Sb = function eDd() {\n return false;\n };\n _2.Pb = function fDd() {\n throw vbb(new utb());\n };\n _2.Tb = function gDd() {\n return 0;\n };\n _2.Ub = function hDd() {\n throw vbb(new utb());\n };\n _2.Vb = function iDd() {\n return -1;\n };\n _2.Qb = function jDd() {\n throw vbb(new bgb());\n };\n _2.Wb = function kDd(a) {\n throw vbb(new bgb());\n };\n mdb(Tte, \"ECollections/BasicEmptyUnmodifiableEList/1\", 1312);\n bcb(1310, 768, { 20: 1, 14: 1, 15: 1, 58: 1 }, lDd);\n _2.Vc = function mDd(a, b) {\n OCd();\n };\n _2.Fc = function nDd(a) {\n return PCd();\n };\n _2.Wc = function oDd(a, b) {\n return QCd();\n };\n _2.Gc = function pDd(a) {\n return RCd();\n };\n _2.$b = function qDd() {\n SCd();\n };\n _2.Hc = function rDd(a) {\n return false;\n };\n _2.Ic = function sDd(a) {\n return false;\n };\n _2.Jc = function tDd(a) {\n reb(this, a);\n };\n _2.Xb = function uDd(a) {\n return wmb((mmb(), a)), null;\n };\n _2.Xc = function vDd(a) {\n return -1;\n };\n _2.dc = function wDd() {\n return true;\n };\n _2.Kc = function xDd() {\n return this.a;\n };\n _2.Yc = function yDd() {\n return this.a;\n };\n _2.Zc = function zDd(a) {\n return this.a;\n };\n _2.ii = function ADd(a, b) {\n return TCd();\n };\n _2.ji = function BDd(a, b) {\n UCd();\n };\n _2.Lc = function CDd() {\n return new YAb(null, new Kub(this, 16));\n };\n _2.$c = function DDd(a) {\n return VCd();\n };\n _2.Mc = function EDd(a) {\n return WCd();\n };\n _2._c = function FDd(a, b) {\n return XCd();\n };\n _2.gc = function GDd() {\n return 0;\n };\n _2.ad = function HDd(a) {\n ktb(this, a);\n };\n _2.Nc = function IDd() {\n return new Kub(this, 16);\n };\n _2.Oc = function JDd() {\n return new YAb(null, new Kub(this, 16));\n };\n _2.bd = function KDd(a, b) {\n return mmb(), new Jib(jmb, a, b);\n };\n _2.Pc = function LDd() {\n return De((mmb(), jmb));\n };\n _2.Qc = function MDd(a) {\n return mmb(), Ee(jmb, a);\n };\n mdb(Tte, \"ECollections/EmptyUnmodifiableEList\", 1310);\n bcb(1311, 768, { 20: 1, 14: 1, 15: 1, 58: 1, 589: 1 }, NDd);\n _2.Vc = function ODd(a, b) {\n OCd();\n };\n _2.Fc = function PDd(a) {\n return PCd();\n };\n _2.Wc = function QDd(a, b) {\n return QCd();\n };\n _2.Gc = function RDd(a) {\n return RCd();\n };\n _2.$b = function SDd() {\n SCd();\n };\n _2.Hc = function TDd(a) {\n return false;\n };\n _2.Ic = function UDd(a) {\n return false;\n };\n _2.Jc = function VDd(a) {\n reb(this, a);\n };\n _2.Xb = function WDd(a) {\n return wmb((mmb(), a)), null;\n };\n _2.Xc = function XDd(a) {\n return -1;\n };\n _2.dc = function YDd() {\n return true;\n };\n _2.Kc = function ZDd() {\n return this.a;\n };\n _2.Yc = function $Dd() {\n return this.a;\n };\n _2.Zc = function _Dd(a) {\n return this.a;\n };\n _2.ii = function bEd(a, b) {\n return TCd();\n };\n _2.ji = function cEd(a, b) {\n UCd();\n };\n _2.Lc = function dEd() {\n return new YAb(null, new Kub(this, 16));\n };\n _2.$c = function eEd(a) {\n return VCd();\n };\n _2.Mc = function fEd(a) {\n return WCd();\n };\n _2._c = function gEd(a, b) {\n return XCd();\n };\n _2.gc = function hEd() {\n return 0;\n };\n _2.ad = function iEd(a) {\n ktb(this, a);\n };\n _2.Nc = function jEd() {\n return new Kub(this, 16);\n };\n _2.Oc = function kEd() {\n return new YAb(null, new Kub(this, 16));\n };\n _2.bd = function lEd(a, b) {\n return mmb(), new Jib(jmb, a, b);\n };\n _2.Pc = function mEd() {\n return De((mmb(), jmb));\n };\n _2.Qc = function nEd(a) {\n return mmb(), Ee(jmb, a);\n };\n _2.sj = function aEd() {\n return mmb(), mmb(), kmb;\n };\n mdb(Tte, \"ECollections/EmptyUnmodifiableEMap\", 1311);\n var U4 = odb(Tte, \"Enumerator\");\n var oEd;\n bcb(281, 1, { 281: 1 }, NEd);\n _2.Fb = function REd(a) {\n var b;\n if (this === a)\n return true;\n if (!JD(a, 281))\n return false;\n b = BD(a, 281);\n return this.f == b.f && TEd(this.i, b.i) && SEd(this.a, (this.f & 256) != 0 ? (b.f & 256) != 0 ? b.a : null : (b.f & 256) != 0 ? null : b.a) && SEd(this.d, b.d) && SEd(this.g, b.g) && SEd(this.e, b.e) && KEd(this, b);\n };\n _2.Hb = function WEd() {\n return this.f;\n };\n _2.Ib = function cFd() {\n return LEd(this);\n };\n _2.f = 0;\n var sEd = 0, tEd = 0, uEd = 0, vEd = 0, wEd = 0, xEd = 0, yEd = 0, zEd = 0, AEd = 0, BEd, CEd = 0, DEd = 0, EEd = 0, FEd = 0, GEd, HEd;\n mdb(Tte, \"URI\", 281);\n bcb(1091, 43, fke, mFd);\n _2.zc = function nFd(a, b) {\n return BD(Shb(this, GD(a), BD(b, 281)), 281);\n };\n mdb(Tte, \"URI/URICache\", 1091);\n bcb(497, 63, oue, oFd, pFd);\n _2.hi = function qFd() {\n return true;\n };\n mdb(Tte, \"UniqueEList\", 497);\n bcb(581, 60, Tie, rFd);\n mdb(Tte, \"WrappedException\", 581);\n var a5 = odb(Vse, nve);\n var v52 = odb(Vse, ove);\n var t5 = odb(Vse, pve);\n var b5 = odb(Vse, qve);\n var d5 = odb(Vse, rve);\n var c5 = odb(Vse, \"EClass\");\n var f5 = odb(Vse, \"EDataType\");\n var sFd;\n bcb(1183, 43, fke, vFd);\n _2.xc = function wFd(a) {\n return ND(a) ? Phb(this, a) : Wd(irb(this.f, a));\n };\n mdb(Vse, \"EDataType/Internal/ConversionDelegate/Factory/Registry/Impl\", 1183);\n var h5 = odb(Vse, \"EEnum\");\n var g5 = odb(Vse, sve);\n var j5 = odb(Vse, tve);\n var n5 = odb(Vse, uve);\n var xFd;\n var p5 = odb(Vse, vve);\n var q5 = odb(Vse, wve);\n bcb(1029, 1, {}, BFd);\n _2.Ib = function CFd() {\n return \"NIL\";\n };\n mdb(Vse, \"EStructuralFeature/Internal/DynamicValueHolder/1\", 1029);\n var DFd;\n bcb(1028, 43, fke, GFd);\n _2.xc = function HFd(a) {\n return ND(a) ? Phb(this, a) : Wd(irb(this.f, a));\n };\n mdb(Vse, \"EStructuralFeature/Internal/SettingDelegate/Factory/Registry/Impl\", 1028);\n var u5 = odb(Vse, xve);\n var w5 = odb(Vse, \"EValidator/PatternMatcher\");\n var IFd;\n var KFd;\n var MFd;\n var OFd, PFd, QFd, RFd, SFd, TFd, UFd, VFd, WFd, XFd, YFd, ZFd, $Fd, _Fd, aGd, bGd, cGd, dGd, eGd, fGd, gGd, hGd, iGd;\n var E9 = odb(yve, \"FeatureMap/Entry\");\n bcb(535, 1, { 72: 1 }, kGd);\n _2.ak = function lGd() {\n return this.a;\n };\n _2.dd = function mGd() {\n return this.b;\n };\n mdb(qte, \"BasicEObjectImpl/1\", 535);\n bcb(1027, 1, zve, nGd);\n _2.Wj = function oGd(a) {\n return hid(this.a, this.b, a);\n };\n _2.fj = function pGd() {\n return nid(this.a, this.b);\n };\n _2.Wb = function qGd(a) {\n zid(this.a, this.b, a);\n };\n _2.Xj = function rGd() {\n Did(this.a, this.b);\n };\n mdb(qte, \"BasicEObjectImpl/4\", 1027);\n bcb(1983, 1, { 108: 1 });\n _2.bk = function uGd(a) {\n this.e = a == 0 ? sGd : KC(SI, Uhe, 1, a, 5, 1);\n };\n _2.Ch = function vGd(a) {\n return this.e[a];\n };\n _2.Dh = function wGd(a, b) {\n this.e[a] = b;\n };\n _2.Eh = function xGd(a) {\n this.e[a] = null;\n };\n _2.ck = function yGd() {\n return this.c;\n };\n _2.dk = function zGd() {\n throw vbb(new bgb());\n };\n _2.ek = function AGd() {\n throw vbb(new bgb());\n };\n _2.fk = function BGd() {\n return this.d;\n };\n _2.gk = function CGd() {\n return this.e != null;\n };\n _2.hk = function DGd(a) {\n this.c = a;\n };\n _2.ik = function EGd(a) {\n throw vbb(new bgb());\n };\n _2.jk = function FGd(a) {\n throw vbb(new bgb());\n };\n _2.kk = function GGd(a) {\n this.d = a;\n };\n var sGd;\n mdb(qte, \"BasicEObjectImpl/EPropertiesHolderBaseImpl\", 1983);\n bcb(185, 1983, { 108: 1 }, HGd);\n _2.dk = function IGd() {\n return this.a;\n };\n _2.ek = function JGd() {\n return this.b;\n };\n _2.ik = function KGd(a) {\n this.a = a;\n };\n _2.jk = function LGd(a) {\n this.b = a;\n };\n mdb(qte, \"BasicEObjectImpl/EPropertiesHolderImpl\", 185);\n bcb(506, 97, pte, MGd);\n _2.Kg = function NGd() {\n return this.f;\n };\n _2.Pg = function OGd() {\n return this.k;\n };\n _2.Rg = function PGd(a, b) {\n this.g = a;\n this.i = b;\n };\n _2.Tg = function QGd() {\n return (this.j & 2) == 0 ? this.zh() : this.ph().ck();\n };\n _2.Vg = function RGd() {\n return this.i;\n };\n _2.Mg = function SGd() {\n return (this.j & 1) != 0;\n };\n _2.eh = function TGd() {\n return this.g;\n };\n _2.kh = function UGd() {\n return (this.j & 4) != 0;\n };\n _2.ph = function VGd() {\n return !this.k && (this.k = new HGd()), this.k;\n };\n _2.th = function WGd(a) {\n this.ph().hk(a);\n a ? this.j |= 2 : this.j &= -3;\n };\n _2.vh = function XGd(a) {\n this.ph().jk(a);\n a ? this.j |= 4 : this.j &= -5;\n };\n _2.zh = function YGd() {\n return (NFd(), MFd).S;\n };\n _2.i = 0;\n _2.j = 1;\n mdb(qte, \"EObjectImpl\", 506);\n bcb(780, 506, { 105: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1 }, _Gd);\n _2.Ch = function aHd(a) {\n return this.e[a];\n };\n _2.Dh = function bHd(a, b) {\n this.e[a] = b;\n };\n _2.Eh = function cHd(a) {\n this.e[a] = null;\n };\n _2.Tg = function dHd() {\n return this.d;\n };\n _2.Yg = function eHd(a) {\n return bLd(this.d, a);\n };\n _2.$g = function fHd() {\n return this.d;\n };\n _2.dh = function gHd() {\n return this.e != null;\n };\n _2.ph = function hHd() {\n !this.k && (this.k = new vHd());\n return this.k;\n };\n _2.th = function iHd(a) {\n this.d = a;\n };\n _2.yh = function jHd() {\n var a;\n if (this.e == null) {\n a = aLd(this.d);\n this.e = a == 0 ? ZGd : KC(SI, Uhe, 1, a, 5, 1);\n }\n return this;\n };\n _2.Ah = function kHd() {\n return 0;\n };\n var ZGd;\n mdb(qte, \"DynamicEObjectImpl\", 780);\n bcb(1376, 780, { 105: 1, 42: 1, 92: 1, 90: 1, 133: 1, 56: 1, 108: 1, 49: 1, 97: 1 }, lHd);\n _2.Fb = function nHd(a) {\n return this === a;\n };\n _2.Hb = function rHd() {\n return FCb(this);\n };\n _2.th = function mHd(a) {\n this.d = a;\n this.b = YKd(a, \"key\");\n this.c = YKd(a, Bte);\n };\n _2.Sh = function oHd() {\n var a;\n if (this.a == -1) {\n a = iid(this, this.b);\n this.a = a == null ? 0 : tb(a);\n }\n return this.a;\n };\n _2.cd = function pHd() {\n return iid(this, this.b);\n };\n _2.dd = function qHd() {\n return iid(this, this.c);\n };\n _2.Th = function sHd(a) {\n this.a = a;\n };\n _2.Uh = function tHd(a) {\n zid(this, this.b, a);\n };\n _2.ed = function uHd(a) {\n var b;\n b = iid(this, this.c);\n zid(this, this.c, a);\n return b;\n };\n _2.a = 0;\n mdb(qte, \"DynamicEObjectImpl/BasicEMapEntry\", 1376);\n bcb(1377, 1, { 108: 1 }, vHd);\n _2.bk = function wHd(a) {\n throw vbb(new bgb());\n };\n _2.Ch = function xHd(a) {\n throw vbb(new bgb());\n };\n _2.Dh = function yHd(a, b) {\n throw vbb(new bgb());\n };\n _2.Eh = function zHd(a) {\n throw vbb(new bgb());\n };\n _2.ck = function AHd() {\n throw vbb(new bgb());\n };\n _2.dk = function BHd() {\n return this.a;\n };\n _2.ek = function CHd() {\n return this.b;\n };\n _2.fk = function DHd() {\n return this.c;\n };\n _2.gk = function EHd() {\n throw vbb(new bgb());\n };\n _2.hk = function FHd(a) {\n throw vbb(new bgb());\n };\n _2.ik = function GHd(a) {\n this.a = a;\n };\n _2.jk = function HHd(a) {\n this.b = a;\n };\n _2.kk = function IHd(a) {\n this.c = a;\n };\n mdb(qte, \"DynamicEObjectImpl/DynamicEPropertiesHolderImpl\", 1377);\n bcb(510, 150, { 105: 1, 92: 1, 90: 1, 590: 1, 147: 1, 56: 1, 108: 1, 49: 1, 97: 1, 510: 1, 150: 1, 114: 1, 115: 1 }, RHd);\n _2.Qg = function SHd(a) {\n return KHd(this, a);\n };\n _2._g = function THd(a, b, c2) {\n var d;\n switch (a) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), this.Ab;\n case 1:\n return this.d;\n case 2:\n return c2 ? (!this.b && (this.b = new sId((jGd(), fGd), x6, this)), this.b) : (!this.b && (this.b = new sId((jGd(), fGd), x6, this)), FAd(this.b));\n case 3:\n return MHd(this);\n case 4:\n return !this.a && (this.a = new xMd(m5, this, 4)), this.a;\n case 5:\n return !this.c && (this.c = new _4d(m5, this, 5)), this.c;\n }\n return bid(this, a - aLd((jGd(), OFd)), XKd((d = BD(Ajd(this, 16), 26), !d ? OFd : d), a), b, c2);\n };\n _2.hh = function UHd(a, b, c2) {\n var d, e, f2;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Sxd(this.Ab, a, c2);\n case 3:\n !!this.Cb && (c2 = (e = this.Db >> 16, e >= 0 ? KHd(this, c2) : this.Cb.ih(this, -1 - e, null, c2)));\n return JHd(this, BD(a, 147), c2);\n }\n return f2 = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? (jGd(), OFd) : d), b), 66), f2.Nj().Qj(this, yjd(this), b - aLd((jGd(), OFd)), a, c2);\n };\n _2.jh = function VHd(a, b, c2) {\n var d, e;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Txd(this.Ab, a, c2);\n case 2:\n return !this.b && (this.b = new sId((jGd(), fGd), x6, this)), bId(this.b, a, c2);\n case 3:\n return JHd(this, null, c2);\n case 4:\n return !this.a && (this.a = new xMd(m5, this, 4)), Txd(this.a, a, c2);\n }\n return e = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? (jGd(), OFd) : d), b), 66), e.Nj().Rj(this, yjd(this), b - aLd((jGd(), OFd)), a, c2);\n };\n _2.lh = function WHd(a) {\n var b;\n switch (a) {\n case 0:\n return !!this.Ab && this.Ab.i != 0;\n case 1:\n return this.d != null;\n case 2:\n return !!this.b && this.b.f != 0;\n case 3:\n return !!MHd(this);\n case 4:\n return !!this.a && this.a.i != 0;\n case 5:\n return !!this.c && this.c.i != 0;\n }\n return cid(this, a - aLd((jGd(), OFd)), XKd((b = BD(Ajd(this, 16), 26), !b ? OFd : b), a));\n };\n _2.sh = function XHd(a, b) {\n var c2;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n ytd(this.Ab, BD(b, 14));\n return;\n case 1:\n OHd(this, GD(b));\n return;\n case 2:\n !this.b && (this.b = new sId((jGd(), fGd), x6, this));\n cId(this.b, b);\n return;\n case 3:\n NHd(this, BD(b, 147));\n return;\n case 4:\n !this.a && (this.a = new xMd(m5, this, 4));\n Uxd(this.a);\n !this.a && (this.a = new xMd(m5, this, 4));\n ytd(this.a, BD(b, 14));\n return;\n case 5:\n !this.c && (this.c = new _4d(m5, this, 5));\n Uxd(this.c);\n !this.c && (this.c = new _4d(m5, this, 5));\n ytd(this.c, BD(b, 14));\n return;\n }\n did(this, a - aLd((jGd(), OFd)), XKd((c2 = BD(Ajd(this, 16), 26), !c2 ? OFd : c2), a), b);\n };\n _2.zh = function YHd() {\n return jGd(), OFd;\n };\n _2.Bh = function ZHd(a) {\n var b;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n return;\n case 1:\n PHd(this, null);\n return;\n case 2:\n !this.b && (this.b = new sId((jGd(), fGd), x6, this));\n this.b.c.$b();\n return;\n case 3:\n NHd(this, null);\n return;\n case 4:\n !this.a && (this.a = new xMd(m5, this, 4));\n Uxd(this.a);\n return;\n case 5:\n !this.c && (this.c = new _4d(m5, this, 5));\n Uxd(this.c);\n return;\n }\n eid(this, a - aLd((jGd(), OFd)), XKd((b = BD(Ajd(this, 16), 26), !b ? OFd : b), a));\n };\n _2.Ib = function $Hd() {\n return QHd(this);\n };\n _2.d = null;\n mdb(qte, \"EAnnotationImpl\", 510);\n bcb(151, 705, Ave, dId);\n _2.Xh = function eId(a, b) {\n _Hd(this, a, BD(b, 42));\n };\n _2.lk = function fId(a, b) {\n return aId(this, BD(a, 42), b);\n };\n _2.pi = function gId(a) {\n return BD(BD(this.c, 69).pi(a), 133);\n };\n _2.Zh = function hId() {\n return BD(this.c, 69).Zh();\n };\n _2.$h = function iId() {\n return BD(this.c, 69).$h();\n };\n _2._h = function jId(a) {\n return BD(this.c, 69)._h(a);\n };\n _2.mk = function kId(a, b) {\n return bId(this, a, b);\n };\n _2.Wj = function lId(a) {\n return BD(this.c, 76).Wj(a);\n };\n _2.rj = function mId() {\n };\n _2.fj = function nId() {\n return BD(this.c, 76).fj();\n };\n _2.tj = function oId(a, b, c2) {\n var d;\n d = BD(bKd(this.b).Nh().Jh(this.b), 133);\n d.Th(a);\n d.Uh(b);\n d.ed(c2);\n return d;\n };\n _2.uj = function pId() {\n return new W5d(this);\n };\n _2.Wb = function qId(a) {\n cId(this, a);\n };\n _2.Xj = function rId() {\n BD(this.c, 76).Xj();\n };\n mdb(yve, \"EcoreEMap\", 151);\n bcb(158, 151, Ave, sId);\n _2.qj = function tId() {\n var a, b, c2, d, e, f2;\n if (this.d == null) {\n f2 = KC(y4, jve, 63, 2 * this.f + 1, 0, 1);\n for (c2 = this.c.Kc(); c2.e != c2.i.gc(); ) {\n b = BD(c2.nj(), 133);\n d = b.Sh();\n e = (d & Ohe) % f2.length;\n a = f2[e];\n !a && (a = f2[e] = new W5d(this));\n a.Fc(b);\n }\n this.d = f2;\n }\n };\n mdb(qte, \"EAnnotationImpl/1\", 158);\n bcb(284, 438, { 105: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 108: 1, 472: 1, 49: 1, 97: 1, 150: 1, 284: 1, 114: 1, 115: 1 });\n _2._g = function GId(a, b, c2) {\n var d, e;\n switch (a) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), this.Ab;\n case 1:\n return this.zb;\n case 2:\n return Bcb(), (this.Bb & 256) != 0 ? true : false;\n case 3:\n return Bcb(), (this.Bb & 512) != 0 ? true : false;\n case 4:\n return meb(this.s);\n case 5:\n return meb(this.t);\n case 6:\n return Bcb(), this.$j() ? true : false;\n case 7:\n return Bcb(), e = this.s, e >= 1 ? true : false;\n case 8:\n if (b)\n return wId(this);\n return this.r;\n case 9:\n return this.q;\n }\n return bid(this, a - aLd(this.zh()), XKd((d = BD(Ajd(this, 16), 26), !d ? this.zh() : d), a), b, c2);\n };\n _2.jh = function HId(a, b, c2) {\n var d, e;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Txd(this.Ab, a, c2);\n case 9:\n return vId(this, c2);\n }\n return e = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? this.zh() : d), b), 66), e.Nj().Rj(this, yjd(this), b - aLd(this.zh()), a, c2);\n };\n _2.lh = function IId(a) {\n var b, c2;\n switch (a) {\n case 0:\n return !!this.Ab && this.Ab.i != 0;\n case 1:\n return this.zb != null;\n case 2:\n return (this.Bb & 256) == 0;\n case 3:\n return (this.Bb & 512) == 0;\n case 4:\n return this.s != 0;\n case 5:\n return this.t != 1;\n case 6:\n return this.$j();\n case 7:\n return c2 = this.s, c2 >= 1;\n case 8:\n return !!this.r && !this.q.e && LQd(this.q).i == 0;\n case 9:\n return !!this.q && !(!!this.r && !this.q.e && LQd(this.q).i == 0);\n }\n return cid(this, a - aLd(this.zh()), XKd((b = BD(Ajd(this, 16), 26), !b ? this.zh() : b), a));\n };\n _2.sh = function JId(a, b) {\n var c2, d;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n ytd(this.Ab, BD(b, 14));\n return;\n case 1:\n this.Lh(GD(b));\n return;\n case 2:\n BId(this, Ccb(DD(b)));\n return;\n case 3:\n CId(this, Ccb(DD(b)));\n return;\n case 4:\n AId(this, BD(b, 19).a);\n return;\n case 5:\n this.ok(BD(b, 19).a);\n return;\n case 8:\n yId(this, BD(b, 138));\n return;\n case 9:\n d = xId(this, BD(b, 87), null);\n !!d && d.Fi();\n return;\n }\n did(this, a - aLd(this.zh()), XKd((c2 = BD(Ajd(this, 16), 26), !c2 ? this.zh() : c2), a), b);\n };\n _2.zh = function KId() {\n return jGd(), hGd;\n };\n _2.Bh = function LId(a) {\n var b, c2;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n return;\n case 1:\n this.Lh(null);\n return;\n case 2:\n BId(this, true);\n return;\n case 3:\n CId(this, true);\n return;\n case 4:\n AId(this, 0);\n return;\n case 5:\n this.ok(1);\n return;\n case 8:\n yId(this, null);\n return;\n case 9:\n c2 = xId(this, null, null);\n !!c2 && c2.Fi();\n return;\n }\n eid(this, a - aLd(this.zh()), XKd((b = BD(Ajd(this, 16), 26), !b ? this.zh() : b), a));\n };\n _2.Gh = function MId() {\n wId(this);\n this.Bb |= 1;\n };\n _2.Yj = function NId() {\n return wId(this);\n };\n _2.Zj = function OId() {\n return this.t;\n };\n _2.$j = function PId() {\n var a;\n return a = this.t, a > 1 || a == -1;\n };\n _2.hi = function QId() {\n return (this.Bb & 512) != 0;\n };\n _2.nk = function RId(a, b) {\n return zId(this, a, b);\n };\n _2.ok = function SId(a) {\n DId(this, a);\n };\n _2.Ib = function TId() {\n return EId(this);\n };\n _2.s = 0;\n _2.t = 1;\n mdb(qte, \"ETypedElementImpl\", 284);\n bcb(449, 284, { 105: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 170: 1, 66: 1, 108: 1, 472: 1, 49: 1, 97: 1, 150: 1, 449: 1, 284: 1, 114: 1, 115: 1, 677: 1 });\n _2.Qg = function iJd(a) {\n return UId(this, a);\n };\n _2._g = function jJd(a, b, c2) {\n var d, e;\n switch (a) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), this.Ab;\n case 1:\n return this.zb;\n case 2:\n return Bcb(), (this.Bb & 256) != 0 ? true : false;\n case 3:\n return Bcb(), (this.Bb & 512) != 0 ? true : false;\n case 4:\n return meb(this.s);\n case 5:\n return meb(this.t);\n case 6:\n return Bcb(), this.$j() ? true : false;\n case 7:\n return Bcb(), e = this.s, e >= 1 ? true : false;\n case 8:\n if (b)\n return wId(this);\n return this.r;\n case 9:\n return this.q;\n case 10:\n return Bcb(), (this.Bb & zte) != 0 ? true : false;\n case 11:\n return Bcb(), (this.Bb & Dve) != 0 ? true : false;\n case 12:\n return Bcb(), (this.Bb & Rje) != 0 ? true : false;\n case 13:\n return this.j;\n case 14:\n return VId(this);\n case 15:\n return Bcb(), (this.Bb & Cve) != 0 ? true : false;\n case 16:\n return Bcb(), (this.Bb & oie) != 0 ? true : false;\n case 17:\n return WId(this);\n }\n return bid(this, a - aLd(this.zh()), XKd((d = BD(Ajd(this, 16), 26), !d ? this.zh() : d), a), b, c2);\n };\n _2.hh = function kJd(a, b, c2) {\n var d, e, f2;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Sxd(this.Ab, a, c2);\n case 17:\n !!this.Cb && (c2 = (e = this.Db >> 16, e >= 0 ? UId(this, c2) : this.Cb.ih(this, -1 - e, null, c2)));\n return _hd(this, a, 17, c2);\n }\n return f2 = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? this.zh() : d), b), 66), f2.Nj().Qj(this, yjd(this), b - aLd(this.zh()), a, c2);\n };\n _2.jh = function lJd(a, b, c2) {\n var d, e;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Txd(this.Ab, a, c2);\n case 9:\n return vId(this, c2);\n case 17:\n return _hd(this, null, 17, c2);\n }\n return e = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? this.zh() : d), b), 66), e.Nj().Rj(this, yjd(this), b - aLd(this.zh()), a, c2);\n };\n _2.lh = function mJd(a) {\n var b, c2;\n switch (a) {\n case 0:\n return !!this.Ab && this.Ab.i != 0;\n case 1:\n return this.zb != null;\n case 2:\n return (this.Bb & 256) == 0;\n case 3:\n return (this.Bb & 512) == 0;\n case 4:\n return this.s != 0;\n case 5:\n return this.t != 1;\n case 6:\n return this.$j();\n case 7:\n return c2 = this.s, c2 >= 1;\n case 8:\n return !!this.r && !this.q.e && LQd(this.q).i == 0;\n case 9:\n return !!this.q && !(!!this.r && !this.q.e && LQd(this.q).i == 0);\n case 10:\n return (this.Bb & zte) == 0;\n case 11:\n return (this.Bb & Dve) != 0;\n case 12:\n return (this.Bb & Rje) != 0;\n case 13:\n return this.j != null;\n case 14:\n return VId(this) != null;\n case 15:\n return (this.Bb & Cve) != 0;\n case 16:\n return (this.Bb & oie) != 0;\n case 17:\n return !!WId(this);\n }\n return cid(this, a - aLd(this.zh()), XKd((b = BD(Ajd(this, 16), 26), !b ? this.zh() : b), a));\n };\n _2.sh = function nJd(a, b) {\n var c2, d;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n ytd(this.Ab, BD(b, 14));\n return;\n case 1:\n cJd(this, GD(b));\n return;\n case 2:\n BId(this, Ccb(DD(b)));\n return;\n case 3:\n CId(this, Ccb(DD(b)));\n return;\n case 4:\n AId(this, BD(b, 19).a);\n return;\n case 5:\n this.ok(BD(b, 19).a);\n return;\n case 8:\n yId(this, BD(b, 138));\n return;\n case 9:\n d = xId(this, BD(b, 87), null);\n !!d && d.Fi();\n return;\n case 10:\n ZId(this, Ccb(DD(b)));\n return;\n case 11:\n fJd(this, Ccb(DD(b)));\n return;\n case 12:\n dJd(this, Ccb(DD(b)));\n return;\n case 13:\n $Id(this, GD(b));\n return;\n case 15:\n eJd(this, Ccb(DD(b)));\n return;\n case 16:\n aJd(this, Ccb(DD(b)));\n return;\n }\n did(this, a - aLd(this.zh()), XKd((c2 = BD(Ajd(this, 16), 26), !c2 ? this.zh() : c2), a), b);\n };\n _2.zh = function oJd() {\n return jGd(), gGd;\n };\n _2.Bh = function pJd(a) {\n var b, c2;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n return;\n case 1:\n JD(this.Cb, 88) && XMd($Kd(BD(this.Cb, 88)), 4);\n pnd(this, null);\n return;\n case 2:\n BId(this, true);\n return;\n case 3:\n CId(this, true);\n return;\n case 4:\n AId(this, 0);\n return;\n case 5:\n this.ok(1);\n return;\n case 8:\n yId(this, null);\n return;\n case 9:\n c2 = xId(this, null, null);\n !!c2 && c2.Fi();\n return;\n case 10:\n ZId(this, true);\n return;\n case 11:\n fJd(this, false);\n return;\n case 12:\n dJd(this, false);\n return;\n case 13:\n this.i = null;\n _Id(this, null);\n return;\n case 15:\n eJd(this, false);\n return;\n case 16:\n aJd(this, false);\n return;\n }\n eid(this, a - aLd(this.zh()), XKd((b = BD(Ajd(this, 16), 26), !b ? this.zh() : b), a));\n };\n _2.Gh = function qJd() {\n a2d(q1d((O6d(), M6d), this));\n wId(this);\n this.Bb |= 1;\n };\n _2.Gj = function rJd() {\n return this.f;\n };\n _2.zj = function sJd() {\n return VId(this);\n };\n _2.Hj = function tJd() {\n return WId(this);\n };\n _2.Lj = function uJd() {\n return null;\n };\n _2.pk = function vJd() {\n return this.k;\n };\n _2.aj = function wJd() {\n return this.n;\n };\n _2.Mj = function xJd() {\n return XId(this);\n };\n _2.Nj = function yJd() {\n var a, b, c2, d, e, f2, g, h, i3;\n if (!this.p) {\n c2 = WId(this);\n (c2.i == null && TKd(c2), c2.i).length;\n d = this.Lj();\n !!d && aLd(WId(d));\n e = wId(this);\n g = e.Bj();\n a = !g ? null : (g.i & 1) != 0 ? g == sbb ? wI : g == WD ? JI : g == VD ? FI : g == UD ? BI : g == XD ? MI : g == rbb ? UI : g == SD ? xI : yI : g;\n b = VId(this);\n h = e.zj();\n n6d(this);\n (this.Bb & oie) != 0 && (!!(f2 = t1d((O6d(), M6d), c2)) && f2 != this || !!(f2 = _1d(q1d(M6d, this)))) ? this.p = new zVd(this, f2) : this.$j() ? this.rk() ? !d ? (this.Bb & Cve) != 0 ? !a ? this.sk() ? this.p = new KVd(42, this) : this.p = new KVd(0, this) : a == CK ? this.p = new IVd(50, J4, this) : this.sk() ? this.p = new IVd(43, a, this) : this.p = new IVd(1, a, this) : !a ? this.sk() ? this.p = new KVd(44, this) : this.p = new KVd(2, this) : a == CK ? this.p = new IVd(41, J4, this) : this.sk() ? this.p = new IVd(45, a, this) : this.p = new IVd(3, a, this) : (this.Bb & Cve) != 0 ? !a ? this.sk() ? this.p = new LVd(46, this, d) : this.p = new LVd(4, this, d) : this.sk() ? this.p = new JVd(47, a, this, d) : this.p = new JVd(5, a, this, d) : !a ? this.sk() ? this.p = new LVd(48, this, d) : this.p = new LVd(6, this, d) : this.sk() ? this.p = new JVd(49, a, this, d) : this.p = new JVd(7, a, this, d) : JD(e, 148) ? a == E9 ? this.p = new KVd(40, this) : (this.Bb & 512) != 0 ? (this.Bb & Cve) != 0 ? !a ? this.p = new KVd(8, this) : this.p = new IVd(9, a, this) : !a ? this.p = new KVd(10, this) : this.p = new IVd(11, a, this) : (this.Bb & Cve) != 0 ? !a ? this.p = new KVd(12, this) : this.p = new IVd(13, a, this) : !a ? this.p = new KVd(14, this) : this.p = new IVd(15, a, this) : !d ? this.sk() ? (this.Bb & Cve) != 0 ? !a ? this.p = new KVd(16, this) : this.p = new IVd(17, a, this) : !a ? this.p = new KVd(18, this) : this.p = new IVd(19, a, this) : (this.Bb & Cve) != 0 ? !a ? this.p = new KVd(20, this) : this.p = new IVd(21, a, this) : !a ? this.p = new KVd(22, this) : this.p = new IVd(23, a, this) : (i3 = d.t, i3 > 1 || i3 == -1 ? this.sk() ? (this.Bb & Cve) != 0 ? !a ? this.p = new LVd(24, this, d) : this.p = new JVd(25, a, this, d) : !a ? this.p = new LVd(26, this, d) : this.p = new JVd(27, a, this, d) : (this.Bb & Cve) != 0 ? !a ? this.p = new LVd(28, this, d) : this.p = new JVd(29, a, this, d) : !a ? this.p = new LVd(30, this, d) : this.p = new JVd(31, a, this, d) : this.sk() ? (this.Bb & Cve) != 0 ? !a ? this.p = new LVd(32, this, d) : this.p = new JVd(33, a, this, d) : !a ? this.p = new LVd(34, this, d) : this.p = new JVd(35, a, this, d) : (this.Bb & Cve) != 0 ? !a ? this.p = new LVd(36, this, d) : this.p = new JVd(37, a, this, d) : !a ? this.p = new LVd(38, this, d) : this.p = new JVd(39, a, this, d)) : this.qk() ? this.sk() ? this.p = new kWd(BD(e, 26), this, d) : this.p = new cWd(BD(e, 26), this, d) : JD(e, 148) ? a == E9 ? this.p = new KVd(40, this) : (this.Bb & Cve) != 0 ? !a ? this.p = new jXd(BD(e, 148), b, h, this) : this.p = new lXd(b, h, this, (CWd(), g == WD ? yWd : g == sbb ? tWd : g == XD ? zWd : g == VD ? xWd : g == UD ? wWd : g == rbb ? BWd : g == SD ? uWd : g == TD ? vWd : AWd)) : !a ? this.p = new cXd(BD(e, 148), b, h, this) : this.p = new eXd(b, h, this, (CWd(), g == WD ? yWd : g == sbb ? tWd : g == XD ? zWd : g == VD ? xWd : g == UD ? wWd : g == rbb ? BWd : g == SD ? uWd : g == TD ? vWd : AWd)) : this.rk() ? !d ? (this.Bb & Cve) != 0 ? this.sk() ? this.p = new FXd(BD(e, 26), this) : this.p = new DXd(BD(e, 26), this) : this.sk() ? this.p = new BXd(BD(e, 26), this) : this.p = new zXd(BD(e, 26), this) : (this.Bb & Cve) != 0 ? this.sk() ? this.p = new NXd(BD(e, 26), this, d) : this.p = new LXd(BD(e, 26), this, d) : this.sk() ? this.p = new JXd(BD(e, 26), this, d) : this.p = new HXd(BD(e, 26), this, d) : this.sk() ? !d ? (this.Bb & Cve) != 0 ? this.p = new RXd(BD(e, 26), this) : this.p = new PXd(BD(e, 26), this) : (this.Bb & Cve) != 0 ? this.p = new VXd(BD(e, 26), this, d) : this.p = new TXd(BD(e, 26), this, d) : !d ? (this.Bb & Cve) != 0 ? this.p = new XXd(BD(e, 26), this) : this.p = new nXd(BD(e, 26), this) : (this.Bb & Cve) != 0 ? this.p = new _Xd(BD(e, 26), this, d) : this.p = new ZXd(BD(e, 26), this, d);\n }\n return this.p;\n };\n _2.Ij = function zJd() {\n return (this.Bb & zte) != 0;\n };\n _2.qk = function AJd() {\n return false;\n };\n _2.rk = function BJd() {\n return false;\n };\n _2.Jj = function CJd() {\n return (this.Bb & oie) != 0;\n };\n _2.Oj = function DJd() {\n return YId(this);\n };\n _2.sk = function EJd() {\n return false;\n };\n _2.Kj = function FJd() {\n return (this.Bb & Cve) != 0;\n };\n _2.tk = function GJd(a) {\n this.k = a;\n };\n _2.Lh = function HJd(a) {\n cJd(this, a);\n };\n _2.Ib = function IJd() {\n return gJd(this);\n };\n _2.e = false;\n _2.n = 0;\n mdb(qte, \"EStructuralFeatureImpl\", 449);\n bcb(322, 449, { 105: 1, 92: 1, 90: 1, 34: 1, 147: 1, 191: 1, 56: 1, 170: 1, 66: 1, 108: 1, 472: 1, 49: 1, 97: 1, 322: 1, 150: 1, 449: 1, 284: 1, 114: 1, 115: 1, 677: 1 }, OJd);\n _2._g = function PJd(a, b, c2) {\n var d, e;\n switch (a) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), this.Ab;\n case 1:\n return this.zb;\n case 2:\n return Bcb(), (this.Bb & 256) != 0 ? true : false;\n case 3:\n return Bcb(), (this.Bb & 512) != 0 ? true : false;\n case 4:\n return meb(this.s);\n case 5:\n return meb(this.t);\n case 6:\n return Bcb(), LJd(this) ? true : false;\n case 7:\n return Bcb(), e = this.s, e >= 1 ? true : false;\n case 8:\n if (b)\n return wId(this);\n return this.r;\n case 9:\n return this.q;\n case 10:\n return Bcb(), (this.Bb & zte) != 0 ? true : false;\n case 11:\n return Bcb(), (this.Bb & Dve) != 0 ? true : false;\n case 12:\n return Bcb(), (this.Bb & Rje) != 0 ? true : false;\n case 13:\n return this.j;\n case 14:\n return VId(this);\n case 15:\n return Bcb(), (this.Bb & Cve) != 0 ? true : false;\n case 16:\n return Bcb(), (this.Bb & oie) != 0 ? true : false;\n case 17:\n return WId(this);\n case 18:\n return Bcb(), (this.Bb & ote) != 0 ? true : false;\n case 19:\n if (b)\n return KJd(this);\n return JJd(this);\n }\n return bid(this, a - aLd((jGd(), PFd)), XKd((d = BD(Ajd(this, 16), 26), !d ? PFd : d), a), b, c2);\n };\n _2.lh = function QJd(a) {\n var b, c2;\n switch (a) {\n case 0:\n return !!this.Ab && this.Ab.i != 0;\n case 1:\n return this.zb != null;\n case 2:\n return (this.Bb & 256) == 0;\n case 3:\n return (this.Bb & 512) == 0;\n case 4:\n return this.s != 0;\n case 5:\n return this.t != 1;\n case 6:\n return LJd(this);\n case 7:\n return c2 = this.s, c2 >= 1;\n case 8:\n return !!this.r && !this.q.e && LQd(this.q).i == 0;\n case 9:\n return !!this.q && !(!!this.r && !this.q.e && LQd(this.q).i == 0);\n case 10:\n return (this.Bb & zte) == 0;\n case 11:\n return (this.Bb & Dve) != 0;\n case 12:\n return (this.Bb & Rje) != 0;\n case 13:\n return this.j != null;\n case 14:\n return VId(this) != null;\n case 15:\n return (this.Bb & Cve) != 0;\n case 16:\n return (this.Bb & oie) != 0;\n case 17:\n return !!WId(this);\n case 18:\n return (this.Bb & ote) != 0;\n case 19:\n return !!JJd(this);\n }\n return cid(this, a - aLd((jGd(), PFd)), XKd((b = BD(Ajd(this, 16), 26), !b ? PFd : b), a));\n };\n _2.sh = function RJd(a, b) {\n var c2, d;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n ytd(this.Ab, BD(b, 14));\n return;\n case 1:\n cJd(this, GD(b));\n return;\n case 2:\n BId(this, Ccb(DD(b)));\n return;\n case 3:\n CId(this, Ccb(DD(b)));\n return;\n case 4:\n AId(this, BD(b, 19).a);\n return;\n case 5:\n NJd(this, BD(b, 19).a);\n return;\n case 8:\n yId(this, BD(b, 138));\n return;\n case 9:\n d = xId(this, BD(b, 87), null);\n !!d && d.Fi();\n return;\n case 10:\n ZId(this, Ccb(DD(b)));\n return;\n case 11:\n fJd(this, Ccb(DD(b)));\n return;\n case 12:\n dJd(this, Ccb(DD(b)));\n return;\n case 13:\n $Id(this, GD(b));\n return;\n case 15:\n eJd(this, Ccb(DD(b)));\n return;\n case 16:\n aJd(this, Ccb(DD(b)));\n return;\n case 18:\n MJd(this, Ccb(DD(b)));\n return;\n }\n did(this, a - aLd((jGd(), PFd)), XKd((c2 = BD(Ajd(this, 16), 26), !c2 ? PFd : c2), a), b);\n };\n _2.zh = function SJd() {\n return jGd(), PFd;\n };\n _2.Bh = function TJd(a) {\n var b, c2;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n return;\n case 1:\n JD(this.Cb, 88) && XMd($Kd(BD(this.Cb, 88)), 4);\n pnd(this, null);\n return;\n case 2:\n BId(this, true);\n return;\n case 3:\n CId(this, true);\n return;\n case 4:\n AId(this, 0);\n return;\n case 5:\n this.b = 0;\n DId(this, 1);\n return;\n case 8:\n yId(this, null);\n return;\n case 9:\n c2 = xId(this, null, null);\n !!c2 && c2.Fi();\n return;\n case 10:\n ZId(this, true);\n return;\n case 11:\n fJd(this, false);\n return;\n case 12:\n dJd(this, false);\n return;\n case 13:\n this.i = null;\n _Id(this, null);\n return;\n case 15:\n eJd(this, false);\n return;\n case 16:\n aJd(this, false);\n return;\n case 18:\n MJd(this, false);\n return;\n }\n eid(this, a - aLd((jGd(), PFd)), XKd((b = BD(Ajd(this, 16), 26), !b ? PFd : b), a));\n };\n _2.Gh = function UJd() {\n KJd(this);\n a2d(q1d((O6d(), M6d), this));\n wId(this);\n this.Bb |= 1;\n };\n _2.$j = function VJd() {\n return LJd(this);\n };\n _2.nk = function WJd(a, b) {\n this.b = 0;\n this.a = null;\n return zId(this, a, b);\n };\n _2.ok = function XJd(a) {\n NJd(this, a);\n };\n _2.Ib = function YJd() {\n var a;\n if ((this.Db & 64) != 0)\n return gJd(this);\n a = new Jfb(gJd(this));\n a.a += \" (iD: \";\n Ffb(a, (this.Bb & ote) != 0);\n a.a += \")\";\n return a.a;\n };\n _2.b = 0;\n mdb(qte, \"EAttributeImpl\", 322);\n bcb(351, 438, { 105: 1, 92: 1, 90: 1, 138: 1, 147: 1, 191: 1, 56: 1, 108: 1, 49: 1, 97: 1, 351: 1, 150: 1, 114: 1, 115: 1, 676: 1 });\n _2.uk = function nKd(a) {\n return a.Tg() == this;\n };\n _2.Qg = function oKd(a) {\n return aKd(this, a);\n };\n _2.Rg = function pKd(a, b) {\n this.w = null;\n this.Db = b << 16 | this.Db & 255;\n this.Cb = a;\n };\n _2._g = function qKd(a, b, c2) {\n var d;\n switch (a) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), this.Ab;\n case 1:\n return this.zb;\n case 2:\n return this.D != null ? this.D : this.B;\n case 3:\n return dKd(this);\n case 4:\n return this.zj();\n case 5:\n return this.F;\n case 6:\n if (b)\n return bKd(this);\n return ZJd(this);\n case 7:\n return !this.A && (this.A = new K4d(u5, this, 7)), this.A;\n }\n return bid(this, a - aLd(this.zh()), XKd((d = BD(Ajd(this, 16), 26), !d ? this.zh() : d), a), b, c2);\n };\n _2.hh = function rKd(a, b, c2) {\n var d, e, f2;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Sxd(this.Ab, a, c2);\n case 6:\n !!this.Cb && (c2 = (e = this.Db >> 16, e >= 0 ? aKd(this, c2) : this.Cb.ih(this, -1 - e, null, c2)));\n return _hd(this, a, 6, c2);\n }\n return f2 = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? this.zh() : d), b), 66), f2.Nj().Qj(this, yjd(this), b - aLd(this.zh()), a, c2);\n };\n _2.jh = function sKd(a, b, c2) {\n var d, e;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Txd(this.Ab, a, c2);\n case 6:\n return _hd(this, null, 6, c2);\n case 7:\n return !this.A && (this.A = new K4d(u5, this, 7)), Txd(this.A, a, c2);\n }\n return e = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? this.zh() : d), b), 66), e.Nj().Rj(this, yjd(this), b - aLd(this.zh()), a, c2);\n };\n _2.lh = function tKd(a) {\n var b;\n switch (a) {\n case 0:\n return !!this.Ab && this.Ab.i != 0;\n case 1:\n return this.zb != null;\n case 2:\n return this.D != null && this.D == this.F;\n case 3:\n return !!dKd(this);\n case 4:\n return this.zj() != null;\n case 5:\n return this.F != null && this.F != this.D && this.F != this.B;\n case 6:\n return !!ZJd(this);\n case 7:\n return !!this.A && this.A.i != 0;\n }\n return cid(this, a - aLd(this.zh()), XKd((b = BD(Ajd(this, 16), 26), !b ? this.zh() : b), a));\n };\n _2.sh = function uKd(a, b) {\n var c2;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n ytd(this.Ab, BD(b, 14));\n return;\n case 1:\n lKd(this, GD(b));\n return;\n case 2:\n iKd(this, GD(b));\n return;\n case 5:\n kKd(this, GD(b));\n return;\n case 7:\n !this.A && (this.A = new K4d(u5, this, 7));\n Uxd(this.A);\n !this.A && (this.A = new K4d(u5, this, 7));\n ytd(this.A, BD(b, 14));\n return;\n }\n did(this, a - aLd(this.zh()), XKd((c2 = BD(Ajd(this, 16), 26), !c2 ? this.zh() : c2), a), b);\n };\n _2.zh = function vKd() {\n return jGd(), RFd;\n };\n _2.Bh = function wKd(a) {\n var b;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n return;\n case 1:\n JD(this.Cb, 179) && (BD(this.Cb, 179).tb = null);\n pnd(this, null);\n return;\n case 2:\n $Jd(this, null);\n _Jd(this, this.D);\n return;\n case 5:\n kKd(this, null);\n return;\n case 7:\n !this.A && (this.A = new K4d(u5, this, 7));\n Uxd(this.A);\n return;\n }\n eid(this, a - aLd(this.zh()), XKd((b = BD(Ajd(this, 16), 26), !b ? this.zh() : b), a));\n };\n _2.yj = function xKd() {\n var a;\n return this.G == -1 && (this.G = (a = bKd(this), a ? HLd(a.Mh(), this) : -1)), this.G;\n };\n _2.zj = function yKd() {\n return null;\n };\n _2.Aj = function zKd() {\n return bKd(this);\n };\n _2.vk = function AKd() {\n return this.v;\n };\n _2.Bj = function BKd() {\n return dKd(this);\n };\n _2.Cj = function CKd() {\n return this.D != null ? this.D : this.B;\n };\n _2.Dj = function DKd() {\n return this.F;\n };\n _2.wj = function EKd(a) {\n return fKd(this, a);\n };\n _2.wk = function FKd(a) {\n this.v = a;\n };\n _2.xk = function GKd(a) {\n gKd(this, a);\n };\n _2.yk = function HKd(a) {\n this.C = a;\n };\n _2.Lh = function IKd(a) {\n lKd(this, a);\n };\n _2.Ib = function JKd() {\n return mKd(this);\n };\n _2.C = null;\n _2.D = null;\n _2.G = -1;\n mdb(qte, \"EClassifierImpl\", 351);\n bcb(88, 351, { 105: 1, 92: 1, 90: 1, 26: 1, 138: 1, 147: 1, 191: 1, 56: 1, 108: 1, 49: 1, 97: 1, 88: 1, 351: 1, 150: 1, 473: 1, 114: 1, 115: 1, 676: 1 }, hLd);\n _2.uk = function iLd(a) {\n return dLd(this, a.Tg());\n };\n _2._g = function jLd(a, b, c2) {\n var d;\n switch (a) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), this.Ab;\n case 1:\n return this.zb;\n case 2:\n return this.D != null ? this.D : this.B;\n case 3:\n return dKd(this);\n case 4:\n return null;\n case 5:\n return this.F;\n case 6:\n if (b)\n return bKd(this);\n return ZJd(this);\n case 7:\n return !this.A && (this.A = new K4d(u5, this, 7)), this.A;\n case 8:\n return Bcb(), (this.Bb & 256) != 0 ? true : false;\n case 9:\n return Bcb(), (this.Bb & 512) != 0 ? true : false;\n case 10:\n return _Kd(this);\n case 11:\n return !this.q && (this.q = new cUd(n5, this, 11, 10)), this.q;\n case 12:\n return OKd(this);\n case 13:\n return SKd(this);\n case 14:\n return SKd(this), this.r;\n case 15:\n return OKd(this), this.k;\n case 16:\n return PKd(this);\n case 17:\n return RKd(this);\n case 18:\n return TKd(this);\n case 19:\n return UKd(this);\n case 20:\n return OKd(this), this.o;\n case 21:\n return !this.s && (this.s = new cUd(t5, this, 21, 17)), this.s;\n case 22:\n return VKd(this);\n case 23:\n return QKd(this);\n }\n return bid(this, a - aLd((jGd(), QFd)), XKd((d = BD(Ajd(this, 16), 26), !d ? QFd : d), a), b, c2);\n };\n _2.hh = function kLd(a, b, c2) {\n var d, e, f2;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Sxd(this.Ab, a, c2);\n case 6:\n !!this.Cb && (c2 = (e = this.Db >> 16, e >= 0 ? aKd(this, c2) : this.Cb.ih(this, -1 - e, null, c2)));\n return _hd(this, a, 6, c2);\n case 11:\n return !this.q && (this.q = new cUd(n5, this, 11, 10)), Sxd(this.q, a, c2);\n case 21:\n return !this.s && (this.s = new cUd(t5, this, 21, 17)), Sxd(this.s, a, c2);\n }\n return f2 = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? (jGd(), QFd) : d), b), 66), f2.Nj().Qj(this, yjd(this), b - aLd((jGd(), QFd)), a, c2);\n };\n _2.jh = function lLd(a, b, c2) {\n var d, e;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Txd(this.Ab, a, c2);\n case 6:\n return _hd(this, null, 6, c2);\n case 7:\n return !this.A && (this.A = new K4d(u5, this, 7)), Txd(this.A, a, c2);\n case 11:\n return !this.q && (this.q = new cUd(n5, this, 11, 10)), Txd(this.q, a, c2);\n case 21:\n return !this.s && (this.s = new cUd(t5, this, 21, 17)), Txd(this.s, a, c2);\n case 22:\n return Txd(VKd(this), a, c2);\n }\n return e = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? (jGd(), QFd) : d), b), 66), e.Nj().Rj(this, yjd(this), b - aLd((jGd(), QFd)), a, c2);\n };\n _2.lh = function mLd(a) {\n var b;\n switch (a) {\n case 0:\n return !!this.Ab && this.Ab.i != 0;\n case 1:\n return this.zb != null;\n case 2:\n return this.D != null && this.D == this.F;\n case 3:\n return !!dKd(this);\n case 4:\n return false;\n case 5:\n return this.F != null && this.F != this.D && this.F != this.B;\n case 6:\n return !!ZJd(this);\n case 7:\n return !!this.A && this.A.i != 0;\n case 8:\n return (this.Bb & 256) != 0;\n case 9:\n return (this.Bb & 512) != 0;\n case 10:\n return !!this.u && VKd(this.u.a).i != 0 && !(!!this.n && FMd(this.n));\n case 11:\n return !!this.q && this.q.i != 0;\n case 12:\n return OKd(this).i != 0;\n case 13:\n return SKd(this).i != 0;\n case 14:\n return SKd(this), this.r.i != 0;\n case 15:\n return OKd(this), this.k.i != 0;\n case 16:\n return PKd(this).i != 0;\n case 17:\n return RKd(this).i != 0;\n case 18:\n return TKd(this).i != 0;\n case 19:\n return UKd(this).i != 0;\n case 20:\n return OKd(this), !!this.o;\n case 21:\n return !!this.s && this.s.i != 0;\n case 22:\n return !!this.n && FMd(this.n);\n case 23:\n return QKd(this).i != 0;\n }\n return cid(this, a - aLd((jGd(), QFd)), XKd((b = BD(Ajd(this, 16), 26), !b ? QFd : b), a));\n };\n _2.oh = function nLd(a) {\n var b;\n b = this.i == null || !!this.q && this.q.i != 0 ? null : YKd(this, a);\n return b ? b : Bmd(this, a);\n };\n _2.sh = function oLd(a, b) {\n var c2;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n ytd(this.Ab, BD(b, 14));\n return;\n case 1:\n lKd(this, GD(b));\n return;\n case 2:\n iKd(this, GD(b));\n return;\n case 5:\n kKd(this, GD(b));\n return;\n case 7:\n !this.A && (this.A = new K4d(u5, this, 7));\n Uxd(this.A);\n !this.A && (this.A = new K4d(u5, this, 7));\n ytd(this.A, BD(b, 14));\n return;\n case 8:\n eLd(this, Ccb(DD(b)));\n return;\n case 9:\n fLd(this, Ccb(DD(b)));\n return;\n case 10:\n vwd(_Kd(this));\n ytd(_Kd(this), BD(b, 14));\n return;\n case 11:\n !this.q && (this.q = new cUd(n5, this, 11, 10));\n Uxd(this.q);\n !this.q && (this.q = new cUd(n5, this, 11, 10));\n ytd(this.q, BD(b, 14));\n return;\n case 21:\n !this.s && (this.s = new cUd(t5, this, 21, 17));\n Uxd(this.s);\n !this.s && (this.s = new cUd(t5, this, 21, 17));\n ytd(this.s, BD(b, 14));\n return;\n case 22:\n Uxd(VKd(this));\n ytd(VKd(this), BD(b, 14));\n return;\n }\n did(this, a - aLd((jGd(), QFd)), XKd((c2 = BD(Ajd(this, 16), 26), !c2 ? QFd : c2), a), b);\n };\n _2.zh = function pLd() {\n return jGd(), QFd;\n };\n _2.Bh = function qLd(a) {\n var b;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n return;\n case 1:\n JD(this.Cb, 179) && (BD(this.Cb, 179).tb = null);\n pnd(this, null);\n return;\n case 2:\n $Jd(this, null);\n _Jd(this, this.D);\n return;\n case 5:\n kKd(this, null);\n return;\n case 7:\n !this.A && (this.A = new K4d(u5, this, 7));\n Uxd(this.A);\n return;\n case 8:\n eLd(this, false);\n return;\n case 9:\n fLd(this, false);\n return;\n case 10:\n !!this.u && vwd(this.u);\n return;\n case 11:\n !this.q && (this.q = new cUd(n5, this, 11, 10));\n Uxd(this.q);\n return;\n case 21:\n !this.s && (this.s = new cUd(t5, this, 21, 17));\n Uxd(this.s);\n return;\n case 22:\n !!this.n && Uxd(this.n);\n return;\n }\n eid(this, a - aLd((jGd(), QFd)), XKd((b = BD(Ajd(this, 16), 26), !b ? QFd : b), a));\n };\n _2.Gh = function rLd() {\n var a, b;\n OKd(this);\n SKd(this);\n PKd(this);\n RKd(this);\n TKd(this);\n UKd(this);\n QKd(this);\n oud(SMd($Kd(this)));\n if (this.s) {\n for (a = 0, b = this.s.i; a < b; ++a) {\n Cmd(qud(this.s, a));\n }\n }\n if (this.q) {\n for (a = 0, b = this.q.i; a < b; ++a) {\n Cmd(qud(this.q, a));\n }\n }\n o1d((O6d(), M6d), this).ne();\n this.Bb |= 1;\n };\n _2.Ib = function sLd() {\n return gLd(this);\n };\n _2.k = null;\n _2.r = null;\n var KKd, LKd, MKd;\n mdb(qte, \"EClassImpl\", 88);\n bcb(1994, 1993, Ove);\n _2.Vh = function tLd(a, b) {\n return Pxd(this, a, b);\n };\n _2.Wh = function uLd(a) {\n return Pxd(this, this.i, a);\n };\n _2.Xh = function vLd(a, b) {\n Qxd(this, a, b);\n };\n _2.Yh = function wLd(a) {\n Rxd(this, a);\n };\n _2.lk = function xLd(a, b) {\n return Sxd(this, a, b);\n };\n _2.pi = function yLd(a) {\n return nud(this, a);\n };\n _2.mk = function CLd(a, b) {\n return Txd(this, a, b);\n };\n _2.mi = function DLd(a, b) {\n return Zxd(this, a, b);\n };\n _2.Zh = function zLd() {\n return new $yd(this);\n };\n _2.$h = function ALd() {\n return new bzd(this);\n };\n _2._h = function BLd(a) {\n return ztd(this, a);\n };\n mdb(yve, \"NotifyingInternalEListImpl\", 1994);\n bcb(622, 1994, Pve);\n _2.Hc = function NLd(a) {\n return ELd(this, a);\n };\n _2.Zi = function OLd(a, b, c2, d, e) {\n return FLd(this, a, b, c2, d, e);\n };\n _2.$i = function PLd(a) {\n GLd(this, a);\n };\n _2.Wj = function QLd(a) {\n return this;\n };\n _2.ak = function RLd() {\n return XKd(this.e.Tg(), this.aj());\n };\n _2._i = function SLd() {\n return this.ak();\n };\n _2.aj = function TLd() {\n return bLd(this.e.Tg(), this.ak());\n };\n _2.zk = function ULd() {\n return BD(this.ak().Yj(), 26).Bj();\n };\n _2.Ak = function VLd() {\n return zUd(BD(this.ak(), 18)).n;\n };\n _2.Ai = function WLd() {\n return this.e;\n };\n _2.Bk = function XLd() {\n return true;\n };\n _2.Ck = function YLd() {\n return false;\n };\n _2.Dk = function ZLd() {\n return false;\n };\n _2.Ek = function $Ld() {\n return false;\n };\n _2.Xc = function _Ld(a) {\n return HLd(this, a);\n };\n _2.cj = function aMd(a, b) {\n var c2;\n return c2 = BD(a, 49), this.Dk() ? this.Bk() ? c2.gh(this.e, this.Ak(), this.zk(), b) : c2.gh(this.e, bLd(c2.Tg(), zUd(BD(this.ak(), 18))), null, b) : c2.gh(this.e, -1 - this.aj(), null, b);\n };\n _2.dj = function bMd(a, b) {\n var c2;\n return c2 = BD(a, 49), this.Dk() ? this.Bk() ? c2.ih(this.e, this.Ak(), this.zk(), b) : c2.ih(this.e, bLd(c2.Tg(), zUd(BD(this.ak(), 18))), null, b) : c2.ih(this.e, -1 - this.aj(), null, b);\n };\n _2.rk = function cMd() {\n return false;\n };\n _2.Fk = function dMd() {\n return true;\n };\n _2.wj = function eMd(a) {\n return qEd(this.d, a);\n };\n _2.ej = function fMd() {\n return oid(this.e);\n };\n _2.fj = function gMd() {\n return this.i != 0;\n };\n _2.ri = function hMd(a) {\n return izd(this.d, a);\n };\n _2.li = function iMd(a, b) {\n return this.Fk() && this.Ek() ? ILd(this, a, BD(b, 56)) : b;\n };\n _2.Gk = function jMd(a) {\n return a.kh() ? xid(this.e, BD(a, 49)) : a;\n };\n _2.Wb = function kMd(a) {\n JLd(this, a);\n };\n _2.Pc = function lMd() {\n return KLd(this);\n };\n _2.Qc = function mMd(a) {\n var b;\n if (this.Ek()) {\n for (b = this.i - 1; b >= 0; --b) {\n qud(this, b);\n }\n }\n return xud(this, a);\n };\n _2.Xj = function nMd() {\n Uxd(this);\n };\n _2.oi = function oMd(a, b) {\n return LLd(this, a, b);\n };\n mdb(yve, \"EcoreEList\", 622);\n bcb(496, 622, Pve, pMd);\n _2.ai = function qMd() {\n return false;\n };\n _2.aj = function rMd() {\n return this.c;\n };\n _2.bj = function sMd() {\n return false;\n };\n _2.Fk = function tMd() {\n return true;\n };\n _2.hi = function uMd() {\n return true;\n };\n _2.li = function vMd(a, b) {\n return b;\n };\n _2.ni = function wMd() {\n return false;\n };\n _2.c = 0;\n mdb(yve, \"EObjectEList\", 496);\n bcb(85, 496, Pve, xMd);\n _2.bj = function yMd() {\n return true;\n };\n _2.Dk = function zMd() {\n return false;\n };\n _2.rk = function AMd() {\n return true;\n };\n mdb(yve, \"EObjectContainmentEList\", 85);\n bcb(545, 85, Pve, BMd);\n _2.ci = function CMd() {\n this.b = true;\n };\n _2.fj = function DMd() {\n return this.b;\n };\n _2.Xj = function EMd() {\n var a;\n Uxd(this);\n if (oid(this.e)) {\n a = this.b;\n this.b = false;\n Uhd(this.e, new qSd(this.e, 2, this.c, a, false));\n } else {\n this.b = false;\n }\n };\n _2.b = false;\n mdb(yve, \"EObjectContainmentEList/Unsettable\", 545);\n bcb(1140, 545, Pve, JMd);\n _2.ii = function NMd(a, b) {\n var c2, d;\n return c2 = BD(Wxd(this, a, b), 87), oid(this.e) && GLd(this, new ESd(this.a, 7, (jGd(), SFd), meb(b), (d = c2.c, JD(d, 88) ? BD(d, 26) : _Fd), a)), c2;\n };\n _2.jj = function OMd(a, b) {\n return GMd(this, BD(a, 87), b);\n };\n _2.kj = function PMd(a, b) {\n return HMd(this, BD(a, 87), b);\n };\n _2.lj = function QMd(a, b, c2) {\n return IMd(this, BD(a, 87), BD(b, 87), c2);\n };\n _2.Zi = function KMd(a, b, c2, d, e) {\n switch (a) {\n case 3: {\n return FLd(this, a, b, c2, d, this.i > 1);\n }\n case 5: {\n return FLd(this, a, b, c2, d, this.i - BD(c2, 15).gc() > 0);\n }\n default: {\n return new pSd(this.e, a, this.c, b, c2, d, true);\n }\n }\n };\n _2.ij = function LMd() {\n return true;\n };\n _2.fj = function MMd() {\n return FMd(this);\n };\n _2.Xj = function RMd() {\n Uxd(this);\n };\n mdb(qte, \"EClassImpl/1\", 1140);\n bcb(1154, 1153, dve);\n _2.ui = function VMd(a) {\n var b, c2, d, e, f2, g, h;\n c2 = a.xi();\n if (c2 != 8) {\n d = UMd(a);\n if (d == 0) {\n switch (c2) {\n case 1:\n case 9: {\n h = a.Bi();\n if (h != null) {\n b = $Kd(BD(h, 473));\n !b.c && (b.c = new xYd());\n Ftd(b.c, a.Ai());\n }\n g = a.zi();\n if (g != null) {\n e = BD(g, 473);\n if ((e.Bb & 1) == 0) {\n b = $Kd(e);\n !b.c && (b.c = new xYd());\n wtd(b.c, BD(a.Ai(), 26));\n }\n }\n break;\n }\n case 3: {\n g = a.zi();\n if (g != null) {\n e = BD(g, 473);\n if ((e.Bb & 1) == 0) {\n b = $Kd(e);\n !b.c && (b.c = new xYd());\n wtd(b.c, BD(a.Ai(), 26));\n }\n }\n break;\n }\n case 5: {\n g = a.zi();\n if (g != null) {\n for (f2 = BD(g, 14).Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 473);\n if ((e.Bb & 1) == 0) {\n b = $Kd(e);\n !b.c && (b.c = new xYd());\n wtd(b.c, BD(a.Ai(), 26));\n }\n }\n }\n break;\n }\n case 4: {\n h = a.Bi();\n if (h != null) {\n e = BD(h, 473);\n if ((e.Bb & 1) == 0) {\n b = $Kd(e);\n !b.c && (b.c = new xYd());\n Ftd(b.c, a.Ai());\n }\n }\n break;\n }\n case 6: {\n h = a.Bi();\n if (h != null) {\n for (f2 = BD(h, 14).Kc(); f2.Ob(); ) {\n e = BD(f2.Pb(), 473);\n if ((e.Bb & 1) == 0) {\n b = $Kd(e);\n !b.c && (b.c = new xYd());\n Ftd(b.c, a.Ai());\n }\n }\n }\n break;\n }\n }\n }\n this.Hk(d);\n }\n };\n _2.Hk = function WMd(a) {\n TMd(this, a);\n };\n _2.b = 63;\n mdb(qte, \"ESuperAdapter\", 1154);\n bcb(1155, 1154, dve, YMd);\n _2.Hk = function ZMd(a) {\n XMd(this, a);\n };\n mdb(qte, \"EClassImpl/10\", 1155);\n bcb(1144, 696, Pve);\n _2.Vh = function $Md(a, b) {\n return iud(this, a, b);\n };\n _2.Wh = function _Md(a) {\n return jud(this, a);\n };\n _2.Xh = function aNd(a, b) {\n kud(this, a, b);\n };\n _2.Yh = function bNd(a) {\n lud(this, a);\n };\n _2.pi = function dNd(a) {\n return nud(this, a);\n };\n _2.mi = function lNd(a, b) {\n return uud(this, a, b);\n };\n _2.lk = function cNd(a, b) {\n throw vbb(new bgb());\n };\n _2.Zh = function eNd() {\n return new $yd(this);\n };\n _2.$h = function fNd() {\n return new bzd(this);\n };\n _2._h = function gNd(a) {\n return ztd(this, a);\n };\n _2.mk = function hNd(a, b) {\n throw vbb(new bgb());\n };\n _2.Wj = function iNd(a) {\n return this;\n };\n _2.fj = function jNd() {\n return this.i != 0;\n };\n _2.Wb = function kNd(a) {\n throw vbb(new bgb());\n };\n _2.Xj = function mNd() {\n throw vbb(new bgb());\n };\n mdb(yve, \"EcoreEList/UnmodifiableEList\", 1144);\n bcb(319, 1144, Pve, nNd);\n _2.ni = function oNd() {\n return false;\n };\n mdb(yve, \"EcoreEList/UnmodifiableEList/FastCompare\", 319);\n bcb(1147, 319, Pve, rNd);\n _2.Xc = function sNd(a) {\n var b, c2, d;\n if (JD(a, 170)) {\n b = BD(a, 170);\n c2 = b.aj();\n if (c2 != -1) {\n for (d = this.i; c2 < d; ++c2) {\n if (PD(this.g[c2]) === PD(a)) {\n return c2;\n }\n }\n }\n }\n return -1;\n };\n mdb(qte, \"EClassImpl/1EAllStructuralFeaturesList\", 1147);\n bcb(1141, 497, oue, wNd);\n _2.ri = function xNd(a) {\n return KC(j5, Tve, 87, a, 0, 1);\n };\n _2.ni = function yNd() {\n return false;\n };\n mdb(qte, \"EClassImpl/1EGenericSuperTypeEList\", 1141);\n bcb(623, 497, oue, zNd);\n _2.ri = function ANd(a) {\n return KC(t5, Mve, 170, a, 0, 1);\n };\n _2.ni = function BNd() {\n return false;\n };\n mdb(qte, \"EClassImpl/1EStructuralFeatureUniqueEList\", 623);\n bcb(741, 497, oue, CNd);\n _2.ri = function DNd(a) {\n return KC(q5, Mve, 18, a, 0, 1);\n };\n _2.ni = function ENd() {\n return false;\n };\n mdb(qte, \"EClassImpl/1ReferenceList\", 741);\n bcb(1142, 497, oue, GNd);\n _2.bi = function HNd(a, b) {\n FNd(this, BD(b, 34));\n };\n _2.ri = function INd(a) {\n return KC(b5, Mve, 34, a, 0, 1);\n };\n _2.ni = function JNd() {\n return false;\n };\n mdb(qte, \"EClassImpl/2\", 1142);\n bcb(1143, 497, oue, KNd);\n _2.ri = function LNd(a) {\n return KC(b5, Mve, 34, a, 0, 1);\n };\n _2.ni = function MNd() {\n return false;\n };\n mdb(qte, \"EClassImpl/3\", 1143);\n bcb(1145, 319, Pve, PNd);\n _2.Fc = function QNd(a) {\n return NNd(this, BD(a, 34));\n };\n _2.Yh = function RNd(a) {\n ONd(this, BD(a, 34));\n };\n mdb(qte, \"EClassImpl/4\", 1145);\n bcb(1146, 319, Pve, UNd);\n _2.Fc = function VNd(a) {\n return SNd(this, BD(a, 18));\n };\n _2.Yh = function WNd(a) {\n TNd(this, BD(a, 18));\n };\n mdb(qte, \"EClassImpl/5\", 1146);\n bcb(1148, 497, oue, XNd);\n _2.ri = function YNd(a) {\n return KC(n5, Nve, 59, a, 0, 1);\n };\n _2.ni = function ZNd() {\n return false;\n };\n mdb(qte, \"EClassImpl/6\", 1148);\n bcb(1149, 497, oue, $Nd);\n _2.ri = function _Nd(a) {\n return KC(q5, Mve, 18, a, 0, 1);\n };\n _2.ni = function aOd() {\n return false;\n };\n mdb(qte, \"EClassImpl/7\", 1149);\n bcb(1997, 1996, { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 67: 1, 58: 1, 69: 1 });\n _2.Vh = function bOd(a, b) {\n return qwd(this, a, b);\n };\n _2.Wh = function cOd(a) {\n return qwd(this, this.Vi(), a);\n };\n _2.Xh = function dOd(a, b) {\n rwd(this, a, b);\n };\n _2.Yh = function eOd(a) {\n swd(this, a);\n };\n _2.lk = function fOd(a, b) {\n return twd(this, a, b);\n };\n _2.mk = function lOd(a, b) {\n return uwd(this, a, b);\n };\n _2.mi = function mOd(a, b) {\n return wwd(this, a, b);\n };\n _2.pi = function gOd(a) {\n return this.Oi(a);\n };\n _2.Zh = function hOd() {\n return new $yd(this);\n };\n _2.Gi = function iOd() {\n return this.Ji();\n };\n _2.$h = function jOd() {\n return new bzd(this);\n };\n _2._h = function kOd(a) {\n return ztd(this, a);\n };\n mdb(yve, \"DelegatingNotifyingInternalEListImpl\", 1997);\n bcb(742, 1997, Uve);\n _2.ai = function rOd() {\n var a;\n a = XKd(wjd(this.b), this.aj()).Yj();\n return JD(a, 148) && !JD(a, 457) && (a.Bj().i & 1) == 0;\n };\n _2.Hc = function sOd(a) {\n var b, c2, d, e, f2, g, h, i3;\n if (this.Fk()) {\n i3 = this.Vi();\n if (i3 > 4) {\n if (this.wj(a)) {\n if (this.rk()) {\n d = BD(a, 49);\n c2 = d.Ug();\n h = c2 == this.b && (this.Dk() ? d.Og(d.Vg(), BD(XKd(wjd(this.b), this.aj()).Yj(), 26).Bj()) == zUd(BD(XKd(wjd(this.b), this.aj()), 18)).n : -1 - d.Vg() == this.aj());\n if (this.Ek() && !h && !c2 && !!d.Zg()) {\n for (e = 0; e < i3; ++e) {\n b = oOd(this, this.Oi(e));\n if (PD(b) === PD(a)) {\n return true;\n }\n }\n }\n return h;\n } else if (this.Dk() && !this.Ck()) {\n f2 = BD(a, 56).ah(zUd(BD(XKd(wjd(this.b), this.aj()), 18)));\n if (PD(f2) === PD(this.b)) {\n return true;\n } else if (f2 == null || !BD(f2, 56).kh()) {\n return false;\n }\n }\n } else {\n return false;\n }\n }\n g = this.Li(a);\n if (this.Ek() && !g) {\n for (e = 0; e < i3; ++e) {\n d = oOd(this, this.Oi(e));\n if (PD(d) === PD(a)) {\n return true;\n }\n }\n }\n return g;\n } else {\n return this.Li(a);\n }\n };\n _2.Zi = function tOd(a, b, c2, d, e) {\n return new pSd(this.b, a, this.aj(), b, c2, d, e);\n };\n _2.$i = function uOd(a) {\n Uhd(this.b, a);\n };\n _2.Wj = function vOd(a) {\n return this;\n };\n _2._i = function wOd() {\n return XKd(wjd(this.b), this.aj());\n };\n _2.aj = function xOd() {\n return bLd(wjd(this.b), XKd(wjd(this.b), this.aj()));\n };\n _2.Ai = function yOd() {\n return this.b;\n };\n _2.Bk = function zOd() {\n return !!XKd(wjd(this.b), this.aj()).Yj().Bj();\n };\n _2.bj = function AOd() {\n var a, b;\n b = XKd(wjd(this.b), this.aj());\n if (JD(b, 99)) {\n a = BD(b, 18);\n return (a.Bb & ote) != 0 || !!zUd(BD(b, 18));\n } else {\n return false;\n }\n };\n _2.Ck = function BOd() {\n var a, b, c2, d;\n b = XKd(wjd(this.b), this.aj());\n if (JD(b, 99)) {\n a = BD(b, 18);\n c2 = zUd(a);\n return !!c2 && (d = c2.t, d > 1 || d == -1);\n } else {\n return false;\n }\n };\n _2.Dk = function COd() {\n var a, b, c2;\n b = XKd(wjd(this.b), this.aj());\n if (JD(b, 99)) {\n a = BD(b, 18);\n c2 = zUd(a);\n return !!c2;\n } else {\n return false;\n }\n };\n _2.Ek = function DOd() {\n var a, b;\n b = XKd(wjd(this.b), this.aj());\n if (JD(b, 99)) {\n a = BD(b, 18);\n return (a.Bb & Tje) != 0;\n } else {\n return false;\n }\n };\n _2.Xc = function EOd(a) {\n var b, c2, d, e;\n d = this.Qi(a);\n if (d >= 0)\n return d;\n if (this.Fk()) {\n for (c2 = 0, e = this.Vi(); c2 < e; ++c2) {\n b = oOd(this, this.Oi(c2));\n if (PD(b) === PD(a)) {\n return c2;\n }\n }\n }\n return -1;\n };\n _2.cj = function FOd(a, b) {\n var c2;\n return c2 = BD(a, 49), this.Dk() ? this.Bk() ? c2.gh(this.b, zUd(BD(XKd(wjd(this.b), this.aj()), 18)).n, BD(XKd(wjd(this.b), this.aj()).Yj(), 26).Bj(), b) : c2.gh(this.b, bLd(c2.Tg(), zUd(BD(XKd(wjd(this.b), this.aj()), 18))), null, b) : c2.gh(this.b, -1 - this.aj(), null, b);\n };\n _2.dj = function GOd(a, b) {\n var c2;\n return c2 = BD(a, 49), this.Dk() ? this.Bk() ? c2.ih(this.b, zUd(BD(XKd(wjd(this.b), this.aj()), 18)).n, BD(XKd(wjd(this.b), this.aj()).Yj(), 26).Bj(), b) : c2.ih(this.b, bLd(c2.Tg(), zUd(BD(XKd(wjd(this.b), this.aj()), 18))), null, b) : c2.ih(this.b, -1 - this.aj(), null, b);\n };\n _2.rk = function HOd() {\n var a, b;\n b = XKd(wjd(this.b), this.aj());\n if (JD(b, 99)) {\n a = BD(b, 18);\n return (a.Bb & ote) != 0;\n } else {\n return false;\n }\n };\n _2.Fk = function IOd() {\n return JD(XKd(wjd(this.b), this.aj()).Yj(), 88);\n };\n _2.wj = function JOd(a) {\n return XKd(wjd(this.b), this.aj()).Yj().wj(a);\n };\n _2.ej = function KOd() {\n return oid(this.b);\n };\n _2.fj = function LOd() {\n return !this.Ri();\n };\n _2.hi = function MOd() {\n return XKd(wjd(this.b), this.aj()).hi();\n };\n _2.li = function NOd(a, b) {\n return nOd(this, a, b);\n };\n _2.Wb = function OOd(a) {\n vwd(this);\n ytd(this, BD(a, 15));\n };\n _2.Pc = function POd() {\n var a;\n if (this.Ek()) {\n for (a = this.Vi() - 1; a >= 0; --a) {\n nOd(this, a, this.Oi(a));\n }\n }\n return this.Wi();\n };\n _2.Qc = function QOd(a) {\n var b;\n if (this.Ek()) {\n for (b = this.Vi() - 1; b >= 0; --b) {\n nOd(this, b, this.Oi(b));\n }\n }\n return this.Xi(a);\n };\n _2.Xj = function ROd() {\n vwd(this);\n };\n _2.oi = function SOd(a, b) {\n return pOd(this, a, b);\n };\n mdb(yve, \"DelegatingEcoreEList\", 742);\n bcb(1150, 742, Uve, YOd);\n _2.Hi = function _Od(a, b) {\n TOd(this, a, BD(b, 26));\n };\n _2.Ii = function aPd(a) {\n UOd(this, BD(a, 26));\n };\n _2.Oi = function gPd(a) {\n var b, c2;\n return b = BD(qud(VKd(this.a), a), 87), c2 = b.c, JD(c2, 88) ? BD(c2, 26) : (jGd(), _Fd);\n };\n _2.Ti = function lPd(a) {\n var b, c2;\n return b = BD(Xxd(VKd(this.a), a), 87), c2 = b.c, JD(c2, 88) ? BD(c2, 26) : (jGd(), _Fd);\n };\n _2.Ui = function mPd(a, b) {\n return WOd(this, a, BD(b, 26));\n };\n _2.ai = function ZOd() {\n return false;\n };\n _2.Zi = function $Od(a, b, c2, d, e) {\n return null;\n };\n _2.Ji = function bPd() {\n return new EPd(this);\n };\n _2.Ki = function cPd() {\n Uxd(VKd(this.a));\n };\n _2.Li = function dPd(a) {\n return VOd(this, a);\n };\n _2.Mi = function ePd(a) {\n var b, c2;\n for (c2 = a.Kc(); c2.Ob(); ) {\n b = c2.Pb();\n if (!VOd(this, b)) {\n return false;\n }\n }\n return true;\n };\n _2.Ni = function fPd(a) {\n var b, c2, d;\n if (JD(a, 15)) {\n d = BD(a, 15);\n if (d.gc() == VKd(this.a).i) {\n for (b = d.Kc(), c2 = new Fyd(this); b.Ob(); ) {\n if (PD(b.Pb()) !== PD(Dyd(c2))) {\n return false;\n }\n }\n return true;\n }\n }\n return false;\n };\n _2.Pi = function hPd() {\n var a, b, c2, d, e;\n c2 = 1;\n for (b = new Fyd(VKd(this.a)); b.e != b.i.gc(); ) {\n a = BD(Dyd(b), 87);\n d = (e = a.c, JD(e, 88) ? BD(e, 26) : (jGd(), _Fd));\n c2 = 31 * c2 + (!d ? 0 : FCb(d));\n }\n return c2;\n };\n _2.Qi = function iPd(a) {\n var b, c2, d, e;\n d = 0;\n for (c2 = new Fyd(VKd(this.a)); c2.e != c2.i.gc(); ) {\n b = BD(Dyd(c2), 87);\n if (PD(a) === PD((e = b.c, JD(e, 88) ? BD(e, 26) : (jGd(), _Fd)))) {\n return d;\n }\n ++d;\n }\n return -1;\n };\n _2.Ri = function jPd() {\n return VKd(this.a).i == 0;\n };\n _2.Si = function kPd() {\n return null;\n };\n _2.Vi = function nPd() {\n return VKd(this.a).i;\n };\n _2.Wi = function oPd() {\n var a, b, c2, d, e, f2;\n f2 = VKd(this.a).i;\n e = KC(SI, Uhe, 1, f2, 5, 1);\n c2 = 0;\n for (b = new Fyd(VKd(this.a)); b.e != b.i.gc(); ) {\n a = BD(Dyd(b), 87);\n e[c2++] = (d = a.c, JD(d, 88) ? BD(d, 26) : (jGd(), _Fd));\n }\n return e;\n };\n _2.Xi = function pPd(a) {\n var b, c2, d, e, f2, g, h;\n h = VKd(this.a).i;\n if (a.length < h) {\n e = izd(rb(a).c, h);\n a = e;\n }\n a.length > h && NC(a, h, null);\n d = 0;\n for (c2 = new Fyd(VKd(this.a)); c2.e != c2.i.gc(); ) {\n b = BD(Dyd(c2), 87);\n f2 = (g = b.c, JD(g, 88) ? BD(g, 26) : (jGd(), _Fd));\n NC(a, d++, f2);\n }\n return a;\n };\n _2.Yi = function qPd() {\n var a, b, c2, d, e;\n e = new Hfb();\n e.a += \"[\";\n a = VKd(this.a);\n for (b = 0, d = VKd(this.a).i; b < d; ) {\n Efb(e, xfb((c2 = BD(qud(a, b), 87).c, JD(c2, 88) ? BD(c2, 26) : (jGd(), _Fd))));\n ++b < d && (e.a += She, e);\n }\n e.a += \"]\";\n return e.a;\n };\n _2.$i = function rPd(a) {\n };\n _2.aj = function sPd() {\n return 10;\n };\n _2.Bk = function tPd() {\n return true;\n };\n _2.bj = function uPd() {\n return false;\n };\n _2.Ck = function vPd() {\n return false;\n };\n _2.Dk = function wPd() {\n return false;\n };\n _2.Ek = function xPd() {\n return true;\n };\n _2.rk = function yPd() {\n return false;\n };\n _2.Fk = function zPd() {\n return true;\n };\n _2.wj = function APd(a) {\n return JD(a, 88);\n };\n _2.fj = function BPd() {\n return cLd(this.a);\n };\n _2.hi = function CPd() {\n return true;\n };\n _2.ni = function DPd() {\n return true;\n };\n mdb(qte, \"EClassImpl/8\", 1150);\n bcb(1151, 1964, Lie, EPd);\n _2.Zc = function FPd(a) {\n return ztd(this.a, a);\n };\n _2.gc = function GPd() {\n return VKd(this.a.a).i;\n };\n mdb(qte, \"EClassImpl/8/1\", 1151);\n bcb(1152, 497, oue, HPd);\n _2.ri = function IPd(a) {\n return KC(d5, Uhe, 138, a, 0, 1);\n };\n _2.ni = function JPd() {\n return false;\n };\n mdb(qte, \"EClassImpl/9\", 1152);\n bcb(1139, 53, gke, KPd);\n mdb(qte, \"EClassImpl/MyHashSet\", 1139);\n bcb(566, 351, { 105: 1, 92: 1, 90: 1, 138: 1, 148: 1, 834: 1, 147: 1, 191: 1, 56: 1, 108: 1, 49: 1, 97: 1, 351: 1, 150: 1, 114: 1, 115: 1, 676: 1 }, MPd);\n _2._g = function NPd(a, b, c2) {\n var d;\n switch (a) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), this.Ab;\n case 1:\n return this.zb;\n case 2:\n return this.D != null ? this.D : this.B;\n case 3:\n return dKd(this);\n case 4:\n return this.zj();\n case 5:\n return this.F;\n case 6:\n if (b)\n return bKd(this);\n return ZJd(this);\n case 7:\n return !this.A && (this.A = new K4d(u5, this, 7)), this.A;\n case 8:\n return Bcb(), (this.Bb & 256) != 0 ? true : false;\n }\n return bid(this, a - aLd(this.zh()), XKd((d = BD(Ajd(this, 16), 26), !d ? this.zh() : d), a), b, c2);\n };\n _2.lh = function OPd(a) {\n var b;\n switch (a) {\n case 0:\n return !!this.Ab && this.Ab.i != 0;\n case 1:\n return this.zb != null;\n case 2:\n return this.D != null && this.D == this.F;\n case 3:\n return !!dKd(this);\n case 4:\n return this.zj() != null;\n case 5:\n return this.F != null && this.F != this.D && this.F != this.B;\n case 6:\n return !!ZJd(this);\n case 7:\n return !!this.A && this.A.i != 0;\n case 8:\n return (this.Bb & 256) == 0;\n }\n return cid(this, a - aLd(this.zh()), XKd((b = BD(Ajd(this, 16), 26), !b ? this.zh() : b), a));\n };\n _2.sh = function PPd(a, b) {\n var c2;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n ytd(this.Ab, BD(b, 14));\n return;\n case 1:\n lKd(this, GD(b));\n return;\n case 2:\n iKd(this, GD(b));\n return;\n case 5:\n kKd(this, GD(b));\n return;\n case 7:\n !this.A && (this.A = new K4d(u5, this, 7));\n Uxd(this.A);\n !this.A && (this.A = new K4d(u5, this, 7));\n ytd(this.A, BD(b, 14));\n return;\n case 8:\n LPd(this, Ccb(DD(b)));\n return;\n }\n did(this, a - aLd(this.zh()), XKd((c2 = BD(Ajd(this, 16), 26), !c2 ? this.zh() : c2), a), b);\n };\n _2.zh = function QPd() {\n return jGd(), TFd;\n };\n _2.Bh = function RPd(a) {\n var b;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n return;\n case 1:\n JD(this.Cb, 179) && (BD(this.Cb, 179).tb = null);\n pnd(this, null);\n return;\n case 2:\n $Jd(this, null);\n _Jd(this, this.D);\n return;\n case 5:\n kKd(this, null);\n return;\n case 7:\n !this.A && (this.A = new K4d(u5, this, 7));\n Uxd(this.A);\n return;\n case 8:\n LPd(this, true);\n return;\n }\n eid(this, a - aLd(this.zh()), XKd((b = BD(Ajd(this, 16), 26), !b ? this.zh() : b), a));\n };\n _2.Gh = function SPd() {\n o1d((O6d(), M6d), this).ne();\n this.Bb |= 1;\n };\n _2.Fj = function TPd() {\n var a, b, c2;\n if (!this.c) {\n a = l6d(bKd(this));\n if (!a.dc()) {\n for (c2 = a.Kc(); c2.Ob(); ) {\n b = GD(c2.Pb());\n !!Dmd(this, b) && k6d(this);\n }\n }\n }\n return this.b;\n };\n _2.zj = function UPd() {\n var b;\n if (!this.e) {\n b = null;\n try {\n b = dKd(this);\n } catch (a) {\n a = ubb(a);\n if (!JD(a, 102))\n throw vbb(a);\n }\n this.d = null;\n !!b && (b.i & 1) != 0 && (b == sbb ? this.d = (Bcb(), zcb) : b == WD ? this.d = meb(0) : b == VD ? this.d = new Ndb(0) : b == UD ? this.d = 0 : b == XD ? this.d = Aeb(0) : b == rbb ? this.d = Web(0) : b == SD ? this.d = Scb(0) : this.d = bdb(0));\n this.e = true;\n }\n return this.d;\n };\n _2.Ej = function VPd() {\n return (this.Bb & 256) != 0;\n };\n _2.Ik = function WPd(a) {\n a && (this.D = \"org.eclipse.emf.common.util.AbstractEnumerator\");\n };\n _2.xk = function XPd(a) {\n gKd(this, a);\n this.Ik(a);\n };\n _2.yk = function YPd(a) {\n this.C = a;\n this.e = false;\n };\n _2.Ib = function ZPd() {\n var a;\n if ((this.Db & 64) != 0)\n return mKd(this);\n a = new Jfb(mKd(this));\n a.a += \" (serializable: \";\n Ffb(a, (this.Bb & 256) != 0);\n a.a += \")\";\n return a.a;\n };\n _2.c = false;\n _2.d = null;\n _2.e = false;\n mdb(qte, \"EDataTypeImpl\", 566);\n bcb(457, 566, { 105: 1, 92: 1, 90: 1, 138: 1, 148: 1, 834: 1, 671: 1, 147: 1, 191: 1, 56: 1, 108: 1, 49: 1, 97: 1, 351: 1, 457: 1, 150: 1, 114: 1, 115: 1, 676: 1 }, aQd);\n _2._g = function bQd(a, b, c2) {\n var d;\n switch (a) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), this.Ab;\n case 1:\n return this.zb;\n case 2:\n return this.D != null ? this.D : this.B;\n case 3:\n return dKd(this);\n case 4:\n return $Pd(this);\n case 5:\n return this.F;\n case 6:\n if (b)\n return bKd(this);\n return ZJd(this);\n case 7:\n return !this.A && (this.A = new K4d(u5, this, 7)), this.A;\n case 8:\n return Bcb(), (this.Bb & 256) != 0 ? true : false;\n case 9:\n return !this.a && (this.a = new cUd(g5, this, 9, 5)), this.a;\n }\n return bid(this, a - aLd((jGd(), UFd)), XKd((d = BD(Ajd(this, 16), 26), !d ? UFd : d), a), b, c2);\n };\n _2.hh = function cQd(a, b, c2) {\n var d, e, f2;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Sxd(this.Ab, a, c2);\n case 6:\n !!this.Cb && (c2 = (e = this.Db >> 16, e >= 0 ? aKd(this, c2) : this.Cb.ih(this, -1 - e, null, c2)));\n return _hd(this, a, 6, c2);\n case 9:\n return !this.a && (this.a = new cUd(g5, this, 9, 5)), Sxd(this.a, a, c2);\n }\n return f2 = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? (jGd(), UFd) : d), b), 66), f2.Nj().Qj(this, yjd(this), b - aLd((jGd(), UFd)), a, c2);\n };\n _2.jh = function dQd(a, b, c2) {\n var d, e;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Txd(this.Ab, a, c2);\n case 6:\n return _hd(this, null, 6, c2);\n case 7:\n return !this.A && (this.A = new K4d(u5, this, 7)), Txd(this.A, a, c2);\n case 9:\n return !this.a && (this.a = new cUd(g5, this, 9, 5)), Txd(this.a, a, c2);\n }\n return e = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? (jGd(), UFd) : d), b), 66), e.Nj().Rj(this, yjd(this), b - aLd((jGd(), UFd)), a, c2);\n };\n _2.lh = function eQd(a) {\n var b;\n switch (a) {\n case 0:\n return !!this.Ab && this.Ab.i != 0;\n case 1:\n return this.zb != null;\n case 2:\n return this.D != null && this.D == this.F;\n case 3:\n return !!dKd(this);\n case 4:\n return !!$Pd(this);\n case 5:\n return this.F != null && this.F != this.D && this.F != this.B;\n case 6:\n return !!ZJd(this);\n case 7:\n return !!this.A && this.A.i != 0;\n case 8:\n return (this.Bb & 256) == 0;\n case 9:\n return !!this.a && this.a.i != 0;\n }\n return cid(this, a - aLd((jGd(), UFd)), XKd((b = BD(Ajd(this, 16), 26), !b ? UFd : b), a));\n };\n _2.sh = function fQd(a, b) {\n var c2;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n ytd(this.Ab, BD(b, 14));\n return;\n case 1:\n lKd(this, GD(b));\n return;\n case 2:\n iKd(this, GD(b));\n return;\n case 5:\n kKd(this, GD(b));\n return;\n case 7:\n !this.A && (this.A = new K4d(u5, this, 7));\n Uxd(this.A);\n !this.A && (this.A = new K4d(u5, this, 7));\n ytd(this.A, BD(b, 14));\n return;\n case 8:\n LPd(this, Ccb(DD(b)));\n return;\n case 9:\n !this.a && (this.a = new cUd(g5, this, 9, 5));\n Uxd(this.a);\n !this.a && (this.a = new cUd(g5, this, 9, 5));\n ytd(this.a, BD(b, 14));\n return;\n }\n did(this, a - aLd((jGd(), UFd)), XKd((c2 = BD(Ajd(this, 16), 26), !c2 ? UFd : c2), a), b);\n };\n _2.zh = function gQd() {\n return jGd(), UFd;\n };\n _2.Bh = function hQd(a) {\n var b;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n return;\n case 1:\n JD(this.Cb, 179) && (BD(this.Cb, 179).tb = null);\n pnd(this, null);\n return;\n case 2:\n $Jd(this, null);\n _Jd(this, this.D);\n return;\n case 5:\n kKd(this, null);\n return;\n case 7:\n !this.A && (this.A = new K4d(u5, this, 7));\n Uxd(this.A);\n return;\n case 8:\n LPd(this, true);\n return;\n case 9:\n !this.a && (this.a = new cUd(g5, this, 9, 5));\n Uxd(this.a);\n return;\n }\n eid(this, a - aLd((jGd(), UFd)), XKd((b = BD(Ajd(this, 16), 26), !b ? UFd : b), a));\n };\n _2.Gh = function iQd() {\n var a, b;\n if (this.a) {\n for (a = 0, b = this.a.i; a < b; ++a) {\n Cmd(qud(this.a, a));\n }\n }\n o1d((O6d(), M6d), this).ne();\n this.Bb |= 1;\n };\n _2.zj = function jQd() {\n return $Pd(this);\n };\n _2.wj = function kQd(a) {\n if (a != null) {\n return true;\n }\n return false;\n };\n _2.Ik = function lQd(a) {\n };\n mdb(qte, \"EEnumImpl\", 457);\n bcb(573, 438, { 105: 1, 92: 1, 90: 1, 1940: 1, 678: 1, 147: 1, 191: 1, 56: 1, 108: 1, 49: 1, 97: 1, 573: 1, 150: 1, 114: 1, 115: 1 }, rQd);\n _2.ne = function AQd() {\n return this.zb;\n };\n _2.Qg = function sQd(a) {\n return mQd(this, a);\n };\n _2._g = function tQd(a, b, c2) {\n var d, e;\n switch (a) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), this.Ab;\n case 1:\n return this.zb;\n case 2:\n return meb(this.d);\n case 3:\n return this.b ? this.b : this.a;\n case 4:\n return e = this.c, e == null ? this.zb : e;\n case 5:\n return this.Db >> 16 == 5 ? BD(this.Cb, 671) : null;\n }\n return bid(this, a - aLd((jGd(), VFd)), XKd((d = BD(Ajd(this, 16), 26), !d ? VFd : d), a), b, c2);\n };\n _2.hh = function uQd(a, b, c2) {\n var d, e, f2;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Sxd(this.Ab, a, c2);\n case 5:\n !!this.Cb && (c2 = (e = this.Db >> 16, e >= 0 ? mQd(this, c2) : this.Cb.ih(this, -1 - e, null, c2)));\n return _hd(this, a, 5, c2);\n }\n return f2 = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? (jGd(), VFd) : d), b), 66), f2.Nj().Qj(this, yjd(this), b - aLd((jGd(), VFd)), a, c2);\n };\n _2.jh = function vQd(a, b, c2) {\n var d, e;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Txd(this.Ab, a, c2);\n case 5:\n return _hd(this, null, 5, c2);\n }\n return e = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? (jGd(), VFd) : d), b), 66), e.Nj().Rj(this, yjd(this), b - aLd((jGd(), VFd)), a, c2);\n };\n _2.lh = function wQd(a) {\n var b;\n switch (a) {\n case 0:\n return !!this.Ab && this.Ab.i != 0;\n case 1:\n return this.zb != null;\n case 2:\n return this.d != 0;\n case 3:\n return !!this.b;\n case 4:\n return this.c != null;\n case 5:\n return !!(this.Db >> 16 == 5 ? BD(this.Cb, 671) : null);\n }\n return cid(this, a - aLd((jGd(), VFd)), XKd((b = BD(Ajd(this, 16), 26), !b ? VFd : b), a));\n };\n _2.sh = function xQd(a, b) {\n var c2;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n ytd(this.Ab, BD(b, 14));\n return;\n case 1:\n pnd(this, GD(b));\n return;\n case 2:\n qQd(this, BD(b, 19).a);\n return;\n case 3:\n oQd(this, BD(b, 1940));\n return;\n case 4:\n pQd(this, GD(b));\n return;\n }\n did(this, a - aLd((jGd(), VFd)), XKd((c2 = BD(Ajd(this, 16), 26), !c2 ? VFd : c2), a), b);\n };\n _2.zh = function yQd() {\n return jGd(), VFd;\n };\n _2.Bh = function zQd(a) {\n var b;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n return;\n case 1:\n pnd(this, null);\n return;\n case 2:\n qQd(this, 0);\n return;\n case 3:\n oQd(this, null);\n return;\n case 4:\n pQd(this, null);\n return;\n }\n eid(this, a - aLd((jGd(), VFd)), XKd((b = BD(Ajd(this, 16), 26), !b ? VFd : b), a));\n };\n _2.Ib = function BQd() {\n var a;\n return a = this.c, a == null ? this.zb : a;\n };\n _2.b = null;\n _2.c = null;\n _2.d = 0;\n mdb(qte, \"EEnumLiteralImpl\", 573);\n var c6 = odb(qte, \"EFactoryImpl/InternalEDateTimeFormat\");\n bcb(489, 1, { 2015: 1 }, EQd);\n mdb(qte, \"EFactoryImpl/1ClientInternalEDateTimeFormat\", 489);\n bcb(241, 115, { 105: 1, 92: 1, 90: 1, 87: 1, 56: 1, 108: 1, 49: 1, 97: 1, 241: 1, 114: 1, 115: 1 }, UQd);\n _2.Sg = function VQd(a, b, c2) {\n var d;\n c2 = _hd(this, a, b, c2);\n if (!!this.e && JD(a, 170)) {\n d = MQd(this, this.e);\n d != this.c && (c2 = QQd(this, d, c2));\n }\n return c2;\n };\n _2._g = function WQd(a, b, c2) {\n var d;\n switch (a) {\n case 0:\n return this.f;\n case 1:\n return !this.d && (this.d = new xMd(j5, this, 1)), this.d;\n case 2:\n if (b)\n return KQd(this);\n return this.c;\n case 3:\n return this.b;\n case 4:\n return this.e;\n case 5:\n if (b)\n return JQd(this);\n return this.a;\n }\n return bid(this, a - aLd((jGd(), XFd)), XKd((d = BD(Ajd(this, 16), 26), !d ? XFd : d), a), b, c2);\n };\n _2.jh = function XQd(a, b, c2) {\n var d, e;\n switch (b) {\n case 0:\n return IQd(this, null, c2);\n case 1:\n return !this.d && (this.d = new xMd(j5, this, 1)), Txd(this.d, a, c2);\n case 3:\n return GQd(this, null, c2);\n }\n return e = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? (jGd(), XFd) : d), b), 66), e.Nj().Rj(this, yjd(this), b - aLd((jGd(), XFd)), a, c2);\n };\n _2.lh = function YQd(a) {\n var b;\n switch (a) {\n case 0:\n return !!this.f;\n case 1:\n return !!this.d && this.d.i != 0;\n case 2:\n return !!this.c;\n case 3:\n return !!this.b;\n case 4:\n return !!this.e;\n case 5:\n return !!this.a;\n }\n return cid(this, a - aLd((jGd(), XFd)), XKd((b = BD(Ajd(this, 16), 26), !b ? XFd : b), a));\n };\n _2.sh = function ZQd(a, b) {\n var c2;\n switch (a) {\n case 0:\n SQd(this, BD(b, 87));\n return;\n case 1:\n !this.d && (this.d = new xMd(j5, this, 1));\n Uxd(this.d);\n !this.d && (this.d = new xMd(j5, this, 1));\n ytd(this.d, BD(b, 14));\n return;\n case 3:\n PQd(this, BD(b, 87));\n return;\n case 4:\n RQd(this, BD(b, 836));\n return;\n case 5:\n NQd(this, BD(b, 138));\n return;\n }\n did(this, a - aLd((jGd(), XFd)), XKd((c2 = BD(Ajd(this, 16), 26), !c2 ? XFd : c2), a), b);\n };\n _2.zh = function $Qd() {\n return jGd(), XFd;\n };\n _2.Bh = function _Qd(a) {\n var b;\n switch (a) {\n case 0:\n SQd(this, null);\n return;\n case 1:\n !this.d && (this.d = new xMd(j5, this, 1));\n Uxd(this.d);\n return;\n case 3:\n PQd(this, null);\n return;\n case 4:\n RQd(this, null);\n return;\n case 5:\n NQd(this, null);\n return;\n }\n eid(this, a - aLd((jGd(), XFd)), XKd((b = BD(Ajd(this, 16), 26), !b ? XFd : b), a));\n };\n _2.Ib = function aRd() {\n var a;\n a = new Wfb(Eid(this));\n a.a += \" (expression: \";\n TQd(this, a);\n a.a += \")\";\n return a.a;\n };\n var FQd;\n mdb(qte, \"EGenericTypeImpl\", 241);\n bcb(1969, 1964, Vve);\n _2.Xh = function cRd(a, b) {\n bRd(this, a, b);\n };\n _2.lk = function dRd(a, b) {\n bRd(this, this.gc(), a);\n return b;\n };\n _2.pi = function eRd(a) {\n return Ut(this.Gi(), a);\n };\n _2.Zh = function fRd() {\n return this.$h();\n };\n _2.Gi = function gRd() {\n return new O0d(this);\n };\n _2.$h = function hRd() {\n return this._h(0);\n };\n _2._h = function iRd(a) {\n return this.Gi().Zc(a);\n };\n _2.mk = function jRd(a, b) {\n ze(this, a, true);\n return b;\n };\n _2.ii = function kRd(a, b) {\n var c2, d;\n d = Vt(this, b);\n c2 = this.Zc(a);\n c2.Rb(d);\n return d;\n };\n _2.ji = function lRd(a, b) {\n var c2;\n ze(this, b, true);\n c2 = this.Zc(a);\n c2.Rb(b);\n };\n mdb(yve, \"AbstractSequentialInternalEList\", 1969);\n bcb(486, 1969, Vve, qRd);\n _2.pi = function rRd(a) {\n return Ut(this.Gi(), a);\n };\n _2.Zh = function sRd() {\n if (this.b == null) {\n return LRd(), LRd(), KRd;\n }\n return this.Jk();\n };\n _2.Gi = function tRd() {\n return new w4d(this.a, this.b);\n };\n _2.$h = function uRd() {\n if (this.b == null) {\n return LRd(), LRd(), KRd;\n }\n return this.Jk();\n };\n _2._h = function vRd(a) {\n var b, c2;\n if (this.b == null) {\n if (a < 0 || a > 1) {\n throw vbb(new qcb(gve + a + \", size=0\"));\n }\n return LRd(), LRd(), KRd;\n }\n c2 = this.Jk();\n for (b = 0; b < a; ++b) {\n MRd(c2);\n }\n return c2;\n };\n _2.dc = function wRd() {\n var a, b, c2, d, e, f2;\n if (this.b != null) {\n for (c2 = 0; c2 < this.b.length; ++c2) {\n a = this.b[c2];\n if (!this.Mk() || this.a.mh(a)) {\n f2 = this.a.bh(a, false);\n Q6d();\n if (BD(a, 66).Oj()) {\n b = BD(f2, 153);\n for (d = 0, e = b.gc(); d < e; ++d) {\n if (oRd(b.il(d)) && b.jl(d) != null) {\n return false;\n }\n }\n } else if (a.$j()) {\n if (!BD(f2, 14).dc()) {\n return false;\n }\n } else if (f2 != null) {\n return false;\n }\n }\n }\n }\n return true;\n };\n _2.Kc = function xRd() {\n return pRd(this);\n };\n _2.Zc = function yRd(a) {\n var b, c2;\n if (this.b == null) {\n if (a != 0) {\n throw vbb(new qcb(gve + a + \", size=0\"));\n }\n return LRd(), LRd(), KRd;\n }\n c2 = this.Lk() ? this.Kk() : this.Jk();\n for (b = 0; b < a; ++b) {\n MRd(c2);\n }\n return c2;\n };\n _2.ii = function zRd(a, b) {\n throw vbb(new bgb());\n };\n _2.ji = function ARd(a, b) {\n throw vbb(new bgb());\n };\n _2.Jk = function BRd() {\n return new RRd(this.a, this.b);\n };\n _2.Kk = function CRd() {\n return new dSd(this.a, this.b);\n };\n _2.Lk = function DRd() {\n return true;\n };\n _2.gc = function ERd() {\n var a, b, c2, d, e, f2, g;\n e = 0;\n if (this.b != null) {\n for (c2 = 0; c2 < this.b.length; ++c2) {\n a = this.b[c2];\n if (!this.Mk() || this.a.mh(a)) {\n g = this.a.bh(a, false);\n Q6d();\n if (BD(a, 66).Oj()) {\n b = BD(g, 153);\n for (d = 0, f2 = b.gc(); d < f2; ++d) {\n oRd(b.il(d)) && b.jl(d) != null && ++e;\n }\n } else\n a.$j() ? e += BD(g, 14).gc() : g != null && ++e;\n }\n }\n }\n return e;\n };\n _2.Mk = function FRd() {\n return true;\n };\n var mRd;\n mdb(yve, \"EContentsEList\", 486);\n bcb(1156, 486, Vve, GRd);\n _2.Jk = function HRd() {\n return new hSd(this.a, this.b);\n };\n _2.Kk = function IRd() {\n return new fSd(this.a, this.b);\n };\n _2.Mk = function JRd() {\n return false;\n };\n mdb(qte, \"ENamedElementImpl/1\", 1156);\n bcb(279, 1, Wve, RRd);\n _2.Nb = function URd(a) {\n Rrb(this, a);\n };\n _2.Rb = function SRd(a) {\n throw vbb(new bgb());\n };\n _2.Nk = function TRd(a) {\n if (this.g != 0 || !!this.e) {\n throw vbb(new Zdb(\"Iterator already in use or already filtered\"));\n }\n this.e = a;\n };\n _2.Ob = function VRd() {\n var a, b, c2, d, e, f2;\n switch (this.g) {\n case 3:\n case 2: {\n return true;\n }\n case 1: {\n return false;\n }\n case -3: {\n !this.p ? ++this.n : this.p.Pb();\n }\n default: {\n if (!this.k || (!this.p ? !NRd(this) : !ORd(this, this.p))) {\n while (this.d < this.c.length) {\n b = this.c[this.d++];\n if ((!this.e || b.Gj() != x2 || b.aj() != 0) && (!this.Mk() || this.b.mh(b))) {\n f2 = this.b.bh(b, this.Lk());\n this.f = (Q6d(), BD(b, 66).Oj());\n if (this.f || b.$j()) {\n if (this.Lk()) {\n d = BD(f2, 15);\n this.k = d;\n } else {\n d = BD(f2, 69);\n this.k = this.j = d;\n }\n if (JD(this.k, 54)) {\n this.p = null;\n this.o = this.k.gc();\n this.n = 0;\n } else {\n this.p = !this.j ? this.k.Yc() : this.j.$h();\n }\n if (!this.p ? NRd(this) : ORd(this, this.p)) {\n e = !this.p ? !this.j ? this.k.Xb(this.n++) : this.j.pi(this.n++) : this.p.Pb();\n if (this.f) {\n a = BD(e, 72);\n a.ak();\n c2 = a.dd();\n this.i = c2;\n } else {\n c2 = e;\n this.i = c2;\n }\n this.g = 3;\n return true;\n }\n } else if (f2 != null) {\n this.k = null;\n this.p = null;\n c2 = f2;\n this.i = c2;\n this.g = 2;\n return true;\n }\n }\n }\n this.k = null;\n this.p = null;\n this.f = false;\n this.g = 1;\n return false;\n } else {\n e = !this.p ? !this.j ? this.k.Xb(this.n++) : this.j.pi(this.n++) : this.p.Pb();\n if (this.f) {\n a = BD(e, 72);\n a.ak();\n c2 = a.dd();\n this.i = c2;\n } else {\n c2 = e;\n this.i = c2;\n }\n this.g = 3;\n return true;\n }\n }\n }\n };\n _2.Sb = function WRd() {\n var a, b, c2, d, e, f2;\n switch (this.g) {\n case -3:\n case -2: {\n return true;\n }\n case -1: {\n return false;\n }\n case 3: {\n !this.p ? --this.n : this.p.Ub();\n }\n default: {\n if (!this.k || (!this.p ? !PRd(this) : !QRd(this, this.p))) {\n while (this.d > 0) {\n b = this.c[--this.d];\n if ((!this.e || b.Gj() != x2 || b.aj() != 0) && (!this.Mk() || this.b.mh(b))) {\n f2 = this.b.bh(b, this.Lk());\n this.f = (Q6d(), BD(b, 66).Oj());\n if (this.f || b.$j()) {\n if (this.Lk()) {\n d = BD(f2, 15);\n this.k = d;\n } else {\n d = BD(f2, 69);\n this.k = this.j = d;\n }\n if (JD(this.k, 54)) {\n this.o = this.k.gc();\n this.n = this.o;\n } else {\n this.p = !this.j ? this.k.Zc(this.k.gc()) : this.j._h(this.k.gc());\n }\n if (!this.p ? PRd(this) : QRd(this, this.p)) {\n e = !this.p ? !this.j ? this.k.Xb(--this.n) : this.j.pi(--this.n) : this.p.Ub();\n if (this.f) {\n a = BD(e, 72);\n a.ak();\n c2 = a.dd();\n this.i = c2;\n } else {\n c2 = e;\n this.i = c2;\n }\n this.g = -3;\n return true;\n }\n } else if (f2 != null) {\n this.k = null;\n this.p = null;\n c2 = f2;\n this.i = c2;\n this.g = -2;\n return true;\n }\n }\n }\n this.k = null;\n this.p = null;\n this.g = -1;\n return false;\n } else {\n e = !this.p ? !this.j ? this.k.Xb(--this.n) : this.j.pi(--this.n) : this.p.Ub();\n if (this.f) {\n a = BD(e, 72);\n a.ak();\n c2 = a.dd();\n this.i = c2;\n } else {\n c2 = e;\n this.i = c2;\n }\n this.g = -3;\n return true;\n }\n }\n }\n };\n _2.Pb = function XRd() {\n return MRd(this);\n };\n _2.Tb = function YRd() {\n return this.a;\n };\n _2.Ub = function ZRd() {\n var a;\n if (this.g < -1 || this.Sb()) {\n --this.a;\n this.g = 0;\n a = this.i;\n this.Sb();\n return a;\n } else {\n throw vbb(new utb());\n }\n };\n _2.Vb = function $Rd() {\n return this.a - 1;\n };\n _2.Qb = function _Rd() {\n throw vbb(new bgb());\n };\n _2.Lk = function aSd() {\n return false;\n };\n _2.Wb = function bSd(a) {\n throw vbb(new bgb());\n };\n _2.Mk = function cSd() {\n return true;\n };\n _2.a = 0;\n _2.d = 0;\n _2.f = false;\n _2.g = 0;\n _2.n = 0;\n _2.o = 0;\n var KRd;\n mdb(yve, \"EContentsEList/FeatureIteratorImpl\", 279);\n bcb(697, 279, Wve, dSd);\n _2.Lk = function eSd() {\n return true;\n };\n mdb(yve, \"EContentsEList/ResolvingFeatureIteratorImpl\", 697);\n bcb(1157, 697, Wve, fSd);\n _2.Mk = function gSd() {\n return false;\n };\n mdb(qte, \"ENamedElementImpl/1/1\", 1157);\n bcb(1158, 279, Wve, hSd);\n _2.Mk = function iSd() {\n return false;\n };\n mdb(qte, \"ENamedElementImpl/1/2\", 1158);\n bcb(36, 143, fve, lSd, mSd, nSd, oSd, pSd, qSd, rSd, sSd, tSd, uSd, vSd, wSd, xSd, ySd, zSd, ASd, BSd, CSd, DSd, ESd, FSd, GSd, HSd, ISd, JSd);\n _2._i = function KSd() {\n return kSd(this);\n };\n _2.gj = function LSd() {\n var a;\n a = kSd(this);\n if (a) {\n return a.zj();\n }\n return null;\n };\n _2.yi = function MSd(a) {\n this.b == -1 && !!this.a && (this.b = this.c.Xg(this.a.aj(), this.a.Gj()));\n return this.c.Og(this.b, a);\n };\n _2.Ai = function NSd() {\n return this.c;\n };\n _2.hj = function OSd() {\n var a;\n a = kSd(this);\n if (a) {\n return a.Kj();\n }\n return false;\n };\n _2.b = -1;\n mdb(qte, \"ENotificationImpl\", 36);\n bcb(399, 284, { 105: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 59: 1, 108: 1, 472: 1, 49: 1, 97: 1, 150: 1, 399: 1, 284: 1, 114: 1, 115: 1 }, SSd);\n _2.Qg = function TSd(a) {\n return PSd(this, a);\n };\n _2._g = function USd(a, b, c2) {\n var d, e, f2;\n switch (a) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), this.Ab;\n case 1:\n return this.zb;\n case 2:\n return Bcb(), (this.Bb & 256) != 0 ? true : false;\n case 3:\n return Bcb(), (this.Bb & 512) != 0 ? true : false;\n case 4:\n return meb(this.s);\n case 5:\n return meb(this.t);\n case 6:\n return Bcb(), f2 = this.t, f2 > 1 || f2 == -1 ? true : false;\n case 7:\n return Bcb(), e = this.s, e >= 1 ? true : false;\n case 8:\n if (b)\n return wId(this);\n return this.r;\n case 9:\n return this.q;\n case 10:\n return this.Db >> 16 == 10 ? BD(this.Cb, 26) : null;\n case 11:\n return !this.d && (this.d = new K4d(u5, this, 11)), this.d;\n case 12:\n return !this.c && (this.c = new cUd(p5, this, 12, 10)), this.c;\n case 13:\n return !this.a && (this.a = new fTd(this, this)), this.a;\n case 14:\n return QSd(this);\n }\n return bid(this, a - aLd((jGd(), aGd)), XKd((d = BD(Ajd(this, 16), 26), !d ? aGd : d), a), b, c2);\n };\n _2.hh = function VSd(a, b, c2) {\n var d, e, f2;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Sxd(this.Ab, a, c2);\n case 10:\n !!this.Cb && (c2 = (e = this.Db >> 16, e >= 0 ? PSd(this, c2) : this.Cb.ih(this, -1 - e, null, c2)));\n return _hd(this, a, 10, c2);\n case 12:\n return !this.c && (this.c = new cUd(p5, this, 12, 10)), Sxd(this.c, a, c2);\n }\n return f2 = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? (jGd(), aGd) : d), b), 66), f2.Nj().Qj(this, yjd(this), b - aLd((jGd(), aGd)), a, c2);\n };\n _2.jh = function WSd(a, b, c2) {\n var d, e;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Txd(this.Ab, a, c2);\n case 9:\n return vId(this, c2);\n case 10:\n return _hd(this, null, 10, c2);\n case 11:\n return !this.d && (this.d = new K4d(u5, this, 11)), Txd(this.d, a, c2);\n case 12:\n return !this.c && (this.c = new cUd(p5, this, 12, 10)), Txd(this.c, a, c2);\n case 14:\n return Txd(QSd(this), a, c2);\n }\n return e = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? (jGd(), aGd) : d), b), 66), e.Nj().Rj(this, yjd(this), b - aLd((jGd(), aGd)), a, c2);\n };\n _2.lh = function XSd(a) {\n var b, c2, d;\n switch (a) {\n case 0:\n return !!this.Ab && this.Ab.i != 0;\n case 1:\n return this.zb != null;\n case 2:\n return (this.Bb & 256) == 0;\n case 3:\n return (this.Bb & 512) == 0;\n case 4:\n return this.s != 0;\n case 5:\n return this.t != 1;\n case 6:\n return d = this.t, d > 1 || d == -1;\n case 7:\n return c2 = this.s, c2 >= 1;\n case 8:\n return !!this.r && !this.q.e && LQd(this.q).i == 0;\n case 9:\n return !!this.q && !(!!this.r && !this.q.e && LQd(this.q).i == 0);\n case 10:\n return !!(this.Db >> 16 == 10 ? BD(this.Cb, 26) : null);\n case 11:\n return !!this.d && this.d.i != 0;\n case 12:\n return !!this.c && this.c.i != 0;\n case 13:\n return !!this.a && QSd(this.a.a).i != 0 && !(!!this.b && QTd(this.b));\n case 14:\n return !!this.b && QTd(this.b);\n }\n return cid(this, a - aLd((jGd(), aGd)), XKd((b = BD(Ajd(this, 16), 26), !b ? aGd : b), a));\n };\n _2.sh = function YSd(a, b) {\n var c2, d;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n ytd(this.Ab, BD(b, 14));\n return;\n case 1:\n pnd(this, GD(b));\n return;\n case 2:\n BId(this, Ccb(DD(b)));\n return;\n case 3:\n CId(this, Ccb(DD(b)));\n return;\n case 4:\n AId(this, BD(b, 19).a);\n return;\n case 5:\n DId(this, BD(b, 19).a);\n return;\n case 8:\n yId(this, BD(b, 138));\n return;\n case 9:\n d = xId(this, BD(b, 87), null);\n !!d && d.Fi();\n return;\n case 11:\n !this.d && (this.d = new K4d(u5, this, 11));\n Uxd(this.d);\n !this.d && (this.d = new K4d(u5, this, 11));\n ytd(this.d, BD(b, 14));\n return;\n case 12:\n !this.c && (this.c = new cUd(p5, this, 12, 10));\n Uxd(this.c);\n !this.c && (this.c = new cUd(p5, this, 12, 10));\n ytd(this.c, BD(b, 14));\n return;\n case 13:\n !this.a && (this.a = new fTd(this, this));\n vwd(this.a);\n !this.a && (this.a = new fTd(this, this));\n ytd(this.a, BD(b, 14));\n return;\n case 14:\n Uxd(QSd(this));\n ytd(QSd(this), BD(b, 14));\n return;\n }\n did(this, a - aLd((jGd(), aGd)), XKd((c2 = BD(Ajd(this, 16), 26), !c2 ? aGd : c2), a), b);\n };\n _2.zh = function ZSd() {\n return jGd(), aGd;\n };\n _2.Bh = function $Sd(a) {\n var b, c2;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n return;\n case 1:\n pnd(this, null);\n return;\n case 2:\n BId(this, true);\n return;\n case 3:\n CId(this, true);\n return;\n case 4:\n AId(this, 0);\n return;\n case 5:\n DId(this, 1);\n return;\n case 8:\n yId(this, null);\n return;\n case 9:\n c2 = xId(this, null, null);\n !!c2 && c2.Fi();\n return;\n case 11:\n !this.d && (this.d = new K4d(u5, this, 11));\n Uxd(this.d);\n return;\n case 12:\n !this.c && (this.c = new cUd(p5, this, 12, 10));\n Uxd(this.c);\n return;\n case 13:\n !!this.a && vwd(this.a);\n return;\n case 14:\n !!this.b && Uxd(this.b);\n return;\n }\n eid(this, a - aLd((jGd(), aGd)), XKd((b = BD(Ajd(this, 16), 26), !b ? aGd : b), a));\n };\n _2.Gh = function _Sd() {\n var a, b;\n if (this.c) {\n for (a = 0, b = this.c.i; a < b; ++a) {\n Cmd(qud(this.c, a));\n }\n }\n wId(this);\n this.Bb |= 1;\n };\n mdb(qte, \"EOperationImpl\", 399);\n bcb(505, 742, Uve, fTd);\n _2.Hi = function iTd(a, b) {\n aTd(this, a, BD(b, 138));\n };\n _2.Ii = function jTd(a) {\n bTd(this, BD(a, 138));\n };\n _2.Oi = function pTd(a) {\n var b, c2;\n return b = BD(qud(QSd(this.a), a), 87), c2 = b.c, c2 ? c2 : (jGd(), YFd);\n };\n _2.Ti = function uTd(a) {\n var b, c2;\n return b = BD(Xxd(QSd(this.a), a), 87), c2 = b.c, c2 ? c2 : (jGd(), YFd);\n };\n _2.Ui = function vTd(a, b) {\n return dTd(this, a, BD(b, 138));\n };\n _2.ai = function gTd() {\n return false;\n };\n _2.Zi = function hTd(a, b, c2, d, e) {\n return null;\n };\n _2.Ji = function kTd() {\n return new NTd(this);\n };\n _2.Ki = function lTd() {\n Uxd(QSd(this.a));\n };\n _2.Li = function mTd(a) {\n return cTd(this, a);\n };\n _2.Mi = function nTd(a) {\n var b, c2;\n for (c2 = a.Kc(); c2.Ob(); ) {\n b = c2.Pb();\n if (!cTd(this, b)) {\n return false;\n }\n }\n return true;\n };\n _2.Ni = function oTd(a) {\n var b, c2, d;\n if (JD(a, 15)) {\n d = BD(a, 15);\n if (d.gc() == QSd(this.a).i) {\n for (b = d.Kc(), c2 = new Fyd(this); b.Ob(); ) {\n if (PD(b.Pb()) !== PD(Dyd(c2))) {\n return false;\n }\n }\n return true;\n }\n }\n return false;\n };\n _2.Pi = function qTd() {\n var a, b, c2, d, e;\n c2 = 1;\n for (b = new Fyd(QSd(this.a)); b.e != b.i.gc(); ) {\n a = BD(Dyd(b), 87);\n d = (e = a.c, e ? e : (jGd(), YFd));\n c2 = 31 * c2 + (!d ? 0 : tb(d));\n }\n return c2;\n };\n _2.Qi = function rTd(a) {\n var b, c2, d, e;\n d = 0;\n for (c2 = new Fyd(QSd(this.a)); c2.e != c2.i.gc(); ) {\n b = BD(Dyd(c2), 87);\n if (PD(a) === PD((e = b.c, e ? e : (jGd(), YFd)))) {\n return d;\n }\n ++d;\n }\n return -1;\n };\n _2.Ri = function sTd() {\n return QSd(this.a).i == 0;\n };\n _2.Si = function tTd() {\n return null;\n };\n _2.Vi = function wTd() {\n return QSd(this.a).i;\n };\n _2.Wi = function xTd() {\n var a, b, c2, d, e, f2;\n f2 = QSd(this.a).i;\n e = KC(SI, Uhe, 1, f2, 5, 1);\n c2 = 0;\n for (b = new Fyd(QSd(this.a)); b.e != b.i.gc(); ) {\n a = BD(Dyd(b), 87);\n e[c2++] = (d = a.c, d ? d : (jGd(), YFd));\n }\n return e;\n };\n _2.Xi = function yTd(a) {\n var b, c2, d, e, f2, g, h;\n h = QSd(this.a).i;\n if (a.length < h) {\n e = izd(rb(a).c, h);\n a = e;\n }\n a.length > h && NC(a, h, null);\n d = 0;\n for (c2 = new Fyd(QSd(this.a)); c2.e != c2.i.gc(); ) {\n b = BD(Dyd(c2), 87);\n f2 = (g = b.c, g ? g : (jGd(), YFd));\n NC(a, d++, f2);\n }\n return a;\n };\n _2.Yi = function zTd() {\n var a, b, c2, d, e;\n e = new Hfb();\n e.a += \"[\";\n a = QSd(this.a);\n for (b = 0, d = QSd(this.a).i; b < d; ) {\n Efb(e, xfb((c2 = BD(qud(a, b), 87).c, c2 ? c2 : (jGd(), YFd))));\n ++b < d && (e.a += She, e);\n }\n e.a += \"]\";\n return e.a;\n };\n _2.$i = function ATd(a) {\n };\n _2.aj = function BTd() {\n return 13;\n };\n _2.Bk = function CTd() {\n return true;\n };\n _2.bj = function DTd() {\n return false;\n };\n _2.Ck = function ETd() {\n return false;\n };\n _2.Dk = function FTd() {\n return false;\n };\n _2.Ek = function GTd() {\n return true;\n };\n _2.rk = function HTd() {\n return false;\n };\n _2.Fk = function ITd() {\n return true;\n };\n _2.wj = function JTd(a) {\n return JD(a, 138);\n };\n _2.fj = function KTd() {\n return RSd(this.a);\n };\n _2.hi = function LTd() {\n return true;\n };\n _2.ni = function MTd() {\n return true;\n };\n mdb(qte, \"EOperationImpl/1\", 505);\n bcb(1340, 1964, Lie, NTd);\n _2.Zc = function OTd(a) {\n return ztd(this.a, a);\n };\n _2.gc = function PTd() {\n return QSd(this.a.a).i;\n };\n mdb(qte, \"EOperationImpl/1/1\", 1340);\n bcb(1341, 545, Pve, UTd);\n _2.ii = function YTd(a, b) {\n var c2, d;\n return c2 = BD(Wxd(this, a, b), 87), oid(this.e) && GLd(this, new ESd(this.a, 7, (jGd(), bGd), meb(b), (d = c2.c, d ? d : YFd), a)), c2;\n };\n _2.jj = function ZTd(a, b) {\n return RTd(this, BD(a, 87), b);\n };\n _2.kj = function $Td(a, b) {\n return STd(this, BD(a, 87), b);\n };\n _2.lj = function _Td(a, b, c2) {\n return TTd(this, BD(a, 87), BD(b, 87), c2);\n };\n _2.Zi = function VTd(a, b, c2, d, e) {\n switch (a) {\n case 3: {\n return FLd(this, a, b, c2, d, this.i > 1);\n }\n case 5: {\n return FLd(this, a, b, c2, d, this.i - BD(c2, 15).gc() > 0);\n }\n default: {\n return new pSd(this.e, a, this.c, b, c2, d, true);\n }\n }\n };\n _2.ij = function WTd() {\n return true;\n };\n _2.fj = function XTd() {\n return QTd(this);\n };\n _2.Xj = function aUd() {\n Uxd(this);\n };\n mdb(qte, \"EOperationImpl/2\", 1341);\n bcb(498, 1, { 1938: 1, 498: 1 }, bUd);\n mdb(qte, \"EPackageImpl/1\", 498);\n bcb(16, 85, Pve, cUd);\n _2.zk = function dUd() {\n return this.d;\n };\n _2.Ak = function eUd() {\n return this.b;\n };\n _2.Dk = function fUd() {\n return true;\n };\n _2.b = 0;\n mdb(yve, \"EObjectContainmentWithInverseEList\", 16);\n bcb(353, 16, Pve, gUd);\n _2.Ek = function hUd() {\n return true;\n };\n _2.li = function iUd(a, b) {\n return ILd(this, a, BD(b, 56));\n };\n mdb(yve, \"EObjectContainmentWithInverseEList/Resolving\", 353);\n bcb(298, 353, Pve, jUd);\n _2.ci = function kUd() {\n this.a.tb = null;\n };\n mdb(qte, \"EPackageImpl/2\", 298);\n bcb(1228, 1, {}, lUd);\n mdb(qte, \"EPackageImpl/3\", 1228);\n bcb(718, 43, fke, oUd);\n _2._b = function pUd(a) {\n return ND(a) ? Qhb(this, a) : !!irb(this.f, a);\n };\n mdb(qte, \"EPackageRegistryImpl\", 718);\n bcb(509, 284, { 105: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 2017: 1, 108: 1, 472: 1, 49: 1, 97: 1, 150: 1, 509: 1, 284: 1, 114: 1, 115: 1 }, rUd);\n _2.Qg = function sUd(a) {\n return qUd(this, a);\n };\n _2._g = function tUd(a, b, c2) {\n var d, e, f2;\n switch (a) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), this.Ab;\n case 1:\n return this.zb;\n case 2:\n return Bcb(), (this.Bb & 256) != 0 ? true : false;\n case 3:\n return Bcb(), (this.Bb & 512) != 0 ? true : false;\n case 4:\n return meb(this.s);\n case 5:\n return meb(this.t);\n case 6:\n return Bcb(), f2 = this.t, f2 > 1 || f2 == -1 ? true : false;\n case 7:\n return Bcb(), e = this.s, e >= 1 ? true : false;\n case 8:\n if (b)\n return wId(this);\n return this.r;\n case 9:\n return this.q;\n case 10:\n return this.Db >> 16 == 10 ? BD(this.Cb, 59) : null;\n }\n return bid(this, a - aLd((jGd(), dGd)), XKd((d = BD(Ajd(this, 16), 26), !d ? dGd : d), a), b, c2);\n };\n _2.hh = function uUd(a, b, c2) {\n var d, e, f2;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Sxd(this.Ab, a, c2);\n case 10:\n !!this.Cb && (c2 = (e = this.Db >> 16, e >= 0 ? qUd(this, c2) : this.Cb.ih(this, -1 - e, null, c2)));\n return _hd(this, a, 10, c2);\n }\n return f2 = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? (jGd(), dGd) : d), b), 66), f2.Nj().Qj(this, yjd(this), b - aLd((jGd(), dGd)), a, c2);\n };\n _2.jh = function vUd(a, b, c2) {\n var d, e;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Txd(this.Ab, a, c2);\n case 9:\n return vId(this, c2);\n case 10:\n return _hd(this, null, 10, c2);\n }\n return e = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? (jGd(), dGd) : d), b), 66), e.Nj().Rj(this, yjd(this), b - aLd((jGd(), dGd)), a, c2);\n };\n _2.lh = function wUd(a) {\n var b, c2, d;\n switch (a) {\n case 0:\n return !!this.Ab && this.Ab.i != 0;\n case 1:\n return this.zb != null;\n case 2:\n return (this.Bb & 256) == 0;\n case 3:\n return (this.Bb & 512) == 0;\n case 4:\n return this.s != 0;\n case 5:\n return this.t != 1;\n case 6:\n return d = this.t, d > 1 || d == -1;\n case 7:\n return c2 = this.s, c2 >= 1;\n case 8:\n return !!this.r && !this.q.e && LQd(this.q).i == 0;\n case 9:\n return !!this.q && !(!!this.r && !this.q.e && LQd(this.q).i == 0);\n case 10:\n return !!(this.Db >> 16 == 10 ? BD(this.Cb, 59) : null);\n }\n return cid(this, a - aLd((jGd(), dGd)), XKd((b = BD(Ajd(this, 16), 26), !b ? dGd : b), a));\n };\n _2.zh = function xUd() {\n return jGd(), dGd;\n };\n mdb(qte, \"EParameterImpl\", 509);\n bcb(99, 449, { 105: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 18: 1, 170: 1, 66: 1, 108: 1, 472: 1, 49: 1, 97: 1, 150: 1, 99: 1, 449: 1, 284: 1, 114: 1, 115: 1, 677: 1 }, FUd);\n _2._g = function GUd(a, b, c2) {\n var d, e, f2, g;\n switch (a) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), this.Ab;\n case 1:\n return this.zb;\n case 2:\n return Bcb(), (this.Bb & 256) != 0 ? true : false;\n case 3:\n return Bcb(), (this.Bb & 512) != 0 ? true : false;\n case 4:\n return meb(this.s);\n case 5:\n return meb(this.t);\n case 6:\n return Bcb(), g = this.t, g > 1 || g == -1 ? true : false;\n case 7:\n return Bcb(), e = this.s, e >= 1 ? true : false;\n case 8:\n if (b)\n return wId(this);\n return this.r;\n case 9:\n return this.q;\n case 10:\n return Bcb(), (this.Bb & zte) != 0 ? true : false;\n case 11:\n return Bcb(), (this.Bb & Dve) != 0 ? true : false;\n case 12:\n return Bcb(), (this.Bb & Rje) != 0 ? true : false;\n case 13:\n return this.j;\n case 14:\n return VId(this);\n case 15:\n return Bcb(), (this.Bb & Cve) != 0 ? true : false;\n case 16:\n return Bcb(), (this.Bb & oie) != 0 ? true : false;\n case 17:\n return WId(this);\n case 18:\n return Bcb(), (this.Bb & ote) != 0 ? true : false;\n case 19:\n return Bcb(), f2 = zUd(this), !!f2 && (f2.Bb & ote) != 0 ? true : false;\n case 20:\n return Bcb(), (this.Bb & Tje) != 0 ? true : false;\n case 21:\n if (b)\n return zUd(this);\n return this.b;\n case 22:\n if (b)\n return AUd(this);\n return yUd(this);\n case 23:\n return !this.a && (this.a = new _4d(b5, this, 23)), this.a;\n }\n return bid(this, a - aLd((jGd(), eGd)), XKd((d = BD(Ajd(this, 16), 26), !d ? eGd : d), a), b, c2);\n };\n _2.lh = function HUd(a) {\n var b, c2, d, e;\n switch (a) {\n case 0:\n return !!this.Ab && this.Ab.i != 0;\n case 1:\n return this.zb != null;\n case 2:\n return (this.Bb & 256) == 0;\n case 3:\n return (this.Bb & 512) == 0;\n case 4:\n return this.s != 0;\n case 5:\n return this.t != 1;\n case 6:\n return e = this.t, e > 1 || e == -1;\n case 7:\n return c2 = this.s, c2 >= 1;\n case 8:\n return !!this.r && !this.q.e && LQd(this.q).i == 0;\n case 9:\n return !!this.q && !(!!this.r && !this.q.e && LQd(this.q).i == 0);\n case 10:\n return (this.Bb & zte) == 0;\n case 11:\n return (this.Bb & Dve) != 0;\n case 12:\n return (this.Bb & Rje) != 0;\n case 13:\n return this.j != null;\n case 14:\n return VId(this) != null;\n case 15:\n return (this.Bb & Cve) != 0;\n case 16:\n return (this.Bb & oie) != 0;\n case 17:\n return !!WId(this);\n case 18:\n return (this.Bb & ote) != 0;\n case 19:\n return d = zUd(this), !!d && (d.Bb & ote) != 0;\n case 20:\n return (this.Bb & Tje) == 0;\n case 21:\n return !!this.b;\n case 22:\n return !!yUd(this);\n case 23:\n return !!this.a && this.a.i != 0;\n }\n return cid(this, a - aLd((jGd(), eGd)), XKd((b = BD(Ajd(this, 16), 26), !b ? eGd : b), a));\n };\n _2.sh = function IUd(a, b) {\n var c2, d;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n ytd(this.Ab, BD(b, 14));\n return;\n case 1:\n cJd(this, GD(b));\n return;\n case 2:\n BId(this, Ccb(DD(b)));\n return;\n case 3:\n CId(this, Ccb(DD(b)));\n return;\n case 4:\n AId(this, BD(b, 19).a);\n return;\n case 5:\n DId(this, BD(b, 19).a);\n return;\n case 8:\n yId(this, BD(b, 138));\n return;\n case 9:\n d = xId(this, BD(b, 87), null);\n !!d && d.Fi();\n return;\n case 10:\n ZId(this, Ccb(DD(b)));\n return;\n case 11:\n fJd(this, Ccb(DD(b)));\n return;\n case 12:\n dJd(this, Ccb(DD(b)));\n return;\n case 13:\n $Id(this, GD(b));\n return;\n case 15:\n eJd(this, Ccb(DD(b)));\n return;\n case 16:\n aJd(this, Ccb(DD(b)));\n return;\n case 18:\n BUd(this, Ccb(DD(b)));\n return;\n case 20:\n EUd(this, Ccb(DD(b)));\n return;\n case 21:\n DUd(this, BD(b, 18));\n return;\n case 23:\n !this.a && (this.a = new _4d(b5, this, 23));\n Uxd(this.a);\n !this.a && (this.a = new _4d(b5, this, 23));\n ytd(this.a, BD(b, 14));\n return;\n }\n did(this, a - aLd((jGd(), eGd)), XKd((c2 = BD(Ajd(this, 16), 26), !c2 ? eGd : c2), a), b);\n };\n _2.zh = function JUd() {\n return jGd(), eGd;\n };\n _2.Bh = function KUd(a) {\n var b, c2;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n return;\n case 1:\n JD(this.Cb, 88) && XMd($Kd(BD(this.Cb, 88)), 4);\n pnd(this, null);\n return;\n case 2:\n BId(this, true);\n return;\n case 3:\n CId(this, true);\n return;\n case 4:\n AId(this, 0);\n return;\n case 5:\n DId(this, 1);\n return;\n case 8:\n yId(this, null);\n return;\n case 9:\n c2 = xId(this, null, null);\n !!c2 && c2.Fi();\n return;\n case 10:\n ZId(this, true);\n return;\n case 11:\n fJd(this, false);\n return;\n case 12:\n dJd(this, false);\n return;\n case 13:\n this.i = null;\n _Id(this, null);\n return;\n case 15:\n eJd(this, false);\n return;\n case 16:\n aJd(this, false);\n return;\n case 18:\n CUd(this, false);\n JD(this.Cb, 88) && XMd($Kd(BD(this.Cb, 88)), 2);\n return;\n case 20:\n EUd(this, true);\n return;\n case 21:\n DUd(this, null);\n return;\n case 23:\n !this.a && (this.a = new _4d(b5, this, 23));\n Uxd(this.a);\n return;\n }\n eid(this, a - aLd((jGd(), eGd)), XKd((b = BD(Ajd(this, 16), 26), !b ? eGd : b), a));\n };\n _2.Gh = function LUd() {\n AUd(this);\n a2d(q1d((O6d(), M6d), this));\n wId(this);\n this.Bb |= 1;\n };\n _2.Lj = function MUd() {\n return zUd(this);\n };\n _2.qk = function NUd() {\n var a;\n return a = zUd(this), !!a && (a.Bb & ote) != 0;\n };\n _2.rk = function OUd() {\n return (this.Bb & ote) != 0;\n };\n _2.sk = function PUd() {\n return (this.Bb & Tje) != 0;\n };\n _2.nk = function QUd(a, b) {\n this.c = null;\n return zId(this, a, b);\n };\n _2.Ib = function RUd() {\n var a;\n if ((this.Db & 64) != 0)\n return gJd(this);\n a = new Jfb(gJd(this));\n a.a += \" (containment: \";\n Ffb(a, (this.Bb & ote) != 0);\n a.a += \", resolveProxies: \";\n Ffb(a, (this.Bb & Tje) != 0);\n a.a += \")\";\n return a.a;\n };\n mdb(qte, \"EReferenceImpl\", 99);\n bcb(548, 115, { 105: 1, 42: 1, 92: 1, 90: 1, 133: 1, 56: 1, 108: 1, 49: 1, 97: 1, 548: 1, 114: 1, 115: 1 }, XUd);\n _2.Fb = function bVd(a) {\n return this === a;\n };\n _2.cd = function dVd() {\n return this.b;\n };\n _2.dd = function eVd() {\n return this.c;\n };\n _2.Hb = function fVd() {\n return FCb(this);\n };\n _2.Uh = function hVd(a) {\n SUd(this, GD(a));\n };\n _2.ed = function iVd(a) {\n return WUd(this, GD(a));\n };\n _2._g = function YUd(a, b, c2) {\n var d;\n switch (a) {\n case 0:\n return this.b;\n case 1:\n return this.c;\n }\n return bid(this, a - aLd((jGd(), fGd)), XKd((d = BD(Ajd(this, 16), 26), !d ? fGd : d), a), b, c2);\n };\n _2.lh = function ZUd(a) {\n var b;\n switch (a) {\n case 0:\n return this.b != null;\n case 1:\n return this.c != null;\n }\n return cid(this, a - aLd((jGd(), fGd)), XKd((b = BD(Ajd(this, 16), 26), !b ? fGd : b), a));\n };\n _2.sh = function $Ud(a, b) {\n var c2;\n switch (a) {\n case 0:\n TUd(this, GD(b));\n return;\n case 1:\n VUd(this, GD(b));\n return;\n }\n did(this, a - aLd((jGd(), fGd)), XKd((c2 = BD(Ajd(this, 16), 26), !c2 ? fGd : c2), a), b);\n };\n _2.zh = function _Ud() {\n return jGd(), fGd;\n };\n _2.Bh = function aVd(a) {\n var b;\n switch (a) {\n case 0:\n UUd(this, null);\n return;\n case 1:\n VUd(this, null);\n return;\n }\n eid(this, a - aLd((jGd(), fGd)), XKd((b = BD(Ajd(this, 16), 26), !b ? fGd : b), a));\n };\n _2.Sh = function cVd() {\n var a;\n if (this.a == -1) {\n a = this.b;\n this.a = a == null ? 0 : LCb(a);\n }\n return this.a;\n };\n _2.Th = function gVd(a) {\n this.a = a;\n };\n _2.Ib = function jVd() {\n var a;\n if ((this.Db & 64) != 0)\n return Eid(this);\n a = new Jfb(Eid(this));\n a.a += \" (key: \";\n Efb(a, this.b);\n a.a += \", value: \";\n Efb(a, this.c);\n a.a += \")\";\n return a.a;\n };\n _2.a = -1;\n _2.b = null;\n _2.c = null;\n var x6 = mdb(qte, \"EStringToStringMapEntryImpl\", 548);\n var D9 = odb(yve, \"FeatureMap/Entry/Internal\");\n bcb(565, 1, Xve);\n _2.Ok = function mVd(a) {\n return this.Pk(BD(a, 49));\n };\n _2.Pk = function nVd(a) {\n return this.Ok(a);\n };\n _2.Fb = function oVd(a) {\n var b, c2;\n if (this === a) {\n return true;\n } else if (JD(a, 72)) {\n b = BD(a, 72);\n if (b.ak() == this.c) {\n c2 = this.dd();\n return c2 == null ? b.dd() == null : pb(c2, b.dd());\n } else {\n return false;\n }\n } else {\n return false;\n }\n };\n _2.ak = function pVd() {\n return this.c;\n };\n _2.Hb = function qVd() {\n var a;\n a = this.dd();\n return tb(this.c) ^ (a == null ? 0 : tb(a));\n };\n _2.Ib = function rVd() {\n var a, b;\n a = this.c;\n b = bKd(a.Hj()).Ph();\n a.ne();\n return (b != null && b.length != 0 ? b + \":\" + a.ne() : a.ne()) + \"=\" + this.dd();\n };\n mdb(qte, \"EStructuralFeatureImpl/BasicFeatureMapEntry\", 565);\n bcb(776, 565, Xve, uVd);\n _2.Pk = function vVd(a) {\n return new uVd(this.c, a);\n };\n _2.dd = function wVd() {\n return this.a;\n };\n _2.Qk = function xVd(a, b, c2) {\n return sVd(this, a, this.a, b, c2);\n };\n _2.Rk = function yVd(a, b, c2) {\n return tVd(this, a, this.a, b, c2);\n };\n mdb(qte, \"EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry\", 776);\n bcb(1314, 1, {}, zVd);\n _2.Pj = function AVd(a, b, c2, d, e) {\n var f2;\n f2 = BD(gid(a, this.b), 215);\n return f2.nl(this.a).Wj(d);\n };\n _2.Qj = function BVd(a, b, c2, d, e) {\n var f2;\n f2 = BD(gid(a, this.b), 215);\n return f2.el(this.a, d, e);\n };\n _2.Rj = function CVd(a, b, c2, d, e) {\n var f2;\n f2 = BD(gid(a, this.b), 215);\n return f2.fl(this.a, d, e);\n };\n _2.Sj = function DVd(a, b, c2) {\n var d;\n d = BD(gid(a, this.b), 215);\n return d.nl(this.a).fj();\n };\n _2.Tj = function EVd(a, b, c2, d) {\n var e;\n e = BD(gid(a, this.b), 215);\n e.nl(this.a).Wb(d);\n };\n _2.Uj = function FVd(a, b, c2) {\n return BD(gid(a, this.b), 215).nl(this.a);\n };\n _2.Vj = function GVd(a, b, c2) {\n var d;\n d = BD(gid(a, this.b), 215);\n d.nl(this.a).Xj();\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator\", 1314);\n bcb(89, 1, {}, IVd, JVd, KVd, LVd);\n _2.Pj = function MVd(a, b, c2, d, e) {\n var f2;\n f2 = b.Ch(c2);\n f2 == null && b.Dh(c2, f2 = HVd(this, a));\n if (!e) {\n switch (this.e) {\n case 50:\n case 41:\n return BD(f2, 589).sj();\n case 40:\n return BD(f2, 215).kl();\n }\n }\n return f2;\n };\n _2.Qj = function NVd(a, b, c2, d, e) {\n var f2, g;\n g = b.Ch(c2);\n g == null && b.Dh(c2, g = HVd(this, a));\n f2 = BD(g, 69).lk(d, e);\n return f2;\n };\n _2.Rj = function OVd(a, b, c2, d, e) {\n var f2;\n f2 = b.Ch(c2);\n f2 != null && (e = BD(f2, 69).mk(d, e));\n return e;\n };\n _2.Sj = function PVd(a, b, c2) {\n var d;\n d = b.Ch(c2);\n return d != null && BD(d, 76).fj();\n };\n _2.Tj = function QVd(a, b, c2, d) {\n var e;\n e = BD(b.Ch(c2), 76);\n !e && b.Dh(c2, e = HVd(this, a));\n e.Wb(d);\n };\n _2.Uj = function RVd(a, b, c2) {\n var d, e;\n e = b.Ch(c2);\n e == null && b.Dh(c2, e = HVd(this, a));\n if (JD(e, 76)) {\n return BD(e, 76);\n } else {\n d = BD(b.Ch(c2), 15);\n return new iYd(d);\n }\n };\n _2.Vj = function SVd(a, b, c2) {\n var d;\n d = BD(b.Ch(c2), 76);\n !d && b.Dh(c2, d = HVd(this, a));\n d.Xj();\n };\n _2.b = 0;\n _2.e = 0;\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateMany\", 89);\n bcb(504, 1, {});\n _2.Qj = function WVd(a, b, c2, d, e) {\n throw vbb(new bgb());\n };\n _2.Rj = function XVd(a, b, c2, d, e) {\n throw vbb(new bgb());\n };\n _2.Uj = function YVd(a, b, c2) {\n return new ZVd(this, a, b, c2);\n };\n var TVd;\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingle\", 504);\n bcb(1331, 1, zve, ZVd);\n _2.Wj = function $Vd(a) {\n return this.a.Pj(this.c, this.d, this.b, a, true);\n };\n _2.fj = function _Vd() {\n return this.a.Sj(this.c, this.d, this.b);\n };\n _2.Wb = function aWd(a) {\n this.a.Tj(this.c, this.d, this.b, a);\n };\n _2.Xj = function bWd() {\n this.a.Vj(this.c, this.d, this.b);\n };\n _2.b = 0;\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingle/1\", 1331);\n bcb(769, 504, {}, cWd);\n _2.Pj = function dWd(a, b, c2, d, e) {\n return Nid(a, a.eh(), a.Vg()) == this.b ? this.sk() && d ? aid(a) : a.eh() : null;\n };\n _2.Qj = function eWd(a, b, c2, d, e) {\n var f2, g;\n !!a.eh() && (e = (f2 = a.Vg(), f2 >= 0 ? a.Qg(e) : a.eh().ih(a, -1 - f2, null, e)));\n g = bLd(a.Tg(), this.e);\n return a.Sg(d, g, e);\n };\n _2.Rj = function fWd(a, b, c2, d, e) {\n var f2;\n f2 = bLd(a.Tg(), this.e);\n return a.Sg(null, f2, e);\n };\n _2.Sj = function gWd(a, b, c2) {\n var d;\n d = bLd(a.Tg(), this.e);\n return !!a.eh() && a.Vg() == d;\n };\n _2.Tj = function hWd(a, b, c2, d) {\n var e, f2, g, h, i3;\n if (d != null && !fKd(this.a, d)) {\n throw vbb(new Cdb(Yve + (JD(d, 56) ? gLd(BD(d, 56).Tg()) : idb(rb(d))) + Zve + this.a + \"'\"));\n }\n e = a.eh();\n g = bLd(a.Tg(), this.e);\n if (PD(d) !== PD(e) || a.Vg() != g && d != null) {\n if (p6d(a, BD(d, 56)))\n throw vbb(new Wdb(ste + a.Ib()));\n i3 = null;\n !!e && (i3 = (f2 = a.Vg(), f2 >= 0 ? a.Qg(i3) : a.eh().ih(a, -1 - f2, null, i3)));\n h = BD(d, 49);\n !!h && (i3 = h.gh(a, bLd(h.Tg(), this.b), null, i3));\n i3 = a.Sg(h, g, i3);\n !!i3 && i3.Fi();\n } else {\n a.Lg() && a.Mg() && Uhd(a, new nSd(a, 1, g, d, d));\n }\n };\n _2.Vj = function iWd(a, b, c2) {\n var d, e, f2, g;\n d = a.eh();\n if (d) {\n g = (e = a.Vg(), e >= 0 ? a.Qg(null) : a.eh().ih(a, -1 - e, null, null));\n f2 = bLd(a.Tg(), this.e);\n g = a.Sg(null, f2, g);\n !!g && g.Fi();\n } else {\n a.Lg() && a.Mg() && Uhd(a, new DSd(a, 1, this.e, null, null));\n }\n };\n _2.sk = function jWd() {\n return false;\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleContainer\", 769);\n bcb(1315, 769, {}, kWd);\n _2.sk = function lWd() {\n return true;\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving\", 1315);\n bcb(563, 504, {});\n _2.Pj = function oWd(a, b, c2, d, e) {\n var f2;\n return f2 = b.Ch(c2), f2 == null ? this.b : PD(f2) === PD(TVd) ? null : f2;\n };\n _2.Sj = function pWd(a, b, c2) {\n var d;\n d = b.Ch(c2);\n return d != null && (PD(d) === PD(TVd) || !pb(d, this.b));\n };\n _2.Tj = function qWd(a, b, c2, d) {\n var e, f2;\n if (a.Lg() && a.Mg()) {\n e = (f2 = b.Ch(c2), f2 == null ? this.b : PD(f2) === PD(TVd) ? null : f2);\n if (d == null) {\n if (this.c != null) {\n b.Dh(c2, null);\n d = this.b;\n } else\n this.b != null ? b.Dh(c2, TVd) : b.Dh(c2, null);\n } else {\n this.Sk(d);\n b.Dh(c2, d);\n }\n Uhd(a, this.d.Tk(a, 1, this.e, e, d));\n } else {\n if (d == null) {\n this.c != null ? b.Dh(c2, null) : this.b != null ? b.Dh(c2, TVd) : b.Dh(c2, null);\n } else {\n this.Sk(d);\n b.Dh(c2, d);\n }\n }\n };\n _2.Vj = function rWd(a, b, c2) {\n var d, e;\n if (a.Lg() && a.Mg()) {\n d = (e = b.Ch(c2), e == null ? this.b : PD(e) === PD(TVd) ? null : e);\n b.Eh(c2);\n Uhd(a, this.d.Tk(a, 1, this.e, d, this.b));\n } else {\n b.Eh(c2);\n }\n };\n _2.Sk = function sWd(a) {\n throw vbb(new Bdb());\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleData\", 563);\n bcb($ve, 1, {}, DWd);\n _2.Tk = function EWd(a, b, c2, d, e) {\n return new DSd(a, b, c2, d, e);\n };\n _2.Uk = function FWd(a, b, c2, d, e, f2) {\n return new FSd(a, b, c2, d, e, f2);\n };\n var tWd, uWd, vWd, wWd, xWd, yWd, zWd, AWd, BWd;\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator\", $ve);\n bcb(1332, $ve, {}, GWd);\n _2.Tk = function HWd(a, b, c2, d, e) {\n return new ISd(a, b, c2, Ccb(DD(d)), Ccb(DD(e)));\n };\n _2.Uk = function IWd(a, b, c2, d, e, f2) {\n return new JSd(a, b, c2, Ccb(DD(d)), Ccb(DD(e)), f2);\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1\", 1332);\n bcb(1333, $ve, {}, JWd);\n _2.Tk = function KWd(a, b, c2, d, e) {\n return new rSd(a, b, c2, BD(d, 217).a, BD(e, 217).a);\n };\n _2.Uk = function LWd(a, b, c2, d, e, f2) {\n return new sSd(a, b, c2, BD(d, 217).a, BD(e, 217).a, f2);\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2\", 1333);\n bcb(1334, $ve, {}, MWd);\n _2.Tk = function NWd(a, b, c2, d, e) {\n return new tSd(a, b, c2, BD(d, 172).a, BD(e, 172).a);\n };\n _2.Uk = function OWd(a, b, c2, d, e, f2) {\n return new uSd(a, b, c2, BD(d, 172).a, BD(e, 172).a, f2);\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3\", 1334);\n bcb(1335, $ve, {}, PWd);\n _2.Tk = function QWd(a, b, c2, d, e) {\n return new vSd(a, b, c2, Edb(ED(d)), Edb(ED(e)));\n };\n _2.Uk = function RWd(a, b, c2, d, e, f2) {\n return new wSd(a, b, c2, Edb(ED(d)), Edb(ED(e)), f2);\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4\", 1335);\n bcb(1336, $ve, {}, SWd);\n _2.Tk = function TWd(a, b, c2, d, e) {\n return new xSd(a, b, c2, BD(d, 155).a, BD(e, 155).a);\n };\n _2.Uk = function UWd(a, b, c2, d, e, f2) {\n return new ySd(a, b, c2, BD(d, 155).a, BD(e, 155).a, f2);\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5\", 1336);\n bcb(1337, $ve, {}, VWd);\n _2.Tk = function WWd(a, b, c2, d, e) {\n return new zSd(a, b, c2, BD(d, 19).a, BD(e, 19).a);\n };\n _2.Uk = function XWd(a, b, c2, d, e, f2) {\n return new ASd(a, b, c2, BD(d, 19).a, BD(e, 19).a, f2);\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6\", 1337);\n bcb(1338, $ve, {}, YWd);\n _2.Tk = function ZWd(a, b, c2, d, e) {\n return new BSd(a, b, c2, BD(d, 162).a, BD(e, 162).a);\n };\n _2.Uk = function $Wd(a, b, c2, d, e, f2) {\n return new CSd(a, b, c2, BD(d, 162).a, BD(e, 162).a, f2);\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7\", 1338);\n bcb(1339, $ve, {}, _Wd);\n _2.Tk = function aXd(a, b, c2, d, e) {\n return new GSd(a, b, c2, BD(d, 184).a, BD(e, 184).a);\n };\n _2.Uk = function bXd(a, b, c2, d, e, f2) {\n return new HSd(a, b, c2, BD(d, 184).a, BD(e, 184).a, f2);\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8\", 1339);\n bcb(1317, 563, {}, cXd);\n _2.Sk = function dXd(a) {\n if (!this.a.wj(a)) {\n throw vbb(new Cdb(Yve + rb(a) + Zve + this.a + \"'\"));\n }\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic\", 1317);\n bcb(1318, 563, {}, eXd);\n _2.Sk = function fXd(a) {\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic\", 1318);\n bcb(770, 563, {});\n _2.Sj = function gXd(a, b, c2) {\n var d;\n d = b.Ch(c2);\n return d != null;\n };\n _2.Tj = function hXd(a, b, c2, d) {\n var e, f2;\n if (a.Lg() && a.Mg()) {\n e = true;\n f2 = b.Ch(c2);\n if (f2 == null) {\n e = false;\n f2 = this.b;\n } else\n PD(f2) === PD(TVd) && (f2 = null);\n if (d == null) {\n if (this.c != null) {\n b.Dh(c2, null);\n d = this.b;\n } else {\n b.Dh(c2, TVd);\n }\n } else {\n this.Sk(d);\n b.Dh(c2, d);\n }\n Uhd(a, this.d.Uk(a, 1, this.e, f2, d, !e));\n } else {\n if (d == null) {\n this.c != null ? b.Dh(c2, null) : b.Dh(c2, TVd);\n } else {\n this.Sk(d);\n b.Dh(c2, d);\n }\n }\n };\n _2.Vj = function iXd(a, b, c2) {\n var d, e;\n if (a.Lg() && a.Mg()) {\n d = true;\n e = b.Ch(c2);\n if (e == null) {\n d = false;\n e = this.b;\n } else\n PD(e) === PD(TVd) && (e = null);\n b.Eh(c2);\n Uhd(a, this.d.Uk(a, 2, this.e, e, this.b, d));\n } else {\n b.Eh(c2);\n }\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable\", 770);\n bcb(1319, 770, {}, jXd);\n _2.Sk = function kXd(a) {\n if (!this.a.wj(a)) {\n throw vbb(new Cdb(Yve + rb(a) + Zve + this.a + \"'\"));\n }\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic\", 1319);\n bcb(1320, 770, {}, lXd);\n _2.Sk = function mXd(a) {\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic\", 1320);\n bcb(398, 504, {}, nXd);\n _2.Pj = function pXd(a, b, c2, d, e) {\n var f2, g, h, i3, j;\n j = b.Ch(c2);\n if (this.Kj() && PD(j) === PD(TVd)) {\n return null;\n } else if (this.sk() && d && j != null) {\n h = BD(j, 49);\n if (h.kh()) {\n i3 = xid(a, h);\n if (h != i3) {\n if (!fKd(this.a, i3)) {\n throw vbb(new Cdb(Yve + rb(i3) + Zve + this.a + \"'\"));\n }\n b.Dh(c2, j = i3);\n if (this.rk()) {\n f2 = BD(i3, 49);\n g = h.ih(a, !this.b ? -1 - bLd(a.Tg(), this.e) : bLd(h.Tg(), this.b), null, null);\n !f2.eh() && (g = f2.gh(a, !this.b ? -1 - bLd(a.Tg(), this.e) : bLd(f2.Tg(), this.b), null, g));\n !!g && g.Fi();\n }\n a.Lg() && a.Mg() && Uhd(a, new DSd(a, 9, this.e, h, i3));\n }\n }\n return j;\n } else {\n return j;\n }\n };\n _2.Qj = function qXd(a, b, c2, d, e) {\n var f2, g;\n g = b.Ch(c2);\n PD(g) === PD(TVd) && (g = null);\n b.Dh(c2, d);\n if (this.bj()) {\n if (PD(g) !== PD(d) && g != null) {\n f2 = BD(g, 49);\n e = f2.ih(a, bLd(f2.Tg(), this.b), null, e);\n }\n } else\n this.rk() && g != null && (e = BD(g, 49).ih(a, -1 - bLd(a.Tg(), this.e), null, e));\n if (a.Lg() && a.Mg()) {\n !e && (e = new Ixd(4));\n e.Ei(new DSd(a, 1, this.e, g, d));\n }\n return e;\n };\n _2.Rj = function rXd(a, b, c2, d, e) {\n var f2;\n f2 = b.Ch(c2);\n PD(f2) === PD(TVd) && (f2 = null);\n b.Eh(c2);\n if (a.Lg() && a.Mg()) {\n !e && (e = new Ixd(4));\n this.Kj() ? e.Ei(new DSd(a, 2, this.e, f2, null)) : e.Ei(new DSd(a, 1, this.e, f2, null));\n }\n return e;\n };\n _2.Sj = function sXd(a, b, c2) {\n var d;\n d = b.Ch(c2);\n return d != null;\n };\n _2.Tj = function tXd(a, b, c2, d) {\n var e, f2, g, h, i3;\n if (d != null && !fKd(this.a, d)) {\n throw vbb(new Cdb(Yve + (JD(d, 56) ? gLd(BD(d, 56).Tg()) : idb(rb(d))) + Zve + this.a + \"'\"));\n }\n i3 = b.Ch(c2);\n h = i3 != null;\n this.Kj() && PD(i3) === PD(TVd) && (i3 = null);\n g = null;\n if (this.bj()) {\n if (PD(i3) !== PD(d)) {\n if (i3 != null) {\n e = BD(i3, 49);\n g = e.ih(a, bLd(e.Tg(), this.b), null, g);\n }\n if (d != null) {\n e = BD(d, 49);\n g = e.gh(a, bLd(e.Tg(), this.b), null, g);\n }\n }\n } else if (this.rk()) {\n if (PD(i3) !== PD(d)) {\n i3 != null && (g = BD(i3, 49).ih(a, -1 - bLd(a.Tg(), this.e), null, g));\n d != null && (g = BD(d, 49).gh(a, -1 - bLd(a.Tg(), this.e), null, g));\n }\n }\n d == null && this.Kj() ? b.Dh(c2, TVd) : b.Dh(c2, d);\n if (a.Lg() && a.Mg()) {\n f2 = new FSd(a, 1, this.e, i3, d, this.Kj() && !h);\n if (!g) {\n Uhd(a, f2);\n } else {\n g.Ei(f2);\n g.Fi();\n }\n } else\n !!g && g.Fi();\n };\n _2.Vj = function uXd(a, b, c2) {\n var d, e, f2, g, h;\n h = b.Ch(c2);\n g = h != null;\n this.Kj() && PD(h) === PD(TVd) && (h = null);\n f2 = null;\n if (h != null) {\n if (this.bj()) {\n d = BD(h, 49);\n f2 = d.ih(a, bLd(d.Tg(), this.b), null, f2);\n } else\n this.rk() && (f2 = BD(h, 49).ih(a, -1 - bLd(a.Tg(), this.e), null, f2));\n }\n b.Eh(c2);\n if (a.Lg() && a.Mg()) {\n e = new FSd(a, this.Kj() ? 2 : 1, this.e, h, null, g);\n if (!f2) {\n Uhd(a, e);\n } else {\n f2.Ei(e);\n f2.Fi();\n }\n } else\n !!f2 && f2.Fi();\n };\n _2.bj = function vXd() {\n return false;\n };\n _2.rk = function wXd() {\n return false;\n };\n _2.sk = function xXd() {\n return false;\n };\n _2.Kj = function yXd() {\n return false;\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleEObject\", 398);\n bcb(564, 398, {}, zXd);\n _2.rk = function AXd() {\n return true;\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment\", 564);\n bcb(1323, 564, {}, BXd);\n _2.sk = function CXd() {\n return true;\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving\", 1323);\n bcb(772, 564, {}, DXd);\n _2.Kj = function EXd() {\n return true;\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable\", 772);\n bcb(1325, 772, {}, FXd);\n _2.sk = function GXd() {\n return true;\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving\", 1325);\n bcb(640, 564, {}, HXd);\n _2.bj = function IXd() {\n return true;\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse\", 640);\n bcb(1324, 640, {}, JXd);\n _2.sk = function KXd() {\n return true;\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving\", 1324);\n bcb(773, 640, {}, LXd);\n _2.Kj = function MXd() {\n return true;\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable\", 773);\n bcb(1326, 773, {}, NXd);\n _2.sk = function OXd() {\n return true;\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving\", 1326);\n bcb(641, 398, {}, PXd);\n _2.sk = function QXd() {\n return true;\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving\", 641);\n bcb(1327, 641, {}, RXd);\n _2.Kj = function SXd() {\n return true;\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable\", 1327);\n bcb(774, 641, {}, TXd);\n _2.bj = function UXd() {\n return true;\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse\", 774);\n bcb(1328, 774, {}, VXd);\n _2.Kj = function WXd() {\n return true;\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable\", 1328);\n bcb(1321, 398, {}, XXd);\n _2.Kj = function YXd() {\n return true;\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable\", 1321);\n bcb(771, 398, {}, ZXd);\n _2.bj = function $Xd() {\n return true;\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse\", 771);\n bcb(1322, 771, {}, _Xd);\n _2.Kj = function aYd() {\n return true;\n };\n mdb(qte, \"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable\", 1322);\n bcb(775, 565, Xve, dYd);\n _2.Pk = function eYd(a) {\n return new dYd(this.a, this.c, a);\n };\n _2.dd = function fYd() {\n return this.b;\n };\n _2.Qk = function gYd(a, b, c2) {\n return bYd(this, a, this.b, c2);\n };\n _2.Rk = function hYd(a, b, c2) {\n return cYd(this, a, this.b, c2);\n };\n mdb(qte, \"EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry\", 775);\n bcb(1329, 1, zve, iYd);\n _2.Wj = function jYd(a) {\n return this.a;\n };\n _2.fj = function kYd() {\n return JD(this.a, 95) ? BD(this.a, 95).fj() : !this.a.dc();\n };\n _2.Wb = function lYd(a) {\n this.a.$b();\n this.a.Gc(BD(a, 15));\n };\n _2.Xj = function mYd() {\n JD(this.a, 95) ? BD(this.a, 95).Xj() : this.a.$b();\n };\n mdb(qte, \"EStructuralFeatureImpl/SettingMany\", 1329);\n bcb(1330, 565, Xve, nYd);\n _2.Ok = function oYd(a) {\n return new sYd((Q8d(), P8d), this.b.Ih(this.a, a));\n };\n _2.dd = function pYd() {\n return null;\n };\n _2.Qk = function qYd(a, b, c2) {\n return c2;\n };\n _2.Rk = function rYd(a, b, c2) {\n return c2;\n };\n mdb(qte, \"EStructuralFeatureImpl/SimpleContentFeatureMapEntry\", 1330);\n bcb(642, 565, Xve, sYd);\n _2.Ok = function tYd(a) {\n return new sYd(this.c, a);\n };\n _2.dd = function uYd() {\n return this.a;\n };\n _2.Qk = function vYd(a, b, c2) {\n return c2;\n };\n _2.Rk = function wYd(a, b, c2) {\n return c2;\n };\n mdb(qte, \"EStructuralFeatureImpl/SimpleFeatureMapEntry\", 642);\n bcb(391, 497, oue, xYd);\n _2.ri = function yYd(a) {\n return KC(c5, Uhe, 26, a, 0, 1);\n };\n _2.ni = function zYd() {\n return false;\n };\n mdb(qte, \"ESuperAdapter/1\", 391);\n bcb(444, 438, { 105: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 108: 1, 836: 1, 49: 1, 97: 1, 150: 1, 444: 1, 114: 1, 115: 1 }, BYd);\n _2._g = function CYd(a, b, c2) {\n var d;\n switch (a) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), this.Ab;\n case 1:\n return this.zb;\n case 2:\n return !this.a && (this.a = new KYd(this, j5, this)), this.a;\n }\n return bid(this, a - aLd((jGd(), iGd)), XKd((d = BD(Ajd(this, 16), 26), !d ? iGd : d), a), b, c2);\n };\n _2.jh = function DYd(a, b, c2) {\n var d, e;\n switch (b) {\n case 0:\n return !this.Ab && (this.Ab = new cUd(a5, this, 0, 3)), Txd(this.Ab, a, c2);\n case 2:\n return !this.a && (this.a = new KYd(this, j5, this)), Txd(this.a, a, c2);\n }\n return e = BD(XKd((d = BD(Ajd(this, 16), 26), !d ? (jGd(), iGd) : d), b), 66), e.Nj().Rj(this, yjd(this), b - aLd((jGd(), iGd)), a, c2);\n };\n _2.lh = function EYd(a) {\n var b;\n switch (a) {\n case 0:\n return !!this.Ab && this.Ab.i != 0;\n case 1:\n return this.zb != null;\n case 2:\n return !!this.a && this.a.i != 0;\n }\n return cid(this, a - aLd((jGd(), iGd)), XKd((b = BD(Ajd(this, 16), 26), !b ? iGd : b), a));\n };\n _2.sh = function FYd(a, b) {\n var c2;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n ytd(this.Ab, BD(b, 14));\n return;\n case 1:\n pnd(this, GD(b));\n return;\n case 2:\n !this.a && (this.a = new KYd(this, j5, this));\n Uxd(this.a);\n !this.a && (this.a = new KYd(this, j5, this));\n ytd(this.a, BD(b, 14));\n return;\n }\n did(this, a - aLd((jGd(), iGd)), XKd((c2 = BD(Ajd(this, 16), 26), !c2 ? iGd : c2), a), b);\n };\n _2.zh = function GYd() {\n return jGd(), iGd;\n };\n _2.Bh = function HYd(a) {\n var b;\n switch (a) {\n case 0:\n !this.Ab && (this.Ab = new cUd(a5, this, 0, 3));\n Uxd(this.Ab);\n return;\n case 1:\n pnd(this, null);\n return;\n case 2:\n !this.a && (this.a = new KYd(this, j5, this));\n Uxd(this.a);\n return;\n }\n eid(this, a - aLd((jGd(), iGd)), XKd((b = BD(Ajd(this, 16), 26), !b ? iGd : b), a));\n };\n mdb(qte, \"ETypeParameterImpl\", 444);\n bcb(445, 85, Pve, KYd);\n _2.cj = function LYd(a, b) {\n return IYd(this, BD(a, 87), b);\n };\n _2.dj = function MYd(a, b) {\n return JYd(this, BD(a, 87), b);\n };\n mdb(qte, \"ETypeParameterImpl/1\", 445);\n bcb(634, 43, fke, NYd);\n _2.ec = function OYd() {\n return new RYd(this);\n };\n mdb(qte, \"ETypeParameterImpl/2\", 634);\n bcb(556, eie, fie, RYd);\n _2.Fc = function SYd(a) {\n return PYd(this, BD(a, 87));\n };\n _2.Gc = function TYd(a) {\n var b, c2, d;\n d = false;\n for (c2 = a.Kc(); c2.Ob(); ) {\n b = BD(c2.Pb(), 87);\n Rhb(this.a, b, \"\") == null && (d = true);\n }\n return d;\n };\n _2.$b = function UYd() {\n Uhb(this.a);\n };\n _2.Hc = function VYd(a) {\n return Mhb(this.a, a);\n };\n _2.Kc = function WYd() {\n var a;\n return a = new nib(new eib(this.a).a), new ZYd(a);\n };\n _2.Mc = function XYd(a) {\n return QYd(this, a);\n };\n _2.gc = function YYd() {\n return Vhb(this.a);\n };\n mdb(qte, \"ETypeParameterImpl/2/1\", 556);\n bcb(557, 1, aie, ZYd);\n _2.Nb = function $Yd(a) {\n Rrb(this, a);\n };\n _2.Pb = function aZd() {\n return BD(lib(this.a).cd(), 87);\n };\n _2.Ob = function _Yd() {\n return this.a.b;\n };\n _2.Qb = function bZd() {\n mib(this.a);\n };\n mdb(qte, \"ETypeParameterImpl/2/1/1\", 557);\n bcb(1276, 43, fke, cZd);\n _2._b = function dZd(a) {\n return ND(a) ? Qhb(this, a) : !!irb(this.f, a);\n };\n _2.xc = function eZd(a) {\n var b, c2;\n b = ND(a) ? Phb(this, a) : Wd(irb(this.f, a));\n if (JD(b, 837)) {\n c2 = BD(b, 837);\n b = c2._j();\n Rhb(this, BD(a, 235), b);\n return b;\n } else\n return b != null ? b : a == null ? (g5d(), f5d) : null;\n };\n mdb(qte, \"EValidatorRegistryImpl\", 1276);\n bcb(1313, 704, { 105: 1, 92: 1, 90: 1, 471: 1, 147: 1, 56: 1, 108: 1, 1941: 1, 49: 1, 97: 1, 150: 1, 114: 1, 115: 1 }, mZd);\n _2.Ih = function nZd(a, b) {\n switch (a.yj()) {\n case 21:\n case 22:\n case 23:\n case 24:\n case 26:\n case 31:\n case 32:\n case 37:\n case 38:\n case 39:\n case 40:\n case 43:\n case 44:\n case 48:\n case 49:\n case 20:\n return b == null ? null : fcb(b);\n case 25:\n return gZd(b);\n case 27:\n return hZd(b);\n case 28:\n return iZd(b);\n case 29:\n return b == null ? null : CQd(Pmd[0], BD(b, 199));\n case 41:\n return b == null ? \"\" : hdb(BD(b, 290));\n case 42:\n return fcb(b);\n case 50:\n return GD(b);\n default:\n throw vbb(new Wdb(tte + a.ne() + ute));\n }\n };\n _2.Jh = function oZd(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q;\n switch (a.G == -1 && (a.G = (m = bKd(a), m ? HLd(m.Mh(), a) : -1)), a.G) {\n case 0:\n return c2 = new OJd(), c2;\n case 1:\n return b = new RHd(), b;\n case 2:\n return d = new hLd(), d;\n case 4:\n return e = new MPd(), e;\n case 5:\n return f2 = new aQd(), f2;\n case 6:\n return g = new rQd(), g;\n case 7:\n return h = new $md(), h;\n case 10:\n return j = new MGd(), j;\n case 11:\n return k = new SSd(), k;\n case 12:\n return l = new eod(), l;\n case 13:\n return n = new rUd(), n;\n case 14:\n return o2 = new FUd(), o2;\n case 17:\n return p = new XUd(), p;\n case 18:\n return i3 = new UQd(), i3;\n case 19:\n return q = new BYd(), q;\n default:\n throw vbb(new Wdb(xte + a.zb + ute));\n }\n };\n _2.Kh = function pZd(a, b) {\n switch (a.yj()) {\n case 20:\n return b == null ? null : new tgb(b);\n case 21:\n return b == null ? null : new Ygb(b);\n case 23:\n case 22:\n return b == null ? null : fZd(b);\n case 26:\n case 24:\n return b == null ? null : Scb(Icb(b, -128, 127) << 24 >> 24);\n case 25:\n return Xmd(b);\n case 27:\n return jZd(b);\n case 28:\n return kZd(b);\n case 29:\n return lZd(b);\n case 32:\n case 31:\n return b == null ? null : Hcb(b);\n case 38:\n case 37:\n return b == null ? null : new Odb(b);\n case 40:\n case 39:\n return b == null ? null : meb(Icb(b, Rie, Ohe));\n case 41:\n return null;\n case 42:\n return b == null ? null : null;\n case 44:\n case 43:\n return b == null ? null : Aeb(Jcb(b));\n case 49:\n case 48:\n return b == null ? null : Web(Icb(b, awe, 32767) << 16 >> 16);\n case 50:\n return b;\n default:\n throw vbb(new Wdb(tte + a.ne() + ute));\n }\n };\n mdb(qte, \"EcoreFactoryImpl\", 1313);\n bcb(547, 179, { 105: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 235: 1, 108: 1, 1939: 1, 49: 1, 97: 1, 150: 1, 179: 1, 547: 1, 114: 1, 115: 1, 675: 1 }, AZd);\n _2.gb = false;\n _2.hb = false;\n var rZd, sZd = false;\n mdb(qte, \"EcorePackageImpl\", 547);\n bcb(1184, 1, { 837: 1 }, EZd);\n _2._j = function FZd() {\n return I6d(), H6d;\n };\n mdb(qte, \"EcorePackageImpl/1\", 1184);\n bcb(1193, 1, nwe, GZd);\n _2.wj = function HZd(a) {\n return JD(a, 147);\n };\n _2.xj = function IZd(a) {\n return KC(k5, Uhe, 147, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/10\", 1193);\n bcb(1194, 1, nwe, JZd);\n _2.wj = function KZd(a) {\n return JD(a, 191);\n };\n _2.xj = function LZd(a) {\n return KC(l5, Uhe, 191, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/11\", 1194);\n bcb(1195, 1, nwe, MZd);\n _2.wj = function NZd(a) {\n return JD(a, 56);\n };\n _2.xj = function OZd(a) {\n return KC(m5, Uhe, 56, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/12\", 1195);\n bcb(1196, 1, nwe, PZd);\n _2.wj = function QZd(a) {\n return JD(a, 399);\n };\n _2.xj = function RZd(a) {\n return KC(n5, Nve, 59, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/13\", 1196);\n bcb(1197, 1, nwe, SZd);\n _2.wj = function TZd(a) {\n return JD(a, 235);\n };\n _2.xj = function UZd(a) {\n return KC(o5, Uhe, 235, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/14\", 1197);\n bcb(1198, 1, nwe, VZd);\n _2.wj = function WZd(a) {\n return JD(a, 509);\n };\n _2.xj = function XZd(a) {\n return KC(p5, Uhe, 2017, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/15\", 1198);\n bcb(1199, 1, nwe, YZd);\n _2.wj = function ZZd(a) {\n return JD(a, 99);\n };\n _2.xj = function $Zd(a) {\n return KC(q5, Mve, 18, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/16\", 1199);\n bcb(1200, 1, nwe, _Zd);\n _2.wj = function a$d(a) {\n return JD(a, 170);\n };\n _2.xj = function b$d(a) {\n return KC(t5, Mve, 170, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/17\", 1200);\n bcb(1201, 1, nwe, c$d);\n _2.wj = function d$d(a) {\n return JD(a, 472);\n };\n _2.xj = function e$d(a) {\n return KC(v52, Uhe, 472, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/18\", 1201);\n bcb(1202, 1, nwe, f$d);\n _2.wj = function g$d(a) {\n return JD(a, 548);\n };\n _2.xj = function h$d(a) {\n return KC(x6, kve, 548, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/19\", 1202);\n bcb(1185, 1, nwe, i$d);\n _2.wj = function j$d(a) {\n return JD(a, 322);\n };\n _2.xj = function k$d(a) {\n return KC(b5, Mve, 34, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/2\", 1185);\n bcb(1203, 1, nwe, l$d);\n _2.wj = function m$d(a) {\n return JD(a, 241);\n };\n _2.xj = function n$d(a) {\n return KC(j5, Tve, 87, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/20\", 1203);\n bcb(1204, 1, nwe, o$d);\n _2.wj = function p$d(a) {\n return JD(a, 444);\n };\n _2.xj = function q$d(a) {\n return KC(u5, Uhe, 836, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/21\", 1204);\n bcb(1205, 1, nwe, r$d);\n _2.wj = function s$d(a) {\n return KD(a);\n };\n _2.xj = function t$d(a) {\n return KC(wI, nie, 476, a, 8, 1);\n };\n mdb(qte, \"EcorePackageImpl/22\", 1205);\n bcb(1206, 1, nwe, u$d);\n _2.wj = function v$d(a) {\n return JD(a, 190);\n };\n _2.xj = function w$d(a) {\n return KC(SD, nie, 190, a, 0, 2);\n };\n mdb(qte, \"EcorePackageImpl/23\", 1206);\n bcb(1207, 1, nwe, x$d);\n _2.wj = function y$d(a) {\n return JD(a, 217);\n };\n _2.xj = function z$d(a) {\n return KC(xI, nie, 217, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/24\", 1207);\n bcb(1208, 1, nwe, A$d);\n _2.wj = function B$d(a) {\n return JD(a, 172);\n };\n _2.xj = function C$d(a) {\n return KC(yI, nie, 172, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/25\", 1208);\n bcb(1209, 1, nwe, D$d);\n _2.wj = function E$d(a) {\n return JD(a, 199);\n };\n _2.xj = function F$d(a) {\n return KC($J, nie, 199, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/26\", 1209);\n bcb(1210, 1, nwe, G$d);\n _2.wj = function H$d(a) {\n return false;\n };\n _2.xj = function I$d(a) {\n return KC(O4, Uhe, 2110, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/27\", 1210);\n bcb(1211, 1, nwe, J$d);\n _2.wj = function K$d(a) {\n return LD(a);\n };\n _2.xj = function L$d(a) {\n return KC(BI, nie, 333, a, 7, 1);\n };\n mdb(qte, \"EcorePackageImpl/28\", 1211);\n bcb(1212, 1, nwe, M$d);\n _2.wj = function N$d(a) {\n return JD(a, 58);\n };\n _2.xj = function O$d(a) {\n return KC(T4, eme, 58, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/29\", 1212);\n bcb(1186, 1, nwe, P$d);\n _2.wj = function Q$d(a) {\n return JD(a, 510);\n };\n _2.xj = function R$d(a) {\n return KC(a5, { 3: 1, 4: 1, 5: 1, 1934: 1 }, 590, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/3\", 1186);\n bcb(1213, 1, nwe, S$d);\n _2.wj = function T$d(a) {\n return JD(a, 573);\n };\n _2.xj = function U$d(a) {\n return KC(U4, Uhe, 1940, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/30\", 1213);\n bcb(1214, 1, nwe, V$d);\n _2.wj = function W$d(a) {\n return JD(a, 153);\n };\n _2.xj = function X$d(a) {\n return KC(O9, eme, 153, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/31\", 1214);\n bcb(1215, 1, nwe, Y$d);\n _2.wj = function Z$d(a) {\n return JD(a, 72);\n };\n _2.xj = function $$d(a) {\n return KC(E9, owe, 72, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/32\", 1215);\n bcb(1216, 1, nwe, _$d);\n _2.wj = function a_d(a) {\n return JD(a, 155);\n };\n _2.xj = function b_d(a) {\n return KC(FI, nie, 155, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/33\", 1216);\n bcb(1217, 1, nwe, c_d);\n _2.wj = function d_d(a) {\n return JD(a, 19);\n };\n _2.xj = function e_d(a) {\n return KC(JI, nie, 19, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/34\", 1217);\n bcb(1218, 1, nwe, f_d);\n _2.wj = function g_d(a) {\n return JD(a, 290);\n };\n _2.xj = function h_d(a) {\n return KC(AI, Uhe, 290, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/35\", 1218);\n bcb(1219, 1, nwe, i_d);\n _2.wj = function j_d(a) {\n return JD(a, 162);\n };\n _2.xj = function k_d(a) {\n return KC(MI, nie, 162, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/36\", 1219);\n bcb(1220, 1, nwe, l_d);\n _2.wj = function m_d(a) {\n return JD(a, 83);\n };\n _2.xj = function n_d(a) {\n return KC(DK, Uhe, 83, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/37\", 1220);\n bcb(1221, 1, nwe, o_d);\n _2.wj = function p_d(a) {\n return JD(a, 591);\n };\n _2.xj = function q_d(a) {\n return KC(v8, Uhe, 591, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/38\", 1221);\n bcb(1222, 1, nwe, r_d);\n _2.wj = function s_d(a) {\n return false;\n };\n _2.xj = function t_d(a) {\n return KC(u8, Uhe, 2111, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/39\", 1222);\n bcb(1187, 1, nwe, u_d);\n _2.wj = function v_d(a) {\n return JD(a, 88);\n };\n _2.xj = function w_d(a) {\n return KC(c5, Uhe, 26, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/4\", 1187);\n bcb(1223, 1, nwe, x_d);\n _2.wj = function y_d(a) {\n return JD(a, 184);\n };\n _2.xj = function z_d(a) {\n return KC(UI, nie, 184, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/40\", 1223);\n bcb(1224, 1, nwe, A_d);\n _2.wj = function B_d(a) {\n return ND(a);\n };\n _2.xj = function C_d(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(qte, \"EcorePackageImpl/41\", 1224);\n bcb(1225, 1, nwe, D_d);\n _2.wj = function E_d(a) {\n return JD(a, 588);\n };\n _2.xj = function F_d(a) {\n return KC(X4, Uhe, 588, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/42\", 1225);\n bcb(1226, 1, nwe, G_d);\n _2.wj = function H_d(a) {\n return false;\n };\n _2.xj = function I_d(a) {\n return KC(V4, nie, 2112, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/43\", 1226);\n bcb(1227, 1, nwe, J_d);\n _2.wj = function K_d(a) {\n return JD(a, 42);\n };\n _2.xj = function L_d(a) {\n return KC(CK, zie, 42, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/44\", 1227);\n bcb(1188, 1, nwe, M_d);\n _2.wj = function N_d(a) {\n return JD(a, 138);\n };\n _2.xj = function O_d(a) {\n return KC(d5, Uhe, 138, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/5\", 1188);\n bcb(1189, 1, nwe, P_d);\n _2.wj = function Q_d(a) {\n return JD(a, 148);\n };\n _2.xj = function R_d(a) {\n return KC(f5, Uhe, 148, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/6\", 1189);\n bcb(1190, 1, nwe, S_d);\n _2.wj = function T_d(a) {\n return JD(a, 457);\n };\n _2.xj = function U_d(a) {\n return KC(h5, Uhe, 671, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/7\", 1190);\n bcb(1191, 1, nwe, V_d);\n _2.wj = function W_d(a) {\n return JD(a, 573);\n };\n _2.xj = function X_d(a) {\n return KC(g5, Uhe, 678, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/8\", 1191);\n bcb(1192, 1, nwe, Y_d);\n _2.wj = function Z_d(a) {\n return JD(a, 471);\n };\n _2.xj = function $_d(a) {\n return KC(i5, Uhe, 471, a, 0, 1);\n };\n mdb(qte, \"EcorePackageImpl/9\", 1192);\n bcb(1025, 1982, ive, c0d);\n _2.bi = function d0d(a, b) {\n __d(this, BD(b, 415));\n };\n _2.fi = function e0d(a, b) {\n a0d(this, a, BD(b, 415));\n };\n mdb(qte, \"MinimalEObjectImpl/1ArrayDelegatingAdapterList\", 1025);\n bcb(1026, 143, fve, f0d);\n _2.Ai = function g0d() {\n return this.a.a;\n };\n mdb(qte, \"MinimalEObjectImpl/1ArrayDelegatingAdapterList/1\", 1026);\n bcb(1053, 1052, {}, i0d);\n mdb(\"org.eclipse.emf.ecore.plugin\", \"EcorePlugin\", 1053);\n var v8 = odb(pwe, \"Resource\");\n bcb(781, 1378, qwe);\n _2.Yk = function m0d(a) {\n };\n _2.Zk = function n0d(a) {\n };\n _2.Vk = function o0d() {\n return !this.a && (this.a = new z0d(this)), this.a;\n };\n _2.Wk = function p0d(a) {\n var b, c2, d, e, f2;\n d = a.length;\n if (d > 0) {\n BCb(0, a.length);\n if (a.charCodeAt(0) == 47) {\n f2 = new Skb(4);\n e = 1;\n for (b = 1; b < d; ++b) {\n BCb(b, a.length);\n if (a.charCodeAt(b) == 47) {\n Ekb(f2, e == b ? \"\" : a.substr(e, b - e));\n e = b + 1;\n }\n }\n Ekb(f2, a.substr(e));\n return j0d(this, f2);\n } else {\n BCb(d - 1, a.length);\n if (a.charCodeAt(d - 1) == 63) {\n c2 = lfb(a, wfb(63), d - 2);\n c2 > 0 && (a = a.substr(0, c2));\n }\n }\n }\n return k0d(this, a);\n };\n _2.Xk = function q0d() {\n return this.c;\n };\n _2.Ib = function r0d() {\n var a;\n return hdb(this.gm) + \"@\" + (a = tb(this) >>> 0, a.toString(16)) + \" uri='\" + this.d + \"'\";\n };\n _2.b = false;\n mdb(rwe, \"ResourceImpl\", 781);\n bcb(1379, 781, qwe, s0d);\n mdb(rwe, \"BinaryResourceImpl\", 1379);\n bcb(1169, 694, pue);\n _2.si = function v0d(a) {\n return JD(a, 56) ? t0d(this, BD(a, 56)) : JD(a, 591) ? new Fyd(BD(a, 591).Vk()) : PD(a) === PD(this.f) ? BD(a, 14).Kc() : (LCd(), KCd.a);\n };\n _2.Ob = function w0d() {\n return u0d(this);\n };\n _2.a = false;\n mdb(yve, \"EcoreUtil/ContentTreeIterator\", 1169);\n bcb(1380, 1169, pue, x0d);\n _2.si = function y0d(a) {\n return PD(a) === PD(this.f) ? BD(a, 15).Kc() : new C6d(BD(a, 56));\n };\n mdb(rwe, \"ResourceImpl/5\", 1380);\n bcb(648, 1994, Ove, z0d);\n _2.Hc = function A0d(a) {\n return this.i <= 4 ? pud(this, a) : JD(a, 49) && BD(a, 49).Zg() == this.a;\n };\n _2.bi = function B0d(a, b) {\n a == this.i - 1 && (this.a.b || (this.a.b = true, null));\n };\n _2.di = function C0d(a, b) {\n a == 0 ? this.a.b || (this.a.b = true, null) : Atd(this, a, b);\n };\n _2.fi = function D0d(a, b) {\n };\n _2.gi = function E0d(a, b, c2) {\n };\n _2.aj = function F0d() {\n return 2;\n };\n _2.Ai = function G0d() {\n return this.a;\n };\n _2.bj = function H0d() {\n return true;\n };\n _2.cj = function I0d(a, b) {\n var c2;\n c2 = BD(a, 49);\n b = c2.wh(this.a, b);\n return b;\n };\n _2.dj = function J0d(a, b) {\n var c2;\n c2 = BD(a, 49);\n return c2.wh(null, b);\n };\n _2.ej = function K0d() {\n return false;\n };\n _2.hi = function L0d() {\n return true;\n };\n _2.ri = function M0d(a) {\n return KC(m5, Uhe, 56, a, 0, 1);\n };\n _2.ni = function N0d() {\n return false;\n };\n mdb(rwe, \"ResourceImpl/ContentsEList\", 648);\n bcb(957, 1964, Lie, O0d);\n _2.Zc = function P0d(a) {\n return this.a._h(a);\n };\n _2.gc = function Q0d() {\n return this.a.gc();\n };\n mdb(yve, \"AbstractSequentialInternalEList/1\", 957);\n var K6d, L6d, M6d, N6d;\n bcb(624, 1, {}, y1d);\n var R0d, S0d;\n mdb(yve, \"BasicExtendedMetaData\", 624);\n bcb(1160, 1, {}, C1d);\n _2.$k = function D1d() {\n return null;\n };\n _2._k = function E1d() {\n this.a == -2 && A1d(this, W0d(this.d, this.b));\n return this.a;\n };\n _2.al = function F1d() {\n return null;\n };\n _2.bl = function G1d() {\n return mmb(), mmb(), jmb;\n };\n _2.ne = function H1d() {\n this.c == Gwe && B1d(this, _0d(this.d, this.b));\n return this.c;\n };\n _2.cl = function I1d() {\n return 0;\n };\n _2.a = -2;\n _2.c = Gwe;\n mdb(yve, \"BasicExtendedMetaData/EClassExtendedMetaDataImpl\", 1160);\n bcb(1161, 1, {}, O1d);\n _2.$k = function P1d() {\n this.a == (T0d(), R0d) && J1d(this, V0d(this.f, this.b));\n return this.a;\n };\n _2._k = function Q1d() {\n return 0;\n };\n _2.al = function R1d() {\n this.c == (T0d(), R0d) && K1d(this, Z0d(this.f, this.b));\n return this.c;\n };\n _2.bl = function S1d() {\n !this.d && L1d(this, $0d(this.f, this.b));\n return this.d;\n };\n _2.ne = function T1d() {\n this.e == Gwe && M1d(this, _0d(this.f, this.b));\n return this.e;\n };\n _2.cl = function U1d() {\n this.g == -2 && N1d(this, c1d(this.f, this.b));\n return this.g;\n };\n _2.e = Gwe;\n _2.g = -2;\n mdb(yve, \"BasicExtendedMetaData/EDataTypeExtendedMetaDataImpl\", 1161);\n bcb(1159, 1, {}, Y1d);\n _2.b = false;\n _2.c = false;\n mdb(yve, \"BasicExtendedMetaData/EPackageExtendedMetaDataImpl\", 1159);\n bcb(1162, 1, {}, j2d);\n _2.c = -2;\n _2.e = Gwe;\n _2.f = Gwe;\n mdb(yve, \"BasicExtendedMetaData/EStructuralFeatureExtendedMetaDataImpl\", 1162);\n bcb(585, 622, Pve, k2d);\n _2.aj = function l2d() {\n return this.c;\n };\n _2.Fk = function m2d() {\n return false;\n };\n _2.li = function n2d(a, b) {\n return b;\n };\n _2.c = 0;\n mdb(yve, \"EDataTypeEList\", 585);\n var O9 = odb(yve, \"FeatureMap\");\n bcb(75, 585, { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 54: 1, 67: 1, 63: 1, 58: 1, 76: 1, 153: 1, 215: 1, 1937: 1, 69: 1, 95: 1 }, u3d);\n _2.Vc = function v3d(a, b) {\n o2d(this, a, BD(b, 72));\n };\n _2.Fc = function w3d(a) {\n return r2d(this, BD(a, 72));\n };\n _2.Yh = function B3d(a) {\n w2d(this, BD(a, 72));\n };\n _2.cj = function M3d(a, b) {\n return O2d(this, BD(a, 72), b);\n };\n _2.dj = function N3d(a, b) {\n return Q2d(this, BD(a, 72), b);\n };\n _2.ii = function P3d(a, b) {\n return W2d(this, a, b);\n };\n _2.li = function R3d(a, b) {\n return _2d(this, a, BD(b, 72));\n };\n _2._c = function T3d(a, b) {\n return c3d(this, a, BD(b, 72));\n };\n _2.jj = function X3d(a, b) {\n return i3d(this, BD(a, 72), b);\n };\n _2.kj = function Y3d(a, b) {\n return k3d(this, BD(a, 72), b);\n };\n _2.lj = function Z3d(a, b, c2) {\n return l3d(this, BD(a, 72), BD(b, 72), c2);\n };\n _2.oi = function _3d(a, b) {\n return t3d(this, a, BD(b, 72));\n };\n _2.dl = function x3d(a, b) {\n return q2d(this, a, b);\n };\n _2.Wc = function y3d(a, b) {\n var c2, d, e, f2, g, h, i3, j, k;\n j = new zud(b.gc());\n for (e = b.Kc(); e.Ob(); ) {\n d = BD(e.Pb(), 72);\n f2 = d.ak();\n if (T6d(this.e, f2)) {\n (!f2.hi() || !E2d(this, f2, d.dd()) && !pud(j, d)) && wtd(j, d);\n } else {\n k = S6d(this.e.Tg(), f2);\n c2 = BD(this.g, 119);\n g = true;\n for (h = 0; h < this.i; ++h) {\n i3 = c2[h];\n if (k.rl(i3.ak())) {\n BD(Gtd(this, h, d), 72);\n g = false;\n break;\n }\n }\n g && wtd(j, d);\n }\n }\n return xtd(this, a, j);\n };\n _2.Gc = function z3d(a) {\n var b, c2, d, e, f2, g, h, i3, j;\n i3 = new zud(a.gc());\n for (d = a.Kc(); d.Ob(); ) {\n c2 = BD(d.Pb(), 72);\n e = c2.ak();\n if (T6d(this.e, e)) {\n (!e.hi() || !E2d(this, e, c2.dd()) && !pud(i3, c2)) && wtd(i3, c2);\n } else {\n j = S6d(this.e.Tg(), e);\n b = BD(this.g, 119);\n f2 = true;\n for (g = 0; g < this.i; ++g) {\n h = b[g];\n if (j.rl(h.ak())) {\n BD(Gtd(this, g, c2), 72);\n f2 = false;\n break;\n }\n }\n f2 && wtd(i3, c2);\n }\n }\n return ytd(this, i3);\n };\n _2.Wh = function A3d(a) {\n this.j = -1;\n return Pxd(this, this.i, a);\n };\n _2.el = function C3d(a, b, c2) {\n return x2d(this, a, b, c2);\n };\n _2.mk = function D3d(a, b) {\n return B2d(this, a, b);\n };\n _2.fl = function E3d(a, b, c2) {\n return C2d(this, a, b, c2);\n };\n _2.gl = function F3d() {\n return this;\n };\n _2.hl = function G3d(a, b) {\n return K2d(this, a, b);\n };\n _2.il = function H3d(a) {\n return BD(qud(this, a), 72).ak();\n };\n _2.jl = function I3d(a) {\n return BD(qud(this, a), 72).dd();\n };\n _2.kl = function J3d() {\n return this.b;\n };\n _2.bj = function K3d() {\n return true;\n };\n _2.ij = function L3d() {\n return true;\n };\n _2.ll = function O3d(a) {\n return !R2d(this, a);\n };\n _2.ri = function Q3d(a) {\n return KC(D9, owe, 332, a, 0, 1);\n };\n _2.Gk = function S3d(a) {\n return a3d(this, a);\n };\n _2.Wb = function U3d(a) {\n d3d(this, a);\n };\n _2.ml = function V3d(a, b) {\n f3d(this, a, b);\n };\n _2.nl = function W3d(a) {\n return g3d(this, a);\n };\n _2.ol = function $3d(a) {\n s3d(this, a);\n };\n mdb(yve, \"BasicFeatureMap\", 75);\n bcb(1851, 1, jie);\n _2.Nb = function f4d(a) {\n Rrb(this, a);\n };\n _2.Rb = function e4d(b) {\n if (this.g == -1) {\n throw vbb(new Ydb());\n }\n a4d(this);\n try {\n p2d(this.e, this.b, this.a, b);\n this.d = this.e.j;\n d4d(this);\n } catch (a) {\n a = ubb(a);\n if (JD(a, 73)) {\n throw vbb(new Apb());\n } else\n throw vbb(a);\n }\n };\n _2.Ob = function g4d() {\n return b4d(this);\n };\n _2.Sb = function h4d() {\n return c4d(this);\n };\n _2.Pb = function i4d() {\n return d4d(this);\n };\n _2.Tb = function j4d() {\n return this.a;\n };\n _2.Ub = function k4d() {\n var a;\n if (c4d(this)) {\n a4d(this);\n this.g = --this.a;\n if (this.Lk()) {\n a = b3d(this.e, this.b, this.c, this.a, this.j);\n this.j = a;\n }\n this.i = 0;\n return this.j;\n } else {\n throw vbb(new utb());\n }\n };\n _2.Vb = function l4d() {\n return this.a - 1;\n };\n _2.Qb = function m4d() {\n if (this.g == -1) {\n throw vbb(new Ydb());\n }\n a4d(this);\n try {\n Z2d(this.e, this.b, this.g);\n this.d = this.e.j;\n if (this.g < this.a) {\n --this.a;\n --this.c;\n }\n --this.g;\n } catch (a) {\n a = ubb(a);\n if (JD(a, 73)) {\n throw vbb(new Apb());\n } else\n throw vbb(a);\n }\n };\n _2.Lk = function n4d() {\n return false;\n };\n _2.Wb = function o4d(b) {\n if (this.g == -1) {\n throw vbb(new Ydb());\n }\n a4d(this);\n try {\n e3d(this.e, this.b, this.g, b);\n this.d = this.e.j;\n } catch (a) {\n a = ubb(a);\n if (JD(a, 73)) {\n throw vbb(new Apb());\n } else\n throw vbb(a);\n }\n };\n _2.a = 0;\n _2.c = 0;\n _2.d = 0;\n _2.f = false;\n _2.g = 0;\n _2.i = 0;\n mdb(yve, \"FeatureMapUtil/BasicFeatureEIterator\", 1851);\n bcb(410, 1851, jie, p4d);\n _2.pl = function q4d() {\n var a, b, c2;\n c2 = this.e.i;\n a = BD(this.e.g, 119);\n while (this.c < c2) {\n b = a[this.c];\n if (this.k.rl(b.ak())) {\n this.j = this.f ? b : b.dd();\n this.i = 2;\n return true;\n }\n ++this.c;\n }\n this.i = 1;\n this.g = -1;\n return false;\n };\n _2.ql = function r4d() {\n var a, b;\n a = BD(this.e.g, 119);\n while (--this.c >= 0) {\n b = a[this.c];\n if (this.k.rl(b.ak())) {\n this.j = this.f ? b : b.dd();\n this.i = -2;\n return true;\n }\n }\n this.i = -1;\n this.g = -1;\n return false;\n };\n mdb(yve, \"BasicFeatureMap/FeatureEIterator\", 410);\n bcb(662, 410, jie, s4d);\n _2.Lk = function t4d() {\n return true;\n };\n mdb(yve, \"BasicFeatureMap/ResolvingFeatureEIterator\", 662);\n bcb(955, 486, Vve, u4d);\n _2.Gi = function v4d() {\n return this;\n };\n mdb(yve, \"EContentsEList/1\", 955);\n bcb(956, 486, Vve, w4d);\n _2.Lk = function x4d() {\n return false;\n };\n mdb(yve, \"EContentsEList/2\", 956);\n bcb(954, 279, Wve, y4d);\n _2.Nk = function z4d(a) {\n };\n _2.Ob = function A4d() {\n return false;\n };\n _2.Sb = function B4d() {\n return false;\n };\n mdb(yve, \"EContentsEList/FeatureIteratorImpl/1\", 954);\n bcb(825, 585, Pve, C4d);\n _2.ci = function D4d() {\n this.a = true;\n };\n _2.fj = function E4d() {\n return this.a;\n };\n _2.Xj = function F4d() {\n var a;\n Uxd(this);\n if (oid(this.e)) {\n a = this.a;\n this.a = false;\n Uhd(this.e, new qSd(this.e, 2, this.c, a, false));\n } else {\n this.a = false;\n }\n };\n _2.a = false;\n mdb(yve, \"EDataTypeEList/Unsettable\", 825);\n bcb(1849, 585, Pve, G4d);\n _2.hi = function H4d() {\n return true;\n };\n mdb(yve, \"EDataTypeUniqueEList\", 1849);\n bcb(1850, 825, Pve, I4d);\n _2.hi = function J4d() {\n return true;\n };\n mdb(yve, \"EDataTypeUniqueEList/Unsettable\", 1850);\n bcb(139, 85, Pve, K4d);\n _2.Ek = function L4d() {\n return true;\n };\n _2.li = function M4d(a, b) {\n return ILd(this, a, BD(b, 56));\n };\n mdb(yve, \"EObjectContainmentEList/Resolving\", 139);\n bcb(1163, 545, Pve, N4d);\n _2.Ek = function O4d() {\n return true;\n };\n _2.li = function P4d(a, b) {\n return ILd(this, a, BD(b, 56));\n };\n mdb(yve, \"EObjectContainmentEList/Unsettable/Resolving\", 1163);\n bcb(748, 16, Pve, Q4d);\n _2.ci = function R4d() {\n this.a = true;\n };\n _2.fj = function S4d() {\n return this.a;\n };\n _2.Xj = function T4d() {\n var a;\n Uxd(this);\n if (oid(this.e)) {\n a = this.a;\n this.a = false;\n Uhd(this.e, new qSd(this.e, 2, this.c, a, false));\n } else {\n this.a = false;\n }\n };\n _2.a = false;\n mdb(yve, \"EObjectContainmentWithInverseEList/Unsettable\", 748);\n bcb(1173, 748, Pve, U4d);\n _2.Ek = function V4d() {\n return true;\n };\n _2.li = function W4d(a, b) {\n return ILd(this, a, BD(b, 56));\n };\n mdb(yve, \"EObjectContainmentWithInverseEList/Unsettable/Resolving\", 1173);\n bcb(743, 496, Pve, X4d);\n _2.ci = function Y4d() {\n this.a = true;\n };\n _2.fj = function Z4d() {\n return this.a;\n };\n _2.Xj = function $4d() {\n var a;\n Uxd(this);\n if (oid(this.e)) {\n a = this.a;\n this.a = false;\n Uhd(this.e, new qSd(this.e, 2, this.c, a, false));\n } else {\n this.a = false;\n }\n };\n _2.a = false;\n mdb(yve, \"EObjectEList/Unsettable\", 743);\n bcb(328, 496, Pve, _4d);\n _2.Ek = function a5d() {\n return true;\n };\n _2.li = function b5d(a, b) {\n return ILd(this, a, BD(b, 56));\n };\n mdb(yve, \"EObjectResolvingEList\", 328);\n bcb(1641, 743, Pve, c5d);\n _2.Ek = function d5d() {\n return true;\n };\n _2.li = function e5d(a, b) {\n return ILd(this, a, BD(b, 56));\n };\n mdb(yve, \"EObjectResolvingEList/Unsettable\", 1641);\n bcb(1381, 1, {}, h5d);\n var f5d;\n mdb(yve, \"EObjectValidator\", 1381);\n bcb(546, 496, Pve, i5d);\n _2.zk = function j5d() {\n return this.d;\n };\n _2.Ak = function k5d() {\n return this.b;\n };\n _2.bj = function l5d() {\n return true;\n };\n _2.Dk = function m5d() {\n return true;\n };\n _2.b = 0;\n mdb(yve, \"EObjectWithInverseEList\", 546);\n bcb(1176, 546, Pve, n5d);\n _2.Ck = function o5d() {\n return true;\n };\n mdb(yve, \"EObjectWithInverseEList/ManyInverse\", 1176);\n bcb(625, 546, Pve, p5d);\n _2.ci = function q5d() {\n this.a = true;\n };\n _2.fj = function r5d() {\n return this.a;\n };\n _2.Xj = function s5d() {\n var a;\n Uxd(this);\n if (oid(this.e)) {\n a = this.a;\n this.a = false;\n Uhd(this.e, new qSd(this.e, 2, this.c, a, false));\n } else {\n this.a = false;\n }\n };\n _2.a = false;\n mdb(yve, \"EObjectWithInverseEList/Unsettable\", 625);\n bcb(1175, 625, Pve, t5d);\n _2.Ck = function u5d() {\n return true;\n };\n mdb(yve, \"EObjectWithInverseEList/Unsettable/ManyInverse\", 1175);\n bcb(749, 546, Pve, v5d);\n _2.Ek = function w5d() {\n return true;\n };\n _2.li = function x5d(a, b) {\n return ILd(this, a, BD(b, 56));\n };\n mdb(yve, \"EObjectWithInverseResolvingEList\", 749);\n bcb(31, 749, Pve, y5d);\n _2.Ck = function z5d() {\n return true;\n };\n mdb(yve, \"EObjectWithInverseResolvingEList/ManyInverse\", 31);\n bcb(750, 625, Pve, A5d);\n _2.Ek = function B5d() {\n return true;\n };\n _2.li = function C5d(a, b) {\n return ILd(this, a, BD(b, 56));\n };\n mdb(yve, \"EObjectWithInverseResolvingEList/Unsettable\", 750);\n bcb(1174, 750, Pve, D5d);\n _2.Ck = function E5d() {\n return true;\n };\n mdb(yve, \"EObjectWithInverseResolvingEList/Unsettable/ManyInverse\", 1174);\n bcb(1164, 622, Pve);\n _2.ai = function F5d() {\n return (this.b & 1792) == 0;\n };\n _2.ci = function G5d() {\n this.b |= 1;\n };\n _2.Bk = function H5d() {\n return (this.b & 4) != 0;\n };\n _2.bj = function I5d() {\n return (this.b & 40) != 0;\n };\n _2.Ck = function J5d() {\n return (this.b & 16) != 0;\n };\n _2.Dk = function K5d() {\n return (this.b & 8) != 0;\n };\n _2.Ek = function L5d() {\n return (this.b & Dve) != 0;\n };\n _2.rk = function M5d() {\n return (this.b & 32) != 0;\n };\n _2.Fk = function N5d() {\n return (this.b & zte) != 0;\n };\n _2.wj = function O5d(a) {\n return !this.d ? this.ak().Yj().wj(a) : qEd(this.d, a);\n };\n _2.fj = function P5d() {\n return (this.b & 2) != 0 ? (this.b & 1) != 0 : this.i != 0;\n };\n _2.hi = function Q5d() {\n return (this.b & 128) != 0;\n };\n _2.Xj = function S5d() {\n var a;\n Uxd(this);\n if ((this.b & 2) != 0) {\n if (oid(this.e)) {\n a = (this.b & 1) != 0;\n this.b &= -2;\n GLd(this, new qSd(this.e, 2, bLd(this.e.Tg(), this.ak()), a, false));\n } else {\n this.b &= -2;\n }\n }\n };\n _2.ni = function T5d() {\n return (this.b & 1536) == 0;\n };\n _2.b = 0;\n mdb(yve, \"EcoreEList/Generic\", 1164);\n bcb(1165, 1164, Pve, U5d);\n _2.ak = function V5d() {\n return this.a;\n };\n mdb(yve, \"EcoreEList/Dynamic\", 1165);\n bcb(747, 63, oue, W5d);\n _2.ri = function X5d(a) {\n return izd(this.a.a, a);\n };\n mdb(yve, \"EcoreEMap/1\", 747);\n bcb(746, 85, Pve, Y5d);\n _2.bi = function Z5d(a, b) {\n uAd(this.b, BD(b, 133));\n };\n _2.di = function $5d(a, b) {\n tAd(this.b);\n };\n _2.ei = function _5d(a, b, c2) {\n var d;\n ++(d = this.b, BD(b, 133), d).e;\n };\n _2.fi = function a6d(a, b) {\n vAd(this.b, BD(b, 133));\n };\n _2.gi = function b6d(a, b, c2) {\n vAd(this.b, BD(c2, 133));\n PD(c2) === PD(b) && BD(c2, 133).Th(CAd(BD(b, 133).cd()));\n uAd(this.b, BD(b, 133));\n };\n mdb(yve, \"EcoreEMap/DelegateEObjectContainmentEList\", 746);\n bcb(1171, 151, Ave, c6d);\n mdb(yve, \"EcoreEMap/Unsettable\", 1171);\n bcb(1172, 746, Pve, d6d);\n _2.ci = function e6d() {\n this.a = true;\n };\n _2.fj = function f6d() {\n return this.a;\n };\n _2.Xj = function g6d() {\n var a;\n Uxd(this);\n if (oid(this.e)) {\n a = this.a;\n this.a = false;\n Uhd(this.e, new qSd(this.e, 2, this.c, a, false));\n } else {\n this.a = false;\n }\n };\n _2.a = false;\n mdb(yve, \"EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList\", 1172);\n bcb(1168, 228, fke, A6d);\n _2.a = false;\n _2.b = false;\n mdb(yve, \"EcoreUtil/Copier\", 1168);\n bcb(745, 1, aie, C6d);\n _2.Nb = function D6d(a) {\n Rrb(this, a);\n };\n _2.Ob = function E6d() {\n return B6d(this);\n };\n _2.Pb = function F6d() {\n var a;\n B6d(this);\n a = this.b;\n this.b = null;\n return a;\n };\n _2.Qb = function G6d() {\n this.a.Qb();\n };\n mdb(yve, \"EcoreUtil/ProperContentIterator\", 745);\n bcb(1382, 1381, {}, J6d);\n var H6d;\n mdb(yve, \"EcoreValidator\", 1382);\n var P6d;\n odb(yve, \"FeatureMapUtil/Validator\");\n bcb(1260, 1, { 1942: 1 }, U6d);\n _2.rl = function V6d(a) {\n return true;\n };\n mdb(yve, \"FeatureMapUtil/1\", 1260);\n bcb(757, 1, { 1942: 1 }, Z6d);\n _2.rl = function $6d(a) {\n var b;\n if (this.c == a)\n return true;\n b = DD(Ohb(this.a, a));\n if (b == null) {\n if (Y6d(this, a)) {\n _6d(this.a, a, (Bcb(), Acb));\n return true;\n } else {\n _6d(this.a, a, (Bcb(), zcb));\n return false;\n }\n } else {\n return b == (Bcb(), Acb);\n }\n };\n _2.e = false;\n var W6d;\n mdb(yve, \"FeatureMapUtil/BasicValidator\", 757);\n bcb(758, 43, fke, a7d);\n mdb(yve, \"FeatureMapUtil/BasicValidator/Cache\", 758);\n bcb(501, 52, { 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 58: 1, 76: 1, 69: 1, 95: 1 }, f7d);\n _2.Vc = function g7d(a, b) {\n p2d(this.c, this.b, a, b);\n };\n _2.Fc = function h7d(a) {\n return q2d(this.c, this.b, a);\n };\n _2.Wc = function i7d(a, b) {\n return s2d(this.c, this.b, a, b);\n };\n _2.Gc = function j7d(a) {\n return b7d(this, a);\n };\n _2.Xh = function k7d(a, b) {\n u2d(this.c, this.b, a, b);\n };\n _2.lk = function l7d(a, b) {\n return x2d(this.c, this.b, a, b);\n };\n _2.pi = function m7d(a) {\n return J2d(this.c, this.b, a, false);\n };\n _2.Zh = function n7d() {\n return y2d(this.c, this.b);\n };\n _2.$h = function o7d() {\n return z2d(this.c, this.b);\n };\n _2._h = function p7d(a) {\n return A2d(this.c, this.b, a);\n };\n _2.mk = function q7d(a, b) {\n return c7d(this, a, b);\n };\n _2.$b = function r7d() {\n d7d(this);\n };\n _2.Hc = function s7d(a) {\n return E2d(this.c, this.b, a);\n };\n _2.Ic = function t7d(a) {\n return G2d(this.c, this.b, a);\n };\n _2.Xb = function u7d(a) {\n return J2d(this.c, this.b, a, true);\n };\n _2.Wj = function v7d(a) {\n return this;\n };\n _2.Xc = function w7d(a) {\n return L2d(this.c, this.b, a);\n };\n _2.dc = function x7d() {\n return e7d(this);\n };\n _2.fj = function y7d() {\n return !R2d(this.c, this.b);\n };\n _2.Kc = function z7d() {\n return S2d(this.c, this.b);\n };\n _2.Yc = function A7d() {\n return U2d(this.c, this.b);\n };\n _2.Zc = function B7d(a) {\n return V2d(this.c, this.b, a);\n };\n _2.ii = function C7d(a, b) {\n return X2d(this.c, this.b, a, b);\n };\n _2.ji = function D7d(a, b) {\n Y2d(this.c, this.b, a, b);\n };\n _2.$c = function E7d(a) {\n return Z2d(this.c, this.b, a);\n };\n _2.Mc = function F7d(a) {\n return $2d(this.c, this.b, a);\n };\n _2._c = function G7d(a, b) {\n return e3d(this.c, this.b, a, b);\n };\n _2.Wb = function H7d(a) {\n D2d(this.c, this.b);\n b7d(this, BD(a, 15));\n };\n _2.gc = function I7d() {\n return n3d(this.c, this.b);\n };\n _2.Pc = function J7d() {\n return o3d(this.c, this.b);\n };\n _2.Qc = function K7d(a) {\n return q3d(this.c, this.b, a);\n };\n _2.Ib = function L7d() {\n var a, b;\n b = new Hfb();\n b.a += \"[\";\n for (a = y2d(this.c, this.b); b4d(a); ) {\n Efb(b, xfb(d4d(a)));\n b4d(a) && (b.a += She, b);\n }\n b.a += \"]\";\n return b.a;\n };\n _2.Xj = function M7d() {\n D2d(this.c, this.b);\n };\n mdb(yve, \"FeatureMapUtil/FeatureEList\", 501);\n bcb(627, 36, fve, O7d);\n _2.yi = function P7d(a) {\n return N7d(this, a);\n };\n _2.Di = function Q7d(a) {\n var b, c2, d, e, f2, g, h;\n switch (this.d) {\n case 1:\n case 2: {\n f2 = a.Ai();\n if (PD(f2) === PD(this.c) && N7d(this, null) == a.yi(null)) {\n this.g = a.zi();\n a.xi() == 1 && (this.d = 1);\n return true;\n }\n break;\n }\n case 3: {\n e = a.xi();\n switch (e) {\n case 3: {\n f2 = a.Ai();\n if (PD(f2) === PD(this.c) && N7d(this, null) == a.yi(null)) {\n this.d = 5;\n b = new zud(2);\n wtd(b, this.g);\n wtd(b, a.zi());\n this.g = b;\n return true;\n }\n break;\n }\n }\n break;\n }\n case 5: {\n e = a.xi();\n switch (e) {\n case 3: {\n f2 = a.Ai();\n if (PD(f2) === PD(this.c) && N7d(this, null) == a.yi(null)) {\n c2 = BD(this.g, 14);\n c2.Fc(a.zi());\n return true;\n }\n break;\n }\n }\n break;\n }\n case 4: {\n e = a.xi();\n switch (e) {\n case 3: {\n f2 = a.Ai();\n if (PD(f2) === PD(this.c) && N7d(this, null) == a.yi(null)) {\n this.d = 1;\n this.g = a.zi();\n return true;\n }\n break;\n }\n case 4: {\n f2 = a.Ai();\n if (PD(f2) === PD(this.c) && N7d(this, null) == a.yi(null)) {\n this.d = 6;\n h = new zud(2);\n wtd(h, this.n);\n wtd(h, a.Bi());\n this.n = h;\n g = OC(GC(WD, 1), oje, 25, 15, [this.o, a.Ci()]);\n this.g = g;\n return true;\n }\n break;\n }\n }\n break;\n }\n case 6: {\n e = a.xi();\n switch (e) {\n case 4: {\n f2 = a.Ai();\n if (PD(f2) === PD(this.c) && N7d(this, null) == a.yi(null)) {\n c2 = BD(this.n, 14);\n c2.Fc(a.Bi());\n g = BD(this.g, 48);\n d = KC(WD, oje, 25, g.length + 1, 15, 1);\n $fb(g, 0, d, 0, g.length);\n d[g.length] = a.Ci();\n this.g = d;\n return true;\n }\n break;\n }\n }\n break;\n }\n }\n return false;\n };\n mdb(yve, \"FeatureMapUtil/FeatureENotificationImpl\", 627);\n bcb(552, 501, { 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 58: 1, 76: 1, 153: 1, 215: 1, 1937: 1, 69: 1, 95: 1 }, R7d);\n _2.dl = function S7d(a, b) {\n return q2d(this.c, a, b);\n };\n _2.el = function T7d(a, b, c2) {\n return x2d(this.c, a, b, c2);\n };\n _2.fl = function U7d(a, b, c2) {\n return C2d(this.c, a, b, c2);\n };\n _2.gl = function V7d() {\n return this;\n };\n _2.hl = function W7d(a, b) {\n return K2d(this.c, a, b);\n };\n _2.il = function X7d(a) {\n return BD(J2d(this.c, this.b, a, false), 72).ak();\n };\n _2.jl = function Y7d(a) {\n return BD(J2d(this.c, this.b, a, false), 72).dd();\n };\n _2.kl = function Z7d() {\n return this.a;\n };\n _2.ll = function $7d(a) {\n return !R2d(this.c, a);\n };\n _2.ml = function _7d(a, b) {\n f3d(this.c, a, b);\n };\n _2.nl = function a8d(a) {\n return g3d(this.c, a);\n };\n _2.ol = function b8d(a) {\n s3d(this.c, a);\n };\n mdb(yve, \"FeatureMapUtil/FeatureFeatureMap\", 552);\n bcb(1259, 1, zve, c8d);\n _2.Wj = function d8d(a) {\n return J2d(this.b, this.a, -1, a);\n };\n _2.fj = function e8d() {\n return !R2d(this.b, this.a);\n };\n _2.Wb = function f8d(a) {\n f3d(this.b, this.a, a);\n };\n _2.Xj = function g8d() {\n D2d(this.b, this.a);\n };\n mdb(yve, \"FeatureMapUtil/FeatureValue\", 1259);\n var h8d, i8d, j8d, k8d, l8d;\n var Q9 = odb(Iwe, \"AnyType\");\n bcb(666, 60, Tie, n8d);\n mdb(Iwe, \"InvalidDatatypeValueException\", 666);\n var S9 = odb(Iwe, Jwe);\n var T9 = odb(Iwe, Kwe);\n var U9 = odb(Iwe, Lwe);\n var o8d;\n var q8d;\n var s8d, t8d, u8d, v8d, w8d, x8d, y8d, z8d, A8d, B8d, C8d, D8d, E8d, F8d, G8d, H8d, I8d, J8d, K8d, L8d, M8d, N8d, O8d, P8d;\n bcb(830, 506, { 105: 1, 92: 1, 90: 1, 56: 1, 49: 1, 97: 1, 843: 1 }, R8d);\n _2._g = function S8d(a, b, c2) {\n switch (a) {\n case 0:\n if (c2)\n return !this.c && (this.c = new u3d(this, 0)), this.c;\n return !this.c && (this.c = new u3d(this, 0)), this.c.b;\n case 1:\n if (c2)\n return !this.c && (this.c = new u3d(this, 0)), BD(T2d(this.c, (Q8d(), t8d)), 153);\n return (!this.c && (this.c = new u3d(this, 0)), BD(BD(T2d(this.c, (Q8d(), t8d)), 153), 215)).kl();\n case 2:\n if (c2)\n return !this.b && (this.b = new u3d(this, 2)), this.b;\n return !this.b && (this.b = new u3d(this, 2)), this.b.b;\n }\n return bid(this, a - aLd(this.zh()), XKd((this.j & 2) == 0 ? this.zh() : (!this.k && (this.k = new HGd()), this.k).ck(), a), b, c2);\n };\n _2.jh = function T8d(a, b, c2) {\n var d;\n switch (b) {\n case 0:\n return !this.c && (this.c = new u3d(this, 0)), B2d(this.c, a, c2);\n case 1:\n return (!this.c && (this.c = new u3d(this, 0)), BD(BD(T2d(this.c, (Q8d(), t8d)), 153), 69)).mk(a, c2);\n case 2:\n return !this.b && (this.b = new u3d(this, 2)), B2d(this.b, a, c2);\n }\n return d = BD(XKd((this.j & 2) == 0 ? this.zh() : (!this.k && (this.k = new HGd()), this.k).ck(), b), 66), d.Nj().Rj(this, Aid(this), b - aLd(this.zh()), a, c2);\n };\n _2.lh = function U8d(a) {\n switch (a) {\n case 0:\n return !!this.c && this.c.i != 0;\n case 1:\n return !(!this.c && (this.c = new u3d(this, 0)), BD(T2d(this.c, (Q8d(), t8d)), 153)).dc();\n case 2:\n return !!this.b && this.b.i != 0;\n }\n return cid(this, a - aLd(this.zh()), XKd((this.j & 2) == 0 ? this.zh() : (!this.k && (this.k = new HGd()), this.k).ck(), a));\n };\n _2.sh = function V8d(a, b) {\n switch (a) {\n case 0:\n !this.c && (this.c = new u3d(this, 0));\n d3d(this.c, b);\n return;\n case 1:\n (!this.c && (this.c = new u3d(this, 0)), BD(BD(T2d(this.c, (Q8d(), t8d)), 153), 215)).Wb(b);\n return;\n case 2:\n !this.b && (this.b = new u3d(this, 2));\n d3d(this.b, b);\n return;\n }\n did(this, a - aLd(this.zh()), XKd((this.j & 2) == 0 ? this.zh() : (!this.k && (this.k = new HGd()), this.k).ck(), a), b);\n };\n _2.zh = function W8d() {\n return Q8d(), s8d;\n };\n _2.Bh = function X8d(a) {\n switch (a) {\n case 0:\n !this.c && (this.c = new u3d(this, 0));\n Uxd(this.c);\n return;\n case 1:\n (!this.c && (this.c = new u3d(this, 0)), BD(T2d(this.c, (Q8d(), t8d)), 153)).$b();\n return;\n case 2:\n !this.b && (this.b = new u3d(this, 2));\n Uxd(this.b);\n return;\n }\n eid(this, a - aLd(this.zh()), XKd((this.j & 2) == 0 ? this.zh() : (!this.k && (this.k = new HGd()), this.k).ck(), a));\n };\n _2.Ib = function Y8d() {\n var a;\n if ((this.j & 4) != 0)\n return Eid(this);\n a = new Jfb(Eid(this));\n a.a += \" (mixed: \";\n Dfb(a, this.c);\n a.a += \", anyAttribute: \";\n Dfb(a, this.b);\n a.a += \")\";\n return a.a;\n };\n mdb(Mwe, \"AnyTypeImpl\", 830);\n bcb(667, 506, { 105: 1, 92: 1, 90: 1, 56: 1, 49: 1, 97: 1, 2021: 1, 667: 1 }, _8d);\n _2._g = function a9d(a, b, c2) {\n switch (a) {\n case 0:\n return this.a;\n case 1:\n return this.b;\n }\n return bid(this, a - aLd((Q8d(), F8d)), XKd((this.j & 2) == 0 ? F8d : (!this.k && (this.k = new HGd()), this.k).ck(), a), b, c2);\n };\n _2.lh = function b9d(a) {\n switch (a) {\n case 0:\n return this.a != null;\n case 1:\n return this.b != null;\n }\n return cid(this, a - aLd((Q8d(), F8d)), XKd((this.j & 2) == 0 ? F8d : (!this.k && (this.k = new HGd()), this.k).ck(), a));\n };\n _2.sh = function c9d(a, b) {\n switch (a) {\n case 0:\n Z8d(this, GD(b));\n return;\n case 1:\n $8d(this, GD(b));\n return;\n }\n did(this, a - aLd((Q8d(), F8d)), XKd((this.j & 2) == 0 ? F8d : (!this.k && (this.k = new HGd()), this.k).ck(), a), b);\n };\n _2.zh = function d9d() {\n return Q8d(), F8d;\n };\n _2.Bh = function e9d(a) {\n switch (a) {\n case 0:\n this.a = null;\n return;\n case 1:\n this.b = null;\n return;\n }\n eid(this, a - aLd((Q8d(), F8d)), XKd((this.j & 2) == 0 ? F8d : (!this.k && (this.k = new HGd()), this.k).ck(), a));\n };\n _2.Ib = function f9d() {\n var a;\n if ((this.j & 4) != 0)\n return Eid(this);\n a = new Jfb(Eid(this));\n a.a += \" (data: \";\n Efb(a, this.a);\n a.a += \", target: \";\n Efb(a, this.b);\n a.a += \")\";\n return a.a;\n };\n _2.a = null;\n _2.b = null;\n mdb(Mwe, \"ProcessingInstructionImpl\", 667);\n bcb(668, 830, { 105: 1, 92: 1, 90: 1, 56: 1, 49: 1, 97: 1, 843: 1, 2022: 1, 668: 1 }, i9d);\n _2._g = function j9d(a, b, c2) {\n switch (a) {\n case 0:\n if (c2)\n return !this.c && (this.c = new u3d(this, 0)), this.c;\n return !this.c && (this.c = new u3d(this, 0)), this.c.b;\n case 1:\n if (c2)\n return !this.c && (this.c = new u3d(this, 0)), BD(T2d(this.c, (Q8d(), t8d)), 153);\n return (!this.c && (this.c = new u3d(this, 0)), BD(BD(T2d(this.c, (Q8d(), t8d)), 153), 215)).kl();\n case 2:\n if (c2)\n return !this.b && (this.b = new u3d(this, 2)), this.b;\n return !this.b && (this.b = new u3d(this, 2)), this.b.b;\n case 3:\n return !this.c && (this.c = new u3d(this, 0)), GD(K2d(this.c, (Q8d(), I8d), true));\n case 4:\n return j6d(this.a, (!this.c && (this.c = new u3d(this, 0)), GD(K2d(this.c, (Q8d(), I8d), true))));\n case 5:\n return this.a;\n }\n return bid(this, a - aLd((Q8d(), H8d)), XKd((this.j & 2) == 0 ? H8d : (!this.k && (this.k = new HGd()), this.k).ck(), a), b, c2);\n };\n _2.lh = function k9d(a) {\n switch (a) {\n case 0:\n return !!this.c && this.c.i != 0;\n case 1:\n return !(!this.c && (this.c = new u3d(this, 0)), BD(T2d(this.c, (Q8d(), t8d)), 153)).dc();\n case 2:\n return !!this.b && this.b.i != 0;\n case 3:\n return !this.c && (this.c = new u3d(this, 0)), GD(K2d(this.c, (Q8d(), I8d), true)) != null;\n case 4:\n return j6d(this.a, (!this.c && (this.c = new u3d(this, 0)), GD(K2d(this.c, (Q8d(), I8d), true)))) != null;\n case 5:\n return !!this.a;\n }\n return cid(this, a - aLd((Q8d(), H8d)), XKd((this.j & 2) == 0 ? H8d : (!this.k && (this.k = new HGd()), this.k).ck(), a));\n };\n _2.sh = function l9d(a, b) {\n switch (a) {\n case 0:\n !this.c && (this.c = new u3d(this, 0));\n d3d(this.c, b);\n return;\n case 1:\n (!this.c && (this.c = new u3d(this, 0)), BD(BD(T2d(this.c, (Q8d(), t8d)), 153), 215)).Wb(b);\n return;\n case 2:\n !this.b && (this.b = new u3d(this, 2));\n d3d(this.b, b);\n return;\n case 3:\n h9d(this, GD(b));\n return;\n case 4:\n h9d(this, h6d(this.a, b));\n return;\n case 5:\n g9d(this, BD(b, 148));\n return;\n }\n did(this, a - aLd((Q8d(), H8d)), XKd((this.j & 2) == 0 ? H8d : (!this.k && (this.k = new HGd()), this.k).ck(), a), b);\n };\n _2.zh = function m9d() {\n return Q8d(), H8d;\n };\n _2.Bh = function n9d(a) {\n switch (a) {\n case 0:\n !this.c && (this.c = new u3d(this, 0));\n Uxd(this.c);\n return;\n case 1:\n (!this.c && (this.c = new u3d(this, 0)), BD(T2d(this.c, (Q8d(), t8d)), 153)).$b();\n return;\n case 2:\n !this.b && (this.b = new u3d(this, 2));\n Uxd(this.b);\n return;\n case 3:\n !this.c && (this.c = new u3d(this, 0));\n f3d(this.c, (Q8d(), I8d), null);\n return;\n case 4:\n h9d(this, h6d(this.a, null));\n return;\n case 5:\n this.a = null;\n return;\n }\n eid(this, a - aLd((Q8d(), H8d)), XKd((this.j & 2) == 0 ? H8d : (!this.k && (this.k = new HGd()), this.k).ck(), a));\n };\n mdb(Mwe, \"SimpleAnyTypeImpl\", 668);\n bcb(669, 506, { 105: 1, 92: 1, 90: 1, 56: 1, 49: 1, 97: 1, 2023: 1, 669: 1 }, o9d);\n _2._g = function p9d(a, b, c2) {\n switch (a) {\n case 0:\n if (c2)\n return !this.a && (this.a = new u3d(this, 0)), this.a;\n return !this.a && (this.a = new u3d(this, 0)), this.a.b;\n case 1:\n return c2 ? (!this.b && (this.b = new dId((jGd(), fGd), x6, this, 1)), this.b) : (!this.b && (this.b = new dId((jGd(), fGd), x6, this, 1)), FAd(this.b));\n case 2:\n return c2 ? (!this.c && (this.c = new dId((jGd(), fGd), x6, this, 2)), this.c) : (!this.c && (this.c = new dId((jGd(), fGd), x6, this, 2)), FAd(this.c));\n case 3:\n return !this.a && (this.a = new u3d(this, 0)), T2d(this.a, (Q8d(), L8d));\n case 4:\n return !this.a && (this.a = new u3d(this, 0)), T2d(this.a, (Q8d(), M8d));\n case 5:\n return !this.a && (this.a = new u3d(this, 0)), T2d(this.a, (Q8d(), O8d));\n case 6:\n return !this.a && (this.a = new u3d(this, 0)), T2d(this.a, (Q8d(), P8d));\n }\n return bid(this, a - aLd((Q8d(), K8d)), XKd((this.j & 2) == 0 ? K8d : (!this.k && (this.k = new HGd()), this.k).ck(), a), b, c2);\n };\n _2.jh = function q9d(a, b, c2) {\n var d;\n switch (b) {\n case 0:\n return !this.a && (this.a = new u3d(this, 0)), B2d(this.a, a, c2);\n case 1:\n return !this.b && (this.b = new dId((jGd(), fGd), x6, this, 1)), bId(this.b, a, c2);\n case 2:\n return !this.c && (this.c = new dId((jGd(), fGd), x6, this, 2)), bId(this.c, a, c2);\n case 5:\n return !this.a && (this.a = new u3d(this, 0)), c7d(T2d(this.a, (Q8d(), O8d)), a, c2);\n }\n return d = BD(XKd((this.j & 2) == 0 ? (Q8d(), K8d) : (!this.k && (this.k = new HGd()), this.k).ck(), b), 66), d.Nj().Rj(this, Aid(this), b - aLd((Q8d(), K8d)), a, c2);\n };\n _2.lh = function r9d(a) {\n switch (a) {\n case 0:\n return !!this.a && this.a.i != 0;\n case 1:\n return !!this.b && this.b.f != 0;\n case 2:\n return !!this.c && this.c.f != 0;\n case 3:\n return !this.a && (this.a = new u3d(this, 0)), !e7d(T2d(this.a, (Q8d(), L8d)));\n case 4:\n return !this.a && (this.a = new u3d(this, 0)), !e7d(T2d(this.a, (Q8d(), M8d)));\n case 5:\n return !this.a && (this.a = new u3d(this, 0)), !e7d(T2d(this.a, (Q8d(), O8d)));\n case 6:\n return !this.a && (this.a = new u3d(this, 0)), !e7d(T2d(this.a, (Q8d(), P8d)));\n }\n return cid(this, a - aLd((Q8d(), K8d)), XKd((this.j & 2) == 0 ? K8d : (!this.k && (this.k = new HGd()), this.k).ck(), a));\n };\n _2.sh = function s9d(a, b) {\n switch (a) {\n case 0:\n !this.a && (this.a = new u3d(this, 0));\n d3d(this.a, b);\n return;\n case 1:\n !this.b && (this.b = new dId((jGd(), fGd), x6, this, 1));\n cId(this.b, b);\n return;\n case 2:\n !this.c && (this.c = new dId((jGd(), fGd), x6, this, 2));\n cId(this.c, b);\n return;\n case 3:\n !this.a && (this.a = new u3d(this, 0));\n d7d(T2d(this.a, (Q8d(), L8d)));\n !this.a && (this.a = new u3d(this, 0));\n b7d(T2d(this.a, L8d), BD(b, 14));\n return;\n case 4:\n !this.a && (this.a = new u3d(this, 0));\n d7d(T2d(this.a, (Q8d(), M8d)));\n !this.a && (this.a = new u3d(this, 0));\n b7d(T2d(this.a, M8d), BD(b, 14));\n return;\n case 5:\n !this.a && (this.a = new u3d(this, 0));\n d7d(T2d(this.a, (Q8d(), O8d)));\n !this.a && (this.a = new u3d(this, 0));\n b7d(T2d(this.a, O8d), BD(b, 14));\n return;\n case 6:\n !this.a && (this.a = new u3d(this, 0));\n d7d(T2d(this.a, (Q8d(), P8d)));\n !this.a && (this.a = new u3d(this, 0));\n b7d(T2d(this.a, P8d), BD(b, 14));\n return;\n }\n did(this, a - aLd((Q8d(), K8d)), XKd((this.j & 2) == 0 ? K8d : (!this.k && (this.k = new HGd()), this.k).ck(), a), b);\n };\n _2.zh = function t9d() {\n return Q8d(), K8d;\n };\n _2.Bh = function u9d(a) {\n switch (a) {\n case 0:\n !this.a && (this.a = new u3d(this, 0));\n Uxd(this.a);\n return;\n case 1:\n !this.b && (this.b = new dId((jGd(), fGd), x6, this, 1));\n this.b.c.$b();\n return;\n case 2:\n !this.c && (this.c = new dId((jGd(), fGd), x6, this, 2));\n this.c.c.$b();\n return;\n case 3:\n !this.a && (this.a = new u3d(this, 0));\n d7d(T2d(this.a, (Q8d(), L8d)));\n return;\n case 4:\n !this.a && (this.a = new u3d(this, 0));\n d7d(T2d(this.a, (Q8d(), M8d)));\n return;\n case 5:\n !this.a && (this.a = new u3d(this, 0));\n d7d(T2d(this.a, (Q8d(), O8d)));\n return;\n case 6:\n !this.a && (this.a = new u3d(this, 0));\n d7d(T2d(this.a, (Q8d(), P8d)));\n return;\n }\n eid(this, a - aLd((Q8d(), K8d)), XKd((this.j & 2) == 0 ? K8d : (!this.k && (this.k = new HGd()), this.k).ck(), a));\n };\n _2.Ib = function v9d() {\n var a;\n if ((this.j & 4) != 0)\n return Eid(this);\n a = new Jfb(Eid(this));\n a.a += \" (mixed: \";\n Dfb(a, this.a);\n a.a += \")\";\n return a.a;\n };\n mdb(Mwe, \"XMLTypeDocumentRootImpl\", 669);\n bcb(1919, 704, { 105: 1, 92: 1, 90: 1, 471: 1, 147: 1, 56: 1, 108: 1, 49: 1, 97: 1, 150: 1, 114: 1, 115: 1, 2024: 1 }, U9d);\n _2.Ih = function V9d(a, b) {\n switch (a.yj()) {\n case 7:\n case 8:\n case 9:\n case 10:\n case 16:\n case 22:\n case 23:\n case 24:\n case 25:\n case 26:\n case 32:\n case 33:\n case 34:\n case 36:\n case 37:\n case 44:\n case 45:\n case 50:\n case 51:\n case 53:\n case 55:\n case 56:\n case 57:\n case 58:\n case 60:\n case 61:\n case 4:\n return b == null ? null : fcb(b);\n case 19:\n case 28:\n case 29:\n case 35:\n case 38:\n case 39:\n case 41:\n case 46:\n case 52:\n case 54:\n case 5:\n return GD(b);\n case 6:\n return C9d(BD(b, 190));\n case 12:\n case 47:\n case 49:\n case 11:\n return Vmd(this, a, b);\n case 13:\n return b == null ? null : qgb(BD(b, 240));\n case 15:\n case 14:\n return b == null ? null : D9d(Edb(ED(b)));\n case 17:\n return E9d((Q8d(), b));\n case 18:\n return E9d(b);\n case 21:\n case 20:\n return b == null ? null : F9d(BD(b, 155).a);\n case 27:\n return G9d(BD(b, 190));\n case 30:\n return H9d((Q8d(), BD(b, 15)));\n case 31:\n return H9d(BD(b, 15));\n case 40:\n return K9d((Q8d(), b));\n case 42:\n return I9d((Q8d(), b));\n case 43:\n return I9d(b);\n case 59:\n case 48:\n return J9d((Q8d(), b));\n default:\n throw vbb(new Wdb(tte + a.ne() + ute));\n }\n };\n _2.Jh = function W9d(a) {\n var b, c2, d, e, f2;\n switch (a.G == -1 && (a.G = (c2 = bKd(a), c2 ? HLd(c2.Mh(), a) : -1)), a.G) {\n case 0:\n return b = new R8d(), b;\n case 1:\n return d = new _8d(), d;\n case 2:\n return e = new i9d(), e;\n case 3:\n return f2 = new o9d(), f2;\n default:\n throw vbb(new Wdb(xte + a.zb + ute));\n }\n };\n _2.Kh = function X9d(a, b) {\n var c2, d, e, f2, g, h, i3, j, k, l, m, n, o2, p, q, r;\n switch (a.yj()) {\n case 5:\n case 52:\n case 4:\n return b;\n case 6:\n return L9d(b);\n case 8:\n case 7:\n return b == null ? null : B9d(b);\n case 9:\n return b == null ? null : Scb(Icb((d = Qge(b, true), d.length > 0 && (BCb(0, d.length), d.charCodeAt(0) == 43) ? d.substr(1) : d), -128, 127) << 24 >> 24);\n case 10:\n return b == null ? null : Scb(Icb((e = Qge(b, true), e.length > 0 && (BCb(0, e.length), e.charCodeAt(0) == 43) ? e.substr(1) : e), -128, 127) << 24 >> 24);\n case 11:\n return GD(Wmd(this, (Q8d(), w8d), b));\n case 12:\n return GD(Wmd(this, (Q8d(), x8d), b));\n case 13:\n return b == null ? null : new tgb(Qge(b, true));\n case 15:\n case 14:\n return M9d(b);\n case 16:\n return GD(Wmd(this, (Q8d(), y8d), b));\n case 17:\n return N9d((Q8d(), b));\n case 18:\n return N9d(b);\n case 28:\n case 29:\n case 35:\n case 38:\n case 39:\n case 41:\n case 54:\n case 19:\n return Qge(b, true);\n case 21:\n case 20:\n return O9d(b);\n case 22:\n return GD(Wmd(this, (Q8d(), z8d), b));\n case 23:\n return GD(Wmd(this, (Q8d(), A8d), b));\n case 24:\n return GD(Wmd(this, (Q8d(), B8d), b));\n case 25:\n return GD(Wmd(this, (Q8d(), C8d), b));\n case 26:\n return GD(Wmd(this, (Q8d(), D8d), b));\n case 27:\n return P9d(b);\n case 30:\n return Q9d((Q8d(), b));\n case 31:\n return Q9d(b);\n case 32:\n return b == null ? null : meb(Icb((k = Qge(b, true), k.length > 0 && (BCb(0, k.length), k.charCodeAt(0) == 43) ? k.substr(1) : k), Rie, Ohe));\n case 33:\n return b == null ? null : new Ygb((l = Qge(b, true), l.length > 0 && (BCb(0, l.length), l.charCodeAt(0) == 43) ? l.substr(1) : l));\n case 34:\n return b == null ? null : meb(Icb((m = Qge(b, true), m.length > 0 && (BCb(0, m.length), m.charCodeAt(0) == 43) ? m.substr(1) : m), Rie, Ohe));\n case 36:\n return b == null ? null : Aeb(Jcb((n = Qge(b, true), n.length > 0 && (BCb(0, n.length), n.charCodeAt(0) == 43) ? n.substr(1) : n)));\n case 37:\n return b == null ? null : Aeb(Jcb((o2 = Qge(b, true), o2.length > 0 && (BCb(0, o2.length), o2.charCodeAt(0) == 43) ? o2.substr(1) : o2)));\n case 40:\n return T9d((Q8d(), b));\n case 42:\n return R9d((Q8d(), b));\n case 43:\n return R9d(b);\n case 44:\n return b == null ? null : new Ygb((p = Qge(b, true), p.length > 0 && (BCb(0, p.length), p.charCodeAt(0) == 43) ? p.substr(1) : p));\n case 45:\n return b == null ? null : new Ygb((q = Qge(b, true), q.length > 0 && (BCb(0, q.length), q.charCodeAt(0) == 43) ? q.substr(1) : q));\n case 46:\n return Qge(b, false);\n case 47:\n return GD(Wmd(this, (Q8d(), E8d), b));\n case 59:\n case 48:\n return S9d((Q8d(), b));\n case 49:\n return GD(Wmd(this, (Q8d(), G8d), b));\n case 50:\n return b == null ? null : Web(Icb((r = Qge(b, true), r.length > 0 && (BCb(0, r.length), r.charCodeAt(0) == 43) ? r.substr(1) : r), awe, 32767) << 16 >> 16);\n case 51:\n return b == null ? null : Web(Icb((f2 = Qge(b, true), f2.length > 0 && (BCb(0, f2.length), f2.charCodeAt(0) == 43) ? f2.substr(1) : f2), awe, 32767) << 16 >> 16);\n case 53:\n return GD(Wmd(this, (Q8d(), J8d), b));\n case 55:\n return b == null ? null : Web(Icb((g = Qge(b, true), g.length > 0 && (BCb(0, g.length), g.charCodeAt(0) == 43) ? g.substr(1) : g), awe, 32767) << 16 >> 16);\n case 56:\n return b == null ? null : Web(Icb((h = Qge(b, true), h.length > 0 && (BCb(0, h.length), h.charCodeAt(0) == 43) ? h.substr(1) : h), awe, 32767) << 16 >> 16);\n case 57:\n return b == null ? null : Aeb(Jcb((i3 = Qge(b, true), i3.length > 0 && (BCb(0, i3.length), i3.charCodeAt(0) == 43) ? i3.substr(1) : i3)));\n case 58:\n return b == null ? null : Aeb(Jcb((j = Qge(b, true), j.length > 0 && (BCb(0, j.length), j.charCodeAt(0) == 43) ? j.substr(1) : j)));\n case 60:\n return b == null ? null : meb(Icb((c2 = Qge(b, true), c2.length > 0 && (BCb(0, c2.length), c2.charCodeAt(0) == 43) ? c2.substr(1) : c2), Rie, Ohe));\n case 61:\n return b == null ? null : meb(Icb(Qge(b, true), Rie, Ohe));\n default:\n throw vbb(new Wdb(tte + a.ne() + ute));\n }\n };\n var w9d, x9d, y9d, z9d;\n mdb(Mwe, \"XMLTypeFactoryImpl\", 1919);\n bcb(586, 179, { 105: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 235: 1, 108: 1, 49: 1, 97: 1, 150: 1, 179: 1, 114: 1, 115: 1, 675: 1, 1945: 1, 586: 1 }, cae);\n _2.N = false;\n _2.O = false;\n var Z9d = false;\n mdb(Mwe, \"XMLTypePackageImpl\", 586);\n bcb(1852, 1, { 837: 1 }, fae);\n _2._j = function gae() {\n return Uge(), Tge;\n };\n mdb(Mwe, \"XMLTypePackageImpl/1\", 1852);\n bcb(1861, 1, nwe, hae);\n _2.wj = function iae(a) {\n return ND(a);\n };\n _2.xj = function jae(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/10\", 1861);\n bcb(1862, 1, nwe, kae);\n _2.wj = function lae(a) {\n return ND(a);\n };\n _2.xj = function mae(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/11\", 1862);\n bcb(1863, 1, nwe, nae);\n _2.wj = function oae(a) {\n return ND(a);\n };\n _2.xj = function pae(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/12\", 1863);\n bcb(1864, 1, nwe, qae);\n _2.wj = function rae(a) {\n return LD(a);\n };\n _2.xj = function sae(a) {\n return KC(BI, nie, 333, a, 7, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/13\", 1864);\n bcb(1865, 1, nwe, tae);\n _2.wj = function uae(a) {\n return ND(a);\n };\n _2.xj = function vae(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/14\", 1865);\n bcb(1866, 1, nwe, wae);\n _2.wj = function xae(a) {\n return JD(a, 15);\n };\n _2.xj = function yae(a) {\n return KC(yK, eme, 15, a, 0, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/15\", 1866);\n bcb(1867, 1, nwe, zae);\n _2.wj = function Aae(a) {\n return JD(a, 15);\n };\n _2.xj = function Bae(a) {\n return KC(yK, eme, 15, a, 0, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/16\", 1867);\n bcb(1868, 1, nwe, Cae);\n _2.wj = function Dae(a) {\n return ND(a);\n };\n _2.xj = function Eae(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/17\", 1868);\n bcb(1869, 1, nwe, Fae);\n _2.wj = function Gae(a) {\n return JD(a, 155);\n };\n _2.xj = function Hae(a) {\n return KC(FI, nie, 155, a, 0, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/18\", 1869);\n bcb(1870, 1, nwe, Iae);\n _2.wj = function Jae(a) {\n return ND(a);\n };\n _2.xj = function Kae(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/19\", 1870);\n bcb(1853, 1, nwe, Lae);\n _2.wj = function Mae(a) {\n return JD(a, 843);\n };\n _2.xj = function Nae(a) {\n return KC(Q9, Uhe, 843, a, 0, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/2\", 1853);\n bcb(1871, 1, nwe, Oae);\n _2.wj = function Pae(a) {\n return ND(a);\n };\n _2.xj = function Qae(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/20\", 1871);\n bcb(1872, 1, nwe, Rae);\n _2.wj = function Sae(a) {\n return ND(a);\n };\n _2.xj = function Tae(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/21\", 1872);\n bcb(1873, 1, nwe, Uae);\n _2.wj = function Vae(a) {\n return ND(a);\n };\n _2.xj = function Wae(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/22\", 1873);\n bcb(1874, 1, nwe, Xae);\n _2.wj = function Yae(a) {\n return ND(a);\n };\n _2.xj = function Zae(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/23\", 1874);\n bcb(1875, 1, nwe, $ae);\n _2.wj = function _ae(a) {\n return JD(a, 190);\n };\n _2.xj = function abe(a) {\n return KC(SD, nie, 190, a, 0, 2);\n };\n mdb(Mwe, \"XMLTypePackageImpl/24\", 1875);\n bcb(1876, 1, nwe, bbe);\n _2.wj = function cbe(a) {\n return ND(a);\n };\n _2.xj = function dbe(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/25\", 1876);\n bcb(1877, 1, nwe, ebe);\n _2.wj = function fbe(a) {\n return ND(a);\n };\n _2.xj = function gbe(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/26\", 1877);\n bcb(1878, 1, nwe, hbe);\n _2.wj = function ibe(a) {\n return JD(a, 15);\n };\n _2.xj = function jbe(a) {\n return KC(yK, eme, 15, a, 0, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/27\", 1878);\n bcb(1879, 1, nwe, kbe);\n _2.wj = function lbe(a) {\n return JD(a, 15);\n };\n _2.xj = function mbe(a) {\n return KC(yK, eme, 15, a, 0, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/28\", 1879);\n bcb(1880, 1, nwe, nbe);\n _2.wj = function obe(a) {\n return ND(a);\n };\n _2.xj = function pbe(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/29\", 1880);\n bcb(1854, 1, nwe, qbe);\n _2.wj = function rbe(a) {\n return JD(a, 667);\n };\n _2.xj = function sbe(a) {\n return KC(S9, Uhe, 2021, a, 0, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/3\", 1854);\n bcb(1881, 1, nwe, tbe);\n _2.wj = function ube(a) {\n return JD(a, 19);\n };\n _2.xj = function vbe(a) {\n return KC(JI, nie, 19, a, 0, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/30\", 1881);\n bcb(1882, 1, nwe, wbe);\n _2.wj = function xbe(a) {\n return ND(a);\n };\n _2.xj = function ybe(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/31\", 1882);\n bcb(1883, 1, nwe, zbe);\n _2.wj = function Abe(a) {\n return JD(a, 162);\n };\n _2.xj = function Bbe(a) {\n return KC(MI, nie, 162, a, 0, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/32\", 1883);\n bcb(1884, 1, nwe, Cbe);\n _2.wj = function Dbe(a) {\n return ND(a);\n };\n _2.xj = function Ebe(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/33\", 1884);\n bcb(1885, 1, nwe, Fbe);\n _2.wj = function Gbe(a) {\n return ND(a);\n };\n _2.xj = function Hbe(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/34\", 1885);\n bcb(1886, 1, nwe, Ibe);\n _2.wj = function Jbe(a) {\n return ND(a);\n };\n _2.xj = function Kbe(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/35\", 1886);\n bcb(1887, 1, nwe, Lbe);\n _2.wj = function Mbe(a) {\n return ND(a);\n };\n _2.xj = function Nbe(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/36\", 1887);\n bcb(1888, 1, nwe, Obe);\n _2.wj = function Pbe(a) {\n return JD(a, 15);\n };\n _2.xj = function Qbe(a) {\n return KC(yK, eme, 15, a, 0, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/37\", 1888);\n bcb(1889, 1, nwe, Rbe);\n _2.wj = function Sbe(a) {\n return JD(a, 15);\n };\n _2.xj = function Tbe(a) {\n return KC(yK, eme, 15, a, 0, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/38\", 1889);\n bcb(1890, 1, nwe, Ube);\n _2.wj = function Vbe(a) {\n return ND(a);\n };\n _2.xj = function Wbe(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/39\", 1890);\n bcb(1855, 1, nwe, Xbe);\n _2.wj = function Ybe(a) {\n return JD(a, 668);\n };\n _2.xj = function Zbe(a) {\n return KC(T9, Uhe, 2022, a, 0, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/4\", 1855);\n bcb(1891, 1, nwe, $be);\n _2.wj = function _be(a) {\n return ND(a);\n };\n _2.xj = function ace(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/40\", 1891);\n bcb(1892, 1, nwe, bce);\n _2.wj = function cce(a) {\n return ND(a);\n };\n _2.xj = function dce(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/41\", 1892);\n bcb(1893, 1, nwe, ece);\n _2.wj = function fce(a) {\n return ND(a);\n };\n _2.xj = function gce(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/42\", 1893);\n bcb(1894, 1, nwe, hce);\n _2.wj = function ice(a) {\n return ND(a);\n };\n _2.xj = function jce(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/43\", 1894);\n bcb(1895, 1, nwe, kce);\n _2.wj = function lce(a) {\n return ND(a);\n };\n _2.xj = function mce(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/44\", 1895);\n bcb(1896, 1, nwe, nce);\n _2.wj = function oce(a) {\n return JD(a, 184);\n };\n _2.xj = function pce(a) {\n return KC(UI, nie, 184, a, 0, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/45\", 1896);\n bcb(1897, 1, nwe, qce);\n _2.wj = function rce(a) {\n return ND(a);\n };\n _2.xj = function sce(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/46\", 1897);\n bcb(1898, 1, nwe, tce);\n _2.wj = function uce(a) {\n return ND(a);\n };\n _2.xj = function vce(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/47\", 1898);\n bcb(1899, 1, nwe, wce);\n _2.wj = function xce(a) {\n return ND(a);\n };\n _2.xj = function yce(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/48\", 1899);\n bcb(nje, 1, nwe, zce);\n _2.wj = function Ace(a) {\n return JD(a, 184);\n };\n _2.xj = function Bce(a) {\n return KC(UI, nie, 184, a, 0, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/49\", nje);\n bcb(1856, 1, nwe, Cce);\n _2.wj = function Dce(a) {\n return JD(a, 669);\n };\n _2.xj = function Ece(a) {\n return KC(U9, Uhe, 2023, a, 0, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/5\", 1856);\n bcb(1901, 1, nwe, Fce);\n _2.wj = function Gce(a) {\n return JD(a, 162);\n };\n _2.xj = function Hce(a) {\n return KC(MI, nie, 162, a, 0, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/50\", 1901);\n bcb(1902, 1, nwe, Ice);\n _2.wj = function Jce(a) {\n return ND(a);\n };\n _2.xj = function Kce(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/51\", 1902);\n bcb(1903, 1, nwe, Lce);\n _2.wj = function Mce(a) {\n return JD(a, 19);\n };\n _2.xj = function Nce(a) {\n return KC(JI, nie, 19, a, 0, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/52\", 1903);\n bcb(1857, 1, nwe, Oce);\n _2.wj = function Pce(a) {\n return ND(a);\n };\n _2.xj = function Qce(a) {\n return KC(ZI, nie, 2, a, 6, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/6\", 1857);\n bcb(1858, 1, nwe, Rce);\n _2.wj = function Sce(a) {\n return JD(a, 190);\n };\n _2.xj = function Tce(a) {\n return KC(SD, nie, 190, a, 0, 2);\n };\n mdb(Mwe, \"XMLTypePackageImpl/7\", 1858);\n bcb(1859, 1, nwe, Uce);\n _2.wj = function Vce(a) {\n return KD(a);\n };\n _2.xj = function Wce(a) {\n return KC(wI, nie, 476, a, 8, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/8\", 1859);\n bcb(1860, 1, nwe, Xce);\n _2.wj = function Yce(a) {\n return JD(a, 217);\n };\n _2.xj = function Zce(a) {\n return KC(xI, nie, 217, a, 0, 1);\n };\n mdb(Mwe, \"XMLTypePackageImpl/9\", 1860);\n var $ce, _ce;\n var fde, gde;\n var kde;\n bcb(50, 60, Tie, mde);\n mdb(kxe, \"RegEx/ParseException\", 50);\n bcb(820, 1, {}, ude);\n _2.sl = function vde(a) {\n return a < this.j && bfb(this.i, a) == 63;\n };\n _2.tl = function wde() {\n var a, b, c2, d, e;\n if (this.c != 10)\n throw vbb(new mde(tvd((h0d(), uue))));\n a = this.a;\n switch (a) {\n case 101:\n a = 27;\n break;\n case 102:\n a = 12;\n break;\n case 110:\n a = 10;\n break;\n case 114:\n a = 13;\n break;\n case 116:\n a = 9;\n break;\n case 120:\n nde(this);\n if (this.c != 0)\n throw vbb(new mde(tvd((h0d(), Tue))));\n if (this.a == 123) {\n e = 0;\n c2 = 0;\n do {\n nde(this);\n if (this.c != 0)\n throw vbb(new mde(tvd((h0d(), Tue))));\n if ((e = yde(this.a)) < 0)\n break;\n if (c2 > c2 * 16)\n throw vbb(new mde(tvd((h0d(), Uue))));\n c2 = c2 * 16 + e;\n } while (true);\n if (this.a != 125)\n throw vbb(new mde(tvd((h0d(), Vue))));\n if (c2 > lxe)\n throw vbb(new mde(tvd((h0d(), Wue))));\n a = c2;\n } else {\n e = 0;\n if (this.c != 0 || (e = yde(this.a)) < 0)\n throw vbb(new mde(tvd((h0d(), Tue))));\n c2 = e;\n nde(this);\n if (this.c != 0 || (e = yde(this.a)) < 0)\n throw vbb(new mde(tvd((h0d(), Tue))));\n c2 = c2 * 16 + e;\n a = c2;\n }\n break;\n case 117:\n d = 0;\n nde(this);\n if (this.c != 0 || (d = yde(this.a)) < 0)\n throw vbb(new mde(tvd((h0d(), Tue))));\n b = d;\n nde(this);\n if (this.c != 0 || (d = yde(this.a)) < 0)\n throw vbb(new mde(tvd((h0d(), Tue))));\n b = b * 16 + d;\n nde(this);\n if (this.c != 0 || (d = yde(this.a)) < 0)\n throw vbb(new mde(tvd((h0d(), Tue))));\n b = b * 16 + d;\n nde(this);\n if (this.c != 0 || (d = yde(this.a)) < 0)\n throw vbb(new mde(tvd((h0d(), Tue))));\n b = b * 16 + d;\n a = b;\n break;\n case 118:\n nde(this);\n if (this.c != 0 || (d = yde(this.a)) < 0)\n throw vbb(new mde(tvd((h0d(), Tue))));\n b = d;\n nde(this);\n if (this.c != 0 || (d = yde(this.a)) < 0)\n throw vbb(new mde(tvd((h0d(), Tue))));\n b = b * 16 + d;\n nde(this);\n if (this.c != 0 || (d = yde(this.a)) < 0)\n throw vbb(new mde(tvd((h0d(), Tue))));\n b = b * 16 + d;\n nde(this);\n if (this.c != 0 || (d = yde(this.a)) < 0)\n throw vbb(new mde(tvd((h0d(), Tue))));\n b = b * 16 + d;\n nde(this);\n if (this.c != 0 || (d = yde(this.a)) < 0)\n throw vbb(new mde(tvd((h0d(), Tue))));\n b = b * 16 + d;\n nde(this);\n if (this.c != 0 || (d = yde(this.a)) < 0)\n throw vbb(new mde(tvd((h0d(), Tue))));\n b = b * 16 + d;\n if (b > lxe)\n throw vbb(new mde(tvd((h0d(), \"parser.descappe.4\"))));\n a = b;\n break;\n case 65:\n case 90:\n case 122:\n throw vbb(new mde(tvd((h0d(), Xue))));\n }\n return a;\n };\n _2.ul = function xde(a) {\n var b, c2;\n switch (a) {\n case 100:\n c2 = (this.e & 32) == 32 ? Kfe(\"Nd\", true) : (wfe(), cfe);\n break;\n case 68:\n c2 = (this.e & 32) == 32 ? Kfe(\"Nd\", false) : (wfe(), jfe);\n break;\n case 119:\n c2 = (this.e & 32) == 32 ? Kfe(\"IsWord\", true) : (wfe(), sfe);\n break;\n case 87:\n c2 = (this.e & 32) == 32 ? Kfe(\"IsWord\", false) : (wfe(), lfe);\n break;\n case 115:\n c2 = (this.e & 32) == 32 ? Kfe(\"IsSpace\", true) : (wfe(), nfe);\n break;\n case 83:\n c2 = (this.e & 32) == 32 ? Kfe(\"IsSpace\", false) : (wfe(), kfe);\n break;\n default:\n throw vbb(new hz((b = a, mxe + b.toString(16))));\n }\n return c2;\n };\n _2.vl = function zde(a) {\n var b, c2, d, e, f2, g, h, i3, j, k, l, m;\n this.b = 1;\n nde(this);\n b = null;\n if (this.c == 0 && this.a == 94) {\n nde(this);\n if (a) {\n k = (wfe(), wfe(), new $fe(5));\n } else {\n b = (wfe(), wfe(), new $fe(4));\n Ufe(b, 0, lxe);\n k = new $fe(4);\n }\n } else {\n k = (wfe(), wfe(), new $fe(4));\n }\n e = true;\n while ((m = this.c) != 1) {\n if (m == 0 && this.a == 93 && !e)\n break;\n e = false;\n c2 = this.a;\n d = false;\n if (m == 10) {\n switch (c2) {\n case 100:\n case 68:\n case 119:\n case 87:\n case 115:\n case 83:\n Xfe(k, this.ul(c2));\n d = true;\n break;\n case 105:\n case 73:\n case 99:\n case 67:\n c2 = this.Ll(k, c2);\n c2 < 0 && (d = true);\n break;\n case 112:\n case 80:\n l = tde(this, c2);\n if (!l)\n throw vbb(new mde(tvd((h0d(), Iue))));\n Xfe(k, l);\n d = true;\n break;\n default:\n c2 = this.tl();\n }\n } else if (m == 20) {\n g = gfb(this.i, 58, this.d);\n if (g < 0)\n throw vbb(new mde(tvd((h0d(), Jue))));\n h = true;\n if (bfb(this.i, this.d) == 94) {\n ++this.d;\n h = false;\n }\n f2 = qfb(this.i, this.d, g);\n i3 = Lfe(f2, h, (this.e & 512) == 512);\n if (!i3)\n throw vbb(new mde(tvd((h0d(), Lue))));\n Xfe(k, i3);\n d = true;\n if (g + 1 >= this.j || bfb(this.i, g + 1) != 93)\n throw vbb(new mde(tvd((h0d(), Jue))));\n this.d = g + 2;\n }\n nde(this);\n if (!d) {\n if (this.c != 0 || this.a != 45) {\n Ufe(k, c2, c2);\n } else {\n nde(this);\n if ((m = this.c) == 1)\n throw vbb(new mde(tvd((h0d(), Kue))));\n if (m == 0 && this.a == 93) {\n Ufe(k, c2, c2);\n Ufe(k, 45, 45);\n } else {\n j = this.a;\n m == 10 && (j = this.tl());\n nde(this);\n Ufe(k, c2, j);\n }\n }\n }\n (this.e & zte) == zte && this.c == 0 && this.a == 44 && nde(this);\n }\n if (this.c == 1)\n throw vbb(new mde(tvd((h0d(), Kue))));\n if (b) {\n Zfe(b, k);\n k = b;\n }\n Yfe(k);\n Vfe(k);\n this.b = 0;\n nde(this);\n return k;\n };\n _2.wl = function Ade() {\n var a, b, c2, d;\n c2 = this.vl(false);\n while ((d = this.c) != 7) {\n a = this.a;\n if (d == 0 && (a == 45 || a == 38) || d == 4) {\n nde(this);\n if (this.c != 9)\n throw vbb(new mde(tvd((h0d(), Que))));\n b = this.vl(false);\n if (d == 4)\n Xfe(c2, b);\n else if (a == 45)\n Zfe(c2, b);\n else if (a == 38)\n Wfe(c2, b);\n else\n throw vbb(new hz(\"ASSERT\"));\n } else {\n throw vbb(new mde(tvd((h0d(), Rue))));\n }\n }\n nde(this);\n return c2;\n };\n _2.xl = function Bde() {\n var a, b;\n a = this.a - 48;\n b = (wfe(), wfe(), new Hge(12, null, a));\n !this.g && (this.g = new Wvb());\n Tvb(this.g, new cge(a));\n nde(this);\n return b;\n };\n _2.yl = function Cde() {\n nde(this);\n return wfe(), ofe;\n };\n _2.zl = function Dde() {\n nde(this);\n return wfe(), mfe;\n };\n _2.Al = function Ede() {\n throw vbb(new mde(tvd((h0d(), Yue))));\n };\n _2.Bl = function Fde() {\n throw vbb(new mde(tvd((h0d(), Yue))));\n };\n _2.Cl = function Gde() {\n nde(this);\n return Ife();\n };\n _2.Dl = function Hde() {\n nde(this);\n return wfe(), qfe;\n };\n _2.El = function Ide() {\n nde(this);\n return wfe(), tfe;\n };\n _2.Fl = function Jde() {\n var a;\n if (this.d >= this.j || ((a = bfb(this.i, this.d++)) & 65504) != 64)\n throw vbb(new mde(tvd((h0d(), Eue))));\n nde(this);\n return wfe(), wfe(), new ige(0, a - 64);\n };\n _2.Gl = function Kde() {\n nde(this);\n return Jfe();\n };\n _2.Hl = function Lde() {\n nde(this);\n return wfe(), ufe;\n };\n _2.Il = function Mde() {\n var a;\n a = (wfe(), wfe(), new ige(0, 105));\n nde(this);\n return a;\n };\n _2.Jl = function Nde() {\n nde(this);\n return wfe(), rfe;\n };\n _2.Kl = function Ode() {\n nde(this);\n return wfe(), pfe;\n };\n _2.Ll = function Pde(a, b) {\n return this.tl();\n };\n _2.Ml = function Qde() {\n nde(this);\n return wfe(), hfe;\n };\n _2.Nl = function Rde() {\n var a, b, c2, d, e;\n if (this.d + 1 >= this.j)\n throw vbb(new mde(tvd((h0d(), Bue))));\n d = -1;\n b = null;\n a = bfb(this.i, this.d);\n if (49 <= a && a <= 57) {\n d = a - 48;\n !this.g && (this.g = new Wvb());\n Tvb(this.g, new cge(d));\n ++this.d;\n if (bfb(this.i, this.d) != 41)\n throw vbb(new mde(tvd((h0d(), yue))));\n ++this.d;\n } else {\n a == 63 && --this.d;\n nde(this);\n b = qde(this);\n switch (b.e) {\n case 20:\n case 21:\n case 22:\n case 23:\n break;\n case 8:\n if (this.c != 7)\n throw vbb(new mde(tvd((h0d(), yue))));\n break;\n default:\n throw vbb(new mde(tvd((h0d(), Cue))));\n }\n }\n nde(this);\n e = rde(this);\n c2 = null;\n if (e.e == 2) {\n if (e.em() != 2)\n throw vbb(new mde(tvd((h0d(), Due))));\n c2 = e.am(1);\n e = e.am(0);\n }\n if (this.c != 7)\n throw vbb(new mde(tvd((h0d(), yue))));\n nde(this);\n return wfe(), wfe(), new vge(d, b, e, c2);\n };\n _2.Ol = function Sde() {\n nde(this);\n return wfe(), ife;\n };\n _2.Pl = function Tde() {\n var a;\n nde(this);\n a = Cfe(24, rde(this));\n if (this.c != 7)\n throw vbb(new mde(tvd((h0d(), yue))));\n nde(this);\n return a;\n };\n _2.Ql = function Ude() {\n var a;\n nde(this);\n a = Cfe(20, rde(this));\n if (this.c != 7)\n throw vbb(new mde(tvd((h0d(), yue))));\n nde(this);\n return a;\n };\n _2.Rl = function Vde() {\n var a;\n nde(this);\n a = Cfe(22, rde(this));\n if (this.c != 7)\n throw vbb(new mde(tvd((h0d(), yue))));\n nde(this);\n return a;\n };\n _2.Sl = function Wde() {\n var a, b, c2, d, e;\n a = 0;\n c2 = 0;\n b = -1;\n while (this.d < this.j) {\n b = bfb(this.i, this.d);\n e = Uee(b);\n if (e == 0)\n break;\n a |= e;\n ++this.d;\n }\n if (this.d >= this.j)\n throw vbb(new mde(tvd((h0d(), zue))));\n if (b == 45) {\n ++this.d;\n while (this.d < this.j) {\n b = bfb(this.i, this.d);\n e = Uee(b);\n if (e == 0)\n break;\n c2 |= e;\n ++this.d;\n }\n if (this.d >= this.j)\n throw vbb(new mde(tvd((h0d(), zue))));\n }\n if (b == 58) {\n ++this.d;\n nde(this);\n d = Dfe(rde(this), a, c2);\n if (this.c != 7)\n throw vbb(new mde(tvd((h0d(), yue))));\n nde(this);\n } else if (b == 41) {\n ++this.d;\n nde(this);\n d = Dfe(rde(this), a, c2);\n } else\n throw vbb(new mde(tvd((h0d(), Aue))));\n return d;\n };\n _2.Tl = function Xde() {\n var a;\n nde(this);\n a = Cfe(21, rde(this));\n if (this.c != 7)\n throw vbb(new mde(tvd((h0d(), yue))));\n nde(this);\n return a;\n };\n _2.Ul = function Yde() {\n var a;\n nde(this);\n a = Cfe(23, rde(this));\n if (this.c != 7)\n throw vbb(new mde(tvd((h0d(), yue))));\n nde(this);\n return a;\n };\n _2.Vl = function Zde() {\n var a, b;\n nde(this);\n a = this.f++;\n b = Efe(rde(this), a);\n if (this.c != 7)\n throw vbb(new mde(tvd((h0d(), yue))));\n nde(this);\n return b;\n };\n _2.Wl = function $de() {\n var a;\n nde(this);\n a = Efe(rde(this), 0);\n if (this.c != 7)\n throw vbb(new mde(tvd((h0d(), yue))));\n nde(this);\n return a;\n };\n _2.Xl = function _de(a) {\n nde(this);\n if (this.c == 5) {\n nde(this);\n return Bfe(a, (wfe(), wfe(), new lge(9, a)));\n } else\n return Bfe(a, (wfe(), wfe(), new lge(3, a)));\n };\n _2.Yl = function aee(a) {\n var b;\n nde(this);\n b = (wfe(), wfe(), new Lge(2));\n if (this.c == 5) {\n nde(this);\n Kge(b, ffe);\n Kge(b, a);\n } else {\n Kge(b, a);\n Kge(b, ffe);\n }\n return b;\n };\n _2.Zl = function bee(a) {\n nde(this);\n if (this.c == 5) {\n nde(this);\n return wfe(), wfe(), new lge(9, a);\n } else\n return wfe(), wfe(), new lge(3, a);\n };\n _2.a = 0;\n _2.b = 0;\n _2.c = 0;\n _2.d = 0;\n _2.e = 0;\n _2.f = 1;\n _2.g = null;\n _2.j = 0;\n mdb(kxe, \"RegEx/RegexParser\", 820);\n bcb(1824, 820, {}, hee);\n _2.sl = function iee(a) {\n return false;\n };\n _2.tl = function jee() {\n return eee(this);\n };\n _2.ul = function lee(a) {\n return fee(a);\n };\n _2.vl = function mee(a) {\n return gee(this);\n };\n _2.wl = function nee() {\n throw vbb(new mde(tvd((h0d(), Yue))));\n };\n _2.xl = function oee() {\n throw vbb(new mde(tvd((h0d(), Yue))));\n };\n _2.yl = function pee() {\n throw vbb(new mde(tvd((h0d(), Yue))));\n };\n _2.zl = function qee() {\n throw vbb(new mde(tvd((h0d(), Yue))));\n };\n _2.Al = function ree() {\n nde(this);\n return fee(67);\n };\n _2.Bl = function see() {\n nde(this);\n return fee(73);\n };\n _2.Cl = function tee() {\n throw vbb(new mde(tvd((h0d(), Yue))));\n };\n _2.Dl = function uee() {\n throw vbb(new mde(tvd((h0d(), Yue))));\n };\n _2.El = function vee2() {\n throw vbb(new mde(tvd((h0d(), Yue))));\n };\n _2.Fl = function wee() {\n nde(this);\n return fee(99);\n };\n _2.Gl = function xee() {\n throw vbb(new mde(tvd((h0d(), Yue))));\n };\n _2.Hl = function yee() {\n throw vbb(new mde(tvd((h0d(), Yue))));\n };\n _2.Il = function zee() {\n nde(this);\n return fee(105);\n };\n _2.Jl = function Aee() {\n throw vbb(new mde(tvd((h0d(), Yue))));\n };\n _2.Kl = function Bee() {\n throw vbb(new mde(tvd((h0d(), Yue))));\n };\n _2.Ll = function Cee(a, b) {\n return Xfe(a, fee(b)), -1;\n };\n _2.Ml = function Dee() {\n nde(this);\n return wfe(), wfe(), new ige(0, 94);\n };\n _2.Nl = function Eee() {\n throw vbb(new mde(tvd((h0d(), Yue))));\n };\n _2.Ol = function Fee() {\n nde(this);\n return wfe(), wfe(), new ige(0, 36);\n };\n _2.Pl = function Gee() {\n throw vbb(new mde(tvd((h0d(), Yue))));\n };\n _2.Ql = function Hee() {\n throw vbb(new mde(tvd((h0d(), Yue))));\n };\n _2.Rl = function Iee() {\n throw vbb(new mde(tvd((h0d(), Yue))));\n };\n _2.Sl = function Jee() {\n throw vbb(new mde(tvd((h0d(), Yue))));\n };\n _2.Tl = function Kee() {\n throw vbb(new mde(tvd((h0d(), Yue))));\n };\n _2.Ul = function Lee() {\n throw vbb(new mde(tvd((h0d(), Yue))));\n };\n _2.Vl = function Mee() {\n var a;\n nde(this);\n a = Efe(rde(this), 0);\n if (this.c != 7)\n throw vbb(new mde(tvd((h0d(), yue))));\n nde(this);\n return a;\n };\n _2.Wl = function Nee() {\n throw vbb(new mde(tvd((h0d(), Yue))));\n };\n _2.Xl = function Oee(a) {\n nde(this);\n return Bfe(a, (wfe(), wfe(), new lge(3, a)));\n };\n _2.Yl = function Pee(a) {\n var b;\n nde(this);\n b = (wfe(), wfe(), new Lge(2));\n Kge(b, a);\n Kge(b, ffe);\n return b;\n };\n _2.Zl = function Qee(a) {\n nde(this);\n return wfe(), wfe(), new lge(3, a);\n };\n var cee = null, dee = null;\n mdb(kxe, \"RegEx/ParserForXMLSchema\", 1824);\n bcb(117, 1, yxe, xfe);\n _2.$l = function yfe(a) {\n throw vbb(new hz(\"Not supported.\"));\n };\n _2._l = function Gfe() {\n return -1;\n };\n _2.am = function Hfe(a) {\n return null;\n };\n _2.bm = function Mfe() {\n return null;\n };\n _2.cm = function Pfe(a) {\n };\n _2.dm = function Qfe(a) {\n };\n _2.em = function Rfe() {\n return 0;\n };\n _2.Ib = function Sfe() {\n return this.fm(0);\n };\n _2.fm = function Tfe(a) {\n return this.e == 11 ? \".\" : \"\";\n };\n _2.e = 0;\n var Yee, Zee, $ee, _ee, afe, bfe = null, cfe, dfe = null, efe, ffe, gfe = null, hfe, ife, jfe, kfe, lfe, mfe, nfe, ofe, pfe, qfe, rfe, sfe, tfe, ufe;\n var lbb = mdb(kxe, \"RegEx/Token\", 117);\n bcb(136, 117, { 3: 1, 136: 1, 117: 1 }, $fe);\n _2.fm = function bge(a) {\n var b, c2, d;\n if (this.e == 4) {\n if (this == efe)\n c2 = \".\";\n else if (this == cfe)\n c2 = \"\\\\d\";\n else if (this == sfe)\n c2 = \"\\\\w\";\n else if (this == nfe)\n c2 = \"\\\\s\";\n else {\n d = new Hfb();\n d.a += \"[\";\n for (b = 0; b < this.b.length; b += 2) {\n (a & zte) != 0 && b > 0 && (d.a += \",\", d);\n if (this.b[b] === this.b[b + 1]) {\n Efb(d, age(this.b[b]));\n } else {\n Efb(d, age(this.b[b]));\n d.a += \"-\";\n Efb(d, age(this.b[b + 1]));\n }\n }\n d.a += \"]\";\n c2 = d.a;\n }\n } else {\n if (this == jfe)\n c2 = \"\\\\D\";\n else if (this == lfe)\n c2 = \"\\\\W\";\n else if (this == kfe)\n c2 = \"\\\\S\";\n else {\n d = new Hfb();\n d.a += \"[^\";\n for (b = 0; b < this.b.length; b += 2) {\n (a & zte) != 0 && b > 0 && (d.a += \",\", d);\n if (this.b[b] === this.b[b + 1]) {\n Efb(d, age(this.b[b]));\n } else {\n Efb(d, age(this.b[b]));\n d.a += \"-\";\n Efb(d, age(this.b[b + 1]));\n }\n }\n d.a += \"]\";\n c2 = d.a;\n }\n }\n return c2;\n };\n _2.a = false;\n _2.c = false;\n mdb(kxe, \"RegEx/RangeToken\", 136);\n bcb(584, 1, { 584: 1 }, cge);\n _2.a = 0;\n mdb(kxe, \"RegEx/RegexParser/ReferencePosition\", 584);\n bcb(583, 1, { 3: 1, 583: 1 }, ege);\n _2.Fb = function fge(a) {\n var b;\n if (a == null)\n return false;\n if (!JD(a, 583))\n return false;\n b = BD(a, 583);\n return dfb(this.b, b.b) && this.a == b.a;\n };\n _2.Hb = function gge() {\n return LCb(this.b + \"/\" + See(this.a));\n };\n _2.Ib = function hge() {\n return this.c.fm(this.a);\n };\n _2.a = 0;\n mdb(kxe, \"RegEx/RegularExpression\", 583);\n bcb(223, 117, yxe, ige);\n _2._l = function jge() {\n return this.a;\n };\n _2.fm = function kge(a) {\n var b, c2, d;\n switch (this.e) {\n case 0:\n switch (this.a) {\n case 124:\n case 42:\n case 43:\n case 63:\n case 40:\n case 41:\n case 46:\n case 91:\n case 123:\n case 92:\n d = \"\\\\\" + HD(this.a & aje);\n break;\n case 12:\n d = \"\\\\f\";\n break;\n case 10:\n d = \"\\\\n\";\n break;\n case 13:\n d = \"\\\\r\";\n break;\n case 9:\n d = \"\\\\t\";\n break;\n case 27:\n d = \"\\\\e\";\n break;\n default:\n if (this.a >= Tje) {\n c2 = (b = this.a >>> 0, \"0\" + b.toString(16));\n d = \"\\\\v\" + qfb(c2, c2.length - 6, c2.length);\n } else\n d = \"\" + HD(this.a & aje);\n }\n break;\n case 8:\n this == hfe || this == ife ? d = \"\" + HD(this.a & aje) : d = \"\\\\\" + HD(this.a & aje);\n break;\n default:\n d = null;\n }\n return d;\n };\n _2.a = 0;\n mdb(kxe, \"RegEx/Token/CharToken\", 223);\n bcb(309, 117, yxe, lge);\n _2.am = function mge(a) {\n return this.a;\n };\n _2.cm = function nge(a) {\n this.b = a;\n };\n _2.dm = function oge(a) {\n this.c = a;\n };\n _2.em = function pge() {\n return 1;\n };\n _2.fm = function qge(a) {\n var b;\n if (this.e == 3) {\n if (this.c < 0 && this.b < 0) {\n b = this.a.fm(a) + \"*\";\n } else if (this.c == this.b) {\n b = this.a.fm(a) + \"{\" + this.c + \"}\";\n } else if (this.c >= 0 && this.b >= 0) {\n b = this.a.fm(a) + \"{\" + this.c + \",\" + this.b + \"}\";\n } else if (this.c >= 0 && this.b < 0) {\n b = this.a.fm(a) + \"{\" + this.c + \",}\";\n } else\n throw vbb(new hz(\"Token#toString(): CLOSURE \" + this.c + She + this.b));\n } else {\n if (this.c < 0 && this.b < 0) {\n b = this.a.fm(a) + \"*?\";\n } else if (this.c == this.b) {\n b = this.a.fm(a) + \"{\" + this.c + \"}?\";\n } else if (this.c >= 0 && this.b >= 0) {\n b = this.a.fm(a) + \"{\" + this.c + \",\" + this.b + \"}?\";\n } else if (this.c >= 0 && this.b < 0) {\n b = this.a.fm(a) + \"{\" + this.c + \",}?\";\n } else\n throw vbb(new hz(\"Token#toString(): NONGREEDYCLOSURE \" + this.c + She + this.b));\n }\n return b;\n };\n _2.b = 0;\n _2.c = 0;\n mdb(kxe, \"RegEx/Token/ClosureToken\", 309);\n bcb(821, 117, yxe, rge);\n _2.am = function sge(a) {\n return a == 0 ? this.a : this.b;\n };\n _2.em = function tge() {\n return 2;\n };\n _2.fm = function uge(a) {\n var b;\n this.b.e == 3 && this.b.am(0) == this.a ? b = this.a.fm(a) + \"+\" : this.b.e == 9 && this.b.am(0) == this.a ? b = this.a.fm(a) + \"+?\" : b = this.a.fm(a) + (\"\" + this.b.fm(a));\n return b;\n };\n mdb(kxe, \"RegEx/Token/ConcatToken\", 821);\n bcb(1822, 117, yxe, vge);\n _2.am = function wge(a) {\n if (a == 0)\n return this.d;\n if (a == 1)\n return this.b;\n throw vbb(new hz(\"Internal Error: \" + a));\n };\n _2.em = function xge() {\n return !this.b ? 1 : 2;\n };\n _2.fm = function yge(a) {\n var b;\n this.c > 0 ? b = \"(?(\" + this.c + \")\" : this.a.e == 8 ? b = \"(?(\" + this.a + \")\" : b = \"(?\" + this.a;\n !this.b ? b += this.d + \")\" : b += this.d + \"|\" + this.b + \")\";\n return b;\n };\n _2.c = 0;\n mdb(kxe, \"RegEx/Token/ConditionToken\", 1822);\n bcb(1823, 117, yxe, zge);\n _2.am = function Age(a) {\n return this.b;\n };\n _2.em = function Bge() {\n return 1;\n };\n _2.fm = function Cge(a) {\n return \"(?\" + (this.a == 0 ? \"\" : See(this.a)) + (this.c == 0 ? \"\" : See(this.c)) + \":\" + this.b.fm(a) + \")\";\n };\n _2.a = 0;\n _2.c = 0;\n mdb(kxe, \"RegEx/Token/ModifierToken\", 1823);\n bcb(822, 117, yxe, Dge);\n _2.am = function Ege(a) {\n return this.a;\n };\n _2.em = function Fge() {\n return 1;\n };\n _2.fm = function Gge(a) {\n var b;\n b = null;\n switch (this.e) {\n case 6:\n this.b == 0 ? b = \"(?:\" + this.a.fm(a) + \")\" : b = \"(\" + this.a.fm(a) + \")\";\n break;\n case 20:\n b = \"(?=\" + this.a.fm(a) + \")\";\n break;\n case 21:\n b = \"(?!\" + this.a.fm(a) + \")\";\n break;\n case 22:\n b = \"(?<=\" + this.a.fm(a) + \")\";\n break;\n case 23:\n b = \"(?\" + this.a.fm(a) + \")\";\n }\n return b;\n };\n _2.b = 0;\n mdb(kxe, \"RegEx/Token/ParenToken\", 822);\n bcb(521, 117, { 3: 1, 117: 1, 521: 1 }, Hge);\n _2.bm = function Ige() {\n return this.b;\n };\n _2.fm = function Jge(a) {\n return this.e == 12 ? \"\\\\\" + this.a : Wee(this.b);\n };\n _2.a = 0;\n mdb(kxe, \"RegEx/Token/StringToken\", 521);\n bcb(465, 117, yxe, Lge);\n _2.$l = function Mge(a) {\n Kge(this, a);\n };\n _2.am = function Nge(a) {\n return BD(Uvb(this.a, a), 117);\n };\n _2.em = function Oge() {\n return !this.a ? 0 : this.a.a.c.length;\n };\n _2.fm = function Pge(a) {\n var b, c2, d, e, f2;\n if (this.e == 1) {\n if (this.a.a.c.length == 2) {\n b = BD(Uvb(this.a, 0), 117);\n c2 = BD(Uvb(this.a, 1), 117);\n c2.e == 3 && c2.am(0) == b ? e = b.fm(a) + \"+\" : c2.e == 9 && c2.am(0) == b ? e = b.fm(a) + \"+?\" : e = b.fm(a) + (\"\" + c2.fm(a));\n } else {\n f2 = new Hfb();\n for (d = 0; d < this.a.a.c.length; d++) {\n Efb(f2, BD(Uvb(this.a, d), 117).fm(a));\n }\n e = f2.a;\n }\n return e;\n }\n if (this.a.a.c.length == 2 && BD(Uvb(this.a, 1), 117).e == 7) {\n e = BD(Uvb(this.a, 0), 117).fm(a) + \"?\";\n } else if (this.a.a.c.length == 2 && BD(Uvb(this.a, 0), 117).e == 7) {\n e = BD(Uvb(this.a, 1), 117).fm(a) + \"??\";\n } else {\n f2 = new Hfb();\n Efb(f2, BD(Uvb(this.a, 0), 117).fm(a));\n for (d = 1; d < this.a.a.c.length; d++) {\n f2.a += \"|\";\n Efb(f2, BD(Uvb(this.a, d), 117).fm(a));\n }\n e = f2.a;\n }\n return e;\n };\n mdb(kxe, \"RegEx/Token/UnionToken\", 465);\n bcb(518, 1, { 592: 1 }, Rge);\n _2.Ib = function Sge() {\n return this.a.b;\n };\n mdb(zxe, \"XMLTypeUtil/PatternMatcherImpl\", 518);\n bcb(1622, 1381, {}, Vge);\n var Tge;\n mdb(zxe, \"XMLTypeValidator\", 1622);\n bcb(264, 1, vie, Yge);\n _2.Jc = function Zge(a) {\n reb(this, a);\n };\n _2.Kc = function $ge() {\n return (this.b - this.a) * this.c < 0 ? Wge : new she(this);\n };\n _2.a = 0;\n _2.b = 0;\n _2.c = 0;\n var Wge;\n mdb(Bxe, \"ExclusiveRange\", 264);\n bcb(1068, 1, jie, dhe);\n _2.Rb = function ehe(a) {\n BD(a, 19);\n _ge();\n };\n _2.Nb = function fhe(a) {\n Rrb(this, a);\n };\n _2.Pb = function ihe() {\n return ahe();\n };\n _2.Ub = function khe() {\n return bhe();\n };\n _2.Wb = function nhe(a) {\n BD(a, 19);\n che();\n };\n _2.Ob = function ghe() {\n return false;\n };\n _2.Sb = function hhe() {\n return false;\n };\n _2.Tb = function jhe() {\n return -1;\n };\n _2.Vb = function lhe() {\n return -1;\n };\n _2.Qb = function mhe() {\n throw vbb(new cgb(Exe));\n };\n mdb(Bxe, \"ExclusiveRange/1\", 1068);\n bcb(254, 1, jie, she);\n _2.Rb = function the(a) {\n BD(a, 19);\n ohe();\n };\n _2.Nb = function uhe(a) {\n Rrb(this, a);\n };\n _2.Pb = function xhe() {\n return phe(this);\n };\n _2.Ub = function zhe() {\n return qhe(this);\n };\n _2.Wb = function Che(a) {\n BD(a, 19);\n rhe();\n };\n _2.Ob = function vhe() {\n return this.c.c < 0 ? this.a >= this.c.b : this.a <= this.c.b;\n };\n _2.Sb = function whe() {\n return this.b > 0;\n };\n _2.Tb = function yhe() {\n return this.b;\n };\n _2.Vb = function Ahe() {\n return this.b - 1;\n };\n _2.Qb = function Bhe() {\n throw vbb(new cgb(Exe));\n };\n _2.a = 0;\n _2.b = 0;\n mdb(Bxe, \"ExclusiveRange/RangeIterator\", 254);\n var TD = pdb(Fve, \"C\");\n var WD = pdb(Ive, \"I\");\n var sbb = pdb(Khe, \"Z\");\n var XD = pdb(Jve, \"J\");\n var SD = pdb(Eve, \"B\");\n var UD = pdb(Gve, \"D\");\n var VD = pdb(Hve, \"F\");\n var rbb = pdb(Kve, \"S\");\n var h1 = odb(\"org.eclipse.elk.core.labels\", \"ILabelManager\");\n var O4 = odb(Tte, \"DiagnosticChain\");\n var u8 = odb(pwe, \"ResourceSet\");\n var V4 = mdb(Tte, \"InvocationTargetException\", null);\n var Ihe = (Az(), Dz);\n var gwtOnLoad = gwtOnLoad = Zbb;\n Xbb(hcb);\n $bb(\"permProps\", [[[Fxe, Gxe], [Hxe, \"gecko1_8\"]], [[Fxe, Gxe], [Hxe, \"ie10\"]], [[Fxe, Gxe], [Hxe, \"ie8\"]], [[Fxe, Gxe], [Hxe, \"ie9\"]], [[Fxe, Gxe], [Hxe, \"safari\"]]]);\n gwtOnLoad(null, \"elk\", null);\n }).call(this);\n }).call(this, typeof commonjsGlobal !== \"undefined\" ? commonjsGlobal : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {});\n }, {}], 3: [function(require, module3, exports3) {\n function _classCallCheck(instance2, Constructor) {\n if (!(instance2 instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self2, call) {\n if (!self2) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self2;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });\n if (superClass)\n Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var ELK2 = require(\"./elk-api.js\").default;\n var ELKNode = function(_ELK) {\n _inherits(ELKNode2, _ELK);\n function ELKNode2() {\n var options2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n _classCallCheck(this, ELKNode2);\n var optionsClone = Object.assign({}, options2);\n var workerThreadsExist = false;\n try {\n require.resolve(\"web-worker\");\n workerThreadsExist = true;\n } catch (e) {\n }\n if (options2.workerUrl) {\n if (workerThreadsExist) {\n var Worker2 = require(\"web-worker\");\n optionsClone.workerFactory = function(url) {\n return new Worker2(url);\n };\n } else {\n console.warn(\"Web worker requested but 'web-worker' package not installed. \\nConsider installing the package or pass your own 'workerFactory' to ELK's constructor.\\n... Falling back to non-web worker version.\");\n }\n }\n if (!optionsClone.workerFactory) {\n var _require = require(\"./elk-worker.min.js\"), _Worker = _require.Worker;\n optionsClone.workerFactory = function(url) {\n return new _Worker(url);\n };\n }\n return _possibleConstructorReturn(this, (ELKNode2.__proto__ || Object.getPrototypeOf(ELKNode2)).call(this, optionsClone));\n }\n return ELKNode2;\n }(ELK2);\n Object.defineProperty(module3.exports, \"__esModule\", {\n value: true\n });\n module3.exports = ELKNode;\n ELKNode.default = ELKNode;\n }, { \"./elk-api.js\": 1, \"./elk-worker.min.js\": 2, \"web-worker\": 4 }], 4: [function(require, module3, exports3) {\n module3.exports = Worker;\n }, {}] }, {}, [3])(3);\n });\n })(elk_bundled);\n const ELK = /* @__PURE__ */ getDefaultExportFromCjs(elk_bundledExports);\n const elk = new ELK();\n const portPos = {};\n const conf$1 = {};\n let nodeDb = {};\n const addVertices = function(vert, svgId, root2, doc, diagObj, parentLookupDb, graph) {\n const svg2 = root2.select(`[id=\"${svgId}\"]`);\n const nodes2 = svg2.insert(\"g\").attr(\"class\", \"nodes\");\n const keys2 = Object.keys(vert);\n keys2.forEach(function(id2) {\n const vertex = vert[id2];\n let classStr = \"default\";\n if (vertex.classes.length > 0) {\n classStr = vertex.classes.join(\" \");\n }\n const styles2 = getStylesFromArray(vertex.styles);\n let vertexText = vertex.text !== void 0 ? vertex.text : vertex.id;\n let vertexNode;\n const labelData = { width: 0, height: 0 };\n if (evaluate(getConfig$1().flowchart.htmlLabels)) {\n const node3 = {\n label: vertexText.replace(\n /fa[blrs]?:fa-[\\w-]+/g,\n (s) => ``\n )\n };\n vertexNode = addHtmlLabel(svg2, node3).node();\n const bbox = vertexNode.getBBox();\n labelData.width = bbox.width;\n labelData.height = bbox.height;\n labelData.labelNode = vertexNode;\n vertexNode.parentNode.removeChild(vertexNode);\n } else {\n const svgLabel = doc.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n svgLabel.setAttribute(\"style\", styles2.labelStyle.replace(\"color:\", \"fill:\"));\n const rows = vertexText.split(common$1.lineBreakRegex);\n for (const row of rows) {\n const tspan = doc.createElementNS(\"http://www.w3.org/2000/svg\", \"tspan\");\n tspan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n tspan.setAttribute(\"dy\", \"1em\");\n tspan.setAttribute(\"x\", \"1\");\n tspan.textContent = row;\n svgLabel.appendChild(tspan);\n }\n vertexNode = svgLabel;\n const bbox = vertexNode.getBBox();\n labelData.width = bbox.width;\n labelData.height = bbox.height;\n labelData.labelNode = vertexNode;\n }\n const ports = [\n {\n id: vertex.id + \"-west\",\n layoutOptions: {\n \"port.side\": \"WEST\"\n }\n },\n {\n id: vertex.id + \"-east\",\n layoutOptions: {\n \"port.side\": \"EAST\"\n }\n },\n {\n id: vertex.id + \"-south\",\n layoutOptions: {\n \"port.side\": \"SOUTH\"\n }\n },\n {\n id: vertex.id + \"-north\",\n layoutOptions: {\n \"port.side\": \"NORTH\"\n }\n }\n ];\n let radious = 0;\n let _shape = \"\";\n let layoutOptions = {};\n switch (vertex.type) {\n case \"round\":\n radious = 5;\n _shape = \"rect\";\n break;\n case \"square\":\n _shape = \"rect\";\n break;\n case \"diamond\":\n _shape = \"question\";\n layoutOptions = {\n portConstraints: \"FIXED_SIDE\"\n };\n break;\n case \"hexagon\":\n _shape = \"hexagon\";\n break;\n case \"odd\":\n _shape = \"rect_left_inv_arrow\";\n break;\n case \"lean_right\":\n _shape = \"lean_right\";\n break;\n case \"lean_left\":\n _shape = \"lean_left\";\n break;\n case \"trapezoid\":\n _shape = \"trapezoid\";\n break;\n case \"inv_trapezoid\":\n _shape = \"inv_trapezoid\";\n break;\n case \"odd_right\":\n _shape = \"rect_left_inv_arrow\";\n break;\n case \"circle\":\n _shape = \"circle\";\n break;\n case \"ellipse\":\n _shape = \"ellipse\";\n break;\n case \"stadium\":\n _shape = \"stadium\";\n break;\n case \"subroutine\":\n _shape = \"subroutine\";\n break;\n case \"cylinder\":\n _shape = \"cylinder\";\n break;\n case \"group\":\n _shape = \"rect\";\n break;\n case \"doublecircle\":\n _shape = \"doublecircle\";\n break;\n default:\n _shape = \"rect\";\n }\n const node2 = {\n labelStyle: styles2.labelStyle,\n shape: _shape,\n labelText: vertexText,\n rx: radious,\n ry: radious,\n class: classStr,\n style: styles2.style,\n id: vertex.id,\n link: vertex.link,\n linkTarget: vertex.linkTarget,\n tooltip: diagObj.db.getTooltip(vertex.id) || \"\",\n domId: diagObj.db.lookUpDomId(vertex.id),\n haveCallback: vertex.haveCallback,\n width: vertex.type === \"group\" ? 500 : void 0,\n dir: vertex.dir,\n type: vertex.type,\n props: vertex.props,\n padding: getConfig$1().flowchart.padding\n };\n let boundingBox;\n let nodeEl;\n if (node2.type !== \"group\") {\n nodeEl = insertNode(nodes2, node2, vertex.dir);\n boundingBox = nodeEl.node().getBBox();\n }\n const data = {\n id: vertex.id,\n ports: vertex.type === \"diamond\" ? ports : [],\n // labelStyle: styles.labelStyle,\n // shape: _shape,\n layoutOptions,\n labelText: vertexText,\n labelData,\n // labels: [{ text: vertexText }],\n // rx: radius,\n // ry: radius,\n // class: classStr,\n // style: styles.style,\n // link: vertex.link,\n // linkTarget: vertex.linkTarget,\n // tooltip: diagObj.db.getTooltip(vertex.id) || '',\n domId: diagObj.db.lookUpDomId(vertex.id),\n // haveCallback: vertex.haveCallback,\n width: boundingBox == null ? void 0 : boundingBox.width,\n height: boundingBox == null ? void 0 : boundingBox.height,\n // dir: vertex.dir,\n type: vertex.type,\n // props: vertex.props,\n // padding: getConfig().flowchart.padding,\n // boundingBox,\n el: nodeEl,\n parent: parentLookupDb.parentById[vertex.id]\n };\n nodeDb[node2.id] = data;\n });\n return graph;\n };\n const getNextPosition = (position2, edgeDirection, graphDirection) => {\n const portPos2 = {\n TB: {\n in: {\n north: \"north\"\n },\n out: {\n south: \"west\",\n west: \"east\",\n east: \"south\"\n }\n },\n LR: {\n in: {\n west: \"west\"\n },\n out: {\n east: \"south\",\n south: \"north\",\n north: \"east\"\n }\n },\n RL: {\n in: {\n east: \"east\"\n },\n out: {\n west: \"north\",\n north: \"south\",\n south: \"west\"\n }\n },\n BT: {\n in: {\n south: \"south\"\n },\n out: {\n north: \"east\",\n east: \"west\",\n west: \"north\"\n }\n }\n };\n portPos2.TD = portPos2.TB;\n log$1.info(\"abc88\", graphDirection, edgeDirection, position2);\n return portPos2[graphDirection][edgeDirection][position2];\n };\n const getNextPort = (node2, edgeDirection, graphDirection) => {\n log$1.info(\"getNextPort abc88\", { node: node2, edgeDirection, graphDirection });\n if (!portPos[node2]) {\n switch (graphDirection) {\n case \"TB\":\n case \"TD\":\n portPos[node2] = {\n inPosition: \"north\",\n outPosition: \"south\"\n };\n break;\n case \"BT\":\n portPos[node2] = {\n inPosition: \"south\",\n outPosition: \"north\"\n };\n break;\n case \"RL\":\n portPos[node2] = {\n inPosition: \"east\",\n outPosition: \"west\"\n };\n break;\n case \"LR\":\n portPos[node2] = {\n inPosition: \"west\",\n outPosition: \"east\"\n };\n break;\n }\n }\n const result = edgeDirection === \"in\" ? portPos[node2].inPosition : portPos[node2].outPosition;\n if (edgeDirection === \"in\") {\n portPos[node2].inPosition = getNextPosition(\n portPos[node2].inPosition,\n edgeDirection,\n graphDirection\n );\n } else {\n portPos[node2].outPosition = getNextPosition(\n portPos[node2].outPosition,\n edgeDirection,\n graphDirection\n );\n }\n return result;\n };\n const getEdgeStartEndPoint = (edge, dir) => {\n let source = edge.start;\n let target = edge.end;\n const startNode = nodeDb[source];\n const endNode = nodeDb[target];\n if (!startNode || !endNode) {\n return { source, target };\n }\n if (startNode.type === \"diamond\") {\n source = `${source}-${getNextPort(source, \"out\", dir)}`;\n }\n if (endNode.type === \"diamond\") {\n target = `${target}-${getNextPort(target, \"in\", dir)}`;\n }\n return { source, target };\n };\n const addEdges = function(edges2, diagObj, graph, svg2) {\n log$1.info(\"abc78 edges = \", edges2);\n const labelsEl = svg2.insert(\"g\").attr(\"class\", \"edgeLabels\");\n let linkIdCnt = {};\n let dir = diagObj.db.getDirection();\n let defaultStyle2;\n let defaultLabelStyle;\n if (edges2.defaultStyle !== void 0) {\n const defaultStyles = getStylesFromArray(edges2.defaultStyle);\n defaultStyle2 = defaultStyles.style;\n defaultLabelStyle = defaultStyles.labelStyle;\n }\n edges2.forEach(function(edge) {\n var linkIdBase = \"L-\" + edge.start + \"-\" + edge.end;\n if (linkIdCnt[linkIdBase] === void 0) {\n linkIdCnt[linkIdBase] = 0;\n log$1.info(\"abc78 new entry\", linkIdBase, linkIdCnt[linkIdBase]);\n } else {\n linkIdCnt[linkIdBase]++;\n log$1.info(\"abc78 new entry\", linkIdBase, linkIdCnt[linkIdBase]);\n }\n let linkId = linkIdBase + \"-\" + linkIdCnt[linkIdBase];\n log$1.info(\"abc78 new link id to be used is\", linkIdBase, linkId, linkIdCnt[linkIdBase]);\n var linkNameStart = \"LS-\" + edge.start;\n var linkNameEnd = \"LE-\" + edge.end;\n const edgeData = { style: \"\", labelStyle: \"\" };\n edgeData.minlen = edge.length || 1;\n if (edge.type === \"arrow_open\") {\n edgeData.arrowhead = \"none\";\n } else {\n edgeData.arrowhead = \"normal\";\n }\n edgeData.arrowTypeStart = \"arrow_open\";\n edgeData.arrowTypeEnd = \"arrow_open\";\n switch (edge.type) {\n case \"double_arrow_cross\":\n edgeData.arrowTypeStart = \"arrow_cross\";\n case \"arrow_cross\":\n edgeData.arrowTypeEnd = \"arrow_cross\";\n break;\n case \"double_arrow_point\":\n edgeData.arrowTypeStart = \"arrow_point\";\n case \"arrow_point\":\n edgeData.arrowTypeEnd = \"arrow_point\";\n break;\n case \"double_arrow_circle\":\n edgeData.arrowTypeStart = \"arrow_circle\";\n case \"arrow_circle\":\n edgeData.arrowTypeEnd = \"arrow_circle\";\n break;\n }\n let style = \"\";\n let labelStyle = \"\";\n switch (edge.stroke) {\n case \"normal\":\n style = \"fill:none;\";\n if (defaultStyle2 !== void 0) {\n style = defaultStyle2;\n }\n if (defaultLabelStyle !== void 0) {\n labelStyle = defaultLabelStyle;\n }\n edgeData.thickness = \"normal\";\n edgeData.pattern = \"solid\";\n break;\n case \"dotted\":\n edgeData.thickness = \"normal\";\n edgeData.pattern = \"dotted\";\n edgeData.style = \"fill:none;stroke-width:2px;stroke-dasharray:3;\";\n break;\n case \"thick\":\n edgeData.thickness = \"thick\";\n edgeData.pattern = \"solid\";\n edgeData.style = \"stroke-width: 3.5px;fill:none;\";\n break;\n }\n if (edge.style !== void 0) {\n const styles2 = getStylesFromArray(edge.style);\n style = styles2.style;\n labelStyle = styles2.labelStyle;\n }\n edgeData.style = edgeData.style += style;\n edgeData.labelStyle = edgeData.labelStyle += labelStyle;\n if (edge.interpolate !== void 0) {\n edgeData.curve = interpolateToCurve(edge.interpolate, curveLinear);\n } else if (edges2.defaultInterpolate !== void 0) {\n edgeData.curve = interpolateToCurve(edges2.defaultInterpolate, curveLinear);\n } else {\n edgeData.curve = interpolateToCurve(conf$1.curve, curveLinear);\n }\n if (edge.text === void 0) {\n if (edge.style !== void 0) {\n edgeData.arrowheadStyle = \"fill: #333\";\n }\n } else {\n edgeData.arrowheadStyle = \"fill: #333\";\n edgeData.labelpos = \"c\";\n }\n edgeData.labelType = \"text\";\n edgeData.label = edge.text.replace(common$1.lineBreakRegex, \"\\n\");\n if (edge.style === void 0) {\n edgeData.style = edgeData.style || \"stroke: #333; stroke-width: 1.5px;fill:none;\";\n }\n edgeData.labelStyle = edgeData.labelStyle.replace(\"color:\", \"fill:\");\n edgeData.id = linkId;\n edgeData.classes = \"flowchart-link \" + linkNameStart + \" \" + linkNameEnd;\n const labelEl = insertEdgeLabel(labelsEl, edgeData);\n const { source, target } = getEdgeStartEndPoint(edge, dir);\n log$1.debug(\"abc78 source and target\", source, target);\n graph.edges.push({\n id: \"e\" + edge.start + edge.end,\n sources: [source],\n targets: [target],\n labelEl,\n labels: [\n {\n width: edgeData.width,\n height: edgeData.height,\n orgWidth: edgeData.width,\n orgHeight: edgeData.height,\n text: edgeData.label,\n layoutOptions: {\n \"edgeLabels.inline\": \"true\",\n \"edgeLabels.placement\": \"CENTER\"\n }\n }\n ],\n edgeData\n });\n });\n return graph;\n };\n const addMarkersToEdge = function(svgPath, edgeData, diagramType, arrowMarkerAbsolute) {\n let url = \"\";\n if (arrowMarkerAbsolute) {\n url = window.location.protocol + \"//\" + window.location.host + window.location.pathname + window.location.search;\n url = url.replace(/\\(/g, \"\\\\(\");\n url = url.replace(/\\)/g, \"\\\\)\");\n }\n switch (edgeData.arrowTypeStart) {\n case \"arrow_cross\":\n svgPath.attr(\"marker-start\", \"url(\" + url + \"#\" + diagramType + \"-crossStart)\");\n break;\n case \"arrow_point\":\n svgPath.attr(\"marker-start\", \"url(\" + url + \"#\" + diagramType + \"-pointStart)\");\n break;\n case \"arrow_barb\":\n svgPath.attr(\"marker-start\", \"url(\" + url + \"#\" + diagramType + \"-barbStart)\");\n break;\n case \"arrow_circle\":\n svgPath.attr(\"marker-start\", \"url(\" + url + \"#\" + diagramType + \"-circleStart)\");\n break;\n case \"aggregation\":\n svgPath.attr(\"marker-start\", \"url(\" + url + \"#\" + diagramType + \"-aggregationStart)\");\n break;\n case \"extension\":\n svgPath.attr(\"marker-start\", \"url(\" + url + \"#\" + diagramType + \"-extensionStart)\");\n break;\n case \"composition\":\n svgPath.attr(\"marker-start\", \"url(\" + url + \"#\" + diagramType + \"-compositionStart)\");\n break;\n case \"dependency\":\n svgPath.attr(\"marker-start\", \"url(\" + url + \"#\" + diagramType + \"-dependencyStart)\");\n break;\n case \"lollipop\":\n svgPath.attr(\"marker-start\", \"url(\" + url + \"#\" + diagramType + \"-lollipopStart)\");\n break;\n }\n switch (edgeData.arrowTypeEnd) {\n case \"arrow_cross\":\n svgPath.attr(\"marker-end\", \"url(\" + url + \"#\" + diagramType + \"-crossEnd)\");\n break;\n case \"arrow_point\":\n svgPath.attr(\"marker-end\", \"url(\" + url + \"#\" + diagramType + \"-pointEnd)\");\n break;\n case \"arrow_barb\":\n svgPath.attr(\"marker-end\", \"url(\" + url + \"#\" + diagramType + \"-barbEnd)\");\n break;\n case \"arrow_circle\":\n svgPath.attr(\"marker-end\", \"url(\" + url + \"#\" + diagramType + \"-circleEnd)\");\n break;\n case \"aggregation\":\n svgPath.attr(\"marker-end\", \"url(\" + url + \"#\" + diagramType + \"-aggregationEnd)\");\n break;\n case \"extension\":\n svgPath.attr(\"marker-end\", \"url(\" + url + \"#\" + diagramType + \"-extensionEnd)\");\n break;\n case \"composition\":\n svgPath.attr(\"marker-end\", \"url(\" + url + \"#\" + diagramType + \"-compositionEnd)\");\n break;\n case \"dependency\":\n svgPath.attr(\"marker-end\", \"url(\" + url + \"#\" + diagramType + \"-dependencyEnd)\");\n break;\n case \"lollipop\":\n svgPath.attr(\"marker-end\", \"url(\" + url + \"#\" + diagramType + \"-lollipopEnd)\");\n break;\n }\n };\n const getClasses = function(text2, diagObj) {\n log$1.info(\"Extracting classes\");\n diagObj.db.clear(\"ver-2\");\n try {\n diagObj.parse(text2);\n return diagObj.db.getClasses();\n } catch (e) {\n return {};\n }\n };\n const addSubGraphs = function(db2) {\n const parentLookupDb = { parentById: {}, childrenById: {} };\n const subgraphs = db2.getSubGraphs();\n log$1.info(\"Subgraphs - \", subgraphs);\n subgraphs.forEach(function(subgraph) {\n subgraph.nodes.forEach(function(node2) {\n parentLookupDb.parentById[node2] = subgraph.id;\n if (parentLookupDb.childrenById[subgraph.id] === void 0) {\n parentLookupDb.childrenById[subgraph.id] = [];\n }\n parentLookupDb.childrenById[subgraph.id].push(node2);\n });\n });\n subgraphs.forEach(function(subgraph) {\n ({ id: subgraph.id });\n if (parentLookupDb.parentById[subgraph.id] !== void 0) {\n parentLookupDb.parentById[subgraph.id];\n }\n });\n return parentLookupDb;\n };\n const calcOffset = function(src, dest, parentLookupDb) {\n const ancestor = findCommonAncestor(src, dest, parentLookupDb);\n if (ancestor === void 0 || ancestor === \"root\") {\n return { x: 0, y: 0 };\n }\n const ancestorOffset = nodeDb[ancestor].offset;\n return { x: ancestorOffset.posX, y: ancestorOffset.posY };\n };\n const insertEdge = function(edgesEl, edge, edgeData, diagObj, parentLookupDb) {\n const offset = calcOffset(edge.sources[0], edge.targets[0], parentLookupDb);\n const src = edge.sections[0].startPoint;\n const dest = edge.sections[0].endPoint;\n const segments = edge.sections[0].bendPoints ? edge.sections[0].bendPoints : [];\n const segPoints = segments.map((segment) => [segment.x + offset.x, segment.y + offset.y]);\n const points = [\n [src.x + offset.x, src.y + offset.y],\n ...segPoints,\n [dest.x + offset.x, dest.y + offset.y]\n ];\n const curve = line$1().curve(curveLinear);\n const edgePath = edgesEl.insert(\"path\").attr(\"d\", curve(points)).attr(\"class\", \"path\").attr(\"fill\", \"none\");\n const edgeG = edgesEl.insert(\"g\").attr(\"class\", \"edgeLabel\");\n const edgeWithLabel = select(edgeG.node().appendChild(edge.labelEl));\n const box = edgeWithLabel.node().firstChild.getBoundingClientRect();\n edgeWithLabel.attr(\"width\", box.width);\n edgeWithLabel.attr(\"height\", box.height);\n edgeG.attr(\n \"transform\",\n `translate(${edge.labels[0].x + offset.x}, ${edge.labels[0].y + offset.y})`\n );\n addMarkersToEdge(edgePath, edgeData, diagObj.type, diagObj.arrowMarkerAbsolute);\n };\n const insertChildren = (nodeArray, parentLookupDb) => {\n nodeArray.forEach((node2) => {\n if (!node2.children) {\n node2.children = [];\n }\n const childIds = parentLookupDb.childrenById[node2.id];\n if (childIds) {\n childIds.forEach((childId) => {\n node2.children.push(nodeDb[childId]);\n });\n }\n insertChildren(node2.children, parentLookupDb);\n });\n };\n const draw$2 = async function(text2, id2, _version, diagObj) {\n var _a;\n diagObj.db.clear();\n nodeDb = {};\n diagObj.db.setGen(\"gen-2\");\n diagObj.parser.parse(text2);\n const renderEl = select(\"body\").append(\"div\").attr(\"style\", \"height:400px\").attr(\"id\", \"cy\");\n let graph = {\n id: \"root\",\n layoutOptions: {\n \"elk.hierarchyHandling\": \"INCLUDE_CHILDREN\",\n \"org.eclipse.elk.padding\": \"[top=100, left=100, bottom=110, right=110]\",\n \"elk.layered.spacing.edgeNodeBetweenLayers\": \"30\",\n // 'elk.layered.mergeEdges': 'true',\n \"elk.direction\": \"DOWN\"\n // 'elk.ports.sameLayerEdges': true,\n // 'nodePlacement.strategy': 'SIMPLE',\n },\n children: [],\n edges: []\n };\n log$1.info(\"Drawing flowchart using v3 renderer\", elk);\n let dir = diagObj.db.getDirection();\n switch (dir) {\n case \"BT\":\n graph.layoutOptions[\"elk.direction\"] = \"UP\";\n break;\n case \"TB\":\n graph.layoutOptions[\"elk.direction\"] = \"DOWN\";\n break;\n case \"LR\":\n graph.layoutOptions[\"elk.direction\"] = \"RIGHT\";\n break;\n case \"RL\":\n graph.layoutOptions[\"elk.direction\"] = \"LEFT\";\n break;\n }\n const { securityLevel, flowchart: conf2 } = getConfig$1();\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id2);\n }\n const root2 = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const doc = securityLevel === \"sandbox\" ? sandboxElement.nodes()[0].contentDocument : document;\n const svg2 = root2.select(`[id=\"${id2}\"]`);\n const markers2 = [\"point\", \"circle\", \"cross\"];\n insertMarkers$3(svg2, markers2, diagObj.type, diagObj.arrowMarkerAbsolute);\n const vert = diagObj.db.getVertices();\n let subG;\n const subGraphs2 = diagObj.db.getSubGraphs();\n log$1.info(\"Subgraphs - \", subGraphs2);\n for (let i2 = subGraphs2.length - 1; i2 >= 0; i2--) {\n subG = subGraphs2[i2];\n diagObj.db.addVertex(subG.id, subG.title, \"group\", void 0, subG.classes, subG.dir);\n }\n const subGraphsEl = svg2.insert(\"g\").attr(\"class\", \"subgraphs\");\n const parentLookupDb = addSubGraphs(diagObj.db);\n graph = addVertices(vert, id2, root2, doc, diagObj, parentLookupDb, graph);\n const edgesEl = svg2.insert(\"g\").attr(\"class\", \"edges edgePath\");\n const edges2 = diagObj.db.getEdges();\n graph = addEdges(edges2, diagObj, graph, svg2);\n const nodes2 = Object.keys(nodeDb);\n nodes2.forEach((nodeId) => {\n const node2 = nodeDb[nodeId];\n if (!node2.parent) {\n graph.children.push(node2);\n }\n if (parentLookupDb.childrenById[nodeId] !== void 0) {\n node2.labels = [\n {\n text: node2.labelText,\n layoutOptions: {\n \"nodeLabels.placement\": \"[H_CENTER, V_TOP, INSIDE]\"\n },\n width: node2.labelData.width,\n height: node2.labelData.height\n }\n ];\n delete node2.x;\n delete node2.y;\n delete node2.width;\n delete node2.height;\n }\n });\n insertChildren(graph.children, parentLookupDb);\n log$1.info(\"after layout\", JSON.stringify(graph, null, 2));\n const g = await elk.layout(graph);\n drawNodes$1(0, 0, g.children, svg2, subGraphsEl, diagObj, 0);\n log$1.info(\"after layout\", g);\n (_a = g.edges) == null ? void 0 : _a.map((edge) => {\n insertEdge(edgesEl, edge, edge.edgeData, diagObj, parentLookupDb);\n });\n setupGraphViewbox$1({}, svg2, conf2.diagramPadding, conf2.useMaxWidth);\n renderEl.remove();\n };\n const drawNodes$1 = (relX, relY, nodeArray, svg2, subgraphsEl, diagObj, depth) => {\n nodeArray.forEach(function(node2) {\n if (node2) {\n nodeDb[node2.id].offset = {\n posX: node2.x + relX,\n posY: node2.y + relY,\n x: relX,\n y: relY,\n depth,\n width: node2.width,\n height: node2.height\n };\n if (node2.type === \"group\") {\n const subgraphEl = subgraphsEl.insert(\"g\").attr(\"class\", \"subgraph\");\n subgraphEl.insert(\"rect\").attr(\"class\", \"subgraph subgraph-lvl-\" + depth % 5 + \" node\").attr(\"x\", node2.x + relX).attr(\"y\", node2.y + relY).attr(\"width\", node2.width).attr(\"height\", node2.height);\n const label = subgraphEl.insert(\"g\").attr(\"class\", \"label\");\n label.attr(\n \"transform\",\n `translate(${node2.labels[0].x + relX + node2.x}, ${node2.labels[0].y + relY + node2.y})`\n );\n label.node().appendChild(node2.labelData.labelNode);\n log$1.info(\"Id (UGH)= \", node2.type, node2.labels);\n } else {\n log$1.info(\"Id (UGH)= \", node2.id);\n node2.el.attr(\n \"transform\",\n `translate(${node2.x + relX + node2.width / 2}, ${node2.y + relY + node2.height / 2})`\n );\n }\n }\n });\n nodeArray.forEach(function(node2) {\n if (node2 && node2.type === \"group\") {\n drawNodes$1(relX + node2.x, relY + node2.y, node2.children, svg2, subgraphsEl, diagObj, depth + 1);\n }\n });\n };\n const renderer$1 = {\n getClasses,\n draw: draw$2\n };\n const genSections$2 = (options2) => {\n let sections2 = \"\";\n for (let i2 = 0; i2 < 5; i2++) {\n sections2 += `\n .subgraph-lvl-${i2} {\n fill: ${options2[`surface${i2}`]};\n stroke: ${options2[`surfacePeer${i2}`]};\n }\n `;\n }\n return sections2;\n };\n const getStyles$2 = (options2) => `.label {\n font-family: ${options2.fontFamily};\n color: ${options2.nodeTextColor || options2.textColor};\n }\n .cluster-label text {\n fill: ${options2.titleColor};\n }\n .cluster-label span {\n color: ${options2.titleColor};\n }\n\n .label text,span {\n fill: ${options2.nodeTextColor || options2.textColor};\n color: ${options2.nodeTextColor || options2.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${options2.mainBkg};\n stroke: ${options2.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: ${options2.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${options2.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${options2.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${options2.edgeLabelBackground};\n rect {\n opacity: 0.5;\n background-color: ${options2.edgeLabelBackground};\n fill: ${options2.edgeLabelBackground};\n }\n text-align: center;\n }\n\n .cluster rect {\n fill: ${options2.clusterBkg};\n stroke: ${options2.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${options2.titleColor};\n }\n\n .cluster span {\n color: ${options2.titleColor};\n }\n /* .cluster div {\n color: ${options2.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${options2.fontFamily};\n font-size: 12px;\n background: ${options2.tertiaryColor};\n border: 1px solid ${options2.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: ${options2.textColor};\n }\n .subgraph {\n stroke-width:2;\n rx:3;\n }\n // .subgraph-lvl-1 {\n // fill:#ccc;\n // // stroke:black;\n // }\n ${genSections$2(options2)}\n`;\n const styles$1 = getStyles$2;\n const diagram$2 = {\n db: db$1,\n renderer: renderer$1,\n parser: parser$b,\n styles: styles$1\n };\n const flowchartElkDefinition = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n diagram: diagram$2\n }, Symbol.toStringTag, { value: \"Module\" }));\n var parser$1 = function() {\n var o = function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v)\n ;\n return o2;\n }, $V0 = [1, 2], $V1 = [1, 5], $V2 = [6, 9, 11, 17, 18, 20, 22, 23, 26, 27, 28], $V3 = [1, 15], $V4 = [1, 16], $V5 = [1, 17], $V6 = [1, 18], $V7 = [1, 19], $V8 = [1, 23], $V9 = [1, 24], $Va = [1, 27], $Vb = [4, 6, 9, 11, 17, 18, 20, 22, 23, 26, 27, 28];\n var parser2 = {\n trace: function trace() {\n },\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"timeline\": 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, \"period_statement\": 24, \"event_statement\": 25, \"period\": 26, \"event\": 27, \"open_directive\": 28, \"type_directive\": 29, \"arg_directive\": 30, \"close_directive\": 31, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"timeline\", 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\", 26: \"period\", 27: \"event\", 28: \"open_directive\", 29: \"type_directive\", 30: \"arg_directive\", 31: \"close_directive\" },\n 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, 1], [10, 1], [10, 1], [24, 1], [25, 1], [12, 1], [13, 1], [16, 1], [14, 1]],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 1:\n return $$[$0 - 1];\n case 3:\n this.$ = [];\n break;\n case 4:\n $$[$0 - 1].push($$[$0]);\n this.$ = $$[$0 - 1];\n break;\n case 5:\n case 6:\n this.$ = $$[$0];\n break;\n case 7:\n case 8:\n this.$ = [];\n break;\n case 11:\n yy.getCommonDb().setDiagramTitle($$[$0].substr(6));\n this.$ = $$[$0].substr(6);\n break;\n case 12:\n this.$ = $$[$0].trim();\n yy.getCommonDb().setAccTitle(this.$);\n break;\n case 13:\n case 14:\n this.$ = $$[$0].trim();\n yy.getCommonDb().setAccDescription(this.$);\n break;\n case 15:\n yy.addSection($$[$0].substr(8));\n this.$ = $$[$0].substr(8);\n break;\n case 19:\n yy.addTask($$[$0], 0, \"\");\n this.$ = $$[$0];\n break;\n case 20:\n yy.addEvent($$[$0].substr(2));\n this.$ = $$[$0];\n break;\n case 21:\n yy.parseDirective(\"%%{\", \"open_directive\");\n break;\n case 22:\n yy.parseDirective($$[$0], \"type_directive\");\n break;\n case 23:\n $$[$0] = $$[$0].trim().replace(/'/g, '\"');\n yy.parseDirective($$[$0], \"arg_directive\");\n break;\n case 24:\n yy.parseDirective(\"}%%\", \"close_directive\", \"timeline\");\n break;\n }\n },\n table: [{ 3: 1, 4: $V0, 7: 3, 12: 4, 28: $V1 }, { 1: [3] }, o($V2, [2, 3], { 5: 6 }), { 3: 7, 4: $V0, 7: 3, 12: 4, 28: $V1 }, { 13: 8, 29: [1, 9] }, { 29: [2, 21] }, { 6: [1, 10], 7: 22, 8: 11, 9: [1, 12], 10: 13, 11: [1, 14], 12: 4, 17: $V3, 18: $V4, 20: $V5, 22: $V6, 23: $V7, 24: 20, 25: 21, 26: $V8, 27: $V9, 28: $V1 }, { 1: [2, 2] }, { 14: 25, 15: [1, 26], 31: $Va }, o([15, 31], [2, 22]), o($V2, [2, 8], { 1: [2, 1] }), o($V2, [2, 4]), { 7: 22, 10: 28, 12: 4, 17: $V3, 18: $V4, 20: $V5, 22: $V6, 23: $V7, 24: 20, 25: 21, 26: $V8, 27: $V9, 28: $V1 }, o($V2, [2, 6]), o($V2, [2, 7]), o($V2, [2, 11]), { 19: [1, 29] }, { 21: [1, 30] }, o($V2, [2, 14]), o($V2, [2, 15]), o($V2, [2, 16]), o($V2, [2, 17]), o($V2, [2, 18]), o($V2, [2, 19]), o($V2, [2, 20]), { 11: [1, 31] }, { 16: 32, 30: [1, 33] }, { 11: [2, 24] }, o($V2, [2, 5]), o($V2, [2, 12]), o($V2, [2, 13]), o($Vb, [2, 9]), { 14: 34, 31: $Va }, { 31: [2, 23] }, { 11: [1, 35] }, o($Vb, [2, 10])],\n defaultActions: { 5: [2, 21], 7: [2, 2], 27: [2, 24], 33: [2, 23] },\n parseError: function parseError2(str2, hash) {\n if (hash.recoverable) {\n this.trace(str2);\n } else {\n var error = new Error(str2);\n error.hash = hash;\n throw error;\n }\n },\n parse: function parse2(input) {\n var self2 = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function lex2() {\n var token2;\n token2 = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token2 !== \"number\") {\n if (token2 instanceof Array) {\n tstack = token2;\n token2 = tstack.pop();\n }\n token2 = self2.symbols_[token2] || token2;\n }\n return token2;\n }\n var symbol, state, action, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex2();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }\n };\n var lexer = function() {\n var lexer2 = {\n EOF: 1,\n parseError: function parseError2(str2, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str2, hash);\n } else {\n throw new Error(str2);\n }\n },\n // resets the lexer, sets new input\n setInput: function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n },\n // consumes and returns one char from the input\n input: function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n },\n // unshifts one char (or a string) into the input\n unput: function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n },\n // When called from action, caches matched text and appends it on next action\n more: function() {\n this._more = true;\n return this;\n },\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n },\n // retain first n characters of the match\n less: function(n) {\n this.unput(this.match.slice(n));\n },\n // displays already matched input, i.e. for error messages\n pastInput: function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n },\n // displays upcoming input, i.e. for error messages\n upcomingInput: function() {\n var next2 = this.match;\n if (next2.length < 20) {\n next2 += this._input.substr(0, 20 - next2.length);\n }\n return (next2.substr(0, 20) + (next2.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n },\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: function() {\n var pre = this.pastInput();\n var c2 = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c2 + \"^\";\n },\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: function(match, indexed_rule) {\n var token2, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token2 = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token2) {\n return token2;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n },\n // return next match in input\n next: function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token2, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i2 = 0; i2 < rules.length; i2++) {\n tempMatch = this._input.match(this.rules[rules[i2]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i2;\n if (this.options.backtrack_lexer) {\n token2 = this.test_match(tempMatch, rules[i2]);\n if (token2 !== false) {\n return token2;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token2 = this.test_match(match, rules[index]);\n if (token2 !== false) {\n return token2;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n },\n // return next match that has a token\n lex: function lex2() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n },\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: function begin(condition) {\n this.conditionStack.push(condition);\n },\n // pop the previously active lexer condition state off the condition stack\n popState: function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n },\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n },\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n },\n // alias for begin(condition)\n pushState: function pushState(condition) {\n this.begin(condition);\n },\n // return the number of states currently on the stack\n stateStackSize: function stateStackSize() {\n return this.conditionStack.length;\n },\n options: { \"case-insensitive\": true },\n performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n switch ($avoiding_name_collisions) {\n case 0:\n this.begin(\"open_directive\");\n return 28;\n case 1:\n this.begin(\"type_directive\");\n return 29;\n case 2:\n this.popState();\n this.begin(\"arg_directive\");\n return 15;\n case 3:\n this.popState();\n this.popState();\n return 31;\n case 4:\n return 30;\n case 5:\n break;\n case 6:\n break;\n case 7:\n return 11;\n case 8:\n break;\n case 9:\n break;\n case 10:\n return 4;\n case 11:\n return 17;\n case 12:\n this.begin(\"acc_title\");\n return 18;\n case 13:\n this.popState();\n return \"acc_title_value\";\n case 14:\n this.begin(\"acc_descr\");\n return 20;\n case 15:\n this.popState();\n return \"acc_descr_value\";\n case 16:\n this.begin(\"acc_descr_multiline\");\n break;\n case 17:\n this.popState();\n break;\n case 18:\n return \"acc_descr_multiline_value\";\n case 19:\n return 23;\n case 20:\n return 27;\n case 21:\n return 26;\n case 22:\n return 6;\n case 23:\n return \"INVALID\";\n }\n },\n rules: [/^(?:%%\\{)/i, /^(?:((?:(?!\\}%%)[^:.])*))/i, /^(?::)/i, /^(?:\\}%%)/i, /^(?:((?:(?!\\}%%).|\\n)*))/i, /^(?:%(?!\\{)[^\\n]*)/i, /^(?:[^\\}]%%[^\\n]*)/i, /^(?:[\\n]+)/i, /^(?:\\s+)/i, /^(?:#[^\\n]*)/i, /^(?:timeline\\b)/i, /^(?:title\\s[^#\\n;]+)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?:section\\s[^#:\\n;]+)/i, /^(?::\\s[^#:\\n;]+)/i, /^(?:[^#:\\n;]+)/i, /^(?:$)/i, /^(?:.)/i],\n conditions: { \"open_directive\": { \"rules\": [1], \"inclusive\": false }, \"type_directive\": { \"rules\": [2, 3], \"inclusive\": false }, \"arg_directive\": { \"rules\": [3, 4], \"inclusive\": false }, \"acc_descr_multiline\": { \"rules\": [17, 18], \"inclusive\": false }, \"acc_descr\": { \"rules\": [15], \"inclusive\": false }, \"acc_title\": { \"rules\": [13], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 19, 20, 21, 22, 23], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n }();\n parser$1.parser = parser$1;\n const parser$2 = parser$1;\n let currentSection = \"\";\n let currentTaskId = 0;\n const sections = [];\n const tasks = [];\n const rawTasks = [];\n const getCommonDb = () => commonDb$1;\n const parseDirective = (statement, context, type2) => {\n parseDirective$d(globalThis, statement, context, type2);\n };\n const clear$1 = function() {\n sections.length = 0;\n tasks.length = 0;\n currentSection = \"\";\n rawTasks.length = 0;\n clear$i();\n };\n const addSection = function(txt) {\n currentSection = txt;\n sections.push(txt);\n };\n const getSections = function() {\n return sections;\n };\n const getTasks = function() {\n let allItemsProcessed = compileTasks();\n const maxDepth = 100;\n let iterationCount = 0;\n while (!allItemsProcessed && iterationCount < maxDepth) {\n allItemsProcessed = compileTasks();\n iterationCount++;\n }\n tasks.push(...rawTasks);\n return tasks;\n };\n const addTask = function(period, length2, event) {\n const rawTask = {\n id: currentTaskId++,\n section: currentSection,\n type: currentSection,\n task: period,\n score: length2 ? length2 : 0,\n //if event is defined, then add it the events array\n events: event ? [event] : []\n };\n rawTasks.push(rawTask);\n };\n const addEvent = function(event) {\n const currentTask = rawTasks.find((task) => task.id === currentTaskId - 1);\n currentTask.events.push(event);\n };\n const addTaskOrg = function(descr) {\n const newTask = {\n section: currentSection,\n type: currentSection,\n description: descr,\n task: descr,\n classes: []\n };\n tasks.push(newTask);\n };\n const compileTasks = function() {\n const compileTask = function(pos) {\n return rawTasks[pos].processed;\n };\n let allProcessed = true;\n for (const [i2, rawTask] of rawTasks.entries()) {\n compileTask(i2);\n allProcessed = allProcessed && rawTask.processed;\n }\n return allProcessed;\n };\n const timelineDb = {\n clear: clear$1,\n getCommonDb,\n addSection,\n getSections,\n getTasks,\n addTask,\n addTaskOrg,\n addEvent,\n parseDirective\n };\n const db = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n addEvent,\n addSection,\n addTask,\n addTaskOrg,\n clear: clear$1,\n default: timelineDb,\n getCommonDb,\n getSections,\n getTasks,\n parseDirective\n }, Symbol.toStringTag, { value: \"Module\" }));\n const MAX_SECTIONS$1 = 12;\n const drawRect = function(elem, rectData) {\n const rectElem = elem.append(\"rect\");\n rectElem.attr(\"x\", rectData.x);\n rectElem.attr(\"y\", rectData.y);\n rectElem.attr(\"fill\", rectData.fill);\n rectElem.attr(\"stroke\", rectData.stroke);\n rectElem.attr(\"width\", rectData.width);\n rectElem.attr(\"height\", rectData.height);\n rectElem.attr(\"rx\", rectData.rx);\n rectElem.attr(\"ry\", rectData.ry);\n if (rectData.class !== void 0) {\n rectElem.attr(\"class\", rectData.class);\n }\n return rectElem;\n };\n const drawFace = function(element, faceData) {\n const radius = 15;\n const circleElement = element.append(\"circle\").attr(\"cx\", faceData.cx).attr(\"cy\", faceData.cy).attr(\"class\", \"face\").attr(\"r\", radius).attr(\"stroke-width\", 2).attr(\"overflow\", \"visible\");\n const face = element.append(\"g\");\n face.append(\"circle\").attr(\"cx\", faceData.cx - radius / 3).attr(\"cy\", faceData.cy - radius / 3).attr(\"r\", 1.5).attr(\"stroke-width\", 2).attr(\"fill\", \"#666\").attr(\"stroke\", \"#666\");\n face.append(\"circle\").attr(\"cx\", faceData.cx + radius / 3).attr(\"cy\", faceData.cy - radius / 3).attr(\"r\", 1.5).attr(\"stroke-width\", 2).attr(\"fill\", \"#666\").attr(\"stroke\", \"#666\");\n function smile(face2) {\n const arc = d3arc().startAngle(Math.PI / 2).endAngle(3 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2);\n face2.append(\"path\").attr(\"class\", \"mouth\").attr(\"d\", arc).attr(\"transform\", \"translate(\" + faceData.cx + \",\" + (faceData.cy + 2) + \")\");\n }\n function sad(face2) {\n const arc = d3arc().startAngle(3 * Math.PI / 2).endAngle(5 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2);\n face2.append(\"path\").attr(\"class\", \"mouth\").attr(\"d\", arc).attr(\"transform\", \"translate(\" + faceData.cx + \",\" + (faceData.cy + 7) + \")\");\n }\n function ambivalent(face2) {\n face2.append(\"line\").attr(\"class\", \"mouth\").attr(\"stroke\", 2).attr(\"x1\", faceData.cx - 5).attr(\"y1\", faceData.cy + 7).attr(\"x2\", faceData.cx + 5).attr(\"y2\", faceData.cy + 7).attr(\"class\", \"mouth\").attr(\"stroke-width\", \"1px\").attr(\"stroke\", \"#666\");\n }\n if (faceData.score > 3) {\n smile(face);\n } else if (faceData.score < 3) {\n sad(face);\n } else {\n ambivalent(face);\n }\n return circleElement;\n };\n const drawCircle = function(element, circleData) {\n const circleElement = element.append(\"circle\");\n circleElement.attr(\"cx\", circleData.cx);\n circleElement.attr(\"cy\", circleData.cy);\n circleElement.attr(\"class\", \"actor-\" + circleData.pos);\n circleElement.attr(\"fill\", circleData.fill);\n circleElement.attr(\"stroke\", circleData.stroke);\n circleElement.attr(\"r\", circleData.r);\n if (circleElement.class !== void 0) {\n circleElement.attr(\"class\", circleElement.class);\n }\n if (circleData.title !== void 0) {\n circleElement.append(\"title\").text(circleData.title);\n }\n return circleElement;\n };\n const drawText = function(elem, textData) {\n const nText = textData.text.replace(//gi, \" \");\n const textElem = elem.append(\"text\");\n textElem.attr(\"x\", textData.x);\n textElem.attr(\"y\", textData.y);\n textElem.attr(\"class\", \"legend\");\n textElem.style(\"text-anchor\", textData.anchor);\n if (textData.class !== void 0) {\n textElem.attr(\"class\", textData.class);\n }\n const span = textElem.append(\"tspan\");\n span.attr(\"x\", textData.x + textData.textMargin * 2);\n span.text(nText);\n return textElem;\n };\n const drawLabel = function(elem, txtObject) {\n function genPoints(x2, y2, width2, height2, cut) {\n return x2 + \",\" + y2 + \" \" + (x2 + width2) + \",\" + y2 + \" \" + (x2 + width2) + \",\" + (y2 + height2 - cut) + \" \" + (x2 + width2 - cut * 1.2) + \",\" + (y2 + height2) + \" \" + x2 + \",\" + (y2 + height2);\n }\n const polygon = elem.append(\"polygon\");\n polygon.attr(\"points\", genPoints(txtObject.x, txtObject.y, 50, 20, 7));\n polygon.attr(\"class\", \"labelBox\");\n txtObject.y = txtObject.y + txtObject.labelMargin;\n txtObject.x = txtObject.x + 0.5 * txtObject.labelMargin;\n drawText(elem, txtObject);\n };\n const drawSection = function(elem, section, conf2) {\n const g = elem.append(\"g\");\n const rect2 = getNoteRect();\n rect2.x = section.x;\n rect2.y = section.y;\n rect2.fill = section.fill;\n rect2.width = conf2.width;\n rect2.height = conf2.height;\n rect2.class = \"journey-section section-type-\" + section.num;\n rect2.rx = 3;\n rect2.ry = 3;\n drawRect(g, rect2);\n _drawTextCandidateFunc(conf2)(\n section.text,\n g,\n rect2.x,\n rect2.y,\n rect2.width,\n rect2.height,\n { class: \"journey-section section-type-\" + section.num },\n conf2,\n section.colour\n );\n };\n let taskCount = -1;\n const drawTask = function(elem, task, conf2) {\n const center2 = task.x + conf2.width / 2;\n const g = elem.append(\"g\");\n taskCount++;\n const maxHeight = 300 + 5 * 30;\n g.append(\"line\").attr(\"id\", \"task\" + taskCount).attr(\"x1\", center2).attr(\"y1\", task.y).attr(\"x2\", center2).attr(\"y2\", maxHeight).attr(\"class\", \"task-line\").attr(\"stroke-width\", \"1px\").attr(\"stroke-dasharray\", \"4 2\").attr(\"stroke\", \"#666\");\n drawFace(g, {\n cx: center2,\n cy: 300 + (5 - task.score) * 30,\n score: task.score\n });\n const rect2 = getNoteRect();\n rect2.x = task.x;\n rect2.y = task.y;\n rect2.fill = task.fill;\n rect2.width = conf2.width;\n rect2.height = conf2.height;\n rect2.class = \"task task-type-\" + task.num;\n rect2.rx = 3;\n rect2.ry = 3;\n drawRect(g, rect2);\n task.x + 14;\n _drawTextCandidateFunc(conf2)(\n task.task,\n g,\n rect2.x,\n rect2.y,\n rect2.width,\n rect2.height,\n { class: \"task\" },\n conf2,\n task.colour\n );\n };\n const drawBackgroundRect = function(elem, bounds2) {\n const rectElem = drawRect(elem, {\n x: bounds2.startx,\n y: bounds2.starty,\n width: bounds2.stopx - bounds2.startx,\n height: bounds2.stopy - bounds2.starty,\n fill: bounds2.fill,\n class: \"rect\"\n });\n rectElem.lower();\n };\n const getTextObj = function() {\n return {\n x: 0,\n y: 0,\n fill: void 0,\n \"text-anchor\": \"start\",\n width: 100,\n height: 100,\n textMargin: 0,\n rx: 0,\n ry: 0\n };\n };\n const getNoteRect = function() {\n return {\n x: 0,\n y: 0,\n width: 100,\n anchor: \"start\",\n height: 100,\n rx: 0,\n ry: 0\n };\n };\n const _drawTextCandidateFunc = function() {\n function byText(content, g, x2, y2, width2, height2, textAttrs, colour) {\n const text2 = g.append(\"text\").attr(\"x\", x2 + width2 / 2).attr(\"y\", y2 + height2 / 2 + 5).style(\"font-color\", colour).style(\"text-anchor\", \"middle\").text(content);\n _setTextAttrs(text2, textAttrs);\n }\n function byTspan(content, g, x2, y2, width2, height2, textAttrs, conf2, colour) {\n const { taskFontSize, taskFontFamily } = conf2;\n const lines = content.split(//gi);\n for (let i2 = 0; i2 < lines.length; i2++) {\n const dy = i2 * taskFontSize - taskFontSize * (lines.length - 1) / 2;\n const text2 = g.append(\"text\").attr(\"x\", x2 + width2 / 2).attr(\"y\", y2).attr(\"fill\", colour).style(\"text-anchor\", \"middle\").style(\"font-size\", taskFontSize).style(\"font-family\", taskFontFamily);\n text2.append(\"tspan\").attr(\"x\", x2 + width2 / 2).attr(\"dy\", dy).text(lines[i2]);\n text2.attr(\"y\", y2 + height2 / 2).attr(\"dominant-baseline\", \"central\").attr(\"alignment-baseline\", \"central\");\n _setTextAttrs(text2, textAttrs);\n }\n }\n function byFo(content, g, x2, y2, width2, height2, textAttrs, conf2) {\n const body = g.append(\"switch\");\n const f2 = body.append(\"foreignObject\").attr(\"x\", x2).attr(\"y\", y2).attr(\"width\", width2).attr(\"height\", height2).attr(\"position\", \"fixed\");\n const text2 = f2.append(\"xhtml:div\").style(\"display\", \"table\").style(\"height\", \"100%\").style(\"width\", \"100%\");\n text2.append(\"div\").attr(\"class\", \"label\").style(\"display\", \"table-cell\").style(\"text-align\", \"center\").style(\"vertical-align\", \"middle\").text(content);\n byTspan(content, body, x2, y2, width2, height2, textAttrs, conf2);\n _setTextAttrs(text2, textAttrs);\n }\n function _setTextAttrs(toText, fromTextAttrsDict) {\n for (const key in fromTextAttrsDict) {\n if (key in fromTextAttrsDict) {\n toText.attr(key, fromTextAttrsDict[key]);\n }\n }\n }\n return function(conf2) {\n return conf2.textPlacement === \"fo\" ? byFo : conf2.textPlacement === \"old\" ? byText : byTspan;\n };\n }();\n const initGraphics = function(graphics) {\n graphics.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\");\n };\n function wrap$1(text2, width2) {\n text2.each(function() {\n var text3 = select(this), words = text3.text().split(/(\\s+|
)/).reverse(), word, line2 = [], lineHeight = 1.1, y2 = text3.attr(\"y\"), dy = parseFloat(text3.attr(\"dy\")), tspan = text3.text(null).append(\"tspan\").attr(\"x\", 0).attr(\"y\", y2).attr(\"dy\", dy + \"em\");\n for (let j = 0; j < words.length; j++) {\n word = words[words.length - 1 - j];\n line2.push(word);\n tspan.text(line2.join(\" \").trim());\n if (tspan.node().getComputedTextLength() > width2 || word === \"
\") {\n line2.pop();\n tspan.text(line2.join(\" \").trim());\n if (word === \"
\") {\n line2 = [\"\"];\n } else {\n line2 = [word];\n }\n tspan = text3.append(\"tspan\").attr(\"x\", 0).attr(\"y\", y2).attr(\"dy\", lineHeight + \"em\").text(word);\n }\n }\n });\n }\n const drawNode$1 = function(elem, node2, fullSection, conf2) {\n const section = fullSection % MAX_SECTIONS$1 - 1;\n const nodeElem = elem.append(\"g\");\n node2.section = section;\n nodeElem.attr(\n \"class\",\n (node2.class ? node2.class + \" \" : \"\") + \"timeline-node \" + (\"section-\" + section)\n );\n const bkgElem = nodeElem.append(\"g\");\n const textElem = nodeElem.append(\"g\");\n const txt = textElem.append(\"text\").text(node2.descr).attr(\"dy\", \"1em\").attr(\"alignment-baseline\", \"middle\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").call(wrap$1, node2.width);\n const bbox = txt.node().getBBox();\n const fontSize = conf2.fontSize && conf2.fontSize.replace ? conf2.fontSize.replace(\"px\", \"\") : conf2.fontSize;\n node2.height = bbox.height + fontSize * 1.1 * 0.5 + node2.padding;\n node2.height = Math.max(node2.height, node2.maxHeight);\n node2.width = node2.width + 2 * node2.padding;\n textElem.attr(\"transform\", \"translate(\" + node2.width / 2 + \", \" + node2.padding / 2 + \")\");\n defaultBkg$1(bkgElem, node2, section);\n return node2;\n };\n const getVirtualNodeHeight = function(elem, node2, conf2) {\n const textElem = elem.append(\"g\");\n const txt = textElem.append(\"text\").text(node2.descr).attr(\"dy\", \"1em\").attr(\"alignment-baseline\", \"middle\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").call(wrap$1, node2.width);\n const bbox = txt.node().getBBox();\n const fontSize = conf2.fontSize && conf2.fontSize.replace ? conf2.fontSize.replace(\"px\", \"\") : conf2.fontSize;\n textElem.remove();\n return bbox.height + fontSize * 1.1 * 0.5 + node2.padding;\n };\n const defaultBkg$1 = function(elem, node2, section) {\n const rd = 5;\n elem.append(\"path\").attr(\"id\", \"node-\" + node2.id).attr(\"class\", \"node-bkg node-\" + node2.type).attr(\n \"d\",\n `M0 ${node2.height - rd} v${-node2.height + 2 * rd} q0,-5 5,-5 h${node2.width - 2 * rd} q5,0 5,5 v${node2.height - rd} H0 Z`\n );\n elem.append(\"line\").attr(\"class\", \"node-line-\" + section).attr(\"x1\", 0).attr(\"y1\", node2.height).attr(\"x2\", node2.width).attr(\"y2\", node2.height);\n };\n const svgDraw$1 = {\n drawRect,\n drawCircle,\n drawSection,\n drawText,\n drawLabel,\n drawTask,\n drawBackgroundRect,\n getTextObj,\n getNoteRect,\n initGraphics,\n drawNode: drawNode$1,\n getVirtualNodeHeight\n };\n const setConf = function(cnf) {\n const keys2 = Object.keys(cnf);\n keys2.forEach(function(key) {\n conf[key] = cnf[key];\n });\n };\n const draw$1 = function(text2, id2, version2, diagObj) {\n const conf2 = getConfig$1();\n const LEFT_MARGIN2 = conf2.leftMargin ? conf2.leftMargin : 50;\n diagObj.db.clear();\n diagObj.parser.parse(text2 + \"\\n\");\n log$1.debug(\"timeline\", diagObj.db);\n const securityLevel = conf2.securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id2);\n }\n const root2 = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const svg2 = root2.select(\"#\" + id2);\n svg2.append(\"g\");\n const tasks2 = diagObj.db.getTasks();\n const title2 = diagObj.db.getCommonDb().getDiagramTitle();\n log$1.debug(\"task\", tasks2);\n svgDraw$1.initGraphics(svg2);\n const sections2 = diagObj.db.getSections();\n log$1.debug(\"sections\", sections2);\n let maxSectionHeight = 0;\n let maxTaskHeight = 0;\n let depthY = 0;\n let sectionBeginY = 0;\n let masterX = 50 + LEFT_MARGIN2;\n let masterY = 50;\n sectionBeginY = 50;\n let sectionNumber = 0;\n let hasSections = true;\n sections2.forEach(function(section) {\n const sectionNode = {\n number: sectionNumber,\n descr: section,\n section: sectionNumber,\n width: 150,\n padding: 20,\n maxHeight: maxSectionHeight\n };\n const sectionHeight = svgDraw$1.getVirtualNodeHeight(svg2, sectionNode, conf2);\n log$1.debug(\"sectionHeight before draw\", sectionHeight);\n maxSectionHeight = Math.max(maxSectionHeight, sectionHeight + 20);\n });\n let maxEventCount = 0;\n let maxEventLineLength = 0;\n log$1.debug(\"tasks.length\", tasks2.length);\n for (const [i2, task] of tasks2.entries()) {\n const taskNode = {\n number: i2,\n descr: task,\n section: task.section,\n width: 150,\n padding: 20,\n maxHeight: maxTaskHeight\n };\n const taskHeight = svgDraw$1.getVirtualNodeHeight(svg2, taskNode, conf2);\n log$1.debug(\"taskHeight before draw\", taskHeight);\n maxTaskHeight = Math.max(maxTaskHeight, taskHeight + 20);\n maxEventCount = Math.max(maxEventCount, task.events.length);\n let maxEventLineLengthTemp = 0;\n for (let j = 0; j < task.events.length; j++) {\n const event = task.events[j];\n const eventNode = {\n descr: event,\n section: task.section,\n number: task.section,\n width: 150,\n padding: 20,\n maxHeight: 50\n };\n maxEventLineLengthTemp += svgDraw$1.getVirtualNodeHeight(svg2, eventNode, conf2);\n }\n maxEventLineLength = Math.max(maxEventLineLength, maxEventLineLengthTemp);\n }\n log$1.debug(\"maxSectionHeight before draw\", maxSectionHeight);\n log$1.debug(\"maxTaskHeight before draw\", maxTaskHeight);\n if (sections2 && sections2.length > 0) {\n sections2.forEach((section) => {\n const sectionNode = {\n number: sectionNumber,\n descr: section,\n section: sectionNumber,\n width: 150,\n padding: 20,\n maxHeight: maxSectionHeight\n };\n log$1.debug(\"sectionNode\", sectionNode);\n const sectionNodeWrapper = svg2.append(\"g\");\n const node2 = svgDraw$1.drawNode(sectionNodeWrapper, sectionNode, sectionNumber, conf2);\n log$1.debug(\"sectionNode output\", node2);\n sectionNodeWrapper.attr(\"transform\", `translate(${masterX}, ${sectionBeginY})`);\n masterY += maxSectionHeight + 50;\n const tasksForSection = tasks2.filter((task) => task.section === section);\n if (tasksForSection.length > 0) {\n drawTasks(\n svg2,\n tasksForSection,\n sectionNumber,\n masterX,\n masterY,\n maxTaskHeight,\n conf2,\n maxEventCount,\n maxEventLineLength,\n maxSectionHeight,\n false\n );\n }\n masterX += 200 * Math.max(tasksForSection.length, 1);\n masterY = sectionBeginY;\n sectionNumber++;\n });\n } else {\n hasSections = false;\n drawTasks(\n svg2,\n tasks2,\n sectionNumber,\n masterX,\n masterY,\n maxTaskHeight,\n conf2,\n maxEventCount,\n maxEventLineLength,\n maxSectionHeight,\n true\n );\n }\n const box = svg2.node().getBBox();\n log$1.debug(\"bounds\", box);\n if (title2) {\n svg2.append(\"text\").text(title2).attr(\"x\", box.width / 2 - LEFT_MARGIN2).attr(\"font-size\", \"4ex\").attr(\"font-weight\", \"bold\").attr(\"y\", 20);\n }\n depthY = hasSections ? maxSectionHeight + maxTaskHeight + 150 : maxTaskHeight + 100;\n const lineWrapper = svg2.append(\"g\").attr(\"class\", \"lineWrapper\");\n lineWrapper.append(\"line\").attr(\"x1\", LEFT_MARGIN2).attr(\"y1\", depthY).attr(\"x2\", box.width + 3 * LEFT_MARGIN2).attr(\"y2\", depthY).attr(\"stroke-width\", 4).attr(\"stroke\", \"black\").attr(\"marker-end\", \"url(#arrowhead)\");\n setupGraphViewbox$1(\n void 0,\n svg2,\n conf2.timeline.padding ? conf2.timeline.padding : 50,\n conf2.timeline.useMaxWidth ? conf2.timeline.useMaxWidth : false\n );\n };\n const drawTasks = function(diagram2, tasks2, sectionColor, masterX, masterY, maxTaskHeight, conf2, maxEventCount, maxEventLineLength, maxSectionHeight, isWithoutSections) {\n for (const task of tasks2) {\n const taskNode = {\n descr: task.task,\n section: sectionColor,\n number: sectionColor,\n width: 150,\n padding: 20,\n maxHeight: maxTaskHeight\n };\n log$1.debug(\"taskNode\", taskNode);\n const taskWrapper = diagram2.append(\"g\").attr(\"class\", \"taskWrapper\");\n const node2 = svgDraw$1.drawNode(taskWrapper, taskNode, sectionColor, conf2);\n const taskHeight = node2.height;\n log$1.debug(\"taskHeight after draw\", taskHeight);\n taskWrapper.attr(\"transform\", `translate(${masterX}, ${masterY})`);\n maxTaskHeight = Math.max(maxTaskHeight, taskHeight);\n if (task.events) {\n const lineWrapper = diagram2.append(\"g\").attr(\"class\", \"lineWrapper\");\n let linelength = maxTaskHeight;\n masterY += 100;\n linelength = linelength + drawEvents(diagram2, task.events, sectionColor, masterX, masterY, conf2);\n masterY -= 100;\n lineWrapper.append(\"line\").attr(\"x1\", masterX + 190 / 2).attr(\"y1\", masterY + maxTaskHeight).attr(\"x2\", masterX + 190 / 2).attr(\n \"y2\",\n masterY + maxTaskHeight + (isWithoutSections ? maxTaskHeight : maxSectionHeight) + maxEventLineLength + 120\n ).attr(\"stroke-width\", 2).attr(\"stroke\", \"black\").attr(\"marker-end\", \"url(#arrowhead)\").attr(\"stroke-dasharray\", \"5,5\");\n }\n masterX = masterX + 200;\n if (isWithoutSections && !getConfig$1().timeline.disableMulticolor) {\n sectionColor++;\n }\n }\n masterY = masterY - 10;\n };\n const drawEvents = function(diagram2, events, sectionColor, masterX, masterY, conf2) {\n let maxEventHeight = 0;\n const eventBeginY = masterY;\n masterY = masterY + 100;\n for (const event of events) {\n const eventNode = {\n descr: event,\n section: sectionColor,\n number: sectionColor,\n width: 150,\n padding: 20,\n maxHeight: 50\n };\n log$1.debug(\"eventNode\", eventNode);\n const eventWrapper = diagram2.append(\"g\").attr(\"class\", \"eventWrapper\");\n const node2 = svgDraw$1.drawNode(eventWrapper, eventNode, sectionColor, conf2);\n const eventHeight = node2.height;\n maxEventHeight = maxEventHeight + eventHeight;\n eventWrapper.attr(\"transform\", `translate(${masterX}, ${masterY})`);\n masterY = masterY + 10 + eventHeight;\n }\n masterY = eventBeginY;\n return maxEventHeight;\n };\n const renderer = {\n setConf,\n draw: draw$1\n };\n const genSections$1 = (options2) => {\n let sections2 = \"\";\n for (let i2 = 0; i2 < options2.THEME_COLOR_LIMIT; i2++) {\n options2[\"lineColor\" + i2] = options2[\"lineColor\" + i2] || options2[\"cScaleInv\" + i2];\n if (isDark$1(options2[\"lineColor\" + i2])) {\n options2[\"lineColor\" + i2] = lighten$1(options2[\"lineColor\" + i2], 20);\n } else {\n options2[\"lineColor\" + i2] = darken$1(options2[\"lineColor\" + i2], 20);\n }\n }\n for (let i2 = 0; i2 < options2.THEME_COLOR_LIMIT; i2++) {\n const sw = \"\" + (17 - 3 * i2);\n sections2 += `\n .section-${i2 - 1} rect, .section-${i2 - 1} path, .section-${i2 - 1} circle, .section-${i2 - 1} path {\n fill: ${options2[\"cScale\" + i2]};\n }\n .section-${i2 - 1} text {\n fill: ${options2[\"cScaleLabel\" + i2]};\n }\n .node-icon-${i2 - 1} {\n font-size: 40px;\n color: ${options2[\"cScaleLabel\" + i2]};\n }\n .section-edge-${i2 - 1}{\n stroke: ${options2[\"cScale\" + i2]};\n }\n .edge-depth-${i2 - 1}{\n stroke-width: ${sw};\n }\n .section-${i2 - 1} line {\n stroke: ${options2[\"cScaleInv\" + i2]} ;\n stroke-width: 3;\n }\n\n .lineWrapper line{\n stroke: ${options2[\"cScaleLabel\" + i2]} ;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n `;\n }\n return sections2;\n };\n const getStyles$1 = (options2) => `\n .edge {\n stroke-width: 3;\n }\n ${genSections$1(options2)}\n .section-root rect, .section-root path, .section-root circle {\n fill: ${options2.git0};\n }\n .section-root text {\n fill: ${options2.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .eventWrapper {\n filter: brightness(120%);\n }\n`;\n const styles = getStyles$1;\n const diagram$1 = {\n db,\n renderer,\n parser: parser$2,\n styles\n };\n const timelineDefinition = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n diagram: diagram$1\n }, Symbol.toStringTag, { value: \"Module\" }));\n var parser = function() {\n var o = function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v)\n ;\n return o2;\n }, $V0 = [1, 4], $V1 = [1, 13], $V2 = [1, 12], $V3 = [1, 15], $V4 = [1, 16], $V5 = [1, 20], $V6 = [1, 19], $V7 = [6, 7, 8], $V8 = [1, 26], $V9 = [1, 24], $Va = [1, 25], $Vb = [6, 7, 11], $Vc = [1, 6, 13, 15, 16, 19, 22], $Vd = [1, 33], $Ve = [1, 34], $Vf = [1, 6, 7, 11, 13, 15, 16, 19, 22];\n var parser2 = {\n trace: function trace() {\n },\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"mindMap\": 4, \"spaceLines\": 5, \"SPACELINE\": 6, \"NL\": 7, \"MINDMAP\": 8, \"document\": 9, \"stop\": 10, \"EOF\": 11, \"statement\": 12, \"SPACELIST\": 13, \"node\": 14, \"ICON\": 15, \"CLASS\": 16, \"nodeWithId\": 17, \"nodeWithoutId\": 18, \"NODE_DSTART\": 19, \"NODE_DESCR\": 20, \"NODE_DEND\": 21, \"NODE_ID\": 22, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 6: \"SPACELINE\", 7: \"NL\", 8: \"MINDMAP\", 11: \"EOF\", 13: \"SPACELIST\", 15: \"ICON\", 16: \"CLASS\", 19: \"NODE_DSTART\", 20: \"NODE_DESCR\", 21: \"NODE_DEND\", 22: \"NODE_ID\" },\n productions_: [0, [3, 1], [3, 2], [5, 1], [5, 2], [5, 2], [4, 2], [4, 3], [10, 1], [10, 1], [10, 1], [10, 2], [10, 2], [9, 3], [9, 2], [12, 2], [12, 2], [12, 2], [12, 1], [12, 1], [12, 1], [12, 1], [12, 1], [14, 1], [14, 1], [18, 3], [17, 1], [17, 4]],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 6:\n case 7:\n return yy;\n case 8:\n yy.getLogger().trace(\"Stop NL \");\n break;\n case 9:\n yy.getLogger().trace(\"Stop EOF \");\n break;\n case 11:\n yy.getLogger().trace(\"Stop NL2 \");\n break;\n case 12:\n yy.getLogger().trace(\"Stop EOF2 \");\n break;\n case 15:\n yy.getLogger().info(\"Node: \", $$[$0].id);\n yy.addNode($$[$0 - 1].length, $$[$0].id, $$[$0].descr, $$[$0].type);\n break;\n case 16:\n yy.getLogger().trace(\"Icon: \", $$[$0]);\n yy.decorateNode({ icon: $$[$0] });\n break;\n case 17:\n case 21:\n yy.decorateNode({ class: $$[$0] });\n break;\n case 18:\n yy.getLogger().trace(\"SPACELIST\");\n break;\n case 19:\n yy.getLogger().trace(\"Node: \", $$[$0].id);\n yy.addNode(0, $$[$0].id, $$[$0].descr, $$[$0].type);\n break;\n case 20:\n yy.decorateNode({ icon: $$[$0] });\n break;\n case 25:\n yy.getLogger().trace(\"node found ..\", $$[$0 - 2]);\n this.$ = { id: $$[$0 - 1], descr: $$[$0 - 1], type: yy.getType($$[$0 - 2], $$[$0]) };\n break;\n case 26:\n this.$ = { id: $$[$0], descr: $$[$0], type: yy.nodeType.DEFAULT };\n break;\n case 27:\n yy.getLogger().trace(\"node found ..\", $$[$0 - 3]);\n this.$ = { id: $$[$0 - 3], descr: $$[$0 - 1], type: yy.getType($$[$0 - 2], $$[$0]) };\n break;\n }\n },\n table: [{ 3: 1, 4: 2, 5: 3, 6: [1, 5], 8: $V0 }, { 1: [3] }, { 1: [2, 1] }, { 4: 6, 6: [1, 7], 7: [1, 8], 8: $V0 }, { 6: $V1, 7: [1, 10], 9: 9, 12: 11, 13: $V2, 14: 14, 15: $V3, 16: $V4, 17: 17, 18: 18, 19: $V5, 22: $V6 }, o($V7, [2, 3]), { 1: [2, 2] }, o($V7, [2, 4]), o($V7, [2, 5]), { 1: [2, 6], 6: $V1, 12: 21, 13: $V2, 14: 14, 15: $V3, 16: $V4, 17: 17, 18: 18, 19: $V5, 22: $V6 }, { 6: $V1, 9: 22, 12: 11, 13: $V2, 14: 14, 15: $V3, 16: $V4, 17: 17, 18: 18, 19: $V5, 22: $V6 }, { 6: $V8, 7: $V9, 10: 23, 11: $Va }, o($Vb, [2, 22], { 17: 17, 18: 18, 14: 27, 15: [1, 28], 16: [1, 29], 19: $V5, 22: $V6 }), o($Vb, [2, 18]), o($Vb, [2, 19]), o($Vb, [2, 20]), o($Vb, [2, 21]), o($Vb, [2, 23]), o($Vb, [2, 24]), o($Vb, [2, 26], { 19: [1, 30] }), { 20: [1, 31] }, { 6: $V8, 7: $V9, 10: 32, 11: $Va }, { 1: [2, 7], 6: $V1, 12: 21, 13: $V2, 14: 14, 15: $V3, 16: $V4, 17: 17, 18: 18, 19: $V5, 22: $V6 }, o($Vc, [2, 14], { 7: $Vd, 11: $Ve }), o($Vf, [2, 8]), o($Vf, [2, 9]), o($Vf, [2, 10]), o($Vb, [2, 15]), o($Vb, [2, 16]), o($Vb, [2, 17]), { 20: [1, 35] }, { 21: [1, 36] }, o($Vc, [2, 13], { 7: $Vd, 11: $Ve }), o($Vf, [2, 11]), o($Vf, [2, 12]), { 21: [1, 37] }, o($Vb, [2, 25]), o($Vb, [2, 27])],\n defaultActions: { 2: [2, 1], 6: [2, 2] },\n parseError: function parseError2(str2, hash) {\n if (hash.recoverable) {\n this.trace(str2);\n } else {\n var error = new Error(str2);\n error.hash = hash;\n throw error;\n }\n },\n parse: function parse2(input) {\n var self2 = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function lex2() {\n var token2;\n token2 = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token2 !== \"number\") {\n if (token2 instanceof Array) {\n tstack = token2;\n token2 = tstack.pop();\n }\n token2 = self2.symbols_[token2] || token2;\n }\n return token2;\n }\n var symbol, state, action, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex2();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }\n };\n var lexer = function() {\n var lexer2 = {\n EOF: 1,\n parseError: function parseError2(str2, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str2, hash);\n } else {\n throw new Error(str2);\n }\n },\n // resets the lexer, sets new input\n setInput: function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n },\n // consumes and returns one char from the input\n input: function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n },\n // unshifts one char (or a string) into the input\n unput: function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n },\n // When called from action, caches matched text and appends it on next action\n more: function() {\n this._more = true;\n return this;\n },\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n },\n // retain first n characters of the match\n less: function(n) {\n this.unput(this.match.slice(n));\n },\n // displays already matched input, i.e. for error messages\n pastInput: function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n },\n // displays upcoming input, i.e. for error messages\n upcomingInput: function() {\n var next2 = this.match;\n if (next2.length < 20) {\n next2 += this._input.substr(0, 20 - next2.length);\n }\n return (next2.substr(0, 20) + (next2.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n },\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: function() {\n var pre = this.pastInput();\n var c2 = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c2 + \"^\";\n },\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: function(match, indexed_rule) {\n var token2, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token2 = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token2) {\n return token2;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n },\n // return next match in input\n next: function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token2, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i2 = 0; i2 < rules.length; i2++) {\n tempMatch = this._input.match(this.rules[rules[i2]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i2;\n if (this.options.backtrack_lexer) {\n token2 = this.test_match(tempMatch, rules[i2]);\n if (token2 !== false) {\n return token2;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token2 = this.test_match(match, rules[index]);\n if (token2 !== false) {\n return token2;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n },\n // return next match that has a token\n lex: function lex2() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n },\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: function begin(condition) {\n this.conditionStack.push(condition);\n },\n // pop the previously active lexer condition state off the condition stack\n popState: function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n },\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n },\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n },\n // alias for begin(condition)\n pushState: function pushState(condition) {\n this.begin(condition);\n },\n // return the number of states currently on the stack\n stateStackSize: function stateStackSize() {\n return this.conditionStack.length;\n },\n options: { \"case-insensitive\": true },\n performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n switch ($avoiding_name_collisions) {\n case 0:\n yy.getLogger().trace(\"Found comment\", yy_.yytext);\n break;\n case 1:\n return 8;\n case 2:\n this.begin(\"CLASS\");\n break;\n case 3:\n this.popState();\n return 16;\n case 4:\n this.popState();\n break;\n case 5:\n yy.getLogger().trace(\"Begin icon\");\n this.begin(\"ICON\");\n break;\n case 6:\n yy.getLogger().trace(\"SPACELINE\");\n return 6;\n case 7:\n return 7;\n case 8:\n return 15;\n case 9:\n yy.getLogger().trace(\"end icon\");\n this.popState();\n break;\n case 10:\n yy.getLogger().trace(\"Exploding node\");\n this.begin(\"NODE\");\n return 19;\n case 11:\n yy.getLogger().trace(\"Cloud\");\n this.begin(\"NODE\");\n return 19;\n case 12:\n yy.getLogger().trace(\"Explosion Bang\");\n this.begin(\"NODE\");\n return 19;\n case 13:\n yy.getLogger().trace(\"Cloud Bang\");\n this.begin(\"NODE\");\n return 19;\n case 14:\n this.begin(\"NODE\");\n return 19;\n case 15:\n this.begin(\"NODE\");\n return 19;\n case 16:\n this.begin(\"NODE\");\n return 19;\n case 17:\n this.begin(\"NODE\");\n return 19;\n case 18:\n return 13;\n case 19:\n return 22;\n case 20:\n return 11;\n case 21:\n yy.getLogger().trace(\"Starting NSTR\");\n this.begin(\"NSTR\");\n break;\n case 22:\n yy.getLogger().trace(\"description:\", yy_.yytext);\n return \"NODE_DESCR\";\n case 23:\n this.popState();\n break;\n case 24:\n this.popState();\n yy.getLogger().trace(\"node end ))\");\n return \"NODE_DEND\";\n case 25:\n this.popState();\n yy.getLogger().trace(\"node end )\");\n return \"NODE_DEND\";\n case 26:\n this.popState();\n yy.getLogger().trace(\"node end ...\", yy_.yytext);\n return \"NODE_DEND\";\n case 27:\n this.popState();\n yy.getLogger().trace(\"node end ((\");\n return \"NODE_DEND\";\n case 28:\n this.popState();\n yy.getLogger().trace(\"node end (-\");\n return \"NODE_DEND\";\n case 29:\n this.popState();\n yy.getLogger().trace(\"node end (-\");\n return \"NODE_DEND\";\n case 30:\n this.popState();\n yy.getLogger().trace(\"node end ((\");\n return \"NODE_DEND\";\n case 31:\n this.popState();\n yy.getLogger().trace(\"node end ((\");\n return \"NODE_DEND\";\n case 32:\n yy.getLogger().trace(\"Long description:\", yy_.yytext);\n return 20;\n case 33:\n yy.getLogger().trace(\"Long description:\", yy_.yytext);\n return 20;\n }\n },\n rules: [/^(?:\\s*%%.*)/i, /^(?:mindmap\\b)/i, /^(?::::)/i, /^(?:.+)/i, /^(?:\\n)/i, /^(?:::icon\\()/i, /^(?:[\\s]+[\\n])/i, /^(?:[\\n]+)/i, /^(?:[^\\)]+)/i, /^(?:\\))/i, /^(?:-\\))/i, /^(?:\\(-)/i, /^(?:\\)\\))/i, /^(?:\\))/i, /^(?:\\(\\()/i, /^(?:\\{\\{)/i, /^(?:\\()/i, /^(?:\\[)/i, /^(?:[\\s]+)/i, /^(?:[^\\(\\[\\n\\-\\)\\{\\}]+)/i, /^(?:$)/i, /^(?:[\"])/i, /^(?:[^\"]+)/i, /^(?:[\"])/i, /^(?:[\\)]\\))/i, /^(?:[\\)])/i, /^(?:[\\]])/i, /^(?:\\}\\})/i, /^(?:\\(-)/i, /^(?:-\\))/i, /^(?:\\(\\()/i, /^(?:\\()/i, /^(?:[^\\)\\]\\(\\}]+)/i, /^(?:.+(?!\\(\\())/i],\n conditions: { \"CLASS\": { \"rules\": [3, 4], \"inclusive\": false }, \"ICON\": { \"rules\": [8, 9], \"inclusive\": false }, \"NSTR\": { \"rules\": [22, 23], \"inclusive\": false }, \"NODE\": { \"rules\": [21, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n }();\n parser.parser = parser;\n const mindmapParser = parser;\n const sanitizeText = (text2) => sanitizeText$6(text2, getConfig$1());\n let nodes = [];\n let cnt = 0;\n let elements = {};\n const clear = () => {\n nodes = [];\n cnt = 0;\n elements = {};\n };\n const getParent = function(level) {\n for (let i2 = nodes.length - 1; i2 >= 0; i2--) {\n if (nodes[i2].level < level) {\n return nodes[i2];\n }\n }\n return null;\n };\n const getMindmap = () => {\n return nodes.length > 0 ? nodes[0] : null;\n };\n const addNode = (level, id2, descr, type2) => {\n log$1.info(\"addNode\", level, id2, descr, type2);\n const conf2 = getConfig$1();\n const node2 = {\n id: cnt++,\n nodeId: sanitizeText(id2),\n level,\n descr: sanitizeText(descr),\n type: type2,\n children: [],\n width: getConfig$1().mindmap.maxNodeWidth\n };\n switch (node2.type) {\n case nodeType.ROUNDED_RECT:\n node2.padding = 2 * conf2.mindmap.padding;\n break;\n case nodeType.RECT:\n node2.padding = 2 * conf2.mindmap.padding;\n break;\n case nodeType.HEXAGON:\n node2.padding = 2 * conf2.mindmap.padding;\n break;\n default:\n node2.padding = conf2.mindmap.padding;\n }\n const parent = getParent(level);\n if (parent) {\n parent.children.push(node2);\n nodes.push(node2);\n } else {\n if (nodes.length === 0) {\n nodes.push(node2);\n } else {\n let error = new Error(\n 'There can be only one root. No parent could be found for (\"' + node2.descr + '\")'\n );\n error.hash = {\n text: \"branch \" + name,\n token: \"branch \" + name,\n line: \"1\",\n loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 },\n expected: ['\"checkout ' + name + '\"']\n };\n throw error;\n }\n }\n };\n const nodeType = {\n DEFAULT: 0,\n NO_BORDER: 0,\n ROUNDED_RECT: 1,\n RECT: 2,\n CIRCLE: 3,\n CLOUD: 4,\n BANG: 5,\n HEXAGON: 6\n };\n const getType = (startStr, endStr) => {\n log$1.debug(\"In get type\", startStr, endStr);\n switch (startStr) {\n case \"[\":\n return nodeType.RECT;\n case \"(\":\n return endStr === \")\" ? nodeType.ROUNDED_RECT : nodeType.CLOUD;\n case \"((\":\n return nodeType.CIRCLE;\n case \")\":\n return nodeType.CLOUD;\n case \"))\":\n return nodeType.BANG;\n case \"{{\":\n return nodeType.HEXAGON;\n default:\n return nodeType.DEFAULT;\n }\n };\n const setElementForId = (id2, element) => {\n elements[id2] = element;\n };\n const decorateNode = (decoration) => {\n const node2 = nodes[nodes.length - 1];\n if (decoration && decoration.icon) {\n node2.icon = sanitizeText(decoration.icon);\n }\n if (decoration && decoration.class) {\n node2.class = sanitizeText(decoration.class);\n }\n };\n const type2Str = (type2) => {\n switch (type2) {\n case nodeType.DEFAULT:\n return \"no-border\";\n case nodeType.RECT:\n return \"rect\";\n case nodeType.ROUNDED_RECT:\n return \"rounded-rect\";\n case nodeType.CIRCLE:\n return \"circle\";\n case nodeType.CLOUD:\n return \"cloud\";\n case nodeType.BANG:\n return \"bang\";\n case nodeType.HEXAGON:\n return \"hexgon\";\n default:\n return \"no-border\";\n }\n };\n let parseError;\n const setErrorHandler = (handler) => {\n parseError = handler;\n };\n const getLogger = () => log$1;\n const getNodeById = (id2) => nodes[id2];\n const getElementById = (id2) => elements[id2];\n const mindmapDb = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n addNode,\n clear,\n decorateNode,\n getElementById,\n getLogger,\n getMindmap,\n getNodeById,\n getType,\n nodeType,\n get parseError() {\n return parseError;\n },\n sanitizeText,\n setElementForId,\n setErrorHandler,\n type2Str\n }, Symbol.toStringTag, { value: \"Module\" }));\n const MAX_SECTIONS = 12;\n function wrap(text2, width2) {\n text2.each(function() {\n var text3 = select(this), words = text3.text().split(/(\\s+|
)/).reverse(), word, line2 = [], lineHeight = 1.1, y2 = text3.attr(\"y\"), dy = parseFloat(text3.attr(\"dy\")), tspan = text3.text(null).append(\"tspan\").attr(\"x\", 0).attr(\"y\", y2).attr(\"dy\", dy + \"em\");\n for (let j = 0; j < words.length; j++) {\n word = words[words.length - 1 - j];\n line2.push(word);\n tspan.text(line2.join(\" \").trim());\n if (tspan.node().getComputedTextLength() > width2 || word === \"
\") {\n line2.pop();\n tspan.text(line2.join(\" \").trim());\n if (word === \"
\") {\n line2 = [\"\"];\n } else {\n line2 = [word];\n }\n tspan = text3.append(\"tspan\").attr(\"x\", 0).attr(\"y\", y2).attr(\"dy\", lineHeight + \"em\").text(word);\n }\n }\n });\n }\n const defaultBkg = function(elem, node2, section) {\n const rd = 5;\n elem.append(\"path\").attr(\"id\", \"node-\" + node2.id).attr(\"class\", \"node-bkg node-\" + type2Str(node2.type)).attr(\n \"d\",\n `M0 ${node2.height - rd} v${-node2.height + 2 * rd} q0,-5 5,-5 h${node2.width - 2 * rd} q5,0 5,5 v${node2.height - rd} H0 Z`\n );\n elem.append(\"line\").attr(\"class\", \"node-line-\" + section).attr(\"x1\", 0).attr(\"y1\", node2.height).attr(\"x2\", node2.width).attr(\"y2\", node2.height);\n };\n const rectBkg = function(elem, node2) {\n elem.append(\"rect\").attr(\"id\", \"node-\" + node2.id).attr(\"class\", \"node-bkg node-\" + type2Str(node2.type)).attr(\"height\", node2.height).attr(\"width\", node2.width);\n };\n const cloudBkg = function(elem, node2) {\n const w2 = node2.width;\n const h = node2.height;\n const r1 = 0.15 * w2;\n const r2 = 0.25 * w2;\n const r3 = 0.35 * w2;\n const r4 = 0.2 * w2;\n elem.append(\"path\").attr(\"id\", \"node-\" + node2.id).attr(\"class\", \"node-bkg node-\" + type2Str(node2.type)).attr(\n \"d\",\n `M0 0 a${r1},${r1} 0 0,1 ${w2 * 0.25},${-1 * w2 * 0.1}\n a${r3},${r3} 1 0,1 ${w2 * 0.4},${-1 * w2 * 0.1}\n a${r2},${r2} 1 0,1 ${w2 * 0.35},${1 * w2 * 0.2}\n\n a${r1},${r1} 1 0,1 ${w2 * 0.15},${1 * h * 0.35}\n a${r4},${r4} 1 0,1 ${-1 * w2 * 0.15},${1 * h * 0.65}\n\n a${r2},${r1} 1 0,1 ${-1 * w2 * 0.25},${w2 * 0.15}\n a${r3},${r3} 1 0,1 ${-1 * w2 * 0.5},${0}\n a${r1},${r1} 1 0,1 ${-1 * w2 * 0.25},${-1 * w2 * 0.15}\n\n a${r1},${r1} 1 0,1 ${-1 * w2 * 0.1},${-1 * h * 0.35}\n a${r4},${r4} 1 0,1 ${w2 * 0.1},${-1 * h * 0.65}\n\n H0 V0 Z`\n );\n };\n const bangBkg = function(elem, node2) {\n const w2 = node2.width;\n const h = node2.height;\n const r = 0.15 * w2;\n elem.append(\"path\").attr(\"id\", \"node-\" + node2.id).attr(\"class\", \"node-bkg node-\" + type2Str(node2.type)).attr(\n \"d\",\n `M0 0 a${r},${r} 1 0,0 ${w2 * 0.25},${-1 * h * 0.1}\n a${r},${r} 1 0,0 ${w2 * 0.25},${0}\n a${r},${r} 1 0,0 ${w2 * 0.25},${0}\n a${r},${r} 1 0,0 ${w2 * 0.25},${1 * h * 0.1}\n\n a${r},${r} 1 0,0 ${w2 * 0.15},${1 * h * 0.33}\n a${r * 0.8},${r * 0.8} 1 0,0 ${0},${1 * h * 0.34}\n a${r},${r} 1 0,0 ${-1 * w2 * 0.15},${1 * h * 0.33}\n\n a${r},${r} 1 0,0 ${-1 * w2 * 0.25},${h * 0.15}\n a${r},${r} 1 0,0 ${-1 * w2 * 0.25},${0}\n a${r},${r} 1 0,0 ${-1 * w2 * 0.25},${0}\n a${r},${r} 1 0,0 ${-1 * w2 * 0.25},${-1 * h * 0.15}\n\n a${r},${r} 1 0,0 ${-1 * w2 * 0.1},${-1 * h * 0.33}\n a${r * 0.8},${r * 0.8} 1 0,0 ${0},${-1 * h * 0.34}\n a${r},${r} 1 0,0 ${w2 * 0.1},${-1 * h * 0.33}\n\n H0 V0 Z`\n );\n };\n const circleBkg = function(elem, node2) {\n elem.append(\"circle\").attr(\"id\", \"node-\" + node2.id).attr(\"class\", \"node-bkg node-\" + type2Str(node2.type)).attr(\"r\", node2.width / 2);\n };\n function insertPolygonShape(parent, w2, h, points, node2) {\n return parent.insert(\"polygon\", \":first-child\").attr(\n \"points\",\n points.map(function(d) {\n return d.x + \",\" + d.y;\n }).join(\" \")\n ).attr(\"transform\", \"translate(\" + (node2.width - w2) / 2 + \", \" + h + \")\");\n }\n const hexagonBkg = function(elem, node2) {\n const h = node2.height;\n const f2 = 4;\n const m = h / f2;\n const w2 = node2.width - node2.padding + 2 * m;\n const points = [\n { x: m, y: 0 },\n { x: w2 - m, y: 0 },\n { x: w2, y: -h / 2 },\n { x: w2 - m, y: -h },\n { x: m, y: -h },\n { x: 0, y: -h / 2 }\n ];\n insertPolygonShape(elem, w2, h, points, node2);\n };\n const roundedRectBkg = function(elem, node2) {\n elem.append(\"rect\").attr(\"id\", \"node-\" + node2.id).attr(\"class\", \"node-bkg node-\" + type2Str(node2.type)).attr(\"height\", node2.height).attr(\"rx\", node2.padding).attr(\"ry\", node2.padding).attr(\"width\", node2.width);\n };\n const drawNode = function(elem, node2, fullSection, conf2) {\n const section = fullSection % (MAX_SECTIONS - 1);\n const nodeElem = elem.append(\"g\");\n node2.section = section;\n let sectionClass = \"section-\" + section;\n if (section < 0) {\n sectionClass += \" section-root\";\n }\n nodeElem.attr(\"class\", (node2.class ? node2.class + \" \" : \"\") + \"mindmap-node \" + sectionClass);\n const bkgElem = nodeElem.append(\"g\");\n const textElem = nodeElem.append(\"g\");\n const txt = textElem.append(\"text\").text(node2.descr).attr(\"dy\", \"1em\").attr(\"alignment-baseline\", \"middle\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").call(wrap, node2.width);\n const bbox = txt.node().getBBox();\n const fontSize = conf2.fontSize.replace ? conf2.fontSize.replace(\"px\", \"\") : conf2.fontSize;\n node2.height = bbox.height + fontSize * 1.1 * 0.5 + node2.padding;\n node2.width = bbox.width + 2 * node2.padding;\n if (node2.icon) {\n if (node2.type === nodeType.CIRCLE) {\n node2.height += 50;\n node2.width += 50;\n const icon = nodeElem.append(\"foreignObject\").attr(\"height\", \"50px\").attr(\"width\", node2.width).attr(\"style\", \"text-align: center;\");\n icon.append(\"div\").attr(\"class\", \"icon-container\").append(\"i\").attr(\"class\", \"node-icon-\" + section + \" \" + node2.icon);\n textElem.attr(\n \"transform\",\n \"translate(\" + node2.width / 2 + \", \" + (node2.height / 2 - 1.5 * node2.padding) + \")\"\n );\n } else {\n node2.width += 50;\n const orgHeight = node2.height;\n node2.height = Math.max(orgHeight, 60);\n const heightDiff = Math.abs(node2.height - orgHeight);\n const icon = nodeElem.append(\"foreignObject\").attr(\"width\", \"60px\").attr(\"height\", node2.height).attr(\"style\", \"text-align: center;margin-top:\" + heightDiff / 2 + \"px;\");\n icon.append(\"div\").attr(\"class\", \"icon-container\").append(\"i\").attr(\"class\", \"node-icon-\" + section + \" \" + node2.icon);\n textElem.attr(\n \"transform\",\n \"translate(\" + (25 + node2.width / 2) + \", \" + (heightDiff / 2 + node2.padding / 2) + \")\"\n );\n }\n } else {\n textElem.attr(\"transform\", \"translate(\" + node2.width / 2 + \", \" + node2.padding / 2 + \")\");\n }\n switch (node2.type) {\n case nodeType.DEFAULT:\n defaultBkg(bkgElem, node2, section);\n break;\n case nodeType.ROUNDED_RECT:\n roundedRectBkg(bkgElem, node2);\n break;\n case nodeType.RECT:\n rectBkg(bkgElem, node2);\n break;\n case nodeType.CIRCLE:\n bkgElem.attr(\"transform\", \"translate(\" + node2.width / 2 + \", \" + +node2.height / 2 + \")\");\n circleBkg(bkgElem, node2);\n break;\n case nodeType.CLOUD:\n cloudBkg(bkgElem, node2);\n break;\n case nodeType.BANG:\n bangBkg(bkgElem, node2);\n break;\n case nodeType.HEXAGON:\n hexagonBkg(bkgElem, node2);\n break;\n }\n setElementForId(node2.id, nodeElem);\n return node2.height;\n };\n const drawEdge = function drawEdge2(edgesElem, mindmap, parent, depth, fullSection) {\n const section = fullSection % (MAX_SECTIONS - 1);\n const sx = parent.x + parent.width / 2;\n const sy = parent.y + parent.height / 2;\n const ex = mindmap.x + mindmap.width / 2;\n const ey = mindmap.y + mindmap.height / 2;\n const mx = ex > sx ? sx + Math.abs(sx - ex) / 2 : sx - Math.abs(sx - ex) / 2;\n const my = ey > sy ? sy + Math.abs(sy - ey) / 2 : sy - Math.abs(sy - ey) / 2;\n const qx = ex > sx ? Math.abs(sx - mx) / 2 + sx : -Math.abs(sx - mx) / 2 + sx;\n const qy = ey > sy ? Math.abs(sy - my) / 2 + sy : -Math.abs(sy - my) / 2 + sy;\n edgesElem.append(\"path\").attr(\n \"d\",\n parent.direction === \"TB\" || parent.direction === \"BT\" ? `M${sx},${sy} Q${sx},${qy} ${mx},${my} T${ex},${ey}` : `M${sx},${sy} Q${qx},${sy} ${mx},${my} T${ex},${ey}`\n ).attr(\"class\", \"edge section-edge-\" + section + \" edge-depth-\" + depth);\n };\n const positionNode = function(node2) {\n const nodeElem = getElementById(node2.id);\n const x2 = node2.x || 0;\n const y2 = node2.y || 0;\n nodeElem.attr(\"transform\", \"translate(\" + x2 + \",\" + y2 + \")\");\n };\n const svgDraw = { drawNode, positionNode, drawEdge };\n var cytoscape_umdExports = {};\n var cytoscape_umd = {\n get exports() {\n return cytoscape_umdExports;\n },\n set exports(v) {\n cytoscape_umdExports = v;\n }\n };\n (function(module2, exports2) {\n (function(global2, factory) {\n module2.exports = factory();\n })(commonjsGlobal, function() {\n function _typeof2(obj) {\n \"@babel/helpers - typeof\";\n return _typeof2 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj2) {\n return typeof obj2;\n } : function(obj2) {\n return obj2 && \"function\" == typeof Symbol && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? \"symbol\" : typeof obj2;\n }, _typeof2(obj);\n }\n function _classCallCheck(instance2, Constructor) {\n if (!(instance2 instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _defineProperties(target, props) {\n for (var i3 = 0; i3 < props.length; i3++) {\n var descriptor = props[i3];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n function _defineProperty$1(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n function _slicedToArray(arr, i3) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i3) || _unsupportedIterableToArray2(arr, i3) || _nonIterableRest();\n }\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr))\n return arr;\n }\n function _iterableToArrayLimit(arr, i3) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null)\n return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i3 && _arr.length === i3)\n break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null)\n _i[\"return\"]();\n } finally {\n if (_d)\n throw _e;\n }\n }\n return _arr;\n }\n function _unsupportedIterableToArray2(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray2(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray2(o, minLen);\n }\n function _arrayLikeToArray2(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i3 = 0, arr2 = new Array(len); i3 < len; i3++)\n arr2[i3] = arr[i3];\n return arr2;\n }\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var window$1 = typeof window === \"undefined\" ? null : window;\n var navigator2 = window$1 ? window$1.navigator : null;\n window$1 ? window$1.document : null;\n var typeofstr = _typeof2(\"\");\n var typeofobj = _typeof2({});\n var typeoffn = _typeof2(function() {\n });\n var typeofhtmlele = typeof HTMLElement === \"undefined\" ? \"undefined\" : _typeof2(HTMLElement);\n var instanceStr = function instanceStr2(obj) {\n return obj && obj.instanceString && fn$6(obj.instanceString) ? obj.instanceString() : null;\n };\n var string = function string2(obj) {\n return obj != null && _typeof2(obj) == typeofstr;\n };\n var fn$6 = function fn2(obj) {\n return obj != null && _typeof2(obj) === typeoffn;\n };\n var array2 = function array3(obj) {\n return !elementOrCollection(obj) && (Array.isArray ? Array.isArray(obj) : obj != null && obj instanceof Array);\n };\n var plainObject = function plainObject2(obj) {\n return obj != null && _typeof2(obj) === typeofobj && !array2(obj) && obj.constructor === Object;\n };\n var object2 = function object3(obj) {\n return obj != null && _typeof2(obj) === typeofobj;\n };\n var number$12 = function number3(obj) {\n return obj != null && _typeof2(obj) === _typeof2(1) && !isNaN(obj);\n };\n var integer = function integer2(obj) {\n return number$12(obj) && Math.floor(obj) === obj;\n };\n var htmlElement = function htmlElement2(obj) {\n if (\"undefined\" === typeofhtmlele) {\n return void 0;\n } else {\n return null != obj && obj instanceof HTMLElement;\n }\n };\n var elementOrCollection = function elementOrCollection2(obj) {\n return element(obj) || collection(obj);\n };\n var element = function element2(obj) {\n return instanceStr(obj) === \"collection\" && obj._private.single;\n };\n var collection = function collection2(obj) {\n return instanceStr(obj) === \"collection\" && !obj._private.single;\n };\n var core2 = function core3(obj) {\n return instanceStr(obj) === \"core\";\n };\n var stylesheet = function stylesheet2(obj) {\n return instanceStr(obj) === \"stylesheet\";\n };\n var event = function event2(obj) {\n return instanceStr(obj) === \"event\";\n };\n var emptyString = function emptyString2(obj) {\n if (obj === void 0 || obj === null) {\n return true;\n } else if (obj === \"\" || obj.match(/^\\s+$/)) {\n return true;\n }\n return false;\n };\n var domElement = function domElement2(obj) {\n if (typeof HTMLElement === \"undefined\") {\n return false;\n } else {\n return obj instanceof HTMLElement;\n }\n };\n var boundingBox = function boundingBox2(obj) {\n return plainObject(obj) && number$12(obj.x1) && number$12(obj.x2) && number$12(obj.y1) && number$12(obj.y2);\n };\n var promise = function promise2(obj) {\n return object2(obj) && fn$6(obj.then);\n };\n var ms = function ms2() {\n return navigator2 && navigator2.userAgent.match(/msie|trident|edge/i);\n };\n var memoize$1 = function memoize3(fn2, keyFn) {\n if (!keyFn) {\n keyFn = function keyFn2() {\n if (arguments.length === 1) {\n return arguments[0];\n } else if (arguments.length === 0) {\n return \"undefined\";\n }\n var args = [];\n for (var i3 = 0; i3 < arguments.length; i3++) {\n args.push(arguments[i3]);\n }\n return args.join(\"$\");\n };\n }\n var memoizedFn = function memoizedFn2() {\n var self2 = this;\n var args = arguments;\n var ret;\n var k = keyFn.apply(self2, args);\n var cache2 = memoizedFn2.cache;\n if (!(ret = cache2[k])) {\n ret = cache2[k] = fn2.apply(self2, args);\n }\n return ret;\n };\n memoizedFn.cache = {};\n return memoizedFn;\n };\n var camel2dash = memoize$1(function(str2) {\n return str2.replace(/([A-Z])/g, function(v) {\n return \"-\" + v.toLowerCase();\n });\n });\n var dash2camel = memoize$1(function(str2) {\n return str2.replace(/(-\\w)/g, function(v) {\n return v[1].toUpperCase();\n });\n });\n var prependCamel = memoize$1(function(prefix, str2) {\n return prefix + str2[0].toUpperCase() + str2.substring(1);\n }, function(prefix, str2) {\n return prefix + \"$\" + str2;\n });\n var capitalize = function capitalize2(str2) {\n if (emptyString(str2)) {\n return str2;\n }\n return str2.charAt(0).toUpperCase() + str2.substring(1);\n };\n var number2 = \"(?:[-+]?(?:(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:[Ee][+-]?\\\\d+)?))\";\n var rgba2 = \"rgb[a]?\\\\((\" + number2 + \"[%]?)\\\\s*,\\\\s*(\" + number2 + \"[%]?)\\\\s*,\\\\s*(\" + number2 + \"[%]?)(?:\\\\s*,\\\\s*(\" + number2 + \"))?\\\\)\";\n var rgbaNoBackRefs = \"rgb[a]?\\\\((?:\" + number2 + \"[%]?)\\\\s*,\\\\s*(?:\" + number2 + \"[%]?)\\\\s*,\\\\s*(?:\" + number2 + \"[%]?)(?:\\\\s*,\\\\s*(?:\" + number2 + \"))?\\\\)\";\n var hsla2 = \"hsl[a]?\\\\((\" + number2 + \")\\\\s*,\\\\s*(\" + number2 + \"[%])\\\\s*,\\\\s*(\" + number2 + \"[%])(?:\\\\s*,\\\\s*(\" + number2 + \"))?\\\\)\";\n var hslaNoBackRefs = \"hsl[a]?\\\\((?:\" + number2 + \")\\\\s*,\\\\s*(?:\" + number2 + \"[%])\\\\s*,\\\\s*(?:\" + number2 + \"[%])(?:\\\\s*,\\\\s*(?:\" + number2 + \"))?\\\\)\";\n var hex3 = \"\\\\#[0-9a-fA-F]{3}\";\n var hex6 = \"\\\\#[0-9a-fA-F]{6}\";\n var ascending2 = function ascending3(a, b) {\n if (a < b) {\n return -1;\n } else if (a > b) {\n return 1;\n } else {\n return 0;\n }\n };\n var descending2 = function descending3(a, b) {\n return -1 * ascending2(a, b);\n };\n var extend2 = Object.assign != null ? Object.assign.bind(Object) : function(tgt) {\n var args = arguments;\n for (var i3 = 1; i3 < args.length; i3++) {\n var obj = args[i3];\n if (obj == null) {\n continue;\n }\n var keys2 = Object.keys(obj);\n for (var j = 0; j < keys2.length; j++) {\n var k = keys2[j];\n tgt[k] = obj[k];\n }\n }\n return tgt;\n };\n var hex2tuple = function hex2tuple2(hex2) {\n if (!(hex2.length === 4 || hex2.length === 7) || hex2[0] !== \"#\") {\n return;\n }\n var shortHex = hex2.length === 4;\n var r, g, b;\n var base = 16;\n if (shortHex) {\n r = parseInt(hex2[1] + hex2[1], base);\n g = parseInt(hex2[2] + hex2[2], base);\n b = parseInt(hex2[3] + hex2[3], base);\n } else {\n r = parseInt(hex2[1] + hex2[2], base);\n g = parseInt(hex2[3] + hex2[4], base);\n b = parseInt(hex2[5] + hex2[6], base);\n }\n return [r, g, b];\n };\n var hsl2tuple = function hsl2tuple2(hsl2) {\n var ret;\n var h, s, l, a, r, g, b;\n function hue2rgb(p3, q2, t) {\n if (t < 0)\n t += 1;\n if (t > 1)\n t -= 1;\n if (t < 1 / 6)\n return p3 + (q2 - p3) * 6 * t;\n if (t < 1 / 2)\n return q2;\n if (t < 2 / 3)\n return p3 + (q2 - p3) * (2 / 3 - t) * 6;\n return p3;\n }\n var m = new RegExp(\"^\" + hsla2 + \"$\").exec(hsl2);\n if (m) {\n h = parseInt(m[1]);\n if (h < 0) {\n h = (360 - -1 * h % 360) % 360;\n } else if (h > 360) {\n h = h % 360;\n }\n h /= 360;\n s = parseFloat(m[2]);\n if (s < 0 || s > 100) {\n return;\n }\n s = s / 100;\n l = parseFloat(m[3]);\n if (l < 0 || l > 100) {\n return;\n }\n l = l / 100;\n a = m[4];\n if (a !== void 0) {\n a = parseFloat(a);\n if (a < 0 || a > 1) {\n return;\n }\n }\n if (s === 0) {\n r = g = b = Math.round(l * 255);\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p2 = 2 * l - q;\n r = Math.round(255 * hue2rgb(p2, q, h + 1 / 3));\n g = Math.round(255 * hue2rgb(p2, q, h));\n b = Math.round(255 * hue2rgb(p2, q, h - 1 / 3));\n }\n ret = [r, g, b, a];\n }\n return ret;\n };\n var rgb2tuple = function rgb2tuple2(rgb2) {\n var ret;\n var m = new RegExp(\"^\" + rgba2 + \"$\").exec(rgb2);\n if (m) {\n ret = [];\n var isPct = [];\n for (var i3 = 1; i3 <= 3; i3++) {\n var channel2 = m[i3];\n if (channel2[channel2.length - 1] === \"%\") {\n isPct[i3] = true;\n }\n channel2 = parseFloat(channel2);\n if (isPct[i3]) {\n channel2 = channel2 / 100 * 255;\n }\n if (channel2 < 0 || channel2 > 255) {\n return;\n }\n ret.push(Math.floor(channel2));\n }\n var atLeastOneIsPct = isPct[1] || isPct[2] || isPct[3];\n var allArePct = isPct[1] && isPct[2] && isPct[3];\n if (atLeastOneIsPct && !allArePct) {\n return;\n }\n var alpha = m[4];\n if (alpha !== void 0) {\n alpha = parseFloat(alpha);\n if (alpha < 0 || alpha > 1) {\n return;\n }\n ret.push(alpha);\n }\n }\n return ret;\n };\n var colorname2tuple = function colorname2tuple2(color2) {\n return colors[color2.toLowerCase()];\n };\n var color2tuple = function color2tuple2(color2) {\n return (array2(color2) ? color2 : null) || colorname2tuple(color2) || hex2tuple(color2) || rgb2tuple(color2) || hsl2tuple(color2);\n };\n var colors = {\n // special colour names\n transparent: [0, 0, 0, 0],\n // NB alpha === 0\n // regular colours\n aliceblue: [240, 248, 255],\n antiquewhite: [250, 235, 215],\n aqua: [0, 255, 255],\n aquamarine: [127, 255, 212],\n azure: [240, 255, 255],\n beige: [245, 245, 220],\n bisque: [255, 228, 196],\n black: [0, 0, 0],\n blanchedalmond: [255, 235, 205],\n blue: [0, 0, 255],\n blueviolet: [138, 43, 226],\n brown: [165, 42, 42],\n burlywood: [222, 184, 135],\n cadetblue: [95, 158, 160],\n chartreuse: [127, 255, 0],\n chocolate: [210, 105, 30],\n coral: [255, 127, 80],\n cornflowerblue: [100, 149, 237],\n cornsilk: [255, 248, 220],\n crimson: [220, 20, 60],\n cyan: [0, 255, 255],\n darkblue: [0, 0, 139],\n darkcyan: [0, 139, 139],\n darkgoldenrod: [184, 134, 11],\n darkgray: [169, 169, 169],\n darkgreen: [0, 100, 0],\n darkgrey: [169, 169, 169],\n darkkhaki: [189, 183, 107],\n darkmagenta: [139, 0, 139],\n darkolivegreen: [85, 107, 47],\n darkorange: [255, 140, 0],\n darkorchid: [153, 50, 204],\n darkred: [139, 0, 0],\n darksalmon: [233, 150, 122],\n darkseagreen: [143, 188, 143],\n darkslateblue: [72, 61, 139],\n darkslategray: [47, 79, 79],\n darkslategrey: [47, 79, 79],\n darkturquoise: [0, 206, 209],\n darkviolet: [148, 0, 211],\n deeppink: [255, 20, 147],\n deepskyblue: [0, 191, 255],\n dimgray: [105, 105, 105],\n dimgrey: [105, 105, 105],\n dodgerblue: [30, 144, 255],\n firebrick: [178, 34, 34],\n floralwhite: [255, 250, 240],\n forestgreen: [34, 139, 34],\n fuchsia: [255, 0, 255],\n gainsboro: [220, 220, 220],\n ghostwhite: [248, 248, 255],\n gold: [255, 215, 0],\n goldenrod: [218, 165, 32],\n gray: [128, 128, 128],\n grey: [128, 128, 128],\n green: [0, 128, 0],\n greenyellow: [173, 255, 47],\n honeydew: [240, 255, 240],\n hotpink: [255, 105, 180],\n indianred: [205, 92, 92],\n indigo: [75, 0, 130],\n ivory: [255, 255, 240],\n khaki: [240, 230, 140],\n lavender: [230, 230, 250],\n lavenderblush: [255, 240, 245],\n lawngreen: [124, 252, 0],\n lemonchiffon: [255, 250, 205],\n lightblue: [173, 216, 230],\n lightcoral: [240, 128, 128],\n lightcyan: [224, 255, 255],\n lightgoldenrodyellow: [250, 250, 210],\n lightgray: [211, 211, 211],\n lightgreen: [144, 238, 144],\n lightgrey: [211, 211, 211],\n lightpink: [255, 182, 193],\n lightsalmon: [255, 160, 122],\n lightseagreen: [32, 178, 170],\n lightskyblue: [135, 206, 250],\n lightslategray: [119, 136, 153],\n lightslategrey: [119, 136, 153],\n lightsteelblue: [176, 196, 222],\n lightyellow: [255, 255, 224],\n lime: [0, 255, 0],\n limegreen: [50, 205, 50],\n linen: [250, 240, 230],\n magenta: [255, 0, 255],\n maroon: [128, 0, 0],\n mediumaquamarine: [102, 205, 170],\n mediumblue: [0, 0, 205],\n mediumorchid: [186, 85, 211],\n mediumpurple: [147, 112, 219],\n mediumseagreen: [60, 179, 113],\n mediumslateblue: [123, 104, 238],\n mediumspringgreen: [0, 250, 154],\n mediumturquoise: [72, 209, 204],\n mediumvioletred: [199, 21, 133],\n midnightblue: [25, 25, 112],\n mintcream: [245, 255, 250],\n mistyrose: [255, 228, 225],\n moccasin: [255, 228, 181],\n navajowhite: [255, 222, 173],\n navy: [0, 0, 128],\n oldlace: [253, 245, 230],\n olive: [128, 128, 0],\n olivedrab: [107, 142, 35],\n orange: [255, 165, 0],\n orangered: [255, 69, 0],\n orchid: [218, 112, 214],\n palegoldenrod: [238, 232, 170],\n palegreen: [152, 251, 152],\n paleturquoise: [175, 238, 238],\n palevioletred: [219, 112, 147],\n papayawhip: [255, 239, 213],\n peachpuff: [255, 218, 185],\n peru: [205, 133, 63],\n pink: [255, 192, 203],\n plum: [221, 160, 221],\n powderblue: [176, 224, 230],\n purple: [128, 0, 128],\n red: [255, 0, 0],\n rosybrown: [188, 143, 143],\n royalblue: [65, 105, 225],\n saddlebrown: [139, 69, 19],\n salmon: [250, 128, 114],\n sandybrown: [244, 164, 96],\n seagreen: [46, 139, 87],\n seashell: [255, 245, 238],\n sienna: [160, 82, 45],\n silver: [192, 192, 192],\n skyblue: [135, 206, 235],\n slateblue: [106, 90, 205],\n slategray: [112, 128, 144],\n slategrey: [112, 128, 144],\n snow: [255, 250, 250],\n springgreen: [0, 255, 127],\n steelblue: [70, 130, 180],\n tan: [210, 180, 140],\n teal: [0, 128, 128],\n thistle: [216, 191, 216],\n tomato: [255, 99, 71],\n turquoise: [64, 224, 208],\n violet: [238, 130, 238],\n wheat: [245, 222, 179],\n white: [255, 255, 255],\n whitesmoke: [245, 245, 245],\n yellow: [255, 255, 0],\n yellowgreen: [154, 205, 50]\n };\n var setMap = function setMap2(options2) {\n var obj = options2.map;\n var keys2 = options2.keys;\n var l = keys2.length;\n for (var i3 = 0; i3 < l; i3++) {\n var key = keys2[i3];\n if (plainObject(key)) {\n throw Error(\"Tried to set map with object key\");\n }\n if (i3 < keys2.length - 1) {\n if (obj[key] == null) {\n obj[key] = {};\n }\n obj = obj[key];\n } else {\n obj[key] = options2.value;\n }\n }\n };\n var getMap = function getMap2(options2) {\n var obj = options2.map;\n var keys2 = options2.keys;\n var l = keys2.length;\n for (var i3 = 0; i3 < l; i3++) {\n var key = keys2[i3];\n if (plainObject(key)) {\n throw Error(\"Tried to get map with object key\");\n }\n obj = obj[key];\n if (obj == null) {\n return obj;\n }\n }\n return obj;\n };\n function isObject2(value) {\n var type2 = typeof value;\n return value != null && (type2 == \"object\" || type2 == \"function\");\n }\n var isObject_12 = isObject2;\n var commonjsGlobal$1 = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof commonjsGlobal !== \"undefined\" ? commonjsGlobal : typeof self !== \"undefined\" ? self : {};\n function createCommonjsModule(fn2, module3) {\n return module3 = { exports: {} }, fn2(module3, module3.exports), module3.exports;\n }\n var freeGlobal2 = typeof commonjsGlobal$1 == \"object\" && commonjsGlobal$1 && commonjsGlobal$1.Object === Object && commonjsGlobal$1;\n var _freeGlobal = freeGlobal2;\n var freeSelf2 = typeof self == \"object\" && self && self.Object === Object && self;\n var root2 = _freeGlobal || freeSelf2 || Function(\"return this\")();\n var _root = root2;\n var now2 = function() {\n return _root.Date.now();\n };\n var now_1 = now2;\n var reWhitespace2 = /\\s/;\n function trimmedEndIndex2(string2) {\n var index = string2.length;\n while (index-- && reWhitespace2.test(string2.charAt(index))) {\n }\n return index;\n }\n var _trimmedEndIndex = trimmedEndIndex2;\n var reTrimStart2 = /^\\s+/;\n function baseTrim2(string2) {\n return string2 ? string2.slice(0, _trimmedEndIndex(string2) + 1).replace(reTrimStart2, \"\") : string2;\n }\n var _baseTrim = baseTrim2;\n var Symbol$12 = _root.Symbol;\n var _Symbol = Symbol$12;\n var objectProto$52 = Object.prototype;\n var hasOwnProperty$42 = objectProto$52.hasOwnProperty;\n var nativeObjectToString$12 = objectProto$52.toString;\n var symToStringTag$12 = _Symbol ? _Symbol.toStringTag : void 0;\n function getRawTag2(value) {\n var isOwn = hasOwnProperty$42.call(value, symToStringTag$12), tag = value[symToStringTag$12];\n try {\n value[symToStringTag$12] = void 0;\n var unmasked = true;\n } catch (e) {\n }\n var result = nativeObjectToString$12.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag$12] = tag;\n } else {\n delete value[symToStringTag$12];\n }\n }\n return result;\n }\n var _getRawTag = getRawTag2;\n var objectProto$42 = Object.prototype;\n var nativeObjectToString2 = objectProto$42.toString;\n function objectToString2(value) {\n return nativeObjectToString2.call(value);\n }\n var _objectToString = objectToString2;\n var nullTag2 = \"[object Null]\", undefinedTag2 = \"[object Undefined]\";\n var symToStringTag2 = _Symbol ? _Symbol.toStringTag : void 0;\n function baseGetTag2(value) {\n if (value == null) {\n return value === void 0 ? undefinedTag2 : nullTag2;\n }\n return symToStringTag2 && symToStringTag2 in Object(value) ? _getRawTag(value) : _objectToString(value);\n }\n var _baseGetTag = baseGetTag2;\n function isObjectLike2(value) {\n return value != null && typeof value == \"object\";\n }\n var isObjectLike_1 = isObjectLike2;\n var symbolTag2 = \"[object Symbol]\";\n function isSymbol2(value) {\n return typeof value == \"symbol\" || isObjectLike_1(value) && _baseGetTag(value) == symbolTag2;\n }\n var isSymbol_1 = isSymbol2;\n var NAN2 = 0 / 0;\n var reIsBadHex2 = /^[-+]0x[0-9a-f]+$/i;\n var reIsBinary2 = /^0b[01]+$/i;\n var reIsOctal2 = /^0o[0-7]+$/i;\n var freeParseInt2 = parseInt;\n function toNumber2(value) {\n if (typeof value == \"number\") {\n return value;\n }\n if (isSymbol_1(value)) {\n return NAN2;\n }\n if (isObject_12(value)) {\n var other = typeof value.valueOf == \"function\" ? value.valueOf() : value;\n value = isObject_12(other) ? other + \"\" : other;\n }\n if (typeof value != \"string\") {\n return value === 0 ? value : +value;\n }\n value = _baseTrim(value);\n var isBinary2 = reIsBinary2.test(value);\n return isBinary2 || reIsOctal2.test(value) ? freeParseInt2(value.slice(2), isBinary2 ? 2 : 8) : reIsBadHex2.test(value) ? NAN2 : +value;\n }\n var toNumber_1 = toNumber2;\n var FUNC_ERROR_TEXT$1 = \"Expected a function\";\n var nativeMax2 = Math.max, nativeMin = Math.min;\n function debounce(func, wait, options2) {\n var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;\n if (typeof func != \"function\") {\n throw new TypeError(FUNC_ERROR_TEXT$1);\n }\n wait = toNumber_1(wait) || 0;\n if (isObject_12(options2)) {\n leading = !!options2.leading;\n maxing = \"maxWait\" in options2;\n maxWait = maxing ? nativeMax2(toNumber_1(options2.maxWait) || 0, wait) : maxWait;\n trailing = \"trailing\" in options2 ? !!options2.trailing : trailing;\n }\n function invokeFunc(time2) {\n var args = lastArgs, thisArg = lastThis;\n lastArgs = lastThis = void 0;\n lastInvokeTime = time2;\n result = func.apply(thisArg, args);\n return result;\n }\n function leadingEdge(time2) {\n lastInvokeTime = time2;\n timerId = setTimeout(timerExpired, wait);\n return leading ? invokeFunc(time2) : result;\n }\n function remainingWait(time2) {\n var timeSinceLastCall = time2 - lastCallTime, timeSinceLastInvoke = time2 - lastInvokeTime, timeWaiting = wait - timeSinceLastCall;\n return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;\n }\n function shouldInvoke(time2) {\n var timeSinceLastCall = time2 - lastCallTime, timeSinceLastInvoke = time2 - lastInvokeTime;\n return lastCallTime === void 0 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;\n }\n function timerExpired() {\n var time2 = now_1();\n if (shouldInvoke(time2)) {\n return trailingEdge(time2);\n }\n timerId = setTimeout(timerExpired, remainingWait(time2));\n }\n function trailingEdge(time2) {\n timerId = void 0;\n if (trailing && lastArgs) {\n return invokeFunc(time2);\n }\n lastArgs = lastThis = void 0;\n return result;\n }\n function cancel() {\n if (timerId !== void 0) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = void 0;\n }\n function flush() {\n return timerId === void 0 ? result : trailingEdge(now_1());\n }\n function debounced() {\n var time2 = now_1(), isInvoking = shouldInvoke(time2);\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time2;\n if (isInvoking) {\n if (timerId === void 0) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === void 0) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n }\n var debounce_1 = debounce;\n var performance2 = window$1 ? window$1.performance : null;\n var pnow = performance2 && performance2.now ? function() {\n return performance2.now();\n } : function() {\n return Date.now();\n };\n var raf = function() {\n if (window$1) {\n if (window$1.requestAnimationFrame) {\n return function(fn2) {\n window$1.requestAnimationFrame(fn2);\n };\n } else if (window$1.mozRequestAnimationFrame) {\n return function(fn2) {\n window$1.mozRequestAnimationFrame(fn2);\n };\n } else if (window$1.webkitRequestAnimationFrame) {\n return function(fn2) {\n window$1.webkitRequestAnimationFrame(fn2);\n };\n } else if (window$1.msRequestAnimationFrame) {\n return function(fn2) {\n window$1.msRequestAnimationFrame(fn2);\n };\n }\n }\n return function(fn2) {\n if (fn2) {\n setTimeout(function() {\n fn2(pnow());\n }, 1e3 / 60);\n }\n };\n }();\n var requestAnimationFrame2 = function requestAnimationFrame3(fn2) {\n return raf(fn2);\n };\n var performanceNow = pnow;\n var DEFAULT_HASH_SEED = 9261;\n var K2 = 65599;\n var DEFAULT_HASH_SEED_ALT = 5381;\n var hashIterableInts = function hashIterableInts2(iterator) {\n var seed = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : DEFAULT_HASH_SEED;\n var hash = seed;\n var entry;\n for (; ; ) {\n entry = iterator.next();\n if (entry.done) {\n break;\n }\n hash = hash * K2 + entry.value | 0;\n }\n return hash;\n };\n var hashInt = function hashInt2(num) {\n var seed = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : DEFAULT_HASH_SEED;\n return seed * K2 + num | 0;\n };\n var hashIntAlt = function hashIntAlt2(num) {\n var seed = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : DEFAULT_HASH_SEED_ALT;\n return (seed << 5) + seed + num | 0;\n };\n var combineHashes = function combineHashes2(hash1, hash2) {\n return hash1 * 2097152 + hash2;\n };\n var combineHashesArray = function combineHashesArray2(hashes) {\n return hashes[0] * 2097152 + hashes[1];\n };\n var hashArrays = function hashArrays2(hashes1, hashes2) {\n return [hashInt(hashes1[0], hashes2[0]), hashIntAlt(hashes1[1], hashes2[1])];\n };\n var hashIntsArray = function hashIntsArray2(ints, seed) {\n var entry = {\n value: 0,\n done: false\n };\n var i3 = 0;\n var length2 = ints.length;\n var iterator = {\n next: function next2() {\n if (i3 < length2) {\n entry.value = ints[i3++];\n } else {\n entry.done = true;\n }\n return entry;\n }\n };\n return hashIterableInts(iterator, seed);\n };\n var hashString = function hashString2(str2, seed) {\n var entry = {\n value: 0,\n done: false\n };\n var i3 = 0;\n var length2 = str2.length;\n var iterator = {\n next: function next2() {\n if (i3 < length2) {\n entry.value = str2.charCodeAt(i3++);\n } else {\n entry.done = true;\n }\n return entry;\n }\n };\n return hashIterableInts(iterator, seed);\n };\n var hashStrings = function hashStrings2() {\n return hashStringsArray(arguments);\n };\n var hashStringsArray = function hashStringsArray2(strs) {\n var hash;\n for (var i3 = 0; i3 < strs.length; i3++) {\n var str2 = strs[i3];\n if (i3 === 0) {\n hash = hashString(str2);\n } else {\n hash = hashString(str2, hash);\n }\n }\n return hash;\n };\n var warningsEnabled = true;\n var warnSupported = console.warn != null;\n var traceSupported = console.trace != null;\n var MAX_INT$1 = Number.MAX_SAFE_INTEGER || 9007199254740991;\n var trueify = function trueify2() {\n return true;\n };\n var falsify = function falsify2() {\n return false;\n };\n var zeroify = function zeroify2() {\n return 0;\n };\n var noop$12 = function noop3() {\n };\n var error = function error2(msg) {\n throw new Error(msg);\n };\n var warnings = function warnings2(enabled) {\n if (enabled !== void 0) {\n warningsEnabled = !!enabled;\n } else {\n return warningsEnabled;\n }\n };\n var warn = function warn2(msg) {\n if (!warnings()) {\n return;\n }\n if (warnSupported) {\n console.warn(msg);\n } else {\n console.log(msg);\n if (traceSupported) {\n console.trace();\n }\n }\n };\n var clone2 = function clone3(obj) {\n return extend2({}, obj);\n };\n var copy2 = function copy3(obj) {\n if (obj == null) {\n return obj;\n }\n if (array2(obj)) {\n return obj.slice();\n } else if (plainObject(obj)) {\n return clone2(obj);\n } else {\n return obj;\n }\n };\n var copyArray$1 = function copyArray3(arr) {\n return arr.slice();\n };\n var uuid = function uuid2(a, b) {\n for (\n // loop :)\n b = a = \"\";\n // b - result , a - numeric letiable\n a++ < 36;\n //\n b += a * 51 & 52 ? (\n // return a random number or 4\n (a ^ 15 ? (\n // generate a random number from 0 to 15\n 8 ^ Math.random() * (a ^ 20 ? 16 : 4)\n ) : 4).toString(16)\n ) : \"-\"\n ) {\n }\n return b;\n };\n var _staticEmptyObject = {};\n var staticEmptyObject = function staticEmptyObject2() {\n return _staticEmptyObject;\n };\n var defaults$g = function defaults3(_defaults) {\n var keys2 = Object.keys(_defaults);\n return function(opts) {\n var filledOpts = {};\n for (var i3 = 0; i3 < keys2.length; i3++) {\n var key = keys2[i3];\n var optVal = opts == null ? void 0 : opts[key];\n filledOpts[key] = optVal === void 0 ? _defaults[key] : optVal;\n }\n return filledOpts;\n };\n };\n var removeFromArray = function removeFromArray2(arr, ele, oneCopy) {\n for (var i3 = arr.length - 1; i3 >= 0; i3--) {\n if (arr[i3] === ele) {\n arr.splice(i3, 1);\n if (oneCopy) {\n break;\n }\n }\n }\n };\n var clearArray = function clearArray2(arr) {\n arr.splice(0, arr.length);\n };\n var push = function push2(arr, otherArr) {\n for (var i3 = 0; i3 < otherArr.length; i3++) {\n var el = otherArr[i3];\n arr.push(el);\n }\n };\n var getPrefixedProperty = function getPrefixedProperty2(obj, propName, prefix) {\n if (prefix) {\n propName = prependCamel(prefix, propName);\n }\n return obj[propName];\n };\n var setPrefixedProperty = function setPrefixedProperty2(obj, propName, prefix, value) {\n if (prefix) {\n propName = prependCamel(prefix, propName);\n }\n obj[propName] = value;\n };\n var ObjectMap = /* @__PURE__ */ function() {\n function ObjectMap2() {\n _classCallCheck(this, ObjectMap2);\n this._obj = {};\n }\n _createClass(ObjectMap2, [{\n key: \"set\",\n value: function set3(key, val) {\n this._obj[key] = val;\n return this;\n }\n }, {\n key: \"delete\",\n value: function _delete(key) {\n this._obj[key] = void 0;\n return this;\n }\n }, {\n key: \"clear\",\n value: function clear2() {\n this._obj = {};\n }\n }, {\n key: \"has\",\n value: function has2(key) {\n return this._obj[key] !== void 0;\n }\n }, {\n key: \"get\",\n value: function get3(key) {\n return this._obj[key];\n }\n }]);\n return ObjectMap2;\n }();\n var Map$22 = typeof Map !== \"undefined\" ? Map : ObjectMap;\n var undef = \"undefined\";\n var ObjectSet = /* @__PURE__ */ function() {\n function ObjectSet2(arrayOrObjectSet) {\n _classCallCheck(this, ObjectSet2);\n this._obj = /* @__PURE__ */ Object.create(null);\n this.size = 0;\n if (arrayOrObjectSet != null) {\n var arr;\n if (arrayOrObjectSet.instanceString != null && arrayOrObjectSet.instanceString() === this.instanceString()) {\n arr = arrayOrObjectSet.toArray();\n } else {\n arr = arrayOrObjectSet;\n }\n for (var i3 = 0; i3 < arr.length; i3++) {\n this.add(arr[i3]);\n }\n }\n }\n _createClass(ObjectSet2, [{\n key: \"instanceString\",\n value: function instanceString() {\n return \"set\";\n }\n }, {\n key: \"add\",\n value: function add(val) {\n var o = this._obj;\n if (o[val] !== 1) {\n o[val] = 1;\n this.size++;\n }\n }\n }, {\n key: \"delete\",\n value: function _delete(val) {\n var o = this._obj;\n if (o[val] === 1) {\n o[val] = 0;\n this.size--;\n }\n }\n }, {\n key: \"clear\",\n value: function clear2() {\n this._obj = /* @__PURE__ */ Object.create(null);\n }\n }, {\n key: \"has\",\n value: function has2(val) {\n return this._obj[val] === 1;\n }\n }, {\n key: \"toArray\",\n value: function toArray2() {\n var _this = this;\n return Object.keys(this._obj).filter(function(key) {\n return _this.has(key);\n });\n }\n }, {\n key: \"forEach\",\n value: function forEach2(callback, thisArg) {\n return this.toArray().forEach(callback, thisArg);\n }\n }]);\n return ObjectSet2;\n }();\n var Set$12 = (typeof Set === \"undefined\" ? \"undefined\" : _typeof2(Set)) !== undef ? Set : ObjectSet;\n var Element = function Element2(cy, params) {\n var restore = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;\n if (cy === void 0 || params === void 0 || !core2(cy)) {\n error(\"An element must have a core reference and parameters set\");\n return;\n }\n var group = params.group;\n if (group == null) {\n if (params.data && params.data.source != null && params.data.target != null) {\n group = \"edges\";\n } else {\n group = \"nodes\";\n }\n }\n if (group !== \"nodes\" && group !== \"edges\") {\n error(\"An element must be of type `nodes` or `edges`; you specified `\" + group + \"`\");\n return;\n }\n this.length = 1;\n this[0] = this;\n var _p = this._private = {\n cy,\n single: true,\n // indicates this is an element\n data: params.data || {},\n // data object\n position: params.position || {\n x: 0,\n y: 0\n },\n // (x, y) position pair\n autoWidth: void 0,\n // width and height of nodes calculated by the renderer when set to special 'auto' value\n autoHeight: void 0,\n autoPadding: void 0,\n compoundBoundsClean: false,\n // whether the compound dimensions need to be recalculated the next time dimensions are read\n listeners: [],\n // array of bound listeners\n group,\n // string; 'nodes' or 'edges'\n style: {},\n // properties as set by the style\n rstyle: {},\n // properties for style sent from the renderer to the core\n styleCxts: [],\n // applied style contexts from the styler\n styleKeys: {},\n // per-group keys of style property values\n removed: true,\n // whether it's inside the vis; true if removed (set true here since we call restore)\n selected: params.selected ? true : false,\n // whether it's selected\n selectable: params.selectable === void 0 ? true : params.selectable ? true : false,\n // whether it's selectable\n locked: params.locked ? true : false,\n // whether the element is locked (cannot be moved)\n grabbed: false,\n // whether the element is grabbed by the mouse; renderer sets this privately\n grabbable: params.grabbable === void 0 ? true : params.grabbable ? true : false,\n // whether the element can be grabbed\n pannable: params.pannable === void 0 ? group === \"edges\" ? true : false : params.pannable ? true : false,\n // whether the element has passthrough panning enabled\n active: false,\n // whether the element is active from user interaction\n classes: new Set$12(),\n // map ( className => true )\n animation: {\n // object for currently-running animations\n current: [],\n queue: []\n },\n rscratch: {},\n // object in which the renderer can store information\n scratch: params.scratch || {},\n // scratch objects\n edges: [],\n // array of connected edges\n children: [],\n // array of children\n parent: params.parent && params.parent.isNode() ? params.parent : null,\n // parent ref\n traversalCache: {},\n // cache of output of traversal functions\n backgrounding: false,\n // whether background images are loading\n bbCache: null,\n // cache of the current bounding box\n bbCacheShift: {\n x: 0,\n y: 0\n },\n // shift applied to cached bb to be applied on next get\n bodyBounds: null,\n // bounds cache of element body, w/o overlay\n overlayBounds: null,\n // bounds cache of element body, including overlay\n labelBounds: {\n // bounds cache of labels\n all: null,\n source: null,\n target: null,\n main: null\n },\n arrowBounds: {\n // bounds cache of edge arrows\n source: null,\n target: null,\n \"mid-source\": null,\n \"mid-target\": null\n }\n };\n if (_p.position.x == null) {\n _p.position.x = 0;\n }\n if (_p.position.y == null) {\n _p.position.y = 0;\n }\n if (params.renderedPosition) {\n var rpos = params.renderedPosition;\n var pan = cy.pan();\n var zoom = cy.zoom();\n _p.position = {\n x: (rpos.x - pan.x) / zoom,\n y: (rpos.y - pan.y) / zoom\n };\n }\n var classes2 = [];\n if (array2(params.classes)) {\n classes2 = params.classes;\n } else if (string(params.classes)) {\n classes2 = params.classes.split(/\\s+/);\n }\n for (var i3 = 0, l = classes2.length; i3 < l; i3++) {\n var cls = classes2[i3];\n if (!cls || cls === \"\") {\n continue;\n }\n _p.classes.add(cls);\n }\n this.createEmitter();\n var bypass = params.style || params.css;\n if (bypass) {\n warn(\"Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead.\");\n this.style(bypass);\n }\n if (restore === void 0 || restore) {\n this.restore();\n }\n };\n var defineSearch = function defineSearch2(params) {\n params = {\n bfs: params.bfs || !params.dfs,\n dfs: params.dfs || !params.bfs\n };\n return function searchFn(roots, fn2, directed) {\n var options2;\n if (plainObject(roots) && !elementOrCollection(roots)) {\n options2 = roots;\n roots = options2.roots || options2.root;\n fn2 = options2.visit;\n directed = options2.directed;\n }\n directed = arguments.length === 2 && !fn$6(fn2) ? fn2 : directed;\n fn2 = fn$6(fn2) ? fn2 : function() {\n };\n var cy = this._private.cy;\n var v = roots = string(roots) ? this.filter(roots) : roots;\n var Q = [];\n var connectedNodes = [];\n var connectedBy = {};\n var id2depth = {};\n var V = {};\n var j = 0;\n var found;\n var _this$byGroup = this.byGroup(), nodes2 = _this$byGroup.nodes, edges2 = _this$byGroup.edges;\n for (var i3 = 0; i3 < v.length; i3++) {\n var vi = v[i3];\n var viId = vi.id();\n if (vi.isNode()) {\n Q.unshift(vi);\n if (params.bfs) {\n V[viId] = true;\n connectedNodes.push(vi);\n }\n id2depth[viId] = 0;\n }\n }\n var _loop = function _loop2() {\n var v2 = params.bfs ? Q.shift() : Q.pop();\n var vId = v2.id();\n if (params.dfs) {\n if (V[vId]) {\n return \"continue\";\n }\n V[vId] = true;\n connectedNodes.push(v2);\n }\n var depth = id2depth[vId];\n var prevEdge = connectedBy[vId];\n var src = prevEdge != null ? prevEdge.source() : null;\n var tgt = prevEdge != null ? prevEdge.target() : null;\n var prevNode = prevEdge == null ? void 0 : v2.same(src) ? tgt[0] : src[0];\n var ret = void 0;\n ret = fn2(v2, prevEdge, prevNode, j++, depth);\n if (ret === true) {\n found = v2;\n return \"break\";\n }\n if (ret === false) {\n return \"break\";\n }\n var vwEdges = v2.connectedEdges().filter(function(e3) {\n return (!directed || e3.source().same(v2)) && edges2.has(e3);\n });\n for (var _i2 = 0; _i2 < vwEdges.length; _i2++) {\n var e = vwEdges[_i2];\n var w2 = e.connectedNodes().filter(function(n) {\n return !n.same(v2) && nodes2.has(n);\n });\n var wId = w2.id();\n if (w2.length !== 0 && !V[wId]) {\n w2 = w2[0];\n Q.push(w2);\n if (params.bfs) {\n V[wId] = true;\n connectedNodes.push(w2);\n }\n connectedBy[wId] = e;\n id2depth[wId] = id2depth[vId] + 1;\n }\n }\n };\n while (Q.length !== 0) {\n var _ret = _loop();\n if (_ret === \"continue\")\n continue;\n if (_ret === \"break\")\n break;\n }\n var connectedEles = cy.collection();\n for (var _i = 0; _i < connectedNodes.length; _i++) {\n var node2 = connectedNodes[_i];\n var edge = connectedBy[node2.id()];\n if (edge != null) {\n connectedEles.push(edge);\n }\n connectedEles.push(node2);\n }\n return {\n path: cy.collection(connectedEles),\n found: cy.collection(found)\n };\n };\n };\n var elesfn$v = {\n breadthFirstSearch: defineSearch({\n bfs: true\n }),\n depthFirstSearch: defineSearch({\n dfs: true\n })\n };\n elesfn$v.bfs = elesfn$v.breadthFirstSearch;\n elesfn$v.dfs = elesfn$v.depthFirstSearch;\n var heap$1 = createCommonjsModule(function(module3, exports3) {\n (function() {\n var Heap, defaultCmp, floor, heapify, heappop, heappush, heappushpop, heapreplace, insort, min3, nlargest, nsmallest, updateItem, _siftdown, _siftup;\n floor = Math.floor, min3 = Math.min;\n defaultCmp = function(x2, y2) {\n if (x2 < y2) {\n return -1;\n }\n if (x2 > y2) {\n return 1;\n }\n return 0;\n };\n insort = function(a, x2, lo, hi, cmp) {\n var mid;\n if (lo == null) {\n lo = 0;\n }\n if (cmp == null) {\n cmp = defaultCmp;\n }\n if (lo < 0) {\n throw new Error(\"lo must be non-negative\");\n }\n if (hi == null) {\n hi = a.length;\n }\n while (lo < hi) {\n mid = floor((lo + hi) / 2);\n if (cmp(x2, a[mid]) < 0) {\n hi = mid;\n } else {\n lo = mid + 1;\n }\n }\n return [].splice.apply(a, [lo, lo - lo].concat(x2)), x2;\n };\n heappush = function(array3, item, cmp) {\n if (cmp == null) {\n cmp = defaultCmp;\n }\n array3.push(item);\n return _siftdown(array3, 0, array3.length - 1, cmp);\n };\n heappop = function(array3, cmp) {\n var lastelt, returnitem;\n if (cmp == null) {\n cmp = defaultCmp;\n }\n lastelt = array3.pop();\n if (array3.length) {\n returnitem = array3[0];\n array3[0] = lastelt;\n _siftup(array3, 0, cmp);\n } else {\n returnitem = lastelt;\n }\n return returnitem;\n };\n heapreplace = function(array3, item, cmp) {\n var returnitem;\n if (cmp == null) {\n cmp = defaultCmp;\n }\n returnitem = array3[0];\n array3[0] = item;\n _siftup(array3, 0, cmp);\n return returnitem;\n };\n heappushpop = function(array3, item, cmp) {\n var _ref2;\n if (cmp == null) {\n cmp = defaultCmp;\n }\n if (array3.length && cmp(array3[0], item) < 0) {\n _ref2 = [array3[0], item], item = _ref2[0], array3[0] = _ref2[1];\n _siftup(array3, 0, cmp);\n }\n return item;\n };\n heapify = function(array3, cmp) {\n var i3, _i, _len, _ref1, _results, _results1;\n if (cmp == null) {\n cmp = defaultCmp;\n }\n _ref1 = function() {\n _results1 = [];\n for (var _j = 0, _ref2 = floor(array3.length / 2); 0 <= _ref2 ? _j < _ref2 : _j > _ref2; 0 <= _ref2 ? _j++ : _j--) {\n _results1.push(_j);\n }\n return _results1;\n }.apply(this).reverse();\n _results = [];\n for (_i = 0, _len = _ref1.length; _i < _len; _i++) {\n i3 = _ref1[_i];\n _results.push(_siftup(array3, i3, cmp));\n }\n return _results;\n };\n updateItem = function(array3, item, cmp) {\n var pos;\n if (cmp == null) {\n cmp = defaultCmp;\n }\n pos = array3.indexOf(item);\n if (pos === -1) {\n return;\n }\n _siftdown(array3, 0, pos, cmp);\n return _siftup(array3, pos, cmp);\n };\n nlargest = function(array3, n, cmp) {\n var elem, result, _i, _len, _ref2;\n if (cmp == null) {\n cmp = defaultCmp;\n }\n result = array3.slice(0, n);\n if (!result.length) {\n return result;\n }\n heapify(result, cmp);\n _ref2 = array3.slice(n);\n for (_i = 0, _len = _ref2.length; _i < _len; _i++) {\n elem = _ref2[_i];\n heappushpop(result, elem, cmp);\n }\n return result.sort(cmp).reverse();\n };\n nsmallest = function(array3, n, cmp) {\n var elem, los, result, _i, _j, _len, _ref2, _ref1, _results;\n if (cmp == null) {\n cmp = defaultCmp;\n }\n if (n * 10 <= array3.length) {\n result = array3.slice(0, n).sort(cmp);\n if (!result.length) {\n return result;\n }\n los = result[result.length - 1];\n _ref2 = array3.slice(n);\n for (_i = 0, _len = _ref2.length; _i < _len; _i++) {\n elem = _ref2[_i];\n if (cmp(elem, los) < 0) {\n insort(result, elem, 0, null, cmp);\n result.pop();\n los = result[result.length - 1];\n }\n }\n return result;\n }\n heapify(array3, cmp);\n _results = [];\n for (_j = 0, _ref1 = min3(n, array3.length); 0 <= _ref1 ? _j < _ref1 : _j > _ref1; 0 <= _ref1 ? ++_j : --_j) {\n _results.push(heappop(array3, cmp));\n }\n return _results;\n };\n _siftdown = function(array3, startpos, pos, cmp) {\n var newitem, parent, parentpos;\n if (cmp == null) {\n cmp = defaultCmp;\n }\n newitem = array3[pos];\n while (pos > startpos) {\n parentpos = pos - 1 >> 1;\n parent = array3[parentpos];\n if (cmp(newitem, parent) < 0) {\n array3[pos] = parent;\n pos = parentpos;\n continue;\n }\n break;\n }\n return array3[pos] = newitem;\n };\n _siftup = function(array3, pos, cmp) {\n var childpos, endpos, newitem, rightpos, startpos;\n if (cmp == null) {\n cmp = defaultCmp;\n }\n endpos = array3.length;\n startpos = pos;\n newitem = array3[pos];\n childpos = 2 * pos + 1;\n while (childpos < endpos) {\n rightpos = childpos + 1;\n if (rightpos < endpos && !(cmp(array3[childpos], array3[rightpos]) < 0)) {\n childpos = rightpos;\n }\n array3[pos] = array3[childpos];\n pos = childpos;\n childpos = 2 * pos + 1;\n }\n array3[pos] = newitem;\n return _siftdown(array3, startpos, pos, cmp);\n };\n Heap = function() {\n Heap2.push = heappush;\n Heap2.pop = heappop;\n Heap2.replace = heapreplace;\n Heap2.pushpop = heappushpop;\n Heap2.heapify = heapify;\n Heap2.updateItem = updateItem;\n Heap2.nlargest = nlargest;\n Heap2.nsmallest = nsmallest;\n function Heap2(cmp) {\n this.cmp = cmp != null ? cmp : defaultCmp;\n this.nodes = [];\n }\n Heap2.prototype.push = function(x2) {\n return heappush(this.nodes, x2, this.cmp);\n };\n Heap2.prototype.pop = function() {\n return heappop(this.nodes, this.cmp);\n };\n Heap2.prototype.peek = function() {\n return this.nodes[0];\n };\n Heap2.prototype.contains = function(x2) {\n return this.nodes.indexOf(x2) !== -1;\n };\n Heap2.prototype.replace = function(x2) {\n return heapreplace(this.nodes, x2, this.cmp);\n };\n Heap2.prototype.pushpop = function(x2) {\n return heappushpop(this.nodes, x2, this.cmp);\n };\n Heap2.prototype.heapify = function() {\n return heapify(this.nodes, this.cmp);\n };\n Heap2.prototype.updateItem = function(x2) {\n return updateItem(this.nodes, x2, this.cmp);\n };\n Heap2.prototype.clear = function() {\n return this.nodes = [];\n };\n Heap2.prototype.empty = function() {\n return this.nodes.length === 0;\n };\n Heap2.prototype.size = function() {\n return this.nodes.length;\n };\n Heap2.prototype.clone = function() {\n var heap2;\n heap2 = new Heap2();\n heap2.nodes = this.nodes.slice(0);\n return heap2;\n };\n Heap2.prototype.toArray = function() {\n return this.nodes.slice(0);\n };\n Heap2.prototype.insert = Heap2.prototype.push;\n Heap2.prototype.top = Heap2.prototype.peek;\n Heap2.prototype.front = Heap2.prototype.peek;\n Heap2.prototype.has = Heap2.prototype.contains;\n Heap2.prototype.copy = Heap2.prototype.clone;\n return Heap2;\n }();\n (function(root3, factory) {\n {\n return module3.exports = factory();\n }\n })(this, function() {\n return Heap;\n });\n }).call(commonjsGlobal$1);\n });\n var heap = heap$1;\n var dijkstraDefaults = defaults$g({\n root: null,\n weight: function weight(edge) {\n return 1;\n },\n directed: false\n });\n var elesfn$u = {\n dijkstra: function dijkstra(options2) {\n if (!plainObject(options2)) {\n var args = arguments;\n options2 = {\n root: args[0],\n weight: args[1],\n directed: args[2]\n };\n }\n var _dijkstraDefaults = dijkstraDefaults(options2), root3 = _dijkstraDefaults.root, weight = _dijkstraDefaults.weight, directed = _dijkstraDefaults.directed;\n var eles = this;\n var weightFn = weight;\n var source = string(root3) ? this.filter(root3)[0] : root3[0];\n var dist3 = {};\n var prev2 = {};\n var knownDist = {};\n var _this$byGroup = this.byGroup(), nodes2 = _this$byGroup.nodes, edges2 = _this$byGroup.edges;\n edges2.unmergeBy(function(ele) {\n return ele.isLoop();\n });\n var getDist2 = function getDist3(node3) {\n return dist3[node3.id()];\n };\n var setDist = function setDist2(node3, d) {\n dist3[node3.id()] = d;\n Q.updateItem(node3);\n };\n var Q = new heap(function(a, b) {\n return getDist2(a) - getDist2(b);\n });\n for (var i3 = 0; i3 < nodes2.length; i3++) {\n var node2 = nodes2[i3];\n dist3[node2.id()] = node2.same(source) ? 0 : Infinity;\n Q.push(node2);\n }\n var distBetween = function distBetween2(u2, v2) {\n var uvs = (directed ? u2.edgesTo(v2) : u2.edgesWith(v2)).intersect(edges2);\n var smallestDistance = Infinity;\n var smallestEdge;\n for (var _i = 0; _i < uvs.length; _i++) {\n var edge = uvs[_i];\n var _weight = weightFn(edge);\n if (_weight < smallestDistance || !smallestEdge) {\n smallestDistance = _weight;\n smallestEdge = edge;\n }\n }\n return {\n edge: smallestEdge,\n dist: smallestDistance\n };\n };\n while (Q.size() > 0) {\n var u = Q.pop();\n var smalletsDist = getDist2(u);\n var uid = u.id();\n knownDist[uid] = smalletsDist;\n if (smalletsDist === Infinity) {\n continue;\n }\n var neighbors = u.neighborhood().intersect(nodes2);\n for (var _i2 = 0; _i2 < neighbors.length; _i2++) {\n var v = neighbors[_i2];\n var vid = v.id();\n var vDist = distBetween(u, v);\n var alt = smalletsDist + vDist.dist;\n if (alt < getDist2(v)) {\n setDist(v, alt);\n prev2[vid] = {\n node: u,\n edge: vDist.edge\n };\n }\n }\n }\n return {\n distanceTo: function distanceTo(node3) {\n var target = string(node3) ? nodes2.filter(node3)[0] : node3[0];\n return knownDist[target.id()];\n },\n pathTo: function pathTo(node3) {\n var target = string(node3) ? nodes2.filter(node3)[0] : node3[0];\n var S = [];\n var u2 = target;\n var uid2 = u2.id();\n if (target.length > 0) {\n S.unshift(target);\n while (prev2[uid2]) {\n var p2 = prev2[uid2];\n S.unshift(p2.edge);\n S.unshift(p2.node);\n u2 = p2.node;\n uid2 = u2.id();\n }\n }\n return eles.spawn(S);\n }\n };\n }\n };\n var elesfn$t = {\n // kruskal's algorithm (finds min spanning tree, assuming undirected graph)\n // implemented from pseudocode from wikipedia\n kruskal: function kruskal(weightFn) {\n weightFn = weightFn || function(edge2) {\n return 1;\n };\n var _this$byGroup = this.byGroup(), nodes2 = _this$byGroup.nodes, edges2 = _this$byGroup.edges;\n var numNodes = nodes2.length;\n var forest = new Array(numNodes);\n var A = nodes2;\n var findSetIndex = function findSetIndex2(ele) {\n for (var i4 = 0; i4 < forest.length; i4++) {\n var eles = forest[i4];\n if (eles.has(ele)) {\n return i4;\n }\n }\n };\n for (var i3 = 0; i3 < numNodes; i3++) {\n forest[i3] = this.spawn(nodes2[i3]);\n }\n var S = edges2.sort(function(a, b) {\n return weightFn(a) - weightFn(b);\n });\n for (var _i = 0; _i < S.length; _i++) {\n var edge = S[_i];\n var u = edge.source()[0];\n var v = edge.target()[0];\n var setUIndex = findSetIndex(u);\n var setVIndex = findSetIndex(v);\n var setU = forest[setUIndex];\n var setV = forest[setVIndex];\n if (setUIndex !== setVIndex) {\n A.merge(edge);\n setU.merge(setV);\n forest.splice(setVIndex, 1);\n }\n }\n return A;\n }\n };\n var aStarDefaults = defaults$g({\n root: null,\n goal: null,\n weight: function weight(edge) {\n return 1;\n },\n heuristic: function heuristic(edge) {\n return 0;\n },\n directed: false\n });\n var elesfn$s = {\n // Implemented from pseudocode from wikipedia\n aStar: function aStar(options2) {\n var cy = this.cy();\n var _aStarDefaults = aStarDefaults(options2), root3 = _aStarDefaults.root, goal = _aStarDefaults.goal, heuristic = _aStarDefaults.heuristic, directed = _aStarDefaults.directed, weight = _aStarDefaults.weight;\n root3 = cy.collection(root3)[0];\n goal = cy.collection(goal)[0];\n var sid = root3.id();\n var tid = goal.id();\n var gScore = {};\n var fScore = {};\n var closedSetIds = {};\n var openSet = new heap(function(a, b) {\n return fScore[a.id()] - fScore[b.id()];\n });\n var openSetIds = new Set$12();\n var cameFrom = {};\n var cameFromEdge = {};\n var addToOpenSet = function addToOpenSet2(ele, id2) {\n openSet.push(ele);\n openSetIds.add(id2);\n };\n var cMin, cMinId;\n var popFromOpenSet = function popFromOpenSet2() {\n cMin = openSet.pop();\n cMinId = cMin.id();\n openSetIds[\"delete\"](cMinId);\n };\n var isInOpenSet = function isInOpenSet2(id2) {\n return openSetIds.has(id2);\n };\n addToOpenSet(root3, sid);\n gScore[sid] = 0;\n fScore[sid] = heuristic(root3);\n var steps = 0;\n while (openSet.size() > 0) {\n popFromOpenSet();\n steps++;\n if (cMinId === tid) {\n var path2 = [];\n var pathNode = goal;\n var pathNodeId = tid;\n var pathEdge = cameFromEdge[pathNodeId];\n for (; ; ) {\n path2.unshift(pathNode);\n if (pathEdge != null) {\n path2.unshift(pathEdge);\n }\n pathNode = cameFrom[pathNodeId];\n if (pathNode == null) {\n break;\n }\n pathNodeId = pathNode.id();\n pathEdge = cameFromEdge[pathNodeId];\n }\n return {\n found: true,\n distance: gScore[cMinId],\n path: this.spawn(path2),\n steps\n };\n }\n closedSetIds[cMinId] = true;\n var vwEdges = cMin._private.edges;\n for (var i3 = 0; i3 < vwEdges.length; i3++) {\n var e = vwEdges[i3];\n if (!this.hasElementWithId(e.id())) {\n continue;\n }\n if (directed && e.data(\"source\") !== cMinId) {\n continue;\n }\n var wSrc = e.source();\n var wTgt = e.target();\n var w2 = wSrc.id() !== cMinId ? wSrc : wTgt;\n var wid = w2.id();\n if (!this.hasElementWithId(wid)) {\n continue;\n }\n if (closedSetIds[wid]) {\n continue;\n }\n var tempScore = gScore[cMinId] + weight(e);\n if (!isInOpenSet(wid)) {\n gScore[wid] = tempScore;\n fScore[wid] = tempScore + heuristic(w2);\n addToOpenSet(w2, wid);\n cameFrom[wid] = cMin;\n cameFromEdge[wid] = e;\n continue;\n }\n if (tempScore < gScore[wid]) {\n gScore[wid] = tempScore;\n fScore[wid] = tempScore + heuristic(w2);\n cameFrom[wid] = cMin;\n cameFromEdge[wid] = e;\n }\n }\n }\n return {\n found: false,\n distance: void 0,\n path: void 0,\n steps\n };\n }\n };\n var floydWarshallDefaults = defaults$g({\n weight: function weight(edge) {\n return 1;\n },\n directed: false\n });\n var elesfn$r = {\n // Implemented from pseudocode from wikipedia\n floydWarshall: function floydWarshall(options2) {\n var cy = this.cy();\n var _floydWarshallDefault = floydWarshallDefaults(options2), weight = _floydWarshallDefault.weight, directed = _floydWarshallDefault.directed;\n var weightFn = weight;\n var _this$byGroup = this.byGroup(), nodes2 = _this$byGroup.nodes, edges2 = _this$byGroup.edges;\n var N = nodes2.length;\n var Nsq = N * N;\n var indexOf = function indexOf2(node2) {\n return nodes2.indexOf(node2);\n };\n var atIndex = function atIndex2(i4) {\n return nodes2[i4];\n };\n var dist3 = new Array(Nsq);\n for (var n = 0; n < Nsq; n++) {\n var j = n % N;\n var i3 = (n - j) / N;\n if (i3 === j) {\n dist3[n] = 0;\n } else {\n dist3[n] = Infinity;\n }\n }\n var next2 = new Array(Nsq);\n var edgeNext = new Array(Nsq);\n for (var _i = 0; _i < edges2.length; _i++) {\n var edge = edges2[_i];\n var src = edge.source()[0];\n var tgt = edge.target()[0];\n if (src === tgt) {\n continue;\n }\n var s = indexOf(src);\n var t = indexOf(tgt);\n var st = s * N + t;\n var _weight = weightFn(edge);\n if (dist3[st] > _weight) {\n dist3[st] = _weight;\n next2[st] = t;\n edgeNext[st] = edge;\n }\n if (!directed) {\n var ts = t * N + s;\n if (!directed && dist3[ts] > _weight) {\n dist3[ts] = _weight;\n next2[ts] = s;\n edgeNext[ts] = edge;\n }\n }\n }\n for (var k = 0; k < N; k++) {\n for (var _i2 = 0; _i2 < N; _i2++) {\n var ik = _i2 * N + k;\n for (var _j = 0; _j < N; _j++) {\n var ij = _i2 * N + _j;\n var kj = k * N + _j;\n if (dist3[ik] + dist3[kj] < dist3[ij]) {\n dist3[ij] = dist3[ik] + dist3[kj];\n next2[ij] = next2[ik];\n }\n }\n }\n }\n var getArgEle = function getArgEle2(ele) {\n return (string(ele) ? cy.filter(ele) : ele)[0];\n };\n var indexOfArgEle = function indexOfArgEle2(ele) {\n return indexOf(getArgEle(ele));\n };\n var res = {\n distance: function distance2(from2, to) {\n var i4 = indexOfArgEle(from2);\n var j2 = indexOfArgEle(to);\n return dist3[i4 * N + j2];\n },\n path: function path2(from2, to) {\n var i4 = indexOfArgEle(from2);\n var j2 = indexOfArgEle(to);\n var fromNode = atIndex(i4);\n if (i4 === j2) {\n return fromNode.collection();\n }\n if (next2[i4 * N + j2] == null) {\n return cy.collection();\n }\n var path3 = cy.collection();\n var prev2 = i4;\n var edge2;\n path3.merge(fromNode);\n while (i4 !== j2) {\n prev2 = i4;\n i4 = next2[i4 * N + j2];\n edge2 = edgeNext[prev2 * N + i4];\n path3.merge(edge2);\n path3.merge(atIndex(i4));\n }\n return path3;\n }\n };\n return res;\n }\n // floydWarshall\n };\n var bellmanFordDefaults = defaults$g({\n weight: function weight(edge) {\n return 1;\n },\n directed: false,\n root: null\n });\n var elesfn$q = {\n // Implemented from pseudocode from wikipedia\n bellmanFord: function bellmanFord(options2) {\n var _this = this;\n var _bellmanFordDefaults = bellmanFordDefaults(options2), weight = _bellmanFordDefaults.weight, directed = _bellmanFordDefaults.directed, root3 = _bellmanFordDefaults.root;\n var weightFn = weight;\n var eles = this;\n var cy = this.cy();\n var _this$byGroup = this.byGroup(), edges2 = _this$byGroup.edges, nodes2 = _this$byGroup.nodes;\n var numNodes = nodes2.length;\n var infoMap = new Map$22();\n var hasNegativeWeightCycle = false;\n var negativeWeightCycles = [];\n root3 = cy.collection(root3)[0];\n edges2.unmergeBy(function(edge2) {\n return edge2.isLoop();\n });\n var numEdges = edges2.length;\n var getInfo3 = function getInfo4(node3) {\n var obj = infoMap.get(node3.id());\n if (!obj) {\n obj = {};\n infoMap.set(node3.id(), obj);\n }\n return obj;\n };\n var getNodeFromTo = function getNodeFromTo2(to) {\n return (string(to) ? cy.$(to) : to)[0];\n };\n var distanceTo = function distanceTo2(to) {\n return getInfo3(getNodeFromTo(to)).dist;\n };\n var pathTo = function pathTo2(to) {\n var thisStart = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : root3;\n var end2 = getNodeFromTo(to);\n var path2 = [];\n var node3 = end2;\n for (; ; ) {\n if (node3 == null) {\n return _this.spawn();\n }\n var _getInfo = getInfo3(node3), edge2 = _getInfo.edge, pred = _getInfo.pred;\n path2.unshift(node3[0]);\n if (node3.same(thisStart) && path2.length > 0) {\n break;\n }\n if (edge2 != null) {\n path2.unshift(edge2);\n }\n node3 = pred;\n }\n return eles.spawn(path2);\n };\n for (var i3 = 0; i3 < numNodes; i3++) {\n var node2 = nodes2[i3];\n var info2 = getInfo3(node2);\n if (node2.same(root3)) {\n info2.dist = 0;\n } else {\n info2.dist = Infinity;\n }\n info2.pred = null;\n info2.edge = null;\n }\n var replacedEdge = false;\n var checkForEdgeReplacement = function checkForEdgeReplacement2(node1, node22, edge2, info1, info22, weight2) {\n var dist3 = info1.dist + weight2;\n if (dist3 < info22.dist && !edge2.same(info1.edge)) {\n info22.dist = dist3;\n info22.pred = node1;\n info22.edge = edge2;\n replacedEdge = true;\n }\n };\n for (var _i = 1; _i < numNodes; _i++) {\n replacedEdge = false;\n for (var e = 0; e < numEdges; e++) {\n var edge = edges2[e];\n var src = edge.source();\n var tgt = edge.target();\n var _weight = weightFn(edge);\n var srcInfo = getInfo3(src);\n var tgtInfo = getInfo3(tgt);\n checkForEdgeReplacement(src, tgt, edge, srcInfo, tgtInfo, _weight);\n if (!directed) {\n checkForEdgeReplacement(tgt, src, edge, tgtInfo, srcInfo, _weight);\n }\n }\n if (!replacedEdge) {\n break;\n }\n }\n if (replacedEdge) {\n var negativeWeightCycleIds = [];\n for (var _e = 0; _e < numEdges; _e++) {\n var _edge = edges2[_e];\n var _src = _edge.source();\n var _tgt = _edge.target();\n var _weight2 = weightFn(_edge);\n var srcDist = getInfo3(_src).dist;\n var tgtDist = getInfo3(_tgt).dist;\n if (srcDist + _weight2 < tgtDist || !directed && tgtDist + _weight2 < srcDist) {\n if (!hasNegativeWeightCycle) {\n warn(\"Graph contains a negative weight cycle for Bellman-Ford\");\n hasNegativeWeightCycle = true;\n }\n if (options2.findNegativeWeightCycles !== false) {\n var negativeNodes = [];\n if (srcDist + _weight2 < tgtDist) {\n negativeNodes.push(_src);\n }\n if (!directed && tgtDist + _weight2 < srcDist) {\n negativeNodes.push(_tgt);\n }\n var numNegativeNodes = negativeNodes.length;\n for (var n = 0; n < numNegativeNodes; n++) {\n var start2 = negativeNodes[n];\n var cycle = [start2];\n cycle.push(getInfo3(start2).edge);\n var _node = getInfo3(start2).pred;\n while (cycle.indexOf(_node) === -1) {\n cycle.push(_node);\n cycle.push(getInfo3(_node).edge);\n _node = getInfo3(_node).pred;\n }\n cycle = cycle.slice(cycle.indexOf(_node));\n var smallestId = cycle[0].id();\n var smallestIndex = 0;\n for (var c2 = 2; c2 < cycle.length; c2 += 2) {\n if (cycle[c2].id() < smallestId) {\n smallestId = cycle[c2].id();\n smallestIndex = c2;\n }\n }\n cycle = cycle.slice(smallestIndex).concat(cycle.slice(0, smallestIndex));\n cycle.push(cycle[0]);\n var cycleId = cycle.map(function(el) {\n return el.id();\n }).join(\",\");\n if (negativeWeightCycleIds.indexOf(cycleId) === -1) {\n negativeWeightCycles.push(eles.spawn(cycle));\n negativeWeightCycleIds.push(cycleId);\n }\n }\n } else {\n break;\n }\n }\n }\n }\n return {\n distanceTo,\n pathTo,\n hasNegativeWeightCycle,\n negativeWeightCycles\n };\n }\n // bellmanFord\n };\n var sqrt2 = Math.sqrt(2);\n var collapse = function collapse2(edgeIndex, nodeMap, remainingEdges) {\n if (remainingEdges.length === 0) {\n error(\"Karger-Stein must be run on a connected (sub)graph\");\n }\n var edgeInfo = remainingEdges[edgeIndex];\n var sourceIn = edgeInfo[1];\n var targetIn = edgeInfo[2];\n var partition1 = nodeMap[sourceIn];\n var partition2 = nodeMap[targetIn];\n var newEdges = remainingEdges;\n for (var i3 = newEdges.length - 1; i3 >= 0; i3--) {\n var edge = newEdges[i3];\n var src = edge[1];\n var tgt = edge[2];\n if (nodeMap[src] === partition1 && nodeMap[tgt] === partition2 || nodeMap[src] === partition2 && nodeMap[tgt] === partition1) {\n newEdges.splice(i3, 1);\n }\n }\n for (var _i = 0; _i < newEdges.length; _i++) {\n var _edge = newEdges[_i];\n if (_edge[1] === partition2) {\n newEdges[_i] = _edge.slice();\n newEdges[_i][1] = partition1;\n } else if (_edge[2] === partition2) {\n newEdges[_i] = _edge.slice();\n newEdges[_i][2] = partition1;\n }\n }\n for (var _i2 = 0; _i2 < nodeMap.length; _i2++) {\n if (nodeMap[_i2] === partition2) {\n nodeMap[_i2] = partition1;\n }\n }\n return newEdges;\n };\n var contractUntil = function contractUntil2(metaNodeMap, remainingEdges, size2, sizeLimit) {\n while (size2 > sizeLimit) {\n var edgeIndex = Math.floor(Math.random() * remainingEdges.length);\n remainingEdges = collapse(edgeIndex, metaNodeMap, remainingEdges);\n size2--;\n }\n return remainingEdges;\n };\n var elesfn$p = {\n // Computes the minimum cut of an undirected graph\n // Returns the correct answer with high probability\n kargerStein: function kargerStein() {\n var _this = this;\n var _this$byGroup = this.byGroup(), nodes2 = _this$byGroup.nodes, edges2 = _this$byGroup.edges;\n edges2.unmergeBy(function(edge) {\n return edge.isLoop();\n });\n var numNodes = nodes2.length;\n var numEdges = edges2.length;\n var numIter = Math.ceil(Math.pow(Math.log(numNodes) / Math.LN2, 2));\n var stopSize = Math.floor(numNodes / sqrt2);\n if (numNodes < 2) {\n error(\"At least 2 nodes are required for Karger-Stein algorithm\");\n return void 0;\n }\n var edgeIndexes = [];\n for (var i3 = 0; i3 < numEdges; i3++) {\n var e = edges2[i3];\n edgeIndexes.push([i3, nodes2.indexOf(e.source()), nodes2.indexOf(e.target())]);\n }\n var minCutSize = Infinity;\n var minCutEdgeIndexes = [];\n var minCutNodeMap = new Array(numNodes);\n var metaNodeMap = new Array(numNodes);\n var metaNodeMap2 = new Array(numNodes);\n var copyNodesMap = function copyNodesMap2(from2, to) {\n for (var _i3 = 0; _i3 < numNodes; _i3++) {\n to[_i3] = from2[_i3];\n }\n };\n for (var iter = 0; iter <= numIter; iter++) {\n for (var _i4 = 0; _i4 < numNodes; _i4++) {\n metaNodeMap[_i4] = _i4;\n }\n var edgesState = contractUntil(metaNodeMap, edgeIndexes.slice(), numNodes, stopSize);\n var edgesState2 = edgesState.slice();\n copyNodesMap(metaNodeMap, metaNodeMap2);\n var res1 = contractUntil(metaNodeMap, edgesState, stopSize, 2);\n var res2 = contractUntil(metaNodeMap2, edgesState2, stopSize, 2);\n if (res1.length <= res2.length && res1.length < minCutSize) {\n minCutSize = res1.length;\n minCutEdgeIndexes = res1;\n copyNodesMap(metaNodeMap, minCutNodeMap);\n } else if (res2.length <= res1.length && res2.length < minCutSize) {\n minCutSize = res2.length;\n minCutEdgeIndexes = res2;\n copyNodesMap(metaNodeMap2, minCutNodeMap);\n }\n }\n var cut = this.spawn(minCutEdgeIndexes.map(function(e3) {\n return edges2[e3[0]];\n }));\n var partition1 = this.spawn();\n var partition2 = this.spawn();\n var witnessNodePartition = minCutNodeMap[0];\n for (var _i5 = 0; _i5 < minCutNodeMap.length; _i5++) {\n var partitionId = minCutNodeMap[_i5];\n var node2 = nodes2[_i5];\n if (partitionId === witnessNodePartition) {\n partition1.merge(node2);\n } else {\n partition2.merge(node2);\n }\n }\n var constructComponent = function constructComponent2(subset) {\n var component = _this.spawn();\n subset.forEach(function(node3) {\n component.merge(node3);\n node3.connectedEdges().forEach(function(edge) {\n if (_this.contains(edge) && !cut.contains(edge)) {\n component.merge(edge);\n }\n });\n });\n return component;\n };\n var components = [constructComponent(partition1), constructComponent(partition2)];\n var ret = {\n cut,\n components,\n // n.b. partitions are included to be compatible with the old api spec\n // (could be removed in a future major version)\n partition1,\n partition2\n };\n return ret;\n }\n };\n var copyPosition = function copyPosition2(p2) {\n return {\n x: p2.x,\n y: p2.y\n };\n };\n var modelToRenderedPosition = function modelToRenderedPosition2(p2, zoom, pan) {\n return {\n x: p2.x * zoom + pan.x,\n y: p2.y * zoom + pan.y\n };\n };\n var renderedToModelPosition = function renderedToModelPosition2(p2, zoom, pan) {\n return {\n x: (p2.x - pan.x) / zoom,\n y: (p2.y - pan.y) / zoom\n };\n };\n var array2point = function array2point2(arr) {\n return {\n x: arr[0],\n y: arr[1]\n };\n };\n var min2 = function min3(arr) {\n var begin = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n var end2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : arr.length;\n var min4 = Infinity;\n for (var i3 = begin; i3 < end2; i3++) {\n var val = arr[i3];\n if (isFinite(val)) {\n min4 = Math.min(val, min4);\n }\n }\n return min4;\n };\n var max2 = function max3(arr) {\n var begin = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n var end2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : arr.length;\n var max4 = -Infinity;\n for (var i3 = begin; i3 < end2; i3++) {\n var val = arr[i3];\n if (isFinite(val)) {\n max4 = Math.max(val, max4);\n }\n }\n return max4;\n };\n var mean = function mean2(arr) {\n var begin = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n var end2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : arr.length;\n var total = 0;\n var n = 0;\n for (var i3 = begin; i3 < end2; i3++) {\n var val = arr[i3];\n if (isFinite(val)) {\n total += val;\n n++;\n }\n }\n return total / n;\n };\n var median = function median2(arr) {\n var begin = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n var end2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : arr.length;\n var copy3 = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : true;\n var sort2 = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : true;\n var includeHoles = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : true;\n if (copy3) {\n arr = arr.slice(begin, end2);\n } else {\n if (end2 < arr.length) {\n arr.splice(end2, arr.length - end2);\n }\n if (begin > 0) {\n arr.splice(0, begin);\n }\n }\n var off = 0;\n for (var i3 = arr.length - 1; i3 >= 0; i3--) {\n var v = arr[i3];\n if (includeHoles) {\n if (!isFinite(v)) {\n arr[i3] = -Infinity;\n off++;\n }\n } else {\n arr.splice(i3, 1);\n }\n }\n if (sort2) {\n arr.sort(function(a, b) {\n return a - b;\n });\n }\n var len = arr.length;\n var mid = Math.floor(len / 2);\n if (len % 2 !== 0) {\n return arr[mid + 1 + off];\n } else {\n return (arr[mid - 1 + off] + arr[mid + off]) / 2;\n }\n };\n var deg2rad = function deg2rad2(deg) {\n return Math.PI * deg / 180;\n };\n var getAngleFromDisp = function getAngleFromDisp2(dispX, dispY) {\n return Math.atan2(dispY, dispX) - Math.PI / 2;\n };\n var log2 = Math.log2 || function(n) {\n return Math.log(n) / Math.log(2);\n };\n var signum = function signum2(x2) {\n if (x2 > 0) {\n return 1;\n } else if (x2 < 0) {\n return -1;\n } else {\n return 0;\n }\n };\n var dist2 = function dist3(p1, p2) {\n return Math.sqrt(sqdist(p1, p2));\n };\n var sqdist = function sqdist2(p1, p2) {\n var dx = p2.x - p1.x;\n var dy = p2.y - p1.y;\n return dx * dx + dy * dy;\n };\n var inPlaceSumNormalize = function inPlaceSumNormalize2(v) {\n var length2 = v.length;\n var total = 0;\n for (var i3 = 0; i3 < length2; i3++) {\n total += v[i3];\n }\n for (var _i = 0; _i < length2; _i++) {\n v[_i] = v[_i] / total;\n }\n return v;\n };\n var qbezierAt = function qbezierAt2(p0, p1, p2, t) {\n return (1 - t) * (1 - t) * p0 + 2 * (1 - t) * t * p1 + t * t * p2;\n };\n var qbezierPtAt = function qbezierPtAt2(p0, p1, p2, t) {\n return {\n x: qbezierAt(p0.x, p1.x, p2.x, t),\n y: qbezierAt(p0.y, p1.y, p2.y, t)\n };\n };\n var lineAt = function lineAt2(p0, p1, t, d) {\n var vec = {\n x: p1.x - p0.x,\n y: p1.y - p0.y\n };\n var vecDist = dist2(p0, p1);\n var normVec = {\n x: vec.x / vecDist,\n y: vec.y / vecDist\n };\n t = t == null ? 0 : t;\n d = d != null ? d : t * vecDist;\n return {\n x: p0.x + normVec.x * d,\n y: p0.y + normVec.y * d\n };\n };\n var bound = function bound2(min3, val, max3) {\n return Math.max(min3, Math.min(max3, val));\n };\n var makeBoundingBox = function makeBoundingBox2(bb) {\n if (bb == null) {\n return {\n x1: Infinity,\n y1: Infinity,\n x2: -Infinity,\n y2: -Infinity,\n w: 0,\n h: 0\n };\n } else if (bb.x1 != null && bb.y1 != null) {\n if (bb.x2 != null && bb.y2 != null && bb.x2 >= bb.x1 && bb.y2 >= bb.y1) {\n return {\n x1: bb.x1,\n y1: bb.y1,\n x2: bb.x2,\n y2: bb.y2,\n w: bb.x2 - bb.x1,\n h: bb.y2 - bb.y1\n };\n } else if (bb.w != null && bb.h != null && bb.w >= 0 && bb.h >= 0) {\n return {\n x1: bb.x1,\n y1: bb.y1,\n x2: bb.x1 + bb.w,\n y2: bb.y1 + bb.h,\n w: bb.w,\n h: bb.h\n };\n }\n }\n };\n var copyBoundingBox = function copyBoundingBox2(bb) {\n return {\n x1: bb.x1,\n x2: bb.x2,\n w: bb.w,\n y1: bb.y1,\n y2: bb.y2,\n h: bb.h\n };\n };\n var clearBoundingBox = function clearBoundingBox2(bb) {\n bb.x1 = Infinity;\n bb.y1 = Infinity;\n bb.x2 = -Infinity;\n bb.y2 = -Infinity;\n bb.w = 0;\n bb.h = 0;\n };\n var updateBoundingBox = function updateBoundingBox2(bb1, bb2) {\n bb1.x1 = Math.min(bb1.x1, bb2.x1);\n bb1.x2 = Math.max(bb1.x2, bb2.x2);\n bb1.w = bb1.x2 - bb1.x1;\n bb1.y1 = Math.min(bb1.y1, bb2.y1);\n bb1.y2 = Math.max(bb1.y2, bb2.y2);\n bb1.h = bb1.y2 - bb1.y1;\n };\n var expandBoundingBoxByPoint = function expandBoundingBoxByPoint2(bb, x2, y2) {\n bb.x1 = Math.min(bb.x1, x2);\n bb.x2 = Math.max(bb.x2, x2);\n bb.w = bb.x2 - bb.x1;\n bb.y1 = Math.min(bb.y1, y2);\n bb.y2 = Math.max(bb.y2, y2);\n bb.h = bb.y2 - bb.y1;\n };\n var expandBoundingBox = function expandBoundingBox2(bb) {\n var padding2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n bb.x1 -= padding2;\n bb.x2 += padding2;\n bb.y1 -= padding2;\n bb.y2 += padding2;\n bb.w = bb.x2 - bb.x1;\n bb.h = bb.y2 - bb.y1;\n return bb;\n };\n var expandBoundingBoxSides = function expandBoundingBoxSides2(bb) {\n var padding2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [0];\n var top2, right2, bottom2, left2;\n if (padding2.length === 1) {\n top2 = right2 = bottom2 = left2 = padding2[0];\n } else if (padding2.length === 2) {\n top2 = bottom2 = padding2[0];\n left2 = right2 = padding2[1];\n } else if (padding2.length === 4) {\n var _padding = _slicedToArray(padding2, 4);\n top2 = _padding[0];\n right2 = _padding[1];\n bottom2 = _padding[2];\n left2 = _padding[3];\n }\n bb.x1 -= left2;\n bb.x2 += right2;\n bb.y1 -= top2;\n bb.y2 += bottom2;\n bb.w = bb.x2 - bb.x1;\n bb.h = bb.y2 - bb.y1;\n return bb;\n };\n var assignBoundingBox = function assignBoundingBox2(bb1, bb2) {\n bb1.x1 = bb2.x1;\n bb1.y1 = bb2.y1;\n bb1.x2 = bb2.x2;\n bb1.y2 = bb2.y2;\n bb1.w = bb1.x2 - bb1.x1;\n bb1.h = bb1.y2 - bb1.y1;\n };\n var boundingBoxesIntersect = function boundingBoxesIntersect2(bb1, bb2) {\n if (bb1.x1 > bb2.x2) {\n return false;\n }\n if (bb2.x1 > bb1.x2) {\n return false;\n }\n if (bb1.x2 < bb2.x1) {\n return false;\n }\n if (bb2.x2 < bb1.x1) {\n return false;\n }\n if (bb1.y2 < bb2.y1) {\n return false;\n }\n if (bb2.y2 < bb1.y1) {\n return false;\n }\n if (bb1.y1 > bb2.y2) {\n return false;\n }\n if (bb2.y1 > bb1.y2) {\n return false;\n }\n return true;\n };\n var inBoundingBox = function inBoundingBox2(bb, x2, y2) {\n return bb.x1 <= x2 && x2 <= bb.x2 && bb.y1 <= y2 && y2 <= bb.y2;\n };\n var pointInBoundingBox = function pointInBoundingBox2(bb, pt) {\n return inBoundingBox(bb, pt.x, pt.y);\n };\n var boundingBoxInBoundingBox = function boundingBoxInBoundingBox2(bb1, bb2) {\n return inBoundingBox(bb1, bb2.x1, bb2.y1) && inBoundingBox(bb1, bb2.x2, bb2.y2);\n };\n var roundRectangleIntersectLine = function roundRectangleIntersectLine2(x2, y2, nodeX, nodeY, width2, height2, padding2) {\n var cornerRadius = getRoundRectangleRadius(width2, height2);\n var halfWidth = width2 / 2;\n var halfHeight = height2 / 2;\n var straightLineIntersections;\n {\n var topStartX = nodeX - halfWidth + cornerRadius - padding2;\n var topStartY = nodeY - halfHeight - padding2;\n var topEndX = nodeX + halfWidth - cornerRadius + padding2;\n var topEndY = topStartY;\n straightLineIntersections = finiteLinesIntersect(x2, y2, nodeX, nodeY, topStartX, topStartY, topEndX, topEndY, false);\n if (straightLineIntersections.length > 0) {\n return straightLineIntersections;\n }\n }\n {\n var rightStartX = nodeX + halfWidth + padding2;\n var rightStartY = nodeY - halfHeight + cornerRadius - padding2;\n var rightEndX = rightStartX;\n var rightEndY = nodeY + halfHeight - cornerRadius + padding2;\n straightLineIntersections = finiteLinesIntersect(x2, y2, nodeX, nodeY, rightStartX, rightStartY, rightEndX, rightEndY, false);\n if (straightLineIntersections.length > 0) {\n return straightLineIntersections;\n }\n }\n {\n var bottomStartX = nodeX - halfWidth + cornerRadius - padding2;\n var bottomStartY = nodeY + halfHeight + padding2;\n var bottomEndX = nodeX + halfWidth - cornerRadius + padding2;\n var bottomEndY = bottomStartY;\n straightLineIntersections = finiteLinesIntersect(x2, y2, nodeX, nodeY, bottomStartX, bottomStartY, bottomEndX, bottomEndY, false);\n if (straightLineIntersections.length > 0) {\n return straightLineIntersections;\n }\n }\n {\n var leftStartX = nodeX - halfWidth - padding2;\n var leftStartY = nodeY - halfHeight + cornerRadius - padding2;\n var leftEndX = leftStartX;\n var leftEndY = nodeY + halfHeight - cornerRadius + padding2;\n straightLineIntersections = finiteLinesIntersect(x2, y2, nodeX, nodeY, leftStartX, leftStartY, leftEndX, leftEndY, false);\n if (straightLineIntersections.length > 0) {\n return straightLineIntersections;\n }\n }\n var arcIntersections;\n {\n var topLeftCenterX = nodeX - halfWidth + cornerRadius;\n var topLeftCenterY = nodeY - halfHeight + cornerRadius;\n arcIntersections = intersectLineCircle(x2, y2, nodeX, nodeY, topLeftCenterX, topLeftCenterY, cornerRadius + padding2);\n if (arcIntersections.length > 0 && arcIntersections[0] <= topLeftCenterX && arcIntersections[1] <= topLeftCenterY) {\n return [arcIntersections[0], arcIntersections[1]];\n }\n }\n {\n var topRightCenterX = nodeX + halfWidth - cornerRadius;\n var topRightCenterY = nodeY - halfHeight + cornerRadius;\n arcIntersections = intersectLineCircle(x2, y2, nodeX, nodeY, topRightCenterX, topRightCenterY, cornerRadius + padding2);\n if (arcIntersections.length > 0 && arcIntersections[0] >= topRightCenterX && arcIntersections[1] <= topRightCenterY) {\n return [arcIntersections[0], arcIntersections[1]];\n }\n }\n {\n var bottomRightCenterX = nodeX + halfWidth - cornerRadius;\n var bottomRightCenterY = nodeY + halfHeight - cornerRadius;\n arcIntersections = intersectLineCircle(x2, y2, nodeX, nodeY, bottomRightCenterX, bottomRightCenterY, cornerRadius + padding2);\n if (arcIntersections.length > 0 && arcIntersections[0] >= bottomRightCenterX && arcIntersections[1] >= bottomRightCenterY) {\n return [arcIntersections[0], arcIntersections[1]];\n }\n }\n {\n var bottomLeftCenterX = nodeX - halfWidth + cornerRadius;\n var bottomLeftCenterY = nodeY + halfHeight - cornerRadius;\n arcIntersections = intersectLineCircle(x2, y2, nodeX, nodeY, bottomLeftCenterX, bottomLeftCenterY, cornerRadius + padding2);\n if (arcIntersections.length > 0 && arcIntersections[0] <= bottomLeftCenterX && arcIntersections[1] >= bottomLeftCenterY) {\n return [arcIntersections[0], arcIntersections[1]];\n }\n }\n return [];\n };\n var inLineVicinity = function inLineVicinity2(x2, y2, lx1, ly1, lx2, ly2, tolerance) {\n var t = tolerance;\n var x1 = Math.min(lx1, lx2);\n var x22 = Math.max(lx1, lx2);\n var y1 = Math.min(ly1, ly2);\n var y22 = Math.max(ly1, ly2);\n return x1 - t <= x2 && x2 <= x22 + t && y1 - t <= y2 && y2 <= y22 + t;\n };\n var inBezierVicinity = function inBezierVicinity2(x2, y2, x1, y1, x22, y22, x3, y3, tolerance) {\n var bb = {\n x1: Math.min(x1, x3, x22) - tolerance,\n x2: Math.max(x1, x3, x22) + tolerance,\n y1: Math.min(y1, y3, y22) - tolerance,\n y2: Math.max(y1, y3, y22) + tolerance\n };\n if (x2 < bb.x1 || x2 > bb.x2 || y2 < bb.y1 || y2 > bb.y2) {\n return false;\n } else {\n return true;\n }\n };\n var solveQuadratic = function solveQuadratic2(a, b, c2, val) {\n c2 -= val;\n var r = b * b - 4 * a * c2;\n if (r < 0) {\n return [];\n }\n var sqrtR = Math.sqrt(r);\n var denom = 2 * a;\n var root1 = (-b + sqrtR) / denom;\n var root22 = (-b - sqrtR) / denom;\n return [root1, root22];\n };\n var solveCubic = function solveCubic2(a, b, c2, d, result) {\n var epsilon2 = 1e-5;\n if (a === 0) {\n a = epsilon2;\n }\n b /= a;\n c2 /= a;\n d /= a;\n var discriminant, q, r, dum1, s, t, term1, r13;\n q = (3 * c2 - b * b) / 9;\n r = -(27 * d) + b * (9 * c2 - 2 * (b * b));\n r /= 54;\n discriminant = q * q * q + r * r;\n result[1] = 0;\n term1 = b / 3;\n if (discriminant > 0) {\n s = r + Math.sqrt(discriminant);\n s = s < 0 ? -Math.pow(-s, 1 / 3) : Math.pow(s, 1 / 3);\n t = r - Math.sqrt(discriminant);\n t = t < 0 ? -Math.pow(-t, 1 / 3) : Math.pow(t, 1 / 3);\n result[0] = -term1 + s + t;\n term1 += (s + t) / 2;\n result[4] = result[2] = -term1;\n term1 = Math.sqrt(3) * (-t + s) / 2;\n result[3] = term1;\n result[5] = -term1;\n return;\n }\n result[5] = result[3] = 0;\n if (discriminant === 0) {\n r13 = r < 0 ? -Math.pow(-r, 1 / 3) : Math.pow(r, 1 / 3);\n result[0] = -term1 + 2 * r13;\n result[4] = result[2] = -(r13 + term1);\n return;\n }\n q = -q;\n dum1 = q * q * q;\n dum1 = Math.acos(r / Math.sqrt(dum1));\n r13 = 2 * Math.sqrt(q);\n result[0] = -term1 + r13 * Math.cos(dum1 / 3);\n result[2] = -term1 + r13 * Math.cos((dum1 + 2 * Math.PI) / 3);\n result[4] = -term1 + r13 * Math.cos((dum1 + 4 * Math.PI) / 3);\n return;\n };\n var sqdistToQuadraticBezier = function sqdistToQuadraticBezier2(x2, y2, x1, y1, x22, y22, x3, y3) {\n var a = 1 * x1 * x1 - 4 * x1 * x22 + 2 * x1 * x3 + 4 * x22 * x22 - 4 * x22 * x3 + x3 * x3 + y1 * y1 - 4 * y1 * y22 + 2 * y1 * y3 + 4 * y22 * y22 - 4 * y22 * y3 + y3 * y3;\n var b = 1 * 9 * x1 * x22 - 3 * x1 * x1 - 3 * x1 * x3 - 6 * x22 * x22 + 3 * x22 * x3 + 9 * y1 * y22 - 3 * y1 * y1 - 3 * y1 * y3 - 6 * y22 * y22 + 3 * y22 * y3;\n var c2 = 1 * 3 * x1 * x1 - 6 * x1 * x22 + x1 * x3 - x1 * x2 + 2 * x22 * x22 + 2 * x22 * x2 - x3 * x2 + 3 * y1 * y1 - 6 * y1 * y22 + y1 * y3 - y1 * y2 + 2 * y22 * y22 + 2 * y22 * y2 - y3 * y2;\n var d = 1 * x1 * x22 - x1 * x1 + x1 * x2 - x22 * x2 + y1 * y22 - y1 * y1 + y1 * y2 - y22 * y2;\n var roots = [];\n solveCubic(a, b, c2, d, roots);\n var zeroThreshold = 1e-7;\n var params = [];\n for (var index = 0; index < 6; index += 2) {\n if (Math.abs(roots[index + 1]) < zeroThreshold && roots[index] >= 0 && roots[index] <= 1) {\n params.push(roots[index]);\n }\n }\n params.push(1);\n params.push(0);\n var minDistanceSquared = -1;\n var curX, curY, distSquared;\n for (var i3 = 0; i3 < params.length; i3++) {\n curX = Math.pow(1 - params[i3], 2) * x1 + 2 * (1 - params[i3]) * params[i3] * x22 + params[i3] * params[i3] * x3;\n curY = Math.pow(1 - params[i3], 2) * y1 + 2 * (1 - params[i3]) * params[i3] * y22 + params[i3] * params[i3] * y3;\n distSquared = Math.pow(curX - x2, 2) + Math.pow(curY - y2, 2);\n if (minDistanceSquared >= 0) {\n if (distSquared < minDistanceSquared) {\n minDistanceSquared = distSquared;\n }\n } else {\n minDistanceSquared = distSquared;\n }\n }\n return minDistanceSquared;\n };\n var sqdistToFiniteLine = function sqdistToFiniteLine2(x2, y2, x1, y1, x22, y22) {\n var offset = [x2 - x1, y2 - y1];\n var line2 = [x22 - x1, y22 - y1];\n var lineSq = line2[0] * line2[0] + line2[1] * line2[1];\n var hypSq = offset[0] * offset[0] + offset[1] * offset[1];\n var dotProduct = offset[0] * line2[0] + offset[1] * line2[1];\n var adjSq = dotProduct * dotProduct / lineSq;\n if (dotProduct < 0) {\n return hypSq;\n }\n if (adjSq > lineSq) {\n return (x2 - x22) * (x2 - x22) + (y2 - y22) * (y2 - y22);\n }\n return hypSq - adjSq;\n };\n var pointInsidePolygonPoints = function pointInsidePolygonPoints2(x2, y2, points) {\n var x1, y1, x22, y22;\n var y3;\n var up = 0;\n for (var i3 = 0; i3 < points.length / 2; i3++) {\n x1 = points[i3 * 2];\n y1 = points[i3 * 2 + 1];\n if (i3 + 1 < points.length / 2) {\n x22 = points[(i3 + 1) * 2];\n y22 = points[(i3 + 1) * 2 + 1];\n } else {\n x22 = points[(i3 + 1 - points.length / 2) * 2];\n y22 = points[(i3 + 1 - points.length / 2) * 2 + 1];\n }\n if (x1 == x2 && x22 == x2)\n ;\n else if (x1 >= x2 && x2 >= x22 || x1 <= x2 && x2 <= x22) {\n y3 = (x2 - x1) / (x22 - x1) * (y22 - y1) + y1;\n if (y3 > y2) {\n up++;\n }\n } else {\n continue;\n }\n }\n if (up % 2 === 0) {\n return false;\n } else {\n return true;\n }\n };\n var pointInsidePolygon = function pointInsidePolygon2(x2, y2, basePoints, centerX, centerY, width2, height2, direction2, padding2) {\n var transformedPoints = new Array(basePoints.length);\n var angle;\n if (direction2[0] != null) {\n angle = Math.atan(direction2[1] / direction2[0]);\n if (direction2[0] < 0) {\n angle = angle + Math.PI / 2;\n } else {\n angle = -angle - Math.PI / 2;\n }\n } else {\n angle = direction2;\n }\n var cos3 = Math.cos(-angle);\n var sin3 = Math.sin(-angle);\n for (var i3 = 0; i3 < transformedPoints.length / 2; i3++) {\n transformedPoints[i3 * 2] = width2 / 2 * (basePoints[i3 * 2] * cos3 - basePoints[i3 * 2 + 1] * sin3);\n transformedPoints[i3 * 2 + 1] = height2 / 2 * (basePoints[i3 * 2 + 1] * cos3 + basePoints[i3 * 2] * sin3);\n transformedPoints[i3 * 2] += centerX;\n transformedPoints[i3 * 2 + 1] += centerY;\n }\n var points;\n if (padding2 > 0) {\n var expandedLineSet = expandPolygon(transformedPoints, -padding2);\n points = joinLines(expandedLineSet);\n } else {\n points = transformedPoints;\n }\n return pointInsidePolygonPoints(x2, y2, points);\n };\n var pointInsideRoundPolygon = function pointInsideRoundPolygon2(x2, y2, basePoints, centerX, centerY, width2, height2) {\n var cutPolygonPoints = new Array(basePoints.length);\n var halfW = width2 / 2;\n var halfH = height2 / 2;\n var cornerRadius = getRoundPolygonRadius(width2, height2);\n var squaredCornerRadius = cornerRadius * cornerRadius;\n for (var i3 = 0; i3 < basePoints.length / 4; i3++) {\n var sourceUv = void 0, destUv = void 0;\n if (i3 === 0) {\n sourceUv = basePoints.length - 2;\n } else {\n sourceUv = i3 * 4 - 2;\n }\n destUv = i3 * 4 + 2;\n var px = centerX + halfW * basePoints[i3 * 4];\n var py = centerY + halfH * basePoints[i3 * 4 + 1];\n var cosTheta = -basePoints[sourceUv] * basePoints[destUv] - basePoints[sourceUv + 1] * basePoints[destUv + 1];\n var offset = cornerRadius / Math.tan(Math.acos(cosTheta) / 2);\n var cp0x = px - offset * basePoints[sourceUv];\n var cp0y = py - offset * basePoints[sourceUv + 1];\n var cp1x = px + offset * basePoints[destUv];\n var cp1y = py + offset * basePoints[destUv + 1];\n cutPolygonPoints[i3 * 4] = cp0x;\n cutPolygonPoints[i3 * 4 + 1] = cp0y;\n cutPolygonPoints[i3 * 4 + 2] = cp1x;\n cutPolygonPoints[i3 * 4 + 3] = cp1y;\n var orthx = basePoints[sourceUv + 1];\n var orthy = -basePoints[sourceUv];\n var cosAlpha = orthx * basePoints[destUv] + orthy * basePoints[destUv + 1];\n if (cosAlpha < 0) {\n orthx *= -1;\n orthy *= -1;\n }\n var cx = cp0x + orthx * cornerRadius;\n var cy = cp0y + orthy * cornerRadius;\n var squaredDistance = Math.pow(cx - x2, 2) + Math.pow(cy - y2, 2);\n if (squaredDistance <= squaredCornerRadius) {\n return true;\n }\n }\n return pointInsidePolygonPoints(x2, y2, cutPolygonPoints);\n };\n var joinLines = function joinLines2(lineSet) {\n var vertices2 = new Array(lineSet.length / 2);\n var currentLineStartX, currentLineStartY, currentLineEndX, currentLineEndY;\n var nextLineStartX, nextLineStartY, nextLineEndX, nextLineEndY;\n for (var i3 = 0; i3 < lineSet.length / 4; i3++) {\n currentLineStartX = lineSet[i3 * 4];\n currentLineStartY = lineSet[i3 * 4 + 1];\n currentLineEndX = lineSet[i3 * 4 + 2];\n currentLineEndY = lineSet[i3 * 4 + 3];\n if (i3 < lineSet.length / 4 - 1) {\n nextLineStartX = lineSet[(i3 + 1) * 4];\n nextLineStartY = lineSet[(i3 + 1) * 4 + 1];\n nextLineEndX = lineSet[(i3 + 1) * 4 + 2];\n nextLineEndY = lineSet[(i3 + 1) * 4 + 3];\n } else {\n nextLineStartX = lineSet[0];\n nextLineStartY = lineSet[1];\n nextLineEndX = lineSet[2];\n nextLineEndY = lineSet[3];\n }\n var intersection2 = finiteLinesIntersect(currentLineStartX, currentLineStartY, currentLineEndX, currentLineEndY, nextLineStartX, nextLineStartY, nextLineEndX, nextLineEndY, true);\n vertices2[i3 * 2] = intersection2[0];\n vertices2[i3 * 2 + 1] = intersection2[1];\n }\n return vertices2;\n };\n var expandPolygon = function expandPolygon2(points, pad2) {\n var expandedLineSet = new Array(points.length * 2);\n var currentPointX, currentPointY, nextPointX, nextPointY;\n for (var i3 = 0; i3 < points.length / 2; i3++) {\n currentPointX = points[i3 * 2];\n currentPointY = points[i3 * 2 + 1];\n if (i3 < points.length / 2 - 1) {\n nextPointX = points[(i3 + 1) * 2];\n nextPointY = points[(i3 + 1) * 2 + 1];\n } else {\n nextPointX = points[0];\n nextPointY = points[1];\n }\n var offsetX = nextPointY - currentPointY;\n var offsetY = -(nextPointX - currentPointX);\n var offsetLength = Math.sqrt(offsetX * offsetX + offsetY * offsetY);\n var normalizedOffsetX = offsetX / offsetLength;\n var normalizedOffsetY = offsetY / offsetLength;\n expandedLineSet[i3 * 4] = currentPointX + normalizedOffsetX * pad2;\n expandedLineSet[i3 * 4 + 1] = currentPointY + normalizedOffsetY * pad2;\n expandedLineSet[i3 * 4 + 2] = nextPointX + normalizedOffsetX * pad2;\n expandedLineSet[i3 * 4 + 3] = nextPointY + normalizedOffsetY * pad2;\n }\n return expandedLineSet;\n };\n var intersectLineEllipse = function intersectLineEllipse2(x2, y2, centerX, centerY, ellipseWradius, ellipseHradius) {\n var dispX = centerX - x2;\n var dispY = centerY - y2;\n dispX /= ellipseWradius;\n dispY /= ellipseHradius;\n var len = Math.sqrt(dispX * dispX + dispY * dispY);\n var newLength = len - 1;\n if (newLength < 0) {\n return [];\n }\n var lenProportion = newLength / len;\n return [(centerX - x2) * lenProportion + x2, (centerY - y2) * lenProportion + y2];\n };\n var checkInEllipse = function checkInEllipse2(x2, y2, width2, height2, centerX, centerY, padding2) {\n x2 -= centerX;\n y2 -= centerY;\n x2 /= width2 / 2 + padding2;\n y2 /= height2 / 2 + padding2;\n return x2 * x2 + y2 * y2 <= 1;\n };\n var intersectLineCircle = function intersectLineCircle2(x1, y1, x2, y2, centerX, centerY, radius) {\n var d = [x2 - x1, y2 - y1];\n var f2 = [x1 - centerX, y1 - centerY];\n var a = d[0] * d[0] + d[1] * d[1];\n var b = 2 * (f2[0] * d[0] + f2[1] * d[1]);\n var c2 = f2[0] * f2[0] + f2[1] * f2[1] - radius * radius;\n var discriminant = b * b - 4 * a * c2;\n if (discriminant < 0) {\n return [];\n }\n var t12 = (-b + Math.sqrt(discriminant)) / (2 * a);\n var t22 = (-b - Math.sqrt(discriminant)) / (2 * a);\n var tMin = Math.min(t12, t22);\n var tMax = Math.max(t12, t22);\n var inRangeParams = [];\n if (tMin >= 0 && tMin <= 1) {\n inRangeParams.push(tMin);\n }\n if (tMax >= 0 && tMax <= 1) {\n inRangeParams.push(tMax);\n }\n if (inRangeParams.length === 0) {\n return [];\n }\n var nearIntersectionX = inRangeParams[0] * d[0] + x1;\n var nearIntersectionY = inRangeParams[0] * d[1] + y1;\n if (inRangeParams.length > 1) {\n if (inRangeParams[0] == inRangeParams[1]) {\n return [nearIntersectionX, nearIntersectionY];\n } else {\n var farIntersectionX = inRangeParams[1] * d[0] + x1;\n var farIntersectionY = inRangeParams[1] * d[1] + y1;\n return [nearIntersectionX, nearIntersectionY, farIntersectionX, farIntersectionY];\n }\n } else {\n return [nearIntersectionX, nearIntersectionY];\n }\n };\n var midOfThree = function midOfThree2(a, b, c2) {\n if (b <= a && a <= c2 || c2 <= a && a <= b) {\n return a;\n } else if (a <= b && b <= c2 || c2 <= b && b <= a) {\n return b;\n } else {\n return c2;\n }\n };\n var finiteLinesIntersect = function finiteLinesIntersect2(x1, y1, x2, y2, x3, y3, x4, y4, infiniteLines) {\n var dx13 = x1 - x3;\n var dx21 = x2 - x1;\n var dx43 = x4 - x3;\n var dy13 = y1 - y3;\n var dy21 = y2 - y1;\n var dy43 = y4 - y3;\n var ua_t = dx43 * dy13 - dy43 * dx13;\n var ub_t = dx21 * dy13 - dy21 * dx13;\n var u_b = dy43 * dx21 - dx43 * dy21;\n if (u_b !== 0) {\n var ua = ua_t / u_b;\n var ub = ub_t / u_b;\n var flptThreshold = 1e-3;\n var _min = 0 - flptThreshold;\n var _max = 1 + flptThreshold;\n if (_min <= ua && ua <= _max && _min <= ub && ub <= _max) {\n return [x1 + ua * dx21, y1 + ua * dy21];\n } else {\n if (!infiniteLines) {\n return [];\n } else {\n return [x1 + ua * dx21, y1 + ua * dy21];\n }\n }\n } else {\n if (ua_t === 0 || ub_t === 0) {\n if (midOfThree(x1, x2, x4) === x4) {\n return [x4, y4];\n }\n if (midOfThree(x1, x2, x3) === x3) {\n return [x3, y3];\n }\n if (midOfThree(x3, x4, x2) === x2) {\n return [x2, y2];\n }\n return [];\n } else {\n return [];\n }\n }\n };\n var polygonIntersectLine = function polygonIntersectLine2(x2, y2, basePoints, centerX, centerY, width2, height2, padding2) {\n var intersections = [];\n var intersection2;\n var transformedPoints = new Array(basePoints.length);\n var doTransform = true;\n if (width2 == null) {\n doTransform = false;\n }\n var points;\n if (doTransform) {\n for (var i3 = 0; i3 < transformedPoints.length / 2; i3++) {\n transformedPoints[i3 * 2] = basePoints[i3 * 2] * width2 + centerX;\n transformedPoints[i3 * 2 + 1] = basePoints[i3 * 2 + 1] * height2 + centerY;\n }\n if (padding2 > 0) {\n var expandedLineSet = expandPolygon(transformedPoints, -padding2);\n points = joinLines(expandedLineSet);\n } else {\n points = transformedPoints;\n }\n } else {\n points = basePoints;\n }\n var currentX, currentY, nextX, nextY;\n for (var _i2 = 0; _i2 < points.length / 2; _i2++) {\n currentX = points[_i2 * 2];\n currentY = points[_i2 * 2 + 1];\n if (_i2 < points.length / 2 - 1) {\n nextX = points[(_i2 + 1) * 2];\n nextY = points[(_i2 + 1) * 2 + 1];\n } else {\n nextX = points[0];\n nextY = points[1];\n }\n intersection2 = finiteLinesIntersect(x2, y2, centerX, centerY, currentX, currentY, nextX, nextY);\n if (intersection2.length !== 0) {\n intersections.push(intersection2[0], intersection2[1]);\n }\n }\n return intersections;\n };\n var roundPolygonIntersectLine = function roundPolygonIntersectLine2(x2, y2, basePoints, centerX, centerY, width2, height2, padding2) {\n var intersections = [];\n var intersection2;\n var lines = new Array(basePoints.length);\n var halfW = width2 / 2;\n var halfH = height2 / 2;\n var cornerRadius = getRoundPolygonRadius(width2, height2);\n for (var i3 = 0; i3 < basePoints.length / 4; i3++) {\n var sourceUv = void 0, destUv = void 0;\n if (i3 === 0) {\n sourceUv = basePoints.length - 2;\n } else {\n sourceUv = i3 * 4 - 2;\n }\n destUv = i3 * 4 + 2;\n var px = centerX + halfW * basePoints[i3 * 4];\n var py = centerY + halfH * basePoints[i3 * 4 + 1];\n var cosTheta = -basePoints[sourceUv] * basePoints[destUv] - basePoints[sourceUv + 1] * basePoints[destUv + 1];\n var offset = cornerRadius / Math.tan(Math.acos(cosTheta) / 2);\n var cp0x = px - offset * basePoints[sourceUv];\n var cp0y = py - offset * basePoints[sourceUv + 1];\n var cp1x = px + offset * basePoints[destUv];\n var cp1y = py + offset * basePoints[destUv + 1];\n if (i3 === 0) {\n lines[basePoints.length - 2] = cp0x;\n lines[basePoints.length - 1] = cp0y;\n } else {\n lines[i3 * 4 - 2] = cp0x;\n lines[i3 * 4 - 1] = cp0y;\n }\n lines[i3 * 4] = cp1x;\n lines[i3 * 4 + 1] = cp1y;\n var orthx = basePoints[sourceUv + 1];\n var orthy = -basePoints[sourceUv];\n var cosAlpha = orthx * basePoints[destUv] + orthy * basePoints[destUv + 1];\n if (cosAlpha < 0) {\n orthx *= -1;\n orthy *= -1;\n }\n var cx = cp0x + orthx * cornerRadius;\n var cy = cp0y + orthy * cornerRadius;\n intersection2 = intersectLineCircle(x2, y2, centerX, centerY, cx, cy, cornerRadius);\n if (intersection2.length !== 0) {\n intersections.push(intersection2[0], intersection2[1]);\n }\n }\n for (var _i3 = 0; _i3 < lines.length / 4; _i3++) {\n intersection2 = finiteLinesIntersect(x2, y2, centerX, centerY, lines[_i3 * 4], lines[_i3 * 4 + 1], lines[_i3 * 4 + 2], lines[_i3 * 4 + 3], false);\n if (intersection2.length !== 0) {\n intersections.push(intersection2[0], intersection2[1]);\n }\n }\n if (intersections.length > 2) {\n var lowestIntersection = [intersections[0], intersections[1]];\n var lowestSquaredDistance = Math.pow(lowestIntersection[0] - x2, 2) + Math.pow(lowestIntersection[1] - y2, 2);\n for (var _i4 = 1; _i4 < intersections.length / 2; _i4++) {\n var squaredDistance = Math.pow(intersections[_i4 * 2] - x2, 2) + Math.pow(intersections[_i4 * 2 + 1] - y2, 2);\n if (squaredDistance <= lowestSquaredDistance) {\n lowestIntersection[0] = intersections[_i4 * 2];\n lowestIntersection[1] = intersections[_i4 * 2 + 1];\n lowestSquaredDistance = squaredDistance;\n }\n }\n return lowestIntersection;\n }\n return intersections;\n };\n var shortenIntersection = function shortenIntersection2(intersection2, offset, amount) {\n var disp = [intersection2[0] - offset[0], intersection2[1] - offset[1]];\n var length2 = Math.sqrt(disp[0] * disp[0] + disp[1] * disp[1]);\n var lenRatio = (length2 - amount) / length2;\n if (lenRatio < 0) {\n lenRatio = 1e-5;\n }\n return [offset[0] + lenRatio * disp[0], offset[1] + lenRatio * disp[1]];\n };\n var generateUnitNgonPointsFitToSquare = function generateUnitNgonPointsFitToSquare2(sides, rotationRadians) {\n var points = generateUnitNgonPoints(sides, rotationRadians);\n points = fitPolygonToSquare(points);\n return points;\n };\n var fitPolygonToSquare = function fitPolygonToSquare2(points) {\n var x2, y2;\n var sides = points.length / 2;\n var minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;\n for (var i3 = 0; i3 < sides; i3++) {\n x2 = points[2 * i3];\n y2 = points[2 * i3 + 1];\n minX = Math.min(minX, x2);\n maxX = Math.max(maxX, x2);\n minY = Math.min(minY, y2);\n maxY = Math.max(maxY, y2);\n }\n var sx = 2 / (maxX - minX);\n var sy = 2 / (maxY - minY);\n for (var _i5 = 0; _i5 < sides; _i5++) {\n x2 = points[2 * _i5] = points[2 * _i5] * sx;\n y2 = points[2 * _i5 + 1] = points[2 * _i5 + 1] * sy;\n minX = Math.min(minX, x2);\n maxX = Math.max(maxX, x2);\n minY = Math.min(minY, y2);\n maxY = Math.max(maxY, y2);\n }\n if (minY < -1) {\n for (var _i6 = 0; _i6 < sides; _i6++) {\n y2 = points[2 * _i6 + 1] = points[2 * _i6 + 1] + (-1 - minY);\n }\n }\n return points;\n };\n var generateUnitNgonPoints = function generateUnitNgonPoints2(sides, rotationRadians) {\n var increment = 1 / sides * 2 * Math.PI;\n var startAngle = sides % 2 === 0 ? Math.PI / 2 + increment / 2 : Math.PI / 2;\n startAngle += rotationRadians;\n var points = new Array(sides * 2);\n var currentAngle;\n for (var i3 = 0; i3 < sides; i3++) {\n currentAngle = i3 * increment + startAngle;\n points[2 * i3] = Math.cos(currentAngle);\n points[2 * i3 + 1] = Math.sin(-currentAngle);\n }\n return points;\n };\n var getRoundRectangleRadius = function getRoundRectangleRadius2(width2, height2) {\n return Math.min(width2 / 4, height2 / 4, 8);\n };\n var getRoundPolygonRadius = function getRoundPolygonRadius2(width2, height2) {\n return Math.min(width2 / 10, height2 / 10, 8);\n };\n var getCutRectangleCornerLength = function getCutRectangleCornerLength2() {\n return 8;\n };\n var bezierPtsToQuadCoeff = function bezierPtsToQuadCoeff2(p0, p1, p2) {\n return [p0 - 2 * p1 + p2, 2 * (p1 - p0), p0];\n };\n var getBarrelCurveConstants = function getBarrelCurveConstants2(width2, height2) {\n return {\n heightOffset: Math.min(15, 0.05 * height2),\n widthOffset: Math.min(100, 0.25 * width2),\n ctrlPtOffsetPct: 0.05\n };\n };\n var pageRankDefaults = defaults$g({\n dampingFactor: 0.8,\n precision: 1e-6,\n iterations: 200,\n weight: function weight(edge) {\n return 1;\n }\n });\n var elesfn$o = {\n pageRank: function pageRank(options2) {\n var _pageRankDefaults = pageRankDefaults(options2), dampingFactor = _pageRankDefaults.dampingFactor, precision = _pageRankDefaults.precision, iterations = _pageRankDefaults.iterations, weight = _pageRankDefaults.weight;\n var cy = this._private.cy;\n var _this$byGroup = this.byGroup(), nodes2 = _this$byGroup.nodes, edges2 = _this$byGroup.edges;\n var numNodes = nodes2.length;\n var numNodesSqd = numNodes * numNodes;\n var numEdges = edges2.length;\n var matrix = new Array(numNodesSqd);\n var columnSum = new Array(numNodes);\n var additionalProb = (1 - dampingFactor) / numNodes;\n for (var i3 = 0; i3 < numNodes; i3++) {\n for (var j = 0; j < numNodes; j++) {\n var n = i3 * numNodes + j;\n matrix[n] = 0;\n }\n columnSum[i3] = 0;\n }\n for (var _i = 0; _i < numEdges; _i++) {\n var edge = edges2[_i];\n var srcId = edge.data(\"source\");\n var tgtId = edge.data(\"target\");\n if (srcId === tgtId) {\n continue;\n }\n var s = nodes2.indexOfId(srcId);\n var t = nodes2.indexOfId(tgtId);\n var w2 = weight(edge);\n var _n = t * numNodes + s;\n matrix[_n] += w2;\n columnSum[s] += w2;\n }\n var p2 = 1 / numNodes + additionalProb;\n for (var _j = 0; _j < numNodes; _j++) {\n if (columnSum[_j] === 0) {\n for (var _i2 = 0; _i2 < numNodes; _i2++) {\n var _n2 = _i2 * numNodes + _j;\n matrix[_n2] = p2;\n }\n } else {\n for (var _i3 = 0; _i3 < numNodes; _i3++) {\n var _n3 = _i3 * numNodes + _j;\n matrix[_n3] = matrix[_n3] / columnSum[_j] + additionalProb;\n }\n }\n }\n var eigenvector = new Array(numNodes);\n var temp = new Array(numNodes);\n var previous;\n for (var _i4 = 0; _i4 < numNodes; _i4++) {\n eigenvector[_i4] = 1;\n }\n for (var iter = 0; iter < iterations; iter++) {\n for (var _i5 = 0; _i5 < numNodes; _i5++) {\n temp[_i5] = 0;\n }\n for (var _i6 = 0; _i6 < numNodes; _i6++) {\n for (var _j2 = 0; _j2 < numNodes; _j2++) {\n var _n4 = _i6 * numNodes + _j2;\n temp[_i6] += matrix[_n4] * eigenvector[_j2];\n }\n }\n inPlaceSumNormalize(temp);\n previous = eigenvector;\n eigenvector = temp;\n temp = previous;\n var diff = 0;\n for (var _i7 = 0; _i7 < numNodes; _i7++) {\n var delta = previous[_i7] - eigenvector[_i7];\n diff += delta * delta;\n }\n if (diff < precision) {\n break;\n }\n }\n var res = {\n rank: function rank2(node2) {\n node2 = cy.collection(node2)[0];\n return eigenvector[nodes2.indexOf(node2)];\n }\n };\n return res;\n }\n // pageRank\n };\n var defaults$f = defaults$g({\n root: null,\n weight: function weight(edge) {\n return 1;\n },\n directed: false,\n alpha: 0\n });\n var elesfn$n = {\n degreeCentralityNormalized: function degreeCentralityNormalized(options2) {\n options2 = defaults$f(options2);\n var cy = this.cy();\n var nodes2 = this.nodes();\n var numNodes = nodes2.length;\n if (!options2.directed) {\n var degrees2 = {};\n var maxDegree = 0;\n for (var i3 = 0; i3 < numNodes; i3++) {\n var node2 = nodes2[i3];\n options2.root = node2;\n var currDegree = this.degreeCentrality(options2);\n if (maxDegree < currDegree.degree) {\n maxDegree = currDegree.degree;\n }\n degrees2[node2.id()] = currDegree.degree;\n }\n return {\n degree: function degree(node3) {\n if (maxDegree === 0) {\n return 0;\n }\n if (string(node3)) {\n node3 = cy.filter(node3);\n }\n return degrees2[node3.id()] / maxDegree;\n }\n };\n } else {\n var indegrees = {};\n var outdegrees = {};\n var maxIndegree = 0;\n var maxOutdegree = 0;\n for (var _i = 0; _i < numNodes; _i++) {\n var _node = nodes2[_i];\n var id2 = _node.id();\n options2.root = _node;\n var _currDegree = this.degreeCentrality(options2);\n if (maxIndegree < _currDegree.indegree)\n maxIndegree = _currDegree.indegree;\n if (maxOutdegree < _currDegree.outdegree)\n maxOutdegree = _currDegree.outdegree;\n indegrees[id2] = _currDegree.indegree;\n outdegrees[id2] = _currDegree.outdegree;\n }\n return {\n indegree: function indegree(node3) {\n if (maxIndegree == 0) {\n return 0;\n }\n if (string(node3)) {\n node3 = cy.filter(node3);\n }\n return indegrees[node3.id()] / maxIndegree;\n },\n outdegree: function outdegree(node3) {\n if (maxOutdegree === 0) {\n return 0;\n }\n if (string(node3)) {\n node3 = cy.filter(node3);\n }\n return outdegrees[node3.id()] / maxOutdegree;\n }\n };\n }\n },\n // degreeCentralityNormalized\n // Implemented from the algorithm in Opsahl's paper\n // \"Node centrality in weighted networks: Generalizing degree and shortest paths\"\n // check the heading 2 \"Degree\"\n degreeCentrality: function degreeCentrality(options2) {\n options2 = defaults$f(options2);\n var cy = this.cy();\n var callingEles = this;\n var _options = options2, root3 = _options.root, weight = _options.weight, directed = _options.directed, alpha = _options.alpha;\n root3 = cy.collection(root3)[0];\n if (!directed) {\n var connEdges = root3.connectedEdges().intersection(callingEles);\n var k = connEdges.length;\n var s = 0;\n for (var i3 = 0; i3 < connEdges.length; i3++) {\n s += weight(connEdges[i3]);\n }\n return {\n degree: Math.pow(k, 1 - alpha) * Math.pow(s, alpha)\n };\n } else {\n var edges2 = root3.connectedEdges();\n var incoming = edges2.filter(function(edge) {\n return edge.target().same(root3) && callingEles.has(edge);\n });\n var outgoing = edges2.filter(function(edge) {\n return edge.source().same(root3) && callingEles.has(edge);\n });\n var k_in = incoming.length;\n var k_out = outgoing.length;\n var s_in = 0;\n var s_out = 0;\n for (var _i2 = 0; _i2 < incoming.length; _i2++) {\n s_in += weight(incoming[_i2]);\n }\n for (var _i3 = 0; _i3 < outgoing.length; _i3++) {\n s_out += weight(outgoing[_i3]);\n }\n return {\n indegree: Math.pow(k_in, 1 - alpha) * Math.pow(s_in, alpha),\n outdegree: Math.pow(k_out, 1 - alpha) * Math.pow(s_out, alpha)\n };\n }\n }\n // degreeCentrality\n };\n elesfn$n.dc = elesfn$n.degreeCentrality;\n elesfn$n.dcn = elesfn$n.degreeCentralityNormalised = elesfn$n.degreeCentralityNormalized;\n var defaults$e = defaults$g({\n harmonic: true,\n weight: function weight() {\n return 1;\n },\n directed: false,\n root: null\n });\n var elesfn$m = {\n closenessCentralityNormalized: function closenessCentralityNormalized(options2) {\n var _defaults = defaults$e(options2), harmonic = _defaults.harmonic, weight = _defaults.weight, directed = _defaults.directed;\n var cy = this.cy();\n var closenesses = {};\n var maxCloseness = 0;\n var nodes2 = this.nodes();\n var fw = this.floydWarshall({\n weight,\n directed\n });\n for (var i3 = 0; i3 < nodes2.length; i3++) {\n var currCloseness = 0;\n var node_i = nodes2[i3];\n for (var j = 0; j < nodes2.length; j++) {\n if (i3 !== j) {\n var d = fw.distance(node_i, nodes2[j]);\n if (harmonic) {\n currCloseness += 1 / d;\n } else {\n currCloseness += d;\n }\n }\n }\n if (!harmonic) {\n currCloseness = 1 / currCloseness;\n }\n if (maxCloseness < currCloseness) {\n maxCloseness = currCloseness;\n }\n closenesses[node_i.id()] = currCloseness;\n }\n return {\n closeness: function closeness(node2) {\n if (maxCloseness == 0) {\n return 0;\n }\n if (string(node2)) {\n node2 = cy.filter(node2)[0].id();\n } else {\n node2 = node2.id();\n }\n return closenesses[node2] / maxCloseness;\n }\n };\n },\n // Implemented from pseudocode from wikipedia\n closenessCentrality: function closenessCentrality(options2) {\n var _defaults2 = defaults$e(options2), root3 = _defaults2.root, weight = _defaults2.weight, directed = _defaults2.directed, harmonic = _defaults2.harmonic;\n root3 = this.filter(root3)[0];\n var dijkstra = this.dijkstra({\n root: root3,\n weight,\n directed\n });\n var totalDistance = 0;\n var nodes2 = this.nodes();\n for (var i3 = 0; i3 < nodes2.length; i3++) {\n var n = nodes2[i3];\n if (!n.same(root3)) {\n var d = dijkstra.distanceTo(n);\n if (harmonic) {\n totalDistance += 1 / d;\n } else {\n totalDistance += d;\n }\n }\n }\n return harmonic ? totalDistance : 1 / totalDistance;\n }\n // closenessCentrality\n };\n elesfn$m.cc = elesfn$m.closenessCentrality;\n elesfn$m.ccn = elesfn$m.closenessCentralityNormalised = elesfn$m.closenessCentralityNormalized;\n var defaults$d = defaults$g({\n weight: null,\n directed: false\n });\n var elesfn$l = {\n // Implemented from the algorithm in the paper \"On Variants of Shortest-Path Betweenness Centrality and their Generic Computation\" by Ulrik Brandes\n betweennessCentrality: function betweennessCentrality(options2) {\n var _defaults = defaults$d(options2), directed = _defaults.directed, weight = _defaults.weight;\n var weighted = weight != null;\n var cy = this.cy();\n var V = this.nodes();\n var A = {};\n var _C = {};\n var max3 = 0;\n var C = {\n set: function set3(key, val) {\n _C[key] = val;\n if (val > max3) {\n max3 = val;\n }\n },\n get: function get3(key) {\n return _C[key];\n }\n };\n for (var i3 = 0; i3 < V.length; i3++) {\n var v = V[i3];\n var vid = v.id();\n if (directed) {\n A[vid] = v.outgoers().nodes();\n } else {\n A[vid] = v.openNeighborhood().nodes();\n }\n C.set(vid, 0);\n }\n var _loop = function _loop2(s2) {\n var sid = V[s2].id();\n var S = [];\n var P = {};\n var g = {};\n var d = {};\n var Q = new heap(function(a, b) {\n return d[a] - d[b];\n });\n for (var _i = 0; _i < V.length; _i++) {\n var _vid = V[_i].id();\n P[_vid] = [];\n g[_vid] = 0;\n d[_vid] = Infinity;\n }\n g[sid] = 1;\n d[sid] = 0;\n Q.push(sid);\n while (!Q.empty()) {\n var _v = Q.pop();\n S.push(_v);\n if (weighted) {\n for (var j = 0; j < A[_v].length; j++) {\n var w2 = A[_v][j];\n var vEle = cy.getElementById(_v);\n var edge = void 0;\n if (vEle.edgesTo(w2).length > 0) {\n edge = vEle.edgesTo(w2)[0];\n } else {\n edge = w2.edgesTo(vEle)[0];\n }\n var edgeWeight = weight(edge);\n w2 = w2.id();\n if (d[w2] > d[_v] + edgeWeight) {\n d[w2] = d[_v] + edgeWeight;\n if (Q.nodes.indexOf(w2) < 0) {\n Q.push(w2);\n } else {\n Q.updateItem(w2);\n }\n g[w2] = 0;\n P[w2] = [];\n }\n if (d[w2] == d[_v] + edgeWeight) {\n g[w2] = g[w2] + g[_v];\n P[w2].push(_v);\n }\n }\n } else {\n for (var _j = 0; _j < A[_v].length; _j++) {\n var _w = A[_v][_j].id();\n if (d[_w] == Infinity) {\n Q.push(_w);\n d[_w] = d[_v] + 1;\n }\n if (d[_w] == d[_v] + 1) {\n g[_w] = g[_w] + g[_v];\n P[_w].push(_v);\n }\n }\n }\n }\n var e = {};\n for (var _i2 = 0; _i2 < V.length; _i2++) {\n e[V[_i2].id()] = 0;\n }\n while (S.length > 0) {\n var _w2 = S.pop();\n for (var _j2 = 0; _j2 < P[_w2].length; _j2++) {\n var _v2 = P[_w2][_j2];\n e[_v2] = e[_v2] + g[_v2] / g[_w2] * (1 + e[_w2]);\n }\n if (_w2 != V[s2].id()) {\n C.set(_w2, C.get(_w2) + e[_w2]);\n }\n }\n };\n for (var s = 0; s < V.length; s++) {\n _loop(s);\n }\n var ret = {\n betweenness: function betweenness(node2) {\n var id2 = cy.collection(node2).id();\n return C.get(id2);\n },\n betweennessNormalized: function betweennessNormalized(node2) {\n if (max3 == 0) {\n return 0;\n }\n var id2 = cy.collection(node2).id();\n return C.get(id2) / max3;\n }\n };\n ret.betweennessNormalised = ret.betweennessNormalized;\n return ret;\n }\n // betweennessCentrality\n };\n elesfn$l.bc = elesfn$l.betweennessCentrality;\n var defaults$c = defaults$g({\n expandFactor: 2,\n // affects time of computation and cluster granularity to some extent: M * M\n inflateFactor: 2,\n // affects cluster granularity (the greater the value, the more clusters): M(i,j) / E(j)\n multFactor: 1,\n // optional self loops for each node. Use a neutral value to improve cluster computations.\n maxIterations: 20,\n // maximum number of iterations of the MCL algorithm in a single run\n attributes: [\n // attributes/features used to group nodes, ie. similarity values between nodes\n function(edge) {\n return 1;\n }\n ]\n });\n var setOptions$3 = function setOptions3(options2) {\n return defaults$c(options2);\n };\n var getSimilarity$1 = function getSimilarity2(edge, attributes) {\n var total = 0;\n for (var i3 = 0; i3 < attributes.length; i3++) {\n total += attributes[i3](edge);\n }\n return total;\n };\n var addLoops = function addLoops2(M, n, val) {\n for (var i3 = 0; i3 < n; i3++) {\n M[i3 * n + i3] = val;\n }\n };\n var normalize2 = function normalize3(M, n) {\n var sum;\n for (var col = 0; col < n; col++) {\n sum = 0;\n for (var row = 0; row < n; row++) {\n sum += M[row * n + col];\n }\n for (var _row = 0; _row < n; _row++) {\n M[_row * n + col] = M[_row * n + col] / sum;\n }\n }\n };\n var mmult = function mmult2(A, B, n) {\n var C = new Array(n * n);\n for (var i3 = 0; i3 < n; i3++) {\n for (var j = 0; j < n; j++) {\n C[i3 * n + j] = 0;\n }\n for (var k = 0; k < n; k++) {\n for (var _j = 0; _j < n; _j++) {\n C[i3 * n + _j] += A[i3 * n + k] * B[k * n + _j];\n }\n }\n }\n return C;\n };\n var expand = function expand2(M, n, expandFactor) {\n var _M = M.slice(0);\n for (var p2 = 1; p2 < expandFactor; p2++) {\n M = mmult(M, _M, n);\n }\n return M;\n };\n var inflate = function inflate2(M, n, inflateFactor) {\n var _M = new Array(n * n);\n for (var i3 = 0; i3 < n * n; i3++) {\n _M[i3] = Math.pow(M[i3], inflateFactor);\n }\n normalize2(_M, n);\n return _M;\n };\n var hasConverged = function hasConverged2(M, _M, n2, roundFactor) {\n for (var i3 = 0; i3 < n2; i3++) {\n var v1 = Math.round(M[i3] * Math.pow(10, roundFactor)) / Math.pow(10, roundFactor);\n var v2 = Math.round(_M[i3] * Math.pow(10, roundFactor)) / Math.pow(10, roundFactor);\n if (v1 !== v2) {\n return false;\n }\n }\n return true;\n };\n var assign$2 = function assign2(M, n, nodes2, cy) {\n var clusters = [];\n for (var i3 = 0; i3 < n; i3++) {\n var cluster = [];\n for (var j = 0; j < n; j++) {\n if (Math.round(M[i3 * n + j] * 1e3) / 1e3 > 0) {\n cluster.push(nodes2[j]);\n }\n }\n if (cluster.length !== 0) {\n clusters.push(cy.collection(cluster));\n }\n }\n return clusters;\n };\n var isDuplicate = function isDuplicate2(c1, c2) {\n for (var i3 = 0; i3 < c1.length; i3++) {\n if (!c2[i3] || c1[i3].id() !== c2[i3].id()) {\n return false;\n }\n }\n return true;\n };\n var removeDuplicates = function removeDuplicates2(clusters) {\n for (var i3 = 0; i3 < clusters.length; i3++) {\n for (var j = 0; j < clusters.length; j++) {\n if (i3 != j && isDuplicate(clusters[i3], clusters[j])) {\n clusters.splice(j, 1);\n }\n }\n }\n return clusters;\n };\n var markovClustering = function markovClustering2(options2) {\n var nodes2 = this.nodes();\n var edges2 = this.edges();\n var cy = this.cy();\n var opts = setOptions$3(options2);\n var id2position = {};\n for (var i3 = 0; i3 < nodes2.length; i3++) {\n id2position[nodes2[i3].id()] = i3;\n }\n var n = nodes2.length, n2 = n * n;\n var M = new Array(n2), _M;\n for (var _i = 0; _i < n2; _i++) {\n M[_i] = 0;\n }\n for (var e = 0; e < edges2.length; e++) {\n var edge = edges2[e];\n var _i2 = id2position[edge.source().id()];\n var j = id2position[edge.target().id()];\n var sim = getSimilarity$1(edge, opts.attributes);\n M[_i2 * n + j] += sim;\n M[j * n + _i2] += sim;\n }\n addLoops(M, n, opts.multFactor);\n normalize2(M, n);\n var isStillMoving = true;\n var iterations = 0;\n while (isStillMoving && iterations < opts.maxIterations) {\n isStillMoving = false;\n _M = expand(M, n, opts.expandFactor);\n M = inflate(_M, n, opts.inflateFactor);\n if (!hasConverged(M, _M, n2, 4)) {\n isStillMoving = true;\n }\n iterations++;\n }\n var clusters = assign$2(M, n, nodes2, cy);\n clusters = removeDuplicates(clusters);\n return clusters;\n };\n var markovClustering$1 = {\n markovClustering,\n mcl: markovClustering\n };\n var identity2 = function identity3(x2) {\n return x2;\n };\n var absDiff = function absDiff2(p2, q) {\n return Math.abs(q - p2);\n };\n var addAbsDiff = function addAbsDiff2(total, p2, q) {\n return total + absDiff(p2, q);\n };\n var addSquaredDiff = function addSquaredDiff2(total, p2, q) {\n return total + Math.pow(q - p2, 2);\n };\n var sqrt3 = function sqrt4(x2) {\n return Math.sqrt(x2);\n };\n var maxAbsDiff = function maxAbsDiff2(currentMax, p2, q) {\n return Math.max(currentMax, absDiff(p2, q));\n };\n var getDistance = function getDistance2(length2, getP, getQ, init2, visit) {\n var post = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : identity2;\n var ret = init2;\n var p2, q;\n for (var dim = 0; dim < length2; dim++) {\n p2 = getP(dim);\n q = getQ(dim);\n ret = visit(ret, p2, q);\n }\n return post(ret);\n };\n var distances = {\n euclidean: function euclidean(length2, getP, getQ) {\n if (length2 >= 2) {\n return getDistance(length2, getP, getQ, 0, addSquaredDiff, sqrt3);\n } else {\n return getDistance(length2, getP, getQ, 0, addAbsDiff);\n }\n },\n squaredEuclidean: function squaredEuclidean(length2, getP, getQ) {\n return getDistance(length2, getP, getQ, 0, addSquaredDiff);\n },\n manhattan: function manhattan(length2, getP, getQ) {\n return getDistance(length2, getP, getQ, 0, addAbsDiff);\n },\n max: function max3(length2, getP, getQ) {\n return getDistance(length2, getP, getQ, -Infinity, maxAbsDiff);\n }\n };\n distances[\"squared-euclidean\"] = distances[\"squaredEuclidean\"];\n distances[\"squaredeuclidean\"] = distances[\"squaredEuclidean\"];\n function clusteringDistance(method, length2, getP, getQ, nodeP, nodeQ) {\n var impl2;\n if (fn$6(method)) {\n impl2 = method;\n } else {\n impl2 = distances[method] || distances.euclidean;\n }\n if (length2 === 0 && fn$6(method)) {\n return impl2(nodeP, nodeQ);\n } else {\n return impl2(length2, getP, getQ, nodeP, nodeQ);\n }\n }\n var defaults$b = defaults$g({\n k: 2,\n m: 2,\n sensitivityThreshold: 1e-4,\n distance: \"euclidean\",\n maxIterations: 10,\n attributes: [],\n testMode: false,\n testCentroids: null\n });\n var setOptions$2 = function setOptions3(options2) {\n return defaults$b(options2);\n };\n var getDist = function getDist2(type2, node2, centroid, attributes, mode) {\n var noNodeP = mode !== \"kMedoids\";\n var getP = noNodeP ? function(i3) {\n return centroid[i3];\n } : function(i3) {\n return attributes[i3](centroid);\n };\n var getQ = function getQ2(i3) {\n return attributes[i3](node2);\n };\n var nodeP = centroid;\n var nodeQ = node2;\n return clusteringDistance(type2, attributes.length, getP, getQ, nodeP, nodeQ);\n };\n var randomCentroids = function randomCentroids2(nodes2, k, attributes) {\n var ndim = attributes.length;\n var min3 = new Array(ndim);\n var max3 = new Array(ndim);\n var centroids = new Array(k);\n var centroid = null;\n for (var i3 = 0; i3 < ndim; i3++) {\n min3[i3] = nodes2.min(attributes[i3]).value;\n max3[i3] = nodes2.max(attributes[i3]).value;\n }\n for (var c2 = 0; c2 < k; c2++) {\n centroid = [];\n for (var _i = 0; _i < ndim; _i++) {\n centroid[_i] = Math.random() * (max3[_i] - min3[_i]) + min3[_i];\n }\n centroids[c2] = centroid;\n }\n return centroids;\n };\n var classify = function classify2(node2, centroids, distance2, attributes, type2) {\n var min3 = Infinity;\n var index = 0;\n for (var i3 = 0; i3 < centroids.length; i3++) {\n var dist3 = getDist(distance2, node2, centroids[i3], attributes, type2);\n if (dist3 < min3) {\n min3 = dist3;\n index = i3;\n }\n }\n return index;\n };\n var buildCluster = function buildCluster2(centroid, nodes2, assignment) {\n var cluster = [];\n var node2 = null;\n for (var n = 0; n < nodes2.length; n++) {\n node2 = nodes2[n];\n if (assignment[node2.id()] === centroid) {\n cluster.push(node2);\n }\n }\n return cluster;\n };\n var haveValuesConverged = function haveValuesConverged2(v1, v2, sensitivityThreshold) {\n return Math.abs(v2 - v1) <= sensitivityThreshold;\n };\n var haveMatricesConverged = function haveMatricesConverged2(v1, v2, sensitivityThreshold) {\n for (var i3 = 0; i3 < v1.length; i3++) {\n for (var j = 0; j < v1[i3].length; j++) {\n var diff = Math.abs(v1[i3][j] - v2[i3][j]);\n if (diff > sensitivityThreshold) {\n return false;\n }\n }\n }\n return true;\n };\n var seenBefore = function seenBefore2(node2, medoids, n) {\n for (var i3 = 0; i3 < n; i3++) {\n if (node2 === medoids[i3])\n return true;\n }\n return false;\n };\n var randomMedoids = function randomMedoids2(nodes2, k) {\n var medoids = new Array(k);\n if (nodes2.length < 50) {\n for (var i3 = 0; i3 < k; i3++) {\n var node2 = nodes2[Math.floor(Math.random() * nodes2.length)];\n while (seenBefore(node2, medoids, i3)) {\n node2 = nodes2[Math.floor(Math.random() * nodes2.length)];\n }\n medoids[i3] = node2;\n }\n } else {\n for (var _i2 = 0; _i2 < k; _i2++) {\n medoids[_i2] = nodes2[Math.floor(Math.random() * nodes2.length)];\n }\n }\n return medoids;\n };\n var findCost = function findCost2(potentialNewMedoid, cluster, attributes) {\n var cost = 0;\n for (var n = 0; n < cluster.length; n++) {\n cost += getDist(\"manhattan\", cluster[n], potentialNewMedoid, attributes, \"kMedoids\");\n }\n return cost;\n };\n var kMeans = function kMeans2(options2) {\n var cy = this.cy();\n var nodes2 = this.nodes();\n var node2 = null;\n var opts = setOptions$2(options2);\n var clusters = new Array(opts.k);\n var assignment = {};\n var centroids;\n if (opts.testMode) {\n if (typeof opts.testCentroids === \"number\") {\n opts.testCentroids;\n centroids = randomCentroids(nodes2, opts.k, opts.attributes);\n } else if (_typeof2(opts.testCentroids) === \"object\") {\n centroids = opts.testCentroids;\n } else {\n centroids = randomCentroids(nodes2, opts.k, opts.attributes);\n }\n } else {\n centroids = randomCentroids(nodes2, opts.k, opts.attributes);\n }\n var isStillMoving = true;\n var iterations = 0;\n while (isStillMoving && iterations < opts.maxIterations) {\n for (var n = 0; n < nodes2.length; n++) {\n node2 = nodes2[n];\n assignment[node2.id()] = classify(node2, centroids, opts.distance, opts.attributes, \"kMeans\");\n }\n isStillMoving = false;\n for (var c2 = 0; c2 < opts.k; c2++) {\n var cluster = buildCluster(c2, nodes2, assignment);\n if (cluster.length === 0) {\n continue;\n }\n var ndim = opts.attributes.length;\n var centroid = centroids[c2];\n var newCentroid = new Array(ndim);\n var sum = new Array(ndim);\n for (var d = 0; d < ndim; d++) {\n sum[d] = 0;\n for (var i3 = 0; i3 < cluster.length; i3++) {\n node2 = cluster[i3];\n sum[d] += opts.attributes[d](node2);\n }\n newCentroid[d] = sum[d] / cluster.length;\n if (!haveValuesConverged(newCentroid[d], centroid[d], opts.sensitivityThreshold)) {\n isStillMoving = true;\n }\n }\n centroids[c2] = newCentroid;\n clusters[c2] = cy.collection(cluster);\n }\n iterations++;\n }\n return clusters;\n };\n var kMedoids = function kMedoids2(options2) {\n var cy = this.cy();\n var nodes2 = this.nodes();\n var node2 = null;\n var opts = setOptions$2(options2);\n var clusters = new Array(opts.k);\n var medoids;\n var assignment = {};\n var curCost;\n var minCosts = new Array(opts.k);\n if (opts.testMode) {\n if (typeof opts.testCentroids === \"number\")\n ;\n else if (_typeof2(opts.testCentroids) === \"object\") {\n medoids = opts.testCentroids;\n } else {\n medoids = randomMedoids(nodes2, opts.k);\n }\n } else {\n medoids = randomMedoids(nodes2, opts.k);\n }\n var isStillMoving = true;\n var iterations = 0;\n while (isStillMoving && iterations < opts.maxIterations) {\n for (var n = 0; n < nodes2.length; n++) {\n node2 = nodes2[n];\n assignment[node2.id()] = classify(node2, medoids, opts.distance, opts.attributes, \"kMedoids\");\n }\n isStillMoving = false;\n for (var m = 0; m < medoids.length; m++) {\n var cluster = buildCluster(m, nodes2, assignment);\n if (cluster.length === 0) {\n continue;\n }\n minCosts[m] = findCost(medoids[m], cluster, opts.attributes);\n for (var _n = 0; _n < cluster.length; _n++) {\n curCost = findCost(cluster[_n], cluster, opts.attributes);\n if (curCost < minCosts[m]) {\n minCosts[m] = curCost;\n medoids[m] = cluster[_n];\n isStillMoving = true;\n }\n }\n clusters[m] = cy.collection(cluster);\n }\n iterations++;\n }\n return clusters;\n };\n var updateCentroids = function updateCentroids2(centroids, nodes2, U, weight, opts) {\n var numerator, denominator;\n for (var n = 0; n < nodes2.length; n++) {\n for (var c2 = 0; c2 < centroids.length; c2++) {\n weight[n][c2] = Math.pow(U[n][c2], opts.m);\n }\n }\n for (var _c = 0; _c < centroids.length; _c++) {\n for (var dim = 0; dim < opts.attributes.length; dim++) {\n numerator = 0;\n denominator = 0;\n for (var _n2 = 0; _n2 < nodes2.length; _n2++) {\n numerator += weight[_n2][_c] * opts.attributes[dim](nodes2[_n2]);\n denominator += weight[_n2][_c];\n }\n centroids[_c][dim] = numerator / denominator;\n }\n }\n };\n var updateMembership = function updateMembership2(U, _U, centroids, nodes2, opts) {\n for (var i3 = 0; i3 < U.length; i3++) {\n _U[i3] = U[i3].slice();\n }\n var sum, numerator, denominator;\n var pow = 2 / (opts.m - 1);\n for (var c2 = 0; c2 < centroids.length; c2++) {\n for (var n = 0; n < nodes2.length; n++) {\n sum = 0;\n for (var k = 0; k < centroids.length; k++) {\n numerator = getDist(opts.distance, nodes2[n], centroids[c2], opts.attributes, \"cmeans\");\n denominator = getDist(opts.distance, nodes2[n], centroids[k], opts.attributes, \"cmeans\");\n sum += Math.pow(numerator / denominator, pow);\n }\n U[n][c2] = 1 / sum;\n }\n }\n };\n var assign$1 = function assign2(nodes2, U, opts, cy) {\n var clusters = new Array(opts.k);\n for (var c2 = 0; c2 < clusters.length; c2++) {\n clusters[c2] = [];\n }\n var max3;\n var index;\n for (var n = 0; n < U.length; n++) {\n max3 = -Infinity;\n index = -1;\n for (var _c2 = 0; _c2 < U[0].length; _c2++) {\n if (U[n][_c2] > max3) {\n max3 = U[n][_c2];\n index = _c2;\n }\n }\n clusters[index].push(nodes2[n]);\n }\n for (var _c3 = 0; _c3 < clusters.length; _c3++) {\n clusters[_c3] = cy.collection(clusters[_c3]);\n }\n return clusters;\n };\n var fuzzyCMeans = function fuzzyCMeans2(options2) {\n var cy = this.cy();\n var nodes2 = this.nodes();\n var opts = setOptions$2(options2);\n var clusters;\n var centroids;\n var U;\n var _U;\n var weight;\n _U = new Array(nodes2.length);\n for (var i3 = 0; i3 < nodes2.length; i3++) {\n _U[i3] = new Array(opts.k);\n }\n U = new Array(nodes2.length);\n for (var _i3 = 0; _i3 < nodes2.length; _i3++) {\n U[_i3] = new Array(opts.k);\n }\n for (var _i4 = 0; _i4 < nodes2.length; _i4++) {\n var total = 0;\n for (var j = 0; j < opts.k; j++) {\n U[_i4][j] = Math.random();\n total += U[_i4][j];\n }\n for (var _j = 0; _j < opts.k; _j++) {\n U[_i4][_j] = U[_i4][_j] / total;\n }\n }\n centroids = new Array(opts.k);\n for (var _i5 = 0; _i5 < opts.k; _i5++) {\n centroids[_i5] = new Array(opts.attributes.length);\n }\n weight = new Array(nodes2.length);\n for (var _i6 = 0; _i6 < nodes2.length; _i6++) {\n weight[_i6] = new Array(opts.k);\n }\n var isStillMoving = true;\n var iterations = 0;\n while (isStillMoving && iterations < opts.maxIterations) {\n isStillMoving = false;\n updateCentroids(centroids, nodes2, U, weight, opts);\n updateMembership(U, _U, centroids, nodes2, opts);\n if (!haveMatricesConverged(U, _U, opts.sensitivityThreshold)) {\n isStillMoving = true;\n }\n iterations++;\n }\n clusters = assign$1(nodes2, U, opts, cy);\n return {\n clusters,\n degreeOfMembership: U\n };\n };\n var kClustering = {\n kMeans,\n kMedoids,\n fuzzyCMeans,\n fcm: fuzzyCMeans\n };\n var defaults$a = defaults$g({\n distance: \"euclidean\",\n // distance metric to compare nodes\n linkage: \"min\",\n // linkage criterion : how to determine the distance between clusters of nodes\n mode: \"threshold\",\n // mode:'threshold' => clusters must be threshold distance apart\n threshold: Infinity,\n // the distance threshold\n // mode:'dendrogram' => the nodes are organised as leaves in a tree (siblings are close), merging makes clusters\n addDendrogram: false,\n // whether to add the dendrogram to the graph for viz\n dendrogramDepth: 0,\n // depth at which dendrogram branches are merged into the returned clusters\n attributes: []\n // array of attr functions\n });\n var linkageAliases = {\n \"single\": \"min\",\n \"complete\": \"max\"\n };\n var setOptions$1 = function setOptions3(options2) {\n var opts = defaults$a(options2);\n var preferredAlias = linkageAliases[opts.linkage];\n if (preferredAlias != null) {\n opts.linkage = preferredAlias;\n }\n return opts;\n };\n var mergeClosest = function mergeClosest2(clusters, index, dists, mins, opts) {\n var minKey = 0;\n var min3 = Infinity;\n var dist3;\n var attrs = opts.attributes;\n var getDist2 = function getDist3(n1, n2) {\n return clusteringDistance(opts.distance, attrs.length, function(i4) {\n return attrs[i4](n1);\n }, function(i4) {\n return attrs[i4](n2);\n }, n1, n2);\n };\n for (var i3 = 0; i3 < clusters.length; i3++) {\n var key = clusters[i3].key;\n var _dist = dists[key][mins[key]];\n if (_dist < min3) {\n minKey = key;\n min3 = _dist;\n }\n }\n if (opts.mode === \"threshold\" && min3 >= opts.threshold || opts.mode === \"dendrogram\" && clusters.length === 1) {\n return false;\n }\n var c1 = index[minKey];\n var c2 = index[mins[minKey]];\n var merged;\n if (opts.mode === \"dendrogram\") {\n merged = {\n left: c1,\n right: c2,\n key: c1.key\n };\n } else {\n merged = {\n value: c1.value.concat(c2.value),\n key: c1.key\n };\n }\n clusters[c1.index] = merged;\n clusters.splice(c2.index, 1);\n index[c1.key] = merged;\n for (var _i = 0; _i < clusters.length; _i++) {\n var cur = clusters[_i];\n if (c1.key === cur.key) {\n dist3 = Infinity;\n } else if (opts.linkage === \"min\") {\n dist3 = dists[c1.key][cur.key];\n if (dists[c1.key][cur.key] > dists[c2.key][cur.key]) {\n dist3 = dists[c2.key][cur.key];\n }\n } else if (opts.linkage === \"max\") {\n dist3 = dists[c1.key][cur.key];\n if (dists[c1.key][cur.key] < dists[c2.key][cur.key]) {\n dist3 = dists[c2.key][cur.key];\n }\n } else if (opts.linkage === \"mean\") {\n dist3 = (dists[c1.key][cur.key] * c1.size + dists[c2.key][cur.key] * c2.size) / (c1.size + c2.size);\n } else {\n if (opts.mode === \"dendrogram\")\n dist3 = getDist2(cur.value, c1.value);\n else\n dist3 = getDist2(cur.value[0], c1.value[0]);\n }\n dists[c1.key][cur.key] = dists[cur.key][c1.key] = dist3;\n }\n for (var _i2 = 0; _i2 < clusters.length; _i2++) {\n var key1 = clusters[_i2].key;\n if (mins[key1] === c1.key || mins[key1] === c2.key) {\n var _min = key1;\n for (var j = 0; j < clusters.length; j++) {\n var key2 = clusters[j].key;\n if (dists[key1][key2] < dists[key1][_min]) {\n _min = key2;\n }\n }\n mins[key1] = _min;\n }\n clusters[_i2].index = _i2;\n }\n c1.key = c2.key = c1.index = c2.index = null;\n return true;\n };\n var getAllChildren = function getAllChildren2(root3, arr, cy) {\n if (!root3)\n return;\n if (root3.value) {\n arr.push(root3.value);\n } else {\n if (root3.left)\n getAllChildren2(root3.left, arr);\n if (root3.right)\n getAllChildren2(root3.right, arr);\n }\n };\n var buildDendrogram = function buildDendrogram2(root3, cy) {\n if (!root3)\n return \"\";\n if (root3.left && root3.right) {\n var leftStr = buildDendrogram2(root3.left, cy);\n var rightStr = buildDendrogram2(root3.right, cy);\n var node2 = cy.add({\n group: \"nodes\",\n data: {\n id: leftStr + \",\" + rightStr\n }\n });\n cy.add({\n group: \"edges\",\n data: {\n source: leftStr,\n target: node2.id()\n }\n });\n cy.add({\n group: \"edges\",\n data: {\n source: rightStr,\n target: node2.id()\n }\n });\n return node2.id();\n } else if (root3.value) {\n return root3.value.id();\n }\n };\n var buildClustersFromTree = function buildClustersFromTree2(root3, k, cy) {\n if (!root3)\n return [];\n var left2 = [], right2 = [], leaves = [];\n if (k === 0) {\n if (root3.left)\n getAllChildren(root3.left, left2);\n if (root3.right)\n getAllChildren(root3.right, right2);\n leaves = left2.concat(right2);\n return [cy.collection(leaves)];\n } else if (k === 1) {\n if (root3.value) {\n return [cy.collection(root3.value)];\n } else {\n if (root3.left)\n getAllChildren(root3.left, left2);\n if (root3.right)\n getAllChildren(root3.right, right2);\n return [cy.collection(left2), cy.collection(right2)];\n }\n } else {\n if (root3.value) {\n return [cy.collection(root3.value)];\n } else {\n if (root3.left)\n left2 = buildClustersFromTree2(root3.left, k - 1, cy);\n if (root3.right)\n right2 = buildClustersFromTree2(root3.right, k - 1, cy);\n return left2.concat(right2);\n }\n }\n };\n var hierarchicalClustering = function hierarchicalClustering2(options2) {\n var cy = this.cy();\n var nodes2 = this.nodes();\n var opts = setOptions$1(options2);\n var attrs = opts.attributes;\n var getDist2 = function getDist3(n1, n2) {\n return clusteringDistance(opts.distance, attrs.length, function(i4) {\n return attrs[i4](n1);\n }, function(i4) {\n return attrs[i4](n2);\n }, n1, n2);\n };\n var clusters = [];\n var dists = [];\n var mins = [];\n var index = [];\n for (var n = 0; n < nodes2.length; n++) {\n var cluster = {\n value: opts.mode === \"dendrogram\" ? nodes2[n] : [nodes2[n]],\n key: n,\n index: n\n };\n clusters[n] = cluster;\n index[n] = cluster;\n dists[n] = [];\n mins[n] = 0;\n }\n for (var i3 = 0; i3 < clusters.length; i3++) {\n for (var j = 0; j <= i3; j++) {\n var dist3 = void 0;\n if (opts.mode === \"dendrogram\") {\n dist3 = i3 === j ? Infinity : getDist2(clusters[i3].value, clusters[j].value);\n } else {\n dist3 = i3 === j ? Infinity : getDist2(clusters[i3].value[0], clusters[j].value[0]);\n }\n dists[i3][j] = dist3;\n dists[j][i3] = dist3;\n if (dist3 < dists[i3][mins[i3]]) {\n mins[i3] = j;\n }\n }\n }\n var merged = mergeClosest(clusters, index, dists, mins, opts);\n while (merged) {\n merged = mergeClosest(clusters, index, dists, mins, opts);\n }\n var retClusters;\n if (opts.mode === \"dendrogram\") {\n retClusters = buildClustersFromTree(clusters[0], opts.dendrogramDepth, cy);\n if (opts.addDendrogram)\n buildDendrogram(clusters[0], cy);\n } else {\n retClusters = new Array(clusters.length);\n clusters.forEach(function(cluster2, i4) {\n cluster2.key = cluster2.index = null;\n retClusters[i4] = cy.collection(cluster2.value);\n });\n }\n return retClusters;\n };\n var hierarchicalClustering$1 = {\n hierarchicalClustering,\n hca: hierarchicalClustering\n };\n var defaults$9 = defaults$g({\n distance: \"euclidean\",\n // distance metric to compare attributes between two nodes\n preference: \"median\",\n // suitability of a data point to serve as an exemplar\n damping: 0.8,\n // damping factor between [0.5, 1)\n maxIterations: 1e3,\n // max number of iterations to run\n minIterations: 100,\n // min number of iterations to run in order for clustering to stop\n attributes: [\n // functions to quantify the similarity between any two points\n // e.g. node => node.data('weight')\n ]\n });\n var setOptions2 = function setOptions3(options2) {\n var dmp = options2.damping;\n var pref = options2.preference;\n if (!(0.5 <= dmp && dmp < 1)) {\n error(\"Damping must range on [0.5, 1). Got: \".concat(dmp));\n }\n var validPrefs = [\"median\", \"mean\", \"min\", \"max\"];\n if (!(validPrefs.some(function(v) {\n return v === pref;\n }) || number$12(pref))) {\n error(\"Preference must be one of [\".concat(validPrefs.map(function(p2) {\n return \"'\".concat(p2, \"'\");\n }).join(\", \"), \"] or a number. Got: \").concat(pref));\n }\n return defaults$9(options2);\n };\n var getSimilarity = function getSimilarity2(type2, n1, n2, attributes) {\n var attr = function attr2(n, i3) {\n return attributes[i3](n);\n };\n return -clusteringDistance(type2, attributes.length, function(i3) {\n return attr(n1, i3);\n }, function(i3) {\n return attr(n2, i3);\n }, n1, n2);\n };\n var getPreference = function getPreference2(S, preference) {\n var p2 = null;\n if (preference === \"median\") {\n p2 = median(S);\n } else if (preference === \"mean\") {\n p2 = mean(S);\n } else if (preference === \"min\") {\n p2 = min2(S);\n } else if (preference === \"max\") {\n p2 = max2(S);\n } else {\n p2 = preference;\n }\n return p2;\n };\n var findExemplars = function findExemplars2(n, R, A) {\n var indices = [];\n for (var i3 = 0; i3 < n; i3++) {\n if (R[i3 * n + i3] + A[i3 * n + i3] > 0) {\n indices.push(i3);\n }\n }\n return indices;\n };\n var assignClusters = function assignClusters2(n, S, exemplars) {\n var clusters = [];\n for (var i3 = 0; i3 < n; i3++) {\n var index = -1;\n var max3 = -Infinity;\n for (var ei = 0; ei < exemplars.length; ei++) {\n var e = exemplars[ei];\n if (S[i3 * n + e] > max3) {\n index = e;\n max3 = S[i3 * n + e];\n }\n }\n if (index > 0) {\n clusters.push(index);\n }\n }\n for (var _ei = 0; _ei < exemplars.length; _ei++) {\n clusters[exemplars[_ei]] = exemplars[_ei];\n }\n return clusters;\n };\n var assign = function assign2(n, S, exemplars) {\n var clusters = assignClusters(n, S, exemplars);\n for (var ei = 0; ei < exemplars.length; ei++) {\n var ii = [];\n for (var c2 = 0; c2 < clusters.length; c2++) {\n if (clusters[c2] === exemplars[ei]) {\n ii.push(c2);\n }\n }\n var maxI = -1;\n var maxSum = -Infinity;\n for (var i3 = 0; i3 < ii.length; i3++) {\n var sum = 0;\n for (var j = 0; j < ii.length; j++) {\n sum += S[ii[j] * n + ii[i3]];\n }\n if (sum > maxSum) {\n maxI = i3;\n maxSum = sum;\n }\n }\n exemplars[ei] = ii[maxI];\n }\n clusters = assignClusters(n, S, exemplars);\n return clusters;\n };\n var affinityPropagation = function affinityPropagation2(options2) {\n var cy = this.cy();\n var nodes2 = this.nodes();\n var opts = setOptions2(options2);\n var id2position = {};\n for (var i3 = 0; i3 < nodes2.length; i3++) {\n id2position[nodes2[i3].id()] = i3;\n }\n var n;\n var n2;\n var S;\n var p2;\n var R;\n var A;\n n = nodes2.length;\n n2 = n * n;\n S = new Array(n2);\n for (var _i = 0; _i < n2; _i++) {\n S[_i] = -Infinity;\n }\n for (var _i2 = 0; _i2 < n; _i2++) {\n for (var j = 0; j < n; j++) {\n if (_i2 !== j) {\n S[_i2 * n + j] = getSimilarity(opts.distance, nodes2[_i2], nodes2[j], opts.attributes);\n }\n }\n }\n p2 = getPreference(S, opts.preference);\n for (var _i3 = 0; _i3 < n; _i3++) {\n S[_i3 * n + _i3] = p2;\n }\n R = new Array(n2);\n for (var _i4 = 0; _i4 < n2; _i4++) {\n R[_i4] = 0;\n }\n A = new Array(n2);\n for (var _i5 = 0; _i5 < n2; _i5++) {\n A[_i5] = 0;\n }\n var old = new Array(n);\n var Rp = new Array(n);\n var se = new Array(n);\n for (var _i6 = 0; _i6 < n; _i6++) {\n old[_i6] = 0;\n Rp[_i6] = 0;\n se[_i6] = 0;\n }\n var e = new Array(n * opts.minIterations);\n for (var _i7 = 0; _i7 < e.length; _i7++) {\n e[_i7] = 0;\n }\n var iter;\n for (iter = 0; iter < opts.maxIterations; iter++) {\n for (var _i8 = 0; _i8 < n; _i8++) {\n var max3 = -Infinity, max22 = -Infinity, maxI = -1, AS = 0;\n for (var _j = 0; _j < n; _j++) {\n old[_j] = R[_i8 * n + _j];\n AS = A[_i8 * n + _j] + S[_i8 * n + _j];\n if (AS >= max3) {\n max22 = max3;\n max3 = AS;\n maxI = _j;\n } else if (AS > max22) {\n max22 = AS;\n }\n }\n for (var _j2 = 0; _j2 < n; _j2++) {\n R[_i8 * n + _j2] = (1 - opts.damping) * (S[_i8 * n + _j2] - max3) + opts.damping * old[_j2];\n }\n R[_i8 * n + maxI] = (1 - opts.damping) * (S[_i8 * n + maxI] - max22) + opts.damping * old[maxI];\n }\n for (var _i9 = 0; _i9 < n; _i9++) {\n var sum = 0;\n for (var _j3 = 0; _j3 < n; _j3++) {\n old[_j3] = A[_j3 * n + _i9];\n Rp[_j3] = Math.max(0, R[_j3 * n + _i9]);\n sum += Rp[_j3];\n }\n sum -= Rp[_i9];\n Rp[_i9] = R[_i9 * n + _i9];\n sum += Rp[_i9];\n for (var _j4 = 0; _j4 < n; _j4++) {\n A[_j4 * n + _i9] = (1 - opts.damping) * Math.min(0, sum - Rp[_j4]) + opts.damping * old[_j4];\n }\n A[_i9 * n + _i9] = (1 - opts.damping) * (sum - Rp[_i9]) + opts.damping * old[_i9];\n }\n var K3 = 0;\n for (var _i10 = 0; _i10 < n; _i10++) {\n var E = A[_i10 * n + _i10] + R[_i10 * n + _i10] > 0 ? 1 : 0;\n e[iter % opts.minIterations * n + _i10] = E;\n K3 += E;\n }\n if (K3 > 0 && (iter >= opts.minIterations - 1 || iter == opts.maxIterations - 1)) {\n var _sum = 0;\n for (var _i11 = 0; _i11 < n; _i11++) {\n se[_i11] = 0;\n for (var _j5 = 0; _j5 < opts.minIterations; _j5++) {\n se[_i11] += e[_j5 * n + _i11];\n }\n if (se[_i11] === 0 || se[_i11] === opts.minIterations) {\n _sum++;\n }\n }\n if (_sum === n) {\n break;\n }\n }\n }\n var exemplarsIndices = findExemplars(n, R, A);\n var clusterIndices = assign(n, S, exemplarsIndices);\n var clusters = {};\n for (var c2 = 0; c2 < exemplarsIndices.length; c2++) {\n clusters[exemplarsIndices[c2]] = [];\n }\n for (var _i12 = 0; _i12 < nodes2.length; _i12++) {\n var pos = id2position[nodes2[_i12].id()];\n var clusterIndex = clusterIndices[pos];\n if (clusterIndex != null) {\n clusters[clusterIndex].push(nodes2[_i12]);\n }\n }\n var retClusters = new Array(exemplarsIndices.length);\n for (var _c = 0; _c < exemplarsIndices.length; _c++) {\n retClusters[_c] = cy.collection(clusters[exemplarsIndices[_c]]);\n }\n return retClusters;\n };\n var affinityPropagation$1 = {\n affinityPropagation,\n ap: affinityPropagation\n };\n var hierholzerDefaults = defaults$g({\n root: void 0,\n directed: false\n });\n var elesfn$k = {\n hierholzer: function hierholzer(options2) {\n if (!plainObject(options2)) {\n var args = arguments;\n options2 = {\n root: args[0],\n directed: args[1]\n };\n }\n var _hierholzerDefaults = hierholzerDefaults(options2), root3 = _hierholzerDefaults.root, directed = _hierholzerDefaults.directed;\n var eles = this;\n var dflag = false;\n var oddIn;\n var oddOut;\n var startVertex;\n if (root3)\n startVertex = string(root3) ? this.filter(root3)[0].id() : root3[0].id();\n var nodes2 = {};\n var edges2 = {};\n if (directed) {\n eles.forEach(function(ele) {\n var id2 = ele.id();\n if (ele.isNode()) {\n var ind = ele.indegree(true);\n var outd = ele.outdegree(true);\n var d1 = ind - outd;\n var d2 = outd - ind;\n if (d1 == 1) {\n if (oddIn)\n dflag = true;\n else\n oddIn = id2;\n } else if (d2 == 1) {\n if (oddOut)\n dflag = true;\n else\n oddOut = id2;\n } else if (d2 > 1 || d1 > 1) {\n dflag = true;\n }\n nodes2[id2] = [];\n ele.outgoers().forEach(function(e) {\n if (e.isEdge())\n nodes2[id2].push(e.id());\n });\n } else {\n edges2[id2] = [void 0, ele.target().id()];\n }\n });\n } else {\n eles.forEach(function(ele) {\n var id2 = ele.id();\n if (ele.isNode()) {\n var d2 = ele.degree(true);\n if (d2 % 2) {\n if (!oddIn)\n oddIn = id2;\n else if (!oddOut)\n oddOut = id2;\n else\n dflag = true;\n }\n nodes2[id2] = [];\n ele.connectedEdges().forEach(function(e) {\n return nodes2[id2].push(e.id());\n });\n } else {\n edges2[id2] = [ele.source().id(), ele.target().id()];\n }\n });\n }\n var result = {\n found: false,\n trail: void 0\n };\n if (dflag)\n return result;\n else if (oddOut && oddIn) {\n if (directed) {\n if (startVertex && oddOut != startVertex) {\n return result;\n }\n startVertex = oddOut;\n } else {\n if (startVertex && oddOut != startVertex && oddIn != startVertex) {\n return result;\n } else if (!startVertex) {\n startVertex = oddOut;\n }\n }\n } else {\n if (!startVertex)\n startVertex = eles[0].id();\n }\n var walk = function walk2(v) {\n var currentNode = v;\n var subtour2 = [v];\n var adj, adjTail, adjHead;\n while (nodes2[currentNode].length) {\n adj = nodes2[currentNode].shift();\n adjTail = edges2[adj][0];\n adjHead = edges2[adj][1];\n if (currentNode != adjHead) {\n nodes2[adjHead] = nodes2[adjHead].filter(function(e) {\n return e != adj;\n });\n currentNode = adjHead;\n } else if (!directed && currentNode != adjTail) {\n nodes2[adjTail] = nodes2[adjTail].filter(function(e) {\n return e != adj;\n });\n currentNode = adjTail;\n }\n subtour2.unshift(adj);\n subtour2.unshift(currentNode);\n }\n return subtour2;\n };\n var trail = [];\n var subtour = [];\n subtour = walk(startVertex);\n while (subtour.length != 1) {\n if (nodes2[subtour[0]].length == 0) {\n trail.unshift(eles.getElementById(subtour.shift()));\n trail.unshift(eles.getElementById(subtour.shift()));\n } else {\n subtour = walk(subtour.shift()).concat(subtour);\n }\n }\n trail.unshift(eles.getElementById(subtour.shift()));\n for (var d in nodes2) {\n if (nodes2[d].length) {\n return result;\n }\n }\n result.found = true;\n result.trail = this.spawn(trail, true);\n return result;\n }\n };\n var hopcroftTarjanBiconnected = function hopcroftTarjanBiconnected2() {\n var eles = this;\n var nodes2 = {};\n var id2 = 0;\n var edgeCount2 = 0;\n var components = [];\n var stack = [];\n var visitedEdges = {};\n var buildComponent = function buildComponent2(x2, y2) {\n var i3 = stack.length - 1;\n var cutset = [];\n var component = eles.spawn();\n while (stack[i3].x != x2 || stack[i3].y != y2) {\n cutset.push(stack.pop().edge);\n i3--;\n }\n cutset.push(stack.pop().edge);\n cutset.forEach(function(edge) {\n var connectedNodes = edge.connectedNodes().intersection(eles);\n component.merge(edge);\n connectedNodes.forEach(function(node2) {\n var nodeId = node2.id();\n var connectedEdges = node2.connectedEdges().intersection(eles);\n component.merge(node2);\n if (!nodes2[nodeId].cutVertex) {\n component.merge(connectedEdges);\n } else {\n component.merge(connectedEdges.filter(function(edge2) {\n return edge2.isLoop();\n }));\n }\n });\n });\n components.push(component);\n };\n var biconnectedSearch = function biconnectedSearch2(root3, currentNode, parent) {\n if (root3 === parent)\n edgeCount2 += 1;\n nodes2[currentNode] = {\n id: id2,\n low: id2++,\n cutVertex: false\n };\n var edges2 = eles.getElementById(currentNode).connectedEdges().intersection(eles);\n if (edges2.size() === 0) {\n components.push(eles.spawn(eles.getElementById(currentNode)));\n } else {\n var sourceId, targetId, otherNodeId, edgeId;\n edges2.forEach(function(edge) {\n sourceId = edge.source().id();\n targetId = edge.target().id();\n otherNodeId = sourceId === currentNode ? targetId : sourceId;\n if (otherNodeId !== parent) {\n edgeId = edge.id();\n if (!visitedEdges[edgeId]) {\n visitedEdges[edgeId] = true;\n stack.push({\n x: currentNode,\n y: otherNodeId,\n edge\n });\n }\n if (!(otherNodeId in nodes2)) {\n biconnectedSearch2(root3, otherNodeId, currentNode);\n nodes2[currentNode].low = Math.min(nodes2[currentNode].low, nodes2[otherNodeId].low);\n if (nodes2[currentNode].id <= nodes2[otherNodeId].low) {\n nodes2[currentNode].cutVertex = true;\n buildComponent(currentNode, otherNodeId);\n }\n } else {\n nodes2[currentNode].low = Math.min(nodes2[currentNode].low, nodes2[otherNodeId].id);\n }\n }\n });\n }\n };\n eles.forEach(function(ele) {\n if (ele.isNode()) {\n var nodeId = ele.id();\n if (!(nodeId in nodes2)) {\n edgeCount2 = 0;\n biconnectedSearch(nodeId, nodeId);\n nodes2[nodeId].cutVertex = edgeCount2 > 1;\n }\n }\n });\n var cutVertices = Object.keys(nodes2).filter(function(id3) {\n return nodes2[id3].cutVertex;\n }).map(function(id3) {\n return eles.getElementById(id3);\n });\n return {\n cut: eles.spawn(cutVertices),\n components\n };\n };\n var hopcroftTarjanBiconnected$1 = {\n hopcroftTarjanBiconnected,\n htbc: hopcroftTarjanBiconnected,\n htb: hopcroftTarjanBiconnected,\n hopcroftTarjanBiconnectedComponents: hopcroftTarjanBiconnected\n };\n var tarjanStronglyConnected = function tarjanStronglyConnected2() {\n var eles = this;\n var nodes2 = {};\n var index = 0;\n var components = [];\n var stack = [];\n var cut = eles.spawn(eles);\n var stronglyConnectedSearch = function stronglyConnectedSearch2(sourceNodeId) {\n stack.push(sourceNodeId);\n nodes2[sourceNodeId] = {\n index,\n low: index++,\n explored: false\n };\n var connectedEdges = eles.getElementById(sourceNodeId).connectedEdges().intersection(eles);\n connectedEdges.forEach(function(edge) {\n var targetNodeId = edge.target().id();\n if (targetNodeId !== sourceNodeId) {\n if (!(targetNodeId in nodes2)) {\n stronglyConnectedSearch2(targetNodeId);\n }\n if (!nodes2[targetNodeId].explored) {\n nodes2[sourceNodeId].low = Math.min(nodes2[sourceNodeId].low, nodes2[targetNodeId].low);\n }\n }\n });\n if (nodes2[sourceNodeId].index === nodes2[sourceNodeId].low) {\n var componentNodes = eles.spawn();\n for (; ; ) {\n var nodeId = stack.pop();\n componentNodes.merge(eles.getElementById(nodeId));\n nodes2[nodeId].low = nodes2[sourceNodeId].index;\n nodes2[nodeId].explored = true;\n if (nodeId === sourceNodeId) {\n break;\n }\n }\n var componentEdges = componentNodes.edgesWith(componentNodes);\n var component = componentNodes.merge(componentEdges);\n components.push(component);\n cut = cut.difference(component);\n }\n };\n eles.forEach(function(ele) {\n if (ele.isNode()) {\n var nodeId = ele.id();\n if (!(nodeId in nodes2)) {\n stronglyConnectedSearch(nodeId);\n }\n }\n });\n return {\n cut,\n components\n };\n };\n var tarjanStronglyConnected$1 = {\n tarjanStronglyConnected,\n tsc: tarjanStronglyConnected,\n tscc: tarjanStronglyConnected,\n tarjanStronglyConnectedComponents: tarjanStronglyConnected\n };\n var elesfn$j = {};\n [elesfn$v, elesfn$u, elesfn$t, elesfn$s, elesfn$r, elesfn$q, elesfn$p, elesfn$o, elesfn$n, elesfn$m, elesfn$l, markovClustering$1, kClustering, hierarchicalClustering$1, affinityPropagation$1, elesfn$k, hopcroftTarjanBiconnected$1, tarjanStronglyConnected$1].forEach(function(props) {\n extend2(elesfn$j, props);\n });\n /*!\n Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable\n Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com)\n Licensed under The MIT License (http://opensource.org/licenses/MIT)\n */\n var STATE_PENDING = 0;\n var STATE_FULFILLED = 1;\n var STATE_REJECTED = 2;\n var api = function api2(executor) {\n if (!(this instanceof api2))\n return new api2(executor);\n this.id = \"Thenable/1.0.7\";\n this.state = STATE_PENDING;\n this.fulfillValue = void 0;\n this.rejectReason = void 0;\n this.onFulfilled = [];\n this.onRejected = [];\n this.proxy = {\n then: this.then.bind(this)\n };\n if (typeof executor === \"function\")\n executor.call(this, this.fulfill.bind(this), this.reject.bind(this));\n };\n api.prototype = {\n /* promise resolving methods */\n fulfill: function fulfill(value) {\n return deliver(this, STATE_FULFILLED, \"fulfillValue\", value);\n },\n reject: function reject(value) {\n return deliver(this, STATE_REJECTED, \"rejectReason\", value);\n },\n /* \"The then Method\" [Promises/A+ 1.1, 1.2, 2.2] */\n then: function then(onFulfilled, onRejected) {\n var curr = this;\n var next2 = new api();\n curr.onFulfilled.push(resolver(onFulfilled, next2, \"fulfill\"));\n curr.onRejected.push(resolver(onRejected, next2, \"reject\"));\n execute(curr);\n return next2.proxy;\n }\n };\n var deliver = function deliver2(curr, state, name2, value) {\n if (curr.state === STATE_PENDING) {\n curr.state = state;\n curr[name2] = value;\n execute(curr);\n }\n return curr;\n };\n var execute = function execute2(curr) {\n if (curr.state === STATE_FULFILLED)\n execute_handlers(curr, \"onFulfilled\", curr.fulfillValue);\n else if (curr.state === STATE_REJECTED)\n execute_handlers(curr, \"onRejected\", curr.rejectReason);\n };\n var execute_handlers = function execute_handlers2(curr, name2, value) {\n if (curr[name2].length === 0)\n return;\n var handlers = curr[name2];\n curr[name2] = [];\n var func = function func2() {\n for (var i3 = 0; i3 < handlers.length; i3++) {\n handlers[i3](value);\n }\n };\n if (typeof setImmediate === \"function\")\n setImmediate(func);\n else\n setTimeout(func, 0);\n };\n var resolver = function resolver2(cb, next2, method) {\n return function(value) {\n if (typeof cb !== \"function\")\n next2[method].call(next2, value);\n else {\n var result;\n try {\n result = cb(value);\n } catch (e) {\n next2.reject(e);\n return;\n }\n resolve(next2, result);\n }\n };\n };\n var resolve = function resolve2(promise2, x2) {\n if (promise2 === x2 || promise2.proxy === x2) {\n promise2.reject(new TypeError(\"cannot resolve promise with itself\"));\n return;\n }\n var then;\n if (_typeof2(x2) === \"object\" && x2 !== null || typeof x2 === \"function\") {\n try {\n then = x2.then;\n } catch (e) {\n promise2.reject(e);\n return;\n }\n }\n if (typeof then === \"function\") {\n var resolved = false;\n try {\n then.call(\n x2,\n /* resolvePromise */\n /* [Promises/A+ 2.3.3.3.1] */\n function(y2) {\n if (resolved)\n return;\n resolved = true;\n if (y2 === x2)\n promise2.reject(new TypeError(\"circular thenable chain\"));\n else\n resolve2(promise2, y2);\n },\n /* rejectPromise */\n /* [Promises/A+ 2.3.3.3.2] */\n function(r) {\n if (resolved)\n return;\n resolved = true;\n promise2.reject(r);\n }\n );\n } catch (e) {\n if (!resolved)\n promise2.reject(e);\n }\n return;\n }\n promise2.fulfill(x2);\n };\n api.all = function(ps) {\n return new api(function(resolveAll, rejectAll) {\n var vals = new Array(ps.length);\n var doneCount = 0;\n var fulfill = function fulfill2(i4, val) {\n vals[i4] = val;\n doneCount++;\n if (doneCount === ps.length) {\n resolveAll(vals);\n }\n };\n for (var i3 = 0; i3 < ps.length; i3++) {\n (function(i4) {\n var p2 = ps[i4];\n var isPromise = p2 != null && p2.then != null;\n if (isPromise) {\n p2.then(function(val2) {\n fulfill(i4, val2);\n }, function(err) {\n rejectAll(err);\n });\n } else {\n var val = p2;\n fulfill(i4, val);\n }\n })(i3);\n }\n });\n };\n api.resolve = function(val) {\n return new api(function(resolve2, reject) {\n resolve2(val);\n });\n };\n api.reject = function(val) {\n return new api(function(resolve2, reject) {\n reject(val);\n });\n };\n var Promise$12 = typeof Promise !== \"undefined\" ? Promise : api;\n var Animation = function Animation2(target, opts, opts2) {\n var isCore = core2(target);\n var isEle = !isCore;\n var _p = this._private = extend2({\n duration: 1e3\n }, opts, opts2);\n _p.target = target;\n _p.style = _p.style || _p.css;\n _p.started = false;\n _p.playing = false;\n _p.hooked = false;\n _p.applying = false;\n _p.progress = 0;\n _p.completes = [];\n _p.frames = [];\n if (_p.complete && fn$6(_p.complete)) {\n _p.completes.push(_p.complete);\n }\n if (isEle) {\n var pos = target.position();\n _p.startPosition = _p.startPosition || {\n x: pos.x,\n y: pos.y\n };\n _p.startStyle = _p.startStyle || target.cy().style().getAnimationStartStyle(target, _p.style);\n }\n if (isCore) {\n var pan = target.pan();\n _p.startPan = {\n x: pan.x,\n y: pan.y\n };\n _p.startZoom = target.zoom();\n }\n this.length = 1;\n this[0] = this;\n };\n var anifn = Animation.prototype;\n extend2(anifn, {\n instanceString: function instanceString() {\n return \"animation\";\n },\n hook: function hook() {\n var _p = this._private;\n if (!_p.hooked) {\n var q;\n var tAni = _p.target._private.animation;\n if (_p.queue) {\n q = tAni.queue;\n } else {\n q = tAni.current;\n }\n q.push(this);\n if (elementOrCollection(_p.target)) {\n _p.target.cy().addToAnimationPool(_p.target);\n }\n _p.hooked = true;\n }\n return this;\n },\n play: function play() {\n var _p = this._private;\n if (_p.progress === 1) {\n _p.progress = 0;\n }\n _p.playing = true;\n _p.started = false;\n _p.stopped = false;\n this.hook();\n return this;\n },\n playing: function playing() {\n return this._private.playing;\n },\n apply: function apply2() {\n var _p = this._private;\n _p.applying = true;\n _p.started = false;\n _p.stopped = false;\n this.hook();\n return this;\n },\n applying: function applying() {\n return this._private.applying;\n },\n pause: function pause() {\n var _p = this._private;\n _p.playing = false;\n _p.started = false;\n return this;\n },\n stop: function stop() {\n var _p = this._private;\n _p.playing = false;\n _p.started = false;\n _p.stopped = true;\n return this;\n },\n rewind: function rewind() {\n return this.progress(0);\n },\n fastforward: function fastforward() {\n return this.progress(1);\n },\n time: function time2(t) {\n var _p = this._private;\n if (t === void 0) {\n return _p.progress * _p.duration;\n } else {\n return this.progress(t / _p.duration);\n }\n },\n progress: function progress(p2) {\n var _p = this._private;\n var wasPlaying = _p.playing;\n if (p2 === void 0) {\n return _p.progress;\n } else {\n if (wasPlaying) {\n this.pause();\n }\n _p.progress = p2;\n _p.started = false;\n if (wasPlaying) {\n this.play();\n }\n }\n return this;\n },\n completed: function completed() {\n return this._private.progress === 1;\n },\n reverse: function reverse() {\n var _p = this._private;\n var wasPlaying = _p.playing;\n if (wasPlaying) {\n this.pause();\n }\n _p.progress = 1 - _p.progress;\n _p.started = false;\n var swap = function swap2(a, b) {\n var _pa = _p[a];\n if (_pa == null) {\n return;\n }\n _p[a] = _p[b];\n _p[b] = _pa;\n };\n swap(\"zoom\", \"startZoom\");\n swap(\"pan\", \"startPan\");\n swap(\"position\", \"startPosition\");\n if (_p.style) {\n for (var i3 = 0; i3 < _p.style.length; i3++) {\n var prop = _p.style[i3];\n var name2 = prop.name;\n var startStyleProp = _p.startStyle[name2];\n _p.startStyle[name2] = prop;\n _p.style[i3] = startStyleProp;\n }\n }\n if (wasPlaying) {\n this.play();\n }\n return this;\n },\n promise: function promise2(type2) {\n var _p = this._private;\n var arr;\n switch (type2) {\n case \"frame\":\n arr = _p.frames;\n break;\n default:\n case \"complete\":\n case \"completed\":\n arr = _p.completes;\n }\n return new Promise$12(function(resolve2, reject) {\n arr.push(function() {\n resolve2();\n });\n });\n }\n });\n anifn.complete = anifn.completed;\n anifn.run = anifn.play;\n anifn.running = anifn.playing;\n var define$3 = {\n animated: function animated() {\n return function animatedImpl() {\n var self2 = this;\n var selfIsArrayLike = self2.length !== void 0;\n var all = selfIsArrayLike ? self2 : [self2];\n var cy = this._private.cy || this;\n if (!cy.styleEnabled()) {\n return false;\n }\n var ele = all[0];\n if (ele) {\n return ele._private.animation.current.length > 0;\n }\n };\n },\n // animated\n clearQueue: function clearQueue() {\n return function clearQueueImpl() {\n var self2 = this;\n var selfIsArrayLike = self2.length !== void 0;\n var all = selfIsArrayLike ? self2 : [self2];\n var cy = this._private.cy || this;\n if (!cy.styleEnabled()) {\n return this;\n }\n for (var i3 = 0; i3 < all.length; i3++) {\n var ele = all[i3];\n ele._private.animation.queue = [];\n }\n return this;\n };\n },\n // clearQueue\n delay: function delay() {\n return function delayImpl(time2, complete) {\n var cy = this._private.cy || this;\n if (!cy.styleEnabled()) {\n return this;\n }\n return this.animate({\n delay: time2,\n duration: time2,\n complete\n });\n };\n },\n // delay\n delayAnimation: function delayAnimation() {\n return function delayAnimationImpl(time2, complete) {\n var cy = this._private.cy || this;\n if (!cy.styleEnabled()) {\n return this;\n }\n return this.animation({\n delay: time2,\n duration: time2,\n complete\n });\n };\n },\n // delay\n animation: function animation() {\n return function animationImpl(properties, params) {\n var self2 = this;\n var selfIsArrayLike = self2.length !== void 0;\n var all = selfIsArrayLike ? self2 : [self2];\n var cy = this._private.cy || this;\n var isCore = !selfIsArrayLike;\n var isEles = !isCore;\n if (!cy.styleEnabled()) {\n return this;\n }\n var style = cy.style();\n properties = extend2({}, properties, params);\n var propertiesEmpty = Object.keys(properties).length === 0;\n if (propertiesEmpty) {\n return new Animation(all[0], properties);\n }\n if (properties.duration === void 0) {\n properties.duration = 400;\n }\n switch (properties.duration) {\n case \"slow\":\n properties.duration = 600;\n break;\n case \"fast\":\n properties.duration = 200;\n break;\n }\n if (isEles) {\n properties.style = style.getPropsList(properties.style || properties.css);\n properties.css = void 0;\n }\n if (isEles && properties.renderedPosition != null) {\n var rpos = properties.renderedPosition;\n var pan = cy.pan();\n var zoom = cy.zoom();\n properties.position = renderedToModelPosition(rpos, zoom, pan);\n }\n if (isCore && properties.panBy != null) {\n var panBy = properties.panBy;\n var cyPan = cy.pan();\n properties.pan = {\n x: cyPan.x + panBy.x,\n y: cyPan.y + panBy.y\n };\n }\n var center2 = properties.center || properties.centre;\n if (isCore && center2 != null) {\n var centerPan = cy.getCenterPan(center2.eles, properties.zoom);\n if (centerPan != null) {\n properties.pan = centerPan;\n }\n }\n if (isCore && properties.fit != null) {\n var fit = properties.fit;\n var fitVp = cy.getFitViewport(fit.eles || fit.boundingBox, fit.padding);\n if (fitVp != null) {\n properties.pan = fitVp.pan;\n properties.zoom = fitVp.zoom;\n }\n }\n if (isCore && plainObject(properties.zoom)) {\n var vp = cy.getZoomedViewport(properties.zoom);\n if (vp != null) {\n if (vp.zoomed) {\n properties.zoom = vp.zoom;\n }\n if (vp.panned) {\n properties.pan = vp.pan;\n }\n } else {\n properties.zoom = null;\n }\n }\n return new Animation(all[0], properties);\n };\n },\n // animate\n animate: function animate() {\n return function animateImpl(properties, params) {\n var self2 = this;\n var selfIsArrayLike = self2.length !== void 0;\n var all = selfIsArrayLike ? self2 : [self2];\n var cy = this._private.cy || this;\n if (!cy.styleEnabled()) {\n return this;\n }\n if (params) {\n properties = extend2({}, properties, params);\n }\n for (var i3 = 0; i3 < all.length; i3++) {\n var ele = all[i3];\n var queue = ele.animated() && (properties.queue === void 0 || properties.queue);\n var ani = ele.animation(properties, queue ? {\n queue: true\n } : void 0);\n ani.play();\n }\n return this;\n };\n },\n // animate\n stop: function stop() {\n return function stopImpl(clearQueue, jumpToEnd) {\n var self2 = this;\n var selfIsArrayLike = self2.length !== void 0;\n var all = selfIsArrayLike ? self2 : [self2];\n var cy = this._private.cy || this;\n if (!cy.styleEnabled()) {\n return this;\n }\n for (var i3 = 0; i3 < all.length; i3++) {\n var ele = all[i3];\n var _p = ele._private;\n var anis = _p.animation.current;\n for (var j = 0; j < anis.length; j++) {\n var ani = anis[j];\n var ani_p = ani._private;\n if (jumpToEnd) {\n ani_p.duration = 0;\n }\n }\n if (clearQueue) {\n _p.animation.queue = [];\n }\n if (!jumpToEnd) {\n _p.animation.current = [];\n }\n }\n cy.notify(\"draw\");\n return this;\n };\n }\n // stop\n };\n var isArray2 = Array.isArray;\n var isArray_1 = isArray2;\n var reIsDeepProp2 = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/, reIsPlainProp2 = /^\\w*$/;\n function isKey2(value, object3) {\n if (isArray_1(value)) {\n return false;\n }\n var type2 = typeof value;\n if (type2 == \"number\" || type2 == \"symbol\" || type2 == \"boolean\" || value == null || isSymbol_1(value)) {\n return true;\n }\n return reIsPlainProp2.test(value) || !reIsDeepProp2.test(value) || object3 != null && value in Object(object3);\n }\n var _isKey = isKey2;\n var asyncTag2 = \"[object AsyncFunction]\", funcTag2 = \"[object Function]\", genTag2 = \"[object GeneratorFunction]\", proxyTag2 = \"[object Proxy]\";\n function isFunction2(value) {\n if (!isObject_12(value)) {\n return false;\n }\n var tag = _baseGetTag(value);\n return tag == funcTag2 || tag == genTag2 || tag == asyncTag2 || tag == proxyTag2;\n }\n var isFunction_1 = isFunction2;\n var coreJsData2 = _root[\"__core-js_shared__\"];\n var _coreJsData = coreJsData2;\n var maskSrcKey2 = function() {\n var uid = /[^.]+$/.exec(_coreJsData && _coreJsData.keys && _coreJsData.keys.IE_PROTO || \"\");\n return uid ? \"Symbol(src)_1.\" + uid : \"\";\n }();\n function isMasked2(func) {\n return !!maskSrcKey2 && maskSrcKey2 in func;\n }\n var _isMasked = isMasked2;\n var funcProto$12 = Function.prototype;\n var funcToString$12 = funcProto$12.toString;\n function toSource2(func) {\n if (func != null) {\n try {\n return funcToString$12.call(func);\n } catch (e) {\n }\n try {\n return func + \"\";\n } catch (e) {\n }\n }\n return \"\";\n }\n var _toSource = toSource2;\n var reRegExpChar2 = /[\\\\^$.*+?()[\\]{}|]/g;\n var reIsHostCtor2 = /^\\[object .+?Constructor\\]$/;\n var funcProto2 = Function.prototype, objectProto$32 = Object.prototype;\n var funcToString2 = funcProto2.toString;\n var hasOwnProperty$32 = objectProto$32.hasOwnProperty;\n var reIsNative2 = RegExp(\n \"^\" + funcToString2.call(hasOwnProperty$32).replace(reRegExpChar2, \"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, \"$1.*?\") + \"$\"\n );\n function baseIsNative2(value) {\n if (!isObject_12(value) || _isMasked(value)) {\n return false;\n }\n var pattern = isFunction_1(value) ? reIsNative2 : reIsHostCtor2;\n return pattern.test(_toSource(value));\n }\n var _baseIsNative = baseIsNative2;\n function getValue$1(object3, key) {\n return object3 == null ? void 0 : object3[key];\n }\n var _getValue = getValue$1;\n function getNative2(object3, key) {\n var value = _getValue(object3, key);\n return _baseIsNative(value) ? value : void 0;\n }\n var _getNative = getNative2;\n var nativeCreate2 = _getNative(Object, \"create\");\n var _nativeCreate = nativeCreate2;\n function hashClear2() {\n this.__data__ = _nativeCreate ? _nativeCreate(null) : {};\n this.size = 0;\n }\n var _hashClear = hashClear2;\n function hashDelete2(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n }\n var _hashDelete = hashDelete2;\n var HASH_UNDEFINED$12 = \"__lodash_hash_undefined__\";\n var objectProto$22 = Object.prototype;\n var hasOwnProperty$22 = objectProto$22.hasOwnProperty;\n function hashGet2(key) {\n var data2 = this.__data__;\n if (_nativeCreate) {\n var result = data2[key];\n return result === HASH_UNDEFINED$12 ? void 0 : result;\n }\n return hasOwnProperty$22.call(data2, key) ? data2[key] : void 0;\n }\n var _hashGet = hashGet2;\n var objectProto$12 = Object.prototype;\n var hasOwnProperty$12 = objectProto$12.hasOwnProperty;\n function hashHas2(key) {\n var data2 = this.__data__;\n return _nativeCreate ? data2[key] !== void 0 : hasOwnProperty$12.call(data2, key);\n }\n var _hashHas = hashHas2;\n var HASH_UNDEFINED2 = \"__lodash_hash_undefined__\";\n function hashSet2(key, value) {\n var data2 = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data2[key] = _nativeCreate && value === void 0 ? HASH_UNDEFINED2 : value;\n return this;\n }\n var _hashSet = hashSet2;\n function Hash2(entries) {\n var index = -1, length2 = entries == null ? 0 : entries.length;\n this.clear();\n while (++index < length2) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n Hash2.prototype.clear = _hashClear;\n Hash2.prototype[\"delete\"] = _hashDelete;\n Hash2.prototype.get = _hashGet;\n Hash2.prototype.has = _hashHas;\n Hash2.prototype.set = _hashSet;\n var _Hash = Hash2;\n function listCacheClear2() {\n this.__data__ = [];\n this.size = 0;\n }\n var _listCacheClear = listCacheClear2;\n function eq2(value, other) {\n return value === other || value !== value && other !== other;\n }\n var eq_1 = eq2;\n function assocIndexOf2(array3, key) {\n var length2 = array3.length;\n while (length2--) {\n if (eq_1(array3[length2][0], key)) {\n return length2;\n }\n }\n return -1;\n }\n var _assocIndexOf = assocIndexOf2;\n var arrayProto2 = Array.prototype;\n var splice2 = arrayProto2.splice;\n function listCacheDelete2(key) {\n var data2 = this.__data__, index = _assocIndexOf(data2, key);\n if (index < 0) {\n return false;\n }\n var lastIndex = data2.length - 1;\n if (index == lastIndex) {\n data2.pop();\n } else {\n splice2.call(data2, index, 1);\n }\n --this.size;\n return true;\n }\n var _listCacheDelete = listCacheDelete2;\n function listCacheGet2(key) {\n var data2 = this.__data__, index = _assocIndexOf(data2, key);\n return index < 0 ? void 0 : data2[index][1];\n }\n var _listCacheGet = listCacheGet2;\n function listCacheHas2(key) {\n return _assocIndexOf(this.__data__, key) > -1;\n }\n var _listCacheHas = listCacheHas2;\n function listCacheSet2(key, value) {\n var data2 = this.__data__, index = _assocIndexOf(data2, key);\n if (index < 0) {\n ++this.size;\n data2.push([key, value]);\n } else {\n data2[index][1] = value;\n }\n return this;\n }\n var _listCacheSet = listCacheSet2;\n function ListCache2(entries) {\n var index = -1, length2 = entries == null ? 0 : entries.length;\n this.clear();\n while (++index < length2) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n ListCache2.prototype.clear = _listCacheClear;\n ListCache2.prototype[\"delete\"] = _listCacheDelete;\n ListCache2.prototype.get = _listCacheGet;\n ListCache2.prototype.has = _listCacheHas;\n ListCache2.prototype.set = _listCacheSet;\n var _ListCache = ListCache2;\n var Map$12 = _getNative(_root, \"Map\");\n var _Map = Map$12;\n function mapCacheClear2() {\n this.size = 0;\n this.__data__ = {\n \"hash\": new _Hash(),\n \"map\": new (_Map || _ListCache)(),\n \"string\": new _Hash()\n };\n }\n var _mapCacheClear = mapCacheClear2;\n function isKeyable2(value) {\n var type2 = typeof value;\n return type2 == \"string\" || type2 == \"number\" || type2 == \"symbol\" || type2 == \"boolean\" ? value !== \"__proto__\" : value === null;\n }\n var _isKeyable = isKeyable2;\n function getMapData2(map2, key) {\n var data2 = map2.__data__;\n return _isKeyable(key) ? data2[typeof key == \"string\" ? \"string\" : \"hash\"] : data2.map;\n }\n var _getMapData = getMapData2;\n function mapCacheDelete2(key) {\n var result = _getMapData(this, key)[\"delete\"](key);\n this.size -= result ? 1 : 0;\n return result;\n }\n var _mapCacheDelete = mapCacheDelete2;\n function mapCacheGet2(key) {\n return _getMapData(this, key).get(key);\n }\n var _mapCacheGet = mapCacheGet2;\n function mapCacheHas2(key) {\n return _getMapData(this, key).has(key);\n }\n var _mapCacheHas = mapCacheHas2;\n function mapCacheSet2(key, value) {\n var data2 = _getMapData(this, key), size2 = data2.size;\n data2.set(key, value);\n this.size += data2.size == size2 ? 0 : 1;\n return this;\n }\n var _mapCacheSet = mapCacheSet2;\n function MapCache2(entries) {\n var index = -1, length2 = entries == null ? 0 : entries.length;\n this.clear();\n while (++index < length2) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n MapCache2.prototype.clear = _mapCacheClear;\n MapCache2.prototype[\"delete\"] = _mapCacheDelete;\n MapCache2.prototype.get = _mapCacheGet;\n MapCache2.prototype.has = _mapCacheHas;\n MapCache2.prototype.set = _mapCacheSet;\n var _MapCache = MapCache2;\n var FUNC_ERROR_TEXT2 = \"Expected a function\";\n function memoize2(func, resolver2) {\n if (typeof func != \"function\" || resolver2 != null && typeof resolver2 != \"function\") {\n throw new TypeError(FUNC_ERROR_TEXT2);\n }\n var memoized = function() {\n var args = arguments, key = resolver2 ? resolver2.apply(this, args) : args[0], cache2 = memoized.cache;\n if (cache2.has(key)) {\n return cache2.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache2.set(key, result) || cache2;\n return result;\n };\n memoized.cache = new (memoize2.Cache || _MapCache)();\n return memoized;\n }\n memoize2.Cache = _MapCache;\n var memoize_1 = memoize2;\n var MAX_MEMOIZE_SIZE2 = 500;\n function memoizeCapped2(func) {\n var result = memoize_1(func, function(key) {\n if (cache2.size === MAX_MEMOIZE_SIZE2) {\n cache2.clear();\n }\n return key;\n });\n var cache2 = result.cache;\n return result;\n }\n var _memoizeCapped = memoizeCapped2;\n var rePropName2 = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n var reEscapeChar2 = /\\\\(\\\\)?/g;\n var stringToPath2 = _memoizeCapped(function(string2) {\n var result = [];\n if (string2.charCodeAt(0) === 46) {\n result.push(\"\");\n }\n string2.replace(rePropName2, function(match2, number3, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar2, \"$1\") : number3 || match2);\n });\n return result;\n });\n var _stringToPath = stringToPath2;\n function arrayMap2(array3, iteratee) {\n var index = -1, length2 = array3 == null ? 0 : array3.length, result = Array(length2);\n while (++index < length2) {\n result[index] = iteratee(array3[index], index, array3);\n }\n return result;\n }\n var _arrayMap = arrayMap2;\n var INFINITY$12 = 1 / 0;\n var symbolProto2 = _Symbol ? _Symbol.prototype : void 0, symbolToString2 = symbolProto2 ? symbolProto2.toString : void 0;\n function baseToString2(value) {\n if (typeof value == \"string\") {\n return value;\n }\n if (isArray_1(value)) {\n return _arrayMap(value, baseToString2) + \"\";\n }\n if (isSymbol_1(value)) {\n return symbolToString2 ? symbolToString2.call(value) : \"\";\n }\n var result = value + \"\";\n return result == \"0\" && 1 / value == -INFINITY$12 ? \"-0\" : result;\n }\n var _baseToString = baseToString2;\n function toString$1(value) {\n return value == null ? \"\" : _baseToString(value);\n }\n var toString_1 = toString$1;\n function castPath2(value, object3) {\n if (isArray_1(value)) {\n return value;\n }\n return _isKey(value, object3) ? [value] : _stringToPath(toString_1(value));\n }\n var _castPath = castPath2;\n var INFINITY2 = 1 / 0;\n function toKey2(value) {\n if (typeof value == \"string\" || isSymbol_1(value)) {\n return value;\n }\n var result = value + \"\";\n return result == \"0\" && 1 / value == -INFINITY2 ? \"-0\" : result;\n }\n var _toKey = toKey2;\n function baseGet2(object3, path2) {\n path2 = _castPath(path2, object3);\n var index = 0, length2 = path2.length;\n while (object3 != null && index < length2) {\n object3 = object3[_toKey(path2[index++])];\n }\n return index && index == length2 ? object3 : void 0;\n }\n var _baseGet = baseGet2;\n function get2(object3, path2, defaultValue) {\n var result = object3 == null ? void 0 : _baseGet(object3, path2);\n return result === void 0 ? defaultValue : result;\n }\n var get_1 = get2;\n var defineProperty2 = function() {\n try {\n var func = _getNative(Object, \"defineProperty\");\n func({}, \"\", {});\n return func;\n } catch (e) {\n }\n }();\n var _defineProperty = defineProperty2;\n function baseAssignValue2(object3, key, value) {\n if (key == \"__proto__\" && _defineProperty) {\n _defineProperty(object3, key, {\n \"configurable\": true,\n \"enumerable\": true,\n \"value\": value,\n \"writable\": true\n });\n } else {\n object3[key] = value;\n }\n }\n var _baseAssignValue = baseAssignValue2;\n var objectProto2 = Object.prototype;\n var hasOwnProperty2 = objectProto2.hasOwnProperty;\n function assignValue2(object3, key, value) {\n var objValue = object3[key];\n if (!(hasOwnProperty2.call(object3, key) && eq_1(objValue, value)) || value === void 0 && !(key in object3)) {\n _baseAssignValue(object3, key, value);\n }\n }\n var _assignValue = assignValue2;\n var MAX_SAFE_INTEGER2 = 9007199254740991;\n var reIsUint2 = /^(?:0|[1-9]\\d*)$/;\n function isIndex2(value, length2) {\n var type2 = typeof value;\n length2 = length2 == null ? MAX_SAFE_INTEGER2 : length2;\n return !!length2 && (type2 == \"number\" || type2 != \"symbol\" && reIsUint2.test(value)) && (value > -1 && value % 1 == 0 && value < length2);\n }\n var _isIndex = isIndex2;\n function baseSet2(object3, path2, value, customizer) {\n if (!isObject_12(object3)) {\n return object3;\n }\n path2 = _castPath(path2, object3);\n var index = -1, length2 = path2.length, lastIndex = length2 - 1, nested = object3;\n while (nested != null && ++index < length2) {\n var key = _toKey(path2[index]), newValue = value;\n if (key === \"__proto__\" || key === \"constructor\" || key === \"prototype\") {\n return object3;\n }\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : void 0;\n if (newValue === void 0) {\n newValue = isObject_12(objValue) ? objValue : _isIndex(path2[index + 1]) ? [] : {};\n }\n }\n _assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object3;\n }\n var _baseSet = baseSet2;\n function set2(object3, path2, value) {\n return object3 == null ? object3 : _baseSet(object3, path2, value);\n }\n var set_1 = set2;\n function copyArray2(source, array3) {\n var index = -1, length2 = source.length;\n array3 || (array3 = Array(length2));\n while (++index < length2) {\n array3[index] = source[index];\n }\n return array3;\n }\n var _copyArray = copyArray2;\n function toPath(value) {\n if (isArray_1(value)) {\n return _arrayMap(value, _toKey);\n }\n return isSymbol_1(value) ? [value] : _copyArray(_stringToPath(toString_1(value)));\n }\n var toPath_1 = toPath;\n var define$2 = {\n // access data field\n data: function data2(params) {\n var defaults3 = {\n field: \"data\",\n bindingEvent: \"data\",\n allowBinding: false,\n allowSetting: false,\n allowGetting: false,\n settingEvent: \"data\",\n settingTriggersEvent: false,\n triggerFnName: \"trigger\",\n immutableKeys: {},\n // key => true if immutable\n updateStyle: false,\n beforeGet: function beforeGet(self2) {\n },\n beforeSet: function beforeSet(self2, obj) {\n },\n onSet: function onSet(self2) {\n },\n canSet: function canSet(self2) {\n return true;\n }\n };\n params = extend2({}, defaults3, params);\n return function dataImpl(name2, value) {\n var p2 = params;\n var self2 = this;\n var selfIsArrayLike = self2.length !== void 0;\n var all = selfIsArrayLike ? self2 : [self2];\n var single = selfIsArrayLike ? self2[0] : self2;\n if (string(name2)) {\n var isPathLike = name2.indexOf(\".\") !== -1;\n var path2 = isPathLike && toPath_1(name2);\n if (p2.allowGetting && value === void 0) {\n var ret;\n if (single) {\n p2.beforeGet(single);\n if (path2 && single._private[p2.field][name2] === void 0) {\n ret = get_1(single._private[p2.field], path2);\n } else {\n ret = single._private[p2.field][name2];\n }\n }\n return ret;\n } else if (p2.allowSetting && value !== void 0) {\n var valid2 = !p2.immutableKeys[name2];\n if (valid2) {\n var change2 = _defineProperty$1({}, name2, value);\n p2.beforeSet(self2, change2);\n for (var i3 = 0, l = all.length; i3 < l; i3++) {\n var ele = all[i3];\n if (p2.canSet(ele)) {\n if (path2 && single._private[p2.field][name2] === void 0) {\n set_1(ele._private[p2.field], path2, value);\n } else {\n ele._private[p2.field][name2] = value;\n }\n }\n }\n if (p2.updateStyle) {\n self2.updateStyle();\n }\n p2.onSet(self2);\n if (p2.settingTriggersEvent) {\n self2[p2.triggerFnName](p2.settingEvent);\n }\n }\n }\n } else if (p2.allowSetting && plainObject(name2)) {\n var obj = name2;\n var k, v;\n var keys2 = Object.keys(obj);\n p2.beforeSet(self2, obj);\n for (var _i = 0; _i < keys2.length; _i++) {\n k = keys2[_i];\n v = obj[k];\n var _valid = !p2.immutableKeys[k];\n if (_valid) {\n for (var j = 0; j < all.length; j++) {\n var _ele = all[j];\n if (p2.canSet(_ele)) {\n _ele._private[p2.field][k] = v;\n }\n }\n }\n }\n if (p2.updateStyle) {\n self2.updateStyle();\n }\n p2.onSet(self2);\n if (p2.settingTriggersEvent) {\n self2[p2.triggerFnName](p2.settingEvent);\n }\n } else if (p2.allowBinding && fn$6(name2)) {\n var fn2 = name2;\n self2.on(p2.bindingEvent, fn2);\n } else if (p2.allowGetting && name2 === void 0) {\n var _ret;\n if (single) {\n p2.beforeGet(single);\n _ret = single._private[p2.field];\n }\n return _ret;\n }\n return self2;\n };\n },\n // data\n // remove data field\n removeData: function removeData(params) {\n var defaults3 = {\n field: \"data\",\n event: \"data\",\n triggerFnName: \"trigger\",\n triggerEvent: false,\n immutableKeys: {}\n // key => true if immutable\n };\n params = extend2({}, defaults3, params);\n return function removeDataImpl(names) {\n var p2 = params;\n var self2 = this;\n var selfIsArrayLike = self2.length !== void 0;\n var all = selfIsArrayLike ? self2 : [self2];\n if (string(names)) {\n var keys2 = names.split(/\\s+/);\n var l = keys2.length;\n for (var i3 = 0; i3 < l; i3++) {\n var key = keys2[i3];\n if (emptyString(key)) {\n continue;\n }\n var valid2 = !p2.immutableKeys[key];\n if (valid2) {\n for (var i_a = 0, l_a = all.length; i_a < l_a; i_a++) {\n all[i_a]._private[p2.field][key] = void 0;\n }\n }\n }\n if (p2.triggerEvent) {\n self2[p2.triggerFnName](p2.event);\n }\n } else if (names === void 0) {\n for (var _i_a = 0, _l_a = all.length; _i_a < _l_a; _i_a++) {\n var _privateFields = all[_i_a]._private[p2.field];\n var _keys = Object.keys(_privateFields);\n for (var _i2 = 0; _i2 < _keys.length; _i2++) {\n var _key = _keys[_i2];\n var validKeyToDelete = !p2.immutableKeys[_key];\n if (validKeyToDelete) {\n _privateFields[_key] = void 0;\n }\n }\n }\n if (p2.triggerEvent) {\n self2[p2.triggerFnName](p2.event);\n }\n }\n return self2;\n };\n }\n // removeData\n };\n var define$1 = {\n eventAliasesOn: function eventAliasesOn(proto) {\n var p2 = proto;\n p2.addListener = p2.listen = p2.bind = p2.on;\n p2.unlisten = p2.unbind = p2.off = p2.removeListener;\n p2.trigger = p2.emit;\n p2.pon = p2.promiseOn = function(events, selector2) {\n var self2 = this;\n var args = Array.prototype.slice.call(arguments, 0);\n return new Promise$12(function(resolve2, reject) {\n var callback = function callback2(e) {\n self2.off.apply(self2, offArgs);\n resolve2(e);\n };\n var onArgs = args.concat([callback]);\n var offArgs = onArgs.concat([]);\n self2.on.apply(self2, onArgs);\n });\n };\n }\n };\n var define3 = {};\n [define$3, define$2, define$1].forEach(function(m) {\n extend2(define3, m);\n });\n var elesfn$i = {\n animate: define3.animate(),\n animation: define3.animation(),\n animated: define3.animated(),\n clearQueue: define3.clearQueue(),\n delay: define3.delay(),\n delayAnimation: define3.delayAnimation(),\n stop: define3.stop()\n };\n var elesfn$h = {\n classes: function classes2(_classes) {\n var self2 = this;\n if (_classes === void 0) {\n var ret = [];\n self2[0]._private.classes.forEach(function(cls2) {\n return ret.push(cls2);\n });\n return ret;\n } else if (!array2(_classes)) {\n _classes = (_classes || \"\").match(/\\S+/g) || [];\n }\n var changed = [];\n var classesSet = new Set$12(_classes);\n for (var j = 0; j < self2.length; j++) {\n var ele = self2[j];\n var _p = ele._private;\n var eleClasses = _p.classes;\n var changedEle = false;\n for (var i3 = 0; i3 < _classes.length; i3++) {\n var cls = _classes[i3];\n var eleHasClass = eleClasses.has(cls);\n if (!eleHasClass) {\n changedEle = true;\n break;\n }\n }\n if (!changedEle) {\n changedEle = eleClasses.size !== _classes.length;\n }\n if (changedEle) {\n _p.classes = classesSet;\n changed.push(ele);\n }\n }\n if (changed.length > 0) {\n this.spawn(changed).updateStyle().emit(\"class\");\n }\n return self2;\n },\n addClass: function addClass2(classes2) {\n return this.toggleClass(classes2, true);\n },\n hasClass: function hasClass(className) {\n var ele = this[0];\n return ele != null && ele._private.classes.has(className);\n },\n toggleClass: function toggleClass(classes2, toggle) {\n if (!array2(classes2)) {\n classes2 = classes2.match(/\\S+/g) || [];\n }\n var self2 = this;\n var toggleUndefd = toggle === void 0;\n var changed = [];\n for (var i3 = 0, il = self2.length; i3 < il; i3++) {\n var ele = self2[i3];\n var eleClasses = ele._private.classes;\n var changedEle = false;\n for (var j = 0; j < classes2.length; j++) {\n var cls = classes2[j];\n var hasClass = eleClasses.has(cls);\n var changedNow = false;\n if (toggle || toggleUndefd && !hasClass) {\n eleClasses.add(cls);\n changedNow = true;\n } else if (!toggle || toggleUndefd && hasClass) {\n eleClasses[\"delete\"](cls);\n changedNow = true;\n }\n if (!changedEle && changedNow) {\n changed.push(ele);\n changedEle = true;\n }\n }\n }\n if (changed.length > 0) {\n this.spawn(changed).updateStyle().emit(\"class\");\n }\n return self2;\n },\n removeClass: function removeClass(classes2) {\n return this.toggleClass(classes2, false);\n },\n flashClass: function flashClass(classes2, duration) {\n var self2 = this;\n if (duration == null) {\n duration = 250;\n } else if (duration === 0) {\n return self2;\n }\n self2.addClass(classes2);\n setTimeout(function() {\n self2.removeClass(classes2);\n }, duration);\n return self2;\n }\n };\n elesfn$h.className = elesfn$h.classNames = elesfn$h.classes;\n var tokens = {\n metaChar: \"[\\\\!\\\\\\\"\\\\#\\\\$\\\\%\\\\&\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\.\\\\/\\\\:\\\\;\\\\<\\\\=\\\\>\\\\?\\\\@\\\\[\\\\]\\\\^\\\\`\\\\{\\\\|\\\\}\\\\~]\",\n // chars we need to escape in let names, etc\n comparatorOp: \"=|\\\\!=|>|>=|<|<=|\\\\$=|\\\\^=|\\\\*=\",\n // binary comparison op (used in data selectors)\n boolOp: \"\\\\?|\\\\!|\\\\^\",\n // boolean (unary) operators (used in data selectors)\n string: `\"(?:\\\\\\\\\"|[^\"])*\"|'(?:\\\\\\\\'|[^'])*'`,\n // string literals (used in data selectors) -- doublequotes | singlequotes\n number: number2,\n // number literal (used in data selectors) --- e.g. 0.1234, 1234, 12e123\n meta: \"degree|indegree|outdegree\",\n // allowed metadata fields (i.e. allowed functions to use from Collection)\n separator: \"\\\\s*,\\\\s*\",\n // queries are separated by commas, e.g. edge[foo = 'bar'], node.someClass\n descendant: \"\\\\s+\",\n child: \"\\\\s+>\\\\s+\",\n subject: \"\\\\$\",\n group: \"node|edge|\\\\*\",\n directedEdge: \"\\\\s+->\\\\s+\",\n undirectedEdge: \"\\\\s+<->\\\\s+\"\n };\n tokens.variable = \"(?:[\\\\w-.]|(?:\\\\\\\\\" + tokens.metaChar + \"))+\";\n tokens.className = \"(?:[\\\\w-]|(?:\\\\\\\\\" + tokens.metaChar + \"))+\";\n tokens.value = tokens.string + \"|\" + tokens.number;\n tokens.id = tokens.variable;\n (function() {\n var ops, op, i3;\n ops = tokens.comparatorOp.split(\"|\");\n for (i3 = 0; i3 < ops.length; i3++) {\n op = ops[i3];\n tokens.comparatorOp += \"|@\" + op;\n }\n ops = tokens.comparatorOp.split(\"|\");\n for (i3 = 0; i3 < ops.length; i3++) {\n op = ops[i3];\n if (op.indexOf(\"!\") >= 0) {\n continue;\n }\n if (op === \"=\") {\n continue;\n }\n tokens.comparatorOp += \"|\\\\!\" + op;\n }\n })();\n var newQuery = function newQuery2() {\n return {\n checks: []\n };\n };\n var Type2 = {\n /** E.g. node */\n GROUP: 0,\n /** A collection of elements */\n COLLECTION: 1,\n /** A filter(ele) function */\n FILTER: 2,\n /** E.g. [foo > 1] */\n DATA_COMPARE: 3,\n /** E.g. [foo] */\n DATA_EXIST: 4,\n /** E.g. [?foo] */\n DATA_BOOL: 5,\n /** E.g. [[degree > 2]] */\n META_COMPARE: 6,\n /** E.g. :selected */\n STATE: 7,\n /** E.g. #foo */\n ID: 8,\n /** E.g. .foo */\n CLASS: 9,\n /** E.g. #foo <-> #bar */\n UNDIRECTED_EDGE: 10,\n /** E.g. #foo -> #bar */\n DIRECTED_EDGE: 11,\n /** E.g. $#foo -> #bar */\n NODE_SOURCE: 12,\n /** E.g. #foo -> $#bar */\n NODE_TARGET: 13,\n /** E.g. $#foo <-> #bar */\n NODE_NEIGHBOR: 14,\n /** E.g. #foo > #bar */\n CHILD: 15,\n /** E.g. #foo #bar */\n DESCENDANT: 16,\n /** E.g. $#foo > #bar */\n PARENT: 17,\n /** E.g. $#foo #bar */\n ANCESTOR: 18,\n /** E.g. #foo > $bar > #baz */\n COMPOUND_SPLIT: 19,\n /** Always matches, useful placeholder for subject in `COMPOUND_SPLIT` */\n TRUE: 20\n };\n var stateSelectors = [{\n selector: \":selected\",\n matches: function matches2(ele) {\n return ele.selected();\n }\n }, {\n selector: \":unselected\",\n matches: function matches2(ele) {\n return !ele.selected();\n }\n }, {\n selector: \":selectable\",\n matches: function matches2(ele) {\n return ele.selectable();\n }\n }, {\n selector: \":unselectable\",\n matches: function matches2(ele) {\n return !ele.selectable();\n }\n }, {\n selector: \":locked\",\n matches: function matches2(ele) {\n return ele.locked();\n }\n }, {\n selector: \":unlocked\",\n matches: function matches2(ele) {\n return !ele.locked();\n }\n }, {\n selector: \":visible\",\n matches: function matches2(ele) {\n return ele.visible();\n }\n }, {\n selector: \":hidden\",\n matches: function matches2(ele) {\n return !ele.visible();\n }\n }, {\n selector: \":transparent\",\n matches: function matches2(ele) {\n return ele.transparent();\n }\n }, {\n selector: \":grabbed\",\n matches: function matches2(ele) {\n return ele.grabbed();\n }\n }, {\n selector: \":free\",\n matches: function matches2(ele) {\n return !ele.grabbed();\n }\n }, {\n selector: \":removed\",\n matches: function matches2(ele) {\n return ele.removed();\n }\n }, {\n selector: \":inside\",\n matches: function matches2(ele) {\n return !ele.removed();\n }\n }, {\n selector: \":grabbable\",\n matches: function matches2(ele) {\n return ele.grabbable();\n }\n }, {\n selector: \":ungrabbable\",\n matches: function matches2(ele) {\n return !ele.grabbable();\n }\n }, {\n selector: \":animated\",\n matches: function matches2(ele) {\n return ele.animated();\n }\n }, {\n selector: \":unanimated\",\n matches: function matches2(ele) {\n return !ele.animated();\n }\n }, {\n selector: \":parent\",\n matches: function matches2(ele) {\n return ele.isParent();\n }\n }, {\n selector: \":childless\",\n matches: function matches2(ele) {\n return ele.isChildless();\n }\n }, {\n selector: \":child\",\n matches: function matches2(ele) {\n return ele.isChild();\n }\n }, {\n selector: \":orphan\",\n matches: function matches2(ele) {\n return ele.isOrphan();\n }\n }, {\n selector: \":nonorphan\",\n matches: function matches2(ele) {\n return ele.isChild();\n }\n }, {\n selector: \":compound\",\n matches: function matches2(ele) {\n if (ele.isNode()) {\n return ele.isParent();\n } else {\n return ele.source().isParent() || ele.target().isParent();\n }\n }\n }, {\n selector: \":loop\",\n matches: function matches2(ele) {\n return ele.isLoop();\n }\n }, {\n selector: \":simple\",\n matches: function matches2(ele) {\n return ele.isSimple();\n }\n }, {\n selector: \":active\",\n matches: function matches2(ele) {\n return ele.active();\n }\n }, {\n selector: \":inactive\",\n matches: function matches2(ele) {\n return !ele.active();\n }\n }, {\n selector: \":backgrounding\",\n matches: function matches2(ele) {\n return ele.backgrounding();\n }\n }, {\n selector: \":nonbackgrounding\",\n matches: function matches2(ele) {\n return !ele.backgrounding();\n }\n }].sort(function(a, b) {\n return descending2(a.selector, b.selector);\n });\n var lookup = function() {\n var selToFn = {};\n var s;\n for (var i3 = 0; i3 < stateSelectors.length; i3++) {\n s = stateSelectors[i3];\n selToFn[s.selector] = s.matches;\n }\n return selToFn;\n }();\n var stateSelectorMatches = function stateSelectorMatches2(sel, ele) {\n return lookup[sel](ele);\n };\n var stateSelectorRegex = \"(\" + stateSelectors.map(function(s) {\n return s.selector;\n }).join(\"|\") + \")\";\n var cleanMetaChars = function cleanMetaChars2(str2) {\n return str2.replace(new RegExp(\"\\\\\\\\(\" + tokens.metaChar + \")\", \"g\"), function(match2, $1) {\n return $1;\n });\n };\n var replaceLastQuery = function replaceLastQuery2(selector2, examiningQuery, replacementQuery) {\n selector2[selector2.length - 1] = replacementQuery;\n };\n var exprs = [{\n name: \"group\",\n // just used for identifying when debugging\n query: true,\n regex: \"(\" + tokens.group + \")\",\n populate: function populate(selector2, query, _ref2) {\n var _ref22 = _slicedToArray(_ref2, 1), group = _ref22[0];\n query.checks.push({\n type: Type2.GROUP,\n value: group === \"*\" ? group : group + \"s\"\n });\n }\n }, {\n name: \"state\",\n query: true,\n regex: stateSelectorRegex,\n populate: function populate(selector2, query, _ref3) {\n var _ref4 = _slicedToArray(_ref3, 1), state = _ref4[0];\n query.checks.push({\n type: Type2.STATE,\n value: state\n });\n }\n }, {\n name: \"id\",\n query: true,\n regex: \"\\\\#(\" + tokens.id + \")\",\n populate: function populate(selector2, query, _ref5) {\n var _ref6 = _slicedToArray(_ref5, 1), id2 = _ref6[0];\n query.checks.push({\n type: Type2.ID,\n value: cleanMetaChars(id2)\n });\n }\n }, {\n name: \"className\",\n query: true,\n regex: \"\\\\.(\" + tokens.className + \")\",\n populate: function populate(selector2, query, _ref7) {\n var _ref8 = _slicedToArray(_ref7, 1), className = _ref8[0];\n query.checks.push({\n type: Type2.CLASS,\n value: cleanMetaChars(className)\n });\n }\n }, {\n name: \"dataExists\",\n query: true,\n regex: \"\\\\[\\\\s*(\" + tokens.variable + \")\\\\s*\\\\]\",\n populate: function populate(selector2, query, _ref9) {\n var _ref10 = _slicedToArray(_ref9, 1), variable = _ref10[0];\n query.checks.push({\n type: Type2.DATA_EXIST,\n field: cleanMetaChars(variable)\n });\n }\n }, {\n name: \"dataCompare\",\n query: true,\n regex: \"\\\\[\\\\s*(\" + tokens.variable + \")\\\\s*(\" + tokens.comparatorOp + \")\\\\s*(\" + tokens.value + \")\\\\s*\\\\]\",\n populate: function populate(selector2, query, _ref11) {\n var _ref12 = _slicedToArray(_ref11, 3), variable = _ref12[0], comparatorOp = _ref12[1], value = _ref12[2];\n var valueIsString = new RegExp(\"^\" + tokens.string + \"$\").exec(value) != null;\n if (valueIsString) {\n value = value.substring(1, value.length - 1);\n } else {\n value = parseFloat(value);\n }\n query.checks.push({\n type: Type2.DATA_COMPARE,\n field: cleanMetaChars(variable),\n operator: comparatorOp,\n value\n });\n }\n }, {\n name: \"dataBool\",\n query: true,\n regex: \"\\\\[\\\\s*(\" + tokens.boolOp + \")\\\\s*(\" + tokens.variable + \")\\\\s*\\\\]\",\n populate: function populate(selector2, query, _ref13) {\n var _ref14 = _slicedToArray(_ref13, 2), boolOp = _ref14[0], variable = _ref14[1];\n query.checks.push({\n type: Type2.DATA_BOOL,\n field: cleanMetaChars(variable),\n operator: boolOp\n });\n }\n }, {\n name: \"metaCompare\",\n query: true,\n regex: \"\\\\[\\\\[\\\\s*(\" + tokens.meta + \")\\\\s*(\" + tokens.comparatorOp + \")\\\\s*(\" + tokens.number + \")\\\\s*\\\\]\\\\]\",\n populate: function populate(selector2, query, _ref15) {\n var _ref16 = _slicedToArray(_ref15, 3), meta2 = _ref16[0], comparatorOp = _ref16[1], number3 = _ref16[2];\n query.checks.push({\n type: Type2.META_COMPARE,\n field: cleanMetaChars(meta2),\n operator: comparatorOp,\n value: parseFloat(number3)\n });\n }\n }, {\n name: \"nextQuery\",\n separator: true,\n regex: tokens.separator,\n populate: function populate(selector2, query) {\n var currentSubject = selector2.currentSubject;\n var edgeCount2 = selector2.edgeCount;\n var compoundCount = selector2.compoundCount;\n var lastQ = selector2[selector2.length - 1];\n if (currentSubject != null) {\n lastQ.subject = currentSubject;\n selector2.currentSubject = null;\n }\n lastQ.edgeCount = edgeCount2;\n lastQ.compoundCount = compoundCount;\n selector2.edgeCount = 0;\n selector2.compoundCount = 0;\n var nextQuery = selector2[selector2.length++] = newQuery();\n return nextQuery;\n }\n }, {\n name: \"directedEdge\",\n separator: true,\n regex: tokens.directedEdge,\n populate: function populate(selector2, query) {\n if (selector2.currentSubject == null) {\n var edgeQuery = newQuery();\n var source = query;\n var target = newQuery();\n edgeQuery.checks.push({\n type: Type2.DIRECTED_EDGE,\n source,\n target\n });\n replaceLastQuery(selector2, query, edgeQuery);\n selector2.edgeCount++;\n return target;\n } else {\n var srcTgtQ = newQuery();\n var _source = query;\n var _target = newQuery();\n srcTgtQ.checks.push({\n type: Type2.NODE_SOURCE,\n source: _source,\n target: _target\n });\n replaceLastQuery(selector2, query, srcTgtQ);\n selector2.edgeCount++;\n return _target;\n }\n }\n }, {\n name: \"undirectedEdge\",\n separator: true,\n regex: tokens.undirectedEdge,\n populate: function populate(selector2, query) {\n if (selector2.currentSubject == null) {\n var edgeQuery = newQuery();\n var source = query;\n var target = newQuery();\n edgeQuery.checks.push({\n type: Type2.UNDIRECTED_EDGE,\n nodes: [source, target]\n });\n replaceLastQuery(selector2, query, edgeQuery);\n selector2.edgeCount++;\n return target;\n } else {\n var nhoodQ = newQuery();\n var node2 = query;\n var neighbor = newQuery();\n nhoodQ.checks.push({\n type: Type2.NODE_NEIGHBOR,\n node: node2,\n neighbor\n });\n replaceLastQuery(selector2, query, nhoodQ);\n return neighbor;\n }\n }\n }, {\n name: \"child\",\n separator: true,\n regex: tokens.child,\n populate: function populate(selector2, query) {\n if (selector2.currentSubject == null) {\n var parentChildQuery = newQuery();\n var child = newQuery();\n var parent = selector2[selector2.length - 1];\n parentChildQuery.checks.push({\n type: Type2.CHILD,\n parent,\n child\n });\n replaceLastQuery(selector2, query, parentChildQuery);\n selector2.compoundCount++;\n return child;\n } else if (selector2.currentSubject === query) {\n var compound = newQuery();\n var left2 = selector2[selector2.length - 1];\n var right2 = newQuery();\n var subject = newQuery();\n var _child = newQuery();\n var _parent = newQuery();\n compound.checks.push({\n type: Type2.COMPOUND_SPLIT,\n left: left2,\n right: right2,\n subject\n });\n subject.checks = query.checks;\n query.checks = [{\n type: Type2.TRUE\n }];\n _parent.checks.push({\n type: Type2.TRUE\n });\n right2.checks.push({\n type: Type2.PARENT,\n // type is swapped on right side queries\n parent: _parent,\n child: _child\n // empty for now\n });\n replaceLastQuery(selector2, left2, compound);\n selector2.currentSubject = subject;\n selector2.compoundCount++;\n return _child;\n } else {\n var _parent2 = newQuery();\n var _child2 = newQuery();\n var pcQChecks = [{\n type: Type2.PARENT,\n parent: _parent2,\n child: _child2\n }];\n _parent2.checks = query.checks;\n query.checks = pcQChecks;\n selector2.compoundCount++;\n return _child2;\n }\n }\n }, {\n name: \"descendant\",\n separator: true,\n regex: tokens.descendant,\n populate: function populate(selector2, query) {\n if (selector2.currentSubject == null) {\n var ancChQuery = newQuery();\n var descendant = newQuery();\n var ancestor = selector2[selector2.length - 1];\n ancChQuery.checks.push({\n type: Type2.DESCENDANT,\n ancestor,\n descendant\n });\n replaceLastQuery(selector2, query, ancChQuery);\n selector2.compoundCount++;\n return descendant;\n } else if (selector2.currentSubject === query) {\n var compound = newQuery();\n var left2 = selector2[selector2.length - 1];\n var right2 = newQuery();\n var subject = newQuery();\n var _descendant = newQuery();\n var _ancestor = newQuery();\n compound.checks.push({\n type: Type2.COMPOUND_SPLIT,\n left: left2,\n right: right2,\n subject\n });\n subject.checks = query.checks;\n query.checks = [{\n type: Type2.TRUE\n }];\n _ancestor.checks.push({\n type: Type2.TRUE\n });\n right2.checks.push({\n type: Type2.ANCESTOR,\n // type is swapped on right side queries\n ancestor: _ancestor,\n descendant: _descendant\n // empty for now\n });\n replaceLastQuery(selector2, left2, compound);\n selector2.currentSubject = subject;\n selector2.compoundCount++;\n return _descendant;\n } else {\n var _ancestor2 = newQuery();\n var _descendant2 = newQuery();\n var adQChecks = [{\n type: Type2.ANCESTOR,\n ancestor: _ancestor2,\n descendant: _descendant2\n }];\n _ancestor2.checks = query.checks;\n query.checks = adQChecks;\n selector2.compoundCount++;\n return _descendant2;\n }\n }\n }, {\n name: \"subject\",\n modifier: true,\n regex: tokens.subject,\n populate: function populate(selector2, query) {\n if (selector2.currentSubject != null && selector2.currentSubject !== query) {\n warn(\"Redefinition of subject in selector `\" + selector2.toString() + \"`\");\n return false;\n }\n selector2.currentSubject = query;\n var topQ = selector2[selector2.length - 1];\n var topChk = topQ.checks[0];\n var topType = topChk == null ? null : topChk.type;\n if (topType === Type2.DIRECTED_EDGE) {\n topChk.type = Type2.NODE_TARGET;\n } else if (topType === Type2.UNDIRECTED_EDGE) {\n topChk.type = Type2.NODE_NEIGHBOR;\n topChk.node = topChk.nodes[1];\n topChk.neighbor = topChk.nodes[0];\n topChk.nodes = null;\n }\n }\n }];\n exprs.forEach(function(e) {\n return e.regexObj = new RegExp(\"^\" + e.regex);\n });\n var consumeExpr = function consumeExpr2(remaining) {\n var expr;\n var match2;\n var name2;\n for (var j = 0; j < exprs.length; j++) {\n var e = exprs[j];\n var n = e.name;\n var m = remaining.match(e.regexObj);\n if (m != null) {\n match2 = m;\n expr = e;\n name2 = n;\n var consumed = m[0];\n remaining = remaining.substring(consumed.length);\n break;\n }\n }\n return {\n expr,\n match: match2,\n name: name2,\n remaining\n };\n };\n var consumeWhitespace = function consumeWhitespace2(remaining) {\n var match2 = remaining.match(/^\\s+/);\n if (match2) {\n var consumed = match2[0];\n remaining = remaining.substring(consumed.length);\n }\n return remaining;\n };\n var parse2 = function parse3(selector2) {\n var self2 = this;\n var remaining = self2.inputText = selector2;\n var currentQuery = self2[0] = newQuery();\n self2.length = 1;\n remaining = consumeWhitespace(remaining);\n for (; ; ) {\n var exprInfo = consumeExpr(remaining);\n if (exprInfo.expr == null) {\n warn(\"The selector `\" + selector2 + \"`is invalid\");\n return false;\n } else {\n var args = exprInfo.match.slice(1);\n var ret = exprInfo.expr.populate(self2, currentQuery, args);\n if (ret === false) {\n return false;\n } else if (ret != null) {\n currentQuery = ret;\n }\n }\n remaining = exprInfo.remaining;\n if (remaining.match(/^\\s*$/)) {\n break;\n }\n }\n var lastQ = self2[self2.length - 1];\n if (self2.currentSubject != null) {\n lastQ.subject = self2.currentSubject;\n }\n lastQ.edgeCount = self2.edgeCount;\n lastQ.compoundCount = self2.compoundCount;\n for (var i3 = 0; i3 < self2.length; i3++) {\n var q = self2[i3];\n if (q.compoundCount > 0 && q.edgeCount > 0) {\n warn(\"The selector `\" + selector2 + \"` is invalid because it uses both a compound selector and an edge selector\");\n return false;\n }\n if (q.edgeCount > 1) {\n warn(\"The selector `\" + selector2 + \"` is invalid because it uses multiple edge selectors\");\n return false;\n } else if (q.edgeCount === 1) {\n warn(\"The selector `\" + selector2 + \"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.\");\n }\n }\n return true;\n };\n var toString2 = function toString3() {\n if (this.toStringCache != null) {\n return this.toStringCache;\n }\n var clean = function clean2(obj) {\n if (obj == null) {\n return \"\";\n } else {\n return obj;\n }\n };\n var cleanVal = function cleanVal2(val) {\n if (string(val)) {\n return '\"' + val + '\"';\n } else {\n return clean(val);\n }\n };\n var space = function space2(val) {\n return \" \" + val + \" \";\n };\n var checkToString = function checkToString2(check, subject) {\n var type2 = check.type, value = check.value;\n switch (type2) {\n case Type2.GROUP: {\n var group = clean(value);\n return group.substring(0, group.length - 1);\n }\n case Type2.DATA_COMPARE: {\n var field = check.field, operator = check.operator;\n return \"[\" + field + space(clean(operator)) + cleanVal(value) + \"]\";\n }\n case Type2.DATA_BOOL: {\n var _operator = check.operator, _field = check.field;\n return \"[\" + clean(_operator) + _field + \"]\";\n }\n case Type2.DATA_EXIST: {\n var _field2 = check.field;\n return \"[\" + _field2 + \"]\";\n }\n case Type2.META_COMPARE: {\n var _operator2 = check.operator, _field3 = check.field;\n return \"[[\" + _field3 + space(clean(_operator2)) + cleanVal(value) + \"]]\";\n }\n case Type2.STATE: {\n return value;\n }\n case Type2.ID: {\n return \"#\" + value;\n }\n case Type2.CLASS: {\n return \".\" + value;\n }\n case Type2.PARENT:\n case Type2.CHILD: {\n return queryToString(check.parent, subject) + space(\">\") + queryToString(check.child, subject);\n }\n case Type2.ANCESTOR:\n case Type2.DESCENDANT: {\n return queryToString(check.ancestor, subject) + \" \" + queryToString(check.descendant, subject);\n }\n case Type2.COMPOUND_SPLIT: {\n var lhs = queryToString(check.left, subject);\n var sub = queryToString(check.subject, subject);\n var rhs = queryToString(check.right, subject);\n return lhs + (lhs.length > 0 ? \" \" : \"\") + sub + rhs;\n }\n case Type2.TRUE: {\n return \"\";\n }\n }\n };\n var queryToString = function queryToString2(query2, subject) {\n return query2.checks.reduce(function(str3, chk, i4) {\n return str3 + (subject === query2 && i4 === 0 ? \"$\" : \"\") + checkToString(chk, subject);\n }, \"\");\n };\n var str2 = \"\";\n for (var i3 = 0; i3 < this.length; i3++) {\n var query = this[i3];\n str2 += queryToString(query, query.subject);\n if (this.length > 1 && i3 < this.length - 1) {\n str2 += \", \";\n }\n }\n this.toStringCache = str2;\n return str2;\n };\n var parse$12 = {\n parse: parse2,\n toString: toString2\n };\n var valCmp = function valCmp2(fieldVal, operator, value) {\n var matches2;\n var isFieldStr = string(fieldVal);\n var isFieldNum = number$12(fieldVal);\n var isValStr = string(value);\n var fieldStr, valStr;\n var caseInsensitive = false;\n var notExpr = false;\n var isIneqCmp = false;\n if (operator.indexOf(\"!\") >= 0) {\n operator = operator.replace(\"!\", \"\");\n notExpr = true;\n }\n if (operator.indexOf(\"@\") >= 0) {\n operator = operator.replace(\"@\", \"\");\n caseInsensitive = true;\n }\n if (isFieldStr || isValStr || caseInsensitive) {\n fieldStr = !isFieldStr && !isFieldNum ? \"\" : \"\" + fieldVal;\n valStr = \"\" + value;\n }\n if (caseInsensitive) {\n fieldVal = fieldStr = fieldStr.toLowerCase();\n value = valStr = valStr.toLowerCase();\n }\n switch (operator) {\n case \"*=\":\n matches2 = fieldStr.indexOf(valStr) >= 0;\n break;\n case \"$=\":\n matches2 = fieldStr.indexOf(valStr, fieldStr.length - valStr.length) >= 0;\n break;\n case \"^=\":\n matches2 = fieldStr.indexOf(valStr) === 0;\n break;\n case \"=\":\n matches2 = fieldVal === value;\n break;\n case \">\":\n isIneqCmp = true;\n matches2 = fieldVal > value;\n break;\n case \">=\":\n isIneqCmp = true;\n matches2 = fieldVal >= value;\n break;\n case \"<\":\n isIneqCmp = true;\n matches2 = fieldVal < value;\n break;\n case \"<=\":\n isIneqCmp = true;\n matches2 = fieldVal <= value;\n break;\n default:\n matches2 = false;\n break;\n }\n if (notExpr && (fieldVal != null || !isIneqCmp)) {\n matches2 = !matches2;\n }\n return matches2;\n };\n var boolCmp = function boolCmp2(fieldVal, operator) {\n switch (operator) {\n case \"?\":\n return fieldVal ? true : false;\n case \"!\":\n return fieldVal ? false : true;\n case \"^\":\n return fieldVal === void 0;\n }\n };\n var existCmp = function existCmp2(fieldVal) {\n return fieldVal !== void 0;\n };\n var data$1 = function data2(ele, field) {\n return ele.data(field);\n };\n var meta = function meta2(ele, field) {\n return ele[field]();\n };\n var match = [];\n var matches$1 = function matches2(query, ele) {\n return query.checks.every(function(chk) {\n return match[chk.type](chk, ele);\n });\n };\n match[Type2.GROUP] = function(check, ele) {\n var group = check.value;\n return group === \"*\" || group === ele.group();\n };\n match[Type2.STATE] = function(check, ele) {\n var stateSelector = check.value;\n return stateSelectorMatches(stateSelector, ele);\n };\n match[Type2.ID] = function(check, ele) {\n var id2 = check.value;\n return ele.id() === id2;\n };\n match[Type2.CLASS] = function(check, ele) {\n var cls = check.value;\n return ele.hasClass(cls);\n };\n match[Type2.META_COMPARE] = function(check, ele) {\n var field = check.field, operator = check.operator, value = check.value;\n return valCmp(meta(ele, field), operator, value);\n };\n match[Type2.DATA_COMPARE] = function(check, ele) {\n var field = check.field, operator = check.operator, value = check.value;\n return valCmp(data$1(ele, field), operator, value);\n };\n match[Type2.DATA_BOOL] = function(check, ele) {\n var field = check.field, operator = check.operator;\n return boolCmp(data$1(ele, field), operator);\n };\n match[Type2.DATA_EXIST] = function(check, ele) {\n var field = check.field;\n check.operator;\n return existCmp(data$1(ele, field));\n };\n match[Type2.UNDIRECTED_EDGE] = function(check, ele) {\n var qA = check.nodes[0];\n var qB = check.nodes[1];\n var src = ele.source();\n var tgt = ele.target();\n return matches$1(qA, src) && matches$1(qB, tgt) || matches$1(qB, src) && matches$1(qA, tgt);\n };\n match[Type2.NODE_NEIGHBOR] = function(check, ele) {\n return matches$1(check.node, ele) && ele.neighborhood().some(function(n) {\n return n.isNode() && matches$1(check.neighbor, n);\n });\n };\n match[Type2.DIRECTED_EDGE] = function(check, ele) {\n return matches$1(check.source, ele.source()) && matches$1(check.target, ele.target());\n };\n match[Type2.NODE_SOURCE] = function(check, ele) {\n return matches$1(check.source, ele) && ele.outgoers().some(function(n) {\n return n.isNode() && matches$1(check.target, n);\n });\n };\n match[Type2.NODE_TARGET] = function(check, ele) {\n return matches$1(check.target, ele) && ele.incomers().some(function(n) {\n return n.isNode() && matches$1(check.source, n);\n });\n };\n match[Type2.CHILD] = function(check, ele) {\n return matches$1(check.child, ele) && matches$1(check.parent, ele.parent());\n };\n match[Type2.PARENT] = function(check, ele) {\n return matches$1(check.parent, ele) && ele.children().some(function(c2) {\n return matches$1(check.child, c2);\n });\n };\n match[Type2.DESCENDANT] = function(check, ele) {\n return matches$1(check.descendant, ele) && ele.ancestors().some(function(a) {\n return matches$1(check.ancestor, a);\n });\n };\n match[Type2.ANCESTOR] = function(check, ele) {\n return matches$1(check.ancestor, ele) && ele.descendants().some(function(d) {\n return matches$1(check.descendant, d);\n });\n };\n match[Type2.COMPOUND_SPLIT] = function(check, ele) {\n return matches$1(check.subject, ele) && matches$1(check.left, ele) && matches$1(check.right, ele);\n };\n match[Type2.TRUE] = function() {\n return true;\n };\n match[Type2.COLLECTION] = function(check, ele) {\n var collection2 = check.value;\n return collection2.has(ele);\n };\n match[Type2.FILTER] = function(check, ele) {\n var filter3 = check.value;\n return filter3(ele);\n };\n var filter2 = function filter3(collection2) {\n var self2 = this;\n if (self2.length === 1 && self2[0].checks.length === 1 && self2[0].checks[0].type === Type2.ID) {\n return collection2.getElementById(self2[0].checks[0].value).collection();\n }\n var selectorFunction = function selectorFunction2(element2) {\n for (var j = 0; j < self2.length; j++) {\n var query = self2[j];\n if (matches$1(query, element2)) {\n return true;\n }\n }\n return false;\n };\n if (self2.text() == null) {\n selectorFunction = function selectorFunction2() {\n return true;\n };\n }\n return collection2.filter(selectorFunction);\n };\n var matches = function matches2(ele) {\n var self2 = this;\n for (var j = 0; j < self2.length; j++) {\n var query = self2[j];\n if (matches$1(query, ele)) {\n return true;\n }\n }\n return false;\n };\n var matching = {\n matches,\n filter: filter2\n };\n var Selector = function Selector2(selector2) {\n this.inputText = selector2;\n this.currentSubject = null;\n this.compoundCount = 0;\n this.edgeCount = 0;\n this.length = 0;\n if (selector2 == null || string(selector2) && selector2.match(/^\\s*$/))\n ;\n else if (elementOrCollection(selector2)) {\n this.addQuery({\n checks: [{\n type: Type2.COLLECTION,\n value: selector2.collection()\n }]\n });\n } else if (fn$6(selector2)) {\n this.addQuery({\n checks: [{\n type: Type2.FILTER,\n value: selector2\n }]\n });\n } else if (string(selector2)) {\n if (!this.parse(selector2)) {\n this.invalid = true;\n }\n } else {\n error(\"A selector must be created from a string; found \");\n }\n };\n var selfn = Selector.prototype;\n [parse$12, matching].forEach(function(p2) {\n return extend2(selfn, p2);\n });\n selfn.text = function() {\n return this.inputText;\n };\n selfn.size = function() {\n return this.length;\n };\n selfn.eq = function(i3) {\n return this[i3];\n };\n selfn.sameText = function(otherSel) {\n return !this.invalid && !otherSel.invalid && this.text() === otherSel.text();\n };\n selfn.addQuery = function(q) {\n this[this.length++] = q;\n };\n selfn.selector = selfn.toString;\n var elesfn$g = {\n allAre: function allAre(selector2) {\n var selObj = new Selector(selector2);\n return this.every(function(ele) {\n return selObj.matches(ele);\n });\n },\n is: function is(selector2) {\n var selObj = new Selector(selector2);\n return this.some(function(ele) {\n return selObj.matches(ele);\n });\n },\n some: function some(fn2, thisArg) {\n for (var i3 = 0; i3 < this.length; i3++) {\n var ret = !thisArg ? fn2(this[i3], i3, this) : fn2.apply(thisArg, [this[i3], i3, this]);\n if (ret) {\n return true;\n }\n }\n return false;\n },\n every: function every(fn2, thisArg) {\n for (var i3 = 0; i3 < this.length; i3++) {\n var ret = !thisArg ? fn2(this[i3], i3, this) : fn2.apply(thisArg, [this[i3], i3, this]);\n if (!ret) {\n return false;\n }\n }\n return true;\n },\n same: function same(collection2) {\n if (this === collection2) {\n return true;\n }\n collection2 = this.cy().collection(collection2);\n var thisLength = this.length;\n var collectionLength = collection2.length;\n if (thisLength !== collectionLength) {\n return false;\n }\n if (thisLength === 1) {\n return this[0] === collection2[0];\n }\n return this.every(function(ele) {\n return collection2.hasElementWithId(ele.id());\n });\n },\n anySame: function anySame(collection2) {\n collection2 = this.cy().collection(collection2);\n return this.some(function(ele) {\n return collection2.hasElementWithId(ele.id());\n });\n },\n allAreNeighbors: function allAreNeighbors(collection2) {\n collection2 = this.cy().collection(collection2);\n var nhood = this.neighborhood();\n return collection2.every(function(ele) {\n return nhood.hasElementWithId(ele.id());\n });\n },\n contains: function contains(collection2) {\n collection2 = this.cy().collection(collection2);\n var self2 = this;\n return collection2.every(function(ele) {\n return self2.hasElementWithId(ele.id());\n });\n }\n };\n elesfn$g.allAreNeighbours = elesfn$g.allAreNeighbors;\n elesfn$g.has = elesfn$g.contains;\n elesfn$g.equal = elesfn$g.equals = elesfn$g.same;\n var cache = function cache2(fn2, name2) {\n return function traversalCache(arg1, arg2, arg3, arg4) {\n var selectorOrEles = arg1;\n var eles = this;\n var key;\n if (selectorOrEles == null) {\n key = \"\";\n } else if (elementOrCollection(selectorOrEles) && selectorOrEles.length === 1) {\n key = selectorOrEles.id();\n }\n if (eles.length === 1 && key) {\n var _p = eles[0]._private;\n var tch = _p.traversalCache = _p.traversalCache || {};\n var ch = tch[name2] = tch[name2] || [];\n var hash = hashString(key);\n var cacheHit = ch[hash];\n if (cacheHit) {\n return cacheHit;\n } else {\n return ch[hash] = fn2.call(eles, arg1, arg2, arg3, arg4);\n }\n } else {\n return fn2.call(eles, arg1, arg2, arg3, arg4);\n }\n };\n };\n var elesfn$f = {\n parent: function parent(selector2) {\n var parents2 = [];\n if (this.length === 1) {\n var parent2 = this[0]._private.parent;\n if (parent2) {\n return parent2;\n }\n }\n for (var i3 = 0; i3 < this.length; i3++) {\n var ele = this[i3];\n var _parent = ele._private.parent;\n if (_parent) {\n parents2.push(_parent);\n }\n }\n return this.spawn(parents2, true).filter(selector2);\n },\n parents: function parents2(selector2) {\n var parents3 = [];\n var eles = this.parent();\n while (eles.nonempty()) {\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n parents3.push(ele);\n }\n eles = eles.parent();\n }\n return this.spawn(parents3, true).filter(selector2);\n },\n commonAncestors: function commonAncestors(selector2) {\n var ancestors;\n for (var i3 = 0; i3 < this.length; i3++) {\n var ele = this[i3];\n var parents2 = ele.parents();\n ancestors = ancestors || parents2;\n ancestors = ancestors.intersect(parents2);\n }\n return ancestors.filter(selector2);\n },\n orphans: function orphans(selector2) {\n return this.stdFilter(function(ele) {\n return ele.isOrphan();\n }).filter(selector2);\n },\n nonorphans: function nonorphans(selector2) {\n return this.stdFilter(function(ele) {\n return ele.isChild();\n }).filter(selector2);\n },\n children: cache(function(selector2) {\n var children2 = [];\n for (var i3 = 0; i3 < this.length; i3++) {\n var ele = this[i3];\n var eleChildren = ele._private.children;\n for (var j = 0; j < eleChildren.length; j++) {\n children2.push(eleChildren[j]);\n }\n }\n return this.spawn(children2, true).filter(selector2);\n }, \"children\"),\n siblings: function siblings(selector2) {\n return this.parent().children().not(this).filter(selector2);\n },\n isParent: function isParent() {\n var ele = this[0];\n if (ele) {\n return ele.isNode() && ele._private.children.length !== 0;\n }\n },\n isChildless: function isChildless() {\n var ele = this[0];\n if (ele) {\n return ele.isNode() && ele._private.children.length === 0;\n }\n },\n isChild: function isChild() {\n var ele = this[0];\n if (ele) {\n return ele.isNode() && ele._private.parent != null;\n }\n },\n isOrphan: function isOrphan() {\n var ele = this[0];\n if (ele) {\n return ele.isNode() && ele._private.parent == null;\n }\n },\n descendants: function descendants2(selector2) {\n var elements2 = [];\n function add(eles) {\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n elements2.push(ele);\n if (ele.children().nonempty()) {\n add(ele.children());\n }\n }\n }\n add(this.children());\n return this.spawn(elements2, true).filter(selector2);\n }\n };\n function forEachCompound(eles, fn2, includeSelf, recursiveStep) {\n var q = [];\n var did = new Set$12();\n var cy = eles.cy();\n var hasCompounds = cy.hasCompoundNodes();\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n if (includeSelf) {\n q.push(ele);\n } else if (hasCompounds) {\n recursiveStep(q, did, ele);\n }\n }\n while (q.length > 0) {\n var _ele = q.shift();\n fn2(_ele);\n did.add(_ele.id());\n if (hasCompounds) {\n recursiveStep(q, did, _ele);\n }\n }\n return eles;\n }\n function addChildren(q, did, ele) {\n if (ele.isParent()) {\n var children2 = ele._private.children;\n for (var i3 = 0; i3 < children2.length; i3++) {\n var child = children2[i3];\n if (!did.has(child.id())) {\n q.push(child);\n }\n }\n }\n }\n elesfn$f.forEachDown = function(fn2) {\n var includeSelf = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;\n return forEachCompound(this, fn2, includeSelf, addChildren);\n };\n function addParent(q, did, ele) {\n if (ele.isChild()) {\n var parent = ele._private.parent;\n if (!did.has(parent.id())) {\n q.push(parent);\n }\n }\n }\n elesfn$f.forEachUp = function(fn2) {\n var includeSelf = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;\n return forEachCompound(this, fn2, includeSelf, addParent);\n };\n function addParentAndChildren(q, did, ele) {\n addParent(q, did, ele);\n addChildren(q, did, ele);\n }\n elesfn$f.forEachUpAndDown = function(fn2) {\n var includeSelf = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;\n return forEachCompound(this, fn2, includeSelf, addParentAndChildren);\n };\n elesfn$f.ancestors = elesfn$f.parents;\n var fn$5, elesfn$e;\n fn$5 = elesfn$e = {\n data: define3.data({\n field: \"data\",\n bindingEvent: \"data\",\n allowBinding: true,\n allowSetting: true,\n settingEvent: \"data\",\n settingTriggersEvent: true,\n triggerFnName: \"trigger\",\n allowGetting: true,\n immutableKeys: {\n \"id\": true,\n \"source\": true,\n \"target\": true,\n \"parent\": true\n },\n updateStyle: true\n }),\n removeData: define3.removeData({\n field: \"data\",\n event: \"data\",\n triggerFnName: \"trigger\",\n triggerEvent: true,\n immutableKeys: {\n \"id\": true,\n \"source\": true,\n \"target\": true,\n \"parent\": true\n },\n updateStyle: true\n }),\n scratch: define3.data({\n field: \"scratch\",\n bindingEvent: \"scratch\",\n allowBinding: true,\n allowSetting: true,\n settingEvent: \"scratch\",\n settingTriggersEvent: true,\n triggerFnName: \"trigger\",\n allowGetting: true,\n updateStyle: true\n }),\n removeScratch: define3.removeData({\n field: \"scratch\",\n event: \"scratch\",\n triggerFnName: \"trigger\",\n triggerEvent: true,\n updateStyle: true\n }),\n rscratch: define3.data({\n field: \"rscratch\",\n allowBinding: false,\n allowSetting: true,\n settingTriggersEvent: false,\n allowGetting: true\n }),\n removeRscratch: define3.removeData({\n field: \"rscratch\",\n triggerEvent: false\n }),\n id: function id2() {\n var ele = this[0];\n if (ele) {\n return ele._private.data.id;\n }\n }\n };\n fn$5.attr = fn$5.data;\n fn$5.removeAttr = fn$5.removeData;\n var data = elesfn$e;\n var elesfn$d = {};\n function defineDegreeFunction(callback) {\n return function(includeLoops) {\n var self2 = this;\n if (includeLoops === void 0) {\n includeLoops = true;\n }\n if (self2.length === 0) {\n return;\n }\n if (self2.isNode() && !self2.removed()) {\n var degree = 0;\n var node2 = self2[0];\n var connectedEdges = node2._private.edges;\n for (var i3 = 0; i3 < connectedEdges.length; i3++) {\n var edge = connectedEdges[i3];\n if (!includeLoops && edge.isLoop()) {\n continue;\n }\n degree += callback(node2, edge);\n }\n return degree;\n } else {\n return;\n }\n };\n }\n extend2(elesfn$d, {\n degree: defineDegreeFunction(function(node2, edge) {\n if (edge.source().same(edge.target())) {\n return 2;\n } else {\n return 1;\n }\n }),\n indegree: defineDegreeFunction(function(node2, edge) {\n if (edge.target().same(node2)) {\n return 1;\n } else {\n return 0;\n }\n }),\n outdegree: defineDegreeFunction(function(node2, edge) {\n if (edge.source().same(node2)) {\n return 1;\n } else {\n return 0;\n }\n })\n });\n function defineDegreeBoundsFunction(degreeFn, callback) {\n return function(includeLoops) {\n var ret;\n var nodes2 = this.nodes();\n for (var i3 = 0; i3 < nodes2.length; i3++) {\n var ele = nodes2[i3];\n var degree = ele[degreeFn](includeLoops);\n if (degree !== void 0 && (ret === void 0 || callback(degree, ret))) {\n ret = degree;\n }\n }\n return ret;\n };\n }\n extend2(elesfn$d, {\n minDegree: defineDegreeBoundsFunction(\"degree\", function(degree, min3) {\n return degree < min3;\n }),\n maxDegree: defineDegreeBoundsFunction(\"degree\", function(degree, max3) {\n return degree > max3;\n }),\n minIndegree: defineDegreeBoundsFunction(\"indegree\", function(degree, min3) {\n return degree < min3;\n }),\n maxIndegree: defineDegreeBoundsFunction(\"indegree\", function(degree, max3) {\n return degree > max3;\n }),\n minOutdegree: defineDegreeBoundsFunction(\"outdegree\", function(degree, min3) {\n return degree < min3;\n }),\n maxOutdegree: defineDegreeBoundsFunction(\"outdegree\", function(degree, max3) {\n return degree > max3;\n })\n });\n extend2(elesfn$d, {\n totalDegree: function totalDegree(includeLoops) {\n var total = 0;\n var nodes2 = this.nodes();\n for (var i3 = 0; i3 < nodes2.length; i3++) {\n total += nodes2[i3].degree(includeLoops);\n }\n return total;\n }\n });\n var fn$4, elesfn$c;\n var beforePositionSet = function beforePositionSet2(eles, newPos, silent) {\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n if (!ele.locked()) {\n var oldPos = ele._private.position;\n var delta = {\n x: newPos.x != null ? newPos.x - oldPos.x : 0,\n y: newPos.y != null ? newPos.y - oldPos.y : 0\n };\n if (ele.isParent() && !(delta.x === 0 && delta.y === 0)) {\n ele.children().shift(delta, silent);\n }\n ele.dirtyBoundingBoxCache();\n }\n }\n };\n var positionDef = {\n field: \"position\",\n bindingEvent: \"position\",\n allowBinding: true,\n allowSetting: true,\n settingEvent: \"position\",\n settingTriggersEvent: true,\n triggerFnName: \"emitAndNotify\",\n allowGetting: true,\n validKeys: [\"x\", \"y\"],\n beforeGet: function beforeGet(ele) {\n ele.updateCompoundBounds();\n },\n beforeSet: function beforeSet(eles, newPos) {\n beforePositionSet(eles, newPos, false);\n },\n onSet: function onSet(eles) {\n eles.dirtyCompoundBoundsCache();\n },\n canSet: function canSet(ele) {\n return !ele.locked();\n }\n };\n fn$4 = elesfn$c = {\n position: define3.data(positionDef),\n // position but no notification to renderer\n silentPosition: define3.data(extend2({}, positionDef, {\n allowBinding: false,\n allowSetting: true,\n settingTriggersEvent: false,\n allowGetting: false,\n beforeSet: function beforeSet(eles, newPos) {\n beforePositionSet(eles, newPos, true);\n },\n onSet: function onSet(eles) {\n eles.dirtyCompoundBoundsCache();\n }\n })),\n positions: function positions(pos, silent) {\n if (plainObject(pos)) {\n if (silent) {\n this.silentPosition(pos);\n } else {\n this.position(pos);\n }\n } else if (fn$6(pos)) {\n var _fn = pos;\n var cy = this.cy();\n cy.startBatch();\n for (var i3 = 0; i3 < this.length; i3++) {\n var ele = this[i3];\n var _pos = void 0;\n if (_pos = _fn(ele, i3)) {\n if (silent) {\n ele.silentPosition(_pos);\n } else {\n ele.position(_pos);\n }\n }\n }\n cy.endBatch();\n }\n return this;\n },\n silentPositions: function silentPositions(pos) {\n return this.positions(pos, true);\n },\n shift: function shift(dim, val, silent) {\n var delta;\n if (plainObject(dim)) {\n delta = {\n x: number$12(dim.x) ? dim.x : 0,\n y: number$12(dim.y) ? dim.y : 0\n };\n silent = val;\n } else if (string(dim) && number$12(val)) {\n delta = {\n x: 0,\n y: 0\n };\n delta[dim] = val;\n }\n if (delta != null) {\n var cy = this.cy();\n cy.startBatch();\n for (var i3 = 0; i3 < this.length; i3++) {\n var ele = this[i3];\n if (cy.hasCompoundNodes() && ele.isChild() && ele.ancestors().anySame(this)) {\n continue;\n }\n var pos = ele.position();\n var newPos = {\n x: pos.x + delta.x,\n y: pos.y + delta.y\n };\n if (silent) {\n ele.silentPosition(newPos);\n } else {\n ele.position(newPos);\n }\n }\n cy.endBatch();\n }\n return this;\n },\n silentShift: function silentShift(dim, val) {\n if (plainObject(dim)) {\n this.shift(dim, true);\n } else if (string(dim) && number$12(val)) {\n this.shift(dim, val, true);\n }\n return this;\n },\n // get/set the rendered (i.e. on screen) positon of the element\n renderedPosition: function renderedPosition(dim, val) {\n var ele = this[0];\n var cy = this.cy();\n var zoom = cy.zoom();\n var pan = cy.pan();\n var rpos = plainObject(dim) ? dim : void 0;\n var setting = rpos !== void 0 || val !== void 0 && string(dim);\n if (ele && ele.isNode()) {\n if (setting) {\n for (var i3 = 0; i3 < this.length; i3++) {\n var _ele = this[i3];\n if (val !== void 0) {\n _ele.position(dim, (val - pan[dim]) / zoom);\n } else if (rpos !== void 0) {\n _ele.position(renderedToModelPosition(rpos, zoom, pan));\n }\n }\n } else {\n var pos = ele.position();\n rpos = modelToRenderedPosition(pos, zoom, pan);\n if (dim === void 0) {\n return rpos;\n } else {\n return rpos[dim];\n }\n }\n } else if (!setting) {\n return void 0;\n }\n return this;\n },\n // get/set the position relative to the parent\n relativePosition: function relativePosition(dim, val) {\n var ele = this[0];\n var cy = this.cy();\n var ppos = plainObject(dim) ? dim : void 0;\n var setting = ppos !== void 0 || val !== void 0 && string(dim);\n var hasCompoundNodes = cy.hasCompoundNodes();\n if (ele && ele.isNode()) {\n if (setting) {\n for (var i3 = 0; i3 < this.length; i3++) {\n var _ele2 = this[i3];\n var parent = hasCompoundNodes ? _ele2.parent() : null;\n var hasParent = parent && parent.length > 0;\n var relativeToParent = hasParent;\n if (hasParent) {\n parent = parent[0];\n }\n var origin = relativeToParent ? parent.position() : {\n x: 0,\n y: 0\n };\n if (val !== void 0) {\n _ele2.position(dim, val + origin[dim]);\n } else if (ppos !== void 0) {\n _ele2.position({\n x: ppos.x + origin.x,\n y: ppos.y + origin.y\n });\n }\n }\n } else {\n var pos = ele.position();\n var _parent = hasCompoundNodes ? ele.parent() : null;\n var _hasParent = _parent && _parent.length > 0;\n var _relativeToParent = _hasParent;\n if (_hasParent) {\n _parent = _parent[0];\n }\n var _origin = _relativeToParent ? _parent.position() : {\n x: 0,\n y: 0\n };\n ppos = {\n x: pos.x - _origin.x,\n y: pos.y - _origin.y\n };\n if (dim === void 0) {\n return ppos;\n } else {\n return ppos[dim];\n }\n }\n } else if (!setting) {\n return void 0;\n }\n return this;\n }\n };\n fn$4.modelPosition = fn$4.point = fn$4.position;\n fn$4.modelPositions = fn$4.points = fn$4.positions;\n fn$4.renderedPoint = fn$4.renderedPosition;\n fn$4.relativePoint = fn$4.relativePosition;\n var position2 = elesfn$c;\n var fn$3, elesfn$b;\n fn$3 = elesfn$b = {};\n elesfn$b.renderedBoundingBox = function(options2) {\n var bb = this.boundingBox(options2);\n var cy = this.cy();\n var zoom = cy.zoom();\n var pan = cy.pan();\n var x1 = bb.x1 * zoom + pan.x;\n var x2 = bb.x2 * zoom + pan.x;\n var y1 = bb.y1 * zoom + pan.y;\n var y2 = bb.y2 * zoom + pan.y;\n return {\n x1,\n x2,\n y1,\n y2,\n w: x2 - x1,\n h: y2 - y1\n };\n };\n elesfn$b.dirtyCompoundBoundsCache = function() {\n var silent = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false;\n var cy = this.cy();\n if (!cy.styleEnabled() || !cy.hasCompoundNodes()) {\n return this;\n }\n this.forEachUp(function(ele) {\n if (ele.isParent()) {\n var _p = ele._private;\n _p.compoundBoundsClean = false;\n _p.bbCache = null;\n if (!silent) {\n ele.emitAndNotify(\"bounds\");\n }\n }\n });\n return this;\n };\n elesfn$b.updateCompoundBounds = function() {\n var force = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false;\n var cy = this.cy();\n if (!cy.styleEnabled() || !cy.hasCompoundNodes()) {\n return this;\n }\n if (!force && cy.batching()) {\n return this;\n }\n function update2(parent) {\n if (!parent.isParent()) {\n return;\n }\n var _p2 = parent._private;\n var children2 = parent.children();\n var includeLabels = parent.pstyle(\"compound-sizing-wrt-labels\").value === \"include\";\n var min3 = {\n width: {\n val: parent.pstyle(\"min-width\").pfValue,\n left: parent.pstyle(\"min-width-bias-left\"),\n right: parent.pstyle(\"min-width-bias-right\")\n },\n height: {\n val: parent.pstyle(\"min-height\").pfValue,\n top: parent.pstyle(\"min-height-bias-top\"),\n bottom: parent.pstyle(\"min-height-bias-bottom\")\n }\n };\n var bb = children2.boundingBox({\n includeLabels,\n includeOverlays: false,\n // updating the compound bounds happens outside of the regular\n // cache cycle (i.e. before fired events)\n useCache: false\n });\n var pos = _p2.position;\n if (bb.w === 0 || bb.h === 0) {\n bb = {\n w: parent.pstyle(\"width\").pfValue,\n h: parent.pstyle(\"height\").pfValue\n };\n bb.x1 = pos.x - bb.w / 2;\n bb.x2 = pos.x + bb.w / 2;\n bb.y1 = pos.y - bb.h / 2;\n bb.y2 = pos.y + bb.h / 2;\n }\n function computeBiasValues(propDiff, propBias, propBiasComplement) {\n var biasDiff = 0;\n var biasComplementDiff = 0;\n var biasTotal = propBias + propBiasComplement;\n if (propDiff > 0 && biasTotal > 0) {\n biasDiff = propBias / biasTotal * propDiff;\n biasComplementDiff = propBiasComplement / biasTotal * propDiff;\n }\n return {\n biasDiff,\n biasComplementDiff\n };\n }\n function computePaddingValues(width2, height2, paddingObject, relativeTo) {\n if (paddingObject.units === \"%\") {\n switch (relativeTo) {\n case \"width\":\n return width2 > 0 ? paddingObject.pfValue * width2 : 0;\n case \"height\":\n return height2 > 0 ? paddingObject.pfValue * height2 : 0;\n case \"average\":\n return width2 > 0 && height2 > 0 ? paddingObject.pfValue * (width2 + height2) / 2 : 0;\n case \"min\":\n return width2 > 0 && height2 > 0 ? width2 > height2 ? paddingObject.pfValue * height2 : paddingObject.pfValue * width2 : 0;\n case \"max\":\n return width2 > 0 && height2 > 0 ? width2 > height2 ? paddingObject.pfValue * width2 : paddingObject.pfValue * height2 : 0;\n default:\n return 0;\n }\n } else if (paddingObject.units === \"px\") {\n return paddingObject.pfValue;\n } else {\n return 0;\n }\n }\n var leftVal = min3.width.left.value;\n if (min3.width.left.units === \"px\" && min3.width.val > 0) {\n leftVal = leftVal * 100 / min3.width.val;\n }\n var rightVal = min3.width.right.value;\n if (min3.width.right.units === \"px\" && min3.width.val > 0) {\n rightVal = rightVal * 100 / min3.width.val;\n }\n var topVal = min3.height.top.value;\n if (min3.height.top.units === \"px\" && min3.height.val > 0) {\n topVal = topVal * 100 / min3.height.val;\n }\n var bottomVal = min3.height.bottom.value;\n if (min3.height.bottom.units === \"px\" && min3.height.val > 0) {\n bottomVal = bottomVal * 100 / min3.height.val;\n }\n var widthBiasDiffs = computeBiasValues(min3.width.val - bb.w, leftVal, rightVal);\n var diffLeft = widthBiasDiffs.biasDiff;\n var diffRight = widthBiasDiffs.biasComplementDiff;\n var heightBiasDiffs = computeBiasValues(min3.height.val - bb.h, topVal, bottomVal);\n var diffTop = heightBiasDiffs.biasDiff;\n var diffBottom = heightBiasDiffs.biasComplementDiff;\n _p2.autoPadding = computePaddingValues(bb.w, bb.h, parent.pstyle(\"padding\"), parent.pstyle(\"padding-relative-to\").value);\n _p2.autoWidth = Math.max(bb.w, min3.width.val);\n pos.x = (-diffLeft + bb.x1 + bb.x2 + diffRight) / 2;\n _p2.autoHeight = Math.max(bb.h, min3.height.val);\n pos.y = (-diffTop + bb.y1 + bb.y2 + diffBottom) / 2;\n }\n for (var i3 = 0; i3 < this.length; i3++) {\n var ele = this[i3];\n var _p = ele._private;\n if (!_p.compoundBoundsClean || force) {\n update2(ele);\n if (!cy.batching()) {\n _p.compoundBoundsClean = true;\n }\n }\n }\n return this;\n };\n var noninf = function noninf2(x2) {\n if (x2 === Infinity || x2 === -Infinity) {\n return 0;\n }\n return x2;\n };\n var updateBounds = function updateBounds2(b, x1, y1, x2, y2) {\n if (x2 - x1 === 0 || y2 - y1 === 0) {\n return;\n }\n if (x1 == null || y1 == null || x2 == null || y2 == null) {\n return;\n }\n b.x1 = x1 < b.x1 ? x1 : b.x1;\n b.x2 = x2 > b.x2 ? x2 : b.x2;\n b.y1 = y1 < b.y1 ? y1 : b.y1;\n b.y2 = y2 > b.y2 ? y2 : b.y2;\n b.w = b.x2 - b.x1;\n b.h = b.y2 - b.y1;\n };\n var updateBoundsFromBox = function updateBoundsFromBox2(b, b2) {\n if (b2 == null) {\n return b;\n }\n return updateBounds(b, b2.x1, b2.y1, b2.x2, b2.y2);\n };\n var prefixedProperty = function prefixedProperty2(obj, field, prefix) {\n return getPrefixedProperty(obj, field, prefix);\n };\n var updateBoundsFromArrow = function updateBoundsFromArrow2(bounds3, ele, prefix) {\n if (ele.cy().headless()) {\n return;\n }\n var _p = ele._private;\n var rstyle = _p.rstyle;\n var halfArW = rstyle.arrowWidth / 2;\n var arrowType = ele.pstyle(prefix + \"-arrow-shape\").value;\n var x2;\n var y2;\n if (arrowType !== \"none\") {\n if (prefix === \"source\") {\n x2 = rstyle.srcX;\n y2 = rstyle.srcY;\n } else if (prefix === \"target\") {\n x2 = rstyle.tgtX;\n y2 = rstyle.tgtY;\n } else {\n x2 = rstyle.midX;\n y2 = rstyle.midY;\n }\n var bbs = _p.arrowBounds = _p.arrowBounds || {};\n var bb = bbs[prefix] = bbs[prefix] || {};\n bb.x1 = x2 - halfArW;\n bb.y1 = y2 - halfArW;\n bb.x2 = x2 + halfArW;\n bb.y2 = y2 + halfArW;\n bb.w = bb.x2 - bb.x1;\n bb.h = bb.y2 - bb.y1;\n expandBoundingBox(bb, 1);\n updateBounds(bounds3, bb.x1, bb.y1, bb.x2, bb.y2);\n }\n };\n var updateBoundsFromLabel = function updateBoundsFromLabel2(bounds3, ele, prefix) {\n if (ele.cy().headless()) {\n return;\n }\n var prefixDash;\n if (prefix) {\n prefixDash = prefix + \"-\";\n } else {\n prefixDash = \"\";\n }\n var _p = ele._private;\n var rstyle = _p.rstyle;\n var label = ele.pstyle(prefixDash + \"label\").strValue;\n if (label) {\n var halign = ele.pstyle(\"text-halign\");\n var valign = ele.pstyle(\"text-valign\");\n var labelWidth = prefixedProperty(rstyle, \"labelWidth\", prefix);\n var labelHeight = prefixedProperty(rstyle, \"labelHeight\", prefix);\n var labelX = prefixedProperty(rstyle, \"labelX\", prefix);\n var labelY = prefixedProperty(rstyle, \"labelY\", prefix);\n var marginX = ele.pstyle(prefixDash + \"text-margin-x\").pfValue;\n var marginY = ele.pstyle(prefixDash + \"text-margin-y\").pfValue;\n var isEdge = ele.isEdge();\n var rotation = ele.pstyle(prefixDash + \"text-rotation\");\n var outlineWidth = ele.pstyle(\"text-outline-width\").pfValue;\n var borderWidth = ele.pstyle(\"text-border-width\").pfValue;\n var halfBorderWidth = borderWidth / 2;\n var padding2 = ele.pstyle(\"text-background-padding\").pfValue;\n var marginOfError = 2;\n var lh = labelHeight;\n var lw = labelWidth;\n var lw_2 = lw / 2;\n var lh_2 = lh / 2;\n var lx1, lx2, ly1, ly2;\n if (isEdge) {\n lx1 = labelX - lw_2;\n lx2 = labelX + lw_2;\n ly1 = labelY - lh_2;\n ly2 = labelY + lh_2;\n } else {\n switch (halign.value) {\n case \"left\":\n lx1 = labelX - lw;\n lx2 = labelX;\n break;\n case \"center\":\n lx1 = labelX - lw_2;\n lx2 = labelX + lw_2;\n break;\n case \"right\":\n lx1 = labelX;\n lx2 = labelX + lw;\n break;\n }\n switch (valign.value) {\n case \"top\":\n ly1 = labelY - lh;\n ly2 = labelY;\n break;\n case \"center\":\n ly1 = labelY - lh_2;\n ly2 = labelY + lh_2;\n break;\n case \"bottom\":\n ly1 = labelY;\n ly2 = labelY + lh;\n break;\n }\n }\n lx1 += marginX - Math.max(outlineWidth, halfBorderWidth) - padding2 - marginOfError;\n lx2 += marginX + Math.max(outlineWidth, halfBorderWidth) + padding2 + marginOfError;\n ly1 += marginY - Math.max(outlineWidth, halfBorderWidth) - padding2 - marginOfError;\n ly2 += marginY + Math.max(outlineWidth, halfBorderWidth) + padding2 + marginOfError;\n var bbPrefix = prefix || \"main\";\n var bbs = _p.labelBounds;\n var bb = bbs[bbPrefix] = bbs[bbPrefix] || {};\n bb.x1 = lx1;\n bb.y1 = ly1;\n bb.x2 = lx2;\n bb.y2 = ly2;\n bb.w = lx2 - lx1;\n bb.h = ly2 - ly1;\n var isAutorotate = isEdge && rotation.strValue === \"autorotate\";\n var isPfValue = rotation.pfValue != null && rotation.pfValue !== 0;\n if (isAutorotate || isPfValue) {\n var theta = isAutorotate ? prefixedProperty(_p.rstyle, \"labelAngle\", prefix) : rotation.pfValue;\n var cos3 = Math.cos(theta);\n var sin3 = Math.sin(theta);\n var xo = (lx1 + lx2) / 2;\n var yo = (ly1 + ly2) / 2;\n if (!isEdge) {\n switch (halign.value) {\n case \"left\":\n xo = lx2;\n break;\n case \"right\":\n xo = lx1;\n break;\n }\n switch (valign.value) {\n case \"top\":\n yo = ly2;\n break;\n case \"bottom\":\n yo = ly1;\n break;\n }\n }\n var rotate = function rotate2(x2, y2) {\n x2 = x2 - xo;\n y2 = y2 - yo;\n return {\n x: x2 * cos3 - y2 * sin3 + xo,\n y: x2 * sin3 + y2 * cos3 + yo\n };\n };\n var px1y1 = rotate(lx1, ly1);\n var px1y2 = rotate(lx1, ly2);\n var px2y1 = rotate(lx2, ly1);\n var px2y2 = rotate(lx2, ly2);\n lx1 = Math.min(px1y1.x, px1y2.x, px2y1.x, px2y2.x);\n lx2 = Math.max(px1y1.x, px1y2.x, px2y1.x, px2y2.x);\n ly1 = Math.min(px1y1.y, px1y2.y, px2y1.y, px2y2.y);\n ly2 = Math.max(px1y1.y, px1y2.y, px2y1.y, px2y2.y);\n }\n var bbPrefixRot = bbPrefix + \"Rot\";\n var bbRot = bbs[bbPrefixRot] = bbs[bbPrefixRot] || {};\n bbRot.x1 = lx1;\n bbRot.y1 = ly1;\n bbRot.x2 = lx2;\n bbRot.y2 = ly2;\n bbRot.w = lx2 - lx1;\n bbRot.h = ly2 - ly1;\n updateBounds(bounds3, lx1, ly1, lx2, ly2);\n updateBounds(_p.labelBounds.all, lx1, ly1, lx2, ly2);\n }\n return bounds3;\n };\n var boundingBoxImpl = function boundingBoxImpl2(ele, options2) {\n var cy = ele._private.cy;\n var styleEnabled = cy.styleEnabled();\n var headless = cy.headless();\n var bounds3 = makeBoundingBox();\n var _p = ele._private;\n var isNode = ele.isNode();\n var isEdge = ele.isEdge();\n var ex1, ex2, ey1, ey2;\n var x2, y2;\n var rstyle = _p.rstyle;\n var manualExpansion = isNode && styleEnabled ? ele.pstyle(\"bounds-expansion\").pfValue : [0];\n var isDisplayed = function isDisplayed2(ele2) {\n return ele2.pstyle(\"display\").value !== \"none\";\n };\n var displayed = !styleEnabled || isDisplayed(ele) && (!isEdge || isDisplayed(ele.source()) && isDisplayed(ele.target()));\n if (displayed) {\n var overlayOpacity = 0;\n var overlayPadding = 0;\n if (styleEnabled && options2.includeOverlays) {\n overlayOpacity = ele.pstyle(\"overlay-opacity\").value;\n if (overlayOpacity !== 0) {\n overlayPadding = ele.pstyle(\"overlay-padding\").value;\n }\n }\n var underlayOpacity = 0;\n var underlayPadding = 0;\n if (styleEnabled && options2.includeUnderlays) {\n underlayOpacity = ele.pstyle(\"underlay-opacity\").value;\n if (underlayOpacity !== 0) {\n underlayPadding = ele.pstyle(\"underlay-padding\").value;\n }\n }\n var padding2 = Math.max(overlayPadding, underlayPadding);\n var w2 = 0;\n var wHalf = 0;\n if (styleEnabled) {\n w2 = ele.pstyle(\"width\").pfValue;\n wHalf = w2 / 2;\n }\n if (isNode && options2.includeNodes) {\n var pos = ele.position();\n x2 = pos.x;\n y2 = pos.y;\n var _w = ele.outerWidth();\n var halfW = _w / 2;\n var h = ele.outerHeight();\n var halfH = h / 2;\n ex1 = x2 - halfW;\n ex2 = x2 + halfW;\n ey1 = y2 - halfH;\n ey2 = y2 + halfH;\n updateBounds(bounds3, ex1, ey1, ex2, ey2);\n } else if (isEdge && options2.includeEdges) {\n if (styleEnabled && !headless) {\n var curveStyle = ele.pstyle(\"curve-style\").strValue;\n ex1 = Math.min(rstyle.srcX, rstyle.midX, rstyle.tgtX);\n ex2 = Math.max(rstyle.srcX, rstyle.midX, rstyle.tgtX);\n ey1 = Math.min(rstyle.srcY, rstyle.midY, rstyle.tgtY);\n ey2 = Math.max(rstyle.srcY, rstyle.midY, rstyle.tgtY);\n ex1 -= wHalf;\n ex2 += wHalf;\n ey1 -= wHalf;\n ey2 += wHalf;\n updateBounds(bounds3, ex1, ey1, ex2, ey2);\n if (curveStyle === \"haystack\") {\n var hpts = rstyle.haystackPts;\n if (hpts && hpts.length === 2) {\n ex1 = hpts[0].x;\n ey1 = hpts[0].y;\n ex2 = hpts[1].x;\n ey2 = hpts[1].y;\n if (ex1 > ex2) {\n var temp = ex1;\n ex1 = ex2;\n ex2 = temp;\n }\n if (ey1 > ey2) {\n var _temp = ey1;\n ey1 = ey2;\n ey2 = _temp;\n }\n updateBounds(bounds3, ex1 - wHalf, ey1 - wHalf, ex2 + wHalf, ey2 + wHalf);\n }\n } else if (curveStyle === \"bezier\" || curveStyle === \"unbundled-bezier\" || curveStyle === \"segments\" || curveStyle === \"taxi\") {\n var pts2;\n switch (curveStyle) {\n case \"bezier\":\n case \"unbundled-bezier\":\n pts2 = rstyle.bezierPts;\n break;\n case \"segments\":\n case \"taxi\":\n pts2 = rstyle.linePts;\n break;\n }\n if (pts2 != null) {\n for (var j = 0; j < pts2.length; j++) {\n var pt = pts2[j];\n ex1 = pt.x - wHalf;\n ex2 = pt.x + wHalf;\n ey1 = pt.y - wHalf;\n ey2 = pt.y + wHalf;\n updateBounds(bounds3, ex1, ey1, ex2, ey2);\n }\n }\n }\n } else {\n var n1 = ele.source();\n var n1pos = n1.position();\n var n2 = ele.target();\n var n2pos = n2.position();\n ex1 = n1pos.x;\n ex2 = n2pos.x;\n ey1 = n1pos.y;\n ey2 = n2pos.y;\n if (ex1 > ex2) {\n var _temp2 = ex1;\n ex1 = ex2;\n ex2 = _temp2;\n }\n if (ey1 > ey2) {\n var _temp3 = ey1;\n ey1 = ey2;\n ey2 = _temp3;\n }\n ex1 -= wHalf;\n ex2 += wHalf;\n ey1 -= wHalf;\n ey2 += wHalf;\n updateBounds(bounds3, ex1, ey1, ex2, ey2);\n }\n }\n if (styleEnabled && options2.includeEdges && isEdge) {\n updateBoundsFromArrow(bounds3, ele, \"mid-source\");\n updateBoundsFromArrow(bounds3, ele, \"mid-target\");\n updateBoundsFromArrow(bounds3, ele, \"source\");\n updateBoundsFromArrow(bounds3, ele, \"target\");\n }\n if (styleEnabled) {\n var ghost = ele.pstyle(\"ghost\").value === \"yes\";\n if (ghost) {\n var gx = ele.pstyle(\"ghost-offset-x\").pfValue;\n var gy = ele.pstyle(\"ghost-offset-y\").pfValue;\n updateBounds(bounds3, bounds3.x1 + gx, bounds3.y1 + gy, bounds3.x2 + gx, bounds3.y2 + gy);\n }\n }\n var bbBody = _p.bodyBounds = _p.bodyBounds || {};\n assignBoundingBox(bbBody, bounds3);\n expandBoundingBoxSides(bbBody, manualExpansion);\n expandBoundingBox(bbBody, 1);\n if (styleEnabled) {\n ex1 = bounds3.x1;\n ex2 = bounds3.x2;\n ey1 = bounds3.y1;\n ey2 = bounds3.y2;\n updateBounds(bounds3, ex1 - padding2, ey1 - padding2, ex2 + padding2, ey2 + padding2);\n }\n var bbOverlay = _p.overlayBounds = _p.overlayBounds || {};\n assignBoundingBox(bbOverlay, bounds3);\n expandBoundingBoxSides(bbOverlay, manualExpansion);\n expandBoundingBox(bbOverlay, 1);\n var bbLabels = _p.labelBounds = _p.labelBounds || {};\n if (bbLabels.all != null) {\n clearBoundingBox(bbLabels.all);\n } else {\n bbLabels.all = makeBoundingBox();\n }\n if (styleEnabled && options2.includeLabels) {\n if (options2.includeMainLabels) {\n updateBoundsFromLabel(bounds3, ele, null);\n }\n if (isEdge) {\n if (options2.includeSourceLabels) {\n updateBoundsFromLabel(bounds3, ele, \"source\");\n }\n if (options2.includeTargetLabels) {\n updateBoundsFromLabel(bounds3, ele, \"target\");\n }\n }\n }\n }\n bounds3.x1 = noninf(bounds3.x1);\n bounds3.y1 = noninf(bounds3.y1);\n bounds3.x2 = noninf(bounds3.x2);\n bounds3.y2 = noninf(bounds3.y2);\n bounds3.w = noninf(bounds3.x2 - bounds3.x1);\n bounds3.h = noninf(bounds3.y2 - bounds3.y1);\n if (bounds3.w > 0 && bounds3.h > 0 && displayed) {\n expandBoundingBoxSides(bounds3, manualExpansion);\n expandBoundingBox(bounds3, 1);\n }\n return bounds3;\n };\n var getKey = function getKey2(opts) {\n var i3 = 0;\n var tf = function tf2(val) {\n return (val ? 1 : 0) << i3++;\n };\n var key = 0;\n key += tf(opts.incudeNodes);\n key += tf(opts.includeEdges);\n key += tf(opts.includeLabels);\n key += tf(opts.includeMainLabels);\n key += tf(opts.includeSourceLabels);\n key += tf(opts.includeTargetLabels);\n key += tf(opts.includeOverlays);\n return key;\n };\n var getBoundingBoxPosKey = function getBoundingBoxPosKey2(ele) {\n if (ele.isEdge()) {\n var p1 = ele.source().position();\n var p2 = ele.target().position();\n var r = function r2(x2) {\n return Math.round(x2);\n };\n return hashIntsArray([r(p1.x), r(p1.y), r(p2.x), r(p2.y)]);\n } else {\n return 0;\n }\n };\n var cachedBoundingBoxImpl = function cachedBoundingBoxImpl2(ele, opts) {\n var _p = ele._private;\n var bb;\n var isEdge = ele.isEdge();\n var key = opts == null ? defBbOptsKey : getKey(opts);\n var usingDefOpts = key === defBbOptsKey;\n var currPosKey = getBoundingBoxPosKey(ele);\n var isPosKeySame = _p.bbCachePosKey === currPosKey;\n var useCache = opts.useCache && isPosKeySame;\n var isDirty = function isDirty2(ele2) {\n return ele2._private.bbCache == null || ele2._private.styleDirty;\n };\n var needRecalc = !useCache || isDirty(ele) || isEdge && isDirty(ele.source()) || isDirty(ele.target());\n if (needRecalc) {\n if (!isPosKeySame) {\n ele.recalculateRenderedStyle(useCache);\n }\n bb = boundingBoxImpl(ele, defBbOpts);\n _p.bbCache = bb;\n _p.bbCachePosKey = currPosKey;\n } else {\n bb = _p.bbCache;\n }\n if (!usingDefOpts) {\n var isNode = ele.isNode();\n bb = makeBoundingBox();\n if (opts.includeNodes && isNode || opts.includeEdges && !isNode) {\n if (opts.includeOverlays) {\n updateBoundsFromBox(bb, _p.overlayBounds);\n } else {\n updateBoundsFromBox(bb, _p.bodyBounds);\n }\n }\n if (opts.includeLabels) {\n if (opts.includeMainLabels && (!isEdge || opts.includeSourceLabels && opts.includeTargetLabels)) {\n updateBoundsFromBox(bb, _p.labelBounds.all);\n } else {\n if (opts.includeMainLabels) {\n updateBoundsFromBox(bb, _p.labelBounds.mainRot);\n }\n if (opts.includeSourceLabels) {\n updateBoundsFromBox(bb, _p.labelBounds.sourceRot);\n }\n if (opts.includeTargetLabels) {\n updateBoundsFromBox(bb, _p.labelBounds.targetRot);\n }\n }\n }\n bb.w = bb.x2 - bb.x1;\n bb.h = bb.y2 - bb.y1;\n }\n return bb;\n };\n var defBbOpts = {\n includeNodes: true,\n includeEdges: true,\n includeLabels: true,\n includeMainLabels: true,\n includeSourceLabels: true,\n includeTargetLabels: true,\n includeOverlays: true,\n includeUnderlays: true,\n useCache: true\n };\n var defBbOptsKey = getKey(defBbOpts);\n var filledBbOpts = defaults$g(defBbOpts);\n elesfn$b.boundingBox = function(options2) {\n var bounds3;\n if (this.length === 1 && this[0]._private.bbCache != null && !this[0]._private.styleDirty && (options2 === void 0 || options2.useCache === void 0 || options2.useCache === true)) {\n if (options2 === void 0) {\n options2 = defBbOpts;\n } else {\n options2 = filledBbOpts(options2);\n }\n bounds3 = cachedBoundingBoxImpl(this[0], options2);\n } else {\n bounds3 = makeBoundingBox();\n options2 = options2 || defBbOpts;\n var opts = filledBbOpts(options2);\n var eles = this;\n var cy = eles.cy();\n var styleEnabled = cy.styleEnabled();\n if (styleEnabled) {\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n var _p = ele._private;\n var currPosKey = getBoundingBoxPosKey(ele);\n var isPosKeySame = _p.bbCachePosKey === currPosKey;\n var useCache = opts.useCache && isPosKeySame && !_p.styleDirty;\n ele.recalculateRenderedStyle(useCache);\n }\n }\n this.updateCompoundBounds(!options2.useCache);\n for (var _i = 0; _i < eles.length; _i++) {\n var _ele = eles[_i];\n updateBoundsFromBox(bounds3, cachedBoundingBoxImpl(_ele, opts));\n }\n }\n bounds3.x1 = noninf(bounds3.x1);\n bounds3.y1 = noninf(bounds3.y1);\n bounds3.x2 = noninf(bounds3.x2);\n bounds3.y2 = noninf(bounds3.y2);\n bounds3.w = noninf(bounds3.x2 - bounds3.x1);\n bounds3.h = noninf(bounds3.y2 - bounds3.y1);\n return bounds3;\n };\n elesfn$b.dirtyBoundingBoxCache = function() {\n for (var i3 = 0; i3 < this.length; i3++) {\n var _p = this[i3]._private;\n _p.bbCache = null;\n _p.bbCachePosKey = null;\n _p.bodyBounds = null;\n _p.overlayBounds = null;\n _p.labelBounds.all = null;\n _p.labelBounds.source = null;\n _p.labelBounds.target = null;\n _p.labelBounds.main = null;\n _p.labelBounds.sourceRot = null;\n _p.labelBounds.targetRot = null;\n _p.labelBounds.mainRot = null;\n _p.arrowBounds.source = null;\n _p.arrowBounds.target = null;\n _p.arrowBounds[\"mid-source\"] = null;\n _p.arrowBounds[\"mid-target\"] = null;\n }\n this.emitAndNotify(\"bounds\");\n return this;\n };\n elesfn$b.boundingBoxAt = function(fn2) {\n var nodes2 = this.nodes();\n var cy = this.cy();\n var hasCompoundNodes = cy.hasCompoundNodes();\n var parents2 = cy.collection();\n if (hasCompoundNodes) {\n parents2 = nodes2.filter(function(node2) {\n return node2.isParent();\n });\n nodes2 = nodes2.not(parents2);\n }\n if (plainObject(fn2)) {\n var obj = fn2;\n fn2 = function fn3() {\n return obj;\n };\n }\n var storeOldPos = function storeOldPos2(node2, i3) {\n return node2._private.bbAtOldPos = fn2(node2, i3);\n };\n var getOldPos = function getOldPos2(node2) {\n return node2._private.bbAtOldPos;\n };\n cy.startBatch();\n nodes2.forEach(storeOldPos).silentPositions(fn2);\n if (hasCompoundNodes) {\n parents2.dirtyCompoundBoundsCache();\n parents2.dirtyBoundingBoxCache();\n parents2.updateCompoundBounds(true);\n }\n var bb = copyBoundingBox(this.boundingBox({\n useCache: false\n }));\n nodes2.silentPositions(getOldPos);\n if (hasCompoundNodes) {\n parents2.dirtyCompoundBoundsCache();\n parents2.dirtyBoundingBoxCache();\n parents2.updateCompoundBounds(true);\n }\n cy.endBatch();\n return bb;\n };\n fn$3.boundingbox = fn$3.bb = fn$3.boundingBox;\n fn$3.renderedBoundingbox = fn$3.renderedBoundingBox;\n var bounds2 = elesfn$b;\n var fn$2, elesfn$a;\n fn$2 = elesfn$a = {};\n var defineDimFns = function defineDimFns2(opts) {\n opts.uppercaseName = capitalize(opts.name);\n opts.autoName = \"auto\" + opts.uppercaseName;\n opts.labelName = \"label\" + opts.uppercaseName;\n opts.outerName = \"outer\" + opts.uppercaseName;\n opts.uppercaseOuterName = capitalize(opts.outerName);\n fn$2[opts.name] = function dimImpl() {\n var ele = this[0];\n var _p = ele._private;\n var cy = _p.cy;\n var styleEnabled = cy._private.styleEnabled;\n if (ele) {\n if (styleEnabled) {\n if (ele.isParent()) {\n ele.updateCompoundBounds();\n return _p[opts.autoName] || 0;\n }\n var d = ele.pstyle(opts.name);\n switch (d.strValue) {\n case \"label\":\n ele.recalculateRenderedStyle();\n return _p.rstyle[opts.labelName] || 0;\n default:\n return d.pfValue;\n }\n } else {\n return 1;\n }\n }\n };\n fn$2[\"outer\" + opts.uppercaseName] = function outerDimImpl() {\n var ele = this[0];\n var _p = ele._private;\n var cy = _p.cy;\n var styleEnabled = cy._private.styleEnabled;\n if (ele) {\n if (styleEnabled) {\n var dim = ele[opts.name]();\n var border = ele.pstyle(\"border-width\").pfValue;\n var padding2 = 2 * ele.padding();\n return dim + border + padding2;\n } else {\n return 1;\n }\n }\n };\n fn$2[\"rendered\" + opts.uppercaseName] = function renderedDimImpl() {\n var ele = this[0];\n if (ele) {\n var d = ele[opts.name]();\n return d * this.cy().zoom();\n }\n };\n fn$2[\"rendered\" + opts.uppercaseOuterName] = function renderedOuterDimImpl() {\n var ele = this[0];\n if (ele) {\n var od = ele[opts.outerName]();\n return od * this.cy().zoom();\n }\n };\n };\n defineDimFns({\n name: \"width\"\n });\n defineDimFns({\n name: \"height\"\n });\n elesfn$a.padding = function() {\n var ele = this[0];\n var _p = ele._private;\n if (ele.isParent()) {\n ele.updateCompoundBounds();\n if (_p.autoPadding !== void 0) {\n return _p.autoPadding;\n } else {\n return ele.pstyle(\"padding\").pfValue;\n }\n } else {\n return ele.pstyle(\"padding\").pfValue;\n }\n };\n elesfn$a.paddedHeight = function() {\n var ele = this[0];\n return ele.height() + 2 * ele.padding();\n };\n elesfn$a.paddedWidth = function() {\n var ele = this[0];\n return ele.width() + 2 * ele.padding();\n };\n var widthHeight = elesfn$a;\n var ifEdge = function ifEdge2(ele, getValue3) {\n if (ele.isEdge()) {\n return getValue3(ele);\n }\n };\n var ifEdgeRenderedPosition = function ifEdgeRenderedPosition2(ele, getPoint) {\n if (ele.isEdge()) {\n var cy = ele.cy();\n return modelToRenderedPosition(getPoint(ele), cy.zoom(), cy.pan());\n }\n };\n var ifEdgeRenderedPositions = function ifEdgeRenderedPositions2(ele, getPoints) {\n if (ele.isEdge()) {\n var cy = ele.cy();\n var pan = cy.pan();\n var zoom = cy.zoom();\n return getPoints(ele).map(function(p2) {\n return modelToRenderedPosition(p2, zoom, pan);\n });\n }\n };\n var controlPoints2 = function controlPoints3(ele) {\n return ele.renderer().getControlPoints(ele);\n };\n var segmentPoints = function segmentPoints2(ele) {\n return ele.renderer().getSegmentPoints(ele);\n };\n var sourceEndpoint = function sourceEndpoint2(ele) {\n return ele.renderer().getSourceEndpoint(ele);\n };\n var targetEndpoint = function targetEndpoint2(ele) {\n return ele.renderer().getTargetEndpoint(ele);\n };\n var midpoint = function midpoint2(ele) {\n return ele.renderer().getEdgeMidpoint(ele);\n };\n var pts = {\n controlPoints: {\n get: controlPoints2,\n mult: true\n },\n segmentPoints: {\n get: segmentPoints,\n mult: true\n },\n sourceEndpoint: {\n get: sourceEndpoint\n },\n targetEndpoint: {\n get: targetEndpoint\n },\n midpoint: {\n get: midpoint\n }\n };\n var renderedName = function renderedName2(name2) {\n return \"rendered\" + name2[0].toUpperCase() + name2.substr(1);\n };\n var edgePoints = Object.keys(pts).reduce(function(obj, name2) {\n var spec = pts[name2];\n var rName = renderedName(name2);\n obj[name2] = function() {\n return ifEdge(this, spec.get);\n };\n if (spec.mult) {\n obj[rName] = function() {\n return ifEdgeRenderedPositions(this, spec.get);\n };\n } else {\n obj[rName] = function() {\n return ifEdgeRenderedPosition(this, spec.get);\n };\n }\n return obj;\n }, {});\n var dimensions = extend2({}, position2, bounds2, widthHeight, edgePoints);\n /*!\n \t Event object based on jQuery events, MIT license\n \n \t https://jquery.org/license/\n \t https://tldrlegal.com/license/mit-license\n \t https://github.com/jquery/jquery/blob/master/src/event.js\n \t */\n var Event = function Event2(src, props) {\n this.recycle(src, props);\n };\n function returnFalse() {\n return false;\n }\n function returnTrue() {\n return true;\n }\n Event.prototype = {\n instanceString: function instanceString() {\n return \"event\";\n },\n recycle: function recycle(src, props) {\n this.isImmediatePropagationStopped = this.isPropagationStopped = this.isDefaultPrevented = returnFalse;\n if (src != null && src.preventDefault) {\n this.type = src.type;\n this.isDefaultPrevented = src.defaultPrevented ? returnTrue : returnFalse;\n } else if (src != null && src.type) {\n props = src;\n } else {\n this.type = src;\n }\n if (props != null) {\n this.originalEvent = props.originalEvent;\n this.type = props.type != null ? props.type : this.type;\n this.cy = props.cy;\n this.target = props.target;\n this.position = props.position;\n this.renderedPosition = props.renderedPosition;\n this.namespace = props.namespace;\n this.layout = props.layout;\n }\n if (this.cy != null && this.position != null && this.renderedPosition == null) {\n var pos = this.position;\n var zoom = this.cy.zoom();\n var pan = this.cy.pan();\n this.renderedPosition = {\n x: pos.x * zoom + pan.x,\n y: pos.y * zoom + pan.y\n };\n }\n this.timeStamp = src && src.timeStamp || Date.now();\n },\n preventDefault: function preventDefault() {\n this.isDefaultPrevented = returnTrue;\n var e = this.originalEvent;\n if (!e) {\n return;\n }\n if (e.preventDefault) {\n e.preventDefault();\n }\n },\n stopPropagation: function stopPropagation() {\n this.isPropagationStopped = returnTrue;\n var e = this.originalEvent;\n if (!e) {\n return;\n }\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n },\n stopImmediatePropagation: function stopImmediatePropagation() {\n this.isImmediatePropagationStopped = returnTrue;\n this.stopPropagation();\n },\n isDefaultPrevented: returnFalse,\n isPropagationStopped: returnFalse,\n isImmediatePropagationStopped: returnFalse\n };\n var eventRegex = /^([^.]+)(\\.(?:[^.]+))?$/;\n var universalNamespace = \".*\";\n var defaults$8 = {\n qualifierCompare: function qualifierCompare(q1, q2) {\n return q1 === q2;\n },\n eventMatches: function eventMatches() {\n return true;\n },\n addEventFields: function addEventFields() {\n },\n callbackContext: function callbackContext(context) {\n return context;\n },\n beforeEmit: function beforeEmit() {\n },\n afterEmit: function afterEmit() {\n },\n bubble: function bubble() {\n return false;\n },\n parent: function parent() {\n return null;\n },\n context: null\n };\n var defaultsKeys = Object.keys(defaults$8);\n var emptyOpts = {};\n function Emitter() {\n var opts = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : emptyOpts;\n var context = arguments.length > 1 ? arguments[1] : void 0;\n for (var i3 = 0; i3 < defaultsKeys.length; i3++) {\n var key = defaultsKeys[i3];\n this[key] = opts[key] || defaults$8[key];\n }\n this.context = context || this.context;\n this.listeners = [];\n this.emitting = 0;\n }\n var p = Emitter.prototype;\n var forEachEvent = function forEachEvent2(self2, handler, events, qualifier, callback, conf2, confOverrides) {\n if (fn$6(qualifier)) {\n callback = qualifier;\n qualifier = null;\n }\n if (confOverrides) {\n if (conf2 == null) {\n conf2 = confOverrides;\n } else {\n conf2 = extend2({}, conf2, confOverrides);\n }\n }\n var eventList = array2(events) ? events : events.split(/\\s+/);\n for (var i3 = 0; i3 < eventList.length; i3++) {\n var evt = eventList[i3];\n if (emptyString(evt)) {\n continue;\n }\n var match2 = evt.match(eventRegex);\n if (match2) {\n var type2 = match2[1];\n var namespace2 = match2[2] ? match2[2] : null;\n var ret = handler(self2, evt, type2, namespace2, qualifier, callback, conf2);\n if (ret === false) {\n break;\n }\n }\n }\n };\n var makeEventObj = function makeEventObj2(self2, obj) {\n self2.addEventFields(self2.context, obj);\n return new Event(obj.type, obj);\n };\n var forEachEventObj = function forEachEventObj2(self2, handler, events) {\n if (event(events)) {\n handler(self2, events);\n return;\n } else if (plainObject(events)) {\n handler(self2, makeEventObj(self2, events));\n return;\n }\n var eventList = array2(events) ? events : events.split(/\\s+/);\n for (var i3 = 0; i3 < eventList.length; i3++) {\n var evt = eventList[i3];\n if (emptyString(evt)) {\n continue;\n }\n var match2 = evt.match(eventRegex);\n if (match2) {\n var type2 = match2[1];\n var namespace2 = match2[2] ? match2[2] : null;\n var eventObj = makeEventObj(self2, {\n type: type2,\n namespace: namespace2,\n target: self2.context\n });\n handler(self2, eventObj);\n }\n }\n };\n p.on = p.addListener = function(events, qualifier, callback, conf2, confOverrides) {\n forEachEvent(this, function(self2, event2, type2, namespace2, qualifier2, callback2, conf3) {\n if (fn$6(callback2)) {\n self2.listeners.push({\n event: event2,\n // full event string\n callback: callback2,\n // callback to run\n type: type2,\n // the event type (e.g. 'click')\n namespace: namespace2,\n // the event namespace (e.g. \".foo\")\n qualifier: qualifier2,\n // a restriction on whether to match this emitter\n conf: conf3\n // additional configuration\n });\n }\n }, events, qualifier, callback, conf2, confOverrides);\n return this;\n };\n p.one = function(events, qualifier, callback, conf2) {\n return this.on(events, qualifier, callback, conf2, {\n one: true\n });\n };\n p.removeListener = p.off = function(events, qualifier, callback, conf2) {\n var _this = this;\n if (this.emitting !== 0) {\n this.listeners = copyArray$1(this.listeners);\n }\n var listeners = this.listeners;\n var _loop = function _loop2(i4) {\n var listener = listeners[i4];\n forEachEvent(_this, function(self2, event2, type2, namespace2, qualifier2, callback2) {\n if ((listener.type === type2 || events === \"*\") && (!namespace2 && listener.namespace !== \".*\" || listener.namespace === namespace2) && (!qualifier2 || self2.qualifierCompare(listener.qualifier, qualifier2)) && (!callback2 || listener.callback === callback2)) {\n listeners.splice(i4, 1);\n return false;\n }\n }, events, qualifier, callback, conf2);\n };\n for (var i3 = listeners.length - 1; i3 >= 0; i3--) {\n _loop(i3);\n }\n return this;\n };\n p.removeAllListeners = function() {\n return this.removeListener(\"*\");\n };\n p.emit = p.trigger = function(events, extraParams, manualCallback) {\n var listeners = this.listeners;\n var numListenersBeforeEmit = listeners.length;\n this.emitting++;\n if (!array2(extraParams)) {\n extraParams = [extraParams];\n }\n forEachEventObj(this, function(self2, eventObj) {\n if (manualCallback != null) {\n listeners = [{\n event: eventObj.event,\n type: eventObj.type,\n namespace: eventObj.namespace,\n callback: manualCallback\n }];\n numListenersBeforeEmit = listeners.length;\n }\n var _loop2 = function _loop22(i4) {\n var listener = listeners[i4];\n if (listener.type === eventObj.type && (!listener.namespace || listener.namespace === eventObj.namespace || listener.namespace === universalNamespace) && self2.eventMatches(self2.context, listener, eventObj)) {\n var args = [eventObj];\n if (extraParams != null) {\n push(args, extraParams);\n }\n self2.beforeEmit(self2.context, listener, eventObj);\n if (listener.conf && listener.conf.one) {\n self2.listeners = self2.listeners.filter(function(l) {\n return l !== listener;\n });\n }\n var context = self2.callbackContext(self2.context, listener, eventObj);\n var ret = listener.callback.apply(context, args);\n self2.afterEmit(self2.context, listener, eventObj);\n if (ret === false) {\n eventObj.stopPropagation();\n eventObj.preventDefault();\n }\n }\n };\n for (var i3 = 0; i3 < numListenersBeforeEmit; i3++) {\n _loop2(i3);\n }\n if (self2.bubble(self2.context) && !eventObj.isPropagationStopped()) {\n self2.parent(self2.context).emit(eventObj, extraParams);\n }\n }, events);\n this.emitting--;\n return this;\n };\n var emitterOptions$1 = {\n qualifierCompare: function qualifierCompare(selector1, selector2) {\n if (selector1 == null || selector2 == null) {\n return selector1 == null && selector2 == null;\n } else {\n return selector1.sameText(selector2);\n }\n },\n eventMatches: function eventMatches(ele, listener, eventObj) {\n var selector2 = listener.qualifier;\n if (selector2 != null) {\n return ele !== eventObj.target && element(eventObj.target) && selector2.matches(eventObj.target);\n }\n return true;\n },\n addEventFields: function addEventFields(ele, evt) {\n evt.cy = ele.cy();\n evt.target = ele;\n },\n callbackContext: function callbackContext(ele, listener, eventObj) {\n return listener.qualifier != null ? eventObj.target : ele;\n },\n beforeEmit: function beforeEmit(context, listener) {\n if (listener.conf && listener.conf.once) {\n listener.conf.onceCollection.removeListener(listener.event, listener.qualifier, listener.callback);\n }\n },\n bubble: function bubble() {\n return true;\n },\n parent: function parent(ele) {\n return ele.isChild() ? ele.parent() : ele.cy();\n }\n };\n var argSelector$1 = function argSelector2(arg) {\n if (string(arg)) {\n return new Selector(arg);\n } else {\n return arg;\n }\n };\n var elesfn$9 = {\n createEmitter: function createEmitter() {\n for (var i3 = 0; i3 < this.length; i3++) {\n var ele = this[i3];\n var _p = ele._private;\n if (!_p.emitter) {\n _p.emitter = new Emitter(emitterOptions$1, ele);\n }\n }\n return this;\n },\n emitter: function emitter() {\n return this._private.emitter;\n },\n on: function on(events, selector2, callback) {\n var argSel = argSelector$1(selector2);\n for (var i3 = 0; i3 < this.length; i3++) {\n var ele = this[i3];\n ele.emitter().on(events, argSel, callback);\n }\n return this;\n },\n removeListener: function removeListener(events, selector2, callback) {\n var argSel = argSelector$1(selector2);\n for (var i3 = 0; i3 < this.length; i3++) {\n var ele = this[i3];\n ele.emitter().removeListener(events, argSel, callback);\n }\n return this;\n },\n removeAllListeners: function removeAllListeners() {\n for (var i3 = 0; i3 < this.length; i3++) {\n var ele = this[i3];\n ele.emitter().removeAllListeners();\n }\n return this;\n },\n one: function one2(events, selector2, callback) {\n var argSel = argSelector$1(selector2);\n for (var i3 = 0; i3 < this.length; i3++) {\n var ele = this[i3];\n ele.emitter().one(events, argSel, callback);\n }\n return this;\n },\n once: function once(events, selector2, callback) {\n var argSel = argSelector$1(selector2);\n for (var i3 = 0; i3 < this.length; i3++) {\n var ele = this[i3];\n ele.emitter().on(events, argSel, callback, {\n once: true,\n onceCollection: this\n });\n }\n },\n emit: function emit(events, extraParams) {\n for (var i3 = 0; i3 < this.length; i3++) {\n var ele = this[i3];\n ele.emitter().emit(events, extraParams);\n }\n return this;\n },\n emitAndNotify: function emitAndNotify(event2, extraParams) {\n if (this.length === 0) {\n return;\n }\n this.cy().notify(event2, this);\n this.emit(event2, extraParams);\n return this;\n }\n };\n define3.eventAliasesOn(elesfn$9);\n var elesfn$8 = {\n nodes: function nodes2(selector2) {\n return this.filter(function(ele) {\n return ele.isNode();\n }).filter(selector2);\n },\n edges: function edges2(selector2) {\n return this.filter(function(ele) {\n return ele.isEdge();\n }).filter(selector2);\n },\n // internal helper to get nodes and edges as separate collections with single iteration over elements\n byGroup: function byGroup() {\n var nodes2 = this.spawn();\n var edges2 = this.spawn();\n for (var i3 = 0; i3 < this.length; i3++) {\n var ele = this[i3];\n if (ele.isNode()) {\n nodes2.push(ele);\n } else {\n edges2.push(ele);\n }\n }\n return {\n nodes: nodes2,\n edges: edges2\n };\n },\n filter: function filter3(_filter, thisArg) {\n if (_filter === void 0) {\n return this;\n } else if (string(_filter) || elementOrCollection(_filter)) {\n return new Selector(_filter).filter(this);\n } else if (fn$6(_filter)) {\n var filterEles = this.spawn();\n var eles = this;\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n var include = thisArg ? _filter.apply(thisArg, [ele, i3, eles]) : _filter(ele, i3, eles);\n if (include) {\n filterEles.push(ele);\n }\n }\n return filterEles;\n }\n return this.spawn();\n },\n not: function not(toRemove) {\n if (!toRemove) {\n return this;\n } else {\n if (string(toRemove)) {\n toRemove = this.filter(toRemove);\n }\n var elements2 = this.spawn();\n for (var i3 = 0; i3 < this.length; i3++) {\n var element2 = this[i3];\n var remove2 = toRemove.has(element2);\n if (!remove2) {\n elements2.push(element2);\n }\n }\n return elements2;\n }\n },\n absoluteComplement: function absoluteComplement() {\n var cy = this.cy();\n return cy.mutableElements().not(this);\n },\n intersect: function intersect2(other) {\n if (string(other)) {\n var selector2 = other;\n return this.filter(selector2);\n }\n var elements2 = this.spawn();\n var col1 = this;\n var col2 = other;\n var col1Smaller = this.length < other.length;\n var colS = col1Smaller ? col1 : col2;\n var colL = col1Smaller ? col2 : col1;\n for (var i3 = 0; i3 < colS.length; i3++) {\n var ele = colS[i3];\n if (colL.has(ele)) {\n elements2.push(ele);\n }\n }\n return elements2;\n },\n xor: function xor(other) {\n var cy = this._private.cy;\n if (string(other)) {\n other = cy.$(other);\n }\n var elements2 = this.spawn();\n var col1 = this;\n var col2 = other;\n var add = function add2(col, other2) {\n for (var i3 = 0; i3 < col.length; i3++) {\n var ele = col[i3];\n var id2 = ele._private.data.id;\n var inOther = other2.hasElementWithId(id2);\n if (!inOther) {\n elements2.push(ele);\n }\n }\n };\n add(col1, col2);\n add(col2, col1);\n return elements2;\n },\n diff: function diff(other) {\n var cy = this._private.cy;\n if (string(other)) {\n other = cy.$(other);\n }\n var left2 = this.spawn();\n var right2 = this.spawn();\n var both = this.spawn();\n var col1 = this;\n var col2 = other;\n var add = function add2(col, other2, retEles) {\n for (var i3 = 0; i3 < col.length; i3++) {\n var ele = col[i3];\n var id2 = ele._private.data.id;\n var inOther = other2.hasElementWithId(id2);\n if (inOther) {\n both.merge(ele);\n } else {\n retEles.push(ele);\n }\n }\n };\n add(col1, col2, left2);\n add(col2, col1, right2);\n return {\n left: left2,\n right: right2,\n both\n };\n },\n add: function add(toAdd) {\n var cy = this._private.cy;\n if (!toAdd) {\n return this;\n }\n if (string(toAdd)) {\n var selector2 = toAdd;\n toAdd = cy.mutableElements().filter(selector2);\n }\n var elements2 = this.spawnSelf();\n for (var i3 = 0; i3 < toAdd.length; i3++) {\n var ele = toAdd[i3];\n var add2 = !this.has(ele);\n if (add2) {\n elements2.push(ele);\n }\n }\n return elements2;\n },\n // in place merge on calling collection\n merge: function merge2(toAdd) {\n var _p = this._private;\n var cy = _p.cy;\n if (!toAdd) {\n return this;\n }\n if (toAdd && string(toAdd)) {\n var selector2 = toAdd;\n toAdd = cy.mutableElements().filter(selector2);\n }\n var map2 = _p.map;\n for (var i3 = 0; i3 < toAdd.length; i3++) {\n var toAddEle = toAdd[i3];\n var id2 = toAddEle._private.data.id;\n var add = !map2.has(id2);\n if (add) {\n var index = this.length++;\n this[index] = toAddEle;\n map2.set(id2, {\n ele: toAddEle,\n index\n });\n }\n }\n return this;\n },\n unmergeAt: function unmergeAt(i3) {\n var ele = this[i3];\n var id2 = ele.id();\n var _p = this._private;\n var map2 = _p.map;\n this[i3] = void 0;\n map2[\"delete\"](id2);\n var unmergedLastEle = i3 === this.length - 1;\n if (this.length > 1 && !unmergedLastEle) {\n var lastEleI = this.length - 1;\n var lastEle = this[lastEleI];\n var lastEleId = lastEle._private.data.id;\n this[lastEleI] = void 0;\n this[i3] = lastEle;\n map2.set(lastEleId, {\n ele: lastEle,\n index: i3\n });\n }\n this.length--;\n return this;\n },\n // remove single ele in place in calling collection\n unmergeOne: function unmergeOne(ele) {\n ele = ele[0];\n var _p = this._private;\n var id2 = ele._private.data.id;\n var map2 = _p.map;\n var entry = map2.get(id2);\n if (!entry) {\n return this;\n }\n var i3 = entry.index;\n this.unmergeAt(i3);\n return this;\n },\n // remove eles in place on calling collection\n unmerge: function unmerge(toRemove) {\n var cy = this._private.cy;\n if (!toRemove) {\n return this;\n }\n if (toRemove && string(toRemove)) {\n var selector2 = toRemove;\n toRemove = cy.mutableElements().filter(selector2);\n }\n for (var i3 = 0; i3 < toRemove.length; i3++) {\n this.unmergeOne(toRemove[i3]);\n }\n return this;\n },\n unmergeBy: function unmergeBy(toRmFn) {\n for (var i3 = this.length - 1; i3 >= 0; i3--) {\n var ele = this[i3];\n if (toRmFn(ele)) {\n this.unmergeAt(i3);\n }\n }\n return this;\n },\n map: function map2(mapFn, thisArg) {\n var arr = [];\n var eles = this;\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n var ret = thisArg ? mapFn.apply(thisArg, [ele, i3, eles]) : mapFn(ele, i3, eles);\n arr.push(ret);\n }\n return arr;\n },\n reduce: function reduce2(fn2, initialValue) {\n var val = initialValue;\n var eles = this;\n for (var i3 = 0; i3 < eles.length; i3++) {\n val = fn2(val, eles[i3], i3, eles);\n }\n return val;\n },\n max: function max3(valFn, thisArg) {\n var max4 = -Infinity;\n var maxEle;\n var eles = this;\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n var val = thisArg ? valFn.apply(thisArg, [ele, i3, eles]) : valFn(ele, i3, eles);\n if (val > max4) {\n max4 = val;\n maxEle = ele;\n }\n }\n return {\n value: max4,\n ele: maxEle\n };\n },\n min: function min3(valFn, thisArg) {\n var min4 = Infinity;\n var minEle;\n var eles = this;\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n var val = thisArg ? valFn.apply(thisArg, [ele, i3, eles]) : valFn(ele, i3, eles);\n if (val < min4) {\n min4 = val;\n minEle = ele;\n }\n }\n return {\n value: min4,\n ele: minEle\n };\n }\n };\n var fn$1 = elesfn$8;\n fn$1[\"u\"] = fn$1[\"|\"] = fn$1[\"+\"] = fn$1.union = fn$1.or = fn$1.add;\n fn$1[\"\\\\\"] = fn$1[\"!\"] = fn$1[\"-\"] = fn$1.difference = fn$1.relativeComplement = fn$1.subtract = fn$1.not;\n fn$1[\"n\"] = fn$1[\"&\"] = fn$1[\".\"] = fn$1.and = fn$1.intersection = fn$1.intersect;\n fn$1[\"^\"] = fn$1[\"(+)\"] = fn$1[\"(-)\"] = fn$1.symmetricDifference = fn$1.symdiff = fn$1.xor;\n fn$1.fnFilter = fn$1.filterFn = fn$1.stdFilter = fn$1.filter;\n fn$1.complement = fn$1.abscomp = fn$1.absoluteComplement;\n var elesfn$7 = {\n isNode: function isNode() {\n return this.group() === \"nodes\";\n },\n isEdge: function isEdge() {\n return this.group() === \"edges\";\n },\n isLoop: function isLoop() {\n return this.isEdge() && this.source()[0] === this.target()[0];\n },\n isSimple: function isSimple() {\n return this.isEdge() && this.source()[0] !== this.target()[0];\n },\n group: function group() {\n var ele = this[0];\n if (ele) {\n return ele._private.group;\n }\n }\n };\n var zIndexSort = function zIndexSort2(a, b) {\n var cy = a.cy();\n var hasCompoundNodes = cy.hasCompoundNodes();\n function getDepth(ele) {\n var style = ele.pstyle(\"z-compound-depth\");\n if (style.value === \"auto\") {\n return hasCompoundNodes ? ele.zDepth() : 0;\n } else if (style.value === \"bottom\") {\n return -1;\n } else if (style.value === \"top\") {\n return MAX_INT$1;\n }\n return 0;\n }\n var depthDiff = getDepth(a) - getDepth(b);\n if (depthDiff !== 0) {\n return depthDiff;\n }\n function getEleDepth(ele) {\n var style = ele.pstyle(\"z-index-compare\");\n if (style.value === \"auto\") {\n return ele.isNode() ? 1 : 0;\n }\n return 0;\n }\n var eleDiff = getEleDepth(a) - getEleDepth(b);\n if (eleDiff !== 0) {\n return eleDiff;\n }\n var zDiff = a.pstyle(\"z-index\").value - b.pstyle(\"z-index\").value;\n if (zDiff !== 0) {\n return zDiff;\n }\n return a.poolIndex() - b.poolIndex();\n };\n var elesfn$6 = {\n forEach: function forEach2(fn2, thisArg) {\n if (fn$6(fn2)) {\n var N = this.length;\n for (var i3 = 0; i3 < N; i3++) {\n var ele = this[i3];\n var ret = thisArg ? fn2.apply(thisArg, [ele, i3, this]) : fn2(ele, i3, this);\n if (ret === false) {\n break;\n }\n }\n }\n return this;\n },\n toArray: function toArray2() {\n var array3 = [];\n for (var i3 = 0; i3 < this.length; i3++) {\n array3.push(this[i3]);\n }\n return array3;\n },\n slice: function slice2(start2, end2) {\n var array3 = [];\n var thisSize = this.length;\n if (end2 == null) {\n end2 = thisSize;\n }\n if (start2 == null) {\n start2 = 0;\n }\n if (start2 < 0) {\n start2 = thisSize + start2;\n }\n if (end2 < 0) {\n end2 = thisSize + end2;\n }\n for (var i3 = start2; i3 >= 0 && i3 < end2 && i3 < thisSize; i3++) {\n array3.push(this[i3]);\n }\n return this.spawn(array3);\n },\n size: function size2() {\n return this.length;\n },\n eq: function eq3(i3) {\n return this[i3] || this.spawn();\n },\n first: function first() {\n return this[0] || this.spawn();\n },\n last: function last2() {\n return this[this.length - 1] || this.spawn();\n },\n empty: function empty2() {\n return this.length === 0;\n },\n nonempty: function nonempty() {\n return !this.empty();\n },\n sort: function sort2(sortFn) {\n if (!fn$6(sortFn)) {\n return this;\n }\n var sorted = this.toArray().sort(sortFn);\n return this.spawn(sorted);\n },\n sortByZIndex: function sortByZIndex() {\n return this.sort(zIndexSort);\n },\n zDepth: function zDepth() {\n var ele = this[0];\n if (!ele) {\n return void 0;\n }\n var _p = ele._private;\n var group = _p.group;\n if (group === \"nodes\") {\n var depth = _p.data.parent ? ele.parents().size() : 0;\n if (!ele.isParent()) {\n return MAX_INT$1 - 1;\n }\n return depth;\n } else {\n var src = _p.source;\n var tgt = _p.target;\n var srcDepth = src.zDepth();\n var tgtDepth = tgt.zDepth();\n return Math.max(srcDepth, tgtDepth, 0);\n }\n }\n };\n elesfn$6.each = elesfn$6.forEach;\n var defineSymbolIterator = function defineSymbolIterator2() {\n var typeofUndef = \"undefined\";\n var isIteratorSupported = (typeof Symbol === \"undefined\" ? \"undefined\" : _typeof2(Symbol)) != typeofUndef && _typeof2(Symbol.iterator) != typeofUndef;\n if (isIteratorSupported) {\n elesfn$6[Symbol.iterator] = function() {\n var _this = this;\n var entry = {\n value: void 0,\n done: false\n };\n var i3 = 0;\n var length2 = this.length;\n return _defineProperty$1({\n next: function next2() {\n if (i3 < length2) {\n entry.value = _this[i3++];\n } else {\n entry.value = void 0;\n entry.done = true;\n }\n return entry;\n }\n }, Symbol.iterator, function() {\n return this;\n });\n };\n }\n };\n defineSymbolIterator();\n var getLayoutDimensionOptions = defaults$g({\n nodeDimensionsIncludeLabels: false\n });\n var elesfn$5 = {\n // Calculates and returns node dimensions { x, y } based on options given\n layoutDimensions: function layoutDimensions(options2) {\n options2 = getLayoutDimensionOptions(options2);\n var dims;\n if (!this.takesUpSpace()) {\n dims = {\n w: 0,\n h: 0\n };\n } else if (options2.nodeDimensionsIncludeLabels) {\n var bbDim = this.boundingBox();\n dims = {\n w: bbDim.w,\n h: bbDim.h\n };\n } else {\n dims = {\n w: this.outerWidth(),\n h: this.outerHeight()\n };\n }\n if (dims.w === 0 || dims.h === 0) {\n dims.w = dims.h = 1;\n }\n return dims;\n },\n // using standard layout options, apply position function (w/ or w/o animation)\n layoutPositions: function layoutPositions(layout3, options2, fn2) {\n var nodes2 = this.nodes().filter(function(n) {\n return !n.isParent();\n });\n var cy = this.cy();\n var layoutEles = options2.eles;\n var getMemoizeKey = function getMemoizeKey2(node3) {\n return node3.id();\n };\n var fnMem = memoize$1(fn2, getMemoizeKey);\n layout3.emit({\n type: \"layoutstart\",\n layout: layout3\n });\n layout3.animations = [];\n var calculateSpacing = function calculateSpacing2(spacing, nodesBb, pos) {\n var center2 = {\n x: nodesBb.x1 + nodesBb.w / 2,\n y: nodesBb.y1 + nodesBb.h / 2\n };\n var spacingVector = {\n // scale from center of bounding box (not necessarily 0,0)\n x: (pos.x - center2.x) * spacing,\n y: (pos.y - center2.y) * spacing\n };\n return {\n x: center2.x + spacingVector.x,\n y: center2.y + spacingVector.y\n };\n };\n var useSpacingFactor = options2.spacingFactor && options2.spacingFactor !== 1;\n var spacingBb = function spacingBb2() {\n if (!useSpacingFactor) {\n return null;\n }\n var bb2 = makeBoundingBox();\n for (var i4 = 0; i4 < nodes2.length; i4++) {\n var node3 = nodes2[i4];\n var pos = fnMem(node3, i4);\n expandBoundingBoxByPoint(bb2, pos.x, pos.y);\n }\n return bb2;\n };\n var bb = spacingBb();\n var getFinalPos = memoize$1(function(node3, i4) {\n var newPos2 = fnMem(node3, i4);\n if (useSpacingFactor) {\n var spacing = Math.abs(options2.spacingFactor);\n newPos2 = calculateSpacing(spacing, bb, newPos2);\n }\n if (options2.transform != null) {\n newPos2 = options2.transform(node3, newPos2);\n }\n return newPos2;\n }, getMemoizeKey);\n if (options2.animate) {\n for (var i3 = 0; i3 < nodes2.length; i3++) {\n var node2 = nodes2[i3];\n var newPos = getFinalPos(node2, i3);\n var animateNode = options2.animateFilter == null || options2.animateFilter(node2, i3);\n if (animateNode) {\n var ani = node2.animation({\n position: newPos,\n duration: options2.animationDuration,\n easing: options2.animationEasing\n });\n layout3.animations.push(ani);\n } else {\n node2.position(newPos);\n }\n }\n if (options2.fit) {\n var fitAni = cy.animation({\n fit: {\n boundingBox: layoutEles.boundingBoxAt(getFinalPos),\n padding: options2.padding\n },\n duration: options2.animationDuration,\n easing: options2.animationEasing\n });\n layout3.animations.push(fitAni);\n } else if (options2.zoom !== void 0 && options2.pan !== void 0) {\n var zoomPanAni = cy.animation({\n zoom: options2.zoom,\n pan: options2.pan,\n duration: options2.animationDuration,\n easing: options2.animationEasing\n });\n layout3.animations.push(zoomPanAni);\n }\n layout3.animations.forEach(function(ani2) {\n return ani2.play();\n });\n layout3.one(\"layoutready\", options2.ready);\n layout3.emit({\n type: \"layoutready\",\n layout: layout3\n });\n Promise$12.all(layout3.animations.map(function(ani2) {\n return ani2.promise();\n })).then(function() {\n layout3.one(\"layoutstop\", options2.stop);\n layout3.emit({\n type: \"layoutstop\",\n layout: layout3\n });\n });\n } else {\n nodes2.positions(getFinalPos);\n if (options2.fit) {\n cy.fit(options2.eles, options2.padding);\n }\n if (options2.zoom != null) {\n cy.zoom(options2.zoom);\n }\n if (options2.pan) {\n cy.pan(options2.pan);\n }\n layout3.one(\"layoutready\", options2.ready);\n layout3.emit({\n type: \"layoutready\",\n layout: layout3\n });\n layout3.one(\"layoutstop\", options2.stop);\n layout3.emit({\n type: \"layoutstop\",\n layout: layout3\n });\n }\n return this;\n },\n layout: function layout3(options2) {\n var cy = this.cy();\n return cy.makeLayout(extend2({}, options2, {\n eles: this\n }));\n }\n };\n elesfn$5.createLayout = elesfn$5.makeLayout = elesfn$5.layout;\n function styleCache(key, fn2, ele) {\n var _p = ele._private;\n var cache2 = _p.styleCache = _p.styleCache || [];\n var val;\n if ((val = cache2[key]) != null) {\n return val;\n } else {\n val = cache2[key] = fn2(ele);\n return val;\n }\n }\n function cacheStyleFunction(key, fn2) {\n key = hashString(key);\n return function cachedStyleFunction(ele) {\n return styleCache(key, fn2, ele);\n };\n }\n function cachePrototypeStyleFunction(key, fn2) {\n key = hashString(key);\n var selfFn = function selfFn2(ele) {\n return fn2.call(ele);\n };\n return function cachedPrototypeStyleFunction() {\n var ele = this[0];\n if (ele) {\n return styleCache(key, selfFn, ele);\n }\n };\n }\n var elesfn$4 = {\n recalculateRenderedStyle: function recalculateRenderedStyle(useCache) {\n var cy = this.cy();\n var renderer3 = cy.renderer();\n var styleEnabled = cy.styleEnabled();\n if (renderer3 && styleEnabled) {\n renderer3.recalculateRenderedStyle(this, useCache);\n }\n return this;\n },\n dirtyStyleCache: function dirtyStyleCache() {\n var cy = this.cy();\n var dirty = function dirty2(ele) {\n return ele._private.styleCache = null;\n };\n if (cy.hasCompoundNodes()) {\n var eles;\n eles = this.spawnSelf().merge(this.descendants()).merge(this.parents());\n eles.merge(eles.connectedEdges());\n eles.forEach(dirty);\n } else {\n this.forEach(function(ele) {\n dirty(ele);\n ele.connectedEdges().forEach(dirty);\n });\n }\n return this;\n },\n // fully updates (recalculates) the style for the elements\n updateStyle: function updateStyle(notifyRenderer) {\n var cy = this._private.cy;\n if (!cy.styleEnabled()) {\n return this;\n }\n if (cy.batching()) {\n var bEles = cy._private.batchStyleEles;\n bEles.merge(this);\n return this;\n }\n var hasCompounds = cy.hasCompoundNodes();\n var updatedEles = this;\n notifyRenderer = notifyRenderer || notifyRenderer === void 0 ? true : false;\n if (hasCompounds) {\n updatedEles = this.spawnSelf().merge(this.descendants()).merge(this.parents());\n }\n var changedEles = updatedEles;\n if (notifyRenderer) {\n changedEles.emitAndNotify(\"style\");\n } else {\n changedEles.emit(\"style\");\n }\n updatedEles.forEach(function(ele) {\n return ele._private.styleDirty = true;\n });\n return this;\n },\n // private: clears dirty flag and recalculates style\n cleanStyle: function cleanStyle() {\n var cy = this.cy();\n if (!cy.styleEnabled()) {\n return;\n }\n for (var i3 = 0; i3 < this.length; i3++) {\n var ele = this[i3];\n if (ele._private.styleDirty) {\n ele._private.styleDirty = false;\n cy.style().apply(ele);\n }\n }\n },\n // get the internal parsed style object for the specified property\n parsedStyle: function parsedStyle(property2) {\n var includeNonDefault = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;\n var ele = this[0];\n var cy = ele.cy();\n if (!cy.styleEnabled()) {\n return;\n }\n if (ele) {\n this.cleanStyle();\n var overriddenStyle = ele._private.style[property2];\n if (overriddenStyle != null) {\n return overriddenStyle;\n } else if (includeNonDefault) {\n return cy.style().getDefaultProperty(property2);\n } else {\n return null;\n }\n }\n },\n numericStyle: function numericStyle(property2) {\n var ele = this[0];\n if (!ele.cy().styleEnabled()) {\n return;\n }\n if (ele) {\n var pstyle = ele.pstyle(property2);\n return pstyle.pfValue !== void 0 ? pstyle.pfValue : pstyle.value;\n }\n },\n numericStyleUnits: function numericStyleUnits(property2) {\n var ele = this[0];\n if (!ele.cy().styleEnabled()) {\n return;\n }\n if (ele) {\n return ele.pstyle(property2).units;\n }\n },\n // get the specified css property as a rendered value (i.e. on-screen value)\n // or get the whole rendered style if no property specified (NB doesn't allow setting)\n renderedStyle: function renderedStyle(property2) {\n var cy = this.cy();\n if (!cy.styleEnabled()) {\n return this;\n }\n var ele = this[0];\n if (ele) {\n return cy.style().getRenderedStyle(ele, property2);\n }\n },\n // read the calculated css style of the element or override the style (via a bypass)\n style: function style(name2, value) {\n var cy = this.cy();\n if (!cy.styleEnabled()) {\n return this;\n }\n var updateTransitions = false;\n var style2 = cy.style();\n if (plainObject(name2)) {\n var props = name2;\n style2.applyBypass(this, props, updateTransitions);\n this.emitAndNotify(\"style\");\n } else if (string(name2)) {\n if (value === void 0) {\n var ele = this[0];\n if (ele) {\n return style2.getStylePropertyValue(ele, name2);\n } else {\n return;\n }\n } else {\n style2.applyBypass(this, name2, value, updateTransitions);\n this.emitAndNotify(\"style\");\n }\n } else if (name2 === void 0) {\n var _ele = this[0];\n if (_ele) {\n return style2.getRawStyle(_ele);\n } else {\n return;\n }\n }\n return this;\n },\n removeStyle: function removeStyle(names) {\n var cy = this.cy();\n if (!cy.styleEnabled()) {\n return this;\n }\n var updateTransitions = false;\n var style = cy.style();\n var eles = this;\n if (names === void 0) {\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n style.removeAllBypasses(ele, updateTransitions);\n }\n } else {\n names = names.split(/\\s+/);\n for (var _i = 0; _i < eles.length; _i++) {\n var _ele2 = eles[_i];\n style.removeBypasses(_ele2, names, updateTransitions);\n }\n }\n this.emitAndNotify(\"style\");\n return this;\n },\n show: function show() {\n this.css(\"display\", \"element\");\n return this;\n },\n hide: function hide() {\n this.css(\"display\", \"none\");\n return this;\n },\n effectiveOpacity: function effectiveOpacity() {\n var cy = this.cy();\n if (!cy.styleEnabled()) {\n return 1;\n }\n var hasCompoundNodes = cy.hasCompoundNodes();\n var ele = this[0];\n if (ele) {\n var _p = ele._private;\n var parentOpacity = ele.pstyle(\"opacity\").value;\n if (!hasCompoundNodes) {\n return parentOpacity;\n }\n var parents2 = !_p.data.parent ? null : ele.parents();\n if (parents2) {\n for (var i3 = 0; i3 < parents2.length; i3++) {\n var parent = parents2[i3];\n var opacity = parent.pstyle(\"opacity\").value;\n parentOpacity = opacity * parentOpacity;\n }\n }\n return parentOpacity;\n }\n },\n transparent: function transparent() {\n var cy = this.cy();\n if (!cy.styleEnabled()) {\n return false;\n }\n var ele = this[0];\n var hasCompoundNodes = ele.cy().hasCompoundNodes();\n if (ele) {\n if (!hasCompoundNodes) {\n return ele.pstyle(\"opacity\").value === 0;\n } else {\n return ele.effectiveOpacity() === 0;\n }\n }\n },\n backgrounding: function backgrounding() {\n var cy = this.cy();\n if (!cy.styleEnabled()) {\n return false;\n }\n var ele = this[0];\n return ele._private.backgrounding ? true : false;\n }\n };\n function checkCompound(ele, parentOk) {\n var _p = ele._private;\n var parents2 = _p.data.parent ? ele.parents() : null;\n if (parents2) {\n for (var i3 = 0; i3 < parents2.length; i3++) {\n var parent = parents2[i3];\n if (!parentOk(parent)) {\n return false;\n }\n }\n }\n return true;\n }\n function defineDerivedStateFunction(specs) {\n var ok = specs.ok;\n var edgeOkViaNode = specs.edgeOkViaNode || specs.ok;\n var parentOk = specs.parentOk || specs.ok;\n return function() {\n var cy = this.cy();\n if (!cy.styleEnabled()) {\n return true;\n }\n var ele = this[0];\n var hasCompoundNodes = cy.hasCompoundNodes();\n if (ele) {\n var _p = ele._private;\n if (!ok(ele)) {\n return false;\n }\n if (ele.isNode()) {\n return !hasCompoundNodes || checkCompound(ele, parentOk);\n } else {\n var src = _p.source;\n var tgt = _p.target;\n return edgeOkViaNode(src) && (!hasCompoundNodes || checkCompound(src, edgeOkViaNode)) && (src === tgt || edgeOkViaNode(tgt) && (!hasCompoundNodes || checkCompound(tgt, edgeOkViaNode)));\n }\n }\n };\n }\n var eleTakesUpSpace = cacheStyleFunction(\"eleTakesUpSpace\", function(ele) {\n return ele.pstyle(\"display\").value === \"element\" && ele.width() !== 0 && (ele.isNode() ? ele.height() !== 0 : true);\n });\n elesfn$4.takesUpSpace = cachePrototypeStyleFunction(\"takesUpSpace\", defineDerivedStateFunction({\n ok: eleTakesUpSpace\n }));\n var eleInteractive = cacheStyleFunction(\"eleInteractive\", function(ele) {\n return ele.pstyle(\"events\").value === \"yes\" && ele.pstyle(\"visibility\").value === \"visible\" && eleTakesUpSpace(ele);\n });\n var parentInteractive = cacheStyleFunction(\"parentInteractive\", function(parent) {\n return parent.pstyle(\"visibility\").value === \"visible\" && eleTakesUpSpace(parent);\n });\n elesfn$4.interactive = cachePrototypeStyleFunction(\"interactive\", defineDerivedStateFunction({\n ok: eleInteractive,\n parentOk: parentInteractive,\n edgeOkViaNode: eleTakesUpSpace\n }));\n elesfn$4.noninteractive = function() {\n var ele = this[0];\n if (ele) {\n return !ele.interactive();\n }\n };\n var eleVisible = cacheStyleFunction(\"eleVisible\", function(ele) {\n return ele.pstyle(\"visibility\").value === \"visible\" && ele.pstyle(\"opacity\").pfValue !== 0 && eleTakesUpSpace(ele);\n });\n var edgeVisibleViaNode = eleTakesUpSpace;\n elesfn$4.visible = cachePrototypeStyleFunction(\"visible\", defineDerivedStateFunction({\n ok: eleVisible,\n edgeOkViaNode: edgeVisibleViaNode\n }));\n elesfn$4.hidden = function() {\n var ele = this[0];\n if (ele) {\n return !ele.visible();\n }\n };\n elesfn$4.isBundledBezier = cachePrototypeStyleFunction(\"isBundledBezier\", function() {\n if (!this.cy().styleEnabled()) {\n return false;\n }\n return !this.removed() && this.pstyle(\"curve-style\").value === \"bezier\" && this.takesUpSpace();\n });\n elesfn$4.bypass = elesfn$4.css = elesfn$4.style;\n elesfn$4.renderedCss = elesfn$4.renderedStyle;\n elesfn$4.removeBypass = elesfn$4.removeCss = elesfn$4.removeStyle;\n elesfn$4.pstyle = elesfn$4.parsedStyle;\n var elesfn$3 = {};\n function defineSwitchFunction(params) {\n return function() {\n var args = arguments;\n var changedEles = [];\n if (args.length === 2) {\n var data2 = args[0];\n var handler = args[1];\n this.on(params.event, data2, handler);\n } else if (args.length === 1 && fn$6(args[0])) {\n var _handler = args[0];\n this.on(params.event, _handler);\n } else if (args.length === 0 || args.length === 1 && array2(args[0])) {\n var addlEvents = args.length === 1 ? args[0] : null;\n for (var i3 = 0; i3 < this.length; i3++) {\n var ele = this[i3];\n var able = !params.ableField || ele._private[params.ableField];\n var changed = ele._private[params.field] != params.value;\n if (params.overrideAble) {\n var overrideAble = params.overrideAble(ele);\n if (overrideAble !== void 0) {\n able = overrideAble;\n if (!overrideAble) {\n return this;\n }\n }\n }\n if (able) {\n ele._private[params.field] = params.value;\n if (changed) {\n changedEles.push(ele);\n }\n }\n }\n var changedColl = this.spawn(changedEles);\n changedColl.updateStyle();\n changedColl.emit(params.event);\n if (addlEvents) {\n changedColl.emit(addlEvents);\n }\n }\n return this;\n };\n }\n function defineSwitchSet(params) {\n elesfn$3[params.field] = function() {\n var ele = this[0];\n if (ele) {\n if (params.overrideField) {\n var val = params.overrideField(ele);\n if (val !== void 0) {\n return val;\n }\n }\n return ele._private[params.field];\n }\n };\n elesfn$3[params.on] = defineSwitchFunction({\n event: params.on,\n field: params.field,\n ableField: params.ableField,\n overrideAble: params.overrideAble,\n value: true\n });\n elesfn$3[params.off] = defineSwitchFunction({\n event: params.off,\n field: params.field,\n ableField: params.ableField,\n overrideAble: params.overrideAble,\n value: false\n });\n }\n defineSwitchSet({\n field: \"locked\",\n overrideField: function overrideField(ele) {\n return ele.cy().autolock() ? true : void 0;\n },\n on: \"lock\",\n off: \"unlock\"\n });\n defineSwitchSet({\n field: \"grabbable\",\n overrideField: function overrideField(ele) {\n return ele.cy().autoungrabify() || ele.pannable() ? false : void 0;\n },\n on: \"grabify\",\n off: \"ungrabify\"\n });\n defineSwitchSet({\n field: \"selected\",\n ableField: \"selectable\",\n overrideAble: function overrideAble(ele) {\n return ele.cy().autounselectify() ? false : void 0;\n },\n on: \"select\",\n off: \"unselect\"\n });\n defineSwitchSet({\n field: \"selectable\",\n overrideField: function overrideField(ele) {\n return ele.cy().autounselectify() ? false : void 0;\n },\n on: \"selectify\",\n off: \"unselectify\"\n });\n elesfn$3.deselect = elesfn$3.unselect;\n elesfn$3.grabbed = function() {\n var ele = this[0];\n if (ele) {\n return ele._private.grabbed;\n }\n };\n defineSwitchSet({\n field: \"active\",\n on: \"activate\",\n off: \"unactivate\"\n });\n defineSwitchSet({\n field: \"pannable\",\n on: \"panify\",\n off: \"unpanify\"\n });\n elesfn$3.inactive = function() {\n var ele = this[0];\n if (ele) {\n return !ele._private.active;\n }\n };\n var elesfn$2 = {};\n var defineDagExtremity = function defineDagExtremity2(params) {\n return function dagExtremityImpl(selector2) {\n var eles = this;\n var ret = [];\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n if (!ele.isNode()) {\n continue;\n }\n var disqualified = false;\n var edges2 = ele.connectedEdges();\n for (var j = 0; j < edges2.length; j++) {\n var edge = edges2[j];\n var src = edge.source();\n var tgt = edge.target();\n if (params.noIncomingEdges && tgt === ele && src !== ele || params.noOutgoingEdges && src === ele && tgt !== ele) {\n disqualified = true;\n break;\n }\n }\n if (!disqualified) {\n ret.push(ele);\n }\n }\n return this.spawn(ret, true).filter(selector2);\n };\n };\n var defineDagOneHop = function defineDagOneHop2(params) {\n return function(selector2) {\n var eles = this;\n var oEles = [];\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n if (!ele.isNode()) {\n continue;\n }\n var edges2 = ele.connectedEdges();\n for (var j = 0; j < edges2.length; j++) {\n var edge = edges2[j];\n var src = edge.source();\n var tgt = edge.target();\n if (params.outgoing && src === ele) {\n oEles.push(edge);\n oEles.push(tgt);\n } else if (params.incoming && tgt === ele) {\n oEles.push(edge);\n oEles.push(src);\n }\n }\n }\n return this.spawn(oEles, true).filter(selector2);\n };\n };\n var defineDagAllHops = function defineDagAllHops2(params) {\n return function(selector2) {\n var eles = this;\n var sEles = [];\n var sElesIds = {};\n for (; ; ) {\n var next2 = params.outgoing ? eles.outgoers() : eles.incomers();\n if (next2.length === 0) {\n break;\n }\n var newNext = false;\n for (var i3 = 0; i3 < next2.length; i3++) {\n var n = next2[i3];\n var nid = n.id();\n if (!sElesIds[nid]) {\n sElesIds[nid] = true;\n sEles.push(n);\n newNext = true;\n }\n }\n if (!newNext) {\n break;\n }\n eles = next2;\n }\n return this.spawn(sEles, true).filter(selector2);\n };\n };\n elesfn$2.clearTraversalCache = function() {\n for (var i3 = 0; i3 < this.length; i3++) {\n this[i3]._private.traversalCache = null;\n }\n };\n extend2(elesfn$2, {\n // get the root nodes in the DAG\n roots: defineDagExtremity({\n noIncomingEdges: true\n }),\n // get the leaf nodes in the DAG\n leaves: defineDagExtremity({\n noOutgoingEdges: true\n }),\n // normally called children in graph theory\n // these nodes =edges=> outgoing nodes\n outgoers: cache(defineDagOneHop({\n outgoing: true\n }), \"outgoers\"),\n // aka DAG descendants\n successors: defineDagAllHops({\n outgoing: true\n }),\n // normally called parents in graph theory\n // these nodes <=edges= incoming nodes\n incomers: cache(defineDagOneHop({\n incoming: true\n }), \"incomers\"),\n // aka DAG ancestors\n predecessors: defineDagAllHops({\n incoming: true\n })\n });\n extend2(elesfn$2, {\n neighborhood: cache(function(selector2) {\n var elements2 = [];\n var nodes2 = this.nodes();\n for (var i3 = 0; i3 < nodes2.length; i3++) {\n var node2 = nodes2[i3];\n var connectedEdges = node2.connectedEdges();\n for (var j = 0; j < connectedEdges.length; j++) {\n var edge = connectedEdges[j];\n var src = edge.source();\n var tgt = edge.target();\n var otherNode = node2 === src ? tgt : src;\n if (otherNode.length > 0) {\n elements2.push(otherNode[0]);\n }\n elements2.push(edge[0]);\n }\n }\n return this.spawn(elements2, true).filter(selector2);\n }, \"neighborhood\"),\n closedNeighborhood: function closedNeighborhood(selector2) {\n return this.neighborhood().add(this).filter(selector2);\n },\n openNeighborhood: function openNeighborhood(selector2) {\n return this.neighborhood(selector2);\n }\n });\n elesfn$2.neighbourhood = elesfn$2.neighborhood;\n elesfn$2.closedNeighbourhood = elesfn$2.closedNeighborhood;\n elesfn$2.openNeighbourhood = elesfn$2.openNeighborhood;\n extend2(elesfn$2, {\n source: cache(function sourceImpl(selector2) {\n var ele = this[0];\n var src;\n if (ele) {\n src = ele._private.source || ele.cy().collection();\n }\n return src && selector2 ? src.filter(selector2) : src;\n }, \"source\"),\n target: cache(function targetImpl(selector2) {\n var ele = this[0];\n var tgt;\n if (ele) {\n tgt = ele._private.target || ele.cy().collection();\n }\n return tgt && selector2 ? tgt.filter(selector2) : tgt;\n }, \"target\"),\n sources: defineSourceFunction({\n attr: \"source\"\n }),\n targets: defineSourceFunction({\n attr: \"target\"\n })\n });\n function defineSourceFunction(params) {\n return function sourceImpl(selector2) {\n var sources = [];\n for (var i3 = 0; i3 < this.length; i3++) {\n var ele = this[i3];\n var src = ele._private[params.attr];\n if (src) {\n sources.push(src);\n }\n }\n return this.spawn(sources, true).filter(selector2);\n };\n }\n extend2(elesfn$2, {\n edgesWith: cache(defineEdgesWithFunction(), \"edgesWith\"),\n edgesTo: cache(defineEdgesWithFunction({\n thisIsSrc: true\n }), \"edgesTo\")\n });\n function defineEdgesWithFunction(params) {\n return function edgesWithImpl(otherNodes) {\n var elements2 = [];\n var cy = this._private.cy;\n var p2 = params || {};\n if (string(otherNodes)) {\n otherNodes = cy.$(otherNodes);\n }\n for (var h = 0; h < otherNodes.length; h++) {\n var edges2 = otherNodes[h]._private.edges;\n for (var i3 = 0; i3 < edges2.length; i3++) {\n var edge = edges2[i3];\n var edgeData = edge._private.data;\n var thisToOther = this.hasElementWithId(edgeData.source) && otherNodes.hasElementWithId(edgeData.target);\n var otherToThis = otherNodes.hasElementWithId(edgeData.source) && this.hasElementWithId(edgeData.target);\n var edgeConnectsThisAndOther = thisToOther || otherToThis;\n if (!edgeConnectsThisAndOther) {\n continue;\n }\n if (p2.thisIsSrc || p2.thisIsTgt) {\n if (p2.thisIsSrc && !thisToOther) {\n continue;\n }\n if (p2.thisIsTgt && !otherToThis) {\n continue;\n }\n }\n elements2.push(edge);\n }\n }\n return this.spawn(elements2, true);\n };\n }\n extend2(elesfn$2, {\n connectedEdges: cache(function(selector2) {\n var retEles = [];\n var eles = this;\n for (var i3 = 0; i3 < eles.length; i3++) {\n var node2 = eles[i3];\n if (!node2.isNode()) {\n continue;\n }\n var edges2 = node2._private.edges;\n for (var j = 0; j < edges2.length; j++) {\n var edge = edges2[j];\n retEles.push(edge);\n }\n }\n return this.spawn(retEles, true).filter(selector2);\n }, \"connectedEdges\"),\n connectedNodes: cache(function(selector2) {\n var retEles = [];\n var eles = this;\n for (var i3 = 0; i3 < eles.length; i3++) {\n var edge = eles[i3];\n if (!edge.isEdge()) {\n continue;\n }\n retEles.push(edge.source()[0]);\n retEles.push(edge.target()[0]);\n }\n return this.spawn(retEles, true).filter(selector2);\n }, \"connectedNodes\"),\n parallelEdges: cache(defineParallelEdgesFunction(), \"parallelEdges\"),\n codirectedEdges: cache(defineParallelEdgesFunction({\n codirected: true\n }), \"codirectedEdges\")\n });\n function defineParallelEdgesFunction(params) {\n var defaults3 = {\n codirected: false\n };\n params = extend2({}, defaults3, params);\n return function parallelEdgesImpl(selector2) {\n var elements2 = [];\n var edges2 = this.edges();\n var p2 = params;\n for (var i3 = 0; i3 < edges2.length; i3++) {\n var edge1 = edges2[i3];\n var edge1_p = edge1._private;\n var src1 = edge1_p.source;\n var srcid1 = src1._private.data.id;\n var tgtid1 = edge1_p.data.target;\n var srcEdges1 = src1._private.edges;\n for (var j = 0; j < srcEdges1.length; j++) {\n var edge2 = srcEdges1[j];\n var edge2data = edge2._private.data;\n var tgtid2 = edge2data.target;\n var srcid2 = edge2data.source;\n var codirected = tgtid2 === tgtid1 && srcid2 === srcid1;\n var oppdirected = srcid1 === tgtid2 && tgtid1 === srcid2;\n if (p2.codirected && codirected || !p2.codirected && (codirected || oppdirected)) {\n elements2.push(edge2);\n }\n }\n }\n return this.spawn(elements2, true).filter(selector2);\n };\n }\n extend2(elesfn$2, {\n components: function components(root3) {\n var self2 = this;\n var cy = self2.cy();\n var visited = cy.collection();\n var unvisited = root3 == null ? self2.nodes() : root3.nodes();\n var components2 = [];\n if (root3 != null && unvisited.empty()) {\n unvisited = root3.sources();\n }\n var visitInComponent = function visitInComponent2(node2, component) {\n visited.merge(node2);\n unvisited.unmerge(node2);\n component.merge(node2);\n };\n if (unvisited.empty()) {\n return self2.spawn();\n }\n var _loop = function _loop2() {\n var cmpt = cy.collection();\n components2.push(cmpt);\n var root4 = unvisited[0];\n visitInComponent(root4, cmpt);\n self2.bfs({\n directed: false,\n roots: root4,\n visit: function visit(v) {\n return visitInComponent(v, cmpt);\n }\n });\n cmpt.forEach(function(node2) {\n node2.connectedEdges().forEach(function(e) {\n if (self2.has(e) && cmpt.has(e.source()) && cmpt.has(e.target())) {\n cmpt.merge(e);\n }\n });\n });\n };\n do {\n _loop();\n } while (unvisited.length > 0);\n return components2;\n },\n component: function component() {\n var ele = this[0];\n return ele.cy().mutableElements().components(ele)[0];\n }\n });\n elesfn$2.componentsOf = elesfn$2.components;\n var Collection = function Collection2(cy, elements2) {\n var unique = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;\n var removed = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;\n if (cy === void 0) {\n error(\"A collection must have a reference to the core\");\n return;\n }\n var map2 = new Map$22();\n var createdElements = false;\n if (!elements2) {\n elements2 = [];\n } else if (elements2.length > 0 && plainObject(elements2[0]) && !element(elements2[0])) {\n createdElements = true;\n var eles = [];\n var elesIds = new Set$12();\n for (var i3 = 0, l = elements2.length; i3 < l; i3++) {\n var json2 = elements2[i3];\n if (json2.data == null) {\n json2.data = {};\n }\n var _data = json2.data;\n if (_data.id == null) {\n _data.id = uuid();\n } else if (cy.hasElementWithId(_data.id) || elesIds.has(_data.id)) {\n continue;\n }\n var ele = new Element(cy, json2, false);\n eles.push(ele);\n elesIds.add(_data.id);\n }\n elements2 = eles;\n }\n this.length = 0;\n for (var _i = 0, _l = elements2.length; _i < _l; _i++) {\n var element$1 = elements2[_i][0];\n if (element$1 == null) {\n continue;\n }\n var id2 = element$1._private.data.id;\n if (!unique || !map2.has(id2)) {\n if (unique) {\n map2.set(id2, {\n index: this.length,\n ele: element$1\n });\n }\n this[this.length] = element$1;\n this.length++;\n }\n }\n this._private = {\n eles: this,\n cy,\n get map() {\n if (this.lazyMap == null) {\n this.rebuildMap();\n }\n return this.lazyMap;\n },\n set map(m) {\n this.lazyMap = m;\n },\n rebuildMap: function rebuildMap() {\n var m = this.lazyMap = new Map$22();\n var eles2 = this.eles;\n for (var _i2 = 0; _i2 < eles2.length; _i2++) {\n var _ele = eles2[_i2];\n m.set(_ele.id(), {\n index: _i2,\n ele: _ele\n });\n }\n }\n };\n if (unique) {\n this._private.map = map2;\n }\n if (createdElements && !removed) {\n this.restore();\n }\n };\n var elesfn$1 = Element.prototype = Collection.prototype = Object.create(Array.prototype);\n elesfn$1.instanceString = function() {\n return \"collection\";\n };\n elesfn$1.spawn = function(eles, unique) {\n return new Collection(this.cy(), eles, unique);\n };\n elesfn$1.spawnSelf = function() {\n return this.spawn(this);\n };\n elesfn$1.cy = function() {\n return this._private.cy;\n };\n elesfn$1.renderer = function() {\n return this._private.cy.renderer();\n };\n elesfn$1.element = function() {\n return this[0];\n };\n elesfn$1.collection = function() {\n if (collection(this)) {\n return this;\n } else {\n return new Collection(this._private.cy, [this]);\n }\n };\n elesfn$1.unique = function() {\n return new Collection(this._private.cy, this, true);\n };\n elesfn$1.hasElementWithId = function(id2) {\n id2 = \"\" + id2;\n return this._private.map.has(id2);\n };\n elesfn$1.getElementById = function(id2) {\n id2 = \"\" + id2;\n var cy = this._private.cy;\n var entry = this._private.map.get(id2);\n return entry ? entry.ele : new Collection(cy);\n };\n elesfn$1.$id = elesfn$1.getElementById;\n elesfn$1.poolIndex = function() {\n var cy = this._private.cy;\n var eles = cy._private.elements;\n var id2 = this[0]._private.data.id;\n return eles._private.map.get(id2).index;\n };\n elesfn$1.indexOf = function(ele) {\n var id2 = ele[0]._private.data.id;\n return this._private.map.get(id2).index;\n };\n elesfn$1.indexOfId = function(id2) {\n id2 = \"\" + id2;\n return this._private.map.get(id2).index;\n };\n elesfn$1.json = function(obj) {\n var ele = this.element();\n var cy = this.cy();\n if (ele == null && obj) {\n return this;\n }\n if (ele == null) {\n return void 0;\n }\n var p2 = ele._private;\n if (plainObject(obj)) {\n cy.startBatch();\n if (obj.data) {\n ele.data(obj.data);\n var _data2 = p2.data;\n if (ele.isEdge()) {\n var move = false;\n var spec = {};\n var src = obj.data.source;\n var tgt = obj.data.target;\n if (src != null && src != _data2.source) {\n spec.source = \"\" + src;\n move = true;\n }\n if (tgt != null && tgt != _data2.target) {\n spec.target = \"\" + tgt;\n move = true;\n }\n if (move) {\n ele = ele.move(spec);\n }\n } else {\n var newParentValSpecd = \"parent\" in obj.data;\n var parent = obj.data.parent;\n if (newParentValSpecd && (parent != null || _data2.parent != null) && parent != _data2.parent) {\n if (parent === void 0) {\n parent = null;\n }\n if (parent != null) {\n parent = \"\" + parent;\n }\n ele = ele.move({\n parent\n });\n }\n }\n }\n if (obj.position) {\n ele.position(obj.position);\n }\n var checkSwitch = function checkSwitch2(k, trueFnName, falseFnName) {\n var obj_k = obj[k];\n if (obj_k != null && obj_k !== p2[k]) {\n if (obj_k) {\n ele[trueFnName]();\n } else {\n ele[falseFnName]();\n }\n }\n };\n checkSwitch(\"removed\", \"remove\", \"restore\");\n checkSwitch(\"selected\", \"select\", \"unselect\");\n checkSwitch(\"selectable\", \"selectify\", \"unselectify\");\n checkSwitch(\"locked\", \"lock\", \"unlock\");\n checkSwitch(\"grabbable\", \"grabify\", \"ungrabify\");\n checkSwitch(\"pannable\", \"panify\", \"unpanify\");\n if (obj.classes != null) {\n ele.classes(obj.classes);\n }\n cy.endBatch();\n return this;\n } else if (obj === void 0) {\n var json2 = {\n data: copy2(p2.data),\n position: copy2(p2.position),\n group: p2.group,\n removed: p2.removed,\n selected: p2.selected,\n selectable: p2.selectable,\n locked: p2.locked,\n grabbable: p2.grabbable,\n pannable: p2.pannable,\n classes: null\n };\n json2.classes = \"\";\n var i3 = 0;\n p2.classes.forEach(function(cls) {\n return json2.classes += i3++ === 0 ? cls : \" \" + cls;\n });\n return json2;\n }\n };\n elesfn$1.jsons = function() {\n var jsons = [];\n for (var i3 = 0; i3 < this.length; i3++) {\n var ele = this[i3];\n var json2 = ele.json();\n jsons.push(json2);\n }\n return jsons;\n };\n elesfn$1.clone = function() {\n var cy = this.cy();\n var elesArr = [];\n for (var i3 = 0; i3 < this.length; i3++) {\n var ele = this[i3];\n var json2 = ele.json();\n var clone3 = new Element(cy, json2, false);\n elesArr.push(clone3);\n }\n return new Collection(cy, elesArr);\n };\n elesfn$1.copy = elesfn$1.clone;\n elesfn$1.restore = function() {\n var notifyRenderer = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;\n var addToPool = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;\n var self2 = this;\n var cy = self2.cy();\n var cy_p = cy._private;\n var nodes2 = [];\n var edges2 = [];\n var elements2;\n for (var _i3 = 0, l = self2.length; _i3 < l; _i3++) {\n var ele = self2[_i3];\n if (addToPool && !ele.removed()) {\n continue;\n }\n if (ele.isNode()) {\n nodes2.push(ele);\n } else {\n edges2.push(ele);\n }\n }\n elements2 = nodes2.concat(edges2);\n var i3;\n var removeFromElements = function removeFromElements2() {\n elements2.splice(i3, 1);\n i3--;\n };\n for (i3 = 0; i3 < elements2.length; i3++) {\n var _ele2 = elements2[i3];\n var _private = _ele2._private;\n var _data3 = _private.data;\n _ele2.clearTraversalCache();\n if (!addToPool && !_private.removed)\n ;\n else if (_data3.id === void 0) {\n _data3.id = uuid();\n } else if (number$12(_data3.id)) {\n _data3.id = \"\" + _data3.id;\n } else if (emptyString(_data3.id) || !string(_data3.id)) {\n error(\"Can not create element with invalid string ID `\" + _data3.id + \"`\");\n removeFromElements();\n continue;\n } else if (cy.hasElementWithId(_data3.id)) {\n error(\"Can not create second element with ID `\" + _data3.id + \"`\");\n removeFromElements();\n continue;\n }\n var id2 = _data3.id;\n if (_ele2.isNode()) {\n var pos = _private.position;\n if (pos.x == null) {\n pos.x = 0;\n }\n if (pos.y == null) {\n pos.y = 0;\n }\n }\n if (_ele2.isEdge()) {\n var edge = _ele2;\n var fields = [\"source\", \"target\"];\n var fieldsLength = fields.length;\n var badSourceOrTarget = false;\n for (var j = 0; j < fieldsLength; j++) {\n var field = fields[j];\n var val = _data3[field];\n if (number$12(val)) {\n val = _data3[field] = \"\" + _data3[field];\n }\n if (val == null || val === \"\") {\n error(\"Can not create edge `\" + id2 + \"` with unspecified \" + field);\n badSourceOrTarget = true;\n } else if (!cy.hasElementWithId(val)) {\n error(\"Can not create edge `\" + id2 + \"` with nonexistant \" + field + \" `\" + val + \"`\");\n badSourceOrTarget = true;\n }\n }\n if (badSourceOrTarget) {\n removeFromElements();\n continue;\n }\n var src = cy.getElementById(_data3.source);\n var tgt = cy.getElementById(_data3.target);\n if (src.same(tgt)) {\n src._private.edges.push(edge);\n } else {\n src._private.edges.push(edge);\n tgt._private.edges.push(edge);\n }\n edge._private.source = src;\n edge._private.target = tgt;\n }\n _private.map = new Map$22();\n _private.map.set(id2, {\n ele: _ele2,\n index: 0\n });\n _private.removed = false;\n if (addToPool) {\n cy.addToPool(_ele2);\n }\n }\n for (var _i4 = 0; _i4 < nodes2.length; _i4++) {\n var node2 = nodes2[_i4];\n var _data4 = node2._private.data;\n if (number$12(_data4.parent)) {\n _data4.parent = \"\" + _data4.parent;\n }\n var parentId = _data4.parent;\n var specifiedParent = parentId != null;\n if (specifiedParent || node2._private.parent) {\n var parent = node2._private.parent ? cy.collection().merge(node2._private.parent) : cy.getElementById(parentId);\n if (parent.empty()) {\n _data4.parent = void 0;\n } else if (parent[0].removed()) {\n warn(\"Node added with missing parent, reference to parent removed\");\n _data4.parent = void 0;\n node2._private.parent = null;\n } else {\n var selfAsParent = false;\n var ancestor = parent;\n while (!ancestor.empty()) {\n if (node2.same(ancestor)) {\n selfAsParent = true;\n _data4.parent = void 0;\n break;\n }\n ancestor = ancestor.parent();\n }\n if (!selfAsParent) {\n parent[0]._private.children.push(node2);\n node2._private.parent = parent[0];\n cy_p.hasCompoundNodes = true;\n }\n }\n }\n }\n if (elements2.length > 0) {\n var restored = elements2.length === self2.length ? self2 : new Collection(cy, elements2);\n for (var _i5 = 0; _i5 < restored.length; _i5++) {\n var _ele3 = restored[_i5];\n if (_ele3.isNode()) {\n continue;\n }\n _ele3.parallelEdges().clearTraversalCache();\n _ele3.source().clearTraversalCache();\n _ele3.target().clearTraversalCache();\n }\n var toUpdateStyle;\n if (cy_p.hasCompoundNodes) {\n toUpdateStyle = cy.collection().merge(restored).merge(restored.connectedNodes()).merge(restored.parent());\n } else {\n toUpdateStyle = restored;\n }\n toUpdateStyle.dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(notifyRenderer);\n if (notifyRenderer) {\n restored.emitAndNotify(\"add\");\n } else if (addToPool) {\n restored.emit(\"add\");\n }\n }\n return self2;\n };\n elesfn$1.removed = function() {\n var ele = this[0];\n return ele && ele._private.removed;\n };\n elesfn$1.inside = function() {\n var ele = this[0];\n return ele && !ele._private.removed;\n };\n elesfn$1.remove = function() {\n var notifyRenderer = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;\n var removeFromPool = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;\n var self2 = this;\n var elesToRemove = [];\n var elesToRemoveIds = {};\n var cy = self2._private.cy;\n function addConnectedEdges(node2) {\n var edges2 = node2._private.edges;\n for (var i4 = 0; i4 < edges2.length; i4++) {\n add(edges2[i4]);\n }\n }\n function addChildren2(node2) {\n var children2 = node2._private.children;\n for (var i4 = 0; i4 < children2.length; i4++) {\n add(children2[i4]);\n }\n }\n function add(ele2) {\n var alreadyAdded = elesToRemoveIds[ele2.id()];\n if (removeFromPool && ele2.removed() || alreadyAdded) {\n return;\n } else {\n elesToRemoveIds[ele2.id()] = true;\n }\n if (ele2.isNode()) {\n elesToRemove.push(ele2);\n addConnectedEdges(ele2);\n addChildren2(ele2);\n } else {\n elesToRemove.unshift(ele2);\n }\n }\n for (var i3 = 0, l = self2.length; i3 < l; i3++) {\n var ele = self2[i3];\n add(ele);\n }\n function removeEdgeRef(node2, edge) {\n var connectedEdges = node2._private.edges;\n removeFromArray(connectedEdges, edge);\n node2.clearTraversalCache();\n }\n function removeParallelRef(pllEdge2) {\n pllEdge2.clearTraversalCache();\n }\n var alteredParents = [];\n alteredParents.ids = {};\n function removeChildRef(parent2, ele2) {\n ele2 = ele2[0];\n parent2 = parent2[0];\n var children2 = parent2._private.children;\n var pid = parent2.id();\n removeFromArray(children2, ele2);\n ele2._private.parent = null;\n if (!alteredParents.ids[pid]) {\n alteredParents.ids[pid] = true;\n alteredParents.push(parent2);\n }\n }\n self2.dirtyCompoundBoundsCache();\n if (removeFromPool) {\n cy.removeFromPool(elesToRemove);\n }\n for (var _i6 = 0; _i6 < elesToRemove.length; _i6++) {\n var _ele4 = elesToRemove[_i6];\n if (_ele4.isEdge()) {\n var src = _ele4.source()[0];\n var tgt = _ele4.target()[0];\n removeEdgeRef(src, _ele4);\n removeEdgeRef(tgt, _ele4);\n var pllEdges = _ele4.parallelEdges();\n for (var j = 0; j < pllEdges.length; j++) {\n var pllEdge = pllEdges[j];\n removeParallelRef(pllEdge);\n if (pllEdge.isBundledBezier()) {\n pllEdge.dirtyBoundingBoxCache();\n }\n }\n } else {\n var parent = _ele4.parent();\n if (parent.length !== 0) {\n removeChildRef(parent, _ele4);\n }\n }\n if (removeFromPool) {\n _ele4._private.removed = true;\n }\n }\n var elesStillInside = cy._private.elements;\n cy._private.hasCompoundNodes = false;\n for (var _i7 = 0; _i7 < elesStillInside.length; _i7++) {\n var _ele5 = elesStillInside[_i7];\n if (_ele5.isParent()) {\n cy._private.hasCompoundNodes = true;\n break;\n }\n }\n var removedElements = new Collection(this.cy(), elesToRemove);\n if (removedElements.size() > 0) {\n if (notifyRenderer) {\n removedElements.emitAndNotify(\"remove\");\n } else if (removeFromPool) {\n removedElements.emit(\"remove\");\n }\n }\n for (var _i8 = 0; _i8 < alteredParents.length; _i8++) {\n var _ele6 = alteredParents[_i8];\n if (!removeFromPool || !_ele6.removed()) {\n _ele6.updateStyle();\n }\n }\n return removedElements;\n };\n elesfn$1.move = function(struct) {\n var cy = this._private.cy;\n var eles = this;\n var notifyRenderer = false;\n var modifyPool = false;\n var toString3 = function toString4(id2) {\n return id2 == null ? id2 : \"\" + id2;\n };\n if (struct.source !== void 0 || struct.target !== void 0) {\n var srcId = toString3(struct.source);\n var tgtId = toString3(struct.target);\n var srcExists = srcId != null && cy.hasElementWithId(srcId);\n var tgtExists = tgtId != null && cy.hasElementWithId(tgtId);\n if (srcExists || tgtExists) {\n cy.batch(function() {\n eles.remove(notifyRenderer, modifyPool);\n eles.emitAndNotify(\"moveout\");\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n var _data5 = ele._private.data;\n if (ele.isEdge()) {\n if (srcExists) {\n _data5.source = srcId;\n }\n if (tgtExists) {\n _data5.target = tgtId;\n }\n }\n }\n eles.restore(notifyRenderer, modifyPool);\n });\n eles.emitAndNotify(\"move\");\n }\n } else if (struct.parent !== void 0) {\n var parentId = toString3(struct.parent);\n var parentExists = parentId === null || cy.hasElementWithId(parentId);\n if (parentExists) {\n var pidToAssign = parentId === null ? void 0 : parentId;\n cy.batch(function() {\n var updated = eles.remove(notifyRenderer, modifyPool);\n updated.emitAndNotify(\"moveout\");\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n var _data6 = ele._private.data;\n if (ele.isNode()) {\n _data6.parent = pidToAssign;\n }\n }\n updated.restore(notifyRenderer, modifyPool);\n });\n eles.emitAndNotify(\"move\");\n }\n }\n return this;\n };\n [elesfn$j, elesfn$i, elesfn$h, elesfn$g, elesfn$f, data, elesfn$d, dimensions, elesfn$9, elesfn$8, elesfn$7, elesfn$6, elesfn$5, elesfn$4, elesfn$3, elesfn$2].forEach(function(props) {\n extend2(elesfn$1, props);\n });\n var corefn$9 = {\n add: function add(opts) {\n var elements2;\n var cy = this;\n if (elementOrCollection(opts)) {\n var eles = opts;\n if (eles._private.cy === cy) {\n elements2 = eles.restore();\n } else {\n var jsons = [];\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n jsons.push(ele.json());\n }\n elements2 = new Collection(cy, jsons);\n }\n } else if (array2(opts)) {\n var _jsons = opts;\n elements2 = new Collection(cy, _jsons);\n } else if (plainObject(opts) && (array2(opts.nodes) || array2(opts.edges))) {\n var elesByGroup = opts;\n var _jsons2 = [];\n var grs = [\"nodes\", \"edges\"];\n for (var _i = 0, il = grs.length; _i < il; _i++) {\n var group = grs[_i];\n var elesArray = elesByGroup[group];\n if (array2(elesArray)) {\n for (var j = 0, jl = elesArray.length; j < jl; j++) {\n var json2 = extend2({\n group\n }, elesArray[j]);\n _jsons2.push(json2);\n }\n }\n }\n elements2 = new Collection(cy, _jsons2);\n } else {\n var _json = opts;\n elements2 = new Element(cy, _json).collection();\n }\n return elements2;\n },\n remove: function remove2(collection2) {\n if (elementOrCollection(collection2))\n ;\n else if (string(collection2)) {\n var selector2 = collection2;\n collection2 = this.$(selector2);\n }\n return collection2.remove();\n }\n };\n /*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License */\n function generateCubicBezier(mX1, mY1, mX2, mY2) {\n var NEWTON_ITERATIONS = 4, NEWTON_MIN_SLOPE = 1e-3, SUBDIVISION_PRECISION = 1e-7, SUBDIVISION_MAX_ITERATIONS = 10, kSplineTableSize = 11, kSampleStepSize = 1 / (kSplineTableSize - 1), float32ArraySupported = typeof Float32Array !== \"undefined\";\n if (arguments.length !== 4) {\n return false;\n }\n for (var i3 = 0; i3 < 4; ++i3) {\n if (typeof arguments[i3] !== \"number\" || isNaN(arguments[i3]) || !isFinite(arguments[i3])) {\n return false;\n }\n }\n mX1 = Math.min(mX1, 1);\n mX2 = Math.min(mX2, 1);\n mX1 = Math.max(mX1, 0);\n mX2 = Math.max(mX2, 0);\n var mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n function A(aA1, aA2) {\n return 1 - 3 * aA2 + 3 * aA1;\n }\n function B(aA1, aA2) {\n return 3 * aA2 - 6 * aA1;\n }\n function C(aA1) {\n return 3 * aA1;\n }\n function calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n }\n function getSlope(aT, aA1, aA2) {\n return 3 * A(aA1, aA2) * aT * aT + 2 * B(aA1, aA2) * aT + C(aA1);\n }\n function newtonRaphsonIterate(aX, aGuessT) {\n for (var _i = 0; _i < NEWTON_ITERATIONS; ++_i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0) {\n return aGuessT;\n }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n function calcSampleValues() {\n for (var _i2 = 0; _i2 < kSplineTableSize; ++_i2) {\n mSampleValues[_i2] = calcBezier(_i2 * kSampleStepSize, mX1, mX2);\n }\n }\n function binarySubdivide(aX, aA, aB) {\n var currentX, currentT, i4 = 0;\n do {\n currentT = aA + (aB - aA) / 2;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i4 < SUBDIVISION_MAX_ITERATIONS);\n return currentT;\n }\n function getTForX(aX) {\n var intervalStart = 0, currentSample = 1, lastSample = kSplineTableSize - 1;\n for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n --currentSample;\n var dist3 = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]), guessForT = intervalStart + dist3 * kSampleStepSize, initialSlope = getSlope(guessForT, mX1, mX2);\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT);\n } else if (initialSlope === 0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize);\n }\n }\n var _precomputed = false;\n function precompute() {\n _precomputed = true;\n if (mX1 !== mY1 || mX2 !== mY2) {\n calcSampleValues();\n }\n }\n var f2 = function f3(aX) {\n if (!_precomputed) {\n precompute();\n }\n if (mX1 === mY1 && mX2 === mY2) {\n return aX;\n }\n if (aX === 0) {\n return 0;\n }\n if (aX === 1) {\n return 1;\n }\n return calcBezier(getTForX(aX), mY1, mY2);\n };\n f2.getControlPoints = function() {\n return [{\n x: mX1,\n y: mY1\n }, {\n x: mX2,\n y: mY2\n }];\n };\n var str2 = \"generateBezier(\" + [mX1, mY1, mX2, mY2] + \")\";\n f2.toString = function() {\n return str2;\n };\n return f2;\n }\n /*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */\n var generateSpringRK4 = function() {\n function springAccelerationForState(state) {\n return -state.tension * state.x - state.friction * state.v;\n }\n function springEvaluateStateWithDerivative(initialState, dt, derivative) {\n var state = {\n x: initialState.x + derivative.dx * dt,\n v: initialState.v + derivative.dv * dt,\n tension: initialState.tension,\n friction: initialState.friction\n };\n return {\n dx: state.v,\n dv: springAccelerationForState(state)\n };\n }\n function springIntegrateState(state, dt) {\n var a = {\n dx: state.v,\n dv: springAccelerationForState(state)\n }, b = springEvaluateStateWithDerivative(state, dt * 0.5, a), c2 = springEvaluateStateWithDerivative(state, dt * 0.5, b), d = springEvaluateStateWithDerivative(state, dt, c2), dxdt = 1 / 6 * (a.dx + 2 * (b.dx + c2.dx) + d.dx), dvdt = 1 / 6 * (a.dv + 2 * (b.dv + c2.dv) + d.dv);\n state.x = state.x + dxdt * dt;\n state.v = state.v + dvdt * dt;\n return state;\n }\n return function springRK4Factory(tension, friction, duration) {\n var initState = {\n x: -1,\n v: 0,\n tension: null,\n friction: null\n }, path2 = [0], time_lapsed = 0, tolerance = 1 / 1e4, DT = 16 / 1e3, have_duration, dt, last_state;\n tension = parseFloat(tension) || 500;\n friction = parseFloat(friction) || 20;\n duration = duration || null;\n initState.tension = tension;\n initState.friction = friction;\n have_duration = duration !== null;\n if (have_duration) {\n time_lapsed = springRK4Factory(tension, friction);\n dt = time_lapsed / duration * DT;\n } else {\n dt = DT;\n }\n for (; ; ) {\n last_state = springIntegrateState(last_state || initState, dt);\n path2.push(1 + last_state.x);\n time_lapsed += 16;\n if (!(Math.abs(last_state.x) > tolerance && Math.abs(last_state.v) > tolerance)) {\n break;\n }\n }\n return !have_duration ? time_lapsed : function(percentComplete) {\n return path2[percentComplete * (path2.length - 1) | 0];\n };\n };\n }();\n var cubicBezier = function cubicBezier2(t12, p1, t22, p2) {\n var bezier = generateCubicBezier(t12, p1, t22, p2);\n return function(start2, end2, percent) {\n return start2 + (end2 - start2) * bezier(percent);\n };\n };\n var easings = {\n \"linear\": function linear2(start2, end2, percent) {\n return start2 + (end2 - start2) * percent;\n },\n // default easings\n \"ease\": cubicBezier(0.25, 0.1, 0.25, 1),\n \"ease-in\": cubicBezier(0.42, 0, 1, 1),\n \"ease-out\": cubicBezier(0, 0, 0.58, 1),\n \"ease-in-out\": cubicBezier(0.42, 0, 0.58, 1),\n // sine\n \"ease-in-sine\": cubicBezier(0.47, 0, 0.745, 0.715),\n \"ease-out-sine\": cubicBezier(0.39, 0.575, 0.565, 1),\n \"ease-in-out-sine\": cubicBezier(0.445, 0.05, 0.55, 0.95),\n // quad\n \"ease-in-quad\": cubicBezier(0.55, 0.085, 0.68, 0.53),\n \"ease-out-quad\": cubicBezier(0.25, 0.46, 0.45, 0.94),\n \"ease-in-out-quad\": cubicBezier(0.455, 0.03, 0.515, 0.955),\n // cubic\n \"ease-in-cubic\": cubicBezier(0.55, 0.055, 0.675, 0.19),\n \"ease-out-cubic\": cubicBezier(0.215, 0.61, 0.355, 1),\n \"ease-in-out-cubic\": cubicBezier(0.645, 0.045, 0.355, 1),\n // quart\n \"ease-in-quart\": cubicBezier(0.895, 0.03, 0.685, 0.22),\n \"ease-out-quart\": cubicBezier(0.165, 0.84, 0.44, 1),\n \"ease-in-out-quart\": cubicBezier(0.77, 0, 0.175, 1),\n // quint\n \"ease-in-quint\": cubicBezier(0.755, 0.05, 0.855, 0.06),\n \"ease-out-quint\": cubicBezier(0.23, 1, 0.32, 1),\n \"ease-in-out-quint\": cubicBezier(0.86, 0, 0.07, 1),\n // expo\n \"ease-in-expo\": cubicBezier(0.95, 0.05, 0.795, 0.035),\n \"ease-out-expo\": cubicBezier(0.19, 1, 0.22, 1),\n \"ease-in-out-expo\": cubicBezier(1, 0, 0, 1),\n // circ\n \"ease-in-circ\": cubicBezier(0.6, 0.04, 0.98, 0.335),\n \"ease-out-circ\": cubicBezier(0.075, 0.82, 0.165, 1),\n \"ease-in-out-circ\": cubicBezier(0.785, 0.135, 0.15, 0.86),\n // user param easings...\n \"spring\": function spring(tension, friction, duration) {\n if (duration === 0) {\n return easings.linear;\n }\n var spring2 = generateSpringRK4(tension, friction, duration);\n return function(start2, end2, percent) {\n return start2 + (end2 - start2) * spring2(percent);\n };\n },\n \"cubic-bezier\": cubicBezier\n };\n function getEasedValue(type2, start2, end2, percent, easingFn) {\n if (percent === 1) {\n return end2;\n }\n if (start2 === end2) {\n return end2;\n }\n var val = easingFn(start2, end2, percent);\n if (type2 == null) {\n return val;\n }\n if (type2.roundValue || type2.color) {\n val = Math.round(val);\n }\n if (type2.min !== void 0) {\n val = Math.max(val, type2.min);\n }\n if (type2.max !== void 0) {\n val = Math.min(val, type2.max);\n }\n return val;\n }\n function getValue2(prop, spec) {\n if (prop.pfValue != null || prop.value != null) {\n if (prop.pfValue != null && (spec == null || spec.type.units !== \"%\")) {\n return prop.pfValue;\n } else {\n return prop.value;\n }\n } else {\n return prop;\n }\n }\n function ease(startProp, endProp, percent, easingFn, propSpec) {\n var type2 = propSpec != null ? propSpec.type : null;\n if (percent < 0) {\n percent = 0;\n } else if (percent > 1) {\n percent = 1;\n }\n var start2 = getValue2(startProp, propSpec);\n var end2 = getValue2(endProp, propSpec);\n if (number$12(start2) && number$12(end2)) {\n return getEasedValue(type2, start2, end2, percent, easingFn);\n } else if (array2(start2) && array2(end2)) {\n var easedArr = [];\n for (var i3 = 0; i3 < end2.length; i3++) {\n var si = start2[i3];\n var ei = end2[i3];\n if (si != null && ei != null) {\n var val = getEasedValue(type2, si, ei, percent, easingFn);\n easedArr.push(val);\n } else {\n easedArr.push(ei);\n }\n }\n return easedArr;\n }\n return void 0;\n }\n function step$1(self2, ani, now3, isCore) {\n var isEles = !isCore;\n var _p = self2._private;\n var ani_p = ani._private;\n var pEasing = ani_p.easing;\n var startTime = ani_p.startTime;\n var cy = isCore ? self2 : self2.cy();\n var style = cy.style();\n if (!ani_p.easingImpl) {\n if (pEasing == null) {\n ani_p.easingImpl = easings[\"linear\"];\n } else {\n var easingVals;\n if (string(pEasing)) {\n var easingProp = style.parse(\"transition-timing-function\", pEasing);\n easingVals = easingProp.value;\n } else {\n easingVals = pEasing;\n }\n var name2, args;\n if (string(easingVals)) {\n name2 = easingVals;\n args = [];\n } else {\n name2 = easingVals[1];\n args = easingVals.slice(2).map(function(n) {\n return +n;\n });\n }\n if (args.length > 0) {\n if (name2 === \"spring\") {\n args.push(ani_p.duration);\n }\n ani_p.easingImpl = easings[name2].apply(null, args);\n } else {\n ani_p.easingImpl = easings[name2];\n }\n }\n }\n var easing = ani_p.easingImpl;\n var percent;\n if (ani_p.duration === 0) {\n percent = 1;\n } else {\n percent = (now3 - startTime) / ani_p.duration;\n }\n if (ani_p.applying) {\n percent = ani_p.progress;\n }\n if (percent < 0) {\n percent = 0;\n } else if (percent > 1) {\n percent = 1;\n }\n if (ani_p.delay == null) {\n var startPos = ani_p.startPosition;\n var endPos = ani_p.position;\n if (endPos && isEles && !self2.locked()) {\n var newPos = {};\n if (valid(startPos.x, endPos.x)) {\n newPos.x = ease(startPos.x, endPos.x, percent, easing);\n }\n if (valid(startPos.y, endPos.y)) {\n newPos.y = ease(startPos.y, endPos.y, percent, easing);\n }\n self2.position(newPos);\n }\n var startPan = ani_p.startPan;\n var endPan = ani_p.pan;\n var pan = _p.pan;\n var animatingPan = endPan != null && isCore;\n if (animatingPan) {\n if (valid(startPan.x, endPan.x)) {\n pan.x = ease(startPan.x, endPan.x, percent, easing);\n }\n if (valid(startPan.y, endPan.y)) {\n pan.y = ease(startPan.y, endPan.y, percent, easing);\n }\n self2.emit(\"pan\");\n }\n var startZoom = ani_p.startZoom;\n var endZoom = ani_p.zoom;\n var animatingZoom = endZoom != null && isCore;\n if (animatingZoom) {\n if (valid(startZoom, endZoom)) {\n _p.zoom = bound(_p.minZoom, ease(startZoom, endZoom, percent, easing), _p.maxZoom);\n }\n self2.emit(\"zoom\");\n }\n if (animatingPan || animatingZoom) {\n self2.emit(\"viewport\");\n }\n var props = ani_p.style;\n if (props && props.length > 0 && isEles) {\n for (var i3 = 0; i3 < props.length; i3++) {\n var prop = props[i3];\n var _name = prop.name;\n var end2 = prop;\n var start2 = ani_p.startStyle[_name];\n var propSpec = style.properties[start2.name];\n var easedVal = ease(start2, end2, percent, easing, propSpec);\n style.overrideBypass(self2, _name, easedVal);\n }\n self2.emit(\"style\");\n }\n }\n ani_p.progress = percent;\n return percent;\n }\n function valid(start2, end2) {\n if (start2 == null || end2 == null) {\n return false;\n }\n if (number$12(start2) && number$12(end2)) {\n return true;\n } else if (start2 && end2) {\n return true;\n }\n return false;\n }\n function startAnimation(self2, ani, now3, isCore) {\n var ani_p = ani._private;\n ani_p.started = true;\n ani_p.startTime = now3 - ani_p.progress * ani_p.duration;\n }\n function stepAll(now3, cy) {\n var eles = cy._private.aniEles;\n var doneEles = [];\n function stepOne(ele2, isCore) {\n var _p = ele2._private;\n var current = _p.animation.current;\n var queue = _p.animation.queue;\n var ranAnis = false;\n if (current.length === 0) {\n var next2 = queue.shift();\n if (next2) {\n current.push(next2);\n }\n }\n var callbacks = function callbacks2(_callbacks) {\n for (var j = _callbacks.length - 1; j >= 0; j--) {\n var cb = _callbacks[j];\n cb();\n }\n _callbacks.splice(0, _callbacks.length);\n };\n for (var i3 = current.length - 1; i3 >= 0; i3--) {\n var ani = current[i3];\n var ani_p = ani._private;\n if (ani_p.stopped) {\n current.splice(i3, 1);\n ani_p.hooked = false;\n ani_p.playing = false;\n ani_p.started = false;\n callbacks(ani_p.frames);\n continue;\n }\n if (!ani_p.playing && !ani_p.applying) {\n continue;\n }\n if (ani_p.playing && ani_p.applying) {\n ani_p.applying = false;\n }\n if (!ani_p.started) {\n startAnimation(ele2, ani, now3);\n }\n step$1(ele2, ani, now3, isCore);\n if (ani_p.applying) {\n ani_p.applying = false;\n }\n callbacks(ani_p.frames);\n if (ani_p.step != null) {\n ani_p.step(now3);\n }\n if (ani.completed()) {\n current.splice(i3, 1);\n ani_p.hooked = false;\n ani_p.playing = false;\n ani_p.started = false;\n callbacks(ani_p.completes);\n }\n ranAnis = true;\n }\n if (!isCore && current.length === 0 && queue.length === 0) {\n doneEles.push(ele2);\n }\n return ranAnis;\n }\n var ranEleAni = false;\n for (var e = 0; e < eles.length; e++) {\n var ele = eles[e];\n var handledThisEle = stepOne(ele);\n ranEleAni = ranEleAni || handledThisEle;\n }\n var ranCoreAni = stepOne(cy, true);\n if (ranEleAni || ranCoreAni) {\n if (eles.length > 0) {\n cy.notify(\"draw\", eles);\n } else {\n cy.notify(\"draw\");\n }\n }\n eles.unmerge(doneEles);\n cy.emit(\"step\");\n }\n var corefn$8 = {\n // pull in animation functions\n animate: define3.animate(),\n animation: define3.animation(),\n animated: define3.animated(),\n clearQueue: define3.clearQueue(),\n delay: define3.delay(),\n delayAnimation: define3.delayAnimation(),\n stop: define3.stop(),\n addToAnimationPool: function addToAnimationPool(eles) {\n var cy = this;\n if (!cy.styleEnabled()) {\n return;\n }\n cy._private.aniEles.merge(eles);\n },\n stopAnimationLoop: function stopAnimationLoop() {\n this._private.animationsRunning = false;\n },\n startAnimationLoop: function startAnimationLoop() {\n var cy = this;\n cy._private.animationsRunning = true;\n if (!cy.styleEnabled()) {\n return;\n }\n function headlessStep() {\n if (!cy._private.animationsRunning) {\n return;\n }\n requestAnimationFrame2(function animationStep(now3) {\n stepAll(now3, cy);\n headlessStep();\n });\n }\n var renderer3 = cy.renderer();\n if (renderer3 && renderer3.beforeRender) {\n renderer3.beforeRender(function rendererAnimationStep(willDraw, now3) {\n stepAll(now3, cy);\n }, renderer3.beforeRenderPriorities.animations);\n } else {\n headlessStep();\n }\n }\n };\n var emitterOptions = {\n qualifierCompare: function qualifierCompare(selector1, selector2) {\n if (selector1 == null || selector2 == null) {\n return selector1 == null && selector2 == null;\n } else {\n return selector1.sameText(selector2);\n }\n },\n eventMatches: function eventMatches(cy, listener, eventObj) {\n var selector2 = listener.qualifier;\n if (selector2 != null) {\n return cy !== eventObj.target && element(eventObj.target) && selector2.matches(eventObj.target);\n }\n return true;\n },\n addEventFields: function addEventFields(cy, evt) {\n evt.cy = cy;\n evt.target = cy;\n },\n callbackContext: function callbackContext(cy, listener, eventObj) {\n return listener.qualifier != null ? eventObj.target : cy;\n }\n };\n var argSelector = function argSelector2(arg) {\n if (string(arg)) {\n return new Selector(arg);\n } else {\n return arg;\n }\n };\n var elesfn = {\n createEmitter: function createEmitter() {\n var _p = this._private;\n if (!_p.emitter) {\n _p.emitter = new Emitter(emitterOptions, this);\n }\n return this;\n },\n emitter: function emitter() {\n return this._private.emitter;\n },\n on: function on(events, selector2, callback) {\n this.emitter().on(events, argSelector(selector2), callback);\n return this;\n },\n removeListener: function removeListener(events, selector2, callback) {\n this.emitter().removeListener(events, argSelector(selector2), callback);\n return this;\n },\n removeAllListeners: function removeAllListeners() {\n this.emitter().removeAllListeners();\n return this;\n },\n one: function one2(events, selector2, callback) {\n this.emitter().one(events, argSelector(selector2), callback);\n return this;\n },\n once: function once(events, selector2, callback) {\n this.emitter().one(events, argSelector(selector2), callback);\n return this;\n },\n emit: function emit(events, extraParams) {\n this.emitter().emit(events, extraParams);\n return this;\n },\n emitAndNotify: function emitAndNotify(event2, eles) {\n this.emit(event2);\n this.notify(event2, eles);\n return this;\n }\n };\n define3.eventAliasesOn(elesfn);\n var corefn$7 = {\n png: function png(options2) {\n var renderer3 = this._private.renderer;\n options2 = options2 || {};\n return renderer3.png(options2);\n },\n jpg: function jpg(options2) {\n var renderer3 = this._private.renderer;\n options2 = options2 || {};\n options2.bg = options2.bg || \"#fff\";\n return renderer3.jpg(options2);\n }\n };\n corefn$7.jpeg = corefn$7.jpg;\n var corefn$6 = {\n layout: function layout3(options2) {\n var cy = this;\n if (options2 == null) {\n error(\"Layout options must be specified to make a layout\");\n return;\n }\n if (options2.name == null) {\n error(\"A `name` must be specified to make a layout\");\n return;\n }\n var name2 = options2.name;\n var Layout2 = cy.extension(\"layout\", name2);\n if (Layout2 == null) {\n error(\"No such layout `\" + name2 + \"` found. Did you forget to import it and `cytoscape.use()` it?\");\n return;\n }\n var eles;\n if (string(options2.eles)) {\n eles = cy.$(options2.eles);\n } else {\n eles = options2.eles != null ? options2.eles : cy.$();\n }\n var layout4 = new Layout2(extend2({}, options2, {\n cy,\n eles\n }));\n return layout4;\n }\n };\n corefn$6.createLayout = corefn$6.makeLayout = corefn$6.layout;\n var corefn$5 = {\n notify: function notify(eventName, eventEles) {\n var _p = this._private;\n if (this.batching()) {\n _p.batchNotifications = _p.batchNotifications || {};\n var eles = _p.batchNotifications[eventName] = _p.batchNotifications[eventName] || this.collection();\n if (eventEles != null) {\n eles.merge(eventEles);\n }\n return;\n }\n if (!_p.notificationsEnabled) {\n return;\n }\n var renderer3 = this.renderer();\n if (this.destroyed() || !renderer3) {\n return;\n }\n renderer3.notify(eventName, eventEles);\n },\n notifications: function notifications(bool2) {\n var p2 = this._private;\n if (bool2 === void 0) {\n return p2.notificationsEnabled;\n } else {\n p2.notificationsEnabled = bool2 ? true : false;\n }\n return this;\n },\n noNotifications: function noNotifications(callback) {\n this.notifications(false);\n callback();\n this.notifications(true);\n },\n batching: function batching() {\n return this._private.batchCount > 0;\n },\n startBatch: function startBatch() {\n var _p = this._private;\n if (_p.batchCount == null) {\n _p.batchCount = 0;\n }\n if (_p.batchCount === 0) {\n _p.batchStyleEles = this.collection();\n _p.batchNotifications = {};\n }\n _p.batchCount++;\n return this;\n },\n endBatch: function endBatch() {\n var _p = this._private;\n if (_p.batchCount === 0) {\n return this;\n }\n _p.batchCount--;\n if (_p.batchCount === 0) {\n _p.batchStyleEles.updateStyle();\n var renderer3 = this.renderer();\n Object.keys(_p.batchNotifications).forEach(function(eventName) {\n var eles = _p.batchNotifications[eventName];\n if (eles.empty()) {\n renderer3.notify(eventName);\n } else {\n renderer3.notify(eventName, eles);\n }\n });\n }\n return this;\n },\n batch: function batch(callback) {\n this.startBatch();\n callback();\n this.endBatch();\n return this;\n },\n // for backwards compatibility\n batchData: function batchData(map2) {\n var cy = this;\n return this.batch(function() {\n var ids = Object.keys(map2);\n for (var i3 = 0; i3 < ids.length; i3++) {\n var id2 = ids[i3];\n var data2 = map2[id2];\n var ele = cy.getElementById(id2);\n ele.data(data2);\n }\n });\n }\n };\n var rendererDefaults = defaults$g({\n hideEdgesOnViewport: false,\n textureOnViewport: false,\n motionBlur: false,\n motionBlurOpacity: 0.05,\n pixelRatio: void 0,\n desktopTapThreshold: 4,\n touchTapThreshold: 8,\n wheelSensitivity: 1,\n debug: false,\n showFps: false\n });\n var corefn$4 = {\n renderTo: function renderTo(context, zoom, pan, pxRatio) {\n var r = this._private.renderer;\n r.renderTo(context, zoom, pan, pxRatio);\n return this;\n },\n renderer: function renderer3() {\n return this._private.renderer;\n },\n forceRender: function forceRender() {\n this.notify(\"draw\");\n return this;\n },\n resize: function resize() {\n this.invalidateSize();\n this.emitAndNotify(\"resize\");\n return this;\n },\n initRenderer: function initRenderer(options2) {\n var cy = this;\n var RendererProto = cy.extension(\"renderer\", options2.name);\n if (RendererProto == null) {\n error(\"Can not initialise: No such renderer `\".concat(options2.name, \"` found. Did you forget to import it and `cytoscape.use()` it?\"));\n return;\n }\n if (options2.wheelSensitivity !== void 0) {\n warn(\"You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.\");\n }\n var rOpts = rendererDefaults(options2);\n rOpts.cy = cy;\n cy._private.renderer = new RendererProto(rOpts);\n this.notify(\"init\");\n },\n destroyRenderer: function destroyRenderer() {\n var cy = this;\n cy.notify(\"destroy\");\n var domEle = cy.container();\n if (domEle) {\n domEle._cyreg = null;\n while (domEle.childNodes.length > 0) {\n domEle.removeChild(domEle.childNodes[0]);\n }\n }\n cy._private.renderer = null;\n cy.mutableElements().forEach(function(ele) {\n var _p = ele._private;\n _p.rscratch = {};\n _p.rstyle = {};\n _p.animation.current = [];\n _p.animation.queue = [];\n });\n },\n onRender: function onRender(fn2) {\n return this.on(\"render\", fn2);\n },\n offRender: function offRender(fn2) {\n return this.off(\"render\", fn2);\n }\n };\n corefn$4.invalidateDimensions = corefn$4.resize;\n var corefn$3 = {\n // get a collection\n // - empty collection on no args\n // - collection of elements in the graph on selector arg\n // - guarantee a returned collection when elements or collection specified\n collection: function collection2(eles, opts) {\n if (string(eles)) {\n return this.$(eles);\n } else if (elementOrCollection(eles)) {\n return eles.collection();\n } else if (array2(eles)) {\n if (!opts) {\n opts = {};\n }\n return new Collection(this, eles, opts.unique, opts.removed);\n }\n return new Collection(this);\n },\n nodes: function nodes2(selector2) {\n var nodes3 = this.$(function(ele) {\n return ele.isNode();\n });\n if (selector2) {\n return nodes3.filter(selector2);\n }\n return nodes3;\n },\n edges: function edges2(selector2) {\n var edges3 = this.$(function(ele) {\n return ele.isEdge();\n });\n if (selector2) {\n return edges3.filter(selector2);\n }\n return edges3;\n },\n // search the graph like jQuery\n $: function $(selector2) {\n var eles = this._private.elements;\n if (selector2) {\n return eles.filter(selector2);\n } else {\n return eles.spawnSelf();\n }\n },\n mutableElements: function mutableElements() {\n return this._private.elements;\n }\n };\n corefn$3.elements = corefn$3.filter = corefn$3.$;\n var styfn$8 = {};\n var TRUE = \"t\";\n var FALSE = \"f\";\n styfn$8.apply = function(eles) {\n var self2 = this;\n var _p = self2._private;\n var cy = _p.cy;\n var updatedEles = cy.collection();\n for (var ie = 0; ie < eles.length; ie++) {\n var ele = eles[ie];\n var cxtMeta = self2.getContextMeta(ele);\n if (cxtMeta.empty) {\n continue;\n }\n var cxtStyle = self2.getContextStyle(cxtMeta);\n var app = self2.applyContextStyle(cxtMeta, cxtStyle, ele);\n if (ele._private.appliedInitStyle) {\n self2.updateTransitions(ele, app.diffProps);\n } else {\n ele._private.appliedInitStyle = true;\n }\n var hintsDiff = self2.updateStyleHints(ele);\n if (hintsDiff) {\n updatedEles.push(ele);\n }\n }\n return updatedEles;\n };\n styfn$8.getPropertiesDiff = function(oldCxtKey, newCxtKey) {\n var self2 = this;\n var cache2 = self2._private.propDiffs = self2._private.propDiffs || {};\n var dualCxtKey = oldCxtKey + \"-\" + newCxtKey;\n var cachedVal = cache2[dualCxtKey];\n if (cachedVal) {\n return cachedVal;\n }\n var diffProps = [];\n var addedProp = {};\n for (var i3 = 0; i3 < self2.length; i3++) {\n var cxt = self2[i3];\n var oldHasCxt = oldCxtKey[i3] === TRUE;\n var newHasCxt = newCxtKey[i3] === TRUE;\n var cxtHasDiffed = oldHasCxt !== newHasCxt;\n var cxtHasMappedProps = cxt.mappedProperties.length > 0;\n if (cxtHasDiffed || newHasCxt && cxtHasMappedProps) {\n var props = void 0;\n if (cxtHasDiffed && cxtHasMappedProps) {\n props = cxt.properties;\n } else if (cxtHasDiffed) {\n props = cxt.properties;\n } else if (cxtHasMappedProps) {\n props = cxt.mappedProperties;\n }\n for (var j = 0; j < props.length; j++) {\n var prop = props[j];\n var name2 = prop.name;\n var laterCxtOverrides = false;\n for (var k = i3 + 1; k < self2.length; k++) {\n var laterCxt = self2[k];\n var hasLaterCxt = newCxtKey[k] === TRUE;\n if (!hasLaterCxt) {\n continue;\n }\n laterCxtOverrides = laterCxt.properties[prop.name] != null;\n if (laterCxtOverrides) {\n break;\n }\n }\n if (!addedProp[name2] && !laterCxtOverrides) {\n addedProp[name2] = true;\n diffProps.push(name2);\n }\n }\n }\n }\n cache2[dualCxtKey] = diffProps;\n return diffProps;\n };\n styfn$8.getContextMeta = function(ele) {\n var self2 = this;\n var cxtKey = \"\";\n var diffProps;\n var prevKey = ele._private.styleCxtKey || \"\";\n for (var i3 = 0; i3 < self2.length; i3++) {\n var context = self2[i3];\n var contextSelectorMatches = context.selector && context.selector.matches(ele);\n if (contextSelectorMatches) {\n cxtKey += TRUE;\n } else {\n cxtKey += FALSE;\n }\n }\n diffProps = self2.getPropertiesDiff(prevKey, cxtKey);\n ele._private.styleCxtKey = cxtKey;\n return {\n key: cxtKey,\n diffPropNames: diffProps,\n empty: diffProps.length === 0\n };\n };\n styfn$8.getContextStyle = function(cxtMeta) {\n var cxtKey = cxtMeta.key;\n var self2 = this;\n var cxtStyles = this._private.contextStyles = this._private.contextStyles || {};\n if (cxtStyles[cxtKey]) {\n return cxtStyles[cxtKey];\n }\n var style = {\n _private: {\n key: cxtKey\n }\n };\n for (var i3 = 0; i3 < self2.length; i3++) {\n var cxt = self2[i3];\n var hasCxt = cxtKey[i3] === TRUE;\n if (!hasCxt) {\n continue;\n }\n for (var j = 0; j < cxt.properties.length; j++) {\n var prop = cxt.properties[j];\n style[prop.name] = prop;\n }\n }\n cxtStyles[cxtKey] = style;\n return style;\n };\n styfn$8.applyContextStyle = function(cxtMeta, cxtStyle, ele) {\n var self2 = this;\n var diffProps = cxtMeta.diffPropNames;\n var retDiffProps = {};\n var types = self2.types;\n for (var i3 = 0; i3 < diffProps.length; i3++) {\n var diffPropName = diffProps[i3];\n var cxtProp = cxtStyle[diffPropName];\n var eleProp = ele.pstyle(diffPropName);\n if (!cxtProp) {\n if (!eleProp) {\n continue;\n } else if (eleProp.bypass) {\n cxtProp = {\n name: diffPropName,\n deleteBypassed: true\n };\n } else {\n cxtProp = {\n name: diffPropName,\n \"delete\": true\n };\n }\n }\n if (eleProp === cxtProp) {\n continue;\n }\n if (cxtProp.mapped === types.fn && eleProp != null && eleProp.mapping != null && eleProp.mapping.value === cxtProp.value) {\n var mapping = eleProp.mapping;\n var fnValue = mapping.fnValue = cxtProp.value(ele);\n if (fnValue === mapping.prevFnValue) {\n continue;\n }\n }\n var retDiffProp = retDiffProps[diffPropName] = {\n prev: eleProp\n };\n self2.applyParsedProperty(ele, cxtProp);\n retDiffProp.next = ele.pstyle(diffPropName);\n if (retDiffProp.next && retDiffProp.next.bypass) {\n retDiffProp.next = retDiffProp.next.bypassed;\n }\n }\n return {\n diffProps: retDiffProps\n };\n };\n styfn$8.updateStyleHints = function(ele) {\n var _p = ele._private;\n var self2 = this;\n var propNames = self2.propertyGroupNames;\n var propGrKeys = self2.propertyGroupKeys;\n var propHash = function propHash2(ele2, propNames2, seedKey) {\n return self2.getPropertiesHash(ele2, propNames2, seedKey);\n };\n var oldStyleKey = _p.styleKey;\n if (ele.removed()) {\n return false;\n }\n var isNode = _p.group === \"nodes\";\n var overriddenStyles = ele._private.style;\n propNames = Object.keys(overriddenStyles);\n for (var i3 = 0; i3 < propGrKeys.length; i3++) {\n var grKey = propGrKeys[i3];\n _p.styleKeys[grKey] = [DEFAULT_HASH_SEED, DEFAULT_HASH_SEED_ALT];\n }\n var updateGrKey1 = function updateGrKey12(val, grKey2) {\n return _p.styleKeys[grKey2][0] = hashInt(val, _p.styleKeys[grKey2][0]);\n };\n var updateGrKey2 = function updateGrKey22(val, grKey2) {\n return _p.styleKeys[grKey2][1] = hashIntAlt(val, _p.styleKeys[grKey2][1]);\n };\n var updateGrKey = function updateGrKey3(val, grKey2) {\n updateGrKey1(val, grKey2);\n updateGrKey2(val, grKey2);\n };\n var updateGrKeyWStr = function updateGrKeyWStr2(strVal, grKey2) {\n for (var j = 0; j < strVal.length; j++) {\n var ch = strVal.charCodeAt(j);\n updateGrKey1(ch, grKey2);\n updateGrKey2(ch, grKey2);\n }\n };\n var N = 2e9;\n var cleanNum = function cleanNum2(val) {\n return -128 < val && val < 128 && Math.floor(val) !== val ? N - (val * 1024 | 0) : val;\n };\n for (var _i = 0; _i < propNames.length; _i++) {\n var name2 = propNames[_i];\n var parsedProp = overriddenStyles[name2];\n if (parsedProp == null) {\n continue;\n }\n var propInfo = this.properties[name2];\n var type2 = propInfo.type;\n var _grKey = propInfo.groupKey;\n var normalizedNumberVal = void 0;\n if (propInfo.hashOverride != null) {\n normalizedNumberVal = propInfo.hashOverride(ele, parsedProp);\n } else if (parsedProp.pfValue != null) {\n normalizedNumberVal = parsedProp.pfValue;\n }\n var numberVal = propInfo.enums == null ? parsedProp.value : null;\n var haveNormNum = normalizedNumberVal != null;\n var haveUnitedNum = numberVal != null;\n var haveNum = haveNormNum || haveUnitedNum;\n var units = parsedProp.units;\n if (type2.number && haveNum && !type2.multiple) {\n var v = haveNormNum ? normalizedNumberVal : numberVal;\n updateGrKey(cleanNum(v), _grKey);\n if (!haveNormNum && units != null) {\n updateGrKeyWStr(units, _grKey);\n }\n } else {\n updateGrKeyWStr(parsedProp.strValue, _grKey);\n }\n }\n var hash = [DEFAULT_HASH_SEED, DEFAULT_HASH_SEED_ALT];\n for (var _i2 = 0; _i2 < propGrKeys.length; _i2++) {\n var _grKey2 = propGrKeys[_i2];\n var grHash = _p.styleKeys[_grKey2];\n hash[0] = hashInt(grHash[0], hash[0]);\n hash[1] = hashIntAlt(grHash[1], hash[1]);\n }\n _p.styleKey = combineHashes(hash[0], hash[1]);\n var sk = _p.styleKeys;\n _p.labelDimsKey = combineHashesArray(sk.labelDimensions);\n var labelKeys = propHash(ele, [\"label\"], sk.labelDimensions);\n _p.labelKey = combineHashesArray(labelKeys);\n _p.labelStyleKey = combineHashesArray(hashArrays(sk.commonLabel, labelKeys));\n if (!isNode) {\n var sourceLabelKeys = propHash(ele, [\"source-label\"], sk.labelDimensions);\n _p.sourceLabelKey = combineHashesArray(sourceLabelKeys);\n _p.sourceLabelStyleKey = combineHashesArray(hashArrays(sk.commonLabel, sourceLabelKeys));\n var targetLabelKeys = propHash(ele, [\"target-label\"], sk.labelDimensions);\n _p.targetLabelKey = combineHashesArray(targetLabelKeys);\n _p.targetLabelStyleKey = combineHashesArray(hashArrays(sk.commonLabel, targetLabelKeys));\n }\n if (isNode) {\n var _p$styleKeys = _p.styleKeys, nodeBody = _p$styleKeys.nodeBody, nodeBorder = _p$styleKeys.nodeBorder, backgroundImage = _p$styleKeys.backgroundImage, compound = _p$styleKeys.compound, pie = _p$styleKeys.pie;\n var nodeKeys = [nodeBody, nodeBorder, backgroundImage, compound, pie].filter(function(k) {\n return k != null;\n }).reduce(hashArrays, [DEFAULT_HASH_SEED, DEFAULT_HASH_SEED_ALT]);\n _p.nodeKey = combineHashesArray(nodeKeys);\n _p.hasPie = pie != null && pie[0] !== DEFAULT_HASH_SEED && pie[1] !== DEFAULT_HASH_SEED_ALT;\n }\n return oldStyleKey !== _p.styleKey;\n };\n styfn$8.clearStyleHints = function(ele) {\n var _p = ele._private;\n _p.styleCxtKey = \"\";\n _p.styleKeys = {};\n _p.styleKey = null;\n _p.labelKey = null;\n _p.labelStyleKey = null;\n _p.sourceLabelKey = null;\n _p.sourceLabelStyleKey = null;\n _p.targetLabelKey = null;\n _p.targetLabelStyleKey = null;\n _p.nodeKey = null;\n _p.hasPie = null;\n };\n styfn$8.applyParsedProperty = function(ele, parsedProp) {\n var self2 = this;\n var prop = parsedProp;\n var style = ele._private.style;\n var flatProp;\n var types = self2.types;\n var type2 = self2.properties[prop.name].type;\n var propIsBypass = prop.bypass;\n var origProp = style[prop.name];\n var origPropIsBypass = origProp && origProp.bypass;\n var _p = ele._private;\n var flatPropMapping = \"mapping\";\n var getVal = function getVal2(p2) {\n if (p2 == null) {\n return null;\n } else if (p2.pfValue != null) {\n return p2.pfValue;\n } else {\n return p2.value;\n }\n };\n var checkTriggers = function checkTriggers2() {\n var fromVal = getVal(origProp);\n var toVal = getVal(prop);\n self2.checkTriggers(ele, prop.name, fromVal, toVal);\n };\n if (prop && prop.name.substr(0, 3) === \"pie\") {\n warn(\"The pie style properties are deprecated. Create charts using background images instead.\");\n }\n if (parsedProp.name === \"curve-style\" && ele.isEdge() && // loops must be bundled beziers\n (parsedProp.value !== \"bezier\" && ele.isLoop() || // edges connected to compound nodes can not be haystacks\n parsedProp.value === \"haystack\" && (ele.source().isParent() || ele.target().isParent()))) {\n prop = parsedProp = this.parse(parsedProp.name, \"bezier\", propIsBypass);\n }\n if (prop[\"delete\"]) {\n style[prop.name] = void 0;\n checkTriggers();\n return true;\n }\n if (prop.deleteBypassed) {\n if (!origProp) {\n checkTriggers();\n return true;\n } else if (origProp.bypass) {\n origProp.bypassed = void 0;\n checkTriggers();\n return true;\n } else {\n return false;\n }\n }\n if (prop.deleteBypass) {\n if (!origProp) {\n checkTriggers();\n return true;\n } else if (origProp.bypass) {\n style[prop.name] = origProp.bypassed;\n checkTriggers();\n return true;\n } else {\n return false;\n }\n }\n var printMappingErr = function printMappingErr2() {\n warn(\"Do not assign mappings to elements without corresponding data (i.e. ele `\" + ele.id() + \"` has no mapping for property `\" + prop.name + \"` with data field `\" + prop.field + \"`); try a `[\" + prop.field + \"]` selector to limit scope to elements with `\" + prop.field + \"` defined\");\n };\n switch (prop.mapped) {\n case types.mapData: {\n var fields = prop.field.split(\".\");\n var fieldVal = _p.data;\n for (var i3 = 0; i3 < fields.length && fieldVal; i3++) {\n var field = fields[i3];\n fieldVal = fieldVal[field];\n }\n if (fieldVal == null) {\n printMappingErr();\n return false;\n }\n var percent;\n if (!number$12(fieldVal)) {\n warn(\"Do not use continuous mappers without specifying numeric data (i.e. `\" + prop.field + \": \" + fieldVal + \"` for `\" + ele.id() + \"` is non-numeric)\");\n return false;\n } else {\n var fieldWidth = prop.fieldMax - prop.fieldMin;\n if (fieldWidth === 0) {\n percent = 0;\n } else {\n percent = (fieldVal - prop.fieldMin) / fieldWidth;\n }\n }\n if (percent < 0) {\n percent = 0;\n } else if (percent > 1) {\n percent = 1;\n }\n if (type2.color) {\n var r1 = prop.valueMin[0];\n var r2 = prop.valueMax[0];\n var g1 = prop.valueMin[1];\n var g2 = prop.valueMax[1];\n var b1 = prop.valueMin[2];\n var b2 = prop.valueMax[2];\n var a1 = prop.valueMin[3] == null ? 1 : prop.valueMin[3];\n var a2 = prop.valueMax[3] == null ? 1 : prop.valueMax[3];\n var clr = [Math.round(r1 + (r2 - r1) * percent), Math.round(g1 + (g2 - g1) * percent), Math.round(b1 + (b2 - b1) * percent), Math.round(a1 + (a2 - a1) * percent)];\n flatProp = {\n // colours are simple, so just create the flat property instead of expensive string parsing\n bypass: prop.bypass,\n // we're a bypass if the mapping property is a bypass\n name: prop.name,\n value: clr,\n strValue: \"rgb(\" + clr[0] + \", \" + clr[1] + \", \" + clr[2] + \")\"\n };\n } else if (type2.number) {\n var calcValue = prop.valueMin + (prop.valueMax - prop.valueMin) * percent;\n flatProp = this.parse(prop.name, calcValue, prop.bypass, flatPropMapping);\n } else {\n return false;\n }\n if (!flatProp) {\n printMappingErr();\n return false;\n }\n flatProp.mapping = prop;\n prop = flatProp;\n break;\n }\n case types.data: {\n var _fields = prop.field.split(\".\");\n var _fieldVal = _p.data;\n for (var _i3 = 0; _i3 < _fields.length && _fieldVal; _i3++) {\n var _field = _fields[_i3];\n _fieldVal = _fieldVal[_field];\n }\n if (_fieldVal != null) {\n flatProp = this.parse(prop.name, _fieldVal, prop.bypass, flatPropMapping);\n }\n if (!flatProp) {\n printMappingErr();\n return false;\n }\n flatProp.mapping = prop;\n prop = flatProp;\n break;\n }\n case types.fn: {\n var fn2 = prop.value;\n var fnRetVal = prop.fnValue != null ? prop.fnValue : fn2(ele);\n prop.prevFnValue = fnRetVal;\n if (fnRetVal == null) {\n warn(\"Custom function mappers may not return null (i.e. `\" + prop.name + \"` for ele `\" + ele.id() + \"` is null)\");\n return false;\n }\n flatProp = this.parse(prop.name, fnRetVal, prop.bypass, flatPropMapping);\n if (!flatProp) {\n warn(\"Custom function mappers may not return invalid values for the property type (i.e. `\" + prop.name + \"` for ele `\" + ele.id() + \"` is invalid)\");\n return false;\n }\n flatProp.mapping = copy2(prop);\n prop = flatProp;\n break;\n }\n case void 0:\n break;\n default:\n return false;\n }\n if (propIsBypass) {\n if (origPropIsBypass) {\n prop.bypassed = origProp.bypassed;\n } else {\n prop.bypassed = origProp;\n }\n style[prop.name] = prop;\n } else {\n if (origPropIsBypass) {\n origProp.bypassed = prop;\n } else {\n style[prop.name] = prop;\n }\n }\n checkTriggers();\n return true;\n };\n styfn$8.cleanElements = function(eles, keepBypasses) {\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n this.clearStyleHints(ele);\n ele.dirtyCompoundBoundsCache();\n ele.dirtyBoundingBoxCache();\n if (!keepBypasses) {\n ele._private.style = {};\n } else {\n var style = ele._private.style;\n var propNames = Object.keys(style);\n for (var j = 0; j < propNames.length; j++) {\n var propName = propNames[j];\n var eleProp = style[propName];\n if (eleProp != null) {\n if (eleProp.bypass) {\n eleProp.bypassed = null;\n } else {\n style[propName] = null;\n }\n }\n }\n }\n }\n };\n styfn$8.update = function() {\n var cy = this._private.cy;\n var eles = cy.mutableElements();\n eles.updateStyle();\n };\n styfn$8.updateTransitions = function(ele, diffProps) {\n var self2 = this;\n var _p = ele._private;\n var props = ele.pstyle(\"transition-property\").value;\n var duration = ele.pstyle(\"transition-duration\").pfValue;\n var delay = ele.pstyle(\"transition-delay\").pfValue;\n if (props.length > 0 && duration > 0) {\n var style = {};\n var anyPrev = false;\n for (var i3 = 0; i3 < props.length; i3++) {\n var prop = props[i3];\n var styProp = ele.pstyle(prop);\n var diffProp = diffProps[prop];\n if (!diffProp) {\n continue;\n }\n var prevProp = diffProp.prev;\n var fromProp = prevProp;\n var toProp = diffProp.next != null ? diffProp.next : styProp;\n var diff = false;\n var initVal = void 0;\n var initDt = 1e-6;\n if (!fromProp) {\n continue;\n }\n if (number$12(fromProp.pfValue) && number$12(toProp.pfValue)) {\n diff = toProp.pfValue - fromProp.pfValue;\n initVal = fromProp.pfValue + initDt * diff;\n } else if (number$12(fromProp.value) && number$12(toProp.value)) {\n diff = toProp.value - fromProp.value;\n initVal = fromProp.value + initDt * diff;\n } else if (array2(fromProp.value) && array2(toProp.value)) {\n diff = fromProp.value[0] !== toProp.value[0] || fromProp.value[1] !== toProp.value[1] || fromProp.value[2] !== toProp.value[2];\n initVal = fromProp.strValue;\n }\n if (diff) {\n style[prop] = toProp.strValue;\n this.applyBypass(ele, prop, initVal);\n anyPrev = true;\n }\n }\n if (!anyPrev) {\n return;\n }\n _p.transitioning = true;\n new Promise$12(function(resolve2) {\n if (delay > 0) {\n ele.delayAnimation(delay).play().promise().then(resolve2);\n } else {\n resolve2();\n }\n }).then(function() {\n return ele.animation({\n style,\n duration,\n easing: ele.pstyle(\"transition-timing-function\").value,\n queue: false\n }).play().promise();\n }).then(function() {\n self2.removeBypasses(ele, props);\n ele.emitAndNotify(\"style\");\n _p.transitioning = false;\n });\n } else if (_p.transitioning) {\n this.removeBypasses(ele, props);\n ele.emitAndNotify(\"style\");\n _p.transitioning = false;\n }\n };\n styfn$8.checkTrigger = function(ele, name2, fromValue, toValue, getTrigger, onTrigger) {\n var prop = this.properties[name2];\n var triggerCheck = getTrigger(prop);\n if (triggerCheck != null && triggerCheck(fromValue, toValue)) {\n onTrigger(prop);\n }\n };\n styfn$8.checkZOrderTrigger = function(ele, name2, fromValue, toValue) {\n var _this = this;\n this.checkTrigger(ele, name2, fromValue, toValue, function(prop) {\n return prop.triggersZOrder;\n }, function() {\n _this._private.cy.notify(\"zorder\", ele);\n });\n };\n styfn$8.checkBoundsTrigger = function(ele, name2, fromValue, toValue) {\n this.checkTrigger(ele, name2, fromValue, toValue, function(prop) {\n return prop.triggersBounds;\n }, function(prop) {\n ele.dirtyCompoundBoundsCache();\n ele.dirtyBoundingBoxCache();\n if (\n // only for beziers -- so performance of other edges isn't affected\n prop.triggersBoundsOfParallelBeziers && (name2 === \"curve-style\" && (fromValue === \"bezier\" || toValue === \"bezier\") || name2 === \"display\" && (fromValue === \"none\" || toValue === \"none\"))\n ) {\n ele.parallelEdges().forEach(function(pllEdge) {\n if (pllEdge.isBundledBezier()) {\n pllEdge.dirtyBoundingBoxCache();\n }\n });\n }\n });\n };\n styfn$8.checkTriggers = function(ele, name2, fromValue, toValue) {\n ele.dirtyStyleCache();\n this.checkZOrderTrigger(ele, name2, fromValue, toValue);\n this.checkBoundsTrigger(ele, name2, fromValue, toValue);\n };\n var styfn$7 = {};\n styfn$7.applyBypass = function(eles, name2, value, updateTransitions) {\n var self2 = this;\n var props = [];\n var isBypass = true;\n if (name2 === \"*\" || name2 === \"**\") {\n if (value !== void 0) {\n for (var i3 = 0; i3 < self2.properties.length; i3++) {\n var prop = self2.properties[i3];\n var _name = prop.name;\n var parsedProp = this.parse(_name, value, true);\n if (parsedProp) {\n props.push(parsedProp);\n }\n }\n }\n } else if (string(name2)) {\n var _parsedProp = this.parse(name2, value, true);\n if (_parsedProp) {\n props.push(_parsedProp);\n }\n } else if (plainObject(name2)) {\n var specifiedProps = name2;\n updateTransitions = value;\n var names = Object.keys(specifiedProps);\n for (var _i = 0; _i < names.length; _i++) {\n var _name2 = names[_i];\n var _value = specifiedProps[_name2];\n if (_value === void 0) {\n _value = specifiedProps[dash2camel(_name2)];\n }\n if (_value !== void 0) {\n var _parsedProp2 = this.parse(_name2, _value, true);\n if (_parsedProp2) {\n props.push(_parsedProp2);\n }\n }\n }\n } else {\n return false;\n }\n if (props.length === 0) {\n return false;\n }\n var ret = false;\n for (var _i2 = 0; _i2 < eles.length; _i2++) {\n var ele = eles[_i2];\n var diffProps = {};\n var diffProp = void 0;\n for (var j = 0; j < props.length; j++) {\n var _prop = props[j];\n if (updateTransitions) {\n var prevProp = ele.pstyle(_prop.name);\n diffProp = diffProps[_prop.name] = {\n prev: prevProp\n };\n }\n ret = this.applyParsedProperty(ele, copy2(_prop)) || ret;\n if (updateTransitions) {\n diffProp.next = ele.pstyle(_prop.name);\n }\n }\n if (ret) {\n this.updateStyleHints(ele);\n }\n if (updateTransitions) {\n this.updateTransitions(ele, diffProps, isBypass);\n }\n }\n return ret;\n };\n styfn$7.overrideBypass = function(eles, name2, value) {\n name2 = camel2dash(name2);\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n var prop = ele._private.style[name2];\n var type2 = this.properties[name2].type;\n var isColor = type2.color;\n var isMulti = type2.mutiple;\n var oldValue = !prop ? null : prop.pfValue != null ? prop.pfValue : prop.value;\n if (!prop || !prop.bypass) {\n this.applyBypass(ele, name2, value);\n } else {\n prop.value = value;\n if (prop.pfValue != null) {\n prop.pfValue = value;\n }\n if (isColor) {\n prop.strValue = \"rgb(\" + value.join(\",\") + \")\";\n } else if (isMulti) {\n prop.strValue = value.join(\" \");\n } else {\n prop.strValue = \"\" + value;\n }\n this.updateStyleHints(ele);\n }\n this.checkTriggers(ele, name2, oldValue, value);\n }\n };\n styfn$7.removeAllBypasses = function(eles, updateTransitions) {\n return this.removeBypasses(eles, this.propertyNames, updateTransitions);\n };\n styfn$7.removeBypasses = function(eles, props, updateTransitions) {\n var isBypass = true;\n for (var j = 0; j < eles.length; j++) {\n var ele = eles[j];\n var diffProps = {};\n for (var i3 = 0; i3 < props.length; i3++) {\n var name2 = props[i3];\n var prop = this.properties[name2];\n var prevProp = ele.pstyle(prop.name);\n if (!prevProp || !prevProp.bypass) {\n continue;\n }\n var value = \"\";\n var parsedProp = this.parse(name2, value, true);\n var diffProp = diffProps[prop.name] = {\n prev: prevProp\n };\n this.applyParsedProperty(ele, parsedProp);\n diffProp.next = ele.pstyle(prop.name);\n }\n this.updateStyleHints(ele);\n if (updateTransitions) {\n this.updateTransitions(ele, diffProps, isBypass);\n }\n }\n };\n var styfn$6 = {};\n styfn$6.getEmSizeInPixels = function() {\n var px = this.containerCss(\"font-size\");\n if (px != null) {\n return parseFloat(px);\n } else {\n return 1;\n }\n };\n styfn$6.containerCss = function(propName) {\n var cy = this._private.cy;\n var domElement2 = cy.container();\n if (window$1 && domElement2 && window$1.getComputedStyle) {\n return window$1.getComputedStyle(domElement2).getPropertyValue(propName);\n }\n };\n var styfn$5 = {};\n styfn$5.getRenderedStyle = function(ele, prop) {\n if (prop) {\n return this.getStylePropertyValue(ele, prop, true);\n } else {\n return this.getRawStyle(ele, true);\n }\n };\n styfn$5.getRawStyle = function(ele, isRenderedVal) {\n var self2 = this;\n ele = ele[0];\n if (ele) {\n var rstyle = {};\n for (var i3 = 0; i3 < self2.properties.length; i3++) {\n var prop = self2.properties[i3];\n var val = self2.getStylePropertyValue(ele, prop.name, isRenderedVal);\n if (val != null) {\n rstyle[prop.name] = val;\n rstyle[dash2camel(prop.name)] = val;\n }\n }\n return rstyle;\n }\n };\n styfn$5.getIndexedStyle = function(ele, property2, subproperty, index) {\n var pstyle = ele.pstyle(property2)[subproperty][index];\n return pstyle != null ? pstyle : ele.cy().style().getDefaultProperty(property2)[subproperty][0];\n };\n styfn$5.getStylePropertyValue = function(ele, propName, isRenderedVal) {\n var self2 = this;\n ele = ele[0];\n if (ele) {\n var prop = self2.properties[propName];\n if (prop.alias) {\n prop = prop.pointsTo;\n }\n var type2 = prop.type;\n var styleProp = ele.pstyle(prop.name);\n if (styleProp) {\n var value = styleProp.value, units = styleProp.units, strValue = styleProp.strValue;\n if (isRenderedVal && type2.number && value != null && number$12(value)) {\n var zoom = ele.cy().zoom();\n var getRenderedValue = function getRenderedValue2(val) {\n return val * zoom;\n };\n var getValueStringWithUnits = function getValueStringWithUnits2(val, units2) {\n return getRenderedValue(val) + units2;\n };\n var isArrayValue = array2(value);\n var haveUnits = isArrayValue ? units.every(function(u) {\n return u != null;\n }) : units != null;\n if (haveUnits) {\n if (isArrayValue) {\n return value.map(function(v, i3) {\n return getValueStringWithUnits(v, units[i3]);\n }).join(\" \");\n } else {\n return getValueStringWithUnits(value, units);\n }\n } else {\n if (isArrayValue) {\n return value.map(function(v) {\n return string(v) ? v : \"\" + getRenderedValue(v);\n }).join(\" \");\n } else {\n return \"\" + getRenderedValue(value);\n }\n }\n } else if (strValue != null) {\n return strValue;\n }\n }\n return null;\n }\n };\n styfn$5.getAnimationStartStyle = function(ele, aniProps) {\n var rstyle = {};\n for (var i3 = 0; i3 < aniProps.length; i3++) {\n var aniProp = aniProps[i3];\n var name2 = aniProp.name;\n var styleProp = ele.pstyle(name2);\n if (styleProp !== void 0) {\n if (plainObject(styleProp)) {\n styleProp = this.parse(name2, styleProp.strValue);\n } else {\n styleProp = this.parse(name2, styleProp);\n }\n }\n if (styleProp) {\n rstyle[name2] = styleProp;\n }\n }\n return rstyle;\n };\n styfn$5.getPropsList = function(propsObj) {\n var self2 = this;\n var rstyle = [];\n var style = propsObj;\n var props = self2.properties;\n if (style) {\n var names = Object.keys(style);\n for (var i3 = 0; i3 < names.length; i3++) {\n var name2 = names[i3];\n var val = style[name2];\n var prop = props[name2] || props[camel2dash(name2)];\n var styleProp = this.parse(prop.name, val);\n if (styleProp) {\n rstyle.push(styleProp);\n }\n }\n }\n return rstyle;\n };\n styfn$5.getNonDefaultPropertiesHash = function(ele, propNames, seed) {\n var hash = seed.slice();\n var name2, val, strVal, chVal;\n var i3, j;\n for (i3 = 0; i3 < propNames.length; i3++) {\n name2 = propNames[i3];\n val = ele.pstyle(name2, false);\n if (val == null) {\n continue;\n } else if (val.pfValue != null) {\n hash[0] = hashInt(chVal, hash[0]);\n hash[1] = hashIntAlt(chVal, hash[1]);\n } else {\n strVal = val.strValue;\n for (j = 0; j < strVal.length; j++) {\n chVal = strVal.charCodeAt(j);\n hash[0] = hashInt(chVal, hash[0]);\n hash[1] = hashIntAlt(chVal, hash[1]);\n }\n }\n }\n return hash;\n };\n styfn$5.getPropertiesHash = styfn$5.getNonDefaultPropertiesHash;\n var styfn$4 = {};\n styfn$4.appendFromJson = function(json2) {\n var style = this;\n for (var i3 = 0; i3 < json2.length; i3++) {\n var context = json2[i3];\n var selector2 = context.selector;\n var props = context.style || context.css;\n var names = Object.keys(props);\n style.selector(selector2);\n for (var j = 0; j < names.length; j++) {\n var name2 = names[j];\n var value = props[name2];\n style.css(name2, value);\n }\n }\n return style;\n };\n styfn$4.fromJson = function(json2) {\n var style = this;\n style.resetToDefault();\n style.appendFromJson(json2);\n return style;\n };\n styfn$4.json = function() {\n var json2 = [];\n for (var i3 = this.defaultLength; i3 < this.length; i3++) {\n var cxt = this[i3];\n var selector2 = cxt.selector;\n var props = cxt.properties;\n var css = {};\n for (var j = 0; j < props.length; j++) {\n var prop = props[j];\n css[prop.name] = prop.strValue;\n }\n json2.push({\n selector: !selector2 ? \"core\" : selector2.toString(),\n style: css\n });\n }\n return json2;\n };\n var styfn$3 = {};\n styfn$3.appendFromString = function(string2) {\n var self2 = this;\n var style = this;\n var remaining = \"\" + string2;\n var selAndBlockStr;\n var blockRem;\n var propAndValStr;\n remaining = remaining.replace(/[/][*](\\s|.)+?[*][/]/g, \"\");\n function removeSelAndBlockFromRemaining() {\n if (remaining.length > selAndBlockStr.length) {\n remaining = remaining.substr(selAndBlockStr.length);\n } else {\n remaining = \"\";\n }\n }\n function removePropAndValFromRem() {\n if (blockRem.length > propAndValStr.length) {\n blockRem = blockRem.substr(propAndValStr.length);\n } else {\n blockRem = \"\";\n }\n }\n for (; ; ) {\n var nothingLeftToParse = remaining.match(/^\\s*$/);\n if (nothingLeftToParse) {\n break;\n }\n var selAndBlock = remaining.match(/^\\s*((?:.|\\s)+?)\\s*\\{((?:.|\\s)+?)\\}/);\n if (!selAndBlock) {\n warn(\"Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: \" + remaining);\n break;\n }\n selAndBlockStr = selAndBlock[0];\n var selectorStr = selAndBlock[1];\n if (selectorStr !== \"core\") {\n var selector2 = new Selector(selectorStr);\n if (selector2.invalid) {\n warn(\"Skipping parsing of block: Invalid selector found in string stylesheet: \" + selectorStr);\n removeSelAndBlockFromRemaining();\n continue;\n }\n }\n var blockStr = selAndBlock[2];\n var invalidBlock = false;\n blockRem = blockStr;\n var props = [];\n for (; ; ) {\n var _nothingLeftToParse = blockRem.match(/^\\s*$/);\n if (_nothingLeftToParse) {\n break;\n }\n var propAndVal = blockRem.match(/^\\s*(.+?)\\s*:\\s*(.+?)(?:\\s*;|\\s*$)/);\n if (!propAndVal) {\n warn(\"Skipping parsing of block: Invalid formatting of style property and value definitions found in:\" + blockStr);\n invalidBlock = true;\n break;\n }\n propAndValStr = propAndVal[0];\n var propStr = propAndVal[1];\n var valStr = propAndVal[2];\n var prop = self2.properties[propStr];\n if (!prop) {\n warn(\"Skipping property: Invalid property name in: \" + propAndValStr);\n removePropAndValFromRem();\n continue;\n }\n var parsedProp = style.parse(propStr, valStr);\n if (!parsedProp) {\n warn(\"Skipping property: Invalid property definition in: \" + propAndValStr);\n removePropAndValFromRem();\n continue;\n }\n props.push({\n name: propStr,\n val: valStr\n });\n removePropAndValFromRem();\n }\n if (invalidBlock) {\n removeSelAndBlockFromRemaining();\n break;\n }\n style.selector(selectorStr);\n for (var i3 = 0; i3 < props.length; i3++) {\n var _prop = props[i3];\n style.css(_prop.name, _prop.val);\n }\n removeSelAndBlockFromRemaining();\n }\n return style;\n };\n styfn$3.fromString = function(string2) {\n var style = this;\n style.resetToDefault();\n style.appendFromString(string2);\n return style;\n };\n var styfn$2 = {};\n (function() {\n var number$13 = number2;\n var rgba3 = rgbaNoBackRefs;\n var hsla3 = hslaNoBackRefs;\n var hex3$1 = hex3;\n var hex6$1 = hex6;\n var data2 = function data3(prefix) {\n return \"^\" + prefix + \"\\\\s*\\\\(\\\\s*([\\\\w\\\\.]+)\\\\s*\\\\)$\";\n };\n var mapData = function mapData2(prefix) {\n var mapArg = number$13 + \"|\\\\w+|\" + rgba3 + \"|\" + hsla3 + \"|\" + hex3$1 + \"|\" + hex6$1;\n return \"^\" + prefix + \"\\\\s*\\\\(([\\\\w\\\\.]+)\\\\s*\\\\,\\\\s*(\" + number$13 + \")\\\\s*\\\\,\\\\s*(\" + number$13 + \")\\\\s*,\\\\s*(\" + mapArg + \")\\\\s*\\\\,\\\\s*(\" + mapArg + \")\\\\)$\";\n };\n var urlRegexes = [`^url\\\\s*\\\\(\\\\s*['\"]?(.+?)['\"]?\\\\s*\\\\)$`, \"^(none)$\", \"^(.+)$\"];\n styfn$2.types = {\n time: {\n number: true,\n min: 0,\n units: \"s|ms\",\n implicitUnits: \"ms\"\n },\n percent: {\n number: true,\n min: 0,\n max: 100,\n units: \"%\",\n implicitUnits: \"%\"\n },\n percentages: {\n number: true,\n min: 0,\n max: 100,\n units: \"%\",\n implicitUnits: \"%\",\n multiple: true\n },\n zeroOneNumber: {\n number: true,\n min: 0,\n max: 1,\n unitless: true\n },\n zeroOneNumbers: {\n number: true,\n min: 0,\n max: 1,\n unitless: true,\n multiple: true\n },\n nOneOneNumber: {\n number: true,\n min: -1,\n max: 1,\n unitless: true\n },\n nonNegativeInt: {\n number: true,\n min: 0,\n integer: true,\n unitless: true\n },\n position: {\n enums: [\"parent\", \"origin\"]\n },\n nodeSize: {\n number: true,\n min: 0,\n enums: [\"label\"]\n },\n number: {\n number: true,\n unitless: true\n },\n numbers: {\n number: true,\n unitless: true,\n multiple: true\n },\n positiveNumber: {\n number: true,\n unitless: true,\n min: 0,\n strictMin: true\n },\n size: {\n number: true,\n min: 0\n },\n bidirectionalSize: {\n number: true\n },\n // allows negative\n bidirectionalSizeMaybePercent: {\n number: true,\n allowPercent: true\n },\n // allows negative\n bidirectionalSizes: {\n number: true,\n multiple: true\n },\n // allows negative\n sizeMaybePercent: {\n number: true,\n min: 0,\n allowPercent: true\n },\n axisDirection: {\n enums: [\"horizontal\", \"leftward\", \"rightward\", \"vertical\", \"upward\", \"downward\", \"auto\"]\n },\n paddingRelativeTo: {\n enums: [\"width\", \"height\", \"average\", \"min\", \"max\"]\n },\n bgWH: {\n number: true,\n min: 0,\n allowPercent: true,\n enums: [\"auto\"],\n multiple: true\n },\n bgPos: {\n number: true,\n allowPercent: true,\n multiple: true\n },\n bgRelativeTo: {\n enums: [\"inner\", \"include-padding\"],\n multiple: true\n },\n bgRepeat: {\n enums: [\"repeat\", \"repeat-x\", \"repeat-y\", \"no-repeat\"],\n multiple: true\n },\n bgFit: {\n enums: [\"none\", \"contain\", \"cover\"],\n multiple: true\n },\n bgCrossOrigin: {\n enums: [\"anonymous\", \"use-credentials\"],\n multiple: true\n },\n bgClip: {\n enums: [\"none\", \"node\"],\n multiple: true\n },\n bgContainment: {\n enums: [\"inside\", \"over\"],\n multiple: true\n },\n color: {\n color: true\n },\n colors: {\n color: true,\n multiple: true\n },\n fill: {\n enums: [\"solid\", \"linear-gradient\", \"radial-gradient\"]\n },\n bool: {\n enums: [\"yes\", \"no\"]\n },\n bools: {\n enums: [\"yes\", \"no\"],\n multiple: true\n },\n lineStyle: {\n enums: [\"solid\", \"dotted\", \"dashed\"]\n },\n lineCap: {\n enums: [\"butt\", \"round\", \"square\"]\n },\n borderStyle: {\n enums: [\"solid\", \"dotted\", \"dashed\", \"double\"]\n },\n curveStyle: {\n enums: [\"bezier\", \"unbundled-bezier\", \"haystack\", \"segments\", \"straight\", \"straight-triangle\", \"taxi\"]\n },\n fontFamily: {\n regex: '^([\\\\w- \\\\\"]+(?:\\\\s*,\\\\s*[\\\\w- \\\\\"]+)*)$'\n },\n fontStyle: {\n enums: [\"italic\", \"normal\", \"oblique\"]\n },\n fontWeight: {\n enums: [\"normal\", \"bold\", \"bolder\", \"lighter\", \"100\", \"200\", \"300\", \"400\", \"500\", \"600\", \"800\", \"900\", 100, 200, 300, 400, 500, 600, 700, 800, 900]\n },\n textDecoration: {\n enums: [\"none\", \"underline\", \"overline\", \"line-through\"]\n },\n textTransform: {\n enums: [\"none\", \"uppercase\", \"lowercase\"]\n },\n textWrap: {\n enums: [\"none\", \"wrap\", \"ellipsis\"]\n },\n textOverflowWrap: {\n enums: [\"whitespace\", \"anywhere\"]\n },\n textBackgroundShape: {\n enums: [\"rectangle\", \"roundrectangle\", \"round-rectangle\"]\n },\n nodeShape: {\n enums: [\"rectangle\", \"roundrectangle\", \"round-rectangle\", \"cutrectangle\", \"cut-rectangle\", \"bottomroundrectangle\", \"bottom-round-rectangle\", \"barrel\", \"ellipse\", \"triangle\", \"round-triangle\", \"square\", \"pentagon\", \"round-pentagon\", \"hexagon\", \"round-hexagon\", \"concavehexagon\", \"concave-hexagon\", \"heptagon\", \"round-heptagon\", \"octagon\", \"round-octagon\", \"tag\", \"round-tag\", \"star\", \"diamond\", \"round-diamond\", \"vee\", \"rhomboid\", \"polygon\"]\n },\n overlayShape: {\n enums: [\"roundrectangle\", \"round-rectangle\", \"ellipse\"]\n },\n compoundIncludeLabels: {\n enums: [\"include\", \"exclude\"]\n },\n arrowShape: {\n enums: [\"tee\", \"triangle\", \"triangle-tee\", \"circle-triangle\", \"triangle-cross\", \"triangle-backcurve\", \"vee\", \"square\", \"circle\", \"diamond\", \"chevron\", \"none\"]\n },\n arrowFill: {\n enums: [\"filled\", \"hollow\"]\n },\n display: {\n enums: [\"element\", \"none\"]\n },\n visibility: {\n enums: [\"hidden\", \"visible\"]\n },\n zCompoundDepth: {\n enums: [\"bottom\", \"orphan\", \"auto\", \"top\"]\n },\n zIndexCompare: {\n enums: [\"auto\", \"manual\"]\n },\n valign: {\n enums: [\"top\", \"center\", \"bottom\"]\n },\n halign: {\n enums: [\"left\", \"center\", \"right\"]\n },\n justification: {\n enums: [\"left\", \"center\", \"right\", \"auto\"]\n },\n text: {\n string: true\n },\n data: {\n mapping: true,\n regex: data2(\"data\")\n },\n layoutData: {\n mapping: true,\n regex: data2(\"layoutData\")\n },\n scratch: {\n mapping: true,\n regex: data2(\"scratch\")\n },\n mapData: {\n mapping: true,\n regex: mapData(\"mapData\")\n },\n mapLayoutData: {\n mapping: true,\n regex: mapData(\"mapLayoutData\")\n },\n mapScratch: {\n mapping: true,\n regex: mapData(\"mapScratch\")\n },\n fn: {\n mapping: true,\n fn: true\n },\n url: {\n regexes: urlRegexes,\n singleRegexMatchValue: true\n },\n urls: {\n regexes: urlRegexes,\n singleRegexMatchValue: true,\n multiple: true\n },\n propList: {\n propList: true\n },\n angle: {\n number: true,\n units: \"deg|rad\",\n implicitUnits: \"rad\"\n },\n textRotation: {\n number: true,\n units: \"deg|rad\",\n implicitUnits: \"rad\",\n enums: [\"none\", \"autorotate\"]\n },\n polygonPointList: {\n number: true,\n multiple: true,\n evenMultiple: true,\n min: -1,\n max: 1,\n unitless: true\n },\n edgeDistances: {\n enums: [\"intersection\", \"node-position\"]\n },\n edgeEndpoint: {\n number: true,\n multiple: true,\n units: \"%|px|em|deg|rad\",\n implicitUnits: \"px\",\n enums: [\"inside-to-node\", \"outside-to-node\", \"outside-to-node-or-label\", \"outside-to-line\", \"outside-to-line-or-label\"],\n singleEnum: true,\n validate: function validate2(valArr, unitsArr) {\n switch (valArr.length) {\n case 2:\n return unitsArr[0] !== \"deg\" && unitsArr[0] !== \"rad\" && unitsArr[1] !== \"deg\" && unitsArr[1] !== \"rad\";\n case 1:\n return string(valArr[0]) || unitsArr[0] === \"deg\" || unitsArr[0] === \"rad\";\n default:\n return false;\n }\n }\n },\n easing: {\n regexes: [\"^(spring)\\\\s*\\\\(\\\\s*(\" + number$13 + \")\\\\s*,\\\\s*(\" + number$13 + \")\\\\s*\\\\)$\", \"^(cubic-bezier)\\\\s*\\\\(\\\\s*(\" + number$13 + \")\\\\s*,\\\\s*(\" + number$13 + \")\\\\s*,\\\\s*(\" + number$13 + \")\\\\s*,\\\\s*(\" + number$13 + \")\\\\s*\\\\)$\"],\n enums: [\"linear\", \"ease\", \"ease-in\", \"ease-out\", \"ease-in-out\", \"ease-in-sine\", \"ease-out-sine\", \"ease-in-out-sine\", \"ease-in-quad\", \"ease-out-quad\", \"ease-in-out-quad\", \"ease-in-cubic\", \"ease-out-cubic\", \"ease-in-out-cubic\", \"ease-in-quart\", \"ease-out-quart\", \"ease-in-out-quart\", \"ease-in-quint\", \"ease-out-quint\", \"ease-in-out-quint\", \"ease-in-expo\", \"ease-out-expo\", \"ease-in-out-expo\", \"ease-in-circ\", \"ease-out-circ\", \"ease-in-out-circ\"]\n },\n gradientDirection: {\n enums: [\n \"to-bottom\",\n \"to-top\",\n \"to-left\",\n \"to-right\",\n \"to-bottom-right\",\n \"to-bottom-left\",\n \"to-top-right\",\n \"to-top-left\",\n \"to-right-bottom\",\n \"to-left-bottom\",\n \"to-right-top\",\n \"to-left-top\"\n // different order\n ]\n },\n boundsExpansion: {\n number: true,\n multiple: true,\n min: 0,\n validate: function validate2(valArr) {\n var length2 = valArr.length;\n return length2 === 1 || length2 === 2 || length2 === 4;\n }\n }\n };\n var diff = {\n zeroNonZero: function zeroNonZero(val1, val2) {\n if ((val1 == null || val2 == null) && val1 !== val2) {\n return true;\n }\n if (val1 == 0 && val2 != 0) {\n return true;\n } else if (val1 != 0 && val2 == 0) {\n return true;\n } else {\n return false;\n }\n },\n any: function any(val1, val2) {\n return val1 != val2;\n },\n emptyNonEmpty: function emptyNonEmpty(str1, str2) {\n var empty1 = emptyString(str1);\n var empty2 = emptyString(str2);\n return empty1 && !empty2 || !empty1 && empty2;\n }\n };\n var t = styfn$2.types;\n var mainLabel = [{\n name: \"label\",\n type: t.text,\n triggersBounds: diff.any,\n triggersZOrder: diff.emptyNonEmpty\n }, {\n name: \"text-rotation\",\n type: t.textRotation,\n triggersBounds: diff.any\n }, {\n name: \"text-margin-x\",\n type: t.bidirectionalSize,\n triggersBounds: diff.any\n }, {\n name: \"text-margin-y\",\n type: t.bidirectionalSize,\n triggersBounds: diff.any\n }];\n var sourceLabel = [{\n name: \"source-label\",\n type: t.text,\n triggersBounds: diff.any\n }, {\n name: \"source-text-rotation\",\n type: t.textRotation,\n triggersBounds: diff.any\n }, {\n name: \"source-text-margin-x\",\n type: t.bidirectionalSize,\n triggersBounds: diff.any\n }, {\n name: \"source-text-margin-y\",\n type: t.bidirectionalSize,\n triggersBounds: diff.any\n }, {\n name: \"source-text-offset\",\n type: t.size,\n triggersBounds: diff.any\n }];\n var targetLabel = [{\n name: \"target-label\",\n type: t.text,\n triggersBounds: diff.any\n }, {\n name: \"target-text-rotation\",\n type: t.textRotation,\n triggersBounds: diff.any\n }, {\n name: \"target-text-margin-x\",\n type: t.bidirectionalSize,\n triggersBounds: diff.any\n }, {\n name: \"target-text-margin-y\",\n type: t.bidirectionalSize,\n triggersBounds: diff.any\n }, {\n name: \"target-text-offset\",\n type: t.size,\n triggersBounds: diff.any\n }];\n var labelDimensions = [{\n name: \"font-family\",\n type: t.fontFamily,\n triggersBounds: diff.any\n }, {\n name: \"font-style\",\n type: t.fontStyle,\n triggersBounds: diff.any\n }, {\n name: \"font-weight\",\n type: t.fontWeight,\n triggersBounds: diff.any\n }, {\n name: \"font-size\",\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: \"text-transform\",\n type: t.textTransform,\n triggersBounds: diff.any\n }, {\n name: \"text-wrap\",\n type: t.textWrap,\n triggersBounds: diff.any\n }, {\n name: \"text-overflow-wrap\",\n type: t.textOverflowWrap,\n triggersBounds: diff.any\n }, {\n name: \"text-max-width\",\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: \"text-outline-width\",\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: \"line-height\",\n type: t.positiveNumber,\n triggersBounds: diff.any\n }];\n var commonLabel = [{\n name: \"text-valign\",\n type: t.valign,\n triggersBounds: diff.any\n }, {\n name: \"text-halign\",\n type: t.halign,\n triggersBounds: diff.any\n }, {\n name: \"color\",\n type: t.color\n }, {\n name: \"text-outline-color\",\n type: t.color\n }, {\n name: \"text-outline-opacity\",\n type: t.zeroOneNumber\n }, {\n name: \"text-background-color\",\n type: t.color\n }, {\n name: \"text-background-opacity\",\n type: t.zeroOneNumber\n }, {\n name: \"text-background-padding\",\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: \"text-border-opacity\",\n type: t.zeroOneNumber\n }, {\n name: \"text-border-color\",\n type: t.color\n }, {\n name: \"text-border-width\",\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: \"text-border-style\",\n type: t.borderStyle,\n triggersBounds: diff.any\n }, {\n name: \"text-background-shape\",\n type: t.textBackgroundShape,\n triggersBounds: diff.any\n }, {\n name: \"text-justification\",\n type: t.justification\n }];\n var behavior = [{\n name: \"events\",\n type: t.bool\n }, {\n name: \"text-events\",\n type: t.bool\n }];\n var visibility = [{\n name: \"display\",\n type: t.display,\n triggersZOrder: diff.any,\n triggersBounds: diff.any,\n triggersBoundsOfParallelBeziers: true\n }, {\n name: \"visibility\",\n type: t.visibility,\n triggersZOrder: diff.any\n }, {\n name: \"opacity\",\n type: t.zeroOneNumber,\n triggersZOrder: diff.zeroNonZero\n }, {\n name: \"text-opacity\",\n type: t.zeroOneNumber\n }, {\n name: \"min-zoomed-font-size\",\n type: t.size\n }, {\n name: \"z-compound-depth\",\n type: t.zCompoundDepth,\n triggersZOrder: diff.any\n }, {\n name: \"z-index-compare\",\n type: t.zIndexCompare,\n triggersZOrder: diff.any\n }, {\n name: \"z-index\",\n type: t.nonNegativeInt,\n triggersZOrder: diff.any\n }];\n var overlay = [{\n name: \"overlay-padding\",\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: \"overlay-color\",\n type: t.color\n }, {\n name: \"overlay-opacity\",\n type: t.zeroOneNumber,\n triggersBounds: diff.zeroNonZero\n }, {\n name: \"overlay-shape\",\n type: t.overlayShape,\n triggersBounds: diff.any\n }];\n var underlay = [{\n name: \"underlay-padding\",\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: \"underlay-color\",\n type: t.color\n }, {\n name: \"underlay-opacity\",\n type: t.zeroOneNumber,\n triggersBounds: diff.zeroNonZero\n }, {\n name: \"underlay-shape\",\n type: t.overlayShape,\n triggersBounds: diff.any\n }];\n var transition = [{\n name: \"transition-property\",\n type: t.propList\n }, {\n name: \"transition-duration\",\n type: t.time\n }, {\n name: \"transition-delay\",\n type: t.time\n }, {\n name: \"transition-timing-function\",\n type: t.easing\n }];\n var nodeSizeHashOverride = function nodeSizeHashOverride2(ele, parsedProp) {\n if (parsedProp.value === \"label\") {\n return -ele.poolIndex();\n } else {\n return parsedProp.pfValue;\n }\n };\n var nodeBody = [{\n name: \"height\",\n type: t.nodeSize,\n triggersBounds: diff.any,\n hashOverride: nodeSizeHashOverride\n }, {\n name: \"width\",\n type: t.nodeSize,\n triggersBounds: diff.any,\n hashOverride: nodeSizeHashOverride\n }, {\n name: \"shape\",\n type: t.nodeShape,\n triggersBounds: diff.any\n }, {\n name: \"shape-polygon-points\",\n type: t.polygonPointList,\n triggersBounds: diff.any\n }, {\n name: \"background-color\",\n type: t.color\n }, {\n name: \"background-fill\",\n type: t.fill\n }, {\n name: \"background-opacity\",\n type: t.zeroOneNumber\n }, {\n name: \"background-blacken\",\n type: t.nOneOneNumber\n }, {\n name: \"background-gradient-stop-colors\",\n type: t.colors\n }, {\n name: \"background-gradient-stop-positions\",\n type: t.percentages\n }, {\n name: \"background-gradient-direction\",\n type: t.gradientDirection\n }, {\n name: \"padding\",\n type: t.sizeMaybePercent,\n triggersBounds: diff.any\n }, {\n name: \"padding-relative-to\",\n type: t.paddingRelativeTo,\n triggersBounds: diff.any\n }, {\n name: \"bounds-expansion\",\n type: t.boundsExpansion,\n triggersBounds: diff.any\n }];\n var nodeBorder = [{\n name: \"border-color\",\n type: t.color\n }, {\n name: \"border-opacity\",\n type: t.zeroOneNumber\n }, {\n name: \"border-width\",\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: \"border-style\",\n type: t.borderStyle\n }];\n var backgroundImage = [{\n name: \"background-image\",\n type: t.urls\n }, {\n name: \"background-image-crossorigin\",\n type: t.bgCrossOrigin\n }, {\n name: \"background-image-opacity\",\n type: t.zeroOneNumbers\n }, {\n name: \"background-image-containment\",\n type: t.bgContainment\n }, {\n name: \"background-image-smoothing\",\n type: t.bools\n }, {\n name: \"background-position-x\",\n type: t.bgPos\n }, {\n name: \"background-position-y\",\n type: t.bgPos\n }, {\n name: \"background-width-relative-to\",\n type: t.bgRelativeTo\n }, {\n name: \"background-height-relative-to\",\n type: t.bgRelativeTo\n }, {\n name: \"background-repeat\",\n type: t.bgRepeat\n }, {\n name: \"background-fit\",\n type: t.bgFit\n }, {\n name: \"background-clip\",\n type: t.bgClip\n }, {\n name: \"background-width\",\n type: t.bgWH\n }, {\n name: \"background-height\",\n type: t.bgWH\n }, {\n name: \"background-offset-x\",\n type: t.bgPos\n }, {\n name: \"background-offset-y\",\n type: t.bgPos\n }];\n var compound = [{\n name: \"position\",\n type: t.position,\n triggersBounds: diff.any\n }, {\n name: \"compound-sizing-wrt-labels\",\n type: t.compoundIncludeLabels,\n triggersBounds: diff.any\n }, {\n name: \"min-width\",\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: \"min-width-bias-left\",\n type: t.sizeMaybePercent,\n triggersBounds: diff.any\n }, {\n name: \"min-width-bias-right\",\n type: t.sizeMaybePercent,\n triggersBounds: diff.any\n }, {\n name: \"min-height\",\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: \"min-height-bias-top\",\n type: t.sizeMaybePercent,\n triggersBounds: diff.any\n }, {\n name: \"min-height-bias-bottom\",\n type: t.sizeMaybePercent,\n triggersBounds: diff.any\n }];\n var edgeLine = [{\n name: \"line-style\",\n type: t.lineStyle\n }, {\n name: \"line-color\",\n type: t.color\n }, {\n name: \"line-fill\",\n type: t.fill\n }, {\n name: \"line-cap\",\n type: t.lineCap\n }, {\n name: \"line-opacity\",\n type: t.zeroOneNumber\n }, {\n name: \"line-dash-pattern\",\n type: t.numbers\n }, {\n name: \"line-dash-offset\",\n type: t.number\n }, {\n name: \"line-gradient-stop-colors\",\n type: t.colors\n }, {\n name: \"line-gradient-stop-positions\",\n type: t.percentages\n }, {\n name: \"curve-style\",\n type: t.curveStyle,\n triggersBounds: diff.any,\n triggersBoundsOfParallelBeziers: true\n }, {\n name: \"haystack-radius\",\n type: t.zeroOneNumber,\n triggersBounds: diff.any\n }, {\n name: \"source-endpoint\",\n type: t.edgeEndpoint,\n triggersBounds: diff.any\n }, {\n name: \"target-endpoint\",\n type: t.edgeEndpoint,\n triggersBounds: diff.any\n }, {\n name: \"control-point-step-size\",\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: \"control-point-distances\",\n type: t.bidirectionalSizes,\n triggersBounds: diff.any\n }, {\n name: \"control-point-weights\",\n type: t.numbers,\n triggersBounds: diff.any\n }, {\n name: \"segment-distances\",\n type: t.bidirectionalSizes,\n triggersBounds: diff.any\n }, {\n name: \"segment-weights\",\n type: t.numbers,\n triggersBounds: diff.any\n }, {\n name: \"taxi-turn\",\n type: t.bidirectionalSizeMaybePercent,\n triggersBounds: diff.any\n }, {\n name: \"taxi-turn-min-distance\",\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: \"taxi-direction\",\n type: t.axisDirection,\n triggersBounds: diff.any\n }, {\n name: \"edge-distances\",\n type: t.edgeDistances,\n triggersBounds: diff.any\n }, {\n name: \"arrow-scale\",\n type: t.positiveNumber,\n triggersBounds: diff.any\n }, {\n name: \"loop-direction\",\n type: t.angle,\n triggersBounds: diff.any\n }, {\n name: \"loop-sweep\",\n type: t.angle,\n triggersBounds: diff.any\n }, {\n name: \"source-distance-from-node\",\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: \"target-distance-from-node\",\n type: t.size,\n triggersBounds: diff.any\n }];\n var ghost = [{\n name: \"ghost\",\n type: t.bool,\n triggersBounds: diff.any\n }, {\n name: \"ghost-offset-x\",\n type: t.bidirectionalSize,\n triggersBounds: diff.any\n }, {\n name: \"ghost-offset-y\",\n type: t.bidirectionalSize,\n triggersBounds: diff.any\n }, {\n name: \"ghost-opacity\",\n type: t.zeroOneNumber\n }];\n var core3 = [{\n name: \"selection-box-color\",\n type: t.color\n }, {\n name: \"selection-box-opacity\",\n type: t.zeroOneNumber\n }, {\n name: \"selection-box-border-color\",\n type: t.color\n }, {\n name: \"selection-box-border-width\",\n type: t.size\n }, {\n name: \"active-bg-color\",\n type: t.color\n }, {\n name: \"active-bg-opacity\",\n type: t.zeroOneNumber\n }, {\n name: \"active-bg-size\",\n type: t.size\n }, {\n name: \"outside-texture-bg-color\",\n type: t.color\n }, {\n name: \"outside-texture-bg-opacity\",\n type: t.zeroOneNumber\n }];\n var pie = [];\n styfn$2.pieBackgroundN = 16;\n pie.push({\n name: \"pie-size\",\n type: t.sizeMaybePercent\n });\n for (var i3 = 1; i3 <= styfn$2.pieBackgroundN; i3++) {\n pie.push({\n name: \"pie-\" + i3 + \"-background-color\",\n type: t.color\n });\n pie.push({\n name: \"pie-\" + i3 + \"-background-size\",\n type: t.percent\n });\n pie.push({\n name: \"pie-\" + i3 + \"-background-opacity\",\n type: t.zeroOneNumber\n });\n }\n var edgeArrow = [];\n var arrowPrefixes = styfn$2.arrowPrefixes = [\"source\", \"mid-source\", \"target\", \"mid-target\"];\n [{\n name: \"arrow-shape\",\n type: t.arrowShape,\n triggersBounds: diff.any\n }, {\n name: \"arrow-color\",\n type: t.color\n }, {\n name: \"arrow-fill\",\n type: t.arrowFill\n }].forEach(function(prop2) {\n arrowPrefixes.forEach(function(prefix) {\n var name2 = prefix + \"-\" + prop2.name;\n var type2 = prop2.type, triggersBounds = prop2.triggersBounds;\n edgeArrow.push({\n name: name2,\n type: type2,\n triggersBounds\n });\n });\n }, {});\n var props = styfn$2.properties = [].concat(behavior, transition, visibility, overlay, underlay, ghost, commonLabel, labelDimensions, mainLabel, sourceLabel, targetLabel, nodeBody, nodeBorder, backgroundImage, pie, compound, edgeLine, edgeArrow, core3);\n var propGroups = styfn$2.propertyGroups = {\n // common to all eles\n behavior,\n transition,\n visibility,\n overlay,\n underlay,\n ghost,\n // labels\n commonLabel,\n labelDimensions,\n mainLabel,\n sourceLabel,\n targetLabel,\n // node props\n nodeBody,\n nodeBorder,\n backgroundImage,\n pie,\n compound,\n // edge props\n edgeLine,\n edgeArrow,\n core: core3\n };\n var propGroupNames = styfn$2.propertyGroupNames = {};\n var propGroupKeys = styfn$2.propertyGroupKeys = Object.keys(propGroups);\n propGroupKeys.forEach(function(key) {\n propGroupNames[key] = propGroups[key].map(function(prop2) {\n return prop2.name;\n });\n propGroups[key].forEach(function(prop2) {\n return prop2.groupKey = key;\n });\n });\n var aliases = styfn$2.aliases = [{\n name: \"content\",\n pointsTo: \"label\"\n }, {\n name: \"control-point-distance\",\n pointsTo: \"control-point-distances\"\n }, {\n name: \"control-point-weight\",\n pointsTo: \"control-point-weights\"\n }, {\n name: \"edge-text-rotation\",\n pointsTo: \"text-rotation\"\n }, {\n name: \"padding-left\",\n pointsTo: \"padding\"\n }, {\n name: \"padding-right\",\n pointsTo: \"padding\"\n }, {\n name: \"padding-top\",\n pointsTo: \"padding\"\n }, {\n name: \"padding-bottom\",\n pointsTo: \"padding\"\n }];\n styfn$2.propertyNames = props.map(function(p2) {\n return p2.name;\n });\n for (var _i = 0; _i < props.length; _i++) {\n var prop = props[_i];\n props[prop.name] = prop;\n }\n for (var _i2 = 0; _i2 < aliases.length; _i2++) {\n var alias = aliases[_i2];\n var pointsToProp = props[alias.pointsTo];\n var aliasProp = {\n name: alias.name,\n alias: true,\n pointsTo: pointsToProp\n };\n props.push(aliasProp);\n props[alias.name] = aliasProp;\n }\n })();\n styfn$2.getDefaultProperty = function(name2) {\n return this.getDefaultProperties()[name2];\n };\n styfn$2.getDefaultProperties = function() {\n var _p = this._private;\n if (_p.defaultProperties != null) {\n return _p.defaultProperties;\n }\n var rawProps = extend2({\n // core props\n \"selection-box-color\": \"#ddd\",\n \"selection-box-opacity\": 0.65,\n \"selection-box-border-color\": \"#aaa\",\n \"selection-box-border-width\": 1,\n \"active-bg-color\": \"black\",\n \"active-bg-opacity\": 0.15,\n \"active-bg-size\": 30,\n \"outside-texture-bg-color\": \"#000\",\n \"outside-texture-bg-opacity\": 0.125,\n // common node/edge props\n \"events\": \"yes\",\n \"text-events\": \"no\",\n \"text-valign\": \"top\",\n \"text-halign\": \"center\",\n \"text-justification\": \"auto\",\n \"line-height\": 1,\n \"color\": \"#000\",\n \"text-outline-color\": \"#000\",\n \"text-outline-width\": 0,\n \"text-outline-opacity\": 1,\n \"text-opacity\": 1,\n \"text-decoration\": \"none\",\n \"text-transform\": \"none\",\n \"text-wrap\": \"none\",\n \"text-overflow-wrap\": \"whitespace\",\n \"text-max-width\": 9999,\n \"text-background-color\": \"#000\",\n \"text-background-opacity\": 0,\n \"text-background-shape\": \"rectangle\",\n \"text-background-padding\": 0,\n \"text-border-opacity\": 0,\n \"text-border-width\": 0,\n \"text-border-style\": \"solid\",\n \"text-border-color\": \"#000\",\n \"font-family\": \"Helvetica Neue, Helvetica, sans-serif\",\n \"font-style\": \"normal\",\n \"font-weight\": \"normal\",\n \"font-size\": 16,\n \"min-zoomed-font-size\": 0,\n \"text-rotation\": \"none\",\n \"source-text-rotation\": \"none\",\n \"target-text-rotation\": \"none\",\n \"visibility\": \"visible\",\n \"display\": \"element\",\n \"opacity\": 1,\n \"z-compound-depth\": \"auto\",\n \"z-index-compare\": \"auto\",\n \"z-index\": 0,\n \"label\": \"\",\n \"text-margin-x\": 0,\n \"text-margin-y\": 0,\n \"source-label\": \"\",\n \"source-text-offset\": 0,\n \"source-text-margin-x\": 0,\n \"source-text-margin-y\": 0,\n \"target-label\": \"\",\n \"target-text-offset\": 0,\n \"target-text-margin-x\": 0,\n \"target-text-margin-y\": 0,\n \"overlay-opacity\": 0,\n \"overlay-color\": \"#000\",\n \"overlay-padding\": 10,\n \"overlay-shape\": \"round-rectangle\",\n \"underlay-opacity\": 0,\n \"underlay-color\": \"#000\",\n \"underlay-padding\": 10,\n \"underlay-shape\": \"round-rectangle\",\n \"transition-property\": \"none\",\n \"transition-duration\": 0,\n \"transition-delay\": 0,\n \"transition-timing-function\": \"linear\",\n // node props\n \"background-blacken\": 0,\n \"background-color\": \"#999\",\n \"background-fill\": \"solid\",\n \"background-opacity\": 1,\n \"background-image\": \"none\",\n \"background-image-crossorigin\": \"anonymous\",\n \"background-image-opacity\": 1,\n \"background-image-containment\": \"inside\",\n \"background-image-smoothing\": \"yes\",\n \"background-position-x\": \"50%\",\n \"background-position-y\": \"50%\",\n \"background-offset-x\": 0,\n \"background-offset-y\": 0,\n \"background-width-relative-to\": \"include-padding\",\n \"background-height-relative-to\": \"include-padding\",\n \"background-repeat\": \"no-repeat\",\n \"background-fit\": \"none\",\n \"background-clip\": \"node\",\n \"background-width\": \"auto\",\n \"background-height\": \"auto\",\n \"border-color\": \"#000\",\n \"border-opacity\": 1,\n \"border-width\": 0,\n \"border-style\": \"solid\",\n \"height\": 30,\n \"width\": 30,\n \"shape\": \"ellipse\",\n \"shape-polygon-points\": \"-1, -1, 1, -1, 1, 1, -1, 1\",\n \"bounds-expansion\": 0,\n // node gradient\n \"background-gradient-direction\": \"to-bottom\",\n \"background-gradient-stop-colors\": \"#999\",\n \"background-gradient-stop-positions\": \"0%\",\n // ghost props\n \"ghost\": \"no\",\n \"ghost-offset-y\": 0,\n \"ghost-offset-x\": 0,\n \"ghost-opacity\": 0,\n // compound props\n \"padding\": 0,\n \"padding-relative-to\": \"width\",\n \"position\": \"origin\",\n \"compound-sizing-wrt-labels\": \"include\",\n \"min-width\": 0,\n \"min-width-bias-left\": 0,\n \"min-width-bias-right\": 0,\n \"min-height\": 0,\n \"min-height-bias-top\": 0,\n \"min-height-bias-bottom\": 0\n }, {\n // node pie bg\n \"pie-size\": \"100%\"\n }, [{\n name: \"pie-{{i}}-background-color\",\n value: \"black\"\n }, {\n name: \"pie-{{i}}-background-size\",\n value: \"0%\"\n }, {\n name: \"pie-{{i}}-background-opacity\",\n value: 1\n }].reduce(function(css, prop2) {\n for (var i4 = 1; i4 <= styfn$2.pieBackgroundN; i4++) {\n var name3 = prop2.name.replace(\"{{i}}\", i4);\n var val2 = prop2.value;\n css[name3] = val2;\n }\n return css;\n }, {}), {\n // edge props\n \"line-style\": \"solid\",\n \"line-color\": \"#999\",\n \"line-fill\": \"solid\",\n \"line-cap\": \"butt\",\n \"line-opacity\": 1,\n \"line-gradient-stop-colors\": \"#999\",\n \"line-gradient-stop-positions\": \"0%\",\n \"control-point-step-size\": 40,\n \"control-point-weights\": 0.5,\n \"segment-weights\": 0.5,\n \"segment-distances\": 20,\n \"taxi-turn\": \"50%\",\n \"taxi-turn-min-distance\": 10,\n \"taxi-direction\": \"auto\",\n \"edge-distances\": \"intersection\",\n \"curve-style\": \"haystack\",\n \"haystack-radius\": 0,\n \"arrow-scale\": 1,\n \"loop-direction\": \"-45deg\",\n \"loop-sweep\": \"-90deg\",\n \"source-distance-from-node\": 0,\n \"target-distance-from-node\": 0,\n \"source-endpoint\": \"outside-to-node\",\n \"target-endpoint\": \"outside-to-node\",\n \"line-dash-pattern\": [6, 3],\n \"line-dash-offset\": 0\n }, [{\n name: \"arrow-shape\",\n value: \"none\"\n }, {\n name: \"arrow-color\",\n value: \"#999\"\n }, {\n name: \"arrow-fill\",\n value: \"filled\"\n }].reduce(function(css, prop2) {\n styfn$2.arrowPrefixes.forEach(function(prefix) {\n var name3 = prefix + \"-\" + prop2.name;\n var val2 = prop2.value;\n css[name3] = val2;\n });\n return css;\n }, {}));\n var parsedProps = {};\n for (var i3 = 0; i3 < this.properties.length; i3++) {\n var prop = this.properties[i3];\n if (prop.pointsTo) {\n continue;\n }\n var name2 = prop.name;\n var val = rawProps[name2];\n var parsedProp = this.parse(name2, val);\n parsedProps[name2] = parsedProp;\n }\n _p.defaultProperties = parsedProps;\n return _p.defaultProperties;\n };\n styfn$2.addDefaultStylesheet = function() {\n this.selector(\":parent\").css({\n \"shape\": \"rectangle\",\n \"padding\": 10,\n \"background-color\": \"#eee\",\n \"border-color\": \"#ccc\",\n \"border-width\": 1\n }).selector(\"edge\").css({\n \"width\": 3\n }).selector(\":loop\").css({\n \"curve-style\": \"bezier\"\n }).selector(\"edge:compound\").css({\n \"curve-style\": \"bezier\",\n \"source-endpoint\": \"outside-to-line\",\n \"target-endpoint\": \"outside-to-line\"\n }).selector(\":selected\").css({\n \"background-color\": \"#0169D9\",\n \"line-color\": \"#0169D9\",\n \"source-arrow-color\": \"#0169D9\",\n \"target-arrow-color\": \"#0169D9\",\n \"mid-source-arrow-color\": \"#0169D9\",\n \"mid-target-arrow-color\": \"#0169D9\"\n }).selector(\":parent:selected\").css({\n \"background-color\": \"#CCE1F9\",\n \"border-color\": \"#aec8e5\"\n }).selector(\":active\").css({\n \"overlay-color\": \"black\",\n \"overlay-padding\": 10,\n \"overlay-opacity\": 0.25\n });\n this.defaultLength = this.length;\n };\n var styfn$1 = {};\n styfn$1.parse = function(name2, value, propIsBypass, propIsFlat) {\n var self2 = this;\n if (fn$6(value)) {\n return self2.parseImplWarn(name2, value, propIsBypass, propIsFlat);\n }\n var flatKey = propIsFlat === \"mapping\" || propIsFlat === true || propIsFlat === false || propIsFlat == null ? \"dontcare\" : propIsFlat;\n var bypassKey = propIsBypass ? \"t\" : \"f\";\n var valueKey = \"\" + value;\n var argHash = hashStrings(name2, valueKey, bypassKey, flatKey);\n var propCache = self2.propCache = self2.propCache || [];\n var ret;\n if (!(ret = propCache[argHash])) {\n ret = propCache[argHash] = self2.parseImplWarn(name2, value, propIsBypass, propIsFlat);\n }\n if (propIsBypass || propIsFlat === \"mapping\") {\n ret = copy2(ret);\n if (ret) {\n ret.value = copy2(ret.value);\n }\n }\n return ret;\n };\n styfn$1.parseImplWarn = function(name2, value, propIsBypass, propIsFlat) {\n var prop = this.parseImpl(name2, value, propIsBypass, propIsFlat);\n if (!prop && value != null) {\n warn(\"The style property `\".concat(name2, \": \").concat(value, \"` is invalid\"));\n }\n if (prop && (prop.name === \"width\" || prop.name === \"height\") && value === \"label\") {\n warn(\"The style value of `label` is deprecated for `\" + prop.name + \"`\");\n }\n return prop;\n };\n styfn$1.parseImpl = function(name2, value, propIsBypass, propIsFlat) {\n var self2 = this;\n name2 = camel2dash(name2);\n var property2 = self2.properties[name2];\n var passedValue = value;\n var types = self2.types;\n if (!property2) {\n return null;\n }\n if (value === void 0) {\n return null;\n }\n if (property2.alias) {\n property2 = property2.pointsTo;\n name2 = property2.name;\n }\n var valueIsString = string(value);\n if (valueIsString) {\n value = value.trim();\n }\n var type2 = property2.type;\n if (!type2) {\n return null;\n }\n if (propIsBypass && (value === \"\" || value === null)) {\n return {\n name: name2,\n value,\n bypass: true,\n deleteBypass: true\n };\n }\n if (fn$6(value)) {\n return {\n name: name2,\n value,\n strValue: \"fn\",\n mapped: types.fn,\n bypass: propIsBypass\n };\n }\n var data2, mapData;\n if (!valueIsString || propIsFlat || value.length < 7 || value[1] !== \"a\")\n ;\n else if (value.length >= 7 && value[0] === \"d\" && (data2 = new RegExp(types.data.regex).exec(value))) {\n if (propIsBypass) {\n return false;\n }\n var mapped = types.data;\n return {\n name: name2,\n value: data2,\n strValue: \"\" + value,\n mapped,\n field: data2[1],\n bypass: propIsBypass\n };\n } else if (value.length >= 10 && value[0] === \"m\" && (mapData = new RegExp(types.mapData.regex).exec(value))) {\n if (propIsBypass) {\n return false;\n }\n if (type2.multiple) {\n return false;\n }\n var _mapped = types.mapData;\n if (!(type2.color || type2.number)) {\n return false;\n }\n var valueMin = this.parse(name2, mapData[4]);\n if (!valueMin || valueMin.mapped) {\n return false;\n }\n var valueMax = this.parse(name2, mapData[5]);\n if (!valueMax || valueMax.mapped) {\n return false;\n }\n if (valueMin.pfValue === valueMax.pfValue || valueMin.strValue === valueMax.strValue) {\n warn(\"`\" + name2 + \": \" + value + \"` is not a valid mapper because the output range is zero; converting to `\" + name2 + \": \" + valueMin.strValue + \"`\");\n return this.parse(name2, valueMin.strValue);\n } else if (type2.color) {\n var c1 = valueMin.value;\n var c2 = valueMax.value;\n var same = c1[0] === c2[0] && c1[1] === c2[1] && c1[2] === c2[2] && // optional alpha\n (c1[3] === c2[3] || (c1[3] == null || c1[3] === 1) && (c2[3] == null || c2[3] === 1));\n if (same) {\n return false;\n }\n }\n return {\n name: name2,\n value: mapData,\n strValue: \"\" + value,\n mapped: _mapped,\n field: mapData[1],\n fieldMin: parseFloat(mapData[2]),\n // min & max are numeric\n fieldMax: parseFloat(mapData[3]),\n valueMin: valueMin.value,\n valueMax: valueMax.value,\n bypass: propIsBypass\n };\n }\n if (type2.multiple && propIsFlat !== \"multiple\") {\n var vals;\n if (valueIsString) {\n vals = value.split(/\\s+/);\n } else if (array2(value)) {\n vals = value;\n } else {\n vals = [value];\n }\n if (type2.evenMultiple && vals.length % 2 !== 0) {\n return null;\n }\n var valArr = [];\n var unitsArr = [];\n var pfValArr = [];\n var strVal = \"\";\n var hasEnum = false;\n for (var i3 = 0; i3 < vals.length; i3++) {\n var p2 = self2.parse(name2, vals[i3], propIsBypass, \"multiple\");\n hasEnum = hasEnum || string(p2.value);\n valArr.push(p2.value);\n pfValArr.push(p2.pfValue != null ? p2.pfValue : p2.value);\n unitsArr.push(p2.units);\n strVal += (i3 > 0 ? \" \" : \"\") + p2.strValue;\n }\n if (type2.validate && !type2.validate(valArr, unitsArr)) {\n return null;\n }\n if (type2.singleEnum && hasEnum) {\n if (valArr.length === 1 && string(valArr[0])) {\n return {\n name: name2,\n value: valArr[0],\n strValue: valArr[0],\n bypass: propIsBypass\n };\n } else {\n return null;\n }\n }\n return {\n name: name2,\n value: valArr,\n pfValue: pfValArr,\n strValue: strVal,\n bypass: propIsBypass,\n units: unitsArr\n };\n }\n var checkEnums = function checkEnums2() {\n for (var _i = 0; _i < type2.enums.length; _i++) {\n var en = type2.enums[_i];\n if (en === value) {\n return {\n name: name2,\n value,\n strValue: \"\" + value,\n bypass: propIsBypass\n };\n }\n }\n return null;\n };\n if (type2.number) {\n var units;\n var implicitUnits = \"px\";\n if (type2.units) {\n units = type2.units;\n }\n if (type2.implicitUnits) {\n implicitUnits = type2.implicitUnits;\n }\n if (!type2.unitless) {\n if (valueIsString) {\n var unitsRegex = \"px|em\" + (type2.allowPercent ? \"|\\\\%\" : \"\");\n if (units) {\n unitsRegex = units;\n }\n var match2 = value.match(\"^(\" + number2 + \")(\" + unitsRegex + \")?$\");\n if (match2) {\n value = match2[1];\n units = match2[2] || implicitUnits;\n }\n } else if (!units || type2.implicitUnits) {\n units = implicitUnits;\n }\n }\n value = parseFloat(value);\n if (isNaN(value) && type2.enums === void 0) {\n return null;\n }\n if (isNaN(value) && type2.enums !== void 0) {\n value = passedValue;\n return checkEnums();\n }\n if (type2.integer && !integer(value)) {\n return null;\n }\n if (type2.min !== void 0 && (value < type2.min || type2.strictMin && value === type2.min) || type2.max !== void 0 && (value > type2.max || type2.strictMax && value === type2.max)) {\n return null;\n }\n var ret = {\n name: name2,\n value,\n strValue: \"\" + value + (units ? units : \"\"),\n units,\n bypass: propIsBypass\n };\n if (type2.unitless || units !== \"px\" && units !== \"em\") {\n ret.pfValue = value;\n } else {\n ret.pfValue = units === \"px\" || !units ? value : this.getEmSizeInPixels() * value;\n }\n if (units === \"ms\" || units === \"s\") {\n ret.pfValue = units === \"ms\" ? value : 1e3 * value;\n }\n if (units === \"deg\" || units === \"rad\") {\n ret.pfValue = units === \"rad\" ? value : deg2rad(value);\n }\n if (units === \"%\") {\n ret.pfValue = value / 100;\n }\n return ret;\n } else if (type2.propList) {\n var props = [];\n var propsStr = \"\" + value;\n if (propsStr === \"none\")\n ;\n else {\n var propsSplit = propsStr.split(/\\s*,\\s*|\\s+/);\n for (var _i2 = 0; _i2 < propsSplit.length; _i2++) {\n var propName = propsSplit[_i2].trim();\n if (self2.properties[propName]) {\n props.push(propName);\n } else {\n warn(\"`\" + propName + \"` is not a valid property name\");\n }\n }\n if (props.length === 0) {\n return null;\n }\n }\n return {\n name: name2,\n value: props,\n strValue: props.length === 0 ? \"none\" : props.join(\" \"),\n bypass: propIsBypass\n };\n } else if (type2.color) {\n var tuple = color2tuple(value);\n if (!tuple) {\n return null;\n }\n return {\n name: name2,\n value: tuple,\n pfValue: tuple,\n strValue: \"rgb(\" + tuple[0] + \",\" + tuple[1] + \",\" + tuple[2] + \")\",\n // n.b. no spaces b/c of multiple support\n bypass: propIsBypass\n };\n } else if (type2.regex || type2.regexes) {\n if (type2.enums) {\n var enumProp = checkEnums();\n if (enumProp) {\n return enumProp;\n }\n }\n var regexes = type2.regexes ? type2.regexes : [type2.regex];\n for (var _i3 = 0; _i3 < regexes.length; _i3++) {\n var regex = new RegExp(regexes[_i3]);\n var m = regex.exec(value);\n if (m) {\n return {\n name: name2,\n value: type2.singleRegexMatchValue ? m[1] : m,\n strValue: \"\" + value,\n bypass: propIsBypass\n };\n }\n }\n return null;\n } else if (type2.string) {\n return {\n name: name2,\n value: \"\" + value,\n strValue: \"\" + value,\n bypass: propIsBypass\n };\n } else if (type2.enums) {\n return checkEnums();\n } else {\n return null;\n }\n };\n var Style = function Style2(cy) {\n if (!(this instanceof Style2)) {\n return new Style2(cy);\n }\n if (!core2(cy)) {\n error(\"A style must have a core reference\");\n return;\n }\n this._private = {\n cy,\n coreStyle: {}\n };\n this.length = 0;\n this.resetToDefault();\n };\n var styfn = Style.prototype;\n styfn.instanceString = function() {\n return \"style\";\n };\n styfn.clear = function() {\n var _p = this._private;\n var cy = _p.cy;\n var eles = cy.elements();\n for (var i3 = 0; i3 < this.length; i3++) {\n this[i3] = void 0;\n }\n this.length = 0;\n _p.contextStyles = {};\n _p.propDiffs = {};\n this.cleanElements(eles, true);\n eles.forEach(function(ele) {\n var ele_p = ele[0]._private;\n ele_p.styleDirty = true;\n ele_p.appliedInitStyle = false;\n });\n return this;\n };\n styfn.resetToDefault = function() {\n this.clear();\n this.addDefaultStylesheet();\n return this;\n };\n styfn.core = function(propName) {\n return this._private.coreStyle[propName] || this.getDefaultProperty(propName);\n };\n styfn.selector = function(selectorStr) {\n var selector2 = selectorStr === \"core\" ? null : new Selector(selectorStr);\n var i3 = this.length++;\n this[i3] = {\n selector: selector2,\n properties: [],\n mappedProperties: [],\n index: i3\n };\n return this;\n };\n styfn.css = function() {\n var self2 = this;\n var args = arguments;\n if (args.length === 1) {\n var map2 = args[0];\n for (var i3 = 0; i3 < self2.properties.length; i3++) {\n var prop = self2.properties[i3];\n var mapVal = map2[prop.name];\n if (mapVal === void 0) {\n mapVal = map2[dash2camel(prop.name)];\n }\n if (mapVal !== void 0) {\n this.cssRule(prop.name, mapVal);\n }\n }\n } else if (args.length === 2) {\n this.cssRule(args[0], args[1]);\n }\n return this;\n };\n styfn.style = styfn.css;\n styfn.cssRule = function(name2, value) {\n var property2 = this.parse(name2, value);\n if (property2) {\n var i3 = this.length - 1;\n this[i3].properties.push(property2);\n this[i3].properties[property2.name] = property2;\n if (property2.name.match(/pie-(\\d+)-background-size/) && property2.value) {\n this._private.hasPie = true;\n }\n if (property2.mapped) {\n this[i3].mappedProperties.push(property2);\n }\n var currentSelectorIsCore = !this[i3].selector;\n if (currentSelectorIsCore) {\n this._private.coreStyle[property2.name] = property2;\n }\n }\n return this;\n };\n styfn.append = function(style) {\n if (stylesheet(style)) {\n style.appendToStyle(this);\n } else if (array2(style)) {\n this.appendFromJson(style);\n } else if (string(style)) {\n this.appendFromString(style);\n }\n return this;\n };\n Style.fromJson = function(cy, json2) {\n var style = new Style(cy);\n style.fromJson(json2);\n return style;\n };\n Style.fromString = function(cy, string2) {\n return new Style(cy).fromString(string2);\n };\n [styfn$8, styfn$7, styfn$6, styfn$5, styfn$4, styfn$3, styfn$2, styfn$1].forEach(function(props) {\n extend2(styfn, props);\n });\n Style.types = styfn.types;\n Style.properties = styfn.properties;\n Style.propertyGroups = styfn.propertyGroups;\n Style.propertyGroupNames = styfn.propertyGroupNames;\n Style.propertyGroupKeys = styfn.propertyGroupKeys;\n var corefn$2 = {\n style: function style(newStyle) {\n if (newStyle) {\n var s = this.setStyle(newStyle);\n s.update();\n }\n return this._private.style;\n },\n setStyle: function setStyle2(style) {\n var _p = this._private;\n if (stylesheet(style)) {\n _p.style = style.generateStyle(this);\n } else if (array2(style)) {\n _p.style = Style.fromJson(this, style);\n } else if (string(style)) {\n _p.style = Style.fromString(this, style);\n } else {\n _p.style = Style(this);\n }\n return _p.style;\n },\n // e.g. cy.data() changed => recalc ele mappers\n updateStyle: function updateStyle() {\n this.mutableElements().updateStyle();\n }\n };\n var defaultSelectionType = \"single\";\n var corefn$1 = {\n autolock: function autolock(bool2) {\n if (bool2 !== void 0) {\n this._private.autolock = bool2 ? true : false;\n } else {\n return this._private.autolock;\n }\n return this;\n },\n autoungrabify: function autoungrabify(bool2) {\n if (bool2 !== void 0) {\n this._private.autoungrabify = bool2 ? true : false;\n } else {\n return this._private.autoungrabify;\n }\n return this;\n },\n autounselectify: function autounselectify(bool2) {\n if (bool2 !== void 0) {\n this._private.autounselectify = bool2 ? true : false;\n } else {\n return this._private.autounselectify;\n }\n return this;\n },\n selectionType: function selectionType(selType) {\n var _p = this._private;\n if (_p.selectionType == null) {\n _p.selectionType = defaultSelectionType;\n }\n if (selType !== void 0) {\n if (selType === \"additive\" || selType === \"single\") {\n _p.selectionType = selType;\n }\n } else {\n return _p.selectionType;\n }\n return this;\n },\n panningEnabled: function panningEnabled(bool2) {\n if (bool2 !== void 0) {\n this._private.panningEnabled = bool2 ? true : false;\n } else {\n return this._private.panningEnabled;\n }\n return this;\n },\n userPanningEnabled: function userPanningEnabled(bool2) {\n if (bool2 !== void 0) {\n this._private.userPanningEnabled = bool2 ? true : false;\n } else {\n return this._private.userPanningEnabled;\n }\n return this;\n },\n zoomingEnabled: function zoomingEnabled(bool2) {\n if (bool2 !== void 0) {\n this._private.zoomingEnabled = bool2 ? true : false;\n } else {\n return this._private.zoomingEnabled;\n }\n return this;\n },\n userZoomingEnabled: function userZoomingEnabled(bool2) {\n if (bool2 !== void 0) {\n this._private.userZoomingEnabled = bool2 ? true : false;\n } else {\n return this._private.userZoomingEnabled;\n }\n return this;\n },\n boxSelectionEnabled: function boxSelectionEnabled(bool2) {\n if (bool2 !== void 0) {\n this._private.boxSelectionEnabled = bool2 ? true : false;\n } else {\n return this._private.boxSelectionEnabled;\n }\n return this;\n },\n pan: function pan() {\n var args = arguments;\n var pan2 = this._private.pan;\n var dim, val, dims, x2, y2;\n switch (args.length) {\n case 0:\n return pan2;\n case 1:\n if (string(args[0])) {\n dim = args[0];\n return pan2[dim];\n } else if (plainObject(args[0])) {\n if (!this._private.panningEnabled) {\n return this;\n }\n dims = args[0];\n x2 = dims.x;\n y2 = dims.y;\n if (number$12(x2)) {\n pan2.x = x2;\n }\n if (number$12(y2)) {\n pan2.y = y2;\n }\n this.emit(\"pan viewport\");\n }\n break;\n case 2:\n if (!this._private.panningEnabled) {\n return this;\n }\n dim = args[0];\n val = args[1];\n if ((dim === \"x\" || dim === \"y\") && number$12(val)) {\n pan2[dim] = val;\n }\n this.emit(\"pan viewport\");\n break;\n }\n this.notify(\"viewport\");\n return this;\n },\n panBy: function panBy(arg0, arg1) {\n var args = arguments;\n var pan = this._private.pan;\n var dim, val, dims, x2, y2;\n if (!this._private.panningEnabled) {\n return this;\n }\n switch (args.length) {\n case 1:\n if (plainObject(arg0)) {\n dims = args[0];\n x2 = dims.x;\n y2 = dims.y;\n if (number$12(x2)) {\n pan.x += x2;\n }\n if (number$12(y2)) {\n pan.y += y2;\n }\n this.emit(\"pan viewport\");\n }\n break;\n case 2:\n dim = arg0;\n val = arg1;\n if ((dim === \"x\" || dim === \"y\") && number$12(val)) {\n pan[dim] += val;\n }\n this.emit(\"pan viewport\");\n break;\n }\n this.notify(\"viewport\");\n return this;\n },\n fit: function fit(elements2, padding2) {\n var viewportState = this.getFitViewport(elements2, padding2);\n if (viewportState) {\n var _p = this._private;\n _p.zoom = viewportState.zoom;\n _p.pan = viewportState.pan;\n this.emit(\"pan zoom viewport\");\n this.notify(\"viewport\");\n }\n return this;\n },\n getFitViewport: function getFitViewport(elements2, padding2) {\n if (number$12(elements2) && padding2 === void 0) {\n padding2 = elements2;\n elements2 = void 0;\n }\n if (!this._private.panningEnabled || !this._private.zoomingEnabled) {\n return;\n }\n var bb;\n if (string(elements2)) {\n var sel = elements2;\n elements2 = this.$(sel);\n } else if (boundingBox(elements2)) {\n var bbe = elements2;\n bb = {\n x1: bbe.x1,\n y1: bbe.y1,\n x2: bbe.x2,\n y2: bbe.y2\n };\n bb.w = bb.x2 - bb.x1;\n bb.h = bb.y2 - bb.y1;\n } else if (!elementOrCollection(elements2)) {\n elements2 = this.mutableElements();\n }\n if (elementOrCollection(elements2) && elements2.empty()) {\n return;\n }\n bb = bb || elements2.boundingBox();\n var w2 = this.width();\n var h = this.height();\n var zoom;\n padding2 = number$12(padding2) ? padding2 : 0;\n if (!isNaN(w2) && !isNaN(h) && w2 > 0 && h > 0 && !isNaN(bb.w) && !isNaN(bb.h) && bb.w > 0 && bb.h > 0) {\n zoom = Math.min((w2 - 2 * padding2) / bb.w, (h - 2 * padding2) / bb.h);\n zoom = zoom > this._private.maxZoom ? this._private.maxZoom : zoom;\n zoom = zoom < this._private.minZoom ? this._private.minZoom : zoom;\n var pan = {\n // now pan to middle\n x: (w2 - zoom * (bb.x1 + bb.x2)) / 2,\n y: (h - zoom * (bb.y1 + bb.y2)) / 2\n };\n return {\n zoom,\n pan\n };\n }\n return;\n },\n zoomRange: function zoomRange(min3, max3) {\n var _p = this._private;\n if (max3 == null) {\n var opts = min3;\n min3 = opts.min;\n max3 = opts.max;\n }\n if (number$12(min3) && number$12(max3) && min3 <= max3) {\n _p.minZoom = min3;\n _p.maxZoom = max3;\n } else if (number$12(min3) && max3 === void 0 && min3 <= _p.maxZoom) {\n _p.minZoom = min3;\n } else if (number$12(max3) && min3 === void 0 && max3 >= _p.minZoom) {\n _p.maxZoom = max3;\n }\n return this;\n },\n minZoom: function minZoom(zoom) {\n if (zoom === void 0) {\n return this._private.minZoom;\n } else {\n return this.zoomRange({\n min: zoom\n });\n }\n },\n maxZoom: function maxZoom2(zoom) {\n if (zoom === void 0) {\n return this._private.maxZoom;\n } else {\n return this.zoomRange({\n max: zoom\n });\n }\n },\n getZoomedViewport: function getZoomedViewport(params) {\n var _p = this._private;\n var currentPan = _p.pan;\n var currentZoom = _p.zoom;\n var pos;\n var zoom;\n var bail = false;\n if (!_p.zoomingEnabled) {\n bail = true;\n }\n if (number$12(params)) {\n zoom = params;\n } else if (plainObject(params)) {\n zoom = params.level;\n if (params.position != null) {\n pos = modelToRenderedPosition(params.position, currentZoom, currentPan);\n } else if (params.renderedPosition != null) {\n pos = params.renderedPosition;\n }\n if (pos != null && !_p.panningEnabled) {\n bail = true;\n }\n }\n zoom = zoom > _p.maxZoom ? _p.maxZoom : zoom;\n zoom = zoom < _p.minZoom ? _p.minZoom : zoom;\n if (bail || !number$12(zoom) || zoom === currentZoom || pos != null && (!number$12(pos.x) || !number$12(pos.y))) {\n return null;\n }\n if (pos != null) {\n var pan1 = currentPan;\n var zoom1 = currentZoom;\n var zoom2 = zoom;\n var pan2 = {\n x: -zoom2 / zoom1 * (pos.x - pan1.x) + pos.x,\n y: -zoom2 / zoom1 * (pos.y - pan1.y) + pos.y\n };\n return {\n zoomed: true,\n panned: true,\n zoom: zoom2,\n pan: pan2\n };\n } else {\n return {\n zoomed: true,\n panned: false,\n zoom,\n pan: currentPan\n };\n }\n },\n zoom: function zoom(params) {\n if (params === void 0) {\n return this._private.zoom;\n } else {\n var vp = this.getZoomedViewport(params);\n var _p = this._private;\n if (vp == null || !vp.zoomed) {\n return this;\n }\n _p.zoom = vp.zoom;\n if (vp.panned) {\n _p.pan.x = vp.pan.x;\n _p.pan.y = vp.pan.y;\n }\n this.emit(\"zoom\" + (vp.panned ? \" pan\" : \"\") + \" viewport\");\n this.notify(\"viewport\");\n return this;\n }\n },\n viewport: function viewport(opts) {\n var _p = this._private;\n var zoomDefd = true;\n var panDefd = true;\n var events = [];\n var zoomFailed = false;\n var panFailed = false;\n if (!opts) {\n return this;\n }\n if (!number$12(opts.zoom)) {\n zoomDefd = false;\n }\n if (!plainObject(opts.pan)) {\n panDefd = false;\n }\n if (!zoomDefd && !panDefd) {\n return this;\n }\n if (zoomDefd) {\n var z = opts.zoom;\n if (z < _p.minZoom || z > _p.maxZoom || !_p.zoomingEnabled) {\n zoomFailed = true;\n } else {\n _p.zoom = z;\n events.push(\"zoom\");\n }\n }\n if (panDefd && (!zoomFailed || !opts.cancelOnFailedZoom) && _p.panningEnabled) {\n var p2 = opts.pan;\n if (number$12(p2.x)) {\n _p.pan.x = p2.x;\n panFailed = false;\n }\n if (number$12(p2.y)) {\n _p.pan.y = p2.y;\n panFailed = false;\n }\n if (!panFailed) {\n events.push(\"pan\");\n }\n }\n if (events.length > 0) {\n events.push(\"viewport\");\n this.emit(events.join(\" \"));\n this.notify(\"viewport\");\n }\n return this;\n },\n center: function center2(elements2) {\n var pan = this.getCenterPan(elements2);\n if (pan) {\n this._private.pan = pan;\n this.emit(\"pan viewport\");\n this.notify(\"viewport\");\n }\n return this;\n },\n getCenterPan: function getCenterPan(elements2, zoom) {\n if (!this._private.panningEnabled) {\n return;\n }\n if (string(elements2)) {\n var selector2 = elements2;\n elements2 = this.mutableElements().filter(selector2);\n } else if (!elementOrCollection(elements2)) {\n elements2 = this.mutableElements();\n }\n if (elements2.length === 0) {\n return;\n }\n var bb = elements2.boundingBox();\n var w2 = this.width();\n var h = this.height();\n zoom = zoom === void 0 ? this._private.zoom : zoom;\n var pan = {\n // middle\n x: (w2 - zoom * (bb.x1 + bb.x2)) / 2,\n y: (h - zoom * (bb.y1 + bb.y2)) / 2\n };\n return pan;\n },\n reset: function reset2() {\n if (!this._private.panningEnabled || !this._private.zoomingEnabled) {\n return this;\n }\n this.viewport({\n pan: {\n x: 0,\n y: 0\n },\n zoom: 1\n });\n return this;\n },\n invalidateSize: function invalidateSize() {\n this._private.sizeCache = null;\n },\n size: function size2() {\n var _p = this._private;\n var container = _p.container;\n return _p.sizeCache = _p.sizeCache || (container ? function() {\n var style = window$1.getComputedStyle(container);\n var val = function val2(name2) {\n return parseFloat(style.getPropertyValue(name2));\n };\n return {\n width: container.clientWidth - val(\"padding-left\") - val(\"padding-right\"),\n height: container.clientHeight - val(\"padding-top\") - val(\"padding-bottom\")\n };\n }() : {\n // fallback if no container (not 0 b/c can be used for dividing etc)\n width: 1,\n height: 1\n });\n },\n width: function width2() {\n return this.size().width;\n },\n height: function height2() {\n return this.size().height;\n },\n extent: function extent() {\n var pan = this._private.pan;\n var zoom = this._private.zoom;\n var rb = this.renderedExtent();\n var b = {\n x1: (rb.x1 - pan.x) / zoom,\n x2: (rb.x2 - pan.x) / zoom,\n y1: (rb.y1 - pan.y) / zoom,\n y2: (rb.y2 - pan.y) / zoom\n };\n b.w = b.x2 - b.x1;\n b.h = b.y2 - b.y1;\n return b;\n },\n renderedExtent: function renderedExtent() {\n var width2 = this.width();\n var height2 = this.height();\n return {\n x1: 0,\n y1: 0,\n x2: width2,\n y2: height2,\n w: width2,\n h: height2\n };\n },\n multiClickDebounceTime: function multiClickDebounceTime(_int) {\n if (_int)\n this._private.multiClickDebounceTime = _int;\n else\n return this._private.multiClickDebounceTime;\n return this;\n }\n };\n corefn$1.centre = corefn$1.center;\n corefn$1.autolockNodes = corefn$1.autolock;\n corefn$1.autoungrabifyNodes = corefn$1.autoungrabify;\n var fn = {\n data: define3.data({\n field: \"data\",\n bindingEvent: \"data\",\n allowBinding: true,\n allowSetting: true,\n settingEvent: \"data\",\n settingTriggersEvent: true,\n triggerFnName: \"trigger\",\n allowGetting: true,\n updateStyle: true\n }),\n removeData: define3.removeData({\n field: \"data\",\n event: \"data\",\n triggerFnName: \"trigger\",\n triggerEvent: true,\n updateStyle: true\n }),\n scratch: define3.data({\n field: \"scratch\",\n bindingEvent: \"scratch\",\n allowBinding: true,\n allowSetting: true,\n settingEvent: \"scratch\",\n settingTriggersEvent: true,\n triggerFnName: \"trigger\",\n allowGetting: true,\n updateStyle: true\n }),\n removeScratch: define3.removeData({\n field: \"scratch\",\n event: \"scratch\",\n triggerFnName: \"trigger\",\n triggerEvent: true,\n updateStyle: true\n })\n };\n fn.attr = fn.data;\n fn.removeAttr = fn.removeData;\n var Core = function Core2(opts) {\n var cy = this;\n opts = extend2({}, opts);\n var container = opts.container;\n if (container && !htmlElement(container) && htmlElement(container[0])) {\n container = container[0];\n }\n var reg = container ? container._cyreg : null;\n reg = reg || {};\n if (reg && reg.cy) {\n reg.cy.destroy();\n reg = {};\n }\n var readies = reg.readies = reg.readies || [];\n if (container) {\n container._cyreg = reg;\n }\n reg.cy = cy;\n var head2 = window$1 !== void 0 && container !== void 0 && !opts.headless;\n var options2 = opts;\n options2.layout = extend2({\n name: head2 ? \"grid\" : \"null\"\n }, options2.layout);\n options2.renderer = extend2({\n name: head2 ? \"canvas\" : \"null\"\n }, options2.renderer);\n var defVal = function defVal2(def, val, altVal) {\n if (val !== void 0) {\n return val;\n } else if (altVal !== void 0) {\n return altVal;\n } else {\n return def;\n }\n };\n var _p = this._private = {\n container,\n // html dom ele container\n ready: false,\n // whether ready has been triggered\n options: options2,\n // cached options\n elements: new Collection(this),\n // elements in the graph\n listeners: [],\n // list of listeners\n aniEles: new Collection(this),\n // elements being animated\n data: options2.data || {},\n // data for the core\n scratch: {},\n // scratch object for core\n layout: null,\n renderer: null,\n destroyed: false,\n // whether destroy was called\n notificationsEnabled: true,\n // whether notifications are sent to the renderer\n minZoom: 1e-50,\n maxZoom: 1e50,\n zoomingEnabled: defVal(true, options2.zoomingEnabled),\n userZoomingEnabled: defVal(true, options2.userZoomingEnabled),\n panningEnabled: defVal(true, options2.panningEnabled),\n userPanningEnabled: defVal(true, options2.userPanningEnabled),\n boxSelectionEnabled: defVal(true, options2.boxSelectionEnabled),\n autolock: defVal(false, options2.autolock, options2.autolockNodes),\n autoungrabify: defVal(false, options2.autoungrabify, options2.autoungrabifyNodes),\n autounselectify: defVal(false, options2.autounselectify),\n styleEnabled: options2.styleEnabled === void 0 ? head2 : options2.styleEnabled,\n zoom: number$12(options2.zoom) ? options2.zoom : 1,\n pan: {\n x: plainObject(options2.pan) && number$12(options2.pan.x) ? options2.pan.x : 0,\n y: plainObject(options2.pan) && number$12(options2.pan.y) ? options2.pan.y : 0\n },\n animation: {\n // object for currently-running animations\n current: [],\n queue: []\n },\n hasCompoundNodes: false,\n multiClickDebounceTime: defVal(250, options2.multiClickDebounceTime)\n };\n this.createEmitter();\n this.selectionType(options2.selectionType);\n this.zoomRange({\n min: options2.minZoom,\n max: options2.maxZoom\n });\n var loadExtData = function loadExtData2(extData, next2) {\n var anyIsPromise = extData.some(promise);\n if (anyIsPromise) {\n return Promise$12.all(extData).then(next2);\n } else {\n next2(extData);\n }\n };\n if (_p.styleEnabled) {\n cy.setStyle([]);\n }\n var rendererOptions = extend2({}, options2, options2.renderer);\n cy.initRenderer(rendererOptions);\n var setElesAndLayout = function setElesAndLayout2(elements2, onload, ondone) {\n cy.notifications(false);\n var oldEles = cy.mutableElements();\n if (oldEles.length > 0) {\n oldEles.remove();\n }\n if (elements2 != null) {\n if (plainObject(elements2) || array2(elements2)) {\n cy.add(elements2);\n }\n }\n cy.one(\"layoutready\", function(e) {\n cy.notifications(true);\n cy.emit(e);\n cy.one(\"load\", onload);\n cy.emitAndNotify(\"load\");\n }).one(\"layoutstop\", function() {\n cy.one(\"done\", ondone);\n cy.emit(\"done\");\n });\n var layoutOpts = extend2({}, cy._private.options.layout);\n layoutOpts.eles = cy.elements();\n cy.layout(layoutOpts).run();\n };\n loadExtData([options2.style, options2.elements], function(thens) {\n var initStyle = thens[0];\n var initEles = thens[1];\n if (_p.styleEnabled) {\n cy.style().append(initStyle);\n }\n setElesAndLayout(initEles, function() {\n cy.startAnimationLoop();\n _p.ready = true;\n if (fn$6(options2.ready)) {\n cy.on(\"ready\", options2.ready);\n }\n for (var i3 = 0; i3 < readies.length; i3++) {\n var fn2 = readies[i3];\n cy.on(\"ready\", fn2);\n }\n if (reg) {\n reg.readies = [];\n }\n cy.emit(\"ready\");\n }, options2.done);\n });\n };\n var corefn = Core.prototype;\n extend2(corefn, {\n instanceString: function instanceString() {\n return \"core\";\n },\n isReady: function isReady() {\n return this._private.ready;\n },\n destroyed: function destroyed() {\n return this._private.destroyed;\n },\n ready: function ready(fn2) {\n if (this.isReady()) {\n this.emitter().emit(\"ready\", [], fn2);\n } else {\n this.on(\"ready\", fn2);\n }\n return this;\n },\n destroy: function destroy() {\n var cy = this;\n if (cy.destroyed())\n return;\n cy.stopAnimationLoop();\n cy.destroyRenderer();\n this.emit(\"destroy\");\n cy._private.destroyed = true;\n return cy;\n },\n hasElementWithId: function hasElementWithId(id2) {\n return this._private.elements.hasElementWithId(id2);\n },\n getElementById: function getElementById2(id2) {\n return this._private.elements.getElementById(id2);\n },\n hasCompoundNodes: function hasCompoundNodes() {\n return this._private.hasCompoundNodes;\n },\n headless: function headless() {\n return this._private.renderer.isHeadless();\n },\n styleEnabled: function styleEnabled() {\n return this._private.styleEnabled;\n },\n addToPool: function addToPool(eles) {\n this._private.elements.merge(eles);\n return this;\n },\n removeFromPool: function removeFromPool(eles) {\n this._private.elements.unmerge(eles);\n return this;\n },\n container: function container() {\n return this._private.container || null;\n },\n mount: function mount(container) {\n if (container == null) {\n return;\n }\n var cy = this;\n var _p = cy._private;\n var options2 = _p.options;\n if (!htmlElement(container) && htmlElement(container[0])) {\n container = container[0];\n }\n cy.stopAnimationLoop();\n cy.destroyRenderer();\n _p.container = container;\n _p.styleEnabled = true;\n cy.invalidateSize();\n cy.initRenderer(extend2({}, options2, options2.renderer, {\n // allow custom renderer name to be re-used, otherwise use canvas\n name: options2.renderer.name === \"null\" ? \"canvas\" : options2.renderer.name\n }));\n cy.startAnimationLoop();\n cy.style(options2.style);\n cy.emit(\"mount\");\n return cy;\n },\n unmount: function unmount() {\n var cy = this;\n cy.stopAnimationLoop();\n cy.destroyRenderer();\n cy.initRenderer({\n name: \"null\"\n });\n cy.emit(\"unmount\");\n return cy;\n },\n options: function options2() {\n return copy2(this._private.options);\n },\n json: function json2(obj) {\n var cy = this;\n var _p = cy._private;\n var eles = cy.mutableElements();\n var getFreshRef = function getFreshRef2(ele) {\n return cy.getElementById(ele.id());\n };\n if (plainObject(obj)) {\n cy.startBatch();\n if (obj.elements) {\n var idInJson = {};\n var updateEles = function updateEles2(jsons, gr2) {\n var toAdd = [];\n var toMod = [];\n for (var i4 = 0; i4 < jsons.length; i4++) {\n var json4 = jsons[i4];\n if (!json4.data.id) {\n warn(\"cy.json() cannot handle elements without an ID attribute\");\n continue;\n }\n var id2 = \"\" + json4.data.id;\n var ele = cy.getElementById(id2);\n idInJson[id2] = true;\n if (ele.length !== 0) {\n toMod.push({\n ele,\n json: json4\n });\n } else {\n if (gr2) {\n json4.group = gr2;\n toAdd.push(json4);\n } else {\n toAdd.push(json4);\n }\n }\n }\n cy.add(toAdd);\n for (var _i = 0; _i < toMod.length; _i++) {\n var _toMod$_i = toMod[_i], _ele = _toMod$_i.ele, _json = _toMod$_i.json;\n _ele.json(_json);\n }\n };\n if (array2(obj.elements)) {\n updateEles(obj.elements);\n } else {\n var grs = [\"nodes\", \"edges\"];\n for (var i3 = 0; i3 < grs.length; i3++) {\n var gr = grs[i3];\n var elements2 = obj.elements[gr];\n if (array2(elements2)) {\n updateEles(elements2, gr);\n }\n }\n }\n var parentsToRemove = cy.collection();\n eles.filter(function(ele) {\n return !idInJson[ele.id()];\n }).forEach(function(ele) {\n if (ele.isParent()) {\n parentsToRemove.merge(ele);\n } else {\n ele.remove();\n }\n });\n parentsToRemove.forEach(function(ele) {\n return ele.children().move({\n parent: null\n });\n });\n parentsToRemove.forEach(function(ele) {\n return getFreshRef(ele).remove();\n });\n }\n if (obj.style) {\n cy.style(obj.style);\n }\n if (obj.zoom != null && obj.zoom !== _p.zoom) {\n cy.zoom(obj.zoom);\n }\n if (obj.pan) {\n if (obj.pan.x !== _p.pan.x || obj.pan.y !== _p.pan.y) {\n cy.pan(obj.pan);\n }\n }\n if (obj.data) {\n cy.data(obj.data);\n }\n var fields = [\"minZoom\", \"maxZoom\", \"zoomingEnabled\", \"userZoomingEnabled\", \"panningEnabled\", \"userPanningEnabled\", \"boxSelectionEnabled\", \"autolock\", \"autoungrabify\", \"autounselectify\", \"multiClickDebounceTime\"];\n for (var _i2 = 0; _i2 < fields.length; _i2++) {\n var f2 = fields[_i2];\n if (obj[f2] != null) {\n cy[f2](obj[f2]);\n }\n }\n cy.endBatch();\n return this;\n } else {\n var flat = !!obj;\n var json3 = {};\n if (flat) {\n json3.elements = this.elements().map(function(ele) {\n return ele.json();\n });\n } else {\n json3.elements = {};\n eles.forEach(function(ele) {\n var group = ele.group();\n if (!json3.elements[group]) {\n json3.elements[group] = [];\n }\n json3.elements[group].push(ele.json());\n });\n }\n if (this._private.styleEnabled) {\n json3.style = cy.style().json();\n }\n json3.data = copy2(cy.data());\n var options2 = _p.options;\n json3.zoomingEnabled = _p.zoomingEnabled;\n json3.userZoomingEnabled = _p.userZoomingEnabled;\n json3.zoom = _p.zoom;\n json3.minZoom = _p.minZoom;\n json3.maxZoom = _p.maxZoom;\n json3.panningEnabled = _p.panningEnabled;\n json3.userPanningEnabled = _p.userPanningEnabled;\n json3.pan = copy2(_p.pan);\n json3.boxSelectionEnabled = _p.boxSelectionEnabled;\n json3.renderer = copy2(options2.renderer);\n json3.hideEdgesOnViewport = options2.hideEdgesOnViewport;\n json3.textureOnViewport = options2.textureOnViewport;\n json3.wheelSensitivity = options2.wheelSensitivity;\n json3.motionBlur = options2.motionBlur;\n json3.multiClickDebounceTime = options2.multiClickDebounceTime;\n return json3;\n }\n }\n });\n corefn.$id = corefn.getElementById;\n [corefn$9, corefn$8, elesfn, corefn$7, corefn$6, corefn$5, corefn$4, corefn$3, corefn$2, corefn$1, fn].forEach(function(props) {\n extend2(corefn, props);\n });\n var defaults$7 = {\n fit: true,\n // whether to fit the viewport to the graph\n directed: false,\n // whether the tree is directed downwards (or edges can point in any direction if false)\n padding: 30,\n // padding on fit\n circle: false,\n // put depths in concentric circles if true, put depths top down if false\n grid: false,\n // whether to create an even grid into which the DAG is placed (circle:false only)\n spacingFactor: 1.75,\n // positive spacing factor, larger => more space between nodes (N.B. n/a if causes overlap)\n boundingBox: void 0,\n // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h }\n avoidOverlap: true,\n // prevents node overlap, may overflow boundingBox if not enough space\n nodeDimensionsIncludeLabels: false,\n // Excludes the label when calculating node bounding boxes for the layout algorithm\n roots: void 0,\n // the roots of the trees\n maximal: false,\n // whether to shift nodes down their natural BFS depths in order to avoid upwards edges (DAGS only)\n depthSort: void 0,\n // a sorting function to order nodes at equal depth. e.g. function(a, b){ return a.data('weight') - b.data('weight') }\n animate: false,\n // whether to transition the node positions\n animationDuration: 500,\n // duration of animation in ms if enabled\n animationEasing: void 0,\n // easing of animation if enabled,\n animateFilter: function animateFilter(node2, i3) {\n return true;\n },\n // a function that determines whether the node should be animated. All nodes animated by default on animate enabled. Non-animated nodes are positioned immediately when the layout starts\n ready: void 0,\n // callback on layoutready\n stop: void 0,\n // callback on layoutstop\n transform: function transform(node2, position3) {\n return position3;\n }\n // transform a given node position. Useful for changing flow direction in discrete layouts\n };\n var getInfo2 = function getInfo3(ele) {\n return ele.scratch(\"breadthfirst\");\n };\n var setInfo2 = function setInfo3(ele, obj) {\n return ele.scratch(\"breadthfirst\", obj);\n };\n function BreadthFirstLayout(options2) {\n this.options = extend2({}, defaults$7, options2);\n }\n BreadthFirstLayout.prototype.run = function() {\n var params = this.options;\n var options2 = params;\n var cy = params.cy;\n var eles = options2.eles;\n var nodes2 = eles.nodes().filter(function(n2) {\n return !n2.isParent();\n });\n var graph = eles;\n var directed = options2.directed;\n var maximal = options2.maximal || options2.maximalAdjustments > 0;\n var bb = makeBoundingBox(options2.boundingBox ? options2.boundingBox : {\n x1: 0,\n y1: 0,\n w: cy.width(),\n h: cy.height()\n });\n var roots;\n if (elementOrCollection(options2.roots)) {\n roots = options2.roots;\n } else if (array2(options2.roots)) {\n var rootsArray = [];\n for (var i3 = 0; i3 < options2.roots.length; i3++) {\n var id2 = options2.roots[i3];\n var ele = cy.getElementById(id2);\n rootsArray.push(ele);\n }\n roots = cy.collection(rootsArray);\n } else if (string(options2.roots)) {\n roots = cy.$(options2.roots);\n } else {\n if (directed) {\n roots = nodes2.roots();\n } else {\n var components = eles.components();\n roots = cy.collection();\n var _loop = function _loop2(_i3) {\n var comp = components[_i3];\n var maxDegree = comp.maxDegree(false);\n var compRoots = comp.filter(function(ele2) {\n return ele2.degree(false) === maxDegree;\n });\n roots = roots.add(compRoots);\n };\n for (var _i = 0; _i < components.length; _i++) {\n _loop(_i);\n }\n }\n }\n var depths = [];\n var foundByBfs = {};\n var addToDepth = function addToDepth2(ele2, d) {\n if (depths[d] == null) {\n depths[d] = [];\n }\n var i4 = depths[d].length;\n depths[d].push(ele2);\n setInfo2(ele2, {\n index: i4,\n depth: d\n });\n };\n var changeDepth = function changeDepth2(ele2, newDepth) {\n var _getInfo = getInfo2(ele2), depth = _getInfo.depth, index = _getInfo.index;\n depths[depth][index] = null;\n addToDepth(ele2, newDepth);\n };\n graph.bfs({\n roots,\n directed: options2.directed,\n visit: function visit(node2, edge, pNode, i4, depth) {\n var ele2 = node2[0];\n var id3 = ele2.id();\n addToDepth(ele2, depth);\n foundByBfs[id3] = true;\n }\n });\n var orphanNodes = [];\n for (var _i2 = 0; _i2 < nodes2.length; _i2++) {\n var _ele = nodes2[_i2];\n if (foundByBfs[_ele.id()]) {\n continue;\n } else {\n orphanNodes.push(_ele);\n }\n }\n var assignDepthsAt = function assignDepthsAt2(i4) {\n var eles2 = depths[i4];\n for (var j = 0; j < eles2.length; j++) {\n var _ele2 = eles2[j];\n if (_ele2 == null) {\n eles2.splice(j, 1);\n j--;\n continue;\n }\n setInfo2(_ele2, {\n depth: i4,\n index: j\n });\n }\n };\n var assignDepths = function assignDepths2() {\n for (var _i3 = 0; _i3 < depths.length; _i3++) {\n assignDepthsAt(_i3);\n }\n };\n var adjustMaximally = function adjustMaximally2(ele2, shifted2) {\n var eInfo = getInfo2(ele2);\n var incomers = ele2.incomers().filter(function(el) {\n return el.isNode() && eles.has(el);\n });\n var maxDepth = -1;\n var id3 = ele2.id();\n for (var k = 0; k < incomers.length; k++) {\n var incmr = incomers[k];\n var iInfo = getInfo2(incmr);\n maxDepth = Math.max(maxDepth, iInfo.depth);\n }\n if (eInfo.depth <= maxDepth) {\n if (shifted2[id3]) {\n return null;\n }\n changeDepth(ele2, maxDepth + 1);\n shifted2[id3] = true;\n return true;\n }\n return false;\n };\n if (directed && maximal) {\n var Q = [];\n var shifted = {};\n var enqueue = function enqueue2(n2) {\n return Q.push(n2);\n };\n var dequeue = function dequeue2() {\n return Q.shift();\n };\n nodes2.forEach(function(n2) {\n return Q.push(n2);\n });\n while (Q.length > 0) {\n var _ele3 = dequeue();\n var didShift = adjustMaximally(_ele3, shifted);\n if (didShift) {\n _ele3.outgoers().filter(function(el) {\n return el.isNode() && eles.has(el);\n }).forEach(enqueue);\n } else if (didShift === null) {\n warn(\"Detected double maximal shift for node `\" + _ele3.id() + \"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.\");\n break;\n }\n }\n }\n assignDepths();\n var minDistance = 0;\n if (options2.avoidOverlap) {\n for (var _i4 = 0; _i4 < nodes2.length; _i4++) {\n var n = nodes2[_i4];\n var nbb = n.layoutDimensions(options2);\n var w2 = nbb.w;\n var h = nbb.h;\n minDistance = Math.max(minDistance, w2, h);\n }\n }\n var cachedWeightedPercent = {};\n var getWeightedPercent = function getWeightedPercent2(ele2) {\n if (cachedWeightedPercent[ele2.id()]) {\n return cachedWeightedPercent[ele2.id()];\n }\n var eleDepth = getInfo2(ele2).depth;\n var neighbors = ele2.neighborhood();\n var percent = 0;\n var samples = 0;\n for (var _i5 = 0; _i5 < neighbors.length; _i5++) {\n var neighbor = neighbors[_i5];\n if (neighbor.isEdge() || neighbor.isParent() || !nodes2.has(neighbor)) {\n continue;\n }\n var bf = getInfo2(neighbor);\n if (bf == null) {\n continue;\n }\n var index = bf.index;\n var depth = bf.depth;\n if (index == null || depth == null) {\n continue;\n }\n var nDepth = depths[depth].length;\n if (depth < eleDepth) {\n percent += index / nDepth;\n samples++;\n }\n }\n samples = Math.max(1, samples);\n percent = percent / samples;\n if (samples === 0) {\n percent = 0;\n }\n cachedWeightedPercent[ele2.id()] = percent;\n return percent;\n };\n var sortFn = function sortFn2(a, b) {\n var apct = getWeightedPercent(a);\n var bpct = getWeightedPercent(b);\n var diff = apct - bpct;\n if (diff === 0) {\n return ascending2(a.id(), b.id());\n } else {\n return diff;\n }\n };\n if (options2.depthSort !== void 0) {\n sortFn = options2.depthSort;\n }\n for (var _i6 = 0; _i6 < depths.length; _i6++) {\n depths[_i6].sort(sortFn);\n assignDepthsAt(_i6);\n }\n var orphanDepth = [];\n for (var _i7 = 0; _i7 < orphanNodes.length; _i7++) {\n orphanDepth.push(orphanNodes[_i7]);\n }\n depths.unshift(orphanDepth);\n assignDepths();\n var biggestDepthSize = 0;\n for (var _i8 = 0; _i8 < depths.length; _i8++) {\n biggestDepthSize = Math.max(depths[_i8].length, biggestDepthSize);\n }\n var center2 = {\n x: bb.x1 + bb.w / 2,\n y: bb.x1 + bb.h / 2\n };\n var maxDepthSize = depths.reduce(function(max3, eles2) {\n return Math.max(max3, eles2.length);\n }, 0);\n var getPosition = function getPosition2(ele2) {\n var _getInfo2 = getInfo2(ele2), depth = _getInfo2.depth, index = _getInfo2.index;\n var depthSize = depths[depth].length;\n var distanceX = Math.max(bb.w / ((options2.grid ? maxDepthSize : depthSize) + 1), minDistance);\n var distanceY = Math.max(bb.h / (depths.length + 1), minDistance);\n var radiusStepSize = Math.min(bb.w / 2 / depths.length, bb.h / 2 / depths.length);\n radiusStepSize = Math.max(radiusStepSize, minDistance);\n if (!options2.circle) {\n var epos = {\n x: center2.x + (index + 1 - (depthSize + 1) / 2) * distanceX,\n y: (depth + 1) * distanceY\n };\n return epos;\n } else {\n var radius = radiusStepSize * depth + radiusStepSize - (depths.length > 0 && depths[0].length <= 3 ? radiusStepSize / 2 : 0);\n var theta = 2 * Math.PI / depths[depth].length * index;\n if (depth === 0 && depths[0].length === 1) {\n radius = 1;\n }\n return {\n x: center2.x + radius * Math.cos(theta),\n y: center2.y + radius * Math.sin(theta)\n };\n }\n };\n eles.nodes().layoutPositions(this, options2, getPosition);\n return this;\n };\n var defaults$6 = {\n fit: true,\n // whether to fit the viewport to the graph\n padding: 30,\n // the padding on fit\n boundingBox: void 0,\n // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h }\n avoidOverlap: true,\n // prevents node overlap, may overflow boundingBox and radius if not enough space\n nodeDimensionsIncludeLabels: false,\n // Excludes the label when calculating node bounding boxes for the layout algorithm\n spacingFactor: void 0,\n // Applies a multiplicative factor (>0) to expand or compress the overall area that the nodes take up\n radius: void 0,\n // the radius of the circle\n startAngle: 3 / 2 * Math.PI,\n // where nodes start in radians\n sweep: void 0,\n // how many radians should be between the first and last node (defaults to full circle)\n clockwise: true,\n // whether the layout should go clockwise (true) or counterclockwise/anticlockwise (false)\n sort: void 0,\n // a sorting function to order the nodes; e.g. function(a, b){ return a.data('weight') - b.data('weight') }\n animate: false,\n // whether to transition the node positions\n animationDuration: 500,\n // duration of animation in ms if enabled\n animationEasing: void 0,\n // easing of animation if enabled\n animateFilter: function animateFilter(node2, i3) {\n return true;\n },\n // a function that determines whether the node should be animated. All nodes animated by default on animate enabled. Non-animated nodes are positioned immediately when the layout starts\n ready: void 0,\n // callback on layoutready\n stop: void 0,\n // callback on layoutstop\n transform: function transform(node2, position3) {\n return position3;\n }\n // transform a given node position. Useful for changing flow direction in discrete layouts \n };\n function CircleLayout(options2) {\n this.options = extend2({}, defaults$6, options2);\n }\n CircleLayout.prototype.run = function() {\n var params = this.options;\n var options2 = params;\n var cy = params.cy;\n var eles = options2.eles;\n var clockwise = options2.counterclockwise !== void 0 ? !options2.counterclockwise : options2.clockwise;\n var nodes2 = eles.nodes().not(\":parent\");\n if (options2.sort) {\n nodes2 = nodes2.sort(options2.sort);\n }\n var bb = makeBoundingBox(options2.boundingBox ? options2.boundingBox : {\n x1: 0,\n y1: 0,\n w: cy.width(),\n h: cy.height()\n });\n var center2 = {\n x: bb.x1 + bb.w / 2,\n y: bb.y1 + bb.h / 2\n };\n var sweep = options2.sweep === void 0 ? 2 * Math.PI - 2 * Math.PI / nodes2.length : options2.sweep;\n var dTheta = sweep / Math.max(1, nodes2.length - 1);\n var r;\n var minDistance = 0;\n for (var i3 = 0; i3 < nodes2.length; i3++) {\n var n = nodes2[i3];\n var nbb = n.layoutDimensions(options2);\n var w2 = nbb.w;\n var h = nbb.h;\n minDistance = Math.max(minDistance, w2, h);\n }\n if (number$12(options2.radius)) {\n r = options2.radius;\n } else if (nodes2.length <= 1) {\n r = 0;\n } else {\n r = Math.min(bb.h, bb.w) / 2 - minDistance;\n }\n if (nodes2.length > 1 && options2.avoidOverlap) {\n minDistance *= 1.75;\n var dcos = Math.cos(dTheta) - Math.cos(0);\n var dsin = Math.sin(dTheta) - Math.sin(0);\n var rMin = Math.sqrt(minDistance * minDistance / (dcos * dcos + dsin * dsin));\n r = Math.max(rMin, r);\n }\n var getPos = function getPos2(ele, i4) {\n var theta = options2.startAngle + i4 * dTheta * (clockwise ? 1 : -1);\n var rx = r * Math.cos(theta);\n var ry = r * Math.sin(theta);\n var pos = {\n x: center2.x + rx,\n y: center2.y + ry\n };\n return pos;\n };\n eles.nodes().layoutPositions(this, options2, getPos);\n return this;\n };\n var defaults$5 = {\n fit: true,\n // whether to fit the viewport to the graph\n padding: 30,\n // the padding on fit\n startAngle: 3 / 2 * Math.PI,\n // where nodes start in radians\n sweep: void 0,\n // how many radians should be between the first and last node (defaults to full circle)\n clockwise: true,\n // whether the layout should go clockwise (true) or counterclockwise/anticlockwise (false)\n equidistant: false,\n // whether levels have an equal radial distance betwen them, may cause bounding box overflow\n minNodeSpacing: 10,\n // min spacing between outside of nodes (used for radius adjustment)\n boundingBox: void 0,\n // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h }\n avoidOverlap: true,\n // prevents node overlap, may overflow boundingBox if not enough space\n nodeDimensionsIncludeLabels: false,\n // Excludes the label when calculating node bounding boxes for the layout algorithm\n height: void 0,\n // height of layout area (overrides container height)\n width: void 0,\n // width of layout area (overrides container width)\n spacingFactor: void 0,\n // Applies a multiplicative factor (>0) to expand or compress the overall area that the nodes take up\n concentric: function concentric(node2) {\n return node2.degree();\n },\n levelWidth: function levelWidth(nodes2) {\n return nodes2.maxDegree() / 4;\n },\n animate: false,\n // whether to transition the node positions\n animationDuration: 500,\n // duration of animation in ms if enabled\n animationEasing: void 0,\n // easing of animation if enabled\n animateFilter: function animateFilter(node2, i3) {\n return true;\n },\n // a function that determines whether the node should be animated. All nodes animated by default on animate enabled. Non-animated nodes are positioned immediately when the layout starts\n ready: void 0,\n // callback on layoutready\n stop: void 0,\n // callback on layoutstop\n transform: function transform(node2, position3) {\n return position3;\n }\n // transform a given node position. Useful for changing flow direction in discrete layouts\n };\n function ConcentricLayout(options2) {\n this.options = extend2({}, defaults$5, options2);\n }\n ConcentricLayout.prototype.run = function() {\n var params = this.options;\n var options2 = params;\n var clockwise = options2.counterclockwise !== void 0 ? !options2.counterclockwise : options2.clockwise;\n var cy = params.cy;\n var eles = options2.eles;\n var nodes2 = eles.nodes().not(\":parent\");\n var bb = makeBoundingBox(options2.boundingBox ? options2.boundingBox : {\n x1: 0,\n y1: 0,\n w: cy.width(),\n h: cy.height()\n });\n var center2 = {\n x: bb.x1 + bb.w / 2,\n y: bb.y1 + bb.h / 2\n };\n var nodeValues = [];\n var maxNodeSize = 0;\n for (var i3 = 0; i3 < nodes2.length; i3++) {\n var node2 = nodes2[i3];\n var value = void 0;\n value = options2.concentric(node2);\n nodeValues.push({\n value,\n node: node2\n });\n node2._private.scratch.concentric = value;\n }\n nodes2.updateStyle();\n for (var _i = 0; _i < nodes2.length; _i++) {\n var _node = nodes2[_i];\n var nbb = _node.layoutDimensions(options2);\n maxNodeSize = Math.max(maxNodeSize, nbb.w, nbb.h);\n }\n nodeValues.sort(function(a, b) {\n return b.value - a.value;\n });\n var levelWidth = options2.levelWidth(nodes2);\n var levels = [[]];\n var currentLevel = levels[0];\n for (var _i2 = 0; _i2 < nodeValues.length; _i2++) {\n var val = nodeValues[_i2];\n if (currentLevel.length > 0) {\n var diff = Math.abs(currentLevel[0].value - val.value);\n if (diff >= levelWidth) {\n currentLevel = [];\n levels.push(currentLevel);\n }\n }\n currentLevel.push(val);\n }\n var minDist = maxNodeSize + options2.minNodeSpacing;\n if (!options2.avoidOverlap) {\n var firstLvlHasMulti = levels.length > 0 && levels[0].length > 1;\n var maxR = Math.min(bb.w, bb.h) / 2 - minDist;\n var rStep = maxR / (levels.length + firstLvlHasMulti ? 1 : 0);\n minDist = Math.min(minDist, rStep);\n }\n var r = 0;\n for (var _i3 = 0; _i3 < levels.length; _i3++) {\n var level = levels[_i3];\n var sweep = options2.sweep === void 0 ? 2 * Math.PI - 2 * Math.PI / level.length : options2.sweep;\n var dTheta = level.dTheta = sweep / Math.max(1, level.length - 1);\n if (level.length > 1 && options2.avoidOverlap) {\n var dcos = Math.cos(dTheta) - Math.cos(0);\n var dsin = Math.sin(dTheta) - Math.sin(0);\n var rMin = Math.sqrt(minDist * minDist / (dcos * dcos + dsin * dsin));\n r = Math.max(rMin, r);\n }\n level.r = r;\n r += minDist;\n }\n if (options2.equidistant) {\n var rDeltaMax = 0;\n var _r = 0;\n for (var _i4 = 0; _i4 < levels.length; _i4++) {\n var _level = levels[_i4];\n var rDelta = _level.r - _r;\n rDeltaMax = Math.max(rDeltaMax, rDelta);\n }\n _r = 0;\n for (var _i5 = 0; _i5 < levels.length; _i5++) {\n var _level2 = levels[_i5];\n if (_i5 === 0) {\n _r = _level2.r;\n }\n _level2.r = _r;\n _r += rDeltaMax;\n }\n }\n var pos = {};\n for (var _i6 = 0; _i6 < levels.length; _i6++) {\n var _level3 = levels[_i6];\n var _dTheta = _level3.dTheta;\n var _r2 = _level3.r;\n for (var j = 0; j < _level3.length; j++) {\n var _val = _level3[j];\n var theta = options2.startAngle + (clockwise ? 1 : -1) * _dTheta * j;\n var p2 = {\n x: center2.x + _r2 * Math.cos(theta),\n y: center2.y + _r2 * Math.sin(theta)\n };\n pos[_val.node.id()] = p2;\n }\n }\n eles.nodes().layoutPositions(this, options2, function(ele) {\n var id2 = ele.id();\n return pos[id2];\n });\n return this;\n };\n var DEBUG;\n var defaults$4 = {\n // Called on `layoutready`\n ready: function ready() {\n },\n // Called on `layoutstop`\n stop: function stop() {\n },\n // Whether to animate while running the layout\n // true : Animate continuously as the layout is running\n // false : Just show the end result\n // 'end' : Animate with the end result, from the initial positions to the end positions\n animate: true,\n // Easing of the animation for animate:'end'\n animationEasing: void 0,\n // The duration of the animation for animate:'end'\n animationDuration: void 0,\n // A function that determines whether the node should be animated\n // All nodes animated by default on animate enabled\n // Non-animated nodes are positioned immediately when the layout starts\n animateFilter: function animateFilter(node2, i3) {\n return true;\n },\n // The layout animates only after this many milliseconds for animate:true\n // (prevents flashing on fast runs)\n animationThreshold: 250,\n // Number of iterations between consecutive screen positions update\n refresh: 20,\n // Whether to fit the network view after when done\n fit: true,\n // Padding on fit\n padding: 30,\n // Constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h }\n boundingBox: void 0,\n // Excludes the label when calculating node bounding boxes for the layout algorithm\n nodeDimensionsIncludeLabels: false,\n // Randomize the initial positions of the nodes (true) or use existing positions (false)\n randomize: false,\n // Extra spacing between components in non-compound graphs\n componentSpacing: 40,\n // Node repulsion (non overlapping) multiplier\n nodeRepulsion: function nodeRepulsion2(node2) {\n return 2048;\n },\n // Node repulsion (overlapping) multiplier\n nodeOverlap: 4,\n // Ideal edge (non nested) length\n idealEdgeLength: function idealEdgeLength(edge) {\n return 32;\n },\n // Divisor to compute edge forces\n edgeElasticity: function edgeElasticity(edge) {\n return 32;\n },\n // Nesting factor (multiplier) to compute ideal edge length for nested edges\n nestingFactor: 1.2,\n // Gravity force (constant)\n gravity: 1,\n // Maximum number of iterations to perform\n numIter: 1e3,\n // Initial temperature (maximum node displacement)\n initialTemp: 1e3,\n // Cooling factor (how the temperature is reduced between consecutive iterations\n coolingFactor: 0.99,\n // Lower temperature threshold (below this point the layout will end)\n minTemp: 1\n };\n function CoseLayout(options2) {\n this.options = extend2({}, defaults$4, options2);\n this.options.layout = this;\n }\n CoseLayout.prototype.run = function() {\n var options2 = this.options;\n var cy = options2.cy;\n var layout3 = this;\n layout3.stopped = false;\n if (options2.animate === true || options2.animate === false) {\n layout3.emit({\n type: \"layoutstart\",\n layout: layout3\n });\n }\n if (true === options2.debug) {\n DEBUG = true;\n } else {\n DEBUG = false;\n }\n var layoutInfo = createLayoutInfo(cy, layout3, options2);\n if (DEBUG) {\n printLayoutInfo(layoutInfo);\n }\n if (options2.randomize) {\n randomizePositions(layoutInfo);\n }\n var startTime = performanceNow();\n var refresh = function refresh2() {\n refreshPositions(layoutInfo, cy, options2);\n if (true === options2.fit) {\n cy.fit(options2.padding);\n }\n };\n var mainLoop = function mainLoop2(i4) {\n if (layout3.stopped || i4 >= options2.numIter) {\n return false;\n }\n step(layoutInfo, options2);\n layoutInfo.temperature = layoutInfo.temperature * options2.coolingFactor;\n if (layoutInfo.temperature < options2.minTemp) {\n return false;\n }\n return true;\n };\n var done = function done2() {\n if (options2.animate === true || options2.animate === false) {\n refresh();\n layout3.one(\"layoutstop\", options2.stop);\n layout3.emit({\n type: \"layoutstop\",\n layout: layout3\n });\n } else {\n var nodes2 = options2.eles.nodes();\n var getScaledPos = getScaleInBoundsFn(layoutInfo, options2, nodes2);\n nodes2.layoutPositions(layout3, options2, getScaledPos);\n }\n };\n var i3 = 0;\n var loopRet = true;\n if (options2.animate === true) {\n var frame2 = function frame3() {\n var f2 = 0;\n while (loopRet && f2 < options2.refresh) {\n loopRet = mainLoop(i3);\n i3++;\n f2++;\n }\n if (!loopRet) {\n separateComponents(layoutInfo, options2);\n done();\n } else {\n var now3 = performanceNow();\n if (now3 - startTime >= options2.animationThreshold) {\n refresh();\n }\n requestAnimationFrame2(frame3);\n }\n };\n frame2();\n } else {\n while (loopRet) {\n loopRet = mainLoop(i3);\n i3++;\n }\n separateComponents(layoutInfo, options2);\n done();\n }\n return this;\n };\n CoseLayout.prototype.stop = function() {\n this.stopped = true;\n if (this.thread) {\n this.thread.stop();\n }\n this.emit(\"layoutstop\");\n return this;\n };\n CoseLayout.prototype.destroy = function() {\n if (this.thread) {\n this.thread.stop();\n }\n return this;\n };\n var createLayoutInfo = function createLayoutInfo2(cy, layout3, options2) {\n var edges2 = options2.eles.edges();\n var nodes2 = options2.eles.nodes();\n var layoutInfo = {\n isCompound: cy.hasCompoundNodes(),\n layoutNodes: [],\n idToIndex: {},\n nodeSize: nodes2.size(),\n graphSet: [],\n indexToGraph: [],\n layoutEdges: [],\n edgeSize: edges2.size(),\n temperature: options2.initialTemp,\n clientWidth: cy.width(),\n clientHeight: cy.width(),\n boundingBox: makeBoundingBox(options2.boundingBox ? options2.boundingBox : {\n x1: 0,\n y1: 0,\n w: cy.width(),\n h: cy.height()\n })\n };\n var components = options2.eles.components();\n var id2cmptId = {};\n for (var i3 = 0; i3 < components.length; i3++) {\n var component = components[i3];\n for (var j = 0; j < component.length; j++) {\n var node2 = component[j];\n id2cmptId[node2.id()] = i3;\n }\n }\n for (var i3 = 0; i3 < layoutInfo.nodeSize; i3++) {\n var n = nodes2[i3];\n var nbb = n.layoutDimensions(options2);\n var tempNode = {};\n tempNode.isLocked = n.locked();\n tempNode.id = n.data(\"id\");\n tempNode.parentId = n.data(\"parent\");\n tempNode.cmptId = id2cmptId[n.id()];\n tempNode.children = [];\n tempNode.positionX = n.position(\"x\");\n tempNode.positionY = n.position(\"y\");\n tempNode.offsetX = 0;\n tempNode.offsetY = 0;\n tempNode.height = nbb.w;\n tempNode.width = nbb.h;\n tempNode.maxX = tempNode.positionX + tempNode.width / 2;\n tempNode.minX = tempNode.positionX - tempNode.width / 2;\n tempNode.maxY = tempNode.positionY + tempNode.height / 2;\n tempNode.minY = tempNode.positionY - tempNode.height / 2;\n tempNode.padLeft = parseFloat(n.style(\"padding\"));\n tempNode.padRight = parseFloat(n.style(\"padding\"));\n tempNode.padTop = parseFloat(n.style(\"padding\"));\n tempNode.padBottom = parseFloat(n.style(\"padding\"));\n tempNode.nodeRepulsion = fn$6(options2.nodeRepulsion) ? options2.nodeRepulsion(n) : options2.nodeRepulsion;\n layoutInfo.layoutNodes.push(tempNode);\n layoutInfo.idToIndex[tempNode.id] = i3;\n }\n var queue = [];\n var start2 = 0;\n var end2 = -1;\n var tempGraph = [];\n for (var i3 = 0; i3 < layoutInfo.nodeSize; i3++) {\n var n = layoutInfo.layoutNodes[i3];\n var p_id = n.parentId;\n if (null != p_id) {\n layoutInfo.layoutNodes[layoutInfo.idToIndex[p_id]].children.push(n.id);\n } else {\n queue[++end2] = n.id;\n tempGraph.push(n.id);\n }\n }\n layoutInfo.graphSet.push(tempGraph);\n while (start2 <= end2) {\n var node_id = queue[start2++];\n var node_ix = layoutInfo.idToIndex[node_id];\n var node2 = layoutInfo.layoutNodes[node_ix];\n var children2 = node2.children;\n if (children2.length > 0) {\n layoutInfo.graphSet.push(children2);\n for (var i3 = 0; i3 < children2.length; i3++) {\n queue[++end2] = children2[i3];\n }\n }\n }\n for (var i3 = 0; i3 < layoutInfo.graphSet.length; i3++) {\n var graph = layoutInfo.graphSet[i3];\n for (var j = 0; j < graph.length; j++) {\n var index = layoutInfo.idToIndex[graph[j]];\n layoutInfo.indexToGraph[index] = i3;\n }\n }\n for (var i3 = 0; i3 < layoutInfo.edgeSize; i3++) {\n var e = edges2[i3];\n var tempEdge = {};\n tempEdge.id = e.data(\"id\");\n tempEdge.sourceId = e.data(\"source\");\n tempEdge.targetId = e.data(\"target\");\n var idealLength = fn$6(options2.idealEdgeLength) ? options2.idealEdgeLength(e) : options2.idealEdgeLength;\n var elasticity = fn$6(options2.edgeElasticity) ? options2.edgeElasticity(e) : options2.edgeElasticity;\n var sourceIx = layoutInfo.idToIndex[tempEdge.sourceId];\n var targetIx = layoutInfo.idToIndex[tempEdge.targetId];\n var sourceGraph = layoutInfo.indexToGraph[sourceIx];\n var targetGraph = layoutInfo.indexToGraph[targetIx];\n if (sourceGraph != targetGraph) {\n var lca = findLCA(tempEdge.sourceId, tempEdge.targetId, layoutInfo);\n var lcaGraph = layoutInfo.graphSet[lca];\n var depth = 0;\n var tempNode = layoutInfo.layoutNodes[sourceIx];\n while (-1 === lcaGraph.indexOf(tempNode.id)) {\n tempNode = layoutInfo.layoutNodes[layoutInfo.idToIndex[tempNode.parentId]];\n depth++;\n }\n tempNode = layoutInfo.layoutNodes[targetIx];\n while (-1 === lcaGraph.indexOf(tempNode.id)) {\n tempNode = layoutInfo.layoutNodes[layoutInfo.idToIndex[tempNode.parentId]];\n depth++;\n }\n idealLength *= depth * options2.nestingFactor;\n }\n tempEdge.idealLength = idealLength;\n tempEdge.elasticity = elasticity;\n layoutInfo.layoutEdges.push(tempEdge);\n }\n return layoutInfo;\n };\n var findLCA = function findLCA2(node1, node2, layoutInfo) {\n var res = findLCA_aux(node1, node2, 0, layoutInfo);\n if (2 > res.count) {\n return 0;\n } else {\n return res.graph;\n }\n };\n var findLCA_aux = function findLCA_aux2(node1, node2, graphIx, layoutInfo) {\n var graph = layoutInfo.graphSet[graphIx];\n if (-1 < graph.indexOf(node1) && -1 < graph.indexOf(node2)) {\n return {\n count: 2,\n graph: graphIx\n };\n }\n var c2 = 0;\n for (var i3 = 0; i3 < graph.length; i3++) {\n var nodeId = graph[i3];\n var nodeIx = layoutInfo.idToIndex[nodeId];\n var children2 = layoutInfo.layoutNodes[nodeIx].children;\n if (0 === children2.length) {\n continue;\n }\n var childGraphIx = layoutInfo.indexToGraph[layoutInfo.idToIndex[children2[0]]];\n var result = findLCA_aux2(node1, node2, childGraphIx, layoutInfo);\n if (0 === result.count) {\n continue;\n } else if (1 === result.count) {\n c2++;\n if (2 === c2) {\n break;\n }\n } else {\n return result;\n }\n }\n return {\n count: c2,\n graph: graphIx\n };\n };\n var printLayoutInfo;\n var randomizePositions = function randomizePositions2(layoutInfo, cy) {\n var width2 = layoutInfo.clientWidth;\n var height2 = layoutInfo.clientHeight;\n for (var i3 = 0; i3 < layoutInfo.nodeSize; i3++) {\n var n = layoutInfo.layoutNodes[i3];\n if (0 === n.children.length && !n.isLocked) {\n n.positionX = Math.random() * width2;\n n.positionY = Math.random() * height2;\n }\n }\n };\n var getScaleInBoundsFn = function getScaleInBoundsFn2(layoutInfo, options2, nodes2) {\n var bb = layoutInfo.boundingBox;\n var coseBB = {\n x1: Infinity,\n x2: -Infinity,\n y1: Infinity,\n y2: -Infinity\n };\n if (options2.boundingBox) {\n nodes2.forEach(function(node2) {\n var lnode = layoutInfo.layoutNodes[layoutInfo.idToIndex[node2.data(\"id\")]];\n coseBB.x1 = Math.min(coseBB.x1, lnode.positionX);\n coseBB.x2 = Math.max(coseBB.x2, lnode.positionX);\n coseBB.y1 = Math.min(coseBB.y1, lnode.positionY);\n coseBB.y2 = Math.max(coseBB.y2, lnode.positionY);\n });\n coseBB.w = coseBB.x2 - coseBB.x1;\n coseBB.h = coseBB.y2 - coseBB.y1;\n }\n return function(ele, i3) {\n var lnode = layoutInfo.layoutNodes[layoutInfo.idToIndex[ele.data(\"id\")]];\n if (options2.boundingBox) {\n var pctX = (lnode.positionX - coseBB.x1) / coseBB.w;\n var pctY = (lnode.positionY - coseBB.y1) / coseBB.h;\n return {\n x: bb.x1 + pctX * bb.w,\n y: bb.y1 + pctY * bb.h\n };\n } else {\n return {\n x: lnode.positionX,\n y: lnode.positionY\n };\n }\n };\n };\n var refreshPositions = function refreshPositions2(layoutInfo, cy, options2) {\n var layout3 = options2.layout;\n var nodes2 = options2.eles.nodes();\n var getScaledPos = getScaleInBoundsFn(layoutInfo, options2, nodes2);\n nodes2.positions(getScaledPos);\n if (true !== layoutInfo.ready) {\n layoutInfo.ready = true;\n layout3.one(\"layoutready\", options2.ready);\n layout3.emit({\n type: \"layoutready\",\n layout: this\n });\n }\n };\n var step = function step2(layoutInfo, options2, _step) {\n calculateNodeForces(layoutInfo, options2);\n calculateEdgeForces(layoutInfo);\n calculateGravityForces(layoutInfo, options2);\n propagateForces(layoutInfo);\n updatePositions(layoutInfo);\n };\n var calculateNodeForces = function calculateNodeForces2(layoutInfo, options2) {\n for (var i3 = 0; i3 < layoutInfo.graphSet.length; i3++) {\n var graph = layoutInfo.graphSet[i3];\n var numNodes = graph.length;\n for (var j = 0; j < numNodes; j++) {\n var node1 = layoutInfo.layoutNodes[layoutInfo.idToIndex[graph[j]]];\n for (var k = j + 1; k < numNodes; k++) {\n var node2 = layoutInfo.layoutNodes[layoutInfo.idToIndex[graph[k]]];\n nodeRepulsion(node1, node2, layoutInfo, options2);\n }\n }\n }\n };\n var randomDistance = function randomDistance2(max3) {\n return -max3 + 2 * max3 * Math.random();\n };\n var nodeRepulsion = function nodeRepulsion2(node1, node2, layoutInfo, options2) {\n var cmptId1 = node1.cmptId;\n var cmptId2 = node2.cmptId;\n if (cmptId1 !== cmptId2 && !layoutInfo.isCompound) {\n return;\n }\n var directionX = node2.positionX - node1.positionX;\n var directionY = node2.positionY - node1.positionY;\n var maxRandDist = 1;\n if (0 === directionX && 0 === directionY) {\n directionX = randomDistance(maxRandDist);\n directionY = randomDistance(maxRandDist);\n }\n var overlap = nodesOverlap(node1, node2, directionX, directionY);\n if (overlap > 0) {\n var force = options2.nodeOverlap * overlap;\n var distance2 = Math.sqrt(directionX * directionX + directionY * directionY);\n var forceX = force * directionX / distance2;\n var forceY = force * directionY / distance2;\n } else {\n var point1 = findClippingPoint(node1, directionX, directionY);\n var point2 = findClippingPoint(node2, -1 * directionX, -1 * directionY);\n var distanceX = point2.x - point1.x;\n var distanceY = point2.y - point1.y;\n var distanceSqr = distanceX * distanceX + distanceY * distanceY;\n var distance2 = Math.sqrt(distanceSqr);\n var force = (node1.nodeRepulsion + node2.nodeRepulsion) / distanceSqr;\n var forceX = force * distanceX / distance2;\n var forceY = force * distanceY / distance2;\n }\n if (!node1.isLocked) {\n node1.offsetX -= forceX;\n node1.offsetY -= forceY;\n }\n if (!node2.isLocked) {\n node2.offsetX += forceX;\n node2.offsetY += forceY;\n }\n return;\n };\n var nodesOverlap = function nodesOverlap2(node1, node2, dX, dY) {\n if (dX > 0) {\n var overlapX = node1.maxX - node2.minX;\n } else {\n var overlapX = node2.maxX - node1.minX;\n }\n if (dY > 0) {\n var overlapY = node1.maxY - node2.minY;\n } else {\n var overlapY = node2.maxY - node1.minY;\n }\n if (overlapX >= 0 && overlapY >= 0) {\n return Math.sqrt(overlapX * overlapX + overlapY * overlapY);\n } else {\n return 0;\n }\n };\n var findClippingPoint = function findClippingPoint2(node2, dX, dY) {\n var X = node2.positionX;\n var Y = node2.positionY;\n var H = node2.height || 1;\n var W = node2.width || 1;\n var dirSlope = dY / dX;\n var nodeSlope = H / W;\n var res = {};\n if (0 === dX && 0 < dY) {\n res.x = X;\n res.y = Y + H / 2;\n return res;\n }\n if (0 === dX && 0 > dY) {\n res.x = X;\n res.y = Y + H / 2;\n return res;\n }\n if (0 < dX && -1 * nodeSlope <= dirSlope && dirSlope <= nodeSlope) {\n res.x = X + W / 2;\n res.y = Y + W * dY / 2 / dX;\n return res;\n }\n if (0 > dX && -1 * nodeSlope <= dirSlope && dirSlope <= nodeSlope) {\n res.x = X - W / 2;\n res.y = Y - W * dY / 2 / dX;\n return res;\n }\n if (0 < dY && (dirSlope <= -1 * nodeSlope || dirSlope >= nodeSlope)) {\n res.x = X + H * dX / 2 / dY;\n res.y = Y + H / 2;\n return res;\n }\n if (0 > dY && (dirSlope <= -1 * nodeSlope || dirSlope >= nodeSlope)) {\n res.x = X - H * dX / 2 / dY;\n res.y = Y - H / 2;\n return res;\n }\n return res;\n };\n var calculateEdgeForces = function calculateEdgeForces2(layoutInfo, options2) {\n for (var i3 = 0; i3 < layoutInfo.edgeSize; i3++) {\n var edge = layoutInfo.layoutEdges[i3];\n var sourceIx = layoutInfo.idToIndex[edge.sourceId];\n var source = layoutInfo.layoutNodes[sourceIx];\n var targetIx = layoutInfo.idToIndex[edge.targetId];\n var target = layoutInfo.layoutNodes[targetIx];\n var directionX = target.positionX - source.positionX;\n var directionY = target.positionY - source.positionY;\n if (0 === directionX && 0 === directionY) {\n continue;\n }\n var point1 = findClippingPoint(source, directionX, directionY);\n var point2 = findClippingPoint(target, -1 * directionX, -1 * directionY);\n var lx = point2.x - point1.x;\n var ly = point2.y - point1.y;\n var l = Math.sqrt(lx * lx + ly * ly);\n var force = Math.pow(edge.idealLength - l, 2) / edge.elasticity;\n if (0 !== l) {\n var forceX = force * lx / l;\n var forceY = force * ly / l;\n } else {\n var forceX = 0;\n var forceY = 0;\n }\n if (!source.isLocked) {\n source.offsetX += forceX;\n source.offsetY += forceY;\n }\n if (!target.isLocked) {\n target.offsetX -= forceX;\n target.offsetY -= forceY;\n }\n }\n };\n var calculateGravityForces = function calculateGravityForces2(layoutInfo, options2) {\n if (options2.gravity === 0) {\n return;\n }\n var distThreshold = 1;\n for (var i3 = 0; i3 < layoutInfo.graphSet.length; i3++) {\n var graph = layoutInfo.graphSet[i3];\n var numNodes = graph.length;\n if (0 === i3) {\n var centerX = layoutInfo.clientHeight / 2;\n var centerY = layoutInfo.clientWidth / 2;\n } else {\n var temp = layoutInfo.layoutNodes[layoutInfo.idToIndex[graph[0]]];\n var parent = layoutInfo.layoutNodes[layoutInfo.idToIndex[temp.parentId]];\n var centerX = parent.positionX;\n var centerY = parent.positionY;\n }\n for (var j = 0; j < numNodes; j++) {\n var node2 = layoutInfo.layoutNodes[layoutInfo.idToIndex[graph[j]]];\n if (node2.isLocked) {\n continue;\n }\n var dx = centerX - node2.positionX;\n var dy = centerY - node2.positionY;\n var d = Math.sqrt(dx * dx + dy * dy);\n if (d > distThreshold) {\n var fx = options2.gravity * dx / d;\n var fy = options2.gravity * dy / d;\n node2.offsetX += fx;\n node2.offsetY += fy;\n }\n }\n }\n };\n var propagateForces = function propagateForces2(layoutInfo, options2) {\n var queue = [];\n var start2 = 0;\n var end2 = -1;\n queue.push.apply(queue, layoutInfo.graphSet[0]);\n end2 += layoutInfo.graphSet[0].length;\n while (start2 <= end2) {\n var nodeId = queue[start2++];\n var nodeIndex = layoutInfo.idToIndex[nodeId];\n var node2 = layoutInfo.layoutNodes[nodeIndex];\n var children2 = node2.children;\n if (0 < children2.length && !node2.isLocked) {\n var offX = node2.offsetX;\n var offY = node2.offsetY;\n for (var i3 = 0; i3 < children2.length; i3++) {\n var childNode = layoutInfo.layoutNodes[layoutInfo.idToIndex[children2[i3]]];\n childNode.offsetX += offX;\n childNode.offsetY += offY;\n queue[++end2] = children2[i3];\n }\n node2.offsetX = 0;\n node2.offsetY = 0;\n }\n }\n };\n var updatePositions = function updatePositions2(layoutInfo, options2) {\n for (var i3 = 0; i3 < layoutInfo.nodeSize; i3++) {\n var n = layoutInfo.layoutNodes[i3];\n if (0 < n.children.length) {\n n.maxX = void 0;\n n.minX = void 0;\n n.maxY = void 0;\n n.minY = void 0;\n }\n }\n for (var i3 = 0; i3 < layoutInfo.nodeSize; i3++) {\n var n = layoutInfo.layoutNodes[i3];\n if (0 < n.children.length || n.isLocked) {\n continue;\n }\n var tempForce = limitForce(n.offsetX, n.offsetY, layoutInfo.temperature);\n n.positionX += tempForce.x;\n n.positionY += tempForce.y;\n n.offsetX = 0;\n n.offsetY = 0;\n n.minX = n.positionX - n.width;\n n.maxX = n.positionX + n.width;\n n.minY = n.positionY - n.height;\n n.maxY = n.positionY + n.height;\n updateAncestryBoundaries(n, layoutInfo);\n }\n for (var i3 = 0; i3 < layoutInfo.nodeSize; i3++) {\n var n = layoutInfo.layoutNodes[i3];\n if (0 < n.children.length && !n.isLocked) {\n n.positionX = (n.maxX + n.minX) / 2;\n n.positionY = (n.maxY + n.minY) / 2;\n n.width = n.maxX - n.minX;\n n.height = n.maxY - n.minY;\n }\n }\n };\n var limitForce = function limitForce2(forceX, forceY, max3) {\n var force = Math.sqrt(forceX * forceX + forceY * forceY);\n if (force > max3) {\n var res = {\n x: max3 * forceX / force,\n y: max3 * forceY / force\n };\n } else {\n var res = {\n x: forceX,\n y: forceY\n };\n }\n return res;\n };\n var updateAncestryBoundaries = function updateAncestryBoundaries2(node2, layoutInfo) {\n var parentId = node2.parentId;\n if (null == parentId) {\n return;\n }\n var p2 = layoutInfo.layoutNodes[layoutInfo.idToIndex[parentId]];\n var flag = false;\n if (null == p2.maxX || node2.maxX + p2.padRight > p2.maxX) {\n p2.maxX = node2.maxX + p2.padRight;\n flag = true;\n }\n if (null == p2.minX || node2.minX - p2.padLeft < p2.minX) {\n p2.minX = node2.minX - p2.padLeft;\n flag = true;\n }\n if (null == p2.maxY || node2.maxY + p2.padBottom > p2.maxY) {\n p2.maxY = node2.maxY + p2.padBottom;\n flag = true;\n }\n if (null == p2.minY || node2.minY - p2.padTop < p2.minY) {\n p2.minY = node2.minY - p2.padTop;\n flag = true;\n }\n if (flag) {\n return updateAncestryBoundaries2(p2, layoutInfo);\n }\n return;\n };\n var separateComponents = function separateComponents2(layoutInfo, options2) {\n var nodes2 = layoutInfo.layoutNodes;\n var components = [];\n for (var i3 = 0; i3 < nodes2.length; i3++) {\n var node2 = nodes2[i3];\n var cid = node2.cmptId;\n var component = components[cid] = components[cid] || [];\n component.push(node2);\n }\n var totalA = 0;\n for (var i3 = 0; i3 < components.length; i3++) {\n var c2 = components[i3];\n if (!c2) {\n continue;\n }\n c2.x1 = Infinity;\n c2.x2 = -Infinity;\n c2.y1 = Infinity;\n c2.y2 = -Infinity;\n for (var j = 0; j < c2.length; j++) {\n var n = c2[j];\n c2.x1 = Math.min(c2.x1, n.positionX - n.width / 2);\n c2.x2 = Math.max(c2.x2, n.positionX + n.width / 2);\n c2.y1 = Math.min(c2.y1, n.positionY - n.height / 2);\n c2.y2 = Math.max(c2.y2, n.positionY + n.height / 2);\n }\n c2.w = c2.x2 - c2.x1;\n c2.h = c2.y2 - c2.y1;\n totalA += c2.w * c2.h;\n }\n components.sort(function(c1, c22) {\n return c22.w * c22.h - c1.w * c1.h;\n });\n var x2 = 0;\n var y2 = 0;\n var usedW = 0;\n var rowH = 0;\n var maxRowW = Math.sqrt(totalA) * layoutInfo.clientWidth / layoutInfo.clientHeight;\n for (var i3 = 0; i3 < components.length; i3++) {\n var c2 = components[i3];\n if (!c2) {\n continue;\n }\n for (var j = 0; j < c2.length; j++) {\n var n = c2[j];\n if (!n.isLocked) {\n n.positionX += x2 - c2.x1;\n n.positionY += y2 - c2.y1;\n }\n }\n x2 += c2.w + options2.componentSpacing;\n usedW += c2.w + options2.componentSpacing;\n rowH = Math.max(rowH, c2.h);\n if (usedW > maxRowW) {\n y2 += rowH + options2.componentSpacing;\n x2 = 0;\n usedW = 0;\n rowH = 0;\n }\n }\n };\n var defaults$3 = {\n fit: true,\n // whether to fit the viewport to the graph\n padding: 30,\n // padding used on fit\n boundingBox: void 0,\n // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h }\n avoidOverlap: true,\n // prevents node overlap, may overflow boundingBox if not enough space\n avoidOverlapPadding: 10,\n // extra spacing around nodes when avoidOverlap: true\n nodeDimensionsIncludeLabels: false,\n // Excludes the label when calculating node bounding boxes for the layout algorithm\n spacingFactor: void 0,\n // Applies a multiplicative factor (>0) to expand or compress the overall area that the nodes take up\n condense: false,\n // uses all available space on false, uses minimal space on true\n rows: void 0,\n // force num of rows in the grid\n cols: void 0,\n // force num of columns in the grid\n position: function position3(node2) {\n },\n // returns { row, col } for element\n sort: void 0,\n // a sorting function to order the nodes; e.g. function(a, b){ return a.data('weight') - b.data('weight') }\n animate: false,\n // whether to transition the node positions\n animationDuration: 500,\n // duration of animation in ms if enabled\n animationEasing: void 0,\n // easing of animation if enabled\n animateFilter: function animateFilter(node2, i3) {\n return true;\n },\n // a function that determines whether the node should be animated. All nodes animated by default on animate enabled. Non-animated nodes are positioned immediately when the layout starts\n ready: void 0,\n // callback on layoutready\n stop: void 0,\n // callback on layoutstop\n transform: function transform(node2, position3) {\n return position3;\n }\n // transform a given node position. Useful for changing flow direction in discrete layouts \n };\n function GridLayout(options2) {\n this.options = extend2({}, defaults$3, options2);\n }\n GridLayout.prototype.run = function() {\n var params = this.options;\n var options2 = params;\n var cy = params.cy;\n var eles = options2.eles;\n var nodes2 = eles.nodes().not(\":parent\");\n if (options2.sort) {\n nodes2 = nodes2.sort(options2.sort);\n }\n var bb = makeBoundingBox(options2.boundingBox ? options2.boundingBox : {\n x1: 0,\n y1: 0,\n w: cy.width(),\n h: cy.height()\n });\n if (bb.h === 0 || bb.w === 0) {\n eles.nodes().layoutPositions(this, options2, function(ele) {\n return {\n x: bb.x1,\n y: bb.y1\n };\n });\n } else {\n var cells = nodes2.size();\n var splits = Math.sqrt(cells * bb.h / bb.w);\n var rows = Math.round(splits);\n var cols = Math.round(bb.w / bb.h * splits);\n var small = function small2(val) {\n if (val == null) {\n return Math.min(rows, cols);\n } else {\n var min3 = Math.min(rows, cols);\n if (min3 == rows) {\n rows = val;\n } else {\n cols = val;\n }\n }\n };\n var large = function large2(val) {\n if (val == null) {\n return Math.max(rows, cols);\n } else {\n var max3 = Math.max(rows, cols);\n if (max3 == rows) {\n rows = val;\n } else {\n cols = val;\n }\n }\n };\n var oRows = options2.rows;\n var oCols = options2.cols != null ? options2.cols : options2.columns;\n if (oRows != null && oCols != null) {\n rows = oRows;\n cols = oCols;\n } else if (oRows != null && oCols == null) {\n rows = oRows;\n cols = Math.ceil(cells / rows);\n } else if (oRows == null && oCols != null) {\n cols = oCols;\n rows = Math.ceil(cells / cols);\n } else if (cols * rows > cells) {\n var sm = small();\n var lg = large();\n if ((sm - 1) * lg >= cells) {\n small(sm - 1);\n } else if ((lg - 1) * sm >= cells) {\n large(lg - 1);\n }\n } else {\n while (cols * rows < cells) {\n var _sm = small();\n var _lg = large();\n if ((_lg + 1) * _sm >= cells) {\n large(_lg + 1);\n } else {\n small(_sm + 1);\n }\n }\n }\n var cellWidth = bb.w / cols;\n var cellHeight = bb.h / rows;\n if (options2.condense) {\n cellWidth = 0;\n cellHeight = 0;\n }\n if (options2.avoidOverlap) {\n for (var i3 = 0; i3 < nodes2.length; i3++) {\n var node2 = nodes2[i3];\n var pos = node2._private.position;\n if (pos.x == null || pos.y == null) {\n pos.x = 0;\n pos.y = 0;\n }\n var nbb = node2.layoutDimensions(options2);\n var p2 = options2.avoidOverlapPadding;\n var w2 = nbb.w + p2;\n var h = nbb.h + p2;\n cellWidth = Math.max(cellWidth, w2);\n cellHeight = Math.max(cellHeight, h);\n }\n }\n var cellUsed = {};\n var used = function used2(row2, col2) {\n return cellUsed[\"c-\" + row2 + \"-\" + col2] ? true : false;\n };\n var use = function use2(row2, col2) {\n cellUsed[\"c-\" + row2 + \"-\" + col2] = true;\n };\n var row = 0;\n var col = 0;\n var moveToNextCell = function moveToNextCell2() {\n col++;\n if (col >= cols) {\n col = 0;\n row++;\n }\n };\n var id2manPos = {};\n for (var _i = 0; _i < nodes2.length; _i++) {\n var _node = nodes2[_i];\n var rcPos = options2.position(_node);\n if (rcPos && (rcPos.row !== void 0 || rcPos.col !== void 0)) {\n var _pos = {\n row: rcPos.row,\n col: rcPos.col\n };\n if (_pos.col === void 0) {\n _pos.col = 0;\n while (used(_pos.row, _pos.col)) {\n _pos.col++;\n }\n } else if (_pos.row === void 0) {\n _pos.row = 0;\n while (used(_pos.row, _pos.col)) {\n _pos.row++;\n }\n }\n id2manPos[_node.id()] = _pos;\n use(_pos.row, _pos.col);\n }\n }\n var getPos = function getPos2(element2, i4) {\n var x2, y2;\n if (element2.locked() || element2.isParent()) {\n return false;\n }\n var rcPos2 = id2manPos[element2.id()];\n if (rcPos2) {\n x2 = rcPos2.col * cellWidth + cellWidth / 2 + bb.x1;\n y2 = rcPos2.row * cellHeight + cellHeight / 2 + bb.y1;\n } else {\n while (used(row, col)) {\n moveToNextCell();\n }\n x2 = col * cellWidth + cellWidth / 2 + bb.x1;\n y2 = row * cellHeight + cellHeight / 2 + bb.y1;\n use(row, col);\n moveToNextCell();\n }\n return {\n x: x2,\n y: y2\n };\n };\n nodes2.layoutPositions(this, options2, getPos);\n }\n return this;\n };\n var defaults$2 = {\n ready: function ready() {\n },\n // on layoutready\n stop: function stop() {\n }\n // on layoutstop\n };\n function NullLayout(options2) {\n this.options = extend2({}, defaults$2, options2);\n }\n NullLayout.prototype.run = function() {\n var options2 = this.options;\n var eles = options2.eles;\n var layout3 = this;\n options2.cy;\n layout3.emit(\"layoutstart\");\n eles.nodes().positions(function() {\n return {\n x: 0,\n y: 0\n };\n });\n layout3.one(\"layoutready\", options2.ready);\n layout3.emit(\"layoutready\");\n layout3.one(\"layoutstop\", options2.stop);\n layout3.emit(\"layoutstop\");\n return this;\n };\n NullLayout.prototype.stop = function() {\n return this;\n };\n var defaults$12 = {\n positions: void 0,\n // map of (node id) => (position obj); or function(node){ return somPos; }\n zoom: void 0,\n // the zoom level to set (prob want fit = false if set)\n pan: void 0,\n // the pan level to set (prob want fit = false if set)\n fit: true,\n // whether to fit to viewport\n padding: 30,\n // padding on fit\n animate: false,\n // whether to transition the node positions\n animationDuration: 500,\n // duration of animation in ms if enabled\n animationEasing: void 0,\n // easing of animation if enabled\n animateFilter: function animateFilter(node2, i3) {\n return true;\n },\n // a function that determines whether the node should be animated. All nodes animated by default on animate enabled. Non-animated nodes are positioned immediately when the layout starts\n ready: void 0,\n // callback on layoutready\n stop: void 0,\n // callback on layoutstop\n transform: function transform(node2, position3) {\n return position3;\n }\n // transform a given node position. Useful for changing flow direction in discrete layouts\n };\n function PresetLayout(options2) {\n this.options = extend2({}, defaults$12, options2);\n }\n PresetLayout.prototype.run = function() {\n var options2 = this.options;\n var eles = options2.eles;\n var nodes2 = eles.nodes();\n var posIsFn = fn$6(options2.positions);\n function getPosition(node2) {\n if (options2.positions == null) {\n return copyPosition(node2.position());\n }\n if (posIsFn) {\n return options2.positions(node2);\n }\n var pos = options2.positions[node2._private.data.id];\n if (pos == null) {\n return null;\n }\n return pos;\n }\n nodes2.layoutPositions(this, options2, function(node2, i3) {\n var position3 = getPosition(node2);\n if (node2.locked() || position3 == null) {\n return false;\n }\n return position3;\n });\n return this;\n };\n var defaults2 = {\n fit: true,\n // whether to fit to viewport\n padding: 30,\n // fit padding\n boundingBox: void 0,\n // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h }\n animate: false,\n // whether to transition the node positions\n animationDuration: 500,\n // duration of animation in ms if enabled\n animationEasing: void 0,\n // easing of animation if enabled\n animateFilter: function animateFilter(node2, i3) {\n return true;\n },\n // a function that determines whether the node should be animated. All nodes animated by default on animate enabled. Non-animated nodes are positioned immediately when the layout starts\n ready: void 0,\n // callback on layoutready\n stop: void 0,\n // callback on layoutstop\n transform: function transform(node2, position3) {\n return position3;\n }\n // transform a given node position. Useful for changing flow direction in discrete layouts \n };\n function RandomLayout(options2) {\n this.options = extend2({}, defaults2, options2);\n }\n RandomLayout.prototype.run = function() {\n var options2 = this.options;\n var cy = options2.cy;\n var eles = options2.eles;\n var bb = makeBoundingBox(options2.boundingBox ? options2.boundingBox : {\n x1: 0,\n y1: 0,\n w: cy.width(),\n h: cy.height()\n });\n var getPos = function getPos2(node2, i3) {\n return {\n x: bb.x1 + Math.round(Math.random() * bb.w),\n y: bb.y1 + Math.round(Math.random() * bb.h)\n };\n };\n eles.nodes().layoutPositions(this, options2, getPos);\n return this;\n };\n var layout2 = [{\n name: \"breadthfirst\",\n impl: BreadthFirstLayout\n }, {\n name: \"circle\",\n impl: CircleLayout\n }, {\n name: \"concentric\",\n impl: ConcentricLayout\n }, {\n name: \"cose\",\n impl: CoseLayout\n }, {\n name: \"grid\",\n impl: GridLayout\n }, {\n name: \"null\",\n impl: NullLayout\n }, {\n name: \"preset\",\n impl: PresetLayout\n }, {\n name: \"random\",\n impl: RandomLayout\n }];\n function NullRenderer(options2) {\n this.options = options2;\n this.notifications = 0;\n }\n var noop2 = function noop3() {\n };\n var throwImgErr = function throwImgErr2() {\n throw new Error(\"A headless instance can not render images\");\n };\n NullRenderer.prototype = {\n recalculateRenderedStyle: noop2,\n notify: function notify() {\n this.notifications++;\n },\n init: noop2,\n isHeadless: function isHeadless() {\n return true;\n },\n png: throwImgErr,\n jpg: throwImgErr\n };\n var BRp$f = {};\n BRp$f.arrowShapeWidth = 0.3;\n BRp$f.registerArrowShapes = function() {\n var arrowShapes = this.arrowShapes = {};\n var renderer3 = this;\n var bbCollide = function bbCollide2(x2, y2, size2, angle, translation, edgeWidth, padding2) {\n var x1 = translation.x - size2 / 2 - padding2;\n var x22 = translation.x + size2 / 2 + padding2;\n var y1 = translation.y - size2 / 2 - padding2;\n var y22 = translation.y + size2 / 2 + padding2;\n var inside = x1 <= x2 && x2 <= x22 && y1 <= y2 && y2 <= y22;\n return inside;\n };\n var transform = function transform2(x2, y2, size2, angle, translation) {\n var xRotated = x2 * Math.cos(angle) - y2 * Math.sin(angle);\n var yRotated = x2 * Math.sin(angle) + y2 * Math.cos(angle);\n var xScaled = xRotated * size2;\n var yScaled = yRotated * size2;\n var xTranslated = xScaled + translation.x;\n var yTranslated = yScaled + translation.y;\n return {\n x: xTranslated,\n y: yTranslated\n };\n };\n var transformPoints = function transformPoints2(pts2, size2, angle, translation) {\n var retPts = [];\n for (var i3 = 0; i3 < pts2.length; i3 += 2) {\n var x2 = pts2[i3];\n var y2 = pts2[i3 + 1];\n retPts.push(transform(x2, y2, size2, angle, translation));\n }\n return retPts;\n };\n var pointsToArr = function pointsToArr2(pts2) {\n var ret = [];\n for (var i3 = 0; i3 < pts2.length; i3++) {\n var p2 = pts2[i3];\n ret.push(p2.x, p2.y);\n }\n return ret;\n };\n var standardGap = function standardGap2(edge) {\n return edge.pstyle(\"width\").pfValue * edge.pstyle(\"arrow-scale\").pfValue * 2;\n };\n var defineArrowShape = function defineArrowShape2(name2, defn) {\n if (string(defn)) {\n defn = arrowShapes[defn];\n }\n arrowShapes[name2] = extend2({\n name: name2,\n points: [-0.15, -0.3, 0.15, -0.3, 0.15, 0.3, -0.15, 0.3],\n collide: function collide(x2, y2, size2, angle, translation, padding2) {\n var points = pointsToArr(transformPoints(this.points, size2 + 2 * padding2, angle, translation));\n var inside = pointInsidePolygonPoints(x2, y2, points);\n return inside;\n },\n roughCollide: bbCollide,\n draw: function draw2(context, size2, angle, translation) {\n var points = transformPoints(this.points, size2, angle, translation);\n renderer3.arrowShapeImpl(\"polygon\")(context, points);\n },\n spacing: function spacing(edge) {\n return 0;\n },\n gap: standardGap\n }, defn);\n };\n defineArrowShape(\"none\", {\n collide: falsify,\n roughCollide: falsify,\n draw: noop$12,\n spacing: zeroify,\n gap: zeroify\n });\n defineArrowShape(\"triangle\", {\n points: [-0.15, -0.3, 0, 0, 0.15, -0.3]\n });\n defineArrowShape(\"arrow\", \"triangle\");\n defineArrowShape(\"triangle-backcurve\", {\n points: arrowShapes[\"triangle\"].points,\n controlPoint: [0, -0.15],\n roughCollide: bbCollide,\n draw: function draw2(context, size2, angle, translation, edgeWidth) {\n var ptsTrans = transformPoints(this.points, size2, angle, translation);\n var ctrlPt = this.controlPoint;\n var ctrlPtTrans = transform(ctrlPt[0], ctrlPt[1], size2, angle, translation);\n renderer3.arrowShapeImpl(this.name)(context, ptsTrans, ctrlPtTrans);\n },\n gap: function gap(edge) {\n return standardGap(edge) * 0.8;\n }\n });\n defineArrowShape(\"triangle-tee\", {\n points: [0, 0, 0.15, -0.3, -0.15, -0.3, 0, 0],\n pointsTee: [-0.15, -0.4, -0.15, -0.5, 0.15, -0.5, 0.15, -0.4],\n collide: function collide(x2, y2, size2, angle, translation, edgeWidth, padding2) {\n var triPts = pointsToArr(transformPoints(this.points, size2 + 2 * padding2, angle, translation));\n var teePts = pointsToArr(transformPoints(this.pointsTee, size2 + 2 * padding2, angle, translation));\n var inside = pointInsidePolygonPoints(x2, y2, triPts) || pointInsidePolygonPoints(x2, y2, teePts);\n return inside;\n },\n draw: function draw2(context, size2, angle, translation, edgeWidth) {\n var triPts = transformPoints(this.points, size2, angle, translation);\n var teePts = transformPoints(this.pointsTee, size2, angle, translation);\n renderer3.arrowShapeImpl(this.name)(context, triPts, teePts);\n }\n });\n defineArrowShape(\"circle-triangle\", {\n radius: 0.15,\n pointsTr: [0, -0.15, 0.15, -0.45, -0.15, -0.45, 0, -0.15],\n collide: function collide(x2, y2, size2, angle, translation, edgeWidth, padding2) {\n var t = translation;\n var circleInside = Math.pow(t.x - x2, 2) + Math.pow(t.y - y2, 2) <= Math.pow((size2 + 2 * padding2) * this.radius, 2);\n var triPts = pointsToArr(transformPoints(this.points, size2 + 2 * padding2, angle, translation));\n return pointInsidePolygonPoints(x2, y2, triPts) || circleInside;\n },\n draw: function draw2(context, size2, angle, translation, edgeWidth) {\n var triPts = transformPoints(this.pointsTr, size2, angle, translation);\n renderer3.arrowShapeImpl(this.name)(context, triPts, translation.x, translation.y, this.radius * size2);\n },\n spacing: function spacing(edge) {\n return renderer3.getArrowWidth(edge.pstyle(\"width\").pfValue, edge.pstyle(\"arrow-scale\").value) * this.radius;\n }\n });\n defineArrowShape(\"triangle-cross\", {\n points: [0, 0, 0.15, -0.3, -0.15, -0.3, 0, 0],\n baseCrossLinePts: [\n -0.15,\n -0.4,\n // first half of the rectangle\n -0.15,\n -0.4,\n 0.15,\n -0.4,\n // second half of the rectangle\n 0.15,\n -0.4\n ],\n crossLinePts: function crossLinePts(size2, edgeWidth) {\n var p2 = this.baseCrossLinePts.slice();\n var shiftFactor = edgeWidth / size2;\n var y0 = 3;\n var y1 = 5;\n p2[y0] = p2[y0] - shiftFactor;\n p2[y1] = p2[y1] - shiftFactor;\n return p2;\n },\n collide: function collide(x2, y2, size2, angle, translation, edgeWidth, padding2) {\n var triPts = pointsToArr(transformPoints(this.points, size2 + 2 * padding2, angle, translation));\n var teePts = pointsToArr(transformPoints(this.crossLinePts(size2, edgeWidth), size2 + 2 * padding2, angle, translation));\n var inside = pointInsidePolygonPoints(x2, y2, triPts) || pointInsidePolygonPoints(x2, y2, teePts);\n return inside;\n },\n draw: function draw2(context, size2, angle, translation, edgeWidth) {\n var triPts = transformPoints(this.points, size2, angle, translation);\n var crossLinePts = transformPoints(this.crossLinePts(size2, edgeWidth), size2, angle, translation);\n renderer3.arrowShapeImpl(this.name)(context, triPts, crossLinePts);\n }\n });\n defineArrowShape(\"vee\", {\n points: [-0.15, -0.3, 0, 0, 0.15, -0.3, 0, -0.15],\n gap: function gap(edge) {\n return standardGap(edge) * 0.525;\n }\n });\n defineArrowShape(\"circle\", {\n radius: 0.15,\n collide: function collide(x2, y2, size2, angle, translation, edgeWidth, padding2) {\n var t = translation;\n var inside = Math.pow(t.x - x2, 2) + Math.pow(t.y - y2, 2) <= Math.pow((size2 + 2 * padding2) * this.radius, 2);\n return inside;\n },\n draw: function draw2(context, size2, angle, translation, edgeWidth) {\n renderer3.arrowShapeImpl(this.name)(context, translation.x, translation.y, this.radius * size2);\n },\n spacing: function spacing(edge) {\n return renderer3.getArrowWidth(edge.pstyle(\"width\").pfValue, edge.pstyle(\"arrow-scale\").value) * this.radius;\n }\n });\n defineArrowShape(\"tee\", {\n points: [-0.15, 0, -0.15, -0.1, 0.15, -0.1, 0.15, 0],\n spacing: function spacing(edge) {\n return 1;\n },\n gap: function gap(edge) {\n return 1;\n }\n });\n defineArrowShape(\"square\", {\n points: [-0.15, 0, 0.15, 0, 0.15, -0.3, -0.15, -0.3]\n });\n defineArrowShape(\"diamond\", {\n points: [-0.15, -0.15, 0, -0.3, 0.15, -0.15, 0, 0],\n gap: function gap(edge) {\n return edge.pstyle(\"width\").pfValue * edge.pstyle(\"arrow-scale\").value;\n }\n });\n defineArrowShape(\"chevron\", {\n points: [0, 0, -0.15, -0.15, -0.1, -0.2, 0, -0.1, 0.1, -0.2, 0.15, -0.15],\n gap: function gap(edge) {\n return 0.95 * edge.pstyle(\"width\").pfValue * edge.pstyle(\"arrow-scale\").value;\n }\n });\n };\n var BRp$e = {};\n BRp$e.projectIntoViewport = function(clientX, clientY) {\n var cy = this.cy;\n var offsets = this.findContainerClientCoords();\n var offsetLeft = offsets[0];\n var offsetTop = offsets[1];\n var scale = offsets[4];\n var pan = cy.pan();\n var zoom = cy.zoom();\n var x2 = ((clientX - offsetLeft) / scale - pan.x) / zoom;\n var y2 = ((clientY - offsetTop) / scale - pan.y) / zoom;\n return [x2, y2];\n };\n BRp$e.findContainerClientCoords = function() {\n if (this.containerBB) {\n return this.containerBB;\n }\n var container = this.container;\n var rect2 = container.getBoundingClientRect();\n var style = window$1.getComputedStyle(container);\n var styleValue2 = function styleValue3(name2) {\n return parseFloat(style.getPropertyValue(name2));\n };\n var padding2 = {\n left: styleValue2(\"padding-left\"),\n right: styleValue2(\"padding-right\"),\n top: styleValue2(\"padding-top\"),\n bottom: styleValue2(\"padding-bottom\")\n };\n var border = {\n left: styleValue2(\"border-left-width\"),\n right: styleValue2(\"border-right-width\"),\n top: styleValue2(\"border-top-width\"),\n bottom: styleValue2(\"border-bottom-width\")\n };\n var clientWidth = container.clientWidth;\n var clientHeight = container.clientHeight;\n var paddingHor = padding2.left + padding2.right;\n var paddingVer = padding2.top + padding2.bottom;\n var borderHor = border.left + border.right;\n var scale = rect2.width / (clientWidth + borderHor);\n var unscaledW = clientWidth - paddingHor;\n var unscaledH = clientHeight - paddingVer;\n var left2 = rect2.left + padding2.left + border.left;\n var top2 = rect2.top + padding2.top + border.top;\n return this.containerBB = [left2, top2, unscaledW, unscaledH, scale];\n };\n BRp$e.invalidateContainerClientCoordsCache = function() {\n this.containerBB = null;\n };\n BRp$e.findNearestElement = function(x2, y2, interactiveElementsOnly, isTouch) {\n return this.findNearestElements(x2, y2, interactiveElementsOnly, isTouch)[0];\n };\n BRp$e.findNearestElements = function(x2, y2, interactiveElementsOnly, isTouch) {\n var self2 = this;\n var r = this;\n var eles = r.getCachedZSortedEles();\n var near = [];\n var zoom = r.cy.zoom();\n var hasCompounds = r.cy.hasCompoundNodes();\n var edgeThreshold = (isTouch ? 24 : 8) / zoom;\n var nodeThreshold = (isTouch ? 8 : 2) / zoom;\n var labelThreshold = (isTouch ? 8 : 2) / zoom;\n var minSqDist = Infinity;\n var nearEdge;\n var nearNode;\n if (interactiveElementsOnly) {\n eles = eles.interactive;\n }\n function addEle(ele2, sqDist) {\n if (ele2.isNode()) {\n if (nearNode) {\n return;\n } else {\n nearNode = ele2;\n near.push(ele2);\n }\n }\n if (ele2.isEdge() && (sqDist == null || sqDist < minSqDist)) {\n if (nearEdge) {\n if (nearEdge.pstyle(\"z-compound-depth\").value === ele2.pstyle(\"z-compound-depth\").value && nearEdge.pstyle(\"z-compound-depth\").value === ele2.pstyle(\"z-compound-depth\").value) {\n for (var i4 = 0; i4 < near.length; i4++) {\n if (near[i4].isEdge()) {\n near[i4] = ele2;\n nearEdge = ele2;\n minSqDist = sqDist != null ? sqDist : minSqDist;\n break;\n }\n }\n }\n } else {\n near.push(ele2);\n nearEdge = ele2;\n minSqDist = sqDist != null ? sqDist : minSqDist;\n }\n }\n }\n function checkNode(node2) {\n var width2 = node2.outerWidth() + 2 * nodeThreshold;\n var height2 = node2.outerHeight() + 2 * nodeThreshold;\n var hw = width2 / 2;\n var hh = height2 / 2;\n var pos = node2.position();\n if (pos.x - hw <= x2 && x2 <= pos.x + hw && pos.y - hh <= y2 && y2 <= pos.y + hh) {\n var shape = r.nodeShapes[self2.getNodeShape(node2)];\n if (shape.checkPoint(x2, y2, 0, width2, height2, pos.x, pos.y)) {\n addEle(node2, 0);\n return true;\n }\n }\n }\n function checkEdge(edge) {\n var _p = edge._private;\n var rs = _p.rscratch;\n var styleWidth = edge.pstyle(\"width\").pfValue;\n var scale = edge.pstyle(\"arrow-scale\").value;\n var width2 = styleWidth / 2 + edgeThreshold;\n var widthSq = width2 * width2;\n var width22 = width2 * 2;\n var src = _p.source;\n var tgt = _p.target;\n var sqDist;\n if (rs.edgeType === \"segments\" || rs.edgeType === \"straight\" || rs.edgeType === \"haystack\") {\n var pts2 = rs.allpts;\n for (var i4 = 0; i4 + 3 < pts2.length; i4 += 2) {\n if (inLineVicinity(x2, y2, pts2[i4], pts2[i4 + 1], pts2[i4 + 2], pts2[i4 + 3], width22) && widthSq > (sqDist = sqdistToFiniteLine(x2, y2, pts2[i4], pts2[i4 + 1], pts2[i4 + 2], pts2[i4 + 3]))) {\n addEle(edge, sqDist);\n return true;\n }\n }\n } else if (rs.edgeType === \"bezier\" || rs.edgeType === \"multibezier\" || rs.edgeType === \"self\" || rs.edgeType === \"compound\") {\n var pts2 = rs.allpts;\n for (var i4 = 0; i4 + 5 < rs.allpts.length; i4 += 4) {\n if (inBezierVicinity(x2, y2, pts2[i4], pts2[i4 + 1], pts2[i4 + 2], pts2[i4 + 3], pts2[i4 + 4], pts2[i4 + 5], width22) && widthSq > (sqDist = sqdistToQuadraticBezier(x2, y2, pts2[i4], pts2[i4 + 1], pts2[i4 + 2], pts2[i4 + 3], pts2[i4 + 4], pts2[i4 + 5]))) {\n addEle(edge, sqDist);\n return true;\n }\n }\n }\n var src = src || _p.source;\n var tgt = tgt || _p.target;\n var arSize = self2.getArrowWidth(styleWidth, scale);\n var arrows2 = [{\n name: \"source\",\n x: rs.arrowStartX,\n y: rs.arrowStartY,\n angle: rs.srcArrowAngle\n }, {\n name: \"target\",\n x: rs.arrowEndX,\n y: rs.arrowEndY,\n angle: rs.tgtArrowAngle\n }, {\n name: \"mid-source\",\n x: rs.midX,\n y: rs.midY,\n angle: rs.midsrcArrowAngle\n }, {\n name: \"mid-target\",\n x: rs.midX,\n y: rs.midY,\n angle: rs.midtgtArrowAngle\n }];\n for (var i4 = 0; i4 < arrows2.length; i4++) {\n var ar = arrows2[i4];\n var shape = r.arrowShapes[edge.pstyle(ar.name + \"-arrow-shape\").value];\n var edgeWidth = edge.pstyle(\"width\").pfValue;\n if (shape.roughCollide(x2, y2, arSize, ar.angle, {\n x: ar.x,\n y: ar.y\n }, edgeWidth, edgeThreshold) && shape.collide(x2, y2, arSize, ar.angle, {\n x: ar.x,\n y: ar.y\n }, edgeWidth, edgeThreshold)) {\n addEle(edge);\n return true;\n }\n }\n if (hasCompounds && near.length > 0) {\n checkNode(src);\n checkNode(tgt);\n }\n }\n function preprop(obj, name2, pre) {\n return getPrefixedProperty(obj, name2, pre);\n }\n function checkLabel(ele2, prefix) {\n var _p = ele2._private;\n var th = labelThreshold;\n var prefixDash;\n if (prefix) {\n prefixDash = prefix + \"-\";\n } else {\n prefixDash = \"\";\n }\n ele2.boundingBox();\n var bb = _p.labelBounds[prefix || \"main\"];\n var text2 = ele2.pstyle(prefixDash + \"label\").value;\n var eventsEnabled = ele2.pstyle(\"text-events\").strValue === \"yes\";\n if (!eventsEnabled || !text2) {\n return;\n }\n var lx = preprop(_p.rscratch, \"labelX\", prefix);\n var ly = preprop(_p.rscratch, \"labelY\", prefix);\n var theta = preprop(_p.rscratch, \"labelAngle\", prefix);\n var ox = ele2.pstyle(prefixDash + \"text-margin-x\").pfValue;\n var oy = ele2.pstyle(prefixDash + \"text-margin-y\").pfValue;\n var lx1 = bb.x1 - th - ox;\n var lx2 = bb.x2 + th - ox;\n var ly1 = bb.y1 - th - oy;\n var ly2 = bb.y2 + th - oy;\n if (theta) {\n var cos3 = Math.cos(theta);\n var sin3 = Math.sin(theta);\n var rotate = function rotate2(x3, y3) {\n x3 = x3 - lx;\n y3 = y3 - ly;\n return {\n x: x3 * cos3 - y3 * sin3 + lx,\n y: x3 * sin3 + y3 * cos3 + ly\n };\n };\n var px1y1 = rotate(lx1, ly1);\n var px1y2 = rotate(lx1, ly2);\n var px2y1 = rotate(lx2, ly1);\n var px2y2 = rotate(lx2, ly2);\n var points = [\n // with the margin added after the rotation is applied\n px1y1.x + ox,\n px1y1.y + oy,\n px2y1.x + ox,\n px2y1.y + oy,\n px2y2.x + ox,\n px2y2.y + oy,\n px1y2.x + ox,\n px1y2.y + oy\n ];\n if (pointInsidePolygonPoints(x2, y2, points)) {\n addEle(ele2);\n return true;\n }\n } else {\n if (inBoundingBox(bb, x2, y2)) {\n addEle(ele2);\n return true;\n }\n }\n }\n for (var i3 = eles.length - 1; i3 >= 0; i3--) {\n var ele = eles[i3];\n if (ele.isNode()) {\n checkNode(ele) || checkLabel(ele);\n } else {\n checkEdge(ele) || checkLabel(ele) || checkLabel(ele, \"source\") || checkLabel(ele, \"target\");\n }\n }\n return near;\n };\n BRp$e.getAllInBox = function(x1, y1, x2, y2) {\n var eles = this.getCachedZSortedEles().interactive;\n var box = [];\n var x1c = Math.min(x1, x2);\n var x2c = Math.max(x1, x2);\n var y1c = Math.min(y1, y2);\n var y2c = Math.max(y1, y2);\n x1 = x1c;\n x2 = x2c;\n y1 = y1c;\n y2 = y2c;\n var boxBb = makeBoundingBox({\n x1,\n y1,\n x2,\n y2\n });\n for (var e = 0; e < eles.length; e++) {\n var ele = eles[e];\n if (ele.isNode()) {\n var node2 = ele;\n var nodeBb = node2.boundingBox({\n includeNodes: true,\n includeEdges: false,\n includeLabels: false\n });\n if (boundingBoxesIntersect(boxBb, nodeBb) && !boundingBoxInBoundingBox(nodeBb, boxBb)) {\n box.push(node2);\n }\n } else {\n var edge = ele;\n var _p = edge._private;\n var rs = _p.rscratch;\n if (rs.startX != null && rs.startY != null && !inBoundingBox(boxBb, rs.startX, rs.startY)) {\n continue;\n }\n if (rs.endX != null && rs.endY != null && !inBoundingBox(boxBb, rs.endX, rs.endY)) {\n continue;\n }\n if (rs.edgeType === \"bezier\" || rs.edgeType === \"multibezier\" || rs.edgeType === \"self\" || rs.edgeType === \"compound\" || rs.edgeType === \"segments\" || rs.edgeType === \"haystack\") {\n var pts2 = _p.rstyle.bezierPts || _p.rstyle.linePts || _p.rstyle.haystackPts;\n var allInside = true;\n for (var i3 = 0; i3 < pts2.length; i3++) {\n if (!pointInBoundingBox(boxBb, pts2[i3])) {\n allInside = false;\n break;\n }\n }\n if (allInside) {\n box.push(edge);\n }\n } else if (rs.edgeType === \"haystack\" || rs.edgeType === \"straight\") {\n box.push(edge);\n }\n }\n }\n return box;\n };\n var BRp$d = {};\n BRp$d.calculateArrowAngles = function(edge) {\n var rs = edge._private.rscratch;\n var isHaystack = rs.edgeType === \"haystack\";\n var isBezier = rs.edgeType === \"bezier\";\n var isMultibezier = rs.edgeType === \"multibezier\";\n var isSegments = rs.edgeType === \"segments\";\n var isCompound = rs.edgeType === \"compound\";\n var isSelf = rs.edgeType === \"self\";\n var dispX, dispY;\n var startX, startY, endX, endY, midX, midY;\n if (isHaystack) {\n startX = rs.haystackPts[0];\n startY = rs.haystackPts[1];\n endX = rs.haystackPts[2];\n endY = rs.haystackPts[3];\n } else {\n startX = rs.arrowStartX;\n startY = rs.arrowStartY;\n endX = rs.arrowEndX;\n endY = rs.arrowEndY;\n }\n midX = rs.midX;\n midY = rs.midY;\n if (isSegments) {\n dispX = startX - rs.segpts[0];\n dispY = startY - rs.segpts[1];\n } else if (isMultibezier || isCompound || isSelf || isBezier) {\n var pts2 = rs.allpts;\n var bX = qbezierAt(pts2[0], pts2[2], pts2[4], 0.1);\n var bY = qbezierAt(pts2[1], pts2[3], pts2[5], 0.1);\n dispX = startX - bX;\n dispY = startY - bY;\n } else {\n dispX = startX - midX;\n dispY = startY - midY;\n }\n rs.srcArrowAngle = getAngleFromDisp(dispX, dispY);\n var midX = rs.midX;\n var midY = rs.midY;\n if (isHaystack) {\n midX = (startX + endX) / 2;\n midY = (startY + endY) / 2;\n }\n dispX = endX - startX;\n dispY = endY - startY;\n if (isSegments) {\n var pts2 = rs.allpts;\n if (pts2.length / 2 % 2 === 0) {\n var i22 = pts2.length / 2;\n var i1 = i22 - 2;\n dispX = pts2[i22] - pts2[i1];\n dispY = pts2[i22 + 1] - pts2[i1 + 1];\n } else {\n var i22 = pts2.length / 2 - 1;\n var i1 = i22 - 2;\n var i3 = i22 + 2;\n dispX = pts2[i22] - pts2[i1];\n dispY = pts2[i22 + 1] - pts2[i1 + 1];\n }\n } else if (isMultibezier || isCompound || isSelf) {\n var pts2 = rs.allpts;\n var cpts = rs.ctrlpts;\n var bp0x, bp0y;\n var bp1x, bp1y;\n if (cpts.length / 2 % 2 === 0) {\n var p0 = pts2.length / 2 - 1;\n var ic = p0 + 2;\n var p1 = ic + 2;\n bp0x = qbezierAt(pts2[p0], pts2[ic], pts2[p1], 0);\n bp0y = qbezierAt(pts2[p0 + 1], pts2[ic + 1], pts2[p1 + 1], 0);\n bp1x = qbezierAt(pts2[p0], pts2[ic], pts2[p1], 1e-4);\n bp1y = qbezierAt(pts2[p0 + 1], pts2[ic + 1], pts2[p1 + 1], 1e-4);\n } else {\n var ic = pts2.length / 2 - 1;\n var p0 = ic - 2;\n var p1 = ic + 2;\n bp0x = qbezierAt(pts2[p0], pts2[ic], pts2[p1], 0.4999);\n bp0y = qbezierAt(pts2[p0 + 1], pts2[ic + 1], pts2[p1 + 1], 0.4999);\n bp1x = qbezierAt(pts2[p0], pts2[ic], pts2[p1], 0.5);\n bp1y = qbezierAt(pts2[p0 + 1], pts2[ic + 1], pts2[p1 + 1], 0.5);\n }\n dispX = bp1x - bp0x;\n dispY = bp1y - bp0y;\n }\n rs.midtgtArrowAngle = getAngleFromDisp(dispX, dispY);\n rs.midDispX = dispX;\n rs.midDispY = dispY;\n dispX *= -1;\n dispY *= -1;\n if (isSegments) {\n var pts2 = rs.allpts;\n if (pts2.length / 2 % 2 === 0)\n ;\n else {\n var i22 = pts2.length / 2 - 1;\n var i3 = i22 + 2;\n dispX = -(pts2[i3] - pts2[i22]);\n dispY = -(pts2[i3 + 1] - pts2[i22 + 1]);\n }\n }\n rs.midsrcArrowAngle = getAngleFromDisp(dispX, dispY);\n if (isSegments) {\n dispX = endX - rs.segpts[rs.segpts.length - 2];\n dispY = endY - rs.segpts[rs.segpts.length - 1];\n } else if (isMultibezier || isCompound || isSelf || isBezier) {\n var pts2 = rs.allpts;\n var l = pts2.length;\n var bX = qbezierAt(pts2[l - 6], pts2[l - 4], pts2[l - 2], 0.9);\n var bY = qbezierAt(pts2[l - 5], pts2[l - 3], pts2[l - 1], 0.9);\n dispX = endX - bX;\n dispY = endY - bY;\n } else {\n dispX = endX - midX;\n dispY = endY - midY;\n }\n rs.tgtArrowAngle = getAngleFromDisp(dispX, dispY);\n };\n BRp$d.getArrowWidth = BRp$d.getArrowHeight = function(edgeWidth, scale) {\n var cache2 = this.arrowWidthCache = this.arrowWidthCache || {};\n var cachedVal = cache2[edgeWidth + \", \" + scale];\n if (cachedVal) {\n return cachedVal;\n }\n cachedVal = Math.max(Math.pow(edgeWidth * 13.37, 0.9), 29) * scale;\n cache2[edgeWidth + \", \" + scale] = cachedVal;\n return cachedVal;\n };\n var BRp$c = {};\n BRp$c.findHaystackPoints = function(edges2) {\n for (var i3 = 0; i3 < edges2.length; i3++) {\n var edge = edges2[i3];\n var _p = edge._private;\n var rs = _p.rscratch;\n if (!rs.haystack) {\n var angle = Math.random() * 2 * Math.PI;\n rs.source = {\n x: Math.cos(angle),\n y: Math.sin(angle)\n };\n angle = Math.random() * 2 * Math.PI;\n rs.target = {\n x: Math.cos(angle),\n y: Math.sin(angle)\n };\n }\n var src = _p.source;\n var tgt = _p.target;\n var srcPos = src.position();\n var tgtPos = tgt.position();\n var srcW = src.width();\n var tgtW = tgt.width();\n var srcH = src.height();\n var tgtH = tgt.height();\n var radius = edge.pstyle(\"haystack-radius\").value;\n var halfRadius = radius / 2;\n rs.haystackPts = rs.allpts = [rs.source.x * srcW * halfRadius + srcPos.x, rs.source.y * srcH * halfRadius + srcPos.y, rs.target.x * tgtW * halfRadius + tgtPos.x, rs.target.y * tgtH * halfRadius + tgtPos.y];\n rs.midX = (rs.allpts[0] + rs.allpts[2]) / 2;\n rs.midY = (rs.allpts[1] + rs.allpts[3]) / 2;\n rs.edgeType = \"haystack\";\n rs.haystack = true;\n this.storeEdgeProjections(edge);\n this.calculateArrowAngles(edge);\n this.recalculateEdgeLabelProjections(edge);\n this.calculateLabelAngles(edge);\n }\n };\n BRp$c.findSegmentsPoints = function(edge, pairInfo) {\n var rs = edge._private.rscratch;\n var posPts = pairInfo.posPts, intersectionPts = pairInfo.intersectionPts, vectorNormInverse = pairInfo.vectorNormInverse;\n var edgeDistances = edge.pstyle(\"edge-distances\").value;\n var segmentWs = edge.pstyle(\"segment-weights\");\n var segmentDs = edge.pstyle(\"segment-distances\");\n var segmentsN = Math.min(segmentWs.pfValue.length, segmentDs.pfValue.length);\n rs.edgeType = \"segments\";\n rs.segpts = [];\n for (var s = 0; s < segmentsN; s++) {\n var w2 = segmentWs.pfValue[s];\n var d = segmentDs.pfValue[s];\n var w1 = 1 - w2;\n var w22 = w2;\n var midptPts = edgeDistances === \"node-position\" ? posPts : intersectionPts;\n var adjustedMidpt = {\n x: midptPts.x1 * w1 + midptPts.x2 * w22,\n y: midptPts.y1 * w1 + midptPts.y2 * w22\n };\n rs.segpts.push(adjustedMidpt.x + vectorNormInverse.x * d, adjustedMidpt.y + vectorNormInverse.y * d);\n }\n };\n BRp$c.findLoopPoints = function(edge, pairInfo, i3, edgeIsUnbundled) {\n var rs = edge._private.rscratch;\n var dirCounts = pairInfo.dirCounts, srcPos = pairInfo.srcPos;\n var ctrlptDists = edge.pstyle(\"control-point-distances\");\n var ctrlptDist = ctrlptDists ? ctrlptDists.pfValue[0] : void 0;\n var loopDir = edge.pstyle(\"loop-direction\").pfValue;\n var loopSwp = edge.pstyle(\"loop-sweep\").pfValue;\n var stepSize = edge.pstyle(\"control-point-step-size\").pfValue;\n rs.edgeType = \"self\";\n var j = i3;\n var loopDist = stepSize;\n if (edgeIsUnbundled) {\n j = 0;\n loopDist = ctrlptDist;\n }\n var loopAngle = loopDir - Math.PI / 2;\n var outAngle = loopAngle - loopSwp / 2;\n var inAngle = loopAngle + loopSwp / 2;\n var dc = String(loopDir + \"_\" + loopSwp);\n j = dirCounts[dc] === void 0 ? dirCounts[dc] = 0 : ++dirCounts[dc];\n rs.ctrlpts = [srcPos.x + Math.cos(outAngle) * 1.4 * loopDist * (j / 3 + 1), srcPos.y + Math.sin(outAngle) * 1.4 * loopDist * (j / 3 + 1), srcPos.x + Math.cos(inAngle) * 1.4 * loopDist * (j / 3 + 1), srcPos.y + Math.sin(inAngle) * 1.4 * loopDist * (j / 3 + 1)];\n };\n BRp$c.findCompoundLoopPoints = function(edge, pairInfo, i3, edgeIsUnbundled) {\n var rs = edge._private.rscratch;\n rs.edgeType = \"compound\";\n var srcPos = pairInfo.srcPos, tgtPos = pairInfo.tgtPos, srcW = pairInfo.srcW, srcH = pairInfo.srcH, tgtW = pairInfo.tgtW, tgtH = pairInfo.tgtH;\n var stepSize = edge.pstyle(\"control-point-step-size\").pfValue;\n var ctrlptDists = edge.pstyle(\"control-point-distances\");\n var ctrlptDist = ctrlptDists ? ctrlptDists.pfValue[0] : void 0;\n var j = i3;\n var loopDist = stepSize;\n if (edgeIsUnbundled) {\n j = 0;\n loopDist = ctrlptDist;\n }\n var loopW = 50;\n var loopaPos = {\n x: srcPos.x - srcW / 2,\n y: srcPos.y - srcH / 2\n };\n var loopbPos = {\n x: tgtPos.x - tgtW / 2,\n y: tgtPos.y - tgtH / 2\n };\n var loopPos = {\n x: Math.min(loopaPos.x, loopbPos.x),\n y: Math.min(loopaPos.y, loopbPos.y)\n };\n var minCompoundStretch = 0.5;\n var compoundStretchA = Math.max(minCompoundStretch, Math.log(srcW * 0.01));\n var compoundStretchB = Math.max(minCompoundStretch, Math.log(tgtW * 0.01));\n rs.ctrlpts = [loopPos.x, loopPos.y - (1 + Math.pow(loopW, 1.12) / 100) * loopDist * (j / 3 + 1) * compoundStretchA, loopPos.x - (1 + Math.pow(loopW, 1.12) / 100) * loopDist * (j / 3 + 1) * compoundStretchB, loopPos.y];\n };\n BRp$c.findStraightEdgePoints = function(edge) {\n edge._private.rscratch.edgeType = \"straight\";\n };\n BRp$c.findBezierPoints = function(edge, pairInfo, i3, edgeIsUnbundled, edgeIsSwapped) {\n var rs = edge._private.rscratch;\n var vectorNormInverse = pairInfo.vectorNormInverse, posPts = pairInfo.posPts, intersectionPts = pairInfo.intersectionPts;\n var edgeDistances = edge.pstyle(\"edge-distances\").value;\n var stepSize = edge.pstyle(\"control-point-step-size\").pfValue;\n var ctrlptDists = edge.pstyle(\"control-point-distances\");\n var ctrlptWs = edge.pstyle(\"control-point-weights\");\n var bezierN = ctrlptDists && ctrlptWs ? Math.min(ctrlptDists.value.length, ctrlptWs.value.length) : 1;\n var ctrlptDist = ctrlptDists ? ctrlptDists.pfValue[0] : void 0;\n var ctrlptWeight = ctrlptWs.value[0];\n var multi = edgeIsUnbundled;\n rs.edgeType = multi ? \"multibezier\" : \"bezier\";\n rs.ctrlpts = [];\n for (var b = 0; b < bezierN; b++) {\n var normctrlptDist = (0.5 - pairInfo.eles.length / 2 + i3) * stepSize * (edgeIsSwapped ? -1 : 1);\n var manctrlptDist = void 0;\n var sign2 = signum(normctrlptDist);\n if (multi) {\n ctrlptDist = ctrlptDists ? ctrlptDists.pfValue[b] : stepSize;\n ctrlptWeight = ctrlptWs.value[b];\n }\n if (edgeIsUnbundled) {\n manctrlptDist = ctrlptDist;\n } else {\n manctrlptDist = ctrlptDist !== void 0 ? sign2 * ctrlptDist : void 0;\n }\n var distanceFromMidpoint = manctrlptDist !== void 0 ? manctrlptDist : normctrlptDist;\n var w1 = 1 - ctrlptWeight;\n var w2 = ctrlptWeight;\n var midptPts = edgeDistances === \"node-position\" ? posPts : intersectionPts;\n var adjustedMidpt = {\n x: midptPts.x1 * w1 + midptPts.x2 * w2,\n y: midptPts.y1 * w1 + midptPts.y2 * w2\n };\n rs.ctrlpts.push(adjustedMidpt.x + vectorNormInverse.x * distanceFromMidpoint, adjustedMidpt.y + vectorNormInverse.y * distanceFromMidpoint);\n }\n };\n BRp$c.findTaxiPoints = function(edge, pairInfo) {\n var rs = edge._private.rscratch;\n rs.edgeType = \"segments\";\n var VERTICAL = \"vertical\";\n var HORIZONTAL = \"horizontal\";\n var LEFTWARD = \"leftward\";\n var RIGHTWARD = \"rightward\";\n var DOWNWARD = \"downward\";\n var UPWARD = \"upward\";\n var AUTO = \"auto\";\n var posPts = pairInfo.posPts, srcW = pairInfo.srcW, srcH = pairInfo.srcH, tgtW = pairInfo.tgtW, tgtH = pairInfo.tgtH;\n var edgeDistances = edge.pstyle(\"edge-distances\").value;\n var dIncludesNodeBody = edgeDistances !== \"node-position\";\n var taxiDir = edge.pstyle(\"taxi-direction\").value;\n var rawTaxiDir = taxiDir;\n var taxiTurn = edge.pstyle(\"taxi-turn\");\n var turnIsPercent = taxiTurn.units === \"%\";\n var taxiTurnPfVal = taxiTurn.pfValue;\n var turnIsNegative = taxiTurnPfVal < 0;\n var minD = edge.pstyle(\"taxi-turn-min-distance\").pfValue;\n var dw = dIncludesNodeBody ? (srcW + tgtW) / 2 : 0;\n var dh = dIncludesNodeBody ? (srcH + tgtH) / 2 : 0;\n var pdx = posPts.x2 - posPts.x1;\n var pdy = posPts.y2 - posPts.y1;\n var subDWH = function subDWH2(dxy, dwh) {\n if (dxy > 0) {\n return Math.max(dxy - dwh, 0);\n } else {\n return Math.min(dxy + dwh, 0);\n }\n };\n var dx = subDWH(pdx, dw);\n var dy = subDWH(pdy, dh);\n var isExplicitDir = false;\n if (rawTaxiDir === AUTO) {\n taxiDir = Math.abs(dx) > Math.abs(dy) ? HORIZONTAL : VERTICAL;\n } else if (rawTaxiDir === UPWARD || rawTaxiDir === DOWNWARD) {\n taxiDir = VERTICAL;\n isExplicitDir = true;\n } else if (rawTaxiDir === LEFTWARD || rawTaxiDir === RIGHTWARD) {\n taxiDir = HORIZONTAL;\n isExplicitDir = true;\n }\n var isVert = taxiDir === VERTICAL;\n var l = isVert ? dy : dx;\n var pl = isVert ? pdy : pdx;\n var sgnL = signum(pl);\n var forcedDir = false;\n if (!(isExplicitDir && (turnIsPercent || turnIsNegative)) && (rawTaxiDir === DOWNWARD && pl < 0 || rawTaxiDir === UPWARD && pl > 0 || rawTaxiDir === LEFTWARD && pl > 0 || rawTaxiDir === RIGHTWARD && pl < 0)) {\n sgnL *= -1;\n l = sgnL * Math.abs(l);\n forcedDir = true;\n }\n var d;\n if (turnIsPercent) {\n var p2 = taxiTurnPfVal < 0 ? 1 + taxiTurnPfVal : taxiTurnPfVal;\n d = p2 * l;\n } else {\n var k = taxiTurnPfVal < 0 ? l : 0;\n d = k + taxiTurnPfVal * sgnL;\n }\n var getIsTooClose = function getIsTooClose2(d2) {\n return Math.abs(d2) < minD || Math.abs(d2) >= Math.abs(l);\n };\n var isTooCloseSrc = getIsTooClose(d);\n var isTooCloseTgt = getIsTooClose(Math.abs(l) - Math.abs(d));\n var isTooClose = isTooCloseSrc || isTooCloseTgt;\n if (isTooClose && !forcedDir) {\n if (isVert) {\n var lShapeInsideSrc = Math.abs(pl) <= srcH / 2;\n var lShapeInsideTgt = Math.abs(pdx) <= tgtW / 2;\n if (lShapeInsideSrc) {\n var x2 = (posPts.x1 + posPts.x2) / 2;\n var y1 = posPts.y1, y2 = posPts.y2;\n rs.segpts = [x2, y1, x2, y2];\n } else if (lShapeInsideTgt) {\n var y3 = (posPts.y1 + posPts.y2) / 2;\n var x1 = posPts.x1, x22 = posPts.x2;\n rs.segpts = [x1, y3, x22, y3];\n } else {\n rs.segpts = [posPts.x1, posPts.y2];\n }\n } else {\n var _lShapeInsideSrc = Math.abs(pl) <= srcW / 2;\n var _lShapeInsideTgt = Math.abs(pdy) <= tgtH / 2;\n if (_lShapeInsideSrc) {\n var _y = (posPts.y1 + posPts.y2) / 2;\n var _x = posPts.x1, _x2 = posPts.x2;\n rs.segpts = [_x, _y, _x2, _y];\n } else if (_lShapeInsideTgt) {\n var _x3 = (posPts.x1 + posPts.x2) / 2;\n var _y2 = posPts.y1, _y3 = posPts.y2;\n rs.segpts = [_x3, _y2, _x3, _y3];\n } else {\n rs.segpts = [posPts.x2, posPts.y1];\n }\n }\n } else {\n if (isVert) {\n var _y4 = posPts.y1 + d + (dIncludesNodeBody ? srcH / 2 * sgnL : 0);\n var _x4 = posPts.x1, _x5 = posPts.x2;\n rs.segpts = [_x4, _y4, _x5, _y4];\n } else {\n var _x6 = posPts.x1 + d + (dIncludesNodeBody ? srcW / 2 * sgnL : 0);\n var _y5 = posPts.y1, _y6 = posPts.y2;\n rs.segpts = [_x6, _y5, _x6, _y6];\n }\n }\n };\n BRp$c.tryToCorrectInvalidPoints = function(edge, pairInfo) {\n var rs = edge._private.rscratch;\n if (rs.edgeType === \"bezier\") {\n var srcPos = pairInfo.srcPos, tgtPos = pairInfo.tgtPos, srcW = pairInfo.srcW, srcH = pairInfo.srcH, tgtW = pairInfo.tgtW, tgtH = pairInfo.tgtH, srcShape = pairInfo.srcShape, tgtShape = pairInfo.tgtShape;\n var badStart = !number$12(rs.startX) || !number$12(rs.startY);\n var badAStart = !number$12(rs.arrowStartX) || !number$12(rs.arrowStartY);\n var badEnd = !number$12(rs.endX) || !number$12(rs.endY);\n var badAEnd = !number$12(rs.arrowEndX) || !number$12(rs.arrowEndY);\n var minCpADistFactor = 3;\n var arrowW = this.getArrowWidth(edge.pstyle(\"width\").pfValue, edge.pstyle(\"arrow-scale\").value) * this.arrowShapeWidth;\n var minCpADist = minCpADistFactor * arrowW;\n var startACpDist = dist2({\n x: rs.ctrlpts[0],\n y: rs.ctrlpts[1]\n }, {\n x: rs.startX,\n y: rs.startY\n });\n var closeStartACp = startACpDist < minCpADist;\n var endACpDist = dist2({\n x: rs.ctrlpts[0],\n y: rs.ctrlpts[1]\n }, {\n x: rs.endX,\n y: rs.endY\n });\n var closeEndACp = endACpDist < minCpADist;\n var overlapping = false;\n if (badStart || badAStart || closeStartACp) {\n overlapping = true;\n var cpD = {\n // delta\n x: rs.ctrlpts[0] - srcPos.x,\n y: rs.ctrlpts[1] - srcPos.y\n };\n var cpL = Math.sqrt(cpD.x * cpD.x + cpD.y * cpD.y);\n var cpM = {\n // normalised delta\n x: cpD.x / cpL,\n y: cpD.y / cpL\n };\n var radius = Math.max(srcW, srcH);\n var cpProj = {\n // *2 radius guarantees outside shape\n x: rs.ctrlpts[0] + cpM.x * 2 * radius,\n y: rs.ctrlpts[1] + cpM.y * 2 * radius\n };\n var srcCtrlPtIntn = srcShape.intersectLine(srcPos.x, srcPos.y, srcW, srcH, cpProj.x, cpProj.y, 0);\n if (closeStartACp) {\n rs.ctrlpts[0] = rs.ctrlpts[0] + cpM.x * (minCpADist - startACpDist);\n rs.ctrlpts[1] = rs.ctrlpts[1] + cpM.y * (minCpADist - startACpDist);\n } else {\n rs.ctrlpts[0] = srcCtrlPtIntn[0] + cpM.x * minCpADist;\n rs.ctrlpts[1] = srcCtrlPtIntn[1] + cpM.y * minCpADist;\n }\n }\n if (badEnd || badAEnd || closeEndACp) {\n overlapping = true;\n var _cpD = {\n // delta\n x: rs.ctrlpts[0] - tgtPos.x,\n y: rs.ctrlpts[1] - tgtPos.y\n };\n var _cpL = Math.sqrt(_cpD.x * _cpD.x + _cpD.y * _cpD.y);\n var _cpM = {\n // normalised delta\n x: _cpD.x / _cpL,\n y: _cpD.y / _cpL\n };\n var _radius = Math.max(srcW, srcH);\n var _cpProj = {\n // *2 radius guarantees outside shape\n x: rs.ctrlpts[0] + _cpM.x * 2 * _radius,\n y: rs.ctrlpts[1] + _cpM.y * 2 * _radius\n };\n var tgtCtrlPtIntn = tgtShape.intersectLine(tgtPos.x, tgtPos.y, tgtW, tgtH, _cpProj.x, _cpProj.y, 0);\n if (closeEndACp) {\n rs.ctrlpts[0] = rs.ctrlpts[0] + _cpM.x * (minCpADist - endACpDist);\n rs.ctrlpts[1] = rs.ctrlpts[1] + _cpM.y * (minCpADist - endACpDist);\n } else {\n rs.ctrlpts[0] = tgtCtrlPtIntn[0] + _cpM.x * minCpADist;\n rs.ctrlpts[1] = tgtCtrlPtIntn[1] + _cpM.y * minCpADist;\n }\n }\n if (overlapping) {\n this.findEndpoints(edge);\n }\n }\n };\n BRp$c.storeAllpts = function(edge) {\n var rs = edge._private.rscratch;\n if (rs.edgeType === \"multibezier\" || rs.edgeType === \"bezier\" || rs.edgeType === \"self\" || rs.edgeType === \"compound\") {\n rs.allpts = [];\n rs.allpts.push(rs.startX, rs.startY);\n for (var b = 0; b + 1 < rs.ctrlpts.length; b += 2) {\n rs.allpts.push(rs.ctrlpts[b], rs.ctrlpts[b + 1]);\n if (b + 3 < rs.ctrlpts.length) {\n rs.allpts.push((rs.ctrlpts[b] + rs.ctrlpts[b + 2]) / 2, (rs.ctrlpts[b + 1] + rs.ctrlpts[b + 3]) / 2);\n }\n }\n rs.allpts.push(rs.endX, rs.endY);\n var m, mt;\n if (rs.ctrlpts.length / 2 % 2 === 0) {\n m = rs.allpts.length / 2 - 1;\n rs.midX = rs.allpts[m];\n rs.midY = rs.allpts[m + 1];\n } else {\n m = rs.allpts.length / 2 - 3;\n mt = 0.5;\n rs.midX = qbezierAt(rs.allpts[m], rs.allpts[m + 2], rs.allpts[m + 4], mt);\n rs.midY = qbezierAt(rs.allpts[m + 1], rs.allpts[m + 3], rs.allpts[m + 5], mt);\n }\n } else if (rs.edgeType === \"straight\") {\n rs.allpts = [rs.startX, rs.startY, rs.endX, rs.endY];\n rs.midX = (rs.startX + rs.endX + rs.arrowStartX + rs.arrowEndX) / 4;\n rs.midY = (rs.startY + rs.endY + rs.arrowStartY + rs.arrowEndY) / 4;\n } else if (rs.edgeType === \"segments\") {\n rs.allpts = [];\n rs.allpts.push(rs.startX, rs.startY);\n rs.allpts.push.apply(rs.allpts, rs.segpts);\n rs.allpts.push(rs.endX, rs.endY);\n if (rs.segpts.length % 4 === 0) {\n var i22 = rs.segpts.length / 2;\n var i1 = i22 - 2;\n rs.midX = (rs.segpts[i1] + rs.segpts[i22]) / 2;\n rs.midY = (rs.segpts[i1 + 1] + rs.segpts[i22 + 1]) / 2;\n } else {\n var _i = rs.segpts.length / 2 - 1;\n rs.midX = rs.segpts[_i];\n rs.midY = rs.segpts[_i + 1];\n }\n }\n };\n BRp$c.checkForInvalidEdgeWarning = function(edge) {\n var rs = edge[0]._private.rscratch;\n if (rs.nodesOverlap || number$12(rs.startX) && number$12(rs.startY) && number$12(rs.endX) && number$12(rs.endY)) {\n rs.loggedErr = false;\n } else {\n if (!rs.loggedErr) {\n rs.loggedErr = true;\n warn(\"Edge `\" + edge.id() + \"` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap.\");\n }\n }\n };\n BRp$c.findEdgeControlPoints = function(edges2) {\n var _this = this;\n if (!edges2 || edges2.length === 0) {\n return;\n }\n var r = this;\n var cy = r.cy;\n var hasCompounds = cy.hasCompoundNodes();\n var hashTable = {\n map: new Map$22(),\n get: function get3(pairId2) {\n var map2 = this.map.get(pairId2[0]);\n if (map2 != null) {\n return map2.get(pairId2[1]);\n } else {\n return null;\n }\n },\n set: function set3(pairId2, val) {\n var map2 = this.map.get(pairId2[0]);\n if (map2 == null) {\n map2 = new Map$22();\n this.map.set(pairId2[0], map2);\n }\n map2.set(pairId2[1], val);\n }\n };\n var pairIds = [];\n var haystackEdges = [];\n for (var i3 = 0; i3 < edges2.length; i3++) {\n var edge = edges2[i3];\n var _p = edge._private;\n var curveStyle = edge.pstyle(\"curve-style\").value;\n if (edge.removed() || !edge.takesUpSpace()) {\n continue;\n }\n if (curveStyle === \"haystack\") {\n haystackEdges.push(edge);\n continue;\n }\n var edgeIsUnbundled = curveStyle === \"unbundled-bezier\" || curveStyle === \"segments\" || curveStyle === \"straight\" || curveStyle === \"straight-triangle\" || curveStyle === \"taxi\";\n var edgeIsBezier = curveStyle === \"unbundled-bezier\" || curveStyle === \"bezier\";\n var src = _p.source;\n var tgt = _p.target;\n var srcIndex = src.poolIndex();\n var tgtIndex = tgt.poolIndex();\n var pairId = [srcIndex, tgtIndex].sort();\n var tableEntry = hashTable.get(pairId);\n if (tableEntry == null) {\n tableEntry = {\n eles: []\n };\n hashTable.set(pairId, tableEntry);\n pairIds.push(pairId);\n }\n tableEntry.eles.push(edge);\n if (edgeIsUnbundled) {\n tableEntry.hasUnbundled = true;\n }\n if (edgeIsBezier) {\n tableEntry.hasBezier = true;\n }\n }\n var _loop = function _loop2(p3) {\n var pairId2 = pairIds[p3];\n var pairInfo = hashTable.get(pairId2);\n var swappedpairInfo = void 0;\n if (!pairInfo.hasUnbundled) {\n var pllEdges = pairInfo.eles[0].parallelEdges().filter(function(e) {\n return e.isBundledBezier();\n });\n clearArray(pairInfo.eles);\n pllEdges.forEach(function(edge2) {\n return pairInfo.eles.push(edge2);\n });\n pairInfo.eles.sort(function(edge1, edge2) {\n return edge1.poolIndex() - edge2.poolIndex();\n });\n }\n var firstEdge = pairInfo.eles[0];\n var src2 = firstEdge.source();\n var tgt2 = firstEdge.target();\n if (src2.poolIndex() > tgt2.poolIndex()) {\n var temp = src2;\n src2 = tgt2;\n tgt2 = temp;\n }\n var srcPos = pairInfo.srcPos = src2.position();\n var tgtPos = pairInfo.tgtPos = tgt2.position();\n var srcW = pairInfo.srcW = src2.outerWidth();\n var srcH = pairInfo.srcH = src2.outerHeight();\n var tgtW = pairInfo.tgtW = tgt2.outerWidth();\n var tgtH = pairInfo.tgtH = tgt2.outerHeight();\n var srcShape = pairInfo.srcShape = r.nodeShapes[_this.getNodeShape(src2)];\n var tgtShape = pairInfo.tgtShape = r.nodeShapes[_this.getNodeShape(tgt2)];\n pairInfo.dirCounts = {\n \"north\": 0,\n \"west\": 0,\n \"south\": 0,\n \"east\": 0,\n \"northwest\": 0,\n \"southwest\": 0,\n \"northeast\": 0,\n \"southeast\": 0\n };\n for (var _i2 = 0; _i2 < pairInfo.eles.length; _i2++) {\n var _edge = pairInfo.eles[_i2];\n var rs = _edge[0]._private.rscratch;\n var _curveStyle = _edge.pstyle(\"curve-style\").value;\n var _edgeIsUnbundled = _curveStyle === \"unbundled-bezier\" || _curveStyle === \"segments\" || _curveStyle === \"taxi\";\n var edgeIsSwapped = !src2.same(_edge.source());\n if (!pairInfo.calculatedIntersection && src2 !== tgt2 && (pairInfo.hasBezier || pairInfo.hasUnbundled)) {\n pairInfo.calculatedIntersection = true;\n var srcOutside = srcShape.intersectLine(srcPos.x, srcPos.y, srcW, srcH, tgtPos.x, tgtPos.y, 0);\n var srcIntn = pairInfo.srcIntn = srcOutside;\n var tgtOutside = tgtShape.intersectLine(tgtPos.x, tgtPos.y, tgtW, tgtH, srcPos.x, srcPos.y, 0);\n var tgtIntn = pairInfo.tgtIntn = tgtOutside;\n var intersectionPts = pairInfo.intersectionPts = {\n x1: srcOutside[0],\n x2: tgtOutside[0],\n y1: srcOutside[1],\n y2: tgtOutside[1]\n };\n var posPts = pairInfo.posPts = {\n x1: srcPos.x,\n x2: tgtPos.x,\n y1: srcPos.y,\n y2: tgtPos.y\n };\n var dy = tgtOutside[1] - srcOutside[1];\n var dx = tgtOutside[0] - srcOutside[0];\n var l = Math.sqrt(dx * dx + dy * dy);\n var vector = pairInfo.vector = {\n x: dx,\n y: dy\n };\n var vectorNorm = pairInfo.vectorNorm = {\n x: vector.x / l,\n y: vector.y / l\n };\n var vectorNormInverse = {\n x: -vectorNorm.y,\n y: vectorNorm.x\n };\n pairInfo.nodesOverlap = !number$12(l) || tgtShape.checkPoint(srcOutside[0], srcOutside[1], 0, tgtW, tgtH, tgtPos.x, tgtPos.y) || srcShape.checkPoint(tgtOutside[0], tgtOutside[1], 0, srcW, srcH, srcPos.x, srcPos.y);\n pairInfo.vectorNormInverse = vectorNormInverse;\n swappedpairInfo = {\n nodesOverlap: pairInfo.nodesOverlap,\n dirCounts: pairInfo.dirCounts,\n calculatedIntersection: true,\n hasBezier: pairInfo.hasBezier,\n hasUnbundled: pairInfo.hasUnbundled,\n eles: pairInfo.eles,\n srcPos: tgtPos,\n tgtPos: srcPos,\n srcW: tgtW,\n srcH: tgtH,\n tgtW: srcW,\n tgtH: srcH,\n srcIntn: tgtIntn,\n tgtIntn: srcIntn,\n srcShape: tgtShape,\n tgtShape: srcShape,\n posPts: {\n x1: posPts.x2,\n y1: posPts.y2,\n x2: posPts.x1,\n y2: posPts.y1\n },\n intersectionPts: {\n x1: intersectionPts.x2,\n y1: intersectionPts.y2,\n x2: intersectionPts.x1,\n y2: intersectionPts.y1\n },\n vector: {\n x: -vector.x,\n y: -vector.y\n },\n vectorNorm: {\n x: -vectorNorm.x,\n y: -vectorNorm.y\n },\n vectorNormInverse: {\n x: -vectorNormInverse.x,\n y: -vectorNormInverse.y\n }\n };\n }\n var passedPairInfo = edgeIsSwapped ? swappedpairInfo : pairInfo;\n rs.nodesOverlap = passedPairInfo.nodesOverlap;\n rs.srcIntn = passedPairInfo.srcIntn;\n rs.tgtIntn = passedPairInfo.tgtIntn;\n if (hasCompounds && (src2.isParent() || src2.isChild() || tgt2.isParent() || tgt2.isChild()) && (src2.parents().anySame(tgt2) || tgt2.parents().anySame(src2) || src2.same(tgt2) && src2.isParent())) {\n _this.findCompoundLoopPoints(_edge, passedPairInfo, _i2, _edgeIsUnbundled);\n } else if (src2 === tgt2) {\n _this.findLoopPoints(_edge, passedPairInfo, _i2, _edgeIsUnbundled);\n } else if (_curveStyle === \"segments\") {\n _this.findSegmentsPoints(_edge, passedPairInfo);\n } else if (_curveStyle === \"taxi\") {\n _this.findTaxiPoints(_edge, passedPairInfo);\n } else if (_curveStyle === \"straight\" || !_edgeIsUnbundled && pairInfo.eles.length % 2 === 1 && _i2 === Math.floor(pairInfo.eles.length / 2)) {\n _this.findStraightEdgePoints(_edge);\n } else {\n _this.findBezierPoints(_edge, passedPairInfo, _i2, _edgeIsUnbundled, edgeIsSwapped);\n }\n _this.findEndpoints(_edge);\n _this.tryToCorrectInvalidPoints(_edge, passedPairInfo);\n _this.checkForInvalidEdgeWarning(_edge);\n _this.storeAllpts(_edge);\n _this.storeEdgeProjections(_edge);\n _this.calculateArrowAngles(_edge);\n _this.recalculateEdgeLabelProjections(_edge);\n _this.calculateLabelAngles(_edge);\n }\n };\n for (var p2 = 0; p2 < pairIds.length; p2++) {\n _loop(p2);\n }\n this.findHaystackPoints(haystackEdges);\n };\n function getPts(pts2) {\n var retPts = [];\n if (pts2 == null) {\n return;\n }\n for (var i3 = 0; i3 < pts2.length; i3 += 2) {\n var x2 = pts2[i3];\n var y2 = pts2[i3 + 1];\n retPts.push({\n x: x2,\n y: y2\n });\n }\n return retPts;\n }\n BRp$c.getSegmentPoints = function(edge) {\n var rs = edge[0]._private.rscratch;\n var type2 = rs.edgeType;\n if (type2 === \"segments\") {\n this.recalculateRenderedStyle(edge);\n return getPts(rs.segpts);\n }\n };\n BRp$c.getControlPoints = function(edge) {\n var rs = edge[0]._private.rscratch;\n var type2 = rs.edgeType;\n if (type2 === \"bezier\" || type2 === \"multibezier\" || type2 === \"self\" || type2 === \"compound\") {\n this.recalculateRenderedStyle(edge);\n return getPts(rs.ctrlpts);\n }\n };\n BRp$c.getEdgeMidpoint = function(edge) {\n var rs = edge[0]._private.rscratch;\n this.recalculateRenderedStyle(edge);\n return {\n x: rs.midX,\n y: rs.midY\n };\n };\n var BRp$b = {};\n BRp$b.manualEndptToPx = function(node2, prop) {\n var r = this;\n var npos = node2.position();\n var w2 = node2.outerWidth();\n var h = node2.outerHeight();\n if (prop.value.length === 2) {\n var p2 = [prop.pfValue[0], prop.pfValue[1]];\n if (prop.units[0] === \"%\") {\n p2[0] = p2[0] * w2;\n }\n if (prop.units[1] === \"%\") {\n p2[1] = p2[1] * h;\n }\n p2[0] += npos.x;\n p2[1] += npos.y;\n return p2;\n } else {\n var angle = prop.pfValue[0];\n angle = -Math.PI / 2 + angle;\n var l = 2 * Math.max(w2, h);\n var _p = [npos.x + Math.cos(angle) * l, npos.y + Math.sin(angle) * l];\n return r.nodeShapes[this.getNodeShape(node2)].intersectLine(npos.x, npos.y, w2, h, _p[0], _p[1], 0);\n }\n };\n BRp$b.findEndpoints = function(edge) {\n var r = this;\n var intersect2;\n var source = edge.source()[0];\n var target = edge.target()[0];\n var srcPos = source.position();\n var tgtPos = target.position();\n var tgtArShape = edge.pstyle(\"target-arrow-shape\").value;\n var srcArShape = edge.pstyle(\"source-arrow-shape\").value;\n var tgtDist = edge.pstyle(\"target-distance-from-node\").pfValue;\n var srcDist = edge.pstyle(\"source-distance-from-node\").pfValue;\n var curveStyle = edge.pstyle(\"curve-style\").value;\n var rs = edge._private.rscratch;\n var et = rs.edgeType;\n var taxi = curveStyle === \"taxi\";\n var self2 = et === \"self\" || et === \"compound\";\n var bezier = et === \"bezier\" || et === \"multibezier\" || self2;\n var multi = et !== \"bezier\";\n var lines = et === \"straight\" || et === \"segments\";\n var segments = et === \"segments\";\n var hasEndpts = bezier || multi || lines;\n var overrideEndpts = self2 || taxi;\n var srcManEndpt = edge.pstyle(\"source-endpoint\");\n var srcManEndptVal = overrideEndpts ? \"outside-to-node\" : srcManEndpt.value;\n var tgtManEndpt = edge.pstyle(\"target-endpoint\");\n var tgtManEndptVal = overrideEndpts ? \"outside-to-node\" : tgtManEndpt.value;\n rs.srcManEndpt = srcManEndpt;\n rs.tgtManEndpt = tgtManEndpt;\n var p1;\n var p2;\n var p1_i;\n var p2_i;\n if (bezier) {\n var cpStart = [rs.ctrlpts[0], rs.ctrlpts[1]];\n var cpEnd = multi ? [rs.ctrlpts[rs.ctrlpts.length - 2], rs.ctrlpts[rs.ctrlpts.length - 1]] : cpStart;\n p1 = cpEnd;\n p2 = cpStart;\n } else if (lines) {\n var srcArrowFromPt = !segments ? [tgtPos.x, tgtPos.y] : rs.segpts.slice(0, 2);\n var tgtArrowFromPt = !segments ? [srcPos.x, srcPos.y] : rs.segpts.slice(rs.segpts.length - 2);\n p1 = tgtArrowFromPt;\n p2 = srcArrowFromPt;\n }\n if (tgtManEndptVal === \"inside-to-node\") {\n intersect2 = [tgtPos.x, tgtPos.y];\n } else if (tgtManEndpt.units) {\n intersect2 = this.manualEndptToPx(target, tgtManEndpt);\n } else if (tgtManEndptVal === \"outside-to-line\") {\n intersect2 = rs.tgtIntn;\n } else {\n if (tgtManEndptVal === \"outside-to-node\" || tgtManEndptVal === \"outside-to-node-or-label\") {\n p1_i = p1;\n } else if (tgtManEndptVal === \"outside-to-line\" || tgtManEndptVal === \"outside-to-line-or-label\") {\n p1_i = [srcPos.x, srcPos.y];\n }\n intersect2 = r.nodeShapes[this.getNodeShape(target)].intersectLine(tgtPos.x, tgtPos.y, target.outerWidth(), target.outerHeight(), p1_i[0], p1_i[1], 0);\n if (tgtManEndptVal === \"outside-to-node-or-label\" || tgtManEndptVal === \"outside-to-line-or-label\") {\n var trs = target._private.rscratch;\n var lw = trs.labelWidth;\n var lh = trs.labelHeight;\n var lx = trs.labelX;\n var ly = trs.labelY;\n var lw2 = lw / 2;\n var lh2 = lh / 2;\n var va = target.pstyle(\"text-valign\").value;\n if (va === \"top\") {\n ly -= lh2;\n } else if (va === \"bottom\") {\n ly += lh2;\n }\n var ha = target.pstyle(\"text-halign\").value;\n if (ha === \"left\") {\n lx -= lw2;\n } else if (ha === \"right\") {\n lx += lw2;\n }\n var labelIntersect = polygonIntersectLine(p1_i[0], p1_i[1], [lx - lw2, ly - lh2, lx + lw2, ly - lh2, lx + lw2, ly + lh2, lx - lw2, ly + lh2], tgtPos.x, tgtPos.y);\n if (labelIntersect.length > 0) {\n var refPt = srcPos;\n var intSqdist = sqdist(refPt, array2point(intersect2));\n var labIntSqdist = sqdist(refPt, array2point(labelIntersect));\n var minSqDist = intSqdist;\n if (labIntSqdist < intSqdist) {\n intersect2 = labelIntersect;\n minSqDist = labIntSqdist;\n }\n if (labelIntersect.length > 2) {\n var labInt2SqDist = sqdist(refPt, {\n x: labelIntersect[2],\n y: labelIntersect[3]\n });\n if (labInt2SqDist < minSqDist) {\n intersect2 = [labelIntersect[2], labelIntersect[3]];\n }\n }\n }\n }\n }\n var arrowEnd = shortenIntersection(intersect2, p1, r.arrowShapes[tgtArShape].spacing(edge) + tgtDist);\n var edgeEnd = shortenIntersection(intersect2, p1, r.arrowShapes[tgtArShape].gap(edge) + tgtDist);\n rs.endX = edgeEnd[0];\n rs.endY = edgeEnd[1];\n rs.arrowEndX = arrowEnd[0];\n rs.arrowEndY = arrowEnd[1];\n if (srcManEndptVal === \"inside-to-node\") {\n intersect2 = [srcPos.x, srcPos.y];\n } else if (srcManEndpt.units) {\n intersect2 = this.manualEndptToPx(source, srcManEndpt);\n } else if (srcManEndptVal === \"outside-to-line\") {\n intersect2 = rs.srcIntn;\n } else {\n if (srcManEndptVal === \"outside-to-node\" || srcManEndptVal === \"outside-to-node-or-label\") {\n p2_i = p2;\n } else if (srcManEndptVal === \"outside-to-line\" || srcManEndptVal === \"outside-to-line-or-label\") {\n p2_i = [tgtPos.x, tgtPos.y];\n }\n intersect2 = r.nodeShapes[this.getNodeShape(source)].intersectLine(srcPos.x, srcPos.y, source.outerWidth(), source.outerHeight(), p2_i[0], p2_i[1], 0);\n if (srcManEndptVal === \"outside-to-node-or-label\" || srcManEndptVal === \"outside-to-line-or-label\") {\n var srs = source._private.rscratch;\n var _lw = srs.labelWidth;\n var _lh = srs.labelHeight;\n var _lx = srs.labelX;\n var _ly = srs.labelY;\n var _lw2 = _lw / 2;\n var _lh2 = _lh / 2;\n var _va = source.pstyle(\"text-valign\").value;\n if (_va === \"top\") {\n _ly -= _lh2;\n } else if (_va === \"bottom\") {\n _ly += _lh2;\n }\n var _ha = source.pstyle(\"text-halign\").value;\n if (_ha === \"left\") {\n _lx -= _lw2;\n } else if (_ha === \"right\") {\n _lx += _lw2;\n }\n var _labelIntersect = polygonIntersectLine(p2_i[0], p2_i[1], [_lx - _lw2, _ly - _lh2, _lx + _lw2, _ly - _lh2, _lx + _lw2, _ly + _lh2, _lx - _lw2, _ly + _lh2], srcPos.x, srcPos.y);\n if (_labelIntersect.length > 0) {\n var _refPt = tgtPos;\n var _intSqdist = sqdist(_refPt, array2point(intersect2));\n var _labIntSqdist = sqdist(_refPt, array2point(_labelIntersect));\n var _minSqDist = _intSqdist;\n if (_labIntSqdist < _intSqdist) {\n intersect2 = [_labelIntersect[0], _labelIntersect[1]];\n _minSqDist = _labIntSqdist;\n }\n if (_labelIntersect.length > 2) {\n var _labInt2SqDist = sqdist(_refPt, {\n x: _labelIntersect[2],\n y: _labelIntersect[3]\n });\n if (_labInt2SqDist < _minSqDist) {\n intersect2 = [_labelIntersect[2], _labelIntersect[3]];\n }\n }\n }\n }\n }\n var arrowStart = shortenIntersection(intersect2, p2, r.arrowShapes[srcArShape].spacing(edge) + srcDist);\n var edgeStart = shortenIntersection(intersect2, p2, r.arrowShapes[srcArShape].gap(edge) + srcDist);\n rs.startX = edgeStart[0];\n rs.startY = edgeStart[1];\n rs.arrowStartX = arrowStart[0];\n rs.arrowStartY = arrowStart[1];\n if (hasEndpts) {\n if (!number$12(rs.startX) || !number$12(rs.startY) || !number$12(rs.endX) || !number$12(rs.endY)) {\n rs.badLine = true;\n } else {\n rs.badLine = false;\n }\n }\n };\n BRp$b.getSourceEndpoint = function(edge) {\n var rs = edge[0]._private.rscratch;\n this.recalculateRenderedStyle(edge);\n switch (rs.edgeType) {\n case \"haystack\":\n return {\n x: rs.haystackPts[0],\n y: rs.haystackPts[1]\n };\n default:\n return {\n x: rs.arrowStartX,\n y: rs.arrowStartY\n };\n }\n };\n BRp$b.getTargetEndpoint = function(edge) {\n var rs = edge[0]._private.rscratch;\n this.recalculateRenderedStyle(edge);\n switch (rs.edgeType) {\n case \"haystack\":\n return {\n x: rs.haystackPts[2],\n y: rs.haystackPts[3]\n };\n default:\n return {\n x: rs.arrowEndX,\n y: rs.arrowEndY\n };\n }\n };\n var BRp$a = {};\n function pushBezierPts(r, edge, pts2) {\n var qbezierAt$1 = function qbezierAt$12(p1, p22, p3, t) {\n return qbezierAt(p1, p22, p3, t);\n };\n var _p = edge._private;\n var bpts = _p.rstyle.bezierPts;\n for (var i3 = 0; i3 < r.bezierProjPcts.length; i3++) {\n var p2 = r.bezierProjPcts[i3];\n bpts.push({\n x: qbezierAt$1(pts2[0], pts2[2], pts2[4], p2),\n y: qbezierAt$1(pts2[1], pts2[3], pts2[5], p2)\n });\n }\n }\n BRp$a.storeEdgeProjections = function(edge) {\n var _p = edge._private;\n var rs = _p.rscratch;\n var et = rs.edgeType;\n _p.rstyle.bezierPts = null;\n _p.rstyle.linePts = null;\n _p.rstyle.haystackPts = null;\n if (et === \"multibezier\" || et === \"bezier\" || et === \"self\" || et === \"compound\") {\n _p.rstyle.bezierPts = [];\n for (var i3 = 0; i3 + 5 < rs.allpts.length; i3 += 4) {\n pushBezierPts(this, edge, rs.allpts.slice(i3, i3 + 6));\n }\n } else if (et === \"segments\") {\n var lpts = _p.rstyle.linePts = [];\n for (var i3 = 0; i3 + 1 < rs.allpts.length; i3 += 2) {\n lpts.push({\n x: rs.allpts[i3],\n y: rs.allpts[i3 + 1]\n });\n }\n } else if (et === \"haystack\") {\n var hpts = rs.haystackPts;\n _p.rstyle.haystackPts = [{\n x: hpts[0],\n y: hpts[1]\n }, {\n x: hpts[2],\n y: hpts[3]\n }];\n }\n _p.rstyle.arrowWidth = this.getArrowWidth(edge.pstyle(\"width\").pfValue, edge.pstyle(\"arrow-scale\").value) * this.arrowShapeWidth;\n };\n BRp$a.recalculateEdgeProjections = function(edges2) {\n this.findEdgeControlPoints(edges2);\n };\n var BRp$9 = {};\n BRp$9.recalculateNodeLabelProjection = function(node2) {\n var content = node2.pstyle(\"label\").strValue;\n if (emptyString(content)) {\n return;\n }\n var textX, textY;\n var _p = node2._private;\n var nodeWidth = node2.width();\n var nodeHeight = node2.height();\n var padding2 = node2.padding();\n var nodePos = node2.position();\n var textHalign = node2.pstyle(\"text-halign\").strValue;\n var textValign = node2.pstyle(\"text-valign\").strValue;\n var rs = _p.rscratch;\n var rstyle = _p.rstyle;\n switch (textHalign) {\n case \"left\":\n textX = nodePos.x - nodeWidth / 2 - padding2;\n break;\n case \"right\":\n textX = nodePos.x + nodeWidth / 2 + padding2;\n break;\n default:\n textX = nodePos.x;\n }\n switch (textValign) {\n case \"top\":\n textY = nodePos.y - nodeHeight / 2 - padding2;\n break;\n case \"bottom\":\n textY = nodePos.y + nodeHeight / 2 + padding2;\n break;\n default:\n textY = nodePos.y;\n }\n rs.labelX = textX;\n rs.labelY = textY;\n rstyle.labelX = textX;\n rstyle.labelY = textY;\n this.calculateLabelAngles(node2);\n this.applyLabelDimensions(node2);\n };\n var lineAngleFromDelta = function lineAngleFromDelta2(dx, dy) {\n var angle = Math.atan(dy / dx);\n if (dx === 0 && angle < 0) {\n angle = angle * -1;\n }\n return angle;\n };\n var lineAngle = function lineAngle2(p0, p1) {\n var dx = p1.x - p0.x;\n var dy = p1.y - p0.y;\n return lineAngleFromDelta(dx, dy);\n };\n var bezierAngle = function bezierAngle2(p0, p1, p2, t) {\n var t02 = bound(0, t - 1e-3, 1);\n var t12 = bound(0, t + 1e-3, 1);\n var lp0 = qbezierPtAt(p0, p1, p2, t02);\n var lp1 = qbezierPtAt(p0, p1, p2, t12);\n return lineAngle(lp0, lp1);\n };\n BRp$9.recalculateEdgeLabelProjections = function(edge) {\n var p2;\n var _p = edge._private;\n var rs = _p.rscratch;\n var r = this;\n var content = {\n mid: edge.pstyle(\"label\").strValue,\n source: edge.pstyle(\"source-label\").strValue,\n target: edge.pstyle(\"target-label\").strValue\n };\n if (content.mid || content.source || content.target)\n ;\n else {\n return;\n }\n p2 = {\n x: rs.midX,\n y: rs.midY\n };\n var setRs = function setRs2(propName, prefix, value) {\n setPrefixedProperty(_p.rscratch, propName, prefix, value);\n setPrefixedProperty(_p.rstyle, propName, prefix, value);\n };\n setRs(\"labelX\", null, p2.x);\n setRs(\"labelY\", null, p2.y);\n var midAngle = lineAngleFromDelta(rs.midDispX, rs.midDispY);\n setRs(\"labelAutoAngle\", null, midAngle);\n var createControlPointInfo = function createControlPointInfo2() {\n if (createControlPointInfo2.cache) {\n return createControlPointInfo2.cache;\n }\n var ctrlpts = [];\n for (var i3 = 0; i3 + 5 < rs.allpts.length; i3 += 4) {\n var p0 = {\n x: rs.allpts[i3],\n y: rs.allpts[i3 + 1]\n };\n var p1 = {\n x: rs.allpts[i3 + 2],\n y: rs.allpts[i3 + 3]\n };\n var p22 = {\n x: rs.allpts[i3 + 4],\n y: rs.allpts[i3 + 5]\n };\n ctrlpts.push({\n p0,\n p1,\n p2: p22,\n startDist: 0,\n length: 0,\n segments: []\n });\n }\n var bpts = _p.rstyle.bezierPts;\n var nProjs = r.bezierProjPcts.length;\n function addSegment(cp2, p02, p12, t02, t12) {\n var length2 = dist2(p02, p12);\n var prevSegment = cp2.segments[cp2.segments.length - 1];\n var segment = {\n p0: p02,\n p1: p12,\n t0: t02,\n t1: t12,\n startDist: prevSegment ? prevSegment.startDist + prevSegment.length : 0,\n length: length2\n };\n cp2.segments.push(segment);\n cp2.length += length2;\n }\n for (var _i = 0; _i < ctrlpts.length; _i++) {\n var cp = ctrlpts[_i];\n var prevCp = ctrlpts[_i - 1];\n if (prevCp) {\n cp.startDist = prevCp.startDist + prevCp.length;\n }\n addSegment(cp, cp.p0, bpts[_i * nProjs], 0, r.bezierProjPcts[0]);\n for (var j = 0; j < nProjs - 1; j++) {\n addSegment(cp, bpts[_i * nProjs + j], bpts[_i * nProjs + j + 1], r.bezierProjPcts[j], r.bezierProjPcts[j + 1]);\n }\n addSegment(cp, bpts[_i * nProjs + nProjs - 1], cp.p2, r.bezierProjPcts[nProjs - 1], 1);\n }\n return createControlPointInfo2.cache = ctrlpts;\n };\n var calculateEndProjection = function calculateEndProjection2(prefix) {\n var angle;\n var isSrc = prefix === \"source\";\n if (!content[prefix]) {\n return;\n }\n var offset = edge.pstyle(prefix + \"-text-offset\").pfValue;\n switch (rs.edgeType) {\n case \"self\":\n case \"compound\":\n case \"bezier\":\n case \"multibezier\": {\n var cps = createControlPointInfo();\n var selected;\n var startDist = 0;\n var totalDist = 0;\n for (var i3 = 0; i3 < cps.length; i3++) {\n var _cp = cps[isSrc ? i3 : cps.length - 1 - i3];\n for (var j = 0; j < _cp.segments.length; j++) {\n var _seg = _cp.segments[isSrc ? j : _cp.segments.length - 1 - j];\n var lastSeg = i3 === cps.length - 1 && j === _cp.segments.length - 1;\n startDist = totalDist;\n totalDist += _seg.length;\n if (totalDist >= offset || lastSeg) {\n selected = {\n cp: _cp,\n segment: _seg\n };\n break;\n }\n }\n if (selected) {\n break;\n }\n }\n var cp = selected.cp;\n var seg = selected.segment;\n var tSegment = (offset - startDist) / seg.length;\n var segDt = seg.t1 - seg.t0;\n var t = isSrc ? seg.t0 + segDt * tSegment : seg.t1 - segDt * tSegment;\n t = bound(0, t, 1);\n p2 = qbezierPtAt(cp.p0, cp.p1, cp.p2, t);\n angle = bezierAngle(cp.p0, cp.p1, cp.p2, t);\n break;\n }\n case \"straight\":\n case \"segments\":\n case \"haystack\": {\n var d = 0, di, d0;\n var p0, p1;\n var l = rs.allpts.length;\n for (var _i2 = 0; _i2 + 3 < l; _i2 += 2) {\n if (isSrc) {\n p0 = {\n x: rs.allpts[_i2],\n y: rs.allpts[_i2 + 1]\n };\n p1 = {\n x: rs.allpts[_i2 + 2],\n y: rs.allpts[_i2 + 3]\n };\n } else {\n p0 = {\n x: rs.allpts[l - 2 - _i2],\n y: rs.allpts[l - 1 - _i2]\n };\n p1 = {\n x: rs.allpts[l - 4 - _i2],\n y: rs.allpts[l - 3 - _i2]\n };\n }\n di = dist2(p0, p1);\n d0 = d;\n d += di;\n if (d >= offset) {\n break;\n }\n }\n var pD = offset - d0;\n var _t = pD / di;\n _t = bound(0, _t, 1);\n p2 = lineAt(p0, p1, _t);\n angle = lineAngle(p0, p1);\n break;\n }\n }\n setRs(\"labelX\", prefix, p2.x);\n setRs(\"labelY\", prefix, p2.y);\n setRs(\"labelAutoAngle\", prefix, angle);\n };\n calculateEndProjection(\"source\");\n calculateEndProjection(\"target\");\n this.applyLabelDimensions(edge);\n };\n BRp$9.applyLabelDimensions = function(ele) {\n this.applyPrefixedLabelDimensions(ele);\n if (ele.isEdge()) {\n this.applyPrefixedLabelDimensions(ele, \"source\");\n this.applyPrefixedLabelDimensions(ele, \"target\");\n }\n };\n BRp$9.applyPrefixedLabelDimensions = function(ele, prefix) {\n var _p = ele._private;\n var text2 = this.getLabelText(ele, prefix);\n var labelDims = this.calculateLabelDimensions(ele, text2);\n var lineHeight = ele.pstyle(\"line-height\").pfValue;\n var textWrap = ele.pstyle(\"text-wrap\").strValue;\n var lines = getPrefixedProperty(_p.rscratch, \"labelWrapCachedLines\", prefix) || [];\n var numLines = textWrap !== \"wrap\" ? 1 : Math.max(lines.length, 1);\n var normPerLineHeight = labelDims.height / numLines;\n var labelLineHeight = normPerLineHeight * lineHeight;\n var width2 = labelDims.width;\n var height2 = labelDims.height + (numLines - 1) * (lineHeight - 1) * normPerLineHeight;\n setPrefixedProperty(_p.rstyle, \"labelWidth\", prefix, width2);\n setPrefixedProperty(_p.rscratch, \"labelWidth\", prefix, width2);\n setPrefixedProperty(_p.rstyle, \"labelHeight\", prefix, height2);\n setPrefixedProperty(_p.rscratch, \"labelHeight\", prefix, height2);\n setPrefixedProperty(_p.rscratch, \"labelLineHeight\", prefix, labelLineHeight);\n };\n BRp$9.getLabelText = function(ele, prefix) {\n var _p = ele._private;\n var pfd = prefix ? prefix + \"-\" : \"\";\n var text2 = ele.pstyle(pfd + \"label\").strValue;\n var textTransform = ele.pstyle(\"text-transform\").value;\n var rscratch = function rscratch2(propName, value) {\n if (value) {\n setPrefixedProperty(_p.rscratch, propName, prefix, value);\n return value;\n } else {\n return getPrefixedProperty(_p.rscratch, propName, prefix);\n }\n };\n if (!text2) {\n return \"\";\n }\n if (textTransform == \"none\")\n ;\n else if (textTransform == \"uppercase\") {\n text2 = text2.toUpperCase();\n } else if (textTransform == \"lowercase\") {\n text2 = text2.toLowerCase();\n }\n var wrapStyle = ele.pstyle(\"text-wrap\").value;\n if (wrapStyle === \"wrap\") {\n var labelKey = rscratch(\"labelKey\");\n if (labelKey != null && rscratch(\"labelWrapKey\") === labelKey) {\n return rscratch(\"labelWrapCachedText\");\n }\n var zwsp = \"​\";\n var lines = text2.split(\"\\n\");\n var maxW = ele.pstyle(\"text-max-width\").pfValue;\n var overflow = ele.pstyle(\"text-overflow-wrap\").value;\n var overflowAny = overflow === \"anywhere\";\n var wrappedLines = [];\n var wordsRegex = /[\\s\\u200b]+/;\n var wordSeparator = overflowAny ? \"\" : \" \";\n for (var l = 0; l < lines.length; l++) {\n var line2 = lines[l];\n var lineDims = this.calculateLabelDimensions(ele, line2);\n var lineW = lineDims.width;\n if (overflowAny) {\n var processedLine = line2.split(\"\").join(zwsp);\n line2 = processedLine;\n }\n if (lineW > maxW) {\n var words = line2.split(wordsRegex);\n var subline = \"\";\n for (var w2 = 0; w2 < words.length; w2++) {\n var word = words[w2];\n var testLine = subline.length === 0 ? word : subline + wordSeparator + word;\n var testDims = this.calculateLabelDimensions(ele, testLine);\n var testW = testDims.width;\n if (testW <= maxW) {\n subline += word + wordSeparator;\n } else {\n if (subline) {\n wrappedLines.push(subline);\n }\n subline = word + wordSeparator;\n }\n }\n if (!subline.match(/^[\\s\\u200b]+$/)) {\n wrappedLines.push(subline);\n }\n } else {\n wrappedLines.push(line2);\n }\n }\n rscratch(\"labelWrapCachedLines\", wrappedLines);\n text2 = rscratch(\"labelWrapCachedText\", wrappedLines.join(\"\\n\"));\n rscratch(\"labelWrapKey\", labelKey);\n } else if (wrapStyle === \"ellipsis\") {\n var _maxW = ele.pstyle(\"text-max-width\").pfValue;\n var ellipsized = \"\";\n var ellipsis = \"…\";\n var incLastCh = false;\n if (this.calculateLabelDimensions(ele, text2).width < _maxW) {\n return text2;\n }\n for (var i3 = 0; i3 < text2.length; i3++) {\n var widthWithNextCh = this.calculateLabelDimensions(ele, ellipsized + text2[i3] + ellipsis).width;\n if (widthWithNextCh > _maxW) {\n break;\n }\n ellipsized += text2[i3];\n if (i3 === text2.length - 1) {\n incLastCh = true;\n }\n }\n if (!incLastCh) {\n ellipsized += ellipsis;\n }\n return ellipsized;\n }\n return text2;\n };\n BRp$9.getLabelJustification = function(ele) {\n var justification = ele.pstyle(\"text-justification\").strValue;\n var textHalign = ele.pstyle(\"text-halign\").strValue;\n if (justification === \"auto\") {\n if (ele.isNode()) {\n switch (textHalign) {\n case \"left\":\n return \"right\";\n case \"right\":\n return \"left\";\n default:\n return \"center\";\n }\n } else {\n return \"center\";\n }\n } else {\n return justification;\n }\n };\n BRp$9.calculateLabelDimensions = function(ele, text2) {\n var r = this;\n var cacheKey = hashString(text2, ele._private.labelDimsKey);\n var cache2 = r.labelDimCache || (r.labelDimCache = []);\n var existingVal = cache2[cacheKey];\n if (existingVal != null) {\n return existingVal;\n }\n var padding2 = 0;\n var fStyle = ele.pstyle(\"font-style\").strValue;\n var size2 = ele.pstyle(\"font-size\").pfValue;\n var family = ele.pstyle(\"font-family\").strValue;\n var weight = ele.pstyle(\"font-weight\").strValue;\n var canvas = this.labelCalcCanvas;\n var c2d = this.labelCalcCanvasContext;\n if (!canvas) {\n canvas = this.labelCalcCanvas = document.createElement(\"canvas\");\n c2d = this.labelCalcCanvasContext = canvas.getContext(\"2d\");\n var ds = canvas.style;\n ds.position = \"absolute\";\n ds.left = \"-9999px\";\n ds.top = \"-9999px\";\n ds.zIndex = \"-1\";\n ds.visibility = \"hidden\";\n ds.pointerEvents = \"none\";\n }\n c2d.font = \"\".concat(fStyle, \" \").concat(weight, \" \").concat(size2, \"px \").concat(family);\n var width2 = 0;\n var height2 = 0;\n var lines = text2.split(\"\\n\");\n for (var i3 = 0; i3 < lines.length; i3++) {\n var line2 = lines[i3];\n var metrics = c2d.measureText(line2);\n var w2 = Math.ceil(metrics.width);\n var h = size2;\n width2 = Math.max(w2, width2);\n height2 += h;\n }\n width2 += padding2;\n height2 += padding2;\n return cache2[cacheKey] = {\n width: width2,\n height: height2\n };\n };\n BRp$9.calculateLabelAngle = function(ele, prefix) {\n var _p = ele._private;\n var rs = _p.rscratch;\n var isEdge = ele.isEdge();\n var prefixDash = prefix ? prefix + \"-\" : \"\";\n var rot = ele.pstyle(prefixDash + \"text-rotation\");\n var rotStr = rot.strValue;\n if (rotStr === \"none\") {\n return 0;\n } else if (isEdge && rotStr === \"autorotate\") {\n return rs.labelAutoAngle;\n } else if (rotStr === \"autorotate\") {\n return 0;\n } else {\n return rot.pfValue;\n }\n };\n BRp$9.calculateLabelAngles = function(ele) {\n var r = this;\n var isEdge = ele.isEdge();\n var _p = ele._private;\n var rs = _p.rscratch;\n rs.labelAngle = r.calculateLabelAngle(ele);\n if (isEdge) {\n rs.sourceLabelAngle = r.calculateLabelAngle(ele, \"source\");\n rs.targetLabelAngle = r.calculateLabelAngle(ele, \"target\");\n }\n };\n var BRp$8 = {};\n var TOO_SMALL_CUT_RECT = 28;\n var warnedCutRect = false;\n BRp$8.getNodeShape = function(node2) {\n var r = this;\n var shape = node2.pstyle(\"shape\").value;\n if (shape === \"cutrectangle\" && (node2.width() < TOO_SMALL_CUT_RECT || node2.height() < TOO_SMALL_CUT_RECT)) {\n if (!warnedCutRect) {\n warn(\"The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead\");\n warnedCutRect = true;\n }\n return \"rectangle\";\n }\n if (node2.isParent()) {\n if (shape === \"rectangle\" || shape === \"roundrectangle\" || shape === \"round-rectangle\" || shape === \"cutrectangle\" || shape === \"cut-rectangle\" || shape === \"barrel\") {\n return shape;\n } else {\n return \"rectangle\";\n }\n }\n if (shape === \"polygon\") {\n var points = node2.pstyle(\"shape-polygon-points\").value;\n return r.nodeShapes.makePolygon(points).name;\n }\n return shape;\n };\n var BRp$7 = {};\n BRp$7.registerCalculationListeners = function() {\n var cy = this.cy;\n var elesToUpdate = cy.collection();\n var r = this;\n var enqueue = function enqueue2(eles) {\n var dirtyStyleCaches = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;\n elesToUpdate.merge(eles);\n if (dirtyStyleCaches) {\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n var _p = ele._private;\n var rstyle = _p.rstyle;\n rstyle.clean = false;\n rstyle.cleanConnected = false;\n }\n }\n };\n r.binder(cy).on(\"bounds.* dirty.*\", function onDirtyBounds(e) {\n var ele = e.target;\n enqueue(ele);\n }).on(\"style.* background.*\", function onDirtyStyle(e) {\n var ele = e.target;\n enqueue(ele, false);\n });\n var updateEleCalcs = function updateEleCalcs2(willDraw) {\n if (willDraw) {\n var fns = r.onUpdateEleCalcsFns;\n elesToUpdate.cleanStyle();\n for (var i3 = 0; i3 < elesToUpdate.length; i3++) {\n var ele = elesToUpdate[i3];\n var rstyle = ele._private.rstyle;\n if (ele.isNode() && !rstyle.cleanConnected) {\n enqueue(ele.connectedEdges());\n rstyle.cleanConnected = true;\n }\n }\n if (fns) {\n for (var _i = 0; _i < fns.length; _i++) {\n var fn2 = fns[_i];\n fn2(willDraw, elesToUpdate);\n }\n }\n r.recalculateRenderedStyle(elesToUpdate);\n elesToUpdate = cy.collection();\n }\n };\n r.flushRenderedStyleQueue = function() {\n updateEleCalcs(true);\n };\n r.beforeRender(updateEleCalcs, r.beforeRenderPriorities.eleCalcs);\n };\n BRp$7.onUpdateEleCalcs = function(fn2) {\n var fns = this.onUpdateEleCalcsFns = this.onUpdateEleCalcsFns || [];\n fns.push(fn2);\n };\n BRp$7.recalculateRenderedStyle = function(eles, useCache) {\n var isCleanConnected = function isCleanConnected2(ele2) {\n return ele2._private.rstyle.cleanConnected;\n };\n var edges2 = [];\n var nodes2 = [];\n if (this.destroyed) {\n return;\n }\n if (useCache === void 0) {\n useCache = true;\n }\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n var _p = ele._private;\n var rstyle = _p.rstyle;\n if (ele.isEdge() && (!isCleanConnected(ele.source()) || !isCleanConnected(ele.target()))) {\n rstyle.clean = false;\n }\n if (useCache && rstyle.clean || ele.removed()) {\n continue;\n }\n if (ele.pstyle(\"display\").value === \"none\") {\n continue;\n }\n if (_p.group === \"nodes\") {\n nodes2.push(ele);\n } else {\n edges2.push(ele);\n }\n rstyle.clean = true;\n }\n for (var _i2 = 0; _i2 < nodes2.length; _i2++) {\n var _ele = nodes2[_i2];\n var _p2 = _ele._private;\n var _rstyle = _p2.rstyle;\n var pos = _ele.position();\n this.recalculateNodeLabelProjection(_ele);\n _rstyle.nodeX = pos.x;\n _rstyle.nodeY = pos.y;\n _rstyle.nodeW = _ele.pstyle(\"width\").pfValue;\n _rstyle.nodeH = _ele.pstyle(\"height\").pfValue;\n }\n this.recalculateEdgeProjections(edges2);\n for (var _i3 = 0; _i3 < edges2.length; _i3++) {\n var _ele2 = edges2[_i3];\n var _p3 = _ele2._private;\n var _rstyle2 = _p3.rstyle;\n var rs = _p3.rscratch;\n _rstyle2.srcX = rs.arrowStartX;\n _rstyle2.srcY = rs.arrowStartY;\n _rstyle2.tgtX = rs.arrowEndX;\n _rstyle2.tgtY = rs.arrowEndY;\n _rstyle2.midX = rs.midX;\n _rstyle2.midY = rs.midY;\n _rstyle2.labelAngle = rs.labelAngle;\n _rstyle2.sourceLabelAngle = rs.sourceLabelAngle;\n _rstyle2.targetLabelAngle = rs.targetLabelAngle;\n }\n };\n var BRp$6 = {};\n BRp$6.updateCachedGrabbedEles = function() {\n var eles = this.cachedZSortedEles;\n if (!eles) {\n return;\n }\n eles.drag = [];\n eles.nondrag = [];\n var grabTargets = [];\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n var rs = ele._private.rscratch;\n if (ele.grabbed() && !ele.isParent()) {\n grabTargets.push(ele);\n } else if (rs.inDragLayer) {\n eles.drag.push(ele);\n } else {\n eles.nondrag.push(ele);\n }\n }\n for (var i3 = 0; i3 < grabTargets.length; i3++) {\n var ele = grabTargets[i3];\n eles.drag.push(ele);\n }\n };\n BRp$6.invalidateCachedZSortedEles = function() {\n this.cachedZSortedEles = null;\n };\n BRp$6.getCachedZSortedEles = function(forceRecalc) {\n if (forceRecalc || !this.cachedZSortedEles) {\n var eles = this.cy.mutableElements().toArray();\n eles.sort(zIndexSort);\n eles.interactive = eles.filter(function(ele) {\n return ele.interactive();\n });\n this.cachedZSortedEles = eles;\n this.updateCachedGrabbedEles();\n } else {\n eles = this.cachedZSortedEles;\n }\n return eles;\n };\n var BRp$5 = {};\n [BRp$e, BRp$d, BRp$c, BRp$b, BRp$a, BRp$9, BRp$8, BRp$7, BRp$6].forEach(function(props) {\n extend2(BRp$5, props);\n });\n var BRp$4 = {};\n BRp$4.getCachedImage = function(url, crossOrigin, onLoad) {\n var r = this;\n var imageCache = r.imageCache = r.imageCache || {};\n var cache2 = imageCache[url];\n if (cache2) {\n if (!cache2.image.complete) {\n cache2.image.addEventListener(\"load\", onLoad);\n }\n return cache2.image;\n } else {\n cache2 = imageCache[url] = imageCache[url] || {};\n var image = cache2.image = new Image();\n image.addEventListener(\"load\", onLoad);\n image.addEventListener(\"error\", function() {\n image.error = true;\n });\n var dataUriPrefix = \"data:\";\n var isDataUri = url.substring(0, dataUriPrefix.length).toLowerCase() === dataUriPrefix;\n if (!isDataUri) {\n image.crossOrigin = crossOrigin;\n }\n image.src = url;\n return image;\n }\n };\n var BRp$3 = {};\n BRp$3.registerBinding = function(target, event2, handler, useCapture) {\n var args = Array.prototype.slice.apply(arguments, [1]);\n var b = this.binder(target);\n return b.on.apply(b, args);\n };\n BRp$3.binder = function(tgt) {\n var r = this;\n var tgtIsDom = tgt === window || tgt === document || tgt === document.body || domElement(tgt);\n if (r.supportsPassiveEvents == null) {\n var supportsPassive = false;\n try {\n var opts = Object.defineProperty({}, \"passive\", {\n get: function get3() {\n supportsPassive = true;\n return true;\n }\n });\n window.addEventListener(\"test\", null, opts);\n } catch (err) {\n }\n r.supportsPassiveEvents = supportsPassive;\n }\n var on = function on2(event2, handler, useCapture) {\n var args = Array.prototype.slice.call(arguments);\n if (tgtIsDom && r.supportsPassiveEvents) {\n args[2] = {\n capture: useCapture != null ? useCapture : false,\n passive: false,\n once: false\n };\n }\n r.bindings.push({\n target: tgt,\n args\n });\n (tgt.addEventListener || tgt.on).apply(tgt, args);\n return this;\n };\n return {\n on,\n addEventListener: on,\n addListener: on,\n bind: on\n };\n };\n BRp$3.nodeIsDraggable = function(node2) {\n return node2 && node2.isNode() && !node2.locked() && node2.grabbable();\n };\n BRp$3.nodeIsGrabbable = function(node2) {\n return this.nodeIsDraggable(node2) && node2.interactive();\n };\n BRp$3.load = function() {\n var r = this;\n var isSelected = function isSelected2(ele) {\n return ele.selected();\n };\n var triggerEvents = function triggerEvents2(target, names, e, position3) {\n if (target == null) {\n target = r.cy;\n }\n for (var i3 = 0; i3 < names.length; i3++) {\n var name2 = names[i3];\n target.emit({\n originalEvent: e,\n type: name2,\n position: position3\n });\n }\n };\n var isMultSelKeyDown = function isMultSelKeyDown2(e) {\n return e.shiftKey || e.metaKey || e.ctrlKey;\n };\n var allowPanningPassthrough = function allowPanningPassthrough2(down, downs) {\n var allowPassthrough = true;\n if (r.cy.hasCompoundNodes() && down && down.pannable()) {\n for (var i3 = 0; downs && i3 < downs.length; i3++) {\n var down = downs[i3];\n if (down.isNode() && down.isParent() && !down.pannable()) {\n allowPassthrough = false;\n break;\n }\n }\n } else {\n allowPassthrough = true;\n }\n return allowPassthrough;\n };\n var setGrabbed = function setGrabbed2(ele) {\n ele[0]._private.grabbed = true;\n };\n var setFreed = function setFreed2(ele) {\n ele[0]._private.grabbed = false;\n };\n var setInDragLayer = function setInDragLayer2(ele) {\n ele[0]._private.rscratch.inDragLayer = true;\n };\n var setOutDragLayer = function setOutDragLayer2(ele) {\n ele[0]._private.rscratch.inDragLayer = false;\n };\n var setGrabTarget = function setGrabTarget2(ele) {\n ele[0]._private.rscratch.isGrabTarget = true;\n };\n var removeGrabTarget = function removeGrabTarget2(ele) {\n ele[0]._private.rscratch.isGrabTarget = false;\n };\n var addToDragList = function addToDragList2(ele, opts) {\n var list = opts.addToList;\n var listHasEle = list.has(ele);\n if (!listHasEle && ele.grabbable() && !ele.locked()) {\n list.merge(ele);\n setGrabbed(ele);\n }\n };\n var addDescendantsToDrag = function addDescendantsToDrag2(node2, opts) {\n if (!node2.cy().hasCompoundNodes()) {\n return;\n }\n if (opts.inDragLayer == null && opts.addToList == null) {\n return;\n }\n var innerNodes = node2.descendants();\n if (opts.inDragLayer) {\n innerNodes.forEach(setInDragLayer);\n innerNodes.connectedEdges().forEach(setInDragLayer);\n }\n if (opts.addToList) {\n addToDragList(innerNodes, opts);\n }\n };\n var addNodesToDrag = function addNodesToDrag2(nodes2, opts) {\n opts = opts || {};\n var hasCompoundNodes = nodes2.cy().hasCompoundNodes();\n if (opts.inDragLayer) {\n nodes2.forEach(setInDragLayer);\n nodes2.neighborhood().stdFilter(function(ele) {\n return !hasCompoundNodes || ele.isEdge();\n }).forEach(setInDragLayer);\n }\n if (opts.addToList) {\n nodes2.forEach(function(ele) {\n addToDragList(ele, opts);\n });\n }\n addDescendantsToDrag(nodes2, opts);\n updateAncestorsInDragLayer(nodes2, {\n inDragLayer: opts.inDragLayer\n });\n r.updateCachedGrabbedEles();\n };\n var addNodeToDrag = addNodesToDrag;\n var freeDraggedElements = function freeDraggedElements2(grabbedEles) {\n if (!grabbedEles) {\n return;\n }\n r.getCachedZSortedEles().forEach(function(ele) {\n setFreed(ele);\n setOutDragLayer(ele);\n removeGrabTarget(ele);\n });\n r.updateCachedGrabbedEles();\n };\n var updateAncestorsInDragLayer = function updateAncestorsInDragLayer2(node2, opts) {\n if (opts.inDragLayer == null && opts.addToList == null) {\n return;\n }\n if (!node2.cy().hasCompoundNodes()) {\n return;\n }\n var parent = node2.ancestors().orphans();\n if (parent.same(node2)) {\n return;\n }\n var nodes2 = parent.descendants().spawnSelf().merge(parent).unmerge(node2).unmerge(node2.descendants());\n var edges2 = nodes2.connectedEdges();\n if (opts.inDragLayer) {\n edges2.forEach(setInDragLayer);\n nodes2.forEach(setInDragLayer);\n }\n if (opts.addToList) {\n nodes2.forEach(function(ele) {\n addToDragList(ele, opts);\n });\n }\n };\n var blurActiveDomElement = function blurActiveDomElement2() {\n if (document.activeElement != null && document.activeElement.blur != null) {\n document.activeElement.blur();\n }\n };\n var haveMutationsApi = typeof MutationObserver !== \"undefined\";\n var haveResizeObserverApi = typeof ResizeObserver !== \"undefined\";\n if (haveMutationsApi) {\n r.removeObserver = new MutationObserver(function(mutns) {\n for (var i3 = 0; i3 < mutns.length; i3++) {\n var mutn = mutns[i3];\n var rNodes = mutn.removedNodes;\n if (rNodes) {\n for (var j = 0; j < rNodes.length; j++) {\n var rNode = rNodes[j];\n if (rNode === r.container) {\n r.destroy();\n break;\n }\n }\n }\n }\n });\n if (r.container.parentNode) {\n r.removeObserver.observe(r.container.parentNode, {\n childList: true\n });\n }\n } else {\n r.registerBinding(r.container, \"DOMNodeRemoved\", function(e) {\n r.destroy();\n });\n }\n var onResize = debounce_1(function() {\n r.cy.resize();\n }, 100);\n if (haveMutationsApi) {\n r.styleObserver = new MutationObserver(onResize);\n r.styleObserver.observe(r.container, {\n attributes: true\n });\n }\n r.registerBinding(window, \"resize\", onResize);\n if (haveResizeObserverApi) {\n r.resizeObserver = new ResizeObserver(onResize);\n r.resizeObserver.observe(r.container);\n }\n var forEachUp = function forEachUp2(domEle, fn2) {\n while (domEle != null) {\n fn2(domEle);\n domEle = domEle.parentNode;\n }\n };\n var invalidateCoords = function invalidateCoords2() {\n r.invalidateContainerClientCoordsCache();\n };\n forEachUp(r.container, function(domEle) {\n r.registerBinding(domEle, \"transitionend\", invalidateCoords);\n r.registerBinding(domEle, \"animationend\", invalidateCoords);\n r.registerBinding(domEle, \"scroll\", invalidateCoords);\n });\n r.registerBinding(r.container, \"contextmenu\", function(e) {\n e.preventDefault();\n });\n var inBoxSelection = function inBoxSelection2() {\n return r.selection[4] !== 0;\n };\n var eventInContainer = function eventInContainer2(e) {\n var containerPageCoords = r.findContainerClientCoords();\n var x2 = containerPageCoords[0];\n var y2 = containerPageCoords[1];\n var width2 = containerPageCoords[2];\n var height2 = containerPageCoords[3];\n var positions = e.touches ? e.touches : [e];\n var atLeastOnePosInside = false;\n for (var i3 = 0; i3 < positions.length; i3++) {\n var p2 = positions[i3];\n if (x2 <= p2.clientX && p2.clientX <= x2 + width2 && y2 <= p2.clientY && p2.clientY <= y2 + height2) {\n atLeastOnePosInside = true;\n break;\n }\n }\n if (!atLeastOnePosInside) {\n return false;\n }\n var container = r.container;\n var target = e.target;\n var tParent = target.parentNode;\n var containerIsTarget = false;\n while (tParent) {\n if (tParent === container) {\n containerIsTarget = true;\n break;\n }\n tParent = tParent.parentNode;\n }\n if (!containerIsTarget) {\n return false;\n }\n return true;\n };\n r.registerBinding(r.container, \"mousedown\", function mousedownHandler(e) {\n if (!eventInContainer(e)) {\n return;\n }\n e.preventDefault();\n blurActiveDomElement();\n r.hoverData.capture = true;\n r.hoverData.which = e.which;\n var cy = r.cy;\n var gpos = [e.clientX, e.clientY];\n var pos = r.projectIntoViewport(gpos[0], gpos[1]);\n var select2 = r.selection;\n var nears = r.findNearestElements(pos[0], pos[1], true, false);\n var near = nears[0];\n var draggedElements = r.dragData.possibleDragElements;\n r.hoverData.mdownPos = pos;\n r.hoverData.mdownGPos = gpos;\n var checkForTaphold = function checkForTaphold2() {\n r.hoverData.tapholdCancelled = false;\n clearTimeout(r.hoverData.tapholdTimeout);\n r.hoverData.tapholdTimeout = setTimeout(function() {\n if (r.hoverData.tapholdCancelled) {\n return;\n } else {\n var ele = r.hoverData.down;\n if (ele) {\n ele.emit({\n originalEvent: e,\n type: \"taphold\",\n position: {\n x: pos[0],\n y: pos[1]\n }\n });\n } else {\n cy.emit({\n originalEvent: e,\n type: \"taphold\",\n position: {\n x: pos[0],\n y: pos[1]\n }\n });\n }\n }\n }, r.tapholdDuration);\n };\n if (e.which == 3) {\n r.hoverData.cxtStarted = true;\n var cxtEvt = {\n originalEvent: e,\n type: \"cxttapstart\",\n position: {\n x: pos[0],\n y: pos[1]\n }\n };\n if (near) {\n near.activate();\n near.emit(cxtEvt);\n r.hoverData.down = near;\n } else {\n cy.emit(cxtEvt);\n }\n r.hoverData.downTime = new Date().getTime();\n r.hoverData.cxtDragged = false;\n } else if (e.which == 1) {\n if (near) {\n near.activate();\n }\n {\n if (near != null) {\n if (r.nodeIsGrabbable(near)) {\n var makeEvent = function makeEvent2(type2) {\n return {\n originalEvent: e,\n type: type2,\n position: {\n x: pos[0],\n y: pos[1]\n }\n };\n };\n var triggerGrab = function triggerGrab2(ele) {\n ele.emit(makeEvent(\"grab\"));\n };\n setGrabTarget(near);\n if (!near.selected()) {\n draggedElements = r.dragData.possibleDragElements = cy.collection();\n addNodeToDrag(near, {\n addToList: draggedElements\n });\n near.emit(makeEvent(\"grabon\")).emit(makeEvent(\"grab\"));\n } else {\n draggedElements = r.dragData.possibleDragElements = cy.collection();\n var selectedNodes = cy.$(function(ele) {\n return ele.isNode() && ele.selected() && r.nodeIsGrabbable(ele);\n });\n addNodesToDrag(selectedNodes, {\n addToList: draggedElements\n });\n near.emit(makeEvent(\"grabon\"));\n selectedNodes.forEach(triggerGrab);\n }\n r.redrawHint(\"eles\", true);\n r.redrawHint(\"drag\", true);\n }\n }\n r.hoverData.down = near;\n r.hoverData.downs = nears;\n r.hoverData.downTime = new Date().getTime();\n }\n triggerEvents(near, [\"mousedown\", \"tapstart\", \"vmousedown\"], e, {\n x: pos[0],\n y: pos[1]\n });\n if (near == null) {\n select2[4] = 1;\n r.data.bgActivePosistion = {\n x: pos[0],\n y: pos[1]\n };\n r.redrawHint(\"select\", true);\n r.redraw();\n } else if (near.pannable()) {\n select2[4] = 1;\n }\n checkForTaphold();\n }\n select2[0] = select2[2] = pos[0];\n select2[1] = select2[3] = pos[1];\n }, false);\n r.registerBinding(window, \"mousemove\", function mousemoveHandler(e) {\n var capture = r.hoverData.capture;\n if (!capture && !eventInContainer(e)) {\n return;\n }\n var preventDefault = false;\n var cy = r.cy;\n var zoom = cy.zoom();\n var gpos = [e.clientX, e.clientY];\n var pos = r.projectIntoViewport(gpos[0], gpos[1]);\n var mdownPos = r.hoverData.mdownPos;\n var mdownGPos = r.hoverData.mdownGPos;\n var select2 = r.selection;\n var near = null;\n if (!r.hoverData.draggingEles && !r.hoverData.dragging && !r.hoverData.selecting) {\n near = r.findNearestElement(pos[0], pos[1], true, false);\n }\n var last2 = r.hoverData.last;\n var down = r.hoverData.down;\n var disp = [pos[0] - select2[2], pos[1] - select2[3]];\n var draggedElements = r.dragData.possibleDragElements;\n var isOverThresholdDrag;\n if (mdownGPos) {\n var dx = gpos[0] - mdownGPos[0];\n var dx2 = dx * dx;\n var dy = gpos[1] - mdownGPos[1];\n var dy2 = dy * dy;\n var dist22 = dx2 + dy2;\n r.hoverData.isOverThresholdDrag = isOverThresholdDrag = dist22 >= r.desktopTapThreshold2;\n }\n var multSelKeyDown = isMultSelKeyDown(e);\n if (isOverThresholdDrag) {\n r.hoverData.tapholdCancelled = true;\n }\n var updateDragDelta = function updateDragDelta2() {\n var dragDelta2 = r.hoverData.dragDelta = r.hoverData.dragDelta || [];\n if (dragDelta2.length === 0) {\n dragDelta2.push(disp[0]);\n dragDelta2.push(disp[1]);\n } else {\n dragDelta2[0] += disp[0];\n dragDelta2[1] += disp[1];\n }\n };\n preventDefault = true;\n triggerEvents(near, [\"mousemove\", \"vmousemove\", \"tapdrag\"], e, {\n x: pos[0],\n y: pos[1]\n });\n var goIntoBoxMode = function goIntoBoxMode2() {\n r.data.bgActivePosistion = void 0;\n if (!r.hoverData.selecting) {\n cy.emit({\n originalEvent: e,\n type: \"boxstart\",\n position: {\n x: pos[0],\n y: pos[1]\n }\n });\n }\n select2[4] = 1;\n r.hoverData.selecting = true;\n r.redrawHint(\"select\", true);\n r.redraw();\n };\n if (r.hoverData.which === 3) {\n if (isOverThresholdDrag) {\n var cxtEvt = {\n originalEvent: e,\n type: \"cxtdrag\",\n position: {\n x: pos[0],\n y: pos[1]\n }\n };\n if (down) {\n down.emit(cxtEvt);\n } else {\n cy.emit(cxtEvt);\n }\n r.hoverData.cxtDragged = true;\n if (!r.hoverData.cxtOver || near !== r.hoverData.cxtOver) {\n if (r.hoverData.cxtOver) {\n r.hoverData.cxtOver.emit({\n originalEvent: e,\n type: \"cxtdragout\",\n position: {\n x: pos[0],\n y: pos[1]\n }\n });\n }\n r.hoverData.cxtOver = near;\n if (near) {\n near.emit({\n originalEvent: e,\n type: \"cxtdragover\",\n position: {\n x: pos[0],\n y: pos[1]\n }\n });\n }\n }\n }\n } else if (r.hoverData.dragging) {\n preventDefault = true;\n if (cy.panningEnabled() && cy.userPanningEnabled()) {\n var deltaP;\n if (r.hoverData.justStartedPan) {\n var mdPos = r.hoverData.mdownPos;\n deltaP = {\n x: (pos[0] - mdPos[0]) * zoom,\n y: (pos[1] - mdPos[1]) * zoom\n };\n r.hoverData.justStartedPan = false;\n } else {\n deltaP = {\n x: disp[0] * zoom,\n y: disp[1] * zoom\n };\n }\n cy.panBy(deltaP);\n cy.emit(\"dragpan\");\n r.hoverData.dragged = true;\n }\n pos = r.projectIntoViewport(e.clientX, e.clientY);\n } else if (select2[4] == 1 && (down == null || down.pannable())) {\n if (isOverThresholdDrag) {\n if (!r.hoverData.dragging && cy.boxSelectionEnabled() && (multSelKeyDown || !cy.panningEnabled() || !cy.userPanningEnabled())) {\n goIntoBoxMode();\n } else if (!r.hoverData.selecting && cy.panningEnabled() && cy.userPanningEnabled()) {\n var allowPassthrough = allowPanningPassthrough(down, r.hoverData.downs);\n if (allowPassthrough) {\n r.hoverData.dragging = true;\n r.hoverData.justStartedPan = true;\n select2[4] = 0;\n r.data.bgActivePosistion = array2point(mdownPos);\n r.redrawHint(\"select\", true);\n r.redraw();\n }\n }\n if (down && down.pannable() && down.active()) {\n down.unactivate();\n }\n }\n } else {\n if (down && down.pannable() && down.active()) {\n down.unactivate();\n }\n if ((!down || !down.grabbed()) && near != last2) {\n if (last2) {\n triggerEvents(last2, [\"mouseout\", \"tapdragout\"], e, {\n x: pos[0],\n y: pos[1]\n });\n }\n if (near) {\n triggerEvents(near, [\"mouseover\", \"tapdragover\"], e, {\n x: pos[0],\n y: pos[1]\n });\n }\n r.hoverData.last = near;\n }\n if (down) {\n if (isOverThresholdDrag) {\n if (cy.boxSelectionEnabled() && multSelKeyDown) {\n if (down && down.grabbed()) {\n freeDraggedElements(draggedElements);\n down.emit(\"freeon\");\n draggedElements.emit(\"free\");\n if (r.dragData.didDrag) {\n down.emit(\"dragfreeon\");\n draggedElements.emit(\"dragfree\");\n }\n }\n goIntoBoxMode();\n } else if (down && down.grabbed() && r.nodeIsDraggable(down)) {\n var justStartedDrag = !r.dragData.didDrag;\n if (justStartedDrag) {\n r.redrawHint(\"eles\", true);\n }\n r.dragData.didDrag = true;\n if (!r.hoverData.draggingEles) {\n addNodesToDrag(draggedElements, {\n inDragLayer: true\n });\n }\n var totalShift = {\n x: 0,\n y: 0\n };\n if (number$12(disp[0]) && number$12(disp[1])) {\n totalShift.x += disp[0];\n totalShift.y += disp[1];\n if (justStartedDrag) {\n var dragDelta = r.hoverData.dragDelta;\n if (dragDelta && number$12(dragDelta[0]) && number$12(dragDelta[1])) {\n totalShift.x += dragDelta[0];\n totalShift.y += dragDelta[1];\n }\n }\n }\n r.hoverData.draggingEles = true;\n draggedElements.silentShift(totalShift).emit(\"position drag\");\n r.redrawHint(\"drag\", true);\n r.redraw();\n }\n } else {\n updateDragDelta();\n }\n }\n preventDefault = true;\n }\n select2[2] = pos[0];\n select2[3] = pos[1];\n if (preventDefault) {\n if (e.stopPropagation)\n e.stopPropagation();\n if (e.preventDefault)\n e.preventDefault();\n return false;\n }\n }, false);\n var clickTimeout, didDoubleClick, prevClickTimeStamp;\n r.registerBinding(window, \"mouseup\", function mouseupHandler(e) {\n var capture = r.hoverData.capture;\n if (!capture) {\n return;\n }\n r.hoverData.capture = false;\n var cy = r.cy;\n var pos = r.projectIntoViewport(e.clientX, e.clientY);\n var select2 = r.selection;\n var near = r.findNearestElement(pos[0], pos[1], true, false);\n var draggedElements = r.dragData.possibleDragElements;\n var down = r.hoverData.down;\n var multSelKeyDown = isMultSelKeyDown(e);\n if (r.data.bgActivePosistion) {\n r.redrawHint(\"select\", true);\n r.redraw();\n }\n r.hoverData.tapholdCancelled = true;\n r.data.bgActivePosistion = void 0;\n if (down) {\n down.unactivate();\n }\n if (r.hoverData.which === 3) {\n var cxtEvt = {\n originalEvent: e,\n type: \"cxttapend\",\n position: {\n x: pos[0],\n y: pos[1]\n }\n };\n if (down) {\n down.emit(cxtEvt);\n } else {\n cy.emit(cxtEvt);\n }\n if (!r.hoverData.cxtDragged) {\n var cxtTap = {\n originalEvent: e,\n type: \"cxttap\",\n position: {\n x: pos[0],\n y: pos[1]\n }\n };\n if (down) {\n down.emit(cxtTap);\n } else {\n cy.emit(cxtTap);\n }\n }\n r.hoverData.cxtDragged = false;\n r.hoverData.which = null;\n } else if (r.hoverData.which === 1) {\n triggerEvents(near, [\"mouseup\", \"tapend\", \"vmouseup\"], e, {\n x: pos[0],\n y: pos[1]\n });\n if (!r.dragData.didDrag && // didn't move a node around\n !r.hoverData.dragged && // didn't pan\n !r.hoverData.selecting && // not box selection\n !r.hoverData.isOverThresholdDrag) {\n triggerEvents(down, [\"click\", \"tap\", \"vclick\"], e, {\n x: pos[0],\n y: pos[1]\n });\n didDoubleClick = false;\n if (e.timeStamp - prevClickTimeStamp <= cy.multiClickDebounceTime()) {\n clickTimeout && clearTimeout(clickTimeout);\n didDoubleClick = true;\n prevClickTimeStamp = null;\n triggerEvents(down, [\"dblclick\", \"dbltap\", \"vdblclick\"], e, {\n x: pos[0],\n y: pos[1]\n });\n } else {\n clickTimeout = setTimeout(function() {\n if (didDoubleClick)\n return;\n triggerEvents(down, [\"oneclick\", \"onetap\", \"voneclick\"], e, {\n x: pos[0],\n y: pos[1]\n });\n }, cy.multiClickDebounceTime());\n prevClickTimeStamp = e.timeStamp;\n }\n }\n if (down == null && !r.dragData.didDrag && !r.hoverData.selecting && !r.hoverData.dragged && !isMultSelKeyDown(e)) {\n cy.$(isSelected).unselect([\"tapunselect\"]);\n if (draggedElements.length > 0) {\n r.redrawHint(\"eles\", true);\n }\n r.dragData.possibleDragElements = draggedElements = cy.collection();\n }\n if (near == down && !r.dragData.didDrag && !r.hoverData.selecting) {\n if (near != null && near._private.selectable) {\n if (r.hoverData.dragging)\n ;\n else if (cy.selectionType() === \"additive\" || multSelKeyDown) {\n if (near.selected()) {\n near.unselect([\"tapunselect\"]);\n } else {\n near.select([\"tapselect\"]);\n }\n } else {\n if (!multSelKeyDown) {\n cy.$(isSelected).unmerge(near).unselect([\"tapunselect\"]);\n near.select([\"tapselect\"]);\n }\n }\n r.redrawHint(\"eles\", true);\n }\n }\n if (r.hoverData.selecting) {\n var box = cy.collection(r.getAllInBox(select2[0], select2[1], select2[2], select2[3]));\n r.redrawHint(\"select\", true);\n if (box.length > 0) {\n r.redrawHint(\"eles\", true);\n }\n cy.emit({\n type: \"boxend\",\n originalEvent: e,\n position: {\n x: pos[0],\n y: pos[1]\n }\n });\n var eleWouldBeSelected = function eleWouldBeSelected2(ele) {\n return ele.selectable() && !ele.selected();\n };\n if (cy.selectionType() === \"additive\") {\n box.emit(\"box\").stdFilter(eleWouldBeSelected).select().emit(\"boxselect\");\n } else {\n if (!multSelKeyDown) {\n cy.$(isSelected).unmerge(box).unselect();\n }\n box.emit(\"box\").stdFilter(eleWouldBeSelected).select().emit(\"boxselect\");\n }\n r.redraw();\n }\n if (r.hoverData.dragging) {\n r.hoverData.dragging = false;\n r.redrawHint(\"select\", true);\n r.redrawHint(\"eles\", true);\n r.redraw();\n }\n if (!select2[4]) {\n r.redrawHint(\"drag\", true);\n r.redrawHint(\"eles\", true);\n var downWasGrabbed = down && down.grabbed();\n freeDraggedElements(draggedElements);\n if (downWasGrabbed) {\n down.emit(\"freeon\");\n draggedElements.emit(\"free\");\n if (r.dragData.didDrag) {\n down.emit(\"dragfreeon\");\n draggedElements.emit(\"dragfree\");\n }\n }\n }\n }\n select2[4] = 0;\n r.hoverData.down = null;\n r.hoverData.cxtStarted = false;\n r.hoverData.draggingEles = false;\n r.hoverData.selecting = false;\n r.hoverData.isOverThresholdDrag = false;\n r.dragData.didDrag = false;\n r.hoverData.dragged = false;\n r.hoverData.dragDelta = [];\n r.hoverData.mdownPos = null;\n r.hoverData.mdownGPos = null;\n }, false);\n var wheelHandler = function wheelHandler2(e) {\n if (r.scrollingPage) {\n return;\n }\n var cy = r.cy;\n var zoom = cy.zoom();\n var pan = cy.pan();\n var pos = r.projectIntoViewport(e.clientX, e.clientY);\n var rpos = [pos[0] * zoom + pan.x, pos[1] * zoom + pan.y];\n if (r.hoverData.draggingEles || r.hoverData.dragging || r.hoverData.cxtStarted || inBoxSelection()) {\n e.preventDefault();\n return;\n }\n if (cy.panningEnabled() && cy.userPanningEnabled() && cy.zoomingEnabled() && cy.userZoomingEnabled()) {\n e.preventDefault();\n r.data.wheelZooming = true;\n clearTimeout(r.data.wheelTimeout);\n r.data.wheelTimeout = setTimeout(function() {\n r.data.wheelZooming = false;\n r.redrawHint(\"eles\", true);\n r.redraw();\n }, 150);\n var diff;\n if (e.deltaY != null) {\n diff = e.deltaY / -250;\n } else if (e.wheelDeltaY != null) {\n diff = e.wheelDeltaY / 1e3;\n } else {\n diff = e.wheelDelta / 1e3;\n }\n diff = diff * r.wheelSensitivity;\n var needsWheelFix = e.deltaMode === 1;\n if (needsWheelFix) {\n diff *= 33;\n }\n var newZoom = cy.zoom() * Math.pow(10, diff);\n if (e.type === \"gesturechange\") {\n newZoom = r.gestureStartZoom * e.scale;\n }\n cy.zoom({\n level: newZoom,\n renderedPosition: {\n x: rpos[0],\n y: rpos[1]\n }\n });\n cy.emit(e.type === \"gesturechange\" ? \"pinchzoom\" : \"scrollzoom\");\n }\n };\n r.registerBinding(r.container, \"wheel\", wheelHandler, true);\n r.registerBinding(window, \"scroll\", function scrollHandler(e) {\n r.scrollingPage = true;\n clearTimeout(r.scrollingPageTimeout);\n r.scrollingPageTimeout = setTimeout(function() {\n r.scrollingPage = false;\n }, 250);\n }, true);\n r.registerBinding(r.container, \"gesturestart\", function gestureStartHandler(e) {\n r.gestureStartZoom = r.cy.zoom();\n if (!r.hasTouchStarted) {\n e.preventDefault();\n }\n }, true);\n r.registerBinding(r.container, \"gesturechange\", function(e) {\n if (!r.hasTouchStarted) {\n wheelHandler(e);\n }\n }, true);\n r.registerBinding(r.container, \"mouseout\", function mouseOutHandler(e) {\n var pos = r.projectIntoViewport(e.clientX, e.clientY);\n r.cy.emit({\n originalEvent: e,\n type: \"mouseout\",\n position: {\n x: pos[0],\n y: pos[1]\n }\n });\n }, false);\n r.registerBinding(r.container, \"mouseover\", function mouseOverHandler(e) {\n var pos = r.projectIntoViewport(e.clientX, e.clientY);\n r.cy.emit({\n originalEvent: e,\n type: \"mouseover\",\n position: {\n x: pos[0],\n y: pos[1]\n }\n });\n }, false);\n var f1x1, f1y1, f2x1, f2y1;\n var distance1, distance1Sq;\n var center1, modelCenter1;\n var offsetLeft, offsetTop;\n var containerWidth, containerHeight;\n var twoFingersStartInside;\n var distance2 = function distance3(x1, y1, x2, y2) {\n return Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n };\n var distanceSq = function distanceSq2(x1, y1, x2, y2) {\n return (x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1);\n };\n var touchstartHandler;\n r.registerBinding(r.container, \"touchstart\", touchstartHandler = function touchstartHandler2(e) {\n r.hasTouchStarted = true;\n if (!eventInContainer(e)) {\n return;\n }\n blurActiveDomElement();\n r.touchData.capture = true;\n r.data.bgActivePosistion = void 0;\n var cy = r.cy;\n var now3 = r.touchData.now;\n var earlier = r.touchData.earlier;\n if (e.touches[0]) {\n var pos = r.projectIntoViewport(e.touches[0].clientX, e.touches[0].clientY);\n now3[0] = pos[0];\n now3[1] = pos[1];\n }\n if (e.touches[1]) {\n var pos = r.projectIntoViewport(e.touches[1].clientX, e.touches[1].clientY);\n now3[2] = pos[0];\n now3[3] = pos[1];\n }\n if (e.touches[2]) {\n var pos = r.projectIntoViewport(e.touches[2].clientX, e.touches[2].clientY);\n now3[4] = pos[0];\n now3[5] = pos[1];\n }\n if (e.touches[1]) {\n r.touchData.singleTouchMoved = true;\n freeDraggedElements(r.dragData.touchDragEles);\n var offsets = r.findContainerClientCoords();\n offsetLeft = offsets[0];\n offsetTop = offsets[1];\n containerWidth = offsets[2];\n containerHeight = offsets[3];\n f1x1 = e.touches[0].clientX - offsetLeft;\n f1y1 = e.touches[0].clientY - offsetTop;\n f2x1 = e.touches[1].clientX - offsetLeft;\n f2y1 = e.touches[1].clientY - offsetTop;\n twoFingersStartInside = 0 <= f1x1 && f1x1 <= containerWidth && 0 <= f2x1 && f2x1 <= containerWidth && 0 <= f1y1 && f1y1 <= containerHeight && 0 <= f2y1 && f2y1 <= containerHeight;\n var pan = cy.pan();\n var zoom = cy.zoom();\n distance1 = distance2(f1x1, f1y1, f2x1, f2y1);\n distance1Sq = distanceSq(f1x1, f1y1, f2x1, f2y1);\n center1 = [(f1x1 + f2x1) / 2, (f1y1 + f2y1) / 2];\n modelCenter1 = [(center1[0] - pan.x) / zoom, (center1[1] - pan.y) / zoom];\n var cxtDistThreshold = 200;\n var cxtDistThresholdSq = cxtDistThreshold * cxtDistThreshold;\n if (distance1Sq < cxtDistThresholdSq && !e.touches[2]) {\n var near1 = r.findNearestElement(now3[0], now3[1], true, true);\n var near2 = r.findNearestElement(now3[2], now3[3], true, true);\n if (near1 && near1.isNode()) {\n near1.activate().emit({\n originalEvent: e,\n type: \"cxttapstart\",\n position: {\n x: now3[0],\n y: now3[1]\n }\n });\n r.touchData.start = near1;\n } else if (near2 && near2.isNode()) {\n near2.activate().emit({\n originalEvent: e,\n type: \"cxttapstart\",\n position: {\n x: now3[0],\n y: now3[1]\n }\n });\n r.touchData.start = near2;\n } else {\n cy.emit({\n originalEvent: e,\n type: \"cxttapstart\",\n position: {\n x: now3[0],\n y: now3[1]\n }\n });\n }\n if (r.touchData.start) {\n r.touchData.start._private.grabbed = false;\n }\n r.touchData.cxt = true;\n r.touchData.cxtDragged = false;\n r.data.bgActivePosistion = void 0;\n r.redraw();\n return;\n }\n }\n if (e.touches[2]) {\n if (cy.boxSelectionEnabled()) {\n e.preventDefault();\n }\n } else if (e.touches[1])\n ;\n else if (e.touches[0]) {\n var nears = r.findNearestElements(now3[0], now3[1], true, true);\n var near = nears[0];\n if (near != null) {\n near.activate();\n r.touchData.start = near;\n r.touchData.starts = nears;\n if (r.nodeIsGrabbable(near)) {\n var draggedEles = r.dragData.touchDragEles = cy.collection();\n var selectedNodes = null;\n r.redrawHint(\"eles\", true);\n r.redrawHint(\"drag\", true);\n if (near.selected()) {\n selectedNodes = cy.$(function(ele) {\n return ele.selected() && r.nodeIsGrabbable(ele);\n });\n addNodesToDrag(selectedNodes, {\n addToList: draggedEles\n });\n } else {\n addNodeToDrag(near, {\n addToList: draggedEles\n });\n }\n setGrabTarget(near);\n var makeEvent = function makeEvent2(type2) {\n return {\n originalEvent: e,\n type: type2,\n position: {\n x: now3[0],\n y: now3[1]\n }\n };\n };\n near.emit(makeEvent(\"grabon\"));\n if (selectedNodes) {\n selectedNodes.forEach(function(n) {\n n.emit(makeEvent(\"grab\"));\n });\n } else {\n near.emit(makeEvent(\"grab\"));\n }\n }\n }\n triggerEvents(near, [\"touchstart\", \"tapstart\", \"vmousedown\"], e, {\n x: now3[0],\n y: now3[1]\n });\n if (near == null) {\n r.data.bgActivePosistion = {\n x: pos[0],\n y: pos[1]\n };\n r.redrawHint(\"select\", true);\n r.redraw();\n }\n r.touchData.singleTouchMoved = false;\n r.touchData.singleTouchStartTime = +new Date();\n clearTimeout(r.touchData.tapholdTimeout);\n r.touchData.tapholdTimeout = setTimeout(function() {\n if (r.touchData.singleTouchMoved === false && !r.pinching && !r.touchData.selecting) {\n triggerEvents(r.touchData.start, [\"taphold\"], e, {\n x: now3[0],\n y: now3[1]\n });\n }\n }, r.tapholdDuration);\n }\n if (e.touches.length >= 1) {\n var sPos = r.touchData.startPosition = [];\n for (var i3 = 0; i3 < now3.length; i3++) {\n sPos[i3] = earlier[i3] = now3[i3];\n }\n var touch0 = e.touches[0];\n r.touchData.startGPosition = [touch0.clientX, touch0.clientY];\n }\n }, false);\n var touchmoveHandler;\n r.registerBinding(window, \"touchmove\", touchmoveHandler = function touchmoveHandler2(e) {\n var capture = r.touchData.capture;\n if (!capture && !eventInContainer(e)) {\n return;\n }\n var select2 = r.selection;\n var cy = r.cy;\n var now3 = r.touchData.now;\n var earlier = r.touchData.earlier;\n var zoom = cy.zoom();\n if (e.touches[0]) {\n var pos = r.projectIntoViewport(e.touches[0].clientX, e.touches[0].clientY);\n now3[0] = pos[0];\n now3[1] = pos[1];\n }\n if (e.touches[1]) {\n var pos = r.projectIntoViewport(e.touches[1].clientX, e.touches[1].clientY);\n now3[2] = pos[0];\n now3[3] = pos[1];\n }\n if (e.touches[2]) {\n var pos = r.projectIntoViewport(e.touches[2].clientX, e.touches[2].clientY);\n now3[4] = pos[0];\n now3[5] = pos[1];\n }\n var startGPos = r.touchData.startGPosition;\n var isOverThresholdDrag;\n if (capture && e.touches[0] && startGPos) {\n var disp = [];\n for (var j = 0; j < now3.length; j++) {\n disp[j] = now3[j] - earlier[j];\n }\n var dx = e.touches[0].clientX - startGPos[0];\n var dx2 = dx * dx;\n var dy = e.touches[0].clientY - startGPos[1];\n var dy2 = dy * dy;\n var dist22 = dx2 + dy2;\n isOverThresholdDrag = dist22 >= r.touchTapThreshold2;\n }\n if (capture && r.touchData.cxt) {\n e.preventDefault();\n var f1x2 = e.touches[0].clientX - offsetLeft, f1y2 = e.touches[0].clientY - offsetTop;\n var f2x2 = e.touches[1].clientX - offsetLeft, f2y2 = e.touches[1].clientY - offsetTop;\n var distance2Sq = distanceSq(f1x2, f1y2, f2x2, f2y2);\n var factorSq = distance2Sq / distance1Sq;\n var distThreshold = 150;\n var distThresholdSq = distThreshold * distThreshold;\n var factorThreshold = 1.5;\n var factorThresholdSq = factorThreshold * factorThreshold;\n if (factorSq >= factorThresholdSq || distance2Sq >= distThresholdSq) {\n r.touchData.cxt = false;\n r.data.bgActivePosistion = void 0;\n r.redrawHint(\"select\", true);\n var cxtEvt = {\n originalEvent: e,\n type: \"cxttapend\",\n position: {\n x: now3[0],\n y: now3[1]\n }\n };\n if (r.touchData.start) {\n r.touchData.start.unactivate().emit(cxtEvt);\n r.touchData.start = null;\n } else {\n cy.emit(cxtEvt);\n }\n }\n }\n if (capture && r.touchData.cxt) {\n var cxtEvt = {\n originalEvent: e,\n type: \"cxtdrag\",\n position: {\n x: now3[0],\n y: now3[1]\n }\n };\n r.data.bgActivePosistion = void 0;\n r.redrawHint(\"select\", true);\n if (r.touchData.start) {\n r.touchData.start.emit(cxtEvt);\n } else {\n cy.emit(cxtEvt);\n }\n if (r.touchData.start) {\n r.touchData.start._private.grabbed = false;\n }\n r.touchData.cxtDragged = true;\n var near = r.findNearestElement(now3[0], now3[1], true, true);\n if (!r.touchData.cxtOver || near !== r.touchData.cxtOver) {\n if (r.touchData.cxtOver) {\n r.touchData.cxtOver.emit({\n originalEvent: e,\n type: \"cxtdragout\",\n position: {\n x: now3[0],\n y: now3[1]\n }\n });\n }\n r.touchData.cxtOver = near;\n if (near) {\n near.emit({\n originalEvent: e,\n type: \"cxtdragover\",\n position: {\n x: now3[0],\n y: now3[1]\n }\n });\n }\n }\n } else if (capture && e.touches[2] && cy.boxSelectionEnabled()) {\n e.preventDefault();\n r.data.bgActivePosistion = void 0;\n this.lastThreeTouch = +new Date();\n if (!r.touchData.selecting) {\n cy.emit({\n originalEvent: e,\n type: \"boxstart\",\n position: {\n x: now3[0],\n y: now3[1]\n }\n });\n }\n r.touchData.selecting = true;\n r.touchData.didSelect = true;\n select2[4] = 1;\n if (!select2 || select2.length === 0 || select2[0] === void 0) {\n select2[0] = (now3[0] + now3[2] + now3[4]) / 3;\n select2[1] = (now3[1] + now3[3] + now3[5]) / 3;\n select2[2] = (now3[0] + now3[2] + now3[4]) / 3 + 1;\n select2[3] = (now3[1] + now3[3] + now3[5]) / 3 + 1;\n } else {\n select2[2] = (now3[0] + now3[2] + now3[4]) / 3;\n select2[3] = (now3[1] + now3[3] + now3[5]) / 3;\n }\n r.redrawHint(\"select\", true);\n r.redraw();\n } else if (capture && e.touches[1] && !r.touchData.didSelect && cy.zoomingEnabled() && cy.panningEnabled() && cy.userZoomingEnabled() && cy.userPanningEnabled()) {\n e.preventDefault();\n r.data.bgActivePosistion = void 0;\n r.redrawHint(\"select\", true);\n var draggedEles = r.dragData.touchDragEles;\n if (draggedEles) {\n r.redrawHint(\"drag\", true);\n for (var i3 = 0; i3 < draggedEles.length; i3++) {\n var de_p = draggedEles[i3]._private;\n de_p.grabbed = false;\n de_p.rscratch.inDragLayer = false;\n }\n }\n var _start = r.touchData.start;\n var f1x2 = e.touches[0].clientX - offsetLeft, f1y2 = e.touches[0].clientY - offsetTop;\n var f2x2 = e.touches[1].clientX - offsetLeft, f2y2 = e.touches[1].clientY - offsetTop;\n var distance22 = distance2(f1x2, f1y2, f2x2, f2y2);\n var factor = distance22 / distance1;\n if (twoFingersStartInside) {\n var df1x = f1x2 - f1x1;\n var df1y = f1y2 - f1y1;\n var df2x = f2x2 - f2x1;\n var df2y = f2y2 - f2y1;\n var tx = (df1x + df2x) / 2;\n var ty = (df1y + df2y) / 2;\n var zoom1 = cy.zoom();\n var zoom2 = zoom1 * factor;\n var pan1 = cy.pan();\n var ctrx = modelCenter1[0] * zoom1 + pan1.x;\n var ctry = modelCenter1[1] * zoom1 + pan1.y;\n var pan2 = {\n x: -zoom2 / zoom1 * (ctrx - pan1.x - tx) + ctrx,\n y: -zoom2 / zoom1 * (ctry - pan1.y - ty) + ctry\n };\n if (_start && _start.active()) {\n var draggedEles = r.dragData.touchDragEles;\n freeDraggedElements(draggedEles);\n r.redrawHint(\"drag\", true);\n r.redrawHint(\"eles\", true);\n _start.unactivate().emit(\"freeon\");\n draggedEles.emit(\"free\");\n if (r.dragData.didDrag) {\n _start.emit(\"dragfreeon\");\n draggedEles.emit(\"dragfree\");\n }\n }\n cy.viewport({\n zoom: zoom2,\n pan: pan2,\n cancelOnFailedZoom: true\n });\n cy.emit(\"pinchzoom\");\n distance1 = distance22;\n f1x1 = f1x2;\n f1y1 = f1y2;\n f2x1 = f2x2;\n f2y1 = f2y2;\n r.pinching = true;\n }\n if (e.touches[0]) {\n var pos = r.projectIntoViewport(e.touches[0].clientX, e.touches[0].clientY);\n now3[0] = pos[0];\n now3[1] = pos[1];\n }\n if (e.touches[1]) {\n var pos = r.projectIntoViewport(e.touches[1].clientX, e.touches[1].clientY);\n now3[2] = pos[0];\n now3[3] = pos[1];\n }\n if (e.touches[2]) {\n var pos = r.projectIntoViewport(e.touches[2].clientX, e.touches[2].clientY);\n now3[4] = pos[0];\n now3[5] = pos[1];\n }\n } else if (e.touches[0] && !r.touchData.didSelect) {\n var start2 = r.touchData.start;\n var last2 = r.touchData.last;\n var near;\n if (!r.hoverData.draggingEles && !r.swipePanning) {\n near = r.findNearestElement(now3[0], now3[1], true, true);\n }\n if (capture && start2 != null) {\n e.preventDefault();\n }\n if (capture && start2 != null && r.nodeIsDraggable(start2)) {\n if (isOverThresholdDrag) {\n var draggedEles = r.dragData.touchDragEles;\n var justStartedDrag = !r.dragData.didDrag;\n if (justStartedDrag) {\n addNodesToDrag(draggedEles, {\n inDragLayer: true\n });\n }\n r.dragData.didDrag = true;\n var totalShift = {\n x: 0,\n y: 0\n };\n if (number$12(disp[0]) && number$12(disp[1])) {\n totalShift.x += disp[0];\n totalShift.y += disp[1];\n if (justStartedDrag) {\n r.redrawHint(\"eles\", true);\n var dragDelta = r.touchData.dragDelta;\n if (dragDelta && number$12(dragDelta[0]) && number$12(dragDelta[1])) {\n totalShift.x += dragDelta[0];\n totalShift.y += dragDelta[1];\n }\n }\n }\n r.hoverData.draggingEles = true;\n draggedEles.silentShift(totalShift).emit(\"position drag\");\n r.redrawHint(\"drag\", true);\n if (r.touchData.startPosition[0] == earlier[0] && r.touchData.startPosition[1] == earlier[1]) {\n r.redrawHint(\"eles\", true);\n }\n r.redraw();\n } else {\n var dragDelta = r.touchData.dragDelta = r.touchData.dragDelta || [];\n if (dragDelta.length === 0) {\n dragDelta.push(disp[0]);\n dragDelta.push(disp[1]);\n } else {\n dragDelta[0] += disp[0];\n dragDelta[1] += disp[1];\n }\n }\n }\n {\n triggerEvents(start2 || near, [\"touchmove\", \"tapdrag\", \"vmousemove\"], e, {\n x: now3[0],\n y: now3[1]\n });\n if ((!start2 || !start2.grabbed()) && near != last2) {\n if (last2) {\n last2.emit({\n originalEvent: e,\n type: \"tapdragout\",\n position: {\n x: now3[0],\n y: now3[1]\n }\n });\n }\n if (near) {\n near.emit({\n originalEvent: e,\n type: \"tapdragover\",\n position: {\n x: now3[0],\n y: now3[1]\n }\n });\n }\n }\n r.touchData.last = near;\n }\n if (capture) {\n for (var i3 = 0; i3 < now3.length; i3++) {\n if (now3[i3] && r.touchData.startPosition[i3] && isOverThresholdDrag) {\n r.touchData.singleTouchMoved = true;\n }\n }\n }\n if (capture && (start2 == null || start2.pannable()) && cy.panningEnabled() && cy.userPanningEnabled()) {\n var allowPassthrough = allowPanningPassthrough(start2, r.touchData.starts);\n if (allowPassthrough) {\n e.preventDefault();\n if (!r.data.bgActivePosistion) {\n r.data.bgActivePosistion = array2point(r.touchData.startPosition);\n }\n if (r.swipePanning) {\n cy.panBy({\n x: disp[0] * zoom,\n y: disp[1] * zoom\n });\n cy.emit(\"dragpan\");\n } else if (isOverThresholdDrag) {\n r.swipePanning = true;\n cy.panBy({\n x: dx * zoom,\n y: dy * zoom\n });\n cy.emit(\"dragpan\");\n if (start2) {\n start2.unactivate();\n r.redrawHint(\"select\", true);\n r.touchData.start = null;\n }\n }\n }\n var pos = r.projectIntoViewport(e.touches[0].clientX, e.touches[0].clientY);\n now3[0] = pos[0];\n now3[1] = pos[1];\n }\n }\n for (var j = 0; j < now3.length; j++) {\n earlier[j] = now3[j];\n }\n if (capture && e.touches.length > 0 && !r.hoverData.draggingEles && !r.swipePanning && r.data.bgActivePosistion != null) {\n r.data.bgActivePosistion = void 0;\n r.redrawHint(\"select\", true);\n r.redraw();\n }\n }, false);\n var touchcancelHandler;\n r.registerBinding(window, \"touchcancel\", touchcancelHandler = function touchcancelHandler2(e) {\n var start2 = r.touchData.start;\n r.touchData.capture = false;\n if (start2) {\n start2.unactivate();\n }\n });\n var touchendHandler, didDoubleTouch, touchTimeout, prevTouchTimeStamp;\n r.registerBinding(window, \"touchend\", touchendHandler = function touchendHandler2(e) {\n var start2 = r.touchData.start;\n var capture = r.touchData.capture;\n if (capture) {\n if (e.touches.length === 0) {\n r.touchData.capture = false;\n }\n e.preventDefault();\n } else {\n return;\n }\n var select2 = r.selection;\n r.swipePanning = false;\n r.hoverData.draggingEles = false;\n var cy = r.cy;\n var zoom = cy.zoom();\n var now3 = r.touchData.now;\n var earlier = r.touchData.earlier;\n if (e.touches[0]) {\n var pos = r.projectIntoViewport(e.touches[0].clientX, e.touches[0].clientY);\n now3[0] = pos[0];\n now3[1] = pos[1];\n }\n if (e.touches[1]) {\n var pos = r.projectIntoViewport(e.touches[1].clientX, e.touches[1].clientY);\n now3[2] = pos[0];\n now3[3] = pos[1];\n }\n if (e.touches[2]) {\n var pos = r.projectIntoViewport(e.touches[2].clientX, e.touches[2].clientY);\n now3[4] = pos[0];\n now3[5] = pos[1];\n }\n if (start2) {\n start2.unactivate();\n }\n var ctxTapend;\n if (r.touchData.cxt) {\n ctxTapend = {\n originalEvent: e,\n type: \"cxttapend\",\n position: {\n x: now3[0],\n y: now3[1]\n }\n };\n if (start2) {\n start2.emit(ctxTapend);\n } else {\n cy.emit(ctxTapend);\n }\n if (!r.touchData.cxtDragged) {\n var ctxTap = {\n originalEvent: e,\n type: \"cxttap\",\n position: {\n x: now3[0],\n y: now3[1]\n }\n };\n if (start2) {\n start2.emit(ctxTap);\n } else {\n cy.emit(ctxTap);\n }\n }\n if (r.touchData.start) {\n r.touchData.start._private.grabbed = false;\n }\n r.touchData.cxt = false;\n r.touchData.start = null;\n r.redraw();\n return;\n }\n if (!e.touches[2] && cy.boxSelectionEnabled() && r.touchData.selecting) {\n r.touchData.selecting = false;\n var box = cy.collection(r.getAllInBox(select2[0], select2[1], select2[2], select2[3]));\n select2[0] = void 0;\n select2[1] = void 0;\n select2[2] = void 0;\n select2[3] = void 0;\n select2[4] = 0;\n r.redrawHint(\"select\", true);\n cy.emit({\n type: \"boxend\",\n originalEvent: e,\n position: {\n x: now3[0],\n y: now3[1]\n }\n });\n var eleWouldBeSelected = function eleWouldBeSelected2(ele) {\n return ele.selectable() && !ele.selected();\n };\n box.emit(\"box\").stdFilter(eleWouldBeSelected).select().emit(\"boxselect\");\n if (box.nonempty()) {\n r.redrawHint(\"eles\", true);\n }\n r.redraw();\n }\n if (start2 != null) {\n start2.unactivate();\n }\n if (e.touches[2]) {\n r.data.bgActivePosistion = void 0;\n r.redrawHint(\"select\", true);\n } else if (e.touches[1])\n ;\n else if (e.touches[0])\n ;\n else if (!e.touches[0]) {\n r.data.bgActivePosistion = void 0;\n r.redrawHint(\"select\", true);\n var draggedEles = r.dragData.touchDragEles;\n if (start2 != null) {\n var startWasGrabbed = start2._private.grabbed;\n freeDraggedElements(draggedEles);\n r.redrawHint(\"drag\", true);\n r.redrawHint(\"eles\", true);\n if (startWasGrabbed) {\n start2.emit(\"freeon\");\n draggedEles.emit(\"free\");\n if (r.dragData.didDrag) {\n start2.emit(\"dragfreeon\");\n draggedEles.emit(\"dragfree\");\n }\n }\n triggerEvents(start2, [\"touchend\", \"tapend\", \"vmouseup\", \"tapdragout\"], e, {\n x: now3[0],\n y: now3[1]\n });\n start2.unactivate();\n r.touchData.start = null;\n } else {\n var near = r.findNearestElement(now3[0], now3[1], true, true);\n triggerEvents(near, [\"touchend\", \"tapend\", \"vmouseup\", \"tapdragout\"], e, {\n x: now3[0],\n y: now3[1]\n });\n }\n var dx = r.touchData.startPosition[0] - now3[0];\n var dx2 = dx * dx;\n var dy = r.touchData.startPosition[1] - now3[1];\n var dy2 = dy * dy;\n var dist22 = dx2 + dy2;\n var rdist2 = dist22 * zoom * zoom;\n if (!r.touchData.singleTouchMoved) {\n if (!start2) {\n cy.$(\":selected\").unselect([\"tapunselect\"]);\n }\n triggerEvents(start2, [\"tap\", \"vclick\"], e, {\n x: now3[0],\n y: now3[1]\n });\n didDoubleTouch = false;\n if (e.timeStamp - prevTouchTimeStamp <= cy.multiClickDebounceTime()) {\n touchTimeout && clearTimeout(touchTimeout);\n didDoubleTouch = true;\n prevTouchTimeStamp = null;\n triggerEvents(start2, [\"dbltap\", \"vdblclick\"], e, {\n x: now3[0],\n y: now3[1]\n });\n } else {\n touchTimeout = setTimeout(function() {\n if (didDoubleTouch)\n return;\n triggerEvents(start2, [\"onetap\", \"voneclick\"], e, {\n x: now3[0],\n y: now3[1]\n });\n }, cy.multiClickDebounceTime());\n prevTouchTimeStamp = e.timeStamp;\n }\n }\n if (start2 != null && !r.dragData.didDrag && start2._private.selectable && rdist2 < r.touchTapThreshold2 && !r.pinching) {\n if (cy.selectionType() === \"single\") {\n cy.$(isSelected).unmerge(start2).unselect([\"tapunselect\"]);\n start2.select([\"tapselect\"]);\n } else {\n if (start2.selected()) {\n start2.unselect([\"tapunselect\"]);\n } else {\n start2.select([\"tapselect\"]);\n }\n }\n r.redrawHint(\"eles\", true);\n }\n r.touchData.singleTouchMoved = true;\n }\n for (var j = 0; j < now3.length; j++) {\n earlier[j] = now3[j];\n }\n r.dragData.didDrag = false;\n if (e.touches.length === 0) {\n r.touchData.dragDelta = [];\n r.touchData.startPosition = null;\n r.touchData.startGPosition = null;\n r.touchData.didSelect = false;\n }\n if (e.touches.length < 2) {\n if (e.touches.length === 1) {\n r.touchData.startGPosition = [e.touches[0].clientX, e.touches[0].clientY];\n }\n r.pinching = false;\n r.redrawHint(\"eles\", true);\n r.redraw();\n }\n }, false);\n if (typeof TouchEvent === \"undefined\") {\n var pointers = [];\n var makeTouch = function makeTouch2(e) {\n return {\n clientX: e.clientX,\n clientY: e.clientY,\n force: 1,\n identifier: e.pointerId,\n pageX: e.pageX,\n pageY: e.pageY,\n radiusX: e.width / 2,\n radiusY: e.height / 2,\n screenX: e.screenX,\n screenY: e.screenY,\n target: e.target\n };\n };\n var makePointer = function makePointer2(e) {\n return {\n event: e,\n touch: makeTouch(e)\n };\n };\n var addPointer = function addPointer2(e) {\n pointers.push(makePointer(e));\n };\n var removePointer = function removePointer2(e) {\n for (var i3 = 0; i3 < pointers.length; i3++) {\n var p2 = pointers[i3];\n if (p2.event.pointerId === e.pointerId) {\n pointers.splice(i3, 1);\n return;\n }\n }\n };\n var updatePointer = function updatePointer2(e) {\n var p2 = pointers.filter(function(p3) {\n return p3.event.pointerId === e.pointerId;\n })[0];\n p2.event = e;\n p2.touch = makeTouch(e);\n };\n var addTouchesToEvent = function addTouchesToEvent2(e) {\n e.touches = pointers.map(function(p2) {\n return p2.touch;\n });\n };\n var pointerIsMouse = function pointerIsMouse2(e) {\n return e.pointerType === \"mouse\" || e.pointerType === 4;\n };\n r.registerBinding(r.container, \"pointerdown\", function(e) {\n if (pointerIsMouse(e)) {\n return;\n }\n e.preventDefault();\n addPointer(e);\n addTouchesToEvent(e);\n touchstartHandler(e);\n });\n r.registerBinding(r.container, \"pointerup\", function(e) {\n if (pointerIsMouse(e)) {\n return;\n }\n removePointer(e);\n addTouchesToEvent(e);\n touchendHandler(e);\n });\n r.registerBinding(r.container, \"pointercancel\", function(e) {\n if (pointerIsMouse(e)) {\n return;\n }\n removePointer(e);\n addTouchesToEvent(e);\n touchcancelHandler(e);\n });\n r.registerBinding(r.container, \"pointermove\", function(e) {\n if (pointerIsMouse(e)) {\n return;\n }\n e.preventDefault();\n updatePointer(e);\n addTouchesToEvent(e);\n touchmoveHandler(e);\n });\n }\n };\n var BRp$2 = {};\n BRp$2.generatePolygon = function(name2, points) {\n return this.nodeShapes[name2] = {\n renderer: this,\n name: name2,\n points,\n draw: function draw2(context, centerX, centerY, width2, height2) {\n this.renderer.nodeShapeImpl(\"polygon\", context, centerX, centerY, width2, height2, this.points);\n },\n intersectLine: function intersectLine2(nodeX, nodeY, width2, height2, x2, y2, padding2) {\n return polygonIntersectLine(x2, y2, this.points, nodeX, nodeY, width2 / 2, height2 / 2, padding2);\n },\n checkPoint: function checkPoint(x2, y2, padding2, width2, height2, centerX, centerY) {\n return pointInsidePolygon(x2, y2, this.points, centerX, centerY, width2, height2, [0, -1], padding2);\n }\n };\n };\n BRp$2.generateEllipse = function() {\n return this.nodeShapes[\"ellipse\"] = {\n renderer: this,\n name: \"ellipse\",\n draw: function draw2(context, centerX, centerY, width2, height2) {\n this.renderer.nodeShapeImpl(this.name, context, centerX, centerY, width2, height2);\n },\n intersectLine: function intersectLine2(nodeX, nodeY, width2, height2, x2, y2, padding2) {\n return intersectLineEllipse(x2, y2, nodeX, nodeY, width2 / 2 + padding2, height2 / 2 + padding2);\n },\n checkPoint: function checkPoint(x2, y2, padding2, width2, height2, centerX, centerY) {\n return checkInEllipse(x2, y2, width2, height2, centerX, centerY, padding2);\n }\n };\n };\n BRp$2.generateRoundPolygon = function(name2, points) {\n var allPoints = new Array(points.length * 2);\n for (var i3 = 0; i3 < points.length / 2; i3++) {\n var sourceIndex = i3 * 2;\n var destIndex = void 0;\n if (i3 < points.length / 2 - 1) {\n destIndex = (i3 + 1) * 2;\n } else {\n destIndex = 0;\n }\n allPoints[i3 * 4] = points[sourceIndex];\n allPoints[i3 * 4 + 1] = points[sourceIndex + 1];\n var xDest = points[destIndex] - points[sourceIndex];\n var yDest = points[destIndex + 1] - points[sourceIndex + 1];\n var norm = Math.sqrt(xDest * xDest + yDest * yDest);\n allPoints[i3 * 4 + 2] = xDest / norm;\n allPoints[i3 * 4 + 3] = yDest / norm;\n }\n return this.nodeShapes[name2] = {\n renderer: this,\n name: name2,\n points: allPoints,\n draw: function draw2(context, centerX, centerY, width2, height2) {\n this.renderer.nodeShapeImpl(\"round-polygon\", context, centerX, centerY, width2, height2, this.points);\n },\n intersectLine: function intersectLine2(nodeX, nodeY, width2, height2, x2, y2, padding2) {\n return roundPolygonIntersectLine(x2, y2, this.points, nodeX, nodeY, width2, height2);\n },\n checkPoint: function checkPoint(x2, y2, padding2, width2, height2, centerX, centerY) {\n return pointInsideRoundPolygon(x2, y2, this.points, centerX, centerY, width2, height2);\n }\n };\n };\n BRp$2.generateRoundRectangle = function() {\n return this.nodeShapes[\"round-rectangle\"] = this.nodeShapes[\"roundrectangle\"] = {\n renderer: this,\n name: \"round-rectangle\",\n points: generateUnitNgonPointsFitToSquare(4, 0),\n draw: function draw2(context, centerX, centerY, width2, height2) {\n this.renderer.nodeShapeImpl(this.name, context, centerX, centerY, width2, height2);\n },\n intersectLine: function intersectLine2(nodeX, nodeY, width2, height2, x2, y2, padding2) {\n return roundRectangleIntersectLine(x2, y2, nodeX, nodeY, width2, height2, padding2);\n },\n checkPoint: function checkPoint(x2, y2, padding2, width2, height2, centerX, centerY) {\n var cornerRadius = getRoundRectangleRadius(width2, height2);\n var diam = cornerRadius * 2;\n if (pointInsidePolygon(x2, y2, this.points, centerX, centerY, width2, height2 - diam, [0, -1], padding2)) {\n return true;\n }\n if (pointInsidePolygon(x2, y2, this.points, centerX, centerY, width2 - diam, height2, [0, -1], padding2)) {\n return true;\n }\n if (checkInEllipse(x2, y2, diam, diam, centerX - width2 / 2 + cornerRadius, centerY - height2 / 2 + cornerRadius, padding2)) {\n return true;\n }\n if (checkInEllipse(x2, y2, diam, diam, centerX + width2 / 2 - cornerRadius, centerY - height2 / 2 + cornerRadius, padding2)) {\n return true;\n }\n if (checkInEllipse(x2, y2, diam, diam, centerX + width2 / 2 - cornerRadius, centerY + height2 / 2 - cornerRadius, padding2)) {\n return true;\n }\n if (checkInEllipse(x2, y2, diam, diam, centerX - width2 / 2 + cornerRadius, centerY + height2 / 2 - cornerRadius, padding2)) {\n return true;\n }\n return false;\n }\n };\n };\n BRp$2.generateCutRectangle = function() {\n return this.nodeShapes[\"cut-rectangle\"] = this.nodeShapes[\"cutrectangle\"] = {\n renderer: this,\n name: \"cut-rectangle\",\n cornerLength: getCutRectangleCornerLength(),\n points: generateUnitNgonPointsFitToSquare(4, 0),\n draw: function draw2(context, centerX, centerY, width2, height2) {\n this.renderer.nodeShapeImpl(this.name, context, centerX, centerY, width2, height2);\n },\n generateCutTrianglePts: function generateCutTrianglePts(width2, height2, centerX, centerY) {\n var cl = this.cornerLength;\n var hh = height2 / 2;\n var hw = width2 / 2;\n var xBegin = centerX - hw;\n var xEnd = centerX + hw;\n var yBegin = centerY - hh;\n var yEnd = centerY + hh;\n return {\n topLeft: [xBegin, yBegin + cl, xBegin + cl, yBegin, xBegin + cl, yBegin + cl],\n topRight: [xEnd - cl, yBegin, xEnd, yBegin + cl, xEnd - cl, yBegin + cl],\n bottomRight: [xEnd, yEnd - cl, xEnd - cl, yEnd, xEnd - cl, yEnd - cl],\n bottomLeft: [xBegin + cl, yEnd, xBegin, yEnd - cl, xBegin + cl, yEnd - cl]\n };\n },\n intersectLine: function intersectLine2(nodeX, nodeY, width2, height2, x2, y2, padding2) {\n var cPts = this.generateCutTrianglePts(width2 + 2 * padding2, height2 + 2 * padding2, nodeX, nodeY);\n var pts2 = [].concat.apply([], [cPts.topLeft.splice(0, 4), cPts.topRight.splice(0, 4), cPts.bottomRight.splice(0, 4), cPts.bottomLeft.splice(0, 4)]);\n return polygonIntersectLine(x2, y2, pts2, nodeX, nodeY);\n },\n checkPoint: function checkPoint(x2, y2, padding2, width2, height2, centerX, centerY) {\n if (pointInsidePolygon(x2, y2, this.points, centerX, centerY, width2, height2 - 2 * this.cornerLength, [0, -1], padding2)) {\n return true;\n }\n if (pointInsidePolygon(x2, y2, this.points, centerX, centerY, width2 - 2 * this.cornerLength, height2, [0, -1], padding2)) {\n return true;\n }\n var cutTrianglePts = this.generateCutTrianglePts(width2, height2, centerX, centerY);\n return pointInsidePolygonPoints(x2, y2, cutTrianglePts.topLeft) || pointInsidePolygonPoints(x2, y2, cutTrianglePts.topRight) || pointInsidePolygonPoints(x2, y2, cutTrianglePts.bottomRight) || pointInsidePolygonPoints(x2, y2, cutTrianglePts.bottomLeft);\n }\n };\n };\n BRp$2.generateBarrel = function() {\n return this.nodeShapes[\"barrel\"] = {\n renderer: this,\n name: \"barrel\",\n points: generateUnitNgonPointsFitToSquare(4, 0),\n draw: function draw2(context, centerX, centerY, width2, height2) {\n this.renderer.nodeShapeImpl(this.name, context, centerX, centerY, width2, height2);\n },\n intersectLine: function intersectLine2(nodeX, nodeY, width2, height2, x2, y2, padding2) {\n var t02 = 0.15;\n var t12 = 0.5;\n var t22 = 0.85;\n var bPts = this.generateBarrelBezierPts(width2 + 2 * padding2, height2 + 2 * padding2, nodeX, nodeY);\n var approximateBarrelCurvePts = function approximateBarrelCurvePts2(pts3) {\n var m0 = qbezierPtAt({\n x: pts3[0],\n y: pts3[1]\n }, {\n x: pts3[2],\n y: pts3[3]\n }, {\n x: pts3[4],\n y: pts3[5]\n }, t02);\n var m1 = qbezierPtAt({\n x: pts3[0],\n y: pts3[1]\n }, {\n x: pts3[2],\n y: pts3[3]\n }, {\n x: pts3[4],\n y: pts3[5]\n }, t12);\n var m2 = qbezierPtAt({\n x: pts3[0],\n y: pts3[1]\n }, {\n x: pts3[2],\n y: pts3[3]\n }, {\n x: pts3[4],\n y: pts3[5]\n }, t22);\n return [pts3[0], pts3[1], m0.x, m0.y, m1.x, m1.y, m2.x, m2.y, pts3[4], pts3[5]];\n };\n var pts2 = [].concat(approximateBarrelCurvePts(bPts.topLeft), approximateBarrelCurvePts(bPts.topRight), approximateBarrelCurvePts(bPts.bottomRight), approximateBarrelCurvePts(bPts.bottomLeft));\n return polygonIntersectLine(x2, y2, pts2, nodeX, nodeY);\n },\n generateBarrelBezierPts: function generateBarrelBezierPts(width2, height2, centerX, centerY) {\n var hh = height2 / 2;\n var hw = width2 / 2;\n var xBegin = centerX - hw;\n var xEnd = centerX + hw;\n var yBegin = centerY - hh;\n var yEnd = centerY + hh;\n var curveConstants = getBarrelCurveConstants(width2, height2);\n var hOffset = curveConstants.heightOffset;\n var wOffset = curveConstants.widthOffset;\n var ctrlPtXOffset = curveConstants.ctrlPtOffsetPct * width2;\n var pts2 = {\n topLeft: [xBegin, yBegin + hOffset, xBegin + ctrlPtXOffset, yBegin, xBegin + wOffset, yBegin],\n topRight: [xEnd - wOffset, yBegin, xEnd - ctrlPtXOffset, yBegin, xEnd, yBegin + hOffset],\n bottomRight: [xEnd, yEnd - hOffset, xEnd - ctrlPtXOffset, yEnd, xEnd - wOffset, yEnd],\n bottomLeft: [xBegin + wOffset, yEnd, xBegin + ctrlPtXOffset, yEnd, xBegin, yEnd - hOffset]\n };\n pts2.topLeft.isTop = true;\n pts2.topRight.isTop = true;\n pts2.bottomLeft.isBottom = true;\n pts2.bottomRight.isBottom = true;\n return pts2;\n },\n checkPoint: function checkPoint(x2, y2, padding2, width2, height2, centerX, centerY) {\n var curveConstants = getBarrelCurveConstants(width2, height2);\n var hOffset = curveConstants.heightOffset;\n var wOffset = curveConstants.widthOffset;\n if (pointInsidePolygon(x2, y2, this.points, centerX, centerY, width2, height2 - 2 * hOffset, [0, -1], padding2)) {\n return true;\n }\n if (pointInsidePolygon(x2, y2, this.points, centerX, centerY, width2 - 2 * wOffset, height2, [0, -1], padding2)) {\n return true;\n }\n var barrelCurvePts = this.generateBarrelBezierPts(width2, height2, centerX, centerY);\n var getCurveT = function getCurveT2(x3, y3, curvePts) {\n var x0 = curvePts[4];\n var x1 = curvePts[2];\n var x22 = curvePts[0];\n var y02 = curvePts[5];\n var y23 = curvePts[1];\n var xMin = Math.min(x0, x22);\n var xMax = Math.max(x0, x22);\n var yMin = Math.min(y02, y23);\n var yMax = Math.max(y02, y23);\n if (xMin <= x3 && x3 <= xMax && yMin <= y3 && y3 <= yMax) {\n var coeff = bezierPtsToQuadCoeff(x0, x1, x22);\n var roots = solveQuadratic(coeff[0], coeff[1], coeff[2], x3);\n var validRoots = roots.filter(function(r) {\n return 0 <= r && r <= 1;\n });\n if (validRoots.length > 0) {\n return validRoots[0];\n }\n }\n return null;\n };\n var curveRegions = Object.keys(barrelCurvePts);\n for (var i3 = 0; i3 < curveRegions.length; i3++) {\n var corner = curveRegions[i3];\n var cornerPts = barrelCurvePts[corner];\n var t = getCurveT(x2, y2, cornerPts);\n if (t == null) {\n continue;\n }\n var y0 = cornerPts[5];\n var y1 = cornerPts[3];\n var y22 = cornerPts[1];\n var bezY = qbezierAt(y0, y1, y22, t);\n if (cornerPts.isTop && bezY <= y2) {\n return true;\n }\n if (cornerPts.isBottom && y2 <= bezY) {\n return true;\n }\n }\n return false;\n }\n };\n };\n BRp$2.generateBottomRoundrectangle = function() {\n return this.nodeShapes[\"bottom-round-rectangle\"] = this.nodeShapes[\"bottomroundrectangle\"] = {\n renderer: this,\n name: \"bottom-round-rectangle\",\n points: generateUnitNgonPointsFitToSquare(4, 0),\n draw: function draw2(context, centerX, centerY, width2, height2) {\n this.renderer.nodeShapeImpl(this.name, context, centerX, centerY, width2, height2);\n },\n intersectLine: function intersectLine2(nodeX, nodeY, width2, height2, x2, y2, padding2) {\n var topStartX = nodeX - (width2 / 2 + padding2);\n var topStartY = nodeY - (height2 / 2 + padding2);\n var topEndY = topStartY;\n var topEndX = nodeX + (width2 / 2 + padding2);\n var topIntersections = finiteLinesIntersect(x2, y2, nodeX, nodeY, topStartX, topStartY, topEndX, topEndY, false);\n if (topIntersections.length > 0) {\n return topIntersections;\n }\n return roundRectangleIntersectLine(x2, y2, nodeX, nodeY, width2, height2, padding2);\n },\n checkPoint: function checkPoint(x2, y2, padding2, width2, height2, centerX, centerY) {\n var cornerRadius = getRoundRectangleRadius(width2, height2);\n var diam = 2 * cornerRadius;\n if (pointInsidePolygon(x2, y2, this.points, centerX, centerY, width2, height2 - diam, [0, -1], padding2)) {\n return true;\n }\n if (pointInsidePolygon(x2, y2, this.points, centerX, centerY, width2 - diam, height2, [0, -1], padding2)) {\n return true;\n }\n var outerWidth = width2 / 2 + 2 * padding2;\n var outerHeight = height2 / 2 + 2 * padding2;\n var points = [centerX - outerWidth, centerY - outerHeight, centerX - outerWidth, centerY, centerX + outerWidth, centerY, centerX + outerWidth, centerY - outerHeight];\n if (pointInsidePolygonPoints(x2, y2, points)) {\n return true;\n }\n if (checkInEllipse(x2, y2, diam, diam, centerX + width2 / 2 - cornerRadius, centerY + height2 / 2 - cornerRadius, padding2)) {\n return true;\n }\n if (checkInEllipse(x2, y2, diam, diam, centerX - width2 / 2 + cornerRadius, centerY + height2 / 2 - cornerRadius, padding2)) {\n return true;\n }\n return false;\n }\n };\n };\n BRp$2.registerNodeShapes = function() {\n var nodeShapes = this.nodeShapes = {};\n var renderer3 = this;\n this.generateEllipse();\n this.generatePolygon(\"triangle\", generateUnitNgonPointsFitToSquare(3, 0));\n this.generateRoundPolygon(\"round-triangle\", generateUnitNgonPointsFitToSquare(3, 0));\n this.generatePolygon(\"rectangle\", generateUnitNgonPointsFitToSquare(4, 0));\n nodeShapes[\"square\"] = nodeShapes[\"rectangle\"];\n this.generateRoundRectangle();\n this.generateCutRectangle();\n this.generateBarrel();\n this.generateBottomRoundrectangle();\n {\n var diamondPoints = [0, 1, 1, 0, 0, -1, -1, 0];\n this.generatePolygon(\"diamond\", diamondPoints);\n this.generateRoundPolygon(\"round-diamond\", diamondPoints);\n }\n this.generatePolygon(\"pentagon\", generateUnitNgonPointsFitToSquare(5, 0));\n this.generateRoundPolygon(\"round-pentagon\", generateUnitNgonPointsFitToSquare(5, 0));\n this.generatePolygon(\"hexagon\", generateUnitNgonPointsFitToSquare(6, 0));\n this.generateRoundPolygon(\"round-hexagon\", generateUnitNgonPointsFitToSquare(6, 0));\n this.generatePolygon(\"heptagon\", generateUnitNgonPointsFitToSquare(7, 0));\n this.generateRoundPolygon(\"round-heptagon\", generateUnitNgonPointsFitToSquare(7, 0));\n this.generatePolygon(\"octagon\", generateUnitNgonPointsFitToSquare(8, 0));\n this.generateRoundPolygon(\"round-octagon\", generateUnitNgonPointsFitToSquare(8, 0));\n var star5Points = new Array(20);\n {\n var outerPoints = generateUnitNgonPoints(5, 0);\n var innerPoints = generateUnitNgonPoints(5, Math.PI / 5);\n var innerRadius = 0.5 * (3 - Math.sqrt(5));\n innerRadius *= 1.57;\n for (var i3 = 0; i3 < innerPoints.length / 2; i3++) {\n innerPoints[i3 * 2] *= innerRadius;\n innerPoints[i3 * 2 + 1] *= innerRadius;\n }\n for (var i3 = 0; i3 < 20 / 4; i3++) {\n star5Points[i3 * 4] = outerPoints[i3 * 2];\n star5Points[i3 * 4 + 1] = outerPoints[i3 * 2 + 1];\n star5Points[i3 * 4 + 2] = innerPoints[i3 * 2];\n star5Points[i3 * 4 + 3] = innerPoints[i3 * 2 + 1];\n }\n }\n star5Points = fitPolygonToSquare(star5Points);\n this.generatePolygon(\"star\", star5Points);\n this.generatePolygon(\"vee\", [-1, -1, 0, -0.333, 1, -1, 0, 1]);\n this.generatePolygon(\"rhomboid\", [-1, -1, 0.333, -1, 1, 1, -0.333, 1]);\n this.nodeShapes[\"concavehexagon\"] = this.generatePolygon(\"concave-hexagon\", [-1, -0.95, -0.75, 0, -1, 0.95, 1, 0.95, 0.75, 0, 1, -0.95]);\n {\n var tagPoints = [-1, -1, 0.25, -1, 1, 0, 0.25, 1, -1, 1];\n this.generatePolygon(\"tag\", tagPoints);\n this.generateRoundPolygon(\"round-tag\", tagPoints);\n }\n nodeShapes.makePolygon = function(points) {\n var key = points.join(\"$\");\n var name2 = \"polygon-\" + key;\n var shape;\n if (shape = this[name2]) {\n return shape;\n }\n return renderer3.generatePolygon(name2, points);\n };\n };\n var BRp$1 = {};\n BRp$1.timeToRender = function() {\n return this.redrawTotalTime / this.redrawCount;\n };\n BRp$1.redraw = function(options2) {\n options2 = options2 || staticEmptyObject();\n var r = this;\n if (r.averageRedrawTime === void 0) {\n r.averageRedrawTime = 0;\n }\n if (r.lastRedrawTime === void 0) {\n r.lastRedrawTime = 0;\n }\n if (r.lastDrawTime === void 0) {\n r.lastDrawTime = 0;\n }\n r.requestedFrame = true;\n r.renderOptions = options2;\n };\n BRp$1.beforeRender = function(fn2, priority) {\n if (this.destroyed) {\n return;\n }\n if (priority == null) {\n error(\"Priority is not optional for beforeRender\");\n }\n var cbs = this.beforeRenderCallbacks;\n cbs.push({\n fn: fn2,\n priority\n });\n cbs.sort(function(a, b) {\n return b.priority - a.priority;\n });\n };\n var beforeRenderCallbacks = function beforeRenderCallbacks2(r, willDraw, startTime) {\n var cbs = r.beforeRenderCallbacks;\n for (var i3 = 0; i3 < cbs.length; i3++) {\n cbs[i3].fn(willDraw, startTime);\n }\n };\n BRp$1.startRenderLoop = function() {\n var r = this;\n var cy = r.cy;\n if (r.renderLoopStarted) {\n return;\n } else {\n r.renderLoopStarted = true;\n }\n var renderFn = function renderFn2(requestTime) {\n if (r.destroyed) {\n return;\n }\n if (cy.batching())\n ;\n else if (r.requestedFrame && !r.skipFrame) {\n beforeRenderCallbacks(r, true, requestTime);\n var startTime = performanceNow();\n r.render(r.renderOptions);\n var endTime = r.lastDrawTime = performanceNow();\n if (r.averageRedrawTime === void 0) {\n r.averageRedrawTime = endTime - startTime;\n }\n if (r.redrawCount === void 0) {\n r.redrawCount = 0;\n }\n r.redrawCount++;\n if (r.redrawTotalTime === void 0) {\n r.redrawTotalTime = 0;\n }\n var duration = endTime - startTime;\n r.redrawTotalTime += duration;\n r.lastRedrawTime = duration;\n r.averageRedrawTime = r.averageRedrawTime / 2 + duration / 2;\n r.requestedFrame = false;\n } else {\n beforeRenderCallbacks(r, false, requestTime);\n }\n r.skipFrame = false;\n requestAnimationFrame2(renderFn2);\n };\n requestAnimationFrame2(renderFn);\n };\n var BaseRenderer = function BaseRenderer2(options2) {\n this.init(options2);\n };\n var BR = BaseRenderer;\n var BRp = BR.prototype;\n BRp.clientFunctions = [\"redrawHint\", \"render\", \"renderTo\", \"matchCanvasSize\", \"nodeShapeImpl\", \"arrowShapeImpl\"];\n BRp.init = function(options2) {\n var r = this;\n r.options = options2;\n r.cy = options2.cy;\n var ctr = r.container = options2.cy.container();\n if (window$1) {\n var document2 = window$1.document;\n var head2 = document2.head;\n var stylesheetId = \"__________cytoscape_stylesheet\";\n var className = \"__________cytoscape_container\";\n var stylesheetAlreadyExists = document2.getElementById(stylesheetId) != null;\n if (ctr.className.indexOf(className) < 0) {\n ctr.className = (ctr.className || \"\") + \" \" + className;\n }\n if (!stylesheetAlreadyExists) {\n var stylesheet2 = document2.createElement(\"style\");\n stylesheet2.id = stylesheetId;\n stylesheet2.innerHTML = \".\" + className + \" { position: relative; }\";\n head2.insertBefore(stylesheet2, head2.children[0]);\n }\n var computedStyle = window$1.getComputedStyle(ctr);\n var position3 = computedStyle.getPropertyValue(\"position\");\n if (position3 === \"static\") {\n warn(\"A Cytoscape container has style position:static and so can not use UI extensions properly\");\n }\n }\n r.selection = [void 0, void 0, void 0, void 0, 0];\n r.bezierProjPcts = [0.05, 0.225, 0.4, 0.5, 0.6, 0.775, 0.95];\n r.hoverData = {\n down: null,\n last: null,\n downTime: null,\n triggerMode: null,\n dragging: false,\n initialPan: [null, null],\n capture: false\n };\n r.dragData = {\n possibleDragElements: []\n };\n r.touchData = {\n start: null,\n capture: false,\n // These 3 fields related to tap, taphold events\n startPosition: [null, null, null, null, null, null],\n singleTouchStartTime: null,\n singleTouchMoved: true,\n now: [null, null, null, null, null, null],\n earlier: [null, null, null, null, null, null]\n };\n r.redraws = 0;\n r.showFps = options2.showFps;\n r.debug = options2.debug;\n r.hideEdgesOnViewport = options2.hideEdgesOnViewport;\n r.textureOnViewport = options2.textureOnViewport;\n r.wheelSensitivity = options2.wheelSensitivity;\n r.motionBlurEnabled = options2.motionBlur;\n r.forcedPixelRatio = number$12(options2.pixelRatio) ? options2.pixelRatio : null;\n r.motionBlur = options2.motionBlur;\n r.motionBlurOpacity = options2.motionBlurOpacity;\n r.motionBlurTransparency = 1 - r.motionBlurOpacity;\n r.motionBlurPxRatio = 1;\n r.mbPxRBlurry = 1;\n r.minMbLowQualFrames = 4;\n r.fullQualityMb = false;\n r.clearedForMotionBlur = [];\n r.desktopTapThreshold = options2.desktopTapThreshold;\n r.desktopTapThreshold2 = options2.desktopTapThreshold * options2.desktopTapThreshold;\n r.touchTapThreshold = options2.touchTapThreshold;\n r.touchTapThreshold2 = options2.touchTapThreshold * options2.touchTapThreshold;\n r.tapholdDuration = 500;\n r.bindings = [];\n r.beforeRenderCallbacks = [];\n r.beforeRenderPriorities = {\n // higher priority execs before lower one\n animations: 400,\n eleCalcs: 300,\n eleTxrDeq: 200,\n lyrTxrDeq: 150,\n lyrTxrSkip: 100\n };\n r.registerNodeShapes();\n r.registerArrowShapes();\n r.registerCalculationListeners();\n };\n BRp.notify = function(eventName, eles) {\n var r = this;\n var cy = r.cy;\n if (this.destroyed) {\n return;\n }\n if (eventName === \"init\") {\n r.load();\n return;\n }\n if (eventName === \"destroy\") {\n r.destroy();\n return;\n }\n if (eventName === \"add\" || eventName === \"remove\" || eventName === \"move\" && cy.hasCompoundNodes() || eventName === \"load\" || eventName === \"zorder\" || eventName === \"mount\") {\n r.invalidateCachedZSortedEles();\n }\n if (eventName === \"viewport\") {\n r.redrawHint(\"select\", true);\n }\n if (eventName === \"load\" || eventName === \"resize\" || eventName === \"mount\") {\n r.invalidateContainerClientCoordsCache();\n r.matchCanvasSize(r.container);\n }\n r.redrawHint(\"eles\", true);\n r.redrawHint(\"drag\", true);\n this.startRenderLoop();\n this.redraw();\n };\n BRp.destroy = function() {\n var r = this;\n r.destroyed = true;\n r.cy.stopAnimationLoop();\n for (var i3 = 0; i3 < r.bindings.length; i3++) {\n var binding = r.bindings[i3];\n var b = binding;\n var tgt = b.target;\n (tgt.off || tgt.removeEventListener).apply(tgt, b.args);\n }\n r.bindings = [];\n r.beforeRenderCallbacks = [];\n r.onUpdateEleCalcsFns = [];\n if (r.removeObserver) {\n r.removeObserver.disconnect();\n }\n if (r.styleObserver) {\n r.styleObserver.disconnect();\n }\n if (r.resizeObserver) {\n r.resizeObserver.disconnect();\n }\n if (r.labelCalcDiv) {\n try {\n document.body.removeChild(r.labelCalcDiv);\n } catch (e) {\n }\n }\n };\n BRp.isHeadless = function() {\n return false;\n };\n [BRp$f, BRp$5, BRp$4, BRp$3, BRp$2, BRp$1].forEach(function(props) {\n extend2(BRp, props);\n });\n var fullFpsTime = 1e3 / 60;\n var defs = {\n setupDequeueing: function setupDequeueing(opts) {\n return function setupDequeueingImpl() {\n var self2 = this;\n var r = this.renderer;\n if (self2.dequeueingSetup) {\n return;\n } else {\n self2.dequeueingSetup = true;\n }\n var queueRedraw = debounce_1(function() {\n r.redrawHint(\"eles\", true);\n r.redrawHint(\"drag\", true);\n r.redraw();\n }, opts.deqRedrawThreshold);\n var dequeue = function dequeue2(willDraw, frameStartTime) {\n var startTime = performanceNow();\n var avgRenderTime = r.averageRedrawTime;\n var renderTime = r.lastRedrawTime;\n var deqd = [];\n var extent = r.cy.extent();\n var pixelRatio = r.getPixelRatio();\n if (!willDraw) {\n r.flushRenderedStyleQueue();\n }\n while (true) {\n var now3 = performanceNow();\n var duration = now3 - startTime;\n var frameDuration = now3 - frameStartTime;\n if (renderTime < fullFpsTime) {\n var timeAvailable = fullFpsTime - (willDraw ? avgRenderTime : 0);\n if (frameDuration >= opts.deqFastCost * timeAvailable) {\n break;\n }\n } else {\n if (willDraw) {\n if (duration >= opts.deqCost * renderTime || duration >= opts.deqAvgCost * avgRenderTime) {\n break;\n }\n } else if (frameDuration >= opts.deqNoDrawCost * fullFpsTime) {\n break;\n }\n }\n var thisDeqd = opts.deq(self2, pixelRatio, extent);\n if (thisDeqd.length > 0) {\n for (var i3 = 0; i3 < thisDeqd.length; i3++) {\n deqd.push(thisDeqd[i3]);\n }\n } else {\n break;\n }\n }\n if (deqd.length > 0) {\n opts.onDeqd(self2, deqd);\n if (!willDraw && opts.shouldRedraw(self2, deqd, pixelRatio, extent)) {\n queueRedraw();\n }\n }\n };\n var priority = opts.priority || noop$12;\n r.beforeRender(dequeue, priority(self2));\n };\n }\n };\n var ElementTextureCacheLookup = /* @__PURE__ */ function() {\n function ElementTextureCacheLookup2(getKey2) {\n var doesEleInvalidateKey = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : falsify;\n _classCallCheck(this, ElementTextureCacheLookup2);\n this.idsByKey = new Map$22();\n this.keyForId = new Map$22();\n this.cachesByLvl = new Map$22();\n this.lvls = [];\n this.getKey = getKey2;\n this.doesEleInvalidateKey = doesEleInvalidateKey;\n }\n _createClass(ElementTextureCacheLookup2, [{\n key: \"getIdsFor\",\n value: function getIdsFor(key) {\n if (key == null) {\n error(\"Can not get id list for null key\");\n }\n var idsByKey = this.idsByKey;\n var ids = this.idsByKey.get(key);\n if (!ids) {\n ids = new Set$12();\n idsByKey.set(key, ids);\n }\n return ids;\n }\n }, {\n key: \"addIdForKey\",\n value: function addIdForKey(key, id2) {\n if (key != null) {\n this.getIdsFor(key).add(id2);\n }\n }\n }, {\n key: \"deleteIdForKey\",\n value: function deleteIdForKey(key, id2) {\n if (key != null) {\n this.getIdsFor(key)[\"delete\"](id2);\n }\n }\n }, {\n key: \"getNumberOfIdsForKey\",\n value: function getNumberOfIdsForKey(key) {\n if (key == null) {\n return 0;\n } else {\n return this.getIdsFor(key).size;\n }\n }\n }, {\n key: \"updateKeyMappingFor\",\n value: function updateKeyMappingFor(ele) {\n var id2 = ele.id();\n var prevKey = this.keyForId.get(id2);\n var currKey = this.getKey(ele);\n this.deleteIdForKey(prevKey, id2);\n this.addIdForKey(currKey, id2);\n this.keyForId.set(id2, currKey);\n }\n }, {\n key: \"deleteKeyMappingFor\",\n value: function deleteKeyMappingFor(ele) {\n var id2 = ele.id();\n var prevKey = this.keyForId.get(id2);\n this.deleteIdForKey(prevKey, id2);\n this.keyForId[\"delete\"](id2);\n }\n }, {\n key: \"keyHasChangedFor\",\n value: function keyHasChangedFor(ele) {\n var id2 = ele.id();\n var prevKey = this.keyForId.get(id2);\n var newKey = this.getKey(ele);\n return prevKey !== newKey;\n }\n }, {\n key: \"isInvalid\",\n value: function isInvalid(ele) {\n return this.keyHasChangedFor(ele) || this.doesEleInvalidateKey(ele);\n }\n }, {\n key: \"getCachesAt\",\n value: function getCachesAt(lvl) {\n var cachesByLvl = this.cachesByLvl, lvls = this.lvls;\n var caches = cachesByLvl.get(lvl);\n if (!caches) {\n caches = new Map$22();\n cachesByLvl.set(lvl, caches);\n lvls.push(lvl);\n }\n return caches;\n }\n }, {\n key: \"getCache\",\n value: function getCache(key, lvl) {\n return this.getCachesAt(lvl).get(key);\n }\n }, {\n key: \"get\",\n value: function get3(ele, lvl) {\n var key = this.getKey(ele);\n var cache2 = this.getCache(key, lvl);\n if (cache2 != null) {\n this.updateKeyMappingFor(ele);\n }\n return cache2;\n }\n }, {\n key: \"getForCachedKey\",\n value: function getForCachedKey(ele, lvl) {\n var key = this.keyForId.get(ele.id());\n var cache2 = this.getCache(key, lvl);\n return cache2;\n }\n }, {\n key: \"hasCache\",\n value: function hasCache(key, lvl) {\n return this.getCachesAt(lvl).has(key);\n }\n }, {\n key: \"has\",\n value: function has2(ele, lvl) {\n var key = this.getKey(ele);\n return this.hasCache(key, lvl);\n }\n }, {\n key: \"setCache\",\n value: function setCache(key, lvl, cache2) {\n cache2.key = key;\n this.getCachesAt(lvl).set(key, cache2);\n }\n }, {\n key: \"set\",\n value: function set3(ele, lvl, cache2) {\n var key = this.getKey(ele);\n this.setCache(key, lvl, cache2);\n this.updateKeyMappingFor(ele);\n }\n }, {\n key: \"deleteCache\",\n value: function deleteCache(key, lvl) {\n this.getCachesAt(lvl)[\"delete\"](key);\n }\n }, {\n key: \"delete\",\n value: function _delete(ele, lvl) {\n var key = this.getKey(ele);\n this.deleteCache(key, lvl);\n }\n }, {\n key: \"invalidateKey\",\n value: function invalidateKey(key) {\n var _this = this;\n this.lvls.forEach(function(lvl) {\n return _this.deleteCache(key, lvl);\n });\n }\n // returns true if no other eles reference the invalidated cache (n.b. other eles may need the cache with the same key)\n }, {\n key: \"invalidate\",\n value: function invalidate(ele) {\n var id2 = ele.id();\n var key = this.keyForId.get(id2);\n this.deleteKeyMappingFor(ele);\n var entireKeyInvalidated = this.doesEleInvalidateKey(ele);\n if (entireKeyInvalidated) {\n this.invalidateKey(key);\n }\n return entireKeyInvalidated || this.getNumberOfIdsForKey(key) === 0;\n }\n }]);\n return ElementTextureCacheLookup2;\n }();\n var minTxrH = 25;\n var txrStepH = 50;\n var minLvl$1 = -4;\n var maxLvl$1 = 3;\n var maxZoom$1 = 7.99;\n var eleTxrSpacing = 8;\n var defTxrWidth = 1024;\n var maxTxrW = 1024;\n var maxTxrH = 1024;\n var minUtility = 0.2;\n var maxFullness = 0.8;\n var maxFullnessChecks = 10;\n var deqCost$1 = 0.15;\n var deqAvgCost$1 = 0.1;\n var deqNoDrawCost$1 = 0.9;\n var deqFastCost$1 = 0.9;\n var deqRedrawThreshold$1 = 100;\n var maxDeqSize$1 = 1;\n var getTxrReasons = {\n dequeue: \"dequeue\",\n downscale: \"downscale\",\n highQuality: \"highQuality\"\n };\n var initDefaults = defaults$g({\n getKey: null,\n doesEleInvalidateKey: falsify,\n drawElement: null,\n getBoundingBox: null,\n getRotationPoint: null,\n getRotationOffset: null,\n isVisible: trueify,\n allowEdgeTxrCaching: true,\n allowParentTxrCaching: true\n });\n var ElementTextureCache = function ElementTextureCache2(renderer3, initOptions) {\n var self2 = this;\n self2.renderer = renderer3;\n self2.onDequeues = [];\n var opts = initDefaults(initOptions);\n extend2(self2, opts);\n self2.lookup = new ElementTextureCacheLookup(opts.getKey, opts.doesEleInvalidateKey);\n self2.setupDequeueing();\n };\n var ETCp = ElementTextureCache.prototype;\n ETCp.reasons = getTxrReasons;\n ETCp.getTextureQueue = function(txrH) {\n var self2 = this;\n self2.eleImgCaches = self2.eleImgCaches || {};\n return self2.eleImgCaches[txrH] = self2.eleImgCaches[txrH] || [];\n };\n ETCp.getRetiredTextureQueue = function(txrH) {\n var self2 = this;\n var rtxtrQs = self2.eleImgCaches.retired = self2.eleImgCaches.retired || {};\n var rtxtrQ = rtxtrQs[txrH] = rtxtrQs[txrH] || [];\n return rtxtrQ;\n };\n ETCp.getElementQueue = function() {\n var self2 = this;\n var q = self2.eleCacheQueue = self2.eleCacheQueue || new heap(function(a, b) {\n return b.reqs - a.reqs;\n });\n return q;\n };\n ETCp.getElementKeyToQueue = function() {\n var self2 = this;\n var k2q = self2.eleKeyToCacheQueue = self2.eleKeyToCacheQueue || {};\n return k2q;\n };\n ETCp.getElement = function(ele, bb, pxRatio, lvl, reason) {\n var self2 = this;\n var r = this.renderer;\n var zoom = r.cy.zoom();\n var lookup2 = this.lookup;\n if (!bb || bb.w === 0 || bb.h === 0 || isNaN(bb.w) || isNaN(bb.h) || !ele.visible() || ele.removed()) {\n return null;\n }\n if (!self2.allowEdgeTxrCaching && ele.isEdge() || !self2.allowParentTxrCaching && ele.isParent()) {\n return null;\n }\n if (lvl == null) {\n lvl = Math.ceil(log2(zoom * pxRatio));\n }\n if (lvl < minLvl$1) {\n lvl = minLvl$1;\n } else if (zoom >= maxZoom$1 || lvl > maxLvl$1) {\n return null;\n }\n var scale = Math.pow(2, lvl);\n var eleScaledH = bb.h * scale;\n var eleScaledW = bb.w * scale;\n var scaledLabelShown = r.eleTextBiggerThanMin(ele, scale);\n if (!this.isVisible(ele, scaledLabelShown)) {\n return null;\n }\n var eleCache = lookup2.get(ele, lvl);\n if (eleCache && eleCache.invalidated) {\n eleCache.invalidated = false;\n eleCache.texture.invalidatedWidth -= eleCache.width;\n }\n if (eleCache) {\n return eleCache;\n }\n var txrH;\n if (eleScaledH <= minTxrH) {\n txrH = minTxrH;\n } else if (eleScaledH <= txrStepH) {\n txrH = txrStepH;\n } else {\n txrH = Math.ceil(eleScaledH / txrStepH) * txrStepH;\n }\n if (eleScaledH > maxTxrH || eleScaledW > maxTxrW) {\n return null;\n }\n var txrQ = self2.getTextureQueue(txrH);\n var txr = txrQ[txrQ.length - 2];\n var addNewTxr = function addNewTxr2() {\n return self2.recycleTexture(txrH, eleScaledW) || self2.addTexture(txrH, eleScaledW);\n };\n if (!txr) {\n txr = txrQ[txrQ.length - 1];\n }\n if (!txr) {\n txr = addNewTxr();\n }\n if (txr.width - txr.usedWidth < eleScaledW) {\n txr = addNewTxr();\n }\n var scalableFrom = function scalableFrom2(otherCache) {\n return otherCache && otherCache.scaledLabelShown === scaledLabelShown;\n };\n var deqing = reason && reason === getTxrReasons.dequeue;\n var highQualityReq = reason && reason === getTxrReasons.highQuality;\n var downscaleReq = reason && reason === getTxrReasons.downscale;\n var higherCache;\n for (var l = lvl + 1; l <= maxLvl$1; l++) {\n var c2 = lookup2.get(ele, l);\n if (c2) {\n higherCache = c2;\n break;\n }\n }\n var oneUpCache = higherCache && higherCache.level === lvl + 1 ? higherCache : null;\n var downscale = function downscale2() {\n txr.context.drawImage(oneUpCache.texture.canvas, oneUpCache.x, 0, oneUpCache.width, oneUpCache.height, txr.usedWidth, 0, eleScaledW, eleScaledH);\n };\n txr.context.setTransform(1, 0, 0, 1, 0, 0);\n txr.context.clearRect(txr.usedWidth, 0, eleScaledW, txrH);\n if (scalableFrom(oneUpCache)) {\n downscale();\n } else if (scalableFrom(higherCache)) {\n if (highQualityReq) {\n for (var _l = higherCache.level; _l > lvl; _l--) {\n oneUpCache = self2.getElement(ele, bb, pxRatio, _l, getTxrReasons.downscale);\n }\n downscale();\n } else {\n self2.queueElement(ele, higherCache.level - 1);\n return higherCache;\n }\n } else {\n var lowerCache;\n if (!deqing && !highQualityReq && !downscaleReq) {\n for (var _l2 = lvl - 1; _l2 >= minLvl$1; _l2--) {\n var _c = lookup2.get(ele, _l2);\n if (_c) {\n lowerCache = _c;\n break;\n }\n }\n }\n if (scalableFrom(lowerCache)) {\n self2.queueElement(ele, lvl);\n return lowerCache;\n }\n txr.context.translate(txr.usedWidth, 0);\n txr.context.scale(scale, scale);\n this.drawElement(txr.context, ele, bb, scaledLabelShown, false);\n txr.context.scale(1 / scale, 1 / scale);\n txr.context.translate(-txr.usedWidth, 0);\n }\n eleCache = {\n x: txr.usedWidth,\n texture: txr,\n level: lvl,\n scale,\n width: eleScaledW,\n height: eleScaledH,\n scaledLabelShown\n };\n txr.usedWidth += Math.ceil(eleScaledW + eleTxrSpacing);\n txr.eleCaches.push(eleCache);\n lookup2.set(ele, lvl, eleCache);\n self2.checkTextureFullness(txr);\n return eleCache;\n };\n ETCp.invalidateElements = function(eles) {\n for (var i3 = 0; i3 < eles.length; i3++) {\n this.invalidateElement(eles[i3]);\n }\n };\n ETCp.invalidateElement = function(ele) {\n var self2 = this;\n var lookup2 = self2.lookup;\n var caches = [];\n var invalid = lookup2.isInvalid(ele);\n if (!invalid) {\n return;\n }\n for (var lvl = minLvl$1; lvl <= maxLvl$1; lvl++) {\n var cache2 = lookup2.getForCachedKey(ele, lvl);\n if (cache2) {\n caches.push(cache2);\n }\n }\n var noOtherElesUseCache = lookup2.invalidate(ele);\n if (noOtherElesUseCache) {\n for (var i3 = 0; i3 < caches.length; i3++) {\n var _cache = caches[i3];\n var txr = _cache.texture;\n txr.invalidatedWidth += _cache.width;\n _cache.invalidated = true;\n self2.checkTextureUtility(txr);\n }\n }\n self2.removeFromQueue(ele);\n };\n ETCp.checkTextureUtility = function(txr) {\n if (txr.invalidatedWidth >= minUtility * txr.width) {\n this.retireTexture(txr);\n }\n };\n ETCp.checkTextureFullness = function(txr) {\n var self2 = this;\n var txrQ = self2.getTextureQueue(txr.height);\n if (txr.usedWidth / txr.width > maxFullness && txr.fullnessChecks >= maxFullnessChecks) {\n removeFromArray(txrQ, txr);\n } else {\n txr.fullnessChecks++;\n }\n };\n ETCp.retireTexture = function(txr) {\n var self2 = this;\n var txrH = txr.height;\n var txrQ = self2.getTextureQueue(txrH);\n var lookup2 = this.lookup;\n removeFromArray(txrQ, txr);\n txr.retired = true;\n var eleCaches = txr.eleCaches;\n for (var i3 = 0; i3 < eleCaches.length; i3++) {\n var eleCache = eleCaches[i3];\n lookup2.deleteCache(eleCache.key, eleCache.level);\n }\n clearArray(eleCaches);\n var rtxtrQ = self2.getRetiredTextureQueue(txrH);\n rtxtrQ.push(txr);\n };\n ETCp.addTexture = function(txrH, minW) {\n var self2 = this;\n var txrQ = self2.getTextureQueue(txrH);\n var txr = {};\n txrQ.push(txr);\n txr.eleCaches = [];\n txr.height = txrH;\n txr.width = Math.max(defTxrWidth, minW);\n txr.usedWidth = 0;\n txr.invalidatedWidth = 0;\n txr.fullnessChecks = 0;\n txr.canvas = self2.renderer.makeOffscreenCanvas(txr.width, txr.height);\n txr.context = txr.canvas.getContext(\"2d\");\n return txr;\n };\n ETCp.recycleTexture = function(txrH, minW) {\n var self2 = this;\n var txrQ = self2.getTextureQueue(txrH);\n var rtxtrQ = self2.getRetiredTextureQueue(txrH);\n for (var i3 = 0; i3 < rtxtrQ.length; i3++) {\n var txr = rtxtrQ[i3];\n if (txr.width >= minW) {\n txr.retired = false;\n txr.usedWidth = 0;\n txr.invalidatedWidth = 0;\n txr.fullnessChecks = 0;\n clearArray(txr.eleCaches);\n txr.context.setTransform(1, 0, 0, 1, 0, 0);\n txr.context.clearRect(0, 0, txr.width, txr.height);\n removeFromArray(rtxtrQ, txr);\n txrQ.push(txr);\n return txr;\n }\n }\n };\n ETCp.queueElement = function(ele, lvl) {\n var self2 = this;\n var q = self2.getElementQueue();\n var k2q = self2.getElementKeyToQueue();\n var key = this.getKey(ele);\n var existingReq = k2q[key];\n if (existingReq) {\n existingReq.level = Math.max(existingReq.level, lvl);\n existingReq.eles.merge(ele);\n existingReq.reqs++;\n q.updateItem(existingReq);\n } else {\n var req = {\n eles: ele.spawn().merge(ele),\n level: lvl,\n reqs: 1,\n key\n };\n q.push(req);\n k2q[key] = req;\n }\n };\n ETCp.dequeue = function(pxRatio) {\n var self2 = this;\n var q = self2.getElementQueue();\n var k2q = self2.getElementKeyToQueue();\n var dequeued = [];\n var lookup2 = self2.lookup;\n for (var i3 = 0; i3 < maxDeqSize$1; i3++) {\n if (q.size() > 0) {\n var req = q.pop();\n var key = req.key;\n var ele = req.eles[0];\n var cacheExists = lookup2.hasCache(ele, req.level);\n k2q[key] = null;\n if (cacheExists) {\n continue;\n }\n dequeued.push(req);\n var bb = self2.getBoundingBox(ele);\n self2.getElement(ele, bb, pxRatio, req.level, getTxrReasons.dequeue);\n } else {\n break;\n }\n }\n return dequeued;\n };\n ETCp.removeFromQueue = function(ele) {\n var self2 = this;\n var q = self2.getElementQueue();\n var k2q = self2.getElementKeyToQueue();\n var key = this.getKey(ele);\n var req = k2q[key];\n if (req != null) {\n if (req.eles.length === 1) {\n req.reqs = MAX_INT$1;\n q.updateItem(req);\n q.pop();\n k2q[key] = null;\n } else {\n req.eles.unmerge(ele);\n }\n }\n };\n ETCp.onDequeue = function(fn2) {\n this.onDequeues.push(fn2);\n };\n ETCp.offDequeue = function(fn2) {\n removeFromArray(this.onDequeues, fn2);\n };\n ETCp.setupDequeueing = defs.setupDequeueing({\n deqRedrawThreshold: deqRedrawThreshold$1,\n deqCost: deqCost$1,\n deqAvgCost: deqAvgCost$1,\n deqNoDrawCost: deqNoDrawCost$1,\n deqFastCost: deqFastCost$1,\n deq: function deq(self2, pxRatio, extent) {\n return self2.dequeue(pxRatio, extent);\n },\n onDeqd: function onDeqd(self2, deqd) {\n for (var i3 = 0; i3 < self2.onDequeues.length; i3++) {\n var fn2 = self2.onDequeues[i3];\n fn2(deqd);\n }\n },\n shouldRedraw: function shouldRedraw(self2, deqd, pxRatio, extent) {\n for (var i3 = 0; i3 < deqd.length; i3++) {\n var eles = deqd[i3].eles;\n for (var j = 0; j < eles.length; j++) {\n var bb = eles[j].boundingBox();\n if (boundingBoxesIntersect(bb, extent)) {\n return true;\n }\n }\n }\n return false;\n },\n priority: function priority(self2) {\n return self2.renderer.beforeRenderPriorities.eleTxrDeq;\n }\n });\n var defNumLayers = 1;\n var minLvl = -4;\n var maxLvl = 2;\n var maxZoom = 3.99;\n var deqRedrawThreshold = 50;\n var refineEleDebounceTime = 50;\n var deqCost = 0.15;\n var deqAvgCost = 0.1;\n var deqNoDrawCost = 0.9;\n var deqFastCost = 0.9;\n var maxDeqSize = 1;\n var invalidThreshold = 250;\n var maxLayerArea = 4e3 * 4e3;\n var useHighQualityEleTxrReqs = true;\n var LayeredTextureCache = function LayeredTextureCache2(renderer3) {\n var self2 = this;\n var r = self2.renderer = renderer3;\n var cy = r.cy;\n self2.layersByLevel = {};\n self2.firstGet = true;\n self2.lastInvalidationTime = performanceNow() - 2 * invalidThreshold;\n self2.skipping = false;\n self2.eleTxrDeqs = cy.collection();\n self2.scheduleElementRefinement = debounce_1(function() {\n self2.refineElementTextures(self2.eleTxrDeqs);\n self2.eleTxrDeqs.unmerge(self2.eleTxrDeqs);\n }, refineEleDebounceTime);\n r.beforeRender(function(willDraw, now3) {\n if (now3 - self2.lastInvalidationTime <= invalidThreshold) {\n self2.skipping = true;\n } else {\n self2.skipping = false;\n }\n }, r.beforeRenderPriorities.lyrTxrSkip);\n var qSort = function qSort2(a, b) {\n return b.reqs - a.reqs;\n };\n self2.layersQueue = new heap(qSort);\n self2.setupDequeueing();\n };\n var LTCp = LayeredTextureCache.prototype;\n var layerIdPool = 0;\n var MAX_INT = Math.pow(2, 53) - 1;\n LTCp.makeLayer = function(bb, lvl) {\n var scale = Math.pow(2, lvl);\n var w2 = Math.ceil(bb.w * scale);\n var h = Math.ceil(bb.h * scale);\n var canvas = this.renderer.makeOffscreenCanvas(w2, h);\n var layer = {\n id: layerIdPool = ++layerIdPool % MAX_INT,\n bb,\n level: lvl,\n width: w2,\n height: h,\n canvas,\n context: canvas.getContext(\"2d\"),\n eles: [],\n elesQueue: [],\n reqs: 0\n };\n var cxt = layer.context;\n var dx = -layer.bb.x1;\n var dy = -layer.bb.y1;\n cxt.scale(scale, scale);\n cxt.translate(dx, dy);\n return layer;\n };\n LTCp.getLayers = function(eles, pxRatio, lvl) {\n var self2 = this;\n var r = self2.renderer;\n var cy = r.cy;\n var zoom = cy.zoom();\n var firstGet = self2.firstGet;\n self2.firstGet = false;\n if (lvl == null) {\n lvl = Math.ceil(log2(zoom * pxRatio));\n if (lvl < minLvl) {\n lvl = minLvl;\n } else if (zoom >= maxZoom || lvl > maxLvl) {\n return null;\n }\n }\n self2.validateLayersElesOrdering(lvl, eles);\n var layersByLvl = self2.layersByLevel;\n var scale = Math.pow(2, lvl);\n var layers = layersByLvl[lvl] = layersByLvl[lvl] || [];\n var bb;\n var lvlComplete = self2.levelIsComplete(lvl, eles);\n var tmpLayers;\n var checkTempLevels = function checkTempLevels2() {\n var canUseAsTmpLvl = function canUseAsTmpLvl2(l) {\n self2.validateLayersElesOrdering(l, eles);\n if (self2.levelIsComplete(l, eles)) {\n tmpLayers = layersByLvl[l];\n return true;\n }\n };\n var checkLvls = function checkLvls2(dir) {\n if (tmpLayers) {\n return;\n }\n for (var l = lvl + dir; minLvl <= l && l <= maxLvl; l += dir) {\n if (canUseAsTmpLvl(l)) {\n break;\n }\n }\n };\n checkLvls(1);\n checkLvls(-1);\n for (var i4 = layers.length - 1; i4 >= 0; i4--) {\n var layer2 = layers[i4];\n if (layer2.invalid) {\n removeFromArray(layers, layer2);\n }\n }\n };\n if (!lvlComplete) {\n checkTempLevels();\n } else {\n return layers;\n }\n var getBb = function getBb2() {\n if (!bb) {\n bb = makeBoundingBox();\n for (var i4 = 0; i4 < eles.length; i4++) {\n updateBoundingBox(bb, eles[i4].boundingBox());\n }\n }\n return bb;\n };\n var makeLayer = function makeLayer2(opts) {\n opts = opts || {};\n var after = opts.after;\n getBb();\n var area = bb.w * scale * (bb.h * scale);\n if (area > maxLayerArea) {\n return null;\n }\n var layer2 = self2.makeLayer(bb, lvl);\n if (after != null) {\n var index = layers.indexOf(after) + 1;\n layers.splice(index, 0, layer2);\n } else if (opts.insert === void 0 || opts.insert) {\n layers.unshift(layer2);\n }\n return layer2;\n };\n if (self2.skipping && !firstGet) {\n return null;\n }\n var layer = null;\n var maxElesPerLayer = eles.length / defNumLayers;\n var allowLazyQueueing = !firstGet;\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n var rs = ele._private.rscratch;\n var caches = rs.imgLayerCaches = rs.imgLayerCaches || {};\n var existingLayer = caches[lvl];\n if (existingLayer) {\n layer = existingLayer;\n continue;\n }\n if (!layer || layer.eles.length >= maxElesPerLayer || !boundingBoxInBoundingBox(layer.bb, ele.boundingBox())) {\n layer = makeLayer({\n insert: true,\n after: layer\n });\n if (!layer) {\n return null;\n }\n }\n if (tmpLayers || allowLazyQueueing) {\n self2.queueLayer(layer, ele);\n } else {\n self2.drawEleInLayer(layer, ele, lvl, pxRatio);\n }\n layer.eles.push(ele);\n caches[lvl] = layer;\n }\n if (tmpLayers) {\n return tmpLayers;\n }\n if (allowLazyQueueing) {\n return null;\n }\n return layers;\n };\n LTCp.getEleLevelForLayerLevel = function(lvl, pxRatio) {\n return lvl;\n };\n LTCp.drawEleInLayer = function(layer, ele, lvl, pxRatio) {\n var self2 = this;\n var r = this.renderer;\n var context = layer.context;\n var bb = ele.boundingBox();\n if (bb.w === 0 || bb.h === 0 || !ele.visible()) {\n return;\n }\n lvl = self2.getEleLevelForLayerLevel(lvl, pxRatio);\n {\n r.setImgSmoothing(context, false);\n }\n {\n r.drawCachedElement(context, ele, null, null, lvl, useHighQualityEleTxrReqs);\n }\n {\n r.setImgSmoothing(context, true);\n }\n };\n LTCp.levelIsComplete = function(lvl, eles) {\n var self2 = this;\n var layers = self2.layersByLevel[lvl];\n if (!layers || layers.length === 0) {\n return false;\n }\n var numElesInLayers = 0;\n for (var i3 = 0; i3 < layers.length; i3++) {\n var layer = layers[i3];\n if (layer.reqs > 0) {\n return false;\n }\n if (layer.invalid) {\n return false;\n }\n numElesInLayers += layer.eles.length;\n }\n if (numElesInLayers !== eles.length) {\n return false;\n }\n return true;\n };\n LTCp.validateLayersElesOrdering = function(lvl, eles) {\n var layers = this.layersByLevel[lvl];\n if (!layers) {\n return;\n }\n for (var i3 = 0; i3 < layers.length; i3++) {\n var layer = layers[i3];\n var offset = -1;\n for (var j = 0; j < eles.length; j++) {\n if (layer.eles[0] === eles[j]) {\n offset = j;\n break;\n }\n }\n if (offset < 0) {\n this.invalidateLayer(layer);\n continue;\n }\n var o = offset;\n for (var j = 0; j < layer.eles.length; j++) {\n if (layer.eles[j] !== eles[o + j]) {\n this.invalidateLayer(layer);\n break;\n }\n }\n }\n };\n LTCp.updateElementsInLayers = function(eles, update2) {\n var self2 = this;\n var isEles = element(eles[0]);\n for (var i3 = 0; i3 < eles.length; i3++) {\n var req = isEles ? null : eles[i3];\n var ele = isEles ? eles[i3] : eles[i3].ele;\n var rs = ele._private.rscratch;\n var caches = rs.imgLayerCaches = rs.imgLayerCaches || {};\n for (var l = minLvl; l <= maxLvl; l++) {\n var layer = caches[l];\n if (!layer) {\n continue;\n }\n if (req && self2.getEleLevelForLayerLevel(layer.level) !== req.level) {\n continue;\n }\n update2(layer, ele, req);\n }\n }\n };\n LTCp.haveLayers = function() {\n var self2 = this;\n var haveLayers = false;\n for (var l = minLvl; l <= maxLvl; l++) {\n var layers = self2.layersByLevel[l];\n if (layers && layers.length > 0) {\n haveLayers = true;\n break;\n }\n }\n return haveLayers;\n };\n LTCp.invalidateElements = function(eles) {\n var self2 = this;\n if (eles.length === 0) {\n return;\n }\n self2.lastInvalidationTime = performanceNow();\n if (eles.length === 0 || !self2.haveLayers()) {\n return;\n }\n self2.updateElementsInLayers(eles, function invalAssocLayers(layer, ele, req) {\n self2.invalidateLayer(layer);\n });\n };\n LTCp.invalidateLayer = function(layer) {\n this.lastInvalidationTime = performanceNow();\n if (layer.invalid) {\n return;\n }\n var lvl = layer.level;\n var eles = layer.eles;\n var layers = this.layersByLevel[lvl];\n removeFromArray(layers, layer);\n layer.elesQueue = [];\n layer.invalid = true;\n if (layer.replacement) {\n layer.replacement.invalid = true;\n }\n for (var i3 = 0; i3 < eles.length; i3++) {\n var caches = eles[i3]._private.rscratch.imgLayerCaches;\n if (caches) {\n caches[lvl] = null;\n }\n }\n };\n LTCp.refineElementTextures = function(eles) {\n var self2 = this;\n self2.updateElementsInLayers(eles, function refineEachEle(layer, ele, req) {\n var rLyr = layer.replacement;\n if (!rLyr) {\n rLyr = layer.replacement = self2.makeLayer(layer.bb, layer.level);\n rLyr.replaces = layer;\n rLyr.eles = layer.eles;\n }\n if (!rLyr.reqs) {\n for (var i3 = 0; i3 < rLyr.eles.length; i3++) {\n self2.queueLayer(rLyr, rLyr.eles[i3]);\n }\n }\n });\n };\n LTCp.enqueueElementRefinement = function(ele) {\n this.eleTxrDeqs.merge(ele);\n this.scheduleElementRefinement();\n };\n LTCp.queueLayer = function(layer, ele) {\n var self2 = this;\n var q = self2.layersQueue;\n var elesQ = layer.elesQueue;\n var hasId = elesQ.hasId = elesQ.hasId || {};\n if (layer.replacement) {\n return;\n }\n if (ele) {\n if (hasId[ele.id()]) {\n return;\n }\n elesQ.push(ele);\n hasId[ele.id()] = true;\n }\n if (layer.reqs) {\n layer.reqs++;\n q.updateItem(layer);\n } else {\n layer.reqs = 1;\n q.push(layer);\n }\n };\n LTCp.dequeue = function(pxRatio) {\n var self2 = this;\n var q = self2.layersQueue;\n var deqd = [];\n var eleDeqs = 0;\n while (eleDeqs < maxDeqSize) {\n if (q.size() === 0) {\n break;\n }\n var layer = q.peek();\n if (layer.replacement) {\n q.pop();\n continue;\n }\n if (layer.replaces && layer !== layer.replaces.replacement) {\n q.pop();\n continue;\n }\n if (layer.invalid) {\n q.pop();\n continue;\n }\n var ele = layer.elesQueue.shift();\n if (ele) {\n self2.drawEleInLayer(layer, ele, layer.level, pxRatio);\n eleDeqs++;\n }\n if (deqd.length === 0) {\n deqd.push(true);\n }\n if (layer.elesQueue.length === 0) {\n q.pop();\n layer.reqs = 0;\n if (layer.replaces) {\n self2.applyLayerReplacement(layer);\n }\n self2.requestRedraw();\n }\n }\n return deqd;\n };\n LTCp.applyLayerReplacement = function(layer) {\n var self2 = this;\n var layersInLevel = self2.layersByLevel[layer.level];\n var replaced = layer.replaces;\n var index = layersInLevel.indexOf(replaced);\n if (index < 0 || replaced.invalid) {\n return;\n }\n layersInLevel[index] = layer;\n for (var i3 = 0; i3 < layer.eles.length; i3++) {\n var _p = layer.eles[i3]._private;\n var cache2 = _p.imgLayerCaches = _p.imgLayerCaches || {};\n if (cache2) {\n cache2[layer.level] = layer;\n }\n }\n self2.requestRedraw();\n };\n LTCp.requestRedraw = debounce_1(function() {\n var r = this.renderer;\n r.redrawHint(\"eles\", true);\n r.redrawHint(\"drag\", true);\n r.redraw();\n }, 100);\n LTCp.setupDequeueing = defs.setupDequeueing({\n deqRedrawThreshold,\n deqCost,\n deqAvgCost,\n deqNoDrawCost,\n deqFastCost,\n deq: function deq(self2, pxRatio) {\n return self2.dequeue(pxRatio);\n },\n onDeqd: noop$12,\n shouldRedraw: trueify,\n priority: function priority(self2) {\n return self2.renderer.beforeRenderPriorities.lyrTxrDeq;\n }\n });\n var CRp$a = {};\n var impl;\n function polygon(context, points) {\n for (var i3 = 0; i3 < points.length; i3++) {\n var pt = points[i3];\n context.lineTo(pt.x, pt.y);\n }\n }\n function triangleBackcurve(context, points, controlPoint) {\n var firstPt;\n for (var i3 = 0; i3 < points.length; i3++) {\n var pt = points[i3];\n if (i3 === 0) {\n firstPt = pt;\n }\n context.lineTo(pt.x, pt.y);\n }\n context.quadraticCurveTo(controlPoint.x, controlPoint.y, firstPt.x, firstPt.y);\n }\n function triangleTee(context, trianglePoints, teePoints) {\n if (context.beginPath) {\n context.beginPath();\n }\n var triPts = trianglePoints;\n for (var i3 = 0; i3 < triPts.length; i3++) {\n var pt = triPts[i3];\n context.lineTo(pt.x, pt.y);\n }\n var teePts = teePoints;\n var firstTeePt = teePoints[0];\n context.moveTo(firstTeePt.x, firstTeePt.y);\n for (var i3 = 1; i3 < teePts.length; i3++) {\n var pt = teePts[i3];\n context.lineTo(pt.x, pt.y);\n }\n if (context.closePath) {\n context.closePath();\n }\n }\n function circleTriangle(context, trianglePoints, rx, ry, r) {\n if (context.beginPath) {\n context.beginPath();\n }\n context.arc(rx, ry, r, 0, Math.PI * 2, false);\n var triPts = trianglePoints;\n var firstTrPt = triPts[0];\n context.moveTo(firstTrPt.x, firstTrPt.y);\n for (var i3 = 0; i3 < triPts.length; i3++) {\n var pt = triPts[i3];\n context.lineTo(pt.x, pt.y);\n }\n if (context.closePath) {\n context.closePath();\n }\n }\n function circle2(context, rx, ry, r) {\n context.arc(rx, ry, r, 0, Math.PI * 2, false);\n }\n CRp$a.arrowShapeImpl = function(name2) {\n return (impl || (impl = {\n \"polygon\": polygon,\n \"triangle-backcurve\": triangleBackcurve,\n \"triangle-tee\": triangleTee,\n \"circle-triangle\": circleTriangle,\n \"triangle-cross\": triangleTee,\n \"circle\": circle2\n }))[name2];\n };\n var CRp$9 = {};\n CRp$9.drawElement = function(context, ele, shiftToOriginWithBb, showLabel, showOverlay, showOpacity) {\n var r = this;\n if (ele.isNode()) {\n r.drawNode(context, ele, shiftToOriginWithBb, showLabel, showOverlay, showOpacity);\n } else {\n r.drawEdge(context, ele, shiftToOriginWithBb, showLabel, showOverlay, showOpacity);\n }\n };\n CRp$9.drawElementOverlay = function(context, ele) {\n var r = this;\n if (ele.isNode()) {\n r.drawNodeOverlay(context, ele);\n } else {\n r.drawEdgeOverlay(context, ele);\n }\n };\n CRp$9.drawElementUnderlay = function(context, ele) {\n var r = this;\n if (ele.isNode()) {\n r.drawNodeUnderlay(context, ele);\n } else {\n r.drawEdgeUnderlay(context, ele);\n }\n };\n CRp$9.drawCachedElementPortion = function(context, ele, eleTxrCache, pxRatio, lvl, reason, getRotation, getOpacity2) {\n var r = this;\n var bb = eleTxrCache.getBoundingBox(ele);\n if (bb.w === 0 || bb.h === 0) {\n return;\n }\n var eleCache = eleTxrCache.getElement(ele, bb, pxRatio, lvl, reason);\n if (eleCache != null) {\n var opacity = getOpacity2(r, ele);\n if (opacity === 0) {\n return;\n }\n var theta = getRotation(r, ele);\n var x1 = bb.x1, y1 = bb.y1, w2 = bb.w, h = bb.h;\n var x2, y2, sx, sy, smooth;\n if (theta !== 0) {\n var rotPt = eleTxrCache.getRotationPoint(ele);\n sx = rotPt.x;\n sy = rotPt.y;\n context.translate(sx, sy);\n context.rotate(theta);\n smooth = r.getImgSmoothing(context);\n if (!smooth) {\n r.setImgSmoothing(context, true);\n }\n var off = eleTxrCache.getRotationOffset(ele);\n x2 = off.x;\n y2 = off.y;\n } else {\n x2 = x1;\n y2 = y1;\n }\n var oldGlobalAlpha;\n if (opacity !== 1) {\n oldGlobalAlpha = context.globalAlpha;\n context.globalAlpha = oldGlobalAlpha * opacity;\n }\n context.drawImage(eleCache.texture.canvas, eleCache.x, 0, eleCache.width, eleCache.height, x2, y2, w2, h);\n if (opacity !== 1) {\n context.globalAlpha = oldGlobalAlpha;\n }\n if (theta !== 0) {\n context.rotate(-theta);\n context.translate(-sx, -sy);\n if (!smooth) {\n r.setImgSmoothing(context, false);\n }\n }\n } else {\n eleTxrCache.drawElement(context, ele);\n }\n };\n var getZeroRotation = function getZeroRotation2() {\n return 0;\n };\n var getLabelRotation = function getLabelRotation2(r, ele) {\n return r.getTextAngle(ele, null);\n };\n var getSourceLabelRotation = function getSourceLabelRotation2(r, ele) {\n return r.getTextAngle(ele, \"source\");\n };\n var getTargetLabelRotation = function getTargetLabelRotation2(r, ele) {\n return r.getTextAngle(ele, \"target\");\n };\n var getOpacity = function getOpacity2(r, ele) {\n return ele.effectiveOpacity();\n };\n var getTextOpacity = function getTextOpacity2(e, ele) {\n return ele.pstyle(\"text-opacity\").pfValue * ele.effectiveOpacity();\n };\n CRp$9.drawCachedElement = function(context, ele, pxRatio, extent, lvl, requestHighQuality) {\n var r = this;\n var _r$data = r.data, eleTxrCache = _r$data.eleTxrCache, lblTxrCache = _r$data.lblTxrCache, slbTxrCache = _r$data.slbTxrCache, tlbTxrCache = _r$data.tlbTxrCache;\n var bb = ele.boundingBox();\n var reason = requestHighQuality === true ? eleTxrCache.reasons.highQuality : null;\n if (bb.w === 0 || bb.h === 0 || !ele.visible()) {\n return;\n }\n if (!extent || boundingBoxesIntersect(bb, extent)) {\n var isEdge = ele.isEdge();\n var badLine = ele.element()._private.rscratch.badLine;\n r.drawElementUnderlay(context, ele);\n r.drawCachedElementPortion(context, ele, eleTxrCache, pxRatio, lvl, reason, getZeroRotation, getOpacity);\n if (!isEdge || !badLine) {\n r.drawCachedElementPortion(context, ele, lblTxrCache, pxRatio, lvl, reason, getLabelRotation, getTextOpacity);\n }\n if (isEdge && !badLine) {\n r.drawCachedElementPortion(context, ele, slbTxrCache, pxRatio, lvl, reason, getSourceLabelRotation, getTextOpacity);\n r.drawCachedElementPortion(context, ele, tlbTxrCache, pxRatio, lvl, reason, getTargetLabelRotation, getTextOpacity);\n }\n r.drawElementOverlay(context, ele);\n }\n };\n CRp$9.drawElements = function(context, eles) {\n var r = this;\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n r.drawElement(context, ele);\n }\n };\n CRp$9.drawCachedElements = function(context, eles, pxRatio, extent) {\n var r = this;\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n r.drawCachedElement(context, ele, pxRatio, extent);\n }\n };\n CRp$9.drawCachedNodes = function(context, eles, pxRatio, extent) {\n var r = this;\n for (var i3 = 0; i3 < eles.length; i3++) {\n var ele = eles[i3];\n if (!ele.isNode()) {\n continue;\n }\n r.drawCachedElement(context, ele, pxRatio, extent);\n }\n };\n CRp$9.drawLayeredElements = function(context, eles, pxRatio, extent) {\n var r = this;\n var layers = r.data.lyrTxrCache.getLayers(eles, pxRatio);\n if (layers) {\n for (var i3 = 0; i3 < layers.length; i3++) {\n var layer = layers[i3];\n var bb = layer.bb;\n if (bb.w === 0 || bb.h === 0) {\n continue;\n }\n context.drawImage(layer.canvas, bb.x1, bb.y1, bb.w, bb.h);\n }\n } else {\n r.drawCachedElements(context, eles, pxRatio, extent);\n }\n };\n var CRp$8 = {};\n CRp$8.drawEdge = function(context, edge, shiftToOriginWithBb) {\n var drawLabel2 = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : true;\n var shouldDrawOverlay = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : true;\n var shouldDrawOpacity = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : true;\n var r = this;\n var rs = edge._private.rscratch;\n if (shouldDrawOpacity && !edge.visible()) {\n return;\n }\n if (rs.badLine || rs.allpts == null || isNaN(rs.allpts[0])) {\n return;\n }\n var bb;\n if (shiftToOriginWithBb) {\n bb = shiftToOriginWithBb;\n context.translate(-bb.x1, -bb.y1);\n }\n var opacity = shouldDrawOpacity ? edge.pstyle(\"opacity\").value : 1;\n var lineOpacity = shouldDrawOpacity ? edge.pstyle(\"line-opacity\").value : 1;\n var curveStyle = edge.pstyle(\"curve-style\").value;\n var lineStyle = edge.pstyle(\"line-style\").value;\n var edgeWidth = edge.pstyle(\"width\").pfValue;\n var lineCap = edge.pstyle(\"line-cap\").value;\n var effectiveLineOpacity = opacity * lineOpacity;\n var effectiveArrowOpacity = opacity * lineOpacity;\n var drawLine = function drawLine2() {\n var strokeOpacity = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : effectiveLineOpacity;\n if (curveStyle === \"straight-triangle\") {\n r.eleStrokeStyle(context, edge, strokeOpacity);\n r.drawEdgeTrianglePath(edge, context, rs.allpts);\n } else {\n context.lineWidth = edgeWidth;\n context.lineCap = lineCap;\n r.eleStrokeStyle(context, edge, strokeOpacity);\n r.drawEdgePath(edge, context, rs.allpts, lineStyle);\n context.lineCap = \"butt\";\n }\n };\n var drawOverlay = function drawOverlay2() {\n if (!shouldDrawOverlay) {\n return;\n }\n r.drawEdgeOverlay(context, edge);\n };\n var drawUnderlay = function drawUnderlay2() {\n if (!shouldDrawOverlay) {\n return;\n }\n r.drawEdgeUnderlay(context, edge);\n };\n var drawArrows2 = function drawArrows3() {\n var arrowOpacity = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : effectiveArrowOpacity;\n r.drawArrowheads(context, edge, arrowOpacity);\n };\n var drawText2 = function drawText3() {\n r.drawElementText(context, edge, null, drawLabel2);\n };\n context.lineJoin = \"round\";\n var ghost = edge.pstyle(\"ghost\").value === \"yes\";\n if (ghost) {\n var gx = edge.pstyle(\"ghost-offset-x\").pfValue;\n var gy = edge.pstyle(\"ghost-offset-y\").pfValue;\n var ghostOpacity = edge.pstyle(\"ghost-opacity\").value;\n var effectiveGhostOpacity = effectiveLineOpacity * ghostOpacity;\n context.translate(gx, gy);\n drawLine(effectiveGhostOpacity);\n drawArrows2(effectiveGhostOpacity);\n context.translate(-gx, -gy);\n }\n drawUnderlay();\n drawLine();\n drawArrows2();\n drawOverlay();\n drawText2();\n if (shiftToOriginWithBb) {\n context.translate(bb.x1, bb.y1);\n }\n };\n var drawEdgeOverlayUnderlay = function drawEdgeOverlayUnderlay2(overlayOrUnderlay) {\n if (![\"overlay\", \"underlay\"].includes(overlayOrUnderlay)) {\n throw new Error(\"Invalid state\");\n }\n return function(context, edge) {\n if (!edge.visible()) {\n return;\n }\n var opacity = edge.pstyle(\"\".concat(overlayOrUnderlay, \"-opacity\")).value;\n if (opacity === 0) {\n return;\n }\n var r = this;\n var usePaths = r.usePaths();\n var rs = edge._private.rscratch;\n var padding2 = edge.pstyle(\"\".concat(overlayOrUnderlay, \"-padding\")).pfValue;\n var width2 = 2 * padding2;\n var color2 = edge.pstyle(\"\".concat(overlayOrUnderlay, \"-color\")).value;\n context.lineWidth = width2;\n if (rs.edgeType === \"self\" && !usePaths) {\n context.lineCap = \"butt\";\n } else {\n context.lineCap = \"round\";\n }\n r.colorStrokeStyle(context, color2[0], color2[1], color2[2], opacity);\n r.drawEdgePath(edge, context, rs.allpts, \"solid\");\n };\n };\n CRp$8.drawEdgeOverlay = drawEdgeOverlayUnderlay(\"overlay\");\n CRp$8.drawEdgeUnderlay = drawEdgeOverlayUnderlay(\"underlay\");\n CRp$8.drawEdgePath = function(edge, context, pts2, type2) {\n var rs = edge._private.rscratch;\n var canvasCxt = context;\n var path2;\n var pathCacheHit = false;\n var usePaths = this.usePaths();\n var lineDashPattern = edge.pstyle(\"line-dash-pattern\").pfValue;\n var lineDashOffset = edge.pstyle(\"line-dash-offset\").pfValue;\n if (usePaths) {\n var pathCacheKey = pts2.join(\"$\");\n var keyMatches = rs.pathCacheKey && rs.pathCacheKey === pathCacheKey;\n if (keyMatches) {\n path2 = context = rs.pathCache;\n pathCacheHit = true;\n } else {\n path2 = context = new Path2D();\n rs.pathCacheKey = pathCacheKey;\n rs.pathCache = path2;\n }\n }\n if (canvasCxt.setLineDash) {\n switch (type2) {\n case \"dotted\":\n canvasCxt.setLineDash([1, 1]);\n break;\n case \"dashed\":\n canvasCxt.setLineDash(lineDashPattern);\n canvasCxt.lineDashOffset = lineDashOffset;\n break;\n case \"solid\":\n canvasCxt.setLineDash([]);\n break;\n }\n }\n if (!pathCacheHit && !rs.badLine) {\n if (context.beginPath) {\n context.beginPath();\n }\n context.moveTo(pts2[0], pts2[1]);\n switch (rs.edgeType) {\n case \"bezier\":\n case \"self\":\n case \"compound\":\n case \"multibezier\":\n for (var i3 = 2; i3 + 3 < pts2.length; i3 += 4) {\n context.quadraticCurveTo(pts2[i3], pts2[i3 + 1], pts2[i3 + 2], pts2[i3 + 3]);\n }\n break;\n case \"straight\":\n case \"segments\":\n case \"haystack\":\n for (var _i = 2; _i + 1 < pts2.length; _i += 2) {\n context.lineTo(pts2[_i], pts2[_i + 1]);\n }\n break;\n }\n }\n context = canvasCxt;\n if (usePaths) {\n context.stroke(path2);\n } else {\n context.stroke();\n }\n if (context.setLineDash) {\n context.setLineDash([]);\n }\n };\n CRp$8.drawEdgeTrianglePath = function(edge, context, pts2) {\n context.fillStyle = context.strokeStyle;\n var edgeWidth = edge.pstyle(\"width\").pfValue;\n for (var i3 = 0; i3 + 1 < pts2.length; i3 += 2) {\n var vector = [pts2[i3 + 2] - pts2[i3], pts2[i3 + 3] - pts2[i3 + 1]];\n var length2 = Math.sqrt(vector[0] * vector[0] + vector[1] * vector[1]);\n var normal2 = [vector[1] / length2, -vector[0] / length2];\n var triangleHead = [normal2[0] * edgeWidth / 2, normal2[1] * edgeWidth / 2];\n context.beginPath();\n context.moveTo(pts2[i3] - triangleHead[0], pts2[i3 + 1] - triangleHead[1]);\n context.lineTo(pts2[i3] + triangleHead[0], pts2[i3 + 1] + triangleHead[1]);\n context.lineTo(pts2[i3 + 2], pts2[i3 + 3]);\n context.closePath();\n context.fill();\n }\n };\n CRp$8.drawArrowheads = function(context, edge, opacity) {\n var rs = edge._private.rscratch;\n var isHaystack = rs.edgeType === \"haystack\";\n if (!isHaystack) {\n this.drawArrowhead(context, edge, \"source\", rs.arrowStartX, rs.arrowStartY, rs.srcArrowAngle, opacity);\n }\n this.drawArrowhead(context, edge, \"mid-target\", rs.midX, rs.midY, rs.midtgtArrowAngle, opacity);\n this.drawArrowhead(context, edge, \"mid-source\", rs.midX, rs.midY, rs.midsrcArrowAngle, opacity);\n if (!isHaystack) {\n this.drawArrowhead(context, edge, \"target\", rs.arrowEndX, rs.arrowEndY, rs.tgtArrowAngle, opacity);\n }\n };\n CRp$8.drawArrowhead = function(context, edge, prefix, x2, y2, angle, opacity) {\n if (isNaN(x2) || x2 == null || isNaN(y2) || y2 == null || isNaN(angle) || angle == null) {\n return;\n }\n var self2 = this;\n var arrowShape = edge.pstyle(prefix + \"-arrow-shape\").value;\n if (arrowShape === \"none\") {\n return;\n }\n var arrowClearFill = edge.pstyle(prefix + \"-arrow-fill\").value === \"hollow\" ? \"both\" : \"filled\";\n var arrowFill = edge.pstyle(prefix + \"-arrow-fill\").value;\n var edgeWidth = edge.pstyle(\"width\").pfValue;\n var edgeOpacity = edge.pstyle(\"opacity\").value;\n if (opacity === void 0) {\n opacity = edgeOpacity;\n }\n var gco = context.globalCompositeOperation;\n if (opacity !== 1 || arrowFill === \"hollow\") {\n context.globalCompositeOperation = \"destination-out\";\n self2.colorFillStyle(context, 255, 255, 255, 1);\n self2.colorStrokeStyle(context, 255, 255, 255, 1);\n self2.drawArrowShape(edge, context, arrowClearFill, edgeWidth, arrowShape, x2, y2, angle);\n context.globalCompositeOperation = gco;\n }\n var color2 = edge.pstyle(prefix + \"-arrow-color\").value;\n self2.colorFillStyle(context, color2[0], color2[1], color2[2], opacity);\n self2.colorStrokeStyle(context, color2[0], color2[1], color2[2], opacity);\n self2.drawArrowShape(edge, context, arrowFill, edgeWidth, arrowShape, x2, y2, angle);\n };\n CRp$8.drawArrowShape = function(edge, context, fill, edgeWidth, shape, x2, y2, angle) {\n var r = this;\n var usePaths = this.usePaths() && shape !== \"triangle-cross\";\n var pathCacheHit = false;\n var path2;\n var canvasContext = context;\n var translation = {\n x: x2,\n y: y2\n };\n var scale = edge.pstyle(\"arrow-scale\").value;\n var size2 = this.getArrowWidth(edgeWidth, scale);\n var shapeImpl = r.arrowShapes[shape];\n if (usePaths) {\n var cache2 = r.arrowPathCache = r.arrowPathCache || [];\n var key = hashString(shape);\n var cachedPath = cache2[key];\n if (cachedPath != null) {\n path2 = context = cachedPath;\n pathCacheHit = true;\n } else {\n path2 = context = new Path2D();\n cache2[key] = path2;\n }\n }\n if (!pathCacheHit) {\n if (context.beginPath) {\n context.beginPath();\n }\n if (usePaths) {\n shapeImpl.draw(context, 1, 0, {\n x: 0,\n y: 0\n }, 1);\n } else {\n shapeImpl.draw(context, size2, angle, translation, edgeWidth);\n }\n if (context.closePath) {\n context.closePath();\n }\n }\n context = canvasContext;\n if (usePaths) {\n context.translate(x2, y2);\n context.rotate(angle);\n context.scale(size2, size2);\n }\n if (fill === \"filled\" || fill === \"both\") {\n if (usePaths) {\n context.fill(path2);\n } else {\n context.fill();\n }\n }\n if (fill === \"hollow\" || fill === \"both\") {\n context.lineWidth = (shapeImpl.matchEdgeWidth ? edgeWidth : 1) / (usePaths ? size2 : 1);\n context.lineJoin = \"miter\";\n if (usePaths) {\n context.stroke(path2);\n } else {\n context.stroke();\n }\n }\n if (usePaths) {\n context.scale(1 / size2, 1 / size2);\n context.rotate(-angle);\n context.translate(-x2, -y2);\n }\n };\n var CRp$7 = {};\n CRp$7.safeDrawImage = function(context, img, ix, iy, iw, ih, x2, y2, w2, h) {\n if (iw <= 0 || ih <= 0 || w2 <= 0 || h <= 0) {\n return;\n }\n try {\n context.drawImage(img, ix, iy, iw, ih, x2, y2, w2, h);\n } catch (e) {\n warn(e);\n }\n };\n CRp$7.drawInscribedImage = function(context, img, node2, index, nodeOpacity) {\n var r = this;\n var pos = node2.position();\n var nodeX = pos.x;\n var nodeY = pos.y;\n var styleObj = node2.cy().style();\n var getIndexedStyle = styleObj.getIndexedStyle.bind(styleObj);\n var fit = getIndexedStyle(node2, \"background-fit\", \"value\", index);\n var repeat2 = getIndexedStyle(node2, \"background-repeat\", \"value\", index);\n var nodeW = node2.width();\n var nodeH = node2.height();\n var paddingX2 = node2.padding() * 2;\n var nodeTW = nodeW + (getIndexedStyle(node2, \"background-width-relative-to\", \"value\", index) === \"inner\" ? 0 : paddingX2);\n var nodeTH = nodeH + (getIndexedStyle(node2, \"background-height-relative-to\", \"value\", index) === \"inner\" ? 0 : paddingX2);\n var rs = node2._private.rscratch;\n var clip = getIndexedStyle(node2, \"background-clip\", \"value\", index);\n var shouldClip = clip === \"node\";\n var imgOpacity = getIndexedStyle(node2, \"background-image-opacity\", \"value\", index) * nodeOpacity;\n var smooth = getIndexedStyle(node2, \"background-image-smoothing\", \"value\", index);\n var imgW = img.width || img.cachedW;\n var imgH = img.height || img.cachedH;\n if (null == imgW || null == imgH) {\n document.body.appendChild(img);\n imgW = img.cachedW = img.width || img.offsetWidth;\n imgH = img.cachedH = img.height || img.offsetHeight;\n document.body.removeChild(img);\n }\n var w2 = imgW;\n var h = imgH;\n if (getIndexedStyle(node2, \"background-width\", \"value\", index) !== \"auto\") {\n if (getIndexedStyle(node2, \"background-width\", \"units\", index) === \"%\") {\n w2 = getIndexedStyle(node2, \"background-width\", \"pfValue\", index) * nodeTW;\n } else {\n w2 = getIndexedStyle(node2, \"background-width\", \"pfValue\", index);\n }\n }\n if (getIndexedStyle(node2, \"background-height\", \"value\", index) !== \"auto\") {\n if (getIndexedStyle(node2, \"background-height\", \"units\", index) === \"%\") {\n h = getIndexedStyle(node2, \"background-height\", \"pfValue\", index) * nodeTH;\n } else {\n h = getIndexedStyle(node2, \"background-height\", \"pfValue\", index);\n }\n }\n if (w2 === 0 || h === 0) {\n return;\n }\n if (fit === \"contain\") {\n var scale = Math.min(nodeTW / w2, nodeTH / h);\n w2 *= scale;\n h *= scale;\n } else if (fit === \"cover\") {\n var scale = Math.max(nodeTW / w2, nodeTH / h);\n w2 *= scale;\n h *= scale;\n }\n var x2 = nodeX - nodeTW / 2;\n var posXUnits = getIndexedStyle(node2, \"background-position-x\", \"units\", index);\n var posXPfVal = getIndexedStyle(node2, \"background-position-x\", \"pfValue\", index);\n if (posXUnits === \"%\") {\n x2 += (nodeTW - w2) * posXPfVal;\n } else {\n x2 += posXPfVal;\n }\n var offXUnits = getIndexedStyle(node2, \"background-offset-x\", \"units\", index);\n var offXPfVal = getIndexedStyle(node2, \"background-offset-x\", \"pfValue\", index);\n if (offXUnits === \"%\") {\n x2 += (nodeTW - w2) * offXPfVal;\n } else {\n x2 += offXPfVal;\n }\n var y2 = nodeY - nodeTH / 2;\n var posYUnits = getIndexedStyle(node2, \"background-position-y\", \"units\", index);\n var posYPfVal = getIndexedStyle(node2, \"background-position-y\", \"pfValue\", index);\n if (posYUnits === \"%\") {\n y2 += (nodeTH - h) * posYPfVal;\n } else {\n y2 += posYPfVal;\n }\n var offYUnits = getIndexedStyle(node2, \"background-offset-y\", \"units\", index);\n var offYPfVal = getIndexedStyle(node2, \"background-offset-y\", \"pfValue\", index);\n if (offYUnits === \"%\") {\n y2 += (nodeTH - h) * offYPfVal;\n } else {\n y2 += offYPfVal;\n }\n if (rs.pathCache) {\n x2 -= nodeX;\n y2 -= nodeY;\n nodeX = 0;\n nodeY = 0;\n }\n var gAlpha = context.globalAlpha;\n context.globalAlpha = imgOpacity;\n var smoothingEnabled = r.getImgSmoothing(context);\n var isSmoothingSwitched = false;\n if (smooth === \"no\" && smoothingEnabled) {\n r.setImgSmoothing(context, false);\n isSmoothingSwitched = true;\n } else if (smooth === \"yes\" && !smoothingEnabled) {\n r.setImgSmoothing(context, true);\n isSmoothingSwitched = true;\n }\n if (repeat2 === \"no-repeat\") {\n if (shouldClip) {\n context.save();\n if (rs.pathCache) {\n context.clip(rs.pathCache);\n } else {\n r.nodeShapes[r.getNodeShape(node2)].draw(context, nodeX, nodeY, nodeTW, nodeTH);\n context.clip();\n }\n }\n r.safeDrawImage(context, img, 0, 0, imgW, imgH, x2, y2, w2, h);\n if (shouldClip) {\n context.restore();\n }\n } else {\n var pattern = context.createPattern(img, repeat2);\n context.fillStyle = pattern;\n r.nodeShapes[r.getNodeShape(node2)].draw(context, nodeX, nodeY, nodeTW, nodeTH);\n context.translate(x2, y2);\n context.fill();\n context.translate(-x2, -y2);\n }\n context.globalAlpha = gAlpha;\n if (isSmoothingSwitched) {\n r.setImgSmoothing(context, smoothingEnabled);\n }\n };\n var CRp$6 = {};\n CRp$6.eleTextBiggerThanMin = function(ele, scale) {\n if (!scale) {\n var zoom = ele.cy().zoom();\n var pxRatio = this.getPixelRatio();\n var lvl = Math.ceil(log2(zoom * pxRatio));\n scale = Math.pow(2, lvl);\n }\n var computedSize = ele.pstyle(\"font-size\").pfValue * scale;\n var minSize = ele.pstyle(\"min-zoomed-font-size\").pfValue;\n if (computedSize < minSize) {\n return false;\n }\n return true;\n };\n CRp$6.drawElementText = function(context, ele, shiftToOriginWithBb, force, prefix) {\n var useEleOpacity = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : true;\n var r = this;\n if (force == null) {\n if (useEleOpacity && !r.eleTextBiggerThanMin(ele)) {\n return;\n }\n } else if (force === false) {\n return;\n }\n if (ele.isNode()) {\n var label = ele.pstyle(\"label\");\n if (!label || !label.value) {\n return;\n }\n var justification = r.getLabelJustification(ele);\n context.textAlign = justification;\n context.textBaseline = \"bottom\";\n } else {\n var badLine = ele.element()._private.rscratch.badLine;\n var _label = ele.pstyle(\"label\");\n var srcLabel = ele.pstyle(\"source-label\");\n var tgtLabel = ele.pstyle(\"target-label\");\n if (badLine || (!_label || !_label.value) && (!srcLabel || !srcLabel.value) && (!tgtLabel || !tgtLabel.value)) {\n return;\n }\n context.textAlign = \"center\";\n context.textBaseline = \"bottom\";\n }\n var applyRotation = !shiftToOriginWithBb;\n var bb;\n if (shiftToOriginWithBb) {\n bb = shiftToOriginWithBb;\n context.translate(-bb.x1, -bb.y1);\n }\n if (prefix == null) {\n r.drawText(context, ele, null, applyRotation, useEleOpacity);\n if (ele.isEdge()) {\n r.drawText(context, ele, \"source\", applyRotation, useEleOpacity);\n r.drawText(context, ele, \"target\", applyRotation, useEleOpacity);\n }\n } else {\n r.drawText(context, ele, prefix, applyRotation, useEleOpacity);\n }\n if (shiftToOriginWithBb) {\n context.translate(bb.x1, bb.y1);\n }\n };\n CRp$6.getFontCache = function(context) {\n var cache2;\n this.fontCaches = this.fontCaches || [];\n for (var i3 = 0; i3 < this.fontCaches.length; i3++) {\n cache2 = this.fontCaches[i3];\n if (cache2.context === context) {\n return cache2;\n }\n }\n cache2 = {\n context\n };\n this.fontCaches.push(cache2);\n return cache2;\n };\n CRp$6.setupTextStyle = function(context, ele) {\n var useEleOpacity = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;\n var labelStyle = ele.pstyle(\"font-style\").strValue;\n var labelSize = ele.pstyle(\"font-size\").pfValue + \"px\";\n var labelFamily = ele.pstyle(\"font-family\").strValue;\n var labelWeight = ele.pstyle(\"font-weight\").strValue;\n var opacity = useEleOpacity ? ele.effectiveOpacity() * ele.pstyle(\"text-opacity\").value : 1;\n var outlineOpacity = ele.pstyle(\"text-outline-opacity\").value * opacity;\n var color2 = ele.pstyle(\"color\").value;\n var outlineColor = ele.pstyle(\"text-outline-color\").value;\n context.font = labelStyle + \" \" + labelWeight + \" \" + labelSize + \" \" + labelFamily;\n context.lineJoin = \"round\";\n this.colorFillStyle(context, color2[0], color2[1], color2[2], opacity);\n this.colorStrokeStyle(context, outlineColor[0], outlineColor[1], outlineColor[2], outlineOpacity);\n };\n function roundRect(ctx, x2, y2, width2, height2) {\n var radius = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 5;\n ctx.beginPath();\n ctx.moveTo(x2 + radius, y2);\n ctx.lineTo(x2 + width2 - radius, y2);\n ctx.quadraticCurveTo(x2 + width2, y2, x2 + width2, y2 + radius);\n ctx.lineTo(x2 + width2, y2 + height2 - radius);\n ctx.quadraticCurveTo(x2 + width2, y2 + height2, x2 + width2 - radius, y2 + height2);\n ctx.lineTo(x2 + radius, y2 + height2);\n ctx.quadraticCurveTo(x2, y2 + height2, x2, y2 + height2 - radius);\n ctx.lineTo(x2, y2 + radius);\n ctx.quadraticCurveTo(x2, y2, x2 + radius, y2);\n ctx.closePath();\n ctx.fill();\n }\n CRp$6.getTextAngle = function(ele, prefix) {\n var theta;\n var _p = ele._private;\n var rscratch = _p.rscratch;\n var pdash = prefix ? prefix + \"-\" : \"\";\n var rotation = ele.pstyle(pdash + \"text-rotation\");\n var textAngle = getPrefixedProperty(rscratch, \"labelAngle\", prefix);\n if (rotation.strValue === \"autorotate\") {\n theta = ele.isEdge() ? textAngle : 0;\n } else if (rotation.strValue === \"none\") {\n theta = 0;\n } else {\n theta = rotation.pfValue;\n }\n return theta;\n };\n CRp$6.drawText = function(context, ele, prefix) {\n var applyRotation = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : true;\n var useEleOpacity = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : true;\n var _p = ele._private;\n var rscratch = _p.rscratch;\n var parentOpacity = useEleOpacity ? ele.effectiveOpacity() : 1;\n if (useEleOpacity && (parentOpacity === 0 || ele.pstyle(\"text-opacity\").value === 0)) {\n return;\n }\n if (prefix === \"main\") {\n prefix = null;\n }\n var textX = getPrefixedProperty(rscratch, \"labelX\", prefix);\n var textY = getPrefixedProperty(rscratch, \"labelY\", prefix);\n var orgTextX, orgTextY;\n var text2 = this.getLabelText(ele, prefix);\n if (text2 != null && text2 !== \"\" && !isNaN(textX) && !isNaN(textY)) {\n this.setupTextStyle(context, ele, useEleOpacity);\n var pdash = prefix ? prefix + \"-\" : \"\";\n var textW = getPrefixedProperty(rscratch, \"labelWidth\", prefix);\n var textH = getPrefixedProperty(rscratch, \"labelHeight\", prefix);\n var marginX = ele.pstyle(pdash + \"text-margin-x\").pfValue;\n var marginY = ele.pstyle(pdash + \"text-margin-y\").pfValue;\n var isEdge = ele.isEdge();\n var halign = ele.pstyle(\"text-halign\").value;\n var valign = ele.pstyle(\"text-valign\").value;\n if (isEdge) {\n halign = \"center\";\n valign = \"center\";\n }\n textX += marginX;\n textY += marginY;\n var theta;\n if (!applyRotation) {\n theta = 0;\n } else {\n theta = this.getTextAngle(ele, prefix);\n }\n if (theta !== 0) {\n orgTextX = textX;\n orgTextY = textY;\n context.translate(orgTextX, orgTextY);\n context.rotate(theta);\n textX = 0;\n textY = 0;\n }\n switch (valign) {\n case \"top\":\n break;\n case \"center\":\n textY += textH / 2;\n break;\n case \"bottom\":\n textY += textH;\n break;\n }\n var backgroundOpacity = ele.pstyle(\"text-background-opacity\").value;\n var borderOpacity = ele.pstyle(\"text-border-opacity\").value;\n var textBorderWidth = ele.pstyle(\"text-border-width\").pfValue;\n var backgroundPadding = ele.pstyle(\"text-background-padding\").pfValue;\n if (backgroundOpacity > 0 || textBorderWidth > 0 && borderOpacity > 0) {\n var bgX = textX - backgroundPadding;\n switch (halign) {\n case \"left\":\n bgX -= textW;\n break;\n case \"center\":\n bgX -= textW / 2;\n break;\n }\n var bgY = textY - textH - backgroundPadding;\n var bgW = textW + 2 * backgroundPadding;\n var bgH = textH + 2 * backgroundPadding;\n if (backgroundOpacity > 0) {\n var textFill = context.fillStyle;\n var textBackgroundColor = ele.pstyle(\"text-background-color\").value;\n context.fillStyle = \"rgba(\" + textBackgroundColor[0] + \",\" + textBackgroundColor[1] + \",\" + textBackgroundColor[2] + \",\" + backgroundOpacity * parentOpacity + \")\";\n var styleShape = ele.pstyle(\"text-background-shape\").strValue;\n if (styleShape.indexOf(\"round\") === 0) {\n roundRect(context, bgX, bgY, bgW, bgH, 2);\n } else {\n context.fillRect(bgX, bgY, bgW, bgH);\n }\n context.fillStyle = textFill;\n }\n if (textBorderWidth > 0 && borderOpacity > 0) {\n var textStroke = context.strokeStyle;\n var textLineWidth = context.lineWidth;\n var textBorderColor = ele.pstyle(\"text-border-color\").value;\n var textBorderStyle = ele.pstyle(\"text-border-style\").value;\n context.strokeStyle = \"rgba(\" + textBorderColor[0] + \",\" + textBorderColor[1] + \",\" + textBorderColor[2] + \",\" + borderOpacity * parentOpacity + \")\";\n context.lineWidth = textBorderWidth;\n if (context.setLineDash) {\n switch (textBorderStyle) {\n case \"dotted\":\n context.setLineDash([1, 1]);\n break;\n case \"dashed\":\n context.setLineDash([4, 2]);\n break;\n case \"double\":\n context.lineWidth = textBorderWidth / 4;\n context.setLineDash([]);\n break;\n case \"solid\":\n context.setLineDash([]);\n break;\n }\n }\n context.strokeRect(bgX, bgY, bgW, bgH);\n if (textBorderStyle === \"double\") {\n var whiteWidth = textBorderWidth / 2;\n context.strokeRect(bgX + whiteWidth, bgY + whiteWidth, bgW - whiteWidth * 2, bgH - whiteWidth * 2);\n }\n if (context.setLineDash) {\n context.setLineDash([]);\n }\n context.lineWidth = textLineWidth;\n context.strokeStyle = textStroke;\n }\n }\n var lineWidth = 2 * ele.pstyle(\"text-outline-width\").pfValue;\n if (lineWidth > 0) {\n context.lineWidth = lineWidth;\n }\n if (ele.pstyle(\"text-wrap\").value === \"wrap\") {\n var lines = getPrefixedProperty(rscratch, \"labelWrapCachedLines\", prefix);\n var lineHeight = getPrefixedProperty(rscratch, \"labelLineHeight\", prefix);\n var halfTextW = textW / 2;\n var justification = this.getLabelJustification(ele);\n if (justification === \"auto\")\n ;\n else if (halign === \"left\") {\n if (justification === \"left\") {\n textX += -textW;\n } else if (justification === \"center\") {\n textX += -halfTextW;\n }\n } else if (halign === \"center\") {\n if (justification === \"left\") {\n textX += -halfTextW;\n } else if (justification === \"right\") {\n textX += halfTextW;\n }\n } else if (halign === \"right\") {\n if (justification === \"center\") {\n textX += halfTextW;\n } else if (justification === \"right\") {\n textX += textW;\n }\n }\n switch (valign) {\n case \"top\":\n textY -= (lines.length - 1) * lineHeight;\n break;\n case \"center\":\n case \"bottom\":\n textY -= (lines.length - 1) * lineHeight;\n break;\n }\n for (var l = 0; l < lines.length; l++) {\n if (lineWidth > 0) {\n context.strokeText(lines[l], textX, textY);\n }\n context.fillText(lines[l], textX, textY);\n textY += lineHeight;\n }\n } else {\n if (lineWidth > 0) {\n context.strokeText(text2, textX, textY);\n }\n context.fillText(text2, textX, textY);\n }\n if (theta !== 0) {\n context.rotate(-theta);\n context.translate(-orgTextX, -orgTextY);\n }\n }\n };\n var CRp$5 = {};\n CRp$5.drawNode = function(context, node2, shiftToOriginWithBb) {\n var drawLabel2 = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : true;\n var shouldDrawOverlay = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : true;\n var shouldDrawOpacity = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : true;\n var r = this;\n var nodeWidth, nodeHeight;\n var _p = node2._private;\n var rs = _p.rscratch;\n var pos = node2.position();\n if (!number$12(pos.x) || !number$12(pos.y)) {\n return;\n }\n if (shouldDrawOpacity && !node2.visible()) {\n return;\n }\n var eleOpacity = shouldDrawOpacity ? node2.effectiveOpacity() : 1;\n var usePaths = r.usePaths();\n var path2;\n var pathCacheHit = false;\n var padding2 = node2.padding();\n nodeWidth = node2.width() + 2 * padding2;\n nodeHeight = node2.height() + 2 * padding2;\n var bb;\n if (shiftToOriginWithBb) {\n bb = shiftToOriginWithBb;\n context.translate(-bb.x1, -bb.y1);\n }\n var bgImgProp = node2.pstyle(\"background-image\");\n var urls = bgImgProp.value;\n var urlDefined = new Array(urls.length);\n var image = new Array(urls.length);\n var numImages = 0;\n for (var i3 = 0; i3 < urls.length; i3++) {\n var url = urls[i3];\n var defd = urlDefined[i3] = url != null && url !== \"none\";\n if (defd) {\n var bgImgCrossOrigin = node2.cy().style().getIndexedStyle(node2, \"background-image-crossorigin\", \"value\", i3);\n numImages++;\n image[i3] = r.getCachedImage(url, bgImgCrossOrigin, function() {\n _p.backgroundTimestamp = Date.now();\n node2.emitAndNotify(\"background\");\n });\n }\n }\n var darkness = node2.pstyle(\"background-blacken\").value;\n var borderWidth = node2.pstyle(\"border-width\").pfValue;\n var bgOpacity = node2.pstyle(\"background-opacity\").value * eleOpacity;\n var borderColor = node2.pstyle(\"border-color\").value;\n var borderStyle = node2.pstyle(\"border-style\").value;\n var borderOpacity = node2.pstyle(\"border-opacity\").value * eleOpacity;\n context.lineJoin = \"miter\";\n var setupShapeColor = function setupShapeColor2() {\n var bgOpy = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : bgOpacity;\n r.eleFillStyle(context, node2, bgOpy);\n };\n var setupBorderColor = function setupBorderColor2() {\n var bdrOpy = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : borderOpacity;\n r.colorStrokeStyle(context, borderColor[0], borderColor[1], borderColor[2], bdrOpy);\n };\n var styleShape = node2.pstyle(\"shape\").strValue;\n var shapePts = node2.pstyle(\"shape-polygon-points\").pfValue;\n if (usePaths) {\n context.translate(pos.x, pos.y);\n var pathCache = r.nodePathCache = r.nodePathCache || [];\n var key = hashStrings(styleShape === \"polygon\" ? styleShape + \",\" + shapePts.join(\",\") : styleShape, \"\" + nodeHeight, \"\" + nodeWidth);\n var cachedPath = pathCache[key];\n if (cachedPath != null) {\n path2 = cachedPath;\n pathCacheHit = true;\n rs.pathCache = path2;\n } else {\n path2 = new Path2D();\n pathCache[key] = rs.pathCache = path2;\n }\n }\n var drawShape = function drawShape2() {\n if (!pathCacheHit) {\n var npos = pos;\n if (usePaths) {\n npos = {\n x: 0,\n y: 0\n };\n }\n r.nodeShapes[r.getNodeShape(node2)].draw(path2 || context, npos.x, npos.y, nodeWidth, nodeHeight);\n }\n if (usePaths) {\n context.fill(path2);\n } else {\n context.fill();\n }\n };\n var drawImages = function drawImages2() {\n var nodeOpacity = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : eleOpacity;\n var inside = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;\n var prevBging = _p.backgrounding;\n var totalCompleted = 0;\n for (var _i = 0; _i < image.length; _i++) {\n var bgContainment = node2.cy().style().getIndexedStyle(node2, \"background-image-containment\", \"value\", _i);\n if (inside && bgContainment === \"over\" || !inside && bgContainment === \"inside\") {\n totalCompleted++;\n continue;\n }\n if (urlDefined[_i] && image[_i].complete && !image[_i].error) {\n totalCompleted++;\n r.drawInscribedImage(context, image[_i], node2, _i, nodeOpacity);\n }\n }\n _p.backgrounding = !(totalCompleted === numImages);\n if (prevBging !== _p.backgrounding) {\n node2.updateStyle(false);\n }\n };\n var drawPie = function drawPie2() {\n var redrawShape = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false;\n var pieOpacity = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : eleOpacity;\n if (r.hasPie(node2)) {\n r.drawPie(context, node2, pieOpacity);\n if (redrawShape) {\n if (!usePaths) {\n r.nodeShapes[r.getNodeShape(node2)].draw(context, pos.x, pos.y, nodeWidth, nodeHeight);\n }\n }\n }\n };\n var darken2 = function darken3() {\n var darkenOpacity = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : eleOpacity;\n var opacity = (darkness > 0 ? darkness : -darkness) * darkenOpacity;\n var c2 = darkness > 0 ? 0 : 255;\n if (darkness !== 0) {\n r.colorFillStyle(context, c2, c2, c2, opacity);\n if (usePaths) {\n context.fill(path2);\n } else {\n context.fill();\n }\n }\n };\n var drawBorder = function drawBorder2() {\n if (borderWidth > 0) {\n context.lineWidth = borderWidth;\n context.lineCap = \"butt\";\n if (context.setLineDash) {\n switch (borderStyle) {\n case \"dotted\":\n context.setLineDash([1, 1]);\n break;\n case \"dashed\":\n context.setLineDash([4, 2]);\n break;\n case \"solid\":\n case \"double\":\n context.setLineDash([]);\n break;\n }\n }\n if (usePaths) {\n context.stroke(path2);\n } else {\n context.stroke();\n }\n if (borderStyle === \"double\") {\n context.lineWidth = borderWidth / 3;\n var gco = context.globalCompositeOperation;\n context.globalCompositeOperation = \"destination-out\";\n if (usePaths) {\n context.stroke(path2);\n } else {\n context.stroke();\n }\n context.globalCompositeOperation = gco;\n }\n if (context.setLineDash) {\n context.setLineDash([]);\n }\n }\n };\n var drawOverlay = function drawOverlay2() {\n if (shouldDrawOverlay) {\n r.drawNodeOverlay(context, node2, pos, nodeWidth, nodeHeight);\n }\n };\n var drawUnderlay = function drawUnderlay2() {\n if (shouldDrawOverlay) {\n r.drawNodeUnderlay(context, node2, pos, nodeWidth, nodeHeight);\n }\n };\n var drawText2 = function drawText3() {\n r.drawElementText(context, node2, null, drawLabel2);\n };\n var ghost = node2.pstyle(\"ghost\").value === \"yes\";\n if (ghost) {\n var gx = node2.pstyle(\"ghost-offset-x\").pfValue;\n var gy = node2.pstyle(\"ghost-offset-y\").pfValue;\n var ghostOpacity = node2.pstyle(\"ghost-opacity\").value;\n var effGhostOpacity = ghostOpacity * eleOpacity;\n context.translate(gx, gy);\n setupShapeColor(ghostOpacity * bgOpacity);\n drawShape();\n drawImages(effGhostOpacity, true);\n setupBorderColor(ghostOpacity * borderOpacity);\n drawBorder();\n drawPie(darkness !== 0 || borderWidth !== 0);\n drawImages(effGhostOpacity, false);\n darken2(effGhostOpacity);\n context.translate(-gx, -gy);\n }\n if (usePaths) {\n context.translate(-pos.x, -pos.y);\n }\n drawUnderlay();\n if (usePaths) {\n context.translate(pos.x, pos.y);\n }\n setupShapeColor();\n drawShape();\n drawImages(eleOpacity, true);\n setupBorderColor();\n drawBorder();\n drawPie(darkness !== 0 || borderWidth !== 0);\n drawImages(eleOpacity, false);\n darken2();\n if (usePaths) {\n context.translate(-pos.x, -pos.y);\n }\n drawText2();\n drawOverlay();\n if (shiftToOriginWithBb) {\n context.translate(bb.x1, bb.y1);\n }\n };\n var drawNodeOverlayUnderlay = function drawNodeOverlayUnderlay2(overlayOrUnderlay) {\n if (![\"overlay\", \"underlay\"].includes(overlayOrUnderlay)) {\n throw new Error(\"Invalid state\");\n }\n return function(context, node2, pos, nodeWidth, nodeHeight) {\n var r = this;\n if (!node2.visible()) {\n return;\n }\n var padding2 = node2.pstyle(\"\".concat(overlayOrUnderlay, \"-padding\")).pfValue;\n var opacity = node2.pstyle(\"\".concat(overlayOrUnderlay, \"-opacity\")).value;\n var color2 = node2.pstyle(\"\".concat(overlayOrUnderlay, \"-color\")).value;\n var shape = node2.pstyle(\"\".concat(overlayOrUnderlay, \"-shape\")).value;\n if (opacity > 0) {\n pos = pos || node2.position();\n if (nodeWidth == null || nodeHeight == null) {\n var _padding = node2.padding();\n nodeWidth = node2.width() + 2 * _padding;\n nodeHeight = node2.height() + 2 * _padding;\n }\n r.colorFillStyle(context, color2[0], color2[1], color2[2], opacity);\n r.nodeShapes[shape].draw(context, pos.x, pos.y, nodeWidth + padding2 * 2, nodeHeight + padding2 * 2);\n context.fill();\n }\n };\n };\n CRp$5.drawNodeOverlay = drawNodeOverlayUnderlay(\"overlay\");\n CRp$5.drawNodeUnderlay = drawNodeOverlayUnderlay(\"underlay\");\n CRp$5.hasPie = function(node2) {\n node2 = node2[0];\n return node2._private.hasPie;\n };\n CRp$5.drawPie = function(context, node2, nodeOpacity, pos) {\n node2 = node2[0];\n pos = pos || node2.position();\n var cyStyle = node2.cy().style();\n var pieSize = node2.pstyle(\"pie-size\");\n var x2 = pos.x;\n var y2 = pos.y;\n var nodeW = node2.width();\n var nodeH = node2.height();\n var radius = Math.min(nodeW, nodeH) / 2;\n var lastPercent = 0;\n var usePaths = this.usePaths();\n if (usePaths) {\n x2 = 0;\n y2 = 0;\n }\n if (pieSize.units === \"%\") {\n radius = radius * pieSize.pfValue;\n } else if (pieSize.pfValue !== void 0) {\n radius = pieSize.pfValue / 2;\n }\n for (var i3 = 1; i3 <= cyStyle.pieBackgroundN; i3++) {\n var size2 = node2.pstyle(\"pie-\" + i3 + \"-background-size\").value;\n var color2 = node2.pstyle(\"pie-\" + i3 + \"-background-color\").value;\n var opacity = node2.pstyle(\"pie-\" + i3 + \"-background-opacity\").value * nodeOpacity;\n var percent = size2 / 100;\n if (percent + lastPercent > 1) {\n percent = 1 - lastPercent;\n }\n var angleStart = 1.5 * Math.PI + 2 * Math.PI * lastPercent;\n var angleDelta = 2 * Math.PI * percent;\n var angleEnd = angleStart + angleDelta;\n if (size2 === 0 || lastPercent >= 1 || lastPercent + percent > 1) {\n continue;\n }\n context.beginPath();\n context.moveTo(x2, y2);\n context.arc(x2, y2, radius, angleStart, angleEnd);\n context.closePath();\n this.colorFillStyle(context, color2[0], color2[1], color2[2], opacity);\n context.fill();\n lastPercent += percent;\n }\n };\n var CRp$4 = {};\n var motionBlurDelay = 100;\n CRp$4.getPixelRatio = function() {\n var context = this.data.contexts[0];\n if (this.forcedPixelRatio != null) {\n return this.forcedPixelRatio;\n }\n var backingStore = context.backingStorePixelRatio || context.webkitBackingStorePixelRatio || context.mozBackingStorePixelRatio || context.msBackingStorePixelRatio || context.oBackingStorePixelRatio || context.backingStorePixelRatio || 1;\n return (window.devicePixelRatio || 1) / backingStore;\n };\n CRp$4.paintCache = function(context) {\n var caches = this.paintCaches = this.paintCaches || [];\n var needToCreateCache = true;\n var cache2;\n for (var i3 = 0; i3 < caches.length; i3++) {\n cache2 = caches[i3];\n if (cache2.context === context) {\n needToCreateCache = false;\n break;\n }\n }\n if (needToCreateCache) {\n cache2 = {\n context\n };\n caches.push(cache2);\n }\n return cache2;\n };\n CRp$4.createGradientStyleFor = function(context, shapeStyleName, ele, fill, opacity) {\n var gradientStyle;\n var usePaths = this.usePaths();\n var colors2 = ele.pstyle(shapeStyleName + \"-gradient-stop-colors\").value, positions = ele.pstyle(shapeStyleName + \"-gradient-stop-positions\").pfValue;\n if (fill === \"radial-gradient\") {\n if (ele.isEdge()) {\n var start2 = ele.sourceEndpoint(), end2 = ele.targetEndpoint(), mid = ele.midpoint();\n var d1 = dist2(start2, mid);\n var d2 = dist2(end2, mid);\n gradientStyle = context.createRadialGradient(mid.x, mid.y, 0, mid.x, mid.y, Math.max(d1, d2));\n } else {\n var pos = usePaths ? {\n x: 0,\n y: 0\n } : ele.position(), width2 = ele.paddedWidth(), height2 = ele.paddedHeight();\n gradientStyle = context.createRadialGradient(pos.x, pos.y, 0, pos.x, pos.y, Math.max(width2, height2));\n }\n } else {\n if (ele.isEdge()) {\n var _start = ele.sourceEndpoint(), _end = ele.targetEndpoint();\n gradientStyle = context.createLinearGradient(_start.x, _start.y, _end.x, _end.y);\n } else {\n var _pos = usePaths ? {\n x: 0,\n y: 0\n } : ele.position(), _width = ele.paddedWidth(), _height = ele.paddedHeight(), halfWidth = _width / 2, halfHeight = _height / 2;\n var direction2 = ele.pstyle(\"background-gradient-direction\").value;\n switch (direction2) {\n case \"to-bottom\":\n gradientStyle = context.createLinearGradient(_pos.x, _pos.y - halfHeight, _pos.x, _pos.y + halfHeight);\n break;\n case \"to-top\":\n gradientStyle = context.createLinearGradient(_pos.x, _pos.y + halfHeight, _pos.x, _pos.y - halfHeight);\n break;\n case \"to-left\":\n gradientStyle = context.createLinearGradient(_pos.x + halfWidth, _pos.y, _pos.x - halfWidth, _pos.y);\n break;\n case \"to-right\":\n gradientStyle = context.createLinearGradient(_pos.x - halfWidth, _pos.y, _pos.x + halfWidth, _pos.y);\n break;\n case \"to-bottom-right\":\n case \"to-right-bottom\":\n gradientStyle = context.createLinearGradient(_pos.x - halfWidth, _pos.y - halfHeight, _pos.x + halfWidth, _pos.y + halfHeight);\n break;\n case \"to-top-right\":\n case \"to-right-top\":\n gradientStyle = context.createLinearGradient(_pos.x - halfWidth, _pos.y + halfHeight, _pos.x + halfWidth, _pos.y - halfHeight);\n break;\n case \"to-bottom-left\":\n case \"to-left-bottom\":\n gradientStyle = context.createLinearGradient(_pos.x + halfWidth, _pos.y - halfHeight, _pos.x - halfWidth, _pos.y + halfHeight);\n break;\n case \"to-top-left\":\n case \"to-left-top\":\n gradientStyle = context.createLinearGradient(_pos.x + halfWidth, _pos.y + halfHeight, _pos.x - halfWidth, _pos.y - halfHeight);\n break;\n }\n }\n }\n if (!gradientStyle)\n return null;\n var hasPositions = positions.length === colors2.length;\n var length2 = colors2.length;\n for (var i3 = 0; i3 < length2; i3++) {\n gradientStyle.addColorStop(hasPositions ? positions[i3] : i3 / (length2 - 1), \"rgba(\" + colors2[i3][0] + \",\" + colors2[i3][1] + \",\" + colors2[i3][2] + \",\" + opacity + \")\");\n }\n return gradientStyle;\n };\n CRp$4.gradientFillStyle = function(context, ele, fill, opacity) {\n var gradientStyle = this.createGradientStyleFor(context, \"background\", ele, fill, opacity);\n if (!gradientStyle)\n return null;\n context.fillStyle = gradientStyle;\n };\n CRp$4.colorFillStyle = function(context, r, g, b, a) {\n context.fillStyle = \"rgba(\" + r + \",\" + g + \",\" + b + \",\" + a + \")\";\n };\n CRp$4.eleFillStyle = function(context, ele, opacity) {\n var backgroundFill = ele.pstyle(\"background-fill\").value;\n if (backgroundFill === \"linear-gradient\" || backgroundFill === \"radial-gradient\") {\n this.gradientFillStyle(context, ele, backgroundFill, opacity);\n } else {\n var backgroundColor = ele.pstyle(\"background-color\").value;\n this.colorFillStyle(context, backgroundColor[0], backgroundColor[1], backgroundColor[2], opacity);\n }\n };\n CRp$4.gradientStrokeStyle = function(context, ele, fill, opacity) {\n var gradientStyle = this.createGradientStyleFor(context, \"line\", ele, fill, opacity);\n if (!gradientStyle)\n return null;\n context.strokeStyle = gradientStyle;\n };\n CRp$4.colorStrokeStyle = function(context, r, g, b, a) {\n context.strokeStyle = \"rgba(\" + r + \",\" + g + \",\" + b + \",\" + a + \")\";\n };\n CRp$4.eleStrokeStyle = function(context, ele, opacity) {\n var lineFill = ele.pstyle(\"line-fill\").value;\n if (lineFill === \"linear-gradient\" || lineFill === \"radial-gradient\") {\n this.gradientStrokeStyle(context, ele, lineFill, opacity);\n } else {\n var lineColor = ele.pstyle(\"line-color\").value;\n this.colorStrokeStyle(context, lineColor[0], lineColor[1], lineColor[2], opacity);\n }\n };\n CRp$4.matchCanvasSize = function(container) {\n var r = this;\n var data2 = r.data;\n var bb = r.findContainerClientCoords();\n var width2 = bb[2];\n var height2 = bb[3];\n var pixelRatio = r.getPixelRatio();\n var mbPxRatio = r.motionBlurPxRatio;\n if (container === r.data.bufferCanvases[r.MOTIONBLUR_BUFFER_NODE] || container === r.data.bufferCanvases[r.MOTIONBLUR_BUFFER_DRAG]) {\n pixelRatio = mbPxRatio;\n }\n var canvasWidth = width2 * pixelRatio;\n var canvasHeight = height2 * pixelRatio;\n var canvas;\n if (canvasWidth === r.canvasWidth && canvasHeight === r.canvasHeight) {\n return;\n }\n r.fontCaches = null;\n var canvasContainer = data2.canvasContainer;\n canvasContainer.style.width = width2 + \"px\";\n canvasContainer.style.height = height2 + \"px\";\n for (var i3 = 0; i3 < r.CANVAS_LAYERS; i3++) {\n canvas = data2.canvases[i3];\n canvas.width = canvasWidth;\n canvas.height = canvasHeight;\n canvas.style.width = width2 + \"px\";\n canvas.style.height = height2 + \"px\";\n }\n for (var i3 = 0; i3 < r.BUFFER_COUNT; i3++) {\n canvas = data2.bufferCanvases[i3];\n canvas.width = canvasWidth;\n canvas.height = canvasHeight;\n canvas.style.width = width2 + \"px\";\n canvas.style.height = height2 + \"px\";\n }\n r.textureMult = 1;\n if (pixelRatio <= 1) {\n canvas = data2.bufferCanvases[r.TEXTURE_BUFFER];\n r.textureMult = 2;\n canvas.width = canvasWidth * r.textureMult;\n canvas.height = canvasHeight * r.textureMult;\n }\n r.canvasWidth = canvasWidth;\n r.canvasHeight = canvasHeight;\n };\n CRp$4.renderTo = function(cxt, zoom, pan, pxRatio) {\n this.render({\n forcedContext: cxt,\n forcedZoom: zoom,\n forcedPan: pan,\n drawAllLayers: true,\n forcedPxRatio: pxRatio\n });\n };\n CRp$4.render = function(options2) {\n options2 = options2 || staticEmptyObject();\n var forcedContext = options2.forcedContext;\n var drawAllLayers = options2.drawAllLayers;\n var drawOnlyNodeLayer = options2.drawOnlyNodeLayer;\n var forcedZoom = options2.forcedZoom;\n var forcedPan = options2.forcedPan;\n var r = this;\n var pixelRatio = options2.forcedPxRatio === void 0 ? this.getPixelRatio() : options2.forcedPxRatio;\n var cy = r.cy;\n var data2 = r.data;\n var needDraw = data2.canvasNeedsRedraw;\n var textureDraw = r.textureOnViewport && !forcedContext && (r.pinching || r.hoverData.dragging || r.swipePanning || r.data.wheelZooming);\n var motionBlur = options2.motionBlur !== void 0 ? options2.motionBlur : r.motionBlur;\n var mbPxRatio = r.motionBlurPxRatio;\n var hasCompoundNodes = cy.hasCompoundNodes();\n var inNodeDragGesture = r.hoverData.draggingEles;\n var inBoxSelection = r.hoverData.selecting || r.touchData.selecting ? true : false;\n motionBlur = motionBlur && !forcedContext && r.motionBlurEnabled && !inBoxSelection;\n var motionBlurFadeEffect = motionBlur;\n if (!forcedContext) {\n if (r.prevPxRatio !== pixelRatio) {\n r.invalidateContainerClientCoordsCache();\n r.matchCanvasSize(r.container);\n r.redrawHint(\"eles\", true);\n r.redrawHint(\"drag\", true);\n }\n r.prevPxRatio = pixelRatio;\n }\n if (!forcedContext && r.motionBlurTimeout) {\n clearTimeout(r.motionBlurTimeout);\n }\n if (motionBlur) {\n if (r.mbFrames == null) {\n r.mbFrames = 0;\n }\n r.mbFrames++;\n if (r.mbFrames < 3) {\n motionBlurFadeEffect = false;\n }\n if (r.mbFrames > r.minMbLowQualFrames) {\n r.motionBlurPxRatio = r.mbPxRBlurry;\n }\n }\n if (r.clearingMotionBlur) {\n r.motionBlurPxRatio = 1;\n }\n if (r.textureDrawLastFrame && !textureDraw) {\n needDraw[r.NODE] = true;\n needDraw[r.SELECT_BOX] = true;\n }\n var style = cy.style();\n var zoom = cy.zoom();\n var effectiveZoom = forcedZoom !== void 0 ? forcedZoom : zoom;\n var pan = cy.pan();\n var effectivePan = {\n x: pan.x,\n y: pan.y\n };\n var vp = {\n zoom,\n pan: {\n x: pan.x,\n y: pan.y\n }\n };\n var prevVp = r.prevViewport;\n var viewportIsDiff = prevVp === void 0 || vp.zoom !== prevVp.zoom || vp.pan.x !== prevVp.pan.x || vp.pan.y !== prevVp.pan.y;\n if (!viewportIsDiff && !(inNodeDragGesture && !hasCompoundNodes)) {\n r.motionBlurPxRatio = 1;\n }\n if (forcedPan) {\n effectivePan = forcedPan;\n }\n effectiveZoom *= pixelRatio;\n effectivePan.x *= pixelRatio;\n effectivePan.y *= pixelRatio;\n var eles = r.getCachedZSortedEles();\n function mbclear(context2, x2, y2, w2, h) {\n var gco = context2.globalCompositeOperation;\n context2.globalCompositeOperation = \"destination-out\";\n r.colorFillStyle(context2, 255, 255, 255, r.motionBlurTransparency);\n context2.fillRect(x2, y2, w2, h);\n context2.globalCompositeOperation = gco;\n }\n function setContextTransform(context2, clear3) {\n var ePan, eZoom, w2, h;\n if (!r.clearingMotionBlur && (context2 === data2.bufferContexts[r.MOTIONBLUR_BUFFER_NODE] || context2 === data2.bufferContexts[r.MOTIONBLUR_BUFFER_DRAG])) {\n ePan = {\n x: pan.x * mbPxRatio,\n y: pan.y * mbPxRatio\n };\n eZoom = zoom * mbPxRatio;\n w2 = r.canvasWidth * mbPxRatio;\n h = r.canvasHeight * mbPxRatio;\n } else {\n ePan = effectivePan;\n eZoom = effectiveZoom;\n w2 = r.canvasWidth;\n h = r.canvasHeight;\n }\n context2.setTransform(1, 0, 0, 1, 0, 0);\n if (clear3 === \"motionBlur\") {\n mbclear(context2, 0, 0, w2, h);\n } else if (!forcedContext && (clear3 === void 0 || clear3)) {\n context2.clearRect(0, 0, w2, h);\n }\n if (!drawAllLayers) {\n context2.translate(ePan.x, ePan.y);\n context2.scale(eZoom, eZoom);\n }\n if (forcedPan) {\n context2.translate(forcedPan.x, forcedPan.y);\n }\n if (forcedZoom) {\n context2.scale(forcedZoom, forcedZoom);\n }\n }\n if (!textureDraw) {\n r.textureDrawLastFrame = false;\n }\n if (textureDraw) {\n r.textureDrawLastFrame = true;\n if (!r.textureCache) {\n r.textureCache = {};\n r.textureCache.bb = cy.mutableElements().boundingBox();\n r.textureCache.texture = r.data.bufferCanvases[r.TEXTURE_BUFFER];\n var cxt = r.data.bufferContexts[r.TEXTURE_BUFFER];\n cxt.setTransform(1, 0, 0, 1, 0, 0);\n cxt.clearRect(0, 0, r.canvasWidth * r.textureMult, r.canvasHeight * r.textureMult);\n r.render({\n forcedContext: cxt,\n drawOnlyNodeLayer: true,\n forcedPxRatio: pixelRatio * r.textureMult\n });\n var vp = r.textureCache.viewport = {\n zoom: cy.zoom(),\n pan: cy.pan(),\n width: r.canvasWidth,\n height: r.canvasHeight\n };\n vp.mpan = {\n x: (0 - vp.pan.x) / vp.zoom,\n y: (0 - vp.pan.y) / vp.zoom\n };\n }\n needDraw[r.DRAG] = false;\n needDraw[r.NODE] = false;\n var context = data2.contexts[r.NODE];\n var texture = r.textureCache.texture;\n var vp = r.textureCache.viewport;\n context.setTransform(1, 0, 0, 1, 0, 0);\n if (motionBlur) {\n mbclear(context, 0, 0, vp.width, vp.height);\n } else {\n context.clearRect(0, 0, vp.width, vp.height);\n }\n var outsideBgColor = style.core(\"outside-texture-bg-color\").value;\n var outsideBgOpacity = style.core(\"outside-texture-bg-opacity\").value;\n r.colorFillStyle(context, outsideBgColor[0], outsideBgColor[1], outsideBgColor[2], outsideBgOpacity);\n context.fillRect(0, 0, vp.width, vp.height);\n var zoom = cy.zoom();\n setContextTransform(context, false);\n context.clearRect(vp.mpan.x, vp.mpan.y, vp.width / vp.zoom / pixelRatio, vp.height / vp.zoom / pixelRatio);\n context.drawImage(texture, vp.mpan.x, vp.mpan.y, vp.width / vp.zoom / pixelRatio, vp.height / vp.zoom / pixelRatio);\n } else if (r.textureOnViewport && !forcedContext) {\n r.textureCache = null;\n }\n var extent = cy.extent();\n var vpManip = r.pinching || r.hoverData.dragging || r.swipePanning || r.data.wheelZooming || r.hoverData.draggingEles || r.cy.animated();\n var hideEdges = r.hideEdgesOnViewport && vpManip;\n var needMbClear = [];\n needMbClear[r.NODE] = !needDraw[r.NODE] && motionBlur && !r.clearedForMotionBlur[r.NODE] || r.clearingMotionBlur;\n if (needMbClear[r.NODE]) {\n r.clearedForMotionBlur[r.NODE] = true;\n }\n needMbClear[r.DRAG] = !needDraw[r.DRAG] && motionBlur && !r.clearedForMotionBlur[r.DRAG] || r.clearingMotionBlur;\n if (needMbClear[r.DRAG]) {\n r.clearedForMotionBlur[r.DRAG] = true;\n }\n if (needDraw[r.NODE] || drawAllLayers || drawOnlyNodeLayer || needMbClear[r.NODE]) {\n var useBuffer = motionBlur && !needMbClear[r.NODE] && mbPxRatio !== 1;\n var context = forcedContext || (useBuffer ? r.data.bufferContexts[r.MOTIONBLUR_BUFFER_NODE] : data2.contexts[r.NODE]);\n var clear2 = motionBlur && !useBuffer ? \"motionBlur\" : void 0;\n setContextTransform(context, clear2);\n if (hideEdges) {\n r.drawCachedNodes(context, eles.nondrag, pixelRatio, extent);\n } else {\n r.drawLayeredElements(context, eles.nondrag, pixelRatio, extent);\n }\n if (r.debug) {\n r.drawDebugPoints(context, eles.nondrag);\n }\n if (!drawAllLayers && !motionBlur) {\n needDraw[r.NODE] = false;\n }\n }\n if (!drawOnlyNodeLayer && (needDraw[r.DRAG] || drawAllLayers || needMbClear[r.DRAG])) {\n var useBuffer = motionBlur && !needMbClear[r.DRAG] && mbPxRatio !== 1;\n var context = forcedContext || (useBuffer ? r.data.bufferContexts[r.MOTIONBLUR_BUFFER_DRAG] : data2.contexts[r.DRAG]);\n setContextTransform(context, motionBlur && !useBuffer ? \"motionBlur\" : void 0);\n if (hideEdges) {\n r.drawCachedNodes(context, eles.drag, pixelRatio, extent);\n } else {\n r.drawCachedElements(context, eles.drag, pixelRatio, extent);\n }\n if (r.debug) {\n r.drawDebugPoints(context, eles.drag);\n }\n if (!drawAllLayers && !motionBlur) {\n needDraw[r.DRAG] = false;\n }\n }\n if (r.showFps || !drawOnlyNodeLayer && needDraw[r.SELECT_BOX] && !drawAllLayers) {\n var context = forcedContext || data2.contexts[r.SELECT_BOX];\n setContextTransform(context);\n if (r.selection[4] == 1 && (r.hoverData.selecting || r.touchData.selecting)) {\n var zoom = r.cy.zoom();\n var borderWidth = style.core(\"selection-box-border-width\").value / zoom;\n context.lineWidth = borderWidth;\n context.fillStyle = \"rgba(\" + style.core(\"selection-box-color\").value[0] + \",\" + style.core(\"selection-box-color\").value[1] + \",\" + style.core(\"selection-box-color\").value[2] + \",\" + style.core(\"selection-box-opacity\").value + \")\";\n context.fillRect(r.selection[0], r.selection[1], r.selection[2] - r.selection[0], r.selection[3] - r.selection[1]);\n if (borderWidth > 0) {\n context.strokeStyle = \"rgba(\" + style.core(\"selection-box-border-color\").value[0] + \",\" + style.core(\"selection-box-border-color\").value[1] + \",\" + style.core(\"selection-box-border-color\").value[2] + \",\" + style.core(\"selection-box-opacity\").value + \")\";\n context.strokeRect(r.selection[0], r.selection[1], r.selection[2] - r.selection[0], r.selection[3] - r.selection[1]);\n }\n }\n if (data2.bgActivePosistion && !r.hoverData.selecting) {\n var zoom = r.cy.zoom();\n var pos = data2.bgActivePosistion;\n context.fillStyle = \"rgba(\" + style.core(\"active-bg-color\").value[0] + \",\" + style.core(\"active-bg-color\").value[1] + \",\" + style.core(\"active-bg-color\").value[2] + \",\" + style.core(\"active-bg-opacity\").value + \")\";\n context.beginPath();\n context.arc(pos.x, pos.y, style.core(\"active-bg-size\").pfValue / zoom, 0, 2 * Math.PI);\n context.fill();\n }\n var timeToRender = r.lastRedrawTime;\n if (r.showFps && timeToRender) {\n timeToRender = Math.round(timeToRender);\n var fps = Math.round(1e3 / timeToRender);\n context.setTransform(1, 0, 0, 1, 0, 0);\n context.fillStyle = \"rgba(255, 0, 0, 0.75)\";\n context.strokeStyle = \"rgba(255, 0, 0, 0.75)\";\n context.lineWidth = 1;\n context.fillText(\"1 frame = \" + timeToRender + \" ms = \" + fps + \" fps\", 0, 20);\n var maxFps = 60;\n context.strokeRect(0, 30, 250, 20);\n context.fillRect(0, 30, 250 * Math.min(fps / maxFps, 1), 20);\n }\n if (!drawAllLayers) {\n needDraw[r.SELECT_BOX] = false;\n }\n }\n if (motionBlur && mbPxRatio !== 1) {\n var cxtNode = data2.contexts[r.NODE];\n var txtNode = r.data.bufferCanvases[r.MOTIONBLUR_BUFFER_NODE];\n var cxtDrag = data2.contexts[r.DRAG];\n var txtDrag = r.data.bufferCanvases[r.MOTIONBLUR_BUFFER_DRAG];\n var drawMotionBlur = function drawMotionBlur2(cxt2, txt, needClear) {\n cxt2.setTransform(1, 0, 0, 1, 0, 0);\n if (needClear || !motionBlurFadeEffect) {\n cxt2.clearRect(0, 0, r.canvasWidth, r.canvasHeight);\n } else {\n mbclear(cxt2, 0, 0, r.canvasWidth, r.canvasHeight);\n }\n var pxr = mbPxRatio;\n cxt2.drawImage(\n txt,\n // img\n 0,\n 0,\n // sx, sy\n r.canvasWidth * pxr,\n r.canvasHeight * pxr,\n // sw, sh\n 0,\n 0,\n // x, y\n r.canvasWidth,\n r.canvasHeight\n // w, h\n );\n };\n if (needDraw[r.NODE] || needMbClear[r.NODE]) {\n drawMotionBlur(cxtNode, txtNode, needMbClear[r.NODE]);\n needDraw[r.NODE] = false;\n }\n if (needDraw[r.DRAG] || needMbClear[r.DRAG]) {\n drawMotionBlur(cxtDrag, txtDrag, needMbClear[r.DRAG]);\n needDraw[r.DRAG] = false;\n }\n }\n r.prevViewport = vp;\n if (r.clearingMotionBlur) {\n r.clearingMotionBlur = false;\n r.motionBlurCleared = true;\n r.motionBlur = true;\n }\n if (motionBlur) {\n r.motionBlurTimeout = setTimeout(function() {\n r.motionBlurTimeout = null;\n r.clearedForMotionBlur[r.NODE] = false;\n r.clearedForMotionBlur[r.DRAG] = false;\n r.motionBlur = false;\n r.clearingMotionBlur = !textureDraw;\n r.mbFrames = 0;\n needDraw[r.NODE] = true;\n needDraw[r.DRAG] = true;\n r.redraw();\n }, motionBlurDelay);\n }\n if (!forcedContext) {\n cy.emit(\"render\");\n }\n };\n var CRp$3 = {};\n CRp$3.drawPolygonPath = function(context, x2, y2, width2, height2, points) {\n var halfW = width2 / 2;\n var halfH = height2 / 2;\n if (context.beginPath) {\n context.beginPath();\n }\n context.moveTo(x2 + halfW * points[0], y2 + halfH * points[1]);\n for (var i3 = 1; i3 < points.length / 2; i3++) {\n context.lineTo(x2 + halfW * points[i3 * 2], y2 + halfH * points[i3 * 2 + 1]);\n }\n context.closePath();\n };\n CRp$3.drawRoundPolygonPath = function(context, x2, y2, width2, height2, points) {\n var halfW = width2 / 2;\n var halfH = height2 / 2;\n var cornerRadius = getRoundPolygonRadius(width2, height2);\n if (context.beginPath) {\n context.beginPath();\n }\n for (var _i = 0; _i < points.length / 4; _i++) {\n var sourceUv = void 0, destUv = void 0;\n if (_i === 0) {\n sourceUv = points.length - 2;\n } else {\n sourceUv = _i * 4 - 2;\n }\n destUv = _i * 4 + 2;\n var px = x2 + halfW * points[_i * 4];\n var py = y2 + halfH * points[_i * 4 + 1];\n var cosTheta = -points[sourceUv] * points[destUv] - points[sourceUv + 1] * points[destUv + 1];\n var offset = cornerRadius / Math.tan(Math.acos(cosTheta) / 2);\n var cp0x = px - offset * points[sourceUv];\n var cp0y = py - offset * points[sourceUv + 1];\n var cp1x = px + offset * points[destUv];\n var cp1y = py + offset * points[destUv + 1];\n if (_i === 0) {\n context.moveTo(cp0x, cp0y);\n } else {\n context.lineTo(cp0x, cp0y);\n }\n context.arcTo(px, py, cp1x, cp1y, cornerRadius);\n }\n context.closePath();\n };\n CRp$3.drawRoundRectanglePath = function(context, x2, y2, width2, height2) {\n var halfWidth = width2 / 2;\n var halfHeight = height2 / 2;\n var cornerRadius = getRoundRectangleRadius(width2, height2);\n if (context.beginPath) {\n context.beginPath();\n }\n context.moveTo(x2, y2 - halfHeight);\n context.arcTo(x2 + halfWidth, y2 - halfHeight, x2 + halfWidth, y2, cornerRadius);\n context.arcTo(x2 + halfWidth, y2 + halfHeight, x2, y2 + halfHeight, cornerRadius);\n context.arcTo(x2 - halfWidth, y2 + halfHeight, x2 - halfWidth, y2, cornerRadius);\n context.arcTo(x2 - halfWidth, y2 - halfHeight, x2, y2 - halfHeight, cornerRadius);\n context.lineTo(x2, y2 - halfHeight);\n context.closePath();\n };\n CRp$3.drawBottomRoundRectanglePath = function(context, x2, y2, width2, height2) {\n var halfWidth = width2 / 2;\n var halfHeight = height2 / 2;\n var cornerRadius = getRoundRectangleRadius(width2, height2);\n if (context.beginPath) {\n context.beginPath();\n }\n context.moveTo(x2, y2 - halfHeight);\n context.lineTo(x2 + halfWidth, y2 - halfHeight);\n context.lineTo(x2 + halfWidth, y2);\n context.arcTo(x2 + halfWidth, y2 + halfHeight, x2, y2 + halfHeight, cornerRadius);\n context.arcTo(x2 - halfWidth, y2 + halfHeight, x2 - halfWidth, y2, cornerRadius);\n context.lineTo(x2 - halfWidth, y2 - halfHeight);\n context.lineTo(x2, y2 - halfHeight);\n context.closePath();\n };\n CRp$3.drawCutRectanglePath = function(context, x2, y2, width2, height2) {\n var halfWidth = width2 / 2;\n var halfHeight = height2 / 2;\n var cornerLength = getCutRectangleCornerLength();\n if (context.beginPath) {\n context.beginPath();\n }\n context.moveTo(x2 - halfWidth + cornerLength, y2 - halfHeight);\n context.lineTo(x2 + halfWidth - cornerLength, y2 - halfHeight);\n context.lineTo(x2 + halfWidth, y2 - halfHeight + cornerLength);\n context.lineTo(x2 + halfWidth, y2 + halfHeight - cornerLength);\n context.lineTo(x2 + halfWidth - cornerLength, y2 + halfHeight);\n context.lineTo(x2 - halfWidth + cornerLength, y2 + halfHeight);\n context.lineTo(x2 - halfWidth, y2 + halfHeight - cornerLength);\n context.lineTo(x2 - halfWidth, y2 - halfHeight + cornerLength);\n context.closePath();\n };\n CRp$3.drawBarrelPath = function(context, x2, y2, width2, height2) {\n var halfWidth = width2 / 2;\n var halfHeight = height2 / 2;\n var xBegin = x2 - halfWidth;\n var xEnd = x2 + halfWidth;\n var yBegin = y2 - halfHeight;\n var yEnd = y2 + halfHeight;\n var barrelCurveConstants = getBarrelCurveConstants(width2, height2);\n var wOffset = barrelCurveConstants.widthOffset;\n var hOffset = barrelCurveConstants.heightOffset;\n var ctrlPtXOffset = barrelCurveConstants.ctrlPtOffsetPct * wOffset;\n if (context.beginPath) {\n context.beginPath();\n }\n context.moveTo(xBegin, yBegin + hOffset);\n context.lineTo(xBegin, yEnd - hOffset);\n context.quadraticCurveTo(xBegin + ctrlPtXOffset, yEnd, xBegin + wOffset, yEnd);\n context.lineTo(xEnd - wOffset, yEnd);\n context.quadraticCurveTo(xEnd - ctrlPtXOffset, yEnd, xEnd, yEnd - hOffset);\n context.lineTo(xEnd, yBegin + hOffset);\n context.quadraticCurveTo(xEnd - ctrlPtXOffset, yBegin, xEnd - wOffset, yBegin);\n context.lineTo(xBegin + wOffset, yBegin);\n context.quadraticCurveTo(xBegin + ctrlPtXOffset, yBegin, xBegin, yBegin + hOffset);\n context.closePath();\n };\n var sin0 = Math.sin(0);\n var cos0 = Math.cos(0);\n var sin2 = {};\n var cos2 = {};\n var ellipseStepSize = Math.PI / 40;\n for (var i2 = 0 * Math.PI; i2 < 2 * Math.PI; i2 += ellipseStepSize) {\n sin2[i2] = Math.sin(i2);\n cos2[i2] = Math.cos(i2);\n }\n CRp$3.drawEllipsePath = function(context, centerX, centerY, width2, height2) {\n if (context.beginPath) {\n context.beginPath();\n }\n if (context.ellipse) {\n context.ellipse(centerX, centerY, width2 / 2, height2 / 2, 0, 0, 2 * Math.PI);\n } else {\n var xPos, yPos;\n var rw = width2 / 2;\n var rh = height2 / 2;\n for (var i3 = 0 * Math.PI; i3 < 2 * Math.PI; i3 += ellipseStepSize) {\n xPos = centerX - rw * sin2[i3] * sin0 + rw * cos2[i3] * cos0;\n yPos = centerY + rh * cos2[i3] * sin0 + rh * sin2[i3] * cos0;\n if (i3 === 0) {\n context.moveTo(xPos, yPos);\n } else {\n context.lineTo(xPos, yPos);\n }\n }\n }\n context.closePath();\n };\n var CRp$2 = {};\n CRp$2.createBuffer = function(w2, h) {\n var buffer = document.createElement(\"canvas\");\n buffer.width = w2;\n buffer.height = h;\n return [buffer, buffer.getContext(\"2d\")];\n };\n CRp$2.bufferCanvasImage = function(options2) {\n var cy = this.cy;\n var eles = cy.mutableElements();\n var bb = eles.boundingBox();\n var ctrRect = this.findContainerClientCoords();\n var width2 = options2.full ? Math.ceil(bb.w) : ctrRect[2];\n var height2 = options2.full ? Math.ceil(bb.h) : ctrRect[3];\n var specdMaxDims = number$12(options2.maxWidth) || number$12(options2.maxHeight);\n var pxRatio = this.getPixelRatio();\n var scale = 1;\n if (options2.scale !== void 0) {\n width2 *= options2.scale;\n height2 *= options2.scale;\n scale = options2.scale;\n } else if (specdMaxDims) {\n var maxScaleW = Infinity;\n var maxScaleH = Infinity;\n if (number$12(options2.maxWidth)) {\n maxScaleW = scale * options2.maxWidth / width2;\n }\n if (number$12(options2.maxHeight)) {\n maxScaleH = scale * options2.maxHeight / height2;\n }\n scale = Math.min(maxScaleW, maxScaleH);\n width2 *= scale;\n height2 *= scale;\n }\n if (!specdMaxDims) {\n width2 *= pxRatio;\n height2 *= pxRatio;\n scale *= pxRatio;\n }\n var buffCanvas = document.createElement(\"canvas\");\n buffCanvas.width = width2;\n buffCanvas.height = height2;\n buffCanvas.style.width = width2 + \"px\";\n buffCanvas.style.height = height2 + \"px\";\n var buffCxt = buffCanvas.getContext(\"2d\");\n if (width2 > 0 && height2 > 0) {\n buffCxt.clearRect(0, 0, width2, height2);\n buffCxt.globalCompositeOperation = \"source-over\";\n var zsortedEles = this.getCachedZSortedEles();\n if (options2.full) {\n buffCxt.translate(-bb.x1 * scale, -bb.y1 * scale);\n buffCxt.scale(scale, scale);\n this.drawElements(buffCxt, zsortedEles);\n buffCxt.scale(1 / scale, 1 / scale);\n buffCxt.translate(bb.x1 * scale, bb.y1 * scale);\n } else {\n var pan = cy.pan();\n var translation = {\n x: pan.x * scale,\n y: pan.y * scale\n };\n scale *= cy.zoom();\n buffCxt.translate(translation.x, translation.y);\n buffCxt.scale(scale, scale);\n this.drawElements(buffCxt, zsortedEles);\n buffCxt.scale(1 / scale, 1 / scale);\n buffCxt.translate(-translation.x, -translation.y);\n }\n if (options2.bg) {\n buffCxt.globalCompositeOperation = \"destination-over\";\n buffCxt.fillStyle = options2.bg;\n buffCxt.rect(0, 0, width2, height2);\n buffCxt.fill();\n }\n }\n return buffCanvas;\n };\n function b64ToBlob(b64, mimeType) {\n var bytes = atob(b64);\n var buff = new ArrayBuffer(bytes.length);\n var buffUint8 = new Uint8Array(buff);\n for (var i3 = 0; i3 < bytes.length; i3++) {\n buffUint8[i3] = bytes.charCodeAt(i3);\n }\n return new Blob([buff], {\n type: mimeType\n });\n }\n function b64UriToB64(b64uri) {\n var i3 = b64uri.indexOf(\",\");\n return b64uri.substr(i3 + 1);\n }\n function output(options2, canvas, mimeType) {\n var getB64Uri = function getB64Uri2() {\n return canvas.toDataURL(mimeType, options2.quality);\n };\n switch (options2.output) {\n case \"blob-promise\":\n return new Promise$12(function(resolve2, reject) {\n try {\n canvas.toBlob(function(blob) {\n if (blob != null) {\n resolve2(blob);\n } else {\n reject(new Error(\"`canvas.toBlob()` sent a null value in its callback\"));\n }\n }, mimeType, options2.quality);\n } catch (err) {\n reject(err);\n }\n });\n case \"blob\":\n return b64ToBlob(b64UriToB64(getB64Uri()), mimeType);\n case \"base64\":\n return b64UriToB64(getB64Uri());\n case \"base64uri\":\n default:\n return getB64Uri();\n }\n }\n CRp$2.png = function(options2) {\n return output(options2, this.bufferCanvasImage(options2), \"image/png\");\n };\n CRp$2.jpg = function(options2) {\n return output(options2, this.bufferCanvasImage(options2), \"image/jpeg\");\n };\n var CRp$1 = {};\n CRp$1.nodeShapeImpl = function(name2, context, centerX, centerY, width2, height2, points) {\n switch (name2) {\n case \"ellipse\":\n return this.drawEllipsePath(context, centerX, centerY, width2, height2);\n case \"polygon\":\n return this.drawPolygonPath(context, centerX, centerY, width2, height2, points);\n case \"round-polygon\":\n return this.drawRoundPolygonPath(context, centerX, centerY, width2, height2, points);\n case \"roundrectangle\":\n case \"round-rectangle\":\n return this.drawRoundRectanglePath(context, centerX, centerY, width2, height2);\n case \"cutrectangle\":\n case \"cut-rectangle\":\n return this.drawCutRectanglePath(context, centerX, centerY, width2, height2);\n case \"bottomroundrectangle\":\n case \"bottom-round-rectangle\":\n return this.drawBottomRoundRectanglePath(context, centerX, centerY, width2, height2);\n case \"barrel\":\n return this.drawBarrelPath(context, centerX, centerY, width2, height2);\n }\n };\n var CR = CanvasRenderer;\n var CRp = CanvasRenderer.prototype;\n CRp.CANVAS_LAYERS = 3;\n CRp.SELECT_BOX = 0;\n CRp.DRAG = 1;\n CRp.NODE = 2;\n CRp.BUFFER_COUNT = 3;\n CRp.TEXTURE_BUFFER = 0;\n CRp.MOTIONBLUR_BUFFER_NODE = 1;\n CRp.MOTIONBLUR_BUFFER_DRAG = 2;\n function CanvasRenderer(options2) {\n var r = this;\n r.data = {\n canvases: new Array(CRp.CANVAS_LAYERS),\n contexts: new Array(CRp.CANVAS_LAYERS),\n canvasNeedsRedraw: new Array(CRp.CANVAS_LAYERS),\n bufferCanvases: new Array(CRp.BUFFER_COUNT),\n bufferContexts: new Array(CRp.CANVAS_LAYERS)\n };\n var tapHlOffAttr = \"-webkit-tap-highlight-color\";\n var tapHlOffStyle = \"rgba(0,0,0,0)\";\n r.data.canvasContainer = document.createElement(\"div\");\n var containerStyle = r.data.canvasContainer.style;\n r.data.canvasContainer.style[tapHlOffAttr] = tapHlOffStyle;\n containerStyle.position = \"relative\";\n containerStyle.zIndex = \"0\";\n containerStyle.overflow = \"hidden\";\n var container = options2.cy.container();\n container.appendChild(r.data.canvasContainer);\n container.style[tapHlOffAttr] = tapHlOffStyle;\n var styleMap = {\n \"-webkit-user-select\": \"none\",\n \"-moz-user-select\": \"-moz-none\",\n \"user-select\": \"none\",\n \"-webkit-tap-highlight-color\": \"rgba(0,0,0,0)\",\n \"outline-style\": \"none\"\n };\n if (ms()) {\n styleMap[\"-ms-touch-action\"] = \"none\";\n styleMap[\"touch-action\"] = \"none\";\n }\n for (var i3 = 0; i3 < CRp.CANVAS_LAYERS; i3++) {\n var canvas = r.data.canvases[i3] = document.createElement(\"canvas\");\n r.data.contexts[i3] = canvas.getContext(\"2d\");\n Object.keys(styleMap).forEach(function(k) {\n canvas.style[k] = styleMap[k];\n });\n canvas.style.position = \"absolute\";\n canvas.setAttribute(\"data-id\", \"layer\" + i3);\n canvas.style.zIndex = String(CRp.CANVAS_LAYERS - i3);\n r.data.canvasContainer.appendChild(canvas);\n r.data.canvasNeedsRedraw[i3] = false;\n }\n r.data.topCanvas = r.data.canvases[0];\n r.data.canvases[CRp.NODE].setAttribute(\"data-id\", \"layer\" + CRp.NODE + \"-node\");\n r.data.canvases[CRp.SELECT_BOX].setAttribute(\"data-id\", \"layer\" + CRp.SELECT_BOX + \"-selectbox\");\n r.data.canvases[CRp.DRAG].setAttribute(\"data-id\", \"layer\" + CRp.DRAG + \"-drag\");\n for (var i3 = 0; i3 < CRp.BUFFER_COUNT; i3++) {\n r.data.bufferCanvases[i3] = document.createElement(\"canvas\");\n r.data.bufferContexts[i3] = r.data.bufferCanvases[i3].getContext(\"2d\");\n r.data.bufferCanvases[i3].style.position = \"absolute\";\n r.data.bufferCanvases[i3].setAttribute(\"data-id\", \"buffer\" + i3);\n r.data.bufferCanvases[i3].style.zIndex = String(-i3 - 1);\n r.data.bufferCanvases[i3].style.visibility = \"hidden\";\n }\n r.pathsEnabled = true;\n var emptyBb = makeBoundingBox();\n var getBoxCenter = function getBoxCenter2(bb) {\n return {\n x: (bb.x1 + bb.x2) / 2,\n y: (bb.y1 + bb.y2) / 2\n };\n };\n var getCenterOffset = function getCenterOffset2(bb) {\n return {\n x: -bb.w / 2,\n y: -bb.h / 2\n };\n };\n var backgroundTimestampHasChanged = function backgroundTimestampHasChanged2(ele) {\n var _p = ele[0]._private;\n var same = _p.oldBackgroundTimestamp === _p.backgroundTimestamp;\n return !same;\n };\n var getStyleKey = function getStyleKey2(ele) {\n return ele[0]._private.nodeKey;\n };\n var getLabelKey = function getLabelKey2(ele) {\n return ele[0]._private.labelStyleKey;\n };\n var getSourceLabelKey = function getSourceLabelKey2(ele) {\n return ele[0]._private.sourceLabelStyleKey;\n };\n var getTargetLabelKey = function getTargetLabelKey2(ele) {\n return ele[0]._private.targetLabelStyleKey;\n };\n var drawElement = function drawElement2(context, ele, bb, scaledLabelShown, useEleOpacity) {\n return r.drawElement(context, ele, bb, false, false, useEleOpacity);\n };\n var drawLabel2 = function drawLabel3(context, ele, bb, scaledLabelShown, useEleOpacity) {\n return r.drawElementText(context, ele, bb, scaledLabelShown, \"main\", useEleOpacity);\n };\n var drawSourceLabel = function drawSourceLabel2(context, ele, bb, scaledLabelShown, useEleOpacity) {\n return r.drawElementText(context, ele, bb, scaledLabelShown, \"source\", useEleOpacity);\n };\n var drawTargetLabel = function drawTargetLabel2(context, ele, bb, scaledLabelShown, useEleOpacity) {\n return r.drawElementText(context, ele, bb, scaledLabelShown, \"target\", useEleOpacity);\n };\n var getElementBox = function getElementBox2(ele) {\n ele.boundingBox();\n return ele[0]._private.bodyBounds;\n };\n var getLabelBox = function getLabelBox2(ele) {\n ele.boundingBox();\n return ele[0]._private.labelBounds.main || emptyBb;\n };\n var getSourceLabelBox = function getSourceLabelBox2(ele) {\n ele.boundingBox();\n return ele[0]._private.labelBounds.source || emptyBb;\n };\n var getTargetLabelBox = function getTargetLabelBox2(ele) {\n ele.boundingBox();\n return ele[0]._private.labelBounds.target || emptyBb;\n };\n var isLabelVisibleAtScale = function isLabelVisibleAtScale2(ele, scaledLabelShown) {\n return scaledLabelShown;\n };\n var getElementRotationPoint = function getElementRotationPoint2(ele) {\n return getBoxCenter(getElementBox(ele));\n };\n var addTextMargin = function addTextMargin2(prefix, pt, ele) {\n var pre = prefix ? prefix + \"-\" : \"\";\n return {\n x: pt.x + ele.pstyle(pre + \"text-margin-x\").pfValue,\n y: pt.y + ele.pstyle(pre + \"text-margin-y\").pfValue\n };\n };\n var getRsPt = function getRsPt2(ele, x2, y2) {\n var rs = ele[0]._private.rscratch;\n return {\n x: rs[x2],\n y: rs[y2]\n };\n };\n var getLabelRotationPoint = function getLabelRotationPoint2(ele) {\n return addTextMargin(\"\", getRsPt(ele, \"labelX\", \"labelY\"), ele);\n };\n var getSourceLabelRotationPoint = function getSourceLabelRotationPoint2(ele) {\n return addTextMargin(\"source\", getRsPt(ele, \"sourceLabelX\", \"sourceLabelY\"), ele);\n };\n var getTargetLabelRotationPoint = function getTargetLabelRotationPoint2(ele) {\n return addTextMargin(\"target\", getRsPt(ele, \"targetLabelX\", \"targetLabelY\"), ele);\n };\n var getElementRotationOffset = function getElementRotationOffset2(ele) {\n return getCenterOffset(getElementBox(ele));\n };\n var getSourceLabelRotationOffset = function getSourceLabelRotationOffset2(ele) {\n return getCenterOffset(getSourceLabelBox(ele));\n };\n var getTargetLabelRotationOffset = function getTargetLabelRotationOffset2(ele) {\n return getCenterOffset(getTargetLabelBox(ele));\n };\n var getLabelRotationOffset = function getLabelRotationOffset2(ele) {\n var bb = getLabelBox(ele);\n var p2 = getCenterOffset(getLabelBox(ele));\n if (ele.isNode()) {\n switch (ele.pstyle(\"text-halign\").value) {\n case \"left\":\n p2.x = -bb.w;\n break;\n case \"right\":\n p2.x = 0;\n break;\n }\n switch (ele.pstyle(\"text-valign\").value) {\n case \"top\":\n p2.y = -bb.h;\n break;\n case \"bottom\":\n p2.y = 0;\n break;\n }\n }\n return p2;\n };\n var eleTxrCache = r.data.eleTxrCache = new ElementTextureCache(r, {\n getKey: getStyleKey,\n doesEleInvalidateKey: backgroundTimestampHasChanged,\n drawElement,\n getBoundingBox: getElementBox,\n getRotationPoint: getElementRotationPoint,\n getRotationOffset: getElementRotationOffset,\n allowEdgeTxrCaching: false,\n allowParentTxrCaching: false\n });\n var lblTxrCache = r.data.lblTxrCache = new ElementTextureCache(r, {\n getKey: getLabelKey,\n drawElement: drawLabel2,\n getBoundingBox: getLabelBox,\n getRotationPoint: getLabelRotationPoint,\n getRotationOffset: getLabelRotationOffset,\n isVisible: isLabelVisibleAtScale\n });\n var slbTxrCache = r.data.slbTxrCache = new ElementTextureCache(r, {\n getKey: getSourceLabelKey,\n drawElement: drawSourceLabel,\n getBoundingBox: getSourceLabelBox,\n getRotationPoint: getSourceLabelRotationPoint,\n getRotationOffset: getSourceLabelRotationOffset,\n isVisible: isLabelVisibleAtScale\n });\n var tlbTxrCache = r.data.tlbTxrCache = new ElementTextureCache(r, {\n getKey: getTargetLabelKey,\n drawElement: drawTargetLabel,\n getBoundingBox: getTargetLabelBox,\n getRotationPoint: getTargetLabelRotationPoint,\n getRotationOffset: getTargetLabelRotationOffset,\n isVisible: isLabelVisibleAtScale\n });\n var lyrTxrCache = r.data.lyrTxrCache = new LayeredTextureCache(r);\n r.onUpdateEleCalcs(function invalidateTextureCaches(willDraw, eles) {\n eleTxrCache.invalidateElements(eles);\n lblTxrCache.invalidateElements(eles);\n slbTxrCache.invalidateElements(eles);\n tlbTxrCache.invalidateElements(eles);\n lyrTxrCache.invalidateElements(eles);\n for (var _i = 0; _i < eles.length; _i++) {\n var _p = eles[_i]._private;\n _p.oldBackgroundTimestamp = _p.backgroundTimestamp;\n }\n });\n var refineInLayers = function refineInLayers2(reqs) {\n for (var i4 = 0; i4 < reqs.length; i4++) {\n lyrTxrCache.enqueueElementRefinement(reqs[i4].ele);\n }\n };\n eleTxrCache.onDequeue(refineInLayers);\n lblTxrCache.onDequeue(refineInLayers);\n slbTxrCache.onDequeue(refineInLayers);\n tlbTxrCache.onDequeue(refineInLayers);\n }\n CRp.redrawHint = function(group, bool2) {\n var r = this;\n switch (group) {\n case \"eles\":\n r.data.canvasNeedsRedraw[CRp.NODE] = bool2;\n break;\n case \"drag\":\n r.data.canvasNeedsRedraw[CRp.DRAG] = bool2;\n break;\n case \"select\":\n r.data.canvasNeedsRedraw[CRp.SELECT_BOX] = bool2;\n break;\n }\n };\n var pathsImpld = typeof Path2D !== \"undefined\";\n CRp.path2dEnabled = function(on) {\n if (on === void 0) {\n return this.pathsEnabled;\n }\n this.pathsEnabled = on ? true : false;\n };\n CRp.usePaths = function() {\n return pathsImpld && this.pathsEnabled;\n };\n CRp.setImgSmoothing = function(context, bool2) {\n if (context.imageSmoothingEnabled != null) {\n context.imageSmoothingEnabled = bool2;\n } else {\n context.webkitImageSmoothingEnabled = bool2;\n context.mozImageSmoothingEnabled = bool2;\n context.msImageSmoothingEnabled = bool2;\n }\n };\n CRp.getImgSmoothing = function(context) {\n if (context.imageSmoothingEnabled != null) {\n return context.imageSmoothingEnabled;\n } else {\n return context.webkitImageSmoothingEnabled || context.mozImageSmoothingEnabled || context.msImageSmoothingEnabled;\n }\n };\n CRp.makeOffscreenCanvas = function(width2, height2) {\n var canvas;\n if ((typeof OffscreenCanvas === \"undefined\" ? \"undefined\" : _typeof2(OffscreenCanvas)) !== \"undefined\") {\n canvas = new OffscreenCanvas(width2, height2);\n } else {\n canvas = document.createElement(\"canvas\");\n canvas.width = width2;\n canvas.height = height2;\n }\n return canvas;\n };\n [CRp$a, CRp$9, CRp$8, CRp$7, CRp$6, CRp$5, CRp$4, CRp$3, CRp$2, CRp$1].forEach(function(props) {\n extend2(CRp, props);\n });\n var renderer2 = [{\n name: \"null\",\n impl: NullRenderer\n }, {\n name: \"base\",\n impl: BR\n }, {\n name: \"canvas\",\n impl: CR\n }];\n var incExts = [{\n type: \"layout\",\n extensions: layout2\n }, {\n type: \"renderer\",\n extensions: renderer2\n }];\n var extensions = {};\n var modules = {};\n function setExtension(type2, name2, registrant) {\n var ext = registrant;\n var overrideErr = function overrideErr2(field) {\n warn(\"Can not register `\" + name2 + \"` for `\" + type2 + \"` since `\" + field + \"` already exists in the prototype and can not be overridden\");\n };\n if (type2 === \"core\") {\n if (Core.prototype[name2]) {\n return overrideErr(name2);\n } else {\n Core.prototype[name2] = registrant;\n }\n } else if (type2 === \"collection\") {\n if (Collection.prototype[name2]) {\n return overrideErr(name2);\n } else {\n Collection.prototype[name2] = registrant;\n }\n } else if (type2 === \"layout\") {\n var Layout2 = function Layout3(options2) {\n this.options = options2;\n registrant.call(this, options2);\n if (!plainObject(this._private)) {\n this._private = {};\n }\n this._private.cy = options2.cy;\n this._private.listeners = [];\n this.createEmitter();\n };\n var layoutProto = Layout2.prototype = Object.create(registrant.prototype);\n var optLayoutFns = [];\n for (var i3 = 0; i3 < optLayoutFns.length; i3++) {\n var fnName = optLayoutFns[i3];\n layoutProto[fnName] = layoutProto[fnName] || function() {\n return this;\n };\n }\n if (layoutProto.start && !layoutProto.run) {\n layoutProto.run = function() {\n this.start();\n return this;\n };\n } else if (!layoutProto.start && layoutProto.run) {\n layoutProto.start = function() {\n this.run();\n return this;\n };\n }\n var regStop = registrant.prototype.stop;\n layoutProto.stop = function() {\n var opts = this.options;\n if (opts && opts.animate) {\n var anis = this.animations;\n if (anis) {\n for (var _i = 0; _i < anis.length; _i++) {\n anis[_i].stop();\n }\n }\n }\n if (regStop) {\n regStop.call(this);\n } else {\n this.emit(\"layoutstop\");\n }\n return this;\n };\n if (!layoutProto.destroy) {\n layoutProto.destroy = function() {\n return this;\n };\n }\n layoutProto.cy = function() {\n return this._private.cy;\n };\n var getCy = function getCy2(layout3) {\n return layout3._private.cy;\n };\n var emitterOpts = {\n addEventFields: function addEventFields(layout3, evt) {\n evt.layout = layout3;\n evt.cy = getCy(layout3);\n evt.target = layout3;\n },\n bubble: function bubble() {\n return true;\n },\n parent: function parent(layout3) {\n return getCy(layout3);\n }\n };\n extend2(layoutProto, {\n createEmitter: function createEmitter() {\n this._private.emitter = new Emitter(emitterOpts, this);\n return this;\n },\n emitter: function emitter() {\n return this._private.emitter;\n },\n on: function on(evt, cb) {\n this.emitter().on(evt, cb);\n return this;\n },\n one: function one2(evt, cb) {\n this.emitter().one(evt, cb);\n return this;\n },\n once: function once(evt, cb) {\n this.emitter().one(evt, cb);\n return this;\n },\n removeListener: function removeListener(evt, cb) {\n this.emitter().removeListener(evt, cb);\n return this;\n },\n removeAllListeners: function removeAllListeners() {\n this.emitter().removeAllListeners();\n return this;\n },\n emit: function emit(evt, params) {\n this.emitter().emit(evt, params);\n return this;\n }\n });\n define3.eventAliasesOn(layoutProto);\n ext = Layout2;\n } else if (type2 === \"renderer\" && name2 !== \"null\" && name2 !== \"base\") {\n var BaseRenderer2 = getExtension(\"renderer\", \"base\");\n var bProto = BaseRenderer2.prototype;\n var RegistrantRenderer = registrant;\n var rProto = registrant.prototype;\n var Renderer = function Renderer2() {\n BaseRenderer2.apply(this, arguments);\n RegistrantRenderer.apply(this, arguments);\n };\n var proto = Renderer.prototype;\n for (var pName in bProto) {\n var pVal = bProto[pName];\n var existsInR = rProto[pName] != null;\n if (existsInR) {\n return overrideErr(pName);\n }\n proto[pName] = pVal;\n }\n for (var _pName in rProto) {\n proto[_pName] = rProto[_pName];\n }\n bProto.clientFunctions.forEach(function(name3) {\n proto[name3] = proto[name3] || function() {\n error(\"Renderer does not implement `renderer.\" + name3 + \"()` on its prototype\");\n };\n });\n ext = Renderer;\n } else if (type2 === \"__proto__\" || type2 === \"constructor\" || type2 === \"prototype\") {\n return error(type2 + \" is an illegal type to be registered, possibly lead to prototype pollutions\");\n }\n return setMap({\n map: extensions,\n keys: [type2, name2],\n value: ext\n });\n }\n function getExtension(type2, name2) {\n return getMap({\n map: extensions,\n keys: [type2, name2]\n });\n }\n function setModule(type2, name2, moduleType, moduleName, registrant) {\n return setMap({\n map: modules,\n keys: [type2, name2, moduleType, moduleName],\n value: registrant\n });\n }\n function getModule(type2, name2, moduleType, moduleName) {\n return getMap({\n map: modules,\n keys: [type2, name2, moduleType, moduleName]\n });\n }\n var extension2 = function extension3() {\n if (arguments.length === 2) {\n return getExtension.apply(null, arguments);\n } else if (arguments.length === 3) {\n return setExtension.apply(null, arguments);\n } else if (arguments.length === 4) {\n return getModule.apply(null, arguments);\n } else if (arguments.length === 5) {\n return setModule.apply(null, arguments);\n } else {\n error(\"Invalid extension access syntax\");\n }\n };\n Core.prototype.extension = extension2;\n incExts.forEach(function(group) {\n group.extensions.forEach(function(ext) {\n setExtension(group.type, ext.name, ext.impl);\n });\n });\n var Stylesheet = function Stylesheet2() {\n if (!(this instanceof Stylesheet2)) {\n return new Stylesheet2();\n }\n this.length = 0;\n };\n var sheetfn = Stylesheet.prototype;\n sheetfn.instanceString = function() {\n return \"stylesheet\";\n };\n sheetfn.selector = function(selector2) {\n var i3 = this.length++;\n this[i3] = {\n selector: selector2,\n properties: []\n };\n return this;\n };\n sheetfn.css = function(name2, value) {\n var i3 = this.length - 1;\n if (string(name2)) {\n this[i3].properties.push({\n name: name2,\n value\n });\n } else if (plainObject(name2)) {\n var map2 = name2;\n var propNames = Object.keys(map2);\n for (var j = 0; j < propNames.length; j++) {\n var key = propNames[j];\n var mapVal = map2[key];\n if (mapVal == null) {\n continue;\n }\n var prop = Style.properties[key] || Style.properties[dash2camel(key)];\n if (prop == null) {\n continue;\n }\n var _name = prop.name;\n var _value = mapVal;\n this[i3].properties.push({\n name: _name,\n value: _value\n });\n }\n }\n return this;\n };\n sheetfn.style = sheetfn.css;\n sheetfn.generateStyle = function(cy) {\n var style = new Style(cy);\n return this.appendToStyle(style);\n };\n sheetfn.appendToStyle = function(style) {\n for (var i3 = 0; i3 < this.length; i3++) {\n var context = this[i3];\n var selector2 = context.selector;\n var props = context.properties;\n style.selector(selector2);\n for (var j = 0; j < props.length; j++) {\n var prop = props[j];\n style.css(prop.name, prop.value);\n }\n }\n return style;\n };\n var version2 = \"3.23.0\";\n var cytoscape2 = function cytoscape3(options2) {\n if (options2 === void 0) {\n options2 = {};\n }\n if (plainObject(options2)) {\n return new Core(options2);\n } else if (string(options2)) {\n return extension2.apply(extension2, arguments);\n }\n };\n cytoscape2.use = function(ext) {\n var args = Array.prototype.slice.call(arguments, 1);\n args.unshift(cytoscape2);\n ext.apply(null, args);\n return this;\n };\n cytoscape2.warnings = function(bool2) {\n return warnings(bool2);\n };\n cytoscape2.version = version2;\n cytoscape2.stylesheet = cytoscape2.Stylesheet = Stylesheet;\n return cytoscape2;\n });\n })(cytoscape_umd);\n const cytoscape$1 = cytoscape_umdExports;\n var cytoscapeCoseBilkentExports = {};\n var cytoscapeCoseBilkent = {\n get exports() {\n return cytoscapeCoseBilkentExports;\n },\n set exports(v) {\n cytoscapeCoseBilkentExports = v;\n }\n };\n var coseBaseExports = {};\n var coseBase = {\n get exports() {\n return coseBaseExports;\n },\n set exports(v) {\n coseBaseExports = v;\n }\n };\n var layoutBaseExports = {};\n var layoutBase = {\n get exports() {\n return layoutBaseExports;\n },\n set exports(v) {\n layoutBaseExports = v;\n }\n };\n var hasRequiredLayoutBase;\n function requireLayoutBase() {\n if (hasRequiredLayoutBase)\n return layoutBaseExports;\n hasRequiredLayoutBase = 1;\n (function(module2, exports2) {\n (function webpackUniversalModuleDefinition(root2, factory) {\n module2.exports = factory();\n })(commonjsGlobal, function() {\n return (\n /******/\n function(modules) {\n var installedModules = {};\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) {\n return installedModules[moduleId].exports;\n }\n var module3 = installedModules[moduleId] = {\n /******/\n i: moduleId,\n /******/\n l: false,\n /******/\n exports: {}\n /******/\n };\n modules[moduleId].call(module3.exports, module3, module3.exports, __webpack_require__);\n module3.l = true;\n return module3.exports;\n }\n __webpack_require__.m = modules;\n __webpack_require__.c = installedModules;\n __webpack_require__.i = function(value) {\n return value;\n };\n __webpack_require__.d = function(exports3, name2, getter) {\n if (!__webpack_require__.o(exports3, name2)) {\n Object.defineProperty(exports3, name2, {\n /******/\n configurable: false,\n /******/\n enumerable: true,\n /******/\n get: getter\n /******/\n });\n }\n };\n __webpack_require__.n = function(module3) {\n var getter = module3 && module3.__esModule ? (\n /******/\n function getDefault() {\n return module3[\"default\"];\n }\n ) : (\n /******/\n function getModuleExports() {\n return module3;\n }\n );\n __webpack_require__.d(getter, \"a\", getter);\n return getter;\n };\n __webpack_require__.o = function(object2, property2) {\n return Object.prototype.hasOwnProperty.call(object2, property2);\n };\n __webpack_require__.p = \"\";\n return __webpack_require__(__webpack_require__.s = 26);\n }([\n /* 0 */\n /***/\n function(module3, exports3, __webpack_require__) {\n function LayoutConstants() {\n }\n LayoutConstants.QUALITY = 1;\n LayoutConstants.DEFAULT_CREATE_BENDS_AS_NEEDED = false;\n LayoutConstants.DEFAULT_INCREMENTAL = false;\n LayoutConstants.DEFAULT_ANIMATION_ON_LAYOUT = true;\n LayoutConstants.DEFAULT_ANIMATION_DURING_LAYOUT = false;\n LayoutConstants.DEFAULT_ANIMATION_PERIOD = 50;\n LayoutConstants.DEFAULT_UNIFORM_LEAF_NODE_SIZES = false;\n LayoutConstants.DEFAULT_GRAPH_MARGIN = 15;\n LayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS = false;\n LayoutConstants.SIMPLE_NODE_SIZE = 40;\n LayoutConstants.SIMPLE_NODE_HALF_SIZE = LayoutConstants.SIMPLE_NODE_SIZE / 2;\n LayoutConstants.EMPTY_COMPOUND_NODE_SIZE = 40;\n LayoutConstants.MIN_EDGE_LENGTH = 1;\n LayoutConstants.WORLD_BOUNDARY = 1e6;\n LayoutConstants.INITIAL_WORLD_BOUNDARY = LayoutConstants.WORLD_BOUNDARY / 1e3;\n LayoutConstants.WORLD_CENTER_X = 1200;\n LayoutConstants.WORLD_CENTER_Y = 900;\n module3.exports = LayoutConstants;\n },\n /* 1 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var LGraphObject = __webpack_require__(2);\n var IGeometry = __webpack_require__(8);\n var IMath = __webpack_require__(9);\n function LEdge(source, target, vEdge) {\n LGraphObject.call(this, vEdge);\n this.isOverlapingSourceAndTarget = false;\n this.vGraphObject = vEdge;\n this.bendpoints = [];\n this.source = source;\n this.target = target;\n }\n LEdge.prototype = Object.create(LGraphObject.prototype);\n for (var prop in LGraphObject) {\n LEdge[prop] = LGraphObject[prop];\n }\n LEdge.prototype.getSource = function() {\n return this.source;\n };\n LEdge.prototype.getTarget = function() {\n return this.target;\n };\n LEdge.prototype.isInterGraph = function() {\n return this.isInterGraph;\n };\n LEdge.prototype.getLength = function() {\n return this.length;\n };\n LEdge.prototype.isOverlapingSourceAndTarget = function() {\n return this.isOverlapingSourceAndTarget;\n };\n LEdge.prototype.getBendpoints = function() {\n return this.bendpoints;\n };\n LEdge.prototype.getLca = function() {\n return this.lca;\n };\n LEdge.prototype.getSourceInLca = function() {\n return this.sourceInLca;\n };\n LEdge.prototype.getTargetInLca = function() {\n return this.targetInLca;\n };\n LEdge.prototype.getOtherEnd = function(node2) {\n if (this.source === node2) {\n return this.target;\n } else if (this.target === node2) {\n return this.source;\n } else {\n throw \"Node is not incident with this edge\";\n }\n };\n LEdge.prototype.getOtherEndInGraph = function(node2, graph) {\n var otherEnd = this.getOtherEnd(node2);\n var root2 = graph.getGraphManager().getRoot();\n while (true) {\n if (otherEnd.getOwner() == graph) {\n return otherEnd;\n }\n if (otherEnd.getOwner() == root2) {\n break;\n }\n otherEnd = otherEnd.getOwner().getParent();\n }\n return null;\n };\n LEdge.prototype.updateLength = function() {\n var clipPointCoordinates = new Array(4);\n this.isOverlapingSourceAndTarget = IGeometry.getIntersection(this.target.getRect(), this.source.getRect(), clipPointCoordinates);\n if (!this.isOverlapingSourceAndTarget) {\n this.lengthX = clipPointCoordinates[0] - clipPointCoordinates[2];\n this.lengthY = clipPointCoordinates[1] - clipPointCoordinates[3];\n if (Math.abs(this.lengthX) < 1) {\n this.lengthX = IMath.sign(this.lengthX);\n }\n if (Math.abs(this.lengthY) < 1) {\n this.lengthY = IMath.sign(this.lengthY);\n }\n this.length = Math.sqrt(this.lengthX * this.lengthX + this.lengthY * this.lengthY);\n }\n };\n LEdge.prototype.updateLengthSimple = function() {\n this.lengthX = this.target.getCenterX() - this.source.getCenterX();\n this.lengthY = this.target.getCenterY() - this.source.getCenterY();\n if (Math.abs(this.lengthX) < 1) {\n this.lengthX = IMath.sign(this.lengthX);\n }\n if (Math.abs(this.lengthY) < 1) {\n this.lengthY = IMath.sign(this.lengthY);\n }\n this.length = Math.sqrt(this.lengthX * this.lengthX + this.lengthY * this.lengthY);\n };\n module3.exports = LEdge;\n },\n /* 2 */\n /***/\n function(module3, exports3, __webpack_require__) {\n function LGraphObject(vGraphObject) {\n this.vGraphObject = vGraphObject;\n }\n module3.exports = LGraphObject;\n },\n /* 3 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var LGraphObject = __webpack_require__(2);\n var Integer = __webpack_require__(10);\n var RectangleD = __webpack_require__(13);\n var LayoutConstants = __webpack_require__(0);\n var RandomSeed = __webpack_require__(16);\n var PointD = __webpack_require__(4);\n function LNode(gm, loc, size2, vNode) {\n if (size2 == null && vNode == null) {\n vNode = loc;\n }\n LGraphObject.call(this, vNode);\n if (gm.graphManager != null)\n gm = gm.graphManager;\n this.estimatedSize = Integer.MIN_VALUE;\n this.inclusionTreeDepth = Integer.MAX_VALUE;\n this.vGraphObject = vNode;\n this.edges = [];\n this.graphManager = gm;\n if (size2 != null && loc != null)\n this.rect = new RectangleD(loc.x, loc.y, size2.width, size2.height);\n else\n this.rect = new RectangleD();\n }\n LNode.prototype = Object.create(LGraphObject.prototype);\n for (var prop in LGraphObject) {\n LNode[prop] = LGraphObject[prop];\n }\n LNode.prototype.getEdges = function() {\n return this.edges;\n };\n LNode.prototype.getChild = function() {\n return this.child;\n };\n LNode.prototype.getOwner = function() {\n return this.owner;\n };\n LNode.prototype.getWidth = function() {\n return this.rect.width;\n };\n LNode.prototype.setWidth = function(width2) {\n this.rect.width = width2;\n };\n LNode.prototype.getHeight = function() {\n return this.rect.height;\n };\n LNode.prototype.setHeight = function(height2) {\n this.rect.height = height2;\n };\n LNode.prototype.getCenterX = function() {\n return this.rect.x + this.rect.width / 2;\n };\n LNode.prototype.getCenterY = function() {\n return this.rect.y + this.rect.height / 2;\n };\n LNode.prototype.getCenter = function() {\n return new PointD(this.rect.x + this.rect.width / 2, this.rect.y + this.rect.height / 2);\n };\n LNode.prototype.getLocation = function() {\n return new PointD(this.rect.x, this.rect.y);\n };\n LNode.prototype.getRect = function() {\n return this.rect;\n };\n LNode.prototype.getDiagonal = function() {\n return Math.sqrt(this.rect.width * this.rect.width + this.rect.height * this.rect.height);\n };\n LNode.prototype.getHalfTheDiagonal = function() {\n return Math.sqrt(this.rect.height * this.rect.height + this.rect.width * this.rect.width) / 2;\n };\n LNode.prototype.setRect = function(upperLeft, dimension) {\n this.rect.x = upperLeft.x;\n this.rect.y = upperLeft.y;\n this.rect.width = dimension.width;\n this.rect.height = dimension.height;\n };\n LNode.prototype.setCenter = function(cx, cy) {\n this.rect.x = cx - this.rect.width / 2;\n this.rect.y = cy - this.rect.height / 2;\n };\n LNode.prototype.setLocation = function(x2, y2) {\n this.rect.x = x2;\n this.rect.y = y2;\n };\n LNode.prototype.moveBy = function(dx, dy) {\n this.rect.x += dx;\n this.rect.y += dy;\n };\n LNode.prototype.getEdgeListToNode = function(to) {\n var edgeList = [];\n var self2 = this;\n self2.edges.forEach(function(edge) {\n if (edge.target == to) {\n if (edge.source != self2)\n throw \"Incorrect edge source!\";\n edgeList.push(edge);\n }\n });\n return edgeList;\n };\n LNode.prototype.getEdgesBetween = function(other) {\n var edgeList = [];\n var self2 = this;\n self2.edges.forEach(function(edge) {\n if (!(edge.source == self2 || edge.target == self2))\n throw \"Incorrect edge source and/or target\";\n if (edge.target == other || edge.source == other) {\n edgeList.push(edge);\n }\n });\n return edgeList;\n };\n LNode.prototype.getNeighborsList = function() {\n var neighbors = /* @__PURE__ */ new Set();\n var self2 = this;\n self2.edges.forEach(function(edge) {\n if (edge.source == self2) {\n neighbors.add(edge.target);\n } else {\n if (edge.target != self2) {\n throw \"Incorrect incidency!\";\n }\n neighbors.add(edge.source);\n }\n });\n return neighbors;\n };\n LNode.prototype.withChildren = function() {\n var withNeighborsList = /* @__PURE__ */ new Set();\n var childNode;\n var children2;\n withNeighborsList.add(this);\n if (this.child != null) {\n var nodes2 = this.child.getNodes();\n for (var i2 = 0; i2 < nodes2.length; i2++) {\n childNode = nodes2[i2];\n children2 = childNode.withChildren();\n children2.forEach(function(node2) {\n withNeighborsList.add(node2);\n });\n }\n }\n return withNeighborsList;\n };\n LNode.prototype.getNoOfChildren = function() {\n var noOfChildren = 0;\n var childNode;\n if (this.child == null) {\n noOfChildren = 1;\n } else {\n var nodes2 = this.child.getNodes();\n for (var i2 = 0; i2 < nodes2.length; i2++) {\n childNode = nodes2[i2];\n noOfChildren += childNode.getNoOfChildren();\n }\n }\n if (noOfChildren == 0) {\n noOfChildren = 1;\n }\n return noOfChildren;\n };\n LNode.prototype.getEstimatedSize = function() {\n if (this.estimatedSize == Integer.MIN_VALUE) {\n throw \"assert failed\";\n }\n return this.estimatedSize;\n };\n LNode.prototype.calcEstimatedSize = function() {\n if (this.child == null) {\n return this.estimatedSize = (this.rect.width + this.rect.height) / 2;\n } else {\n this.estimatedSize = this.child.calcEstimatedSize();\n this.rect.width = this.estimatedSize;\n this.rect.height = this.estimatedSize;\n return this.estimatedSize;\n }\n };\n LNode.prototype.scatter = function() {\n var randomCenterX;\n var randomCenterY;\n var minX = -LayoutConstants.INITIAL_WORLD_BOUNDARY;\n var maxX = LayoutConstants.INITIAL_WORLD_BOUNDARY;\n randomCenterX = LayoutConstants.WORLD_CENTER_X + RandomSeed.nextDouble() * (maxX - minX) + minX;\n var minY = -LayoutConstants.INITIAL_WORLD_BOUNDARY;\n var maxY = LayoutConstants.INITIAL_WORLD_BOUNDARY;\n randomCenterY = LayoutConstants.WORLD_CENTER_Y + RandomSeed.nextDouble() * (maxY - minY) + minY;\n this.rect.x = randomCenterX;\n this.rect.y = randomCenterY;\n };\n LNode.prototype.updateBounds = function() {\n if (this.getChild() == null) {\n throw \"assert failed\";\n }\n if (this.getChild().getNodes().length != 0) {\n var childGraph = this.getChild();\n childGraph.updateBounds(true);\n this.rect.x = childGraph.getLeft();\n this.rect.y = childGraph.getTop();\n this.setWidth(childGraph.getRight() - childGraph.getLeft());\n this.setHeight(childGraph.getBottom() - childGraph.getTop());\n if (LayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS) {\n var width2 = childGraph.getRight() - childGraph.getLeft();\n var height2 = childGraph.getBottom() - childGraph.getTop();\n if (this.labelWidth > width2) {\n this.rect.x -= (this.labelWidth - width2) / 2;\n this.setWidth(this.labelWidth);\n }\n if (this.labelHeight > height2) {\n if (this.labelPos == \"center\") {\n this.rect.y -= (this.labelHeight - height2) / 2;\n } else if (this.labelPos == \"top\") {\n this.rect.y -= this.labelHeight - height2;\n }\n this.setHeight(this.labelHeight);\n }\n }\n }\n };\n LNode.prototype.getInclusionTreeDepth = function() {\n if (this.inclusionTreeDepth == Integer.MAX_VALUE) {\n throw \"assert failed\";\n }\n return this.inclusionTreeDepth;\n };\n LNode.prototype.transform = function(trans) {\n var left2 = this.rect.x;\n if (left2 > LayoutConstants.WORLD_BOUNDARY) {\n left2 = LayoutConstants.WORLD_BOUNDARY;\n } else if (left2 < -LayoutConstants.WORLD_BOUNDARY) {\n left2 = -LayoutConstants.WORLD_BOUNDARY;\n }\n var top2 = this.rect.y;\n if (top2 > LayoutConstants.WORLD_BOUNDARY) {\n top2 = LayoutConstants.WORLD_BOUNDARY;\n } else if (top2 < -LayoutConstants.WORLD_BOUNDARY) {\n top2 = -LayoutConstants.WORLD_BOUNDARY;\n }\n var leftTop = new PointD(left2, top2);\n var vLeftTop = trans.inverseTransformPoint(leftTop);\n this.setLocation(vLeftTop.x, vLeftTop.y);\n };\n LNode.prototype.getLeft = function() {\n return this.rect.x;\n };\n LNode.prototype.getRight = function() {\n return this.rect.x + this.rect.width;\n };\n LNode.prototype.getTop = function() {\n return this.rect.y;\n };\n LNode.prototype.getBottom = function() {\n return this.rect.y + this.rect.height;\n };\n LNode.prototype.getParent = function() {\n if (this.owner == null) {\n return null;\n }\n return this.owner.getParent();\n };\n module3.exports = LNode;\n },\n /* 4 */\n /***/\n function(module3, exports3, __webpack_require__) {\n function PointD(x2, y2) {\n if (x2 == null && y2 == null) {\n this.x = 0;\n this.y = 0;\n } else {\n this.x = x2;\n this.y = y2;\n }\n }\n PointD.prototype.getX = function() {\n return this.x;\n };\n PointD.prototype.getY = function() {\n return this.y;\n };\n PointD.prototype.setX = function(x2) {\n this.x = x2;\n };\n PointD.prototype.setY = function(y2) {\n this.y = y2;\n };\n PointD.prototype.getDifference = function(pt) {\n return new DimensionD(this.x - pt.x, this.y - pt.y);\n };\n PointD.prototype.getCopy = function() {\n return new PointD(this.x, this.y);\n };\n PointD.prototype.translate = function(dim) {\n this.x += dim.width;\n this.y += dim.height;\n return this;\n };\n module3.exports = PointD;\n },\n /* 5 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var LGraphObject = __webpack_require__(2);\n var Integer = __webpack_require__(10);\n var LayoutConstants = __webpack_require__(0);\n var LGraphManager = __webpack_require__(6);\n var LNode = __webpack_require__(3);\n var LEdge = __webpack_require__(1);\n var RectangleD = __webpack_require__(13);\n var Point2 = __webpack_require__(12);\n var LinkedList = __webpack_require__(11);\n function LGraph(parent, obj2, vGraph) {\n LGraphObject.call(this, vGraph);\n this.estimatedSize = Integer.MIN_VALUE;\n this.margin = LayoutConstants.DEFAULT_GRAPH_MARGIN;\n this.edges = [];\n this.nodes = [];\n this.isConnected = false;\n this.parent = parent;\n if (obj2 != null && obj2 instanceof LGraphManager) {\n this.graphManager = obj2;\n } else if (obj2 != null && obj2 instanceof Layout) {\n this.graphManager = obj2.graphManager;\n }\n }\n LGraph.prototype = Object.create(LGraphObject.prototype);\n for (var prop in LGraphObject) {\n LGraph[prop] = LGraphObject[prop];\n }\n LGraph.prototype.getNodes = function() {\n return this.nodes;\n };\n LGraph.prototype.getEdges = function() {\n return this.edges;\n };\n LGraph.prototype.getGraphManager = function() {\n return this.graphManager;\n };\n LGraph.prototype.getParent = function() {\n return this.parent;\n };\n LGraph.prototype.getLeft = function() {\n return this.left;\n };\n LGraph.prototype.getRight = function() {\n return this.right;\n };\n LGraph.prototype.getTop = function() {\n return this.top;\n };\n LGraph.prototype.getBottom = function() {\n return this.bottom;\n };\n LGraph.prototype.isConnected = function() {\n return this.isConnected;\n };\n LGraph.prototype.add = function(obj1, sourceNode, targetNode) {\n if (sourceNode == null && targetNode == null) {\n var newNode = obj1;\n if (this.graphManager == null) {\n throw \"Graph has no graph mgr!\";\n }\n if (this.getNodes().indexOf(newNode) > -1) {\n throw \"Node already in graph!\";\n }\n newNode.owner = this;\n this.getNodes().push(newNode);\n return newNode;\n } else {\n var newEdge = obj1;\n if (!(this.getNodes().indexOf(sourceNode) > -1 && this.getNodes().indexOf(targetNode) > -1)) {\n throw \"Source or target not in graph!\";\n }\n if (!(sourceNode.owner == targetNode.owner && sourceNode.owner == this)) {\n throw \"Both owners must be this graph!\";\n }\n if (sourceNode.owner != targetNode.owner) {\n return null;\n }\n newEdge.source = sourceNode;\n newEdge.target = targetNode;\n newEdge.isInterGraph = false;\n this.getEdges().push(newEdge);\n sourceNode.edges.push(newEdge);\n if (targetNode != sourceNode) {\n targetNode.edges.push(newEdge);\n }\n return newEdge;\n }\n };\n LGraph.prototype.remove = function(obj) {\n var node2 = obj;\n if (obj instanceof LNode) {\n if (node2 == null) {\n throw \"Node is null!\";\n }\n if (!(node2.owner != null && node2.owner == this)) {\n throw \"Owner graph is invalid!\";\n }\n if (this.graphManager == null) {\n throw \"Owner graph manager is invalid!\";\n }\n var edgesToBeRemoved = node2.edges.slice();\n var edge;\n var s = edgesToBeRemoved.length;\n for (var i2 = 0; i2 < s; i2++) {\n edge = edgesToBeRemoved[i2];\n if (edge.isInterGraph) {\n this.graphManager.remove(edge);\n } else {\n edge.source.owner.remove(edge);\n }\n }\n var index = this.nodes.indexOf(node2);\n if (index == -1) {\n throw \"Node not in owner node list!\";\n }\n this.nodes.splice(index, 1);\n } else if (obj instanceof LEdge) {\n var edge = obj;\n if (edge == null) {\n throw \"Edge is null!\";\n }\n if (!(edge.source != null && edge.target != null)) {\n throw \"Source and/or target is null!\";\n }\n if (!(edge.source.owner != null && edge.target.owner != null && edge.source.owner == this && edge.target.owner == this)) {\n throw \"Source and/or target owner is invalid!\";\n }\n var sourceIndex = edge.source.edges.indexOf(edge);\n var targetIndex = edge.target.edges.indexOf(edge);\n if (!(sourceIndex > -1 && targetIndex > -1)) {\n throw \"Source and/or target doesn't know this edge!\";\n }\n edge.source.edges.splice(sourceIndex, 1);\n if (edge.target != edge.source) {\n edge.target.edges.splice(targetIndex, 1);\n }\n var index = edge.source.owner.getEdges().indexOf(edge);\n if (index == -1) {\n throw \"Not in owner's edge list!\";\n }\n edge.source.owner.getEdges().splice(index, 1);\n }\n };\n LGraph.prototype.updateLeftTop = function() {\n var top2 = Integer.MAX_VALUE;\n var left2 = Integer.MAX_VALUE;\n var nodeTop;\n var nodeLeft;\n var margin;\n var nodes2 = this.getNodes();\n var s = nodes2.length;\n for (var i2 = 0; i2 < s; i2++) {\n var lNode = nodes2[i2];\n nodeTop = lNode.getTop();\n nodeLeft = lNode.getLeft();\n if (top2 > nodeTop) {\n top2 = nodeTop;\n }\n if (left2 > nodeLeft) {\n left2 = nodeLeft;\n }\n }\n if (top2 == Integer.MAX_VALUE) {\n return null;\n }\n if (nodes2[0].getParent().paddingLeft != void 0) {\n margin = nodes2[0].getParent().paddingLeft;\n } else {\n margin = this.margin;\n }\n this.left = left2 - margin;\n this.top = top2 - margin;\n return new Point2(this.left, this.top);\n };\n LGraph.prototype.updateBounds = function(recursive) {\n var left2 = Integer.MAX_VALUE;\n var right2 = -Integer.MAX_VALUE;\n var top2 = Integer.MAX_VALUE;\n var bottom2 = -Integer.MAX_VALUE;\n var nodeLeft;\n var nodeRight;\n var nodeTop;\n var nodeBottom;\n var margin;\n var nodes2 = this.nodes;\n var s = nodes2.length;\n for (var i2 = 0; i2 < s; i2++) {\n var lNode = nodes2[i2];\n if (recursive && lNode.child != null) {\n lNode.updateBounds();\n }\n nodeLeft = lNode.getLeft();\n nodeRight = lNode.getRight();\n nodeTop = lNode.getTop();\n nodeBottom = lNode.getBottom();\n if (left2 > nodeLeft) {\n left2 = nodeLeft;\n }\n if (right2 < nodeRight) {\n right2 = nodeRight;\n }\n if (top2 > nodeTop) {\n top2 = nodeTop;\n }\n if (bottom2 < nodeBottom) {\n bottom2 = nodeBottom;\n }\n }\n var boundingRect = new RectangleD(left2, top2, right2 - left2, bottom2 - top2);\n if (left2 == Integer.MAX_VALUE) {\n this.left = this.parent.getLeft();\n this.right = this.parent.getRight();\n this.top = this.parent.getTop();\n this.bottom = this.parent.getBottom();\n }\n if (nodes2[0].getParent().paddingLeft != void 0) {\n margin = nodes2[0].getParent().paddingLeft;\n } else {\n margin = this.margin;\n }\n this.left = boundingRect.x - margin;\n this.right = boundingRect.x + boundingRect.width + margin;\n this.top = boundingRect.y - margin;\n this.bottom = boundingRect.y + boundingRect.height + margin;\n };\n LGraph.calculateBounds = function(nodes2) {\n var left2 = Integer.MAX_VALUE;\n var right2 = -Integer.MAX_VALUE;\n var top2 = Integer.MAX_VALUE;\n var bottom2 = -Integer.MAX_VALUE;\n var nodeLeft;\n var nodeRight;\n var nodeTop;\n var nodeBottom;\n var s = nodes2.length;\n for (var i2 = 0; i2 < s; i2++) {\n var lNode = nodes2[i2];\n nodeLeft = lNode.getLeft();\n nodeRight = lNode.getRight();\n nodeTop = lNode.getTop();\n nodeBottom = lNode.getBottom();\n if (left2 > nodeLeft) {\n left2 = nodeLeft;\n }\n if (right2 < nodeRight) {\n right2 = nodeRight;\n }\n if (top2 > nodeTop) {\n top2 = nodeTop;\n }\n if (bottom2 < nodeBottom) {\n bottom2 = nodeBottom;\n }\n }\n var boundingRect = new RectangleD(left2, top2, right2 - left2, bottom2 - top2);\n return boundingRect;\n };\n LGraph.prototype.getInclusionTreeDepth = function() {\n if (this == this.graphManager.getRoot()) {\n return 1;\n } else {\n return this.parent.getInclusionTreeDepth();\n }\n };\n LGraph.prototype.getEstimatedSize = function() {\n if (this.estimatedSize == Integer.MIN_VALUE) {\n throw \"assert failed\";\n }\n return this.estimatedSize;\n };\n LGraph.prototype.calcEstimatedSize = function() {\n var size2 = 0;\n var nodes2 = this.nodes;\n var s = nodes2.length;\n for (var i2 = 0; i2 < s; i2++) {\n var lNode = nodes2[i2];\n size2 += lNode.calcEstimatedSize();\n }\n if (size2 == 0) {\n this.estimatedSize = LayoutConstants.EMPTY_COMPOUND_NODE_SIZE;\n } else {\n this.estimatedSize = size2 / Math.sqrt(this.nodes.length);\n }\n return this.estimatedSize;\n };\n LGraph.prototype.updateConnected = function() {\n var self2 = this;\n if (this.nodes.length == 0) {\n this.isConnected = true;\n return;\n }\n var queue = new LinkedList();\n var visited = /* @__PURE__ */ new Set();\n var currentNode = this.nodes[0];\n var neighborEdges;\n var currentNeighbor;\n var childrenOfNode = currentNode.withChildren();\n childrenOfNode.forEach(function(node2) {\n queue.push(node2);\n visited.add(node2);\n });\n while (queue.length !== 0) {\n currentNode = queue.shift();\n neighborEdges = currentNode.getEdges();\n var size2 = neighborEdges.length;\n for (var i2 = 0; i2 < size2; i2++) {\n var neighborEdge = neighborEdges[i2];\n currentNeighbor = neighborEdge.getOtherEndInGraph(currentNode, this);\n if (currentNeighbor != null && !visited.has(currentNeighbor)) {\n var childrenOfNeighbor = currentNeighbor.withChildren();\n childrenOfNeighbor.forEach(function(node2) {\n queue.push(node2);\n visited.add(node2);\n });\n }\n }\n }\n this.isConnected = false;\n if (visited.size >= this.nodes.length) {\n var noOfVisitedInThisGraph = 0;\n visited.forEach(function(visitedNode) {\n if (visitedNode.owner == self2) {\n noOfVisitedInThisGraph++;\n }\n });\n if (noOfVisitedInThisGraph == this.nodes.length) {\n this.isConnected = true;\n }\n }\n };\n module3.exports = LGraph;\n },\n /* 6 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var LGraph;\n var LEdge = __webpack_require__(1);\n function LGraphManager(layout2) {\n LGraph = __webpack_require__(5);\n this.layout = layout2;\n this.graphs = [];\n this.edges = [];\n }\n LGraphManager.prototype.addRoot = function() {\n var ngraph = this.layout.newGraph();\n var nnode = this.layout.newNode(null);\n var root2 = this.add(ngraph, nnode);\n this.setRootGraph(root2);\n return this.rootGraph;\n };\n LGraphManager.prototype.add = function(newGraph, parentNode, newEdge, sourceNode, targetNode) {\n if (newEdge == null && sourceNode == null && targetNode == null) {\n if (newGraph == null) {\n throw \"Graph is null!\";\n }\n if (parentNode == null) {\n throw \"Parent node is null!\";\n }\n if (this.graphs.indexOf(newGraph) > -1) {\n throw \"Graph already in this graph mgr!\";\n }\n this.graphs.push(newGraph);\n if (newGraph.parent != null) {\n throw \"Already has a parent!\";\n }\n if (parentNode.child != null) {\n throw \"Already has a child!\";\n }\n newGraph.parent = parentNode;\n parentNode.child = newGraph;\n return newGraph;\n } else {\n targetNode = newEdge;\n sourceNode = parentNode;\n newEdge = newGraph;\n var sourceGraph = sourceNode.getOwner();\n var targetGraph = targetNode.getOwner();\n if (!(sourceGraph != null && sourceGraph.getGraphManager() == this)) {\n throw \"Source not in this graph mgr!\";\n }\n if (!(targetGraph != null && targetGraph.getGraphManager() == this)) {\n throw \"Target not in this graph mgr!\";\n }\n if (sourceGraph == targetGraph) {\n newEdge.isInterGraph = false;\n return sourceGraph.add(newEdge, sourceNode, targetNode);\n } else {\n newEdge.isInterGraph = true;\n newEdge.source = sourceNode;\n newEdge.target = targetNode;\n if (this.edges.indexOf(newEdge) > -1) {\n throw \"Edge already in inter-graph edge list!\";\n }\n this.edges.push(newEdge);\n if (!(newEdge.source != null && newEdge.target != null)) {\n throw \"Edge source and/or target is null!\";\n }\n if (!(newEdge.source.edges.indexOf(newEdge) == -1 && newEdge.target.edges.indexOf(newEdge) == -1)) {\n throw \"Edge already in source and/or target incidency list!\";\n }\n newEdge.source.edges.push(newEdge);\n newEdge.target.edges.push(newEdge);\n return newEdge;\n }\n }\n };\n LGraphManager.prototype.remove = function(lObj) {\n if (lObj instanceof LGraph) {\n var graph = lObj;\n if (graph.getGraphManager() != this) {\n throw \"Graph not in this graph mgr\";\n }\n if (!(graph == this.rootGraph || graph.parent != null && graph.parent.graphManager == this)) {\n throw \"Invalid parent node!\";\n }\n var edgesToBeRemoved = [];\n edgesToBeRemoved = edgesToBeRemoved.concat(graph.getEdges());\n var edge;\n var s = edgesToBeRemoved.length;\n for (var i2 = 0; i2 < s; i2++) {\n edge = edgesToBeRemoved[i2];\n graph.remove(edge);\n }\n var nodesToBeRemoved = [];\n nodesToBeRemoved = nodesToBeRemoved.concat(graph.getNodes());\n var node2;\n s = nodesToBeRemoved.length;\n for (var i2 = 0; i2 < s; i2++) {\n node2 = nodesToBeRemoved[i2];\n graph.remove(node2);\n }\n if (graph == this.rootGraph) {\n this.setRootGraph(null);\n }\n var index = this.graphs.indexOf(graph);\n this.graphs.splice(index, 1);\n graph.parent = null;\n } else if (lObj instanceof LEdge) {\n edge = lObj;\n if (edge == null) {\n throw \"Edge is null!\";\n }\n if (!edge.isInterGraph) {\n throw \"Not an inter-graph edge!\";\n }\n if (!(edge.source != null && edge.target != null)) {\n throw \"Source and/or target is null!\";\n }\n if (!(edge.source.edges.indexOf(edge) != -1 && edge.target.edges.indexOf(edge) != -1)) {\n throw \"Source and/or target doesn't know this edge!\";\n }\n var index = edge.source.edges.indexOf(edge);\n edge.source.edges.splice(index, 1);\n index = edge.target.edges.indexOf(edge);\n edge.target.edges.splice(index, 1);\n if (!(edge.source.owner != null && edge.source.owner.getGraphManager() != null)) {\n throw \"Edge owner graph or owner graph manager is null!\";\n }\n if (edge.source.owner.getGraphManager().edges.indexOf(edge) == -1) {\n throw \"Not in owner graph manager's edge list!\";\n }\n var index = edge.source.owner.getGraphManager().edges.indexOf(edge);\n edge.source.owner.getGraphManager().edges.splice(index, 1);\n }\n };\n LGraphManager.prototype.updateBounds = function() {\n this.rootGraph.updateBounds(true);\n };\n LGraphManager.prototype.getGraphs = function() {\n return this.graphs;\n };\n LGraphManager.prototype.getAllNodes = function() {\n if (this.allNodes == null) {\n var nodeList = [];\n var graphs = this.getGraphs();\n var s = graphs.length;\n for (var i2 = 0; i2 < s; i2++) {\n nodeList = nodeList.concat(graphs[i2].getNodes());\n }\n this.allNodes = nodeList;\n }\n return this.allNodes;\n };\n LGraphManager.prototype.resetAllNodes = function() {\n this.allNodes = null;\n };\n LGraphManager.prototype.resetAllEdges = function() {\n this.allEdges = null;\n };\n LGraphManager.prototype.resetAllNodesToApplyGravitation = function() {\n this.allNodesToApplyGravitation = null;\n };\n LGraphManager.prototype.getAllEdges = function() {\n if (this.allEdges == null) {\n var edgeList = [];\n var graphs = this.getGraphs();\n graphs.length;\n for (var i2 = 0; i2 < graphs.length; i2++) {\n edgeList = edgeList.concat(graphs[i2].getEdges());\n }\n edgeList = edgeList.concat(this.edges);\n this.allEdges = edgeList;\n }\n return this.allEdges;\n };\n LGraphManager.prototype.getAllNodesToApplyGravitation = function() {\n return this.allNodesToApplyGravitation;\n };\n LGraphManager.prototype.setAllNodesToApplyGravitation = function(nodeList) {\n if (this.allNodesToApplyGravitation != null) {\n throw \"assert failed\";\n }\n this.allNodesToApplyGravitation = nodeList;\n };\n LGraphManager.prototype.getRoot = function() {\n return this.rootGraph;\n };\n LGraphManager.prototype.setRootGraph = function(graph) {\n if (graph.getGraphManager() != this) {\n throw \"Root not in this graph mgr!\";\n }\n this.rootGraph = graph;\n if (graph.parent == null) {\n graph.parent = this.layout.newNode(\"Root node\");\n }\n };\n LGraphManager.prototype.getLayout = function() {\n return this.layout;\n };\n LGraphManager.prototype.isOneAncestorOfOther = function(firstNode, secondNode) {\n if (!(firstNode != null && secondNode != null)) {\n throw \"assert failed\";\n }\n if (firstNode == secondNode) {\n return true;\n }\n var ownerGraph = firstNode.getOwner();\n var parentNode;\n do {\n parentNode = ownerGraph.getParent();\n if (parentNode == null) {\n break;\n }\n if (parentNode == secondNode) {\n return true;\n }\n ownerGraph = parentNode.getOwner();\n if (ownerGraph == null) {\n break;\n }\n } while (true);\n ownerGraph = secondNode.getOwner();\n do {\n parentNode = ownerGraph.getParent();\n if (parentNode == null) {\n break;\n }\n if (parentNode == firstNode) {\n return true;\n }\n ownerGraph = parentNode.getOwner();\n if (ownerGraph == null) {\n break;\n }\n } while (true);\n return false;\n };\n LGraphManager.prototype.calcLowestCommonAncestors = function() {\n var edge;\n var sourceNode;\n var targetNode;\n var sourceAncestorGraph;\n var targetAncestorGraph;\n var edges2 = this.getAllEdges();\n var s = edges2.length;\n for (var i2 = 0; i2 < s; i2++) {\n edge = edges2[i2];\n sourceNode = edge.source;\n targetNode = edge.target;\n edge.lca = null;\n edge.sourceInLca = sourceNode;\n edge.targetInLca = targetNode;\n if (sourceNode == targetNode) {\n edge.lca = sourceNode.getOwner();\n continue;\n }\n sourceAncestorGraph = sourceNode.getOwner();\n while (edge.lca == null) {\n edge.targetInLca = targetNode;\n targetAncestorGraph = targetNode.getOwner();\n while (edge.lca == null) {\n if (targetAncestorGraph == sourceAncestorGraph) {\n edge.lca = targetAncestorGraph;\n break;\n }\n if (targetAncestorGraph == this.rootGraph) {\n break;\n }\n if (edge.lca != null) {\n throw \"assert failed\";\n }\n edge.targetInLca = targetAncestorGraph.getParent();\n targetAncestorGraph = edge.targetInLca.getOwner();\n }\n if (sourceAncestorGraph == this.rootGraph) {\n break;\n }\n if (edge.lca == null) {\n edge.sourceInLca = sourceAncestorGraph.getParent();\n sourceAncestorGraph = edge.sourceInLca.getOwner();\n }\n }\n if (edge.lca == null) {\n throw \"assert failed\";\n }\n }\n };\n LGraphManager.prototype.calcLowestCommonAncestor = function(firstNode, secondNode) {\n if (firstNode == secondNode) {\n return firstNode.getOwner();\n }\n var firstOwnerGraph = firstNode.getOwner();\n do {\n if (firstOwnerGraph == null) {\n break;\n }\n var secondOwnerGraph = secondNode.getOwner();\n do {\n if (secondOwnerGraph == null) {\n break;\n }\n if (secondOwnerGraph == firstOwnerGraph) {\n return secondOwnerGraph;\n }\n secondOwnerGraph = secondOwnerGraph.getParent().getOwner();\n } while (true);\n firstOwnerGraph = firstOwnerGraph.getParent().getOwner();\n } while (true);\n return firstOwnerGraph;\n };\n LGraphManager.prototype.calcInclusionTreeDepths = function(graph, depth) {\n if (graph == null && depth == null) {\n graph = this.rootGraph;\n depth = 1;\n }\n var node2;\n var nodes2 = graph.getNodes();\n var s = nodes2.length;\n for (var i2 = 0; i2 < s; i2++) {\n node2 = nodes2[i2];\n node2.inclusionTreeDepth = depth;\n if (node2.child != null) {\n this.calcInclusionTreeDepths(node2.child, depth + 1);\n }\n }\n };\n LGraphManager.prototype.includesInvalidEdge = function() {\n var edge;\n var s = this.edges.length;\n for (var i2 = 0; i2 < s; i2++) {\n edge = this.edges[i2];\n if (this.isOneAncestorOfOther(edge.source, edge.target)) {\n return true;\n }\n }\n return false;\n };\n module3.exports = LGraphManager;\n },\n /* 7 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var LayoutConstants = __webpack_require__(0);\n function FDLayoutConstants() {\n }\n for (var prop in LayoutConstants) {\n FDLayoutConstants[prop] = LayoutConstants[prop];\n }\n FDLayoutConstants.MAX_ITERATIONS = 2500;\n FDLayoutConstants.DEFAULT_EDGE_LENGTH = 50;\n FDLayoutConstants.DEFAULT_SPRING_STRENGTH = 0.45;\n FDLayoutConstants.DEFAULT_REPULSION_STRENGTH = 4500;\n FDLayoutConstants.DEFAULT_GRAVITY_STRENGTH = 0.4;\n FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH = 1;\n FDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR = 3.8;\n FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = 1.5;\n FDLayoutConstants.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION = true;\n FDLayoutConstants.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION = true;\n FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL = 0.3;\n FDLayoutConstants.COOLING_ADAPTATION_FACTOR = 0.33;\n FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT = 1e3;\n FDLayoutConstants.ADAPTATION_UPPER_NODE_LIMIT = 5e3;\n FDLayoutConstants.MAX_NODE_DISPLACEMENT_INCREMENTAL = 100;\n FDLayoutConstants.MAX_NODE_DISPLACEMENT = FDLayoutConstants.MAX_NODE_DISPLACEMENT_INCREMENTAL * 3;\n FDLayoutConstants.MIN_REPULSION_DIST = FDLayoutConstants.DEFAULT_EDGE_LENGTH / 10;\n FDLayoutConstants.CONVERGENCE_CHECK_PERIOD = 100;\n FDLayoutConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = 0.1;\n FDLayoutConstants.MIN_EDGE_LENGTH = 1;\n FDLayoutConstants.GRID_CALCULATION_CHECK_PERIOD = 10;\n module3.exports = FDLayoutConstants;\n },\n /* 8 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var Point2 = __webpack_require__(12);\n function IGeometry() {\n }\n IGeometry.calcSeparationAmount = function(rectA, rectB, overlapAmount, separationBuffer) {\n if (!rectA.intersects(rectB)) {\n throw \"assert failed\";\n }\n var directions = new Array(2);\n this.decideDirectionsForOverlappingNodes(rectA, rectB, directions);\n overlapAmount[0] = Math.min(rectA.getRight(), rectB.getRight()) - Math.max(rectA.x, rectB.x);\n overlapAmount[1] = Math.min(rectA.getBottom(), rectB.getBottom()) - Math.max(rectA.y, rectB.y);\n if (rectA.getX() <= rectB.getX() && rectA.getRight() >= rectB.getRight()) {\n overlapAmount[0] += Math.min(rectB.getX() - rectA.getX(), rectA.getRight() - rectB.getRight());\n } else if (rectB.getX() <= rectA.getX() && rectB.getRight() >= rectA.getRight()) {\n overlapAmount[0] += Math.min(rectA.getX() - rectB.getX(), rectB.getRight() - rectA.getRight());\n }\n if (rectA.getY() <= rectB.getY() && rectA.getBottom() >= rectB.getBottom()) {\n overlapAmount[1] += Math.min(rectB.getY() - rectA.getY(), rectA.getBottom() - rectB.getBottom());\n } else if (rectB.getY() <= rectA.getY() && rectB.getBottom() >= rectA.getBottom()) {\n overlapAmount[1] += Math.min(rectA.getY() - rectB.getY(), rectB.getBottom() - rectA.getBottom());\n }\n var slope = Math.abs((rectB.getCenterY() - rectA.getCenterY()) / (rectB.getCenterX() - rectA.getCenterX()));\n if (rectB.getCenterY() === rectA.getCenterY() && rectB.getCenterX() === rectA.getCenterX()) {\n slope = 1;\n }\n var moveByY = slope * overlapAmount[0];\n var moveByX = overlapAmount[1] / slope;\n if (overlapAmount[0] < moveByX) {\n moveByX = overlapAmount[0];\n } else {\n moveByY = overlapAmount[1];\n }\n overlapAmount[0] = -1 * directions[0] * (moveByX / 2 + separationBuffer);\n overlapAmount[1] = -1 * directions[1] * (moveByY / 2 + separationBuffer);\n };\n IGeometry.decideDirectionsForOverlappingNodes = function(rectA, rectB, directions) {\n if (rectA.getCenterX() < rectB.getCenterX()) {\n directions[0] = -1;\n } else {\n directions[0] = 1;\n }\n if (rectA.getCenterY() < rectB.getCenterY()) {\n directions[1] = -1;\n } else {\n directions[1] = 1;\n }\n };\n IGeometry.getIntersection2 = function(rectA, rectB, result) {\n var p1x = rectA.getCenterX();\n var p1y = rectA.getCenterY();\n var p2x = rectB.getCenterX();\n var p2y = rectB.getCenterY();\n if (rectA.intersects(rectB)) {\n result[0] = p1x;\n result[1] = p1y;\n result[2] = p2x;\n result[3] = p2y;\n return true;\n }\n var topLeftAx = rectA.getX();\n var topLeftAy = rectA.getY();\n var topRightAx = rectA.getRight();\n var bottomLeftAx = rectA.getX();\n var bottomLeftAy = rectA.getBottom();\n var bottomRightAx = rectA.getRight();\n var halfWidthA = rectA.getWidthHalf();\n var halfHeightA = rectA.getHeightHalf();\n var topLeftBx = rectB.getX();\n var topLeftBy = rectB.getY();\n var topRightBx = rectB.getRight();\n var bottomLeftBx = rectB.getX();\n var bottomLeftBy = rectB.getBottom();\n var bottomRightBx = rectB.getRight();\n var halfWidthB = rectB.getWidthHalf();\n var halfHeightB = rectB.getHeightHalf();\n var clipPointAFound = false;\n var clipPointBFound = false;\n if (p1x === p2x) {\n if (p1y > p2y) {\n result[0] = p1x;\n result[1] = topLeftAy;\n result[2] = p2x;\n result[3] = bottomLeftBy;\n return false;\n } else if (p1y < p2y) {\n result[0] = p1x;\n result[1] = bottomLeftAy;\n result[2] = p2x;\n result[3] = topLeftBy;\n return false;\n } else\n ;\n } else if (p1y === p2y) {\n if (p1x > p2x) {\n result[0] = topLeftAx;\n result[1] = p1y;\n result[2] = topRightBx;\n result[3] = p2y;\n return false;\n } else if (p1x < p2x) {\n result[0] = topRightAx;\n result[1] = p1y;\n result[2] = topLeftBx;\n result[3] = p2y;\n return false;\n } else\n ;\n } else {\n var slopeA = rectA.height / rectA.width;\n var slopeB = rectB.height / rectB.width;\n var slopePrime = (p2y - p1y) / (p2x - p1x);\n var cardinalDirectionA = void 0;\n var cardinalDirectionB = void 0;\n var tempPointAx = void 0;\n var tempPointAy = void 0;\n var tempPointBx = void 0;\n var tempPointBy = void 0;\n if (-slopeA === slopePrime) {\n if (p1x > p2x) {\n result[0] = bottomLeftAx;\n result[1] = bottomLeftAy;\n clipPointAFound = true;\n } else {\n result[0] = topRightAx;\n result[1] = topLeftAy;\n clipPointAFound = true;\n }\n } else if (slopeA === slopePrime) {\n if (p1x > p2x) {\n result[0] = topLeftAx;\n result[1] = topLeftAy;\n clipPointAFound = true;\n } else {\n result[0] = bottomRightAx;\n result[1] = bottomLeftAy;\n clipPointAFound = true;\n }\n }\n if (-slopeB === slopePrime) {\n if (p2x > p1x) {\n result[2] = bottomLeftBx;\n result[3] = bottomLeftBy;\n clipPointBFound = true;\n } else {\n result[2] = topRightBx;\n result[3] = topLeftBy;\n clipPointBFound = true;\n }\n } else if (slopeB === slopePrime) {\n if (p2x > p1x) {\n result[2] = topLeftBx;\n result[3] = topLeftBy;\n clipPointBFound = true;\n } else {\n result[2] = bottomRightBx;\n result[3] = bottomLeftBy;\n clipPointBFound = true;\n }\n }\n if (clipPointAFound && clipPointBFound) {\n return false;\n }\n if (p1x > p2x) {\n if (p1y > p2y) {\n cardinalDirectionA = this.getCardinalDirection(slopeA, slopePrime, 4);\n cardinalDirectionB = this.getCardinalDirection(slopeB, slopePrime, 2);\n } else {\n cardinalDirectionA = this.getCardinalDirection(-slopeA, slopePrime, 3);\n cardinalDirectionB = this.getCardinalDirection(-slopeB, slopePrime, 1);\n }\n } else {\n if (p1y > p2y) {\n cardinalDirectionA = this.getCardinalDirection(-slopeA, slopePrime, 1);\n cardinalDirectionB = this.getCardinalDirection(-slopeB, slopePrime, 3);\n } else {\n cardinalDirectionA = this.getCardinalDirection(slopeA, slopePrime, 2);\n cardinalDirectionB = this.getCardinalDirection(slopeB, slopePrime, 4);\n }\n }\n if (!clipPointAFound) {\n switch (cardinalDirectionA) {\n case 1:\n tempPointAy = topLeftAy;\n tempPointAx = p1x + -halfHeightA / slopePrime;\n result[0] = tempPointAx;\n result[1] = tempPointAy;\n break;\n case 2:\n tempPointAx = bottomRightAx;\n tempPointAy = p1y + halfWidthA * slopePrime;\n result[0] = tempPointAx;\n result[1] = tempPointAy;\n break;\n case 3:\n tempPointAy = bottomLeftAy;\n tempPointAx = p1x + halfHeightA / slopePrime;\n result[0] = tempPointAx;\n result[1] = tempPointAy;\n break;\n case 4:\n tempPointAx = bottomLeftAx;\n tempPointAy = p1y + -halfWidthA * slopePrime;\n result[0] = tempPointAx;\n result[1] = tempPointAy;\n break;\n }\n }\n if (!clipPointBFound) {\n switch (cardinalDirectionB) {\n case 1:\n tempPointBy = topLeftBy;\n tempPointBx = p2x + -halfHeightB / slopePrime;\n result[2] = tempPointBx;\n result[3] = tempPointBy;\n break;\n case 2:\n tempPointBx = bottomRightBx;\n tempPointBy = p2y + halfWidthB * slopePrime;\n result[2] = tempPointBx;\n result[3] = tempPointBy;\n break;\n case 3:\n tempPointBy = bottomLeftBy;\n tempPointBx = p2x + halfHeightB / slopePrime;\n result[2] = tempPointBx;\n result[3] = tempPointBy;\n break;\n case 4:\n tempPointBx = bottomLeftBx;\n tempPointBy = p2y + -halfWidthB * slopePrime;\n result[2] = tempPointBx;\n result[3] = tempPointBy;\n break;\n }\n }\n }\n return false;\n };\n IGeometry.getCardinalDirection = function(slope, slopePrime, line2) {\n if (slope > slopePrime) {\n return line2;\n } else {\n return 1 + line2 % 4;\n }\n };\n IGeometry.getIntersection = function(s1, s2, f1, f2) {\n if (f2 == null) {\n return this.getIntersection2(s1, s2, f1);\n }\n var x1 = s1.x;\n var y1 = s1.y;\n var x2 = s2.x;\n var y2 = s2.y;\n var x3 = f1.x;\n var y3 = f1.y;\n var x4 = f2.x;\n var y4 = f2.y;\n var x5 = void 0, y5 = void 0;\n var a1 = void 0, a2 = void 0, b1 = void 0, b2 = void 0, c1 = void 0, c2 = void 0;\n var denom = void 0;\n a1 = y2 - y1;\n b1 = x1 - x2;\n c1 = x2 * y1 - x1 * y2;\n a2 = y4 - y3;\n b2 = x3 - x4;\n c2 = x4 * y3 - x3 * y4;\n denom = a1 * b2 - a2 * b1;\n if (denom === 0) {\n return null;\n }\n x5 = (b1 * c2 - b2 * c1) / denom;\n y5 = (a2 * c1 - a1 * c2) / denom;\n return new Point2(x5, y5);\n };\n IGeometry.angleOfVector = function(Cx, Cy, Nx, Ny) {\n var C_angle = void 0;\n if (Cx !== Nx) {\n C_angle = Math.atan((Ny - Cy) / (Nx - Cx));\n if (Nx < Cx) {\n C_angle += Math.PI;\n } else if (Ny < Cy) {\n C_angle += this.TWO_PI;\n }\n } else if (Ny < Cy) {\n C_angle = this.ONE_AND_HALF_PI;\n } else {\n C_angle = this.HALF_PI;\n }\n return C_angle;\n };\n IGeometry.doIntersect = function(p1, p2, p3, p4) {\n var a = p1.x;\n var b = p1.y;\n var c2 = p2.x;\n var d = p2.y;\n var p = p3.x;\n var q = p3.y;\n var r = p4.x;\n var s = p4.y;\n var det = (c2 - a) * (s - q) - (r - p) * (d - b);\n if (det === 0) {\n return false;\n } else {\n var lambda = ((s - q) * (r - a) + (p - r) * (s - b)) / det;\n var gamma2 = ((b - d) * (r - a) + (c2 - a) * (s - b)) / det;\n return 0 < lambda && lambda < 1 && 0 < gamma2 && gamma2 < 1;\n }\n };\n IGeometry.HALF_PI = 0.5 * Math.PI;\n IGeometry.ONE_AND_HALF_PI = 1.5 * Math.PI;\n IGeometry.TWO_PI = 2 * Math.PI;\n IGeometry.THREE_PI = 3 * Math.PI;\n module3.exports = IGeometry;\n },\n /* 9 */\n /***/\n function(module3, exports3, __webpack_require__) {\n function IMath() {\n }\n IMath.sign = function(value) {\n if (value > 0) {\n return 1;\n } else if (value < 0) {\n return -1;\n } else {\n return 0;\n }\n };\n IMath.floor = function(value) {\n return value < 0 ? Math.ceil(value) : Math.floor(value);\n };\n IMath.ceil = function(value) {\n return value < 0 ? Math.floor(value) : Math.ceil(value);\n };\n module3.exports = IMath;\n },\n /* 10 */\n /***/\n function(module3, exports3, __webpack_require__) {\n function Integer() {\n }\n Integer.MAX_VALUE = 2147483647;\n Integer.MIN_VALUE = -2147483648;\n module3.exports = Integer;\n },\n /* 11 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var _createClass = function() {\n function defineProperties(target, props) {\n for (var i2 = 0; i2 < props.length; i2++) {\n var descriptor = props[i2];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function(Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance2, Constructor) {\n if (!(instance2 instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var nodeFrom = function nodeFrom2(value) {\n return { value, next: null, prev: null };\n };\n var add = function add2(prev2, node2, next2, list) {\n if (prev2 !== null) {\n prev2.next = node2;\n } else {\n list.head = node2;\n }\n if (next2 !== null) {\n next2.prev = node2;\n } else {\n list.tail = node2;\n }\n node2.prev = prev2;\n node2.next = next2;\n list.length++;\n return node2;\n };\n var _remove = function _remove2(node2, list) {\n var prev2 = node2.prev, next2 = node2.next;\n if (prev2 !== null) {\n prev2.next = next2;\n } else {\n list.head = next2;\n }\n if (next2 !== null) {\n next2.prev = prev2;\n } else {\n list.tail = prev2;\n }\n node2.prev = node2.next = null;\n list.length--;\n return node2;\n };\n var LinkedList = function() {\n function LinkedList2(vals) {\n var _this = this;\n _classCallCheck(this, LinkedList2);\n this.length = 0;\n this.head = null;\n this.tail = null;\n if (vals != null) {\n vals.forEach(function(v) {\n return _this.push(v);\n });\n }\n }\n _createClass(LinkedList2, [{\n key: \"size\",\n value: function size2() {\n return this.length;\n }\n }, {\n key: \"insertBefore\",\n value: function insertBefore(val, otherNode) {\n return add(otherNode.prev, nodeFrom(val), otherNode, this);\n }\n }, {\n key: \"insertAfter\",\n value: function insertAfter(val, otherNode) {\n return add(otherNode, nodeFrom(val), otherNode.next, this);\n }\n }, {\n key: \"insertNodeBefore\",\n value: function insertNodeBefore(newNode, otherNode) {\n return add(otherNode.prev, newNode, otherNode, this);\n }\n }, {\n key: \"insertNodeAfter\",\n value: function insertNodeAfter(newNode, otherNode) {\n return add(otherNode, newNode, otherNode.next, this);\n }\n }, {\n key: \"push\",\n value: function push(val) {\n return add(this.tail, nodeFrom(val), null, this);\n }\n }, {\n key: \"unshift\",\n value: function unshift(val) {\n return add(null, nodeFrom(val), this.head, this);\n }\n }, {\n key: \"remove\",\n value: function remove2(node2) {\n return _remove(node2, this);\n }\n }, {\n key: \"pop\",\n value: function pop() {\n return _remove(this.tail, this).value;\n }\n }, {\n key: \"popNode\",\n value: function popNode() {\n return _remove(this.tail, this);\n }\n }, {\n key: \"shift\",\n value: function shift() {\n return _remove(this.head, this).value;\n }\n }, {\n key: \"shiftNode\",\n value: function shiftNode() {\n return _remove(this.head, this);\n }\n }, {\n key: \"get_object_at\",\n value: function get_object_at(index) {\n if (index <= this.length()) {\n var i2 = 1;\n var current = this.head;\n while (i2 < index) {\n current = current.next;\n i2++;\n }\n return current.value;\n }\n }\n }, {\n key: \"set_object_at\",\n value: function set_object_at(index, value) {\n if (index <= this.length()) {\n var i2 = 1;\n var current = this.head;\n while (i2 < index) {\n current = current.next;\n i2++;\n }\n current.value = value;\n }\n }\n }]);\n return LinkedList2;\n }();\n module3.exports = LinkedList;\n },\n /* 12 */\n /***/\n function(module3, exports3, __webpack_require__) {\n function Point2(x2, y2, p) {\n this.x = null;\n this.y = null;\n if (x2 == null && y2 == null && p == null) {\n this.x = 0;\n this.y = 0;\n } else if (typeof x2 == \"number\" && typeof y2 == \"number\" && p == null) {\n this.x = x2;\n this.y = y2;\n } else if (x2.constructor.name == \"Point\" && y2 == null && p == null) {\n p = x2;\n this.x = p.x;\n this.y = p.y;\n }\n }\n Point2.prototype.getX = function() {\n return this.x;\n };\n Point2.prototype.getY = function() {\n return this.y;\n };\n Point2.prototype.getLocation = function() {\n return new Point2(this.x, this.y);\n };\n Point2.prototype.setLocation = function(x2, y2, p) {\n if (x2.constructor.name == \"Point\" && y2 == null && p == null) {\n p = x2;\n this.setLocation(p.x, p.y);\n } else if (typeof x2 == \"number\" && typeof y2 == \"number\" && p == null) {\n if (parseInt(x2) == x2 && parseInt(y2) == y2) {\n this.move(x2, y2);\n } else {\n this.x = Math.floor(x2 + 0.5);\n this.y = Math.floor(y2 + 0.5);\n }\n }\n };\n Point2.prototype.move = function(x2, y2) {\n this.x = x2;\n this.y = y2;\n };\n Point2.prototype.translate = function(dx, dy) {\n this.x += dx;\n this.y += dy;\n };\n Point2.prototype.equals = function(obj) {\n if (obj.constructor.name == \"Point\") {\n var pt = obj;\n return this.x == pt.x && this.y == pt.y;\n }\n return this == obj;\n };\n Point2.prototype.toString = function() {\n return new Point2().constructor.name + \"[x=\" + this.x + \",y=\" + this.y + \"]\";\n };\n module3.exports = Point2;\n },\n /* 13 */\n /***/\n function(module3, exports3, __webpack_require__) {\n function RectangleD(x2, y2, width2, height2) {\n this.x = 0;\n this.y = 0;\n this.width = 0;\n this.height = 0;\n if (x2 != null && y2 != null && width2 != null && height2 != null) {\n this.x = x2;\n this.y = y2;\n this.width = width2;\n this.height = height2;\n }\n }\n RectangleD.prototype.getX = function() {\n return this.x;\n };\n RectangleD.prototype.setX = function(x2) {\n this.x = x2;\n };\n RectangleD.prototype.getY = function() {\n return this.y;\n };\n RectangleD.prototype.setY = function(y2) {\n this.y = y2;\n };\n RectangleD.prototype.getWidth = function() {\n return this.width;\n };\n RectangleD.prototype.setWidth = function(width2) {\n this.width = width2;\n };\n RectangleD.prototype.getHeight = function() {\n return this.height;\n };\n RectangleD.prototype.setHeight = function(height2) {\n this.height = height2;\n };\n RectangleD.prototype.getRight = function() {\n return this.x + this.width;\n };\n RectangleD.prototype.getBottom = function() {\n return this.y + this.height;\n };\n RectangleD.prototype.intersects = function(a) {\n if (this.getRight() < a.x) {\n return false;\n }\n if (this.getBottom() < a.y) {\n return false;\n }\n if (a.getRight() < this.x) {\n return false;\n }\n if (a.getBottom() < this.y) {\n return false;\n }\n return true;\n };\n RectangleD.prototype.getCenterX = function() {\n return this.x + this.width / 2;\n };\n RectangleD.prototype.getMinX = function() {\n return this.getX();\n };\n RectangleD.prototype.getMaxX = function() {\n return this.getX() + this.width;\n };\n RectangleD.prototype.getCenterY = function() {\n return this.y + this.height / 2;\n };\n RectangleD.prototype.getMinY = function() {\n return this.getY();\n };\n RectangleD.prototype.getMaxY = function() {\n return this.getY() + this.height;\n };\n RectangleD.prototype.getWidthHalf = function() {\n return this.width / 2;\n };\n RectangleD.prototype.getHeightHalf = function() {\n return this.height / 2;\n };\n module3.exports = RectangleD;\n },\n /* 14 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var _typeof2 = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function(obj) {\n return typeof obj;\n } : function(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n function UniqueIDGeneretor() {\n }\n UniqueIDGeneretor.lastID = 0;\n UniqueIDGeneretor.createID = function(obj) {\n if (UniqueIDGeneretor.isPrimitive(obj)) {\n return obj;\n }\n if (obj.uniqueID != null) {\n return obj.uniqueID;\n }\n obj.uniqueID = UniqueIDGeneretor.getString();\n UniqueIDGeneretor.lastID++;\n return obj.uniqueID;\n };\n UniqueIDGeneretor.getString = function(id2) {\n if (id2 == null)\n id2 = UniqueIDGeneretor.lastID;\n return \"Object#\" + id2;\n };\n UniqueIDGeneretor.isPrimitive = function(arg) {\n var type2 = typeof arg === \"undefined\" ? \"undefined\" : _typeof2(arg);\n return arg == null || type2 != \"object\" && type2 != \"function\";\n };\n module3.exports = UniqueIDGeneretor;\n },\n /* 15 */\n /***/\n function(module3, exports3, __webpack_require__) {\n function _toConsumableArray2(arr) {\n if (Array.isArray(arr)) {\n for (var i2 = 0, arr2 = Array(arr.length); i2 < arr.length; i2++) {\n arr2[i2] = arr[i2];\n }\n return arr2;\n } else {\n return Array.from(arr);\n }\n }\n var LayoutConstants = __webpack_require__(0);\n var LGraphManager = __webpack_require__(6);\n var LNode = __webpack_require__(3);\n var LEdge = __webpack_require__(1);\n var LGraph = __webpack_require__(5);\n var PointD = __webpack_require__(4);\n var Transform2 = __webpack_require__(17);\n var Emitter = __webpack_require__(27);\n function Layout2(isRemoteUse) {\n Emitter.call(this);\n this.layoutQuality = LayoutConstants.QUALITY;\n this.createBendsAsNeeded = LayoutConstants.DEFAULT_CREATE_BENDS_AS_NEEDED;\n this.incremental = LayoutConstants.DEFAULT_INCREMENTAL;\n this.animationOnLayout = LayoutConstants.DEFAULT_ANIMATION_ON_LAYOUT;\n this.animationDuringLayout = LayoutConstants.DEFAULT_ANIMATION_DURING_LAYOUT;\n this.animationPeriod = LayoutConstants.DEFAULT_ANIMATION_PERIOD;\n this.uniformLeafNodeSizes = LayoutConstants.DEFAULT_UNIFORM_LEAF_NODE_SIZES;\n this.edgeToDummyNodes = /* @__PURE__ */ new Map();\n this.graphManager = new LGraphManager(this);\n this.isLayoutFinished = false;\n this.isSubLayout = false;\n this.isRemoteUse = false;\n if (isRemoteUse != null) {\n this.isRemoteUse = isRemoteUse;\n }\n }\n Layout2.RANDOM_SEED = 1;\n Layout2.prototype = Object.create(Emitter.prototype);\n Layout2.prototype.getGraphManager = function() {\n return this.graphManager;\n };\n Layout2.prototype.getAllNodes = function() {\n return this.graphManager.getAllNodes();\n };\n Layout2.prototype.getAllEdges = function() {\n return this.graphManager.getAllEdges();\n };\n Layout2.prototype.getAllNodesToApplyGravitation = function() {\n return this.graphManager.getAllNodesToApplyGravitation();\n };\n Layout2.prototype.newGraphManager = function() {\n var gm = new LGraphManager(this);\n this.graphManager = gm;\n return gm;\n };\n Layout2.prototype.newGraph = function(vGraph) {\n return new LGraph(null, this.graphManager, vGraph);\n };\n Layout2.prototype.newNode = function(vNode) {\n return new LNode(this.graphManager, vNode);\n };\n Layout2.prototype.newEdge = function(vEdge) {\n return new LEdge(null, null, vEdge);\n };\n Layout2.prototype.checkLayoutSuccess = function() {\n return this.graphManager.getRoot() == null || this.graphManager.getRoot().getNodes().length == 0 || this.graphManager.includesInvalidEdge();\n };\n Layout2.prototype.runLayout = function() {\n this.isLayoutFinished = false;\n if (this.tilingPreLayout) {\n this.tilingPreLayout();\n }\n this.initParameters();\n var isLayoutSuccessfull;\n if (this.checkLayoutSuccess()) {\n isLayoutSuccessfull = false;\n } else {\n isLayoutSuccessfull = this.layout();\n }\n if (LayoutConstants.ANIMATE === \"during\") {\n return false;\n }\n if (isLayoutSuccessfull) {\n if (!this.isSubLayout) {\n this.doPostLayout();\n }\n }\n if (this.tilingPostLayout) {\n this.tilingPostLayout();\n }\n this.isLayoutFinished = true;\n return isLayoutSuccessfull;\n };\n Layout2.prototype.doPostLayout = function() {\n if (!this.incremental) {\n this.transform();\n }\n this.update();\n };\n Layout2.prototype.update2 = function() {\n if (this.createBendsAsNeeded) {\n this.createBendpointsFromDummyNodes();\n this.graphManager.resetAllEdges();\n }\n if (!this.isRemoteUse) {\n var allEdges = this.graphManager.getAllEdges();\n for (var i2 = 0; i2 < allEdges.length; i2++) {\n allEdges[i2];\n }\n var nodes2 = this.graphManager.getRoot().getNodes();\n for (var i2 = 0; i2 < nodes2.length; i2++) {\n nodes2[i2];\n }\n this.update(this.graphManager.getRoot());\n }\n };\n Layout2.prototype.update = function(obj) {\n if (obj == null) {\n this.update2();\n } else if (obj instanceof LNode) {\n var node2 = obj;\n if (node2.getChild() != null) {\n var nodes2 = node2.getChild().getNodes();\n for (var i2 = 0; i2 < nodes2.length; i2++) {\n update(nodes2[i2]);\n }\n }\n if (node2.vGraphObject != null) {\n var vNode = node2.vGraphObject;\n vNode.update(node2);\n }\n } else if (obj instanceof LEdge) {\n var edge = obj;\n if (edge.vGraphObject != null) {\n var vEdge = edge.vGraphObject;\n vEdge.update(edge);\n }\n } else if (obj instanceof LGraph) {\n var graph = obj;\n if (graph.vGraphObject != null) {\n var vGraph = graph.vGraphObject;\n vGraph.update(graph);\n }\n }\n };\n Layout2.prototype.initParameters = function() {\n if (!this.isSubLayout) {\n this.layoutQuality = LayoutConstants.QUALITY;\n this.animationDuringLayout = LayoutConstants.DEFAULT_ANIMATION_DURING_LAYOUT;\n this.animationPeriod = LayoutConstants.DEFAULT_ANIMATION_PERIOD;\n this.animationOnLayout = LayoutConstants.DEFAULT_ANIMATION_ON_LAYOUT;\n this.incremental = LayoutConstants.DEFAULT_INCREMENTAL;\n this.createBendsAsNeeded = LayoutConstants.DEFAULT_CREATE_BENDS_AS_NEEDED;\n this.uniformLeafNodeSizes = LayoutConstants.DEFAULT_UNIFORM_LEAF_NODE_SIZES;\n }\n if (this.animationDuringLayout) {\n this.animationOnLayout = false;\n }\n };\n Layout2.prototype.transform = function(newLeftTop) {\n if (newLeftTop == void 0) {\n this.transform(new PointD(0, 0));\n } else {\n var trans = new Transform2();\n var leftTop = this.graphManager.getRoot().updateLeftTop();\n if (leftTop != null) {\n trans.setWorldOrgX(newLeftTop.x);\n trans.setWorldOrgY(newLeftTop.y);\n trans.setDeviceOrgX(leftTop.x);\n trans.setDeviceOrgY(leftTop.y);\n var nodes2 = this.getAllNodes();\n var node2;\n for (var i2 = 0; i2 < nodes2.length; i2++) {\n node2 = nodes2[i2];\n node2.transform(trans);\n }\n }\n }\n };\n Layout2.prototype.positionNodesRandomly = function(graph) {\n if (graph == void 0) {\n this.positionNodesRandomly(this.getGraphManager().getRoot());\n this.getGraphManager().getRoot().updateBounds(true);\n } else {\n var lNode;\n var childGraph;\n var nodes2 = graph.getNodes();\n for (var i2 = 0; i2 < nodes2.length; i2++) {\n lNode = nodes2[i2];\n childGraph = lNode.getChild();\n if (childGraph == null) {\n lNode.scatter();\n } else if (childGraph.getNodes().length == 0) {\n lNode.scatter();\n } else {\n this.positionNodesRandomly(childGraph);\n lNode.updateBounds();\n }\n }\n }\n };\n Layout2.prototype.getFlatForest = function() {\n var flatForest = [];\n var isForest = true;\n var allNodes = this.graphManager.getRoot().getNodes();\n var isFlat = true;\n for (var i2 = 0; i2 < allNodes.length; i2++) {\n if (allNodes[i2].getChild() != null) {\n isFlat = false;\n }\n }\n if (!isFlat) {\n return flatForest;\n }\n var visited = /* @__PURE__ */ new Set();\n var toBeVisited = [];\n var parents2 = /* @__PURE__ */ new Map();\n var unProcessedNodes = [];\n unProcessedNodes = unProcessedNodes.concat(allNodes);\n while (unProcessedNodes.length > 0 && isForest) {\n toBeVisited.push(unProcessedNodes[0]);\n while (toBeVisited.length > 0 && isForest) {\n var currentNode = toBeVisited[0];\n toBeVisited.splice(0, 1);\n visited.add(currentNode);\n var neighborEdges = currentNode.getEdges();\n for (var i2 = 0; i2 < neighborEdges.length; i2++) {\n var currentNeighbor = neighborEdges[i2].getOtherEnd(currentNode);\n if (parents2.get(currentNode) != currentNeighbor) {\n if (!visited.has(currentNeighbor)) {\n toBeVisited.push(currentNeighbor);\n parents2.set(currentNeighbor, currentNode);\n } else {\n isForest = false;\n break;\n }\n }\n }\n }\n if (!isForest) {\n flatForest = [];\n } else {\n var temp = [].concat(_toConsumableArray2(visited));\n flatForest.push(temp);\n for (var i2 = 0; i2 < temp.length; i2++) {\n var value = temp[i2];\n var index = unProcessedNodes.indexOf(value);\n if (index > -1) {\n unProcessedNodes.splice(index, 1);\n }\n }\n visited = /* @__PURE__ */ new Set();\n parents2 = /* @__PURE__ */ new Map();\n }\n }\n return flatForest;\n };\n Layout2.prototype.createDummyNodesForBendpoints = function(edge) {\n var dummyNodes = [];\n var prev2 = edge.source;\n var graph = this.graphManager.calcLowestCommonAncestor(edge.source, edge.target);\n for (var i2 = 0; i2 < edge.bendpoints.length; i2++) {\n var dummyNode = this.newNode(null);\n dummyNode.setRect(new Point(0, 0), new Dimension(1, 1));\n graph.add(dummyNode);\n var dummyEdge = this.newEdge(null);\n this.graphManager.add(dummyEdge, prev2, dummyNode);\n dummyNodes.add(dummyNode);\n prev2 = dummyNode;\n }\n var dummyEdge = this.newEdge(null);\n this.graphManager.add(dummyEdge, prev2, edge.target);\n this.edgeToDummyNodes.set(edge, dummyNodes);\n if (edge.isInterGraph()) {\n this.graphManager.remove(edge);\n } else {\n graph.remove(edge);\n }\n return dummyNodes;\n };\n Layout2.prototype.createBendpointsFromDummyNodes = function() {\n var edges2 = [];\n edges2 = edges2.concat(this.graphManager.getAllEdges());\n edges2 = [].concat(_toConsumableArray2(this.edgeToDummyNodes.keys())).concat(edges2);\n for (var k = 0; k < edges2.length; k++) {\n var lEdge = edges2[k];\n if (lEdge.bendpoints.length > 0) {\n var path2 = this.edgeToDummyNodes.get(lEdge);\n for (var i2 = 0; i2 < path2.length; i2++) {\n var dummyNode = path2[i2];\n var p = new PointD(dummyNode.getCenterX(), dummyNode.getCenterY());\n var ebp = lEdge.bendpoints.get(i2);\n ebp.x = p.x;\n ebp.y = p.y;\n dummyNode.getOwner().remove(dummyNode);\n }\n this.graphManager.add(lEdge, lEdge.source, lEdge.target);\n }\n }\n };\n Layout2.transform = function(sliderValue, defaultValue, minDiv, maxMul) {\n if (minDiv != void 0 && maxMul != void 0) {\n var value = defaultValue;\n if (sliderValue <= 50) {\n var minValue = defaultValue / minDiv;\n value -= (defaultValue - minValue) / 50 * (50 - sliderValue);\n } else {\n var maxValue = defaultValue * maxMul;\n value += (maxValue - defaultValue) / 50 * (sliderValue - 50);\n }\n return value;\n } else {\n var a, b;\n if (sliderValue <= 50) {\n a = 9 * defaultValue / 500;\n b = defaultValue / 10;\n } else {\n a = 9 * defaultValue / 50;\n b = -8 * defaultValue;\n }\n return a * sliderValue + b;\n }\n };\n Layout2.findCenterOfTree = function(nodes2) {\n var list = [];\n list = list.concat(nodes2);\n var removedNodes = [];\n var remainingDegrees = /* @__PURE__ */ new Map();\n var foundCenter = false;\n var centerNode = null;\n if (list.length == 1 || list.length == 2) {\n foundCenter = true;\n centerNode = list[0];\n }\n for (var i2 = 0; i2 < list.length; i2++) {\n var node2 = list[i2];\n var degree = node2.getNeighborsList().size;\n remainingDegrees.set(node2, node2.getNeighborsList().size);\n if (degree == 1) {\n removedNodes.push(node2);\n }\n }\n var tempList = [];\n tempList = tempList.concat(removedNodes);\n while (!foundCenter) {\n var tempList2 = [];\n tempList2 = tempList2.concat(tempList);\n tempList = [];\n for (var i2 = 0; i2 < list.length; i2++) {\n var node2 = list[i2];\n var index = list.indexOf(node2);\n if (index >= 0) {\n list.splice(index, 1);\n }\n var neighbours = node2.getNeighborsList();\n neighbours.forEach(function(neighbour) {\n if (removedNodes.indexOf(neighbour) < 0) {\n var otherDegree = remainingDegrees.get(neighbour);\n var newDegree = otherDegree - 1;\n if (newDegree == 1) {\n tempList.push(neighbour);\n }\n remainingDegrees.set(neighbour, newDegree);\n }\n });\n }\n removedNodes = removedNodes.concat(tempList);\n if (list.length == 1 || list.length == 2) {\n foundCenter = true;\n centerNode = list[0];\n }\n }\n return centerNode;\n };\n Layout2.prototype.setGraphManager = function(gm) {\n this.graphManager = gm;\n };\n module3.exports = Layout2;\n },\n /* 16 */\n /***/\n function(module3, exports3, __webpack_require__) {\n function RandomSeed() {\n }\n RandomSeed.seed = 1;\n RandomSeed.x = 0;\n RandomSeed.nextDouble = function() {\n RandomSeed.x = Math.sin(RandomSeed.seed++) * 1e4;\n return RandomSeed.x - Math.floor(RandomSeed.x);\n };\n module3.exports = RandomSeed;\n },\n /* 17 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var PointD = __webpack_require__(4);\n function Transform2(x2, y2) {\n this.lworldOrgX = 0;\n this.lworldOrgY = 0;\n this.ldeviceOrgX = 0;\n this.ldeviceOrgY = 0;\n this.lworldExtX = 1;\n this.lworldExtY = 1;\n this.ldeviceExtX = 1;\n this.ldeviceExtY = 1;\n }\n Transform2.prototype.getWorldOrgX = function() {\n return this.lworldOrgX;\n };\n Transform2.prototype.setWorldOrgX = function(wox) {\n this.lworldOrgX = wox;\n };\n Transform2.prototype.getWorldOrgY = function() {\n return this.lworldOrgY;\n };\n Transform2.prototype.setWorldOrgY = function(woy) {\n this.lworldOrgY = woy;\n };\n Transform2.prototype.getWorldExtX = function() {\n return this.lworldExtX;\n };\n Transform2.prototype.setWorldExtX = function(wex) {\n this.lworldExtX = wex;\n };\n Transform2.prototype.getWorldExtY = function() {\n return this.lworldExtY;\n };\n Transform2.prototype.setWorldExtY = function(wey) {\n this.lworldExtY = wey;\n };\n Transform2.prototype.getDeviceOrgX = function() {\n return this.ldeviceOrgX;\n };\n Transform2.prototype.setDeviceOrgX = function(dox) {\n this.ldeviceOrgX = dox;\n };\n Transform2.prototype.getDeviceOrgY = function() {\n return this.ldeviceOrgY;\n };\n Transform2.prototype.setDeviceOrgY = function(doy) {\n this.ldeviceOrgY = doy;\n };\n Transform2.prototype.getDeviceExtX = function() {\n return this.ldeviceExtX;\n };\n Transform2.prototype.setDeviceExtX = function(dex) {\n this.ldeviceExtX = dex;\n };\n Transform2.prototype.getDeviceExtY = function() {\n return this.ldeviceExtY;\n };\n Transform2.prototype.setDeviceExtY = function(dey) {\n this.ldeviceExtY = dey;\n };\n Transform2.prototype.transformX = function(x2) {\n var xDevice = 0;\n var worldExtX = this.lworldExtX;\n if (worldExtX != 0) {\n xDevice = this.ldeviceOrgX + (x2 - this.lworldOrgX) * this.ldeviceExtX / worldExtX;\n }\n return xDevice;\n };\n Transform2.prototype.transformY = function(y2) {\n var yDevice = 0;\n var worldExtY = this.lworldExtY;\n if (worldExtY != 0) {\n yDevice = this.ldeviceOrgY + (y2 - this.lworldOrgY) * this.ldeviceExtY / worldExtY;\n }\n return yDevice;\n };\n Transform2.prototype.inverseTransformX = function(x2) {\n var xWorld = 0;\n var deviceExtX = this.ldeviceExtX;\n if (deviceExtX != 0) {\n xWorld = this.lworldOrgX + (x2 - this.ldeviceOrgX) * this.lworldExtX / deviceExtX;\n }\n return xWorld;\n };\n Transform2.prototype.inverseTransformY = function(y2) {\n var yWorld = 0;\n var deviceExtY = this.ldeviceExtY;\n if (deviceExtY != 0) {\n yWorld = this.lworldOrgY + (y2 - this.ldeviceOrgY) * this.lworldExtY / deviceExtY;\n }\n return yWorld;\n };\n Transform2.prototype.inverseTransformPoint = function(inPoint) {\n var outPoint = new PointD(this.inverseTransformX(inPoint.x), this.inverseTransformY(inPoint.y));\n return outPoint;\n };\n module3.exports = Transform2;\n },\n /* 18 */\n /***/\n function(module3, exports3, __webpack_require__) {\n function _toConsumableArray2(arr) {\n if (Array.isArray(arr)) {\n for (var i2 = 0, arr2 = Array(arr.length); i2 < arr.length; i2++) {\n arr2[i2] = arr[i2];\n }\n return arr2;\n } else {\n return Array.from(arr);\n }\n }\n var Layout2 = __webpack_require__(15);\n var FDLayoutConstants = __webpack_require__(7);\n var LayoutConstants = __webpack_require__(0);\n var IGeometry = __webpack_require__(8);\n var IMath = __webpack_require__(9);\n function FDLayout() {\n Layout2.call(this);\n this.useSmartIdealEdgeLengthCalculation = FDLayoutConstants.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION;\n this.idealEdgeLength = FDLayoutConstants.DEFAULT_EDGE_LENGTH;\n this.springConstant = FDLayoutConstants.DEFAULT_SPRING_STRENGTH;\n this.repulsionConstant = FDLayoutConstants.DEFAULT_REPULSION_STRENGTH;\n this.gravityConstant = FDLayoutConstants.DEFAULT_GRAVITY_STRENGTH;\n this.compoundGravityConstant = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH;\n this.gravityRangeFactor = FDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR;\n this.compoundGravityRangeFactor = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR;\n this.displacementThresholdPerNode = 3 * FDLayoutConstants.DEFAULT_EDGE_LENGTH / 100;\n this.coolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL;\n this.initialCoolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL;\n this.totalDisplacement = 0;\n this.oldTotalDisplacement = 0;\n this.maxIterations = FDLayoutConstants.MAX_ITERATIONS;\n }\n FDLayout.prototype = Object.create(Layout2.prototype);\n for (var prop in Layout2) {\n FDLayout[prop] = Layout2[prop];\n }\n FDLayout.prototype.initParameters = function() {\n Layout2.prototype.initParameters.call(this, arguments);\n this.totalIterations = 0;\n this.notAnimatedIterations = 0;\n this.useFRGridVariant = FDLayoutConstants.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION;\n this.grid = [];\n };\n FDLayout.prototype.calcIdealEdgeLengths = function() {\n var edge;\n var lcaDepth;\n var source;\n var target;\n var sizeOfSourceInLca;\n var sizeOfTargetInLca;\n var allEdges = this.getGraphManager().getAllEdges();\n for (var i2 = 0; i2 < allEdges.length; i2++) {\n edge = allEdges[i2];\n edge.idealLength = this.idealEdgeLength;\n if (edge.isInterGraph) {\n source = edge.getSource();\n target = edge.getTarget();\n sizeOfSourceInLca = edge.getSourceInLca().getEstimatedSize();\n sizeOfTargetInLca = edge.getTargetInLca().getEstimatedSize();\n if (this.useSmartIdealEdgeLengthCalculation) {\n edge.idealLength += sizeOfSourceInLca + sizeOfTargetInLca - 2 * LayoutConstants.SIMPLE_NODE_SIZE;\n }\n lcaDepth = edge.getLca().getInclusionTreeDepth();\n edge.idealLength += FDLayoutConstants.DEFAULT_EDGE_LENGTH * FDLayoutConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR * (source.getInclusionTreeDepth() + target.getInclusionTreeDepth() - 2 * lcaDepth);\n }\n }\n };\n FDLayout.prototype.initSpringEmbedder = function() {\n var s = this.getAllNodes().length;\n if (this.incremental) {\n if (s > FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) {\n this.coolingFactor = Math.max(this.coolingFactor * FDLayoutConstants.COOLING_ADAPTATION_FACTOR, this.coolingFactor - (s - FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) / (FDLayoutConstants.ADAPTATION_UPPER_NODE_LIMIT - FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) * this.coolingFactor * (1 - FDLayoutConstants.COOLING_ADAPTATION_FACTOR));\n }\n this.maxNodeDisplacement = FDLayoutConstants.MAX_NODE_DISPLACEMENT_INCREMENTAL;\n } else {\n if (s > FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) {\n this.coolingFactor = Math.max(FDLayoutConstants.COOLING_ADAPTATION_FACTOR, 1 - (s - FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) / (FDLayoutConstants.ADAPTATION_UPPER_NODE_LIMIT - FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) * (1 - FDLayoutConstants.COOLING_ADAPTATION_FACTOR));\n } else {\n this.coolingFactor = 1;\n }\n this.initialCoolingFactor = this.coolingFactor;\n this.maxNodeDisplacement = FDLayoutConstants.MAX_NODE_DISPLACEMENT;\n }\n this.maxIterations = Math.max(this.getAllNodes().length * 5, this.maxIterations);\n this.totalDisplacementThreshold = this.displacementThresholdPerNode * this.getAllNodes().length;\n this.repulsionRange = this.calcRepulsionRange();\n };\n FDLayout.prototype.calcSpringForces = function() {\n var lEdges = this.getAllEdges();\n var edge;\n for (var i2 = 0; i2 < lEdges.length; i2++) {\n edge = lEdges[i2];\n this.calcSpringForce(edge, edge.idealLength);\n }\n };\n FDLayout.prototype.calcRepulsionForces = function() {\n var gridUpdateAllowed = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;\n var forceToNodeSurroundingUpdate = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;\n var i2, j;\n var nodeA, nodeB;\n var lNodes = this.getAllNodes();\n var processedNodeSet;\n if (this.useFRGridVariant) {\n if (this.totalIterations % FDLayoutConstants.GRID_CALCULATION_CHECK_PERIOD == 1 && gridUpdateAllowed) {\n this.updateGrid();\n }\n processedNodeSet = /* @__PURE__ */ new Set();\n for (i2 = 0; i2 < lNodes.length; i2++) {\n nodeA = lNodes[i2];\n this.calculateRepulsionForceOfANode(nodeA, processedNodeSet, gridUpdateAllowed, forceToNodeSurroundingUpdate);\n processedNodeSet.add(nodeA);\n }\n } else {\n for (i2 = 0; i2 < lNodes.length; i2++) {\n nodeA = lNodes[i2];\n for (j = i2 + 1; j < lNodes.length; j++) {\n nodeB = lNodes[j];\n if (nodeA.getOwner() != nodeB.getOwner()) {\n continue;\n }\n this.calcRepulsionForce(nodeA, nodeB);\n }\n }\n }\n };\n FDLayout.prototype.calcGravitationalForces = function() {\n var node2;\n var lNodes = this.getAllNodesToApplyGravitation();\n for (var i2 = 0; i2 < lNodes.length; i2++) {\n node2 = lNodes[i2];\n this.calcGravitationalForce(node2);\n }\n };\n FDLayout.prototype.moveNodes = function() {\n var lNodes = this.getAllNodes();\n var node2;\n for (var i2 = 0; i2 < lNodes.length; i2++) {\n node2 = lNodes[i2];\n node2.move();\n }\n };\n FDLayout.prototype.calcSpringForce = function(edge, idealLength) {\n var sourceNode = edge.getSource();\n var targetNode = edge.getTarget();\n var length2;\n var springForce;\n var springForceX;\n var springForceY;\n if (this.uniformLeafNodeSizes && sourceNode.getChild() == null && targetNode.getChild() == null) {\n edge.updateLengthSimple();\n } else {\n edge.updateLength();\n if (edge.isOverlapingSourceAndTarget) {\n return;\n }\n }\n length2 = edge.getLength();\n if (length2 == 0)\n return;\n springForce = this.springConstant * (length2 - idealLength);\n springForceX = springForce * (edge.lengthX / length2);\n springForceY = springForce * (edge.lengthY / length2);\n sourceNode.springForceX += springForceX;\n sourceNode.springForceY += springForceY;\n targetNode.springForceX -= springForceX;\n targetNode.springForceY -= springForceY;\n };\n FDLayout.prototype.calcRepulsionForce = function(nodeA, nodeB) {\n var rectA = nodeA.getRect();\n var rectB = nodeB.getRect();\n var overlapAmount = new Array(2);\n var clipPoints = new Array(4);\n var distanceX;\n var distanceY;\n var distanceSquared;\n var distance2;\n var repulsionForce;\n var repulsionForceX;\n var repulsionForceY;\n if (rectA.intersects(rectB)) {\n IGeometry.calcSeparationAmount(rectA, rectB, overlapAmount, FDLayoutConstants.DEFAULT_EDGE_LENGTH / 2);\n repulsionForceX = 2 * overlapAmount[0];\n repulsionForceY = 2 * overlapAmount[1];\n var childrenConstant = nodeA.noOfChildren * nodeB.noOfChildren / (nodeA.noOfChildren + nodeB.noOfChildren);\n nodeA.repulsionForceX -= childrenConstant * repulsionForceX;\n nodeA.repulsionForceY -= childrenConstant * repulsionForceY;\n nodeB.repulsionForceX += childrenConstant * repulsionForceX;\n nodeB.repulsionForceY += childrenConstant * repulsionForceY;\n } else {\n if (this.uniformLeafNodeSizes && nodeA.getChild() == null && nodeB.getChild() == null) {\n distanceX = rectB.getCenterX() - rectA.getCenterX();\n distanceY = rectB.getCenterY() - rectA.getCenterY();\n } else {\n IGeometry.getIntersection(rectA, rectB, clipPoints);\n distanceX = clipPoints[2] - clipPoints[0];\n distanceY = clipPoints[3] - clipPoints[1];\n }\n if (Math.abs(distanceX) < FDLayoutConstants.MIN_REPULSION_DIST) {\n distanceX = IMath.sign(distanceX) * FDLayoutConstants.MIN_REPULSION_DIST;\n }\n if (Math.abs(distanceY) < FDLayoutConstants.MIN_REPULSION_DIST) {\n distanceY = IMath.sign(distanceY) * FDLayoutConstants.MIN_REPULSION_DIST;\n }\n distanceSquared = distanceX * distanceX + distanceY * distanceY;\n distance2 = Math.sqrt(distanceSquared);\n repulsionForce = this.repulsionConstant * nodeA.noOfChildren * nodeB.noOfChildren / distanceSquared;\n repulsionForceX = repulsionForce * distanceX / distance2;\n repulsionForceY = repulsionForce * distanceY / distance2;\n nodeA.repulsionForceX -= repulsionForceX;\n nodeA.repulsionForceY -= repulsionForceY;\n nodeB.repulsionForceX += repulsionForceX;\n nodeB.repulsionForceY += repulsionForceY;\n }\n };\n FDLayout.prototype.calcGravitationalForce = function(node2) {\n var ownerGraph;\n var ownerCenterX;\n var ownerCenterY;\n var distanceX;\n var distanceY;\n var absDistanceX;\n var absDistanceY;\n var estimatedSize;\n ownerGraph = node2.getOwner();\n ownerCenterX = (ownerGraph.getRight() + ownerGraph.getLeft()) / 2;\n ownerCenterY = (ownerGraph.getTop() + ownerGraph.getBottom()) / 2;\n distanceX = node2.getCenterX() - ownerCenterX;\n distanceY = node2.getCenterY() - ownerCenterY;\n absDistanceX = Math.abs(distanceX) + node2.getWidth() / 2;\n absDistanceY = Math.abs(distanceY) + node2.getHeight() / 2;\n if (node2.getOwner() == this.graphManager.getRoot()) {\n estimatedSize = ownerGraph.getEstimatedSize() * this.gravityRangeFactor;\n if (absDistanceX > estimatedSize || absDistanceY > estimatedSize) {\n node2.gravitationForceX = -this.gravityConstant * distanceX;\n node2.gravitationForceY = -this.gravityConstant * distanceY;\n }\n } else {\n estimatedSize = ownerGraph.getEstimatedSize() * this.compoundGravityRangeFactor;\n if (absDistanceX > estimatedSize || absDistanceY > estimatedSize) {\n node2.gravitationForceX = -this.gravityConstant * distanceX * this.compoundGravityConstant;\n node2.gravitationForceY = -this.gravityConstant * distanceY * this.compoundGravityConstant;\n }\n }\n };\n FDLayout.prototype.isConverged = function() {\n var converged;\n var oscilating = false;\n if (this.totalIterations > this.maxIterations / 3) {\n oscilating = Math.abs(this.totalDisplacement - this.oldTotalDisplacement) < 2;\n }\n converged = this.totalDisplacement < this.totalDisplacementThreshold;\n this.oldTotalDisplacement = this.totalDisplacement;\n return converged || oscilating;\n };\n FDLayout.prototype.animate = function() {\n if (this.animationDuringLayout && !this.isSubLayout) {\n if (this.notAnimatedIterations == this.animationPeriod) {\n this.update();\n this.notAnimatedIterations = 0;\n } else {\n this.notAnimatedIterations++;\n }\n }\n };\n FDLayout.prototype.calcNoOfChildrenForAllNodes = function() {\n var node2;\n var allNodes = this.graphManager.getAllNodes();\n for (var i2 = 0; i2 < allNodes.length; i2++) {\n node2 = allNodes[i2];\n node2.noOfChildren = node2.getNoOfChildren();\n }\n };\n FDLayout.prototype.calcGrid = function(graph) {\n var sizeX = 0;\n var sizeY = 0;\n sizeX = parseInt(Math.ceil((graph.getRight() - graph.getLeft()) / this.repulsionRange));\n sizeY = parseInt(Math.ceil((graph.getBottom() - graph.getTop()) / this.repulsionRange));\n var grid = new Array(sizeX);\n for (var i2 = 0; i2 < sizeX; i2++) {\n grid[i2] = new Array(sizeY);\n }\n for (var i2 = 0; i2 < sizeX; i2++) {\n for (var j = 0; j < sizeY; j++) {\n grid[i2][j] = new Array();\n }\n }\n return grid;\n };\n FDLayout.prototype.addNodeToGrid = function(v, left2, top2) {\n var startX = 0;\n var finishX = 0;\n var startY = 0;\n var finishY = 0;\n startX = parseInt(Math.floor((v.getRect().x - left2) / this.repulsionRange));\n finishX = parseInt(Math.floor((v.getRect().width + v.getRect().x - left2) / this.repulsionRange));\n startY = parseInt(Math.floor((v.getRect().y - top2) / this.repulsionRange));\n finishY = parseInt(Math.floor((v.getRect().height + v.getRect().y - top2) / this.repulsionRange));\n for (var i2 = startX; i2 <= finishX; i2++) {\n for (var j = startY; j <= finishY; j++) {\n this.grid[i2][j].push(v);\n v.setGridCoordinates(startX, finishX, startY, finishY);\n }\n }\n };\n FDLayout.prototype.updateGrid = function() {\n var i2;\n var nodeA;\n var lNodes = this.getAllNodes();\n this.grid = this.calcGrid(this.graphManager.getRoot());\n for (i2 = 0; i2 < lNodes.length; i2++) {\n nodeA = lNodes[i2];\n this.addNodeToGrid(nodeA, this.graphManager.getRoot().getLeft(), this.graphManager.getRoot().getTop());\n }\n };\n FDLayout.prototype.calculateRepulsionForceOfANode = function(nodeA, processedNodeSet, gridUpdateAllowed, forceToNodeSurroundingUpdate) {\n if (this.totalIterations % FDLayoutConstants.GRID_CALCULATION_CHECK_PERIOD == 1 && gridUpdateAllowed || forceToNodeSurroundingUpdate) {\n var surrounding = /* @__PURE__ */ new Set();\n nodeA.surrounding = new Array();\n var nodeB;\n var grid = this.grid;\n for (var i2 = nodeA.startX - 1; i2 < nodeA.finishX + 2; i2++) {\n for (var j = nodeA.startY - 1; j < nodeA.finishY + 2; j++) {\n if (!(i2 < 0 || j < 0 || i2 >= grid.length || j >= grid[0].length)) {\n for (var k = 0; k < grid[i2][j].length; k++) {\n nodeB = grid[i2][j][k];\n if (nodeA.getOwner() != nodeB.getOwner() || nodeA == nodeB) {\n continue;\n }\n if (!processedNodeSet.has(nodeB) && !surrounding.has(nodeB)) {\n var distanceX = Math.abs(nodeA.getCenterX() - nodeB.getCenterX()) - (nodeA.getWidth() / 2 + nodeB.getWidth() / 2);\n var distanceY = Math.abs(nodeA.getCenterY() - nodeB.getCenterY()) - (nodeA.getHeight() / 2 + nodeB.getHeight() / 2);\n if (distanceX <= this.repulsionRange && distanceY <= this.repulsionRange) {\n surrounding.add(nodeB);\n }\n }\n }\n }\n }\n }\n nodeA.surrounding = [].concat(_toConsumableArray2(surrounding));\n }\n for (i2 = 0; i2 < nodeA.surrounding.length; i2++) {\n this.calcRepulsionForce(nodeA, nodeA.surrounding[i2]);\n }\n };\n FDLayout.prototype.calcRepulsionRange = function() {\n return 0;\n };\n module3.exports = FDLayout;\n },\n /* 19 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var LEdge = __webpack_require__(1);\n var FDLayoutConstants = __webpack_require__(7);\n function FDLayoutEdge(source, target, vEdge) {\n LEdge.call(this, source, target, vEdge);\n this.idealLength = FDLayoutConstants.DEFAULT_EDGE_LENGTH;\n }\n FDLayoutEdge.prototype = Object.create(LEdge.prototype);\n for (var prop in LEdge) {\n FDLayoutEdge[prop] = LEdge[prop];\n }\n module3.exports = FDLayoutEdge;\n },\n /* 20 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var LNode = __webpack_require__(3);\n function FDLayoutNode(gm, loc, size2, vNode) {\n LNode.call(this, gm, loc, size2, vNode);\n this.springForceX = 0;\n this.springForceY = 0;\n this.repulsionForceX = 0;\n this.repulsionForceY = 0;\n this.gravitationForceX = 0;\n this.gravitationForceY = 0;\n this.displacementX = 0;\n this.displacementY = 0;\n this.startX = 0;\n this.finishX = 0;\n this.startY = 0;\n this.finishY = 0;\n this.surrounding = [];\n }\n FDLayoutNode.prototype = Object.create(LNode.prototype);\n for (var prop in LNode) {\n FDLayoutNode[prop] = LNode[prop];\n }\n FDLayoutNode.prototype.setGridCoordinates = function(_startX, _finishX, _startY, _finishY) {\n this.startX = _startX;\n this.finishX = _finishX;\n this.startY = _startY;\n this.finishY = _finishY;\n };\n module3.exports = FDLayoutNode;\n },\n /* 21 */\n /***/\n function(module3, exports3, __webpack_require__) {\n function DimensionD2(width2, height2) {\n this.width = 0;\n this.height = 0;\n if (width2 !== null && height2 !== null) {\n this.height = height2;\n this.width = width2;\n }\n }\n DimensionD2.prototype.getWidth = function() {\n return this.width;\n };\n DimensionD2.prototype.setWidth = function(width2) {\n this.width = width2;\n };\n DimensionD2.prototype.getHeight = function() {\n return this.height;\n };\n DimensionD2.prototype.setHeight = function(height2) {\n this.height = height2;\n };\n module3.exports = DimensionD2;\n },\n /* 22 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var UniqueIDGeneretor = __webpack_require__(14);\n function HashMap() {\n this.map = {};\n this.keys = [];\n }\n HashMap.prototype.put = function(key, value) {\n var theId = UniqueIDGeneretor.createID(key);\n if (!this.contains(theId)) {\n this.map[theId] = value;\n this.keys.push(key);\n }\n };\n HashMap.prototype.contains = function(key) {\n UniqueIDGeneretor.createID(key);\n return this.map[key] != null;\n };\n HashMap.prototype.get = function(key) {\n var theId = UniqueIDGeneretor.createID(key);\n return this.map[theId];\n };\n HashMap.prototype.keySet = function() {\n return this.keys;\n };\n module3.exports = HashMap;\n },\n /* 23 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var UniqueIDGeneretor = __webpack_require__(14);\n function HashSet() {\n this.set = {};\n }\n HashSet.prototype.add = function(obj) {\n var theId = UniqueIDGeneretor.createID(obj);\n if (!this.contains(theId))\n this.set[theId] = obj;\n };\n HashSet.prototype.remove = function(obj) {\n delete this.set[UniqueIDGeneretor.createID(obj)];\n };\n HashSet.prototype.clear = function() {\n this.set = {};\n };\n HashSet.prototype.contains = function(obj) {\n return this.set[UniqueIDGeneretor.createID(obj)] == obj;\n };\n HashSet.prototype.isEmpty = function() {\n return this.size() === 0;\n };\n HashSet.prototype.size = function() {\n return Object.keys(this.set).length;\n };\n HashSet.prototype.addAllTo = function(list) {\n var keys2 = Object.keys(this.set);\n var length2 = keys2.length;\n for (var i2 = 0; i2 < length2; i2++) {\n list.push(this.set[keys2[i2]]);\n }\n };\n HashSet.prototype.size = function() {\n return Object.keys(this.set).length;\n };\n HashSet.prototype.addAll = function(list) {\n var s = list.length;\n for (var i2 = 0; i2 < s; i2++) {\n var v = list[i2];\n this.add(v);\n }\n };\n module3.exports = HashSet;\n },\n /* 24 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var _createClass = function() {\n function defineProperties(target, props) {\n for (var i2 = 0; i2 < props.length; i2++) {\n var descriptor = props[i2];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function(Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance2, Constructor) {\n if (!(instance2 instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var LinkedList = __webpack_require__(11);\n var Quicksort = function() {\n function Quicksort2(A, compareFunction) {\n _classCallCheck(this, Quicksort2);\n if (compareFunction !== null || compareFunction !== void 0)\n this.compareFunction = this._defaultCompareFunction;\n var length2 = void 0;\n if (A instanceof LinkedList)\n length2 = A.size();\n else\n length2 = A.length;\n this._quicksort(A, 0, length2 - 1);\n }\n _createClass(Quicksort2, [{\n key: \"_quicksort\",\n value: function _quicksort(A, p, r) {\n if (p < r) {\n var q = this._partition(A, p, r);\n this._quicksort(A, p, q);\n this._quicksort(A, q + 1, r);\n }\n }\n }, {\n key: \"_partition\",\n value: function _partition(A, p, r) {\n var x2 = this._get(A, p);\n var i2 = p;\n var j = r;\n while (true) {\n while (this.compareFunction(x2, this._get(A, j))) {\n j--;\n }\n while (this.compareFunction(this._get(A, i2), x2)) {\n i2++;\n }\n if (i2 < j) {\n this._swap(A, i2, j);\n i2++;\n j--;\n } else\n return j;\n }\n }\n }, {\n key: \"_get\",\n value: function _get(object2, index) {\n if (object2 instanceof LinkedList)\n return object2.get_object_at(index);\n else\n return object2[index];\n }\n }, {\n key: \"_set\",\n value: function _set(object2, index, value) {\n if (object2 instanceof LinkedList)\n object2.set_object_at(index, value);\n else\n object2[index] = value;\n }\n }, {\n key: \"_swap\",\n value: function _swap(A, i2, j) {\n var temp = this._get(A, i2);\n this._set(A, i2, this._get(A, j));\n this._set(A, j, temp);\n }\n }, {\n key: \"_defaultCompareFunction\",\n value: function _defaultCompareFunction(a, b) {\n return b > a;\n }\n }]);\n return Quicksort2;\n }();\n module3.exports = Quicksort;\n },\n /* 25 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var _createClass = function() {\n function defineProperties(target, props) {\n for (var i2 = 0; i2 < props.length; i2++) {\n var descriptor = props[i2];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function(Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance2, Constructor) {\n if (!(instance2 instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var NeedlemanWunsch = function() {\n function NeedlemanWunsch2(sequence1, sequence2) {\n var match_score = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1;\n var mismatch_penalty = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : -1;\n var gap_penalty = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : -1;\n _classCallCheck(this, NeedlemanWunsch2);\n this.sequence1 = sequence1;\n this.sequence2 = sequence2;\n this.match_score = match_score;\n this.mismatch_penalty = mismatch_penalty;\n this.gap_penalty = gap_penalty;\n this.iMax = sequence1.length + 1;\n this.jMax = sequence2.length + 1;\n this.grid = new Array(this.iMax);\n for (var i2 = 0; i2 < this.iMax; i2++) {\n this.grid[i2] = new Array(this.jMax);\n for (var j = 0; j < this.jMax; j++) {\n this.grid[i2][j] = 0;\n }\n }\n this.tracebackGrid = new Array(this.iMax);\n for (var _i = 0; _i < this.iMax; _i++) {\n this.tracebackGrid[_i] = new Array(this.jMax);\n for (var _j = 0; _j < this.jMax; _j++) {\n this.tracebackGrid[_i][_j] = [null, null, null];\n }\n }\n this.alignments = [];\n this.score = -1;\n this.computeGrids();\n }\n _createClass(NeedlemanWunsch2, [{\n key: \"getScore\",\n value: function getScore() {\n return this.score;\n }\n }, {\n key: \"getAlignments\",\n value: function getAlignments() {\n return this.alignments;\n }\n // Main dynamic programming procedure\n }, {\n key: \"computeGrids\",\n value: function computeGrids() {\n for (var j = 1; j < this.jMax; j++) {\n this.grid[0][j] = this.grid[0][j - 1] + this.gap_penalty;\n this.tracebackGrid[0][j] = [false, false, true];\n }\n for (var i2 = 1; i2 < this.iMax; i2++) {\n this.grid[i2][0] = this.grid[i2 - 1][0] + this.gap_penalty;\n this.tracebackGrid[i2][0] = [false, true, false];\n }\n for (var _i2 = 1; _i2 < this.iMax; _i2++) {\n for (var _j2 = 1; _j2 < this.jMax; _j2++) {\n var diag = void 0;\n if (this.sequence1[_i2 - 1] === this.sequence2[_j2 - 1])\n diag = this.grid[_i2 - 1][_j2 - 1] + this.match_score;\n else\n diag = this.grid[_i2 - 1][_j2 - 1] + this.mismatch_penalty;\n var up = this.grid[_i2 - 1][_j2] + this.gap_penalty;\n var left2 = this.grid[_i2][_j2 - 1] + this.gap_penalty;\n var maxOf = [diag, up, left2];\n var indices = this.arrayAllMaxIndexes(maxOf);\n this.grid[_i2][_j2] = maxOf[indices[0]];\n this.tracebackGrid[_i2][_j2] = [indices.includes(0), indices.includes(1), indices.includes(2)];\n }\n }\n this.score = this.grid[this.iMax - 1][this.jMax - 1];\n }\n // Gets all possible valid sequence combinations\n }, {\n key: \"alignmentTraceback\",\n value: function alignmentTraceback() {\n var inProcessAlignments = [];\n inProcessAlignments.push({\n pos: [this.sequence1.length, this.sequence2.length],\n seq1: \"\",\n seq2: \"\"\n });\n while (inProcessAlignments[0]) {\n var current = inProcessAlignments[0];\n var directions = this.tracebackGrid[current.pos[0]][current.pos[1]];\n if (directions[0]) {\n inProcessAlignments.push({\n pos: [current.pos[0] - 1, current.pos[1] - 1],\n seq1: this.sequence1[current.pos[0] - 1] + current.seq1,\n seq2: this.sequence2[current.pos[1] - 1] + current.seq2\n });\n }\n if (directions[1]) {\n inProcessAlignments.push({\n pos: [current.pos[0] - 1, current.pos[1]],\n seq1: this.sequence1[current.pos[0] - 1] + current.seq1,\n seq2: \"-\" + current.seq2\n });\n }\n if (directions[2]) {\n inProcessAlignments.push({\n pos: [current.pos[0], current.pos[1] - 1],\n seq1: \"-\" + current.seq1,\n seq2: this.sequence2[current.pos[1] - 1] + current.seq2\n });\n }\n if (current.pos[0] === 0 && current.pos[1] === 0)\n this.alignments.push({\n sequence1: current.seq1,\n sequence2: current.seq2\n });\n inProcessAlignments.shift();\n }\n return this.alignments;\n }\n // Helper Functions\n }, {\n key: \"getAllIndexes\",\n value: function getAllIndexes(arr, val) {\n var indexes = [], i2 = -1;\n while ((i2 = arr.indexOf(val, i2 + 1)) !== -1) {\n indexes.push(i2);\n }\n return indexes;\n }\n }, {\n key: \"arrayAllMaxIndexes\",\n value: function arrayAllMaxIndexes(array2) {\n return this.getAllIndexes(array2, Math.max.apply(null, array2));\n }\n }]);\n return NeedlemanWunsch2;\n }();\n module3.exports = NeedlemanWunsch;\n },\n /* 26 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var layoutBase2 = function layoutBase3() {\n return;\n };\n layoutBase2.FDLayout = __webpack_require__(18);\n layoutBase2.FDLayoutConstants = __webpack_require__(7);\n layoutBase2.FDLayoutEdge = __webpack_require__(19);\n layoutBase2.FDLayoutNode = __webpack_require__(20);\n layoutBase2.DimensionD = __webpack_require__(21);\n layoutBase2.HashMap = __webpack_require__(22);\n layoutBase2.HashSet = __webpack_require__(23);\n layoutBase2.IGeometry = __webpack_require__(8);\n layoutBase2.IMath = __webpack_require__(9);\n layoutBase2.Integer = __webpack_require__(10);\n layoutBase2.Point = __webpack_require__(12);\n layoutBase2.PointD = __webpack_require__(4);\n layoutBase2.RandomSeed = __webpack_require__(16);\n layoutBase2.RectangleD = __webpack_require__(13);\n layoutBase2.Transform = __webpack_require__(17);\n layoutBase2.UniqueIDGeneretor = __webpack_require__(14);\n layoutBase2.Quicksort = __webpack_require__(24);\n layoutBase2.LinkedList = __webpack_require__(11);\n layoutBase2.LGraphObject = __webpack_require__(2);\n layoutBase2.LGraph = __webpack_require__(5);\n layoutBase2.LEdge = __webpack_require__(1);\n layoutBase2.LGraphManager = __webpack_require__(6);\n layoutBase2.LNode = __webpack_require__(3);\n layoutBase2.Layout = __webpack_require__(15);\n layoutBase2.LayoutConstants = __webpack_require__(0);\n layoutBase2.NeedlemanWunsch = __webpack_require__(25);\n module3.exports = layoutBase2;\n },\n /* 27 */\n /***/\n function(module3, exports3, __webpack_require__) {\n function Emitter() {\n this.listeners = [];\n }\n var p = Emitter.prototype;\n p.addListener = function(event, callback) {\n this.listeners.push({\n event,\n callback\n });\n };\n p.removeListener = function(event, callback) {\n for (var i2 = this.listeners.length; i2 >= 0; i2--) {\n var l = this.listeners[i2];\n if (l.event === event && l.callback === callback) {\n this.listeners.splice(i2, 1);\n }\n }\n };\n p.emit = function(event, data) {\n for (var i2 = 0; i2 < this.listeners.length; i2++) {\n var l = this.listeners[i2];\n if (event === l.event) {\n l.callback(data);\n }\n }\n };\n module3.exports = Emitter;\n }\n /******/\n ])\n );\n });\n })(layoutBase);\n return layoutBaseExports;\n }\n var hasRequiredCoseBase;\n function requireCoseBase() {\n if (hasRequiredCoseBase)\n return coseBaseExports;\n hasRequiredCoseBase = 1;\n (function(module2, exports2) {\n (function webpackUniversalModuleDefinition(root2, factory) {\n module2.exports = factory(requireLayoutBase());\n })(commonjsGlobal, function(__WEBPACK_EXTERNAL_MODULE_0__) {\n return (\n /******/\n function(modules) {\n var installedModules = {};\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) {\n return installedModules[moduleId].exports;\n }\n var module3 = installedModules[moduleId] = {\n /******/\n i: moduleId,\n /******/\n l: false,\n /******/\n exports: {}\n /******/\n };\n modules[moduleId].call(module3.exports, module3, module3.exports, __webpack_require__);\n module3.l = true;\n return module3.exports;\n }\n __webpack_require__.m = modules;\n __webpack_require__.c = installedModules;\n __webpack_require__.i = function(value) {\n return value;\n };\n __webpack_require__.d = function(exports3, name2, getter) {\n if (!__webpack_require__.o(exports3, name2)) {\n Object.defineProperty(exports3, name2, {\n /******/\n configurable: false,\n /******/\n enumerable: true,\n /******/\n get: getter\n /******/\n });\n }\n };\n __webpack_require__.n = function(module3) {\n var getter = module3 && module3.__esModule ? (\n /******/\n function getDefault() {\n return module3[\"default\"];\n }\n ) : (\n /******/\n function getModuleExports() {\n return module3;\n }\n );\n __webpack_require__.d(getter, \"a\", getter);\n return getter;\n };\n __webpack_require__.o = function(object2, property2) {\n return Object.prototype.hasOwnProperty.call(object2, property2);\n };\n __webpack_require__.p = \"\";\n return __webpack_require__(__webpack_require__.s = 7);\n }([\n /* 0 */\n /***/\n function(module3, exports3) {\n module3.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n },\n /* 1 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var FDLayoutConstants = __webpack_require__(0).FDLayoutConstants;\n function CoSEConstants() {\n }\n for (var prop in FDLayoutConstants) {\n CoSEConstants[prop] = FDLayoutConstants[prop];\n }\n CoSEConstants.DEFAULT_USE_MULTI_LEVEL_SCALING = false;\n CoSEConstants.DEFAULT_RADIAL_SEPARATION = FDLayoutConstants.DEFAULT_EDGE_LENGTH;\n CoSEConstants.DEFAULT_COMPONENT_SEPERATION = 60;\n CoSEConstants.TILE = true;\n CoSEConstants.TILING_PADDING_VERTICAL = 10;\n CoSEConstants.TILING_PADDING_HORIZONTAL = 10;\n CoSEConstants.TREE_REDUCTION_ON_INCREMENTAL = false;\n module3.exports = CoSEConstants;\n },\n /* 2 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var FDLayoutEdge = __webpack_require__(0).FDLayoutEdge;\n function CoSEEdge(source, target, vEdge) {\n FDLayoutEdge.call(this, source, target, vEdge);\n }\n CoSEEdge.prototype = Object.create(FDLayoutEdge.prototype);\n for (var prop in FDLayoutEdge) {\n CoSEEdge[prop] = FDLayoutEdge[prop];\n }\n module3.exports = CoSEEdge;\n },\n /* 3 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var LGraph = __webpack_require__(0).LGraph;\n function CoSEGraph(parent, graphMgr, vGraph) {\n LGraph.call(this, parent, graphMgr, vGraph);\n }\n CoSEGraph.prototype = Object.create(LGraph.prototype);\n for (var prop in LGraph) {\n CoSEGraph[prop] = LGraph[prop];\n }\n module3.exports = CoSEGraph;\n },\n /* 4 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var LGraphManager = __webpack_require__(0).LGraphManager;\n function CoSEGraphManager(layout2) {\n LGraphManager.call(this, layout2);\n }\n CoSEGraphManager.prototype = Object.create(LGraphManager.prototype);\n for (var prop in LGraphManager) {\n CoSEGraphManager[prop] = LGraphManager[prop];\n }\n module3.exports = CoSEGraphManager;\n },\n /* 5 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var FDLayoutNode = __webpack_require__(0).FDLayoutNode;\n var IMath = __webpack_require__(0).IMath;\n function CoSENode(gm, loc, size2, vNode) {\n FDLayoutNode.call(this, gm, loc, size2, vNode);\n }\n CoSENode.prototype = Object.create(FDLayoutNode.prototype);\n for (var prop in FDLayoutNode) {\n CoSENode[prop] = FDLayoutNode[prop];\n }\n CoSENode.prototype.move = function() {\n var layout2 = this.graphManager.getLayout();\n this.displacementX = layout2.coolingFactor * (this.springForceX + this.repulsionForceX + this.gravitationForceX) / this.noOfChildren;\n this.displacementY = layout2.coolingFactor * (this.springForceY + this.repulsionForceY + this.gravitationForceY) / this.noOfChildren;\n if (Math.abs(this.displacementX) > layout2.coolingFactor * layout2.maxNodeDisplacement) {\n this.displacementX = layout2.coolingFactor * layout2.maxNodeDisplacement * IMath.sign(this.displacementX);\n }\n if (Math.abs(this.displacementY) > layout2.coolingFactor * layout2.maxNodeDisplacement) {\n this.displacementY = layout2.coolingFactor * layout2.maxNodeDisplacement * IMath.sign(this.displacementY);\n }\n if (this.child == null) {\n this.moveBy(this.displacementX, this.displacementY);\n } else if (this.child.getNodes().length == 0) {\n this.moveBy(this.displacementX, this.displacementY);\n } else {\n this.propogateDisplacementToChildren(this.displacementX, this.displacementY);\n }\n layout2.totalDisplacement += Math.abs(this.displacementX) + Math.abs(this.displacementY);\n this.springForceX = 0;\n this.springForceY = 0;\n this.repulsionForceX = 0;\n this.repulsionForceY = 0;\n this.gravitationForceX = 0;\n this.gravitationForceY = 0;\n this.displacementX = 0;\n this.displacementY = 0;\n };\n CoSENode.prototype.propogateDisplacementToChildren = function(dX, dY) {\n var nodes2 = this.getChild().getNodes();\n var node2;\n for (var i2 = 0; i2 < nodes2.length; i2++) {\n node2 = nodes2[i2];\n if (node2.getChild() == null) {\n node2.moveBy(dX, dY);\n node2.displacementX += dX;\n node2.displacementY += dY;\n } else {\n node2.propogateDisplacementToChildren(dX, dY);\n }\n }\n };\n CoSENode.prototype.setPred1 = function(pred12) {\n this.pred1 = pred12;\n };\n CoSENode.prototype.getPred1 = function() {\n return pred1;\n };\n CoSENode.prototype.getPred2 = function() {\n return pred2;\n };\n CoSENode.prototype.setNext = function(next2) {\n this.next = next2;\n };\n CoSENode.prototype.getNext = function() {\n return next;\n };\n CoSENode.prototype.setProcessed = function(processed2) {\n this.processed = processed2;\n };\n CoSENode.prototype.isProcessed = function() {\n return processed;\n };\n module3.exports = CoSENode;\n },\n /* 6 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var FDLayout = __webpack_require__(0).FDLayout;\n var CoSEGraphManager = __webpack_require__(4);\n var CoSEGraph = __webpack_require__(3);\n var CoSENode = __webpack_require__(5);\n var CoSEEdge = __webpack_require__(2);\n var CoSEConstants = __webpack_require__(1);\n var FDLayoutConstants = __webpack_require__(0).FDLayoutConstants;\n var LayoutConstants = __webpack_require__(0).LayoutConstants;\n var Point2 = __webpack_require__(0).Point;\n var PointD = __webpack_require__(0).PointD;\n var Layout2 = __webpack_require__(0).Layout;\n var Integer = __webpack_require__(0).Integer;\n var IGeometry = __webpack_require__(0).IGeometry;\n var LGraph = __webpack_require__(0).LGraph;\n var Transform2 = __webpack_require__(0).Transform;\n function CoSELayout() {\n FDLayout.call(this);\n this.toBeTiled = {};\n }\n CoSELayout.prototype = Object.create(FDLayout.prototype);\n for (var prop in FDLayout) {\n CoSELayout[prop] = FDLayout[prop];\n }\n CoSELayout.prototype.newGraphManager = function() {\n var gm = new CoSEGraphManager(this);\n this.graphManager = gm;\n return gm;\n };\n CoSELayout.prototype.newGraph = function(vGraph) {\n return new CoSEGraph(null, this.graphManager, vGraph);\n };\n CoSELayout.prototype.newNode = function(vNode) {\n return new CoSENode(this.graphManager, vNode);\n };\n CoSELayout.prototype.newEdge = function(vEdge) {\n return new CoSEEdge(null, null, vEdge);\n };\n CoSELayout.prototype.initParameters = function() {\n FDLayout.prototype.initParameters.call(this, arguments);\n if (!this.isSubLayout) {\n if (CoSEConstants.DEFAULT_EDGE_LENGTH < 10) {\n this.idealEdgeLength = 10;\n } else {\n this.idealEdgeLength = CoSEConstants.DEFAULT_EDGE_LENGTH;\n }\n this.useSmartIdealEdgeLengthCalculation = CoSEConstants.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION;\n this.springConstant = FDLayoutConstants.DEFAULT_SPRING_STRENGTH;\n this.repulsionConstant = FDLayoutConstants.DEFAULT_REPULSION_STRENGTH;\n this.gravityConstant = FDLayoutConstants.DEFAULT_GRAVITY_STRENGTH;\n this.compoundGravityConstant = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH;\n this.gravityRangeFactor = FDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR;\n this.compoundGravityRangeFactor = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR;\n this.prunedNodesAll = [];\n this.growTreeIterations = 0;\n this.afterGrowthIterations = 0;\n this.isTreeGrowing = false;\n this.isGrowthFinished = false;\n this.coolingCycle = 0;\n this.maxCoolingCycle = this.maxIterations / FDLayoutConstants.CONVERGENCE_CHECK_PERIOD;\n this.finalTemperature = FDLayoutConstants.CONVERGENCE_CHECK_PERIOD / this.maxIterations;\n this.coolingAdjuster = 1;\n }\n };\n CoSELayout.prototype.layout = function() {\n var createBendsAsNeeded = LayoutConstants.DEFAULT_CREATE_BENDS_AS_NEEDED;\n if (createBendsAsNeeded) {\n this.createBendpoints();\n this.graphManager.resetAllEdges();\n }\n this.level = 0;\n return this.classicLayout();\n };\n CoSELayout.prototype.classicLayout = function() {\n this.nodesWithGravity = this.calculateNodesToApplyGravitationTo();\n this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity);\n this.calcNoOfChildrenForAllNodes();\n this.graphManager.calcLowestCommonAncestors();\n this.graphManager.calcInclusionTreeDepths();\n this.graphManager.getRoot().calcEstimatedSize();\n this.calcIdealEdgeLengths();\n if (!this.incremental) {\n var forest = this.getFlatForest();\n if (forest.length > 0) {\n this.positionNodesRadially(forest);\n } else {\n this.reduceTrees();\n this.graphManager.resetAllNodesToApplyGravitation();\n var allNodes = new Set(this.getAllNodes());\n var intersection2 = this.nodesWithGravity.filter(function(x2) {\n return allNodes.has(x2);\n });\n this.graphManager.setAllNodesToApplyGravitation(intersection2);\n this.positionNodesRandomly();\n }\n } else {\n if (CoSEConstants.TREE_REDUCTION_ON_INCREMENTAL) {\n this.reduceTrees();\n this.graphManager.resetAllNodesToApplyGravitation();\n var allNodes = new Set(this.getAllNodes());\n var intersection2 = this.nodesWithGravity.filter(function(x2) {\n return allNodes.has(x2);\n });\n this.graphManager.setAllNodesToApplyGravitation(intersection2);\n }\n }\n this.initSpringEmbedder();\n this.runSpringEmbedder();\n return true;\n };\n CoSELayout.prototype.tick = function() {\n this.totalIterations++;\n if (this.totalIterations === this.maxIterations && !this.isTreeGrowing && !this.isGrowthFinished) {\n if (this.prunedNodesAll.length > 0) {\n this.isTreeGrowing = true;\n } else {\n return true;\n }\n }\n if (this.totalIterations % FDLayoutConstants.CONVERGENCE_CHECK_PERIOD == 0 && !this.isTreeGrowing && !this.isGrowthFinished) {\n if (this.isConverged()) {\n if (this.prunedNodesAll.length > 0) {\n this.isTreeGrowing = true;\n } else {\n return true;\n }\n }\n this.coolingCycle++;\n if (this.layoutQuality == 0) {\n this.coolingAdjuster = this.coolingCycle;\n } else if (this.layoutQuality == 1) {\n this.coolingAdjuster = this.coolingCycle / 3;\n }\n this.coolingFactor = Math.max(this.initialCoolingFactor - Math.pow(this.coolingCycle, Math.log(100 * (this.initialCoolingFactor - this.finalTemperature)) / Math.log(this.maxCoolingCycle)) / 100 * this.coolingAdjuster, this.finalTemperature);\n this.animationPeriod = Math.ceil(this.initialAnimationPeriod * Math.sqrt(this.coolingFactor));\n }\n if (this.isTreeGrowing) {\n if (this.growTreeIterations % 10 == 0) {\n if (this.prunedNodesAll.length > 0) {\n this.graphManager.updateBounds();\n this.updateGrid();\n this.growTree(this.prunedNodesAll);\n this.graphManager.resetAllNodesToApplyGravitation();\n var allNodes = new Set(this.getAllNodes());\n var intersection2 = this.nodesWithGravity.filter(function(x2) {\n return allNodes.has(x2);\n });\n this.graphManager.setAllNodesToApplyGravitation(intersection2);\n this.graphManager.updateBounds();\n this.updateGrid();\n this.coolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL;\n } else {\n this.isTreeGrowing = false;\n this.isGrowthFinished = true;\n }\n }\n this.growTreeIterations++;\n }\n if (this.isGrowthFinished) {\n if (this.isConverged()) {\n return true;\n }\n if (this.afterGrowthIterations % 10 == 0) {\n this.graphManager.updateBounds();\n this.updateGrid();\n }\n this.coolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL * ((100 - this.afterGrowthIterations) / 100);\n this.afterGrowthIterations++;\n }\n var gridUpdateAllowed = !this.isTreeGrowing && !this.isGrowthFinished;\n var forceToNodeSurroundingUpdate = this.growTreeIterations % 10 == 1 && this.isTreeGrowing || this.afterGrowthIterations % 10 == 1 && this.isGrowthFinished;\n this.totalDisplacement = 0;\n this.graphManager.updateBounds();\n this.calcSpringForces();\n this.calcRepulsionForces(gridUpdateAllowed, forceToNodeSurroundingUpdate);\n this.calcGravitationalForces();\n this.moveNodes();\n this.animate();\n return false;\n };\n CoSELayout.prototype.getPositionsData = function() {\n var allNodes = this.graphManager.getAllNodes();\n var pData = {};\n for (var i2 = 0; i2 < allNodes.length; i2++) {\n var rect2 = allNodes[i2].rect;\n var id2 = allNodes[i2].id;\n pData[id2] = {\n id: id2,\n x: rect2.getCenterX(),\n y: rect2.getCenterY(),\n w: rect2.width,\n h: rect2.height\n };\n }\n return pData;\n };\n CoSELayout.prototype.runSpringEmbedder = function() {\n this.initialAnimationPeriod = 25;\n this.animationPeriod = this.initialAnimationPeriod;\n var layoutEnded = false;\n if (FDLayoutConstants.ANIMATE === \"during\") {\n this.emit(\"layoutstarted\");\n } else {\n while (!layoutEnded) {\n layoutEnded = this.tick();\n }\n this.graphManager.updateBounds();\n }\n };\n CoSELayout.prototype.calculateNodesToApplyGravitationTo = function() {\n var nodeList = [];\n var graph;\n var graphs = this.graphManager.getGraphs();\n var size2 = graphs.length;\n var i2;\n for (i2 = 0; i2 < size2; i2++) {\n graph = graphs[i2];\n graph.updateConnected();\n if (!graph.isConnected) {\n nodeList = nodeList.concat(graph.getNodes());\n }\n }\n return nodeList;\n };\n CoSELayout.prototype.createBendpoints = function() {\n var edges2 = [];\n edges2 = edges2.concat(this.graphManager.getAllEdges());\n var visited = /* @__PURE__ */ new Set();\n var i2;\n for (i2 = 0; i2 < edges2.length; i2++) {\n var edge = edges2[i2];\n if (!visited.has(edge)) {\n var source = edge.getSource();\n var target = edge.getTarget();\n if (source == target) {\n edge.getBendpoints().push(new PointD());\n edge.getBendpoints().push(new PointD());\n this.createDummyNodesForBendpoints(edge);\n visited.add(edge);\n } else {\n var edgeList = [];\n edgeList = edgeList.concat(source.getEdgeListToNode(target));\n edgeList = edgeList.concat(target.getEdgeListToNode(source));\n if (!visited.has(edgeList[0])) {\n if (edgeList.length > 1) {\n var k;\n for (k = 0; k < edgeList.length; k++) {\n var multiEdge = edgeList[k];\n multiEdge.getBendpoints().push(new PointD());\n this.createDummyNodesForBendpoints(multiEdge);\n }\n }\n edgeList.forEach(function(edge2) {\n visited.add(edge2);\n });\n }\n }\n }\n if (visited.size == edges2.length) {\n break;\n }\n }\n };\n CoSELayout.prototype.positionNodesRadially = function(forest) {\n var currentStartingPoint = new Point2(0, 0);\n var numberOfColumns = Math.ceil(Math.sqrt(forest.length));\n var height2 = 0;\n var currentY = 0;\n var currentX = 0;\n var point2 = new PointD(0, 0);\n for (var i2 = 0; i2 < forest.length; i2++) {\n if (i2 % numberOfColumns == 0) {\n currentX = 0;\n currentY = height2;\n if (i2 != 0) {\n currentY += CoSEConstants.DEFAULT_COMPONENT_SEPERATION;\n }\n height2 = 0;\n }\n var tree = forest[i2];\n var centerNode = Layout2.findCenterOfTree(tree);\n currentStartingPoint.x = currentX;\n currentStartingPoint.y = currentY;\n point2 = CoSELayout.radialLayout(tree, centerNode, currentStartingPoint);\n if (point2.y > height2) {\n height2 = Math.floor(point2.y);\n }\n currentX = Math.floor(point2.x + CoSEConstants.DEFAULT_COMPONENT_SEPERATION);\n }\n this.transform(new PointD(LayoutConstants.WORLD_CENTER_X - point2.x / 2, LayoutConstants.WORLD_CENTER_Y - point2.y / 2));\n };\n CoSELayout.radialLayout = function(tree, centerNode, startingPoint) {\n var radialSep = Math.max(this.maxDiagonalInTree(tree), CoSEConstants.DEFAULT_RADIAL_SEPARATION);\n CoSELayout.branchRadialLayout(centerNode, null, 0, 359, 0, radialSep);\n var bounds2 = LGraph.calculateBounds(tree);\n var transform = new Transform2();\n transform.setDeviceOrgX(bounds2.getMinX());\n transform.setDeviceOrgY(bounds2.getMinY());\n transform.setWorldOrgX(startingPoint.x);\n transform.setWorldOrgY(startingPoint.y);\n for (var i2 = 0; i2 < tree.length; i2++) {\n var node2 = tree[i2];\n node2.transform(transform);\n }\n var bottomRight = new PointD(bounds2.getMaxX(), bounds2.getMaxY());\n return transform.inverseTransformPoint(bottomRight);\n };\n CoSELayout.branchRadialLayout = function(node2, parentOfNode, startAngle, endAngle, distance2, radialSeparation) {\n var halfInterval = (endAngle - startAngle + 1) / 2;\n if (halfInterval < 0) {\n halfInterval += 180;\n }\n var nodeAngle = (halfInterval + startAngle) % 360;\n var teta = nodeAngle * IGeometry.TWO_PI / 360;\n var x_ = distance2 * Math.cos(teta);\n var y_ = distance2 * Math.sin(teta);\n node2.setCenter(x_, y_);\n var neighborEdges = [];\n neighborEdges = neighborEdges.concat(node2.getEdges());\n var childCount = neighborEdges.length;\n if (parentOfNode != null) {\n childCount--;\n }\n var branchCount = 0;\n var incEdgesCount = neighborEdges.length;\n var startIndex;\n var edges2 = node2.getEdgesBetween(parentOfNode);\n while (edges2.length > 1) {\n var temp = edges2[0];\n edges2.splice(0, 1);\n var index = neighborEdges.indexOf(temp);\n if (index >= 0) {\n neighborEdges.splice(index, 1);\n }\n incEdgesCount--;\n childCount--;\n }\n if (parentOfNode != null) {\n startIndex = (neighborEdges.indexOf(edges2[0]) + 1) % incEdgesCount;\n } else {\n startIndex = 0;\n }\n var stepAngle = Math.abs(endAngle - startAngle) / childCount;\n for (var i2 = startIndex; branchCount != childCount; i2 = ++i2 % incEdgesCount) {\n var currentNeighbor = neighborEdges[i2].getOtherEnd(node2);\n if (currentNeighbor == parentOfNode) {\n continue;\n }\n var childStartAngle = (startAngle + branchCount * stepAngle) % 360;\n var childEndAngle = (childStartAngle + stepAngle) % 360;\n CoSELayout.branchRadialLayout(currentNeighbor, node2, childStartAngle, childEndAngle, distance2 + radialSeparation, radialSeparation);\n branchCount++;\n }\n };\n CoSELayout.maxDiagonalInTree = function(tree) {\n var maxDiagonal = Integer.MIN_VALUE;\n for (var i2 = 0; i2 < tree.length; i2++) {\n var node2 = tree[i2];\n var diagonal = node2.getDiagonal();\n if (diagonal > maxDiagonal) {\n maxDiagonal = diagonal;\n }\n }\n return maxDiagonal;\n };\n CoSELayout.prototype.calcRepulsionRange = function() {\n return 2 * (this.level + 1) * this.idealEdgeLength;\n };\n CoSELayout.prototype.groupZeroDegreeMembers = function() {\n var self2 = this;\n var tempMemberGroups = {};\n this.memberGroups = {};\n this.idToDummyNode = {};\n var zeroDegree = [];\n var allNodes = this.graphManager.getAllNodes();\n for (var i2 = 0; i2 < allNodes.length; i2++) {\n var node2 = allNodes[i2];\n var parent = node2.getParent();\n if (this.getNodeDegreeWithChildren(node2) === 0 && (parent.id == void 0 || !this.getToBeTiled(parent))) {\n zeroDegree.push(node2);\n }\n }\n for (var i2 = 0; i2 < zeroDegree.length; i2++) {\n var node2 = zeroDegree[i2];\n var p_id = node2.getParent().id;\n if (typeof tempMemberGroups[p_id] === \"undefined\")\n tempMemberGroups[p_id] = [];\n tempMemberGroups[p_id] = tempMemberGroups[p_id].concat(node2);\n }\n Object.keys(tempMemberGroups).forEach(function(p_id2) {\n if (tempMemberGroups[p_id2].length > 1) {\n var dummyCompoundId = \"DummyCompound_\" + p_id2;\n self2.memberGroups[dummyCompoundId] = tempMemberGroups[p_id2];\n var parent2 = tempMemberGroups[p_id2][0].getParent();\n var dummyCompound = new CoSENode(self2.graphManager);\n dummyCompound.id = dummyCompoundId;\n dummyCompound.paddingLeft = parent2.paddingLeft || 0;\n dummyCompound.paddingRight = parent2.paddingRight || 0;\n dummyCompound.paddingBottom = parent2.paddingBottom || 0;\n dummyCompound.paddingTop = parent2.paddingTop || 0;\n self2.idToDummyNode[dummyCompoundId] = dummyCompound;\n var dummyParentGraph = self2.getGraphManager().add(self2.newGraph(), dummyCompound);\n var parentGraph = parent2.getChild();\n parentGraph.add(dummyCompound);\n for (var i3 = 0; i3 < tempMemberGroups[p_id2].length; i3++) {\n var node3 = tempMemberGroups[p_id2][i3];\n parentGraph.remove(node3);\n dummyParentGraph.add(node3);\n }\n }\n });\n };\n CoSELayout.prototype.clearCompounds = function() {\n var childGraphMap = {};\n var idToNode = {};\n this.performDFSOnCompounds();\n for (var i2 = 0; i2 < this.compoundOrder.length; i2++) {\n idToNode[this.compoundOrder[i2].id] = this.compoundOrder[i2];\n childGraphMap[this.compoundOrder[i2].id] = [].concat(this.compoundOrder[i2].getChild().getNodes());\n this.graphManager.remove(this.compoundOrder[i2].getChild());\n this.compoundOrder[i2].child = null;\n }\n this.graphManager.resetAllNodes();\n this.tileCompoundMembers(childGraphMap, idToNode);\n };\n CoSELayout.prototype.clearZeroDegreeMembers = function() {\n var self2 = this;\n var tiledZeroDegreePack = this.tiledZeroDegreePack = [];\n Object.keys(this.memberGroups).forEach(function(id2) {\n var compoundNode = self2.idToDummyNode[id2];\n tiledZeroDegreePack[id2] = self2.tileNodes(self2.memberGroups[id2], compoundNode.paddingLeft + compoundNode.paddingRight);\n compoundNode.rect.width = tiledZeroDegreePack[id2].width;\n compoundNode.rect.height = tiledZeroDegreePack[id2].height;\n });\n };\n CoSELayout.prototype.repopulateCompounds = function() {\n for (var i2 = this.compoundOrder.length - 1; i2 >= 0; i2--) {\n var lCompoundNode = this.compoundOrder[i2];\n var id2 = lCompoundNode.id;\n var horizontalMargin = lCompoundNode.paddingLeft;\n var verticalMargin = lCompoundNode.paddingTop;\n this.adjustLocations(this.tiledMemberPack[id2], lCompoundNode.rect.x, lCompoundNode.rect.y, horizontalMargin, verticalMargin);\n }\n };\n CoSELayout.prototype.repopulateZeroDegreeMembers = function() {\n var self2 = this;\n var tiledPack = this.tiledZeroDegreePack;\n Object.keys(tiledPack).forEach(function(id2) {\n var compoundNode = self2.idToDummyNode[id2];\n var horizontalMargin = compoundNode.paddingLeft;\n var verticalMargin = compoundNode.paddingTop;\n self2.adjustLocations(tiledPack[id2], compoundNode.rect.x, compoundNode.rect.y, horizontalMargin, verticalMargin);\n });\n };\n CoSELayout.prototype.getToBeTiled = function(node2) {\n var id2 = node2.id;\n if (this.toBeTiled[id2] != null) {\n return this.toBeTiled[id2];\n }\n var childGraph = node2.getChild();\n if (childGraph == null) {\n this.toBeTiled[id2] = false;\n return false;\n }\n var children2 = childGraph.getNodes();\n for (var i2 = 0; i2 < children2.length; i2++) {\n var theChild = children2[i2];\n if (this.getNodeDegree(theChild) > 0) {\n this.toBeTiled[id2] = false;\n return false;\n }\n if (theChild.getChild() == null) {\n this.toBeTiled[theChild.id] = false;\n continue;\n }\n if (!this.getToBeTiled(theChild)) {\n this.toBeTiled[id2] = false;\n return false;\n }\n }\n this.toBeTiled[id2] = true;\n return true;\n };\n CoSELayout.prototype.getNodeDegree = function(node2) {\n node2.id;\n var edges2 = node2.getEdges();\n var degree = 0;\n for (var i2 = 0; i2 < edges2.length; i2++) {\n var edge = edges2[i2];\n if (edge.getSource().id !== edge.getTarget().id) {\n degree = degree + 1;\n }\n }\n return degree;\n };\n CoSELayout.prototype.getNodeDegreeWithChildren = function(node2) {\n var degree = this.getNodeDegree(node2);\n if (node2.getChild() == null) {\n return degree;\n }\n var children2 = node2.getChild().getNodes();\n for (var i2 = 0; i2 < children2.length; i2++) {\n var child = children2[i2];\n degree += this.getNodeDegreeWithChildren(child);\n }\n return degree;\n };\n CoSELayout.prototype.performDFSOnCompounds = function() {\n this.compoundOrder = [];\n this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes());\n };\n CoSELayout.prototype.fillCompexOrderByDFS = function(children2) {\n for (var i2 = 0; i2 < children2.length; i2++) {\n var child = children2[i2];\n if (child.getChild() != null) {\n this.fillCompexOrderByDFS(child.getChild().getNodes());\n }\n if (this.getToBeTiled(child)) {\n this.compoundOrder.push(child);\n }\n }\n };\n CoSELayout.prototype.adjustLocations = function(organization, x2, y2, compoundHorizontalMargin, compoundVerticalMargin) {\n x2 += compoundHorizontalMargin;\n y2 += compoundVerticalMargin;\n var left2 = x2;\n for (var i2 = 0; i2 < organization.rows.length; i2++) {\n var row = organization.rows[i2];\n x2 = left2;\n var maxHeight = 0;\n for (var j = 0; j < row.length; j++) {\n var lnode = row[j];\n lnode.rect.x = x2;\n lnode.rect.y = y2;\n x2 += lnode.rect.width + organization.horizontalPadding;\n if (lnode.rect.height > maxHeight)\n maxHeight = lnode.rect.height;\n }\n y2 += maxHeight + organization.verticalPadding;\n }\n };\n CoSELayout.prototype.tileCompoundMembers = function(childGraphMap, idToNode) {\n var self2 = this;\n this.tiledMemberPack = [];\n Object.keys(childGraphMap).forEach(function(id2) {\n var compoundNode = idToNode[id2];\n self2.tiledMemberPack[id2] = self2.tileNodes(childGraphMap[id2], compoundNode.paddingLeft + compoundNode.paddingRight);\n compoundNode.rect.width = self2.tiledMemberPack[id2].width;\n compoundNode.rect.height = self2.tiledMemberPack[id2].height;\n });\n };\n CoSELayout.prototype.tileNodes = function(nodes2, minWidth) {\n var verticalPadding = CoSEConstants.TILING_PADDING_VERTICAL;\n var horizontalPadding = CoSEConstants.TILING_PADDING_HORIZONTAL;\n var organization = {\n rows: [],\n rowWidth: [],\n rowHeight: [],\n width: 0,\n height: minWidth,\n // assume minHeight equals to minWidth\n verticalPadding,\n horizontalPadding\n };\n nodes2.sort(function(n1, n2) {\n if (n1.rect.width * n1.rect.height > n2.rect.width * n2.rect.height)\n return -1;\n if (n1.rect.width * n1.rect.height < n2.rect.width * n2.rect.height)\n return 1;\n return 0;\n });\n for (var i2 = 0; i2 < nodes2.length; i2++) {\n var lNode = nodes2[i2];\n if (organization.rows.length == 0) {\n this.insertNodeToRow(organization, lNode, 0, minWidth);\n } else if (this.canAddHorizontal(organization, lNode.rect.width, lNode.rect.height)) {\n this.insertNodeToRow(organization, lNode, this.getShortestRowIndex(organization), minWidth);\n } else {\n this.insertNodeToRow(organization, lNode, organization.rows.length, minWidth);\n }\n this.shiftToLastRow(organization);\n }\n return organization;\n };\n CoSELayout.prototype.insertNodeToRow = function(organization, node2, rowIndex, minWidth) {\n var minCompoundSize = minWidth;\n if (rowIndex == organization.rows.length) {\n var secondDimension = [];\n organization.rows.push(secondDimension);\n organization.rowWidth.push(minCompoundSize);\n organization.rowHeight.push(0);\n }\n var w2 = organization.rowWidth[rowIndex] + node2.rect.width;\n if (organization.rows[rowIndex].length > 0) {\n w2 += organization.horizontalPadding;\n }\n organization.rowWidth[rowIndex] = w2;\n if (organization.width < w2) {\n organization.width = w2;\n }\n var h = node2.rect.height;\n if (rowIndex > 0)\n h += organization.verticalPadding;\n var extraHeight = 0;\n if (h > organization.rowHeight[rowIndex]) {\n extraHeight = organization.rowHeight[rowIndex];\n organization.rowHeight[rowIndex] = h;\n extraHeight = organization.rowHeight[rowIndex] - extraHeight;\n }\n organization.height += extraHeight;\n organization.rows[rowIndex].push(node2);\n };\n CoSELayout.prototype.getShortestRowIndex = function(organization) {\n var r = -1;\n var min2 = Number.MAX_VALUE;\n for (var i2 = 0; i2 < organization.rows.length; i2++) {\n if (organization.rowWidth[i2] < min2) {\n r = i2;\n min2 = organization.rowWidth[i2];\n }\n }\n return r;\n };\n CoSELayout.prototype.getLongestRowIndex = function(organization) {\n var r = -1;\n var max2 = Number.MIN_VALUE;\n for (var i2 = 0; i2 < organization.rows.length; i2++) {\n if (organization.rowWidth[i2] > max2) {\n r = i2;\n max2 = organization.rowWidth[i2];\n }\n }\n return r;\n };\n CoSELayout.prototype.canAddHorizontal = function(organization, extraWidth, extraHeight) {\n var sri = this.getShortestRowIndex(organization);\n if (sri < 0) {\n return true;\n }\n var min2 = organization.rowWidth[sri];\n if (min2 + organization.horizontalPadding + extraWidth <= organization.width)\n return true;\n var hDiff = 0;\n if (organization.rowHeight[sri] < extraHeight) {\n if (sri > 0)\n hDiff = extraHeight + organization.verticalPadding - organization.rowHeight[sri];\n }\n var add_to_row_ratio;\n if (organization.width - min2 >= extraWidth + organization.horizontalPadding) {\n add_to_row_ratio = (organization.height + hDiff) / (min2 + extraWidth + organization.horizontalPadding);\n } else {\n add_to_row_ratio = (organization.height + hDiff) / organization.width;\n }\n hDiff = extraHeight + organization.verticalPadding;\n var add_new_row_ratio;\n if (organization.width < extraWidth) {\n add_new_row_ratio = (organization.height + hDiff) / extraWidth;\n } else {\n add_new_row_ratio = (organization.height + hDiff) / organization.width;\n }\n if (add_new_row_ratio < 1)\n add_new_row_ratio = 1 / add_new_row_ratio;\n if (add_to_row_ratio < 1)\n add_to_row_ratio = 1 / add_to_row_ratio;\n return add_to_row_ratio < add_new_row_ratio;\n };\n CoSELayout.prototype.shiftToLastRow = function(organization) {\n var longest = this.getLongestRowIndex(organization);\n var last2 = organization.rowWidth.length - 1;\n var row = organization.rows[longest];\n var node2 = row[row.length - 1];\n var diff = node2.width + organization.horizontalPadding;\n if (organization.width - organization.rowWidth[last2] > diff && longest != last2) {\n row.splice(-1, 1);\n organization.rows[last2].push(node2);\n organization.rowWidth[longest] = organization.rowWidth[longest] - diff;\n organization.rowWidth[last2] = organization.rowWidth[last2] + diff;\n organization.width = organization.rowWidth[instance.getLongestRowIndex(organization)];\n var maxHeight = Number.MIN_VALUE;\n for (var i2 = 0; i2 < row.length; i2++) {\n if (row[i2].height > maxHeight)\n maxHeight = row[i2].height;\n }\n if (longest > 0)\n maxHeight += organization.verticalPadding;\n var prevTotal = organization.rowHeight[longest] + organization.rowHeight[last2];\n organization.rowHeight[longest] = maxHeight;\n if (organization.rowHeight[last2] < node2.height + organization.verticalPadding)\n organization.rowHeight[last2] = node2.height + organization.verticalPadding;\n var finalTotal = organization.rowHeight[longest] + organization.rowHeight[last2];\n organization.height += finalTotal - prevTotal;\n this.shiftToLastRow(organization);\n }\n };\n CoSELayout.prototype.tilingPreLayout = function() {\n if (CoSEConstants.TILE) {\n this.groupZeroDegreeMembers();\n this.clearCompounds();\n this.clearZeroDegreeMembers();\n }\n };\n CoSELayout.prototype.tilingPostLayout = function() {\n if (CoSEConstants.TILE) {\n this.repopulateZeroDegreeMembers();\n this.repopulateCompounds();\n }\n };\n CoSELayout.prototype.reduceTrees = function() {\n var prunedNodesAll = [];\n var containsLeaf = true;\n var node2;\n while (containsLeaf) {\n var allNodes = this.graphManager.getAllNodes();\n var prunedNodesInStepTemp = [];\n containsLeaf = false;\n for (var i2 = 0; i2 < allNodes.length; i2++) {\n node2 = allNodes[i2];\n if (node2.getEdges().length == 1 && !node2.getEdges()[0].isInterGraph && node2.getChild() == null) {\n prunedNodesInStepTemp.push([node2, node2.getEdges()[0], node2.getOwner()]);\n containsLeaf = true;\n }\n }\n if (containsLeaf == true) {\n var prunedNodesInStep = [];\n for (var j = 0; j < prunedNodesInStepTemp.length; j++) {\n if (prunedNodesInStepTemp[j][0].getEdges().length == 1) {\n prunedNodesInStep.push(prunedNodesInStepTemp[j]);\n prunedNodesInStepTemp[j][0].getOwner().remove(prunedNodesInStepTemp[j][0]);\n }\n }\n prunedNodesAll.push(prunedNodesInStep);\n this.graphManager.resetAllNodes();\n this.graphManager.resetAllEdges();\n }\n }\n this.prunedNodesAll = prunedNodesAll;\n };\n CoSELayout.prototype.growTree = function(prunedNodesAll) {\n var lengthOfPrunedNodesInStep = prunedNodesAll.length;\n var prunedNodesInStep = prunedNodesAll[lengthOfPrunedNodesInStep - 1];\n var nodeData;\n for (var i2 = 0; i2 < prunedNodesInStep.length; i2++) {\n nodeData = prunedNodesInStep[i2];\n this.findPlaceforPrunedNode(nodeData);\n nodeData[2].add(nodeData[0]);\n nodeData[2].add(nodeData[1], nodeData[1].source, nodeData[1].target);\n }\n prunedNodesAll.splice(prunedNodesAll.length - 1, 1);\n this.graphManager.resetAllNodes();\n this.graphManager.resetAllEdges();\n };\n CoSELayout.prototype.findPlaceforPrunedNode = function(nodeData) {\n var gridForPrunedNode;\n var nodeToConnect;\n var prunedNode = nodeData[0];\n if (prunedNode == nodeData[1].source) {\n nodeToConnect = nodeData[1].target;\n } else {\n nodeToConnect = nodeData[1].source;\n }\n var startGridX = nodeToConnect.startX;\n var finishGridX = nodeToConnect.finishX;\n var startGridY = nodeToConnect.startY;\n var finishGridY = nodeToConnect.finishY;\n var upNodeCount = 0;\n var downNodeCount = 0;\n var rightNodeCount = 0;\n var leftNodeCount = 0;\n var controlRegions = [upNodeCount, rightNodeCount, downNodeCount, leftNodeCount];\n if (startGridY > 0) {\n for (var i2 = startGridX; i2 <= finishGridX; i2++) {\n controlRegions[0] += this.grid[i2][startGridY - 1].length + this.grid[i2][startGridY].length - 1;\n }\n }\n if (finishGridX < this.grid.length - 1) {\n for (var i2 = startGridY; i2 <= finishGridY; i2++) {\n controlRegions[1] += this.grid[finishGridX + 1][i2].length + this.grid[finishGridX][i2].length - 1;\n }\n }\n if (finishGridY < this.grid[0].length - 1) {\n for (var i2 = startGridX; i2 <= finishGridX; i2++) {\n controlRegions[2] += this.grid[i2][finishGridY + 1].length + this.grid[i2][finishGridY].length - 1;\n }\n }\n if (startGridX > 0) {\n for (var i2 = startGridY; i2 <= finishGridY; i2++) {\n controlRegions[3] += this.grid[startGridX - 1][i2].length + this.grid[startGridX][i2].length - 1;\n }\n }\n var min2 = Integer.MAX_VALUE;\n var minCount;\n var minIndex;\n for (var j = 0; j < controlRegions.length; j++) {\n if (controlRegions[j] < min2) {\n min2 = controlRegions[j];\n minCount = 1;\n minIndex = j;\n } else if (controlRegions[j] == min2) {\n minCount++;\n }\n }\n if (minCount == 3 && min2 == 0) {\n if (controlRegions[0] == 0 && controlRegions[1] == 0 && controlRegions[2] == 0) {\n gridForPrunedNode = 1;\n } else if (controlRegions[0] == 0 && controlRegions[1] == 0 && controlRegions[3] == 0) {\n gridForPrunedNode = 0;\n } else if (controlRegions[0] == 0 && controlRegions[2] == 0 && controlRegions[3] == 0) {\n gridForPrunedNode = 3;\n } else if (controlRegions[1] == 0 && controlRegions[2] == 0 && controlRegions[3] == 0) {\n gridForPrunedNode = 2;\n }\n } else if (minCount == 2 && min2 == 0) {\n var random2 = Math.floor(Math.random() * 2);\n if (controlRegions[0] == 0 && controlRegions[1] == 0) {\n if (random2 == 0) {\n gridForPrunedNode = 0;\n } else {\n gridForPrunedNode = 1;\n }\n } else if (controlRegions[0] == 0 && controlRegions[2] == 0) {\n if (random2 == 0) {\n gridForPrunedNode = 0;\n } else {\n gridForPrunedNode = 2;\n }\n } else if (controlRegions[0] == 0 && controlRegions[3] == 0) {\n if (random2 == 0) {\n gridForPrunedNode = 0;\n } else {\n gridForPrunedNode = 3;\n }\n } else if (controlRegions[1] == 0 && controlRegions[2] == 0) {\n if (random2 == 0) {\n gridForPrunedNode = 1;\n } else {\n gridForPrunedNode = 2;\n }\n } else if (controlRegions[1] == 0 && controlRegions[3] == 0) {\n if (random2 == 0) {\n gridForPrunedNode = 1;\n } else {\n gridForPrunedNode = 3;\n }\n } else {\n if (random2 == 0) {\n gridForPrunedNode = 2;\n } else {\n gridForPrunedNode = 3;\n }\n }\n } else if (minCount == 4 && min2 == 0) {\n var random2 = Math.floor(Math.random() * 4);\n gridForPrunedNode = random2;\n } else {\n gridForPrunedNode = minIndex;\n }\n if (gridForPrunedNode == 0) {\n prunedNode.setCenter(nodeToConnect.getCenterX(), nodeToConnect.getCenterY() - nodeToConnect.getHeight() / 2 - FDLayoutConstants.DEFAULT_EDGE_LENGTH - prunedNode.getHeight() / 2);\n } else if (gridForPrunedNode == 1) {\n prunedNode.setCenter(nodeToConnect.getCenterX() + nodeToConnect.getWidth() / 2 + FDLayoutConstants.DEFAULT_EDGE_LENGTH + prunedNode.getWidth() / 2, nodeToConnect.getCenterY());\n } else if (gridForPrunedNode == 2) {\n prunedNode.setCenter(nodeToConnect.getCenterX(), nodeToConnect.getCenterY() + nodeToConnect.getHeight() / 2 + FDLayoutConstants.DEFAULT_EDGE_LENGTH + prunedNode.getHeight() / 2);\n } else {\n prunedNode.setCenter(nodeToConnect.getCenterX() - nodeToConnect.getWidth() / 2 - FDLayoutConstants.DEFAULT_EDGE_LENGTH - prunedNode.getWidth() / 2, nodeToConnect.getCenterY());\n }\n };\n module3.exports = CoSELayout;\n },\n /* 7 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var coseBase2 = {};\n coseBase2.layoutBase = __webpack_require__(0);\n coseBase2.CoSEConstants = __webpack_require__(1);\n coseBase2.CoSEEdge = __webpack_require__(2);\n coseBase2.CoSEGraph = __webpack_require__(3);\n coseBase2.CoSEGraphManager = __webpack_require__(4);\n coseBase2.CoSELayout = __webpack_require__(6);\n coseBase2.CoSENode = __webpack_require__(5);\n module3.exports = coseBase2;\n }\n /******/\n ])\n );\n });\n })(coseBase);\n return coseBaseExports;\n }\n (function(module2, exports2) {\n (function webpackUniversalModuleDefinition(root2, factory) {\n module2.exports = factory(requireCoseBase());\n })(commonjsGlobal, function(__WEBPACK_EXTERNAL_MODULE_0__) {\n return (\n /******/\n function(modules) {\n var installedModules = {};\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) {\n return installedModules[moduleId].exports;\n }\n var module3 = installedModules[moduleId] = {\n /******/\n i: moduleId,\n /******/\n l: false,\n /******/\n exports: {}\n /******/\n };\n modules[moduleId].call(module3.exports, module3, module3.exports, __webpack_require__);\n module3.l = true;\n return module3.exports;\n }\n __webpack_require__.m = modules;\n __webpack_require__.c = installedModules;\n __webpack_require__.i = function(value) {\n return value;\n };\n __webpack_require__.d = function(exports3, name2, getter) {\n if (!__webpack_require__.o(exports3, name2)) {\n Object.defineProperty(exports3, name2, {\n /******/\n configurable: false,\n /******/\n enumerable: true,\n /******/\n get: getter\n /******/\n });\n }\n };\n __webpack_require__.n = function(module3) {\n var getter = module3 && module3.__esModule ? (\n /******/\n function getDefault() {\n return module3[\"default\"];\n }\n ) : (\n /******/\n function getModuleExports() {\n return module3;\n }\n );\n __webpack_require__.d(getter, \"a\", getter);\n return getter;\n };\n __webpack_require__.o = function(object2, property2) {\n return Object.prototype.hasOwnProperty.call(object2, property2);\n };\n __webpack_require__.p = \"\";\n return __webpack_require__(__webpack_require__.s = 1);\n }([\n /* 0 */\n /***/\n function(module3, exports3) {\n module3.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n },\n /* 1 */\n /***/\n function(module3, exports3, __webpack_require__) {\n var LayoutConstants = __webpack_require__(0).layoutBase.LayoutConstants;\n var FDLayoutConstants = __webpack_require__(0).layoutBase.FDLayoutConstants;\n var CoSEConstants = __webpack_require__(0).CoSEConstants;\n var CoSELayout = __webpack_require__(0).CoSELayout;\n var CoSENode = __webpack_require__(0).CoSENode;\n var PointD = __webpack_require__(0).layoutBase.PointD;\n var DimensionD2 = __webpack_require__(0).layoutBase.DimensionD;\n var defaults2 = {\n // Called on `layoutready`\n ready: function ready() {\n },\n // Called on `layoutstop`\n stop: function stop() {\n },\n // 'draft', 'default' or 'proof\" \n // - 'draft' fast cooling rate \n // - 'default' moderate cooling rate \n // - \"proof\" slow cooling rate\n quality: \"default\",\n // include labels in node dimensions\n nodeDimensionsIncludeLabels: false,\n // number of ticks per frame; higher is faster but more jerky\n refresh: 30,\n // Whether to fit the network view after when done\n fit: true,\n // Padding on fit\n padding: 10,\n // Whether to enable incremental mode\n randomize: true,\n // Node repulsion (non overlapping) multiplier\n nodeRepulsion: 4500,\n // Ideal edge (non nested) length\n idealEdgeLength: 50,\n // Divisor to compute edge forces\n edgeElasticity: 0.45,\n // Nesting factor (multiplier) to compute ideal edge length for nested edges\n nestingFactor: 0.1,\n // Gravity force (constant)\n gravity: 0.25,\n // Maximum number of iterations to perform\n numIter: 2500,\n // For enabling tiling\n tile: true,\n // Type of layout animation. The option set is {'during', 'end', false}\n animate: \"end\",\n // Duration for animate:end\n animationDuration: 500,\n // Represents the amount of the vertical space to put between the zero degree members during the tiling operation(can also be a function)\n tilingPaddingVertical: 10,\n // Represents the amount of the horizontal space to put between the zero degree members during the tiling operation(can also be a function)\n tilingPaddingHorizontal: 10,\n // Gravity range (constant) for compounds\n gravityRangeCompound: 1.5,\n // Gravity force (constant) for compounds\n gravityCompound: 1,\n // Gravity range (constant)\n gravityRange: 3.8,\n // Initial cooling factor for incremental layout\n initialEnergyOnIncremental: 0.5\n };\n function extend2(defaults3, options2) {\n var obj = {};\n for (var i2 in defaults3) {\n obj[i2] = defaults3[i2];\n }\n for (var i2 in options2) {\n obj[i2] = options2[i2];\n }\n return obj;\n }\n function _CoSELayout(_options) {\n this.options = extend2(defaults2, _options);\n getUserOptions(this.options);\n }\n var getUserOptions = function getUserOptions2(options2) {\n if (options2.nodeRepulsion != null)\n CoSEConstants.DEFAULT_REPULSION_STRENGTH = FDLayoutConstants.DEFAULT_REPULSION_STRENGTH = options2.nodeRepulsion;\n if (options2.idealEdgeLength != null)\n CoSEConstants.DEFAULT_EDGE_LENGTH = FDLayoutConstants.DEFAULT_EDGE_LENGTH = options2.idealEdgeLength;\n if (options2.edgeElasticity != null)\n CoSEConstants.DEFAULT_SPRING_STRENGTH = FDLayoutConstants.DEFAULT_SPRING_STRENGTH = options2.edgeElasticity;\n if (options2.nestingFactor != null)\n CoSEConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = FDLayoutConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = options2.nestingFactor;\n if (options2.gravity != null)\n CoSEConstants.DEFAULT_GRAVITY_STRENGTH = FDLayoutConstants.DEFAULT_GRAVITY_STRENGTH = options2.gravity;\n if (options2.numIter != null)\n CoSEConstants.MAX_ITERATIONS = FDLayoutConstants.MAX_ITERATIONS = options2.numIter;\n if (options2.gravityRange != null)\n CoSEConstants.DEFAULT_GRAVITY_RANGE_FACTOR = FDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR = options2.gravityRange;\n if (options2.gravityCompound != null)\n CoSEConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH = options2.gravityCompound;\n if (options2.gravityRangeCompound != null)\n CoSEConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = options2.gravityRangeCompound;\n if (options2.initialEnergyOnIncremental != null)\n CoSEConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL = options2.initialEnergyOnIncremental;\n if (options2.quality == \"draft\")\n LayoutConstants.QUALITY = 0;\n else if (options2.quality == \"proof\")\n LayoutConstants.QUALITY = 2;\n else\n LayoutConstants.QUALITY = 1;\n CoSEConstants.NODE_DIMENSIONS_INCLUDE_LABELS = FDLayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS = LayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS = options2.nodeDimensionsIncludeLabels;\n CoSEConstants.DEFAULT_INCREMENTAL = FDLayoutConstants.DEFAULT_INCREMENTAL = LayoutConstants.DEFAULT_INCREMENTAL = !options2.randomize;\n CoSEConstants.ANIMATE = FDLayoutConstants.ANIMATE = LayoutConstants.ANIMATE = options2.animate;\n CoSEConstants.TILE = options2.tile;\n CoSEConstants.TILING_PADDING_VERTICAL = typeof options2.tilingPaddingVertical === \"function\" ? options2.tilingPaddingVertical.call() : options2.tilingPaddingVertical;\n CoSEConstants.TILING_PADDING_HORIZONTAL = typeof options2.tilingPaddingHorizontal === \"function\" ? options2.tilingPaddingHorizontal.call() : options2.tilingPaddingHorizontal;\n };\n _CoSELayout.prototype.run = function() {\n var ready;\n var frameId;\n var options2 = this.options;\n this.idToLNode = {};\n var layout2 = this.layout = new CoSELayout();\n var self2 = this;\n self2.stopped = false;\n this.cy = this.options.cy;\n this.cy.trigger({ type: \"layoutstart\", layout: this });\n var gm = layout2.newGraphManager();\n this.gm = gm;\n var nodes2 = this.options.eles.nodes();\n var edges2 = this.options.eles.edges();\n this.root = gm.addRoot();\n this.processChildrenList(this.root, this.getTopMostNodes(nodes2), layout2);\n for (var i2 = 0; i2 < edges2.length; i2++) {\n var edge = edges2[i2];\n var sourceNode = this.idToLNode[edge.data(\"source\")];\n var targetNode = this.idToLNode[edge.data(\"target\")];\n if (sourceNode !== targetNode && sourceNode.getEdgesBetween(targetNode).length == 0) {\n var e1 = gm.add(layout2.newEdge(), sourceNode, targetNode);\n e1.id = edge.id();\n }\n }\n var getPositions = function getPositions2(ele, i3) {\n if (typeof ele === \"number\") {\n ele = i3;\n }\n var theId = ele.data(\"id\");\n var lNode = self2.idToLNode[theId];\n return {\n x: lNode.getRect().getCenterX(),\n y: lNode.getRect().getCenterY()\n };\n };\n var iterateAnimated = function iterateAnimated2() {\n var afterReposition = function afterReposition2() {\n if (options2.fit) {\n options2.cy.fit(options2.eles, options2.padding);\n }\n if (!ready) {\n ready = true;\n self2.cy.one(\"layoutready\", options2.ready);\n self2.cy.trigger({ type: \"layoutready\", layout: self2 });\n }\n };\n var ticksPerFrame = self2.options.refresh;\n var isDone;\n for (var i3 = 0; i3 < ticksPerFrame && !isDone; i3++) {\n isDone = self2.stopped || self2.layout.tick();\n }\n if (isDone) {\n if (layout2.checkLayoutSuccess() && !layout2.isSubLayout) {\n layout2.doPostLayout();\n }\n if (layout2.tilingPostLayout) {\n layout2.tilingPostLayout();\n }\n layout2.isLayoutFinished = true;\n self2.options.eles.nodes().positions(getPositions);\n afterReposition();\n self2.cy.one(\"layoutstop\", self2.options.stop);\n self2.cy.trigger({ type: \"layoutstop\", layout: self2 });\n if (frameId) {\n cancelAnimationFrame(frameId);\n }\n ready = false;\n return;\n }\n var animationData = self2.layout.getPositionsData();\n options2.eles.nodes().positions(function(ele, i4) {\n if (typeof ele === \"number\") {\n ele = i4;\n }\n if (!ele.isParent()) {\n var theId = ele.id();\n var pNode = animationData[theId];\n var temp = ele;\n while (pNode == null) {\n pNode = animationData[temp.data(\"parent\")] || animationData[\"DummyCompound_\" + temp.data(\"parent\")];\n animationData[theId] = pNode;\n temp = temp.parent()[0];\n if (temp == void 0) {\n break;\n }\n }\n if (pNode != null) {\n return {\n x: pNode.x,\n y: pNode.y\n };\n } else {\n return {\n x: ele.position(\"x\"),\n y: ele.position(\"y\")\n };\n }\n }\n });\n afterReposition();\n frameId = requestAnimationFrame(iterateAnimated2);\n };\n layout2.addListener(\"layoutstarted\", function() {\n if (self2.options.animate === \"during\") {\n frameId = requestAnimationFrame(iterateAnimated);\n }\n });\n layout2.runLayout();\n if (this.options.animate !== \"during\") {\n self2.options.eles.nodes().not(\":parent\").layoutPositions(self2, self2.options, getPositions);\n ready = false;\n }\n return this;\n };\n _CoSELayout.prototype.getTopMostNodes = function(nodes2) {\n var nodesMap = {};\n for (var i2 = 0; i2 < nodes2.length; i2++) {\n nodesMap[nodes2[i2].id()] = true;\n }\n var roots = nodes2.filter(function(ele, i3) {\n if (typeof ele === \"number\") {\n ele = i3;\n }\n var parent = ele.parent()[0];\n while (parent != null) {\n if (nodesMap[parent.id()]) {\n return false;\n }\n parent = parent.parent()[0];\n }\n return true;\n });\n return roots;\n };\n _CoSELayout.prototype.processChildrenList = function(parent, children2, layout2) {\n var size2 = children2.length;\n for (var i2 = 0; i2 < size2; i2++) {\n var theChild = children2[i2];\n var children_of_children = theChild.children();\n var theNode;\n var dimensions = theChild.layoutDimensions({\n nodeDimensionsIncludeLabels: this.options.nodeDimensionsIncludeLabels\n });\n if (theChild.outerWidth() != null && theChild.outerHeight() != null) {\n theNode = parent.add(new CoSENode(layout2.graphManager, new PointD(theChild.position(\"x\") - dimensions.w / 2, theChild.position(\"y\") - dimensions.h / 2), new DimensionD2(parseFloat(dimensions.w), parseFloat(dimensions.h))));\n } else {\n theNode = parent.add(new CoSENode(this.graphManager));\n }\n theNode.id = theChild.data(\"id\");\n theNode.paddingLeft = parseInt(theChild.css(\"padding\"));\n theNode.paddingTop = parseInt(theChild.css(\"padding\"));\n theNode.paddingRight = parseInt(theChild.css(\"padding\"));\n theNode.paddingBottom = parseInt(theChild.css(\"padding\"));\n if (this.options.nodeDimensionsIncludeLabels) {\n if (theChild.isParent()) {\n var labelWidth = theChild.boundingBox({ includeLabels: true, includeNodes: false }).w;\n var labelHeight = theChild.boundingBox({ includeLabels: true, includeNodes: false }).h;\n var labelPos = theChild.css(\"text-halign\");\n theNode.labelWidth = labelWidth;\n theNode.labelHeight = labelHeight;\n theNode.labelPos = labelPos;\n }\n }\n this.idToLNode[theChild.data(\"id\")] = theNode;\n if (isNaN(theNode.rect.x)) {\n theNode.rect.x = 0;\n }\n if (isNaN(theNode.rect.y)) {\n theNode.rect.y = 0;\n }\n if (children_of_children != null && children_of_children.length > 0) {\n var theNewGraph;\n theNewGraph = layout2.getGraphManager().add(layout2.newGraph(), theNode);\n this.processChildrenList(theNewGraph, children_of_children, layout2);\n }\n }\n };\n _CoSELayout.prototype.stop = function() {\n this.stopped = true;\n return this;\n };\n var register = function register2(cytoscape2) {\n cytoscape2(\"layout\", \"cose-bilkent\", _CoSELayout);\n };\n if (typeof cytoscape !== \"undefined\") {\n register(cytoscape);\n }\n module3.exports = register;\n }\n /******/\n ])\n );\n });\n })(cytoscapeCoseBilkent);\n const coseBilkent = /* @__PURE__ */ getDefaultExportFromCjs(cytoscapeCoseBilkentExports);\n cytoscape$1.use(coseBilkent);\n function drawNodes(svg2, mindmap, section, conf2) {\n svgDraw.drawNode(svg2, mindmap, section, conf2);\n if (mindmap.children) {\n mindmap.children.forEach((child, index) => {\n drawNodes(svg2, child, section < 0 ? index : section, conf2);\n });\n }\n }\n function drawEdges(edgesEl, cy) {\n cy.edges().map((edge, id2) => {\n const data = edge.data();\n if (edge[0]._private.bodyBounds) {\n const bounds2 = edge[0]._private.rscratch;\n log$1.trace(\"Edge: \", id2, data);\n edgesEl.insert(\"path\").attr(\n \"d\",\n `M ${bounds2.startX},${bounds2.startY} L ${bounds2.midX},${bounds2.midY} L${bounds2.endX},${bounds2.endY} `\n ).attr(\"class\", \"edge section-edge-\" + data.section + \" edge-depth-\" + data.depth);\n }\n });\n }\n function addNodes(mindmap, cy, conf2, level) {\n cy.add({\n group: \"nodes\",\n data: {\n id: mindmap.id,\n labelText: mindmap.descr,\n height: mindmap.height,\n width: mindmap.width,\n level,\n nodeId: mindmap.id,\n padding: mindmap.padding,\n type: mindmap.type\n },\n position: {\n x: mindmap.x,\n y: mindmap.y\n }\n });\n if (mindmap.children) {\n mindmap.children.forEach((child) => {\n addNodes(child, cy, conf2, level + 1);\n cy.add({\n group: \"edges\",\n data: {\n id: `${mindmap.id}_${child.id}`,\n source: mindmap.id,\n target: child.id,\n depth: level,\n section: child.section\n }\n });\n });\n }\n }\n function layoutMindmap(node2, conf2) {\n return new Promise((resolve) => {\n const renderEl = select(\"body\").append(\"div\").attr(\"id\", \"cy\").attr(\"style\", \"display:none\");\n const cy = cytoscape$1({\n container: document.getElementById(\"cy\"),\n // container to render in\n style: [\n {\n selector: \"edge\",\n style: {\n \"curve-style\": \"bezier\"\n }\n }\n ]\n });\n renderEl.remove();\n addNodes(node2, cy, conf2, 0);\n cy.nodes().forEach(function(n) {\n n.layoutDimensions = () => {\n const data = n.data();\n return { w: data.width, h: data.height };\n };\n });\n cy.layout({\n name: \"cose-bilkent\",\n quality: \"proof\",\n // headless: true,\n styleEnabled: false,\n animate: false\n }).run();\n cy.ready((e) => {\n log$1.info(\"Ready\", e);\n resolve(cy);\n });\n });\n }\n function positionNodes(cy) {\n cy.nodes().map((node2, id2) => {\n const data = node2.data();\n data.x = node2.position().x;\n data.y = node2.position().y;\n svgDraw.positionNode(data);\n const el = getElementById(data.nodeId);\n log$1.info(\"Id:\", id2, \"Position: (\", node2.position().x, \", \", node2.position().y, \")\", data);\n el.attr(\n \"transform\",\n `translate(${node2.position().x - data.width / 2}, ${node2.position().y - data.height / 2})`\n );\n el.attr(\"attr\", `apa-${id2})`);\n });\n }\n const draw = async (text2, id2, version2, diagObj) => {\n const conf2 = getConfig$1();\n diagObj.db.clear();\n diagObj.parser.parse(text2);\n log$1.debug(\"Renering info diagram\\n\" + text2);\n const securityLevel = getConfig$1().securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id2);\n }\n const root2 = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const svg2 = root2.select(\"#\" + id2);\n svg2.append(\"g\");\n const mm = diagObj.db.getMindmap();\n const edgesElem = svg2.append(\"g\");\n edgesElem.attr(\"class\", \"mindmap-edges\");\n const nodesElem = svg2.append(\"g\");\n nodesElem.attr(\"class\", \"mindmap-nodes\");\n drawNodes(nodesElem, mm, -1, conf2);\n const cy = await layoutMindmap(mm, conf2);\n drawEdges(edgesElem, cy);\n positionNodes(cy);\n setupGraphViewbox$1(void 0, svg2, conf2.mindmap.padding, conf2.mindmap.useMaxWidth);\n };\n const mindmapRenderer = {\n draw\n };\n const genSections = (options2) => {\n let sections2 = \"\";\n for (let i2 = 0; i2 < options2.THEME_COLOR_LIMIT; i2++) {\n options2[\"lineColor\" + i2] = options2[\"lineColor\" + i2] || options2[\"cScaleInv\" + i2];\n if (isDark$1(options2[\"lineColor\" + i2])) {\n options2[\"lineColor\" + i2] = lighten$1(options2[\"lineColor\" + i2], 20);\n } else {\n options2[\"lineColor\" + i2] = darken$1(options2[\"lineColor\" + i2], 20);\n }\n }\n for (let i2 = 0; i2 < options2.THEME_COLOR_LIMIT; i2++) {\n const sw = \"\" + (17 - 3 * i2);\n sections2 += `\n .section-${i2 - 1} rect, .section-${i2 - 1} path, .section-${i2 - 1} circle, .section-${i2 - 1} polygon, .section-${i2 - 1} path {\n fill: ${options2[\"cScale\" + i2]};\n }\n .section-${i2 - 1} text {\n fill: ${options2[\"cScaleLabel\" + i2]};\n }\n .node-icon-${i2 - 1} {\n font-size: 40px;\n color: ${options2[\"cScaleLabel\" + i2]};\n }\n .section-edge-${i2 - 1}{\n stroke: ${options2[\"cScale\" + i2]};\n }\n .edge-depth-${i2 - 1}{\n stroke-width: ${sw};\n }\n .section-${i2 - 1} line {\n stroke: ${options2[\"cScaleInv\" + i2]} ;\n stroke-width: 3;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n `;\n }\n return sections2;\n };\n const getStyles = (options2) => `\n .edge {\n stroke-width: 3;\n }\n ${genSections(options2)}\n .section-root rect, .section-root path, .section-root circle, .section-root polygon {\n fill: ${options2.git0};\n }\n .section-root text {\n fill: ${options2.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n`;\n const mindmapStyles = getStyles;\n const diagram = {\n db: mindmapDb,\n renderer: mindmapRenderer,\n parser: mindmapParser,\n styles: mindmapStyles\n };\n const mindmapDefinition = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n diagram\n }, Symbol.toStringTag, { value: \"Module\" }));\n return mermaid;\n});\n//# sourceMappingURL=mermaid.js.map\n","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of `);\n const root = this.attachShadow({ mode: 'open' });\n root.appendChild(template.content.cloneNode(true));\n root.addEventListener('move', this);\n this[$parts] = this[$sliders].map((slider) => new slider(root));\n }\n connectedCallback() {\n // A user may set a property on an _instance_ of an element,\n // before its prototype has been connected to this class.\n // If so, we need to run it through the proper class setter.\n if (this.hasOwnProperty('color')) {\n const value = this.color;\n delete this['color'];\n this.color = value;\n }\n else if (!this.color) {\n this.color = this.colorModel.defaultColor;\n }\n }\n attributeChangedCallback(_attr, _oldVal, newVal) {\n const color = this.colorModel.fromAttr(newVal);\n if (!this[$isSame](color)) {\n this.color = color;\n }\n }\n handleEvent(event) {\n // Merge the current HSV color object with updated params.\n const oldHsva = this[$hsva];\n const newHsva = { ...oldHsva, ...event.detail };\n this[$update](newHsva);\n let newColor;\n if (!equalColorObjects(newHsva, oldHsva) &&\n !this[$isSame]((newColor = this.colorModel.fromHsva(newHsva)))) {\n this[$color] = newColor;\n fire(this, 'color-changed', { value: newColor });\n }\n }\n [$isSame](color) {\n return this.color && this.colorModel.equal(color, this.color);\n }\n [$update](hsva) {\n this[$hsva] = hsva;\n this[$parts].forEach((part) => part.update(hsva));\n }\n}\n//# sourceMappingURL=color-picker.js.map","export default `[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}`;\n//# sourceMappingURL=hue.js.map","export default `[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}`;\n//# sourceMappingURL=saturation.js.map","import { ColorPicker } from '../components/color-picker.js';\nimport { hexToHsva, hsvaToHex } from '../utils/convert.js';\nimport { equalHex } from '../utils/compare.js';\nconst colorModel = {\n defaultColor: '#000',\n toHsva: hexToHsva,\n fromHsva: ({ h, s, v }) => hsvaToHex({ h, s, v, a: 1 }),\n equal: equalHex,\n fromAttr: (color) => color\n};\nexport class HexBase extends ColorPicker {\n get colorModel() {\n return colorModel;\n }\n}\n//# sourceMappingURL=hex.js.map","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./colorpicker.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/colorpicker/colorpickerview\n */\n\nimport { convertColor, convertToHex, registerCustomElement, type ColorPickerViewConfig } from './utils.js';\n\nimport type { HexColor } from '@ckeditor/ckeditor5-core';\nimport { type Locale, global, env } from '@ckeditor/ckeditor5-utils';\nimport { debounce, type DebouncedFunc } from 'lodash-es';\nimport View from '../view.js';\nimport type InputTextView from '../inputtext/inputtextview.js';\nimport type ViewCollection from '../viewcollection.js';\nimport LabeledFieldView from '../labeledfield/labeledfieldview.js';\nimport { createLabeledInputText } from '../labeledfield/utils.js';\n\n// Custom export due to https://github.com/ckeditor/ckeditor5/issues/15698.\nimport { HexBase } from 'vanilla-colorful/lib/entrypoints/hex';\nimport '../../theme/components/colorpicker/colorpicker.css';\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'hex-color-picker': HexBase;\n\t}\n}\n\nconst waitingTime = 150;\n\n/**\n * A class which represents a color picker with an input field for defining custom colors.\n */\nexport default class ColorPickerView extends View {\n\t/**\n\t * Element with saturation and hue sliders.\n\t */\n\tdeclare public picker: HexBase;\n\n\t/**\n\t * Container for a `#` sign prefix and an input for displaying and defining custom colors\n\t * in HEX format.\n\t */\n\tpublic hexInputRow: ColorPickerInputRowView;\n\n\t/**\n\t * Current color selected in the color picker. It can be set by the component itself\n\t * (through the palette or input) or from the outside (e.g. to reflect the current selection color).\n\t */\n\tdeclare public color: string;\n\n\t/**\n\t * List of slider views of the color picker.\n\t */\n\tdeclare public slidersView: ViewCollection;\n\n\t/**\n\t * An internal representation of a color.\n\t *\n\t * Since the picker uses a hex format, that's how we store it.\n\t *\n\t * Since this is unified color format it won't fire a change event if color is changed\n\t * from `#f00` to `#ff0000` (same value, different format).\n\t *\n\t * @observable\n\t * @private\n\t */\n\tdeclare public _hexColor: string;\n\n\t/**\n\t * Debounced function updating the `color` property in the component\n\t * and firing the `ColorPickerColorSelectedEvent`. Executed whenever color in component\n\t * is changed by the user interaction (through the palette or input).\n\t *\n\t * @private\n\t */\n\tprivate _debounceColorPickerEvent: DebouncedFunc<( arg: string ) => void>;\n\n\t/**\n\t * A reference to the configuration of the color picker specified in the constructor.\n\t *\n\t * @private\n\t */\n\tprivate _config: ColorPickerViewConfig;\n\n\t/**\n\t * Creates a view of color picker.\n\t *\n\t * @param locale\n\t * @param config\n\t */\n\tconstructor( locale: Locale | undefined, config: ColorPickerViewConfig = {} ) {\n\t\tsuper( locale );\n\n\t\tthis.set( {\n\t\t\tcolor: '',\n\t\t\t_hexColor: ''\n\t\t} );\n\n\t\tthis.hexInputRow = this._createInputRow();\n\t\tconst children = this.createCollection();\n\n\t\tif ( !config.hideInput ) {\n\t\t\tchildren.add( this.hexInputRow );\n\t\t}\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\t\t\tattributes: {\n\t\t\t\tclass: [ 'ck', 'ck-color-picker' ],\n\t\t\t\ttabindex: -1\n\t\t\t},\n\t\t\tchildren\n\t\t} );\n\n\t\tthis._config = config;\n\n\t\tthis._debounceColorPickerEvent = debounce( ( color: string ) => {\n\t\t\t// At first, set the color internally in the component. It's converted to the configured output format.\n\t\t\tthis.set( 'color', color );\n\n\t\t\t// Then let the outside world know that the user changed the color.\n\t\t\tthis.fire( 'colorSelected', { color: this.color } );\n\t\t}, waitingTime, {\n\t\t\tleading: true\n\t\t} );\n\n\t\t// The `color` property holds the color in the configured output format.\n\t\t// Ensure it before actually setting the value.\n\t\tthis.on( 'set:color', ( evt, propertyName, newValue ) => {\n\t\t\tevt.return = convertColor( newValue, this._config.format || 'hsl' );\n\t\t} );\n\n\t\t// The `_hexColor` property is bound to the `color` one, but requires conversion.\n\t\tthis.on( 'change:color', () => {\n\t\t\tthis._hexColor = convertColorToCommonHexFormat( this.color );\n\t\t} );\n\n\t\tthis.on( 'change:_hexColor', () => {\n\t\t\t// Update the selected color in the color picker palette when it's not focused.\n\t\t\t// It means the user typed the color in the input.\n\t\t\tif ( document.activeElement !== this.picker ) {\n\t\t\t\tthis.picker.setAttribute( 'color', this._hexColor );\n\t\t\t}\n\n\t\t\t// There has to be two way binding between properties.\n\t\t\t// Extra precaution has to be taken to trigger change back only when the color really changes.\n\t\t\tif ( convertColorToCommonHexFormat( this.color ) != convertColorToCommonHexFormat( this._hexColor ) ) {\n\t\t\t\tthis.color = this._hexColor;\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Renders color picker in the view.\n\t */\n\tpublic override render(): void {\n\t\tsuper.render();\n\n\t\t// Extracted to the helper to make it testable.\n\t\tregisterCustomElement( 'hex-color-picker', HexBase );\n\n\t\tthis.picker = global.document.createElement( 'hex-color-picker' );\n\t\tthis.picker.setAttribute( 'class', 'hex-color-picker' );\n\t\tthis.picker.setAttribute( 'tabindex', '-1' );\n\n\t\tthis._createSlidersView();\n\n\t\tif ( this.element ) {\n\t\t\tif ( this.hexInputRow.element ) {\n\t\t\t\tthis.element.insertBefore( this.picker, this.hexInputRow.element );\n\t\t\t} else {\n\t\t\t\tthis.element.appendChild( this.picker );\n\t\t\t}\n\n\t\t\t// Create custom stylesheet with a look of focused pointer in color picker and append it into the color picker shadowDom\n\t\t\tconst styleSheetForFocusedColorPicker = document.createElement( 'style' );\n\n\t\t\tstyleSheetForFocusedColorPicker.textContent = '[role=\"slider\"]:focus [part$=\"pointer\"] {' +\n\t\t\t\t'border: 1px solid #fff;' +\n\t\t\t\t'outline: 1px solid var(--ck-color-focus-border);' +\n\t\t\t\t'box-shadow: 0 0 0 2px #fff;' +\n\t\t\t\t'}';\n\t\t\tthis.picker.shadowRoot!.appendChild( styleSheetForFocusedColorPicker );\n\t\t}\n\n\t\tthis.picker.addEventListener( 'color-changed', event => {\n\t\t\tconst color = event.detail.value;\n\t\t\tthis._debounceColorPickerEvent( color );\n\t\t} );\n\t}\n\n\t/**\n\t * Focuses the first pointer in color picker.\n\t *\n\t */\n\tpublic focus(): void {\n\t\t// In some browsers we need to move the focus to the input first.\n\t\t// Otherwise, the color picker doesn't behave as expected.\n\t\t// In FF, after selecting the color via slider, it instantly moves back to the previous color.\n\t\t// In all iOS browsers and desktop Safari, once the saturation slider is moved for the first time,\n\t\t// editor collapses the selection and doesn't apply the color change.\n\t\t// See: https://github.com/cksource/ckeditor5-internal/issues/3245, https://github.com/ckeditor/ckeditor5/issues/14119,\n\t\t// https://github.com/cksource/ckeditor5-internal/issues/3268.\n\t\t/* istanbul ignore next -- @preserve */\n\t\tif ( !this._config.hideInput && ( env.isGecko || env.isiOS || env.isSafari ) ) {\n\t\t\tconst input: LabeledFieldView = this.hexInputRow!.children.get( 1 )! as LabeledFieldView;\n\n\t\t\tinput.focus();\n\t\t}\n\n\t\tconst firstSlider = this.slidersView.first!;\n\n\t\tfirstSlider.focus();\n\t}\n\n\t/**\n\t * Creates collection of sliders in color picker.\n\t *\n\t * @private\n\t */\n\tprivate _createSlidersView(): void {\n\t\tconst colorPickersChildren = [ ...this.picker.shadowRoot!.children ] as Array;\n\t\tconst sliders = colorPickersChildren.filter( item => item.getAttribute( 'role' ) === 'slider' );\n\n\t\tconst slidersView = sliders.map( slider => {\n\t\t\tconst view = new SliderView( slider );\n\n\t\t\treturn view;\n\t\t} );\n\n\t\tthis.slidersView = this.createCollection();\n\n\t\tslidersView.forEach( item => {\n\t\t\tthis.slidersView.add( item );\n\t\t} );\n\t}\n\n\t/**\n\t * Creates input row for defining custom colors in color picker.\n\t *\n\t * @private\n\t */\n\tprivate _createInputRow(): ColorPickerInputRowView {\n\t\tconst colorInput = this._createColorInput();\n\n\t\treturn new ColorPickerInputRowView( this.locale!, colorInput );\n\t}\n\n\t/**\n\t * Creates the input where user can type or paste the color in hex format.\n\t *\n\t * @private\n\t */\n\tprivate _createColorInput(): LabeledFieldView {\n\t\tconst labeledInput = new LabeledFieldView( this.locale, createLabeledInputText );\n\t\tconst { t } = this.locale!;\n\n\t\tlabeledInput.set( {\n\t\t\tlabel: t( 'HEX' ),\n\t\t\tclass: 'color-picker-hex-input'\n\t\t} );\n\n\t\tlabeledInput.fieldView.bind( 'value' ).to( this, '_hexColor', pickerColor => {\n\t\t\tif ( labeledInput.isFocused ) {\n\t\t\t\t// Text field shouldn't be updated with color change if the text field is focused.\n\t\t\t\t// Imagine user typing hex code and getting the value of field changed.\n\t\t\t\treturn labeledInput.fieldView.value;\n\t\t\t} else {\n\t\t\t\treturn pickerColor.startsWith( '#' ) ? pickerColor.substring( 1 ) : pickerColor;\n\t\t\t}\n\t\t} );\n\n\t\t// Only accept valid hex colors as input.\n\t\tlabeledInput.fieldView.on( 'input', () => {\n\t\t\tconst inputValue = labeledInput.fieldView.element!.value;\n\n\t\t\tif ( inputValue ) {\n\t\t\t\tconst maybeHexColor = tryParseHexColor( inputValue );\n\n\t\t\t\tif ( maybeHexColor ) {\n\t\t\t\t\t// If so, set the color.\n\t\t\t\t\t// Otherwise, do nothing.\n\t\t\t\t\tthis._debounceColorPickerEvent( maybeHexColor );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\treturn labeledInput;\n\t}\n\n\t/**\n\t * Validates the view and returns `false` when some fields are invalid.\n\t */\n\tpublic isValid(): boolean {\n\t\tconst { t } = this.locale!;\n\n\t\t// If the input is hidden, it's always valid, because there is no way to select\n\t\t// invalid color value using diagram color picker.\n\t\tif ( this._config.hideInput ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tthis.resetValidationStatus();\n\n\t\t// One error per field is enough.\n\t\tif ( !this.hexInputRow.getParsedColor() ) {\n\t\t\t// Apply updated error.\n\t\t\tthis.hexInputRow.inputView.errorText = t( 'Please enter a valid color (e.g. \"ff0000\").' );\n\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Cleans up the supplementary error and information text of input inside the {@link #hexInputRow}\n\t * bringing them back to the state when the form has been displayed for the first time.\n\t *\n\t * See {@link #isValid}.\n\t */\n\tpublic resetValidationStatus(): void {\n\t\tthis.hexInputRow.inputView.errorText = null;\n\t}\n}\n\n// Converts any color format to a unified hex format.\n//\n// @param inputColor\n// @returns An unified hex string.\nfunction convertColorToCommonHexFormat( inputColor: string ): string {\n\tlet ret = convertToHex( inputColor );\n\n\tif ( !ret ) {\n\t\tret = '#000';\n\t}\n\n\tif ( ret.length === 4 ) {\n\t\t// Unfold shortcut format.\n\t\tret = '#' + [ ret[ 1 ], ret[ 1 ], ret[ 2 ], ret[ 2 ], ret[ 3 ], ret[ 3 ] ].join( '' );\n\t}\n\n\treturn ret.toLowerCase();\n}\n\n// View abstraction over pointer in color picker.\nclass SliderView extends View {\n\t/**\n\t * @param element HTML element of slider in color picker.\n\t */\n\tconstructor( element: HTMLElement ) {\n\t\tsuper();\n\t\tthis.element = element;\n\t}\n\n\t/**\n\t * Focuses element.\n\t */\n\tpublic focus(): void {\n\t\tthis.element!.focus();\n\t}\n}\n\n// View abstraction over the `#` character before color input.\nclass HashView extends View {\n\tconstructor( locale?: Locale ) {\n\t\tsuper( locale );\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck',\n\t\t\t\t\t'ck-color-picker__hash-view'\n\t\t\t\t]\n\t\t\t},\n\t\t\tchildren: '#'\n\t\t} );\n\t}\n}\n\n// The class representing a row containing hex color input field.\n// **Note**: For now this class is private. When more use cases appear (beyond `ckeditor5-table` and `ckeditor5-image`),\n// it will become a component in `ckeditor5-ui`.\n//\n// @private\nclass ColorPickerInputRowView extends View {\n\t/**\n\t * A collection of row items (buttons, dropdowns, etc.).\n\t */\n\tpublic readonly children: ViewCollection;\n\n\t/**\n\t * Hex input view element.\n\t */\n\tpublic readonly inputView: LabeledFieldView;\n\n\t/**\n\t * Creates an instance of the form row class.\n\t *\n\t * @param locale The locale instance.\n\t * @param inputView Hex color input element.\n\t */\n\tconstructor( locale: Locale, inputView: LabeledFieldView ) {\n\t\tsuper( locale );\n\n\t\tthis.inputView = inputView;\n\t\tthis.children = this.createCollection( [\n\t\t\tnew HashView(),\n\t\t\tthis.inputView\n\t\t] );\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck',\n\t\t\t\t\t'ck-color-picker__row'\n\t\t\t\t]\n\t\t\t},\n\t\t\tchildren: this.children\n\t\t} );\n\t}\n\n\t/**\n\t * Returns false if color input value is not in hex format.\n\t */\n\tpublic getParsedColor(): HexColor | null {\n\t\treturn tryParseHexColor( this.inputView.fieldView.element!.value );\n\t}\n}\n\n/**\n * An event fired whenever the color was selected through the color picker palette\n * or the color picker input.\n *\n * This even fires only when the user changes the color. It does not fire when the color\n * is changed programmatically, e.g. via\n * {@link module:ui/colorpicker/colorpickerview~ColorPickerView#color}.\n *\n * @eventName ~ColorPickerView#colorSelected\n */\nexport type ColorPickerColorSelectedEvent = {\n\tname: 'colorSelected';\n\targs: [ {\n\t\tcolor: string;\n\t} ];\n};\n\n/**\n * Trim spaces from provided color and check if hex is valid.\n *\n * @param color Unsafe color string.\n * @returns Null if provided color is not hex value.\n * @export\n */\nexport function tryParseHexColor( color: S | null | undefined ): HexColor | null {\n\tif ( !color ) {\n\t\treturn null;\n\t}\n\n\tconst hashLessColor = color.trim().replace( /^#/, '' );\n\n\t// Incorrect length.\n\tif ( ![ 3, 4, 6, 8 ].includes( hashLessColor.length ) ) {\n\t\treturn null;\n\t}\n\n\t// Incorrect characters.\n\tif ( !/^(([0-9a-fA-F]{2}){3,4}|([0-9a-fA-F]){3,4})$/.test( hashLessColor ) ) {\n\t\treturn null;\n\t}\n\n\treturn `#${ hashLessColor }` as `#${ S }`;\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/colorselector/documentcolorcollection\n */\n\nimport type { ColorDefinition } from '../colorgrid/colorgridview.js';\nimport {\n\tCollection,\n\tObservableMixin,\n\ttype CollectionAddEvent,\n\ttype CollectionRemoveEvent,\n\ttype CollectionChangeEvent\n} from '@ckeditor/ckeditor5-utils';\n\n/**\n * A collection to store document colors. It enforces colors to be unique.\n */\nexport default class DocumentColorCollection extends /* #__PURE__ */ ObservableMixin( Collection ) {\n\t/**\n\t * Indicates whether the document color collection is empty.\n\t *\n\t * @observable\n\t */\n\tdeclare public readonly isEmpty: boolean;\n\n\tconstructor( options?: any ) {\n\t\tsuper( options );\n\n\t\tthis.set( 'isEmpty', true );\n\n\t\tthis.on( 'change', () => {\n\t\t\tthis.set( 'isEmpty', this.length === 0 );\n\t\t} );\n\t}\n\n\t/**\n\t * Adds a color to the document color collection.\n\t *\n\t * This method ensures that no color duplicates are inserted (compared using\n\t * the color value of the {@link module:ui/colorgrid/colorgridview~ColorDefinition}).\n\t *\n\t * If the item does not have an ID, it will be automatically generated and set on the item.\n\t *\n\t * @param index The position of the item in the collection. The item is pushed to the collection when `index` is not specified.\n\t * @fires add\n\t * @fires change\n\t */\n\tpublic override add( item: ColorDefinition, index?: number ): this {\n\t\tif ( this.find( element => element.color === item.color ) ) {\n\t\t\t// No duplicates are allowed.\n\t\t\treturn this;\n\t\t}\n\n\t\treturn super.add( item, index );\n\t}\n\n\t/**\n\t * Checks if an object with given colors is present in the document color collection.\n\t */\n\tpublic hasColor( color: string ): boolean {\n\t\treturn !!this.find( item => item.color === color );\n\t}\n}\n\n/**\n * Fired when the collection was changed due to adding or removing items.\n *\n * @eventName ~DocumentColorCollection#change\n * @param data Changed items.\n */\nexport type DocumentColorCollectionChangeEvent = CollectionChangeEvent;\n\n/**\n * Fired when an item is added to the collection.\n *\n * @eventName ~DocumentColorCollection#add\n * @param item The added item.\n * @param index An index where the addition occurred.\n */\nexport type DocumentColorCollectionAddEvent = CollectionAddEvent;\n\n/**\n * Fired when an item is removed from the collection.\n *\n * @eventName ~DocumentColorCollection#remove\n * @param item The removed item.\n * @param index Index from which item was removed.\n */\nexport type DocumentColorCollectionRemoveEvent = CollectionRemoveEvent;\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/colorselector/colorgridsfragmentview\n */\n\nimport View from '../view.js';\nimport ButtonView from '../button/buttonview.js';\nimport ColorGridView, { type ColorDefinition } from '../colorgrid/colorgridview.js';\nimport ColorTileView from '../colorgrid/colortileview.js';\nimport Template from '../template.js';\n\nimport DocumentColorCollection from './documentcolorcollection.js';\n\nimport type { Model } from '@ckeditor/ckeditor5-engine';\nimport type { FocusTracker, Locale } from '@ckeditor/ckeditor5-utils';\nimport type ViewCollection from '../viewcollection.js';\nimport type { FocusableView } from '../focuscycler.js';\nimport type { ColorSelectorExecuteEvent, ColorSelectorColorPickerShowEvent } from './colorselectorview.js';\nimport { icons } from '@ckeditor/ckeditor5-core';\n\n/**\n * One of the fragments of {@link module:ui/colorselector/colorselectorview~ColorSelectorView}.\n *\n * It provides a UI that allows users to select colors from the a predefined set and from existing document colors.\n *\n * It consists of the following sub–components:\n *\n * * A \"Remove color\" button,\n * * A static {@link module:ui/colorgrid/colorgridview~ColorGridView} of colors defined in the configuration,\n * * A dynamic {@link module:ui/colorgrid/colorgridview~ColorGridView} of colors used in the document.\n * * If color picker is configured, the \"Color Picker\" button is visible too.\n */\nexport default class ColorGridsFragmentView extends View {\n\t/**\n\t * A collection of the children of the table.\n\t */\n\tpublic readonly items: ViewCollection;\n\n\t/**\n\t * An array with objects representing colors to be displayed in the grid.\n\t */\n\tpublic colorDefinitions: Array;\n\n\t/**\n\t * Tracks information about the DOM focus in the list.\n\t */\n\tpublic readonly focusTracker: FocusTracker;\n\n\t/**\n\t * The number of columns in the color grid.\n\t */\n\tpublic columns: number;\n\n\t/**\n\t * Preserves the reference to {@link module:ui/colorselector/documentcolorcollection~DocumentColorCollection} used to collect\n\t * definitions that store the document colors.\n\t *\n\t * @readonly\n\t */\n\tpublic documentColors: DocumentColorCollection;\n\n\t/**\n\t * The maximum number of colors in the document colors section.\n\t * If it equals 0, the document colors section is not added.\n\t *\n\t * @readonly\n\t */\n\tpublic documentColorsCount?: number;\n\n\t/**\n\t * Keeps the value of the command associated with the table for the current selection.\n\t */\n\tdeclare public selectedColor: string;\n\n\t/**\n\t * Preserves the reference to {@link module:ui/colorgrid/colorgridview~ColorGridView} used to create\n\t * the default (static) color set.\n\t *\n\t * The property is loaded once the the parent dropdown is opened the first time.\n\t *\n\t * @readonly\n\t */\n\tpublic staticColorsGrid: ColorGridView | undefined;\n\n\t/**\n\t * Preserves the reference to {@link module:ui/colorgrid/colorgridview~ColorGridView} used to create\n\t * the document colors. It remains undefined if the document colors feature is disabled.\n\t *\n\t * The property is loaded once the the parent dropdown is opened the first time.\n\t *\n\t * @readonly\n\t */\n\tpublic documentColorsGrid: ColorGridView | undefined;\n\n\t/**\n\t * The \"Color picker\" button view.\n\t */\n\tpublic colorPickerButtonView?: ButtonView;\n\n\t/**\n\t * The \"Remove color\" button view.\n\t */\n\tpublic removeColorButtonView: ButtonView;\n\n\t/**\n\t * The property which is responsible for is component visible or not.\n\t */\n\tdeclare public isVisible: boolean;\n\n\t/**\n\t * A collection of views that can be focused in the view.\n\t *\n\t * @readonly\n\t */\n\tprotected _focusables: ViewCollection;\n\n\t/**\n\t * Document color section's label.\n\t *\n\t * @readonly\n\t */\n\tprivate _documentColorsLabel?: string;\n\n\t/**\n\t * The label of the button responsible for removing color attributes.\n\t */\n\tprivate _removeButtonLabel: string;\n\n\t/**\n\t * The label of the button responsible for switching to the color picker component.\n\t */\n\tprivate _colorPickerLabel: string;\n\n\t/**\n\t * Creates an instance of the view.\n\t *\n\t * @param locale The localization services instance.\n\t * @param colors An array with definitions of colors to be displayed in the table.\n\t * @param columns The number of columns in the color grid.\n\t * @param removeButtonLabel The label of the button responsible for removing the color.\n\t * @param colorPickerLabel The label of the button responsible for color picker appearing.\n\t * @param documentColorsLabel The label for the section with the document colors.\n\t * @param documentColorsCount The number of colors in the document colors section inside the color dropdown.\n\t * @param focusTracker Tracks information about the DOM focus in the list.\n\t * @param focusables A collection of views that can be focused in the view.\n\t */\n\tconstructor(\n\t\tlocale: Locale,\n\t\t{\n\t\t\tcolors, columns, removeButtonLabel, documentColorsLabel, documentColorsCount,\n\t\t\tcolorPickerLabel, focusTracker, focusables\n\t\t}: {\n\t\t\tcolors: Array;\n\t\t\tcolumns: number;\n\t\t\tremoveButtonLabel: string;\n\t\t\tcolorPickerLabel: string;\n\t\t\tdocumentColorsLabel?: string;\n\t\t\tdocumentColorsCount?: number;\n\t\t\tfocusTracker: FocusTracker;\n\t\t\tfocusables: ViewCollection;\n\t\t}\n\t) {\n\t\tsuper( locale );\n\n\t\tconst bind = this.bindTemplate;\n\n\t\tthis.set( 'isVisible', true );\n\n\t\tthis.focusTracker = focusTracker;\n\t\tthis.items = this.createCollection();\n\t\tthis.colorDefinitions = colors;\n\t\tthis.columns = columns;\n\t\tthis.documentColors = new DocumentColorCollection();\n\t\tthis.documentColorsCount = documentColorsCount;\n\n\t\tthis._focusables = focusables;\n\t\tthis._removeButtonLabel = removeButtonLabel;\n\t\tthis._colorPickerLabel = colorPickerLabel;\n\t\tthis._documentColorsLabel = documentColorsLabel;\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck-color-grids-fragment',\n\t\t\t\t\tbind.if( 'isVisible', 'ck-hidden', value => !value )\n\t\t\t\t]\n\t\t\t},\n\t\t\tchildren: this.items\n\t\t} );\n\n\t\tthis.removeColorButtonView = this._createRemoveColorButton();\n\n\t\tthis.items.add( this.removeColorButtonView );\n\t}\n\n\t/**\n\t * Scans through the editor model and searches for text node attributes with the given attribute name.\n\t * Found entries are set as document colors.\n\t *\n\t * All the previously stored document colors will be lost in the process.\n\t *\n\t * @param model The model used as a source to obtain the document colors.\n\t * @param attributeName Determines the name of the related model's attribute for a given dropdown.\n\t */\n\tpublic updateDocumentColors( model: Model, attributeName: string ): void {\n\t\tconst document = model.document;\n\t\tconst maxCount = this.documentColorsCount;\n\n\t\tthis.documentColors.clear();\n\n\t\tfor ( const root of document.getRoots() ) {\n\t\t\tconst range = model.createRangeIn( root );\n\n\t\t\tfor ( const node of range.getItems() ) {\n\t\t\t\tif ( node.is( '$textProxy' ) && node.hasAttribute( attributeName ) ) {\n\t\t\t\t\tthis._addColorToDocumentColors( node.getAttribute( attributeName ) as string );\n\n\t\t\t\t\tif ( this.documentColors.length >= maxCount! ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Refreshes the state of the selected color in one or both {@link module:ui/colorgrid/colorgridview~ColorGridView}s\n\t * available in the {@link module:ui/colorselector/colorselectorview~ColorSelectorView}. It guarantees that the selection will\n\t * occur only in one of them.\n\t */\n\tpublic updateSelectedColors(): void {\n\t\tconst documentColorsGrid = this.documentColorsGrid;\n\t\tconst staticColorsGrid = this.staticColorsGrid!;\n\t\tconst selectedColor = this.selectedColor;\n\n\t\tstaticColorsGrid.selectedColor = selectedColor;\n\n\t\tif ( documentColorsGrid ) {\n\t\t\tdocumentColorsGrid.selectedColor = selectedColor;\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override render(): void {\n\t\tsuper.render();\n\n\t\tthis.staticColorsGrid = this._createStaticColorsGrid();\n\n\t\tthis.items.add( this.staticColorsGrid );\n\n\t\tif ( this.documentColorsCount ) {\n\t\t\t// Create a label for document colors.\n\t\t\tconst bind = Template.bind( this.documentColors, this.documentColors );\n\t\t\tconst label = new View( this.locale );\n\t\t\tlabel.setTemplate( {\n\t\t\t\ttag: 'span',\n\t\t\t\tattributes: {\n\t\t\t\t\tclass: [\n\t\t\t\t\t\t'ck',\n\t\t\t\t\t\t'ck-color-grid__label',\n\t\t\t\t\t\tbind.if( 'isEmpty', 'ck-hidden' )\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttext: this._documentColorsLabel\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t} );\n\t\t\tthis.items.add( label );\n\t\t\tthis.documentColorsGrid = this._createDocumentColorsGrid();\n\n\t\t\tthis.items.add( this.documentColorsGrid );\n\t\t}\n\t\tthis._createColorPickerButton();\n\n\t\tthis._addColorSelectorElementsToFocusTracker();\n\t}\n\n\t/**\n\t * Focuses the component.\n\t */\n\tpublic focus(): void {\n\t\tthis.removeColorButtonView.focus();\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override destroy(): void {\n\t\tsuper.destroy();\n\t}\n\n\t/**\n\t * Handles displaying the color picker button (if it was previously created) and making it focusable.\n\t */\n\tpublic addColorPickerButton(): void {\n\t\tif ( this.colorPickerButtonView ) {\n\t\t\tthis.items.add( this.colorPickerButtonView );\n\t\t\tthis.focusTracker.add( this.colorPickerButtonView.element! );\n\t\t\tthis._focusables.add( this.colorPickerButtonView );\n\t\t}\n\t}\n\n\t/**\n\t * Adds color selector elements to focus tracker.\n\t */\n\tprivate _addColorSelectorElementsToFocusTracker(): void {\n\t\tthis.focusTracker.add( this.removeColorButtonView.element! );\n\t\tthis._focusables.add( this.removeColorButtonView );\n\n\t\tif ( this.staticColorsGrid ) {\n\t\t\tthis.focusTracker.add( this.staticColorsGrid.element! );\n\t\t\tthis._focusables.add( this.staticColorsGrid );\n\t\t}\n\n\t\tif ( this.documentColorsGrid ) {\n\t\t\tthis.focusTracker.add( this.documentColorsGrid.element! );\n\t\t\tthis._focusables.add( this.documentColorsGrid );\n\t\t}\n\t}\n\n\t/**\n\t * Creates the button responsible for displaying the color picker component.\n\t */\n\tprivate _createColorPickerButton(): void {\n\t\tthis.colorPickerButtonView = new ButtonView();\n\n\t\tthis.colorPickerButtonView.set( {\n\t\t\tlabel: this._colorPickerLabel,\n\t\t\twithText: true,\n\t\t\ticon: icons.colorPalette,\n\t\t\tclass: 'ck-color-selector__color-picker'\n\t\t} );\n\n\t\tthis.colorPickerButtonView.on( 'execute', () => {\n\t\t\tthis.fire( 'colorPicker:show' );\n\t\t} );\n\t}\n\n\t/**\n\t * Adds the remove color button as a child of the current view.\n\t */\n\tprivate _createRemoveColorButton(): ButtonView {\n\t\tconst buttonView = new ButtonView();\n\n\t\tbuttonView.set( {\n\t\t\twithText: true,\n\t\t\ticon: icons.eraser,\n\t\t\tlabel: this._removeButtonLabel\n\t\t} );\n\n\t\tbuttonView.class = 'ck-color-selector__remove-color';\n\t\tbuttonView.on( 'execute', () => {\n\t\t\tthis.fire( 'execute', {\n\t\t\t\tvalue: null,\n\t\t\t\tsource: 'removeColorButton'\n\t\t\t} );\n\t\t} );\n\n\t\tbuttonView.render();\n\n\t\treturn buttonView;\n\t}\n\n\t/**\n\t * Creates a static color grid based on the editor configuration.\n\t */\n\tprivate _createStaticColorsGrid(): ColorGridView {\n\t\tconst colorGrid = new ColorGridView( this.locale, {\n\t\t\tcolorDefinitions: this.colorDefinitions,\n\t\t\tcolumns: this.columns\n\t\t} );\n\n\t\tcolorGrid.on( 'execute', ( evt, data ) => {\n\t\t\tthis.fire( 'execute', {\n\t\t\t\tvalue: data.value,\n\t\t\t\tsource: 'staticColorsGrid'\n\t\t\t} );\n\t\t} );\n\n\t\treturn colorGrid;\n\t}\n\n\t/**\n\t * Creates the document colors section view and binds it to {@link #documentColors}.\n\t */\n\tprivate _createDocumentColorsGrid(): ColorGridView {\n\t\tconst bind = Template.bind( this.documentColors, this.documentColors );\n\t\tconst documentColorsGrid = new ColorGridView( this.locale, {\n\t\t\tcolumns: this.columns\n\t\t} );\n\n\t\tdocumentColorsGrid.extendTemplate( {\n\t\t\tattributes: {\n\t\t\t\tclass: bind.if( 'isEmpty', 'ck-hidden' )\n\t\t\t}\n\t\t} );\n\n\t\tdocumentColorsGrid.items.bindTo( this.documentColors ).using(\n\t\t\tcolorObj => {\n\t\t\t\tconst colorTile = new ColorTileView();\n\n\t\t\t\tcolorTile.set( {\n\t\t\t\t\tcolor: colorObj.color,\n\t\t\t\t\thasBorder: colorObj.options && colorObj.options.hasBorder\n\t\t\t\t} );\n\n\t\t\t\tif ( colorObj.label ) {\n\t\t\t\t\tcolorTile.set( {\n\t\t\t\t\t\tlabel: colorObj.label,\n\t\t\t\t\t\ttooltip: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tcolorTile.on( 'execute', () => {\n\t\t\t\t\tthis.fire( 'execute', {\n\t\t\t\t\t\tvalue: colorObj.color,\n\t\t\t\t\t\tsource: 'documentColorsGrid'\n\t\t\t\t\t} );\n\t\t\t\t} );\n\n\t\t\t\treturn colorTile;\n\t\t\t}\n\t\t);\n\n\t\t// Selected color should be cleared when document colors became empty.\n\t\tthis.documentColors.on( 'change:isEmpty', ( evt, name, val ) => {\n\t\t\tif ( val ) {\n\t\t\t\tdocumentColorsGrid.selectedColor = null;\n\t\t\t}\n\t\t} );\n\n\t\treturn documentColorsGrid;\n\t}\n\n\t/**\n\t * Adds a given color to the document colors list. If possible, the method will attempt to use\n\t * data from the {@link #colorDefinitions} (label, color options).\n\t *\n\t * @param color A string that stores the value of the recently applied color.\n\t */\n\tprivate _addColorToDocumentColors( color: string ): void {\n\t\tconst predefinedColor = this.colorDefinitions\n\t\t\t.find( definition => definition.color === color );\n\n\t\tif ( !predefinedColor ) {\n\t\t\tthis.documentColors.add( {\n\t\t\t\tcolor,\n\t\t\t\tlabel: color,\n\t\t\t\toptions: {\n\t\t\t\t\thasBorder: false\n\t\t\t\t}\n\t\t\t} );\n\t\t} else {\n\t\t\tthis.documentColors.add( Object.assign( {}, predefinedColor ) );\n\t\t}\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/colorselector/colorpickerfragmentview\n */\n\nimport View from '../view.js';\nimport ButtonView from '../button/buttonview.js';\nimport type ViewCollection from '../viewcollection.js';\nimport type { FocusableView } from '../focuscycler.js';\nimport type LabeledFieldView from '../labeledfield/labeledfieldview.js';\nimport type InputTextView from '../inputtext/inputtextview.js';\nimport {\n\tdefault as ColorPickerView,\n\ttype ColorPickerColorSelectedEvent\n} from '../colorpicker/colorpickerview.js';\n\nimport type { FocusTracker, KeystrokeHandler, Locale } from '@ckeditor/ckeditor5-utils';\nimport type { ColorPickerViewConfig } from '../colorpicker/utils.js';\nimport type { ColorSelectorColorPickerCancelEvent, ColorSelectorExecuteEvent } from './colorselectorview.js';\n\nimport { icons } from '@ckeditor/ckeditor5-core';\n\n/**\n * One of the fragments of {@link module:ui/colorselector/colorselectorview~ColorSelectorView}.\n *\n * It allows users to select a color from a color picker.\n *\n * It consists of the following sub–components:\n *\n * * A color picker saturation and hue sliders,\n * * A text input accepting colors in HEX format,\n * * \"Save\" and \"Cancel\" action buttons.\n */\nexport default class ColorPickerFragmentView extends View {\n\t/**\n\t * A collection of component's children.\n\t */\n\tpublic readonly items: ViewCollection;\n\n\t/**\n\t * A view with saturation and hue sliders and color input.\n\t */\n\tpublic colorPickerView?: ColorPickerView;\n\n\t/**\n\t * The \"Save\" button view.\n\t */\n\tpublic saveButtonView: ButtonView;\n\n\t/**\n\t * The \"Cancel\" button view.\n\t */\n\tpublic cancelButtonView: ButtonView;\n\n\t/**\n\t * The action bar where are \"Save\" button and \"Cancel\" button.\n\t */\n\tpublic actionBarView: View;\n\n\t/**\n\t * Tracks information about the DOM focus in the list.\n\t */\n\tpublic readonly focusTracker: FocusTracker;\n\n\t/**\n\t * An instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}.\n\t */\n\tpublic readonly keystrokes: KeystrokeHandler;\n\n\t/**\n\t * Indicates whether the component is visible or not.\n\t */\n\tdeclare public isVisible: boolean;\n\n\t/**\n\t * Keeps the value of the command associated with the component for the current selection.\n\t */\n\tdeclare public selectedColor?: string;\n\n\t/**\n\t * A collection of views that can be focused in the view.\n\t *\n\t * @readonly\n\t */\n\tprotected _focusables: ViewCollection;\n\n\t/**\n\t * A reference to the configuration of {@link #colorPickerView}. `false` when the view was\n\t * configured without a color picker.\n\t *\n\t * @readonly\n\t */\n\tprivate _colorPickerViewConfig: ColorPickerViewConfig | false;\n\n\t/**\n\t * Creates an instance of the view.\n\t *\n\t * @param locale The localization services instance.\n\t * @param focusTracker Tracks information about the DOM focus in the list.\n\t * @param focusables A collection of views that can be focused in the view..\n\t * @param keystrokes An instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}.\n\t * @param colorPickerViewConfig The configuration of color picker feature. If set to `false`, the color picker\n\t * will not be rendered.\n\t */\n\tconstructor(\n\t\tlocale: Locale,\n\t\t{\n\t\t\tfocusTracker,\n\t\t\tfocusables,\n\t\t\tkeystrokes,\n\t\t\tcolorPickerViewConfig\n\t\t}:\n\t\t{\n\t\t\tfocusTracker: FocusTracker;\n\t\t\tfocusables: ViewCollection;\n\t\t\tkeystrokes: KeystrokeHandler;\n\t\t\tcolorPickerViewConfig: ColorPickerViewConfig | false;\n\t\t}\n\t) {\n\t\tsuper( locale );\n\n\t\tthis.items = this.createCollection();\n\t\tthis.focusTracker = focusTracker;\n\t\tthis.keystrokes = keystrokes;\n\n\t\tthis.set( 'isVisible', false );\n\t\tthis.set( 'selectedColor', undefined );\n\n\t\tthis._focusables = focusables;\n\t\tthis._colorPickerViewConfig = colorPickerViewConfig;\n\n\t\tconst bind = this.bindTemplate;\n\t\tconst { saveButtonView, cancelButtonView } = this._createActionButtons();\n\n\t\tthis.saveButtonView = saveButtonView;\n\t\tthis.cancelButtonView = cancelButtonView;\n\t\tthis.actionBarView = this._createActionBarView( { saveButtonView, cancelButtonView } );\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck-color-picker-fragment',\n\t\t\t\t\tbind.if( 'isVisible', 'ck-hidden', value => !value )\n\t\t\t\t]\n\t\t\t},\n\t\t\tchildren: this.items\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override render(): void {\n\t\tsuper.render();\n\n\t\tconst colorPickerView = new ColorPickerView( this.locale, {\n\t\t\t...this._colorPickerViewConfig\n\t\t} as ColorPickerViewConfig );\n\n\t\tthis.colorPickerView = colorPickerView;\n\t\tthis.colorPickerView.render();\n\n\t\tif ( this.selectedColor ) {\n\t\t\tcolorPickerView.color = this.selectedColor;\n\t\t}\n\n\t\tthis.listenTo( this, 'change:selectedColor', ( evt, name, value ) => {\n\t\t\tcolorPickerView.color = value;\n\t\t} );\n\n\t\tthis.items.add( this.colorPickerView );\n\t\tthis.items.add( this.actionBarView );\n\n\t\tthis._addColorPickersElementsToFocusTracker();\n\t\tthis._stopPropagationOnArrowsKeys();\n\t\tthis._executeOnEnterPress();\n\t\tthis._executeUponColorChange();\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override destroy(): void {\n\t\tsuper.destroy();\n\t}\n\n\t/**\n\t * Focuses the color picker.\n\t */\n\tpublic focus(): void {\n\t\tthis.colorPickerView!.focus();\n\t}\n\n\t/**\n\t * Reset validation messages.\n\t */\n\tpublic resetValidationStatus(): void {\n\t\tthis.colorPickerView!.resetValidationStatus();\n\t}\n\n\t/**\n\t * When color picker is focused and \"enter\" is pressed it executes command.\n\t */\n\tprivate _executeOnEnterPress(): void {\n\t\tthis.keystrokes.set( 'enter', evt => {\n\t\t\tif ( this.isVisible && this.focusTracker.focusedElement !== this.cancelButtonView.element && this.colorPickerView!.isValid() ) {\n\t\t\t\tthis.fire( 'execute', {\n\t\t\t\t\tvalue: this.selectedColor!\n\t\t\t\t} );\n\n\t\t\t\tevt.stopPropagation();\n\t\t\t\tevt.preventDefault();\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Removes default behavior of arrow keys in dropdown.\n\t */\n\tprivate _stopPropagationOnArrowsKeys(): void {\n\t\tconst stopPropagation = ( data: KeyboardEvent ) => data.stopPropagation();\n\n\t\tthis.keystrokes.set( 'arrowright', stopPropagation );\n\t\tthis.keystrokes.set( 'arrowleft', stopPropagation );\n\t\tthis.keystrokes.set( 'arrowup', stopPropagation );\n\t\tthis.keystrokes.set( 'arrowdown', stopPropagation );\n\t}\n\n\t/**\n\t * Adds color picker elements to focus tracker.\n\t */\n\tprivate _addColorPickersElementsToFocusTracker(): void {\n\t\tfor ( const slider of this.colorPickerView!.slidersView ) {\n\t\t\tthis.focusTracker.add( slider.element! );\n\t\t\tthis._focusables.add( slider );\n\t\t}\n\n\t\tconst input = this.colorPickerView!.hexInputRow.children.get( 1 ) as LabeledFieldView;\n\n\t\tif ( input.element! ) {\n\t\t\tthis.focusTracker.add( input.element );\n\t\t\tthis._focusables.add( input );\n\t\t}\n\n\t\tthis.focusTracker.add( this.saveButtonView.element! );\n\t\tthis._focusables.add( this.saveButtonView );\n\n\t\tthis.focusTracker.add( this.cancelButtonView.element! );\n\t\tthis._focusables.add( this.cancelButtonView );\n\t}\n\n\t/**\n\t * Creates bar containing \"Save\" and \"Cancel\" buttons.\n\t */\n\tprivate _createActionBarView( { saveButtonView, cancelButtonView }: {\n\t\tsaveButtonView: ButtonView;\n\t\tcancelButtonView: ButtonView;\n\t} ): View {\n\t\tconst actionBarRow = new View();\n\t\tconst children = this.createCollection();\n\n\t\tchildren.add( saveButtonView );\n\t\tchildren.add( cancelButtonView );\n\n\t\tactionBarRow.setTemplate( {\n\t\t\ttag: 'div',\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck',\n\t\t\t\t\t'ck-color-selector_action-bar'\n\t\t\t\t]\n\t\t\t},\n\t\t\tchildren\n\t\t} );\n\n\t\treturn actionBarRow;\n\t}\n\n\t/**\n\t * Creates \"Save\" and \"Cancel\" buttons.\n\t */\n\tprivate _createActionButtons() {\n\t\tconst locale = this.locale;\n\t\tconst t = locale!.t;\n\t\tconst saveButtonView = new ButtonView( locale );\n\t\tconst cancelButtonView = new ButtonView( locale );\n\n\t\tsaveButtonView.set( {\n\t\t\ticon: icons.check,\n\t\t\tclass: 'ck-button-save',\n\t\t\ttype: 'button',\n\t\t\twithText: false,\n\t\t\tlabel: t( 'Accept' )\n\t\t} );\n\n\t\tcancelButtonView.set( {\n\t\t\ticon: icons.cancel,\n\t\t\tclass: 'ck-button-cancel',\n\t\t\ttype: 'button',\n\t\t\twithText: false,\n\t\t\tlabel: t( 'Cancel' )\n\t\t} );\n\n\t\tsaveButtonView.on( 'execute', () => {\n\t\t\tif ( this.colorPickerView!.isValid() ) {\n\t\t\t\tthis.fire( 'execute', {\n\t\t\t\t\tsource: 'colorPickerSaveButton',\n\t\t\t\t\tvalue: this.selectedColor!\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\tcancelButtonView.on( 'execute', () => {\n\t\t\tthis.fire( 'colorPicker:cancel' );\n\t\t} );\n\n\t\treturn {\n\t\t\tsaveButtonView, cancelButtonView\n\t\t};\n\t}\n\n\t/**\n\t * Fires the `execute` event if color in color picker has been changed\n\t * by the user.\n\t */\n\tprivate _executeUponColorChange() {\n\t\tthis.colorPickerView!.on( 'colorSelected', ( evt, data ) => {\n\t\t\tthis.fire( 'execute', {\n\t\t\t\tvalue: data.color,\n\t\t\t\tsource: 'colorPicker'\n\t\t\t} );\n\t\t\tthis.set( 'selectedColor', data.color );\n\t\t} );\n\t}\n}\n","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./colorselector.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/colorselector/colorselectorview\n */\n\nimport FocusCycler, { type FocusableView } from '../focuscycler.js';\nimport View from '../view.js';\nimport ViewCollection from '../viewcollection.js';\nimport { FocusTracker, KeystrokeHandler, type Locale } from '@ckeditor/ckeditor5-utils';\n\nimport type { ColorPickerViewConfig } from '../colorpicker/utils.js';\nimport type { ColorDefinition } from '../colorgrid/colorgridview.js';\nimport type { Model } from '@ckeditor/ckeditor5-engine';\n\nimport ColorGridsFragmentView from './colorgridsfragmentview.js';\nimport ColorPickerFragmentView from './colorpickerfragmentview.js';\n\nimport '../../theme/components/colorselector/colorselector.css';\n\n/**\n * The configurable color selector view class. It allows users to select colors from a predefined set of colors as well as from\n * a color picker.\n *\n * This meta-view is is made of two components (fragments):\n *\n * * {@link module:ui/colorselector/colorselectorview~ColorSelectorView#colorGridsFragmentView},\n * * {@link module:ui/colorselector/colorselectorview~ColorSelectorView#colorPickerFragmentView}.\n *\n * ```ts\n * const colorDefinitions = [\n * \t{ color: '#000', label: 'Black', options: { hasBorder: false } },\n * \t{ color: 'rgb(255, 255, 255)', label: 'White', options: { hasBorder: true } },\n * \t{ color: 'red', label: 'Red', options: { hasBorder: false } }\n * ];\n *\n * const selectorView = new ColorSelectorView( locale, {\n * \tcolors: colorDefinitions,\n * \tcolumns: 5,\n * \tremoveButtonLabel: 'Remove color',\n * \tdocumentColorsLabel: 'Document colors',\n * \tdocumentColorsCount: 4,\n * \tcolorPickerViewConfig: {\n * \t\tformat: 'hsl'\n * \t}\n * } );\n *\n * selectorView.appendUI();\n * selectorView.selectedColor = 'red';\n * selectorView.updateSelectedColors();\n *\n * selectorView.on( 'execute', ( evt, data ) => {\n * \tconsole.log( 'Color changed', data.value, data.source );\n * } );\n *\n * selectorView.on( 'colorPicker:show', ( evt ) => {\n * \tconsole.log( 'Color picker showed up', evt );\n * } );\n *\n * selectorView.on( 'colorPicker:cancel', ( evt ) => {\n * \tconsole.log( 'Color picker cancel', evt );\n * } );\n *\n * selectorView.render();\n *\n * document.body.appendChild( selectorView.element );\n * ```\n */\nexport default class ColorSelectorView extends View {\n\t/**\n\t * Tracks information about the DOM focus in the list.\n\t */\n\tpublic readonly focusTracker: FocusTracker;\n\n\t/**\n\t * An instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}.\n\t */\n\tpublic readonly keystrokes: KeystrokeHandler;\n\n\t/**\n\t * A collection of components.\n\t */\n\tpublic readonly items: ViewCollection;\n\n\t/**\n\t * A fragment that allows users to select colors from the a predefined set and from existing document colors.\n\t */\n\tpublic readonly colorGridsFragmentView: ColorGridsFragmentView;\n\n\t/**\n\t * A fragment that allows users to select a color from a color picker.\n\t */\n\tpublic readonly colorPickerFragmentView: ColorPickerFragmentView;\n\n\t/**\n\t * Keeps the value of the command associated with the component for the current selection.\n\t */\n\tdeclare public selectedColor?: string;\n\n\t/**\n\t * Reflects the visibility state of the color grids fragment.\n\t *\n\t * @internal\n\t */\n\tdeclare public _isColorGridsFragmentVisible: boolean;\n\n\t/**\n\t * Reflects the visibility state of the color picker fragment.\n\t *\n\t * @internal\n\t */\n\tdeclare public _isColorPickerFragmentVisible: boolean;\n\n\t/**\n\t * Helps cycling over focusable {@link #items} in the list.\n\t *\n\t * @readonly\n\t */\n\tprotected _focusCycler: FocusCycler;\n\n\t/**\n\t * A collection of views that can be focused in the view.\n\t *\n\t * @readonly\n\t */\n\tprotected _focusables: ViewCollection;\n\n\t/**\n\t * The configuration of color picker sub-component.\n\t */\n\tprivate _colorPickerViewConfig: ColorPickerViewConfig | false;\n\n\t/**\n\t * Creates a view to be inserted as a child of {@link module:ui/dropdown/dropdownview~DropdownView}.\n\t *\n\t * @param locale The localization services instance.\n\t * @param colors An array with definitions of colors to be displayed in the table.\n\t * @param columns The number of columns in the color grid.\n\t * @param removeButtonLabel The label of the button responsible for removing the color.\n\t * @param colorPickerLabel The label of the button responsible for color picker appearing.\n\t * @param documentColorsLabel The label for the section with the document colors.\n\t * @param documentColorsCount The number of colors in the document colors section inside the color dropdown.\n\t * @param colorPickerViewConfig The configuration of color picker feature. If set to `false`, the color picker will be hidden.\n\t */\n\tconstructor(\n\t\tlocale: Locale,\n\t\t{\n\t\t\tcolors,\n\t\t\tcolumns,\n\t\t\tremoveButtonLabel,\n\t\t\tdocumentColorsLabel,\n\t\t\tdocumentColorsCount,\n\t\t\tcolorPickerLabel,\n\t\t\tcolorPickerViewConfig\n\t\t}: {\n\t\t\tcolors: Array;\n\t\t\tcolumns: number;\n\t\t\tremoveButtonLabel: string;\n\t\t\tdocumentColorsLabel?: string;\n\t\t\tdocumentColorsCount?: number;\n\t\t\tcolorPickerLabel: string;\n\t\t\tcolorPickerViewConfig: ColorPickerViewConfig | false;\n\t\t}\n\t) {\n\t\tsuper( locale );\n\t\tthis.items = this.createCollection();\n\n\t\tthis.focusTracker = new FocusTracker();\n\t\tthis.keystrokes = new KeystrokeHandler();\n\n\t\tthis._focusables = new ViewCollection();\n\t\tthis._colorPickerViewConfig = colorPickerViewConfig;\n\t\tthis._focusCycler = new FocusCycler( {\n\t\t\tfocusables: this._focusables,\n\t\t\tfocusTracker: this.focusTracker,\n\t\t\tkeystrokeHandler: this.keystrokes,\n\t\t\tactions: {\n\t\t\t\t// Navigate list items backwards using the Shift + Tab keystroke.\n\t\t\t\tfocusPrevious: 'shift + tab',\n\n\t\t\t\t// Navigate list items forwards using the Tab key.\n\t\t\t\tfocusNext: 'tab'\n\t\t\t}\n\t\t} );\n\n\t\tthis.colorGridsFragmentView = new ColorGridsFragmentView( locale, {\n\t\t\tcolors, columns, removeButtonLabel, documentColorsLabel, documentColorsCount, colorPickerLabel,\n\t\t\tfocusTracker: this.focusTracker,\n\t\t\tfocusables: this._focusables\n\t\t} );\n\n\t\tthis.colorPickerFragmentView = new ColorPickerFragmentView( locale, {\n\t\t\tfocusables: this._focusables,\n\t\t\tfocusTracker: this.focusTracker,\n\t\t\tkeystrokes: this.keystrokes,\n\t\t\tcolorPickerViewConfig\n\t\t} );\n\n\t\tthis.set( '_isColorGridsFragmentVisible', true );\n\t\tthis.set( '_isColorPickerFragmentVisible', false );\n\n\t\tthis.set( 'selectedColor', undefined );\n\n\t\tthis.colorGridsFragmentView.bind( 'isVisible' ).to( this, '_isColorGridsFragmentVisible' );\n\t\tthis.colorPickerFragmentView.bind( 'isVisible' ).to( this, '_isColorPickerFragmentVisible' );\n\n\t\t/**\n\t\t * This is kind of bindings. Unfortunately we could not use this.bind() method because the same property\n\t\t * can not be bound twice. So this is work around how to bind 'selectedColor' property between components.\n\t\t */\n\t\tthis.on( 'change:selectedColor', ( evt, evtName, data ) => {\n\t\t\tthis.colorGridsFragmentView.set( 'selectedColor', data );\n\t\t\tthis.colorPickerFragmentView.set( 'selectedColor', data );\n\t\t} );\n\n\t\tthis.colorGridsFragmentView.on( 'change:selectedColor', ( evt, evtName, data ) => {\n\t\t\tthis.set( 'selectedColor', data );\n\t\t} );\n\n\t\tthis.colorPickerFragmentView.on( 'change:selectedColor', ( evt, evtName, data ) => {\n\t\t\tthis.set( 'selectedColor', data );\n\t\t} );\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck',\n\t\t\t\t\t'ck-color-selector'\n\t\t\t\t]\n\t\t\t},\n\t\t\tchildren: this.items\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override render(): void {\n\t\tsuper.render();\n\n\t\t// Start listening for the keystrokes coming from #element.\n\t\tthis.keystrokes.listenTo( this.element! );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override destroy(): void {\n\t\tsuper.destroy();\n\n\t\tthis.focusTracker.destroy();\n\t\tthis.keystrokes.destroy();\n\t}\n\n\t/**\n\t * Renders the internals of the component on demand:\n\t * * {@link #colorPickerFragmentView},\n\t * * {@link #colorGridsFragmentView}.\n\t *\n\t * It allows for deferring component initialization to improve the performance.\n\t *\n\t * See {@link #showColorPickerFragment}, {@link #showColorGridsFragment}.\n\t */\n\tpublic appendUI(): void {\n\t\tthis._appendColorGridsFragment();\n\n\t\tif ( this._colorPickerViewConfig ) {\n\t\t\tthis._appendColorPickerFragment();\n\t\t}\n\t}\n\n\t/**\n\t * Shows the {@link #colorPickerFragmentView} and hides the {@link #colorGridsFragmentView}.\n\t *\n\t * **Note**: It requires {@link #appendUI} to be called first.\n\t *\n\t * See {@link #showColorGridsFragment}, {@link ~ColorSelectorView#event:colorPicker:show}.\n\t */\n\tpublic showColorPickerFragment(): void {\n\t\tif ( !this.colorPickerFragmentView.colorPickerView || this._isColorPickerFragmentVisible ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._isColorPickerFragmentVisible = true;\n\t\tthis.colorPickerFragmentView.focus();\n\t\tthis.colorPickerFragmentView.resetValidationStatus();\n\t\tthis._isColorGridsFragmentVisible = false;\n\t}\n\n\t/**\n\t * Shows the {@link #colorGridsFragmentView} and hides the {@link #colorPickerFragmentView}.\n\t *\n\t * See {@link #showColorPickerFragment}.\n\t *\n\t * **Note**: It requires {@link #appendUI} to be called first.\n\t */\n\tpublic showColorGridsFragment(): void {\n\t\tif ( this._isColorGridsFragmentVisible ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._isColorGridsFragmentVisible = true;\n\t\tthis.colorGridsFragmentView.focus();\n\t\tthis._isColorPickerFragmentVisible = false;\n\t}\n\n\t/**\n\t * Focuses the first focusable element in {@link #items}.\n\t */\n\tpublic focus(): void {\n\t\tthis._focusCycler.focusFirst();\n\t}\n\n\t/**\n\t * Focuses the last focusable element in {@link #items}.\n\t */\n\tpublic focusLast(): void {\n\t\tthis._focusCycler.focusLast();\n\t}\n\n\t/**\n\t * Scans through the editor model and searches for text node attributes with the given `attributeName`.\n\t * Found entries are set as document colors in {@link #colorGridsFragmentView}.\n\t *\n\t * All the previously stored document colors will be lost in the process.\n\t *\n\t * @param model The model used as a source to obtain the document colors.\n\t * @param attributeName Determines the name of the related model's attribute for a given dropdown.\n\t */\n\tpublic updateDocumentColors( model: Model, attributeName: string ): void {\n\t\tthis.colorGridsFragmentView.updateDocumentColors( model, attributeName );\n\t}\n\n\t/**\n\t * Refreshes the state of the selected color in one or both grids located in {@link #colorGridsFragmentView}.\n\t *\n\t * It guarantees that the selection will occur only in one of them.\n\t */\n\tpublic updateSelectedColors(): void {\n\t\tthis.colorGridsFragmentView.updateSelectedColors();\n\t}\n\n\t/**\n\t * Appends the view containing static and document color grid views.\n\t */\n\tprivate _appendColorGridsFragment(): void {\n\t\tif ( this.items.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.items.add( this.colorGridsFragmentView );\n\t\tthis.colorGridsFragmentView.delegate( 'execute' ).to( this );\n\t\tthis.colorGridsFragmentView.delegate( 'colorPicker:show' ).to( this );\n\t}\n\n\t/**\n\t * Appends the view with the color picker.\n\t */\n\tprivate _appendColorPickerFragment(): void {\n\t\tif ( this.items.length === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.items.add( this.colorPickerFragmentView );\n\n\t\tif ( this.colorGridsFragmentView.colorPickerButtonView ) {\n\t\t\tthis.colorGridsFragmentView.colorPickerButtonView.on( 'execute', () => {\n\t\t\t\tthis.showColorPickerFragment();\n\t\t\t} );\n\t\t}\n\n\t\tthis.colorGridsFragmentView.addColorPickerButton();\n\t\tthis.colorPickerFragmentView.delegate( 'execute' ).to( this );\n\t\tthis.colorPickerFragmentView.delegate( 'colorPicker:cancel' ).to( this );\n\t}\n}\n\n/**\n * Fired whenever the color was changed. There are multiple sources of this event and you can distinguish them\n * using the `source` property passed along this event.\n *\n * @eventName ~ColorSelectorView#execute\n */\nexport type ColorSelectorExecuteEvent = {\n\tname: 'execute';\n\targs: [ {\n\t\tvalue: string;\n\t\tsource: 'staticColorsGrid' | 'documentColorsGrid' | 'removeColorButton' | 'colorPicker' | 'colorPickerSaveButton';\n\t} ];\n};\n\n/**\n * Fired when the user pressed the \"Cancel\" button in the\n * {@link module:ui/colorselector/colorselectorview~ColorSelectorView#colorPickerFragmentView}.\n *\n * @eventName ~ColorSelectorView#colorPicker:cancel\n */\nexport type ColorSelectorColorPickerCancelEvent = {\n\tname: 'colorPicker:cancel';\n\targs: [];\n};\n\n/**\n * Fired whenever {@link module:ui/colorselector/colorselectorview~ColorSelectorView#colorPickerFragmentView} is shown.\n *\n * See {@link ~ColorSelectorView#showColorPickerFragment}.\n *\n * @eventName ~ColorSelectorView#colorPicker:show\n */\nexport type ColorSelectorColorPickerShowEvent = {\n\tname: 'colorPicker:show';\n\targs: [];\n};\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/componentfactory\n */\n\nimport { CKEditorError, type Locale } from '@ckeditor/ckeditor5-utils';\nimport type { Editor } from '@ckeditor/ckeditor5-core';\n\nimport type View from './view.js';\n\n/**\n * A helper class implementing the UI component ({@link module:ui/view~View view}) factory.\n *\n * It allows functions producing specific UI components to be registered under their unique names\n * in the factory. A registered component can be then instantiated by providing its name.\n * Note that the names are case insensitive.\n *\n * ```ts\n * // The editor provides localization tools for the factory.\n * const factory = new ComponentFactory( editor );\n *\n * factory.add( 'foo', locale => new FooView( locale ) );\n * factory.add( 'bar', locale => new BarView( locale ) );\n *\n * // An instance of FooView.\n * const fooInstance = factory.create( 'foo' );\n *\n * // Names are case insensitive so this is also allowed:\n * const barInstance = factory.create( 'Bar' );\n * ```\n *\n * The {@link module:core/editor/editor~Editor#locale editor locale} is passed to the factory\n * function when {@link module:ui/componentfactory~ComponentFactory#create} is called.\n */\nexport default class ComponentFactory {\n\t/**\n\t * The editor instance that the factory belongs to.\n\t */\n\tpublic readonly editor: Editor;\n\n\t/**\n\t * Registered component factories.\n\t */\n\tprivate readonly _components = new Map View }>();\n\n\t/**\n\t * Creates an instance of the factory.\n\t *\n\t * @param editor The editor instance.\n\t */\n\tconstructor( editor: Editor ) {\n\t\tthis.editor = editor;\n\t}\n\n\t/**\n\t * Returns an iterator of registered component names. Names are returned in lower case.\n\t */\n\tpublic* names(): IterableIterator {\n\t\tfor ( const value of this._components.values() ) {\n\t\t\tyield value.originalName;\n\t\t}\n\t}\n\n\t/**\n\t * Registers a component factory function that will be used by the\n\t * {@link #create create} method and called with the\n\t * {@link module:core/editor/editor~Editor#locale editor locale} as an argument,\n\t * allowing localization of the {@link module:ui/view~View view}.\n\t *\n\t * @param name The name of the component.\n\t * @param callback The callback that returns the component.\n\t */\n\tpublic add( name: string, callback: ( locale: Locale ) => View ): void {\n\t\tthis._components.set( getNormalized( name ), { callback, originalName: name } );\n\t}\n\n\t/**\n\t * Creates an instance of a component registered in the factory under a specific name.\n\t *\n\t * When called, the {@link module:core/editor/editor~Editor#locale editor locale} is passed to\n\t * the previously {@link #add added} factory function, allowing localization of the\n\t * {@link module:ui/view~View view}.\n\t *\n\t * @param name The name of the component.\n\t * @returns The instantiated component view.\n\t */\n\tpublic create( name: string ): View {\n\t\tif ( !this.has( name ) ) {\n\t\t\t/**\n\t\t\t * The required component is not registered in the component factory. Please make sure\n\t\t\t * the provided name is correct and the component has been correctly\n\t\t\t * {@link module:ui/componentfactory~ComponentFactory#add added} to the factory.\n\t\t\t *\n\t\t\t * @error componentfactory-item-missing\n\t\t\t * @param name The name of the missing component.\n\t\t\t */\n\t\t\tthrow new CKEditorError(\n\t\t\t\t'componentfactory-item-missing',\n\t\t\t\tthis,\n\t\t\t\t{ name }\n\t\t\t);\n\t\t}\n\n\t\treturn this._components.get( getNormalized( name ) )!.callback( this.editor.locale );\n\t}\n\n\t/**\n\t * Checks if a component of a given name is registered in the factory.\n\t *\n\t * @param name The name of the component.\n\t */\n\tpublic has( name: string ): boolean {\n\t\treturn this._components.has( getNormalized( name ) );\n\t}\n}\n\n/**\n * Ensures that the component name used as the key in the internal map is in lower case.\n */\nfunction getNormalized( name: unknown ) {\n\treturn String( name ).toLowerCase();\n}\n","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./tooltip.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/tooltipmanager\n */\n\nimport View from './view.js';\nimport BalloonPanelView from './panel/balloon/balloonpanelview.js';\nimport type { EditorUIUpdateEvent } from './editorui/editorui.js';\n\nimport {\n\tDomEmitterMixin,\n\tfirst,\n\tglobal,\n\tisVisible,\n\ttype EventInfo,\n\ttype PositioningFunction\n} from '@ckeditor/ckeditor5-utils';\n\nimport type { Editor } from '@ckeditor/ckeditor5-core';\n\nimport { isElement, debounce, type DebouncedFunc } from 'lodash-es';\n\nimport '../theme/components/tooltip/tooltip.css';\n\nconst BALLOON_CLASS = 'ck-tooltip';\n\n/**\n * A tooltip manager class for the UI of the editor.\n *\n * **Note**: Most likely you do not have to use the `TooltipManager` API listed below in order to display tooltips. Popular\n * {@glink framework/architecture/ui-library UI components} support tooltips out-of-the-box via observable properties\n * (see {@link module:ui/button/buttonview~ButtonView#tooltip} and {@link module:ui/button/buttonview~ButtonView#tooltipPosition}).\n *\n * # Displaying tooltips\n *\n * To display a tooltip, set `data-cke-tooltip-text` attribute on any DOM element:\n *\n * ```ts\n * domElement.dataset.ckeTooltipText = 'My tooltip';\n * ```\n *\n * The tooltip will show up whenever the user moves the mouse over the element or the element gets focus in DOM.\n *\n * # Positioning tooltips\n *\n * To change the position of the tooltip, use the `data-cke-tooltip-position` attribute (`s`, `se`, `sw`, `n`, `e`, or `w`):\n *\n * ```ts\n * domElement.dataset.ckeTooltipText = 'Tooltip to the north';\n * domElement.dataset.ckeTooltipPosition = 'n';\n * ```\n *\n * # Disabling tooltips\n *\n * In order to disable the tooltip temporarily, use the `data-cke-tooltip-disabled` attribute:\n *\n * ```ts\n * domElement.dataset.ckeTooltipText = 'Disabled. For now.';\n * domElement.dataset.ckeTooltipDisabled = 'true';\n * ```\n *\n * # Styling tooltips\n *\n * By default, the tooltip has `.ck-tooltip` class and its text inner `.ck-tooltip__text`.\n *\n * If your tooltip requires custom styling, using `data-cke-tooltip-class` attribute will add additional class to the balloon\n * displaying the tooltip:\n *\n * ```ts\n * domElement.dataset.ckeTooltipText = 'Tooltip with a red text';\n * domElement.dataset.ckeTooltipClass = 'my-class';\n * ```\n *\n * ```css\n * .ck.ck-tooltip.my-class { color: red }\n * ```\n *\n * **Note**: This class is a singleton. All editor instances re-use the same instance loaded by\n * {@link module:ui/editorui/editorui~EditorUI} of the first editor.\n */\nexport default class TooltipManager extends /* #__PURE__ */ DomEmitterMixin() {\n\t/**\n\t * The view rendering text of the tooltip.\n\t */\n\tpublic readonly tooltipTextView!: View & { text: string };\n\n\t/**\n\t * The instance of the balloon panel that renders and positions the tooltip.\n\t */\n\tpublic readonly balloonPanelView!: BalloonPanelView;\n\n\t/**\n\t * A set of default {@link module:utils/dom/position~PositioningFunction positioning functions} used by the `TooltipManager`\n\t * to pin tooltips in different positions.\n\t */\n\tpublic static defaultBalloonPositions = /* #__PURE__ */ BalloonPanelView.generatePositions( {\n\t\theightOffset: 5,\n\t\tsideOffset: 13\n\t} );\n\n\t/**\n\t * Stores the reference to the DOM element the tooltip is attached to. `null` when there's no tooltip\n\t * in the UI.\n\t */\n\tprivate _currentElementWithTooltip: HTMLElement | null = null;\n\n\t/**\n\t * Stores the current tooltip position. `null` when there's no tooltip in the UI.\n\t */\n\tprivate _currentTooltipPosition: TooltipPosition | null = null;\n\n\t/**\n\t * An instance of the mutation observer that keeps track on target element attributes changes.\n\t */\n\tprivate _mutationObserver: MutationObserverWrapper | null = null;\n\n\t/**\n\t * A debounced version of {@link #_pinTooltip}. Tooltips show with a delay to avoid flashing and\n\t * to improve the UX.\n\t */\n\tprivate _pinTooltipDebounced!: DebouncedFunc<( targetDomElement: HTMLElement, data: TooltipData ) => void>;\n\n\t/**\n\t * A debounced version of {@link #_unpinTooltip}. Tooltips hide with a delay to allow hovering of their titles.\n\t */\n\tprivate _unpinTooltipDebounced!: DebouncedFunc;\n\n\tprivate readonly _watchdogExcluded!: true;\n\n\t/**\n\t * A set of editors the single tooltip manager instance must listen to.\n\t * This is mostly to handle `EditorUI#update` listeners from individual editors.\n\t */\n\tprivate static _editors = new Set();\n\n\t/**\n\t * A reference to the `TooltipManager` instance. The class is a singleton and as such,\n\t * successive attempts at creating instances should return this instance.\n\t */\n\tprivate static _instance: TooltipManager | null = null;\n\n\t/**\n\t * Creates an instance of the tooltip manager.\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper();\n\n\t\tTooltipManager._editors.add( editor );\n\n\t\t// TooltipManager must be a singleton. Multiple instances would mean multiple tooltips attached\n\t\t// to the same DOM element with data-cke-tooltip-* attributes.\n\t\tif ( TooltipManager._instance ) {\n\t\t\treturn TooltipManager._instance;\n\t\t}\n\n\t\tTooltipManager._instance = this;\n\n\t\tthis.tooltipTextView = new View( editor.locale ) as any;\n\t\tthis.tooltipTextView.set( 'text', '' );\n\t\tthis.tooltipTextView.setTemplate( {\n\t\t\ttag: 'span',\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck',\n\t\t\t\t\t'ck-tooltip__text'\n\t\t\t\t]\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\ttext: this.tooltipTextView.bindTemplate.to( 'text' )\n\t\t\t\t}\n\t\t\t]\n\t\t} );\n\n\t\tthis.balloonPanelView = new BalloonPanelView( editor.locale );\n\t\tthis.balloonPanelView.class = BALLOON_CLASS;\n\t\tthis.balloonPanelView.content.add( this.tooltipTextView );\n\n\t\tthis._mutationObserver = createMutationObserver( () => {\n\t\t\tthis._updateTooltipPosition();\n\t\t} );\n\n\t\tthis._pinTooltipDebounced = debounce( this._pinTooltip, 600 );\n\t\tthis._unpinTooltipDebounced = debounce( this._unpinTooltip, 400 );\n\n\t\tthis.listenTo( global.document, 'keydown', this._onKeyDown.bind( this ), { useCapture: true } );\n\t\tthis.listenTo( global.document, 'mouseenter', this._onEnterOrFocus.bind( this ), { useCapture: true } );\n\t\tthis.listenTo( global.document, 'mouseleave', this._onLeaveOrBlur.bind( this ), { useCapture: true } );\n\n\t\tthis.listenTo( global.document, 'focus', this._onEnterOrFocus.bind( this ), { useCapture: true } );\n\t\tthis.listenTo( global.document, 'blur', this._onLeaveOrBlur.bind( this ), { useCapture: true } );\n\n\t\tthis.listenTo( global.document, 'scroll', this._onScroll.bind( this ), { useCapture: true } );\n\n\t\t// Because this class is a singleton, its only instance is shared across all editors and connects them through the reference.\n\t\t// This causes issues with the ContextWatchdog. When an error is thrown in one editor, the watchdog traverses the references\n\t\t// and (because of shared tooltip manager) figures that the error affects all editors and restarts them all.\n\t\t// This flag, excludes tooltip manager instance from the traversal and brings ContextWatchdog back to normal.\n\t\t// More in https://github.com/ckeditor/ckeditor5/issues/12292.\n\t\tthis._watchdogExcluded = true;\n\t}\n\n\t/**\n\t * Destroys the tooltip manager.\n\t *\n\t * **Note**: The manager singleton cannot be destroyed until all editors that use it are destroyed.\n\t *\n\t * @param editor The editor the manager was created for.\n\t */\n\tpublic destroy( editor: Editor ): void {\n\t\tconst editorBodyViewCollection = editor.ui.view && editor.ui.view.body;\n\n\t\tTooltipManager._editors.delete( editor );\n\t\tthis.stopListening( editor.ui );\n\n\t\t// Prevent the balloon panel from being destroyed in the EditorUI#destroy() cascade. It should be destroyed along\n\t\t// with the last editor only (https://github.com/ckeditor/ckeditor5/issues/12602).\n\t\tif ( editorBodyViewCollection && editorBodyViewCollection.has( this.balloonPanelView ) ) {\n\t\t\teditorBodyViewCollection.remove( this.balloonPanelView );\n\t\t}\n\n\t\tif ( !TooltipManager._editors.size ) {\n\t\t\tthis._unpinTooltip();\n\t\t\tthis.balloonPanelView.destroy();\n\t\t\tthis.stopListening();\n\n\t\t\tTooltipManager._instance = null;\n\t\t}\n\t}\n\n\t/**\n\t * Returns {@link #balloonPanelView} {@link module:utils/dom/position~PositioningFunction positioning functions} for a given position\n\t * name.\n\t *\n\t * @param position Name of the position (`s`, `se`, `sw`, `n`, `e`, or `w`).\n\t * @returns Positioning functions to be used by the {@link #balloonPanelView}.\n\t */\n\tpublic static getPositioningFunctions( position: TooltipPosition ): Array {\n\t\tconst defaultPositions = TooltipManager.defaultBalloonPositions;\n\n\t\treturn {\n\t\t\t// South is most popular. We can use positioning heuristics to avoid clipping by the viewport with the sane fallback.\n\t\t\ts: [\n\t\t\t\tdefaultPositions.southArrowNorth,\n\t\t\t\tdefaultPositions.southArrowNorthEast,\n\t\t\t\tdefaultPositions.southArrowNorthWest\n\t\t\t],\n\t\t\tn: [ defaultPositions.northArrowSouth ],\n\t\t\te: [ defaultPositions.eastArrowWest ],\n\t\t\tw: [ defaultPositions.westArrowEast ],\n\t\t\tsw: [ defaultPositions.southArrowNorthEast ],\n\t\t\tse: [ defaultPositions.southArrowNorthWest ]\n\t\t}[ position ];\n\t}\n\n\t/**\n\t * Handles hiding tooltips on `keydown` in DOM.\n\t *\n\t * @param evt An object containing information about the fired event.\n\t * @param domEvent The DOM event.\n\t */\n\tprivate _onKeyDown( evt: EventInfo, domEvent: KeyboardEvent ) {\n\t\tif ( domEvent.key === 'Escape' && this._currentElementWithTooltip ) {\n\t\t\tthis._unpinTooltip();\n\t\t\tdomEvent.stopPropagation();\n\t\t}\n\t}\n\n\t/**\n\t * Handles displaying tooltips on `mouseenter` and `focus` in DOM.\n\t *\n\t * @param evt An object containing information about the fired event.\n\t * @param domEvent The DOM event.\n\t */\n\tprivate _onEnterOrFocus( evt: EventInfo, { target }: any ) {\n\t\tconst elementWithTooltipAttribute = getDescendantWithTooltip( target );\n\n\t\t// Abort when there's no descendant needing tooltip.\n\t\tif ( !elementWithTooltipAttribute ) {\n\t\t\t// Unpin if element is focused, regardless of whether it contains a label or not.\n\t\t\t// It also prevents tooltips from overlapping the menu bar\n\t\t\tif ( evt.name === 'focus' ) {\n\t\t\t\tthis._unpinTooltip();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// Abort to avoid flashing when, for instance:\n\t\t// * a tooltip is displayed for a focused element, then the same element gets mouseentered,\n\t\t// * a tooltip is displayed for an element via mouseenter, then the focus moves to the same element.\n\t\tif ( elementWithTooltipAttribute === this._currentElementWithTooltip ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._unpinTooltip();\n\n\t\t// The tooltip should be pinned immediately when the element gets focused using keyboard.\n\t\t// If it is focused using the mouse, the tooltip should be pinned after a delay to prevent flashing.\n\t\t// See https://github.com/ckeditor/ckeditor5/issues/16383\n\t\tif ( evt.name === 'focus' && !elementWithTooltipAttribute.matches( ':hover' ) ) {\n\t\t\tthis._pinTooltip( elementWithTooltipAttribute, getTooltipData( elementWithTooltipAttribute ) );\n\t\t} else {\n\t\t\tthis._pinTooltipDebounced( elementWithTooltipAttribute, getTooltipData( elementWithTooltipAttribute ) );\n\t\t}\n\t}\n\n\t/**\n\t * Handles hiding tooltips on `mouseleave` and `blur` in DOM.\n\t *\n\t * @param evt An object containing information about the fired event.\n\t * @param domEvent The DOM event.\n\t */\n\tprivate _onLeaveOrBlur( evt: EventInfo, { target, relatedTarget }: any ) {\n\t\tif ( evt.name === 'mouseleave' ) {\n\t\t\t// Don't act when the event does not concern a DOM element (e.g. a mouseleave out of an entire document),\n\t\t\tif ( !isElement( target ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst balloonElement = this.balloonPanelView.element;\n\t\t\tconst isEnteringBalloon = balloonElement && ( balloonElement === relatedTarget || balloonElement.contains( relatedTarget ) );\n\t\t\tconst isLeavingBalloon = !isEnteringBalloon && target === balloonElement;\n\n\t\t\t// Do not hide the tooltip when the user moves the cursor over it.\n\t\t\tif ( isEnteringBalloon ) {\n\t\t\t\tthis._unpinTooltipDebounced.cancel();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If a tooltip is currently visible, don't act for a targets other than the one it is attached to.\n\t\t\t// The only exception is leaving balloon, in this scenario tooltip should be closed.\n\t\t\t// For instance, a random mouseleave far away in the page should not unpin the tooltip that was pinned because\n\t\t\t// of a previous focus. Only leaving the same element should hide the tooltip.\n\t\t\tif ( !isLeavingBalloon && this._currentElementWithTooltip && target !== this._currentElementWithTooltip ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst descendantWithTooltip = getDescendantWithTooltip( target );\n\t\t\tconst relatedDescendantWithTooltip = getDescendantWithTooltip( relatedTarget );\n\n\t\t\t// Unpin when the mouse was leaving element with a tooltip to a place which does not have or has a different tooltip.\n\t\t\t// Note that this should happen whether the tooltip is already visible or not, for instance,\n\t\t\t// it could be invisible but queued (debounced): it should get canceled.\n\t\t\tif ( isLeavingBalloon || ( descendantWithTooltip && descendantWithTooltip !== relatedDescendantWithTooltip ) ) {\n\t\t\t\tthis._unpinTooltipDebounced();\n\t\t\t}\n\t\t} else {\n\t\t\t// If a tooltip is currently visible, don't act for a targets other than the one it is attached to.\n\t\t\t// For instance, a random blur in the web page should not unpin the tooltip that was pinned because of a previous mouseenter.\n\t\t\tif ( this._currentElementWithTooltip && target !== this._currentElementWithTooltip ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Note that unpinning should happen whether the tooltip is already visible or not, for instance, it could be invisible but\n\t\t\t// queued (debounced): it should get canceled (e.g. quick focus then quick blur using the keyboard).\n\t\t\tthis._unpinTooltipDebounced();\n\t\t}\n\t}\n\n\t/**\n\t * Handles hiding tooltips on `scroll` in DOM.\n\t *\n\t * @param evt An object containing information about the fired event.\n\t * @param domEvent The DOM event.\n\t */\n\tprivate _onScroll( evt: unknown, { target }: any ) {\n\t\t// No tooltip, no reason to react on scroll.\n\t\tif ( !this._currentElementWithTooltip ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// When scrolling a container that has both the balloon and the current element (common ancestor), the balloon can remain\n\t\t// visible (e.g. scrolling ≤body>). Otherwise, to avoid glitches (clipping, lagging) better just hide the tooltip.\n\t\t// Also, don't do anything when scrolling an unrelated DOM element that has nothing to do with the current element and the balloon.\n\t\tif ( target.contains( this.balloonPanelView.element ) && target.contains( this._currentElementWithTooltip ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._unpinTooltip();\n\t}\n\n\t/**\n\t * Pins the tooltip to a specific DOM element.\n\t *\n\t * @param options.text Text of the tooltip to display.\n\t * @param options.position The position of the tooltip.\n\t * @param options.cssClass Additional CSS class of the balloon with the tooltip.\n\t */\n\tprivate _pinTooltip(\n\t\ttargetDomElement: HTMLElement,\n\t\t{ text, position, cssClass }: TooltipData\n\t): void {\n\t\tthis._unpinTooltip();\n\n\t\t// Use the body collection of the first editor.\n\t\tconst bodyViewCollection = first( TooltipManager._editors.values() )!.ui.view.body;\n\n\t\tif ( !bodyViewCollection.has( this.balloonPanelView ) ) {\n\t\t\tbodyViewCollection.add( this.balloonPanelView );\n\t\t}\n\n\t\tthis.tooltipTextView.text = text;\n\n\t\tthis.balloonPanelView.class = [ BALLOON_CLASS, cssClass ]\n\t\t\t.filter( className => className )\n\t\t\t.join( ' ' );\n\n\t\t// Ensure that all changes to the tooltip are set before pinning it.\n\t\t// Setting class or text after pinning can cause the tooltip to be pinned in the wrong position.\n\t\t// It happens especially often when tooltip has class modified (like adding `ck-tooltip_multi-line`).\n\t\t// See https://github.com/ckeditor/ckeditor5/issues/16365\n\t\tthis.balloonPanelView.pin( {\n\t\t\ttarget: targetDomElement,\n\t\t\tpositions: TooltipManager.getPositioningFunctions( position )\n\t\t} );\n\n\t\tthis._mutationObserver!.attach( targetDomElement );\n\n\t\t// Start responding to changes in editor UI or content layout. For instance, when collaborators change content\n\t\t// and a contextual toolbar attached to a content starts to move (and so should move the tooltip).\n\t\t// Note: Using low priority to let other listeners that position contextual toolbars etc. to react first.\n\t\tfor ( const editor of TooltipManager._editors ) {\n\t\t\tthis.listenTo( editor.ui, 'update', this._updateTooltipPosition.bind( this ), { priority: 'low' } );\n\t\t}\n\n\t\tthis._currentElementWithTooltip = targetDomElement;\n\t\tthis._currentTooltipPosition = position;\n\t}\n\n\t/**\n\t * Unpins the tooltip and cancels all queued pinning.\n\t */\n\tprivate _unpinTooltip() {\n\t\tthis._unpinTooltipDebounced.cancel();\n\t\tthis._pinTooltipDebounced.cancel();\n\n\t\tthis.balloonPanelView.unpin();\n\n\t\tfor ( const editor of TooltipManager._editors ) {\n\t\t\tthis.stopListening( editor.ui, 'update' );\n\t\t}\n\n\t\tthis._currentElementWithTooltip = null;\n\t\tthis._currentTooltipPosition = null;\n\t\tthis.tooltipTextView.text = '';\n\n\t\tthis._mutationObserver!.detach();\n\t}\n\n\t/**\n\t * Updates the position of the tooltip so it stays in sync with the element it is pinned to.\n\t *\n\t * Hides the tooltip when the element is no longer visible in DOM or the tooltip text was removed.\n\t */\n\tprivate _updateTooltipPosition() {\n\t\t// The tooltip might get removed by focus listener triggered by the same UI `update` event.\n\t\t// See https://github.com/ckeditor/ckeditor5/pull/16363.\n\t\tif ( !this._currentElementWithTooltip ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tooltipData = getTooltipData( this._currentElementWithTooltip );\n\n\t\t// This could happen if the tooltip was attached somewhere in a contextual content toolbar and the toolbar\n\t\t// disappeared (e.g. removed an image), or the tooltip text was removed.\n\t\tif ( !isVisible( this._currentElementWithTooltip ) || !tooltipData.text ) {\n\t\t\tthis._unpinTooltip();\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.balloonPanelView.pin( {\n\t\t\ttarget: this._currentElementWithTooltip,\n\t\t\tpositions: TooltipManager.getPositioningFunctions( tooltipData.position )\n\t\t} );\n\t}\n}\n\nexport type TooltipPosition = 's' | 'n' | 'e' | 'w' | 'sw' | 'se';\n\nfunction getDescendantWithTooltip( element: HTMLElement ) {\n\tif ( !isElement( element ) ) {\n\t\treturn null;\n\t}\n\n\treturn element.closest( '[data-cke-tooltip-text]:not([data-cke-tooltip-disabled])' ) as HTMLElement;\n}\n\ninterface TooltipData {\n\ttext: string;\n\tposition: TooltipPosition;\n\tcssClass: string;\n}\n\nfunction getTooltipData( element: HTMLElement ): TooltipData {\n\treturn {\n\t\ttext: element.dataset.ckeTooltipText!,\n\t\tposition: ( element.dataset.ckeTooltipPosition || 's' ) as TooltipPosition,\n\t\tcssClass: element.dataset.ckeTooltipClass || ''\n\t};\n}\n\n// Creates a simple `MutationObserver` instance wrapper that observes changes in the tooltip-related attributes of the given element.\n// Used instead of the `MutationObserver` from the engine for simplicity.\nfunction createMutationObserver( callback: ( ...args: Array ) => unknown ): MutationObserverWrapper {\n\tconst mutationObserver = new MutationObserver( () => {\n\t\tcallback();\n\t} );\n\n\treturn {\n\t\tattach( element ) {\n\t\t\tmutationObserver.observe( element, {\n\t\t\t\tattributes: true,\n\t\t\t\tattributeFilter: [ 'data-cke-tooltip-text', 'data-cke-tooltip-position' ]\n\t\t\t} );\n\t\t},\n\n\t\tdetach() {\n\t\t\tmutationObserver.disconnect();\n\t\t}\n\t};\n}\n\ninterface MutationObserverWrapper {\n\tattach: ( element: Node ) => void;\n\tdetach: () => void;\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/editorui/poweredby\n */\n\nimport type { Editor, UiConfig } from '@ckeditor/ckeditor5-core';\nimport {\n\tDomEmitterMixin,\n\tRect,\n\tverifyLicense,\n\ttype PositionOptions,\n\ttype Locale\n} from '@ckeditor/ckeditor5-utils';\nimport BalloonPanelView from '../panel/balloon/balloonpanelview.js';\nimport IconView from '../icon/iconview.js';\nimport View from '../view.js';\nimport { throttle, type DebouncedFunc } from 'lodash-es';\n\nimport poweredByIcon from '../../theme/icons/project-logo.svg';\n\nconst ICON_WIDTH = 53;\nconst ICON_HEIGHT = 10;\n// ⚠ Note, whenever changing the threshold, make sure to update the docs/support/managing-ckeditor-logo.md docs\n// as this information is also mentioned there ⚠.\nconst NARROW_ROOT_HEIGHT_THRESHOLD = 50;\nconst NARROW_ROOT_WIDTH_THRESHOLD = 350;\nconst DEFAULT_LABEL = 'Powered by';\n\ntype PoweredByConfig = Required[ 'poweredBy' ];\n\n/**\n * A helper that enables the \"powered by\" feature in the editor and renders a link to the project's\n * webpage next to the bottom of the editable element (editor root, source editing area, etc.) when the editor is focused.\n *\n * @private\n */\nexport default class PoweredBy extends /* #__PURE__ */ DomEmitterMixin() {\n\t/**\n\t * Editor instance the helper was created for.\n\t */\n\tprivate readonly editor: Editor;\n\n\t/**\n\t * A reference to the balloon panel hosting and positioning the \"powered by\" link and logo.\n\t */\n\tprivate _balloonView: BalloonPanelView | null;\n\n\t/**\n\t * A throttled version of the {@link #_showBalloon} method meant for frequent use to avoid performance loss.\n\t */\n\tprivate _showBalloonThrottled: DebouncedFunc<() => void>;\n\n\t/**\n\t * A reference to the last editable element (root, source editing area, etc.) focused by the user.\n\t * Since the focus can move to other focusable elements in the UI, this reference allows positioning the balloon over the\n\t * right element whether the user is typing or using the UI.\n\t */\n\tprivate _lastFocusedEditableElement: HTMLElement | null;\n\n\t/**\n\t * Creates a \"powered by\" helper for a given editor. The feature is initialized on Editor#ready\n\t * event.\n\t *\n\t * @param editor\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper();\n\n\t\tthis.editor = editor;\n\t\tthis._balloonView = null;\n\t\tthis._lastFocusedEditableElement = null;\n\t\tthis._showBalloonThrottled = throttle( this._showBalloon.bind( this ), 50, { leading: true } );\n\n\t\teditor.on( 'ready', this._handleEditorReady.bind( this ) );\n\t}\n\n\t/**\n\t * Destroys the \"powered by\" helper along with its view.\n\t */\n\tpublic destroy(): void {\n\t\tconst balloon = this._balloonView;\n\n\t\tif ( balloon ) {\n\t\t\t// Balloon gets destroyed by the body collection.\n\t\t\t// The powered by view gets destroyed by the balloon.\n\t\t\tballoon.unpin();\n\t\t\tthis._balloonView = null;\n\t\t}\n\n\t\tthis._showBalloonThrottled.cancel();\n\t\tthis.stopListening();\n\t}\n\n\t/**\n\t * Enables \"powered by\" label once the editor (ui) is ready.\n\t */\n\tprivate _handleEditorReady(): void {\n\t\tconst editor = this.editor;\n\t\tconst forceVisible = !!editor.config.get( 'ui.poweredBy.forceVisible' );\n\n\t\t/* istanbul ignore next -- @preserve */\n\t\tif ( !forceVisible && verifyLicense( editor.config.get( 'licenseKey' ) ) === 'VALID' ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// No view means no body collection to append the powered by balloon to.\n\t\tif ( !editor.ui.view ) {\n\t\t\treturn;\n\t\t}\n\n\t\teditor.ui.focusTracker.on( 'change:isFocused', ( evt, data, isFocused ) => {\n\t\t\tthis._updateLastFocusedEditableElement();\n\n\t\t\tif ( isFocused ) {\n\t\t\t\tthis._showBalloon();\n\t\t\t} else {\n\t\t\t\tthis._hideBalloon();\n\t\t\t}\n\t\t} );\n\n\t\teditor.ui.focusTracker.on( 'change:focusedElement', ( evt, data, focusedElement ) => {\n\t\t\tthis._updateLastFocusedEditableElement();\n\n\t\t\tif ( focusedElement ) {\n\t\t\t\tthis._showBalloon();\n\t\t\t}\n\t\t} );\n\n\t\teditor.ui.on( 'update', () => {\n\t\t\tthis._showBalloonThrottled();\n\t\t} );\n\t}\n\n\t/**\n\t * Creates an instance of the {@link module:ui/panel/balloon/balloonpanelview~BalloonPanelView balloon panel}\n\t * with the \"powered by\" view inside ready for positioning.\n\t */\n\tprivate _createBalloonView(): void {\n\t\tconst editor = this.editor;\n\t\tconst balloon = this._balloonView = new BalloonPanelView();\n\t\tconst poweredByConfig = getNormalizedConfig( editor );\n\t\tconst view = new PoweredByView( editor.locale, poweredByConfig.label );\n\n\t\tballoon.content.add( view );\n\t\tballoon.set( {\n\t\t\tclass: 'ck-powered-by-balloon'\n\t\t} );\n\n\t\teditor.ui.view.body.add( balloon );\n\n\t\tthis._balloonView = balloon;\n\t}\n\n\t/**\n\t * Attempts to display the balloon with the \"powered by\" view.\n\t */\n\tprivate _showBalloon(): void {\n\t\tif ( !this._lastFocusedEditableElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst attachOptions = getBalloonAttachOptions( this.editor, this._lastFocusedEditableElement );\n\n\t\tif ( attachOptions ) {\n\t\t\tif ( !this._balloonView ) {\n\t\t\t\tthis._createBalloonView();\n\t\t\t}\n\n\t\t\tthis._balloonView!.pin( attachOptions );\n\t\t}\n\t}\n\n\t/**\n\t * Hides the \"powered by\" balloon if already visible.\n\t */\n\tprivate _hideBalloon(): void {\n\t\tif ( this._balloonView ) {\n\t\t\tthis._balloonView!.unpin();\n\t\t}\n\t}\n\n\t/**\n\t * Updates the {@link #_lastFocusedEditableElement} based on the state of the global focus tracker.\n\t */\n\tprivate _updateLastFocusedEditableElement(): void {\n\t\tconst editor = this.editor;\n\t\tconst isFocused = editor.ui.focusTracker.isFocused;\n\t\tconst focusedElement = editor.ui.focusTracker.focusedElement! as HTMLElement;\n\n\t\tif ( !isFocused || !focusedElement ) {\n\t\t\tthis._lastFocusedEditableElement = null;\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst editableEditorElements = Array.from( editor.ui.getEditableElementsNames() ).map( name => {\n\t\t\treturn editor.ui.getEditableElement( name );\n\t\t} );\n\n\t\tif ( editableEditorElements.includes( focusedElement ) ) {\n\t\t\tthis._lastFocusedEditableElement = focusedElement;\n\t\t} else {\n\t\t\t// If it's none of the editable element, then the focus is somewhere in the UI. Let's display powered by\n\t\t\t// over the first element then.\n\t\t\tthis._lastFocusedEditableElement = editableEditorElements[ 0 ]!;\n\t\t}\n\t}\n}\n\n/**\n * A view displaying a \"powered by\" label and project logo wrapped in a link.\n */\nclass PoweredByView extends View {\n\t/**\n\t * Created an instance of the \"powered by\" view.\n\t *\n\t * @param locale The localization services instance.\n\t * @param label The label text.\n\t */\n\tconstructor( locale: Locale, label: string | null ) {\n\t\tsuper( locale );\n\n\t\tconst iconView = new IconView();\n\t\tconst bind = this.bindTemplate;\n\n\t\ticonView.set( {\n\t\t\tcontent: poweredByIcon,\n\t\t\tisColorInherited: false\n\t\t} );\n\n\t\ticonView.extendTemplate( {\n\t\t\tattributes: {\n\t\t\t\tstyle: {\n\t\t\t\t\twidth: ICON_WIDTH + 'px',\n\t\t\t\t\theight: ICON_HEIGHT + 'px'\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\t\t\tattributes: {\n\t\t\t\tclass: [ 'ck', 'ck-powered-by' ],\n\t\t\t\t'aria-hidden': true\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\ttag: 'a',\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\thref: 'https://ckeditor.com/powered-by-ckeditor/?utm_source=ckeditor&' +\n\t\t\t\t\t\t\t'utm_medium=referral&utm_campaign=701Dn000000hVgmIAE_powered_by_ckeditor_logo',\n\t\t\t\t\t\ttarget: '_blank',\n\t\t\t\t\t\ttabindex: '-1'\n\t\t\t\t\t},\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t...label ? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttag: 'span',\n\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\tclass: [ 'ck', 'ck-powered-by__label' ]\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tchildren: [ label ]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t] : [],\n\t\t\t\t\t\ticonView\n\t\t\t\t\t],\n\t\t\t\t\ton: {\n\t\t\t\t\t\tdragstart: bind.to( evt => evt.preventDefault() )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t} );\n\t}\n}\n\nfunction getBalloonAttachOptions( editor: Editor, focusedEditableElement: HTMLElement ): Partial | null {\n\tconst poweredByConfig = getNormalizedConfig( editor )!;\n\tconst positioningFunction = poweredByConfig.side === 'right' ?\n\t\tgetLowerRightCornerPosition( focusedEditableElement, poweredByConfig ) :\n\t\tgetLowerLeftCornerPosition( focusedEditableElement, poweredByConfig );\n\n\treturn {\n\t\ttarget: focusedEditableElement,\n\t\tpositions: [ positioningFunction ]\n\t};\n}\n\nfunction getLowerRightCornerPosition( focusedEditableElement: HTMLElement, config: PoweredByConfig ) {\n\treturn getLowerCornerPosition( focusedEditableElement, config, ( rootRect, balloonRect ) => {\n\t\treturn rootRect.left + rootRect.width - balloonRect.width - config.horizontalOffset;\n\t} );\n}\n\nfunction getLowerLeftCornerPosition( focusedEditableElement: HTMLElement, config: PoweredByConfig ) {\n\treturn getLowerCornerPosition( focusedEditableElement, config, rootRect => rootRect.left + config.horizontalOffset );\n}\n\nfunction getLowerCornerPosition(\n\tfocusedEditableElement: HTMLElement,\n\tconfig: PoweredByConfig,\n\tgetBalloonLeft: ( visibleEditableElementRect: Rect, balloonRect: Rect ) => number\n) {\n\treturn ( visibleEditableElementRect: Rect, balloonRect: Rect ) => {\n\t\tconst editableElementRect = new Rect( focusedEditableElement );\n\n\t\tif ( editableElementRect.width < NARROW_ROOT_WIDTH_THRESHOLD || editableElementRect.height < NARROW_ROOT_HEIGHT_THRESHOLD ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tlet balloonTop;\n\n\t\tif ( config.position === 'inside' ) {\n\t\t\tballoonTop = editableElementRect.bottom - balloonRect.height;\n\t\t}\n\t\telse {\n\t\t\tballoonTop = editableElementRect.bottom - balloonRect.height / 2;\n\t\t}\n\n\t\tballoonTop -= config.verticalOffset;\n\n\t\tconst balloonLeft = getBalloonLeft( editableElementRect, balloonRect );\n\n\t\t// Clone the editable element rect and place it where the balloon would be placed.\n\t\t// This will allow getVisible() to work from editable element's perspective (rect source).\n\t\t// and yield a result as if the balloon was on the same (scrollable) layer as the editable element.\n\t\tconst newBalloonPositionRect = visibleEditableElementRect\n\t\t\t.clone()\n\t\t\t.moveTo( balloonLeft, balloonTop )\n\t\t\t.getIntersection( balloonRect.clone().moveTo( balloonLeft, balloonTop ) )!;\n\n\t\tconst newBalloonPositionVisibleRect = newBalloonPositionRect.getVisible();\n\n\t\tif ( !newBalloonPositionVisibleRect || newBalloonPositionVisibleRect.getArea() < balloonRect.getArea() ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn {\n\t\t\ttop: balloonTop,\n\t\t\tleft: balloonLeft,\n\t\t\tname: `position_${ config.position }-side_${ config.side }`,\n\t\t\tconfig: {\n\t\t\t\twithArrow: false\n\t\t\t}\n\t\t};\n\t};\n}\n\nfunction getNormalizedConfig( editor: Editor ): PoweredByConfig {\n\tconst userConfig = editor.config.get( 'ui.poweredBy' );\n\tconst position = userConfig && userConfig.position || 'border';\n\n\treturn {\n\t\tposition,\n\t\tlabel: DEFAULT_LABEL,\n\t\tverticalOffset: position === 'inside' ? 5 : 0,\n\t\thorizontalOffset: 5,\n\n\t\tside: editor.locale.contentLanguageDirection === 'ltr' ? 'right' : 'left',\n\t\t...userConfig\n\t};\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module utils/verifylicense\n */\n\nimport { releaseDate } from './version.js';\n\n/**\n * Possible states of the key after verification.\n */\nexport type VerifiedKeyStatus = 'VALID' | 'INVALID';\n\n/**\n * Checks whether the given string contains information that allows you to verify the license status.\n *\n * @param token The string to check.\n * @returns String that represents the state of given `token` parameter.\n */\nexport default function verifyLicense( token: string | undefined ): VerifiedKeyStatus {\n\t// This function implements naive and partial license key check mechanism,\n\t// used only to decide whether to show or hide the \"Powered by CKEditor\" logo.\n\t//\n\t// You can read the reasoning behind showing the logo to unlicensed (GPL) users\n\t// in this thread: https://github.com/ckeditor/ckeditor5/issues/14082.\n\t//\n\t// We firmly believe in the values behind creating open-source software, even when that\n\t// means keeping the license verification logic open for everyone to see.\n\t//\n\t// Please keep this code intact. Thank you for your understanding.\n\n\tfunction oldTokenCheck( token: string ): VerifiedKeyStatus {\n\t\tif ( token.length >= 40 && token.length <= 255 ) {\n\t\t\treturn 'VALID';\n\t\t} else {\n\t\t\treturn 'INVALID';\n\t\t}\n\t}\n\n\t// TODO: issue ci#3175\n\n\tif ( !token ) {\n\t\treturn 'INVALID';\n\t}\n\n\tlet decryptedData = '';\n\n\ttry {\n\t\tdecryptedData = atob( token );\n\t} catch ( e ) {\n\t\treturn 'INVALID';\n\t}\n\n\tconst splittedDecryptedData = decryptedData.split( '-' );\n\n\tconst firstElement = splittedDecryptedData[ 0 ];\n\tconst secondElement = splittedDecryptedData[ 1 ];\n\n\tif ( !secondElement ) {\n\t\treturn oldTokenCheck( token );\n\t}\n\n\ttry {\n\t\tatob( secondElement );\n\t} catch ( e ) {\n\t\ttry {\n\t\t\tatob( firstElement );\n\n\t\t\tif ( !atob( firstElement ).length ) {\n\t\t\t\treturn oldTokenCheck( token );\n\t\t\t}\n\t\t} catch ( e ) {\n\t\t\treturn oldTokenCheck( token );\n\t\t}\n\t}\n\n\tif ( firstElement.length < 40 || firstElement.length > 255 ) {\n\t\treturn 'INVALID';\n\t}\n\n\tlet decryptedSecondElement = '';\n\n\ttry {\n\t\tatob( firstElement );\n\t\tdecryptedSecondElement = atob( secondElement );\n\t} catch ( e ) {\n\t\treturn 'INVALID';\n\t}\n\n\tif ( decryptedSecondElement.length !== 8 ) {\n\t\treturn 'INVALID';\n\t}\n\n\tconst year = Number( decryptedSecondElement.substring( 0, 4 ) );\n\tconst monthIndex = Number( decryptedSecondElement.substring( 4, 6 ) ) - 1;\n\tconst day = Number( decryptedSecondElement.substring( 6, 8 ) );\n\n\tconst date = new Date( year, monthIndex, day );\n\n\tif ( date < releaseDate || isNaN( Number( date ) ) ) {\n\t\treturn 'INVALID';\n\t}\n\n\treturn 'VALID';\n}\n","export default \"\\n\";","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./arialiveannouncer.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/arialiveannouncer\n */\n\nimport type { DomConverter } from '@ckeditor/ckeditor5-engine';\nimport type { Editor } from '@ckeditor/ckeditor5-core';\nimport type { Locale } from '@ckeditor/ckeditor5-utils';\nimport type ViewCollection from './viewcollection.js';\nimport View from './view.js';\n\nimport '../theme/components/arialiveannouncer/arialiveannouncer.css';\n\n/**\n * The politeness level of an `aria-live` announcement.\n *\n * Available keys are:\n * * `AriaLiveAnnouncerPoliteness.POLITE`,\n * * `AriaLiveAnnouncerPoliteness.ASSERTIVE`\n *\n * [Learn more](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Regions#Politeness_levels).\n */\nexport const AriaLiveAnnouncerPoliteness = {\n\tPOLITE: 'polite',\n\tASSERTIVE: 'assertive'\n} as const;\n\n/**\n * An accessibility helper that manages all ARIA live regions associated with an editor instance. ARIA live regions announce changes\n * to the state of the editor features.\n *\n * These announcements are consumed and propagated by screen readers and give users a better understanding of the current\n * state of the editor.\n *\n * To announce a state change to an editor use the {@link #announce} method:\n *\n * ```ts\n * editor.ui.ariaLiveAnnouncer.announce( 'Text of an announcement.' );\n * ```\n */\nexport default class AriaLiveAnnouncer {\n\t/**\n\t * The editor instance.\n\t */\n\tpublic readonly editor: Editor;\n\n\t/**\n\t * The view that aggregates all `aria-live` regions.\n\t */\n\tpublic view?: AriaLiveAnnouncerView;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tthis.editor = editor;\n\n\t\t/**\n\t\t * Some screen readers only look at changes in the aria-live region.\n\t\t * They might not read a region that already has content when it is added.\n\t\t * To stop this problem, make sure to set up regions for all politeness settings when the editor starts.\n\t\t */\n\t\teditor.once( 'ready', () => {\n\t\t\tfor ( const politeness of Object.values( AriaLiveAnnouncerPoliteness ) ) {\n\t\t\t\tthis.announce( '', politeness );\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Sets an announcement text to an aria region that is then announced by a screen reader to the user.\n\t *\n\t * If the aria region of a specified politeness does not exist, it will be created and can be re-used later.\n\t *\n\t * The default announcement politeness level is `'polite'`.\n\t *\n\t * ```ts\n\t * // Most screen readers will queue announcements from multiple aria-live regions and read them out in the order they were emitted.\n \t * editor.ui.ariaLiveAnnouncer.announce( 'Image uploaded.' );\n \t * editor.ui.ariaLiveAnnouncer.announce( 'Connection lost. Reconnecting.' );\n \t * ```\n\t */\n\tpublic announce(\n\t\tannouncement: string,\n\t\tattributes: AriaLiveAnnouncerPolitenessValue | AriaLiveAnnounceConfig = AriaLiveAnnouncerPoliteness.POLITE\n\t): void {\n\t\tconst editor = this.editor;\n\n\t\tif ( !editor.ui.view ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( !this.view ) {\n\t\t\tthis.view = new AriaLiveAnnouncerView( editor.locale );\n\t\t\teditor.ui.view.body.add( this.view );\n\t\t}\n\n\t\tconst { politeness, isUnsafeHTML }: AriaLiveAnnounceConfig = typeof attributes === 'string' ? {\n\t\t\tpoliteness: attributes\n\t\t} : attributes;\n\n\t\tlet politenessRegionView = this.view.regionViews.find( view => view.politeness === politeness );\n\n\t\tif ( !politenessRegionView ) {\n\t\t\tpolitenessRegionView = new AriaLiveAnnouncerRegionView( editor, politeness );\n\t\t\tthis.view.regionViews.add( politenessRegionView );\n\t\t}\n\n\t\tpolitenessRegionView.announce( {\n\t\t\tannouncement,\n\t\t\tisUnsafeHTML\n\t\t} );\n\t}\n}\n\n/**\n * The view that aggregates all `aria-live` regions.\n */\nexport class AriaLiveAnnouncerView extends View {\n\t/**\n\t * A collection of all views that represent individual `aria-live` regions.\n\t */\n\tpublic readonly regionViews: ViewCollection;\n\n\tconstructor( locale: Locale ) {\n\t\tsuper( locale );\n\n\t\tthis.regionViews = this.createCollection();\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck',\n\t\t\t\t\t'ck-aria-live-announcer'\n\t\t\t\t]\n\t\t\t},\n\t\t\tchildren: this.regionViews\n\t\t} );\n\t}\n}\n\n/**\n * The view that represents a single `aria-live`.\n */\nexport class AriaLiveAnnouncerRegionView extends View {\n\t/**\n\t * Current politeness level of the region.\n\t */\n\tpublic readonly politeness: AriaLiveAnnouncerPolitenessValue;\n\n\t/**\n\t * DOM converter used to sanitize unsafe HTML passed to {@link #announce} method.\n\t */\n\tprivate _domConverter: DomConverter;\n\n\t/**\n\t * Interval used to remove additions. It prevents accumulation of added nodes in region.\n\t */\n\tprivate _pruneAnnouncementsInterval: ReturnType | null;\n\n\tconstructor( editor: Editor, politeness: AriaLiveAnnouncerPolitenessValue ) {\n\t\tsuper( editor.locale );\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\t\t\tattributes: {\n\t\t\t\t'aria-live': politeness,\n\t\t\t\t'aria-relevant': 'additions'\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\ttag: 'ul',\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\tclass: [\n\t\t\t\t\t\t\t'ck',\n\t\t\t\t\t\t\t'ck-aria-live-region-list'\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t} );\n\n\t\teditor.on( 'destroy', () => {\n\t\t\tif ( this._pruneAnnouncementsInterval !== null ) {\n\t\t\t\tclearInterval( this._pruneAnnouncementsInterval! );\n\t\t\t\tthis._pruneAnnouncementsInterval = null;\n\t\t\t}\n\t\t} );\n\n\t\tthis.politeness = politeness;\n\t\tthis._domConverter = editor.data.htmlProcessor.domConverter;\n\t\tthis._pruneAnnouncementsInterval = setInterval( () => {\n\t\t\tif ( this.element && this._listElement!.firstChild ) {\n\t\t\t\tthis._listElement!.firstChild!.remove();\n\t\t\t}\n\t\t}, 5000 );\n\t}\n\n\t/**\n\t * Appends new announcement to region.\n\t */\n\tpublic announce( { announcement, isUnsafeHTML }: AriaLiveAppendContentAttributes ): void {\n\t\tif ( !announcement.trim().length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst messageListItem = document.createElement( 'li' );\n\n\t\tif ( isUnsafeHTML ) {\n\t\t\tthis._domConverter.setContentOf( messageListItem, announcement );\n\t\t} else {\n\t\t\tmessageListItem.innerText = announcement;\n\t\t}\n\n\t\tthis._listElement!.appendChild( messageListItem );\n\t}\n\n\t/**\n\t * Return current announcements list HTML element.\n\t */\n\tprivate get _listElement(): HTMLElement | null {\n\t\treturn this.element!.querySelector( 'ul' )!;\n\t}\n}\n\ntype AriaLiveAnnouncerPolitenessValue = typeof AriaLiveAnnouncerPoliteness[ keyof typeof AriaLiveAnnouncerPoliteness ];\n\ntype AriaLiveAppendContentAttributes = {\n\tannouncement: string;\n\tisUnsafeHTML?: boolean;\n};\n\ntype AriaLiveAnnounceConfig = {\n\tpoliteness: AriaLiveAnnouncerPolitenessValue;\n\tisUnsafeHTML?: boolean;\n};\n","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./menubarmenulistitem.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/menubar/menubarmenulistitemview\n */\n\nimport type { Locale } from '@ckeditor/ckeditor5-utils';\nimport ListItemView from '../list/listitemview.js';\nimport type MenuBarMenuView from './menubarmenuview.js';\n\nimport '../../theme/components/menubar/menubarmenulistitem.css';\n\n/**\n * A menu bar list item view, a child of {@link module:ui/menubar/menubarmenulistview~MenuBarMenuListView}.\n *\n * Populate this item with a {@link module:ui/menubar/menubarmenulistitembuttonview~MenuBarMenuListItemButtonView} instance\n * or a {@link module:ui/menubar/menubarmenuview~MenuBarMenuView} instance to create a sub-menu.\n */\nexport default class MenuBarMenuListItemView extends ListItemView {\n\t/**\n\t * Creates an instance of the list item view.\n\t *\n\t * @param locale The localization services instance.\n\t */\n\tconstructor( locale: Locale, parentMenuView: MenuBarMenuView ) {\n\t\tsuper( locale );\n\n\t\tconst bind = this.bindTemplate;\n\n\t\tthis.extendTemplate( {\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck-menu-bar__menu__item'\n\t\t\t\t]\n\t\t\t},\n\t\t\ton: {\n\t\t\t\t'mouseenter': bind.to( 'mouseenter' )\n\t\t\t}\n\t\t} );\n\n\t\tthis.delegate( 'mouseenter' ).to( parentMenuView );\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/menubar/utils\n */\n\nimport MenuBarMenuListItemView from './menubarmenulistitemview.js';\nimport type MenuBarMenuView from './menubarmenuview.js';\nimport type {\n\tdefault as MenuBarView,\n\tMenuBarConfig,\n\tMenuBarMenuMouseEnterEvent,\n\tMenuBarMenuChangeIsOpenEvent,\n\tMenuBarMenuArrowRightEvent,\n\tMenuBarMenuArrowLeftEvent,\n\tMenuBarMenuDefinition,\n\tMenuBarConfigObject,\n\tMenuBarConfigAddedGroup,\n\tMenuBarConfigAddedMenu,\n\tMenuBarConfigAddedPosition,\n\tNormalizedMenuBarConfigObject,\n\tMenuBarConfigAddedItem\n} from './menubarview.js';\nimport clickOutsideHandler from '../bindings/clickoutsidehandler.js';\nimport type { ButtonExecuteEvent } from '../button/button.js';\nimport type ComponentFactory from '../componentfactory.js';\nimport type { FocusableView } from '../focuscycler.js';\nimport {\n\tlogWarning,\n\ttype Locale,\n\ttype ObservableChangeEvent,\n\ttype PositioningFunction\n} from '@ckeditor/ckeditor5-utils';\nimport { cloneDeep } from 'lodash-es';\n\nconst NESTED_PANEL_HORIZONTAL_OFFSET = 5;\n\n/**\n * Behaviors of the {@link module:ui/menubar/menubarview~MenuBarView} component.\n */\nexport const MenuBarBehaviors = {\n\t/**\n\t * When the bar is already open:\n\t * * Opens the menu when the user hovers over its button.\n\t * * Closes open menu when another menu's button gets hovered.\n\t */\n\ttoggleMenusAndFocusItemsOnHover( menuBarView: MenuBarView ): void {\n\t\tmenuBarView.on( 'menu:mouseenter', evt => {\n\t\t\t// This behavior should be activated when one of condition is present:\n\t\t\t// 1. The user opened any submenu of menubar and hover over items in the menu bar.\n\t\t\t// 2. The user focused whole menubar using keyboard interaction and enabled focus borders and hover over items in the menu bar.\n\t\t\tif ( !menuBarView.isFocusBorderEnabled && !menuBarView.isOpen ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( menuBarView.isOpen ) {\n\t\t\t\tfor ( const menuView of menuBarView.menus ) {\n\t\t\t\t\t// @if CK_DEBUG_MENU_BAR // const wasOpen = menuView.isOpen;\n\n\t\t\t\t\tconst pathLeaf = evt.path[ 0 ];\n\t\t\t\t\tconst isListItemContainingMenu = pathLeaf instanceof MenuBarMenuListItemView && pathLeaf.children.first === menuView;\n\n\t\t\t\t\tmenuView.isOpen = ( evt.path.includes( menuView ) || isListItemContainingMenu ) && menuView.isEnabled;\n\n\t\t\t\t\t// @if CK_DEBUG_MENU_BAR // if ( wasOpen !== menuView.isOpen ) {\n\t\t\t\t\t// @if CK_DEBUG_MENU_BAR // console.log( '[BEHAVIOR] toggleMenusAndFocusItemsOnHover(): Toggle',\n\t\t\t\t\t// @if CK_DEBUG_MENU_BAR // \tlogMenu( menuView ), 'isOpen', menuView.isOpen\n\t\t\t\t\t// @if CK_DEBUG_MENU_BAR // );\n\t\t\t\t\t// @if CK_DEBUG_MENU_BAR // }\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t( evt.source as FocusableView ).focus();\n\t\t} );\n\t},\n\n\t/**\n\t * Moves between top-level menus using the arrow left and right keys.\n\t *\n\t * If the menubar has already been open, the arrow keys move focus between top-level menu buttons and open them.\n\t * If the menubar is closed, the arrow keys only move focus between top-level menu buttons.\n\t */\n\tfocusCycleMenusOnArrows( menuBarView: MenuBarView ): void {\n\t\tconst isContentRTL = menuBarView.locale!.uiLanguageDirection === 'rtl';\n\n\t\tmenuBarView.on( 'menu:arrowright', evt => {\n\t\t\tcycleTopLevelMenus( evt.source as MenuBarMenuView, isContentRTL ? -1 : 1 );\n\t\t} );\n\n\t\tmenuBarView.on( 'menu:arrowleft', evt => {\n\t\t\tcycleTopLevelMenus( evt.source as MenuBarMenuView, isContentRTL ? 1 : -1 );\n\t\t} );\n\n\t\tfunction cycleTopLevelMenus( currentMenuView: MenuBarMenuView, step: number ) {\n\t\t\tconst currentIndex = menuBarView.children.getIndex( currentMenuView );\n\t\t\tconst isCurrentMenuViewOpen = currentMenuView.isOpen;\n\t\t\tconst menusCount = menuBarView.children.length;\n\t\t\tconst menuViewToOpen = menuBarView.children.get( ( currentIndex + menusCount + step ) % menusCount )!;\n\n\t\t\tcurrentMenuView.isOpen = false;\n\n\t\t\tif ( isCurrentMenuViewOpen ) {\n\t\t\t\tmenuViewToOpen.isOpen = true;\n\t\t\t}\n\n\t\t\tmenuViewToOpen.buttonView.focus();\n\t\t}\n\t},\n\n\t/**\n\t * Closes the entire sub-menu structure when the bar is closed. This prevents sub-menus from being open if the user\n\t * closes the entire bar, and then re-opens some top-level menu.\n\t */\n\tcloseMenusWhenTheBarCloses( menuBarView: MenuBarView ): void {\n\t\tmenuBarView.on>( 'change:isOpen', () => {\n\t\t\tif ( !menuBarView.isOpen ) {\n\t\t\t\tmenuBarView.menus.forEach( menuView => {\n\t\t\t\t\tmenuView.isOpen = false;\n\n\t\t\t\t\t// @if CK_DEBUG_MENU_BAR // console.log( '[BEHAVIOR] closeMenusWhenTheBarCloses(): Closing', logMenu( menuView ) );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t},\n\n\t/**\n\t * Handles the following case:\n\t * 1. Hover to open a sub-menu (A). The button has focus.\n\t * 2. Press arrow up/down to move focus to another sub-menu (B) button.\n\t * 3. Press arrow right to open the sub-menu (B).\n\t * 4. The sub-menu (A) should close as it would with `toggleMenusAndFocusItemsOnHover()`.\n\t */\n\tcloseMenuWhenAnotherOnTheSameLevelOpens( menuBarView: MenuBarView ): void {\n\t\tmenuBarView.on( 'menu:change:isOpen', ( evt, name, isOpen ) => {\n\t\t\tif ( isOpen ) {\n\t\t\t\tmenuBarView.menus\n\t\t\t\t\t.filter( menuView => {\n\t\t\t\t\t\treturn ( evt.source as any ).parentMenuView === menuView.parentMenuView &&\n\t\t\t\t\t\t\tevt.source !== menuView &&\n\t\t\t\t\t\t\tmenuView.isOpen;\n\t\t\t\t\t} ).forEach( menuView => {\n\t\t\t\t\t\tmenuView.isOpen = false;\n\n\t\t\t\t\t\t// @if CK_DEBUG_MENU_BAR // console.log( '[BEHAVIOR] closeMenuWhenAnotherOpens(): Closing', logMenu( menuView ) );\n\t\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t},\n\n\t/**\n\t * Closes the bar when the user clicked outside of it (page body, editor root, etc.).\n\t */\n\tcloseOnClickOutside( menuBarView: MenuBarView ): void {\n\t\tclickOutsideHandler( {\n\t\t\temitter: menuBarView,\n\t\t\tactivator: () => menuBarView.isOpen,\n\t\t\tcallback: () => menuBarView.close(),\n\t\t\tcontextElements: () => menuBarView.children.map( child => child.element! )\n\t\t} );\n\t},\n\n\t/**\n\t * Tracks the keyboard focus interaction on the menu bar view. It is used to determine if the nested items\n\t * of the menu bar should render focus rings after first interaction with the keyboard.\n\t */\n\tenableFocusHighlightOnInteraction( menuBarView: MenuBarView ): void {\n\t\tlet isKeyPressed: boolean = false;\n\n\t\tmenuBarView.on>( 'change:isOpen', ( _, evt, isOpen ) => {\n\t\t\tif ( !isOpen ) {\n\t\t\t\t// Keep the focus border if the menu bar was closed by a keyboard interaction (Esc key).\n\t\t\t\t// The user remains in the keyboard navigation mode and can traverse the main categories.\n\t\t\t\t// See https://github.com/ckeditor/ckeditor5/issues/16719.\n\t\t\t\tif ( !isKeyPressed ) {\n\t\t\t\t\tmenuBarView.isFocusBorderEnabled = false;\n\t\t\t\t}\n\n\t\t\t\t// Reset the flag when the menu bar is closed, menu items tend to intercept `keyup` event\n\t\t\t\t// and sometimes, after pressing `enter` on focused item, `isKeyPressed` stuck in `true` state.\n\t\t\t\tisKeyPressed = false;\n\t\t\t}\n\t\t} );\n\n\t\tmenuBarView.listenTo( menuBarView.element!, 'keydown', () => {\n\t\t\tisKeyPressed = true;\n\t\t}, { useCapture: true } );\n\n\t\tmenuBarView.listenTo( menuBarView.element!, 'keyup', () => {\n\t\t\tisKeyPressed = false;\n\t\t}, { useCapture: true } );\n\n\t\tmenuBarView.listenTo( menuBarView.element!, 'focus', () => {\n\t\t\tif ( isKeyPressed ) {\n\t\t\t\tmenuBarView.isFocusBorderEnabled = true;\n\t\t\t}\n\t\t}, { useCapture: true } );\n\t}\n};\n\n/**\n * Behaviors of the {@link module:ui/menubar/menubarmenuview~MenuBarMenuView} component.\n */\nexport const MenuBarMenuBehaviors = {\n\t/**\n\t * If the button of the menu is focused, pressing the arrow down key should open the panel and focus it.\n\t * This is analogous to the {@link module:ui/dropdown/dropdownview~DropdownView}.\n\t */\n\topenAndFocusPanelOnArrowDownKey( menuView: MenuBarMenuView ): void {\n\t\tmenuView.keystrokes.set( 'arrowdown', ( data, cancel ) => {\n\t\t\tif ( menuView.focusTracker.focusedElement === menuView.buttonView.element ) {\n\t\t\t\tif ( !menuView.isOpen ) {\n\t\t\t\t\tmenuView.isOpen = true;\n\t\t\t\t}\n\n\t\t\t\tmenuView.panelView.focus();\n\t\t\t\tcancel();\n\t\t\t}\n\t\t} );\n\t},\n\n\t/**\n\t * Open the menu on the right arrow key press. This allows for navigating to sub-menus using the keyboard.\n\t */\n\topenOnArrowRightKey( menuView: MenuBarMenuView ): void {\n\t\tconst keystroke = menuView.locale!.uiLanguageDirection === 'rtl' ? 'arrowleft' : 'arrowright';\n\n\t\tmenuView.keystrokes.set( keystroke, ( data, cancel ) => {\n\t\t\tif ( menuView.focusTracker.focusedElement !== menuView.buttonView.element || !menuView.isEnabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// @if CK_DEBUG_MENU_BAR // console.log( '[BEHAVIOR] openOnArrowRightKey(): Opening', logMenu( menuView ) );\n\n\t\t\tif ( !menuView.isOpen ) {\n\t\t\t\tmenuView.isOpen = true;\n\t\t\t}\n\n\t\t\tmenuView.panelView.focus();\n\t\t\tcancel();\n\t\t} );\n\t},\n\n\t/**\n\t * Opens the menu on its button click. Note that this behavior only opens but never closes the menu (unlike\n\t * {@link module:ui/dropdown/dropdownview~DropdownView}).\n\t */\n\topenOnButtonClick( menuView: MenuBarMenuView ): void {\n\t\tmenuView.buttonView.on( 'execute', () => {\n\t\t\tmenuView.isOpen = true;\n\t\t} );\n\t},\n\n\t/**\n\t * Toggles the menu on its button click. This behavior is analogous to {@link module:ui/dropdown/dropdownview~DropdownView}.\n\t */\n\ttoggleOnButtonClick( menuView: MenuBarMenuView ): void {\n\t\tmenuView.buttonView.on( 'execute', () => {\n\t\t\tmenuView.isOpen = !menuView.isOpen;\n\t\t} );\n\t},\n\n\t/**\n\t * Opens the menu and focuses the panel content upon pressing the Enter key.\n\t */\n\topenAndFocusOnEnterKeyPress( menuView: MenuBarMenuView ): void {\n\t\tmenuView.keystrokes.set( 'enter', ( data, cancel ) => {\n\t\t\t// Engage only for Enter key press when the button is focused. The panel can contain\n\t\t\t// other UI components and features that rely on the Enter key press.\n\t\t\tif ( menuView.focusTracker.focusedElement !== menuView.buttonView.element ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tmenuView.isOpen = true;\n\t\t\tmenuView.panelView.focus();\n\t\t\tcancel();\n\t\t} );\n\t},\n\n\t/**\n\t * Closes the menu on the right left key press. This allows for navigating to sub-menus using the keyboard.\n\t */\n\tcloseOnArrowLeftKey( menuView: MenuBarMenuView ): void {\n\t\tconst keystroke = menuView.locale!.uiLanguageDirection === 'rtl' ? 'arrowright' : 'arrowleft';\n\n\t\tmenuView.keystrokes.set( keystroke, ( data, cancel ) => {\n\t\t\tif ( menuView.isOpen ) {\n\t\t\t\tmenuView.isOpen = false;\n\t\t\t\tmenuView.focus();\n\t\t\t\tcancel();\n\t\t\t}\n\t\t} );\n\t},\n\n\t/**\n\t * Closes the menu on the esc key press. This allows for navigating to sub-menus using the keyboard.\n\t */\n\tcloseOnEscKey( menuView: MenuBarMenuView ): void {\n\t\tmenuView.keystrokes.set( 'esc', ( data, cancel ) => {\n\t\t\tif ( menuView.isOpen ) {\n\t\t\t\tmenuView.isOpen = false;\n\t\t\t\tmenuView.focus();\n\t\t\t\tcancel();\n\t\t\t}\n\t\t} );\n\t},\n\n\t/**\n\t * Closes the menu when its parent menu also closed. This prevents from orphaned open menus when the parent menu re-opens.\n\t */\n\tcloseOnParentClose( menuView: MenuBarMenuView ): void {\n\t\tmenuView.parentMenuView!.on>( 'change:isOpen', ( evt, name, isOpen ) => {\n\t\t\tif ( !isOpen && evt.source === menuView.parentMenuView ) {\n\t\t\t\t// @if CK_DEBUG_MENU_BAR // console.log( '[BEHAVIOR] closeOnParentClose(): Closing', logMenu( menuView ) );\n\n\t\t\t\tmenuView.isOpen = false;\n\t\t\t}\n\t\t} );\n\t}\n};\n\n// @if CK_DEBUG_MENU_BAR // function logMenu( menuView: MenuBarMenuView ) {\n// @if CK_DEBUG_MENU_BAR //\treturn `\"${ menuView.buttonView.label }\"`;\n// @if CK_DEBUG_MENU_BAR // }\n\n/**\n * Contains every positioning function used by {@link module:ui/menubar/menubarmenuview~MenuBarMenuView} that decides where the\n * {@link module:ui/menubar/menubarmenuview~MenuBarMenuView#panelView} should be placed.\n *\n * Top-level menu positioning functions:\n *\n *\t┌──────┐\n *\t│ │\n *\t├──────┴────────┐\n *\t│ │\n *\t│ │\n *\t│ │\n *\t│ SE │\n *\t└───────────────┘\n *\n *\t ┌──────┐\n *\t │ │\n *\t┌────────┴──────┤\n *\t│ │\n *\t│ │\n *\t│ │\n *\t│ SW │\n *\t└───────────────┘\n *\n *\t┌───────────────┐\n *\t│ NW │\n *\t│ │\n *\t│ │\n *\t│ │\n *\t└────────┬──────┤\n *\t │ │\n *\t └──────┘\n *\n *\t┌───────────────┐\n *\t│ NE │\n *\t│ │\n *\t│ │\n *\t│ │\n *\t├──────┬────────┘\n *\t│ │\n *\t└──────┘\n *\n * Sub-menu positioning functions:\n *\n *\t┌──────┬───────────────┐\n *\t│ │ │\n *\t└──────┤ │\n *\t │ │\n *\t │ ES │\n *\t └───────────────┘\n *\n *\t┌───────────────┬──────┐\n *\t│ │ │\n *\t│ ├──────┘\n *\t│ │\n *\t│ WS │\n *\t└───────────────┘\n *\n *\t ┌───────────────┐\n *\t │ EN │\n *\t │ │\n *\t┌──────┤ │\n *\t│ │ │\n *\t└──────┴───────────────┘\n *\n *\t┌───────────────┐\n *\t│ WN │\n *\t│ │\n *\t│ ├──────┐\n *\t│ │ │\n *\t└───────────────┴──────┘\n */\nexport const MenuBarMenuViewPanelPositioningFunctions: Record = {\n\tsouthEast: buttonRect => {\n\t\treturn {\n\t\t\ttop: buttonRect.bottom,\n\t\t\tleft: buttonRect.left,\n\t\t\tname: 'se'\n\t\t};\n\t},\n\tsouthWest: ( buttonRect, panelRect ) => {\n\t\treturn {\n\t\t\ttop: buttonRect.bottom,\n\t\t\tleft: buttonRect.left - panelRect.width + buttonRect.width,\n\t\t\tname: 'sw'\n\t\t};\n\t},\n\tnorthEast: ( buttonRect, panelRect ) => {\n\t\treturn {\n\t\t\ttop: buttonRect.top - panelRect.height,\n\t\t\tleft: buttonRect.left,\n\t\t\tname: 'ne'\n\t\t};\n\t},\n\tnorthWest: ( buttonRect, panelRect ) => {\n\t\treturn {\n\t\t\ttop: buttonRect.top - panelRect.height,\n\t\t\tleft: buttonRect.left - panelRect.width + buttonRect.width,\n\t\t\tname: 'nw'\n\t\t};\n\t},\n\teastSouth: buttonRect => {\n\t\treturn {\n\t\t\ttop: buttonRect.top,\n\t\t\tleft: buttonRect.right - NESTED_PANEL_HORIZONTAL_OFFSET,\n\t\t\tname: 'es'\n\t\t};\n\t},\n\teastNorth: ( buttonRect, panelRect ) => {\n\t\treturn {\n\t\t\ttop: buttonRect.top - panelRect.height,\n\t\t\tleft: buttonRect.right - NESTED_PANEL_HORIZONTAL_OFFSET,\n\t\t\tname: 'en'\n\t\t};\n\t},\n\twestSouth: ( buttonRect, panelRect ) => {\n\t\treturn {\n\t\t\ttop: buttonRect.top,\n\t\t\tleft: buttonRect.left - panelRect.width + NESTED_PANEL_HORIZONTAL_OFFSET,\n\t\t\tname: 'ws'\n\t\t};\n\t},\n\twestNorth: ( buttonRect, panelRect ) => {\n\t\treturn {\n\t\t\ttop: buttonRect.top - panelRect.height,\n\t\t\tleft: buttonRect.left - panelRect.width + NESTED_PANEL_HORIZONTAL_OFFSET,\n\t\t\tname: 'wn'\n\t\t};\n\t}\n} as const;\n\n/**\n * The default items {@link module:core/editor/editorconfig~EditorConfig#menuBar configuration} of the\n * {@link module:ui/menubar/menubarview~MenuBarView} component. It contains names of all menu bar components\n * registered in the {@link module:ui/componentfactory~ComponentFactory component factory} (available in the project).\n *\n * **Note**: Menu bar component names provided by core editor features are prefixed with `menuBar:` in order to distinguish\n * them from components referenced by the {@link module:core/editor/editorconfig~EditorConfig#toolbar toolbar configuration}, for instance,\n * `'menuBar:bold'` is a menu bar button but `'bold'` is a toolbar button.\n *\n * Below is the preset menu bar structure (the default value of `config.menuBar.items` property):\n *\n * ```ts\n * [\n * \t{\n * \t\tmenuId: 'file',\n * \t\tlabel: 'File',\n * \t\tgroups: [\n * \t\t\t{\n * \t\t\t\tgroupId: 'export',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:exportPdf',\n * \t\t\t\t\t'menuBar:exportWord'\n * \t\t\t\t]\n * \t\t\t},\n * \t\t\t{\n * \t\t\t\tgroupId: 'import',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:importWord'\n * \t\t\t\t]\n * \t\t\t},\n * \t\t\t{\n * \t\t\t\tgroupId: 'revisionHistory',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:revisionHistory'\n * \t\t\t\t]\n * \t\t\t}\n * \t\t]\n * \t},\n * \t{\n * \t\tmenuId: 'edit',\n * \t\tlabel: 'Edit',\n * \t\tgroups: [\n * \t\t\t{\n * \t\t\t\tgroupId: 'undo',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:undo',\n * \t\t\t\t\t'menuBar:redo'\n * \t\t\t\t]\n * \t\t\t},\n * \t\t\t{\n * \t\t\t\tgroupId: 'selectAll',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:selectAll'\n * \t\t\t\t]\n * \t\t\t},\n * \t\t\t{\n * \t\t\t\tgroupId: 'findAndReplace',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:findAndReplace'\n * \t\t\t\t]\n * \t\t\t}\n * \t\t]\n * \t},\n * \t{\n * \t\tmenuId: 'view',\n * \t\tlabel: 'View',\n * \t\tgroups: [\n * \t\t\t{\n * \t\t\t\tgroupId: 'sourceEditing',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:sourceEditing'\n * \t\t\t\t]\n * \t\t\t},\n * \t\t\t{\n * \t\t\t\tgroupId: 'showBlocks',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:showBlocks'\n * \t\t\t\t]\n * \t\t\t},\n * \t\t\t{\n * \t\t\t\tgroupId: 'previewMergeFields',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:previewMergeFields'\n * \t\t\t\t]\n * \t\t\t},\n * \t\t\t{\n * \t\t\t\tgroupId: 'restrictedEditingException',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:restrictedEditingException'\n * \t\t\t\t]\n * \t\t\t}\n * \t\t]\n * \t},\n * \t{\n * \t\tmenuId: 'insert',\n * \t\tlabel: 'Insert',\n * \t\tgroups: [\n * \t\t\t{\n * \t\t\t\tgroupId: 'insertMainWidgets',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:insertImage',\n * \t\t\t\t\t'menuBar:ckbox',\n * \t\t\t\t\t'menuBar:ckfinder',\n * \t\t\t\t\t'menuBar:insertTable'\n * \t\t\t\t]\n * \t\t\t},\n * \t\t\t{\n * \t\t\t\tgroupId: 'insertInline',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:link',\n * \t\t\t\t\t'menuBar:comment',\n * \t\t\t\t\t'menuBar:insertMergeField'\n * \t\t\t\t]\n * \t\t\t},\n * \t\t\t{\n * \t\t\t\tgroupId: 'insertMinorWidgets',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:mediaEmbed',\n * \t\t\t\t\t'menuBar:insertTemplate',\n * \t\t\t\t\t'menuBar:blockQuote',\n * \t\t\t\t\t'menuBar:codeBlock',\n * \t\t\t\t\t'menuBar:htmlEmbed'\n * \t\t\t\t]\n * \t\t\t},\n * \t\t\t{\n * \t\t\t\tgroupId: 'insertStructureWidgets',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:horizontalLine',\n * \t\t\t\t\t'menuBar:pageBreak',\n * \t\t\t\t\t'menuBar:tableOfContents'\n * \t\t\t\t]\n * \t\t\t},\n * \t\t\t{\n * \t\t\t\tgroupId: 'restrictedEditing',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:restrictedEditing'\n * \t\t\t\t]\n * \t\t\t}\n * \t\t]\n * \t},\n * \t{\n * \t\tmenuId: 'format',\n * \t\tlabel: 'Format',\n * \t\tgroups: [\n * \t\t\t{\n * \t\t\t\tgroupId: 'textAndFont',\n * \t\t\t\titems: [\n * \t\t\t\t\t{\n * \t\t\t\t\t\tmenuId: 'text',\n * \t\t\t\t\t\tlabel: 'Text',\n * \t\t\t\t\t\tgroups: [\n * \t\t\t\t\t\t\t{\n * \t\t\t\t\t\t\t\tgroupId: 'basicStyles',\n * \t\t\t\t\t\t\t\titems: [\n * \t\t\t\t\t\t\t\t\t'menuBar:bold',\n * \t\t\t\t\t\t\t\t\t'menuBar:italic',\n * \t\t\t\t\t\t\t\t\t'menuBar:underline',\n * \t\t\t\t\t\t\t\t\t'menuBar:strikethrough',\n * \t\t\t\t\t\t\t\t\t'menuBar:superscript',\n * \t\t\t\t\t\t\t\t\t'menuBar:subscript',\n * \t\t\t\t\t\t\t\t\t'menuBar:code'\n * \t\t\t\t\t\t\t\t]\n * \t\t\t\t\t\t\t},\n * \t\t\t\t\t\t\t{\n * \t\t\t\t\t\t\t\tgroupId: 'textPartLanguage',\n * \t\t\t\t\t\t\t\titems: [\n * \t\t\t\t\t\t\t\t\t'menuBar:textPartLanguage'\n * \t\t\t\t\t\t\t\t]\n * \t\t\t\t\t\t\t}\n * \t\t\t\t\t\t]\n * \t\t\t\t\t},\n * \t\t\t\t\t{\n * \t\t\t\t\t\tmenuId: 'font',\n * \t\t\t\t\t\tlabel: 'Font',\n * \t\t\t\t\t\tgroups: [\n * \t\t\t\t\t\t\t{\n * \t\t\t\t\t\t\t\tgroupId: 'fontProperties',\n * \t\t\t\t\t\t\t\titems: [\n * \t\t\t\t\t\t\t\t\t'menuBar:fontSize',\n * \t\t\t\t\t\t\t\t\t'menuBar:fontFamily'\n * \t\t\t\t\t\t\t\t]\n * \t\t\t\t\t\t\t},\n * \t\t\t\t\t\t\t{\n * \t\t\t\t\t\t\t\tgroupId: 'fontColors',\n * \t\t\t\t\t\t\t\titems: [\n * \t\t\t\t\t\t\t\t\t'menuBar:fontColor',\n * \t\t\t\t\t\t\t\t\t'menuBar:fontBackgroundColor'\n * \t\t\t\t\t\t\t\t]\n * \t\t\t\t\t\t\t},\n * \t\t\t\t\t\t\t{\n * \t\t\t\t\t\t\t\tgroupId: 'highlight',\n * \t\t\t\t\t\t\t\titems: [\n * \t\t\t\t\t\t\t\t\t'menuBar:highlight'\n * \t\t\t\t\t\t\t\t]\n * \t\t\t\t\t\t\t}\n * \t\t\t\t\t\t]\n * \t\t\t\t\t},\n * \t\t\t\t\t'menuBar:heading'\n * \t\t\t\t]\n * \t\t\t},\n * \t\t\t{\n * \t\t\t\tgroupId: 'list',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:bulletedList',\n * \t\t\t\t\t'menuBar:numberedList',\n * \t\t\t\t\t'menuBar:multiLevelList',\n * \t\t\t\t\t'menuBar:todoList'\n * \t\t\t\t]\n * \t\t\t},\n * \t\t\t{\n * \t\t\t\tgroupId: 'indent',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:alignment',\n * \t\t\t\t\t'menuBar:indent',\n * \t\t\t\t\t'menuBar:outdent'\n * \t\t\t\t]\n * \t\t\t},\n * \t\t\t{\n * \t\t\t\tgroupId: 'caseChange',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:caseChange'\n * \t\t\t\t]\n * \t\t\t},\n * \t\t\t{\n * \t\t\t\tgroupId: 'removeFormat',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:removeFormat'\n * \t\t\t\t]\n * \t\t\t}\n * \t\t]\n * \t},\n * \t{\n * \t\tmenuId: 'tools',\n * \t\tlabel: 'Tools',\n * \t\tgroups: [\n * \t\t\t{\n * \t\t\t\tgroupId: 'aiTools',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:aiAssistant',\n * \t\t\t\t\t'menuBar:aiCommands'\n * \t\t\t\t]\n * \t\t\t},\n * \t\t\t{\n * \t\t\t\tgroupId: 'tools',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:trackChanges',\n * \t\t\t\t\t'menuBar:commentsArchive'\n * \t\t\t\t]\n * \t\t\t}\n * \t\t]\n * \t},\n * \t{\n * \t\tmenuId: 'help',\n * \t\tlabel: 'Help',\n * \t\tgroups: [\n * \t\t\t{\n * \t\t\t\tgroupId: 'help',\n * \t\t\t\titems: [\n * \t\t\t\t\t'menuBar:accessibilityHelp'\n * \t\t\t\t]\n * \t\t\t}\n * \t\t]\n * \t}\n * ];\n * ```\n *\n * The menu bar can be customized using the `config.menuBar.removeItems` and `config.menuBar.addItems` properties.\n */\n// **NOTE: Whenever you make changes to this value, reflect it in the documentation above!**\nexport const DefaultMenuBarItems: MenuBarConfigObject[ 'items' ] = [\n\t{\n\t\tmenuId: 'file',\n\t\tlabel: 'File',\n\t\tgroups: [\n\t\t\t{\n\t\t\t\tgroupId: 'export',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:exportPdf',\n\t\t\t\t\t'menuBar:exportWord'\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tgroupId: 'import',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:importWord'\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tgroupId: 'revisionHistory',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:revisionHistory'\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tmenuId: 'edit',\n\t\tlabel: 'Edit',\n\t\tgroups: [\n\t\t\t{\n\t\t\t\tgroupId: 'undo',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:undo',\n\t\t\t\t\t'menuBar:redo'\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tgroupId: 'selectAll',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:selectAll'\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tgroupId: 'findAndReplace',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:findAndReplace'\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tmenuId: 'view',\n\t\tlabel: 'View',\n\t\tgroups: [\n\t\t\t{\n\t\t\t\tgroupId: 'sourceEditing',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:sourceEditing'\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tgroupId: 'showBlocks',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:showBlocks'\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tgroupId: 'previewMergeFields',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:previewMergeFields'\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tgroupId: 'restrictedEditing',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:restrictedEditing'\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tmenuId: 'insert',\n\t\tlabel: 'Insert',\n\t\tgroups: [\n\t\t\t{\n\t\t\t\tgroupId: 'insertMainWidgets',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:insertImage',\n\t\t\t\t\t'menuBar:ckbox',\n\t\t\t\t\t'menuBar:ckfinder',\n\t\t\t\t\t'menuBar:insertTable'\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tgroupId: 'insertInline',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:link',\n\t\t\t\t\t'menuBar:comment',\n\t\t\t\t\t'menuBar:insertMergeField'\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tgroupId: 'insertMinorWidgets',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:mediaEmbed',\n\t\t\t\t\t'menuBar:insertTemplate',\n\t\t\t\t\t'menuBar:specialCharacters',\n\t\t\t\t\t'menuBar:blockQuote',\n\t\t\t\t\t'menuBar:codeBlock',\n\t\t\t\t\t'menuBar:htmlEmbed'\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tgroupId: 'insertStructureWidgets',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:horizontalLine',\n\t\t\t\t\t'menuBar:pageBreak',\n\t\t\t\t\t'menuBar:tableOfContents'\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tgroupId: 'restrictedEditingException',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:restrictedEditingException'\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tmenuId: 'format',\n\t\tlabel: 'Format',\n\t\tgroups: [\n\t\t\t{\n\t\t\t\tgroupId: 'textAndFont',\n\t\t\t\titems: [\n\t\t\t\t\t{\n\t\t\t\t\t\tmenuId: 'text',\n\t\t\t\t\t\tlabel: 'Text',\n\t\t\t\t\t\tgroups: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tgroupId: 'basicStyles',\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t'menuBar:bold',\n\t\t\t\t\t\t\t\t\t'menuBar:italic',\n\t\t\t\t\t\t\t\t\t'menuBar:underline',\n\t\t\t\t\t\t\t\t\t'menuBar:strikethrough',\n\t\t\t\t\t\t\t\t\t'menuBar:superscript',\n\t\t\t\t\t\t\t\t\t'menuBar:subscript',\n\t\t\t\t\t\t\t\t\t'menuBar:code'\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tgroupId: 'textPartLanguage',\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t'menuBar:textPartLanguage'\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmenuId: 'font',\n\t\t\t\t\t\tlabel: 'Font',\n\t\t\t\t\t\tgroups: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tgroupId: 'fontProperties',\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t'menuBar:fontSize',\n\t\t\t\t\t\t\t\t\t'menuBar:fontFamily'\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tgroupId: 'fontColors',\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t'menuBar:fontColor',\n\t\t\t\t\t\t\t\t\t'menuBar:fontBackgroundColor'\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tgroupId: 'highlight',\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t'menuBar:highlight'\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\t'menuBar:heading'\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tgroupId: 'list',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:bulletedList',\n\t\t\t\t\t'menuBar:numberedList',\n\t\t\t\t\t'menuBar:multiLevelList',\n\t\t\t\t\t'menuBar:todoList'\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tgroupId: 'indent',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:alignment',\n\t\t\t\t\t'menuBar:indent',\n\t\t\t\t\t'menuBar:outdent'\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tgroupId: 'caseChange',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:caseChange'\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tgroupId: 'removeFormat',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:removeFormat'\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tmenuId: 'tools',\n\t\tlabel: 'Tools',\n\t\tgroups: [\n\t\t\t{\n\t\t\t\tgroupId: 'aiTools',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:aiAssistant',\n\t\t\t\t\t'menuBar:aiCommands'\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tgroupId: 'tools',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:trackChanges',\n\t\t\t\t\t'menuBar:commentsArchive'\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tmenuId: 'help',\n\t\tlabel: 'Help',\n\t\tgroups: [\n\t\t\t{\n\t\t\t\tgroupId: 'help',\n\t\t\t\titems: [\n\t\t\t\t\t'menuBar:accessibilityHelp'\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t}\n];\n\n/**\n * Performs a cleanup and normalization of the menu bar configuration.\n */\nexport function normalizeMenuBarConfig( config: Readonly ): NormalizedMenuBarConfigObject {\n\tlet configObject: NormalizedMenuBarConfigObject;\n\n\t// The integrator specified the config as an object but without items. Let's give them defaults but respect their\n\t// additions and removals.\n\tif ( !( 'items' in config ) || !config.items ) {\n\t\tconfigObject = {\n\t\t\titems: cloneDeep( DefaultMenuBarItems ) as Array,\n\t\t\taddItems: [],\n\t\t\tremoveItems: [],\n\t\t\tisVisible: true,\n\t\t\tisUsingDefaultConfig: true,\n\t\t\t...config\n\t\t};\n\t}\n\t// The integrator specified the config as an object and there are items there. Let's take it as it is.\n\telse {\n\t\tconfigObject = {\n\t\t\titems: config.items,\n\t\t\tremoveItems: [],\n\t\t\taddItems: [],\n\t\t\tisVisible: true,\n\t\t\tisUsingDefaultConfig: false,\n\t\t\t...config\n\t\t};\n\t}\n\n\treturn configObject;\n}\n\n/**\n * Processes a normalized menu bar config and returns a config clone with the following modifications:\n *\n * * Removed components that are not available in the component factory,\n * * Removed obsolete separators,\n * * Purged empty menus,\n * * Localized top-level menu labels.\n */\nexport function processMenuBarConfig( {\n\tnormalizedConfig,\n\tlocale,\n\tcomponentFactory,\n\textraItems\n}: {\n\tnormalizedConfig: NormalizedMenuBarConfigObject;\n\tlocale: Locale;\n\tcomponentFactory: ComponentFactory;\n\textraItems: Array;\n} ): NormalizedMenuBarConfigObject {\n\tconst configClone = cloneDeep( normalizedConfig ) as NormalizedMenuBarConfigObject;\n\n\thandleAdditions( normalizedConfig, configClone, extraItems );\n\thandleRemovals( normalizedConfig, configClone );\n\thandleAdditions( normalizedConfig, configClone, configClone.addItems );\n\tpurgeUnavailableComponents( normalizedConfig, configClone, componentFactory );\n\tpurgeEmptyMenus( normalizedConfig, configClone );\n\tlocalizeMenuLabels( configClone, locale );\n\n\treturn configClone;\n}\n\n/**\n * Removes items from the menu bar config based on user `removeItems` configuration. Users can remove\n * individual items, groups, or entire menus. For each removed item, a warning is logged if the item\n * was not found in the configuration.\n */\nfunction handleRemovals(\n\toriginalConfig: NormalizedMenuBarConfigObject,\n\tconfig: NormalizedMenuBarConfigObject\n) {\n\tconst itemsToBeRemoved = config.removeItems;\n\tconst successfullyRemovedItems: Array = [];\n\n\t// Remove top-level menus.\n\tconfig.items = config.items.filter( ( { menuId } ) => {\n\t\tif ( itemsToBeRemoved.includes( menuId ) ) {\n\t\t\tsuccessfullyRemovedItems.push( menuId );\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} );\n\n\twalkConfigMenus( config.items, menuDefinition => {\n\t\t// Remove groups from menus.\n\t\tmenuDefinition.groups = menuDefinition.groups.filter( ( { groupId } ) => {\n\t\t\tif ( itemsToBeRemoved.includes( groupId ) ) {\n\t\t\t\tsuccessfullyRemovedItems.push( groupId );\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn true;\n\t\t} );\n\n\t\t// Remove sub-menus and items from groups.\n\t\tfor ( const groupDefinition of menuDefinition.groups ) {\n\t\t\tgroupDefinition.items = groupDefinition.items.filter( item => {\n\t\t\t\tconst itemId = getIdFromGroupItem( item );\n\n\t\t\t\tif ( itemsToBeRemoved.includes( itemId ) ) {\n\t\t\t\t\tsuccessfullyRemovedItems.push( itemId );\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t} );\n\t\t}\n\t} );\n\n\tfor ( const itemName of itemsToBeRemoved ) {\n\t\tif ( !successfullyRemovedItems.includes( itemName ) ) {\n\t\t\t/**\n\t\t\t * There was a problem processing the configuration of the menu bar. The item with the given\n\t\t\t * name does could not be removed from the menu bar configuration.\n\t\t\t *\n\t\t\t * This warning usually shows up when the {@link module:core/plugin~Plugin} which is supposed\n\t\t\t * to provide a menu bar item has not been loaded or there is a typo in the\n\t\t\t * {@link module:core/editor/editorconfig~EditorConfig#menuBar menu bar configuration}.\n\t\t\t *\n\t\t\t * @error menu-bar-item-could-not-be-removed\n\t\t\t * @param menuBarConfig The full configuration of the menu bar.\n\t\t\t * @param itemName The name of the item that was not removed from the menu bar.\n\t\t\t */\n\t\t\tlogWarning( 'menu-bar-item-could-not-be-removed', {\n\t\t\t\tmenuBarConfig: originalConfig,\n\t\t\t\titemName\n\t\t\t} );\n\t\t}\n\t}\n}\n\n/**\n * Adds provided items to config. It allows for adding menus, groups, and items at arbitrary\n * positions in the menu bar. If the position does not exist, a warning is logged.\n */\nfunction handleAdditions(\n\toriginalConfig: NormalizedMenuBarConfigObject,\n\tconfig: NormalizedMenuBarConfigObject,\n\titems: Array\n) {\n\tconst successFullyAddedItems: typeof items = [];\n\n\tif ( items.length == 0 ) {\n\t\treturn;\n\t}\n\n\tfor ( const itemToAdd of items ) {\n\t\tconst relation = getRelationFromPosition( itemToAdd.position );\n\t\tconst relativeId = getRelativeIdFromPosition( itemToAdd.position );\n\n\t\t// Adding a menu.\n\t\tif ( isMenuBarMenuAddition( itemToAdd ) ) {\n\t\t\tif ( !relativeId ) {\n\t\t\t\t// Adding a top-level menu at the beginning of the menu bar.\n\t\t\t\tif ( relation === 'start' ) {\n\t\t\t\t\tconfig.items.unshift( itemToAdd.menu );\n\t\t\t\t\tsuccessFullyAddedItems.push( itemToAdd );\n\t\t\t\t}\n\t\t\t\t// Adding a top-level menu at the end of the menu bar.\n\t\t\t\telse if ( relation === 'end' ) {\n\t\t\t\t\tconfig.items.push( itemToAdd.menu );\n\t\t\t\t\tsuccessFullyAddedItems.push( itemToAdd );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst topLevelMenuDefinitionIndex = config.items.findIndex( menuDefinition => menuDefinition.menuId === relativeId );\n\n\t\t\t\t// Adding a top-level menu somewhere between existing menu bar menus.\n\t\t\t\tif ( topLevelMenuDefinitionIndex != -1 ) {\n\t\t\t\t\tif ( relation === 'before' ) {\n\t\t\t\t\t\tconfig.items.splice( topLevelMenuDefinitionIndex, 0, itemToAdd.menu );\n\t\t\t\t\t\tsuccessFullyAddedItems.push( itemToAdd );\n\t\t\t\t\t} else if ( relation === 'after' ) {\n\t\t\t\t\t\tconfig.items.splice( topLevelMenuDefinitionIndex + 1, 0, itemToAdd.menu );\n\t\t\t\t\t\tsuccessFullyAddedItems.push( itemToAdd );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Adding a sub-menu to an existing items group.\n\t\t\t\telse {\n\t\t\t\t\tconst wasAdded = addMenuOrItemToGroup( config, itemToAdd.menu, relativeId, relation );\n\n\t\t\t\t\tif ( wasAdded ) {\n\t\t\t\t\t\tsuccessFullyAddedItems.push( itemToAdd );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Adding a group.\n\t\telse if ( isMenuBarMenuGroupAddition( itemToAdd ) ) {\n\t\t\twalkConfigMenus( config.items, menuDefinition => {\n\t\t\t\tif ( menuDefinition.menuId === relativeId ) {\n\t\t\t\t\t// Add a group at the start of a menu.\n\t\t\t\t\tif ( relation === 'start' ) {\n\t\t\t\t\t\tmenuDefinition.groups.unshift( itemToAdd.group );\n\t\t\t\t\t\tsuccessFullyAddedItems.push( itemToAdd );\n\t\t\t\t\t}\n\t\t\t\t\t// Add a group at the end of a menu.\n\t\t\t\t\telse if ( relation === 'end' ) {\n\t\t\t\t\t\tmenuDefinition.groups.push( itemToAdd.group );\n\t\t\t\t\t\tsuccessFullyAddedItems.push( itemToAdd );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst relativeGroupIndex = menuDefinition.groups.findIndex( group => group.groupId === relativeId );\n\n\t\t\t\t\tif ( relativeGroupIndex !== -1 ) {\n\t\t\t\t\t\t// Add a group before an existing group in a menu.\n\t\t\t\t\t\tif ( relation === 'before' ) {\n\t\t\t\t\t\t\tmenuDefinition.groups.splice( relativeGroupIndex, 0, itemToAdd.group );\n\t\t\t\t\t\t\tsuccessFullyAddedItems.push( itemToAdd );\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Add a group after an existing group in a menu.\n\t\t\t\t\t\telse if ( relation === 'after' ) {\n\t\t\t\t\t\t\tmenuDefinition.groups.splice( relativeGroupIndex + 1, 0, itemToAdd.group );\n\t\t\t\t\t\t\tsuccessFullyAddedItems.push( itemToAdd );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t\t// Adding an item to an existing items group.\n\t\telse {\n\t\t\tconst wasAdded = addMenuOrItemToGroup( config, itemToAdd.item, relativeId, relation );\n\n\t\t\tif ( wasAdded ) {\n\t\t\t\tsuccessFullyAddedItems.push( itemToAdd );\n\t\t\t}\n\t\t}\n\t}\n\n\tfor ( const addedItemConfig of items ) {\n\t\tif ( !successFullyAddedItems.includes( addedItemConfig ) ) {\n\t\t\t/**\n\t\t\t * There was a problem processing the configuration of the menu bar. The configured item could not be added\n\t\t\t * because the position it was supposed to be added to does not exist.\n\t\t\t *\n\t\t\t * This warning usually shows up when the {@link module:core/plugin~Plugin} which is supposed\n\t\t\t * to provide a menu bar item has not been loaded or there is a typo in the\n\t\t\t * {@link module:core/editor/editorconfig~EditorConfig#menuBar menu bar configuration}.\n\t\t\t *\n\t\t\t * @error menu-bar-item-could-not-be-removed\n\t\t\t * @param menuBarConfig The full configuration of the menu bar.\n\t\t\t * @param itemName The name of the item that was not removed from the menu bar.\n\t\t\t */\n\t\t\tlogWarning( 'menu-bar-item-could-not-be-added', {\n\t\t\t\tmenuBarConfig: originalConfig,\n\t\t\t\taddedItemConfig\n\t\t\t} );\n\t\t}\n\t}\n}\n\n/**\n * Handles adding a sub-menu or an item into a group. The logic is the same for both cases.\n */\nfunction addMenuOrItemToGroup(\n\tconfig: NormalizedMenuBarConfigObject,\n\titemOrMenuToAdd: string | MenuBarMenuDefinition,\n\trelativeId: string | null,\n\trelation: 'start' | 'end' | 'before' | 'after'\n): boolean {\n\tlet wasAdded = false;\n\n\twalkConfigMenus( config.items, menuDefinition => {\n\t\tfor ( const { groupId, items: groupItems } of menuDefinition.groups ) {\n\t\t\t// Avoid infinite loops.\n\t\t\tif ( wasAdded ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( groupId === relativeId ) {\n\t\t\t\t// Adding an item/menu at the beginning of a group.\n\t\t\t\tif ( relation === 'start' ) {\n\t\t\t\t\tgroupItems.unshift( itemOrMenuToAdd );\n\t\t\t\t\twasAdded = true;\n\t\t\t\t}\n\t\t\t\t// Adding an item/menu at the end of a group.\n\t\t\t\telse if ( relation === 'end' ) {\n\t\t\t\t\tgroupItems.push( itemOrMenuToAdd );\n\t\t\t\t\twasAdded = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Adding an item/menu relative to an existing item/menu.\n\t\t\t\tconst relativeItemIndex = groupItems.findIndex( groupItem => {\n\t\t\t\t\treturn getIdFromGroupItem( groupItem ) === relativeId;\n\t\t\t\t} );\n\n\t\t\t\tif ( relativeItemIndex !== -1 ) {\n\t\t\t\t\tif ( relation === 'before' ) {\n\t\t\t\t\t\tgroupItems.splice( relativeItemIndex, 0, itemOrMenuToAdd );\n\t\t\t\t\t\twasAdded = true;\n\t\t\t\t\t} else if ( relation === 'after' ) {\n\t\t\t\t\t\tgroupItems.splice( relativeItemIndex + 1, 0, itemOrMenuToAdd );\n\t\t\t\t\t\twasAdded = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} );\n\n\treturn wasAdded;\n}\n\n/**\n * Removes components from the menu bar configuration that are not available in the factory and would\n * not be instantiated. Warns about missing components if the menu bar configuration was specified by the user.\n */\nfunction purgeUnavailableComponents(\n\toriginalConfig: NormalizedMenuBarConfigObject,\n\tconfig: NormalizedMenuBarConfigObject,\n\tcomponentFactory: ComponentFactory\n) {\n\twalkConfigMenus( config.items, menuDefinition => {\n\t\tfor ( const groupDefinition of menuDefinition.groups ) {\n\t\t\tgroupDefinition.items = groupDefinition.items.filter( item => {\n\t\t\t\tconst isItemUnavailable = typeof item === 'string' && !componentFactory.has( item );\n\n\t\t\t\t// The default configuration contains all possible editor features. But integrators' editors rarely load\n\t\t\t\t// every possible feature. This is why we do not want to log warnings about unavailable items for the default config\n\t\t\t\t// because they would show up in almost every integration. If the configuration has been provided by\n\t\t\t\t// the integrator, on the other hand, then these warnings bring value.\n\t\t\t\tif ( isItemUnavailable && !config.isUsingDefaultConfig ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * There was a problem processing the configuration of the menu bar. The item with the given\n\t\t\t\t\t * name does not exist so it was omitted when rendering the menu bar.\n\t\t\t\t\t *\n\t\t\t\t\t * This warning usually shows up when the {@link module:core/plugin~Plugin} which is supposed\n\t\t\t\t\t * to provide a menu bar item has not been loaded or there is a typo in the\n\t\t\t\t\t * {@link module:core/editor/editorconfig~EditorConfig#menuBar menu bar configuration}.\n\t\t\t\t\t *\n\t\t\t\t\t * Make sure the plugin responsible for this menu bar item is loaded and the menu bar configuration\n\t\t\t\t\t * is correct, e.g. {@link module:basic-styles/bold/boldui~BoldUI} is loaded for the `'menuBar:bold'`\n\t\t\t\t\t * menu bar item.\n\t\t\t\t\t *\n\t\t\t\t\t * @error menu-bar-item-unavailable\n\t\t\t\t\t * @param menuBarConfig The full configuration of the menu bar.\n\t\t\t\t\t * @param parentMenuConfig The config of the menu the unavailable component was defined in.\n\t\t\t\t\t * @param componentName The name of the unavailable component.\n\t\t\t\t\t */\n\t\t\t\t\tlogWarning( 'menu-bar-item-unavailable', {\n\t\t\t\t\t\tmenuBarConfig: originalConfig,\n\t\t\t\t\t\tparentMenuConfig: cloneDeep( menuDefinition ),\n\t\t\t\t\t\tcomponentName: item\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn !isItemUnavailable;\n\t\t\t} );\n\t\t}\n\t} );\n}\n\n/**\n * Removes empty menus from the menu bar configuration to improve the visual UX. Such menus can occur\n * when some plugins responsible for providing menu bar items have not been loaded and some part of\n * the configuration populated menus using these components exclusively.\n */\nfunction purgeEmptyMenus(\n\toriginalConfig: NormalizedMenuBarConfigObject,\n\tconfig: NormalizedMenuBarConfigObject\n) {\n\tconst isUsingDefaultConfig = config.isUsingDefaultConfig;\n\tlet wasSubMenuPurged = false;\n\n\t// Purge top-level menus.\n\tconfig.items = config.items.filter( menuDefinition => {\n\t\tif ( !menuDefinition.groups.length ) {\n\t\t\twarnAboutEmptyMenu( originalConfig, menuDefinition, isUsingDefaultConfig );\n\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} );\n\n\t// Warn if there were no top-level menus left in the menu bar after purging.\n\tif ( !config.items.length ) {\n\t\twarnAboutEmptyMenu( originalConfig, originalConfig, isUsingDefaultConfig );\n\n\t\treturn;\n\t}\n\n\t// Purge sub-menus and groups.\n\twalkConfigMenus( config.items, menuDefinition => {\n\t\t// Get rid of empty groups.\n\t\tmenuDefinition.groups = menuDefinition.groups.filter( groupDefinition => {\n\t\t\tif ( !groupDefinition.items.length ) {\n\t\t\t\twasSubMenuPurged = true;\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn true;\n\t\t} );\n\n\t\t// Get rid of empty sub-menus.\n\t\tfor ( const groupDefinition of menuDefinition.groups ) {\n\t\t\tgroupDefinition.items = groupDefinition.items.filter( item => {\n\t\t\t\t// If no groups were left after removing empty ones.\n\t\t\t\tif ( isMenuDefinition( item ) && !item.groups.length ) {\n\t\t\t\t\twarnAboutEmptyMenu( originalConfig, item, isUsingDefaultConfig );\n\t\t\t\t\twasSubMenuPurged = true;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t} );\n\t\t}\n\t} );\n\n\tif ( wasSubMenuPurged ) {\n\t\t// The config is walked from the root to the leaves so if anything gets removed, we need to re-run the\n\t\t// whole process because it could've affected parents.\n\t\tpurgeEmptyMenus( originalConfig, config );\n\t}\n}\n\nfunction warnAboutEmptyMenu(\n\toriginalConfig: NormalizedMenuBarConfigObject,\n\temptyMenuConfig: MenuBarMenuDefinition | NormalizedMenuBarConfigObject,\n\tisUsingDefaultConfig: boolean\n) {\n\tif ( isUsingDefaultConfig ) {\n\t\treturn;\n\t}\n\n\t/**\n\t * There was a problem processing the configuration of the menu bar. One of the menus\n\t * is empty so it was omitted when rendering the menu bar.\n\t *\n\t * This warning usually shows up when some {@link module:core/plugin~Plugin plugins} responsible for\n\t * providing menu bar items have not been loaded and the\n\t * {@link module:core/editor/editorconfig~EditorConfig#menuBar menu bar configuration} was not updated.\n\t *\n\t * Make sure all necessary editor plugins are loaded and/or update the menu bar configuration\n\t * to account for the missing menu items.\n\t *\n\t * @error menu-bar-menu-empty\n\t * @param menuBarConfig The full configuration of the menu bar.\n\t * @param emptyMenuConfig The definition of the menu that has no child items.\n\t */\n\tlogWarning( 'menu-bar-menu-empty', {\n\t\tmenuBarConfig: originalConfig,\n\t\temptyMenuConfig\n\t} );\n}\n\n/**\n * Localizes the user-config using pre-defined localized category labels.\n */\nfunction localizeMenuLabels( config: NormalizedMenuBarConfigObject, locale: Locale ) {\n\tconst t = locale.t;\n\tconst localizedCategoryLabels: Record = {\n\t\t// Top-level categories.\n\t\t'File': t( {\n\t\t\tstring: 'File',\n\t\t\tid: 'MENU_BAR_MENU_FILE'\n\t\t} ),\n\t\t'Edit': t( {\n\t\t\tstring: 'Edit',\n\t\t\tid: 'MENU_BAR_MENU_EDIT'\n\t\t} ),\n\t\t'View': t( {\n\t\t\tstring: 'View',\n\t\t\tid: 'MENU_BAR_MENU_VIEW'\n\t\t} ),\n\t\t'Insert': t( {\n\t\t\tstring: 'Insert',\n\t\t\tid: 'MENU_BAR_MENU_INSERT'\n\t\t} ),\n\t\t'Format': t( {\n\t\t\tstring: 'Format',\n\t\t\tid: 'MENU_BAR_MENU_FORMAT'\n\t\t} ),\n\t\t'Tools': t( {\n\t\t\tstring: 'Tools',\n\t\t\tid: 'MENU_BAR_MENU_TOOLS'\n\t\t} ),\n\t\t'Help': t( {\n\t\t\tstring: 'Help',\n\t\t\tid: 'MENU_BAR_MENU_HELP'\n\t\t} ),\n\n\t\t// Sub-menus.\n\t\t'Text': t( {\n\t\t\tstring: 'Text',\n\t\t\tid: 'MENU_BAR_MENU_TEXT'\n\t\t} ),\n\t\t'Font': t( {\n\t\t\tstring: 'Font',\n\t\t\tid: 'MENU_BAR_MENU_FONT'\n\t\t} )\n\t};\n\n\twalkConfigMenus( config.items, definition => {\n\t\tif ( definition.label in localizedCategoryLabels ) {\n\t\t\tdefinition.label = localizedCategoryLabels[ definition.label ];\n\t\t}\n\t} );\n}\n\n/**\n * Recursively visits all menu definitions in the config and calls the callback for each of them.\n */\nfunction walkConfigMenus(\n\tdefinition: NormalizedMenuBarConfigObject[ 'items' ] | MenuBarMenuDefinition,\n\tcallback: ( definition: MenuBarMenuDefinition ) => void\n) {\n\tif ( Array.isArray( definition ) ) {\n\t\tfor ( const topLevelMenuDefinition of definition ) {\n\t\t\twalk( topLevelMenuDefinition );\n\t\t}\n\t}\n\n\tfunction walk( menuDefinition: MenuBarMenuDefinition ) {\n\t\tcallback( menuDefinition );\n\n\t\tfor ( const groupDefinition of menuDefinition.groups ) {\n\t\t\tfor ( const groupItem of groupDefinition.items ) {\n\t\t\t\tif ( isMenuDefinition( groupItem ) ) {\n\t\t\t\t\twalk( groupItem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction isMenuBarMenuAddition( definition: any ): definition is MenuBarConfigAddedMenu {\n\treturn typeof definition === 'object' && 'menu' in definition;\n}\n\nfunction isMenuBarMenuGroupAddition( definition: any ): definition is MenuBarConfigAddedGroup {\n\treturn typeof definition === 'object' && 'group' in definition;\n}\n\nfunction getRelationFromPosition( position: MenuBarConfigAddedPosition ): 'start' | 'end' | 'before' | 'after' {\n\tif ( position.startsWith( 'start' ) ) {\n\t\treturn 'start';\n\t} else if ( position.startsWith( 'end' ) ) {\n\t\treturn 'end';\n\t} else if ( position.startsWith( 'after' ) ) {\n\t\treturn 'after';\n\t} else {\n\t\treturn 'before';\n\t}\n}\n\nfunction getRelativeIdFromPosition( position: MenuBarConfigAddedPosition ): string | null {\n\tconst match = position.match( /^[^:]+:(.+)/ );\n\n\tif ( match ) {\n\t\treturn match[ 1 ];\n\t}\n\n\treturn null;\n}\n\nfunction getIdFromGroupItem( item: string | MenuBarMenuDefinition ): string {\n\treturn typeof item === 'string' ? item : item.menuId;\n}\n\nfunction isMenuDefinition( definition: any ): definition is MenuBarMenuDefinition {\n\treturn typeof definition === 'object' && 'menuId' in definition;\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/editorui/editorui\n */\n\n/* globals console */\n\nimport ComponentFactory from '../componentfactory.js';\nimport TooltipManager from '../tooltipmanager.js';\nimport PoweredBy from './poweredby.js';\nimport AriaLiveAnnouncer from '../arialiveannouncer.js';\n\nimport type EditorUIView from './editoruiview.js';\nimport type ToolbarView from '../toolbar/toolbarview.js';\nimport type { default as View, UIViewRenderEvent } from '../view.js';\n\nimport {\n\tObservableMixin,\n\tisVisible,\n\tFocusTracker,\n\ttype EventInfo, type CollectionAddEvent, type CollectionRemoveEvent\n} from '@ckeditor/ckeditor5-utils';\n\nimport type { Editor } from '@ckeditor/ckeditor5-core';\nimport type { ViewDocumentLayoutChangedEvent, ViewScrollToTheSelectionEvent } from '@ckeditor/ckeditor5-engine';\nimport type {\n\tdefault as MenuBarView,\n\tMenuBarConfigAddedGroup,\n\tMenuBarConfigAddedItem,\n\tMenuBarConfigAddedMenu\n} from '../menubar/menubarview.js';\nimport { normalizeMenuBarConfig } from '../menubar/utils.js';\n\n/**\n * A class providing the minimal interface that is required to successfully bootstrap any editor UI.\n */\nexport default abstract class EditorUI extends /* #__PURE__ */ ObservableMixin() {\n\t/**\n\t * The editor that the UI belongs to.\n\t */\n\tpublic readonly editor: Editor;\n\n\t/**\n\t * An instance of the {@link module:ui/componentfactory~ComponentFactory}, a registry used by plugins\n\t * to register factories of specific UI components.\n\t */\n\tpublic readonly componentFactory: ComponentFactory;\n\n\t/**\n\t * Stores the information about the editor UI focus and propagates it so various plugins and components\n\t * are unified as a focus group.\n\t */\n\tpublic readonly focusTracker: FocusTracker;\n\n\t/**\n\t * Manages the tooltips displayed on mouseover and focus across the UI.\n\t */\n\tpublic readonly tooltipManager: TooltipManager;\n\n\t/**\n\t * A helper that enables the \"powered by\" feature in the editor and renders a link to the project's webpage.\n\t */\n\tpublic readonly poweredBy: PoweredBy;\n\n\t/**\n\t * A helper that manages the content of an `aria-live` regions used by editor features to announce status changes\n\t * to screen readers.\n\t */\n\tpublic readonly ariaLiveAnnouncer: AriaLiveAnnouncer;\n\n\t/**\n\t * Indicates the UI is ready. Set `true` after {@link #event:ready} event is fired.\n\t *\n\t * @readonly\n\t * @default false\n\t */\n\tpublic isReady: boolean = false;\n\n\tpublic abstract get view(): EditorUIView;\n\n\t/**\n\t * Stores viewport offsets from every direction.\n\t *\n\t * Viewport offset can be used to constrain balloons or other UI elements into an element smaller than the viewport.\n\t * This can be useful if there are any other absolutely positioned elements that may interfere with editor UI.\n\t *\n\t * Example `editor.ui.viewportOffset` returns:\n\t *\n\t * ```js\n\t * {\n\t * \ttop: 50,\n\t * \tright: 50,\n\t * \tbottom: 50,\n\t * \tleft: 50\n\t * }\n\t * ```\n\t *\n\t * This property can be overriden after editor already being initialized:\n\t *\n\t * ```js\n\t * editor.ui.viewportOffset = {\n\t * \ttop: 100,\n\t * \tright: 0,\n\t * \tbottom: 0,\n\t * \tleft: 0\n\t * };\n\t * ```\n\t *\n\t * @observable\n\t */\n\tpublic declare viewportOffset: {\n\t\tleft?: number;\n\t\tright?: number;\n\t\ttop?: number;\n\t\tbottom?: number;\n\t};\n\n\t/**\n\t * Stores all editable elements used by the editor instance.\n\t */\n\tprivate _editableElementsMap = new Map();\n\n\t/**\n\t * All available & focusable toolbars.\n\t */\n\tprivate _focusableToolbarDefinitions: Array = [];\n\n\t/**\n\t * All additional menu bar items, groups or menus that have their default location defined.\n\t */\n\tprivate _extraMenuBarElements: Array = [];\n\n\t/**\n\t * The last focused element to which focus should return on `Esc` press.\n\t */\n\tprivate _lastFocusedForeignElement: HTMLElement | null = null;\n\n\t/**\n\t * Creates an instance of the editor UI class.\n\t *\n\t * @param editor The editor instance.\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper();\n\n\t\tconst editingView = editor.editing.view;\n\n\t\tthis.editor = editor;\n\t\tthis.componentFactory = new ComponentFactory( editor );\n\t\tthis.focusTracker = new FocusTracker();\n\t\tthis.tooltipManager = new TooltipManager( editor );\n\t\tthis.poweredBy = new PoweredBy( editor );\n\t\tthis.ariaLiveAnnouncer = new AriaLiveAnnouncer( editor );\n\n\t\tthis.set( 'viewportOffset', this._readViewportOffsetFromConfig() );\n\n\t\tthis.once( 'ready', () => {\n\t\t\tthis._bindBodyCollectionWithFocusTracker();\n\n\t\t\tthis.isReady = true;\n\t\t} );\n\n\t\t// Informs UI components that should be refreshed after layout change.\n\t\tthis.listenTo( editingView.document, 'layoutChanged', this.update.bind( this ) );\n\t\tthis.listenTo( editingView, 'scrollToTheSelection', this._handleScrollToTheSelection.bind( this ) );\n\n\t\tthis._initFocusTracking();\n\t}\n\n\t/**\n\t * The main (outermost) DOM element of the editor UI.\n\t *\n\t * For example, in {@link module:editor-classic/classiceditor~ClassicEditor} it is a `
` which\n\t * wraps the editable element and the toolbar. In {@link module:editor-inline/inlineeditor~InlineEditor}\n\t * it is the editable element itself (as there is no other wrapper). However, in\n\t * {@link module:editor-decoupled/decouplededitor~DecoupledEditor} it is set to `null` because this editor does not\n\t * come with a single \"main\" HTML element (its editable element and toolbar are separate).\n\t *\n\t * This property can be understood as a shorthand for retrieving the element that a specific editor integration\n\t * considers to be its main DOM element.\n\t */\n\tpublic get element(): HTMLElement | null {\n\t\treturn null;\n\t}\n\n\t/**\n\t * Fires the {@link module:ui/editorui/editorui~EditorUI#event:update `update`} event.\n\t *\n\t * This method should be called when the editor UI (e.g. positions of its balloons) needs to be updated due to\n\t * some environmental change which CKEditor 5 is not aware of (e.g. resize of a container in which it is used).\n\t */\n\tpublic update(): void {\n\t\tthis.fire( 'update' );\n\t}\n\n\t/**\n\t * Destroys the UI.\n\t */\n\tpublic destroy(): void {\n\t\tthis.stopListening();\n\n\t\tthis.focusTracker.destroy();\n\t\tthis.tooltipManager.destroy( this.editor );\n\t\tthis.poweredBy.destroy();\n\n\t\t// Clean–up the references to the CKEditor instance stored in the native editable DOM elements.\n\t\tfor ( const domElement of this._editableElementsMap.values() ) {\n\t\t\t( domElement as any ).ckeditorInstance = null;\n\t\t\tthis.editor.keystrokes.stopListening( domElement );\n\t\t}\n\n\t\tthis._editableElementsMap = new Map();\n\t\tthis._focusableToolbarDefinitions = [];\n\t}\n\n\t/**\n\t * Stores the native DOM editable element used by the editor under a unique name.\n\t *\n\t * Also, registers the element in the editor to maintain the accessibility of the UI. When the user is editing text in a focusable\n\t * editable area, they can use the Alt + F10 keystroke to navigate over editor toolbars. See {@link #addToolbar}.\n\t *\n\t * @param rootName The unique name of the editable element.\n\t * @param domElement The native DOM editable element.\n\t */\n\tpublic setEditableElement( rootName: string, domElement: HTMLElement ): void {\n\t\tthis._editableElementsMap.set( rootName, domElement );\n\n\t\t// Put a reference to the CKEditor instance in the editable native DOM element.\n\t\t// It helps 3rd–party software (browser extensions, other libraries) access and recognize\n\t\t// CKEditor 5 instances (editing roots) and use their API (there is no global editor\n\t\t// instance registry).\n\t\tif ( !( domElement as any ).ckeditorInstance ) {\n\t\t\t( domElement as any ).ckeditorInstance = this.editor;\n\t\t}\n\n\t\t// Register the element, so it becomes available for Alt+F10 and Esc navigation.\n\t\tthis.focusTracker.add( domElement );\n\n\t\tconst setUpKeystrokeHandler = () => {\n\t\t\t// The editing view of the editor is already listening to keystrokes from DOM roots (see: KeyObserver).\n\t\t\t// Do not duplicate listeners.\n\t\t\tif ( this.editor.editing.view.getDomRoot( rootName ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.editor.keystrokes.listenTo( domElement );\n\t\t};\n\n\t\t// For editable elements set by features after EditorUI is ready (e.g. source editing).\n\t\tif ( this.isReady ) {\n\t\t\tsetUpKeystrokeHandler();\n\t\t}\n\t\t// For editable elements set while the editor is being created (e.g. DOM roots).\n\t\telse {\n\t\t\tthis.once( 'ready', setUpKeystrokeHandler );\n\t\t}\n\t}\n\n\t/**\n\t * Removes the editable from the editor UI. Removes all handlers added by {@link #setEditableElement}.\n\t *\n\t * @param rootName The name of the editable element to remove.\n\t */\n\tpublic removeEditableElement( rootName: string ): void {\n\t\tconst domElement = this._editableElementsMap.get( rootName );\n\n\t\tif ( !domElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._editableElementsMap.delete( rootName );\n\n\t\tthis.editor.keystrokes.stopListening( domElement );\n\t\tthis.focusTracker.remove( domElement );\n\n\t\t( domElement as any ).ckeditorInstance = null;\n\t}\n\n\t/**\n\t * Returns the editable editor element with the given name or null if editable does not exist.\n\t *\n\t * @param rootName The editable name.\n\t */\n\tpublic getEditableElement( rootName: string = 'main' ): HTMLElement | undefined {\n\t\treturn this._editableElementsMap.get( rootName );\n\t}\n\n\t/**\n\t * Returns array of names of all editor editable elements.\n\t */\n\tpublic getEditableElementsNames(): IterableIterator {\n\t\treturn this._editableElementsMap.keys();\n\t}\n\n\t/**\n\t * Adds a toolbar to the editor UI. Used primarily to maintain the accessibility of the UI.\n\t *\n\t * Focusable toolbars can be accessed (focused) by users by pressing the Alt + F10 keystroke.\n\t * Successive keystroke presses navigate over available toolbars.\n\t *\n\t * @param toolbarView A instance of the toolbar to be registered.\n\t */\n\tpublic addToolbar( toolbarView: ToolbarView, options: FocusableToolbarOptions = {} ): void {\n\t\tif ( toolbarView.isRendered ) {\n\t\t\tthis.focusTracker.add( toolbarView.element! );\n\t\t\tthis.editor.keystrokes.listenTo( toolbarView.element! );\n\t\t} else {\n\t\t\ttoolbarView.once( 'render', () => {\n\t\t\t\tthis.focusTracker.add( toolbarView.element! );\n\t\t\t\tthis.editor.keystrokes.listenTo( toolbarView.element! );\n\t\t\t} );\n\t\t}\n\n\t\tthis._focusableToolbarDefinitions.push( { toolbarView, options } );\n\t}\n\n\t/**\n\t * Registers an extra menu bar element, which could be a single item, a group of items, or a menu containing groups.\n\t *\n\t * ```ts\n\t * // Register a new menu bar item.\n\t * editor.ui.extendMenuBar( {\n\t * item: 'menuBar:customFunctionButton',\n\t * position: 'after:menuBar:bold'\n\t * } );\n\t *\n\t * // Register a new menu bar group.\n\t * editor.ui.extendMenuBar( {\n\t * group: {\n\t * groupId: 'customGroup',\n\t * items: [\n\t * 'menuBar:customFunctionButton'\n\t * ]\n\t * },\n\t * position: 'start:help'\n\t * } );\n\t *\n\t * // Register a new menu bar menu.\n\t * editor.ui.extendMenuBar( {\n\t * menu: {\n\t * menuId: 'customMenu',\n\t * label: 'customMenu',\n\t * groups: [\n\t * {\n\t * groupId: 'customGroup',\n\t * items: [\n\t * 'menuBar:customFunctionButton'\n\t * ]\n\t * }\n\t * ]\n\t * },\n\t * position: 'after:help'\n\t * } );\n\t * ```\n\t */\n\tpublic extendMenuBar(\n\t\tconfig: MenuBarConfigAddedItem | MenuBarConfigAddedGroup | MenuBarConfigAddedMenu\n\t): void {\n\t\tthis._extraMenuBarElements.push( config );\n\t}\n\n\t/**\n\t * Stores all editable elements used by the editor instance.\n\t *\n\t * @deprecated\n\t */\n\tprotected get _editableElements(): unknown {\n\t\t/**\n\t\t * The {@link module:ui/editorui/editorui~EditorUI#_editableElements `EditorUI#_editableElements`} property has been\n\t\t * deprecated and will be removed in the near future. Please use\n\t\t * {@link module:ui/editorui/editorui~EditorUI#setEditableElement `setEditableElement()`} and\n\t\t * {@link module:ui/editorui/editorui~EditorUI#getEditableElement `getEditableElement()`} methods instead.\n\t\t *\n\t\t * @error editor-ui-deprecated-editable-elements\n\t\t * @param editorUI Editor UI instance the deprecated property belongs to.\n\t\t */\n\t\tconsole.warn(\n\t\t\t'editor-ui-deprecated-editable-elements: ' +\n\t\t\t'The EditorUI#_editableElements property has been deprecated and will be removed in the near future.',\n\t\t\t{ editorUI: this } );\n\n\t\treturn this._editableElementsMap;\n\t}\n\n\t/**\n\t * Initializes menu bar.\n\t */\n\tprotected _initMenuBar( menuBarView: MenuBarView ): void {\n\t\tconst menuBarViewElement = menuBarView.element!;\n\n\t\tthis.focusTracker.add( menuBarViewElement );\n\t\tthis.editor.keystrokes.listenTo( menuBarViewElement );\n\n\t\tconst normalizedMenuBarConfig = normalizeMenuBarConfig( this.editor.config.get( 'menuBar' ) || {} );\n\n\t\tmenuBarView.fillFromConfig( normalizedMenuBarConfig, this.componentFactory, this._extraMenuBarElements );\n\n\t\tthis.editor.keystrokes.set( 'Esc', ( data, cancel ) => {\n\t\t\tif ( !menuBarViewElement.contains( this.editor.ui.focusTracker.focusedElement ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Bring focus back to where it came from before focusing the toolbar:\n\t\t\t// If it came from outside the engine view (e.g. source editing), move it there.\n\t\t\tif ( this._lastFocusedForeignElement ) {\n\t\t\t\tthis._lastFocusedForeignElement.focus();\n\t\t\t\tthis._lastFocusedForeignElement = null;\n\t\t\t}\n\t\t\t// Else just focus the view editing.\n\t\t\telse {\n\t\t\t\tthis.editor.editing.view.focus();\n\t\t\t}\n\n\t\t\tcancel();\n\t\t} );\n\n\t\tthis.editor.keystrokes.set( 'Alt+F9', ( data, cancel ) => {\n\t\t\t// If menu bar is already focused do nothing.\n\t\t\tif ( menuBarViewElement.contains( this.editor.ui.focusTracker.focusedElement ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._saveLastFocusedForeignElement();\n\n\t\t\tmenuBarView.isFocusBorderEnabled = true;\n\t\t\tmenuBarView.focus();\n\t\t\tcancel();\n\t\t} );\n\t}\n\n\t/**\n\t * Returns viewport offsets object:\n\t *\n\t * ```js\n\t * {\n\t * \ttop: Number,\n\t * \tright: Number,\n\t * \tbottom: Number,\n\t * \tleft: Number\n\t * }\n\t * ```\n\t *\n\t * Only top property is currently supported.\n\t */\n\tprivate _readViewportOffsetFromConfig() {\n\t\tconst editor = this.editor;\n\t\tconst viewportOffsetConfig = editor.config.get( 'ui.viewportOffset' );\n\n\t\tif ( viewportOffsetConfig ) {\n\t\t\treturn viewportOffsetConfig;\n\t\t}\n\n\t\t// Not present in EditorConfig type, because it's legacy. Hence the `as` expression.\n\t\tconst legacyOffsetConfig = editor.config.get( 'toolbar.viewportTopOffset' ) as number | undefined;\n\n\t\t// Fall back to deprecated toolbar config.\n\t\tif ( legacyOffsetConfig ) {\n\t\t\t/**\n\t\t\t * The {@link module:core/editor/editorconfig~EditorConfig#toolbar `EditorConfig#toolbar.viewportTopOffset`}\n\t\t\t * property has been deprecated and will be removed in the near future. Please use\n\t\t\t * {@link module:core/editor/editorconfig~EditorConfig#ui `EditorConfig#ui.viewportOffset`} instead.\n\t\t\t *\n\t\t\t * @error editor-ui-deprecated-viewport-offset-config\n\t\t\t */\n\t\t\tconsole.warn(\n\t\t\t\t'editor-ui-deprecated-viewport-offset-config: ' +\n\t\t\t\t'The `toolbar.vieportTopOffset` configuration option is deprecated. ' +\n\t\t\t\t'It will be removed from future CKEditor versions. Use `ui.viewportOffset.top` instead.'\n\t\t\t);\n\n\t\t\treturn { top: legacyOffsetConfig };\n\t\t}\n\n\t\t// More keys to come in the future.\n\t\treturn { top: 0 };\n\t}\n\n\t/**\n\t * Starts listening for Alt + F10 and Esc keystrokes in the context of focusable\n\t * {@link #setEditableElement editable elements} and {@link #addToolbar toolbars}\n\t * to allow users navigate across the UI.\n\t */\n\tprivate _initFocusTracking(): void {\n\t\tconst editor = this.editor;\n\n\t\tlet candidateDefinitions: Array;\n\n\t\t// Focus the next focusable toolbar on Alt + F10.\n\t\teditor.keystrokes.set( 'Alt+F10', ( data, cancel ) => {\n\t\t\tthis._saveLastFocusedForeignElement();\n\n\t\t\tconst currentFocusedToolbarDefinition = this._getCurrentFocusedToolbarDefinition();\n\n\t\t\t// * When focusing a toolbar for the first time, set the array of definitions for successive presses of Alt+F10.\n\t\t\t// This ensures, the navigation works always the same and no pair of toolbars takes over\n\t\t\t// (e.g. image and table toolbars when a selected image is inside a cell).\n\t\t\t// * It could be that the focus went to the toolbar by clicking a toolbar item (e.g. a dropdown). In this case,\n\t\t\t// there were no candidates so they must be obtained (#12339).\n\t\t\tif ( !currentFocusedToolbarDefinition || !candidateDefinitions ) {\n\t\t\t\tcandidateDefinitions = this._getFocusableCandidateToolbarDefinitions();\n\t\t\t}\n\n\t\t\t// In a single Alt+F10 press, check all candidates but if none were focused, don't go any further.\n\t\t\t// This prevents an infinite loop.\n\t\t\tfor ( let i = 0; i < candidateDefinitions.length; i++ ) {\n\t\t\t\tconst candidateDefinition = candidateDefinitions.shift()!;\n\n\t\t\t\t// Put the first definition to the back of the array. This allows circular navigation over all toolbars\n\t\t\t\t// on successive presses of Alt+F10.\n\t\t\t\tcandidateDefinitions.push( candidateDefinition );\n\n\t\t\t\t// Don't focus the same toolbar again. If you did, this would move focus from the nth focused toolbar item back to the\n\t\t\t\t// first item as per ToolbarView#focus() if the user navigated inside the toolbar.\n\t\t\t\tif (\n\t\t\t\t\tcandidateDefinition !== currentFocusedToolbarDefinition &&\n\t\t\t\t\tthis._focusFocusableCandidateToolbar( candidateDefinition )\n\t\t\t\t) {\n\t\t\t\t\t// Clean up after a current visible toolbar when switching to the next one.\n\t\t\t\t\tif ( currentFocusedToolbarDefinition && currentFocusedToolbarDefinition.options.afterBlur ) {\n\t\t\t\t\t\tcurrentFocusedToolbarDefinition.options.afterBlur();\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcancel();\n\t\t} );\n\n\t\t// Blur the focused toolbar on Esc and bring the focus back to its origin.\n\t\teditor.keystrokes.set( 'Esc', ( data, cancel ) => {\n\t\t\tconst focusedToolbarDef = this._getCurrentFocusedToolbarDefinition();\n\n\t\t\tif ( !focusedToolbarDef ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Bring focus back to where it came from before focusing the toolbar:\n\t\t\t// 1. If it came from outside the engine view (e.g. source editing), move it there.\n\t\t\tif ( this._lastFocusedForeignElement ) {\n\t\t\t\tthis._lastFocusedForeignElement.focus();\n\t\t\t\tthis._lastFocusedForeignElement = null;\n\t\t\t}\n\t\t\t// 2. There are two possibilities left:\n\t\t\t// 2.1. It could be that the focus went from an editable element in the view (root or nested).\n\t\t\t// 2.2. It could be the focus went straight to the toolbar before even focusing the editing area.\n\t\t\t// In either case, just focus the view editing. The focus will land where it belongs.\n\t\t\telse {\n\t\t\t\teditor.editing.view.focus();\n\t\t\t}\n\n\t\t\t// Clean up after the toolbar if there is anything to do there.\n\t\t\tif ( focusedToolbarDef.options.afterBlur ) {\n\t\t\t\tfocusedToolbarDef.options.afterBlur();\n\t\t\t}\n\n\t\t\tcancel();\n\t\t} );\n\t}\n\n\t/**\n\t * Saves last focused element that doen not belong to editing view to restore focus on `Esc`.\n\t */\n\tprivate _saveLastFocusedForeignElement() {\n\t\tconst focusedElement = this.focusTracker.focusedElement as HTMLElement;\n\n\t\t// Focus moved out of a DOM element that\n\t\t// * is not a toolbar,\n\t\t// * does not belong to the editing view (e.g. source editing).\n\t\tif (\n\t\t\tArray.from( this._editableElementsMap.values() ).includes( focusedElement ) &&\n\t\t\t!Array.from( this.editor.editing.view.domRoots.values() ).includes( focusedElement )\n\t\t) {\n\t\t\tthis._lastFocusedForeignElement = focusedElement;\n\t\t}\n\t}\n\n\t/**\n\t * Returns definitions of toolbars that could potentially be focused, sorted by their importance for the user.\n\t *\n\t * Focusable toolbars candidates are either:\n\t * * already visible,\n\t * * have `beforeFocus()` set in their {@link module:ui/editorui/editorui~FocusableToolbarDefinition definition} that suggests that\n\t * they might show up when called. Keep in mind that determining whether a toolbar will show up (and become focusable) is impossible\n\t * at this stage because it depends on its implementation, that in turn depends on the editing context (selection).\n\t *\n\t * **Note**: Contextual toolbars take precedence over regular toolbars.\n\t */\n\tprivate _getFocusableCandidateToolbarDefinitions(): Array {\n\t\tconst definitions: Array = [];\n\n\t\tfor ( const toolbarDef of this._focusableToolbarDefinitions ) {\n\t\t\tconst { toolbarView, options } = toolbarDef;\n\n\t\t\tif ( isVisible( toolbarView.element ) || options.beforeFocus ) {\n\t\t\t\tdefinitions.push( toolbarDef );\n\t\t\t}\n\t\t}\n\n\t\t// Contextual and already visible toolbars have higher priority. If both are true, the toolbar will always focus first.\n\t\t// For instance, a selected widget toolbar vs inline editor toolbar: both are visible but the widget toolbar is contextual.\n\t\tdefinitions.sort( ( defA, defB ) => getToolbarDefinitionWeight( defA ) - getToolbarDefinitionWeight( defB ) );\n\n\t\treturn definitions;\n\t}\n\n\t/**\n\t * Returns a definition of the toolbar that is currently visible and focused (one of its children has focus).\n\t *\n\t * `null` is returned when no toolbar is currently focused.\n\t */\n\tprivate _getCurrentFocusedToolbarDefinition(): FocusableToolbarDefinition | null {\n\t\tfor ( const definition of this._focusableToolbarDefinitions ) {\n\t\t\tif ( definition.toolbarView.element && definition.toolbarView.element.contains( this.focusTracker.focusedElement ) ) {\n\t\t\t\treturn definition;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t/**\n\t * Focuses a focusable toolbar candidate using its definition.\n\t *\n\t * @param candidateToolbarDefinition A definition of the toolbar to focus.\n\t * @returns `true` when the toolbar candidate was focused. `false` otherwise.\n\t */\n\tprivate _focusFocusableCandidateToolbar( candidateToolbarDefinition: FocusableToolbarDefinition ): boolean {\n\t\tconst { toolbarView, options: { beforeFocus } } = candidateToolbarDefinition;\n\n\t\tif ( beforeFocus ) {\n\t\t\tbeforeFocus();\n\t\t}\n\n\t\t// If it didn't show up after beforeFocus(), it's not focusable at all.\n\t\tif ( !isVisible( toolbarView.element ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttoolbarView.focus();\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Provides an integration between {@link #viewportOffset} and {@link module:utils/dom/scroll~scrollViewportToShowTarget}.\n\t * It allows the UI-agnostic engine method to consider user-configured viewport offsets specific for the integration.\n\t *\n\t * @param evt The `scrollToTheSelection` event info.\n\t * @param data The payload carried by the `scrollToTheSelection` event.\n\t */\n\tprivate _handleScrollToTheSelection(\n\t\tevt: EventInfo<'scrollToTheSelection'>,\n\t\tdata: ViewScrollToTheSelectionEvent[ 'args' ][ 0 ]\n\t): void {\n\t\tconst configuredViewportOffset = {\n\t\t\ttop: 0,\n\t\t\tbottom: 0,\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t\t...this.viewportOffset\n\t\t};\n\n\t\tdata.viewportOffset.top += configuredViewportOffset.top;\n\t\tdata.viewportOffset.bottom += configuredViewportOffset.bottom;\n\t\tdata.viewportOffset.left += configuredViewportOffset.left;\n\t\tdata.viewportOffset.right += configuredViewportOffset.right;\n\t}\n\n\t/**\n\t * Ensures that the focus tracker is aware of all views' DOM elements in the body collection.\n\t */\n\tprivate _bindBodyCollectionWithFocusTracker() {\n\t\tconst body = this.view.body;\n\n\t\tfor ( const view of body ) {\n\t\t\tthis.focusTracker.add( view.element! );\n\t\t}\n\n\t\tbody.on>( 'add', ( evt, view ) => {\n\t\t\tthis.focusTracker.add( view.element! );\n\t\t} );\n\n\t\tbody.on>( 'remove', ( evt, view ) => {\n\t\t\tthis.focusTracker.remove( view.element! );\n\t\t} );\n\t}\n}\n\n/**\n * Fired when the editor UI is ready.\n *\n * Fired before {@link module:engine/controller/datacontroller~DataController#event:ready}.\n *\n * @eventName ~EditorUI#ready\n */\nexport type EditorUIReadyEvent = {\n\tname: 'ready';\n\targs: [];\n};\n\n/**\n * Fired whenever the UI (all related components) should be refreshed.\n *\n * **Note:**: The event is fired after each {@link module:engine/view/document~Document#event:layoutChanged}.\n * It can also be fired manually via the {@link module:ui/editorui/editorui~EditorUI#update} method.\n *\n * @eventName ~EditorUI#update\n */\nexport type EditorUIUpdateEvent = {\n\tname: 'update';\n\targs: [];\n};\n\n/**\n * A definition of a focusable toolbar. Used by {@link module:ui/editorui/editorui~EditorUI#addToolbar}.\n */\nexport interface FocusableToolbarDefinition {\n\n\t/**\n\t * An instance of a focusable toolbar view.\n\t */\n\ttoolbarView: ToolbarView;\n\n\t/**\n\t * Options of a focusable toolbar view:\n\t *\n\t * * `isContextual`: Marks the higher priority toolbar. For example when there are 2 visible toolbars,\n\t * it allows to distinguish which toolbar should be focused first after the `alt+f10` keystroke\n\t * * `beforeFocus`: A callback executed before the `ToolbarView` gains focus upon the `Alt+F10` keystroke.\n\t * * `afterBlur`: A callback executed after `ToolbarView` loses focus upon `Esc` keystroke but before\n\t * the focus goes back to the `origin`.\n\t */\n\toptions: FocusableToolbarOptions;\n}\n\nexport interface FocusableToolbarOptions {\n\n\t/**\n\t * Set `true` if the toolbar is attached to the content of the editor. Such toolbar takes\n\t * a precedence over other toolbars when a user pressed Alt + F10.\n\t */\n\tisContextual?: boolean;\n\n\t/**\n\t * Specify a callback executed before the toolbar instance DOM element gains focus\n\t * upon the Alt + F10 keystroke.\n\t */\n\tbeforeFocus?: () => void;\n\n\t/**\n\t * Specify a callback executed after the toolbar instance DOM element loses focus upon\n\t * Esc keystroke but before the focus goes back to the {@link ~EditorUI#setEditableElement editable element}.\n\t */\n\tafterBlur?: () => void;\n}\n\n/**\n * Returns a number (weight) for a toolbar definition. Visible toolbars have a higher priority and so do\n * contextual toolbars (displayed in the context of a content, for instance, an image toolbar).\n *\n * A standard invisible toolbar is the heaviest. A visible contextual toolbar is the lightest.\n *\n * @param toolbarDef A toolbar definition to be weighted.\n */\nfunction getToolbarDefinitionWeight( toolbarDef: FocusableToolbarDefinition ): number {\n\tconst { toolbarView, options } = toolbarDef;\n\tlet weight = 10;\n\n\t// Prioritize already visible toolbars. They should get focused first.\n\tif ( isVisible( toolbarView.element ) ) {\n\t\tweight--;\n\t}\n\n\t// Prioritize contextual toolbars. They are displayed at the selection.\n\tif ( options.isContextual ) {\n\t\tweight--;\n\t}\n\n\treturn weight;\n}\n","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./editorui.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/editorui/editoruiview\n */\n\nimport View from '../view.js';\nimport BodyCollection from './bodycollection.js';\nimport type EditableUIView from '../editableui/editableuiview.js';\n\nimport type { Locale, LocaleTranslate } from '@ckeditor/ckeditor5-utils';\n\nimport '../../theme/components/editorui/editorui.css';\nimport type MenuBarView from '../menubar/menubarview.js';\n\n/**\n * The editor UI view class. Base class for the editor main views.\n */\nexport default abstract class EditorUIView extends View {\n\t/**\n\t * Collection of the child views, detached from the DOM\n\t * structure of the editor, like panels, icons etc.\n\t */\n\tpublic readonly body: BodyCollection;\n\n\tdeclare public locale: Locale;\n\tdeclare public t: LocaleTranslate;\n\n\tpublic abstract get editable(): EditableUIView;\n\n\t/**\n\t * Menu bar view instance. May not be initialized in some editor types.\n\t */\n\tpublic menuBarView?: MenuBarView;\n\n\t/**\n\t * Creates an instance of the editor UI view class.\n\t *\n\t * @param locale The locale instance.\n\t */\n\tconstructor( locale: Locale ) {\n\t\tsuper( locale );\n\n\t\tthis.body = new BodyCollection( locale );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override render(): void {\n\t\tsuper.render();\n\n\t\tthis.body.attachToDom();\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override destroy(): void {\n\t\tthis.body.detachFromDom();\n\n\t\treturn super.destroy();\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/editableui/editableuiview\n */\n\nimport View from '../view.js';\n\nimport type { EditingView } from '@ckeditor/ckeditor5-engine';\nimport type { Locale, ObservableChangeEvent } from '@ckeditor/ckeditor5-utils';\n\n/**\n * The editable UI view class.\n */\nexport default class EditableUIView extends View {\n\t/**\n\t * The name of the editable UI view.\n\t */\n\tpublic name: string | null = null;\n\n\t/**\n\t * Controls whether the editable is focused, i.e. the user is typing in it.\n\t *\n\t * @observable\n\t */\n\tdeclare public isFocused: boolean;\n\n\t/**\n\t * The editing view instance the editable is related to. Editable uses the editing\n\t * view to dynamically modify its certain DOM attributes after {@link #render rendering}.\n\t *\n\t * **Note**: The DOM attributes are performed by the editing view and not UI\n\t * {@link module:ui/view~View#bindTemplate template bindings} because once rendered,\n\t * the editable DOM element must remain under the full control of the engine to work properly.\n\t */\n\tprotected _editingView: EditingView;\n\n\t/**\n\t * The element which is the main editable element (usually the one with `contentEditable=\"true\"`).\n\t */\n\tprotected _editableElement: HTMLElement | null | undefined;\n\n\t/**\n\t * Whether an external {@link #_editableElement} was passed into the constructor, which also means\n\t * the view will not render its {@link #template}.\n\t */\n\tprivate _hasExternalElement: boolean;\n\n\t/**\n\t * Creates an instance of EditableUIView class.\n\t *\n\t * @param locale The locale instance.\n\t * @param editingView The editing view instance the editable is related to.\n\t * @param editableElement The editable element. If not specified, this view\n\t * should create it. Otherwise, the existing element should be used.\n\t */\n\tconstructor(\n\t\tlocale: Locale,\n\t\teditingView: EditingView,\n\t\teditableElement?: HTMLElement\n\t) {\n\t\tsuper( locale );\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck',\n\t\t\t\t\t'ck-content',\n\t\t\t\t\t'ck-editor__editable',\n\t\t\t\t\t'ck-rounded-corners'\n\t\t\t\t],\n\t\t\t\tlang: locale.contentLanguage,\n\t\t\t\tdir: locale.contentLanguageDirection\n\t\t\t}\n\t\t} );\n\n\t\tthis.set( 'isFocused', false );\n\n\t\tthis._editableElement = editableElement;\n\t\tthis._hasExternalElement = !!this._editableElement;\n\t\tthis._editingView = editingView;\n\t}\n\n\t/**\n\t * Renders the view by either applying the {@link #template} to the existing\n\t * {@link module:ui/editableui/editableuiview~EditableUIView#_editableElement} or assigning {@link #element}\n\t * as {@link module:ui/editableui/editableuiview~EditableUIView#_editableElement}.\n\t */\n\tpublic override render(): void {\n\t\tsuper.render();\n\n\t\tif ( this._hasExternalElement ) {\n\t\t\tthis.template!.apply( this.element = this._editableElement! );\n\t\t} else {\n\t\t\tthis._editableElement = this.element;\n\t\t}\n\n\t\tthis.on( 'change:isFocused', () => this._updateIsFocusedClasses() );\n\t\tthis._updateIsFocusedClasses();\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override destroy(): void {\n\t\tif ( this._hasExternalElement ) {\n\t\t\tthis.template!.revert( this._editableElement! );\n\t\t}\n\n\t\tsuper.destroy();\n\t}\n\n\t/**\n\t * Whether an external {@link #_editableElement} was passed into the constructor, which also means\n\t * the view will not render its {@link #template}.\n\t */\n\tpublic get hasExternalElement(): boolean {\n\t\treturn this._hasExternalElement;\n\t}\n\n\t/**\n\t * Updates the `ck-focused` and `ck-blurred` CSS classes on the {@link #element} according to\n\t * the {@link #isFocused} property value using the {@link #_editingView editing view} API.\n\t */\n\tprivate _updateIsFocusedClasses() {\n\t\tconst editingView = this._editingView;\n\n\t\tif ( editingView.isRenderingInProgress ) {\n\t\t\tupdateAfterRender( this );\n\t\t} else {\n\t\t\tupdate( this );\n\t\t}\n\n\t\tfunction update( view: EditableUIView ) {\n\t\t\teditingView.change( writer => {\n\t\t\t\tconst viewRoot = editingView.document.getRoot( view.name! )!;\n\n\t\t\t\twriter.addClass( view.isFocused ? 'ck-focused' : 'ck-blurred', viewRoot );\n\t\t\t\twriter.removeClass( view.isFocused ? 'ck-blurred' : 'ck-focused', viewRoot );\n\t\t\t} );\n\t\t}\n\n\t\t// In a case of a multi-root editor, a callback will be attached more than once (one callback for each root).\n\t\t// While executing one callback the `isRenderingInProgress` observable is changing what causes executing another\n\t\t// callback and render is called inside the already pending render.\n\t\t// We need to be sure that callback is executed only when the value has changed from `true` to `false`.\n\t\t// See https://github.com/ckeditor/ckeditor5/issues/1676.\n\t\tfunction updateAfterRender( view: EditableUIView ) {\n\t\t\teditingView.once>( 'change:isRenderingInProgress', ( evt, name, value ) => {\n\t\t\t\tif ( !value ) {\n\t\t\t\t\tupdate( view );\n\t\t\t\t} else {\n\t\t\t\t\tupdateAfterRender( view );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/editableui/inline/inlineeditableuiview\n */\n\nimport EditableUIView from '../editableuiview.js';\n\nimport type { EditingView } from '@ckeditor/ckeditor5-engine';\nimport type { Locale } from '@ckeditor/ckeditor5-utils';\n\n/**\n * The inline editable UI class implementing an inline {@link module:ui/editableui/editableuiview~EditableUIView}.\n */\nexport default class InlineEditableUIView extends EditableUIView {\n\t/**\n\t * The cached options object passed to the constructor.\n\t */\n\tprivate readonly _options: InlineEditableUIViewOptions;\n\n\t/**\n\t * Creates an instance of the InlineEditableUIView class.\n\t *\n\t * @param locale The locale instance.\n\t * @param editingView The editing view instance the editable is related to.\n\t * @param editableElement The editable element. If not specified, the\n\t * {@link module:ui/editableui/editableuiview~EditableUIView}\n\t * will create it. Otherwise, the existing element will be used.\n\t * @param options Additional configuration of the view.\n\t * @param options.label The label of the editable for assistive technologies. If not provided, a default label is used or,\n\t * the existing `aria-label` attribute value from the specified `editableElement` is preserved.\n\t */\n\tconstructor(\n\t\tlocale: Locale,\n\t\teditingView: EditingView,\n\t\teditableElement?: HTMLElement,\n\t\toptions: InlineEditableUIViewOptions = {}\n\t) {\n\t\tsuper( locale, editingView, editableElement );\n\n\t\tthis._options = options;\n\n\t\tthis.extendTemplate( {\n\t\t\tattributes: {\n\t\t\t\trole: 'textbox',\n\t\t\t\tclass: 'ck-editor__editable_inline'\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override render(): void {\n\t\tsuper.render();\n\n\t\tconst editingView = this._editingView;\n\n\t\teditingView.change( writer => {\n\t\t\tconst viewRoot = editingView.document.getRoot( this.name! );\n\n\t\t\twriter.setAttribute( 'aria-label', this.getEditableAriaLabel(), viewRoot! );\n\t\t} );\n\t}\n\n\t/**\n\t * Returns a normalized label for the editable view based on the environment.\n\t */\n\tpublic getEditableAriaLabel(): string {\n\t\tconst t = this.locale!.t;\n\t\tconst label = this._options.label;\n\t\tconst editableElement = this._editableElement;\n\t\tconst editableName = this.name!;\n\n\t\tif ( typeof label == 'string' ) {\n\t\t\treturn label;\n\t\t} else if ( typeof label === 'object' ) {\n\t\t\treturn label[ editableName ];\n\t\t} else if ( typeof label === 'function' ) {\n\t\t\treturn label( this );\n\t\t} else if ( editableElement ) {\n\t\t\tconst existingLabel = editableElement.getAttribute( 'aria-label' );\n\n\t\t\tif ( existingLabel ) {\n\t\t\t\treturn existingLabel;\n\t\t\t}\n\t\t}\n\n\t\treturn t( 'Rich Text Editor. Editing area: %0', editableName );\n\t}\n}\n\ntype InlineEditableUIViewOptions = {\n\tlabel?: ( ( view: InlineEditableUIView ) => string ) | string | Record;\n};\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/notification/notification\n */\n\n/* globals window */\n\nimport { ContextPlugin } from '@ckeditor/ckeditor5-core';\n\n/**\n * The Notification plugin.\n *\n * This plugin sends a few types of notifications: `success`, `info` and `warning`. The notifications need to be\n * handled and displayed by a plugin responsible for showing the UI of the notifications. Using this plugin for dispatching\n * notifications makes it possible to switch the notifications UI.\n *\n * Note that every unhandled and not stopped `warning` notification will be displayed as a system alert.\n * See {@link module:ui/notification/notification~Notification#showWarning}.\n */\nexport default class Notification extends ContextPlugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'Notification' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\t// Each unhandled and not stopped `show:warning` event is displayed as a system alert.\n\t\tthis.on( 'show:warning', ( evt, data ) => {\n\t\t\twindow.alert( data.message ); // eslint-disable-line no-alert\n\t\t}, { priority: 'lowest' } );\n\t}\n\n\t/**\n\t * Shows a success notification.\n\t *\n\t * By default, it fires the {@link #event:show:success `show:success` event} with the given `data`. The event namespace can be extended\n\t * using the `data.namespace` option. For example:\n\t *\n\t * ```ts\n\t * showSuccess( 'Image is uploaded.', {\n\t * \tnamespace: 'upload:image'\n\t * } );\n\t * ```\n\t *\n\t * will fire the `show:success:upload:image` event.\n\t *\n\t * You can provide the title of the notification:\n\t *\n\t * ```ts\n\t * showSuccess( 'Image is uploaded.', {\n\t * \ttitle: 'Image upload success'\n\t * } );\n\t * ```\n\t *\n\t * @param message The content of the notification.\n\t * @param data Additional data.\n\t * @param data.namespace Additional event namespace.\n\t * @param data.title The title of the notification.\n\t */\n\tpublic showSuccess(\n\t\tmessage: string,\n\t\tdata: { namespace?: string; title?: string } = {}\n\t): void {\n\t\tthis._showNotification( {\n\t\t\tmessage,\n\t\t\ttype: 'success',\n\t\t\tnamespace: data.namespace,\n\t\t\ttitle: data.title\n\t\t} );\n\t}\n\n\t/**\n\t * Shows an information notification.\n\t *\n\t * By default, it fires the {@link #event:show:info `show:info` event} with the given `data`. The event namespace can be extended\n\t * using the `data.namespace` option. For example:\n\t *\n\t * ```ts\n\t * showInfo( 'Editor is offline.', {\n\t * \tnamespace: 'editor:status'\n\t * } );\n\t * ```\n\t *\n\t * will fire the `show:info:editor:status` event.\n\t *\n\t * You can provide the title of the notification:\n\t *\n\t * ```ts\n\t * showInfo( 'Editor is offline.', {\n\t * \ttitle: 'Network information'\n\t * } );\n\t * ```\n\t *\n\t * @param message The content of the notification.\n\t * @param data Additional data.\n\t * @param data.namespace Additional event namespace.\n\t * @param data.title The title of the notification.\n\t */\n\tpublic showInfo(\n\t\tmessage: string,\n\t\tdata: { namespace?: string; title?: string } = {}\n\t): void {\n\t\tthis._showNotification( {\n\t\t\tmessage,\n\t\t\ttype: 'info',\n\t\t\tnamespace: data.namespace,\n\t\t\ttitle: data.title\n\t\t} );\n\t}\n\n\t/**\n\t * Shows a warning notification.\n\t *\n\t * By default, it fires the {@link #event:show:warning `show:warning` event}\n\t * with the given `data`. The event namespace can be extended using the `data.namespace` option. For example:\n\t *\n\t * ```ts\n\t * showWarning( 'Image upload error.', {\n\t * \tnamespace: 'upload:image'\n\t * } );\n\t * ```\n\t *\n\t * will fire the `show:warning:upload:image` event.\n\t *\n\t * You can provide the title of the notification:\n\t *\n\t * ```ts\n\t * showWarning( 'Image upload error.', {\n\t * \ttitle: 'Upload failed'\n\t * } );\n\t * ```\n\t *\n\t * Note that each unhandled and not stopped `warning` notification will be displayed as a system alert.\n\t * The plugin responsible for displaying warnings should `stop()` the event to prevent displaying it as an alert:\n\t *\n\t * ```ts\n\t * notifications.on( 'show:warning', ( evt, data ) => {\n\t * \t// Do something with the data.\n\t *\n\t * \t// Stop this event to prevent displaying it as an alert.\n\t * \tevt.stop();\n\t * } );\n\t * ```\n\t *\n\t * You can attach many listeners to the same event and `stop()` this event in a listener with a low priority:\n\t *\n\t * ```ts\n\t * notifications.on( 'show:warning', ( evt, data ) => {\n\t * \t// Show the warning in the UI, but do not stop it.\n\t * } );\n\t *\n\t * notifications.on( 'show:warning', ( evt, data ) => {\n\t * \t// Log the warning to some error tracker.\n\t *\n\t * \t// Stop this event to prevent displaying it as an alert.\n\t * \tevt.stop();\n\t * }, { priority: 'low' } );\n\t * ```\n\t *\n\t * @param message The content of the notification.\n\t * @param data Additional data.\n\t * @param data.namespace Additional event namespace.\n\t * @param data.title The title of the notification.\n\t */\n\tpublic showWarning(\n\t\tmessage: string,\n\t\tdata: { namespace?: string; title?: string } = {}\n\t): void {\n\t\tthis._showNotification( {\n\t\t\tmessage,\n\t\t\ttype: 'warning',\n\t\t\tnamespace: data.namespace,\n\t\t\ttitle: data.title\n\t\t} );\n\t}\n\n\t/**\n\t * Fires the `show` event with the specified type, namespace and message.\n\t *\n\t * @param data The message data.\n\t * @param data.message The content of the notification.\n\t * @param data.type The type of the message.\n\t * @param data.namespace Additional event namespace.\n\t * @param data.title The title of the notification.\n\t */\n\tprivate _showNotification( data: {\n\t\tmessage: string;\n\t\ttype: NotificationEventType;\n\t\tnamespace?: string;\n\t\ttitle?: string;\n\t} ): void {\n\t\tconst event = data.namespace ?\n\t\t\t`show:${ data.type }:${ data.namespace }` as const :\n\t\t\t`show:${ data.type }` as const;\n\n\t\tthis.fire>( event, {\n\t\t\tmessage: data.message,\n\t\t\ttype: data.type,\n\t\t\ttitle: data.title || ''\n\t\t} );\n\t}\n}\n\nexport type NotificationEventType = 'success' | 'info' | 'warning';\n\n/**\n * Fired when one of the `showSuccess()`, `showInfo()`, `showWarning()` methods is called.\n *\n * @eventName ~Notification#show\n * @param data The notification data.\n */\nexport type NotificationShowEvent = {\n\tname: 'show';\n\targs: [ data: NotificationShowEventData ];\n};\n\n/**\n * Fired when the `showSuccess()` method is called.\n *\n * @eventName ~Notification#show:success\n * @param data The notification data.\n */\nexport type NotificationShowSuccessEvent = NotificationShowTypeEvent<'success'>;\n\n/**\n * Fired when the `showInfo()` method is called.\n *\n * @eventName ~Notification#show:info\n * @param data The notification data.\n */\nexport type NotificationShowInfoEvent = NotificationShowTypeEvent<'info'>;\n\n/**\n * Fired when the `showWarning()` method is called.\n *\n * When this event is not handled or stopped by `event.stop()`, the `data.message` of this event will\n * be automatically displayed as a system alert.\n *\n * @eventName ~Notification#show:warning\n * @param data The notification data.\n */\nexport type NotificationShowWarningEvent = NotificationShowTypeEvent<'warning'>;\n\nexport type NotificationShowTypeEvent = {\n\tname: `show:${ NotificationType }` | `show:${ NotificationType }:${ string }`;\n\targs: [ data: NotificationShowEventData ];\n};\n\nexport type NotificationShowEventData = {\n\n\t/**\n\t * The content of the notification.\n\t */\n\tmessage: string;\n\n\t/**\n\t * The title of the notification.\n\t */\n\ttitle: string;\n\n\t/**\n\t * The type of the notification.\n\t */\n\ttype: NotificationType;\n};\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/model\n */\n\nimport { ObservableMixin } from '@ckeditor/ckeditor5-utils';\nimport { extend } from 'lodash-es';\n\n/**\n * The base MVC model class.\n */\nexport default class Model extends /* #__PURE__ */ ObservableMixin() {\n\t[ x: string ]: unknown;\n\n\t/**\n\t * Creates a new Model instance.\n\t *\n\t * @param attributes The model state attributes to be defined during the instance creation.\n\t * @param properties The (out of state) properties to be appended to the instance during creation.\n\t */\n\tconstructor( attributes?: Record, properties?: Record ) {\n\t\tsuper();\n\n\t\t// Extend this instance with the additional (out of state) properties.\n\t\tif ( properties ) {\n\t\t\textend( this, properties );\n\t\t}\n\n\t\t// Initialize the attributes.\n\t\tif ( attributes ) {\n\t\t\tthis.set( attributes );\n\t\t}\n\t}\n}\n","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./balloonrotator.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./fakepanel.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/panel/balloon/contextualballoon\n */\n\nimport BalloonPanelView from './balloonpanelview.js';\nimport View from '../../view.js';\nimport ButtonView from '../../button/buttonview.js';\nimport type { ButtonExecuteEvent } from '../../button/button.js';\nimport type ViewCollection from '../../viewcollection.js';\n\nimport { Plugin, icons, type Editor } from '@ckeditor/ckeditor5-core';\nimport {\n\tCKEditorError,\n\tFocusTracker,\n\tRect,\n\ttoUnit,\n\ttype Locale,\n\ttype ObservableChangeEvent,\n\ttype PositionOptions,\n\ttype DecoratedMethodEvent\n} from '@ckeditor/ckeditor5-utils';\n\nimport '../../../theme/components/panel/balloonrotator.css';\nimport '../../../theme/components/panel/fakepanel.css';\n\nconst toPx = /* #__PURE__ */ toUnit( 'px' );\n\n/**\n * Provides the common contextual balloon for the editor.\n *\n * The role of this plugin is to unify the contextual balloons logic, simplify views management and help\n * avoid the unnecessary complexity of handling multiple {@link module:ui/panel/balloon/balloonpanelview~BalloonPanelView}\n * instances in the editor.\n *\n * This plugin allows for creating single or multiple panel stacks.\n *\n * Each stack may have multiple views, with the one on the top being visible. When the visible view is removed from the stack,\n * the previous view becomes visible.\n *\n * It might be useful to implement nested navigation in a balloon. For instance, a toolbar view may contain a link button.\n * When you click it, a link view (which lets you set the URL) is created and put on top of the toolbar view, so the link panel\n * is displayed. When you finish editing the link and close (remove) the link view, the toolbar view is visible again.\n *\n * However, there are cases when there are multiple independent balloons to be displayed, for instance, if the selection\n * is inside two inline comments at the same time. For such cases, you can create two independent panel stacks.\n * The contextual balloon plugin will create a navigation bar to let the users switch between these panel stacks using the \"Next\"\n * and \"Previous\" buttons.\n *\n * If there are no views in the current stack, the balloon panel will try to switch to the next stack. If there are no\n * panels in any stack, the balloon panel will be hidden.\n *\n * **Note**: To force the balloon panel to show only one view, even if there are other stacks, use the `singleViewMode=true` option\n * when {@link module:ui/panel/balloon/contextualballoon~ContextualBalloon#add adding} a view to a panel.\n *\n * From the implementation point of view, the contextual ballon plugin is reusing a single\n * {@link module:ui/panel/balloon/balloonpanelview~BalloonPanelView} instance to display multiple contextual balloon\n * panels in the editor. It also creates a special {@link module:ui/panel/balloon/contextualballoon~RotatorView rotator view},\n * used to manage multiple panel stacks. Rotator view is a child of the balloon panel view and the parent of the specific\n * view you want to display. If there is more than one panel stack to be displayed, the rotator view will add a\n * navigation bar. If there is only one stack, the rotator view is transparent (it does not add any UI elements).\n */\nexport default class ContextualBalloon extends Plugin {\n\t/**\n\t * The {@link module:utils/dom/position~Options#limiter position limiter}\n\t * for the {@link #view balloon}, used when no `limiter` has been passed into {@link #add}\n\t * or {@link #updatePosition}.\n\t *\n\t * By default, a function that obtains the farthest DOM\n\t * {@link module:engine/view/rooteditableelement~RootEditableElement}\n\t * of the {@link module:engine/view/document~Document#selection}.\n\t */\n\tpublic positionLimiter: PositionOptions[ 'limiter' ];\n\n\tpublic visibleStack?: string;\n\n\t/**\n\t * The currently visible view or `null` when there are no views in any stack.\n\t *\n\t * @readonly\n\t * @observable\n\t */\n\tdeclare public visibleView: View | null;\n\n\t/**\n\t * A total number of all stacks in the balloon.\n\t *\n\t * @private\n\t * @readonly\n\t * @observable\n\t */\n\tdeclare public _numberOfStacks: number;\n\n\t/**\n\t * A flag that controls the single view mode.\n\t *\n\t * @private\n\t * @readonly\n\t * @observable\n\t */\n\tdeclare public _singleViewMode: boolean;\n\n\t/**\n\t * The map of views and their stacks.\n\t */\n\tprivate _viewToStack = new Map();\n\n\t/**\n\t * The map of IDs and stacks.\n\t */\n\tprivate _idToStack = new Map();\n\n\t/**\n\t * The common balloon panel view.\n\t */\n\tprivate _view: BalloonPanelView | null = null;\n\n\t/**\n\t * Rotator view embedded in the contextual balloon.\n\t * Displays the currently visible view in the balloon and provides navigation for switching stacks.\n\t */\n\tprivate _rotatorView: RotatorView | null = null;\n\n\t/**\n\t * Displays fake panels under the balloon panel view when multiple stacks are added to the balloon.\n\t */\n\tprivate _fakePanelsView: FakePanelsView | null = null;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'ContextualBalloon' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\tthis.positionLimiter = () => {\n\t\t\tconst view = this.editor.editing.view;\n\t\t\tconst viewDocument = view.document;\n\t\t\tconst editableElement = viewDocument.selection.editableElement;\n\n\t\t\tif ( editableElement ) {\n\t\t\t\treturn view.domConverter.mapViewToDom( editableElement.root ) as HTMLElement;\n\t\t\t}\n\n\t\t\treturn null;\n\t\t};\n\n\t\tthis.decorate( 'getPositionOptions' );\n\n\t\tthis.set( 'visibleView', null );\n\t\tthis.set( '_numberOfStacks', 0 );\n\t\tthis.set( '_singleViewMode', false );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override destroy(): void {\n\t\tsuper.destroy();\n\n\t\tif ( this._view ) {\n\t\t\tthis._view.destroy();\n\t\t}\n\n\t\tif ( this._rotatorView ) {\n\t\t\tthis._rotatorView.destroy();\n\t\t}\n\n\t\tif ( this._fakePanelsView ) {\n\t\t\tthis._fakePanelsView.destroy();\n\t\t}\n\t}\n\n\t/**\n\t * The common balloon panel view.\n\t */\n\tpublic get view(): BalloonPanelView {\n\t\tif ( !this._view ) {\n\t\t\tthis._createPanelView();\n\t\t}\n\n\t\treturn this._view!;\n\t}\n\n\t/**\n\t * Returns `true` when the given view is in one of the stacks. Otherwise returns `false`.\n\t */\n\tpublic hasView( view: View ): boolean {\n\t\treturn Array.from( this._viewToStack.keys() ).includes( view );\n\t}\n\n\t/**\n\t * Adds a new view to the stack and makes it visible if the current stack is visible\n\t * or it is the first view in the balloon.\n\t *\n\t * @param data The configuration of the view.\n\t * @param data.stackId The ID of the stack that the view is added to. Defaults to `'main'`.\n\t * @param data.view The content of the balloon.\n\t * @param data.position Positioning options.\n\t * @param data.balloonClassName An additional CSS class added to the {@link #view balloon} when visible.\n\t * @param data.withArrow Whether the {@link #view balloon} should be rendered with an arrow. Defaults to `true`.\n\t * @param data.singleViewMode Whether the view should be the only visible view even if other stacks were added. Defaults to `false`.\n\t */\n\tpublic add( data: ViewConfiguration ): void {\n\t\tif ( !this._view ) {\n\t\t\tthis._createPanelView();\n\t\t}\n\n\t\tif ( this.hasView( data.view ) ) {\n\t\t\t/**\n\t\t\t * Trying to add configuration of the same view more than once.\n\t\t\t *\n\t\t\t * @error contextualballoon-add-view-exist\n\t\t\t */\n\t\t\tthrow new CKEditorError(\n\t\t\t\t'contextualballoon-add-view-exist',\n\t\t\t\t[ this, data ]\n\t\t\t);\n\t\t}\n\n\t\tconst stackId = data.stackId || 'main';\n\n\t\t// If new stack is added, creates it and show view from this stack.\n\t\tif ( !this._idToStack.has( stackId ) ) {\n\t\t\tthis._idToStack.set( stackId, new Map( [ [ data.view, data ] ] ) );\n\t\t\tthis._viewToStack.set( data.view, this._idToStack.get( stackId )! );\n\t\t\tthis._numberOfStacks = this._idToStack.size;\n\n\t\t\tif ( !this._visibleStack || data.singleViewMode ) {\n\t\t\t\tthis.showStack( stackId );\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst stack = this._idToStack.get( stackId )!;\n\n\t\tif ( data.singleViewMode ) {\n\t\t\tthis.showStack( stackId );\n\t\t}\n\n\t\t// Add new view to the stack.\n\t\tstack.set( data.view, data );\n\t\tthis._viewToStack.set( data.view, stack );\n\n\t\t// And display it if is added to the currently visible stack.\n\t\tif ( stack === this._visibleStack ) {\n\t\t\tthis._showView( data );\n\t\t}\n\t}\n\n\t/**\n\t * Removes the given view from the stack. If the removed view was visible,\n\t * the view preceding it in the stack will become visible instead.\n\t * When there is no view in the stack, the next stack will be displayed.\n\t * When there are no more stacks, the balloon will hide.\n\t *\n\t * @param view A view to be removed from the balloon.\n\t */\n\tpublic remove( view: View ): void {\n\t\tif ( !this.hasView( view ) ) {\n\t\t\t/**\n\t\t\t * Trying to remove the configuration of the view not defined in the stack.\n\t\t\t *\n\t\t\t * @error contextualballoon-remove-view-not-exist\n\t\t\t */\n\t\t\tthrow new CKEditorError(\n\t\t\t\t'contextualballoon-remove-view-not-exist',\n\t\t\t\t[ this, view ]\n\t\t\t);\n\t\t}\n\n\t\tconst stack = this._viewToStack.get( view )!;\n\n\t\tif ( this._singleViewMode && this.visibleView === view ) {\n\t\t\tthis._singleViewMode = false;\n\t\t}\n\n\t\t// When visible view will be removed we need to show a preceding view or next stack\n\t\t// if a view is the only view in the stack.\n\t\tif ( this.visibleView === view ) {\n\t\t\tif ( stack.size === 1 ) {\n\t\t\t\tif ( this._idToStack.size > 1 ) {\n\t\t\t\t\tthis._showNextStack();\n\t\t\t\t} else {\n\t\t\t\t\tthis.view.hide();\n\t\t\t\t\tthis.visibleView = null;\n\t\t\t\t\tthis._rotatorView!.hideView();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._showView( Array.from( stack.values() )[ stack.size - 2 ] );\n\t\t\t}\n\t\t}\n\n\t\tif ( stack.size === 1 ) {\n\t\t\tthis._idToStack.delete( this._getStackId( stack ) );\n\t\t\tthis._numberOfStacks = this._idToStack.size;\n\t\t} else {\n\t\t\tstack.delete( view );\n\t\t}\n\n\t\tthis._viewToStack.delete( view );\n\t}\n\n\t/**\n\t * Updates the position of the balloon using the position data of the first visible view in the stack.\n\t * When new position data is given, the position data of the currently visible view will be updated.\n\t *\n\t * @param position Position options.\n\t */\n\tpublic updatePosition( position?: Partial ): void {\n\t\tif ( position ) {\n\t\t\tthis._visibleStack.get( this.visibleView! )!.position = position;\n\t\t}\n\n\t\tthis.view.pin( this.getPositionOptions()! );\n\t\tthis._fakePanelsView!.updatePosition();\n\t}\n\n\t/**\n\t * Returns position options of the last view in the stack.\n\t * This keeps the balloon in the same position when the view is changed.\n\t */\n\tpublic getPositionOptions(): Partial | undefined {\n\t\tlet position = Array.from( this._visibleStack.values() ).pop()!.position;\n\n\t\tif ( position ) {\n\t\t\t// Use the default limiter if none has been specified.\n\t\t\tif ( !position.limiter ) {\n\t\t\t\t// Don't modify the original options object.\n\t\t\t\tposition = Object.assign( {}, position, {\n\t\t\t\t\tlimiter: this.positionLimiter\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Don't modify the original options object.\n\t\t\tposition = Object.assign( {}, position, {\n\t\t\t\tviewportOffsetConfig: this.editor.ui.viewportOffset\n\t\t\t} );\n\t\t}\n\n\t\treturn position;\n\t}\n\n\t/**\n\t * Shows the last view from the stack of a given ID.\n\t */\n\tpublic showStack( id: string ): void {\n\t\tthis.visibleStack = id;\n\t\tconst stack = this._idToStack.get( id );\n\n\t\tif ( !stack ) {\n\t\t\t/**\n\t\t\t * Trying to show a stack that does not exist.\n\t\t\t *\n\t\t\t * @error contextualballoon-showstack-stack-not-exist\n\t\t\t */\n\t\t\tthrow new CKEditorError(\n\t\t\t\t'contextualballoon-showstack-stack-not-exist',\n\t\t\t\tthis\n\t\t\t);\n\t\t}\n\n\t\tif ( this._visibleStack === stack ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showView( Array.from( stack.values() ).pop()! );\n\t}\n\n\t/**\n\t * Initializes view instances.\n\t */\n\tprivate _createPanelView(): void {\n\t\tthis._view = new BalloonPanelView( this.editor.locale );\n\n\t\tthis.editor.ui.view.body.add( this._view );\n\n\t\tthis._rotatorView = this._createRotatorView();\n\t\tthis._fakePanelsView = this._createFakePanelsView();\n\t}\n\n\t/**\n\t * Returns the stack of the currently visible view.\n\t */\n\tprivate get _visibleStack() {\n\t\treturn this._viewToStack.get( this.visibleView! )!;\n\t}\n\n\t/**\n\t * Returns the ID of the given stack.\n\t */\n\tprivate _getStackId( stack: Stack ) {\n\t\tconst entry = Array.from( this._idToStack.entries() ).find( entry => entry[ 1 ] === stack )!;\n\n\t\treturn entry[ 0 ];\n\t}\n\n\t/**\n\t * Shows the last view from the next stack.\n\t */\n\tprivate _showNextStack() {\n\t\tconst stacks = Array.from( this._idToStack.values() );\n\n\t\tlet nextIndex = stacks.indexOf( this._visibleStack ) + 1;\n\n\t\tif ( !stacks[ nextIndex ] ) {\n\t\t\tnextIndex = 0;\n\t\t}\n\n\t\tthis.showStack( this._getStackId( stacks[ nextIndex ] ) );\n\t}\n\n\t/**\n\t * Shows the last view from the previous stack.\n\t */\n\tprivate _showPrevStack() {\n\t\tconst stacks = Array.from( this._idToStack.values() );\n\n\t\tlet nextIndex = stacks.indexOf( this._visibleStack ) - 1;\n\n\t\tif ( !stacks[ nextIndex ] ) {\n\t\t\tnextIndex = stacks.length - 1;\n\t\t}\n\n\t\tthis.showStack( this._getStackId( stacks[ nextIndex ] ) );\n\t}\n\n\t/**\n\t * Creates a rotator view.\n\t */\n\tprivate _createRotatorView() {\n\t\tconst view = new RotatorView( this.editor.locale );\n\t\tconst t = this.editor.locale.t;\n\n\t\tthis.view.content.add( view );\n\n\t\t// Hide navigation when there is only a one stack & not in single view mode.\n\t\tview.bind( 'isNavigationVisible' ).to( this, '_numberOfStacks', this, '_singleViewMode', ( value, isSingleViewMode ) => {\n\t\t\treturn !isSingleViewMode && value > 1;\n\t\t} );\n\n\t\t// Update balloon position after toggling navigation.\n\t\tview.on( 'change:isNavigationVisible', () => ( this.updatePosition() ), { priority: 'low' } );\n\n\t\t// Update stacks counter value.\n\t\tview.bind( 'counter' ).to( this, 'visibleView', this, '_numberOfStacks', ( visibleView, numberOfStacks ) => {\n\t\t\tif ( numberOfStacks < 2 ) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tconst current = Array.from( this._idToStack.values() ).indexOf( this._visibleStack ) + 1;\n\n\t\t\treturn t( '%0 of %1', [ current, numberOfStacks ] );\n\t\t} );\n\n\t\tview.buttonNextView.on( 'execute', () => {\n\t\t\t// When current view has a focus then move focus to the editable before removing it,\n\t\t\t// otherwise editor will lost focus.\n\t\t\tif ( view.focusTracker.isFocused ) {\n\t\t\t\tthis.editor.editing.view.focus();\n\t\t\t}\n\n\t\t\tthis._showNextStack();\n\t\t} );\n\n\t\tview.buttonPrevView.on( 'execute', () => {\n\t\t\t// When current view has a focus then move focus to the editable before removing it,\n\t\t\t// otherwise editor will lost focus.\n\t\t\tif ( view.focusTracker.isFocused ) {\n\t\t\t\tthis.editor.editing.view.focus();\n\t\t\t}\n\n\t\t\tthis._showPrevStack();\n\t\t} );\n\n\t\treturn view;\n\t}\n\n\t/**\n\t * Creates a fake panels view.\n\t */\n\tprivate _createFakePanelsView() {\n\t\tconst view = new FakePanelsView( this.editor.locale, this.view );\n\n\t\tview.bind( 'numberOfPanels' ).to( this, '_numberOfStacks', this, '_singleViewMode', ( number, isSingleViewMode ) => {\n\t\t\tconst showPanels = !isSingleViewMode && number >= 2;\n\n\t\t\treturn showPanels ? Math.min( number - 1, 2 ) : 0;\n\t\t} );\n\n\t\tview.listenTo( this.view, 'change:top', () => view.updatePosition() );\n\t\tview.listenTo( this.view, 'change:left', () => view.updatePosition() );\n\n\t\tthis.editor.ui.view.body.add( view );\n\n\t\treturn view;\n\t}\n\n\t/**\n\t * Sets the view as the content of the balloon and attaches the balloon using position\n\t * options of the first view.\n\t *\n\t * @param data Configuration.\n\t * @param data.view The view to show in the balloon.\n\t * @param data.balloonClassName Additional class name which will be added to the {@link #view balloon}.\n\t * @param data.withArrow Whether the {@link #view balloon} should be rendered with an arrow.\n\t */\n\tprivate _showView( { view, balloonClassName = '', withArrow = true, singleViewMode = false }: ViewConfiguration ) {\n\t\tthis.view.class = balloonClassName;\n\t\tthis.view.withArrow = withArrow;\n\n\t\tthis._rotatorView!.showView( view );\n\t\tthis.visibleView = view;\n\t\tthis.view.pin( this.getPositionOptions()! );\n\t\tthis._fakePanelsView!.updatePosition();\n\n\t\tif ( singleViewMode ) {\n\t\t\tthis._singleViewMode = true;\n\t\t}\n\t}\n}\n\n/**\n * An event fired when the {@link module:ui/panel/balloon/contextualballoon~ContextualBalloon} is about to get the position of the balloon.\n *\n * @eventName ~ContextualBalloon#getPositionOptions\n */\nexport type ContextualBalloonGetPositionOptionsEvent = DecoratedMethodEvent;\n\n/**\n * The configuration of the view.\n */\nexport interface ViewConfiguration {\n\n\t/**\n\t * The ID of the stack that the view is added to.\n\t *\n\t * @default 'main'\n\t */\n\tstackId?: string;\n\n\t/**\n\t * The content of the balloon.\n\t */\n\tview: View;\n\n\t/**\n\t * Positioning options.\n\t */\n\tposition?: Partial;\n\n\t/**\n\t * An additional CSS class added to the {@link #view balloon} when visible.\n\t */\n\tballoonClassName?: string;\n\n\t/**\n\t * Whether the {@link #view balloon} should be rendered with an arrow.\n\t *\n\t * @default true\n\t */\n\twithArrow?: boolean;\n\n\t/**\n\t * Whether the view should be the only visible view even if other stacks were added.\n\t *\n\t * @default false\n\t */\n\tsingleViewMode?: boolean;\n}\n\ntype Stack = Map;\n\n/**\n * Rotator view is a helper class for the {@link module:ui/panel/balloon/contextualballoon~ContextualBalloon ContextualBalloon}.\n * It is used for displaying the last view from the current stack and providing navigation buttons for switching stacks.\n * See the {@link module:ui/panel/balloon/contextualballoon~ContextualBalloon ContextualBalloon} documentation to learn more.\n */\nexport class RotatorView extends View {\n\t/**\n\t * Used for checking if a view is focused or not.\n\t */\n\tpublic readonly focusTracker: FocusTracker;\n\n\t/**\n\t * Navigation button for switching the stack to the previous one.\n\t */\n\tpublic readonly buttonPrevView: ButtonView;\n\n\t/**\n\t * Navigation button for switching the stack to the next one.\n\t */\n\tpublic readonly buttonNextView: ButtonView;\n\n\t/**\n\t * A collection of the child views that creates the rotator content.\n\t */\n\tpublic readonly content: ViewCollection;\n\n\t/**\n\t * Defines whether navigation is visible or not.\n\t *\n\t * @observable\n\t */\n\tdeclare public isNavigationVisible: boolean;\n\n\t/**\n\t * @observable\n\t */\n\tdeclare public counter: string;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( locale: Locale ) {\n\t\tsuper( locale );\n\n\t\tconst t = locale.t;\n\t\tconst bind = this.bindTemplate;\n\n\t\tthis.set( 'isNavigationVisible', true );\n\n\t\tthis.focusTracker = new FocusTracker();\n\t\tthis.buttonPrevView = this._createButtonView( t( 'Previous' ), icons.previousArrow );\n\t\tthis.buttonNextView = this._createButtonView( t( 'Next' ), icons.nextArrow );\n\t\tthis.content = this.createCollection();\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck',\n\t\t\t\t\t'ck-balloon-rotator'\n\t\t\t\t],\n\t\t\t\t'z-index': '-1'\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\ttag: 'div',\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\tclass: [\n\t\t\t\t\t\t\t'ck-balloon-rotator__navigation',\n\t\t\t\t\t\t\tbind.to( 'isNavigationVisible', value => value ? '' : 'ck-hidden' )\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\tthis.buttonPrevView,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttag: 'span',\n\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\tclass: [\n\t\t\t\t\t\t\t\t\t'ck-balloon-rotator__counter'\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttext: bind.to( 'counter' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.buttonNextView\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttag: 'div',\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\tclass: 'ck-balloon-rotator__content'\n\t\t\t\t\t},\n\t\t\t\t\tchildren: this.content\n\t\t\t\t}\n\t\t\t]\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override render(): void {\n\t\tsuper.render();\n\n\t\tthis.focusTracker.add( this.element! );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override destroy(): void {\n\t\tsuper.destroy();\n\n\t\tthis.focusTracker.destroy();\n\t}\n\n\t/**\n\t * Shows a given view.\n\t *\n\t * @param view The view to show.\n\t */\n\tpublic showView( view: View ): void {\n\t\tthis.hideView();\n\t\tthis.content.add( view );\n\t}\n\n\t/**\n\t * Hides the currently displayed view.\n\t */\n\tpublic hideView(): void {\n\t\tthis.content.clear();\n\t}\n\n\t/**\n\t * Creates a navigation button view.\n\t *\n\t * @param label The button label.\n\t * @param icon The button icon.\n\t */\n\tprivate _createButtonView( label: string, icon: string ) {\n\t\tconst view = new ButtonView( this.locale );\n\n\t\tview.set( {\n\t\t\tlabel,\n\t\t\ticon,\n\t\t\ttooltip: true\n\t\t} );\n\n\t\treturn view;\n\t}\n}\n\n/**\n * Displays additional layers under the balloon when multiple stacks are added to the balloon.\n */\nclass FakePanelsView extends View {\n\t/**\n\t * Collection of the child views which creates fake panel content.\n\t */\n\tpublic readonly content: ViewCollection;\n\n\t/**\n\t * Fake panels top offset.\n\t *\n\t * @observable\n\t */\n\tdeclare public top: number;\n\n\t/**\n\t * Fake panels left offset.\n\t *\n\t * @observable\n\t */\n\tdeclare public left: number;\n\n\t/**\n\t * Fake panels height.\n\t *\n\t * @observable\n\t */\n\tdeclare public height: number;\n\n\t/**\n\t * Fake panels width.\n\t *\n\t * @observable\n\t */\n\tdeclare public width: number;\n\n\t/**\n\t * Number of rendered fake panels.\n\t *\n\t * @observable\n\t */\n\tdeclare public numberOfPanels: number;\n\n\t/**\n\t * Context.\n\t */\n\tprivate readonly _balloonPanelView: BalloonPanelView;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( locale: Locale, balloonPanelView: BalloonPanelView ) {\n\t\tsuper( locale );\n\n\t\tconst bind = this.bindTemplate;\n\n\t\tthis.set( 'top', 0 );\n\t\tthis.set( 'left', 0 );\n\t\tthis.set( 'height', 0 );\n\t\tthis.set( 'width', 0 );\n\t\tthis.set( 'numberOfPanels', 0 );\n\n\t\tthis.content = this.createCollection();\n\t\tthis._balloonPanelView = balloonPanelView;\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck-fake-panel',\n\t\t\t\t\tbind.to( 'numberOfPanels', number => number ? '' : 'ck-hidden' )\n\t\t\t\t],\n\t\t\t\tstyle: {\n\t\t\t\t\ttop: bind.to( 'top', toPx ),\n\t\t\t\t\tleft: bind.to( 'left', toPx ),\n\t\t\t\t\twidth: bind.to( 'width', toPx ),\n\t\t\t\t\theight: bind.to( 'height', toPx )\n\t\t\t\t}\n\t\t\t},\n\t\t\tchildren: this.content\n\t\t} );\n\n\t\tthis.on>( 'change:numberOfPanels', ( evt, name, next, prev ) => {\n\t\t\tif ( next > prev ) {\n\t\t\t\tthis._addPanels( next - prev );\n\t\t\t} else {\n\t\t\t\tthis._removePanels( prev - next );\n\t\t\t}\n\n\t\t\tthis.updatePosition();\n\t\t} );\n\t}\n\n\tprivate _addPanels( number: number ) {\n\t\twhile ( number-- ) {\n\t\t\tconst view = new View();\n\n\t\t\tview.setTemplate( { tag: 'div' } );\n\n\t\t\tthis.content.add( view );\n\t\t\tthis.registerChild( view );\n\t\t}\n\t}\n\n\tprivate _removePanels( number: number ) {\n\t\twhile ( number-- ) {\n\t\t\tconst view = this.content.last!;\n\n\t\t\tthis.content.remove( view );\n\t\t\tthis.deregisterChild( view );\n\t\t\tview.destroy();\n\t\t}\n\t}\n\n\t/**\n\t * Updates coordinates of fake panels.\n\t */\n\tpublic updatePosition() {\n\t\tif ( this.numberOfPanels ) {\n\t\t\tconst { top, left } = this._balloonPanelView;\n\t\t\tconst { width, height } = new Rect( this._balloonPanelView.element! );\n\n\t\t\tObject.assign( this, { top, left, width, height } );\n\t\t}\n\t}\n}\n","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./stickypanel.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import toString from './toString.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n/**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\nfunction escapeRegExp(string) {\n string = toString(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n}\n\nexport default escapeRegExp;\n","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./search.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./autocomplete.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\nexport default basePropertyOf;\n","import basePropertyOf from './_basePropertyOf.js';\n\n/** Used to map characters to HTML entities. */\nvar htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n\n/**\n * Used by `_.escape` to convert characters to HTML entities.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\nvar escapeHtmlChar = basePropertyOf(htmlEscapes);\n\nexport default escapeHtmlChar;\n","import escapeHtmlChar from './_escapeHtmlChar.js';\nimport toString from './toString.js';\n\n/** Used to match HTML entities and HTML characters. */\nvar reUnescapedHtml = /[&<>\"']/g,\n reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n/**\n * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n * corresponding HTML entities.\n *\n * **Note:** No other characters are escaped. To escape additional\n * characters use a third-party library like [_he_](https://mths.be/he).\n *\n * Though the \">\" character is escaped for symmetry, characters like\n * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n * unless they're part of a tag or unquoted attribute value. See\n * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n * (under \"semi-related fun fact\") for more details.\n *\n * When working with HTML you should always\n * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n * XSS vectors.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\nfunction escape(string) {\n string = toString(string);\n return (string && reHasUnescapedHtml.test(string))\n ? string.replace(reUnescapedHtml, escapeHtmlChar)\n : string;\n}\n\nexport default escape;\n","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./highlightedtext.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./spinner.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/toolbar/balloon/balloontoolbar\n */\n\nimport ContextualBalloon from '../../panel/balloon/contextualballoon.js';\nimport ToolbarView, { type ToolbarViewGroupedItemsUpdateEvent } from '../toolbarview.js';\nimport BalloonPanelView from '../../panel/balloon/balloonpanelview.js';\nimport normalizeToolbarConfig from '../normalizetoolbarconfig.js';\n\nimport type {\n\tEditorUIReadyEvent,\n\tEditorUIUpdateEvent\n} from '../../editorui/editorui.js';\n\nimport {\n\tPlugin,\n\ttype Editor,\n\ttype EditorReadyEvent\n} from '@ckeditor/ckeditor5-core';\n\nimport {\n\tFocusTracker,\n\tRect,\n\tResizeObserver,\n\tenv,\n\tglobal,\n\ttoUnit,\n\ttype ObservableChangeEvent\n} from '@ckeditor/ckeditor5-utils';\n\nimport {\n\tObserver,\n\ttype DocumentSelection,\n\ttype DocumentSelectionChangeRangeEvent,\n\ttype Schema\n} from '@ckeditor/ckeditor5-engine';\n\nimport { debounce, type DebouncedFunc } from 'lodash-es';\n\nconst toPx = /* #__PURE__ */ toUnit( 'px' );\n\n/**\n * The contextual toolbar.\n *\n * It uses the {@link module:ui/panel/balloon/contextualballoon~ContextualBalloon contextual balloon plugin}.\n */\nexport default class BalloonToolbar extends Plugin {\n\t/**\n\t * The toolbar view displayed in the balloon.\n\t */\n\tpublic readonly toolbarView: ToolbarView;\n\n\t/**\n\t * Tracks the focus of the {@link module:ui/editorui/editorui~EditorUI#getEditableElement editable element}\n\t * and the {@link #toolbarView}. When both are blurred then the toolbar should hide.\n\t */\n\tpublic readonly focusTracker: FocusTracker;\n\n\t/**\n\t * A cached and normalized `config.balloonToolbar` object.\n\t */\n\tprivate _balloonConfig: ReturnType;\n\n\t/**\n\t * An instance of the resize observer that allows to respond to changes in editable's geometry\n\t * so the toolbar can stay within its boundaries (and group toolbar items that do not fit).\n\t *\n\t * **Note**: Used only when `shouldNotGroupWhenFull` was **not** set in the\n\t * {@link module:core/editor/editorconfig~EditorConfig#balloonToolbar configuration}.\n\t *\n\t * **Note:** Created in {@link #init}.\n\t */\n\tprivate _resizeObserver: ResizeObserver | null = null;\n\n\t/**\n\t * The contextual balloon plugin instance.\n\t */\n\tprivate readonly _balloon: ContextualBalloon;\n\n\t/**\n\t * Fires `_selectionChangeDebounced` event using `lodash#debounce`.\n\t *\n\t * This event is an internal plugin event which is fired 200 ms after model selection last change.\n\t * This is to makes easy test debounced action without need to use `setTimeout`.\n\t *\n\t * This function is stored as a plugin property to make possible to cancel\n\t * trailing debounced invocation on destroy.\n\t */\n\tprivate readonly _fireSelectionChangeDebounced: DebouncedFunc<() => void>;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'BalloonToolbar' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ ContextualBalloon ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\tthis._balloonConfig = normalizeToolbarConfig( editor.config.get( 'balloonToolbar' ) );\n\t\tthis.toolbarView = this._createToolbarView();\n\t\tthis.focusTracker = new FocusTracker();\n\n\t\t// Track focusable elements in the toolbar and the editable elements.\n\t\tthis._trackFocusableEditableElements();\n\t\tthis.focusTracker.add( this.toolbarView.element! );\n\n\t\t// Register the toolbar so it becomes available for Alt+F10 and Esc navigation.\n\t\teditor.ui.addToolbar( this.toolbarView, {\n\t\t\tbeforeFocus: () => this.show( true ),\n\t\t\tafterBlur: () => this.hide(),\n\t\t\tisContextual: true\n\t\t} );\n\n\t\tthis._balloon = editor.plugins.get( ContextualBalloon );\n\t\tthis._fireSelectionChangeDebounced = debounce( () => this.fire( '_selectionChangeDebounced' ), 200 );\n\n\t\t// The appearance of the BalloonToolbar method is event–driven.\n\t\t// It is possible to stop the #show event and this prevent the toolbar from showing up.\n\t\tthis.decorate( 'show' );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\t\tconst selection = editor.model.document.selection;\n\n\t\t// Show/hide the toolbar on editable focus/blur.\n\t\tthis.listenTo>( this.focusTracker, 'change:isFocused', ( evt, name, isFocused ) => {\n\t\t\tconst isToolbarVisible = this._balloon.visibleView === this.toolbarView;\n\n\t\t\tif ( !isFocused && isToolbarVisible ) {\n\t\t\t\tthis.hide();\n\t\t\t} else if ( isFocused ) {\n\t\t\t\tthis.show();\n\t\t\t}\n\t\t} );\n\n\t\t// Hide the toolbar when the selection is changed by a direct change or has changed to collapsed.\n\t\tthis.listenTo( selection, 'change:range', ( evt, data ) => {\n\t\t\tif ( data.directChange || selection.isCollapsed ) {\n\t\t\t\tthis.hide();\n\t\t\t}\n\n\t\t\t// Fire internal `_selectionChangeDebounced` event to use it for showing\n\t\t\t// the toolbar after the selection stops changing.\n\t\t\tthis._fireSelectionChangeDebounced();\n\t\t} );\n\n\t\t// Show the toolbar when the selection stops changing.\n\t\tthis.listenTo( this, '_selectionChangeDebounced', () => {\n\t\t\tif ( this.editor.editing.view.document.isFocused ) {\n\t\t\t\tthis.show();\n\t\t\t}\n\t\t} );\n\n\t\tif ( !this._balloonConfig.shouldNotGroupWhenFull ) {\n\t\t\tthis.listenTo( editor, 'ready', () => {\n\t\t\t\tconst editableElement = editor.ui.view.editable.element!;\n\n\t\t\t\t// Set #toolbarView's max-width on the initialization and update it on the editable resize.\n\t\t\t\tthis._resizeObserver = new ResizeObserver( editableElement, entry => {\n\t\t\t\t\t// The max-width equals 90% of the editable's width for the best user experience.\n\t\t\t\t\t// The value keeps the balloon very close to the boundaries of the editable and limits the cases\n\t\t\t\t\t// when the balloon juts out from the editable element it belongs to.\n\t\t\t\t\tthis.toolbarView.maxWidth = toPx( entry.contentRect.width * .9 );\n\t\t\t\t} );\n\t\t\t} );\n\t\t}\n\n\t\t// Listen to the toolbar view and whenever it changes its geometry due to some items being\n\t\t// grouped or ungrouped, update the position of the balloon because a shorter/longer toolbar\n\t\t// means the balloon could be pointing at the wrong place. Once updated, the balloon will point\n\t\t// at the right selection in the content again.\n\t\t// https://github.com/ckeditor/ckeditor5/issues/6444\n\t\tthis.listenTo( this.toolbarView, 'groupedItemsUpdate', () => {\n\t\t\tthis._updatePosition();\n\t\t} );\n\n\t\t// Creates toolbar components based on given configuration.\n\t\t// This needs to be done when all plugins are ready.\n\t\teditor.ui.once( 'ready', () => {\n\t\t\tthis.toolbarView.fillFromConfig( this._balloonConfig, this.editor.ui.componentFactory );\n\t\t} );\n\t}\n\n\t/**\n\t * Creates the toolbar view instance.\n\t */\n\tprivate _createToolbarView() {\n\t\tconst t = this.editor.locale.t;\n\t\tconst shouldGroupWhenFull = !this._balloonConfig.shouldNotGroupWhenFull;\n\t\tconst toolbarView = new ToolbarView( this.editor.locale, {\n\t\t\tshouldGroupWhenFull,\n\t\t\tisFloating: true\n\t\t} );\n\n\t\ttoolbarView.ariaLabel = t( 'Editor contextual toolbar' );\n\t\ttoolbarView.render();\n\n\t\treturn toolbarView;\n\t}\n\n\t/**\n\t * Shows the toolbar and attaches it to the selection.\n\t *\n\t * Fires {@link #event:show} event which can be stopped to prevent the toolbar from showing up.\n\t *\n\t * @param showForCollapsedSelection When set `true`, the toolbar will show despite collapsed selection in the\n\t * editing view.\n\t */\n\tpublic show( showForCollapsedSelection: boolean = false ): void {\n\t\tconst editor = this.editor;\n\t\tconst selection = editor.model.document.selection;\n\t\tconst schema = editor.model.schema;\n\n\t\t// Do not add the toolbar to the balloon stack twice.\n\t\tif ( this._balloon.hasView( this.toolbarView ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Do not show the toolbar when the selection is collapsed.\n\t\tif ( selection.isCollapsed && !showForCollapsedSelection ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Do not show the toolbar when there is more than one range in the selection and they fully contain selectable elements.\n\t\t// See https://github.com/ckeditor/ckeditor5/issues/6443.\n\t\tif ( selectionContainsOnlyMultipleSelectables( selection, schema ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Do not show the toolbar when all components inside are disabled\n\t\t// see https://github.com/ckeditor/ckeditor5-ui/issues/269.\n\t\tif ( Array.from( this.toolbarView.items ).every( ( item: any ) => item.isEnabled !== undefined && !item.isEnabled ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Update the toolbar position when the editor ui should be refreshed.\n\t\tthis.listenTo( this.editor.ui, 'update', () => {\n\t\t\tthis._updatePosition();\n\t\t} );\n\n\t\t// Add the toolbar to the common editor contextual balloon.\n\t\tthis._balloon.add( {\n\t\t\tview: this.toolbarView,\n\t\t\tposition: this._getBalloonPositionData(),\n\t\t\tballoonClassName: 'ck-toolbar-container'\n\t\t} );\n\t}\n\n\t/**\n\t * Hides the toolbar.\n\t */\n\tpublic hide(): void {\n\t\tif ( this._balloon.hasView( this.toolbarView ) ) {\n\t\t\tthis.stopListening( this.editor.ui, 'update' );\n\t\t\tthis._balloon.remove( this.toolbarView );\n\t\t}\n\t}\n\n\t/**\n\t * Add or remove editable elements to the focus tracker. It watches added and removed roots\n\t * and adds or removes their editable elements to the focus tracker.\n\t */\n\tprivate _trackFocusableEditableElements() {\n\t\tconst { editor, focusTracker } = this;\n\t\tconst { editing } = editor;\n\n\t\tediting.view.addObserver( class TrackEditableElements extends Observer {\n\t\t\t/**\n\t\t\t * @inheritDoc\n\t\t\t */\n\t\t\tpublic observe( domElement: HTMLElement ) {\n\t\t\t\tfocusTracker.add( domElement );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * @inheritDoc\n\t\t\t */\n\t\t\tpublic stopObserving( domElement: HTMLElement ) {\n\t\t\t\tfocusTracker.remove( domElement );\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Returns positioning options for the {@link #_balloon}. They control the way balloon is attached\n\t * to the selection.\n\t */\n\tprivate _getBalloonPositionData() {\n\t\tconst editor = this.editor;\n\t\tconst view = editor.editing.view;\n\t\tconst viewDocument = view.document;\n\t\tconst viewSelection = viewDocument.selection;\n\n\t\t// Get direction of the selection.\n\t\tconst isBackward = viewDocument.selection.isBackward;\n\n\t\treturn {\n\t\t\t// Because the target for BalloonPanelView is a Rect (not DOMRange), it's geometry will stay fixed\n\t\t\t// as the window scrolls. To let the BalloonPanelView follow such Rect, is must be continuously\n\t\t\t// computed and hence, the target is defined as a function instead of a static value.\n\t\t\t// https://github.com/ckeditor/ckeditor5-ui/issues/195\n\t\t\ttarget: () => {\n\t\t\t\tconst range = isBackward ? viewSelection.getFirstRange() : viewSelection.getLastRange();\n\t\t\t\tconst rangeRects = Rect.getDomRangeRects( view.domConverter.viewRangeToDom( range! ) );\n\n\t\t\t\t// Select the proper range rect depending on the direction of the selection.\n\t\t\t\tif ( isBackward ) {\n\t\t\t\t\treturn rangeRects[ 0 ];\n\t\t\t\t} else {\n\t\t\t\t\t// Ditch the zero-width \"orphan\" rect in the next line for the forward selection if there's\n\t\t\t\t\t// another one preceding it. It is not rendered as a selection by the web browser anyway.\n\t\t\t\t\t// https://github.com/ckeditor/ckeditor5-ui/issues/308\n\t\t\t\t\tif ( rangeRects.length > 1 && rangeRects[ rangeRects.length - 1 ].width === 0 ) {\n\t\t\t\t\t\trangeRects.pop();\n\t\t\t\t\t}\n\n\t\t\t\t\treturn rangeRects[ rangeRects.length - 1 ];\n\t\t\t\t}\n\t\t\t},\n\t\t\tpositions: this._getBalloonPositions( isBackward )\n\t\t};\n\t}\n\n\t/**\n\t * Updates the position of the {@link #_balloon} to make up for changes:\n\t *\n\t * * in the geometry of the selection it is attached to (e.g. the selection moved in the viewport or expanded or shrunk),\n\t * * or the geometry of the balloon toolbar itself (e.g. the toolbar has grouped or ungrouped some items and it is shorter or longer).\n\t */\n\tprivate _updatePosition() {\n\t\tthis._balloon.updatePosition( this._getBalloonPositionData() );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override destroy(): void {\n\t\tsuper.destroy();\n\n\t\tthis.stopListening();\n\t\tthis._fireSelectionChangeDebounced.cancel();\n\t\tthis.toolbarView.destroy();\n\t\tthis.focusTracker.destroy();\n\n\t\tif ( this._resizeObserver ) {\n\t\t\tthis._resizeObserver.destroy();\n\t\t}\n\t}\n\n\t/**\n\t * Returns toolbar positions for the given direction of the selection.\n\t */\n\tprivate _getBalloonPositions( isBackward: boolean ) {\n\t\tconst isSafariIniOS = env.isSafari && env.isiOS;\n\n\t\t// https://github.com/ckeditor/ckeditor5/issues/7707\n\t\tconst positions = isSafariIniOS ? BalloonPanelView.generatePositions( {\n\t\t\t// 20px when zoomed out. Less then 20px when zoomed in; the \"radius\" of the native selection handle gets\n\t\t\t// smaller as the user zooms in. No less than the default v-offset, though.\n\t\t\theightOffset: Math.max(\n\t\t\t\tBalloonPanelView.arrowHeightOffset,\n\t\t\t\tMath.round( 20 / global.window.visualViewport!.scale )\n\t\t\t)\n\t\t} ) : BalloonPanelView.defaultPositions;\n\n\t\treturn isBackward ? [\n\t\t\tpositions.northWestArrowSouth,\n\t\t\tpositions.northWestArrowSouthWest,\n\t\t\tpositions.northWestArrowSouthEast,\n\t\t\tpositions.northWestArrowSouthMiddleEast,\n\t\t\tpositions.northWestArrowSouthMiddleWest,\n\t\t\tpositions.southWestArrowNorth,\n\t\t\tpositions.southWestArrowNorthWest,\n\t\t\tpositions.southWestArrowNorthEast,\n\t\t\tpositions.southWestArrowNorthMiddleWest,\n\t\t\tpositions.southWestArrowNorthMiddleEast\n\t\t] : [\n\t\t\tpositions.southEastArrowNorth,\n\t\t\tpositions.southEastArrowNorthEast,\n\t\t\tpositions.southEastArrowNorthWest,\n\t\t\tpositions.southEastArrowNorthMiddleEast,\n\t\t\tpositions.southEastArrowNorthMiddleWest,\n\t\t\tpositions.northEastArrowSouth,\n\t\t\tpositions.northEastArrowSouthEast,\n\t\t\tpositions.northEastArrowSouthWest,\n\t\t\tpositions.northEastArrowSouthMiddleEast,\n\t\t\tpositions.northEastArrowSouthMiddleWest\n\t\t];\n\t}\n}\n\n/**\n * Returns \"true\" when the selection has multiple ranges and each range contains a selectable element\n * and nothing else.\n */\nfunction selectionContainsOnlyMultipleSelectables( selection: DocumentSelection, schema: Schema ) {\n\t// It doesn't contain multiple objects if there is only one range.\n\tif ( selection.rangeCount === 1 ) {\n\t\treturn false;\n\t}\n\n\treturn [ ...selection.getRanges() ].every( range => {\n\t\tconst element = range.getContainedElement();\n\n\t\treturn element && schema.isSelectable( element );\n\t} );\n}\n\n/**\n * This event is fired just before the toolbar shows up. Stopping this event will prevent this.\n *\n * @eventName ~BalloonToolbar#show\n */\nexport type BalloonToolbarShowEvent = {\n\tname: 'show';\n\targs: [];\n};\n","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./blocktoolbar.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/toolbar/block/blockbuttonview\n */\n\nimport ButtonView from '../../button/buttonview.js';\n\nimport { toUnit, type Locale } from '@ckeditor/ckeditor5-utils';\n\nimport '../../../theme/components/toolbar/blocktoolbar.css';\n\nconst toPx = /* #__PURE__ */ toUnit( 'px' );\n\n/**\n * The block button view class.\n *\n * This view represents a button attached next to block element where the selection is anchored.\n *\n * See {@link module:ui/toolbar/block/blocktoolbar~BlockToolbar}.\n */\nexport default class BlockButtonView extends ButtonView {\n\t/**\n\t * Top offset.\n\t *\n\t * @observable\n\t */\n\tdeclare public top: number;\n\n\t/**\n\t * Left offset.\n\t *\n\t * @observable\n\t */\n\tdeclare public left: number;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( locale?: Locale ) {\n\t\tsuper( locale );\n\n\t\tconst bind = this.bindTemplate;\n\n\t\t// Hide button on init.\n\t\tthis.isVisible = false;\n\n\t\tthis.isToggleable = true;\n\n\t\tthis.set( 'top', 0 );\n\t\tthis.set( 'left', 0 );\n\n\t\tthis.extendTemplate( {\n\t\t\tattributes: {\n\t\t\t\tclass: 'ck-block-toolbar-button',\n\t\t\t\tstyle: {\n\t\t\t\t\ttop: bind.to( 'top', val => toPx( val ) ),\n\t\t\t\t\tleft: bind.to( 'left', val => toPx( val ) )\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/toolbar/block/blocktoolbar\n */\n\n/* global window */\n\nimport {\n\tPlugin,\n\ttype Editor\n} from '@ckeditor/ckeditor5-core';\n\nimport {\n\ttype EventInfo,\n\tgetAncestors,\n\tglobal,\n\tRect,\n\tResizeObserver,\n\ttoUnit,\n\ttype ObservableChangeEvent\n} from '@ckeditor/ckeditor5-utils';\n\nimport type { DocumentSelectionChangeRangeEvent } from '@ckeditor/ckeditor5-engine';\n\nimport BlockButtonView from './blockbuttonview.js';\nimport BalloonPanelView from '../../panel/balloon/balloonpanelview.js';\nimport ToolbarView, { NESTED_TOOLBAR_ICONS } from '../toolbarview.js';\nimport clickOutsideHandler from '../../bindings/clickoutsidehandler.js';\nimport normalizeToolbarConfig from '../normalizetoolbarconfig.js';\n\nimport type ButtonView from '../../button/buttonview.js';\nimport type { ButtonExecuteEvent } from '../../button/button.js';\nimport type { EditorUIReadyEvent, EditorUIUpdateEvent } from '../../editorui/editorui.js';\n\nconst toPx = /* #__PURE__ */ toUnit( 'px' );\n\n/**\n * The block toolbar plugin.\n *\n * This plugin provides a button positioned next to the block of content where the selection is anchored.\n * Upon clicking the button, a dropdown providing access to editor features shows up, as configured in\n * {@link module:core/editor/editorconfig~EditorConfig#blockToolbar}.\n *\n * By default, the button is displayed next to all elements marked in {@link module:engine/model/schema~Schema}\n * as `$block` for which the toolbar provides at least one option.\n *\n * By default, the button is attached so its right boundary is touching the\n * {@link module:engine/view/editableelement~EditableElement}:\n *\n * ```\n * __ |\n * | || This is a block of content that the\n * ¯¯ | button is attached to. This is a\n * | block of content that the button is\n * | attached to.\n * ```\n *\n * The position of the button can be adjusted using the CSS `transform` property:\n *\n * ```css\n * .ck-block-toolbar-button {\n * \ttransform: translateX( -10px );\n * }\n * ```\n *\n * ```\n * __ |\n * | | | This is a block of content that the\n * ¯¯ | button is attached to. This is a\n * | block of content that the button is\n * | attached to.\n * ```\n *\n * **Note**: If you plan to run the editor in a right–to–left (RTL) language, keep in mind the button\n * will be attached to the **right** boundary of the editable area. In that case, make sure the\n * CSS position adjustment works properly by adding the following styles:\n *\n * ```css\n * .ck[dir=\"rtl\"] .ck-block-toolbar-button {\n * \ttransform: translateX( 10px );\n * }\n * ```\n */\nexport default class BlockToolbar extends Plugin {\n\t/**\n\t * The toolbar view.\n\t */\n\tpublic readonly toolbarView: ToolbarView;\n\n\t/**\n\t * The balloon panel view, containing the {@link #toolbarView}.\n\t */\n\tpublic readonly panelView: BalloonPanelView;\n\n\t/**\n\t * The button view that opens the {@link #toolbarView}.\n\t */\n\tpublic readonly buttonView: BlockButtonView;\n\n\t/**\n\t * An instance of the resize observer that allows to respond to changes in editable's geometry\n\t * so the toolbar can stay within its boundaries (and group toolbar items that do not fit).\n\t *\n\t * **Note**: Used only when `shouldNotGroupWhenFull` was **not** set in the\n\t * {@link module:core/editor/editorconfig~EditorConfig#blockToolbar configuration}.\n\t */\n\tprivate _resizeObserver: ResizeObserver | null = null;\n\n\t/**\n\t * A cached and normalized `config.blockToolbar` object.\n\t */\n\tprivate _blockToolbarConfig: ReturnType;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'BlockToolbar' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\tthis._blockToolbarConfig = normalizeToolbarConfig( this.editor.config.get( 'blockToolbar' ) );\n\t\tthis.toolbarView = this._createToolbarView();\n\t\tthis.panelView = this._createPanelView();\n\t\tthis.buttonView = this._createButtonView();\n\n\t\t// Close the #panelView upon clicking outside of the plugin UI.\n\t\tclickOutsideHandler( {\n\t\t\temitter: this.panelView,\n\t\t\tcontextElements: [ this.panelView.element!, this.buttonView.element! ],\n\t\t\tactivator: () => this.panelView.isVisible,\n\t\t\tcallback: () => this._hidePanel()\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\t\tconst t = editor.t;\n\n\t\tconst editBlockText = t( 'Click to edit block' );\n\t\tconst dragToMoveText = t( 'Drag to move' );\n\t\tconst editBlockLabel = t( 'Edit block' );\n\n\t\tconst isDragDropBlockToolbarPluginLoaded = editor.plugins.has( 'DragDropBlockToolbar' );\n\t\tconst label = isDragDropBlockToolbarPluginLoaded ? `${ editBlockText }\\n${ dragToMoveText }` : editBlockLabel;\n\n\t\tthis.buttonView.label = label;\n\n\t\tif ( isDragDropBlockToolbarPluginLoaded ) {\n\t\t\tthis.buttonView.element!.dataset.ckeTooltipClass = 'ck-tooltip_multi-line';\n\t\t}\n\n\t\t// Hides panel on a direct selection change.\n\t\tthis.listenTo( editor.model.document.selection, 'change:range', ( evt, data ) => {\n\t\t\tif ( data.directChange ) {\n\t\t\t\tthis._hidePanel();\n\t\t\t}\n\t\t} );\n\n\t\tthis.listenTo( editor.ui, 'update', () => this._updateButton() );\n\t\t// `low` priority is used because of https://github.com/ckeditor/ckeditor5-core/issues/133.\n\t\tthis.listenTo( editor, 'change:isReadOnly', () => this._updateButton(), { priority: 'low' } );\n\t\tthis.listenTo( editor.ui.focusTracker, 'change:isFocused', () => this._updateButton() );\n\n\t\t// Reposition button on resize.\n\t\tthis.listenTo>( this.buttonView, 'change:isVisible', ( evt, name, isVisible ) => {\n\t\t\tif ( isVisible ) {\n\t\t\t\t// Keep correct position of button and panel on window#resize.\n\t\t\t\tthis.buttonView.listenTo( window, 'resize', () => this._updateButton() );\n\t\t\t} else {\n\t\t\t\t// Stop repositioning button when is hidden.\n\t\t\t\tthis.buttonView.stopListening( window, 'resize' );\n\n\t\t\t\t// Hide the panel when the button disappears.\n\t\t\t\tthis._hidePanel();\n\t\t\t}\n\t\t} );\n\n\t\t// Reposition button on scroll.\n\t\tthis._repositionButtonOnScroll();\n\n\t\t// Register the toolbar so it becomes available for Alt+F10 and Esc navigation.\n\t\teditor.ui.addToolbar( this.toolbarView, {\n\t\t\tbeforeFocus: () => this._showPanel(),\n\t\t\tafterBlur: () => this._hidePanel()\n\t\t} );\n\n\t\t// Fills the toolbar with its items based on the configuration.\n\t\t// This needs to be done after all plugins are ready.\n\t\teditor.ui.once( 'ready', () => {\n\t\t\tthis.toolbarView.fillFromConfig( this._blockToolbarConfig, this.editor.ui.componentFactory );\n\n\t\t\t// Hide panel before executing each button in the panel.\n\t\t\tfor ( const item of this.toolbarView.items ) {\n\t\t\t\titem.on( 'execute', () => this._hidePanel( true ), { priority: 'high' } );\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override destroy(): void {\n\t\tsuper.destroy();\n\n\t\t// Destroy created UI components as they are not automatically destroyed (see ckeditor5#1341).\n\t\tthis.panelView.destroy();\n\t\tthis.buttonView.destroy();\n\t\tthis.toolbarView.destroy();\n\n\t\tif ( this._resizeObserver ) {\n\t\t\tthis._resizeObserver.destroy();\n\t\t}\n\t}\n\n\t/**\n\t * Creates the {@link #toolbarView}.\n\t */\n\tprivate _createToolbarView(): ToolbarView {\n\t\tconst t = this.editor.locale.t;\n\t\tconst shouldGroupWhenFull = !this._blockToolbarConfig.shouldNotGroupWhenFull;\n\t\tconst toolbarView = new ToolbarView( this.editor.locale, {\n\t\t\tshouldGroupWhenFull,\n\t\t\tisFloating: true\n\t\t} );\n\n\t\ttoolbarView.ariaLabel = t( 'Editor block content toolbar' );\n\n\t\treturn toolbarView;\n\t}\n\n\t/**\n\t * Creates the {@link #panelView}.\n\t */\n\tprivate _createPanelView(): BalloonPanelView {\n\t\tconst editor = this.editor;\n\t\tconst panelView = new BalloonPanelView( editor.locale );\n\n\t\tpanelView.content.add( this.toolbarView );\n\t\tpanelView.class = 'ck-toolbar-container';\n\t\teditor.ui.view.body.add( panelView );\n\n\t\t// Close #panelView on `Esc` press.\n\t\tthis.toolbarView.keystrokes.set( 'Esc', ( evt, cancel ) => {\n\t\t\tthis._hidePanel( true );\n\t\t\tcancel();\n\t\t} );\n\n\t\treturn panelView;\n\t}\n\n\t/**\n\t * Creates the {@link #buttonView}.\n\t */\n\tprivate _createButtonView(): BlockButtonView {\n\t\tconst editor = this.editor;\n\t\tconst t = editor.t;\n\t\tconst buttonView = new BlockButtonView( editor.locale );\n\t\tconst iconFromConfig = this._blockToolbarConfig.icon;\n\n\t\tconst icon = NESTED_TOOLBAR_ICONS[ iconFromConfig! ] || iconFromConfig || NESTED_TOOLBAR_ICONS.dragIndicator;\n\n\t\tbuttonView.set( {\n\t\t\tlabel: t( 'Edit block' ),\n\t\t\ticon,\n\t\t\twithText: false\n\t\t} );\n\n\t\t// Bind the panelView observable properties to the buttonView.\n\t\tbuttonView.bind( 'isOn' ).to( this.panelView, 'isVisible' );\n\t\tbuttonView.bind( 'tooltip' ).to( this.panelView, 'isVisible', isVisible => !isVisible );\n\n\t\t// Toggle the panelView upon buttonView#execute.\n\t\tthis.listenTo( buttonView, 'execute', () => {\n\t\t\tif ( !this.panelView.isVisible ) {\n\t\t\t\tthis._showPanel();\n\t\t\t} else {\n\t\t\t\tthis._hidePanel( true );\n\t\t\t}\n\t\t} );\n\n\t\t// Hide the panelView when the buttonView is disabled. `isEnabled` flag might be changed when\n\t\t// user scrolls the viewport and the button is no longer visible. In such case, the panel should be hidden\n\t\t// otherwise it will be displayed in the wrong place.\n\t\tthis.listenTo>( buttonView, 'change:isEnabled', ( evt, name, isEnabled ) => {\n\t\t\tif ( !isEnabled && this.panelView.isVisible ) {\n\t\t\t\tthis._hidePanel( false );\n\t\t\t}\n\t\t} );\n\n\t\teditor.ui.view.body.add( buttonView );\n\n\t\treturn buttonView;\n\t}\n\n\t/**\n\t * Shows or hides the button.\n\t * When all the conditions for displaying the button are matched, it shows the button. Hides otherwise.\n\t */\n\tprivate _updateButton() {\n\t\tconst editor = this.editor;\n\t\tconst model = editor.model;\n\t\tconst view = editor.editing.view;\n\n\t\t// Hides the button when the editor is not focused.\n\t\tif ( !editor.ui.focusTracker.isFocused ) {\n\t\t\tthis._hideButton();\n\n\t\t\treturn;\n\t\t}\n\n\t\t// Hides the button when the selection is in non-editable place.\n\t\tif ( !editor.model.canEditAt( editor.model.document.selection ) ) {\n\t\t\tthis._hideButton();\n\n\t\t\treturn;\n\t\t}\n\n\t\t// Get the first selected block, button will be attached to this element.\n\t\tconst modelTarget = Array.from( model.document.selection.getSelectedBlocks() )[ 0 ];\n\n\t\t// Hides the button when there is no enabled item in toolbar for the current block element.\n\t\tif ( !modelTarget || Array.from( this.toolbarView.items ).every( ( item: any ) => !item.isEnabled ) ) {\n\t\t\tthis._hideButton();\n\n\t\t\treturn;\n\t\t}\n\n\t\t// Get DOM target element.\n\t\tconst domTarget = view.domConverter.mapViewToDom( editor.editing.mapper.toViewElement( modelTarget )! );\n\n\t\t// Show block button.\n\t\tthis.buttonView.isVisible = true;\n\n\t\t// Make sure that the block toolbar panel is resized properly.\n\t\tthis._setupToolbarResize();\n\n\t\t// Attach block button to target DOM element.\n\t\tthis._attachButtonToElement( domTarget as any );\n\n\t\t// When panel is opened then refresh it position to be properly aligned with block button.\n\t\tif ( this.panelView.isVisible ) {\n\t\t\tthis._showPanel();\n\t\t}\n\t}\n\n\t/**\n\t * Hides the button.\n\t */\n\tprivate _hideButton() {\n\t\tthis.buttonView.isVisible = false;\n\t}\n\n\t/**\n\t * Shows the {@link #toolbarView} attached to the {@link #buttonView}.\n\t * If the toolbar is already visible, then it simply repositions it.\n\t */\n\tprivate _showPanel() {\n\t\t// Usually, the only way to show the toolbar is by pressing the block button. It makes it impossible for\n\t\t// the toolbar to show up when the button is invisible (feature does not make sense for the selection then).\n\t\t// The toolbar navigation using Alt+F10 does not access the button but shows the panel directly using this method.\n\t\t// So we need to check whether this is possible first.\n\t\tif ( !this.buttonView.isVisible ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst wasVisible = this.panelView.isVisible;\n\n\t\t// So here's the thing: If there was no initial panelView#show() or these two were in different order, the toolbar\n\t\t// positioning will break in RTL editors. Weird, right? What you show know is that the toolbar\n\t\t// grouping works thanks to:\n\t\t//\n\t\t// * the ResizeObserver, which kicks in as soon as the toolbar shows up in DOM (becomes visible again).\n\t\t// * the observable ToolbarView#maxWidth, which triggers re-grouping when changed.\n\t\t//\n\t\t// Here are the possible scenarios:\n\t\t//\n\t\t// 1. (WRONG ❌) If the #maxWidth is set when the toolbar is invisible, it won't affect item grouping (no DOMRects, no grouping).\n\t\t// Then, when panelView.pin() is called, the position of the toolbar will be calculated for the old\n\t\t// items grouping state, and when finally ResizeObserver kicks in (hey, the toolbar is visible now, right?)\n\t\t// it will group/ungroup some items and the length of the toolbar will change. But since in RTL the toolbar\n\t\t// is attached on the right side and the positioning uses CSS \"left\", it will result in the toolbar shifting\n\t\t// to the left and being displayed in the wrong place.\n\t\t// 2. (WRONG ❌) If the panelView.pin() is called first and #maxWidth set next, then basically the story repeats. The balloon\n\t\t// calculates the position for the old toolbar grouping state, then the toolbar re-groups items and because\n\t\t// it is positioned using CSS \"left\" it will move.\n\t\t// 3. (RIGHT ✅) We show the panel first (the toolbar does re-grouping but it does not matter), then the #maxWidth\n\t\t// is set allowing the toolbar to re-group again and finally panelView.pin() does the positioning when the\n\t\t// items grouping state is stable and final.\n\t\t//\n\t\t// https://github.com/ckeditor/ckeditor5/issues/6449, https://github.com/ckeditor/ckeditor5/issues/6575\n\t\tthis.panelView.show();\n\n\t\tconst editableElement = this._getSelectedEditableElement();\n\n\t\tthis.toolbarView.maxWidth = this._getToolbarMaxWidth( editableElement );\n\n\t\tthis.panelView.pin( {\n\t\t\ttarget: this.buttonView.element!,\n\t\t\tlimiter: editableElement\n\t\t} );\n\n\t\tif ( !wasVisible ) {\n\t\t\t( this.toolbarView.items.get( 0 ) as any ).focus();\n\t\t}\n\t}\n\n\t/**\n\t * Returns currently selected editable, based on the model selection.\n\t */\n\tprivate _getSelectedEditableElement(): HTMLElement {\n\t\tconst selectedModelRootName = this.editor.model.document.selection.getFirstRange()!.root.rootName!;\n\n\t\treturn this.editor.ui.getEditableElement( selectedModelRootName )!;\n\t}\n\n\t/**\n\t * Hides the {@link #toolbarView}.\n\t *\n\t * @param focusEditable When `true`, the editable will be focused after hiding the panel.\n\t */\n\tprivate _hidePanel( focusEditable?: boolean ) {\n\t\tthis.panelView.isVisible = false;\n\n\t\tif ( focusEditable ) {\n\t\t\tthis.editor.editing.view.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Repositions the button on scroll.\n\t */\n\tprivate _repositionButtonOnScroll() {\n\t\tconst { buttonView } = this;\n\n\t\tlet pendingAnimationFrame = false;\n\n\t\t// Reposition the button on scroll, but do it only once per animation frame to avoid performance issues.\n\t\tconst repositionOnScroll = ( evt: EventInfo, domEvt: Event ) => {\n\t\t\tif ( pendingAnimationFrame ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// It makes no sense to reposition the button when the user scrolls the dropdown or any other\n\t\t\t// nested scrollable element. The button should be repositioned only when the user scrolls the\n\t\t\t// editable or any other scrollable parent of the editable. Leaving it as it is buggy on Chrome\n\t\t\t// where scrolling nested scrollables is not properly handled.\n\t\t\t// See more: https://github.com/ckeditor/ckeditor5/issues/17067\n\t\t\tconst editableElement = this._getSelectedEditableElement();\n\n\t\t\tif (\n\t\t\t\tdomEvt.target !== global.document &&\n\t\t\t\t!getAncestors( editableElement ).includes( domEvt.target as HTMLElement )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tpendingAnimationFrame = true;\n\t\t\tglobal.window.requestAnimationFrame( () => {\n\t\t\t\tthis._updateButton();\n\t\t\t\tpendingAnimationFrame = false;\n\t\t\t} );\n\t\t};\n\n\t\t// Watch scroll event only when the button is visible, it prevents attaching the scroll event listener\n\t\t// to the document when the button is not visible.\n\t\tbuttonView.on>( 'change:isVisible', ( evt, name, isVisible ) => {\n\t\t\tif ( isVisible ) {\n\t\t\t\tbuttonView.listenTo( global.document, 'scroll', repositionOnScroll, {\n\t\t\t\t\tuseCapture: true,\n\t\t\t\t\tusePassive: true\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tbuttonView.stopListening( global.document, 'scroll', repositionOnScroll );\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Attaches the {@link #buttonView} to the target block of content.\n\t *\n\t * @param targetElement Target element.\n\t */\n\tprivate _attachButtonToElement( targetElement: HTMLElement ) {\n\t\tconst buttonElement = this.buttonView.element!;\n\t\tconst editableElement = this._getSelectedEditableElement();\n\n\t\tconst contentStyles = window.getComputedStyle( targetElement );\n\n\t\tconst editableRect = new Rect( editableElement );\n\t\tconst contentPaddingTop = parseInt( contentStyles.paddingTop, 10 );\n\t\t// When line height is not an integer then treat it as \"normal\".\n\t\t// MDN says that 'normal' == ~1.2 on desktop browsers.\n\t\tconst contentLineHeight = parseInt( contentStyles.lineHeight, 10 ) || parseInt( contentStyles.fontSize, 10 ) * 1.2;\n\n\t\tconst buttonRect = new Rect( buttonElement );\n\t\tconst contentRect = new Rect( targetElement );\n\n\t\tlet positionLeft;\n\n\t\tif ( this.editor.locale.uiLanguageDirection === 'ltr' ) {\n\t\t\tpositionLeft = editableRect.left - buttonRect.width;\n\t\t} else {\n\t\t\tpositionLeft = editableRect.right;\n\t\t}\n\n\t\tconst positionTop = contentRect.top + contentPaddingTop + ( contentLineHeight - buttonRect.height ) / 2;\n\n\t\tbuttonRect.moveTo( positionLeft, positionTop );\n\n\t\tconst absoluteButtonRect = buttonRect.toAbsoluteRect();\n\n\t\tthis.buttonView.top = absoluteButtonRect.top;\n\t\tthis.buttonView.left = absoluteButtonRect.left;\n\n\t\tthis._clipButtonToViewport( this.buttonView, editableElement );\n\t}\n\n\t/**\n\t * Clips the button element to the viewport of the editable element.\n\t *\n\t * \t* If the button overflows the editable viewport, it is clipped to make it look like it's cut off by the editable scrollable region.\n\t * \t* If the button is fully hidden by the top of the editable, it is not clickable but still visible in the DOM.\n\t *\n\t * @param buttonView The button view to clip.\n\t * @param editableElement The editable element whose viewport is used for clipping.\n\t */\n\tprivate _clipButtonToViewport(\n\t\tbuttonView: ButtonView,\n\t\teditableElement: HTMLElement\n\t) {\n\t\tconst absoluteButtonRect = new Rect( buttonView.element! );\n\t\tconst scrollViewportRect = new Rect( editableElement ).getVisible();\n\n\t\t// Sets polygon clip path for the button element, if there is no argument provided, the clip path is removed.\n\t\tconst setButtonClipping = ( ...paths: Array ) => {\n\t\t\tbuttonView.element!.style.clipPath = paths.length ? `polygon(${ paths.join( ',' ) })` : '';\n\t\t};\n\n\t\t// Hide the button if it's fully hidden by the top of the editable.\n\t\t// Note that the button is still visible in the DOM, but it's not clickable. It's because we don't\n\t\t// want to hide the button completely, as there are plenty of `isVisible` watchers which toggles\n\t\t// the button scroll listeners.\n\t\tconst markAsHidden = ( isHidden: boolean ) => {\n\t\t\tbuttonView.isEnabled = !isHidden;\n\t\t\tbuttonView.element!.style.pointerEvents = isHidden ? 'none' : '';\n\t\t};\n\n\t\tif ( scrollViewportRect && scrollViewportRect.bottom < absoluteButtonRect.bottom ) {\n\t\t\t// Calculate the delta between the button bottom and the editable bottom, and clip the button\n\t\t\t// to make it look like it's cut off by the editable scrollable region.\n\t\t\tconst delta = Math.min(\n\t\t\t\tabsoluteButtonRect.height,\n\t\t\t\tabsoluteButtonRect.bottom - scrollViewportRect.bottom\n\t\t\t);\n\n\t\t\tmarkAsHidden( delta >= absoluteButtonRect.height );\n\t\t\tsetButtonClipping(\n\t\t\t\t'0 0',\n\t\t\t\t'100% 0',\n\t\t\t\t`100% calc(100% - ${ toPx( delta ) })`,\n\t\t\t\t`0 calc(100% - ${ toPx( delta ) }`\n\t\t\t);\n\t\t} else if ( scrollViewportRect && scrollViewportRect.top > absoluteButtonRect.top ) {\n\t\t\t// Calculate the delta between the button top and the editable top, and clip the button\n\t\t\t// to make it look like it's cut off by the editable scrollable region.\n\t\t\tconst delta = Math.min(\n\t\t\t\tabsoluteButtonRect.height,\n\t\t\t\tscrollViewportRect.top - absoluteButtonRect.top\n\t\t\t);\n\n\t\t\tmarkAsHidden( delta >= absoluteButtonRect.height );\n\t\t\tsetButtonClipping(\n\t\t\t\t`0 ${ toPx( delta ) }`,\n\t\t\t\t`100% ${ toPx( delta ) }`,\n\t\t\t\t'100% 100%',\n\t\t\t\t'0 100%'\n\t\t\t);\n\t\t} else {\n\t\t\t// Reset the clip path if button is fully visible.\n\t\t\tmarkAsHidden( false );\n\t\t\tsetButtonClipping();\n\t\t}\n\t}\n\n\t/**\n\t * Creates a resize observer that observes selected editable and resizes the toolbar panel accordingly.\n\t */\n\tprivate _setupToolbarResize() {\n\t\tconst editableElement = this._getSelectedEditableElement();\n\n\t\t// Do this only if the automatic grouping is turned on.\n\t\tif ( !this._blockToolbarConfig.shouldNotGroupWhenFull ) {\n\t\t\t// If resize observer is attached to a different editable than currently selected editable, re-attach it.\n\t\t\tif ( this._resizeObserver && this._resizeObserver.element !== editableElement ) {\n\t\t\t\tthis._resizeObserver.destroy();\n\t\t\t\tthis._resizeObserver = null;\n\t\t\t}\n\n\t\t\tif ( !this._resizeObserver ) {\n\t\t\t\tthis._resizeObserver = new ResizeObserver( editableElement, () => {\n\t\t\t\t\tthis.toolbarView.maxWidth = this._getToolbarMaxWidth( editableElement );\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Gets the {@link #toolbarView} max-width, based on given `editableElement` width plus the distance between the farthest\n\t * edge of the {@link #buttonView} and the editable.\n\t *\n\t * @returns A maximum width that toolbar can have, in pixels.\n\t */\n\tprivate _getToolbarMaxWidth( editableElement: HTMLElement ) {\n\t\tconst editableRect = new Rect( editableElement );\n\t\tconst buttonRect = new Rect( this.buttonView.element! );\n\t\tconst isRTL = this.editor.locale.uiLanguageDirection === 'rtl';\n\t\tconst offset = isRTL ? ( buttonRect.left - editableRect.right ) + buttonRect.width : editableRect.left - buttonRect.left;\n\n\t\treturn toPx( editableRect.width + offset );\n\t}\n}\n","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./menubarmenubutton.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/menubar/menubarmenubuttonview\n */\n\nimport IconView from '../icon/iconview.js';\nimport ListItemButtonView from '../button/listitembuttonview.js';\nimport type { Locale } from '@ckeditor/ckeditor5-utils';\n\nimport dropdownArrowIcon from '../../theme/icons/dropdown-arrow.svg';\n\nimport '../../theme/components/menubar/menubarmenubutton.css';\n\n/**\n * A menu {@link module:ui/menubar/menubarmenuview~MenuBarMenuView#buttonView} class. Buttons like this one\n * open both top-level bar menus as well as sub-menus.\n */\nexport default class MenuBarMenuButtonView extends ListItemButtonView {\n\t/**\n\t * An icon that displays an arrow to indicate a direction of the menu.\n\t */\n\tpublic readonly arrowView: IconView;\n\n\t/**\n\t * Creates an instance of the menu bar button view.\n\t *\n\t * @param locale The localization services instance.\n\t */\n\tconstructor( locale: Locale ) {\n\t\tsuper( locale );\n\n\t\tconst bind = this.bindTemplate;\n\n\t\tthis.set( {\n\t\t\twithText: true,\n\t\t\trole: 'menuitem'\n\t\t} );\n\n\t\tthis.arrowView = this._createArrowView();\n\n\t\tthis.extendTemplate( {\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck-menu-bar__menu__button'\n\t\t\t\t],\n\t\t\t\t'aria-haspopup': true,\n\t\t\t\t'aria-expanded': this.bindTemplate.to( 'isOn', value => String( value ) ),\n\t\t\t\t'data-cke-tooltip-disabled': bind.to( 'isOn' )\n\t\t\t},\n\t\t\ton: {\n\t\t\t\t'mouseenter': bind.to( 'mouseenter' )\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override render(): void {\n\t\tsuper.render();\n\n\t\tthis.children.add( this.arrowView );\n\t}\n\n\t/**\n\t * Creates the {@link #arrowView} instance.\n\t */\n\tprivate _createArrowView() {\n\t\tconst arrowView = new IconView();\n\n\t\tarrowView.content = dropdownArrowIcon;\n\t\tarrowView.extendTemplate( {\n\t\t\tattributes: {\n\t\t\t\tclass: 'ck-menu-bar__menu__button__arrow'\n\t\t\t}\n\t\t} );\n\n\t\treturn arrowView;\n\t}\n}\n","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./menubarmenupanel.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/menubar/menubarmenupanelview\n */\n\nimport { type Locale } from '@ckeditor/ckeditor5-utils';\nimport type { FocusableView } from '../focuscycler.js';\nimport type ViewCollection from '../viewcollection.js';\nimport View from '../view.js';\n\nimport '../../theme/components/menubar/menubarmenupanel.css';\n\n/**\n * A view representing a {@link module:ui/menubar/menubarmenuview~MenuBarMenuView#panelView} of a menu.\n */\nexport default class MenuBarMenuPanelView extends View implements FocusableView {\n\t/**\n\t * Collection of the child views in this panel.\n\t */\n\tpublic readonly children: ViewCollection;\n\n\t/**\n\t * Controls whether the panel is visible.\n\t *\n\t * @observable\n\t */\n\tdeclare public isVisible: boolean;\n\n\t/**\n\t * The name of the position of the panel, relative to the parent.\n\t *\n\t * This property is reflected in the CSS class suffix set to {@link #element} that controls\n\t * the position of the panel.\n\t *\n\t * @observable\n\t * @default 'se'\n\t */\n\tdeclare public position: MenuBarMenuPanelPosition;\n\n\t/**\n\t * Creates an instance of the menu panel view.\n\t *\n\t * @param locale The localization services instance.\n\t */\n\tconstructor( locale?: Locale ) {\n\t\tsuper( locale );\n\n\t\tconst bind = this.bindTemplate;\n\n\t\tthis.set( 'isVisible', false );\n\t\tthis.set( 'position', 'se' );\n\n\t\tthis.children = this.createCollection();\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck',\n\t\t\t\t\t'ck-reset',\n\t\t\t\t\t'ck-menu-bar__menu__panel',\n\t\t\t\t\tbind.to( 'position', value => `ck-menu-bar__menu__panel_position_${ value }` ),\n\t\t\t\t\tbind.if( 'isVisible', 'ck-hidden', value => !value )\n\t\t\t\t],\n\t\t\t\ttabindex: '-1'\n\t\t\t},\n\n\t\t\tchildren: this.children,\n\n\t\t\ton: {\n\t\t\t\t// Drag and drop in the panel should not break the selection in the editor.\n\t\t\t\t// https://github.com/ckeditor/ckeditor5-ui/issues/228\n\t\t\t\tselectstart: bind.to( evt => {\n\t\t\t\t\tif ( ( evt.target as HTMLElement ).tagName.toLocaleLowerCase() === 'input' ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tevt.preventDefault();\n\t\t\t\t} )\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Focuses the first child of the panel (default) or the last one if the `direction` is `-1`.\n\t */\n\tpublic focus( direction: -1 | 1 = 1 ): void {\n\t\tif ( this.children.length ) {\n\t\t\tif ( direction === 1 ) {\n\t\t\t\tthis.children.first!.focus();\n\t\t\t} else {\n\t\t\t\tthis.children.last!.focus();\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * The names of the positions of the {@link module:ui/menubar/menubarmenupanelview~MenuBarMenuPanelView}.\n *\n * They are reflected as CSS class suffixes on the panel view element.\n */\nexport type MenuBarMenuPanelPosition = 'se' | 'sw' | 'ne' | 'nw' | 'w' | 'e';\n","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./menubarmenu.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/menubar/menubarmenuview\n */\n\nimport {\n\tFocusTracker,\n\tKeystrokeHandler,\n\tgetOptimalPosition,\n\ttype Locale,\n\ttype PositioningFunction,\n\ttype ObservableChangeEvent\n} from '@ckeditor/ckeditor5-utils';\nimport MenuBarMenuButtonView from './menubarmenubuttonview.js';\nimport { MenuBarMenuBehaviors, MenuBarMenuViewPanelPositioningFunctions } from './utils.js';\nimport type { FocusableView } from '../focuscycler.js';\nimport View from '../view.js';\nimport {\n\tdefault as MenuBarMenuPanelView,\n\ttype MenuBarMenuPanelPosition\n} from './menubarmenupanelview.js';\n\nimport '../../theme/components/menubar/menubarmenu.css';\n\n/**\n * A menu view for the {@link module:ui/menubar/menubarview~MenuBarView}. Menus are building blocks of the menu bar,\n * they host other sub-menus and menu items (buttons) that users can interact with.\n */\nexport default class MenuBarMenuView extends View implements FocusableView {\n\t/**\n\t * Button of the menu view.\n\t */\n\tpublic readonly buttonView: MenuBarMenuButtonView;\n\n\t/**\n\t * Panel of the menu. It hosts children of the menu.\n\t */\n\tpublic readonly panelView: MenuBarMenuPanelView;\n\n\t/**\n\t * Tracks information about the DOM focus in the menu.\n\t */\n\tpublic readonly focusTracker: FocusTracker;\n\n\t/**\n\t * Instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}. It manages\n\t * keystrokes of the menu.\n\t */\n\tpublic readonly keystrokes: KeystrokeHandler;\n\n\t/**\n\t * Controls whether the menu is open, i.e. shows or hides the {@link #panelView panel}.\n\t *\n\t * @observable\n\t */\n\tdeclare public isOpen: boolean;\n\n\t/**\n\t * Controls whether the menu is enabled, i.e. its {@link #buttonView} can be clicked.\n\t *\n\t * @observable\n\t */\n\tdeclare public isEnabled: boolean;\n\n\t/**\n\t * (Optional) The additional CSS class set on the menu {@link #element}.\n\t *\n\t * @observable\n\t */\n\tdeclare public class: string | undefined;\n\n\t/**\n\t * The name of the position of the {@link #panelView}, relative to the menu.\n\t *\n\t * **Note**: The value is updated each time the panel gets {@link #isOpen open}.\n\t *\n\t * @observable\n\t * @default 'w'\n\t */\n\tdeclare public panelPosition: MenuBarMenuPanelPosition;\n\n\t/**\n\t * The parent menu view of the menu. It is `null` for top-level menus.\n\t *\n\t * See {@link module:ui/menubar/menubarview~MenuBarView#registerMenu}.\n\t */\n\tdeclare public parentMenuView: MenuBarMenuView | null;\n\n\t/**\n\t * Creates an instance of the menu view.\n\t *\n\t * @param locale The localization services instance.\n\t */\n\tconstructor( locale: Locale ) {\n\t\tsuper( locale );\n\n\t\tconst bind = this.bindTemplate;\n\n\t\tthis.buttonView = new MenuBarMenuButtonView( locale );\n\t\tthis.buttonView.delegate( 'mouseenter' ).to( this );\n\t\tthis.buttonView.bind( 'isOn', 'isEnabled' ).to( this, 'isOpen', 'isEnabled' );\n\n\t\tthis.panelView = new MenuBarMenuPanelView( locale );\n\t\tthis.panelView.bind( 'isVisible' ).to( this, 'isOpen' );\n\n\t\tthis.keystrokes = new KeystrokeHandler();\n\t\tthis.focusTracker = new FocusTracker();\n\n\t\tthis.set( 'isOpen', false );\n\t\tthis.set( 'isEnabled', true );\n\t\tthis.set( 'panelPosition', 'w' );\n\t\tthis.set( 'class', undefined );\n\t\tthis.set( 'parentMenuView', null );\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck',\n\t\t\t\t\t'ck-menu-bar__menu',\n\t\t\t\t\tbind.to( 'class' ),\n\t\t\t\t\tbind.if( 'isEnabled', 'ck-disabled', value => !value ),\n\t\t\t\t\tbind.if( 'parentMenuView', 'ck-menu-bar__menu_top-level', value => !value )\n\t\t\t\t]\n\t\t\t},\n\n\t\t\tchildren: [\n\t\t\t\tthis.buttonView,\n\t\t\t\tthis.panelView\n\t\t\t]\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override render(): void {\n\t\tsuper.render();\n\n\t\tthis.focusTracker.add( this.buttonView.element! );\n\t\tthis.focusTracker.add( this.panelView.element! );\n\n\t\t// Listen for keystrokes coming from within #element.\n\t\tthis.keystrokes.listenTo( this.element! );\n\n\t\tMenuBarMenuBehaviors.closeOnEscKey( this );\n\n\t\tthis._repositionPanelOnOpen();\n\t}\n\n\t// For now, this method cannot be called in the render process because the `parentMenuView` may be assigned\n\t// after the rendering process.\n\t//\n\t// TODO: We should reconsider the way we handle this logic.\n\t/**\n\t * Attach all keyboard behaviors for the menu bar view.\n\t *\n\t * @internal\n\t */\n\tpublic _attachBehaviors(): void {\n\t\t// Top-level menus.\n\t\tif ( !this.parentMenuView ) {\n\t\t\tthis._propagateArrowKeystrokeEvents();\n\n\t\t\tMenuBarMenuBehaviors.openAndFocusPanelOnArrowDownKey( this );\n\t\t\tMenuBarMenuBehaviors.toggleOnButtonClick( this );\n\t\t} else {\n\t\t\tMenuBarMenuBehaviors.openOnButtonClick( this );\n\t\t\tMenuBarMenuBehaviors.openOnArrowRightKey( this );\n\t\t\tMenuBarMenuBehaviors.closeOnArrowLeftKey( this );\n\t\t\tMenuBarMenuBehaviors.openAndFocusOnEnterKeyPress( this );\n\t\t\tMenuBarMenuBehaviors.closeOnParentClose( this );\n\t\t}\n\t}\n\n\t/**\n\t * Fires `arrowright` and `arrowleft` events when the user pressed corresponding arrow keys.\n\t */\n\tprivate _propagateArrowKeystrokeEvents(): void {\n\t\tthis.keystrokes.set( 'arrowright', ( data, cancel ) => {\n\t\t\tthis.fire( 'arrowright' );\n\t\t\tcancel();\n\t\t} );\n\n\t\tthis.keystrokes.set( 'arrowleft', ( data, cancel ) => {\n\t\t\tthis.fire( 'arrowleft' );\n\t\t\tcancel();\n\t\t} );\n\t}\n\n\t/**\n\t * Sets the position of the panel when the menu opens. The panel is positioned\n\t * so that it optimally uses the available space in the viewport.\n\t */\n\tprivate _repositionPanelOnOpen(): void {\n\t\t// Let the menu control the position of the panel. The position must be updated every time the menu is open.\n\t\tthis.on>( 'change:isOpen', ( evt, name, isOpen ) => {\n\t\t\tif ( !isOpen ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst optimalPanelPosition = MenuBarMenuView._getOptimalPosition( {\n\t\t\t\telement: this.panelView.element!,\n\t\t\t\ttarget: this.buttonView.element!,\n\t\t\t\tfitInViewport: true,\n\t\t\t\tpositions: this._panelPositions\n\t\t\t} );\n\n\t\t\tthis.panelView.position = (\n\t\t\t\toptimalPanelPosition ? optimalPanelPosition.name : this._panelPositions[ 0 ].name\n\t\t\t) as MenuBarMenuPanelPosition;\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic focus(): void {\n\t\tthis.buttonView.focus();\n\t}\n\n\t/**\n\t * Positioning functions for the {@link #panelView} . They change depending on the role of the menu (top-level vs sub-menu) in\n\t * the {@link module:ui/menubar/menubarview~MenuBarView menu bar} and the UI language direction.\n\t */\n\tpublic get _panelPositions(): Array {\n\t\tconst {\n\t\t\tsouthEast, southWest, northEast, northWest,\n\t\t\twestSouth, eastSouth, westNorth, eastNorth\n\t\t} = MenuBarMenuViewPanelPositioningFunctions;\n\n\t\tif ( this.locale!.uiLanguageDirection === 'ltr' ) {\n\t\t\tif ( this.parentMenuView ) {\n\t\t\t\treturn [ eastSouth, eastNorth, westSouth, westNorth ];\n\t\t\t} else {\n\t\t\t\treturn [ southEast, southWest, northEast, northWest ];\n\t\t\t}\n\t\t} else {\n\t\t\tif ( this.parentMenuView ) {\n\t\t\t\treturn [ westSouth, westNorth, eastSouth, eastNorth ];\n\t\t\t} else {\n\t\t\t\treturn [ southWest, southEast, northWest, northEast ];\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * A function used to calculate the optimal position for the dropdown panel.\n\t *\n\t * Referenced for unit testing purposes.\n\t */\n\tprivate static _getOptimalPosition = getOptimalPosition;\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/menubar/menubarmenulistview\n */\n\nimport type { Locale } from '@ckeditor/ckeditor5-utils';\nimport type View from '../view.js';\n\nimport ListItemView from '../list/listitemview.js';\nimport ListView from '../list/listview.js';\nimport ListItemButtonView from '../button/listitembuttonview.js';\nimport ButtonView from '../button/buttonview.js';\n\n/**\n * A list of menu bar items, a child of {@link module:ui/menubar/menubarmenuview~MenuBarMenuView#panelView}.\n *\n * Use this class to create a list of items (options, buttons) to be displayed in a menu bar.\n *\n * To populate this list, use {@link module:ui/menubar/menubarmenulistitemview~MenuBarMenuListItemView} instances.\n */\nexport default class MenuBarMenuListView extends ListView {\n\t/**\n\t * Creates an instance of the list view.\n\t *\n\t * @param locale The localization services instance.\n\t */\n\tconstructor( locale: Locale ) {\n\t\tsuper( locale );\n\n\t\tthis.role = 'menu';\n\t\tthis.items.on( 'change', this._setItemsCheckSpace.bind( this ) );\n\t}\n\n\t/**\n\t * This method adds empty space if there is any toggleable item in the list.\n\t * It makes the list properly aligned.\n\t */\n\tprivate _setItemsCheckSpace() {\n\t\tconst hasAnyToggleableItem = (\n\t\t\tArray\n\t\t\t\t.from( this.items )\n\t\t\t\t.some( item => {\n\t\t\t\t\tconst listButtonView = pickListButtonMenuViewIfPresent( item );\n\n\t\t\t\t\treturn listButtonView && listButtonView.isToggleable;\n\t\t\t\t} )\n\t\t);\n\n\t\tthis.items.forEach( item => {\n\t\t\tconst listButtonView = pickListButtonMenuViewIfPresent( item );\n\n\t\t\tif ( listButtonView ) {\n\t\t\t\tlistButtonView.hasCheckSpace = hasAnyToggleableItem;\n\t\t\t}\n\t\t} );\n\t}\n}\n\n/**\n * Picks the first button menu view from the given item if present.\n *\n * @param item The item to check for a button menu view.\n * @returns The first button menu view found in the item, or `null` if not found.\n */\nfunction pickListButtonMenuViewIfPresent( item: View ) {\n\tif ( !( item instanceof ListItemView ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\titem\n\t\t\t.children\n\t\t\t.map( child => isNestedMenuLikeView( child ) ? child.buttonView : child )\n\t\t\t.find( item => item instanceof ListItemButtonView ) as ListItemButtonView | undefined\n\t);\n}\n\n/**\n * Checks if the given item is a nested menu-like view. `MenuBarMenuView` imports this file\n * so to avoid circular dependencies, this function is defined in more generic way.\n *\n * @param item The item to check.\n * @returns `true` if the item is a nested menu-like view, `false` otherwise.\n */\nfunction isNestedMenuLikeView( item: any ): item is { buttonView: ButtonView } {\n\treturn (\n\t\ttypeof item === 'object' &&\n\t\t\t'buttonView' in item &&\n\t\t\titem.buttonView instanceof ButtonView\n\t);\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/menubar/menubarmenulistitemfiledialogbuttonview\n */\n\nimport type { Locale } from '@ckeditor/ckeditor5-utils';\nimport { FileDialogListItemButtonView } from '../button/filedialogbuttonview.js';\n\nimport '../../theme/components/menubar/menubarmenulistitembutton.css';\n\n/**\n * A menu bar list file dialog button view. Buttons like this one execute user actions.\n *\n * This component provides a button that opens the native file selection dialog.\n */\nexport default class MenuBarMenuListItemFileDialogButtonView extends FileDialogListItemButtonView {\n\t/**\n\t * Creates an instance of the menu bar list button view.\n\t *\n\t * @param locale The localization services instance.\n\t */\n\tconstructor( locale: Locale ) {\n\t\tsuper( locale );\n\n\t\tthis.set( {\n\t\t\twithText: true,\n\t\t\twithKeystroke: true,\n\t\t\ttooltip: false,\n\t\t\trole: 'menuitem'\n\t\t} );\n\n\t\tthis.extendTemplate( {\n\t\t\tattributes: {\n\t\t\t\tclass: [ 'ck-menu-bar__menu__item__button' ]\n\t\t\t}\n\t\t} );\n\t}\n}\n","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./menubar.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module ui/menubar/menubarview\n */\n\nimport {\n\tlogWarning,\n\ttype BaseEvent,\n\ttype Locale,\n\ttype ObservableChangeEvent\n} from '@ckeditor/ckeditor5-utils';\nimport { type FocusableView } from '../focuscycler.js';\nimport View from '../view.js';\nimport { isObject } from 'lodash-es';\nimport ListItemView from '../list/listitemview.js';\nimport ListSeparatorView from '../list/listseparatorview.js';\nimport type ViewCollection from '../viewcollection.js';\nimport type ComponentFactory from '../componentfactory.js';\n\nimport MenuBarMenuView from './menubarmenuview.js';\nimport MenuBarMenuListView from './menubarmenulistview.js';\nimport MenuBarMenuListItemView from './menubarmenulistitemview.js';\nimport MenuBarMenuListItemButtonView from './menubarmenulistitembuttonview.js';\nimport MenuBarMenuListItemFileDialogButtonView from './menubarmenulistitemfiledialogbuttonview.js';\nimport {\n\tMenuBarBehaviors,\n\tprocessMenuBarConfig\n} from './utils.js';\n\nconst EVENT_NAME_DELEGATES = [ 'mouseenter', 'arrowleft', 'arrowright', 'change:isOpen' ] as const;\n\nimport '../../theme/components/menubar/menubar.css';\n\n/**\n * The application menu bar component. It brings a set of top-level menus (and sub-menus) that can be used\n * to organize and access a large number of buttons.\n */\nexport default class MenuBarView extends View implements FocusableView {\n\t/**\n\t * Collection of the child views inside the {@link #element}.\n\t */\n\tpublic children: ViewCollection;\n\n\t/**\n\t * Indicates whether any of top-level menus are open in the menu bar. To close\n\t * the menu bar use the {@link #close} method.\n\t *\n\t * @observable\n\t */\n\tdeclare public isOpen: boolean;\n\n\t/**\n\t * Indicates whether the menu bar has been interacted with using the keyboard.\n\t *\n\t * It is useful for showing focus outlines while hovering over the menu bar when\n\t * interaction with the keyboard was detected.\n\t *\n\t * @observable\n\t */\n\tdeclare public isFocusBorderEnabled: boolean;\n\n\t/**\n\t * A list of {@link module:ui/menubar/menubarmenuview~MenuBarMenuView} instances registered in the menu bar.\n\t *\n\t * @observable\n\t */\n\tpublic menus: Array = [];\n\n\t/**\n\t * Creates an instance of the menu bar view.\n\t *\n\t * @param locale The localization services instance.\n\t */\n\tconstructor( locale: Locale ) {\n\t\tsuper( locale );\n\n\t\tconst t = locale.t;\n\t\tconst bind = this.bindTemplate;\n\n\t\tthis.set( {\n\t\t\tisOpen: false,\n\t\t\tisFocusBorderEnabled: false\n\t\t} );\n\n\t\tthis._setupIsOpenUpdater();\n\n\t\tthis.children = this.createCollection();\n\n\t\t// @if CK_DEBUG_MENU_BAR // // Logs events in the main event bus of the component.\n\t\t// @if CK_DEBUG_MENU_BAR // this.on( 'menu', ( evt, data ) => {\n\t\t// @if CK_DEBUG_MENU_BAR // \tconsole.log( `MenuBarView:${ evt.name }`, evt.path.map( view => view.element ) );\n\t\t// @if CK_DEBUG_MENU_BAR // } );\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck',\n\t\t\t\t\t'ck-menu-bar',\n\t\t\t\t\tbind.if( 'isFocusBorderEnabled', 'ck-menu-bar_focus-border-enabled' )\n\t\t\t\t],\n\t\t\t\t'aria-label': t( 'Editor menu bar' ),\n\t\t\t\trole: 'menubar'\n\t\t\t},\n\t\t\tchildren: this.children\n\t\t} );\n\t}\n\n\t/**\n\t * A utility that expands a plain menu bar configuration into a structure of menus (also: sub-menus)\n\t * and items using a given {@link module:ui/componentfactory~ComponentFactory component factory}.\n\t *\n\t * See the {@link module:core/editor/editorconfig~EditorConfig#menuBar menu bar} in the editor\n\t * configuration reference to learn how to configure the menu bar.\n\t */\n\tpublic fillFromConfig(\n\t\tconfig: NormalizedMenuBarConfigObject,\n\t\tcomponentFactory: ComponentFactory,\n\t\textraItems: Array = []\n\t): void {\n\t\tconst locale = this.locale!;\n\t\tconst processedConfig = processMenuBarConfig( {\n\t\t\tnormalizedConfig: config,\n\t\t\tlocale,\n\t\t\tcomponentFactory,\n\t\t\textraItems\n\t\t} );\n\n\t\tconst topLevelCategoryMenuViews = processedConfig.items.map( menuDefinition => this._createMenu( {\n\t\t\tcomponentFactory,\n\t\t\tmenuDefinition\n\t\t} ) );\n\n\t\tthis.children.addMany( topLevelCategoryMenuViews );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override render(): void {\n\t\tsuper.render();\n\n\t\tMenuBarBehaviors.toggleMenusAndFocusItemsOnHover( this );\n\t\tMenuBarBehaviors.closeMenusWhenTheBarCloses( this );\n\t\tMenuBarBehaviors.closeMenuWhenAnotherOnTheSameLevelOpens( this );\n\t\tMenuBarBehaviors.focusCycleMenusOnArrows( this );\n\t\tMenuBarBehaviors.closeOnClickOutside( this );\n\t\tMenuBarBehaviors.enableFocusHighlightOnInteraction( this );\n\t}\n\n\t/**\n\t * Focuses the menu bar.\n\t */\n\tpublic focus(): void {\n\t\tif ( this.children.first ) {\n\t\t\tthis.children.first.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Closes all menus in the bar.\n\t */\n\tpublic close(): void {\n\t\tfor ( const topLevelCategoryMenuView of this.children ) {\n\t\t\ttopLevelCategoryMenuView.isOpen = false;\n\t\t}\n\t}\n\n\t/**\n\t * Registers a menu view in the menu bar. Every {@link module:ui/menubar/menubarmenuview~MenuBarMenuView} instance must be registered\n\t * in the menu bar to be properly managed.\n\t */\n\tpublic registerMenu( menuView: MenuBarMenuView, parentMenuView: MenuBarMenuView | null = null ): void {\n\t\tif ( parentMenuView ) {\n\t\t\tmenuView.delegate( ...EVENT_NAME_DELEGATES ).to( parentMenuView );\n\t\t\tmenuView.parentMenuView = parentMenuView;\n\t\t} else {\n\t\t\tmenuView.delegate( ...EVENT_NAME_DELEGATES ).to( this, name => 'menu:' + name );\n\t\t}\n\n\t\tmenuView._attachBehaviors();\n\n\t\tthis.menus.push( menuView );\n\t}\n\n\t/**\n\t * Creates a {@link module:ui/menubar/menubarmenuview~MenuBarMenuView} based on the given definition.\n\t */\n\tprivate _createMenu( { componentFactory, menuDefinition, parentMenuView }: {\n\t\tcomponentFactory: ComponentFactory;\n\t\tmenuDefinition: MenuBarMenuDefinition;\n\t\tparentMenuView?: MenuBarMenuView;\n\t} ) {\n\t\tconst locale = this.locale!;\n\t\tconst menuView = new MenuBarMenuView( locale );\n\n\t\tthis.registerMenu( menuView, parentMenuView );\n\n\t\tmenuView.buttonView.set( {\n\t\t\tlabel: menuDefinition.label\n\t\t} );\n\n\t\t// Defer the creation of the menu structure until it gets open. This is a performance optimization\n\t\t// that shortens the time needed to create the editor.\n\t\tmenuView.once>( 'change:isOpen', () => {\n\t\t\tconst listView = new MenuBarMenuListView( locale );\n\t\t\tlistView.ariaLabel = menuDefinition.label;\n\t\t\tmenuView.panelView.children.add( listView );\n\n\t\t\tlistView.items.addMany( this._createMenuItems( { menuDefinition, parentMenuView: menuView, componentFactory } ) );\n\t\t} );\n\n\t\treturn menuView;\n\t}\n\n\t/**\n\t * Creates a {@link module:ui/menubar/menubarmenuview~MenuBarMenuView} items based on the given definition.\n\t */\n\tprivate _createMenuItems( { menuDefinition, parentMenuView, componentFactory }: {\n\t\tmenuDefinition: MenuBarMenuDefinition;\n\t\tcomponentFactory: ComponentFactory;\n\t\tparentMenuView: MenuBarMenuView;\n\t} ): Array {\n\t\tconst locale = this.locale!;\n\t\tconst items = [];\n\n\t\tfor ( const menuGroupDefinition of menuDefinition.groups ) {\n\t\t\tfor ( const itemDefinition of menuGroupDefinition.items ) {\n\t\t\t\tconst menuItemView = new MenuBarMenuListItemView( locale, parentMenuView );\n\n\t\t\t\tif ( isObject( itemDefinition ) ) {\n\t\t\t\t\tmenuItemView.children.add( this._createMenu( {\n\t\t\t\t\t\tcomponentFactory,\n\t\t\t\t\t\tmenuDefinition: itemDefinition,\n\t\t\t\t\t\tparentMenuView\n\t\t\t\t\t} ) );\n\t\t\t\t} else {\n\t\t\t\t\tconst componentView = this._createMenuItemContentFromFactory( {\n\t\t\t\t\t\tcomponentName: itemDefinition,\n\t\t\t\t\t\tcomponentFactory,\n\t\t\t\t\t\tparentMenuView\n\t\t\t\t\t} );\n\n\t\t\t\t\tif ( !componentView ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tmenuItemView.children.add( componentView );\n\t\t\t\t}\n\n\t\t\t\titems.push( menuItemView );\n\t\t\t}\n\n\t\t\t// Separate groups with a separator.\n\t\t\tif ( menuGroupDefinition !== menuDefinition.groups[ menuDefinition.groups.length - 1 ] ) {\n\t\t\t\titems.push( new ListSeparatorView( locale ) );\n\t\t\t}\n\t\t}\n\n\t\treturn items;\n\t}\n\n\t/**\n\t * Uses the component factory to create a content of the menu item (a button or a sub-menu).\n\t */\n\tprivate _createMenuItemContentFromFactory( { componentName, parentMenuView, componentFactory }: {\n\t\tcomponentName: string;\n\t\tcomponentFactory: ComponentFactory;\n\t\tparentMenuView: MenuBarMenuView;\n\t} ): MenuBarMenuView | MenuBarMenuListItemButtonView | null {\n\t\tconst componentView = componentFactory.create( componentName );\n\n\t\tif ( !(\n\t\t\tcomponentView instanceof MenuBarMenuView ||\n\t\t\tcomponentView instanceof MenuBarMenuListItemButtonView ||\n\t\t\tcomponentView instanceof MenuBarMenuListItemFileDialogButtonView\n\t\t) ) {\n\t\t\t/**\n\t\t\t * Adding unsupported components to the {@link module:ui/menubar/menubarview~MenuBarView} is not possible.\n\t\t\t *\n\t\t\t * A component should be either a {@link module:ui/menubar/menubarmenuview~MenuBarMenuView} (sub-menu) or a\n\t\t\t * {@link module:ui/menubar/menubarmenulistitembuttonview~MenuBarMenuListItemButtonView} (button).\n\t\t\t *\n\t\t\t * @error menu-bar-component-unsupported\n\t\t\t * @param componentName A name of the unsupported component used in the configuration.\n\t\t\t * @param componentView An unsupported component view.\n\t\t\t */\n\t\t\tlogWarning( 'menu-bar-component-unsupported', {\n\t\t\t\tcomponentName,\n\t\t\t\tcomponentView\n\t\t\t} );\n\n\t\t\treturn null;\n\t\t}\n\n\t\tthis._registerMenuTree( componentView, parentMenuView );\n\n\t\t// Close the whole menu bar when a component is executed.\n\t\tcomponentView.on( 'execute', () => {\n\t\t\tthis.close();\n\t\t} );\n\n\t\treturn componentView;\n\t}\n\n\t/**\n\t * Checks component and its children recursively and calls {@link #registerMenu}\n\t * for each item that is {@link module:ui/menubar/menubarmenuview~MenuBarMenuView}.\n\t *\n\t * @internal\n\t */\n\tprivate _registerMenuTree( componentView: MenuBarMenuView | MenuBarMenuListItemButtonView, parentMenuView: MenuBarMenuView ) {\n\t\tif ( !( componentView instanceof MenuBarMenuView ) ) {\n\t\t\tcomponentView.delegate( 'mouseenter' ).to( parentMenuView );\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.registerMenu( componentView, parentMenuView );\n\n\t\tconst menuBarItemsList = componentView.panelView.children\n\t\t\t.filter( child => child instanceof MenuBarMenuListView )[ 0 ] as MenuBarMenuListView | undefined;\n\n\t\tif ( !menuBarItemsList ) {\n\t\t\tcomponentView.delegate( 'mouseenter' ).to( parentMenuView );\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst nonSeparatorItems = menuBarItemsList.items.filter( item => item instanceof ListItemView ) as Array;\n\n\t\tfor ( const item of nonSeparatorItems ) {\n\t\t\tthis._registerMenuTree(\n\t\t\t\titem.children.get( 0 ) as MenuBarMenuView | MenuBarMenuListItemButtonView,\n\t\t\t\tcomponentView\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Manages the state of the {@link #isOpen} property of the menu bar. Because the state is a sum of individual\n\t * top-level menus' states, it's necessary to listen to their changes and update the state accordingly.\n\t *\n\t * Additionally, it prevents from unnecessary changes of `isOpen` when one top-level menu opens and another closes\n\t * (regardless of in which order), maintaining a stable `isOpen === true` in that situation.\n\t */\n\tprivate _setupIsOpenUpdater() {\n\t\tlet closeTimeout: ReturnType;\n\n\t\t// TODO: This is not the prettiest approach but at least it's simple.\n\t\tthis.on( 'menu:change:isOpen', ( evt, name, isOpen ) => {\n\t\t\tclearTimeout( closeTimeout );\n\n\t\t\tif ( isOpen ) {\n\t\t\t\tthis.isOpen = true;\n\t\t\t} else {\n\t\t\t\tcloseTimeout = setTimeout( () => {\n\t\t\t\t\tthis.isOpen = Array.from( this.children ).some( menuView => menuView.isOpen );\n\t\t\t\t}, 0 );\n\t\t\t}\n\t\t} );\n\t}\n}\n\nexport type MenuBarConfig = MenuBarConfigObject;\n\nexport type MenuBarConfigObject = {\n\titems?: Array;\n\tremoveItems?: Array;\n\taddItems?: Array;\n\tisVisible?: boolean;\n};\n\nexport type NormalizedMenuBarConfigObject = Required & {\n\tisUsingDefaultConfig: boolean;\n};\n\nexport type MenuBarMenuGroupDefinition = {\n\tgroupId: string;\n\titems: Array;\n};\n\nexport type MenuBarMenuDefinition = {\n\tmenuId: string;\n\tlabel: string;\n\tgroups: Array;\n};\n\nexport type MenuBarConfigAddedPosition =\n\t`start:${ string }` | `end:${ string }` | 'start' | 'end' | `after:${ string }` | `before:${ string }`;\n\nexport type MenuBarConfigAddedItem = {\n\titem: string;\n\tposition: MenuBarConfigAddedPosition;\n};\n\nexport type MenuBarConfigAddedGroup = {\n\tgroup: MenuBarMenuGroupDefinition;\n\tposition: MenuBarConfigAddedPosition;\n};\n\nexport type MenuBarConfigAddedMenu = {\n\tmenu: MenuBarMenuDefinition;\n\tposition: MenuBarConfigAddedPosition;\n};\n\n/**\n * Any namespaced event fired by menu a {@link module:ui/menubar/menubarview~MenuBarView#menus menu view instance} of the\n * {@link module:ui/menubar/menubarview~MenuBarView menu bar}.\n */\ninterface MenuBarMenuEvent extends BaseEvent {\n\tname: `menu:${ string }` | `menu:change:${ string }`;\n}\n\n/**\n * A `mouseenter` event originating from a {@link module:ui/menubar/menubarview~MenuBarView#menus menu view instance} of the\n * {@link module:ui/menubar/menubarview~MenuBarView menu bar}.\n */\nexport interface MenuBarMenuMouseEnterEvent extends MenuBarMenuEvent {\n\tname: 'menu:mouseenter';\n}\n\n/**\n * An `arrowleft` event originating from a {@link module:ui/menubar/menubarview~MenuBarView#menus menu view instance} of the\n * {@link module:ui/menubar/menubarview~MenuBarView menu bar}.\n */\nexport interface MenuBarMenuArrowLeftEvent extends MenuBarMenuEvent {\n\tname: 'menu:arrowleft';\n}\n\n/**\n * An `arrowright` event originating from a {@link module:ui/menubar/menubarview~MenuBarView#menus menu view instance} of the\n * {@link module:ui/menubar/menubarview~MenuBarView menu bar}.\n */\nexport interface MenuBarMenuArrowRightEvent extends MenuBarMenuEvent {\n\tname: 'menu:arrowright';\n}\n\n/**\n * A `change:isOpen` event originating from a {@link module:ui/menubar/menubarview~MenuBarView#menus menu view instance} of the\n * {@link module:ui/menubar/menubarview~MenuBarView menu bar}.\n */\nexport interface MenuBarMenuChangeIsOpenEvent extends MenuBarMenuEvent {\n\tname: 'menu:change:isOpen';\n\targs: [ name: string, value: boolean, oldValue: boolean ];\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module editor-balloon/ballooneditorui\n */\n\nimport {\n\ttype Editor\n} from 'ckeditor5/src/core.js';\n\nimport {\n\tEditorUI,\n\ttype EditorUIReadyEvent\n} from 'ckeditor5/src/ui.js';\n\nimport { enablePlaceholder } from 'ckeditor5/src/engine.js';\n\nimport type BalloonEditorUIView from './ballooneditoruiview.js';\n\n/**\n * The balloon editor UI class.\n */\nexport default class BalloonEditorUI extends EditorUI {\n\t/**\n\t * The main (top–most) view of the editor UI.\n\t */\n\tpublic readonly view: BalloonEditorUIView;\n\n\t/**\n\t * Creates an instance of the balloon editor UI class.\n\t *\n\t * @param editor The editor instance.\n\t * @param view The view of the UI.\n\t */\n\tconstructor( editor: Editor, view: BalloonEditorUIView ) {\n\t\tsuper( editor );\n\n\t\tthis.view = view;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override get element(): HTMLElement | null {\n\t\treturn this.view.editable.element;\n\t}\n\n\t/**\n\t * Initializes the UI.\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\t\tconst view = this.view;\n\t\tconst editingView = editor.editing.view;\n\t\tconst editable = view.editable;\n\t\tconst editingRoot = editingView.document.getRoot()!;\n\n\t\t// The editable UI and editing root should share the same name. Then name is used\n\t\t// to recognize the particular editable, for instance in ARIA attributes.\n\t\teditable.name = editingRoot.rootName;\n\n\t\tview.render();\n\n\t\t// The editable UI element in DOM is available for sure only after the editor UI view has been rendered.\n\t\t// But it can be available earlier if a DOM element has been passed to BalloonEditor.create().\n\t\tconst editableElement = editable.element!;\n\n\t\t// Register the editable UI view in the editor. A single editor instance can aggregate multiple\n\t\t// editable areas (roots) but the balloon editor has only one.\n\t\tthis.setEditableElement( editable.name, editableElement );\n\n\t\t// Let the editable UI element respond to the changes in the global editor focus\n\t\t// tracker. It has been added to the same tracker a few lines above but, in reality, there are\n\t\t// many focusable areas in the editor, like balloons, toolbars or dropdowns and as long\n\t\t// as they have focus, the editable should act like it is focused too (although technically\n\t\t// it isn't), e.g. by setting the proper CSS class, visually announcing focus to the user.\n\t\t// Doing otherwise will result in editable focus styles disappearing, once e.g. the\n\t\t// toolbar gets focused.\n\t\teditable.bind( 'isFocused' ).to( this.focusTracker );\n\n\t\t// Bind the editable UI element to the editing view, making it an end– and entry–point\n\t\t// of the editor's engine. This is where the engine meets the UI.\n\t\teditingView.attachDomRoot( editableElement );\n\n\t\tthis._initPlaceholder();\n\t\tthis._initMenuBar( this.view.menuBarView! );\n\t\tthis.fire( 'ready' );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override destroy(): void {\n\t\tsuper.destroy();\n\n\t\tconst view = this.view;\n\t\tconst editingView = this.editor.editing.view;\n\n\t\tif ( editingView.getDomRoot( view.editable.name! ) ) {\n\t\t\teditingView.detachDomRoot( view.editable.name! );\n\t\t}\n\n\t\tview.destroy();\n\t}\n\n\t/**\n\t * Enable the placeholder text on the editing root.\n\t */\n\tprivate _initPlaceholder(): void {\n\t\tconst editor = this.editor;\n\t\tconst editingView = editor.editing.view;\n\t\tconst editingRoot = editingView.document.getRoot()!;\n\t\tconst placeholder = editor.config.get( 'placeholder' );\n\n\t\tif ( placeholder ) {\n\t\t\tconst placeholderText = typeof placeholder === 'string' ? placeholder : placeholder[ editingRoot.rootName ];\n\n\t\t\tif ( placeholderText ) {\n\t\t\t\teditingRoot.placeholder = placeholderText;\n\t\t\t}\n\t\t}\n\n\t\tenablePlaceholder( {\n\t\t\tview: editingView,\n\t\t\telement: editingRoot,\n\t\t\tisDirectHost: false,\n\t\t\tkeepOnFocus: true\n\t\t} );\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module editor-balloon/ballooneditoruiview\n */\n\nimport { EditorUIView, InlineEditableUIView, MenuBarView } from 'ckeditor5/src/ui.js';\nimport type { Locale } from 'ckeditor5/src/utils.js';\nimport type { EditingView } from 'ckeditor5/src/engine.js';\n\n/**\n * Contextual editor UI view. Uses the {@link module:ui/editableui/inline/inlineeditableuiview~InlineEditableUIView}.\n */\nexport default class BalloonEditorUIView extends EditorUIView {\n\t/**\n\t * Editable UI view.\n\t */\n\tpublic readonly editable: InlineEditableUIView;\n\n\t/**\n\t * Menu bar view instance.\n\t */\n\tpublic override menuBarView: MenuBarView;\n\n\t/**\n\t * Creates an instance of the balloon editor UI view.\n\t *\n\t * @param locale The {@link module:core/editor/editor~Editor#locale} instance.\n\t * @param editingView The editing view instance this view is related to.\n\t * @param editableElement The editable element. If not specified, it will be automatically created by\n\t * {@link module:ui/editableui/editableuiview~EditableUIView}. Otherwise, the given element will be used.\n\t * @param label When set, this value will be used as an accessible `aria-label` of the\n\t * {@link module:ui/editableui/editableuiview~EditableUIView editable view}.\n\t */\n\tconstructor(\n\t\tlocale: Locale,\n\t\teditingView: EditingView,\n\t\teditableElement?: HTMLElement,\n\t\tlabel?: string | Record\n\t) {\n\t\tsuper( locale );\n\n\t\tthis.editable = new InlineEditableUIView( locale, editingView, editableElement, {\n\t\t\tlabel\n\t\t} );\n\n\t\tthis.menuBarView = new MenuBarView( locale );\n\n\t\tthis.menuBarView.extendTemplate( {\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck-reset_all',\n\t\t\t\t\t'ck-rounded-corners'\n\t\t\t\t],\n\t\t\t\tdir: locale.uiLanguageDirection\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override render(): void {\n\t\tsuper.render();\n\n\t\tthis.registerChild( this.editable );\n\t\tthis.registerChild( this.menuBarView );\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module editor-balloon/ballooneditor\n */\n\nimport {\n\tEditor,\n\tElementApiMixin,\n\tattachToForm,\n\tsecureSourceElement,\n\ttype EditorConfig,\n\ttype EditorReadyEvent\n} from 'ckeditor5/src/core.js';\n\nimport { BalloonToolbar } from 'ckeditor5/src/ui.js';\nimport { CKEditorError, getDataFromElement } from 'ckeditor5/src/utils.js';\n\nimport BalloonEditorUI from './ballooneditorui.js';\nimport BalloonEditorUIView from './ballooneditoruiview.js';\n\nimport { isElement as _isElement } from 'lodash-es';\n\n/**\n * The balloon editor implementation (Medium-like editor).\n * It uses an inline editable and a toolbar based on the {@link module:ui/toolbar/balloon/balloontoolbar~BalloonToolbar}.\n * See the {@glink examples/builds/balloon-editor demo}.\n *\n * In order to create a balloon editor instance, use the static\n * {@link module:editor-balloon/ballooneditor~BalloonEditor.create `BalloonEditor.create()`} method.\n */\nexport default class BalloonEditor extends /* #__PURE__ */ ElementApiMixin( Editor ) {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic readonly ui: BalloonEditorUI;\n\n\t/**\n\t * Creates an instance of the balloon editor.\n\t *\n\t * **Note:** do not use the constructor to create editor instances. Use the static\n\t * {@link module:editor-balloon/ballooneditor~BalloonEditor.create `BalloonEditor.create()`} method instead.\n\t *\n\t * @param sourceElementOrData The DOM element that will be the source for the created editor\n\t * (on which the editor will be initialized) or initial data for the editor. For more information see\n\t * {@link module:editor-balloon/ballooneditor~BalloonEditor.create `BalloonEditor.create()`}.\n\t * @param config The editor configuration.\n\t */\n\tprotected constructor( sourceElementOrData: HTMLElement | string, config: EditorConfig = {} ) {\n\t\t// If both `config.initialData` is set and initial data is passed as the constructor parameter, then throw.\n\t\tif ( !isElement( sourceElementOrData ) && config.initialData !== undefined ) {\n\t\t\t// Documented in core/editor/editorconfig.jsdoc.\n\t\t\t// eslint-disable-next-line ckeditor5-rules/ckeditor-error-message\n\t\t\tthrow new CKEditorError( 'editor-create-initial-data', null );\n\t\t}\n\n\t\tsuper( config );\n\n\t\tif ( this.config.get( 'initialData' ) === undefined ) {\n\t\t\tthis.config.set( 'initialData', getInitialData( sourceElementOrData ) );\n\t\t}\n\n\t\tif ( isElement( sourceElementOrData ) ) {\n\t\t\tthis.sourceElement = sourceElementOrData;\n\t\t\tsecureSourceElement( this, sourceElementOrData );\n\t\t}\n\n\t\tconst plugins = this.config.get( 'plugins' )!;\n\t\tplugins.push( BalloonToolbar );\n\n\t\tthis.config.set( 'plugins', plugins );\n\n\t\tthis.config.define( 'balloonToolbar', this.config.get( 'toolbar' ) );\n\n\t\tthis.model.document.createRoot();\n\n\t\tconst view = new BalloonEditorUIView( this.locale, this.editing.view, this.sourceElement, this.config.get( 'label' ) );\n\t\tthis.ui = new BalloonEditorUI( this, view );\n\n\t\tattachToForm( this );\n\t}\n\n\t/**\n\t * Destroys the editor instance, releasing all resources used by it.\n\t *\n\t * Updates the original editor element with the data if the\n\t * {@link module:core/editor/editorconfig~EditorConfig#updateSourceElementOnDestroy `updateSourceElementOnDestroy`}\n\t * configuration option is set to `true`.\n\t */\n\tpublic override destroy(): Promise {\n\t\t// Cache the data, then destroy.\n\t\t// It's safe to assume that the model->view conversion will not work after super.destroy().\n\t\tconst data = this.getData();\n\n\t\tthis.ui.destroy();\n\n\t\treturn super.destroy()\n\t\t\t.then( () => {\n\t\t\t\tif ( this.sourceElement ) {\n\t\t\t\t\tthis.updateSourceElement( data );\n\t\t\t\t}\n\t\t\t} );\n\t}\n\n\t/**\n\t * Creates a new balloon editor instance.\n\t *\n\t * There are three general ways how the editor can be initialized.\n\t *\n\t * # Using an existing DOM element (and loading data from it)\n\t *\n\t * You can initialize the editor using an existing DOM element:\n\t *\n\t * ```ts\n\t * BalloonEditor\n\t * \t.create( document.querySelector( '#editor' ) )\n\t * \t.then( editor => {\n\t * \t\tconsole.log( 'Editor was initialized', editor );\n\t * \t} )\n\t * \t.catch( err => {\n\t * \t\tconsole.error( err.stack );\n\t * \t} );\n\t * ```\n\t *\n\t * The element's content will be used as the editor data and the element will become the editable element.\n\t *\n\t * # Creating a detached editor\n\t *\n\t * Alternatively, you can initialize the editor by passing the initial data directly as a string.\n\t * In this case, the editor will render an element that must be inserted into the DOM for the editor to work properly:\n\t *\n\t * ```ts\n\t * BalloonEditor\n\t * \t.create( '

Hello world!

' )\n\t * \t.then( editor => {\n\t * \t\tconsole.log( 'Editor was initialized', editor );\n\t *\n\t * \t\t// Initial data was provided so the editor UI element needs to be added manually to the DOM.\n\t * \t\tdocument.body.appendChild( editor.ui.element );\n\t * \t} )\n\t * \t.catch( err => {\n\t * \t\tconsole.error( err.stack );\n\t * \t} );\n\t * ```\n\t *\n\t * This lets you dynamically append the editor to your web page whenever it is convenient for you. You may use this method if your\n\t * web page content is generated on the client side and the DOM structure is not ready at the moment when you initialize the editor.\n\t *\n\t * # Using an existing DOM element (and data provided in `config.initialData`)\n\t *\n\t * You can also mix these two ways by providing a DOM element to be used and passing the initial data through the configuration:\n\t *\n\t * ```ts\n\t * BalloonEditor\n\t * \t.create( document.querySelector( '#editor' ), {\n\t * \t\tinitialData: '

Initial data

Foo bar.

'\n\t * \t} )\n\t * \t.then( editor => {\n\t * \t\tconsole.log( 'Editor was initialized', editor );\n\t * \t} )\n\t * \t.catch( err => {\n\t * \t\tconsole.error( err.stack );\n\t * \t} );\n\t * ```\n\t *\n\t * This method can be used to initialize the editor on an existing element with the specified content in case if your integration\n\t * makes it difficult to set the content of the source element.\n\t *\n\t * Note that an error will be thrown if you pass the initial data both as the first parameter and also in the configuration.\n\t *\n\t * # Configuring the editor\n\t *\n\t * See the {@link module:core/editor/editorconfig~EditorConfig editor configuration documentation} to learn more about\n\t * customizing plugins, toolbar and more.\n\t *\n\t * # Using the editor from source\n\t *\n\t * If you want to use the balloon editor,\n\t * you need to define the list of\n\t * {@link module:core/editor/editorconfig~EditorConfig#plugins plugins to be initialized} and\n\t * {@link module:core/editor/editorconfig~EditorConfig#toolbar toolbar items}.\n\t *\n\t * @param sourceElementOrData The DOM element that will be the source for the created editor\n\t * or the editor's initial data.\n\t *\n\t * If a DOM element is passed, its content will be automatically loaded to the editor upon initialization.\n\t * The editor data will be set back to the original element once the editor is destroyed only if the\n\t * {@link module:core/editor/editorconfig~EditorConfig#updateSourceElementOnDestroy updateSourceElementOnDestroy}\n\t * option is set to `true`.\n\t *\n\t * If the initial data is passed, a detached editor will be created. In this case you need to insert it into the DOM manually.\n\t * It is available under the {@link module:editor-balloon/ballooneditorui~BalloonEditorUI#element `editor.ui.element`} property.\n\t *\n\t * @param config The editor configuration.\n\t * @returns A promise resolved once the editor is ready. The promise resolves with the created editor instance.\n\t */\n\tpublic static override create( sourceElementOrData: HTMLElement | string, config: EditorConfig = {} ): Promise {\n\t\treturn new Promise( resolve => {\n\t\t\tif ( isElement( sourceElementOrData ) && sourceElementOrData.tagName === 'TEXTAREA' ) {\n\t\t\t\t// Documented in core/editor/editor.js\n\t\t\t\t// eslint-disable-next-line ckeditor5-rules/ckeditor-error-message\n\t\t\t\tthrow new CKEditorError( 'editor-wrong-element', null );\n\t\t\t}\n\n\t\t\tconst editor = new this( sourceElementOrData, config );\n\n\t\t\tresolve(\n\t\t\t\teditor.initPlugins()\n\t\t\t\t\t.then( () => editor.ui.init() )\n\t\t\t\t\t.then( () => editor.data.init( editor.config.get( 'initialData' )! ) )\n\t\t\t\t\t.then( () => editor.fire( 'ready' ) )\n\t\t\t\t\t.then( () => editor )\n\t\t\t);\n\t\t} );\n\t}\n}\n\nfunction getInitialData( sourceElementOrData: HTMLElement | string ): string {\n\treturn isElement( sourceElementOrData ) ? getDataFromElement( sourceElementOrData ) : sourceElementOrData;\n}\n\nfunction isElement( value: any ): value is Element {\n\treturn _isElement( value );\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module core/editor/utils/attachtoform\n */\n\nimport { isFunction } from 'lodash-es';\n\nimport { CKEditorError } from '@ckeditor/ckeditor5-utils';\n\nimport type { default as Editor, EditorDestroyEvent } from '../editor.js';\nimport type { ElementApi } from './elementapimixin.js';\n\n/**\n * Checks if the editor is initialized on a `